diff options
-rwxr-xr-x | devtools/tasmrecover/tasm-recover | 1 | ||||
-rw-r--r-- | engines/dreamweb/dreamgen.cpp | 48 | ||||
-rw-r--r-- | engines/dreamweb/dreamgen.h | 2 | ||||
-rw-r--r-- | engines/dreamweb/stubs.cpp | 47 | ||||
-rw-r--r-- | engines/dreamweb/stubs.h | 1 |
5 files changed, 40 insertions, 59 deletions
diff --git a/devtools/tasmrecover/tasm-recover b/devtools/tasmrecover/tasm-recover index 2c81eb1b61..2324bfd377 100755 --- a/devtools/tasmrecover/tasm-recover +++ b/devtools/tasmrecover/tasm-recover @@ -254,6 +254,7 @@ generator = cpp(context, "DreamGen", blacklist = [ 'fadeupmonfirst', 'loadroomssample', 'printlogo', + 'usemenu', 'usemon', 'scrollmonitor', 'showcurrentfile', diff --git a/engines/dreamweb/dreamgen.cpp b/engines/dreamweb/dreamgen.cpp index d9af7a347f..d014fb26f1 100644 --- a/engines/dreamweb/dreamgen.cpp +++ b/engines/dreamweb/dreamgen.cpp @@ -9161,54 +9161,6 @@ void DreamGenContext::dumpKeypad() { multiDump(); } -void DreamGenContext::useMenu() { - STACK_CHECK; - getRidOfReels(); - loadMenu(); - createPanel(); - showPanel(); - showIcon(); - data.byte(kNewobs) = 0; - drawFloor(); - printSprites(); - al = 4; - ah = 0; - di = (80+40)-48; - bx = (60)-4; - ds = data.word(kTempgraphics2); - showFrame(); - getUnderMenu(); - al = 5; - ah = 0; - di = (80+40)+54; - bx = (60)+72; - ds = data.word(kTempgraphics2); - showFrame(); - workToScreenM(); - data.byte(kGetback) = 0; -menuloop: - delPointer(); - putUnderMenu(); - showMenu(); - readMouse(); - showPointer(); - vSync(); - dumpPointer(); - dumpMenu(); - dumpTextLine(); - bx = offset_menulist; - checkCoords(); - _cmp(data.byte(kGetback), 1); - if (!flags.z()) - goto menuloop; - data.byte(kManisoffscreen) = 0; - redrawMainScrn(); - getRidOfTemp(); - getRidOfTemp2(); - restoreReels(); - workToScreenM(); -} - void DreamGenContext::dumpMenu() { STACK_CHECK; di = (80+40); diff --git a/engines/dreamweb/dreamgen.h b/engines/dreamweb/dreamgen.h index b4596e0df5..f9a51ad9b4 100644 --- a/engines/dreamweb/dreamgen.h +++ b/engines/dreamweb/dreamgen.h @@ -58,7 +58,6 @@ public: static const uint16 offset_invlist1 = 0x09fc; static const uint16 offset_money2poke = 0x0d97; static const uint16 offset_talklist = 0x0a64; - static const uint16 offset_menulist = 0x0e1e; static const uint16 offset_comlist = 0x0ad8; static const uint16 offset_withlist1 = 0x0a3a; static const uint16 offset_money1poke = 0x0d92; @@ -1056,7 +1055,6 @@ public: void showNames(); void saveFileRead(); void emergencyPurge(); - void useMenu(); void alleyBarkSound(); void useCart(); void introMusic(); diff --git a/engines/dreamweb/stubs.cpp b/engines/dreamweb/stubs.cpp index edb8887a2d..a60a39c361 100644 --- a/engines/dreamweb/stubs.cpp +++ b/engines/dreamweb/stubs.cpp @@ -1710,15 +1710,6 @@ void DreamGenContext::checkCoords() { checkCoords(destList); break; } - case offset_menulist: { - RectWithCallback menuList[] = { - { kMenux+54,kMenux+68,kMenuy+72,kMenuy+88,&DreamGenContext::quitKey }, - { 0,320,0,200,&DreamGenContext::blank }, - { 0xFFFF,0,0,0,0 } - }; - checkCoords(menuList); - break; - } case offset_symbollist: { RectWithCallback symbolList[] = { { kSymbolx+40,kSymbolx+64,kSymboly+2,kSymboly+16,&DreamGenContext::quitSymbol }, @@ -2735,5 +2726,43 @@ void DreamGenContext::workToScreenM() { delPointer(); } +void DreamGenContext::useMenu() { + getRidOfReels(); + loadMenu(); + createPanel(); + showPanel(); + showIcon(); + data.byte(kNewobs) = 0; + drawFloor(); + printSprites(); + showFrame(tempGraphics2(), kMenux-48, kMenuy-4, 4, 0); + getUnderMenu(); + showFrame(tempGraphics2(), kMenux+54, kMenuy+72, 5, 0); + workToScreenM(); + data.byte(kGetback) = 0; + do { + delPointer(); + putUnderMenu(); + showMenu(); + readMouse(); + showPointer(); + vSync(); + dumpPointer(); + dumpMenu(); + dumpTextLine(); + RectWithCallback menuList[] = { + { kMenux+54,kMenux+68,kMenuy+72,kMenuy+88,&DreamGenContext::quitKey }, + { 0,320,0,200,&DreamGenContext::blank }, + { 0xFFFF,0,0,0,0 } + }; + checkCoords(menuList); + } while ((data.byte(kGetback) != 1) && !quitRequested()); + data.byte(kManisoffscreen) = 0; + redrawMainScrn(); + getRidOfTemp(); + getRidOfTemp2(); + restoreReels(); + workToScreenM(); +} } /*namespace dreamgen */ diff --git a/engines/dreamweb/stubs.h b/engines/dreamweb/stubs.h index 694313889f..6e6487430d 100644 --- a/engines/dreamweb/stubs.h +++ b/engines/dreamweb/stubs.h @@ -303,6 +303,7 @@ void fadeupYellows(); void fadeupMonFirst(); void printLogo(); + void useMenu(); void useMon(); void scrollMonitor(); void showCurrentFile(); |