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/callbacks.cpp | |
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/callbacks.cpp')
-rw-r--r-- | engines/teenagent/callbacks.cpp | 34 |
1 files changed, 33 insertions, 1 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); |