aboutsummaryrefslogtreecommitdiff
path: root/engines/teenagent/callbacks.cpp
diff options
context:
space:
mode:
authorD G Turner2012-07-30 00:10:57 +0100
committerD G Turner2012-07-30 00:10:57 +0100
commit79f281c791d63d32f62986342e70841a03c22340 (patch)
treea0dd0341bc0f226a46afb5d97b4afbbda7257400 /engines/teenagent/callbacks.cpp
parent7337e03e5b17139fdab6de9507291597d2f2eba4 (diff)
downloadscummvm-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.cpp34
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);