[Scummvm-git-logs] scummvm master -> 64d6a0c6a8e02f826a30ab926c37f7ba77287aa3
dreammaster
noreply at scummvm.org
Sat Oct 3 21:33:08 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:
45b418dcc2 MADS: FOREST: Fix incorrect flag indices
79a3f75343 MADS: FOREST: Use full dialog heap for popups
c56a8fd458 MADS: FOREST: Replace values with constants, nonfunctional
0722d4eb58 MADS: FOREST: Fix how displayed inventory object state is reset
64d6a0c6a8 MADS: FOREST: Correct animation handles in room 302, nonfunctional
Commit: 45b418dcc23cb39152c1e66195ab8abb34a7e422
https://github.com/scummvm/scummvm/commit/45b418dcc23cb39152c1e66195ab8abb34a7e422
Author: fusefib (fibofuse at gmail.com)
Date: 2026-10-03T11:33:01-10:00
Commit Message:
MADS: FOREST: Fix incorrect flag indices
Changed paths:
engines/mads/forest/rooms/room107.cpp
engines/mads/forest/rooms/room204.cpp
engines/mads/forest/rooms/room301.cpp
engines/mads/forest/rooms/room303.cpp
diff --git a/engines/mads/forest/rooms/room107.cpp b/engines/mads/forest/rooms/room107.cpp
index b3fdfddb7bb..eba545ea157 100644
--- a/engines/mads/forest/rooms/room107.cpp
+++ b/engines/mads/forest/rooms/room107.cpp
@@ -53,7 +53,7 @@ static Scratch scratch;
static void room_107_anim1();
static void room_107_init() {
- flags[8] = 5;
+ flags[4] = 5;
ss[0] = kernel_load_series(kernel_name('b', 1), 0);
seq[0] = kernel_seq_stamp(ss[0], false, KERNEL_FIRST);
diff --git a/engines/mads/forest/rooms/room204.cpp b/engines/mads/forest/rooms/room204.cpp
index d1db9970ce6..c43f717d66f 100644
--- a/engines/mads/forest/rooms/room204.cpp
+++ b/engines/mads/forest/rooms/room204.cpp
@@ -155,13 +155,13 @@ static void room_204_init() {
aainfo[count]._val4 = 0;
}
- if (previous_room != 199 && flags[18] != 3)
- flags[18]++;
+ if (previous_room != 199 && flags[9] != 3)
+ flags[9]++;
}
room_204_init1();
- if (flags[18] == -3)
- flags[18] = 1;
+ if (flags[9] == -3)
+ flags[9] = 1;
}
static void room_204_anim1() {
@@ -470,7 +470,7 @@ trigger_26:
trigger_100:
kernel_abort_animation(aa[0]);
aainfo[0]._active = 0;
- if (flags[18] == 1) {
+ if (flags[9] == 1) {
kernel_synch(2, 0, 4, 0);
global[g017] = 0;
global[g154] = 0;
diff --git a/engines/mads/forest/rooms/room301.cpp b/engines/mads/forest/rooms/room301.cpp
index 128f17c2f65..7104dba99dd 100644
--- a/engines/mads/forest/rooms/room301.cpp
+++ b/engines/mads/forest/rooms/room301.cpp
@@ -245,11 +245,11 @@ static void room_301_init() {
aainfo[count]._val4 = 0;
}
- if (previous_room != 199 && flags[30] != 3)
- flags[30]++;
+ if (previous_room != 199 && flags[15] != 3)
+ flags[15]++;
}
- if (flags[30] == 1)
+ if (flags[15] == 1)
room_301_init1();
else
room_301_init2();
@@ -260,7 +260,7 @@ static void room_301_anim1() {
aainfo[0]._frame = kernel_anim[aa[0]].frame;
int16 f = aainfo[0]._frame;
- if (flags[30] == 1) {
+ if (flags[15] == 1) {
if (f == 2) {
digi_play_build(301, '_', 2, 1);
} else if (f == 11) {
@@ -270,12 +270,12 @@ static void room_301_anim1() {
}
}
- if (flags[30] == 1 && kernel.trigger == 7) {
+ if (flags[15] == 1 && kernel.trigger == 7) {
aainfo[0]._frame = 12;
kernel_reset_animation(aa[0], 12);
}
- if (global[player_hyperwalked] == -1 && flags[30] != 1) {
+ if (global[player_hyperwalked] == -1 && flags[15] != 1) {
int16 reset_frame = scratch._92 - 1;
aainfo[0]._frame = reset_frame;
kernel_reset_animation(aa[0], reset_frame);
@@ -612,7 +612,7 @@ static void room_301_daemon() {
case 100:
kernel_abort_animation(aa[0]);
aainfo[0]._active = 0;
- if (flags[30] == 1) {
+ if (flags[15] == 1) {
kernel_synch(KERNEL_PLAYER, 0, KERNEL_NOW, 0);
aainfo[1]._active = -1;
global[g017] = 0;
diff --git a/engines/mads/forest/rooms/room303.cpp b/engines/mads/forest/rooms/room303.cpp
index 79e7f60d313..fd489e21a7d 100644
--- a/engines/mads/forest/rooms/room303.cpp
+++ b/engines/mads/forest/rooms/room303.cpp
@@ -430,11 +430,11 @@ static void room_303_init() {
aainfo[i]._val4 = 0;
}
- if (previous_room != 199 && flags[34] != 3)
- flags[34]++;
+ if (previous_room != 199 && flags[17] != 3)
+ flags[17]++;
}
- int16 f = flags[34];
+ int16 f = flags[17];
if (f == 1) {
room_303_init1();
} else if (f == 2 || f == 3) {
Commit: 79a3f753435250ea1b3abcca53820a3370485447
https://github.com/scummvm/scummvm/commit/79a3f753435250ea1b3abcca53820a3370485447
Author: fusefib (fibofuse at gmail.com)
Date: 2026-10-03T11:33:01-10:00
Commit Message:
MADS: FOREST: Use full dialog heap for popups
Fixes bugs #17255/#17256.
Changed paths:
engines/mads/forest/menus.cpp
diff --git a/engines/mads/forest/menus.cpp b/engines/mads/forest/menus.cpp
index aded4adcedf..ee31d766ac0 100644
--- a/engines/mads/forest/menus.cpp
+++ b/engines/mads/forest/menus.cpp
@@ -109,7 +109,7 @@ static void global_alert(int status) {
default: return;
}
- popup_dialog_create(game_menu_popup, 0x1000, 20);
+ popup_dialog_create(game_menu_popup, GAME_DIALOG_HEAP, 20);
popup_message(menu_quote(quote_id), 0x8000, -1);
if (status == SAVE_SUCCESSFUL) {
@@ -129,7 +129,7 @@ static void global_menu_save_restore(int save) {
PopupItem *cancel_button;
PopupItem *result;
- popup_dialog_create(game_menu_popup, 0x1000, 20);
+ popup_dialog_create(game_menu_popup, GAME_DIALOG_HEAP, 20);
popup_message(menu_quote(save ? quote_save_title : quote_restore_title), 0x8000, -1);
popup_blank(4);
@@ -194,7 +194,7 @@ static void global_menu_options() {
box_param.menu_text_y_offset = 3;
box_param.menu_text_x_bonus = 0;
- popup_dialog_create(game_menu_popup, 0x1000, 20);
+ popup_dialog_create(game_menu_popup, GAME_DIALOG_HEAP, 20);
popup_blank(1);
popup_blank(2);
@@ -258,7 +258,7 @@ static void global_menu_main() {
box_param.menu_text_y_offset = 3;
box_param.menu_text_x_bonus = 0;
- popup_dialog_create(game_menu_popup, 0x1000, 20);
+ popup_dialog_create(game_menu_popup, GAME_DIALOG_HEAP, 20);
popup_blank(1);
popup_blank(2);
Commit: c56a8fd458f8405d649473707fcdb7c138fb6ac4
https://github.com/scummvm/scummvm/commit/c56a8fd458f8405d649473707fcdb7c138fb6ac4
Author: fusefib (fibofuse at gmail.com)
Date: 2026-10-03T11:33:01-10:00
Commit Message:
MADS: FOREST: Replace values with constants, nonfunctional
Changed paths:
engines/mads/forest/menus.cpp
diff --git a/engines/mads/forest/menus.cpp b/engines/mads/forest/menus.cpp
index ee31d766ac0..3569364463a 100644
--- a/engines/mads/forest/menus.cpp
+++ b/engines/mads/forest/menus.cpp
@@ -110,14 +110,14 @@ static void global_alert(int status) {
}
popup_dialog_create(game_menu_popup, GAME_DIALOG_HEAP, 20);
- popup_message(menu_quote(quote_id), 0x8000, -1);
+ popup_message(menu_quote(quote_id), POPUP_CENTER, POPUP_FILL);
if (status == SAVE_SUCCESSFUL) {
mads_strlwr(save_game_buf);
- popup_message(save_game_buf, 0x8000, -1);
+ popup_message(save_game_buf, POPUP_CENTER, POPUP_FILL);
}
- popup_button(menu_quote(quote_menu_ok), 0x8000);
+ popup_button(menu_quote(quote_menu_ok), POPUP_CENTER);
popup_execute();
popup_dialog_destroy();
}
@@ -131,17 +131,17 @@ static void global_menu_save_restore(int save) {
popup_dialog_create(game_menu_popup, GAME_DIALOG_HEAP, 20);
- popup_message(menu_quote(save ? quote_save_title : quote_restore_title), 0x8000, -1);
+ popup_message(menu_quote(save ? quote_save_title : quote_restore_title), POPUP_CENTER, POPUP_FILL);
popup_blank(4);
save_list = popup_savelist(game_save_directory, menu_quote(quote_menu_empty),
99, 64, 63, 200, 10, save, game.last_save);
if (save) {
- go_button = popup_button(menu_quote(quote_menu_save), 0x400);
- game_menu_popup->clear_item = popup_button(menu_quote(quote_menu_clear), 0x8000);
+ go_button = popup_button(menu_quote(quote_menu_save), POPUP_BUTTON_LEFT);
+ game_menu_popup->clear_item = popup_button(menu_quote(quote_menu_clear), POPUP_CENTER);
} else {
- go_button = popup_button(menu_quote(quote_menu_restore), 0x400);
+ go_button = popup_button(menu_quote(quote_menu_restore), POPUP_BUTTON_LEFT);
}
cancel_button = popup_cancel_button(menu_quote(quote_menu_cancel));
@@ -202,18 +202,18 @@ static void global_menu_options() {
int initial_music = config_file.music_flag ? 0 : 1;
int former_screen_fade = config_file.screen_fade;
- music_item = popup_menu(menu_quote(quote_options_music), 0x8000, -1, 160, 10, 2, 40, initial_music);
+ music_item = popup_menu(menu_quote(quote_options_music), POPUP_CENTER, POPUP_FILL, 160, 10, 2, 40, initial_music);
popup_menu_option(music_item, menu_quote(quote_options_music_on));
popup_menu_option(music_item, menu_quote(quote_options_music_off));
popup_blank(1);
- fade_item = popup_menu(menu_quote(quote_options_fade), 0x8000, -1, 160, 10, 3, 40, former_screen_fade);
+ fade_item = popup_menu(menu_quote(quote_options_fade), POPUP_CENTER, POPUP_FILL, 160, 10, 3, 40, former_screen_fade);
popup_menu_option(fade_item, menu_quote(quote_options_fade_1));
popup_menu_option(fade_item, menu_quote(quote_options_fade_2));
popup_menu_option(fade_item, menu_quote(quote_options_fade_3));
- done_button = popup_button(menu_quote(quote_menu_done), 5);
+ done_button = popup_button(menu_quote(quote_menu_done), POPUP_LEFT);
cancel_button = popup_cancel_button(menu_quote(quote_menu_cancel));
popup_width_force(170);
@@ -263,13 +263,13 @@ static void global_menu_main() {
popup_blank(1);
popup_blank(2);
- save_item = popup_menu(menu_quote(quote_main_save), 0x8000, -1, 140, 0, 0, 0, 0);
+ save_item = popup_menu(menu_quote(quote_main_save), POPUP_CENTER, POPUP_FILL, 140, 0, 0, 0, 0);
popup_blank(1);
- restore_item = popup_menu(menu_quote(quote_main_restore), 0x8000, -1, 140, 0, 0, 0, 0);
+ restore_item = popup_menu(menu_quote(quote_main_restore), POPUP_CENTER, POPUP_FILL, 140, 0, 0, 0, 0);
popup_blank(1);
- resume_item = popup_menu(menu_quote(quote_main_resume), 0x8000, -1, 140, 0, 0, 0, 0);
+ resume_item = popup_menu(menu_quote(quote_main_resume), POPUP_CENTER, POPUP_FILL, 140, 0, 0, 0, 0);
popup_blank(1);
- exit_item = popup_menu(menu_quote(quote_main_exit), 0x8000, -1, 140, 0, 0, 0, 0);
+ exit_item = popup_menu(menu_quote(quote_main_exit), POPUP_CENTER, POPUP_FILL, 140, 0, 0, 0, 0);
popup_width_force(160);
game_menu_popup->cancel_item = resume_item;
Commit: 0722d4eb5801233f45ada8fa3c2c1347884ef557
https://github.com/scummvm/scummvm/commit/0722d4eb5801233f45ada8fa3c2c1347884ef557
Author: fusefib (fibofuse at gmail.com)
Date: 2026-10-03T11:33:01-10:00
Commit Message:
MADS: FOREST: Fix how displayed inventory object state is reset
Fix clearing paul_object_showing to true, which aliases object 1 and
prevents the rubber band from being added to inventory. #17259.
Changed paths:
engines/mads/core/inter.cpp
diff --git a/engines/mads/core/inter.cpp b/engines/mads/core/inter.cpp
index ef76d0a5399..9894ed965f0 100644
--- a/engines/mads/core/inter.cpp
+++ b/engines/mads/core/inter.cpp
@@ -1929,7 +1929,7 @@ void inter_turn_off_object() {
if (new_room == room_id) {
- Forest::paul_object_showing = true;
+ Forest::paul_object_showing = -1;
}
// will wipe out other 4 sprites
Commit: 64d6a0c6a8e02f826a30ab926c37f7ba77287aa3
https://github.com/scummvm/scummvm/commit/64d6a0c6a8e02f826a30ab926c37f7ba77287aa3
Author: fusefib (fibofuse at gmail.com)
Date: 2026-10-03T11:33:01-10:00
Commit Message:
MADS: FOREST: Correct animation handles in room 302, nonfunctional
Changed paths:
engines/mads/forest/rooms/room302.cpp
diff --git a/engines/mads/forest/rooms/room302.cpp b/engines/mads/forest/rooms/room302.cpp
index 4f73fb492b8..fde5630e7ab 100644
--- a/engines/mads/forest/rooms/room302.cpp
+++ b/engines/mads/forest/rooms/room302.cpp
@@ -618,8 +618,8 @@ static void room_302_daemon() {
if (scratch._a8 == 1) {
kernel_reset_animation(scratch._9a, 0);
kernel_reset_animation(scratch._9c, 0);
- kernel_synch(KERNEL_ANIM, aa[scratch._9a], KERNEL_NOW, 0);
- kernel_synch(KERNEL_ANIM, aa[scratch._9c], KERNEL_NOW, 0);
+ kernel_synch(KERNEL_ANIM, scratch._9a, KERNEL_NOW, 0);
+ kernel_synch(KERNEL_ANIM, scratch._9c, KERNEL_NOW, 0);
global[g133] = 1;
global[g143] = 1;
global[g131] = 0;
More information about the Scummvm-git-logs
mailing list