[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