aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorVladimir Menshakov2009-12-14 07:25:06 +0000
committerVladimir Menshakov2009-12-14 07:25:06 +0000
commit43f9c1bce15c9878572d254577ab57ea2d94e1fb (patch)
treea1ee2ac3d1369fd0e2bda6816334da415e76aed4
parent42c306208b7e58a2811b481c26c35f96259dd5f1 (diff)
downloadscummvm-rg350-43f9c1bce15c9878572d254577ab57ea2d94e1fb.tar.gz
scummvm-rg350-43f9c1bce15c9878572d254577ab57ea2d94e1fb.tar.bz2
scummvm-rg350-43f9c1bce15c9878572d254577ab57ea2d94e1fb.zip
fixed tv/vcr callbacks
svn-id: r46377
-rw-r--r--engines/teenagent/callbacks.cpp94
1 files changed, 47 insertions, 47 deletions
diff --git a/engines/teenagent/callbacks.cpp b/engines/teenagent/callbacks.cpp
index a9c5748b21..912eef4ccf 100644
--- a/engines/teenagent/callbacks.cpp
+++ b/engines/teenagent/callbacks.cpp
@@ -1975,32 +1975,6 @@ bool TeenAgentEngine::processCallback(uint16 addr) {
disableObject(1);
return true;
- case 0x73a3:
- if (CHECK_FLAG(0xdbc5, 1)) {
- SET_FLAG(0xdbc5, 0);
- reloadLan();
-
- //call 73e6
- playSound(71, 3);
- playActorAnimation(700);
- playAnimation(0, 0, true);
-
- } else {
- SET_FLAG(0xdbc5, 1);
- reloadLan();
-
- //call 73e6
- playSound(71, 3);
- playActorAnimation(700);
-
- playAnimation((CHECK_FLAG(0xDBC6, 0) ? 701 : 702), 0);
-
- if (CHECK_FLAG(0xDBC6, 1)) {
- displayMessage(0x4da6);
- }
- }
- return true;
-
case 0x7381:
playSound(5, 12);
playActorAnimation(704);
@@ -3652,33 +3626,59 @@ bool TeenAgentEngine::processCallback(uint16 addr) {
displayMessage(0x528b);
return true;
+ case 0x73a3:
+ if (CHECK_FLAG(0xdbc5, 1)) {
+ SET_FLAG(0xdbc5, 0);
+
+ //call 73e6
+ playSound(71, 3);
+ playActorAnimation(700);
+ playAnimation(0, 0, true);
+ reloadLan();
+
+ if (CHECK_FLAG(0xDBC6, 1)) {
+ displayMessage(0x4da6);
+ }
+ } else {
+ SET_FLAG(0xdbc5, 1);
+
+ //call 73e6
+ playSound(71, 3);
+ playActorAnimation(700);
+ reloadLan();
+ }
+ return true;
+
case 0x9537: //using remote on VCR
playSound(5, 3);
playSound(5, 16);
playActorAnimation(703);
- if (CHECK_FLAG(0xDBC8, 1)) {
- if (CHECK_FLAG(0xDBC6, 0)) {
- if (CHECK_FLAG(0xDBC5, 1)) { //tv on
- if (!CHECK_FLAG(0xDBC7, 1))
- displayMessage(0x4d93); //the tape started
- playAnimation(702, 0, true, true, true); //fixme: we need some overlay animation support
- SET_FLAG(0xDBC6, 1);
- if (!CHECK_FLAG(0xDBC7, 1)) {
- Dialog::show(scene, 0x392c, 0, 0, 0xd1, 0xd0, 0, 1);
- SET_FLAG(0xDBC7, 1);
- }
- reloadLan();
- } else
- displayMessage(0x4d5b);
- } else {
- SET_FLAG(0xDBC6, 0);
- if (CHECK_FLAG(0xDBC5, 1)) { //tv on
- playAnimation(701, 1);
- displayMessage(0x4da6); //much better!
+ if (!CHECK_FLAG(0xDBC8, 1)) {
+ displayMessage(0x4D80); //nothing happened
+ return true;
+ }
+
+ //0x955a
+ if (CHECK_FLAG(0xDBC6, 0)) {
+ if (CHECK_FLAG(0xDBC5, 1)) { //tv on
+ if (!CHECK_FLAG(0xDBC7, 1))
+ displayMessage(0x4d93); //the tape started
+
+ SET_FLAG(0xDBC6, 1);
+ reloadLan();
+ if (!CHECK_FLAG(0xDBC7, 1)) {
+ Dialog::show(scene, 0x392c, 0, 702, 0xd1, 0xd0, 0, 1);
+ SET_FLAG(0xDBC7, 1);
}
+ } else
+ displayMessage(0x4d5b); //i just realized that tv is off
+ } else {
+ SET_FLAG(0xDBC6, 0);
+ if (CHECK_FLAG(0xDBC5, 1)) { //tv on
+ reloadLan();
+ displayMessage(0x4da6); //much better!
}
- } else
- displayMessage(0x4D80); //nothing happened
+ }
return true;
case 0x95eb: //polaroid + tv