diff options
author | Max Horn | 2011-12-15 10:54:28 +0100 |
---|---|---|
committer | Max Horn | 2011-12-15 13:44:40 +0100 |
commit | 719f3ec1789005186c4cb86b10effa9ceee93866 (patch) | |
tree | d33555eabf735e17b6931623cb913adb0aa1f6a2 /engines/dreamweb/object.cpp | |
parent | ee43bfed74f313115fc9cb537f614f26fa3d6fa2 (diff) | |
download | scummvm-rg350-719f3ec1789005186c4cb86b10effa9ceee93866.tar.gz scummvm-rg350-719f3ec1789005186c4cb86b10effa9ceee93866.tar.bz2 scummvm-rg350-719f3ec1789005186c4cb86b10effa9ceee93866.zip |
DREAMWEB: Convert a bunch of stuff to C++
Specifically, I started with openOb() and withWhat() which allowed to
remove offset_commandline and offset_openchangesize. A clean conversion of
these required a conversion of printMessage2 and getOpenedSize.
Diffstat (limited to 'engines/dreamweb/object.cpp')
-rw-r--r-- | engines/dreamweb/object.cpp | 35 |
1 files changed, 32 insertions, 3 deletions
diff --git a/engines/dreamweb/object.cpp b/engines/dreamweb/object.cpp index 53d834e74c..8e5da2c90e 100644 --- a/engines/dreamweb/object.cpp +++ b/engines/dreamweb/object.cpp @@ -162,13 +162,13 @@ void DreamGenContext::examineOb(bool examineAgain) { break; } case 1: { - // NB: This table contains the non-constant openChangeSize! + // Note: This table contains the non-constant _openChangeSize! RectWithCallback invList1[] = { { 273,320,157,198,&DreamGenContext::getBackFromOb }, { 255,294,0,24,&DreamGenContext::dropObject }, { kInventx+167,kInventx+167+(18*3),kInventy-18,kInventy-2,&DreamGenContext::incRyanPage }, - { kInventx, data.word(offset_openchangesize),kInventy+100,kInventy+100+kItempicsize,&DreamGenContext::useOpened }, - { kInventx,kInventx+(5*kItempicsize), kInventy,kInventy+(2*kItempicsize),&DreamGenContext::inToInv }, + { kInventx,_openChangeSize,kInventy+100,kInventy+100+kItempicsize,&DreamGenContext::useOpened }, + { kInventx,kInventx+(5*kItempicsize),kInventy,kInventy+(2*kItempicsize),&DreamGenContext::inToInv }, { 0,320,0,200,&DreamGenContext::blank }, { 0xFFFF,0,0,0,0 } }; @@ -263,4 +263,33 @@ void DreamGenContext::getBackFromOb() { blank(); } +void DreamGenContext::getOpenedSize() { + ax = getOpenedSizeCPP(); +} + +byte DreamGenContext::getOpenedSizeCPP() { + byte obj = data.byte(kOpenedob); + switch (data.byte(kOpenedtype)) { + case 4: + return getExAd(obj)->b7; + case 2: + return getFreeAd(obj)->b7; + default: + return getSetAd(obj)->b3; + } +} + +void DreamGenContext::openOb() { + uint8 commandLine[64] = "OBJECT NAME ONE "; + + copyName(data.byte(kOpenedtype), data.byte(kOpenedob), commandLine); + + printMessage(kInventx, kInventy+86, 62, 240, false); + + al = printDirect(commandLine, data.word(kLastxpos) + 5, kInventy+86, 220, false); + + fillOpen(); + _openChangeSize = getOpenedSizeCPP() * kItempicsize + kInventx; +} + } // End of namespace DreamGen |