[Scummvm-git-logs] scummvm master -> dbc87b9c4b2faf577d2475e0736f75c7d6fdb348

dreammaster noreply at scummvm.org
Thu Jul 2 06:40:42 UTC 2026


This automated email contains information about 2 new commits which have been
pushed to the 'scummvm' repo located at https://api.github.com/repos/scummvm/scummvm .

Summary:
59e5ab5397 MADS: FOREST: Remove offset comments from room Scratch structs
dbc87b9c4b MADS: FOREST: Close door icon in UI after closing game menu


Commit: 59e5ab53978de98afb46a484699ef7738bf0d1cc
    https://github.com/scummvm/scummvm/commit/59e5ab53978de98afb46a484699ef7738bf0d1cc
Author: Paul Gilbert (dreammaster at scummvm.org)
Date: 2026-07-02T16:40:35+10:00

Commit Message:
MADS: FOREST: Remove offset comments from room Scratch structs

Changed paths:
    engines/mads/madsv2/forest/rooms/room101.cpp
    engines/mads/madsv2/forest/rooms/room103.cpp
    engines/mads/madsv2/forest/rooms/room104.cpp
    engines/mads/madsv2/forest/rooms/room106.cpp
    engines/mads/madsv2/forest/rooms/room107.cpp
    engines/mads/madsv2/forest/rooms/room210.cpp
    engines/mads/madsv2/forest/rooms/room303.cpp
    engines/mads/madsv2/forest/rooms/room307.cpp
    engines/mads/madsv2/forest/rooms/room322.cpp
    engines/mads/madsv2/forest/rooms/room401.cpp
    engines/mads/madsv2/forest/rooms/room503.cpp
    engines/mads/madsv2/forest/rooms/room509.cpp
    engines/mads/madsv2/forest/rooms/room510.cpp


diff --git a/engines/mads/madsv2/forest/rooms/room101.cpp b/engines/mads/madsv2/forest/rooms/room101.cpp
index 0b8d8d2f874..733e6408e9a 100644
--- a/engines/mads/madsv2/forest/rooms/room101.cpp
+++ b/engines/mads/madsv2/forest/rooms/room101.cpp
@@ -44,18 +44,17 @@ namespace Forest {
 namespace Rooms {
 
 struct Scratch {
-	// Tentative field definitions
-	int16 sprite[10];       // Offset 00h
-	int16 sequence[10];     // Offset 14h
-	int16 animation[11];	// Offset 28h
-	AnimationInfo animation_info[11];	// Offset 3eh
-	int16 _96;				// Offset 96h
-	int16 _98;				// Offset 98h
-	int16 _9a;				// Offset 9ah
-	int16 _9c;				// Offset 9ch
-	int16 _9e;				// Offset 9eh
-	int16 _a0;				// Offset a0h
-	int16 _a2;				// Offset a2h
+	int16 sprite[10];
+	int16 sequence[10];
+	int16 animation[11];
+	AnimationInfo animation_info[11];
+	int16 _96;
+	int16 _98;
+	int16 _9a;
+	int16 _9c;
+	int16 _9e;
+	int16 _a0;
+	int16 _a2;
 	int16 _edgar;
 	int16 _russell;
 	int16 _a8;
diff --git a/engines/mads/madsv2/forest/rooms/room103.cpp b/engines/mads/madsv2/forest/rooms/room103.cpp
index e9584f01e31..e575244fa77 100644
--- a/engines/mads/madsv2/forest/rooms/room103.cpp
+++ b/engines/mads/madsv2/forest/rooms/room103.cpp
@@ -41,9 +41,9 @@ namespace Forest {
 namespace Rooms {
 
 struct Scratch {
-	int16 sprite[10];       /* Sprite series handles */
-	int16 sequence[10];     /* Sequence handles      */
-	int16 animation[10];     /* Animation handles     */
+	int16 sprite[10];
+	int16 sequence[10];
+	int16 animation[10];
 	AnimationInfo animation_info[10];
 
 	int16 _8c;
diff --git a/engines/mads/madsv2/forest/rooms/room104.cpp b/engines/mads/madsv2/forest/rooms/room104.cpp
index e3d423671ab..512efda157f 100644
--- a/engines/mads/madsv2/forest/rooms/room104.cpp
+++ b/engines/mads/madsv2/forest/rooms/room104.cpp
@@ -44,9 +44,9 @@ namespace Forest {
 namespace Rooms {
 
 struct Scratch {
-	int16 sprite[10];       /* Sprite series handles */
-	int16 sequence[10];     /* Sequence handles      */
-	int16 animation[10];    /* Animation handles     */
+	int16 sprite[10];
+	int16 sequence[10];
+	int16 animation[10];
 	AnimationInfo animation_info[10];
 
 	int16 _8c;
diff --git a/engines/mads/madsv2/forest/rooms/room106.cpp b/engines/mads/madsv2/forest/rooms/room106.cpp
index 489f8edec2d..4976ebfec8b 100644
--- a/engines/mads/madsv2/forest/rooms/room106.cpp
+++ b/engines/mads/madsv2/forest/rooms/room106.cpp
@@ -44,10 +44,10 @@ namespace Forest {
 namespace Rooms {
 
 struct Scratch {
-	int16 sprite[10];            /* 0x00 — sprite series handles  */
-	int16 sequence[10];          /* 0x14 — sequence handles       */
-	int16 animation[10];         /* 0x28 — animation handles      */
-	AnimationInfo animation_info[10]; /* 0x3C */
+	int16 sprite[10];
+	int16 sequence[10];
+	int16 animation[10];
+	AnimationInfo animation_info[10];
 	int16 _8c;
 	int16 _8e;
 	int16 _90;
@@ -63,9 +63,9 @@ struct Scratch {
 	int16 _a4;
 	int16 _a6;
 	int16 _a8;
-	int16 _aa;                   /* 0xAA — initialised to 0      */
+	int16 _aa;
 	int16 _ac;
-	int16 _ae;                   /* 0xAE — initialised to -1     */
+	int16 _ae;
 };
 
 static Scratch scratch;
diff --git a/engines/mads/madsv2/forest/rooms/room107.cpp b/engines/mads/madsv2/forest/rooms/room107.cpp
index b47859dc51a..486c13c7499 100644
--- a/engines/mads/madsv2/forest/rooms/room107.cpp
+++ b/engines/mads/madsv2/forest/rooms/room107.cpp
@@ -35,12 +35,12 @@ namespace Forest {
 namespace Rooms {
 
 struct Scratch {
-	int16 sprite[10];            /* 0x00 — sprite series handles  */
-	int16 sequence[10];          /* 0x14 — sequence handles       */
-	int16 animation[10];         /* 0x28 — animation handles      */
-	AnimationInfo animation_info[10]; /* 0x3C */
-	int16 _8c;                        /* 0x8C */
-	int16 _8e;                        /* 0x8C */
+	int16 sprite[10];
+	int16 sequence[10];
+	int16 animation[10];
+	AnimationInfo animation_info[10];
+	int16 _8c;
+	int16 _8e;
 };
 
 static Scratch scratch;
diff --git a/engines/mads/madsv2/forest/rooms/room210.cpp b/engines/mads/madsv2/forest/rooms/room210.cpp
index f7b648984b4..81982f3bb47 100644
--- a/engines/mads/madsv2/forest/rooms/room210.cpp
+++ b/engines/mads/madsv2/forest/rooms/room210.cpp
@@ -40,10 +40,10 @@ namespace Forest {
 namespace Rooms {
 
 struct Scratch {
-	int16 sprite[10];              // 0x00–0x13
-	int16 sequence[10];            // 0x14–0x27
-	int16 animation[10];           // 0x28–0x3B
-	AnimationInfo animation_info[10]; // 0x3C–0x8B
+	int16 sprite[10];
+	int16 sequence[10];
+	int16 animation[10];
+	AnimationInfo animation_info[10];
 	int16 _8c;
 	int16 _8e;
 	int16 _90;
@@ -58,7 +58,7 @@ struct Scratch {
 	int16 _a2;
 	int16 _a4;
 	int16 _a6;
-	int16 _a8;                     // 0xA8
+	int16 _a8;
 	int16 _aa;
 };
 
diff --git a/engines/mads/madsv2/forest/rooms/room303.cpp b/engines/mads/madsv2/forest/rooms/room303.cpp
index 1c9e0990580..dd116012d41 100644
--- a/engines/mads/madsv2/forest/rooms/room303.cpp
+++ b/engines/mads/madsv2/forest/rooms/room303.cpp
@@ -46,10 +46,7 @@ struct Scratch {
 	int16 animation[10];
 	AnimationInfo animation_info[10];
 	int16 _8c, _8e, _90, _92, _94, _96, _98, _9a, _9c, _9e, _a0, _a2;
-	int16 _a4;  // scratch+0xA4
-	int16 _a6;  // scratch+0xA6
-	int16 _a8;  // scratch+0xA8
-	int16 _aa;  // scratch+0xAA
+	int16 _a4, _a6, _a8, _aa;
 };
 
 static Scratch scratch;
diff --git a/engines/mads/madsv2/forest/rooms/room307.cpp b/engines/mads/madsv2/forest/rooms/room307.cpp
index a8a720189db..a20898ba4f5 100644
--- a/engines/mads/madsv2/forest/rooms/room307.cpp
+++ b/engines/mads/madsv2/forest/rooms/room307.cpp
@@ -44,27 +44,27 @@ namespace Forest {
 namespace Rooms {
 
 struct Scratch {
-	int16 sprite[10];            // 0x00–0x13
-	int16 sequence[10];          // 0x14–0x27
-	int16 animation[10];         // 0x28–0x3B
-	AnimationInfo animation_info[10]; // 0x3C–0x8B
-	int16 _pad8C[3];             // 0x8C–0x91
-	int16 _92;                   // 0x92
-	int16 _pad94;                // 0x94
-	int16 _96;                   // 0x96
-	int16 _pad98;                // 0x98
-	int16 _9a;                   // 0x9A
-	int16 _9c;                   // 0x9C
-	int16 _9e;                   // 0x9E
-	int16 _a0;                   // 0xA0
-	int16 _a2;                   // 0xA2
-	int16 _a4;                   // 0xA4
-	int16 _a6;                   // 0xA6
-	int16 _a8;                   // 0xA8
-	int16 _aa;                   // 0xAA
-	int16 _ac;                   // 0xAC
-	int16 _ae;                   // 0xAE
-	int16 _b0;                   // 0xB0
+	int16 sprite[10];
+	int16 sequence[10];
+	int16 animation[10];
+	AnimationInfo animation_info[10];
+	int16 _pad8C[3];
+	int16 _92;
+	int16 _pad94;
+	int16 _96;
+	int16 _pad98;
+	int16 _9a;
+	int16 _9c;
+	int16 _9e;
+	int16 _a0;
+	int16 _a2;
+	int16 _a4;
+	int16 _a6;
+	int16 _a8;
+	int16 _aa;
+	int16 _ac;
+	int16 _ae;
+	int16 _b0;
 };
 
 static Scratch scratch;
diff --git a/engines/mads/madsv2/forest/rooms/room322.cpp b/engines/mads/madsv2/forest/rooms/room322.cpp
index a517b9637d5..6d4210482a5 100644
--- a/engines/mads/madsv2/forest/rooms/room322.cpp
+++ b/engines/mads/madsv2/forest/rooms/room322.cpp
@@ -43,10 +43,10 @@ namespace Forest {
 namespace Rooms {
 
 struct Scratch {
-	int16 sprite[10];                  // 0x00
-	int16 sequence[10];                // 0x14
-	int16 animation[10];               // 0x28
-	AnimationInfo animation_info[11];  // 0x3C
+	int16 sprite[10];
+	int16 sequence[10];
+	int16 animation[10];
+	AnimationInfo animation_info[11];
 	int16 _94;
 	int16 _96;
 	int16 _98;
@@ -58,13 +58,13 @@ struct Scratch {
 	int16 _a4;
 	int16 _a6;
 	int16 _a8;
-	int16 _aa;  // 0xAA
-	int16 _ac;  // 0xAC
+	int16 _aa;
+	int16 _ac;
 	int16 _ae;
 	int16 _b0;
 	int16 _b2;
-	int16 _b4;  // 0xB4
-	int16 _b6;  // 0xB6
+	int16 _b4;
+	int16 _b6;
 };
 
 static Scratch scratch;
diff --git a/engines/mads/madsv2/forest/rooms/room401.cpp b/engines/mads/madsv2/forest/rooms/room401.cpp
index 9f44314250a..ad1665eee7b 100644
--- a/engines/mads/madsv2/forest/rooms/room401.cpp
+++ b/engines/mads/madsv2/forest/rooms/room401.cpp
@@ -43,22 +43,22 @@ namespace Forest {
 namespace Rooms {
 
 struct Scratch {
-	int16 sprite[10];                  // 0x00
-	int16 sequence[10];                // 0x14
-	int16 animation[10];               // 0x28
-	AnimationInfo animation_info[10];  // 0x3C (80 bytes, ends at 0x8B)
-	int16 _8c;                         // 0x8C
-	int16 _8e;                         // 0x8E
-	int16 _90;                         // 0x90
-	int16 _92;                         // 0x92 — hotspot ID for incoming transition
-	int16 _94;                         // 0x94
-	int16 _96;                         // 0x96
-	int16 _98;                         // 0x98 — room state / variant index
-	int16 _9a;                         // 0x9A — background anim handle (e-series)
-	int16 _9c;                         // 0x9C — background anim handle (r-series)
-	int16 _9e;                         // 0x9E
-	int16 _a0;                         // 0xA0
-	int16 _a2;                         // 0xA2
+	int16 sprite[10];
+	int16 sequence[10];
+	int16 animation[10];
+	AnimationInfo animation_info[10];
+	int16 _8c;
+	int16 _8e;
+	int16 _90;
+	int16 _92;
+	int16 _94;
+	int16 _96;
+	int16 _98;
+	int16 _9a;
+	int16 _9c;
+	int16 _9e;
+	int16 _a0;
+	int16 _a2;
 };
 
 static Scratch scratch;
diff --git a/engines/mads/madsv2/forest/rooms/room503.cpp b/engines/mads/madsv2/forest/rooms/room503.cpp
index 8d9ce9de656..bb216b7372c 100644
--- a/engines/mads/madsv2/forest/rooms/room503.cpp
+++ b/engines/mads/madsv2/forest/rooms/room503.cpp
@@ -44,22 +44,22 @@ namespace Forest {
 namespace Rooms {
 
 struct Scratch {
-	int16 sprite[10];                  /* 0x00 — sprite series handles  */
-	int16 sequence[10];                /* 0x14 — sequence handles       */
-	int16 animation[12];               /* 0x28 — animation handles; [10]=N2 anim, [11]=Z1 anim */
-	AnimationInfo animation_info[12];  /* 0x40 — 12 entries, one per animation slot */
-	int16 _pad_a0;                     /* 0xA0 unused */
-	int16 _a2;                         /* 0xA2 visit-count / playback-stage select */
-	int16 _pad_a4;                     /* 0xA4 unused */
-	int16 _pad_a6;                     /* 0xA6 unused */
-	int16 _pad_a8;                     /* 0xA8 unused */
-	int16 _aa;                         /* 0xAA converse-anim handle (kernel_reset_animation / kernel_synch) */
-	int16 _pad_ac;                     /* 0xAC unused */
-	int16 _ae;                         /* 0xAE converse-anim handle (kernel_abort_animation / global_anim3) */
-	int16 _b0;                         /* 0xB0 ambient audio num arg / uninitialised flag */
-	int16 _b2;                         /* 0xB2 ambient audio playing flag */
-	int16 _b4;                         /* 0xB4 ambient loop active flag */
-	int16 _b6;                         /* 0xB6 playback variant (1 / 2 / -1) */
+	int16 sprite[10];
+	int16 sequence[10];
+	int16 animation[12];
+	AnimationInfo animation_info[12];
+	int16 _pad_a0;
+	int16 _a2;
+	int16 _pad_a4;
+	int16 _pad_a6;
+	int16 _pad_a8;
+	int16 _aa;
+	int16 _pad_ac;
+	int16 _ae;
+	int16 _b0;
+	int16 _b2;
+	int16 _b4;
+	int16 _b6;
 };
 
 static Scratch scratch;
diff --git a/engines/mads/madsv2/forest/rooms/room509.cpp b/engines/mads/madsv2/forest/rooms/room509.cpp
index 3399300cb4c..85280863fd8 100644
--- a/engines/mads/madsv2/forest/rooms/room509.cpp
+++ b/engines/mads/madsv2/forest/rooms/room509.cpp
@@ -35,13 +35,13 @@ namespace Forest {
 namespace Rooms {
 
 struct Scratch {
-	int16 sprite[10];           /* 0x00 — sprite series handles */
-	int16 sequence[10];         /* 0x14 — sequence handles      */
-	int16 animation[10];        /* 0x28 — animation handles     */
-	AnimationInfo animation_info[10]; /* 0x3C                   */
-	int16 _8c;                  /* 0x8C — unused                */
-	int16 _8e;                  /* 0x8E — phase/step counter    */
-	int16 _90;                  /* 0x90 — volume-tier flag      */
+	int16 sprite[10];
+	int16 sequence[10];
+	int16 animation[10];
+	AnimationInfo animation_info[10];
+	int16 _8c;
+	int16 _8e;
+	int16 _90;
 };
 
 static Scratch scratch;
diff --git a/engines/mads/madsv2/forest/rooms/room510.cpp b/engines/mads/madsv2/forest/rooms/room510.cpp
index e1934a913a1..65d841d1015 100644
--- a/engines/mads/madsv2/forest/rooms/room510.cpp
+++ b/engines/mads/madsv2/forest/rooms/room510.cpp
@@ -39,17 +39,17 @@ namespace Forest {
 namespace Rooms {
 
 struct Scratch {
-	int16 sprite[10];           /* 0x00 — sprite series handles */
-	int16 sequence[10];         /* 0x14 — sequence handles      */
-	int16 animation[10];        /* 0x28 — animation handles     */
-	AnimationInfo animation_info[10]; /* 0x3C                   */
-	int16 _8c;                  /* 0x8C                         */
-	int16 _8e;                  /* 0x8E — digi-play phase check */
-	int16 _90;                  /* 0x90 — volume/replay flag    */
-	int16 _92;                  /* 0x92 — timing accumulator    */
-	int16 _94;                  /* 0x94 — sequence table index  */
-	int16 _96;                  /* 0x96 — active flag           */
-	int16 _98;                  /* 0x98 — room mode (669/670)   */
+	int16 sprite[10];
+	int16 sequence[10];
+	int16 animation[10];
+	AnimationInfo animation_info[10];
+	int16 _8c;
+	int16 _8e;
+	int16 _90;
+	int16 _92;
+	int16 _94;
+	int16 _96;
+	int16 _98;
 };
 
 static Scratch scratch;


Commit: dbc87b9c4b2faf577d2475e0736f75c7d6fdb348
    https://github.com/scummvm/scummvm/commit/dbc87b9c4b2faf577d2475e0736f75c7d6fdb348
Author: Paul Gilbert (dreammaster at scummvm.org)
Date: 2026-07-02T16:40:35+10:00

Commit Message:
MADS: FOREST: Close door icon in UI after closing game menu

Changed paths:
    engines/mads/madsv2/forest/menus.cpp


diff --git a/engines/mads/madsv2/forest/menus.cpp b/engines/mads/madsv2/forest/menus.cpp
index 164fc80318d..736011b71d3 100644
--- a/engines/mads/madsv2/forest/menus.cpp
+++ b/engines/mads/madsv2/forest/menus.cpp
@@ -29,6 +29,7 @@
 #include "mads/madsv2/core/mem.h"
 #include "mads/madsv2/core/quote.h"
 #include "mads/madsv2/core/text.h"
+#include "mads/madsv2/forest/extra.h"
 #include "mads/madsv2/forest/global.h"
 #include "mads/madsv2/forest/mads/quotes.h"
 #include "mads/madsv2/forest/menus.h"
@@ -304,7 +305,9 @@ static void global_menu_main() {
 	}
 
 	popup_dialog_destroy();
-	sprite_draw(series_list[6], 2, &scr_inter, 1, 264);
+
+	// Redraw the door icon in the user interface as closed
+	sprite_draw(series_list[3], 1, &scr_inter, DOOR_X, DOOR_Y);
 	buffer_rect_copy_2(scr_inter, scr_live, 168, 0, 168, 156, 152, 44);
 }
 




More information about the Scummvm-git-logs mailing list