diff options
author | D G Turner | 2012-07-30 00:10:57 +0100 |
---|---|---|
committer | D G Turner | 2012-07-30 00:10:57 +0100 |
commit | 79f281c791d63d32f62986342e70841a03c22340 (patch) | |
tree | a0dd0341bc0f226a46afb5d97b4afbbda7257400 /engines/teenagent | |
parent | 7337e03e5b17139fdab6de9507291597d2f2eba4 (diff) | |
download | scummvm-rg350-79f281c791d63d32f62986342e70841a03c22340.tar.gz scummvm-rg350-79f281c791d63d32f62986342e70841a03c22340.tar.bz2 scummvm-rg350-79f281c791d63d32f62986342e70841a03c22340.zip |
TEENAGENT: Even more migration of callbacks from cseg usage.
Diffstat (limited to 'engines/teenagent')
-rw-r--r-- | engines/teenagent/callbacks.cpp | 34 | ||||
-rw-r--r-- | engines/teenagent/resources.h | 8 |
2 files changed, 40 insertions, 2 deletions
diff --git a/engines/teenagent/callbacks.cpp b/engines/teenagent/callbacks.cpp index 4b83448c2c..aeb1083f99 100644 --- a/engines/teenagent/callbacks.cpp +++ b/engines/teenagent/callbacks.cpp @@ -1444,6 +1444,10 @@ bool TeenAgentEngine::processCallback(uint16 addr) { displayMessage(dsAddr_emptyMsg); // "It's Empty" break; + case 0x56b3: + rejectMessage(); + break; + case 0x56b7: playSound(66, 5); playSound(67, 11); @@ -1511,6 +1515,11 @@ bool TeenAgentEngine::processCallback(uint16 addr) { displayMessage(dsAddr_pullObjMsg2); break; + case 0x5854: + loadScene(15, Common::Point(157, 199)); + scene->setOrientation(1); + break; + case 0x586e: loadScene(21, Common::Point(24, 187)); scene->setOrientation(2); @@ -1521,6 +1530,11 @@ bool TeenAgentEngine::processCallback(uint16 addr) { scene->setOrientation(2); break; + case 0x590a: + loadScene(20, Common::Point(304, 190)); + scene->setOrientation(4); + break; + case 0x5924: loadScene(25, Common::Point(298, 146)); scene->setOrientation(4); @@ -1592,6 +1606,10 @@ bool TeenAgentEngine::processCallback(uint16 addr) { displayMessage(dsAddr_CantJumpMsg); // "No way I can jump so high, cause, err, white men can't jump" break; + case 0x5faf: + displayMessage(dsAddr_noSecretPassageMsg); // "I don't think there's any secret passage inside" + break; + case 0x5fe5: displayMessage(dsAddr_jugMeMsg); // "They can jug me if I steal this" break; @@ -1634,6 +1652,10 @@ bool TeenAgentEngine::processCallback(uint16 addr) { } break; + case 0x6074: + rejectMessage(); + break; + case 0x6078: displayMessage(dsAddr_tooBigMsg); // "It's too big and I doubt if I'll ever need it" break; @@ -1672,6 +1694,10 @@ bool TeenAgentEngine::processCallback(uint16 addr) { displayMessage(dsAddr_rockWalkingGeeMsg); // "Yeah, great idea. Let's take this rock and walk around a bit. Gee..." break; + case 0x63ae: + displayMessage(dsAddr_notSureIfAliveMsg); // "I'm not sure if it's alive" + break; + case 0x63bc: playMusic(6); loadScene(25, 151, 156, 2); @@ -1681,6 +1707,10 @@ bool TeenAgentEngine::processCallback(uint16 addr) { dialog->showMono(86, scene, 0, 0xd1, 0); break; + case 0x63e3: + displayMessage(dsAddr_holeTooNarrowMsg); // "The hole is too narrow to fit my hand" + break; + case 0x646e: case 0x6475: dialog->showMono(85, scene, 0, 0xd1, 0); @@ -4632,7 +4662,9 @@ bool TeenAgentEngine::processCallback(uint16 addr) { default: warning("unknown callback %04x called", addr); - // FIXME - unknown non-trivial callback 0x5b44 called! Need to analyse cseg data to work out what this is. + // FIXME - unknown non-trivial callback 0x5b44 called! + // This is the doorbell use callback on House #2 i.e. + // Granny and Anne's House. Need to analyse cseg data. // try decoding trivial callbacks by cseg if not in switch byte *code = res->cseg.ptr(addr); diff --git a/engines/teenagent/resources.h b/engines/teenagent/resources.h index 5b09df162e..68fde34cc2 100644 --- a/engines/teenagent/resources.h +++ b/engines/teenagent/resources.h @@ -329,7 +329,8 @@ const uint16 dsAddr_notTakingSocksMsg = 0x42c7; // "I really don't want to walk const uint16 dsAddr_notTiredMsg = 0x4306; // "Thanks, I'm not tired" // Too Big Message : 0x431e to 0x434d const uint16 dsAddr_tooBigMsg = 0x431e; // "It's too big and I doubt if I'll ever need it" - +// No Secret Passage Message : 0x434e to 0x437f +const uint16 dsAddr_noSecretPassageMsg = 0x434e; // "I don't think there's any secret passage inside" // No Fruit Message : 0x4380 to 0x43ab const uint16 dsAddr_noFruitMsg = 0x4380; // "There are no more interesting fruits here" // Jug Me Message : 0x43ac to 0x43cd @@ -382,6 +383,11 @@ const uint16 dsAddr_noHandsSharpThornsMsg = 0x465e; // "I can't remove it with m // Rock Walking Gee Message : 0x46f7 to 0x473c const uint16 dsAddr_rockWalkingGeeMsg = 0x46f7; // "Yeah, great idea. Let's take this rock and walk around a bit. Gee..." +// Not Sure If Alive Message : 0x477b to 0x4797 +const uint16 dsAddr_notSureIfAliveMsg = 0x477b; // "I'm not sure if it's alive" + +// Hole Too Narrow Message : 0x47bf to 0x47e6 +const uint16 dsAddr_holeTooNarrowMsg = 0x47bf; // "The hole is too narrow to fit my hand" // Bird Attack Message : 0x47e7 to 0x4807 const uint16 dsAddr_birdAttackMsg = 0x47e7; // "Hey You! Wake up! Bird attack!" // No Search Warrant Message : 0x4808 to 0x4827 |