From 2c35ca1cda87c04785598ce3a496d6094b1a5678 Mon Sep 17 00:00:00 2001 From: Jennifer Taylor Date: Wed, 7 Apr 2021 00:45:08 +0000 Subject: [PATCH] Implement unknown point parser to make DDR PS3 files parseable. --- bemani/format/afp.py | 24 +++++++++++++++++++++--- 1 file changed, 21 insertions(+), 3 deletions(-) diff --git a/bemani/format/afp.py b/bemani/format/afp.py index 6ddff80..dcf8b57 100644 --- a/bemani/format/afp.py +++ b/bemani/format/afp.py @@ -3272,9 +3272,27 @@ class SWF: point = Point(0.0, 0.0) vprint(f"{prefix} Point: {point}") - # TODO: There's a flag 0x40000 that appears in a lot of DDR PS3 AFP files. I don't know - # what it is yet, but it appears to correspond to 4 bytes of data. The question is, where - # does it slot in for when to decode it? + if flags & 0x40000: + # Some pair of shorts, not sure, its in DDR PS3 data. + unhandled_flags &= ~0x40000 + x, y = struct.unpack("