diff options
author | D G Turner | 2012-07-11 14:34:09 +0100 |
---|---|---|
committer | D G Turner | 2012-07-11 14:34:09 +0100 |
commit | cffff61081a48da730a9c3969c9b824852dcd71a (patch) | |
tree | 7422d3fbc210d72214e9b1847cabea89703efb26 /engines | |
parent | c05dfddec32e2eabc49c6bc0ca4bd2d3e90e3e2c (diff) | |
download | scummvm-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.
Diffstat (limited to 'engines')
-rw-r--r-- | engines/teenagent/callbacks.cpp | 294 | ||||
-rw-r--r-- | engines/teenagent/dialog.cpp | 14 | ||||
-rw-r--r-- | engines/teenagent/dialog.h | 21 | ||||
-rw-r--r-- | engines/teenagent/teenagent.cpp | 3 | ||||
-rw-r--r-- | engines/teenagent/teenagent.h | 2 |
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); |