[Scummvm-git-logs] scummvm master -> 07e04aeb20c773d362d9202b5a7392ce1780a770
dreammaster
noreply at scummvm.org
Sun Oct 27 05:17:23 UTC 2024
This automated email contains information about 3 new commits which have been
pushed to the 'scummvm' repo located at https://github.com/scummvm/scummvm .
Summary:
5f1ec8ff94 M4: RIDDLE: Add missing room 201 daemon code
cac06eae66 M4: RIDDLE: Naming of facing parameter in sendWSMessage_10000
07e04aeb20 M4: RIDDLE: Remove redundant checks if globals is initialized
Commit: 5f1ec8ff94cf317efe71b881d3583d158cd82d2f
https://github.com/scummvm/scummvm/commit/5f1ec8ff94cf317efe71b881d3583d158cd82d2f
Author: Paul Gilbert (dreammaster at scummvm.org)
Date: 2024-10-26T19:11:46-07:00
Commit Message:
M4: RIDDLE: Add missing room 201 daemon code
Changed paths:
engines/m4/riddle/rooms/section2/room201.cpp
diff --git a/engines/m4/riddle/rooms/section2/room201.cpp b/engines/m4/riddle/rooms/section2/room201.cpp
index 17c8bd1d621..1c8967c4731 100644
--- a/engines/m4/riddle/rooms/section2/room201.cpp
+++ b/engines/m4/riddle/rooms/section2/room201.cpp
@@ -28,6 +28,38 @@ namespace M4 {
namespace Riddle {
namespace Rooms {
+static const char *LOOK[][2] = {
+ { "VASE", "201r08" },
+ { "POSTCARD RACK", "201r09" },
+ { "POSTER", "201r10" },
+ { "WINDOW", "201r11" },
+ { "MAGAZINES", "201r12" },
+ { "AGENT", "201r13" },
+ { "RUG", "201r14" },
+ { "LAMP", "201r37" },
+ { "PLANT", "201r38" },
+ { "SOFA", "201r39" },
+ { "CHAIR", "201r39" },
+ { "PHONE", "201r40" },
+ { nullptr, nullptr }
+};
+
+static const char *TAKE[][2] = {
+ { "POSTCARD RACK", "201r19" },
+ { "MAGAZINES", "201r20" },
+ { "VASE", "201r41" },
+ { "RUG", "201r42" },
+ { nullptr, nullptr }
+};
+
+static const char *USE[][2] = {
+ { "MONEY WITH AGENT", "201r43" },
+ { "SOFA", "201r44" },
+ { "CHAIR", "201r44" },
+ { "PHONE", "201r45" },
+ { nullptr, nullptr }
+};
+
Room201::Room201() : Section2Room() {
Common::fill(_items, _items + 12, 0);
Common::fill(_itemFlags, _itemFlags + 12, 0);
@@ -454,6 +486,7 @@ void Room201::daemon() {
_conv1 = 8;
_trigger10 = _trigger11 = _trigger12 = -1;
_flag3 = false;
+ kernel_timing_trigger(1, 511);
break;
case 509:
@@ -532,8 +565,20 @@ void Room201::daemon() {
default:
break;
}
- } else {
+ } else if (_num3 == 9) {
+ switch (_conv1) {
+ case 8:
+ sendWSMessage_10000(1, _agent, _guyWriting, 23, 32, 510, _guyWriting, 32, 23, 1);
+ break;
+
+ case 9:
+ sendWSMessage_10000(1, _agent, _guyWriting, 22, 22, 510, _guyWriting, 22, 22, 0);
+ break;
+ default:
+ sendWSMessage_10000(1, _agent, _guyWriting, 22, 2, 510, _guyWriting, 1, 1, 0);
+ break;
+ }
}
break;
@@ -631,6 +676,20 @@ void Room201::daemon() {
_num2 = 1;
break;
+ case 1999:
+ ws_get_walker_info(_mei0, &_G(player_info).x, &_G(player_info).y,
+ &_G(player_info).scale, &_G(player_info).depth, &_G(player_info).facing);
+ _mei2 = TriggerMachineByHash(1, 1, 0, 0, 0, 0, _G(player_info).x, _G(player_info).y,
+ _G(player_info).scale, 0x900, 0, triggerMachineByHashCallback, "Mei Chen other states machine");
+ series_place_sprite("candleman shadow4", 0, _G(player_info).x, _G(player_info).y,
+ _G(player_info).scale, 0xf00);
+ sendWSMessage_10000(1, _mei2, _meiWalk, 1, 1, 2000, _meiWalk, 1, 1, 0);
+ sendWSMessage_60000(_mei0);
+ kernel_timing_trigger(1, 9300);
+ _val5 = _val6 = 0;
+ _trigger9 = _val8 = _val9 = -1;
+ break;
+
case 2000:
if (_val5 == 0 && _val6 == 0 && _trigger9 != -1) {
kernel_trigger_dispatchx(_trigger9);
@@ -1438,42 +1497,12 @@ void Room201::daemon() {
break;
default:
+ if (_G(kernel).trigger < 9999)
+ error("Unhandled trigger");
break;
}
}
-static const char *LOOK[][2] = {
- { "VASE", "201r08" },
- { "POSTCARD RACK", "201r09" },
- { "POSTER", "201r10" },
- { "WINDOW", "201r11" },
- { "MAGAZINES", "201r12" },
- { "AGENT", "201r13" },
- { "RUG", "201r14" },
- { "LAMP", "201r37" },
- { "PLANT", "201r38" },
- { "SOFA", "201r39" },
- { "CHAIR", "201r39" },
- { "PHONE", "201r40" },
- { nullptr, nullptr }
-};
-
-static const char *TAKE[][2] = {
- { "POSTCARD RACK", "201r19" },
- { "MAGAZINES", "201r20" },
- { "VASE", "201r41" },
- { "RUG", "201r42" },
- { nullptr, nullptr }
-};
-
-static const char *USE[][2] = {
- { "MONEY WITH AGENT", "201r43" },
- { "SOFA", "201r44" },
- { "CHAIR", "201r44" },
- { "PHONE", "201r45" },
- { nullptr, nullptr }
-};
-
void Room201::parser() {
bool lookFlag = player_said_any("look", "look at");
bool takeFlag = player_said("take");
Commit: cac06eae66fb5ad2b38c7beb9415f5d973b3e9bd
https://github.com/scummvm/scummvm/commit/cac06eae66fb5ad2b38c7beb9415f5d973b3e9bd
Author: Paul Gilbert (dreammaster at scummvm.org)
Date: 2024-10-26T21:47:03-07:00
Commit Message:
M4: RIDDLE: Naming of facing parameter in sendWSMessage_10000
Changed paths:
engines/m4/riddle/triggers.cpp
engines/m4/riddle/triggers.h
diff --git a/engines/m4/riddle/triggers.cpp b/engines/m4/riddle/triggers.cpp
index 8a51d9e4b49..36e59ae8ff4 100644
--- a/engines/m4/riddle/triggers.cpp
+++ b/engines/m4/riddle/triggers.cpp
@@ -108,16 +108,16 @@ void sendWSMessage_10000(int val1, machine *mach, int series1, int val3,
sendWSMessage(STARTWALK << 16, 0, mach, 0, nullptr, 1);
}
-void sendWSMessage_10000(machine *mach, int destX, int destY, int index, int trigger, int val4) {
- static const byte NUMS[14] = { 0, 0, 1, 2, 3, 4, 4, 5, 6, 7, 8, 9, 9, 0 };
+void sendWSMessage_10000(machine *mach, int destX, int destY, int facing, int trigger, int complete_walk) {
+ static const byte FACINGS[14] = { 0, 0, 1, 2, 3, 4, 4, 5, 6, 7, 8, 9, 9, 0 };
_G(globals)[GLB_TEMP_1] = destX << 16;
_G(globals)[GLB_TEMP_2] = destY << 16;
_G(globals)[GLB_TEMP_3] = MulSF16((destY << 16) - _G(globals)[V002], _G(globals)[V006])
+ _G(globals)[V004];
- _G(globals)[GLB_TEMP_4] = (index > 0 ? NUMS[index] : -1) << 16;
+ _G(globals)[GLB_TEMP_4] = (facing > 0 ? FACINGS[facing] : -1) << 16;
_G(globals)[GLB_TEMP_5] = kernel_trigger_create(trigger);
- _G(globals)[GLB_TEMP_6] = val4 << 16;
+ _G(globals)[GLB_TEMP_6] = complete_walk << 16;
sendWSMessage(STARTWALK << 16, 0, mach, 0, nullptr, 1);
}
diff --git a/engines/m4/riddle/triggers.h b/engines/m4/riddle/triggers.h
index b3e8bdcf70d..bb9d57dcc57 100644
--- a/engines/m4/riddle/triggers.h
+++ b/engines/m4/riddle/triggers.h
@@ -42,8 +42,8 @@ extern void setGlobals4(int series, int val2, int val3, int val4);
extern void sendWSMessage_10000(int val1, machine *mach, int val2, int val3,
int val4, int trigger, int series2, int val6, int val7, int val8);
-extern void sendWSMessage_10000(machine *mach, int destX, int destY, int index,
- int trigger, int val4);
+extern void sendWSMessage_10000(machine *mach, int destX, int destY, int facing,
+ int trigger, int complete_walk);
machine *triggerMachineByHash_3000(int myHash, int dataHash,
int normalDir, int shadowDir, int param1, int param2,
Commit: 07e04aeb20c773d362d9202b5a7392ce1780a770
https://github.com/scummvm/scummvm/commit/07e04aeb20c773d362d9202b5a7392ce1780a770
Author: Paul Gilbert (dreammaster at scummvm.org)
Date: 2024-10-26T21:51:02-07:00
Commit Message:
M4: RIDDLE: Remove redundant checks if globals is initialized
Changed paths:
engines/m4/adv_r/adv_walk.cpp
engines/m4/graphics/gr_series.cpp
diff --git a/engines/m4/adv_r/adv_walk.cpp b/engines/m4/adv_r/adv_walk.cpp
index f0b77e89d88..c5d31111479 100644
--- a/engines/m4/adv_r/adv_walk.cpp
+++ b/engines/m4/adv_r/adv_walk.cpp
@@ -115,9 +115,6 @@ void ws_walk(machine *myWalker, int32 x, int32 y, GrBuff **, int16 trigger, int3
if (!myWalker || !myWalker->myAnim8)
error_show(FL, 'W:-(');
- if (!_G(globals))
- error_show(FL, 'OOM1');
-
// Get walker's current location
currX = myWalker->myAnim8->myRegs[IDX_X] >> 16;
currY = myWalker->myAnim8->myRegs[IDX_Y] >> 16;
@@ -266,7 +263,7 @@ void ws_demand_facing(machine *myWalker, int32 facing) {
void ws_demand_location(machine *myWalker, int32 x, int32 y, int facing) {
frac16 s;
- if (!myWalker || !myWalker->myAnim8 || !_G(globals)) {
+ if (!myWalker || !myWalker->myAnim8) {
term_message("demand locn, no walker");
return;
}
@@ -393,7 +390,7 @@ void ws_get_walker_info(machine *myWalker, int32 *x, int32 *y, int32 *s, int32 *
Anim8 *myAnim8;
const int8 facings[10] = { 1, 2, 3, 4, 5, 7, 8, 9, 10, 11 };
- if (!myWalker || !myWalker->myAnim8 || !_G(globals)) {
+ if (!myWalker || !myWalker->myAnim8) {
error_show(FL, 'W:-(');
return;
}
diff --git a/engines/m4/graphics/gr_series.cpp b/engines/m4/graphics/gr_series.cpp
index 7ac98e7e1ab..a1d3cd5ccb1 100644
--- a/engines/m4/graphics/gr_series.cpp
+++ b/engines/m4/graphics/gr_series.cpp
@@ -29,8 +29,6 @@
namespace M4 {
-#define CHECK_SERIES if (!_G(globals)) error_show(FL, 'SERI');
-
void Series::play(const char *seriesName, frac16 layer, uint32 flags,
int16 triggerNum, int32 frameRate, int32 loopCount, int32 s,
int32 x, int32 y, int32 firstFrame, int32 lastFrame) {
@@ -184,8 +182,6 @@ machine *series_stream(const char *seriesName, int32 frameRate, int32 layer, int
}
bool series_stream_break_on_frame(machine *m, int32 frameNum, int32 trigger) {
- CHECK_SERIES
-
// Parameter verification
if (!m)
return false;
@@ -200,8 +196,6 @@ bool series_stream_break_on_frame(machine *m, int32 frameNum, int32 trigger) {
}
void series_set_frame_rate(machine *m, int32 newFrameRate) {
- CHECK_SERIES
-
if ((!m) || (!m->myAnim8) || !verifyMachineExists(m)) {
if (g_engine->getGameType() == GType_Burger)
error_show(FL, 'SSFR');
@@ -212,9 +206,7 @@ void series_set_frame_rate(machine *m, int32 newFrameRate) {
}
machine *series_show(const char *seriesName, frac16 layer, uint32 flags, int16 triggerNum,
- int32 duration, int32 index, int32 s, int32 x, int32 y) {
- CHECK_SERIES
-
+ int32 duration, int32 index, int32 s, int32 x, int32 y) {
int32 myAssetIndex;
RGB8 *tempPalettePtr = nullptr;
@@ -260,8 +252,6 @@ machine *series_show_sprite(const char *seriesName, int32 index, int32 layer) {
machine *series_play(const char *seriesName, frac16 layer, uint32 flags, int16 triggerNum,
int32 frameRate, int32 loopCount, int32 s, int32 x, int32 y,
int32 firstFrame, int32 lastFrame) {
- CHECK_SERIES
-
int32 myAssetIndex;
RGB8 *tempPalettePtr = nullptr;
More information about the Scummvm-git-logs
mailing list