[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