From fe7fbe8c330efc8f5578d45cade1972cf8a4d327 Mon Sep 17 00:00:00 2001 From: D G Turner Date: Sun, 29 Jul 2012 11:02:31 +0100 Subject: TEENAGENT: Migrate even more callbacks from cseg usage. --- engines/teenagent/callbacks.cpp | 110 ++++++++++++++++++++++++++++++++++++++++ engines/teenagent/resources.h | 17 ++++++- 2 files changed, 126 insertions(+), 1 deletion(-) diff --git a/engines/teenagent/callbacks.cpp b/engines/teenagent/callbacks.cpp index 997bc52775..5843a6aba5 100644 --- a/engines/teenagent/callbacks.cpp +++ b/engines/teenagent/callbacks.cpp @@ -967,6 +967,34 @@ bool TeenAgentEngine::processCallback(uint16 addr) { } break; + case 0x4d7d: + case 0x4d81: + rejectMessage(); + break; + + case 0x4d89: + displayMessage(dsAddr_getRidOfGuardFirstMsg); // "If I want to get inside I must get rid of this guard first..." + break; + + case 0x4d90: + rejectMessage(); + break; + + case 0x4e47: + loadScene(13, Common::Point(9, 172)); + scene->setOrientation(2); + break; + + case 0x4e85: + loadScene(15, Common::Point(291, 162)); + scene->setOrientation(4); + break; + + case 0x4e9f: + loadScene(12, Common::Point(310, 152)); + scene->setOrientation(4); + break; + case 0x4f14: // use the hollow if (CHECK_FLAG(0xdba1, 1)) displayMessage(dsAddr_totalEmptyMsg); // "I can see it's totally empty" @@ -1241,6 +1269,19 @@ bool TeenAgentEngine::processCallback(uint16 addr) { } break; + case 0x505f: + displayMessage(dsAddr_wallTooSmoothMsg); // "The wall surface is too smooth to climb" + break; + + case 0x5080: + loadScene(13, Common::Point(290, 181)); + scene->setOrientation(4); + break; + + case 0x50f6: + displayMessage(dsAddr_tooMuchResinToClimbMsg); // "I could climb it if there wasn't so much resin" + break; + case 0x5104: loadScene(11, 319, 198, 4); if (!CHECK_FLAG(0xdb9c, 1)) { @@ -1259,6 +1300,15 @@ bool TeenAgentEngine::processCallback(uint16 addr) { fnGuardDrinking(); break; + case 0x51cf: + loadScene(12, Common::Point(15, 189)); + scene->setOrientation(2); + break; + + case 0x51e9: + displayMessage(dsAddr_dontWannaTouchHedgehogMsg); // "I don't wanna touch it. Its spines could hurt my delicate hands" + break; + case 0x51f0: setOns(0, 0); playSound(5, 11); @@ -1274,6 +1324,14 @@ bool TeenAgentEngine::processCallback(uint16 addr) { displayMessage(dsAddr_avoidBeesMsg); // "I'm going to stay at least five meters away from these bees!" break; + case 0x522c: + displayMessage(dsAddr_avoidBeesMsg); // "I'm going to stay at least five meters away from these bees!" + break; + + case 0x5233: + rejectMessage(); + break; + case 0x5237: if (!CHECK_FLAG(0xdb9f, 1)) { displayMessage(dsAddr_avoidBeesMsg); // "I'm going to stay at least five meters away from these bees!" @@ -1301,6 +1359,26 @@ bool TeenAgentEngine::processCallback(uint16 addr) { } break; + + case 0x5320: + loadScene(11, Common::Point(30, 124)); + scene->setOrientation(2); + break; + + case 0x5341: + displayMessage(dsAddr_tooFarToSwimMsg); // "It's too far to swim there" + break; + + case 0x540a: + loadScene(20, Common::Point(10, 185)); + scene->setOrientation(2); + break; + + case 0x5424: + loadScene(11, Common::Point(30, 170)); + scene->setOrientation(2); + break; + case 0x55a8: { uint16 d = dialog->pop(scene, 0xdb08, 0, 0, 0xd1, 0xd1, 0, 0); @@ -1370,6 +1448,29 @@ bool TeenAgentEngine::processCallback(uint16 addr) { } break; + case 0x584d: + displayMessage(dsAddr_pullObjMsg2); + break; + + case 0x586e: + loadScene(21, Common::Point(24, 187)); + scene->setOrientation(2); + break; + + case 0x5888: + loadScene(27, Common::Point(108, 199)); + scene->setOrientation(2); + break; + + case 0x5924: + loadScene(25, Common::Point(298, 146)); + scene->setOrientation(4); + break; + + case 0x5978: + displayMessage(dsAddr_notTakingSocksMsg); // "I really don't want to walk around with someone else's socks" + break; + case 0x5d88: if (CHECK_FLAG(0xdba5, 1)) { // dry laundry SET_FLAG(0xdba5, 2); @@ -1450,6 +1551,10 @@ bool TeenAgentEngine::processCallback(uint16 addr) { fnTooDark(); break; + case 0x634a: + displayMessage(dsAddr_noHandsSharpThornsMsg); // "I can't remove it with my hands. these thorns look really sharp" + break; + case 0x63bc: playMusic(6); loadScene(25, 151, 156, 2); @@ -1475,6 +1580,11 @@ bool TeenAgentEngine::processCallback(uint16 addr) { displayMessage(dsAddr_birdAttackMsg); // "Hey You! Wake up! Bird attack!" break; + case 0x6541: + loadScene(20, Common::Point(10, 131)); + scene->setOrientation(3); + break; + case 0x65c3: if (CHECK_FLAG(dsAddr_mouseHoleState, 1)) { playActorAnimation(635); diff --git a/engines/teenagent/resources.h b/engines/teenagent/resources.h index 8d1e95fd1f..ff2a1b756c 100644 --- a/engines/teenagent/resources.h +++ b/engines/teenagent/resources.h @@ -270,10 +270,20 @@ const uint16 dsAddr_bootEmptyMsg = 0x3e75; // "There's nothing else in the boot" const uint16 dsAddr_clothesDryMsg = 0x3e98; // "The clothes are dry now." // Crow Kill Message : 0x3eb2 to 0x3ed5 const uint16 dsAddr_crowKillMsg = 0x3eb2; // "I'm sure these crows will kill me" - +// Get Rid Of Guard First Message : 0x3ed6 to 0x3f29 +const uint16 dsAddr_getRidOfGuardFirstMsg = 0x3ed6; // "If I want to get inside I must get rid of this guard first..." +// Wall Too Smooth Message : 0x3f2a to 0x3f53 +const uint16 dsAddr_wallTooSmoothMsg = 0x3f2a; // "The wall surface is too smooth to climb" +// Too Much Resin To Climb Message : 0x3f54 to 0x3f84 +const uint16 dsAddr_tooMuchResinToClimbMsg = 0x3f54; // "I could climb it if there wasn't so much resin" + +// Don't Wanna Touch Hedgehog Message : 0x3fec to 0x402d +const uint16 dsAddr_dontWannaTouchHedgehogMsg = 0x3fec; // "I don't wanna touch it. Its spines could hurt my delicate hands" // Not Hungry Message : 0x402e to 0x4046 const uint16 dsAddr_notHungryMsg = 0x402e; // "Thanks, I'm not hungry" +// Too Far To Swim Message : 0x406d to 0x4089 +const uint16 dsAddr_tooFarToSwimMsg = 0x406d; // "It's too far to swim there" // Echo Message : 0x408a to 0x4090 const uint16 dsAddr_echoMsg = 0x408a; // "Echo!" // Loud Echo Message : 0x4091 to 0x4097 @@ -298,6 +308,9 @@ const uint16 dsAddr_hmmGrassMsg = 0x417e; // "Hmmm. Grass..." // Find Nut Message : 0x41b1 to 0x41ee const uint16 dsAddr_findNutMsg = 0x41b1; // "I won't find the nut just like that. The grass is too dense" +// Not Taking Socks Message : 0x42c7 to 0x4305 +const uint16 dsAddr_notTakingSocksMsg = 0x42c7; // "I really don't want to walk around with someone else's socks" + // Too Big Message : 0x431e to 0x434d const uint16 dsAddr_tooBigMsg = 0x431e; // "It's too big and I doubt if I'll ever need it" @@ -344,6 +357,8 @@ const uint16 dsAddr_yeowMsg = 0x463c; // "YEEEOOOWWWW!" const uint16 dsAddr_yawnMsg = 0x464a; // "(yawn)" // Laughter Message : 0x4652 to 0x465d const uint16 dsAddr_laughterMsg = 0x4652; // "(laughter)" +// No Hands Sharp Thorns Message : 0x465e to 0x46a0 +const uint16 dsAddr_noHandsSharpThornsMsg = 0x465e; // "I can't remove it with my hands. these thorns look really sharp" // Bird Attack Message : 0x47e7 to 0x4807 const uint16 dsAddr_birdAttackMsg = 0x47e7; // "Hey You! Wake up! Bird attack!" -- cgit v1.2.3