aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorD G Turner2012-07-11 14:34:09 +0100
committerD G Turner2012-07-11 14:34:09 +0100
commitcffff61081a48da730a9c3969c9b824852dcd71a (patch)
tree7422d3fbc210d72214e9b1847cabea89703efb26
parentc05dfddec32e2eabc49c6bc0ca4bd2d3e90e3e2c (diff)
downloadscummvm-rg350-cffff61081a48da730a9c3969c9b824852dcd71a.tar.gz
scummvm-rg350-cffff61081a48da730a9c3969c9b824852dcd71a.tar.bz2
scummvm-rg350-cffff61081a48da730a9c3969c9b824852dcd71a.zip
TEENAGENT: Replace static Dialog functions with normal class.
This avoids the need to pass the engine pointer, vm to every function and removes the need for the functions to be static.
-rw-r--r--engines/teenagent/callbacks.cpp294
-rw-r--r--engines/teenagent/dialog.cpp14
-rw-r--r--engines/teenagent/dialog.h21
-rw-r--r--engines/teenagent/teenagent.cpp3
-rw-r--r--engines/teenagent/teenagent.h2
5 files changed, 171 insertions, 163 deletions
diff --git a/engines/teenagent/callbacks.cpp b/engines/teenagent/callbacks.cpp
index bd4c6dec4c..a1fd1829ed 100644
--- a/engines/teenagent/callbacks.cpp
+++ b/engines/teenagent/callbacks.cpp
@@ -96,7 +96,7 @@ bool TeenAgentEngine::processCallback(uint16 addr) {
playAnimation(913, 1);
setOns(1, 109);
setLan(2, 1);
- Dialog::show(this, scene, 0x748e, 914, 915, 0xe7, 0xd7, 2, 1);
+ dialog->show(scene, 0x748e, 914, 915, 0xe7, 0xd7, 2, 1);
displayCredits(0xe3c2);
loadScene(42, 139, 156, 3);
@@ -114,12 +114,12 @@ bool TeenAgentEngine::processCallback(uint16 addr) {
loadScene(40, 139, 156, 3);
playMusic(3);
- Dialog::show(this, scene, 0x750d, 920, 924, 0xe7, 0xeb, 1, 2); //as i told you, our organization...
+ dialog->show(scene, 0x750d, 920, 924, 0xe7, 0xeb, 1, 2); //as i told you, our organization...
playSound(26, 50);
playAnimation(925, 0, true);
playAnimation(926, 1, true);
waitAnimation();
- Dialog::show(this, scene, 0x78a6, 927, 920, 0xeb, 0xe7, 2, 1);
+ dialog->show(scene, 0x78a6, 927, 920, 0xeb, 0xe7, 2, 1);
displayCredits(0xe3ff);
loadScene(39, 139, 156, 3);
@@ -134,7 +134,7 @@ bool TeenAgentEngine::processCallback(uint16 addr) {
playSound(81, 21);
playAnimation(928, 1);
setOns(0, 112);
- Dialog::showMono(this, scene, 0x78e1, 929, 0xd1, 1); //he's coming
+ dialog->showMono(scene, 0x78e1, 929, 0xd1, 1); //he's coming
showActor();
moveTo(319, 150, 1, true);
moveTo(63, 150, 1);
@@ -150,17 +150,17 @@ bool TeenAgentEngine::processCallback(uint16 addr) {
playMusic(3);
loadScene(40, 50, 186, 1);
setOns(0, 113);
- Dialog::show(this, scene, 0x78f1, 919, 0, 0xe7, 0xd1, 1, 0);
+ dialog->show(scene, 0x78f1, 919, 0, 0xe7, 0xd1, 1, 0);
moveTo(196, 186, 1);
- Dialog::show(this, scene, 0x7958, 0, 920, 0xd1, 0xe7, 0, 1);
+ dialog->show(scene, 0x7958, 0, 920, 0xd1, 0xe7, 0, 1);
playActorAnimation(932);
- Dialog::show(this, scene, 0x7e07, 0, 920, 0xd1, 0xe7, 0, 1);
+ dialog->show(scene, 0x7e07, 0, 920, 0xd1, 0xe7, 0, 1);
playActorAnimation(932);
- Dialog::show(this, scene, 0x7e1a, 0, 920, 0xd1, 0xe7, 0, 1);
+ dialog->show(scene, 0x7e1a, 0, 920, 0xd1, 0xe7, 0, 1);
playActorAnimation(932);
- Dialog::show(this, scene, 0x7e2c, 0, 922, 0xd1, 0xe7, 0, 1);
+ dialog->show(scene, 0x7e2c, 0, 922, 0xd1, 0xe7, 0, 1);
playActorAnimation(933);
- Dialog::show(this, scene, 0x7e70, 0, 920, 0xd1, 0xe7, 0, 1);
+ dialog->show(scene, 0x7e70, 0, 920, 0xd1, 0xe7, 0, 1);
moveTo(174, 186, 1);
playAnimation(851, 0, true);
playActorAnimation(934, true);
@@ -210,7 +210,7 @@ bool TeenAgentEngine::processCallback(uint16 addr) {
SET_FLAG(0xDBE4, 1);
} else {
processCallback(0x4173);
- Dialog::pop(this, scene, 0xDB72, 0, 0, 0xd1, 0xd1, 0, 0);
+ dialog->pop(scene, 0xDB72, 0, 0, 0xd1, 0xd1, 0, 0);
}
return true;
}
@@ -285,15 +285,15 @@ bool TeenAgentEngine::processCallback(uint16 addr) {
playAnimation(812, 0, true);
playActorAnimation(811);
- Dialog::show(this, scene, 0x6117, 0, 813, 0xd1, 0xec, 0, 1);
+ dialog->show(scene, 0x6117, 0, 813, 0xd1, 0xec, 0, 1);
loadScene(6, 230, 184);
playMusic(5);
- Dialog::show(this, scene, 0x626a, 0, 814, 0xd1, 0xec, 0, 1);
+ dialog->show(scene, 0x626a, 0, 814, 0xd1, 0xec, 0, 1);
playSound(4, 14);
playAnimation(815, 0);
setOns(1, 0);
- Dialog::showMono(this, scene, 0x62dc, 0, 0xd1, 0);
+ dialog->showMono(scene, 0x62dc, 0, 0xd1, 0);
SET_FLAG(0xDBDF, 1);
}
@@ -357,7 +357,7 @@ bool TeenAgentEngine::processCallback(uint16 addr) {
SET_FLAG(0xdbdd, 3);
scene->getObject(4)->setName("body");
} else {
- if (Dialog::pop(this, scene, 0xdb5c, 0, 0, 0xd1, 0xd1, 0, 0) != 0x636b) //not 'im getting hungry'
+ if (dialog->pop(scene, 0xdb5c, 0, 0, 0xd1, 0xd1, 0, 0) != 0x636b) //not 'im getting hungry'
return true;
wait(100);
@@ -490,7 +490,7 @@ bool TeenAgentEngine::processCallback(uint16 addr) {
if (CHECK_FLAG(0xDBE7, 1)) {
moveTo(140, 152, 1);
if (CHECK_FLAG(0xDBE8, 1)) {
- Dialog::showMono(this, scene, 0x6f20, 0, 0xd1, 0); //aren't you thirsty?
+ dialog->showMono(scene, 0x6f20, 0, 0xd1, 0); //aren't you thirsty?
displayMessage(0x5883, 0xef, 21472);
//reloadLan();
setLan(1, 0);
@@ -509,21 +509,21 @@ bool TeenAgentEngine::processCallback(uint16 addr) {
} else {
if (CHECK_FLAG(0xDBDF, 3)) {
if (CHECK_FLAG(0xDBE3, 1)) {
- Dialog::show(this, scene, 0x6BD6, 0, 857, 0xd1, 0xef, 0, 1);
+ dialog->show(scene, 0x6BD6, 0, 857, 0xd1, 0xef, 0, 1);
} else {
- Dialog::show(this, scene, 0x69B5, 0, 857, 0xd1, 0xef, 0, 1); //taking mug
+ dialog->show(scene, 0x69B5, 0, 857, 0xd1, 0xef, 0, 1); //taking mug
playActorAnimation(859, true);
playAnimation(858, 0, true);
waitAnimation();
playSound(75, 6);
playActorAnimation(860);
- Dialog::show(this, scene, 0x69C2, 0, 857, 0xd1, 0xef, 0, 1);
+ dialog->show(scene, 0x69C2, 0, 857, 0xd1, 0xef, 0, 1);
inventory->add(0x55);
SET_FLAG(0xDBE3, 1);
SET_FLAG(0xDBF0, 0);
}
} else {
- Dialog::pop(this, scene, 0xDB68, 0, 857, 0xd1, 0xef, 0, 1);
+ dialog->pop(scene, 0xDB68, 0, 857, 0xd1, 0xef, 0, 1);
}
}
return true;
@@ -546,7 +546,7 @@ bool TeenAgentEngine::processCallback(uint16 addr) {
return true;
case 0x483a:
- Dialog::pop(this, scene, 0xdb82, 0, 0, 0xd1, 0xd1, 0, 0);
+ dialog->pop(scene, 0xdb82, 0, 0, 0xd1, 0xd1, 0, 0);
return true;
case 0x4844:
@@ -571,7 +571,7 @@ bool TeenAgentEngine::processCallback(uint16 addr) {
} else if (CHECK_FLAG(0xDBE7, 1)) {
displayMessage(0x5894);
} else {
- Dialog::pop(this, scene, 0xDB8A, 0, 857, 0xd1, 0xef, 0, 1);
+ dialog->pop(scene, 0xDB8A, 0, 857, 0xd1, 0xef, 0, 1);
}
return true;
@@ -590,17 +590,17 @@ bool TeenAgentEngine::processCallback(uint16 addr) {
playSound(55, 1);
playSound(24, 12);
playAnimation(885, 0);
- Dialog::show(this, scene, 0x67e5, 886, 0, 0xd0, 0xd1, 1, 0);
+ dialog->show(scene, 0x67e5, 886, 0, 0xd0, 0xd1, 1, 0);
playMusic(3);
loadScene(40, 198, 186, 1);
- Dialog::show(this, scene, 0x7f20, 0, 920, 0xd1, 0xe7, 0, 1);
+ dialog->show(scene, 0x7f20, 0, 920, 0xd1, 0xe7, 0, 1);
inventory->clear();
inventory->add(0x1d);
displayCredits(0xe45c);
loadScene(1, 198, 186);
hideActor();
playActorAnimation(956);
- Dialog::showMono(this, scene, 0x8bc4, 957, 0xd1, 1);
+ dialog->showMono(scene, 0x8bc4, 957, 0xd1, 1);
waitAnimation();
loadScene(15, 157, 199, 1);
playMusic(6);
@@ -619,9 +619,9 @@ bool TeenAgentEngine::processCallback(uint16 addr) {
case 0x4c70:
if (CHECK_FLAG(0xDBE2, 0)) {
if (CHECK_FLAG(0xDBDA, 1)) { //papers are shown
- Dialog::pop(this, scene, 0xDB4C, 0, 809, 0xd1, 0xd0, 0, 1);
+ dialog->pop(scene, 0xDB4C, 0, 809, 0xd1, 0xd0, 0, 1);
} else {
- Dialog::pop(this, scene, 0xDB40, 0, 809, 0xd1, 0xd0, 0, 1);
+ dialog->pop(scene, 0xDB40, 0, 809, 0xd1, 0xd0, 0, 1);
}
} else {
displayMessage(0x5722);
@@ -639,15 +639,15 @@ bool TeenAgentEngine::processCallback(uint16 addr) {
if (CHECK_FLAG(0xdbda, 1)) { //papers are shown
loadScene(5, 124, 199);
} else {
- Dialog::show(this, scene, 0x5FE9, 0, 809, 0xd1, 0xd0, 0, 1);
+ dialog->show(scene, 0x5FE9, 0, 809, 0xd1, 0xd0, 0, 1);
moveTo(269, 175, 4);
- Dialog::pop(this, scene, 0xDB56, 0, 809, 0xd1, 0xd0, 0, 1);
+ dialog->pop(scene, 0xDB56, 0, 809, 0xd1, 0xd0, 0, 1);
}
return true;
case 0x4cf1: { //talking with mansion guard
SET_FLAG(0xda96, 1);
- if (Dialog::pop(this, scene, 0xdaa6, 0, 529, 0xd1, 0xd9, 0, 1) != 0x1b4)
+ if (dialog->pop(scene, 0xdaa6, 0, 529, 0xd1, 0xd9, 0, 1) != 0x1b4)
return true;
Common::Point p = scene->getPosition();
@@ -662,24 +662,24 @@ bool TeenAgentEngine::processCallback(uint16 addr) {
moveTo(p, 2);
inventory->add(0x13);
- Dialog::pop(this, scene, 0xdaa6, 0, 529, 0xd1, 0xd9, 0, 1);
+ dialog->pop(scene, 0xdaa6, 0, 529, 0xd1, 0xd9, 0, 1);
}
return true;
case 0x4d94: //talking with fatso
- Dialog::show(this, scene, 0x33bd, 0, 666, 0xd1, 0xd0, 0, 2);
+ dialog->show(scene, 0x33bd, 0, 666, 0xd1, 0xd0, 0, 2);
displayAsyncMessage(0x49ae, /*25060*/ 35000, 1, 10, 0xd0);
playSound(5, 3);
playAnimation(667, 1);
playAnimation(668, 1);
setOns(2, 50);
- Dialog::show(this, scene, 0x36c7, 0, 666, 0xd1, 0xd0, 0, 2);
+ dialog->show(scene, 0x36c7, 0, 666, 0xd1, 0xd0, 0, 2);
setOns(3, 0);
setFlag(0xDBEC, 0);
reloadLan();
playSound(82, 19);
playAnimation(669, 1);
- Dialog::showMark(this, scene, 0x3779);
+ dialog->showMark(scene, 0x3779);
enableObject(15);
disableObject(8);
return true;
@@ -798,7 +798,7 @@ bool TeenAgentEngine::processCallback(uint16 addr) {
playSound(17, 5);
playAnimation(545, 0);
- Dialog::show(this, scene, 0x0917, 0, 546, 0xd1, 0xd9, 0, 1);
+ dialog->show(scene, 0x0917, 0, 546, 0xd1, 0xd9, 0, 1);
SET_FLAG(0xDA96, 1);
SET_FLAG(0xDA97, 0);
return true;
@@ -843,7 +843,7 @@ bool TeenAgentEngine::processCallback(uint16 addr) {
return true;
case 0x55a8: {
- uint16 d = Dialog::pop(this, scene, 0xdb08, 0, 0, 0xd1, 0xd1, 0, 0);
+ uint16 d = dialog->pop(scene, 0xdb08, 0, 0, 0xd1, 0xd1, 0, 0);
if (d == 0x2c5d) {
waitLanAnimationFrame(1, 0x23);
setOns(0, 0);
@@ -910,7 +910,7 @@ bool TeenAgentEngine::processCallback(uint16 addr) {
case 0x5d88:
if (CHECK_FLAG(0xDBA5, 1)) { //dry laundry
SET_FLAG(0xDBA5, 2);
- Dialog::show(this, scene, 0x1F4F, 0, 523, 0xd1, 0xe5, 0, 1);
+ dialog->show(scene, 0x1F4F, 0, 523, 0xd1, 0xe5, 0, 1);
//waitLanAnimationFrame(1, 1); //another long waiting
playAnimation(604, 0);
@@ -923,9 +923,9 @@ bool TeenAgentEngine::processCallback(uint16 addr) {
setOns(0, 33);
loadScene(23, scene->getPosition());
playAnimation(605, 0);
- Dialog::show(this, scene, 0x2002, 0, 523, 0xd1, 0xe5, 0, 1);
+ dialog->show(scene, 0x2002, 0, 523, 0xd1, 0xe5, 0, 1);
} else {
- uint16 d = Dialog::pop(this, scene, 0xdada, 0, 523, 0xd1, 0xe5, 0, 1);
+ uint16 d = dialog->pop(scene, 0xdada, 0, 523, 0xd1, 0xe5, 0, 1);
if (d == 0x1913) {
wait(100);
moveRel(0, 0, 3);
@@ -938,9 +938,9 @@ bool TeenAgentEngine::processCallback(uint16 addr) {
case 0x5ff3: //get duster
if (CHECK_FLAG(0xDB9A, 0)) {
- Dialog::pop(this, scene, 0xdaf6, 0, 523, 0xd1, 0xe5, 0, 1);
+ dialog->pop(scene, 0xdaf6, 0, 523, 0xd1, 0xe5, 0, 1);
} else {
- Dialog::show(this, scene, 0x1e1e, 0, 523, 0xd1, 0xe5, 0, 1);
+ dialog->show(scene, 0x1e1e, 0, 523, 0xd1, 0xe5, 0, 1);
wait(50);
inventory->add(12);
disableObject(12);
@@ -993,16 +993,16 @@ bool TeenAgentEngine::processCallback(uint16 addr) {
return true;
case 0x63dc:
- Dialog::showMono(this, scene, 0x3375, 0, 0xd1, 0);
+ dialog->showMono(scene, 0x3375, 0, 0xd1, 0);
return true;
case 0x646e:
case 0x6475:
- Dialog::showMono(this, scene, 0x32C1, 0, 0xd1, 0);
+ dialog->showMono(scene, 0x32C1, 0, 0xd1, 0);
return true;
case 0x6479:
- Dialog::showMono(this, scene, 0x325e, 0, 0xd1, 0);
+ dialog->showMono(scene, 0x325e, 0, 0xd1, 0);
return true;
case 0x6507:
@@ -1090,7 +1090,7 @@ bool TeenAgentEngine::processCallback(uint16 addr) {
if (CHECK_FLAG(0xDBAF, 1))
return false;
- Dialog::showMono(this, scene, 0x2193, 0, 0xd1, 0);
+ dialog->showMono(scene, 0x2193, 0, 0xd1, 0);
SET_FLAG(0xDBAF, 1);
return true;
@@ -1197,12 +1197,12 @@ bool TeenAgentEngine::processCallback(uint16 addr) {
wait(200);
playAnimation(0, 1);
setOns(0, 0);
- Dialog::showMono(this, scene, 0x63a5, 830, 0xd0, 1);
+ dialog->showMono(scene, 0x63a5, 830, 0xd0, 1);
loadScene(7, 130, 195, 2);
playMusic(4);
setLan(1, 1);
wait(100);
- Dialog::show(this, scene, 0x6406, 0, 832, 0xd1, 0xec, 0, 1);
+ dialog->show(scene, 0x6406, 0, 832, 0xd1, 0xec, 0, 1);
//playAnimation(831, 1);
@@ -1223,14 +1223,14 @@ bool TeenAgentEngine::processCallback(uint16 addr) {
waitAnimation();
setOns(0, 94);
- Dialog::show(this, scene, 0x65e9, 0, 832, 0xd1, 0xec, 0, 1);
+ dialog->show(scene, 0x65e9, 0, 832, 0xd1, 0xec, 0, 1);
enableObject(12);
SET_FLAG(0xdbe0, 1);
}
return true;
case 0x7e4f: //giving magazine to captain
- Dialog::show(this, scene, 0x66c0, 0, 856, 0xd1, 0xec, 0, 1);
+ dialog->show(scene, 0x66c0, 0, 856, 0xd1, 0xec, 0, 1);
playSound(5, 3);
playActorAnimation(852, true);
playActorAnimation(853, true);
@@ -1242,7 +1242,7 @@ bool TeenAgentEngine::processCallback(uint16 addr) {
playAnimation(856, 1);
playSound(5, 3);
//playActorAnimation(854);
- Dialog::show(this, scene, 0x66fe, 0, 856, 0xd1, 0xec, 0, 1);
+ dialog->show(scene, 0x66fe, 0, 856, 0xd1, 0xec, 0, 1);
playAnimation(855, 1);
wait(200);
moveTo(30, 181, 0);
@@ -1262,7 +1262,7 @@ bool TeenAgentEngine::processCallback(uint16 addr) {
playAnimation(877, 1);
playAnimation(880, 1, true);
- Dialog::show(this, scene, 0x6f0e, 0, 857, 0xd1, 0xef, 0, 1);
+ dialog->show(scene, 0x6f0e, 0, 857, 0xd1, 0xef, 0, 1);
setOns(2, 0x6a);
reloadLan();
playAnimation(878, 0);
@@ -1292,13 +1292,13 @@ bool TeenAgentEngine::processCallback(uint16 addr) {
playSound(5, 2);
playSound(5, 18);
playActorAnimation(810);
- Dialog::show(this, scene, 0x60BF, 0, 809, 0xd1, 0xd0, 0, 1);
+ dialog->show(scene, 0x60BF, 0, 809, 0xd1, 0xd0, 0, 1);
SET_FLAG(0xDBDA, 1);
}
return true;
case 0x80c3: //show kaleydoscope to the guard
- Dialog::show(this, scene, 0x6811, 0, 809, 0xd1, 0xd0, 0, 1);
+ dialog->show(scene, 0x6811, 0, 809, 0xd1, 0xd0, 0, 1);
playSound(5, 3);
playSound(5, 30);
playSound(26, 14);
@@ -1323,7 +1323,7 @@ bool TeenAgentEngine::processCallback(uint16 addr) {
SET_FLAG(0xDB99, 1);
playSound(57, 6);
playActorAnimation(536);
- Dialog::showMono(this, scene, 0x30c3, 0, 0xd1, 0);
+ dialog->showMono(scene, 0x30c3, 0, 0xd1, 0);
inventory->add(0x8);
}
return true;
@@ -1448,7 +1448,7 @@ bool TeenAgentEngine::processCallback(uint16 addr) {
return true;
case 0x58a2:
- Dialog::pop(this, scene, 0xdaba, 0, 502, 0xd1, 0xe5, 0, 1);
+ dialog->pop(scene, 0xdaba, 0, 502, 0xd1, 0xe5, 0, 1);
scene->getObject(13)->setName((const char *)res->dseg.ptr(0x92e5));
return true;
@@ -1527,13 +1527,13 @@ bool TeenAgentEngine::processCallback(uint16 addr) {
return true;
case 0x5b3a://Click on dog
- Dialog::popMark(this, scene, 0xDB14);
+ dialog->popMark(scene, 0xDB14);
return true;
case 0x5b59: //picking up the rope
- Dialog::showMark(this, scene, 0x2cbd);
+ dialog->showMark(scene, 0x2cbd);
wait(150);
- Dialog::showMark(this, scene, 0x2dc2);
+ dialog->showMark(scene, 0x2dc2);
moveRel(0, -12, 0);
playSound(34, 5);
playActorAnimation(607);
@@ -1549,7 +1549,7 @@ bool TeenAgentEngine::processCallback(uint16 addr) {
return true;
case 0x5be1://Talk to grandpa
- Dialog::pop(this, scene, 0xDAC4, 0, 522, 0xd1, 0xd8, 0, 1);
+ dialog->pop(scene, 0xDAC4, 0, 522, 0xd1, 0xd8, 0, 1);
return true;
case 0x5bee:
@@ -1564,7 +1564,7 @@ bool TeenAgentEngine::processCallback(uint16 addr) {
displayMessage(0x3bac);
} else {
if (!CHECK_FLAG(0xDB92, 1))
- Dialog::show(this, scene, 0x15a0, 0, 522, 0xd1, 0xd8, 0, 1); //can I search your drawers?
+ dialog->show(scene, 0x15a0, 0, 522, 0xd1, 0xd8, 0, 1); //can I search your drawers?
playSound(66, 5);
playSound(67, 20);
@@ -1583,7 +1583,7 @@ bool TeenAgentEngine::processCallback(uint16 addr) {
setOns(0, 0);
playActorAnimation(520);
} else {
- Dialog::pop(this, scene, 0xDACE, 0, 522, 0xd1, 0xd8, 0, 1);
+ dialog->pop(scene, 0xDACE, 0, 522, 0xd1, 0xd8, 0, 1);
}
return true;
@@ -1601,7 +1601,7 @@ bool TeenAgentEngine::processCallback(uint16 addr) {
disableObject(13);
inventory->add(7);
} else {
- Dialog::pop(this, scene, 0xDAD4, 0, 522, 0xd1, 0xd8, 0, 1);
+ dialog->pop(scene, 0xDAD4, 0, 522, 0xd1, 0xd8, 0, 1);
}
return true;
@@ -1610,7 +1610,7 @@ bool TeenAgentEngine::processCallback(uint16 addr) {
displayMessage(0x3d59);
} else {
moveTo(245, 198, 1);
- Dialog::show(this, scene, 0x21d7, 0, 524, 0xd1, 0xe5, 0, 2);
+ dialog->show(scene, 0x21d7, 0, 524, 0xd1, 0xe5, 0, 2);
//waitLanAnimationFrame(2, 1); //too long, about 200 frames! seems to be present in original game (sic)
SET_FLAG(0xDB97, 1);
for (byte i = 10; i <= 20; i += 2)
@@ -1632,7 +1632,7 @@ bool TeenAgentEngine::processCallback(uint16 addr) {
playSound(55, 5);
playActorAnimation(527);
wait(50);
- Dialog::show(this, scene, 0x2219, 0, 524, 0xd1, 0xe5, 0, 2);
+ dialog->show(scene, 0x2219, 0, 524, 0xd1, 0xe5, 0, 2);
scene->getObject(2)->setName((const char *)res->dseg.ptr(0x9820));
}
return true;
@@ -1647,7 +1647,7 @@ bool TeenAgentEngine::processCallback(uint16 addr) {
if (CHECK_FLAG(0xDBB1, 1)) {
displayMessage(0x4380);
} else {
- Dialog::pop(this, scene, 0xDAFC, 0, 523, 0xd1, 0xe5, 0, 1);
+ dialog->pop(scene, 0xDAFC, 0, 523, 0xd1, 0xe5, 0, 1);
}
return true;
@@ -1668,12 +1668,12 @@ bool TeenAgentEngine::processCallback(uint16 addr) {
case 0x60b5:
if (CHECK_FLAG(0xDBAE, 1)) {
processCallback(0x60d9);
- Dialog::showMark(this, scene, 0x2fdd);
+ dialog->showMark(scene, 0x2fdd);
} else {
- Dialog::showMark(this, scene, 0x2e41);
+ dialog->showMark(scene, 0x2e41);
processCallback(0x60d9);
wait(100);
- Dialog::showMark(this, scene, 0x2e6d);
+ dialog->showMark(scene, 0x2e6d);
}
return true;
@@ -1716,7 +1716,7 @@ bool TeenAgentEngine::processCallback(uint16 addr) {
case 0x61e9:
if (CHECK_FLAG(0xDBA4, 1)) {
- Dialog::popMark(this, scene, 0xdb1e);
+ dialog->popMark(scene, 0xdb1e);
} else
processCallback(0x61fe);
@@ -1901,7 +1901,7 @@ bool TeenAgentEngine::processCallback(uint16 addr) {
return true;
case 0x70bb:
- Dialog::pop(this, scene, 0xdb24, 0, 709, 0xd1, 0xef, 0, 1);
+ dialog->pop(scene, 0xdb24, 0, 709, 0xd1, 0xef, 0, 1);
return true;
case 0x71ae:
@@ -1916,7 +1916,7 @@ bool TeenAgentEngine::processCallback(uint16 addr) {
SET_FLAG(0xDBCE, 1);
}
} else
- Dialog::showMark(this, scene, 0x3c9d);
+ dialog->showMark(scene, 0x3c9d);
return true;
case 0x70c8:
@@ -2037,7 +2037,7 @@ bool TeenAgentEngine::processCallback(uint16 addr) {
playActorAnimation(698);
setOns(0, 52);
setOns(2, 61);
- Dialog::showMark(this, scene, 0x38b6);
+ dialog->showMark(scene, 0x38b6);
enableObject(11);
SET_FLAG(0xDBC4, 1);
}
@@ -2048,7 +2048,7 @@ bool TeenAgentEngine::processCallback(uint16 addr) {
displayMessage(0x4dbb);
} else {
SET_FLAG(0xDBC9, 1);
- Dialog::showMark(this, scene, 0x3aca);
+ dialog->showMark(scene, 0x3aca);
playSound(61, 5);
playSound(5, 14);
playActorAnimation(705);
@@ -2072,10 +2072,10 @@ bool TeenAgentEngine::processCallback(uint16 addr) {
playActorAnimation(979);
loadScene(37, 51, 183);
- Dialog::show(this, scene, 0x54ea, 768, 769, 0xd9, 0xe5, 1, 2);
+ dialog->show(scene, 0x54ea, 768, 769, 0xd9, 0xe5, 1, 2);
playAnimation(770, 0, true, true, true);
playAnimation(771, 1, true, true, true);
- Dialog::showMono(this, scene, 0x5523, 0, 0xd1, 0);
+ dialog->showMono(scene, 0x5523, 0, 0xd1, 0);
playAnimation(770, 0, true, true, true);
playAnimation(771, 1, true, true, true);
playSound(5, 3);
@@ -2089,11 +2089,11 @@ bool TeenAgentEngine::processCallback(uint16 addr) {
waitAnimation();
setOns(0, 74);
hideActor();
- Dialog::showMono(this, scene, 0x5556, 775, 0xd0, 1);
+ dialog->showMono(scene, 0x5556, 775, 0xd0, 1);
playAnimation(771, 1, true, true, true);
playAnimation(776, 0);
- Dialog::show(this, scene, 0x55f7, 777, 778, 0xd0, 0xe5, 1, 2); //i have to kill you anyway
+ dialog->show(scene, 0x55f7, 777, 778, 0xd0, 0xe5, 1, 2); //i have to kill you anyway
playAnimation(779, 0, true, true, true);
playAnimation(780, 1, true, true, true);
@@ -2150,7 +2150,7 @@ bool TeenAgentEngine::processCallback(uint16 addr) {
setOns(0, 80);
playAnimation(792, 3, true, true, true);
- Dialog::show(this, scene, 0x5665, 0, 791, 0xd1, 0xd0, 0, 4);
+ dialog->show(scene, 0x5665, 0, 791, 0xd1, 0xd0, 0, 4);
playAnimation(792, 3, true, true, true);
moveTo(40, 171, 4);
@@ -2169,7 +2169,7 @@ bool TeenAgentEngine::processCallback(uint16 addr) {
return true;
case 0x783d:
- Dialog::pop(this, scene, 0xdb36, 0, 797, 0xd1, 0xd0, 0, 1);
+ dialog->pop(scene, 0xdb36, 0, 797, 0xd1, 0xd0, 0, 1);
return true;
case 0x7966:
@@ -2184,7 +2184,7 @@ bool TeenAgentEngine::processCallback(uint16 addr) {
case 0x7ab9:
if (CHECK_FLAG(0xDBB6, 1))
return false;
- Dialog::showMono(this, scene, 0x37d0, 0, 0xd1, 0);
+ dialog->showMono(scene, 0x37d0, 0, 0xd1, 0);
SET_FLAG(0xDBB6, 1);
return true;
@@ -2308,18 +2308,18 @@ bool TeenAgentEngine::processCallback(uint16 addr) {
return false;
case 0x8117:
- Dialog::show(this, scene, 0x0a41, 0, 529, 0xd1, 0xd9, 0, 1);
+ dialog->show(scene, 0x0a41, 0, 529, 0xd1, 0xd9, 0, 1);
playSound(5, 2);
playSound(5, 44);
playAnimation(642, 0, true);
playActorAnimation(641, true);
waitAnimation();
- Dialog::show(this, scene, 0x0aff, 0, 529, 0xd1, 0xd9, 0, 1);
+ dialog->show(scene, 0x0aff, 0, 529, 0xd1, 0xd9, 0, 1);
wait(170);
- Dialog::show(this, scene, 0x0ba0, 0, 529, 0xd1, 0xd9, 0, 1);
+ dialog->show(scene, 0x0ba0, 0, 529, 0xd1, 0xd9, 0, 1);
moveRel(0, 1, 0);
wait(100);
- Dialog::show(this, scene, 0x0c10, 0, 529, 0xd1, 0xd9, 0, 1);
+ dialog->show(scene, 0x0c10, 0, 529, 0xd1, 0xd9, 0, 1);
inventory->remove(50);
processCallback(0x9d45);
return true;
@@ -2386,7 +2386,7 @@ bool TeenAgentEngine::processCallback(uint16 addr) {
case 0x8312: //hedgehog + plastic apple
- Dialog::showMark(this, scene, 0x3000);
+ dialog->showMark(scene, 0x3000);
setLan(1, 0);
playSound(5, 24);
playSound(26, 32);
@@ -2508,7 +2508,7 @@ bool TeenAgentEngine::processCallback(uint16 addr) {
displayMessage(0x3d40);
} else {
SET_FLAG(0xDB92, 1);
- Dialog::show(this, scene, 0x0fcd, 0, 502, 0xd0, 0xe5, 0, 1);
+ dialog->show(scene, 0x0fcd, 0, 502, 0xd0, 0xe5, 0, 1);
waitLanAnimationFrame(1, 7);
playSound(5, 16);
playSound(1, 25);
@@ -2598,16 +2598,16 @@ bool TeenAgentEngine::processCallback(uint16 addr) {
case 0x88de:
playSound(5, 2);
- Dialog::show(this, scene, 0x1B5F, 0, 523, 0xd1, 0xe5, 0, 1);
+ dialog->show(scene, 0x1B5F, 0, 523, 0xd1, 0xe5, 0, 1);
playActorAnimation(537, true);
playAnimation(538, 0, true);
waitAnimation();
wait(100);
- Dialog::show(this, scene, 0x1BE0, 0, 523, 0xd1, 0xe5, 0, 1);
+ dialog->show(scene, 0x1BE0, 0, 523, 0xd1, 0xe5, 0, 1);
return true;
case 0x890b:
- Dialog::pop(this, scene, 0xDAF0, 0, 523, 0xd1, 0xe5, 0, 1);
+ dialog->pop(scene, 0xDAF0, 0, 523, 0xd1, 0xe5, 0, 1);
return true;
case 0x8918://give flower to old lady
@@ -2629,25 +2629,25 @@ bool TeenAgentEngine::processCallback(uint16 addr) {
return true;
case 0x8942:
- Dialog::show(this, scene, 0x2293, 0, 524, 0xd1, 0xe5, 0, 2);
+ dialog->show(scene, 0x2293, 0, 524, 0xd1, 0xe5, 0, 2);
playSound(5, 10);
playActorAnimation(540, true);
playAnimation(539, 1, true);
waitAnimation();
wait(100);
- Dialog::show(this, scene, 0x24b1, 0, 524, 0xd1, 0xe5, 0, 2);
+ dialog->show(scene, 0x24b1, 0, 524, 0xd1, 0xe5, 0, 2);
wait(50);
- Dialog::show(this, scene, 0x24d7, 0, 524, 0xd1, 0xe5, 0, 2);
- Dialog::show(this, scene, 0x2514, 0, 524, 0xd1, 0xe5, 0, 2);
+ dialog->show(scene, 0x24d7, 0, 524, 0xd1, 0xe5, 0, 2);
+ dialog->show(scene, 0x2514, 0, 524, 0xd1, 0xe5, 0, 2);
wait(50);
moveRel(0, 1, 0);
- Dialog::show(this, scene, 0x2570, 0, 524, 0xd1, 0xe5, 0, 2);
+ dialog->show(scene, 0x2570, 0, 524, 0xd1, 0xe5, 0, 2);
moveRel(0, -1, 0);
wait(50);
return true;
case 0x89aa:
- Dialog::pop(this, scene, 0xdb02, 0, 524, 0xd1, 0xe5, 0, 2);
+ dialog->pop(scene, 0xdb02, 0, 524, 0xd1, 0xe5, 0, 2);
return true;
case 0x89b7:
@@ -2662,14 +2662,14 @@ bool TeenAgentEngine::processCallback(uint16 addr) {
case 0x89cc:
inventory->remove(23);
playSound(5, 6);
- Dialog::show(this, scene, 0x2634, 0, 524, 0xd1, 0xe5, 0, 2);
+ dialog->show(scene, 0x2634, 0, 524, 0xd1, 0xe5, 0, 2);
playActorAnimation(555, true);
playAnimation(556, 1, true);
waitAnimation();
playActorAnimation(557, true);
playAnimation(558, 1, true);
waitAnimation();
- Dialog::show(this, scene, 0x2971, 0, 524, 0xd1, 0xe5, 0, 2);
+ dialog->show(scene, 0x2971, 0, 524, 0xd1, 0xe5, 0, 2);
inventory->add(24);
return true;
@@ -2679,21 +2679,21 @@ bool TeenAgentEngine::processCallback(uint16 addr) {
inventory->remove(26);
inventory->add(27);
wait(50);
- Dialog::show(this, scene, 0x1ecd, 0, 523, 0xd1, 0xe5, 0, 1);
- Dialog::show(this, scene, 0x1f09, 0, 523, 0xd1, 0xe5, 0, 1);
+ dialog->show(scene, 0x1ecd, 0, 523, 0xd1, 0xe5, 0, 1);
+ dialog->show(scene, 0x1f09, 0, 523, 0xd1, 0xe5, 0, 1);
SET_FLAG(0xDBB1, 1);
return true;
case 0x8a6f: //banknote + ann
if (CHECK_FLAG(0xDBB5, 1)) {
- Dialog::show(this, scene, 0x2992, 0, 524, 0xd1, 0xe5, 0, 2);
+ dialog->show(scene, 0x2992, 0, 524, 0xd1, 0xe5, 0, 2);
playSound(5, 3);
playSound(5, 20);
playAnimation(671, 1, true);
playActorAnimation(670, true);
waitAnimation();
//playAnimation(672, 1);
- Dialog::show(this, scene, 0x2a00, 524, 672, 0xd1, 0xe5, 0, 2);
+ dialog->show(scene, 0x2a00, 524, 672, 0xd1, 0xe5, 0, 2);
//playAnimation(672, 1);
playSound(83, 12);
@@ -2865,7 +2865,7 @@ bool TeenAgentEngine::processCallback(uint16 addr) {
return true;
case 0x8f1d:
- Dialog::showMark(this, scene, 0x2dd6);
+ dialog->showMark(scene, 0x2dd6);
for (uint i = 16; i <= 30; i += 2)
playSound(56, i);
playSound(2, 64);
@@ -2997,7 +2997,6 @@ bool TeenAgentEngine::processCallback(uint16 addr) {
displayMessage(0x3490);
return true;
-
//very last part of the game:
case 0x671d:
moveTo(153, 163, 4);
@@ -3078,7 +3077,7 @@ bool TeenAgentEngine::processCallback(uint16 addr) {
}
if (!CHECK_FLAG(0xDBC3, 1)) {
playActorAnimation(695);
- Dialog::showMark(this, scene, 0x386a);
+ dialog->showMark(scene, 0x386a);
SET_FLAG(0xDBC3, 1);
}
@@ -3221,7 +3220,7 @@ bool TeenAgentEngine::processCallback(uint16 addr) {
case 0x6c83:
waitLanAnimationFrame(1, 1);
- Dialog::pop(this, scene, 0xdb2e, 0, 727, 0xd1, 0xef, 0, 1);
+ dialog->pop(scene, 0xdb2e, 0, 727, 0xd1, 0xef, 0, 1);
scene->getObject(1)->setName((const char *)res->dseg.ptr(0xaa94));
SET_FLAG(0xDBD1, 1);
return true;
@@ -3244,49 +3243,49 @@ bool TeenAgentEngine::processCallback(uint16 addr) {
loadScene(11, scene->getPosition());
playAnimation(750, 2);
- Dialog::show(this, scene, 0x4f50, 751, 529, 0xe5, 0xd9, 2, 1);
+ dialog->show(scene, 0x4f50, 751, 529, 0xe5, 0xd9, 2, 1);
playAnimation(752, 0, true);
playAnimation(753, 1, true);
waitAnimation();
- Dialog::show(this, scene, 0x5168, 529, 751, 0xd9, 0xe5, 1, 2);
+ dialog->show(scene, 0x5168, 529, 751, 0xd9, 0xe5, 1, 2);
loadScene(30, scene->getPosition());
- Dialog::show(this, scene, 0x449e, 733, 734, 0xe5, 0xd0, 2, 3);
+ dialog->show(scene, 0x449e, 733, 734, 0xe5, 0xd0, 2, 3);
playSound(75, 13);
playSound(32, 22);
playAnimation(735, 1, true);
playAnimation(736, 2, true);
waitAnimation();
- Dialog::show(this, scene, 0x46cf, 737, 738, 0xd0, 0xe5, 3, 2);
+ dialog->show(scene, 0x46cf, 737, 738, 0xd0, 0xe5, 3, 2);
playSound(32, 1);
playAnimation(739, 1, true);
playAnimation(740, 2, true);
waitAnimation();
- Dialog::show(this, scene, 0x4772, 733, 734, 0xe5, 0xd0, 2, 3);
+ dialog->show(scene, 0x4772, 733, 734, 0xe5, 0xd0, 2, 3);
playAnimation(742, 1, true);
playAnimation(741, 2, true);
waitAnimation();
- Dialog::show(this, scene, 0x481c, 743, 733, 0xd0, 0xe5, 3, 2); //where's my wallet??
+ dialog->show(scene, 0x481c, 743, 733, 0xd0, 0xe5, 3, 2); //where's my wallet??
playAnimation(744, 1, true);
playAnimation(745, 2, true);
waitAnimation();
- Dialog::show(this, scene, 0x4873, 734, 733, 0xd0, 0xe5, 3, 2);
+ dialog->show(scene, 0x4873, 734, 733, 0xd0, 0xe5, 3, 2);
playAnimation(746, 1, true);
playAnimation(747, 2, true);
waitAnimation();
- Dialog::show(this, scene, 0x4da5, 734, 734, 0xd0, 0xd0, 3, 3);
- Dialog::show(this, scene, 0x4eb9, 748, 748, 0xd0, 0xd0, 3, 3);
- Dialog::show(this, scene, 0x4f15, 749, 749, 0xd0, 0xd0, 3, 3);
- Dialog::show(this, scene, 0x4f2f, 748, 748, 0xd0, 0xd0, 3, 3);
+ dialog->show(scene, 0x4da5, 734, 734, 0xd0, 0xd0, 3, 3);
+ dialog->show(scene, 0x4eb9, 748, 748, 0xd0, 0xd0, 3, 3);
+ dialog->show(scene, 0x4f15, 749, 749, 0xd0, 0xd0, 3, 3);
+ dialog->show(scene, 0x4f2f, 748, 748, 0xd0, 0xd0, 3, 3);
playMusic(10);
loadScene(32, scene->getPosition());
@@ -3295,15 +3294,15 @@ bool TeenAgentEngine::processCallback(uint16 addr) {
playActorAnimation(755);
moveRel(0, 0, 3);
- Dialog::show(this, scene, 0x51bf, 0, 0, 0xd1, 0xd1, 0, 0);
+ dialog->show(scene, 0x51bf, 0, 0, 0xd1, 0xd1, 0, 0);
hideActor();
loadScene(31, scene->getPosition());
- Dialog::show(this, scene, 0x539f, 763, 764, 0xd9, 0xd0, 1, 2);
+ dialog->show(scene, 0x539f, 763, 764, 0xd9, 0xd0, 1, 2);
loadScene(32, scene->getPosition());
showActor();
- Dialog::show(this, scene, 0x52c3, 0, 0, 0xd1, 0xd1, 0, 0); //i have to hide somewhere
+ dialog->show(scene, 0x52c3, 0, 0, 0xd1, 0xd1, 0, 0); //i have to hide somewhere
disableObject(3);
enableObject(7);
@@ -3323,7 +3322,7 @@ bool TeenAgentEngine::processCallback(uint16 addr) {
playActorAnimation(756);
hideActor();
playAnimation(758, 1);
- Dialog::show(this, scene, 0x52e6, 759, 759, 0xd0, 0xd0, 2, 2); //I have to buy...
+ dialog->show(scene, 0x52e6, 759, 759, 0xd0, 0xd0, 2, 2); //I have to buy...
playSound(40, 5);
playSound(52, 13);
@@ -3339,9 +3338,9 @@ bool TeenAgentEngine::processCallback(uint16 addr) {
playSound(58, 12);
playSound(58, 14);
playAnimation(765, 1);
- Dialog::show(this, scene, 0x5443, 766, 766, 0xd9, 0xd9, 1, 1);
+ dialog->show(scene, 0x5443, 766, 766, 0xd9, 0xd9, 1, 1);
loadScene(32, scene->getPosition());
- Dialog::show(this, scene, 0x5358, 761, 761, 0xd0, 0xd0, 2, 2);
+ dialog->show(scene, 0x5358, 761, 761, 0xd0, 0xd0, 2, 2);
playAnimation(762, 1);
setOns(2, 0);
showActor();
@@ -3559,7 +3558,7 @@ bool TeenAgentEngine::processCallback(uint16 addr) {
playActorAnimation(728);
waitLanAnimationFrame(1, 1);
- Dialog::show(this, scene, 0x3d17, 0, 727, 0xd1, 0xef, 0, 1);
+ dialog->show(scene, 0x3d17, 0, 727, 0xd1, 0xef, 0, 1);
SET_FLAG(0xDBD2, 1);
processCallback(0x9175);
return true;
@@ -3580,7 +3579,7 @@ bool TeenAgentEngine::processCallback(uint16 addr) {
playActorAnimation(729);
waitLanAnimationFrame(1, 1);
- Dialog::show(this, scene, 0x3d70, 0, 727, 0xd1, 0xef, 0, 1);
+ dialog->show(scene, 0x3d70, 0, 727, 0xd1, 0xef, 0, 1);
SET_FLAG(0xDBD3, 1);
processCallback(0x9175);
return true;
@@ -3601,7 +3600,7 @@ bool TeenAgentEngine::processCallback(uint16 addr) {
playActorAnimation(730);
waitLanAnimationFrame(1, 1);
- Dialog::show(this, scene, 0x3dd6, 0, 727, 0xd1, 0xef, 0, 1);
+ dialog->show(scene, 0x3dd6, 0, 727, 0xd1, 0xef, 0, 1);
SET_FLAG(0xDBD4, 1);
processCallback(0x9175);
return true;
@@ -3612,7 +3611,7 @@ bool TeenAgentEngine::processCallback(uint16 addr) {
playSound(52, 10);
playActorAnimation(711);
moveRel(0, 0, 4);
- Dialog::show(this, scene, 0x3b21, 0, 709, 0xd1, 0xef, 0, 1);
+ dialog->show(scene, 0x3b21, 0, 709, 0xd1, 0xef, 0, 1);
moveTo(300, 190, 4);
inventory->remove(64);
disableObject(8);
@@ -3622,7 +3621,7 @@ bool TeenAgentEngine::processCallback(uint16 addr) {
playSound(15, 28);
playSound(16, 37);
playAnimation(713, 0);
- Dialog::show(this, scene, 0x3c0d, 0, 709, 0xd1, 0xef, 0, 1);
+ dialog->show(scene, 0x3c0d, 0, 709, 0xd1, 0xef, 0, 1);
playSound(85, 2);
playAnimation(714, 0);
setLan(1, 0);
@@ -3744,7 +3743,7 @@ bool TeenAgentEngine::processCallback(uint16 addr) {
SET_FLAG(0xDBC6, 1);
reloadLan();
if (!CHECK_FLAG(0xDBC7, 1)) {
- Dialog::show(this, scene, 0x392c, 0, 702, 0xd1, 0xd0, 0, 1);
+ dialog->show(scene, 0x392c, 0, 702, 0xd1, 0xd0, 0, 1);
SET_FLAG(0xDBC7, 1);
}
} else
@@ -3789,7 +3788,6 @@ bool TeenAgentEngine::processCallback(uint16 addr) {
displayMessage(0x4ea5);
return true;
-
case 0x95c8:
playSound(5, 3);
playSound(91, 12);
@@ -3815,7 +3813,7 @@ bool TeenAgentEngine::processCallback(uint16 addr) {
playMusic(3);
loadScene(11, 105, 157, 4);
- Dialog::show(this, scene, 0x8409, 0, 938, 0xd1, 0xec, 0, 1);
+ dialog->show(scene, 0x8409, 0, 938, 0xd1, 0xec, 0, 1);
playAnimation(939, 0, true, true);
playActorAnimation(942, true);
@@ -3836,9 +3834,9 @@ bool TeenAgentEngine::processCallback(uint16 addr) {
playActorAnimation(945, true);
waitAnimation();
- Dialog::show(this, scene, 0x844f, 0, 938, 0xd1, 0xec, 0, 1);
+ dialog->show(scene, 0x844f, 0, 938, 0xd1, 0xec, 0, 1);
playAnimation(946, 0);
- Dialog::show(this, scene, 0x87c7, 0, 938, 0xd1, 0xec, 0, 1);
+ dialog->show(scene, 0x87c7, 0, 938, 0xd1, 0xec, 0, 1);
playSound(24, 7);
playAnimation(948, 0, true);
@@ -3846,16 +3844,16 @@ bool TeenAgentEngine::processCallback(uint16 addr) {
waitAnimation();
loadScene(40, 198, 186, 1);
- Dialog::show(this, scene, 0x8890, 0, 920, 0xd1, 0xe7, 0, 1);
- Dialog::show(this, scene, 0x8a2f, 0, 921, 0xd1, 0xe7, 0, 1);
+ dialog->show(scene, 0x8890, 0, 920, 0xd1, 0xe7, 0, 1);
+ dialog->show(scene, 0x8a2f, 0, 921, 0xd1, 0xe7, 0, 1);
playAnimation(923, 0);
- Dialog::show(this, scene, 0x8aa7, 0, 920, 0xd1, 0xe7, 0, 1);
+ dialog->show(scene, 0x8aa7, 0, 920, 0xd1, 0xe7, 0, 1);
moveTo(237, 186, 0);
moveTo(237, 177, 0);
moveTo(192, 177, 4);
playAnimation(949, 0);
- Dialog::showMono(this, scene, 0x8af6, 950, 0xe7, 1);
+ dialog->showMono(scene, 0x8af6, 950, 0xe7, 1);
playSound(32, 5);
playSound(40, 14);
@@ -3868,10 +3866,10 @@ bool TeenAgentEngine::processCallback(uint16 addr) {
displayCredits();
loadScene(39, 192, 177, 0);
hideActor();
- Dialog::showMono(this, scene, 0x8b4d, 953, 0xe3, 1); //well...
+ dialog->showMono(scene, 0x8b4d, 953, 0xe3, 1); //well...
playSound(5, 15);
playAnimation(954, 0);
- Dialog::showMono(this, scene, 0x8b7a, 955, 0xe3, 1); //that's all folks
+ dialog->showMono(scene, 0x8b7a, 955, 0xe3, 1); //that's all folks
playMusic(2);
displayCredits(0xe47c, 4500); //3 minutes (infinite until key pressed in original)
scene->push(SceneEvent(SceneEvent::kQuit));
@@ -4024,7 +4022,7 @@ bool TeenAgentEngine::processCallback(uint16 addr) {
}
setLan(1, 0xff);
- Dialog::showMark(this, scene, 0x58a9);
+ dialog->showMark(scene, 0x58a9);
Object *obj = scene->getObject(1);
obj->actor_rect.left = obj->actor_rect.right = 270;
@@ -4068,7 +4066,7 @@ bool TeenAgentEngine::processCallback(uint16 addr) {
playAnimation(986, 0, true);
playAnimation(987, 1, true);
waitAnimation();
- Dialog::show(this, scene, 0x6f60, 988, 989, 0xd9, 0xd0, 1, 2);
+ dialog->show(scene, 0x6f60, 988, 989, 0xd9, 0xd0, 1, 2);
playAnimation(990, 0, true);
playAnimation(991, 1, true);
waitAnimation();
@@ -4081,12 +4079,12 @@ bool TeenAgentEngine::processCallback(uint16 addr) {
playAnimation(887, 1);
playAnimation(888, 2, true, true, true);
//waitAnimation();
- Dialog::showMono(this, scene, 0x6fb8, 889, 0xd9, 2);
+ dialog->showMono(scene, 0x6fb8, 889, 0xd9, 2);
playSound(26, 3);
playAnimation(891, 1, true, true, true);
playAnimation(892, 2);
waitAnimation();
- Dialog::show(this, scene, 0x6ff0, 890, 889, 0xd0, 0xd9, 3, 2);
+ dialog->show(scene, 0x6ff0, 890, 889, 0xd0, 0xd9, 3, 2);
showActor();
return true;
@@ -4096,11 +4094,11 @@ bool TeenAgentEngine::processCallback(uint16 addr) {
playAnimation(894, 1, true, true, true);
playAnimation(893, 2, true);
waitAnimation();
- Dialog::showMono(this, scene, 0x706e, 895, 0xd9, 3);
+ dialog->showMono(scene, 0x706e, 895, 0xd9, 3);
playSound(75, 9);
playAnimation(898, 1, true);
playAnimation(897, 2, true);
- Dialog::show(this, scene, 0x7096, 896, 895, 0xd0, 0xd9, 2, 3);
+ dialog->show(scene, 0x7096, 896, 895, 0xd0, 0xd9, 2, 3);
showActor();
return true;
@@ -4110,13 +4108,13 @@ bool TeenAgentEngine::processCallback(uint16 addr) {
playActorAnimation(901, true);
playAnimation(900, 1, true);
waitAnimation();
- Dialog::show(this, scene, 0x7161, 903, 902, 0xd0, 0xd9, 2, 3);
+ dialog->show(scene, 0x7161, 903, 902, 0xd0, 0xd9, 2, 3);
for (byte i = 3; i <= 9; i += 2)
playSound(56, i);
playActorAnimation(905, true);
playAnimation(904, 1, true);
- Dialog::show(this, scene, 0x71c6, 903, 902, 0xd0, 0xd9, 2, 3);
+ dialog->show(scene, 0x71c6, 903, 902, 0xd0, 0xd9, 2, 3);
showActor();
return true;
@@ -4126,8 +4124,8 @@ bool TeenAgentEngine::processCallback(uint16 addr) {
playAnimation(907, 2, true);
playAnimation(906, 3, true);
waitAnimation();
- Dialog::show(this, scene, 0x7243, 908, 909, 0xd9, 0xd0, 2, 3);
- Dialog::show(this, scene, 0x7318, 910, 908, 0xd0, 0xd9, 3, 2);
+ dialog->show(scene, 0x7243, 908, 909, 0xd9, 0xd0, 2, 3);
+ dialog->show(scene, 0x7318, 910, 908, 0xd0, 0xd9, 3, 2);
loadScene(11, scene->getPosition());
showActor();
setOns(3, 51);
diff --git a/engines/teenagent/dialog.cpp b/engines/teenagent/dialog.cpp
index da69d8be23..477ec2f7fc 100644
--- a/engines/teenagent/dialog.cpp
+++ b/engines/teenagent/dialog.cpp
@@ -26,7 +26,7 @@
namespace TeenAgent {
-void Dialog::show(TeenAgentEngine *vm, Scene *scene, uint16 addr, uint16 animation1, uint16 animation2, byte color1, byte color2, byte slot1, byte slot2) {
+void Dialog::show(Scene *scene, uint16 addr, uint16 animation1, uint16 animation2, byte color1, byte color2, byte slot1, byte slot2) {
debugC(0, kDebugDialog, "Dialog::show(%04x, %u:%u, %u:%u)", addr, slot1, animation1, slot2, animation2);
int n = 0;
Common::String message;
@@ -47,7 +47,7 @@ void Dialog::show(TeenAgentEngine *vm, Scene *scene, uint16 addr, uint16 animati
}
while (n < 4) {
- byte c = vm->res->eseg.get_byte(addr++);
+ byte c = _vm->res->eseg.get_byte(addr++);
debugC(1, kDebugDialog, "%02x: %c", c, c > 0x20? c: '.');
switch (c) {
@@ -119,17 +119,17 @@ void Dialog::show(TeenAgentEngine *vm, Scene *scene, uint16 addr, uint16 animati
scene->push(ec);
}
-uint16 Dialog::pop(TeenAgentEngine *vm, Scene *scene, uint16 addr, uint16 animation1, uint16 animation2, byte color1, byte color2, byte slot1, byte slot2) {
+uint16 Dialog::pop(Scene *scene, uint16 addr, uint16 animation1, uint16 animation2, byte color1, byte color2, byte slot1, byte slot2) {
debugC(0, kDebugDialog, "Dialog::pop(%04x, %u:%u, %u:%u)", addr, slot1, animation1, slot2, animation2);
uint16 next;
do {
- next = vm->res->dseg.get_word(addr);
+ next = _vm->res->dseg.get_word(addr);
addr += 2;
} while (next == 0);
- uint16 next2 = vm->res->dseg.get_word(addr);
+ uint16 next2 = _vm->res->dseg.get_word(addr);
if (next2 != 0xffff)
- vm->res->dseg.set_word(addr - 2, 0);
- show(vm, scene, next, animation1, animation2, color1, color2, slot1, slot2);
+ _vm->res->dseg.set_word(addr - 2, 0);
+ show(scene, next, animation1, animation2, color1, color2, slot1, slot2);
return next;
}
diff --git a/engines/teenagent/dialog.h b/engines/teenagent/dialog.h
index a995565fa7..b22eff7091 100644
--- a/engines/teenagent/dialog.h
+++ b/engines/teenagent/dialog.h
@@ -32,21 +32,26 @@ class TeenAgentEngine;
class Dialog {
public:
- static uint16 pop(TeenAgentEngine *vm, Scene *scene, uint16 addr, uint16 animation1, uint16 animation2, byte color1, byte color2, byte slot1, byte slot2);
+ Dialog(TeenAgentEngine *vm) : _vm(vm) { }
- static uint16 popMark(TeenAgentEngine *vm, Scene *scene, uint16 addr) {
- return pop(vm, scene, addr, 0, 0, 0xd1, 0xd1, 0, 0);
+ uint16 pop(Scene *scene, uint16 addr, uint16 animation1, uint16 animation2, byte color1, byte color2, byte slot1, byte slot2);
+
+ uint16 popMark(Scene *scene, uint16 addr) {
+ return pop(scene, addr, 0, 0, 0xd1, 0xd1, 0, 0);
}
- static void show(TeenAgentEngine *vm, Scene *scene, uint16 addr, uint16 animation1, uint16 animation2, byte color1, byte color2, byte slot1, byte slot2);
+ void show(Scene *scene, uint16 addr, uint16 animation1, uint16 animation2, byte color1, byte color2, byte slot1, byte slot2);
- static void showMono(TeenAgentEngine *vm, Scene *scene, uint16 addr, uint16 animation, byte color, byte slot) {
- show(vm, scene, addr, animation, animation, color, color, slot, slot);
+ void showMono(Scene *scene, uint16 addr, uint16 animation, byte color, byte slot) {
+ show(scene, addr, animation, animation, color, color, slot, slot);
}
- static void showMark(TeenAgentEngine *vm, Scene *scene, uint16 addr) {
- show(vm, scene, addr, 0, 0, 0xd1, 0xd1, 0, 0);
+ void showMark(Scene *scene, uint16 addr) {
+ show(scene, addr, 0, 0, 0xd1, 0xd1, 0, 0);
}
+
+private:
+ TeenAgentEngine *_vm;
};
} // End of namespace TeenAgent
diff --git a/engines/teenagent/teenagent.cpp b/engines/teenagent/teenagent.cpp
index 27ac071621..34719077b5 100644
--- a/engines/teenagent/teenagent.cpp
+++ b/engines/teenagent/teenagent.cpp
@@ -40,6 +40,7 @@
#include "graphics/thumbnail.h"
#include "teenagent/console.h"
+#include "teenagent/dialog.h"
#include "teenagent/inventory.h"
#include "teenagent/music.h"
#include "teenagent/objects.h"
@@ -65,6 +66,7 @@ TeenAgentEngine::TeenAgentEngine(OSystem *system, const ADGameDescription *gd)
DebugMan.addDebugChannel(kDebugSurface, "Surface", "Enable Surface Debug");
music = new MusicPlayer(this);
+ dialog = new Dialog(this);
res = new Resources();
console = 0;
@@ -72,6 +74,7 @@ TeenAgentEngine::TeenAgentEngine(OSystem *system, const ADGameDescription *gd)
TeenAgentEngine::~TeenAgentEngine() {
delete music;
+ delete dialog;
res->deinit();
delete res;
diff --git a/engines/teenagent/teenagent.h b/engines/teenagent/teenagent.h
index 52f41818f1..823f096ebc 100644
--- a/engines/teenagent/teenagent.h
+++ b/engines/teenagent/teenagent.h
@@ -47,6 +47,7 @@ struct Object;
struct UseHotspot;
class Scene;
class MusicPlayer;
+class Dialog;
class Console;
class Resources;
class Inventory;
@@ -142,6 +143,7 @@ public:
Scene *scene;
Inventory *inventory;
MusicPlayer *music;
+ Dialog *dialog;
Console *console;
void setMusic(byte id);