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

Strangerke noreply at scummvm.org
Wed Mar 25 18:01:08 UTC 2026


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

Summary:
ef0dc21989 WAYNESWORLD: Fix crash and palette initialization in room 30 (2nd TV show)


Commit: ef0dc21989fb760e3096efa28d6ffe3fc145af1e
    https://github.com/scummvm/scummvm/commit/ef0dc21989fb760e3096efa28d6ffe3fc145af1e
Author: Strangerke (arnaud.boutonne at gmail.com)
Date: 2026-03-25T19:00:50+01:00

Commit Message:
WAYNESWORLD: Fix crash and palette initialization in room 30 (2nd TV show)

Changed paths:
    engines/waynesworld/gamelogic.cpp
    engines/waynesworld/waynesworld.cpp
    engines/waynesworld/waynesworld.h


diff --git a/engines/waynesworld/gamelogic.cpp b/engines/waynesworld/gamelogic.cpp
index 0fcbaafc9a2..20fd60a7dbd 100644
--- a/engines/waynesworld/gamelogic.cpp
+++ b/engines/waynesworld/gamelogic.cpp
@@ -6854,13 +6854,13 @@ void GameLogic::r30_runLudwigCutscene() {
 	_vm->_garthSpriteX = -1;
 	_vm->_wayneSpriteY = -1;
 	_vm->_wayneSpriteX = -1;
-	_vm->_roomName = "m06"; // Change the active gxl file
+	_vm->openAlternateRoomLibrary("m06"); // Change the active gxl file
 	_vm->paletteFadeOut(0, 256, 64);
 	_vm->_screen->clear(0);
 	// TODO gxGetDisplayPalette(palette1);
-	// TODO pcxGetLibPalette(8, roomLib, "backg", palette2);
-	// TODO gxSetDisplayPalette(palette2);
-	warning("r30_runLudwigCutscene - STUB some initialization");
+
+	_vm->loadPalette(_vm->_roomGxl, "backg.pcx");
+
 	_vm->paletteFadeOut(0, 256, 64);
 	_vm->_screen->clear(0);
 	_vm->drawRoomImageToBackground("backg.pcx", 0, 0);
diff --git a/engines/waynesworld/waynesworld.cpp b/engines/waynesworld/waynesworld.cpp
index 27837afc6d9..b62592d3319 100644
--- a/engines/waynesworld/waynesworld.cpp
+++ b/engines/waynesworld/waynesworld.cpp
@@ -1260,6 +1260,13 @@ void WaynesWorldEngine::openRoomLibrary(int roomNum) {
 	_roomGxl = new GxlArchive(_roomName);
 }
 
+void WaynesWorldEngine::openAlternateRoomLibrary(const char *name) {
+	_roomName = Common::String(name);
+	delete _roomGxl;
+
+	_roomGxl = new GxlArchive(_roomName);
+}
+
 void WaynesWorldEngine::loadRoomBackground() {
 	loadPalette(_roomGxl, "backg.pcx");
 	g_system->getPaletteManager()->setPalette(_palette2, 0, 256);
diff --git a/engines/waynesworld/waynesworld.h b/engines/waynesworld/waynesworld.h
index 4e997d0ff7d..baa6a6edb4e 100644
--- a/engines/waynesworld/waynesworld.h
+++ b/engines/waynesworld/waynesworld.h
@@ -400,6 +400,7 @@ public:
 	void setMouseBounds(int x1, int x2, int y1, int y2);
 	// Room
 	void openRoomLibrary(int roomNum);
+	void openAlternateRoomLibrary(const char *name);
 	void loadRoomBackground();
 	void changeRoom(int roomNum);
 	void refreshRoomBackground(int roomNum);




More information about the Scummvm-git-logs mailing list