[Scummvm-git-logs] scummvm master -> 85cc38c2465f0b9c6bf86e16a253b135e7156d18

Strangerke noreply at scummvm.org
Sun Apr 19 05:19:03 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:
85cc38c246 WAYNESWORLD: Implement North and SouthEast maps and preview (for demo 1)


Commit: 85cc38c2465f0b9c6bf86e16a253b135e7156d18
    https://github.com/scummvm/scummvm/commit/85cc38c2465f0b9c6bf86e16a253b135e7156d18
Author: Strangerke (arnaud.boutonne at gmail.com)
Date: 2026-04-19T07:15:21+02:00

Commit Message:
WAYNESWORLD: Implement North and SouthEast maps and preview (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 e88cf9c0227..06d96b676cb 100644
--- a/engines/waynesworld/wwintro.h
+++ b/engines/waynesworld/wwintro.h
@@ -136,6 +136,10 @@ private:
 	bool introPreviewRoom07and15and16();
 	bool introMapDowntown();
 	bool introPreviewRoom10();
+	bool introMapNorthAurora();
+	bool introPreviewRoom03and23();
+	bool introMapSouthEastArea();
+	bool introPreviewRoom13and18();
 
 protected:
 	bool introPt4_intro() override;
diff --git a/engines/waynesworld/wwintro_demo1.cpp b/engines/waynesworld/wwintro_demo1.cpp
index fcbce029a3d..f40ef208ba5 100644
--- a/engines/waynesworld/wwintro_demo1.cpp
+++ b/engines/waynesworld/wwintro_demo1.cpp
@@ -54,7 +54,7 @@ void WWIntro_demo1::runIntro() {
 		continueFl = introDisplaySign();
 
 	introPreviewRoom00();
-	
+
 	if (continueFl)
 		continueFl = introMapStonebridge();
 	if (continueFl)
@@ -63,9 +63,17 @@ void WWIntro_demo1::runIntro() {
 		continueFl = introMapButterfield();
 	if (continueFl)
 		continueFl = introPreviewRoom07and15and16();
+	if (continueFl)
+		continueFl = introMapDowntown();
+	if (continueFl)
+		continueFl = introPreviewRoom10();
+	if (continueFl)
+			continueFl = introMapNorthAurora();
+	if (continueFl)
+		continueFl = introPreviewRoom03and23();
 
-	introMapDowntown();
-	introPreviewRoom10();
+	introMapSouthEastArea();
+	introPreviewRoom13and18();
 }
 
 bool WWIntro_demo1::introPt1() {
@@ -160,7 +168,7 @@ bool WWIntro_demo1::introPt1() {
 		{"capawy08.pcx", 0, 27, 1030}
 	};
 
-	for (const auto &frame : animation) {
+	for (const Frame &frame : animation) {
 		_vm->drawImageToScreen(capspinGxl, frame.filename, frame.x, frame.y);
 		_vm->waitMillis(frame.delay);
 	}
@@ -903,4 +911,157 @@ bool WWIntro_demo1::introPreviewRoom10() {
 
 	return true;
 }
+
+bool WWIntro_demo1::introMapNorthAurora() {
+	GxlArchive *m02Gxl = new GxlArchive("m02");
+
+	WWSurface *zmPcx[12] = {nullptr};
+	for (int i = 0; i < 12; ++i) {
+		zmPcx[i] = new WWSurface(137, 109);
+		Common::String filename = Common::String::format("na_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, "na_tag.pcx", 84, 49);
+	_vm->waitSeconds(1);
+	while (_vm->_sound->isSFXPlaying())
+		_vm->waitMillis(10);
+	_vm->playSound("flash-bk.abt", false);
+
+	for (int i = 1; i < 12; ++i) {
+		_vm->_screen->drawSurface(zmPcx[i], 53, 6);
+		_vm->waitMillis(75);
+	}
+
+	_vm->drawImageToScreen(m02Gxl, "cab_tag.pcx", 61, 18);
+	_vm->drawImageToScreen(m02Gxl, "ad_tag.pcx", 141, 31);
+	_vm->drawImageToScreen(m02Gxl, "cas_tag.pcx", 69, 80);
+	_vm->waitSeconds(4);
+
+	for (int i = 0; i < 12; ++i)
+		delete zmPcx[i];
+
+	delete m02Gxl;
+
+	return true;
+}
+
+bool WWIntro_demo1::introPreviewRoom03and23() {
+	GxlArchive *r03Gxl = new GxlArchive("r03");
+	GxlArchive *m00Gxl = new GxlArchive("m00");
+	GxlArchive *r23Gxl = new GxlArchive("r23");
+
+	WWSurface *r23Back = new WWSurface(320, 150);
+	_vm->drawImageToSurface(r23Gxl, "backg.pcx", r23Back, 0, 0);
+
+	_vm->paletteFadeOut(0, 256, 4);
+	_vm->_screen->clear(0);
+	_vm->drawImageToScreen(r03Gxl, "backg.pcx", 0, 0);
+	_vm->drawImageToScreen(m00Gxl, "ginter.pcx", 0, 151);
+	_vm->paletteFadeIn(0, 256, 3);
+	_vm->waitSeconds(3);
+
+	_vm->drawSpiralEffect(r23Back, 0, 0, 5, 5);
+	while (_vm->_sound->isSFXPlaying())
+		_vm->waitMillis(10);
+
+	_vm->playSound("schwing.abt", false);
+	_vm->waitSeconds(3);
+
+	delete r23Back;
+
+	delete r23Gxl;
+	delete m00Gxl;
+	delete r03Gxl;
+
+	return true;
+}
+
+bool WWIntro_demo1::introMapSouthEastArea() {
+	GxlArchive *m02Gxl = new GxlArchive("m02");
+
+	WWSurface *zmPcx[12] = {nullptr};
+	for (int i = 0; i < 12; ++i) {
+		zmPcx[i] = new WWSurface(137, 109);
+		Common::String filename = Common::String::format("sea_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, "sea_tag.pcx", 218, 142);
+	while (_vm->_sound->isSFXPlaying())
+		_vm->waitMillis(10);
+	_vm->playSound("flash-bk.abt", false);
+	_vm->waitSeconds(1);
+
+	for (int i = 1; i < 12; ++i) {
+		_vm->_screen->drawSurface(zmPcx[i], 139, 57);
+		_vm->waitMillis(75);
+	}
+
+	_vm->drawImageToScreen(m02Gxl, "pep_tag.pcx", 151, 101);
+	_vm->drawImageToScreen(m02Gxl, "gil_tag.pcx", 224, 106);
+	_vm->waitSeconds(4);
+
+	for (int i = 0; i < 12; ++i)
+		delete zmPcx[i];
+
+	delete m02Gxl;
+
+	return true;
+}
+
+bool WWIntro_demo1::introPreviewRoom13and18() {
+	GxlArchive *r13Gxl = new GxlArchive("r13");
+	GxlArchive *m00Gxl = new GxlArchive("m00");
+	GxlArchive *r18Gxl = new GxlArchive("r18");
+
+	WWSurface *machinePcx[9] = {nullptr};
+	for (int i = 0; i < 9; ++i) {
+		machinePcx[i] = new WWSurface(171, 68);
+		Common::String filename = Common::String::format("machine%d.pcx", i);
+		_vm->drawImageToSurface(r18Gxl, filename.c_str(), machinePcx[i], 0, 0);
+	}
+
+	_vm->paletteFadeOut(0, 256, 4);
+	_vm->_screen->clear(0);
+	_vm->drawImageToScreen(r13Gxl, "backg.pcx", 0, 0);
+	_vm->drawImageToScreen(m00Gxl, "ginter.pcx", 0, 151);
+	_vm->paletteFadeIn(0, 256, 3);
+	_vm->waitSeconds(3);
+
+	_vm->paletteFadeOut(0, 256, 4);
+	_vm->_screen->clear(0);
+
+	_vm->drawImageToScreen(r18Gxl, "backg.pcx", 0, 0);
+	_vm->drawImageToScreen(m00Gxl, "ginter.pcx", 0, 151);
+	_vm->paletteFadeIn(0, 256, 3);
+	while (_vm->_sound->isSFXPlaying())
+		_vm->waitMillis(10);
+
+	_vm->playSound("cool!.abt", false);
+	for (int i = 0; i < 12; ++i) {
+		for (int j = 0; j < 9; ++j) {
+			_vm->_screen->drawSurface(machinePcx[j], 115, 51);
+			_vm->waitMillis(75);
+		}
+	}
+
+	for (int i = 0; i < 9; ++i)
+		delete machinePcx[i];
+
+	delete r18Gxl;
+	delete m00Gxl;
+	delete r13Gxl;
+
+	return true;
+}
+
 } // End of namespace WaynesWorld




More information about the Scummvm-git-logs mailing list