aboutsummaryrefslogtreecommitdiff
path: root/engines
diff options
context:
space:
mode:
authorWillem Jan Palenstijn2011-12-12 09:07:55 +0100
committerWillem Jan Palenstijn2011-12-12 09:19:25 +0100
commit2ff147352c01045b7571c1d44c6ef942b1e64d98 (patch)
tree2c1ab184ef326f7eee342444619087df3d6b3207 /engines
parent58c7a8dcb847f3ee03b704d3dd6bfc80018cbece (diff)
downloadscummvm-rg350-2ff147352c01045b7571c1d44c6ef942b1e64d98.tar.gz
scummvm-rg350-2ff147352c01045b7571c1d44c6ef942b1e64d98.tar.bz2
scummvm-rg350-2ff147352c01045b7571c1d44c6ef942b1e64d98.zip
DREAMWEB: Cleanup and add FIXMEs
Diffstat (limited to 'engines')
-rw-r--r--engines/dreamweb/dreambase.h10
-rw-r--r--engines/dreamweb/object.cpp2
-rw-r--r--engines/dreamweb/stubs.cpp26
-rw-r--r--engines/dreamweb/stubs.h14
4 files changed, 29 insertions, 23 deletions
diff --git a/engines/dreamweb/dreambase.h b/engines/dreamweb/dreambase.h
index b22f46be77..285c44b600 100644
--- a/engines/dreamweb/dreambase.h
+++ b/engines/dreamweb/dreambase.h
@@ -65,6 +65,9 @@ public:
void lockLightOn();
void lockLightOff();
+ // from object.cpp
+ void obIcons();
+
// from pathfind.cpp
Common::Point _lineData[200]; // Output of Bresenham
void checkDest(const RoomPaths *roomsPaths);
@@ -137,6 +140,13 @@ public:
DynObject *getFreeAd(uint8 index);
DynObject *getExAd(uint8 index);
DynObject *getEitherAdCPP();
+ void showWatch();
+ void showTime();
+ void showExit();
+ void showMan();
+ void panelIcons1();
+ SetObject *getSetAd(uint8 index);
+ void *getAnyAd(uint8 *value1, uint8 *value2);
// from use.cpp
void placeFreeObject(uint8 index);
diff --git a/engines/dreamweb/object.cpp b/engines/dreamweb/object.cpp
index edc0b734ec..53d834e74c 100644
--- a/engines/dreamweb/object.cpp
+++ b/engines/dreamweb/object.cpp
@@ -99,7 +99,7 @@ void DreamGenContext::obPicture() {
showFrame(frames, 160, 68, frame, 0x80);
}
-void DreamGenContext::obIcons() {
+void DreamBase::obIcons() {
uint8 value1, value2;
getAnyAd(&value1, &value2);
if (value1 != 0xff) {
diff --git a/engines/dreamweb/stubs.cpp b/engines/dreamweb/stubs.cpp
index 02381cc191..7a60f17c1f 100644
--- a/engines/dreamweb/stubs.cpp
+++ b/engines/dreamweb/stubs.cpp
@@ -1383,7 +1383,7 @@ DynObject *DreamBase::getEitherAdCPP() {
return getFreeAd(data.byte(kItemframe));
}
-void *DreamGenContext::getAnyAd(uint8 *value1, uint8 *value2) {
+void *DreamBase::getAnyAd(uint8 *value1, uint8 *value2) {
if (data.byte(kObjecttype) == 4) {
DynObject *exObject = getExAd(data.byte(kCommand));
*value1 = exObject->b7;
@@ -1411,7 +1411,7 @@ void *DreamGenContext::getAnyAdDir(uint8 index, uint8 flag) {
return getSetAd(index);
}
-SetObject *DreamGenContext::getSetAd(uint8 index) {
+SetObject *DreamBase::getSetAd(uint8 index) {
return (SetObject *)getSegment(data.word(kSetdat)).ptr(0, 0) + index;
}
@@ -2065,7 +2065,7 @@ void DreamGenContext::mainScreen() {
walkAndExamine();
}
-void DreamGenContext::showWatch() {
+void DreamBase::showWatch() {
if (data.byte(kWatchon)) {
showFrame(engine->icons1(), 250, 1, 6, 0);
showTime();
@@ -2079,7 +2079,7 @@ void DreamGenContext::dumpWatch() {
data.byte(kWatchdump) = 0;
}
-void DreamGenContext::showTime() {
+void DreamBase::showTime() {
if (data.byte(kWatchon) == 0)
return;
Frame *charset = (Frame *)getSegment(data.word(kCharset1)).ptr(0, 0);
@@ -2467,18 +2467,18 @@ void DreamGenContext::showRightPage() {
data.word(kLinespacing) = 10;
}
-void DreamGenContext::showExit() {
+void DreamBase::showExit() {
showFrame(engine->icons1(), 274, 154, 11, 0);
}
-void DreamGenContext::showMan() {
+void DreamBase::showMan() {
showFrame(engine->icons1(), 0, 0, 0, 0);
showFrame(engine->icons1(), 0, 114, 1, 0);
if (data.byte(kShadeson))
showFrame(engine->icons1(), 28, 25, 2, 0);
}
-void DreamGenContext::panelIcons1() {
+void DreamBase::panelIcons1() {
uint16 x;
if (data.byte(kWatchon) != 1)
x = 48;
@@ -4223,22 +4223,22 @@ void DreamGenContext::showPuzText() {
}
void DreamGenContext::showPuzText(uint16 command, uint16 count) {
- // The original called findPuzText here and saved es:si. We call it below.
+ findPuzText(); // FIXME: Unnecessary? (Input: al, Output: es:si)
createPanel();
showPanel();
showMan();
showExit();
obIcons();
- findPuzText(); // we call it here to set es:si correctly
uint16 offset = kTextstart + getSegment(data.word(kPuzzletext)).word(command * 2);
const uint8 *string = getSegment(data.word(kPuzzletext)).ptr(offset, 0);
- uint16 y = 104;
- DreamBase::printDirect(&string, 36, &y, 241, 241 & 1);
+ printDirect(string, 36, 104, 241, 241 & 1);
workToScreenM();
hangOnP(count);
}
void DreamGenContext::monkSpeaking() {
+ // FIXME: This is the CD version only.
+
data.byte(kRoomssample) = 35;
loadRoomsSample();
loadIntoTemp("DREAMWEB.G15");
@@ -4251,13 +4251,13 @@ void DreamGenContext::monkSpeaking() {
playChannel0(12, 255);
fadeScreenUps();
hangOn(300);
- al = 40;
for (int i = 40; i <= 48; i++) {
dl = 'T';
dh = 83;
cl = 'T';
ah = 0;
+ al = i;
loadSpeech();
playChannel1(50 + 12);
@@ -4265,8 +4265,6 @@ void DreamGenContext::monkSpeaking() {
do {
engine->waitForVSync();
} while (data.byte(kCh1playing) != 255);
-
- al++;
}
data.byte(kVolumedirection) = 1;
diff --git a/engines/dreamweb/stubs.h b/engines/dreamweb/stubs.h
index 49f319b754..950da21574 100644
--- a/engines/dreamweb/stubs.h
+++ b/engines/dreamweb/stubs.h
@@ -166,8 +166,12 @@
return DreamBase::getExAd(index);
}
DynObject *getEitherAdCPP();
- SetObject *getSetAd(uint8 index);
- void *getAnyAd(uint8 *value1, uint8 *value2);
+ void *getAnyAd(uint8 *value1, uint8 *value2) {
+ return DreamBase::getAnyAd(value1, value2);
+ }
+ SetObject *getSetAd(uint8 index) {
+ return DreamBase::getSetAd(index);
+ }
void *getAnyAdDir(uint8 index, uint8 flag);
void setAllChanges();
void doChange(uint8 index, uint8 value, uint8 type);
@@ -195,7 +199,6 @@
void addToPeopleList(ReelRoutine *routine);
void getExPos();
void obPicture();
- void obIcons();
void compare();
bool compare(uint8 index, uint8 flag, const char id[4]);
bool pixelCheckSet(const ObjPos *pos, uint8 x, uint8 y);
@@ -237,9 +240,7 @@
uint16 getPersFrame(uint8 index);
void convIcons();
void examineOb(bool examineAgain = true);
- void showWatch();
void dumpWatch();
- void showTime();
void roomName();
void transferText();
void initRain();
@@ -424,9 +425,6 @@
void showOuterPad();
uint8 nextSymbol(uint8 symbol);
void showSymbol();
- void showExit();
- void showMan();
- void panelIcons1();
void examIcon();
void buttonOne();
void buttonTwo();