[Scummvm-git-logs] scummvm master -> 2d70ad40dfaf8c0981ca0c705caef6104edc33fd
dreammaster
noreply at scummvm.org
Tue Nov 19 06:29:44 UTC 2024
This automated email contains information about 1 new commit which have been
pushed to the 'scummvm' repo located at https://github.com/scummvm/scummvm .
Summary:
2d70ad40df M4: RIDDLE: Fix dealing with Wolf, getting plank in room 408
Commit: 2d70ad40dfaf8c0981ca0c705caef6104edc33fd
https://github.com/scummvm/scummvm/commit/2d70ad40dfaf8c0981ca0c705caef6104edc33fd
Author: Paul Gilbert (dreammaster at scummvm.org)
Date: 2024-11-18T22:29:37-08:00
Commit Message:
M4: RIDDLE: Fix dealing with Wolf, getting plank in room 408
Changed paths:
engines/m4/riddle/rooms/section4/room408.cpp
engines/m4/riddle/rooms/section4/room408.h
diff --git a/engines/m4/riddle/rooms/section4/room408.cpp b/engines/m4/riddle/rooms/section4/room408.cpp
index c4ec4d3f3c3..1b9ec851e16 100644
--- a/engines/m4/riddle/rooms/section4/room408.cpp
+++ b/engines/m4/riddle/rooms/section4/room408.cpp
@@ -34,14 +34,14 @@ void Room408::init() {
if (_G(game).previous_room != KERNEL_RESTORING_GAME) {
_val1 = 0;
- _val2 = -1;
+ _ripleyTrigger = -1;
_val3 = 0;
- _val4 = -1;
+ _wolfTrigger = -1;
_currentNode = -1;
- _val6 = 0;
- _val7 = 0;
- _val8 = 0;
- _val9 = 0;
+ _ripleyMode = 0;
+ _ripleyShould = 0;
+ _wolfMode = 0;
+ _wolfShould = 0;
}
digi_preload("950_s19");
@@ -88,10 +88,10 @@ void Room408::init() {
case KERNEL_RESTORING_GAME:
digi_preload("950_s22");
- if (_G(flags)[V131] == 400) {
+ if (_G(flags)[V131] == 408) {
hotspot_set_active("WOLF", true);
- _val8 = 2001;
- _val9 = 2200;
+ _wolfMode = 2001;
+ _wolfShould = 2200;
_wolf = series_load("WOLF CLPNG LOOP LOOKS TO SIDE");
_wolfie = TriggerMachineByHash(1, 1, 0, 0, 0, 0, 0, -53, 100, 0xd00, 0,
triggerMachineByHashCallback, "WOLFIE");
@@ -114,8 +114,8 @@ void Room408::init() {
_wolfie = TriggerMachineByHash(1, 1, 0, 0, 0, 0, 0, -53, 100, 0xd00, 0,
triggerMachineByHashCallback, "WOLFIE");
sendWSMessage_10000(1, _wolfie, _wolf, 1, 10, 110, _wolf, 10, 10, 0);
- _val8 = 2001;
- _val9 = 2200;
+ _wolfMode = 2001;
+ _wolfShould = 2200;
}
ws_demand_location(-20, 345, 3);
@@ -164,8 +164,8 @@ void Room408::init() {
_wolfie = TriggerMachineByHash(1, 1, 0, 0, 0, 0, 0, -53, 100, 0xd00, 0,
triggerMachineByHashCallback, "WOLFIE");
sendWSMessage_10000(1, _wolfie, _wolf, 1, 10, 110, _wolf, 10, 10, 0);
- _val8 = 2001;
- _val9 = 2200;
+ _wolfMode = 2001;
+ _wolfShould = 2200;
}
ws_demand_location(660, 345, 9);
@@ -218,22 +218,22 @@ void Room408::daemon() {
break;
case 101:
- _val6 = 1000;
- _val7 = 1105;
+ _ripleyMode = 1000;
+ _ripleyShould = 1105;
break;
case 102:
- if (_val2 != -1) {
- kernel_timing_trigger(1, _val2);
- _val2 = -1;
+ if (_ripleyTrigger != -1) {
+ kernel_timing_trigger(1, _ripleyTrigger);
+ _ripleyTrigger = -1;
} else {
kernel_timing_trigger(1, 103);
}
break;
case 103:
- if (_val6 == 1000) {
- switch (_val7) {
+ if (_ripleyMode == 1000) {
+ switch (_ripleyShould) {
case 1100:
ws_hide_walker();
player_set_commands_allowed(false);
@@ -251,14 +251,14 @@ void Room408::daemon() {
_ripHandsBehindBack, 15, 15, 0);
sendWSMessage_10000(1, _ripleyShadow, _ripShadowSeries, 1, 1, -1,
_ripShadowSeries, 1, 1, 0);
- _val7 = 1101;
- _val8 = 2000;
- _val9 = 2100;
+ _ripleyShould = 1101;
+ _wolfMode = 2000;
+ _wolfShould = 2100;
kernel_timing_trigger(1, 110);
break;
case 1101:
- _val7 = 1103;
+ _ripleyShould = 1103;
kernel_timing_trigger(1, 102);
conv_load("conv408a", 0, 10, 101);
conv_export_value_curr(_G(flags)[V117], 0);
@@ -284,8 +284,8 @@ void Room408::daemon() {
case 1105:
sendWSMessage_10000(1, _ripley, _ripHandsBehindBack, 15, 1, 103,
_ripHandsBehindBack, 1, 1, 0);
- _val7 = 1106;
- _val9 = 2103;
+ _ripleyShould = 1106;
+ _wolfShould = 2103;
break;
case 1106:
@@ -295,12 +295,12 @@ void Room408::daemon() {
series_unload(_ripHandsBehindBack);
if (_currentNode != 8 && _currentNode != 9) {
- _val8 = 2001;
- _val9 = 2200;
+ _wolfMode = 2001;
+ _wolfShould = 2200;
kernel_timing_trigger(1, 110);
player_set_commands_allowed(true);
} else {
- _val4 = 320;
+ _wolfTrigger = 320;
kernel_timing_trigger(1, 110);
}
break;
@@ -312,12 +312,12 @@ void Room408::daemon() {
break;
case 110:
- switch (_val8) {
+ switch (_wolfMode) {
case 2000:
- if (_val9 >= 2100 && _val9 <= 2104) {
- if (_val4 != -1) {
- kernel_timing_trigger(1, _val4);
- _val4 = -1;
+ if (_wolfShould >= 2100 && _wolfShould <= 2104) {
+ if (_wolfTrigger != -1) {
+ kernel_timing_trigger(1, _wolfTrigger);
+ _wolfTrigger = -1;
} else {
kernel_timing_trigger(1, 111);
}
@@ -325,10 +325,10 @@ void Room408::daemon() {
break;
case 2001:
- if (_val9 == 2200) {
- if (_val4 != -1) {
- kernel_timing_trigger(1, _val4);
- _val4 = -1;
+ if (_wolfShould == 2200) {
+ if (_wolfTrigger != -1) {
+ kernel_timing_trigger(1, _wolfTrigger);
+ _wolfTrigger = -1;
} else {
kernel_timing_trigger(1, 111);
}
@@ -341,12 +341,12 @@ void Room408::daemon() {
break;
case 111:
- switch (_val8) {
+ switch (_wolfMode) {
case 2000:
- switch (_val9) {
+ switch (_wolfShould) {
case 2100:
sendWSMessage_10000(1, _wolfie, _wolf, 10, 13, 110, _wolf, 13, 13, 0);
- _val9 = 2102;
+ _wolfShould = 2102;
break;
case 2101:
frame = imath_ranged_rand(14, 16);
@@ -355,7 +355,7 @@ void Room408::daemon() {
break;
case 2102:
sendWSMessage_10000(1, _wolfie, _wolf, 13, 13, 110, _wolf, 13, 13, 0);
- _val9 = 2102;
+ _wolfShould = 2102;
break;
case 2103:
sendWSMessage_10000(1, _wolfie, _wolf, 13, 10, -1, _wolf, 10, 10, 0);
@@ -369,7 +369,7 @@ void Room408::daemon() {
break;
case 2001:
- if (_val9 == 2200) {
+ if (_wolfShould == 2200) {
sendWSMessage_10000(1, _wolfie, _wolf, 1, 9, 110, _wolf, 9, 9, 0);
switch (imath_ranged_rand(1, 3)) {
@@ -393,8 +393,8 @@ void Room408::daemon() {
break;
case 220:
- _val8 = 2000;
- _val9 = 2100;
+ _wolfMode = 2000;
+ _wolfShould = 2100;
kernel_timing_trigger(1, 110);
_ripTrekTwoHandTalk = series_load("RIP TREK TWO HAND TALK POS2");
@@ -414,7 +414,7 @@ void Room408::daemon() {
break;
case 222:
- _val9 = 2101;
+ _wolfShould = 2101;
kernel_timing_trigger(1, 110);
digi_play("402w008", 1, 255, 226);
kernel_timing_trigger(45, 224);
@@ -428,13 +428,13 @@ void Room408::daemon() {
break;
case 226:
- _val9 = 2103;
+ _wolfShould = 2103;
kernel_timing_trigger(30, 227);
break;
case 227:
- _val8 = 2001;
- _val9 = 2200;
+ _wolfMode = 2001;
+ _wolfShould = 2200;
kernel_timing_trigger(1, 110);
player_set_commands_allowed(true);
break;
@@ -593,24 +593,24 @@ void Room408::pre_parser() {
void Room408::parser() {
bool lookFlag = player_said_any("look", "look at");
- bool talkFlag = player_said("talk", "talk to");
+ bool talkFlag = player_said_any("talk", "talk to");
bool takeFlag = player_said("take");
bool enterFlag = player_said("enter");
bool useFlag = player_said_any("push", "pull", "gear", "open", "close");
if (player_said("conv408a")) {
- if (_G(kernel).trigger == -1) {
- _val7 = 1103;
- _val9 = 2102;
+ if (_G(kernel).trigger == 1) {
+ _ripleyShould = 1103;
+ _wolfShould = 2102;
conv_resume();
} else {
conv408a();
}
} else if (talkFlag && player_said("WOLF")) {
player_set_commands_allowed(false);
- _val4 = -1;
- _val6 = 1000;
- _val7 = 1100;
+ _wolfTrigger = -1;
+ _ripleyMode = 1000;
+ _ripleyShould = 1100;
kernel_timing_trigger(1, 102, KT_DAEMON, KT_PARSE);
} else if (lookFlag && player_said("WINDOW")) {
digi_play("408r03", 1);
@@ -756,11 +756,11 @@ void Room408::conv408a() {
if (sound) {
if (who <= 0) {
- _val9 = 2101;
- digi_play(sound, 1);
+ _wolfShould = 2101;
+ digi_play(sound, 1, 255, 1);
} else if (who == 1) {
- _val7 = 1102;
- digi_play(sound, 1);
+ _ripleyShould = 1102;
+ digi_play(sound, 1, 255, 1);
}
} else {
conv_resume();
@@ -770,7 +770,7 @@ void Room408::conv408a() {
bool Room408::takePlank() {
switch (_G(kernel).trigger) {
case -1:
- if (inv_player_has("PLANK")) {
+ if (!inv_player_has("PLANK")) {
player_set_commands_allowed(false);
if (_G(flags)[V131] == 408) {
@@ -865,6 +865,20 @@ bool Room408::takeEdger() {
return true;
}
+void Room408::syncGame(Common::Serializer &s) {
+ s.syncAsSint32LE(_ripleyMode);
+ s.syncAsSint32LE(_ripleyShould);
+ s.syncAsSint32LE(_wolfMode);
+ s.syncAsSint32LE(_wolfShould);
+ s.syncAsSint32LE(_currentNode);
+ s.syncAsSint32LE(_ripExits);
+ s.syncAsSint32LE(_wolf);
+ s.syncAsSint32LE(_val1);
+ s.syncAsSint32LE(_ripleyTrigger);
+ s.syncAsSint32LE(_val3);
+ s.syncAsSint32LE(_wolfTrigger);
+}
+
} // namespace Rooms
} // namespace Riddle
} // namespace M4
diff --git a/engines/m4/riddle/rooms/section4/room408.h b/engines/m4/riddle/rooms/section4/room408.h
index 149471a1e04..cca68b90836 100644
--- a/engines/m4/riddle/rooms/section4/room408.h
+++ b/engines/m4/riddle/rooms/section4/room408.h
@@ -31,14 +31,14 @@ namespace Rooms {
class Room408 : public Room {
private:
int _val1 = 0;
- int _val2 = 0;
int _val3 = 0;
- int _val4 = 0;
+ int _ripleyTrigger = -1;
+ int _wolfTrigger = -1;
int _currentNode = 0;
- int _val6 = 0;
- int _val7 = 0;
- int _val8 = 0;
- int _val9 = 0;
+ int _ripleyMode = 0;
+ int _ripleyShould = 0;
+ int _wolfMode = 0;
+ int _wolfShould = 0;
machine *_exit = nullptr;
int _ripExits = 0;
machine *_edger = nullptr;
@@ -65,6 +65,7 @@ public:
void daemon() override;
void pre_parser() override;
void parser() override;
+ void syncGame(Common::Serializer &s) override;
};
} // namespace Rooms
More information about the Scummvm-git-logs
mailing list