diff options
Diffstat (limited to 'engines/teenagent')
-rw-r--r-- | engines/teenagent/callbacks.cpp | 296 | ||||
-rw-r--r-- | engines/teenagent/dialog.h | 28 | ||||
-rw-r--r-- | engines/teenagent/inventory.cpp | 8 | ||||
-rw-r--r-- | engines/teenagent/scene.cpp | 8 | ||||
-rw-r--r-- | engines/teenagent/scene.h | 6 | ||||
-rw-r--r-- | engines/teenagent/teenagent.cpp | 10 | ||||
-rw-r--r-- | engines/teenagent/teenagent.h | 10 |
7 files changed, 196 insertions, 170 deletions
diff --git a/engines/teenagent/callbacks.cpp b/engines/teenagent/callbacks.cpp index e7fe0e8e8c..e9ceb9383d 100644 --- a/engines/teenagent/callbacks.cpp +++ b/engines/teenagent/callbacks.cpp @@ -46,7 +46,7 @@ void TeenAgentEngine::fnIntro() { playAnimation(913, 1); setOns(1, 109); setLan(2, 1); - dialog->show(192, scene, 914, 915, 0xe7, 0xd7, 2, 1); + dialog->show(192, scene, 914, 915, textColorGoldDriver, textColorBankGuard, 2, 1); displayCredits(dsAddr_introCredits1); loadScene(42, 139, 156, 3); @@ -64,12 +64,12 @@ void TeenAgentEngine::fnIntro() { loadScene(40, 139, 156, 3); playMusic(3); - dialog->show(193, scene, 920, 924, 0xe7, 0xeb, 1, 2); + dialog->show(193, scene, 920, 924, textColorRGBBoss, textColorFortuneTeller, 1, 2); playSound(26, 50); playAnimation(925, 0, true); playAnimation(926, 1, true); waitAnimation(); - dialog->show(194, scene, 927, 920, 0xeb, 0xe7, 2, 1); + dialog->show(194, scene, 927, 920, textColorFortuneTeller, textColorRGBBoss, 2, 1); displayCredits(dsAddr_introCredits3); loadScene(39, 139, 156, 3); @@ -84,7 +84,7 @@ void TeenAgentEngine::fnIntro() { playSound(81, 21); playAnimation(928, 1); setOns(0, 112); - dialog->showMono(195, scene, 929, 0xd1, 1); + dialog->showMono(195, scene, 929, textColorMark, 1); showActor(); moveTo(319, 150, 1, true); moveTo(63, 150, 1); @@ -100,17 +100,17 @@ void TeenAgentEngine::fnIntro() { playMusic(3); loadScene(40, 50, 186, 1); setOns(0, 113); - dialog->show(196, scene, 919, 0, 0xe7, 0xd1, 1, 0); + dialog->show(196, scene, 919, 0, textColorRGBBoss, textColorMark, 1, 0); moveTo(196, 186, 1); - dialog->show(197, scene, 0, 920, 0xd1, 0xe7, 0, 1); + dialog->show(197, scene, 0, 920, textColorMark, textColorRGBBoss, 0, 1); playActorAnimation(932); - dialog->show(198, scene, 0, 920, 0xd1, 0xe7, 0, 1); + dialog->show(198, scene, 0, 920, textColorMark, textColorRGBBoss, 0, 1); playActorAnimation(932); - dialog->show(199, scene, 0, 920, 0xd1, 0xe7, 0, 1); + dialog->show(199, scene, 0, 920, textColorMark, textColorRGBBoss, 0, 1); playActorAnimation(932); - dialog->show(200, scene, 0, 922, 0xd1, 0xe7, 0, 1); + dialog->show(200, scene, 0, 922, textColorMark, textColorRGBBoss, 0, 1); playActorAnimation(933); - dialog->show(201, scene, 0, 920, 0xd1, 0xe7, 0, 1); + dialog->show(201, scene, 0, 920, textColorMark, textColorRGBBoss, 0, 1); moveTo(174, 186, 1); playAnimation(851, 0, true); playActorAnimation(934, true); @@ -160,7 +160,7 @@ void TeenAgentEngine::fnGuardDrinking() { playSound(17, 5); playAnimation(545, 0); - dialog->show(5, scene, 0, 546, 0xd1, 0xd9, 0, 1); + dialog->show(5, scene, 0, 546, textColorMark, textColorMansionGuard, 0, 1); SET_FLAG(dsAddr_spokenWithMansionGuardFlag, 1); SET_FLAG(dsAddr_haveNotSpokenWithMansionGuardFlag, 0); } @@ -353,7 +353,7 @@ void TeenAgentEngine::fnSecondMansionIntrusion() { playAnimation(986, 0, true); playAnimation(987, 1, true); waitAnimation(); - dialog->show(178, scene, 988, 989, 0xd9, 0xd0, 1, 2); + dialog->show(178, scene, 988, 989, textColorMansionGuard, textColorJohnNoty, 1, 2); playAnimation(990, 0, true); playAnimation(991, 1, true); waitAnimation(); @@ -366,12 +366,12 @@ void TeenAgentEngine::fnThirdMansionIntrusion() { playAnimation(887, 1); playAnimation(888, 2, true, true, true); //waitAnimation(); - dialog->showMono(179, scene, 889, 0xd9, 2); + dialog->showMono(179, scene, 889, textColorMansionGuard, 2); playSound(26, 3); playAnimation(891, 1, true, true, true); playAnimation(892, 2); waitAnimation(); - dialog->show(180, scene, 890, 889, 0xd0, 0xd9, 3, 2); + dialog->show(180, scene, 890, 889, textColorJohnNoty, textColorMansionGuard, 3, 2); showActor(); } @@ -381,11 +381,11 @@ void TeenAgentEngine::fnFourthMansionIntrusion() { playAnimation(894, 1, true, true, true); playAnimation(893, 2, true); waitAnimation(); - dialog->showMono(181, scene, 895, 0xd9, 3); + dialog->showMono(181, scene, 895, textColorMansionGuard, 3); playSound(75, 9); playAnimation(898, 1, true); playAnimation(897, 2, true); - dialog->show(182, scene, 896, 895, 0xd0, 0xd9, 2, 3); + dialog->show(182, scene, 896, 895, textColorJohnNoty, textColorMansionGuard, 2, 3); showActor(); } @@ -395,13 +395,13 @@ void TeenAgentEngine::fnFifthMansionIntrusion() { playActorAnimation(901, true); playAnimation(900, 1, true); waitAnimation(); - dialog->show(183, scene, 903, 902, 0xd0, 0xd9, 2, 3); + dialog->show(183, scene, 903, 902, textColorJohnNoty, textColorMansionGuard, 2, 3); for (byte i = 3; i <= 9; i += 2) playSound(56, i); playActorAnimation(905, true); playAnimation(904, 1, true); - dialog->show(184, scene, 903, 902, 0xd0, 0xd9, 2, 3); + dialog->show(184, scene, 903, 902, textColorJohnNoty, textColorMansionGuard, 2, 3); showActor(); } @@ -411,8 +411,8 @@ void TeenAgentEngine::fnSixthMansionIntrusion() { playAnimation(907, 2, true); playAnimation(906, 3, true); waitAnimation(); - dialog->show(185, scene, 908, 909, 0xd9, 0xd0, 2, 3); - dialog->show(186, scene, 910, 908, 0xd0, 0xd9, 3, 2); + dialog->show(185, scene, 908, 909, textColorMansionGuard, textColorJohnNoty, 2, 3); + dialog->show(186, scene, 910, 908, textColorJohnNoty, textColorMansionGuard, 3, 2); loadScene(11, scene->getPosition()); showActor(); setOns(3, 51); @@ -448,38 +448,38 @@ void TeenAgentEngine::fnEgoSuspiciousPosition() { void TeenAgentEngine::fnGivingFlowerToOldLady() { playSound(5, 2); - dialog->show(37, scene, 0, 523, 0xd1, 0xe5, 0, 1); + dialog->show(37, scene, 0, 523, textColorMark, textColorOldLady, 0, 1); playActorAnimation(537, true); playAnimation(538, 0, true); waitAnimation(); wait(100); - dialog->show(38, scene, 0, 523, 0xd1, 0xe5, 0, 1); + dialog->show(38, scene, 0, 523, textColorMark, textColorOldLady, 0, 1); } void TeenAgentEngine::fnGiveAnotherFlowerToOldLady() { - dialog->pop(scene, 0xdaf0, 0, 523, 0xd1, 0xe5, 0, 1); + dialog->pop(scene, 0xdaf0, 0, 523, textColorMark, textColorOldLady, 0, 1); } void TeenAgentEngine::fnGivingFlowerToAnne() { - dialog->show(53, scene, 0, 524, 0xd1, 0xe5, 0, 2); + dialog->show(53, scene, 0, 524, textColorMark, textColorAnne, 0, 2); playSound(5, 10); playActorAnimation(540, true); playAnimation(539, 1, true); waitAnimation(); wait(100); - dialog->show(54, scene, 0, 524, 0xd1, 0xe5, 0, 2); + dialog->show(54, scene, 0, 524, textColorMark, textColorAnne, 0, 2); wait(50); - dialog->show(55, scene, 0, 524, 0xd1, 0xe5, 0, 2); - dialog->show(56, scene, 0, 524, 0xd1, 0xe5, 0, 2); + dialog->show(55, scene, 0, 524, textColorMark, textColorAnne, 0, 2); + dialog->show(56, scene, 0, 524, textColorMark, textColorAnne, 0, 2); wait(50); moveRel(0, 1, 0); - dialog->show(57, scene, 0, 524, 0xd1, 0xe5, 0, 2); + dialog->show(57, scene, 0, 524, textColorMark, textColorAnne, 0, 2); moveRel(0, -1, 0); wait(50); } void TeenAgentEngine::fnGiveAnotherFlowerToAnne() { - dialog->pop(scene, 0xdb02, 0, 524, 0xd1, 0xe5, 0, 2); + dialog->pop(scene, 0xdb02, 0, 524, textColorMark, textColorAnne, 0, 2); } void TeenAgentEngine::rejectMessage() { @@ -589,7 +589,7 @@ bool TeenAgentEngine::processCallback(uint16 addr) { SET_FLAG(dsAddr_gotMugOfMudFlag, 1); } else { fnPoleClimbFail(); - dialog->pop(scene, 0xdb72, 0, 0, 0xd1, 0xd1, 0, 0); + dialog->popMark(scene, 0xdb72); } } break; @@ -655,11 +655,11 @@ bool TeenAgentEngine::processCallback(uint16 addr) { playActorAnimation(842); wait(100); // shown in different positions - displayMessage(dsAddr_fnMsg2, 0xd1, 16, 68); // "And how am I supposed to get back?" + displayMessage(dsAddr_fnMsg2, textColorMark, 16, 68); // "And how am I supposed to get back?" wait(50); - displayMessage(dsAddr_fnMsg3, 0xd1, 92, 68); // "Great" + displayMessage(dsAddr_fnMsg3, textColorMark, 92, 68); // "Great" wait(50); - displayMessage(dsAddr_fnMsg4, 0xd1, 62, 68); // "Oh, yeah, right" + displayMessage(dsAddr_fnMsg4, textColorMark, 62, 68); // "Oh, yeah, right" wait(50); playActorAnimation(843); showActor(); @@ -703,15 +703,15 @@ bool TeenAgentEngine::processCallback(uint16 addr) { playAnimation(812, 0, true); playActorAnimation(811); - dialog->show(148, scene, 0, 813, 0xd1, 0xec, 0, 1); + dialog->show(148, scene, 0, 813, textColorMark, textColorCaptain, 0, 1); loadScene(6, 230, 184); playMusic(5); - dialog->show(149, scene, 0, 814, 0xd1, 0xec, 0, 1); + dialog->show(149, scene, 0, 814, textColorMark, textColorCaptain, 0, 1); playSound(4, 14); playAnimation(815, 0); setOns(1, 0); - dialog->showMono(150, scene, 0, 0xd1, 0); + dialog->showMono(150, scene, 0, textColorMark, 0); SET_FLAG(dsAddr_FirstActTrialState, 1); } @@ -779,7 +779,7 @@ bool TeenAgentEngine::processCallback(uint16 addr) { SET_FLAG(dsAddr_JailCableAndBowlState, 3); scene->getObject(4)->setName("body"); } else { - if (dialog->pop(scene, 0xdb5c, 0, 0, 0xd1, 0xd1, 0, 0) == 0x636b) { // 'im getting hungry' + if (dialog->pop(scene, 0xdb5c, 0, 0, textColorMark, textColorMark, 0, 0) == 0x636b) { // 'im getting hungry' wait(100); playSound(52, 8); playSound(52, 13); @@ -944,8 +944,8 @@ bool TeenAgentEngine::processCallback(uint16 addr) { if (CHECK_FLAG(dsAddr_birdOnBarRadioAntennaFlag, 1)) { moveTo(140, 152, 1); if (CHECK_FLAG(dsAddr_swappedBarmanMugFlag, 1)) { - dialog->showMono(177, scene, 0, 0xd1, 0); - displayMessage(dsAddr_yeahRightMsg, 0xef, 32, 67); // "Yeah right!" + dialog->showMono(177, scene, 0, textColorMark, 0); + displayMessage(dsAddr_yeahRightMsg, textColorBarman, 32, 67); // "Yeah right!" //reloadLan(); setLan(1, 0); playAnimation(882, 0); @@ -963,21 +963,21 @@ bool TeenAgentEngine::processCallback(uint16 addr) { } else { if (CHECK_FLAG(dsAddr_FirstActTrialState, 3)) { if (CHECK_FLAG(dsAddr_spokeToBarmanAboutThirdTrialFlag, 1)) { - dialog->show(168, scene, 0, 857, 0xd1, 0xef, 0, 1); + dialog->show(168, scene, 0, 857, textColorMark, textColorBarman, 0, 1); } else { - dialog->show(166, scene, 0, 857, 0xd1, 0xef, 0, 1); // taking mug + dialog->show(166, scene, 0, 857, textColorMark, textColorBarman, 0, 1); // taking mug playActorAnimation(859, true); playAnimation(858, 0, true); waitAnimation(); playSound(75, 6); playActorAnimation(860); - dialog->show(167, scene, 0, 857, 0xd1, 0xef, 0, 1); + dialog->show(167, scene, 0, 857, textColorMark, textColorBarman, 0, 1); inventory->add(invItemMug); SET_FLAG(dsAddr_spokeToBarmanAboutThirdTrialFlag, 1); SET_FLAG(dsAddr_gotPasswordNeedSpeakBarmanFlag, 0); } } else { - dialog->pop(scene, 0xdb68, 0, 857, 0xd1, 0xef, 0, 1); + dialog->pop(scene, 0xdb68, 0, 857, textColorMark, textColorBarman, 0, 1); } } break; @@ -1043,7 +1043,7 @@ bool TeenAgentEngine::processCallback(uint16 addr) { break; case 0x483a: - dialog->pop(scene, 0xdb82, 0, 0, 0xd1, 0xd1, 0, 0); + dialog->popMark(scene, 0xdb82); break; case 0x4844: @@ -1068,7 +1068,7 @@ bool TeenAgentEngine::processCallback(uint16 addr) { } else if (CHECK_FLAG(dsAddr_birdOnBarRadioAntennaFlag, 1)) { displayMessage(dsAddr_barmanTooCloseMsg); // "The barman is too close" } else { - dialog->pop(scene, 0xdb8a, 0, 857, 0xd1, 0xef, 0, 1); + dialog->pop(scene, 0xdb8a, 0, 857, textColorMark, textColorBarman, 0, 1); } break; @@ -1103,17 +1103,17 @@ bool TeenAgentEngine::processCallback(uint16 addr) { playSound(55, 1); playSound(24, 12); playAnimation(885, 0); - dialog->show(164, scene, 886, 0, 0xd0, 0xd1, 1, 0); + dialog->show(164, scene, 886, 0, textColorJohnNoty, textColorMark, 1, 0); playMusic(3); loadScene(40, 198, 186, 1); - dialog->show(202, scene, 0, 920, 0xd1, 0xe7, 0, 1); + dialog->show(202, scene, 0, 920, textColorMark, textColorRGBBoss, 0, 1); inventory->clear(); inventory->add(invItemSuperGlue); displayCredits(dsAddr_credits5); loadScene(1, 198, 186); hideActor(); playActorAnimation(956); - dialog->showMono(212, scene, 957, 0xd1, 1); + dialog->showMono(212, scene, 957, textColorMark, 1); waitAnimation(); loadScene(15, 157, 199, 1); playMusic(6); @@ -1132,9 +1132,9 @@ bool TeenAgentEngine::processCallback(uint16 addr) { case 0x4c70: if (CHECK_FLAG(dsAddr_act1GuardState, 0)) { if (CHECK_FLAG(dsAddr_ShownPassToGuardFlag, 1)) { // papers are shown - dialog->pop(scene, 0xdb4c, 0, 809, 0xd1, 0xd0, 0, 1); + dialog->pop(scene, 0xdb4c, 0, 809, textColorMark, textColorCampGuard, 0, 1); } else { - dialog->pop(scene, 0xdb40, 0, 809, 0xd1, 0xd0, 0, 1); + dialog->pop(scene, 0xdb40, 0, 809, textColorMark, textColorCampGuard, 0, 1); } } else { displayMessage(dsAddr_helloQMsg); // "Hello?" @@ -1156,15 +1156,15 @@ bool TeenAgentEngine::processCallback(uint16 addr) { if (CHECK_FLAG(dsAddr_ShownPassToGuardFlag, 1)) { // papers are shown loadScene(5, 124, 199); } else { - dialog->show(144, scene, 0, 809, 0xd1, 0xd0, 0, 1); + dialog->show(144, scene, 0, 809, textColorMark, textColorCampGuard, 0, 1); moveTo(269, 175, 4); - dialog->pop(scene, 0xdb56, 0, 809, 0xd1, 0xd0, 0, 1); + dialog->pop(scene, 0xdb56, 0, 809, textColorMark, textColorCampGuard, 0, 1); } break; case 0x4cf1: // talking with mansion guard SET_FLAG(dsAddr_spokenWithMansionGuardFlag, 1); - if (dialog->pop(scene, 0xdaa6, 0, 529, 0xd1, 0xd9, 0, 1) == 0x1b4) { + if (dialog->pop(scene, 0xdaa6, 0, 529, textColorMark, textColorMansionGuard, 0, 1) == 0x1b4) { Common::Point p = scene->getPosition(); moveTo(189, 159, 0); //waitLanAnimationFrame(1, 1); @@ -1177,18 +1177,18 @@ bool TeenAgentEngine::processCallback(uint16 addr) { moveTo(p, 2); inventory->add(invItemChocCandy); - dialog->pop(scene, 0xdaa6, 0, 529, 0xd1, 0xd9, 0, 1); + dialog->pop(scene, 0xdaa6, 0, 529, textColorMark, textColorMansionGuard, 0, 1); } break; case 0x4d94: // talking with fatso - dialog->show(87, scene, 0, 666, 0xd1, 0xd0, 0, 2); - displayAsyncMessage(dsAddr_BribeMsg, 120, 109, 1, 10, 0xd0); // FIXME: Original (x,y) was (100, 78), rather than (120, 109)? + dialog->show(87, scene, 0, 666, textColorMark, textColorJohnNoty, 0, 2); + displayAsyncMessage(dsAddr_BribeMsg, 120, 109, 1, 10, textColorJohnNoty); // FIXME: Original (x,y) was (100, 78), rather than (120, 109)? playSound(5, 3); playAnimation(667, 1); playAnimation(668, 1); setOns(2, 50); - dialog->show(88, scene, 0, 666, 0xd1, 0xd0, 0, 2); + dialog->show(88, scene, 0, 666, textColorMark, textColorJohnNoty, 0, 2); setOns(3, 0); setFlag(dsAddr_johnNotyOutsideMansionDoorFlag, 0); reloadLan(); @@ -1434,7 +1434,7 @@ bool TeenAgentEngine::processCallback(uint16 addr) { case 0x55a8: { - uint16 d = dialog->pop(scene, 0xdb08, 0, 0, 0xd1, 0xd1, 0, 0); + uint16 d = dialog->popMark(scene, 0xdb08); if (d == 0x2c5d) { waitLanAnimationFrame(1, 0x23); setOns(0, 0); @@ -1638,7 +1638,7 @@ bool TeenAgentEngine::processCallback(uint16 addr) { case 0x5d88: if (CHECK_FLAG(dsAddr_laundryState, 1)) { // dry laundry SET_FLAG(dsAddr_laundryState, 2); - dialog->show(46, scene, 0, 523, 0xd1, 0xe5, 0, 1); + dialog->show(46, scene, 0, 523, textColorMark, textColorOldLady, 0, 1); //waitLanAnimationFrame(1, 1); // another long waiting playAnimation(604, 0); @@ -1651,9 +1651,9 @@ bool TeenAgentEngine::processCallback(uint16 addr) { setOns(0, 33); loadScene(23, scene->getPosition()); playAnimation(605, 0); - dialog->show(47, scene, 0, 523, 0xd1, 0xe5, 0, 1); + dialog->show(47, scene, 0, 523, textColorMark, textColorOldLady, 0, 1); } else { - uint16 d = dialog->pop(scene, 0xdada, 0, 523, 0xd1, 0xe5, 0, 1); + uint16 d = dialog->pop(scene, 0xdada, 0, 523, textColorMark, textColorOldLady, 0, 1); if (d == 0x1913) { wait(100); moveRel(0, 0, 3); @@ -1686,9 +1686,9 @@ bool TeenAgentEngine::processCallback(uint16 addr) { case 0x5ff3: // get duster if (CHECK_FLAG(dsAddr_givenFlowerToOldLadyAlreadyFlag, 0)) { - dialog->pop(scene, 0xdaf6, 0, 523, 0xd1, 0xe5, 0, 1); + dialog->pop(scene, 0xdaf6, 0, 523, textColorMark, textColorOldLady, 0, 1); } else { - dialog->show(43, scene, 0, 523, 0xd1, 0xe5, 0, 1); + dialog->show(43, scene, 0, 523, textColorMark, textColorOldLady, 0, 1); wait(50); inventory->add(invItemFeatherDusterClean); disableObject(12); @@ -1775,7 +1775,7 @@ bool TeenAgentEngine::processCallback(uint16 addr) { break; case 0x63dc: - dialog->showMono(86, scene, 0, 0xd1, 0); + dialog->showMono(86, scene, 0, textColorMark, 0); break; case 0x63e3: @@ -1784,11 +1784,11 @@ bool TeenAgentEngine::processCallback(uint16 addr) { case 0x646e: case 0x6475: - dialog->showMono(85, scene, 0, 0xd1, 0); + dialog->showMono(85, scene, 0, textColorMark, 0); break; case 0x6479: - dialog->showMono(84, scene, 0, 0xd1, 0); + dialog->showMono(84, scene, 0, textColorMark, 0); break; case 0x6507: @@ -2023,7 +2023,7 @@ bool TeenAgentEngine::processCallback(uint16 addr) { case 0x792b: // left click on ann moveTo(245, 198, 1); if (!CHECK_FLAG(dsAddr_alreadySaidAnneBeautifulFlag, 1)) { - dialog->showMono(50, scene, 0, 0xd1, 0); + dialog->showMono(50, scene, 0, textColorMark, 0); SET_FLAG(dsAddr_alreadySaidAnneBeautifulFlag, 1); } else retVal = false; @@ -2150,12 +2150,12 @@ bool TeenAgentEngine::processCallback(uint16 addr) { wait(200); playAnimation(0, 1); setOns(0, 0); - dialog->showMono(156, scene, 830, 0xd0, 1); + dialog->showMono(156, scene, 830, textColorShockedCaptain, 1); loadScene(7, 130, 195, 2); playMusic(4); setLan(1, 1); wait(100); - dialog->show(157, scene, 0, 832, 0xd1, 0xec, 0, 1); + dialog->show(157, scene, 0, 832, textColorMark, textColorCaptain, 0, 1); //playAnimation(831, 1); @@ -2175,14 +2175,14 @@ bool TeenAgentEngine::processCallback(uint16 addr) { waitAnimation(); setOns(0, 94); - dialog->show(161, scene, 0, 832, 0xd1, 0xec, 0, 1); + dialog->show(161, scene, 0, 832, textColorMark, textColorCaptain, 0, 1); enableObject(12); SET_FLAG(dsAddr_AlreadyTickledCaptainFlag, 1); } break; case 0x7e4f: // giving magazine to captain - dialog->show(162, scene, 0, 856, 0xd1, 0xec, 0, 1); + dialog->show(162, scene, 0, 856, textColorMark, textColorCaptain, 0, 1); playSound(5, 3); playActorAnimation(852, true); playActorAnimation(853, true); @@ -2194,7 +2194,7 @@ bool TeenAgentEngine::processCallback(uint16 addr) { playAnimation(856, 1); playSound(5, 3); //playActorAnimation(854); - dialog->show(163, scene, 0, 856, 0xd1, 0xec, 0, 1); + dialog->show(163, scene, 0, 856, textColorMark, textColorCaptain, 0, 1); playAnimation(855, 1); wait(200); moveTo(30, 181, 0); @@ -2214,7 +2214,7 @@ bool TeenAgentEngine::processCallback(uint16 addr) { playAnimation(877, 1); playAnimation(880, 1, true); - dialog->show(176, scene, 0, 857, 0xd1, 0xef, 0, 1); + dialog->show(176, scene, 0, 857, textColorMark, textColorBarman, 0, 1); setOns(2, 0x6a); reloadLan(); playAnimation(878, 0); @@ -2243,13 +2243,13 @@ bool TeenAgentEngine::processCallback(uint16 addr) { playSound(5, 2); playSound(5, 18); playActorAnimation(810); - dialog->show(147, scene, 0, 809, 0xd1, 0xd0, 0, 1); + dialog->show(147, scene, 0, 809, textColorMark, textColorCampGuard, 0, 1); SET_FLAG(dsAddr_ShownPassToGuardFlag, 1); } break; case 0x80c3: // show kaleidoscope to the guard - dialog->show(165, scene, 0, 809, 0xd1, 0xd0, 0, 1); + dialog->show(165, scene, 0, 809, textColorMark, textColorCampGuard, 0, 1); playSound(5, 3); playSound(5, 30); playSound(26, 14); @@ -2298,7 +2298,7 @@ bool TeenAgentEngine::processCallback(uint16 addr) { SET_FLAG(dsAddr_alreadyGotBrokenPaddleFlag, 1); playSound(57, 6); playActorAnimation(536); - dialog->showMono(77, scene, 0, 0xd1, 0); + dialog->showMono(77, scene, 0, textColorMark, 0); inventory->add(invItemBrokenPaddle); } break; @@ -2308,15 +2308,15 @@ bool TeenAgentEngine::processCallback(uint16 addr) { displayMessage(dsAddr_stillThereMsg); // "Are you still there?" } else { displayMessage(dsAddr_echoMsg); // "Echo!" - displayMessage(dsAddr_loudEchoMsg, 0xe5, 248, 164); // "ECHO!" + displayMessage(dsAddr_loudEchoMsg, textColorWellEcho, 248, 164); // "ECHO!" displayMessage(dsAddr_whoThereMsg); // "Who's there?!" - displayMessage(dsAddr_loudWhoThereMsg, 0xe5, 225, 164); // "WHO'S THERE?!" + displayMessage(dsAddr_loudWhoThereMsg, textColorWellEcho, 225, 164); // "WHO'S THERE?!" displayMessage(dsAddr_dontCopyMsg); // "DON'T COPY ME!" - displayMessage(dsAddr_loudDontCopyMsg, 0xe5, 172, 164); // "DON'T COPY ME!!!" + displayMessage(dsAddr_loudDontCopyMsg, textColorWellEcho, 172, 164); // "DON'T COPY ME!!!" displayMessage(dsAddr_throwRockMsg); // "OR I WILL THROW A ROCK DOWN THERE!" - displayMessage(dsAddr_orIWillMsg, 0xe5, 232, 164); // "OR I WILL" + displayMessage(dsAddr_orIWillMsg, textColorWellEcho, 232, 164); // "OR I WILL" wait(100); - displayMessage(dsAddr_loudEchoMsg, 0xe5, 248, 164); + displayMessage(dsAddr_loudEchoMsg, textColorWellEcho, 248, 164); SET_FLAG(dsAddr_spokenToManInWellFlag, 1); } break; @@ -2421,7 +2421,7 @@ bool TeenAgentEngine::processCallback(uint16 addr) { break; case 0x58a2: - dialog->pop(scene, 0xdaba, 0, 502, 0xd1, 0xe5, 0, 1); + dialog->pop(scene, 0xdaba, 0, 502, textColorMark, textColorSonny, 0, 1); scene->getObject(13)->setName((const char *)res->dseg.ptr(dsAddr_scnObjNameSonny)); break; @@ -2510,7 +2510,7 @@ bool TeenAgentEngine::processCallback(uint16 addr) { break; case 0x5be1: // Talk to grandpa - dialog->pop(scene, 0xdac4, 0, 522, 0xd1, 0xd8, 0, 1); + dialog->pop(scene, 0xdac4, 0, 522, textColorMark, textColorGrandpa, 0, 1); break; case 0x5bee: @@ -2525,7 +2525,7 @@ bool TeenAgentEngine::processCallback(uint16 addr) { displayMessage(dsAddr_drawersEmptyMsg); // "There's nothing else in the drawers" } else { if (!CHECK_FLAG(dsAddr_alreadyAdjustedHoopPoleFlag, 1)) - dialog->show(24, scene, 0, 522, 0xd1, 0xd8, 0, 1); + dialog->show(24, scene, 0, 522, textColorMark, textColorGrandpa, 0, 1); playSound(66, 5); playSound(67, 20); @@ -2544,7 +2544,7 @@ bool TeenAgentEngine::processCallback(uint16 addr) { setOns(0, 0); playActorAnimation(520); } else { - dialog->pop(scene, 0xdace, 0, 522, 0xd1, 0xd8, 0, 1); + dialog->pop(scene, 0xdace, 0, 522, textColorMark, textColorGrandpa, 0, 1); } break; @@ -2562,7 +2562,7 @@ bool TeenAgentEngine::processCallback(uint16 addr) { disableObject(13); inventory->add(invItemFan); } else { - dialog->pop(scene, 0xdad4, 0, 522, 0xd1, 0xd8, 0, 1); + dialog->pop(scene, 0xdad4, 0, 522, textColorMark, textColorGrandpa, 0, 1); } break; @@ -2571,7 +2571,7 @@ bool TeenAgentEngine::processCallback(uint16 addr) { displayMessage(dsAddr_girlTalkMsg); // "I really don't know how to talk to girls" } else { moveTo(245, 198, 1); - dialog->show(51, scene, 0, 524, 0xd1, 0xe5, 0, 2); + dialog->show(51, scene, 0, 524, textColorMark, textColorAnne, 0, 2); //waitLanAnimationFrame(2, 1); // too long, about 200 frames! seems to be present in original game (sic) SET_FLAG(dsAddr_alreadySpokenToAnneFlag, 1); for (byte i = 10; i <= 20; i += 2) @@ -2593,7 +2593,7 @@ bool TeenAgentEngine::processCallback(uint16 addr) { playSound(55, 5); playActorAnimation(527); wait(50); - dialog->show(52, scene, 0, 524, 0xd1, 0xe5, 0, 2); + dialog->show(52, scene, 0, 524, textColorMark, textColorAnne, 0, 2); scene->getObject(2)->setName((const char *)res->dseg.ptr(dsAddr_scnObjNameAnne)); } break; @@ -2608,7 +2608,7 @@ bool TeenAgentEngine::processCallback(uint16 addr) { if (CHECK_FLAG(dsAddr_nutSwappedForAppleFlag, 1)) { displayMessage(dsAddr_noFruitMsg); // "There are no more interesting fruits here" } else { - dialog->pop(scene, 0xdafc, 0, 523, 0xd1, 0xe5, 0, 1); + dialog->pop(scene, 0xdafc, 0, 523, textColorMark, textColorOldLady, 0, 1); } break; @@ -2843,7 +2843,7 @@ bool TeenAgentEngine::processCallback(uint16 addr) { break; case 0x70bb: - dialog->pop(scene, 0xdb24, 0, 709, 0xd1, 0xef, 0, 1); + dialog->pop(scene, 0xdb24, 0, 709, textColorMark, textColorCook, 0, 1); break; case 0x71ae: @@ -2899,7 +2899,7 @@ bool TeenAgentEngine::processCallback(uint16 addr) { playSound(89, 4); playSound(89, 4); playSound(87, 45); - displayAsyncMessage(dsAddr_oneTakenMsg, 112, 108, 11, 35, 0xe5); // "This one's taken, OK?" + displayAsyncMessage(dsAddr_oneTakenMsg, 112, 108, 11, 35, textColorEskimo); // "This one's taken, OK?" playActorAnimation(718); wait(100); displayMessage(dsAddr_slightMadMsg); // "It finally happened. I'm slightly mad" @@ -3008,10 +3008,10 @@ bool TeenAgentEngine::processCallback(uint16 addr) { playActorAnimation(979); loadScene(37, 51, 183); - dialog->show(125, scene, 768, 769, 0xd9, 0xe5, 1, 2); + dialog->show(125, scene, 768, 769, textColorMansionGuard, textColorProfessor, 1, 2); playAnimation(770, 0, true, true, true); playAnimation(771, 1, true, true, true); - dialog->showMono(126, scene, 0, 0xd1, 0); + dialog->showMono(126, scene, 0, textColorMark, 0); playAnimation(770, 0, true, true, true); playAnimation(771, 1, true, true, true); playSound(5, 3); @@ -3025,11 +3025,11 @@ bool TeenAgentEngine::processCallback(uint16 addr) { waitAnimation(); setOns(0, 74); hideActor(); - dialog->showMono(127, scene, 775, 0xd0, 1); + dialog->showMono(127, scene, 775, textColorJohnNoty, 1); playAnimation(771, 1, true, true, true); playAnimation(776, 0); - dialog->show(128, scene, 777, 778, 0xd0, 0xe5, 1, 2); + dialog->show(128, scene, 777, 778, textColorJohnNoty, textColorProfessor, 1, 2); playAnimation(779, 0, true, true, true); playAnimation(780, 1, true, true, true); @@ -3086,7 +3086,7 @@ bool TeenAgentEngine::processCallback(uint16 addr) { setOns(0, 80); playAnimation(792, 3, true, true, true); - dialog->show(129, scene, 0, 791, 0xd1, 0xd0, 0, 4); + dialog->show(129, scene, 0, 791, textColorMark, textColorJohnNoty, 0, 4); playAnimation(792, 3, true, true, true); moveTo(40, 171, 4); @@ -3104,7 +3104,7 @@ bool TeenAgentEngine::processCallback(uint16 addr) { break; case 0x783d: - dialog->pop(scene, 0xdb36, 0, 797, 0xd1, 0xd0, 0, 1); + dialog->pop(scene, 0xdb36, 0, 797, textColorMark, textColorJohnNoty, 0, 1); break; case 0x7966: @@ -3123,7 +3123,7 @@ bool TeenAgentEngine::processCallback(uint16 addr) { if (CHECK_FLAG(dsAddr_vgaArtistQuipAlreadySaidFlag, 1)) retVal = false; else { - dialog->showMono(90, scene, 0, 0xd1, 0); + dialog->showMono(90, scene, 0, textColorMark, 0); SET_FLAG(dsAddr_vgaArtistQuipAlreadySaidFlag, 1); } break; @@ -3245,18 +3245,18 @@ bool TeenAgentEngine::processCallback(uint16 addr) { break; case 0x8117: - dialog->show(9, scene, 0, 529, 0xd1, 0xd9, 0, 1); + dialog->show(9, scene, 0, 529, textColorMark, textColorMansionGuard, 0, 1); playSound(5, 2); playSound(5, 44); playAnimation(642, 0, true); playActorAnimation(641, true); waitAnimation(); - dialog->show(10, scene, 0, 529, 0xd1, 0xd9, 0, 1); + dialog->show(10, scene, 0, 529, textColorMark, textColorMansionGuard, 0, 1); wait(170); - dialog->show(11, scene, 0, 529, 0xd1, 0xd9, 0, 1); + dialog->show(11, scene, 0, 529, textColorMark, textColorMansionGuard, 0, 1); moveRel(0, 1, 0); wait(100); - dialog->show(12, scene, 0, 529, 0xd1, 0xd9, 0, 1); + dialog->show(12, scene, 0, 529, textColorMark, textColorMansionGuard, 0, 1); inventory->remove(invItemNugget); fnMansionIntrusionAttempt(); break; @@ -3303,12 +3303,12 @@ bool TeenAgentEngine::processCallback(uint16 addr) { for (byte i = 3; i <= 18; i += 3) playSound(56, i); - displayAsyncMessage(dsAddr_heyLetGoMsg, 38, 12, 20, 37, 0xd9); // "Hey, let go, will ya?!" + displayAsyncMessage(dsAddr_heyLetGoMsg, 38, 12, 20, 37, textColorMansionGuard); // "Hey, let go, will ya?!" playActorAnimation(621, true); playAnimation(623, 1, true); waitAnimation(); - displayAsyncMessage(dsAddr_aaahhhMsg, 30, 12, 1, 9, 0xd9); // "Aaaaaaaaaaaaahhh!" + displayAsyncMessage(dsAddr_aaahhhMsg, 30, 12, 1, 9, textColorMansionGuard); // "Aaaaaaaaaaaaahhh!" playSound(35, 1); playActorAnimation(622, true); playAnimation(624, 0, true); @@ -3450,7 +3450,7 @@ bool TeenAgentEngine::processCallback(uint16 addr) { displayMessage(dsAddr_noNeedMsg); // "No need to do it again" } else { SET_FLAG(dsAddr_alreadyAdjustedHoopPoleFlag, 1); - dialog->show(17, scene, 0, 502, 0xd0, 0xe5, 0, 1); + dialog->show(17, scene, 0, 502, textColorJohnNoty, textColorSonny, 0, 1); // FIXME - First character color should be Mark? waitLanAnimationFrame(1, 7); playSound(5, 16); playSound(1, 25); @@ -3493,8 +3493,8 @@ bool TeenAgentEngine::processCallback(uint16 addr) { disableObject(15); disableObject(16); moveTo(162, 164, 2); - displayMessage(dsAddr_grandpaPromiseMsg, 0xe5, 70, 76); // "But grandpa, you promised!" - displayMessage(dsAddr_ohLetsGoMsg, 0xd8, 90, 76); // "Oh all right. Let's go" + displayMessage(dsAddr_grandpaPromiseMsg, textColorSonny, 70, 76); // "But grandpa, you promised!" + displayMessage(dsAddr_ohLetsGoMsg, textColorGrandpa, 90, 76); // "Oh all right. Let's go" moveTo(162, 191, 2); setOns(1, 0); setOns(2, 0); @@ -3588,14 +3588,14 @@ bool TeenAgentEngine::processCallback(uint16 addr) { case 0x89cc: inventory->remove(invItemWrappedCandy); playSound(5, 6); - dialog->show(60, scene, 0, 524, 0xd1, 0xe5, 0, 2); + dialog->show(60, scene, 0, 524, textColorMark, textColorAnne, 0, 2); playActorAnimation(555, true); playAnimation(556, 1, true); waitAnimation(); playActorAnimation(557, true); playAnimation(558, 1, true); waitAnimation(); - dialog->show(62, scene, 0, 524, 0xd1, 0xe5, 0, 2); + dialog->show(62, scene, 0, 524, textColorMark, textColorAnne, 0, 2); inventory->add(invItemRibbon); break; @@ -3605,25 +3605,25 @@ bool TeenAgentEngine::processCallback(uint16 addr) { inventory->remove(invItemNut); inventory->add(invItemPlasticApple); wait(50); - dialog->show(44, scene, 0, 523, 0xd1, 0xe5, 0, 1); - dialog->show(45, scene, 0, 523, 0xd1, 0xe5, 0, 1); + dialog->show(44, scene, 0, 523, textColorMark, textColorOldLady, 0, 1); + dialog->show(45, scene, 0, 523, textColorMark, textColorOldLady, 0, 1); SET_FLAG(dsAddr_nutSwappedForAppleFlag, 1); break; case 0x8a6f: // banknote + ann if (CHECK_FLAG(dsAddr_examinedBanknoteFlag, 1)) { - dialog->show(63, scene, 0, 524, 0xd1, 0xe5, 0, 2); + dialog->show(63, scene, 0, 524, textColorMark, textColorAnne, 0, 2); playSound(5, 3); playSound(5, 20); playAnimation(671, 1, true); playActorAnimation(670, true); waitAnimation(); //playAnimation(672, 1); - dialog->show(64, scene, 524, 672, 0xd1, 0xe5, 0, 2); + dialog->show(64, scene, 524, 672, textColorMark, textColorAnne, 0, 2); //playAnimation(672, 1); playSound(83, 12); - displayAsyncMessage(dsAddr_hundredBucksMsg, 204, 114, 23, 38, 0xe5); // "A hundred bucks!!!" + displayAsyncMessage(dsAddr_hundredBucksMsg, 204, 114, 23, 38, textColorAnne); // "A hundred bucks!!!" playActorAnimation(673); loadScene(11, scene->getPosition()); playSound(24, 31); @@ -4094,7 +4094,7 @@ bool TeenAgentEngine::processCallback(uint16 addr) { case 0x6c83: waitLanAnimationFrame(1, 1); - dialog->pop(scene, 0xdb2e, 0, 727, 0xd1, 0xef, 0, 1); + dialog->pop(scene, 0xdb2e, 0, 727, textColorMark, textColorMike, 0, 1); scene->getObject(1)->setName((const char *)res->dseg.ptr(dsAddr_scnObjNameMike)); SET_FLAG(dsAddr_MansionRobotSafeUnlockedFlag, 1); break; @@ -4117,47 +4117,47 @@ bool TeenAgentEngine::processCallback(uint16 addr) { loadScene(11, scene->getPosition()); playAnimation(750, 2); - dialog->show(117, scene, 751, 529, 0xe5, 0xd9, 2, 1); + dialog->show(117, scene, 751, 529, textColorProfessor, textColorMansionGuard, 2, 1); playAnimation(752, 0, true); playAnimation(753, 1, true); waitAnimation(); - dialog->show(118, scene, 529, 751, 0xd9, 0xe5, 1, 2); + dialog->show(118, scene, 529, 751, textColorMansionGuard, textColorProfessor, 1, 2); loadScene(30, scene->getPosition()); - dialog->show(108, scene, 733, 734, 0xe5, 0xd0, 2, 3); + dialog->show(108, scene, 733, 734, textColorProfessor, textColorJohnNoty, 2, 3); playSound(75, 13); playSound(32, 22); playAnimation(735, 1, true); playAnimation(736, 2, true); waitAnimation(); - dialog->show(109, scene, 737, 738, 0xd0, 0xe5, 3, 2); + dialog->show(109, scene, 737, 738, textColorJohnNoty, textColorProfessor, 3, 2); playSound(32, 1); playAnimation(739, 1, true); playAnimation(740, 2, true); waitAnimation(); - dialog->show(110, scene, 733, 734, 0xe5, 0xd0, 2, 3); + dialog->show(110, scene, 733, 734, textColorProfessor, textColorJohnNoty, 2, 3); playAnimation(742, 1, true); playAnimation(741, 2, true); waitAnimation(); - dialog->show(111, scene, 743, 733, 0xd0, 0xe5, 3, 2); + dialog->show(111, scene, 743, 733, textColorJohnNoty, textColorProfessor, 3, 2); playAnimation(744, 1, true); playAnimation(745, 2, true); waitAnimation(); - dialog->show(112, scene, 734, 733, 0xd0, 0xe5, 3, 2); + dialog->show(112, scene, 734, 733, textColorJohnNoty, textColorProfessor, 3, 2); playAnimation(746, 1, true); playAnimation(747, 2, true); waitAnimation(); - dialog->show(113, scene, 734, 734, 0xd0, 0xd0, 3, 3); - dialog->show(114, scene, 748, 748, 0xd0, 0xd0, 3, 3); - dialog->show(115, scene, 749, 749, 0xd0, 0xd0, 3, 3); - dialog->show(116, scene, 748, 748, 0xd0, 0xd0, 3, 3); + dialog->show(113, scene, 734, 734, textColorJohnNoty, textColorJohnNoty, 3, 3); + dialog->show(114, scene, 748, 748, textColorJohnNoty, textColorJohnNoty, 3, 3); + dialog->show(115, scene, 749, 749, textColorJohnNoty, textColorJohnNoty, 3, 3); + dialog->show(116, scene, 748, 748, textColorJohnNoty, textColorJohnNoty, 3, 3); playMusic(10); loadScene(32, scene->getPosition()); @@ -4166,15 +4166,15 @@ bool TeenAgentEngine::processCallback(uint16 addr) { playActorAnimation(755); moveRel(0, 0, 3); - dialog->show(119, scene, 0, 0, 0xd1, 0xd1, 0, 0); + dialog->showMark(119, scene); hideActor(); loadScene(31, scene->getPosition()); - dialog->show(123, scene, 763, 764, 0xd9, 0xd0, 1, 2); + dialog->show(123, scene, 763, 764, textColorMansionGuard, textColorJohnNoty, 1, 2); loadScene(32, scene->getPosition()); showActor(); - dialog->show(120, scene, 0, 0, 0xd1, 0xd1, 0, 0); + dialog->showMark(120, scene); disableObject(3); enableObject(7); @@ -4193,7 +4193,7 @@ bool TeenAgentEngine::processCallback(uint16 addr) { playActorAnimation(756); hideActor(); playAnimation(758, 1); - dialog->show(121, scene, 759, 759, 0xd0, 0xd0, 2, 2); + dialog->show(121, scene, 759, 759, textColorJohnNoty, textColorJohnNoty, 2, 2); playSound(40, 5); playSound(52, 13); @@ -4209,9 +4209,9 @@ bool TeenAgentEngine::processCallback(uint16 addr) { playSound(58, 12); playSound(58, 14); playAnimation(765, 1); - dialog->show(124, scene, 766, 766, 0xd9, 0xd9, 1, 1); + dialog->show(124, scene, 766, 766, textColorMansionGuard, textColorMansionGuard, 1, 1); loadScene(32, scene->getPosition()); - dialog->show(122, scene, 761, 761, 0xd0, 0xd0, 2, 2); + dialog->show(122, scene, 761, 761, textColorJohnNoty, textColorJohnNoty, 2, 2); playAnimation(762, 1); setOns(2, 0); showActor(); @@ -4413,11 +4413,11 @@ bool TeenAgentEngine::processCallback(uint16 addr) { playSound(5, 3); playSound(5, 39); - displayAsyncMessage(dsAddr_singingMsg, 68, 126, 9, 35, 0xd0); // "siiiiinging!" + displayAsyncMessage(dsAddr_singingMsg, 68, 126, 9, 35, textColorJohnNoty); // "siiiiinging!" playActorAnimation(728); waitLanAnimationFrame(1, 1); - dialog->show(98, scene, 0, 727, 0xd1, 0xef, 0, 1); + dialog->show(98, scene, 0, 727, textColorMark, textColorMike, 0, 1); SET_FLAG(dsAddr_MansionRobotSafeVoiceTestPassedFlag, 1); fnRobotSafeUnlockCheck(); } @@ -4438,7 +4438,7 @@ bool TeenAgentEngine::processCallback(uint16 addr) { playActorAnimation(729); waitLanAnimationFrame(1, 1); - dialog->show(99, scene, 0, 727, 0xd1, 0xef, 0, 1); + dialog->show(99, scene, 0, 727, textColorMark, textColorMike, 0, 1); SET_FLAG(dsAddr_MansionRobotSafeScentTestPassedFlag, 1); fnRobotSafeUnlockCheck(); } @@ -4458,7 +4458,7 @@ bool TeenAgentEngine::processCallback(uint16 addr) { playActorAnimation(730); waitLanAnimationFrame(1, 1); - dialog->show(100, scene, 0, 727, 0xd1, 0xef, 0, 1); + dialog->show(100, scene, 0, 727, textColorMark, textColorMike, 0, 1); SET_FLAG(dsAddr_MansionRobotSafeViewTestPassedFlag, 1); fnRobotSafeUnlockCheck(); } @@ -4475,7 +4475,7 @@ bool TeenAgentEngine::processCallback(uint16 addr) { playSound(52, 10); playActorAnimation(711); moveRel(0, 0, 4); - dialog->show(95, scene, 0, 709, 0xd1, 0xef, 0, 1); + dialog->show(95, scene, 0, 709, textColorMark, textColorCook, 0, 1); moveTo(300, 190, 4); inventory->remove(invItemFakeChilli); disableObject(8); @@ -4485,7 +4485,7 @@ bool TeenAgentEngine::processCallback(uint16 addr) { playSound(15, 28); playSound(16, 37); playAnimation(713, 0); - dialog->show(96, scene, 0, 709, 0xd1, 0xef, 0, 1); + dialog->show(96, scene, 0, 709, textColorMark, textColorCook, 0, 1); playSound(85, 2); playAnimation(714, 0); setLan(1, 0); @@ -4605,7 +4605,7 @@ bool TeenAgentEngine::processCallback(uint16 addr) { SET_FLAG(dsAddr_mansionVCRPlayingTapeFlag, 1); reloadLan(); if (!CHECK_FLAG(dsAddr_mansionVCRPlayedTapeBeforeFlag, 1)) { - dialog->show(93, scene, 0, 702, 0xd1, 0xd0, 0, 1); + dialog->show(93, scene, 0, 702, textColorMark, textColorJohnNoty, 0, 1); SET_FLAG(dsAddr_mansionVCRPlayedTapeBeforeFlag, 1); } } else @@ -4680,7 +4680,7 @@ bool TeenAgentEngine::processCallback(uint16 addr) { playMusic(3); loadScene(11, 105, 157, 4); - dialog->show(203, scene, 0, 938, 0xd1, 0xec, 0, 1); + dialog->show(203, scene, 0, 938, textColorMark, textColorCaptain, 0, 1); playAnimation(939, 0, true, true); playActorAnimation(942, true); @@ -4701,9 +4701,9 @@ bool TeenAgentEngine::processCallback(uint16 addr) { playActorAnimation(945, true); waitAnimation(); - dialog->show(204, scene, 0, 938, 0xd1, 0xec, 0, 1); + dialog->show(204, scene, 0, 938, textColorMark, textColorCaptain, 0, 1); playAnimation(946, 0); - dialog->show(205, scene, 0, 938, 0xd1, 0xec, 0, 1); + dialog->show(205, scene, 0, 938, textColorMark, textColorCaptain, 0, 1); playSound(24, 7); playAnimation(948, 0, true); @@ -4711,16 +4711,16 @@ bool TeenAgentEngine::processCallback(uint16 addr) { waitAnimation(); loadScene(40, 198, 186, 1); - dialog->show(206, scene, 0, 920, 0xd1, 0xe7, 0, 1); - dialog->show(207, scene, 0, 921, 0xd1, 0xe7, 0, 1); + dialog->show(206, scene, 0, 920, textColorMark, textColorRGBBoss, 0, 1); + dialog->show(207, scene, 0, 921, textColorMark, textColorRGBBoss, 0, 1); playAnimation(923, 0); - dialog->show(208, scene, 0, 920, 0xd1, 0xe7, 0, 1); + dialog->show(208, scene, 0, 920, textColorMark, textColorRGBBoss, 0, 1); moveTo(237, 186, 0); moveTo(237, 177, 0); moveTo(192, 177, 4); playAnimation(949, 0); - dialog->showMono(209, scene, 950, 0xe7, 1); + dialog->showMono(209, scene, 950, textColorRGBBoss, 1); playSound(32, 5); playSound(40, 14); @@ -4733,10 +4733,10 @@ bool TeenAgentEngine::processCallback(uint16 addr) { displayCredits(); loadScene(39, 192, 177, 0); hideActor(); - dialog->showMono(210, scene, 953, 0xe3, 1); + dialog->showMono(210, scene, 953, textColorMarkEnd, 1); playSound(5, 15); playAnimation(954, 0); - dialog->showMono(211, scene, 955, 0xe3, 1); + dialog->showMono(211, scene, 955, textColorMarkEnd, 1); playMusic(2); displayCredits(dsAddr_finalCredits6, 4500); // 3 minutes (infinite until key pressed in original) scene->push(SceneEvent(SceneEvent::kQuit)); diff --git a/engines/teenagent/dialog.h b/engines/teenagent/dialog.h index e756c18f73..9b5014bcd6 100644 --- a/engines/teenagent/dialog.h +++ b/engines/teenagent/dialog.h @@ -27,6 +27,30 @@ namespace TeenAgent { +// Text Color Symbols +const byte textColorJohnNoty = 0xd0; +const byte textColorCampGuard = 0xd0; +const byte textColorShockedCaptain = 0xd0; +const byte textColorMark = 0xd1; +const byte textColorCredits = 0xd1; +const byte textColorBankGuard = 0xd7; +const byte textColorGrandpa = 0xd8; +const byte textColorMansionGuard = 0xd9; +const byte textColorMarkEnd = 0xe3; +const byte textColorProfessor = 0xe5; +const byte textColorOldLady = 0xe5; +const byte textColorAnne = 0xe5; +const byte textColorWellEcho = 0xe5; +const byte textColorSonny = 0xe5; +const byte textColorEskimo = 0xe5; +const byte textColorRGBBoss = 0xe7; +const byte textColorGoldDriver = 0xe7; +const byte textColorFortuneTeller = 0xeb; +const byte textColorCaptain = 0xec; +const byte textColorMike = 0xef; +const byte textColorCook = 0xef; +const byte textColorBarman = 0xef; + class Scene; class TeenAgentEngine; @@ -37,7 +61,7 @@ public: 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); + return pop(scene, addr, 0, 0, textColorMark, textColorMark, 0, 0); } void show(uint16 dialogNum, Scene *scene, uint16 animation1, uint16 animation2, byte color1, byte color2, byte slot1, byte slot2); @@ -47,7 +71,7 @@ public: } void showMark(uint16 dialogNum, Scene *scene) { - show(dialogNum, scene, 0, 0, 0xd1, 0xd1, 0, 0); + show(dialogNum, scene, 0, 0, textColorMark, textColorMark, 0, 0); } private: diff --git a/engines/teenagent/inventory.cpp b/engines/teenagent/inventory.cpp index b03a149c17..baf09f8124 100644 --- a/engines/teenagent/inventory.cpp +++ b/engines/teenagent/inventory.cpp @@ -201,8 +201,8 @@ bool Inventory::processEvent(const Common::Event &event) { if (tryObjectCallback(_hoveredObj)) return true; //activate(false); - int w = _vm->res->font7.render(NULL, 0, 0, _hoveredObj->description, 0xd1); - _vm->scene->displayMessage(_hoveredObj->description, 0xd1, Common::Point((screenWidth - w) / 2, 162)); + int w = _vm->res->font7.render(NULL, 0, 0, _hoveredObj->description, textColorMark); + _vm->scene->displayMessage(_hoveredObj->description, textColorMark, Common::Point((screenWidth - w) / 2, 162)); return true; } @@ -337,8 +337,8 @@ void Inventory::Item::render(Inventory *inventory, uint item_id, Graphics::Surfa name += obj->name; if (_hovered && inventory->_vm->scene->getMessage().empty()) { - int w = inventory->_vm->res->font7.render(NULL, 0, 0, name, 0xd1, true); - inventory->_vm->res->font7.render(dst, (screenWidth - w) / 2, 180, name, 0xd1, true); + int w = inventory->_vm->res->font7.render(NULL, 0, 0, name, textColorMark, true); + inventory->_vm->res->font7.render(dst, (screenWidth - w) / 2, 180, name, textColorMark, true); } } diff --git a/engines/teenagent/scene.cpp b/engines/teenagent/scene.cpp index e2f038c005..ac03cf00aa 100644 --- a/engines/teenagent/scene.cpp +++ b/engines/teenagent/scene.cpp @@ -499,7 +499,7 @@ bool Scene::processEvent(const Common::Event &event) { events.clear(); sounds.clear(); current_event.clear(); - message_color = 0xd1; + message_color = textColorMark; for (int i = 0; i < 4; ++i) custom_animation[i].free(); _vm->playMusic(4); @@ -636,7 +636,7 @@ bool Scene::render(bool tick_game, bool tick_mark, uint32 delta) { _vm->res->font8.shadow_color = current_event.orientation; _vm->res->font8.render(surface, current_event.dst.x, current_event.dst.y, message, current_event.color); } else { - _vm->res->font7.render(surface, current_event.dst.x, current_event.dst.y, message, 0xd1); + _vm->res->font7.render(surface, current_event.dst.x, current_event.dst.y, message, textColorCredits); } _vm->_system->unlockScreen(); return true; @@ -1154,7 +1154,7 @@ bool Scene::processEventQueue() { } if (events.empty()) { - message_color = 0xd1; + message_color = textColorMark; hide_actor = false; } @@ -1252,7 +1252,7 @@ void Scene::clear() { void Scene::clearMessage() { message.clear(); message_timer = 0; - message_color = 0xd1; + message_color = textColorMark; message_first_frame = 0; message_last_frame = 0; message_animation = NULL; diff --git a/engines/teenagent/scene.h b/engines/teenagent/scene.h index 472cdf6edb..3da88f73be 100644 --- a/engines/teenagent/scene.h +++ b/engines/teenagent/scene.h @@ -92,13 +92,13 @@ struct SceneEvent { byte object; SceneEvent(Type type_) : - type(type_), message(), color(0xd1), slot(0), animation(0), timer(0), orientation(0), dst(), + type(type_), message(), color(textColorMark), slot(0), animation(0), timer(0), orientation(0), dst(), scene(0), ons(0), lan(0), music(0), sound(0), object(0) {} void clear() { type = kNone; message.clear(); - color = 0xd1; + color = textColorMark; slot = 0; orientation = 0; animation = 0; @@ -139,7 +139,7 @@ public: void moveTo(const Common::Point &point, byte orientation = 0, bool validate = false); Common::Point getPosition() const { return position; } - void displayMessage(const Common::String &str, byte color = 0xd1, const Common::Point &pos = Common::Point()); + void displayMessage(const Common::String &str, byte color = textColorMark, const Common::Point &pos = Common::Point()); void setOrientation(uint8 o) { orientation = o; } void push(const SceneEvent &event); byte peekFlagEvent(uint16 addr) const; diff --git a/engines/teenagent/teenagent.cpp b/engines/teenagent/teenagent.cpp index f1276e3a62..db3b02e8fb 100644 --- a/engines/teenagent/teenagent.cpp +++ b/engines/teenagent/teenagent.cpp @@ -671,8 +671,8 @@ Common::Error TeenAgentEngine::run() { if (current_object) name += current_object->name; - uint w = res->font7.render(NULL, 0, 0, name, 0xd1); - res->font7.render(surface, (screenWidth - w) / 2, 180, name, 0xd1, true); + uint w = res->font7.render(NULL, 0, 0, name, textColorMark); + res->font7.render(surface, (screenWidth - w) / 2, 180, name, textColorMark, true); #if 0 if (current_object) { current_object->rect.render(surface, 0x80); @@ -719,7 +719,7 @@ void TeenAgentEngine::displayMessage(const Common::String &str, byte color, uint return; } - if (color == 0xd1) { // mark's + if (color == textColorMark) { // mark's SceneEvent e(SceneEvent::kPlayAnimation); e.animation = 0; e.slot = 0x80; @@ -790,7 +790,7 @@ void TeenAgentEngine::displayCredits(uint16 addr, uint16 timer) { break; event.message += "\n"; } - int w = res->font8.render(NULL, 0, 0, event.message, 0xd1); + int w = res->font8.render(NULL, 0, 0, event.message, textColorCredits); event.dst.x = (screenWidth - w) / 2; event.timer = timer; scene->push(event); @@ -805,7 +805,7 @@ void TeenAgentEngine::displayCredits() { for (uint i = 0; i < event.message.size(); ++i) if (event.message[i] == '\n') ++lines; - event.dst.x = (screenWidth - res->font7.render(NULL, 0, 0, event.message, 0xd1)) / 2; + event.dst.x = (screenWidth - res->font7.render(NULL, 0, 0, event.message, textColorCredits)) / 2; event.timer = 11 * lines - event.dst.y + 22; debug(2, "credits = %s", event.message.c_str()); scene->push(event); diff --git a/engines/teenagent/teenagent.h b/engines/teenagent/teenagent.h index 9e32af24d9..994e274221 100644 --- a/engines/teenagent/teenagent.h +++ b/engines/teenagent/teenagent.h @@ -31,6 +31,8 @@ #include "common/rect.h" #include "common/array.h" +#include "teenagent/dialog.h" + struct ADGameDescription; /** @@ -101,10 +103,10 @@ public: Common::String parseMessage(uint16 addr); //event driven: - void displayMessage(uint16 addr, byte color = 0xd1, uint16 x = 0, uint16 y = 0); - void displayMessage(const Common::String &str, byte color = 0xd1, uint16 x = 0, uint16 y = 0); - void displayAsyncMessage(uint16 addr, uint16 x, uint16 y, uint16 firstFrame, uint16 lastFrame, byte color = 0xd1); - void displayAsyncMessageInSlot(uint16 addr, byte slot, uint16 firstFrame, uint16 lastFrame, byte color = 0xd1); + void displayMessage(uint16 addr, byte color = textColorMark, uint16 x = 0, uint16 y = 0); + void displayMessage(const Common::String &str, byte color = textColorMark, uint16 x = 0, uint16 y = 0); + void displayAsyncMessage(uint16 addr, uint16 x, uint16 y, uint16 firstFrame, uint16 lastFrame, byte color = textColorMark); + void displayAsyncMessageInSlot(uint16 addr, byte slot, uint16 firstFrame, uint16 lastFrame, byte color = textColorMark); void displayCredits(uint16 addr, uint16 timer = 0); void displayCutsceneMessage(uint16 addr, uint16 x, uint16 y); void moveTo(const Common::Point &dst, byte o, bool warp = false); |