[Scummvm-git-logs] scummvm master -> 75d84f7968795985786a8ae8bbf4005932013902
dreammaster
noreply at scummvm.org
Mon Jun 29 09:56:53 UTC 2026
This automated email contains information about 5 new commits which have been
pushed to the 'scummvm' repo located at https://api.github.com/repos/scummvm/scummvm .
Summary:
8991a9f54d MADS: FOREST: Clarify loop param as 'y' in open_interface/close_interface
98d15e042e MADS: FOREST: Add missing code from room_404_daemon
bcba744ea8 MADS: FOREST: Fix premature commands_allowed set in room 501
a93e3c3f2a MADS: FOREST: Change all player_has calls to use inventory item constants
75d84f7968 MADS: FOREST: Add optional previous room param to console teleport command
Commit: 8991a9f54d76ba9c192c60e661d559df0c768a90
https://github.com/scummvm/scummvm/commit/8991a9f54d76ba9c192c60e661d559df0c768a90
Author: Paul Gilbert (dreammaster at scummvm.org)
Date: 2026-06-29T19:56:35+10:00
Commit Message:
MADS: FOREST: Clarify loop param as 'y' in open_interface/close_interface
Changed paths:
engines/mads/madsv2/forest/extra.cpp
diff --git a/engines/mads/madsv2/forest/extra.cpp b/engines/mads/madsv2/forest/extra.cpp
index c7b10ac19c9..cd102bef847 100644
--- a/engines/mads/madsv2/forest/extra.cpp
+++ b/engines/mads/madsv2/forest/extra.cpp
@@ -195,9 +195,9 @@ void open_interface(InterfaceButton button) {
if (button == JOURNAL_FLY) {
if (count != 23) {
- int x = count * 2 + 46;
+ int y = count * 2 + 46;
int scale = 100 - count * 9;
- sprite_draw_scaled(series_list[0], 1, &scr_inter, 30, x, scale);
+ sprite_draw_scaled(series_list[0], 1, &scr_inter, 30, y, scale);
}
} else {
sprite_draw(series_list[0], 1, &scr_inter, JOURNAL_X, JOURNAL_Y);
@@ -205,9 +205,9 @@ void open_interface(InterfaceButton button) {
if (button == BP_FLY) {
if (count != 23) {
- int x = count * 2 + 40;
+ int y = count * 2 + 40;
int scale = 100 - count * 9;
- sprite_draw_scaled(series_list[1], 1, &scr_inter, 96, x, scale);
+ sprite_draw_scaled(series_list[1], 1, &scr_inter, 96, y, scale);
}
} else {
sprite_draw(series_list[1], 1, &scr_inter, BP_X, BP_Y);
@@ -258,9 +258,9 @@ void close_interface(InterfaceButton button) {
if (button == JOURNAL_FLY) {
if (count != 0) {
- int x = count * 2 + 43;
+ int y = count * 2 + 43;
int scale = 100 - count * 9;
- sprite_draw_scaled(series_list[0], 1, &scr_inter, 30, x, scale);
+ sprite_draw_scaled(series_list[0], 1, &scr_inter, 30, y, scale);
} else {
sprite_draw(series_list[0], 1, &scr_inter, JOURNAL_X, JOURNAL_Y);
}
@@ -270,9 +270,9 @@ void close_interface(InterfaceButton button) {
if (button == BP_FLY) {
if (count != 0) {
- int x = count * 2 + 37;
+ int y = count * 2 + 37;
int scale = 100 - count * 9;
- sprite_draw_scaled(series_list[1], 1, &scr_inter, 96, x, scale);
+ sprite_draw_scaled(series_list[1], 1, &scr_inter, 96, y, scale);
} else {
sprite_draw(series_list[1], 1, &scr_inter, BP_X, BP_Y);
}
Commit: 98d15e042ee258b02cb8bc8a5cd9f30073681c4c
https://github.com/scummvm/scummvm/commit/98d15e042ee258b02cb8bc8a5cd9f30073681c4c
Author: Paul Gilbert (dreammaster at scummvm.org)
Date: 2026-06-29T19:56:36+10:00
Commit Message:
MADS: FOREST: Add missing code from room_404_daemon
Changed paths:
engines/mads/madsv2/forest/rooms/room404.cpp
diff --git a/engines/mads/madsv2/forest/rooms/room404.cpp b/engines/mads/madsv2/forest/rooms/room404.cpp
index dc548bf2c95..7971dc6e66f 100644
--- a/engines/mads/madsv2/forest/rooms/room404.cpp
+++ b/engines/mads/madsv2/forest/rooms/room404.cpp
@@ -562,10 +562,27 @@ static void room_404_daemon() {
case 26:
if (scratch._90 == 8) {
- // TODO: loc_6B27A
+ aa[6] = kernel_run_animation(kernel_name('L', 3), 103);
+ scratch.animation_info[6]._active = -1;
+ scratch._98 = 6;
+ kernel_reset_animation(scratch._9a, 0);
+ kernel_reset_animation(scratch._9c, 0);
+ kernel_synch(KERNEL_ANIM, scratch._9a, KERNEL_NOW, 0);
+ kernel_synch(KERNEL_ANIM, scratch._9c, KERNEL_NOW, 0);
+ kernel_synch(KERNEL_ANIM, aa[6], KERNEL_NOW, 0);
+ scratch._a4 = 2;
+ player.commands_allowed = 0;
+ global[g133] = 1;
+ global[g143] = 1;
+ kernel_timing_trigger(1, 110);
+ player.walker_visible = 0;
+ kernel_synch(KERNEL_PLAYER, 0, KERNEL_NOW, 0);
} else if (scratch._90 < 8) {
if (scratch._90 == 1) {
- // TODO: loc_6B318
+ kernel_reset_animation(scratch._9a, 0);
+ kernel_reset_animation(scratch._9c, 0);
+ global[g133] = 1;
+ global[g143] = 1;
} else if (scratch._90 == 6) {
aa[5] = kernel_run_animation(kernel_name('L', 1), 103);
aainfo[5]._active = -1;
Commit: bcba744ea8f8fcabfd919b763efc6767ce9d5244
https://github.com/scummvm/scummvm/commit/bcba744ea8f8fcabfd919b763efc6767ce9d5244
Author: Paul Gilbert (dreammaster at scummvm.org)
Date: 2026-06-29T19:56:36+10:00
Commit Message:
MADS: FOREST: Fix premature commands_allowed set in room 501
Changed paths:
engines/mads/madsv2/forest/rooms/room501.cpp
diff --git a/engines/mads/madsv2/forest/rooms/room501.cpp b/engines/mads/madsv2/forest/rooms/room501.cpp
index 2ab5a5091ae..17cf2c119b6 100644
--- a/engines/mads/madsv2/forest/rooms/room501.cpp
+++ b/engines/mads/madsv2/forest/rooms/room501.cpp
@@ -393,8 +393,8 @@ static void room_501_daemon() {
if (global[walker_converse_state] != 0) {
global[walker_converse_state] = 0;
close_interface(CANDLE_FLY);
+ player.commands_allowed = true;
}
- player.commands_allowed = true;
break;
case 24:
Commit: a93e3c3f2a67bbf31a049847f1f7cf3c41900124
https://github.com/scummvm/scummvm/commit/a93e3c3f2a67bbf31a049847f1f7cf3c41900124
Author: Paul Gilbert (dreammaster at scummvm.org)
Date: 2026-06-29T19:56:36+10:00
Commit Message:
MADS: FOREST: Change all player_has calls to use inventory item constants
Changed paths:
engines/mads/madsv2/forest/rooms/room199.cpp
engines/mads/madsv2/forest/rooms/room203.cpp
engines/mads/madsv2/forest/rooms/room303.cpp
engines/mads/madsv2/forest/rooms/room307.cpp
engines/mads/madsv2/forest/rooms/room308.cpp
engines/mads/madsv2/forest/rooms/room321.cpp
engines/mads/madsv2/forest/rooms/room322.cpp
diff --git a/engines/mads/madsv2/forest/rooms/room199.cpp b/engines/mads/madsv2/forest/rooms/room199.cpp
index b4f751b92f9..617f3fd47f2 100644
--- a/engines/mads/madsv2/forest/rooms/room199.cpp
+++ b/engines/mads/madsv2/forest/rooms/room199.cpp
@@ -20,6 +20,7 @@
*/
#include "mads/madsv2/forest/rooms/section1.h"
+#include "mads/madsv2/forest/mads/inventory.h"
#include "mads/madsv2/forest/mads/words.h"
#include "mads/madsv2/forest/digi.h"
#include "mads/madsv2/forest/global.h"
@@ -154,19 +155,11 @@ static void room_199_init() {
local->bg_active = slot;
}
-static int room_199_anim1() {
- if (!player_has(6)) return 0;
- if (!player_has(12)) return 0;
- if (!player_has(0)) return 0;
- if (!player_has(2)) return 0;
- if (!player_has(14)) return 0;
- if (!player_has(4)) return 0;
- if (!player_has(8)) return 0;
- if (!player_has(10)) return 0;
- if (!player_has(9)) return 0;
- if (!player_has(11)) return 0;
- if (!player_has(7)) return 0;
- return 1;
+static int room_199_has_materials() {
+ return player_has(reeds) && player_has(elm_leaves) && player_has(cogs) &&
+ player_has(feather) && player_has(stick) && player_has(lily_pad) &&
+ player_has(twine) && player_has(web) && player_has(vine_weed) &&
+ player_has(planks) && player_has(sticks) ? 1 : 0;
}
static void room_199_anim2() {
@@ -177,60 +170,91 @@ static void room_199_anim2() {
switch (local->val3) {
case 1:
- if (!player_has(14)) digi_play_build(521, 'e', 6, 1);
- else kernel_timing_trigger(2, 28);
- local->val3 = 2; return;
+ if (!player_has(stick))
+ digi_play_build(521, 'e', 6, 1);
+ else
+ kernel_timing_trigger(2, 28);
+ local->val3 = 2;
+ break;
case 2:
- if (!player_has(11)) digi_play_build(521, 'e', 10, 1);
- else kernel_timing_trigger(2, 28);
- local->val3 = 3; return;
+ if (!player_has(planks))
+ digi_play_build(521, 'e', 10, 1);
+ else
+ kernel_timing_trigger(2, 28);
+ local->val3 = 3;
+ break;
case 3:
- if (!player_has(12)) digi_play_build(521, 'e', 3, 1);
- else kernel_timing_trigger(2, 28);
- local->val3 = 4; return;
+ if (!player_has(elm_leaves))
+ digi_play_build(521, 'e', 3, 1);
+ else
+ kernel_timing_trigger(2, 28);
+ local->val3 = 4;
+ break;
case 4:
- if (!player_has(10)) digi_play_build(521, 'e', 8, 1);
+ if (!player_has(web)) digi_play_build(521, 'e', 8, 1);
else kernel_timing_trigger(2, 28);
- local->val3 = 5; return;
+ local->val3 = 5;
+ break;
case 5:
- if (!player_has(9)) digi_play_build(521, 'e', 9, 1);
- else kernel_timing_trigger(2, 28);
- local->val3 = 6; return;
+ if (!player_has(vine_weed))
+ digi_play_build(521, 'e', 9, 1);
+ else
+ kernel_timing_trigger(2, 28);
+ local->val3 = 6;
+ break;
case 6:
- if (!player_has(8)) digi_play_build(521, 'e', 20, 1);
- else kernel_timing_trigger(2, 28);
- local->val3 = 7; return;
+ if (!player_has(twine)) digi_play_build(521, 'e', 20, 1);
+ else
+ kernel_timing_trigger(2, 28);
+ local->val3 = 7;
+ break;
case 7:
- if (!player_has(2)) digi_play_build(521, 'e', 5, 1);
- else kernel_timing_trigger(2, 28);
- local->val3 = 8; return;
+ if (!player_has(feather))
+ digi_play_build(521, 'e', 5, 1);
+ else
+ kernel_timing_trigger(2, 28);
+ local->val3 = 8;
+ break;
case 8:
- if (!player_has(6)) digi_play_build(521, 'e', 2, 1);
- else kernel_timing_trigger(2, 28);
- local->val3 = 9; return;
+ if (!player_has(reeds))
+ digi_play_build(521, 'e', 2, 1);
+ else
+ kernel_timing_trigger(2, 28);
+ local->val3 = 9;
+ break;
case 9:
- if (!player_has(4)) digi_play_build(521, 'e', 7, 1);
- else kernel_timing_trigger(2, 28);
- local->val3 = 10; return;
+ if (!player_has(lily_pad))
+ digi_play_build(521, 'e', 7, 1);
+ else
+ kernel_timing_trigger(2, 28);
+ local->val3 = 10;
+ break;
case 10:
- if (!player_has(0)) digi_play_build(521, 'e', 4, 1);
- else kernel_timing_trigger(2, 28);
- local->val3 = 11; return;
+ if (!player_has(cogs))
+ digi_play_build(521, 'e', 4, 1);
+ else
+ kernel_timing_trigger(2, 28);
+ local->val3 = 11;
+ break;
case 11:
- if (!player_has(7)) digi_play_build(521, 'e', 21, 1);
- else kernel_timing_trigger(2, 28);
- local->val3 = 12; return;
+ if (!player_has(sticks))
+ digi_play_build(521, 'e', 21, 1);
+ else
+ kernel_timing_trigger(2, 28);
+ local->val3 = 12;
+ break;
case 12:
digi_play_build(521, 'b', 1, 1);
- local->val3 = 20; return;
+ local->val3 = 20;
+ break;
case 14:
local->val4 = 0;
local->val3 = -1;
local->anim_flag = 0;
kernel_timing_trigger(2, 113);
- return;
+ break;
default:
- return;
+ break;
}
}
@@ -261,7 +285,7 @@ static void room_199_anim4() {
switch (local->val3) {
case 1:
- if (player_has(14)) {
+ if (player_has(stick)) {
ss[8] = kernel_load_series("*ob014i", 0);
seq[8] = kernel_seq_stamp(ss[8], false, 1);
kernel_seq_depth(seq[8], 1);
@@ -270,7 +294,7 @@ static void room_199_anim4() {
}
kernel_timing_trigger(15, 115); return;
case 2:
- if (player_has(11)) {
+ if (player_has(planks)) {
ss[13] = kernel_load_series("*ob011i", 0);
seq[13] = kernel_seq_stamp(ss[13], false, 1);
kernel_seq_depth(seq[13], 1);
@@ -278,7 +302,7 @@ static void room_199_anim4() {
}
kernel_timing_trigger(15, 115); return;
case 3:
- if (player_has(12)) {
+ if (player_has(elm_leaves)) {
ss[5] = kernel_load_series("*ob012i", 0);
seq[5] = kernel_seq_stamp(ss[5], false, 1);
kernel_seq_depth(seq[5], 1);
@@ -287,7 +311,7 @@ static void room_199_anim4() {
}
kernel_timing_trigger(15, 115); return;
case 4:
- if (player_has(10)) {
+ if (player_has(web)) {
ss[11] = kernel_load_series("*ob010i", 0);
seq[11] = kernel_seq_stamp(ss[11], false, 1);
kernel_seq_depth(seq[11], 1);
@@ -296,7 +320,7 @@ static void room_199_anim4() {
}
kernel_timing_trigger(15, 115); return;
case 5:
- if (player_has(9)) {
+ if (player_has(vine_weed)) {
ss[12] = kernel_load_series("*ob009i", 0);
seq[12] = kernel_seq_stamp(ss[12], false, 1);
kernel_seq_depth(seq[12], 1);
@@ -305,7 +329,7 @@ static void room_199_anim4() {
}
kernel_timing_trigger(15, 115); return;
case 6:
- if (player_has(8)) {
+ if (player_has(twine)) {
ss[10] = kernel_load_series("*ob008i", 0);
seq[10] = kernel_seq_stamp(ss[10], false, 1);
kernel_seq_depth(seq[10], 1);
@@ -314,7 +338,7 @@ static void room_199_anim4() {
}
kernel_timing_trigger(15, 115); return;
case 7:
- if (player_has(2)) {
+ if (player_has(feather)) {
ss[7] = kernel_load_series("*ob002i", 0);
seq[7] = kernel_seq_stamp(ss[7], false, 1);
kernel_seq_depth(seq[7], 1);
@@ -323,7 +347,7 @@ static void room_199_anim4() {
}
kernel_timing_trigger(15, 115); return;
case 8:
- if (player_has(6)) {
+ if (player_has(reeds)) {
ss[4] = kernel_load_series("*ob006i", 0);
seq[4] = kernel_seq_stamp(ss[4], false, 1);
kernel_seq_depth(seq[4], 1);
@@ -332,7 +356,7 @@ static void room_199_anim4() {
}
kernel_timing_trigger(15, 115); return;
case 9:
- if (player_has(4)) {
+ if (player_has(lily_pad)) {
ss[9] = kernel_load_series("*ob004i", 0);
seq[9] = kernel_seq_stamp(ss[9], false, 1);
kernel_seq_depth(seq[9], 1);
@@ -341,7 +365,7 @@ static void room_199_anim4() {
}
kernel_timing_trigger(15, 115); return;
case 10:
- if (player_has(0)) {
+ if (player_has(cogs)) {
ss[6] = kernel_load_series("*ob000i", 0);
seq[6] = kernel_seq_stamp(ss[6], false, 1);
kernel_seq_depth(seq[6], 1);
@@ -350,7 +374,7 @@ static void room_199_anim4() {
}
kernel_timing_trigger(15, 115); return;
case 11:
- if (player_has(7)) {
+ if (player_has(sticks)) {
ss[14] = kernel_load_series("*ob007i", 0);
seq[14] = kernel_seq_stamp(ss[14], false, 1);
kernel_seq_depth(seq[14], 1);
@@ -388,7 +412,7 @@ static void room_199_daemon() {
leave_journal();
player.commands_allowed = true;
} else if (trig == 114) {
- int result = room_199_anim1();
+ int result = room_199_has_materials();
global[g100] = result;
if (result) {
digi_play_build(521, 'e', 11, 1);
diff --git a/engines/mads/madsv2/forest/rooms/room203.cpp b/engines/mads/madsv2/forest/rooms/room203.cpp
index fa821aa3285..ca964400e14 100644
--- a/engines/mads/madsv2/forest/rooms/room203.cpp
+++ b/engines/mads/madsv2/forest/rooms/room203.cpp
@@ -20,6 +20,7 @@
*/
#include "mads/madsv2/forest/rooms/section2.h"
+#include "mads/madsv2/forest/mads/inventory.h"
#include "mads/madsv2/forest/mads/words.h"
#include "mads/madsv2/forest/digi.h"
#include "mads/madsv2/forest/extra.h"
@@ -1779,7 +1780,7 @@ static void room_203_parser() {
}
if (player_parse(words_click_on, words_abigail, 0)) {
- if (player_has(5) && player_has(8)) {
+ if (player_has(pebbles) && player_has(twine)) {
kernel.trigger_setup_mode = KERNEL_TRIGGER_DAEMON;
aa[3] = kernel_run_animation(kernel_name('a', 1), 104);
scratch._98 = 30;
@@ -1789,7 +1790,7 @@ static void room_203_parser() {
player.walker_visible = false;
player.commands_allowed = false;
kernel_synch(KERNEL_ANIM, aa[3], KERNEL_NOW, 0);
- } else if (player_has(8)) {
+ } else if (player_has(twine)) {
kernel.trigger_setup_mode = KERNEL_TRIGGER_DAEMON;
aa[3] = kernel_run_animation(kernel_name('a', 2), 104);
aainfo[3]._active = -1;
diff --git a/engines/mads/madsv2/forest/rooms/room303.cpp b/engines/mads/madsv2/forest/rooms/room303.cpp
index d100e787a22..1c9e0990580 100644
--- a/engines/mads/madsv2/forest/rooms/room303.cpp
+++ b/engines/mads/madsv2/forest/rooms/room303.cpp
@@ -417,7 +417,7 @@ static void room_303_init() {
seq[1] = kernel_seq_stamp(ss[1], false, KERNEL_FIRST);
kernel_seq_depth(seq[1], 15);
- if (!player_has(6)) {
+ if (!player_has(reeds)) {
scratch._a6 = -1;
} else {
kernel_flip_hotspot(words_reeds, false);
diff --git a/engines/mads/madsv2/forest/rooms/room307.cpp b/engines/mads/madsv2/forest/rooms/room307.cpp
index aa93e5f53dc..f962111002d 100644
--- a/engines/mads/madsv2/forest/rooms/room307.cpp
+++ b/engines/mads/madsv2/forest/rooms/room307.cpp
@@ -649,7 +649,7 @@ static void room_307_daemon() {
kernel_abort_animation(scratch._9c);
scratch._9a = -1;
scratch._9c = -1;
- if (player_has(4)) {
+ if (player_has(lily_pad)) {
aa[8] = kernel_run_animation(kernel_name('R', 4), 111);
aainfo[8]._active = -1;
scratch._92 = 32;
@@ -766,7 +766,7 @@ static void room_307_daemon() {
break;
case 111: {
- if (player_has(14)) {
+ if (player_has(stick)) {
dont_frag_the_palette();
kernel_abort_animation(aa[8]);
} else {
diff --git a/engines/mads/madsv2/forest/rooms/room308.cpp b/engines/mads/madsv2/forest/rooms/room308.cpp
index a0d26669191..7161c78c886 100644
--- a/engines/mads/madsv2/forest/rooms/room308.cpp
+++ b/engines/mads/madsv2/forest/rooms/room308.cpp
@@ -1010,7 +1010,7 @@ static void room_308_init() {
aainfo[23]._active = -1;
return;
}
- if (player.been_here_before && player_has(5) && player_has(1) && player_has(15)) {
+ if (player.been_here_before && player_has(pebbles) && player_has(rubber_band) && player_has(forked_stick)) {
aa[3] = kernel_run_animation(kernel_name('t', 8), 103);
aainfo[3]._active = -1;
kernel_synch(KERNEL_ANIM, aa[3], KERNEL_NOW, 0);
@@ -1025,7 +1025,7 @@ static void room_308_init() {
aainfo[0]._active = -1;
return;
}
- if (!player_has(5) || !player_has(1)) {
+ if (!player_has(pebbles) || !player_has(rubber_band)) {
aa[4] = kernel_run_animation(kernel_name('t', 6), 104);
aainfo[4]._active = -1;
kernel_synch(KERNEL_ANIM, aa[4], KERNEL_NOW, 0);
@@ -1033,7 +1033,7 @@ static void room_308_init() {
global_midi_play(15);
return;
}
- if (player_has(15)) {
+ if (player_has(forked_stick)) {
aa[0] = kernel_run_animation(kernel_name('t', 1), 100);
kernel_reset_animation(aa[0], 13);
aainfo[0]._active = -1;
@@ -1143,7 +1143,7 @@ static void room_308_daemon() {
dont_frag_the_palette();
kernel_abort_animation(aa[2]);
aainfo[2]._active = 0;
- if (player_has(5) && player_has(1) && player_has(15)) {
+ if (player_has(pebbles) && player_has(rubber_band) && player_has(forked_stick)) {
aa[3] = kernel_run_animation(kernel_name('t', 8), 103);
aainfo[3]._active = -1;
kernel_synch(KERNEL_ANIM, aa[3], KERNEL_NOW, 0);
diff --git a/engines/mads/madsv2/forest/rooms/room321.cpp b/engines/mads/madsv2/forest/rooms/room321.cpp
index d3345e9daff..1e64d9af78b 100644
--- a/engines/mads/madsv2/forest/rooms/room321.cpp
+++ b/engines/mads/madsv2/forest/rooms/room321.cpp
@@ -134,7 +134,7 @@ static void room_321_init() {
scratch._a6 = -1;
scratch._aa = 0;
- if (player_has(6))
+ if (player_has(reeds))
kernel_flip_hotspot(words_reeds, false);
if (global[g068] == 0) {
@@ -725,7 +725,7 @@ static void room_321_daemon() {
global[g133] = 0;
room_321_anim2();
kernel_flip_hotspot(words_pebbles, false);
- if (!player_has(5))
+ if (!player_has(pebbles))
inter_move_object(pebbles, PLAYER);
global[g068] = -1;
global[player_score] = -1;
diff --git a/engines/mads/madsv2/forest/rooms/room322.cpp b/engines/mads/madsv2/forest/rooms/room322.cpp
index 97abe1a68e2..b7217c4f1cf 100644
--- a/engines/mads/madsv2/forest/rooms/room322.cpp
+++ b/engines/mads/madsv2/forest/rooms/room322.cpp
@@ -484,7 +484,7 @@ static void room_322_daemon() {
kernel_abort_animation(scratch._a6);
scratch._a4 = -1;
kernel_reset_animation(scratch._a6, 0);
- if (player_has(4)) {
+ if (player_has(lily_pad)) {
aa[8] = kernel_run_animation("*rm307r4", 111);
aainfo[8]._frame = -1;
scratch._9c = 32;
@@ -553,7 +553,7 @@ static void room_322_daemon() {
case 111: {
int16 seq_handle;
- if (player_has(14)) {
+ if (player_has(stick)) {
dont_frag_the_palette();
kernel_abort_animation(aa[8]);
} else {
@@ -572,7 +572,7 @@ static void room_322_daemon() {
player.walker_visible = false;
kernel_synch(KERNEL_PLAYER, 0, KERNEL_NOW, 0);
- if (player_has(14)) {
+ if (player_has(stick)) {
kernel_synch(KERNEL_ANIM, aa[8], KERNEL_NOW, 0);
} else {
kernel_synch(KERNEL_ANIM, aa[9], KERNEL_NOW, 0);
Commit: 75d84f7968795985786a8ae8bbf4005932013902
https://github.com/scummvm/scummvm/commit/75d84f7968795985786a8ae8bbf4005932013902
Author: Paul Gilbert (dreammaster at scummvm.org)
Date: 2026-06-29T19:56:36+10:00
Commit Message:
MADS: FOREST: Add optional previous room param to console teleport command
Changed paths:
engines/mads/madsv2/console.cpp
diff --git a/engines/mads/madsv2/console.cpp b/engines/mads/madsv2/console.cpp
index b61cd96e857..7c2fb30dc39 100644
--- a/engines/mads/madsv2/console.cpp
+++ b/engines/mads/madsv2/console.cpp
@@ -46,12 +46,15 @@ static int strToInt(const char *s) {
}
bool Console::cmdTeleport(int argc, const char **argv) {
- if (argc != 2) {
+ if (argc < 2) {
debugPrintf("Current room is: %d\n", new_room);
- debugPrintf("Usage: %s <room number>\n", argv[0]);
+ debugPrintf("Usage: %s <room number> [<previous room>]\n", argv[0]);
return true;
} else {
+ if (argc >= 3)
+ room_id = strToInt(argv[2]);
new_room = strToInt(argv[1]);
+
return false;
}
}
More information about the Scummvm-git-logs
mailing list