From b02a957f77373f78151707ec45fefe95e4555282 Mon Sep 17 00:00:00 2001 From: Filippos Karapetis Date: Thu, 8 Dec 2011 00:57:14 +0200 Subject: DREAMWEB: 'examineinventory' ported to C++ --- devtools/tasmrecover/tasm-recover | 1 + engines/dreamweb/dreamgen.cpp | 26 -------------------------- engines/dreamweb/dreamgen.h | 1 - engines/dreamweb/stubs.cpp | 21 +++++++++++++++++++++ engines/dreamweb/stubs.h | 1 + 5 files changed, 23 insertions(+), 27 deletions(-) diff --git a/devtools/tasmrecover/tasm-recover b/devtools/tasmrecover/tasm-recover index 3fb7dfaa7e..ae0d4015ad 100755 --- a/devtools/tasmrecover/tasm-recover +++ b/devtools/tasmrecover/tasm-recover @@ -286,6 +286,7 @@ generator = cpp(context, "DreamGen", blacklist = [ 'errormessage2', 'errormessage3', 'examicon', + 'examineinventory', 'examineob', 'examineobtext', 'facerightway', diff --git a/engines/dreamweb/dreamgen.cpp b/engines/dreamweb/dreamgen.cpp index aaa531ff8e..965306313d 100644 --- a/engines/dreamweb/dreamgen.cpp +++ b/engines/dreamweb/dreamgen.cpp @@ -2006,32 +2006,6 @@ pickupexob: workToScreenM(); } -void DreamGenContext::examineInventory() { - STACK_CHECK; - _cmp(data.byte(kCommandtype), 249); - if (flags.z()) - goto alreadyexinv; - data.byte(kCommandtype) = 249; - al = 32; - commandOnly(); -alreadyexinv: - ax = data.word(kMousebutton); - _and(ax, 1); - if (!flags.z()) - goto doexinv; - return; -doexinv: - createPanel(); - showPanel(); - showMan(); - showExit(); - examIcon(); - data.byte(kPickup) = 0; - data.byte(kInvopen) = 2; - openInv(); - workToScreenM(); -} - void DreamGenContext::reExFromInv() { STACK_CHECK; findInvPos(); diff --git a/engines/dreamweb/dreamgen.h b/engines/dreamweb/dreamgen.h index ca9f56158c..fe922cd959 100644 --- a/engines/dreamweb/dreamgen.h +++ b/engines/dreamweb/dreamgen.h @@ -627,7 +627,6 @@ public: void showDiaryPage(); void transferToEx(); void reExFromInv(); - void examineInventory(); void businessMan(); void outOfInv(); void diaryKeyP(); diff --git a/engines/dreamweb/stubs.cpp b/engines/dreamweb/stubs.cpp index e75c7cde4f..637df6019a 100644 --- a/engines/dreamweb/stubs.cpp +++ b/engines/dreamweb/stubs.cpp @@ -3872,4 +3872,25 @@ void DreamGenContext::selectLocation() { deallocateMem(data.word(kTraveltext)); } + +void DreamGenContext::examineInventory() { + if (data.byte(kCommandtype) != 249) { + data.byte(kCommandtype) = 249; + commandOnly(32); + } + + if (!(data.word(kMousebutton) & 1)) + return; + + createPanel(); + showPanel(); + showMan(); + showExit(); + examIcon(); + data.byte(kPickup) = 0; + data.byte(kInvopen) = 2; + openInv(); + workToScreenM(); +} + } // End of namespace DreamGen diff --git a/engines/dreamweb/stubs.h b/engines/dreamweb/stubs.h index 2699605bd0..73fa7a62ef 100644 --- a/engines/dreamweb/stubs.h +++ b/engines/dreamweb/stubs.h @@ -583,5 +583,6 @@ void closeFile(); void getTime(); void set16ColPalette(); + void examineInventory(); #endif -- cgit v1.2.3