[Scummvm-git-logs] scummvm master -> 1e43ecf0764a55350ac7d0b78f87f36bc7e8d801
dreammaster
noreply at scummvm.org
Mon Nov 18 06:49:54 UTC 2024
This automated email contains information about 2 new commits which have been
pushed to the 'scummvm' repo located at https://github.com/scummvm/scummvm .
Summary:
89a03ffa87 M4: RIDDLE: Fixes for room 305 drawer opening
1e43ecf076 M4: Fix setting verb when adding custom hotspots
Commit: 89a03ffa87926635b873139b4b8c108dd627dde1
https://github.com/scummvm/scummvm/commit/89a03ffa87926635b873139b4b8c108dd627dde1
Author: Paul Gilbert (dreammaster at scummvm.org)
Date: 2024-11-17T22:49:39-08:00
Commit Message:
M4: RIDDLE: Fixes for room 305 drawer opening
Changed paths:
engines/m4/riddle/rooms/section3/room305.cpp
engines/m4/riddle/rooms/section3/room305.h
diff --git a/engines/m4/riddle/rooms/section3/room305.cpp b/engines/m4/riddle/rooms/section3/room305.cpp
index f7245ff9314..31e1614ab68 100644
--- a/engines/m4/riddle/rooms/section3/room305.cpp
+++ b/engines/m4/riddle/rooms/section3/room305.cpp
@@ -54,7 +54,7 @@ void Room305::init() {
_triggerMode2 = KT_DAEMON;
_val2 = 0;
_val3 = 0;
- _val4 = 0;
+ _drawerOpen = false;
}
_val5 = 0;
@@ -173,7 +173,7 @@ void Room305::init() {
hotspot_set_active("FENG LI", false);
}
- if (_val4) {
+ if (_drawerOpen) {
ws_demand_facing(11);
player_update_info();
@@ -193,11 +193,11 @@ void Room305::init() {
hotspot_hide_all();
mouse_set_sprite(0);
- hotspot_add_dynamic("LOOK AT", " ", 0, 0, 1500, 480, 0);
+ hotspot_add_dynamic("LOOK AT", " ", 0, 0, 1500, 480, false);
if (inv_object_is_here("TURTLE TREATS")) {
- hotspot_add_dynamic("LOOK AT", "TURTLE TREATS", 1105, 208, 1175, 266, 6);
- hotspot_add_dynamic("LOOK AT", "TURTLE TREATS", 1052, 230, 1147, 296, 6);
+ hotspot_add_dynamic("LOOK AT", "TURTLE TREATS", 1105, 208, 1175, 266, 6, true);
+ hotspot_add_dynamic("LOOK AT", "TURTLE TREATS", 1052, 230, 1147, 296, 6, true);
}
_openDrawer = series_show_sprite("open drawer", 0, 0);
@@ -576,7 +576,7 @@ void Room305::pre_parser() {
bool lookFlag = player_said_any("look", "look at");
bool takeFlag = player_said("take");
- if (_val4 && !(takeFlag && player_said("turtle treats"))
+ if (_drawerOpen && !(takeFlag && player_said("turtle treats"))
&& !(lookFlag && player_said("turtle treats"))) {
player_set_commands_allowed(false);
Common::strcpy_s(_G(player).verb, "close");
@@ -702,7 +702,7 @@ void Room305::parser() {
case 2:
series_unload(_rip4);
player_set_commands_allowed(true);
- _val4 = 0;
+ _drawerOpen = false;
break;
default:
@@ -737,11 +737,11 @@ void Room305::parser() {
hotspot_add_dynamic("LOOK AT", " ", 0, 0, 1500, 374, 0);
if (inv_object_is_here("TURTLE TREATS")) {
- hotspot_add_dynamic("LOOK AT", "TURTLE TREATS", 1105, 208, 1175, 266, 6);
- hotspot_add_dynamic("LOOK AT", "TURTLE TREATS", 1052, 230, 1147, 296, 6);
+ hotspot_add_dynamic("LOOK AT", "TURTLE TREATS", 1105, 208, 1175, 266, 6, true);
+ hotspot_add_dynamic("LOOK AT", "TURTLE TREATS", 1052, 230, 1147, 296, 6, true);
}
- _val4 = 1;
+ _drawerOpen = true;
_openDrawer = series_show_sprite("open drawer", 0, 0);
if (inv_object_is_here("TURTLE TREATS")) {
@@ -778,7 +778,7 @@ void Room305::parser() {
} else if (takeFlag && player_said("turtle treats") && _G(kernel).trigger == 2) {
series_unload(_rip4);
player_set_commands_allowed(true);
- _val4 = 0;
+ _drawerOpen = false;
} else if (takeFlag && player_said("turtle")) {
if (_G(flags)[GLB_TEMP_12]) {
@@ -1031,7 +1031,7 @@ next4:
interface_hide();
hotspot_hide_all();
mouse_set_sprite(0);
- hotspot_add_dynamic("LOOK AT", " ", 0, 0, 1500, 480, 0);
+ hotspot_add_dynamic("LOOK AT", " ", 0, 0, 1500, 480, false);
Common::String digiName;
if (flag) {
@@ -1486,6 +1486,54 @@ int Room305::getItemY(int seriesHash) const {
return (374 - h) / 2;
}
+void Room305::syncGame(Common::Serializer &s) {
+ s.syncAsByte(_drawerOpen);
+ s.syncAsUint32LE(_val1);
+ s.syncAsUint32LE(_val2);
+ s.syncAsUint32LE(_val3);
+ s.syncAsUint32LE(_val5);
+ s.syncAsUint32LE(_val6);
+ s.syncAsUint32LE(_val7);
+ s.syncAsUint32LE(_val8);
+ s.syncAsUint32LE(_ripMedHigh);
+ s.syncAsUint32LE(_ripLooksDown);
+ s.syncAsUint32LE(_shrunkenHead1);
+ s.syncAsUint32LE(_incenseHolder1);
+ s.syncAsUint32LE(_crystalSkull1);
+ s.syncAsUint32LE(_whaleboneHorn1);
+ s.syncAsUint32LE(_wheeledToy1);
+ s.syncAsUint32LE(_butterfly1);
+ s.syncAsUint32LE(_amulet1);
+ s.syncAsUint32LE(_knife1);
+ s.syncAsUint32LE(_banknote1);
+ s.syncAsUint32LE(_stamp1);
+ s.syncAsUint32LE(_map1);
+ s.syncAsUint32LE(_emerald1);
+ s.syncAsUint32LE(_easterIslandCartoon);
+ s.syncAsUint32LE(_chinshiCartoon);
+ s.syncAsUint32LE(_tabletsCartoon);
+ s.syncAsUint32LE(_epitaphCartoon);
+ s.syncAsUint32LE(_graveyardCartoon);
+ s.syncAsUint32LE(_castleCartoon);
+ s.syncAsUint32LE(_mocaMocheCartoon);
+ s.syncAsUint32LE(_templeCartoon);
+ s.syncAsUint32LE(_emeraldCartoon);
+ s.syncAsUint32LE(_jellyBeans);
+ s.syncAsUint32LE(_feng1);
+ s.syncAsUint32LE(_feng2);
+ s.syncAsUint32LE(_feng3);
+ s.syncAsUint32LE(_rip1);
+ s.syncAsUint32LE(_rip2);
+ s.syncAsUint32LE(_rip3);
+ s.syncAsUint32LE(_rip4);
+ s.syncAsUint32LE(_suit1);
+ s.syncAsUint32LE(_suit2);
+ s.syncAsUint32LE(_suit3);
+ s.syncAsUint32LE(_conv1);
+ s.syncAsUint32LE(_cartoon);
+ s.syncAsUint32LE(_lookUp);
+}
+
} // namespace Rooms
} // namespace Riddle
} // namespace M4
diff --git a/engines/m4/riddle/rooms/section3/room305.h b/engines/m4/riddle/rooms/section3/room305.h
index 6c16f562b6e..ac7ea4cbb06 100644
--- a/engines/m4/riddle/rooms/section3/room305.h
+++ b/engines/m4/riddle/rooms/section3/room305.h
@@ -33,13 +33,13 @@ private:
int _val1 = 0;
int _val2 = 0;
int _val3 = 0;
- int _val4 = 0;
int _val5 = 0;
int _val6 = 0;
int _val7 = 0;
int _val8 = 0;
KernelTriggerType _triggerMode1 = KT_DAEMON;
KernelTriggerType _triggerMode2 = KT_DAEMON;
+ bool _drawerOpen = false;
int _ripMedHigh = 0;
int _ripLooksDown = 0;
machine *_turtle = nullptr;
@@ -120,6 +120,7 @@ public:
void daemon() override;
void pre_parser() override;
void parser() override;
+ void syncGame(Common::Serializer &s) override;
};
} // namespace Rooms
Commit: 1e43ecf0764a55350ac7d0b78f87f36bc7e8d801
https://github.com/scummvm/scummvm/commit/1e43ecf0764a55350ac7d0b78f87f36bc7e8d801
Author: Paul Gilbert (dreammaster at scummvm.org)
Date: 2024-11-17T22:49:40-08:00
Commit Message:
M4: Fix setting verb when adding custom hotspots
Changed paths:
engines/m4/adv_r/adv_hotspot.cpp
diff --git a/engines/m4/adv_r/adv_hotspot.cpp b/engines/m4/adv_r/adv_hotspot.cpp
index 0a8a62dc095..57917226714 100644
--- a/engines/m4/adv_r/adv_hotspot.cpp
+++ b/engines/m4/adv_r/adv_hotspot.cpp
@@ -180,7 +180,7 @@ HotSpotRec *hotspot_add_dynamic(const char *verb, const char *noun,
error("hotspot_new failed");
hotspot_newVocab(hotspot, noun);
- hotspot_newVocab(hotspot, verb);
+ hotspot_newVerb(hotspot, verb);
hotspot->feet_x = walkto_x;
hotspot->feet_y = walkto_y;
hotspot->cursor_number = cursor;
More information about the Scummvm-git-logs
mailing list