From d0a302fb064d1bdf12c5c06e077b9037155650bc Mon Sep 17 00:00:00 2001 From: Filippos Karapetis Date: Tue, 27 Dec 2011 19:53:41 +0200 Subject: DREAMWEB: Add the ability to blacklist unused constants in tasm-recover --- devtools/tasmrecover/tasm-recover | 22 ++++++++++++++++++++++ devtools/tasmrecover/tasm/parser.py | 8 ++++++-- engines/dreamweb/dreamgen.h | 22 ---------------------- 3 files changed, 28 insertions(+), 24 deletions(-) diff --git a/devtools/tasmrecover/tasm-recover b/devtools/tasmrecover/tasm-recover index 6845890667..9dc5034165 100755 --- a/devtools/tasmrecover/tasm-recover +++ b/devtools/tasmrecover/tasm-recover @@ -250,6 +250,28 @@ p = parser(skip_binary_data = [ 'puzzletext', 'commandtext', 'traveltext', + # vars.asm - constants + 'openinvlist', + 'ryaninvlist', + 'pointerback', + 'mapflags', + 'startpal', + 'endpal', + 'maingamepal', + 'spritetable', + 'setlist', + 'freelist', + 'exlist', + 'peoplelist', + 'zoomspace', + 'printedlist', + 'listofchanges', + 'undertimedtext', + 'rainlist', + 'initialreelrouts', + 'initialvars', + 'lengthofbuffer', + 'lenofreelrouts', # vgagrafx.asm 'cityname', 'extragraphics1', diff --git a/devtools/tasmrecover/tasm/parser.py b/devtools/tasmrecover/tasm/parser.py index 6fd3567b01..0782fff22f 100644 --- a/devtools/tasmrecover/tasm/parser.py +++ b/devtools/tasmrecover/tasm/parser.py @@ -253,8 +253,12 @@ class parser: if len(cmd) >= 3: cmd1 = cmd[1] if cmd1 == 'equ': - v = cmd[2] - self.set_global(cmd0, op.const(self.fix_dollar(v))) + if not (cmd0.lower() in self.skip_binary_data): + v = cmd[2] + self.set_global(cmd0, op.const(self.fix_dollar(v))) + else: + print "skipping binary data for %s" % (cmd0.lower(),) + skipping_binary_data = True elif cmd1 == 'db' or cmd1 == 'dw' or cmd1 == 'dd': if not (cmd0.lower() in self.skip_binary_data): binary_width = {'b': 1, 'w': 2, 'd': 4}[cmd1[1]] diff --git a/engines/dreamweb/dreamgen.h b/engines/dreamweb/dreamgen.h index 132ae0fa7a..a35b405e25 100644 --- a/engines/dreamweb/dreamgen.h +++ b/engines/dreamweb/dreamgen.h @@ -310,26 +310,6 @@ static const uint16 kIntextdat = (0); static const uint16 kFreetextdat = (0); static const uint16 kFrframedata = (0); static const uint16 kSettext = (0+(130*2)); -static const uint16 kOpeninvlist = (0+(228*13)); -static const uint16 kRyaninvlist = (0+(228*13)+32); -static const uint16 kPointerback = (0+(228*13)+32+60); -static const uint16 kMapflags = (0+(228*13)+32+60+(32*32)); -static const uint16 kStartpal = (0+(228*13)+32+60+(32*32)+(11*10*3)); -static const uint16 kEndpal = (0+(228*13)+32+60+(32*32)+(11*10*3)+768); -static const uint16 kMaingamepal = (0+(228*13)+32+60+(32*32)+(11*10*3)+768+768); -static const uint16 kSpritetable = (0+(228*13)+32+60+(32*32)+(11*10*3)+768+768+768); -static const uint16 kSetlist = (0+(228*13)+32+60+(32*32)+(11*10*3)+768+768+768+(32*32)); -static const uint16 kFreelist = (0+(228*13)+32+60+(32*32)+(11*10*3)+768+768+768+(32*32)+(128*5)); -static const uint16 kExlist = (0+(228*13)+32+60+(32*32)+(11*10*3)+768+768+768+(32*32)+(128*5)+(80*5)); -static const uint16 kPeoplelist = (0+(228*13)+32+60+(32*32)+(11*10*3)+768+768+768+(32*32)+(128*5)+(80*5)+(100*5)); -static const uint16 kZoomspace = (0+(228*13)+32+60+(32*32)+(11*10*3)+768+768+768+(32*32)+(128*5)+(80*5)+(100*5)+(12*5)); -static const uint16 kPrintedlist = (0+(228*13)+32+60+(32*32)+(11*10*3)+768+768+768+(32*32)+(128*5)+(80*5)+(100*5)+(12*5)+(46*40)); -static const uint16 kListofchanges = (0+(228*13)+32+60+(32*32)+(11*10*3)+768+768+768+(32*32)+(128*5)+(80*5)+(100*5)+(12*5)+(46*40)+(5*80)); -static const uint16 kUndertimedtext = (0+(228*13)+32+60+(32*32)+(11*10*3)+768+768+768+(32*32)+(128*5)+(80*5)+(100*5)+(12*5)+(46*40)+(5*80)+(250*4)); -static const uint16 kRainlist = (0+(228*13)+32+60+(32*32)+(11*10*3)+768+768+768+(32*32)+(128*5)+(80*5)+(100*5)+(12*5)+(46*40)+(5*80)+(250*4)+(256*30)); -static const uint16 kInitialreelrouts = (0+(228*13)+32+60+(32*32)+(11*10*3)+768+768+768+(32*32)+(128*5)+(80*5)+(100*5)+(12*5)+(46*40)+(5*80)+(250*4)+(256*30)+(6*64)); -static const uint16 kInitialvars = (0+(228*13)+32+60+(32*32)+(11*10*3)+768+768+768+(32*32)+(128*5)+(80*5)+(100*5)+(12*5)+(46*40)+(5*80)+(250*4)+(256*30)+(6*64)+457); -static const uint16 kLengthofbuffer = (0+(228*13)+32+60+(32*32)+(11*10*3)+768+768+768+(32*32)+(128*5)+(80*5)+(100*5)+(12*5)+(46*40)+(5*80)+(250*4)+(256*30)+(6*64)+457+68-0); static const uint16 kReellist = (0+(36*144)); static const uint16 kIntext = (0+(38*2)); static const uint16 kLengthofmap = (0+(66*60)); @@ -345,7 +325,6 @@ static const uint16 kExtext = (0+2080+30000+(16*114)+((114+2)*2)); static const uint16 kLengthofextra = (0+2080+30000+(16*114)+((114+2)*2)+18000); static const uint16 kPersontxtdat = (0+24); static const uint16 kPersontext = (0+24+(1026*2)); -static const uint16 kInputport = (0x63); static const uint16 kForeign = (1); static const uint16 kCd = (1); static const uint16 kNumexobjects = (114); @@ -362,7 +341,6 @@ static const uint16 kTablesize = (32); static const uint16 kScreenwidth = (320); static const uint16 kKeypadx = (36+112); static const uint16 kItempicsize = (44); -static const uint16 kLenofreelrouts = (457); static const uint16 kDiaryy = (48+12); static const uint16 kOpsy = (52); static const uint16 kSymboly = (56); -- cgit v1.2.3