[Scummvm-git-logs] scummvm master -> 25857f84d2c5ece09d8a2f212b7ab195bf4d4bd8

Strangerke noreply at scummvm.org
Fri Apr 17 09:25:55 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:
40c33c32c1 WAYNESWORLD: Implement the preview of 5 rooms and a another occurrence of the map animation in demo1
25857f84d2 WAYNESWORLD: Implement Downtown map animation and the preview of room 10 (for demo 1)


Commit: 40c33c32c1031e8935dddfc8ab588a7de64dca17
    https://github.com/scummvm/scummvm/commit/40c33c32c1031e8935dddfc8ab588a7de64dca17
Author: Strangerke (arnaud.boutonne at gmail.com)
Date: 2026-04-17T10:24:30+02:00

Commit Message:
WAYNESWORLD: Implement the preview of 5 rooms and a another occurrence of the map animation in demo1

Changed paths:
    engines/waynesworld/wwintro.h
    engines/waynesworld/wwintro_demo1.cpp


diff --git a/engines/waynesworld/wwintro.h b/engines/waynesworld/wwintro.h
index 1556947d035..50e5fc1c122 100644
--- a/engines/waynesworld/wwintro.h
+++ b/engines/waynesworld/wwintro.h
@@ -131,6 +131,9 @@ private:
 	bool introDisplaySign();
 	bool introPreviewRoom00();
 	bool introMapStonebridge();
+	bool introPreviewRoom08and22();
+	bool introMapButterfield();
+	bool introPreviewRoom07and15and16();
 
 protected:
 	bool introPt4_intro() override;
diff --git a/engines/waynesworld/wwintro_demo1.cpp b/engines/waynesworld/wwintro_demo1.cpp
index 197ac90f459..07571e24273 100644
--- a/engines/waynesworld/wwintro_demo1.cpp
+++ b/engines/waynesworld/wwintro_demo1.cpp
@@ -38,6 +38,7 @@ WWIntro_demo1::~WWIntro_demo1() {
 void WWIntro_demo1::runIntro() {
 	// continueFl is used like in the full version, but for the moment it's not possible to skip (demo is not interactive)
 	bool continueFl = initOanGxl();
+	//continueFl = false; // For debug purposes
 
 	if (continueFl)
 		continueFl = introPt1();
@@ -57,7 +58,14 @@ void WWIntro_demo1::runIntro() {
 		continueFl = introDisplaySign();
 
 	introPreviewRoom00();
-	introMapStonebridge();
+	
+	if (continueFl)
+		continueFl = introMapStonebridge();
+	if (continueFl)
+		continueFl = introPreviewRoom08and22();
+
+	introMapButterfield();
+	introPreviewRoom07and15and16();
 }
 
 bool WWIntro_demo1::introPt1() {
@@ -684,4 +692,108 @@ bool WWIntro_demo1::introMapStonebridge() {
 	return true;
 }
 
+bool WWIntro_demo1::introPreviewRoom08and22() {
+	GxlArchive *r08Gxl = new GxlArchive("r08");
+	GxlArchive *m00Gxl = new GxlArchive("m00");
+	GxlArchive *r22Gxl = new GxlArchive("r22");
+
+	WWSurface *r22Back = new WWSurface(320, 150);
+	_vm->drawImageToSurface(r22Gxl, "backg.pcx", r22Back, 0, 0);
+
+	_vm->paletteFadeOut(0, 256, 4);
+	_vm->_screen->clear(0);
+	_vm->drawImageToScreen(r08Gxl, "backg.pcx", 0, 0);
+	_vm->drawImageToScreen(m00Gxl, "ginter.pcx", 0, 151);
+	_vm->paletteFadeIn(0, 256, 3);
+	_vm->waitSeconds(3);
+
+	while (_vm->_sound->isSFXPlaying())
+		_vm->waitMillis(10);
+
+	_vm->playSound("zeetsa.abt", false);
+	_vm->drawSpiralEffect(r22Back, 0, 0, 5, 5);
+	_vm->waitSeconds(3);
+
+	delete r22Back;
+
+	delete r22Gxl;
+	delete m00Gxl;
+	delete r08Gxl;
+
+	return true;
+}
+
+bool WWIntro_demo1::introMapButterfield() {
+	GxlArchive *m02Gxl = new GxlArchive("m02");
+
+	WWSurface *zmPcx[12] = {nullptr};
+	for (int i = 0; i < 12; ++i) {
+		zmPcx[i] = new WWSurface(171, 109);
+		Common::String filename = Common::String::format("but_zm%d.pcx", i);
+		_vm->drawImageToSurface(m02Gxl, filename.c_str(), zmPcx[i], 0, 0);
+	}
+
+	_vm->paletteFadeOut(0, 256, 4);
+	_vm->_screen->clear(0);
+	_vm->drawImageToScreen(m02Gxl, "main_map.pcx", 0, 0);
+	_vm->paletteFadeIn(0, 256, 4);
+	_vm->drawImageToScreen(m02Gxl, "but_tag.pcx", 247, 38);
+	_vm->playSound("flash-bk.abt", false);
+	_vm->waitSeconds(1);
+
+	for (int i = 0; i < 12; ++i) {
+		_vm->_screen->drawSurface(zmPcx[i], 127, 11);
+		_vm->waitMillis(75);
+	}
+
+	_vm->drawImageToScreen(m02Gxl, "cin_tag.pcx", 147, 27);
+	_vm->drawImageToScreen(m02Gxl, "c35_tag.pcx", 208, 72);
+	_vm->waitSeconds(4);
+
+	for (int i = 0; i < 12; ++i)
+		delete zmPcx[i];
+
+	delete m02Gxl;
+
+	return true;
+}
+
+bool WWIntro_demo1::introPreviewRoom07and15and16() {
+	GxlArchive *r07Gxl = new GxlArchive("r07");
+	GxlArchive *m00Gxl = new GxlArchive("m00");
+	GxlArchive *r15Gxl = new GxlArchive("r15");
+	GxlArchive *r16Gxl = new GxlArchive("r16");
+
+	WWSurface *r15Back = new WWSurface(320, 150);
+	_vm->drawImageToSurface(r15Gxl, "backg.pcx", r15Back, 0, 0);
+
+	_vm->paletteFadeOut(0, 256, 4);
+	_vm->_screen->clear(0);
+	_vm->drawImageToScreen(r07Gxl, "backg.pcx", 0, 0);
+	_vm->drawImageToScreen(m00Gxl, "ginter.pcx", 0, 151);
+	_vm->paletteFadeIn(0, 256, 3);
+	_vm->waitSeconds(3);
+
+	_vm->drawSpiralEffect(r15Back, 0, 0, 5, 5);
+	_vm->waitSeconds(3);
+	delete r15Back;
+
+	WWSurface *r16Back = new WWSurface(320, 150);
+	_vm->drawImageToSurface(r16Gxl, "backg.pcx", r16Back, 0, 0);
+	while (_vm->_sound->isSFXPlaying())
+		_vm->waitMillis(10);
+	_vm->_sound->playSound("zang!.abt", false);
+	_vm->waitSeconds(3);
+	_vm->drawSpiralEffect(r16Back, 0, 0, 5, 5);
+	_vm->waitSeconds(3);
+	delete r16Back;
+
+	delete r16Gxl;
+	delete r15Gxl;
+	delete m00Gxl;
+	delete r07Gxl;
+
+	return true;
+}
+
 } // End of namespace WaynesWorld


Commit: 25857f84d2c5ece09d8a2f212b7ab195bf4d4bd8
    https://github.com/scummvm/scummvm/commit/25857f84d2c5ece09d8a2f212b7ab195bf4d4bd8
Author: Strangerke (arnaud.boutonne at gmail.com)
Date: 2026-04-17T11:25:31+02:00

Commit Message:
WAYNESWORLD: Implement Downtown map animation and the preview of room 10 (for demo 1)

Changed paths:
    engines/waynesworld/wwintro.h
    engines/waynesworld/wwintro_demo1.cpp


diff --git a/engines/waynesworld/wwintro.h b/engines/waynesworld/wwintro.h
index 50e5fc1c122..e88cf9c0227 100644
--- a/engines/waynesworld/wwintro.h
+++ b/engines/waynesworld/wwintro.h
@@ -134,6 +134,8 @@ private:
 	bool introPreviewRoom08and22();
 	bool introMapButterfield();
 	bool introPreviewRoom07and15and16();
+	bool introMapDowntown();
+	bool introPreviewRoom10();
 
 protected:
 	bool introPt4_intro() override;
diff --git a/engines/waynesworld/wwintro_demo1.cpp b/engines/waynesworld/wwintro_demo1.cpp
index 07571e24273..fcbce029a3d 100644
--- a/engines/waynesworld/wwintro_demo1.cpp
+++ b/engines/waynesworld/wwintro_demo1.cpp
@@ -25,7 +25,6 @@
 #include "waynesworld/gxlarchive.h"
 
 #include "audio/audiostream.h"
-#include "graphics/paletteman.h"
 
 namespace WaynesWorld {
 
@@ -38,17 +37,14 @@ WWIntro_demo1::~WWIntro_demo1() {
 void WWIntro_demo1::runIntro() {
 	// continueFl is used like in the full version, but for the moment it's not possible to skip (demo is not interactive)
 	bool continueFl = initOanGxl();
-	//continueFl = false; // For debug purposes
+	// continueFl = false; // For debug purposes
 
 	if (continueFl)
 		continueFl = introPt1();
-
 	if (continueFl)
 		continueFl = introPt3();
-
 	if (continueFl)
 		continueFl = introPt4();
-
 	if (continueFl)
 		continueFl = introPt3Bis();
 
@@ -63,9 +59,13 @@ void WWIntro_demo1::runIntro() {
 		continueFl = introMapStonebridge();
 	if (continueFl)
 		continueFl = introPreviewRoom08and22();
+	if (continueFl)
+		continueFl = introMapButterfield();
+	if (continueFl)
+		continueFl = introPreviewRoom07and15and16();
 
-	introMapButterfield();
-	introPreviewRoom07and15and16();
+	introMapDowntown();
+	introPreviewRoom10();
 }
 
 bool WWIntro_demo1::introPt1() {
@@ -796,4 +796,111 @@ bool WWIntro_demo1::introPreviewRoom07and15and16() {
 	return true;
 }
 
+bool WWIntro_demo1::introMapDowntown() {
+	GxlArchive *m02Gxl = new GxlArchive("m02");
+
+	WWSurface *zmPcx[12] = {nullptr};
+	for (int i = 0; i < 12; ++i) {
+		zmPcx[i] = new WWSurface(137, 110);
+		Common::String filename = Common::String::format("dt_zm%d.pcx", i);
+		_vm->drawImageToSurface(m02Gxl, filename.c_str(), zmPcx[i], 0, 0);
+	}
+
+	_vm->paletteFadeOut(0, 256, 4);
+	_vm->_screen->clear(0);
+	_vm->drawImageToScreen(m02Gxl, "main_map.pcx", 0, 0);
+	_vm->paletteFadeIn(0, 256, 4);
+	_vm->drawImageToScreen(m02Gxl, "dt_tag.pcx", 125, 137);
+	_vm->waitSeconds(1);
+	while (_vm->_sound->isSFXPlaying())
+		_vm->waitMillis(10);
+	_vm->playSound("flash-bk.abt", false);
+
+	for (int i = 3; i < 12; ++i) {
+		// The original starts the loop at 3. It looks like a typo, but it's on purpose: there's a visible glitch on the left on the first 3 frames.
+		_vm->_screen->drawSurface(zmPcx[i], 70, 69);
+		_vm->waitMillis(75);
+	}
+
+	_vm->drawImageToScreen(m02Gxl, "jun_tag.pcx", 78, 87);
+	_vm->drawImageToScreen(m02Gxl, "cih_tag.pcx", 134, 102);
+	_vm->drawImageToScreen(m02Gxl, "uno_tag.pcx", 142, 137);
+	_vm->waitSeconds(4);
+
+	for (int i = 0; i < 12; ++i)
+		delete zmPcx[i];
+
+	delete m02Gxl;
+
+	return true;
+}
+
+bool WWIntro_demo1::introPreviewRoom10() {
+	GxlArchive *r10Gxl = new GxlArchive("r10");
+	GxlArchive *m00Gxl = new GxlArchive("m00");
+
+	WWSurface *r10Win = new WWSurface(141, 92);
+	_vm->drawImageToSurface(r10Gxl, "win.pcx", r10Win, 0, 0);
+	WWSurface *r10Getmon[5] = {nullptr};
+	for (int i = 0; i < 5; ++i) {
+		r10Getmon[i] = new WWSurface(84, 100);
+		Common::String filename = Common::String::format("getmon%d.pcx", i);
+		_vm->drawImageToSurface(r10Gxl, filename.c_str(), r10Getmon[i], 0, 0);
+	}
+
+	WWSurface *r10Puttick[4] = {nullptr};
+	for (int i = 0; i < 4; ++i) {
+		r10Puttick[i] = new WWSurface(84, 100);
+		Common::String filename = Common::String::format("puttick%d.pcx", i);
+		_vm->drawImageToSurface(r10Gxl, filename.c_str(), r10Puttick[i], 0, 0);
+	}
+
+	_vm->paletteFadeOut(0, 256, 4);
+	_vm->_screen->clear(0);
+	_vm->drawImageToScreen(r10Gxl, "backg.pcx", 0, 0);
+	_vm->drawImageToScreen(m00Gxl, "ginter.pcx", 0, 151);
+	_vm->drawImageToScreen(r10Gxl, "money.pcx", 136, 100);
+	_vm->paletteFadeIn(0, 256, 3);
+	while (_vm->_sound->isSFXPlaying())
+		_vm->waitMillis(10);
+	_vm->playSound("ilovetw.abt", false);
+	_vm->waitSeconds(1);
+
+	for (int i = 0; i < 5; ++i) {
+		_vm->_screen->drawSurface(r10Getmon[i], 98, 7);
+		_vm->waitMillis(75);
+	}
+	
+	for (int i = 0; i < 4; ++i) {
+		_vm->_screen->drawSurface(r10Puttick[i], 98, 7);
+		_vm->waitMillis(75);
+	}
+
+	_vm->drawImageToScreen(r10Gxl, "backg.pcx", 0, 0);
+	_vm->drawImageToScreen(r10Gxl, "cticket.pcx", 147, 101);
+
+	for (int i = 0; i < 4; ++i)
+		delete r10Puttick[i];
+	for (int i = 0; i < 5; ++i)
+		delete r10Getmon[i];
+
+	_vm->waitSeconds(2);
+	_vm->paletteFadeOut(0, 256, 64);
+	_vm->_screen->clear(0);
+	while (_vm->_sound->isSFXPlaying())
+		_vm->waitMillis(10);
+	_vm->playSound("ex-clsp2.snd", false);
+	_vm->drawImageToScreen(r10Gxl, "ticket.pcx", 0, 13);
+	_vm->paletteFadeIn(0, 256, 64);
+	_vm->waitSeconds(2);
+
+	_vm->drawRandomEffect(r10Win, 157, 38, 1, 1);
+
+	delete r10Win;
+
+	delete m00Gxl;
+	delete r10Gxl;
+
+	return true;
+}
 } // End of namespace WaynesWorld




More information about the Scummvm-git-logs mailing list