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

dreammaster noreply at scummvm.org
Wed Jul 22 06:56:37 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:
aedeedcd06 MADS: NEBULAR: Fixes to old savegame load console command
ec4d8a3e04 MADS: NEBULAR: Fix missing breaks in syncRoom


Commit: aedeedcd06235e802b35348dd707f3b2f36a1b3e
    https://github.com/scummvm/scummvm/commit/aedeedcd06235e802b35348dd707f3b2f36a1b3e
Author: Paul Gilbert (dreammaster at scummvm.org)
Date: 2026-07-22T16:50:06+10:00

Commit Message:
MADS: NEBULAR: Fixes to old savegame load console command

Changed paths:
    engines/mads/nebular/console.cpp


diff --git a/engines/mads/nebular/console.cpp b/engines/mads/nebular/console.cpp
index 787beb85ef1..9a221a68399 100644
--- a/engines/mads/nebular/console.cpp
+++ b/engines/mads/nebular/console.cpp
@@ -23,11 +23,13 @@
 #include "common/savefile.h"
 #include "graphics/surface.h"
 #include "graphics/thumbnail.h"
-#include "mads/nebular/console.h"
+#include "mads/core/config.h"
 #include "mads/core/inter.h"
 #include "mads/core/kernel.h"
 #include "mads/core/object.h"
 #include "mads/core/player.h"
+#include "mads/nebular/console.h"
+#include "mads/nebular/nebular.h"
 
 namespace MADS {
 namespace RexNebular {
@@ -100,11 +102,8 @@ bool Console::cmdLoad(int argc, const char **argv) {
 	new_room = sf->readSint16LE();
 	previous_room = sf->readSint16LE();
 	room_variant = sf->readSint16LE();
-
-	// Inventory
-	inven_num_objects = sf->readSint16LE();
-	for (int i = 0; i < inven_num_objects; ++i)
-		inven[i] = sf->readSint32LE();
+	// Dynamic objects - only the count was ever saved
+	sf->skip(2);
 
 	// Objects
 	num_objects = sf->readUint16LE();
@@ -126,13 +125,19 @@ bool Console::cmdLoad(int argc, const char **argv) {
 		for (auto &q : obj.quality_id)
 			q = sf->readByte();
 		for (auto &q : obj.quality_value)
-			q = sf->readByte();
+			q = sf->readSint32LE();
 	}
 
+	// Inventory
+	inven_num_objects = sf->readSint16LE();
+	for (int i = 0; i < inven_num_objects; ++i)
+		inven[i] = sf->readSint32LE();
+
 	// Visited scenes
 	player.num_rooms_been_in = sf->readUint16LE();
 	for (int i = 0; i < player.num_rooms_been_in; ++i)
 		player.rooms_been_in[i] = sf->readSint32LE();
+	sf->skip(1); // scene revisited
 
 	// Player fields
 	player.walking = sf->readByte();
@@ -181,6 +186,14 @@ bool Console::cmdLoad(int argc, const char **argv) {
 	// Screen objects
 	sf->skip(4);
 
+	// Naughtiness and difficulty
+	config_file.naughtiness = sf->readByte();
+	game.difficulty = sf->readByte();
+
+	// Load room scratch data
+	Common::Serializer s(sf, nullptr);
+	g_engine->syncRoom(s);
+
 	return false;
 }
 


Commit: ec4d8a3e04b77c6401bbdce965c648cc21049e57
    https://github.com/scummvm/scummvm/commit/ec4d8a3e04b77c6401bbdce965c648cc21049e57
Author: Paul Gilbert (dreammaster at scummvm.org)
Date: 2026-07-22T16:56:17+10:00

Commit Message:
MADS: NEBULAR: Fix missing breaks in syncRoom

Changed paths:
    engines/mads/nebular/global.cpp


diff --git a/engines/mads/nebular/global.cpp b/engines/mads/nebular/global.cpp
index 1077c202ee1..3f27835a1e7 100644
--- a/engines/mads/nebular/global.cpp
+++ b/engines/mads/nebular/global.cpp
@@ -45,7 +45,6 @@ extern void section_6_preload();
 extern void section_7_preload();
 extern void section_8_preload();
 
-extern void room_101_synchronize(Common::Serializer &s);
 extern void room_101_synchronize(Common::Serializer &s);
 extern void room_102_synchronize(Common::Serializer &s);
 extern void room_103_synchronize(Common::Serializer &s);
@@ -359,118 +358,118 @@ void global_section_constructor() {
 
 void sync_room(Common::Serializer &s) {
 	switch (new_room) {
-	case 101: Rooms::room_101_synchronize(s);
-	case 102: Rooms::room_102_synchronize(s);
-	case 103: Rooms::room_103_synchronize(s);
-	case 104: Rooms::room_104_synchronize(s);
-	case 105: Rooms::room_105_synchronize(s);
-	case 106: Rooms::room_106_synchronize(s);
-	case 107: Rooms::room_107_synchronize(s);
-	case 108: Rooms::room_108_synchronize(s);
-	case 109: Rooms::room_109_synchronize(s);
-	case 110: Rooms::room_110_synchronize(s);
-	case 111: Rooms::room_111_synchronize(s);
-	case 112: Rooms::room_112_synchronize(s);
-	case 201: Rooms::room_201_synchronize(s);
-	case 202: Rooms::room_202_synchronize(s);
-	case 203: Rooms::room_203_synchronize(s);
-	case 205: Rooms::room_205_synchronize(s);
-	case 207: Rooms::room_207_synchronize(s);
-	case 208: Rooms::room_208_synchronize(s);
-	case 209: Rooms::room_209_synchronize(s);
-	case 210: Rooms::room_210_synchronize(s);
-	case 211: Rooms::room_211_synchronize(s);
-	case 212: Rooms::room_212_synchronize(s);
-	case 213: Rooms::room_213_synchronize(s);
-	case 214: Rooms::room_214_synchronize(s);
-	case 215: Rooms::room_215_synchronize(s);
-	case 216: Rooms::room_216_synchronize(s);
-	case 301: Rooms::room_301_synchronize(s);
-	case 302: Rooms::room_302_synchronize(s);
-	case 303: Rooms::room_303_synchronize(s);
-	case 304: Rooms::room_304_synchronize(s);
-	case 307: Rooms::room_307_synchronize(s);
-	case 308: Rooms::room_308_synchronize(s);
-	case 309: Rooms::room_309_synchronize(s);
-	case 310: Rooms::room_310_synchronize(s);
-	case 311: Rooms::room_311_synchronize(s);
-	case 313: Rooms::room_313_synchronize(s);
-	case 316: Rooms::room_316_synchronize(s);
-	case 318: Rooms::room_318_synchronize(s);
-	case 319: Rooms::room_319_synchronize(s);
-	case 320: Rooms::room_320_synchronize(s);
-	case 321: Rooms::room_321_synchronize(s);
-	case 322: Rooms::room_322_synchronize(s);
-	case 351: Rooms::room_351_synchronize(s);
-	case 352: Rooms::room_352_synchronize(s);
-	case 353: Rooms::room_353_synchronize(s);
-	case 354: Rooms::room_354_synchronize(s);
-	case 357: Rooms::room_357_synchronize(s);
-	case 358: Rooms::room_358_synchronize(s);
-	case 359: Rooms::room_359_synchronize(s);
-	case 360: Rooms::room_360_synchronize(s);
-	case 361: Rooms::room_361_synchronize(s);
-	case 366: Rooms::room_366_synchronize(s);
-	case 387: Rooms::room_387_synchronize(s);
-	case 388: Rooms::room_388_synchronize(s);
-	case 389: Rooms::room_389_synchronize(s);
-	case 390: Rooms::room_390_synchronize(s);
-	case 391: Rooms::room_391_synchronize(s);
-	case 399: Rooms::room_399_synchronize(s);
-	case 401: Rooms::room_401_synchronize(s);
-	case 402: Rooms::room_402_synchronize(s);
-	case 405: Rooms::room_405_synchronize(s);
-	case 406: Rooms::room_406_synchronize(s);
-	case 407: Rooms::room_407_synchronize(s);
-	case 408: Rooms::room_408_synchronize(s);
-	case 409: Rooms::room_409_synchronize(s);
-	case 410: Rooms::room_410_synchronize(s);
-	case 411: Rooms::room_411_synchronize(s);
-	case 413: Rooms::room_413_synchronize(s);
-	case 501: Rooms::room_501_synchronize(s);
-	case 502: Rooms::room_502_synchronize(s);
-	case 503: Rooms::room_503_synchronize(s);
-	case 504: Rooms::room_504_synchronize(s);
-	case 505: Rooms::room_505_synchronize(s);
-	case 506: Rooms::room_506_synchronize(s);
-	case 507: Rooms::room_507_synchronize(s);
-	case 508: Rooms::room_508_synchronize(s);
-	case 511: Rooms::room_511_synchronize(s);
-	case 512: Rooms::room_512_synchronize(s);
-	case 513: Rooms::room_513_synchronize(s);
-	case 515: Rooms::room_515_synchronize(s);
-	case 551: Rooms::room_551_synchronize(s);
-	case 601: Rooms::room_601_synchronize(s);
-	case 602: Rooms::room_602_synchronize(s);
-	case 603: Rooms::room_603_synchronize(s);
-	case 604: Rooms::room_604_synchronize(s);
-	case 605: Rooms::room_605_synchronize(s);
-	case 607: Rooms::room_607_synchronize(s);
-	case 608: Rooms::room_608_synchronize(s);
-	case 609: Rooms::room_609_synchronize(s);
-	case 610: Rooms::room_610_synchronize(s);
-	case 611: Rooms::room_611_synchronize(s);
-	case 612: Rooms::room_612_synchronize(s);
-	case 620: Rooms::room_620_synchronize(s);
-	case 701: Rooms::room_701_synchronize(s);
-	case 702: Rooms::room_702_synchronize(s);
-	case 703: Rooms::room_703_synchronize(s);
-	case 704: Rooms::room_704_synchronize(s);
-	case 705: Rooms::room_705_synchronize(s);
-	case 706: Rooms::room_706_synchronize(s);
-	case 707: Rooms::room_707_synchronize(s);
-	case 710: Rooms::room_710_synchronize(s);
-	case 711: Rooms::room_711_synchronize(s);
-	case 751: Rooms::room_751_synchronize(s);
-	case 752: Rooms::room_752_synchronize(s);
-	case 801: Rooms::room_801_synchronize(s);
-	case 802: Rooms::room_802_synchronize(s);
-	case 803: Rooms::room_803_synchronize(s);
-	case 804: Rooms::room_804_synchronize(s);
-	case 805: Rooms::room_805_synchronize(s);
-	case 807: Rooms::room_807_synchronize(s);
-	case 808: Rooms::room_808_synchronize(s);
-	case 810: Rooms::room_810_synchronize(s);
+	case 101: Rooms::room_101_synchronize(s); break;
+	case 102: Rooms::room_102_synchronize(s); break;
+	case 103: Rooms::room_103_synchronize(s); break;
+	case 104: Rooms::room_104_synchronize(s); break;
+	case 105: Rooms::room_105_synchronize(s); break;
+	case 106: Rooms::room_106_synchronize(s); break;
+	case 107: Rooms::room_107_synchronize(s); break;
+	case 108: Rooms::room_108_synchronize(s); break;
+	case 109: Rooms::room_109_synchronize(s); break;
+	case 110: Rooms::room_110_synchronize(s); break;
+	case 111: Rooms::room_111_synchronize(s); break;
+	case 112: Rooms::room_112_synchronize(s); break;
+	case 201: Rooms::room_201_synchronize(s); break;
+	case 202: Rooms::room_202_synchronize(s); break;
+	case 203: Rooms::room_203_synchronize(s); break;
+	case 205: Rooms::room_205_synchronize(s); break;
+	case 207: Rooms::room_207_synchronize(s); break;
+	case 208: Rooms::room_208_synchronize(s); break;
+	case 209: Rooms::room_209_synchronize(s); break;
+	case 210: Rooms::room_210_synchronize(s); break;
+	case 211: Rooms::room_211_synchronize(s); break;
+	case 212: Rooms::room_212_synchronize(s); break;
+	case 213: Rooms::room_213_synchronize(s); break;
+	case 214: Rooms::room_214_synchronize(s); break;
+	case 215: Rooms::room_215_synchronize(s); break;
+	case 216: Rooms::room_216_synchronize(s); break;
+	case 301: Rooms::room_301_synchronize(s); break;
+	case 302: Rooms::room_302_synchronize(s); break;
+	case 303: Rooms::room_303_synchronize(s); break;
+	case 304: Rooms::room_304_synchronize(s); break;
+	case 307: Rooms::room_307_synchronize(s); break;
+	case 308: Rooms::room_308_synchronize(s); break;
+	case 309: Rooms::room_309_synchronize(s); break;
+	case 310: Rooms::room_310_synchronize(s); break;
+	case 311: Rooms::room_311_synchronize(s); break;
+	case 313: Rooms::room_313_synchronize(s); break;
+	case 316: Rooms::room_316_synchronize(s); break;
+	case 318: Rooms::room_318_synchronize(s); break;
+	case 319: Rooms::room_319_synchronize(s); break;
+	case 320: Rooms::room_320_synchronize(s); break;
+	case 321: Rooms::room_321_synchronize(s); break;
+	case 322: Rooms::room_322_synchronize(s); break;
+	case 351: Rooms::room_351_synchronize(s); break;
+	case 352: Rooms::room_352_synchronize(s); break;
+	case 353: Rooms::room_353_synchronize(s); break;
+	case 354: Rooms::room_354_synchronize(s); break;
+	case 357: Rooms::room_357_synchronize(s); break;
+	case 358: Rooms::room_358_synchronize(s); break;
+	case 359: Rooms::room_359_synchronize(s); break;
+	case 360: Rooms::room_360_synchronize(s); break;
+	case 361: Rooms::room_361_synchronize(s); break;
+	case 366: Rooms::room_366_synchronize(s); break;
+	case 387: Rooms::room_387_synchronize(s); break;
+	case 388: Rooms::room_388_synchronize(s); break;
+	case 389: Rooms::room_389_synchronize(s); break;
+	case 390: Rooms::room_390_synchronize(s); break;
+	case 391: Rooms::room_391_synchronize(s); break;
+	case 399: Rooms::room_399_synchronize(s); break;
+	case 401: Rooms::room_401_synchronize(s); break;
+	case 402: Rooms::room_402_synchronize(s); break;
+	case 405: Rooms::room_405_synchronize(s); break;
+	case 406: Rooms::room_406_synchronize(s); break;
+	case 407: Rooms::room_407_synchronize(s); break;
+	case 408: Rooms::room_408_synchronize(s); break;
+	case 409: Rooms::room_409_synchronize(s); break;
+	case 410: Rooms::room_410_synchronize(s); break;
+	case 411: Rooms::room_411_synchronize(s); break;
+	case 413: Rooms::room_413_synchronize(s); break;
+	case 501: Rooms::room_501_synchronize(s); break;
+	case 502: Rooms::room_502_synchronize(s); break;
+	case 503: Rooms::room_503_synchronize(s); break;
+	case 504: Rooms::room_504_synchronize(s); break;
+	case 505: Rooms::room_505_synchronize(s); break;
+	case 506: Rooms::room_506_synchronize(s); break;
+	case 507: Rooms::room_507_synchronize(s); break;
+	case 508: Rooms::room_508_synchronize(s); break;
+	case 511: Rooms::room_511_synchronize(s); break;
+	case 512: Rooms::room_512_synchronize(s); break;
+	case 513: Rooms::room_513_synchronize(s); break;
+	case 515: Rooms::room_515_synchronize(s); break;
+	case 551: Rooms::room_551_synchronize(s); break;
+	case 601: Rooms::room_601_synchronize(s); break;
+	case 602: Rooms::room_602_synchronize(s); break;
+	case 603: Rooms::room_603_synchronize(s); break;
+	case 604: Rooms::room_604_synchronize(s); break;
+	case 605: Rooms::room_605_synchronize(s); break;
+	case 607: Rooms::room_607_synchronize(s); break;
+	case 608: Rooms::room_608_synchronize(s); break;
+	case 609: Rooms::room_609_synchronize(s); break;
+	case 610: Rooms::room_610_synchronize(s); break;
+	case 611: Rooms::room_611_synchronize(s); break;
+	case 612: Rooms::room_612_synchronize(s); break;
+	case 620: Rooms::room_620_synchronize(s); break;
+	case 701: Rooms::room_701_synchronize(s); break;
+	case 702: Rooms::room_702_synchronize(s); break;
+	case 703: Rooms::room_703_synchronize(s); break;
+	case 704: Rooms::room_704_synchronize(s); break;
+	case 705: Rooms::room_705_synchronize(s); break;
+	case 706: Rooms::room_706_synchronize(s); break;
+	case 707: Rooms::room_707_synchronize(s); break;
+	case 710: Rooms::room_710_synchronize(s); break;
+	case 711: Rooms::room_711_synchronize(s); break;
+	case 751: Rooms::room_751_synchronize(s); break;
+	case 752: Rooms::room_752_synchronize(s); break;
+	case 801: Rooms::room_801_synchronize(s); break;
+	case 802: Rooms::room_802_synchronize(s); break;
+	case 803: Rooms::room_803_synchronize(s); break;
+	case 804: Rooms::room_804_synchronize(s); break;
+	case 805: Rooms::room_805_synchronize(s); break;
+	case 807: Rooms::room_807_synchronize(s); break;
+	case 808: Rooms::room_808_synchronize(s); break;
+	case 810: Rooms::room_810_synchronize(s); break;
 	default: break;
 	}
 }




More information about the Scummvm-git-logs mailing list