[Scummvm-git-logs] scummvm master -> 4a468b5368d5239ff17b92abc52f7cc25304b0f2

Strangerke noreply at scummvm.org
Wed Apr 15 18:43:26 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:
4a468b5368 WAYNESWORLD: Implement an introPt4_caller1 for demo1


Commit: 4a468b5368d5239ff17b92abc52f7cc25304b0f2
    https://github.com/scummvm/scummvm/commit/4a468b5368d5239ff17b92abc52f7cc25304b0f2
Author: Strangerke (arnaud.boutonne at gmail.com)
Date: 2026-04-15T20:42:41+02:00

Commit Message:
WAYNESWORLD: Implement an introPt4_caller1 for demo1

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


diff --git a/engines/waynesworld/wwintro.cpp b/engines/waynesworld/wwintro.cpp
index f6661f3ffcf..1b37888eb8d 100644
--- a/engines/waynesworld/wwintro.cpp
+++ b/engines/waynesworld/wwintro.cpp
@@ -205,4 +205,33 @@ void WWIntro::introPt3_clean() {
 	_outlineSurface = _logoSurface = _backg2Surface = nullptr;
 }
 
+bool WWIntro::introPt4_displayCallInTime() {
+	WWSurface *pt4Sub3Surface1 = new WWSurface(178, 21);
+	WWSurface *pt4Sub3Surface2 = new WWSurface(178, 21);
+	pt4Sub3Surface2->clear(0);
+	_vm->drawImageToSurface(_oanGxl, "callin.pcx", pt4Sub3Surface1, 0, 0);
+
+	for (int i = 0; i < 5; ++i) {
+		_vm->drawImageToScreen(_oanGxl, "backg1.pcx", 0, 15);
+		_vm->waitMillis(500);
+		if (_vm->_escPressed) {
+			break;
+		}
+		_vm->_screen->drawSurfaceTransparent(pt4Sub3Surface1, 66, 157);
+		_vm->waitMillis(500);
+		if (_vm->_escPressed) {
+			break;
+		}
+	}
+
+	delete pt4Sub3Surface1;
+	delete pt4Sub3Surface2;
+
+	if (_vm->_escPressed) {
+		return false;
+	}
+
+	return true;
+}
+
 } // End of namespace WaynesWorld
diff --git a/engines/waynesworld/wwintro.h b/engines/waynesworld/wwintro.h
index bc2b4addfc4..440f501f79d 100644
--- a/engines/waynesworld/wwintro.h
+++ b/engines/waynesworld/wwintro.h
@@ -78,6 +78,7 @@ protected:
 	void sub2FEFB(int arg_refreshBackgFl, int arg_wBodyIndex, int arg_gBodyIndex, int arg_wHead1Index, int arg_gHead1Index, int arg_TextId);
 	void introPt3_init();
 	void introPt3_clean();
+	bool introPt4_displayCallInTime();
 
 private:
 	void sub3009A(int textId);
@@ -100,7 +101,6 @@ private:
 
 	void introPt4_init();
 	bool introPt4_intro();
-	bool introPt4_displayCallInTime();
 	bool introPt4_caller1();
 	bool introPt4_caller2();
 	bool introPt4_caller3();
@@ -122,6 +122,7 @@ private:
 	bool introPt4();
 	void introPt4_init();
 	bool introPt4_intro();
+	bool introPt4_caller1();
 	void introPt4_cleanup();
 };
 } // End of namespace WaynesWorld
diff --git a/engines/waynesworld/wwintro_demo1.cpp b/engines/waynesworld/wwintro_demo1.cpp
index 8cf2c94f98b..774e7ac8874 100644
--- a/engines/waynesworld/wwintro_demo1.cpp
+++ b/engines/waynesworld/wwintro_demo1.cpp
@@ -198,6 +198,10 @@ bool WWIntro_demo1::introPt4() {
 	introPt4_init();
 	if (!introPt4_intro()) {
 		retVal = false;
+	} else if (!introPt4_displayCallInTime()) {
+		retVal = false;
+	} else if (!introPt4_caller1()) {
+		retVal = false;
 	}
 
 	introPt4_cleanup();
@@ -251,6 +255,94 @@ bool WWIntro_demo1::introPt4_intro() {
 	return true;
 }
 
+bool WWIntro_demo1::introPt4_caller1() {
+	for (int i = 0; i < 3; ++i) {
+		for (int j = 0; j < 15; ++j) {
+			sub2FEFB(1, 0, 1, _vm->getRandom(3), 9, 0);
+		}
+		++_startOawPos;
+	}
+
+	for (int i = 0; i < 3; ++i) {
+		for (int j = 0; j < 5; ++j) {
+			sub2FEFB(1, 0, 1, 0, _vm->getRandom(11), 1);
+		}
+		++_startOagPos;
+
+		for (int j = 0; j < 5; ++j) {
+			sub2FEFB(1, 0, 1, _vm->getRandom(3), 9, 0);
+		}
+		++_startOawPos;
+	}
+	_vm->playSound("ok.abt", false);
+
+	for (int i = 0; i < 10; ++i) {
+		sub2FEFB(1, 0, 1, _vm->getRandom(3), 9, 0);
+	}
+	++_startOawPos;
+
+	for (int i = 0; i < 2; ++i) {
+		sub2FEFB(1, 0, 1, _vm->getRandom(3), _vm->getRandom(11), 2);
+		_vm->waitSeconds(2);
+	}
+
+	_vm->playSound("shya!2.abt", false);
+
+	for (int j = 0; j < 10; ++j) {
+		sub2FEFB(1, 0, 1, _vm->getRandom(3), 9, 0);
+	}
+	++_startOawPos;
+
+	for (int i = 0; i < 3; ++i) {
+		sub2FEFB(1, 0, 1, _vm->getRandom(3), _vm->getRandom(11), 2);
+		_vm->waitSeconds(2);
+	}
+
+	for (int j = 0; j < 15; ++j) {
+		sub2FEFB(1, 0, 1, 0, _vm->getRandom(11), 1);
+	}
+	++_startOagPos;
+	
+	_vm->playSound("not!.abt", true);
+	
+	for (int i = 0; i < 3; ++i) {
+		sub2FEFB(1, 0, 1, _vm->getRandom(3), _vm->getRandom(11), 2);
+		_vm->waitSeconds(2);
+	}
+
+	for (int i = 0; i < 2; ++i) {
+		for (int j = 0; j < 10; ++j) {
+			sub2FEFB(1, 0, 1, _vm->getRandom(3), 9, 0);
+		}
+		++_startOawPos;
+	}
+
+	for (int i = 0; i < 3; ++i) {
+		sub2FEFB(1, 0, 1, _vm->getRandom(3), _vm->getRandom(11), 2);
+		_vm->waitSeconds(2);
+	}
+
+	for (int i = 0; i < 3; ++i) {
+		for (int j = 0; j < 15; ++j) {
+			sub2FEFB(1, 0, 1, _vm->getRandom(3), 9, 0);
+		}
+		++_startOawPos;
+	}
+
+	for (int i = 0; i < 5; ++i) {
+		sub2FEFB(1, 0, 1, _vm->getRandom(3), _vm->getRandom(11), 2);
+		_vm->waitSeconds(2);
+	}
+	_vm->_sound->playSound("hello.abt", true);
+
+	for (int i = 0; i < 5; ++i) {
+		sub2FEFB(1, 0, 1, _vm->getRandom(3), 9, 0);
+	}
+	++_startOawPos;
+
+	return true;
+}
+
 void WWIntro_demo1::introPt4_cleanup() {
 	delete _vm->_fontWW;
 	_vm->_fontWW = nullptr;
diff --git a/engines/waynesworld/wwintro_full.cpp b/engines/waynesworld/wwintro_full.cpp
index d55b4c52847..e6033e51a94 100644
--- a/engines/waynesworld/wwintro_full.cpp
+++ b/engines/waynesworld/wwintro_full.cpp
@@ -428,35 +428,6 @@ bool WWIntro_full::introPt4_intro() {
 	return true;
 }
 
-bool WWIntro_full::introPt4_displayCallInTime() {
-	WWSurface *pt4Sub3Surface1 = new WWSurface(178, 21);
-	WWSurface *pt4Sub3Surface2 = new WWSurface(178, 21);
-	pt4Sub3Surface2->clear(0);
-	_vm->drawImageToSurface(_oanGxl, "callin.pcx", pt4Sub3Surface1, 0, 0);
-
-	for (int i = 0; i < 5; ++i) {
-		_vm->drawImageToScreen(_oanGxl, "backg1.pcx", 0, 15);
-		_vm->waitMillis(500);
-		if (_vm->_escPressed) {
-			break;
-		}
-		_vm->_screen->drawSurfaceTransparent(pt4Sub3Surface1, 66, 157);
-		_vm->waitMillis(500);
-		if (_vm->_escPressed) {
-			break;
-		}
-	}
-
-	delete pt4Sub3Surface1;
-	delete pt4Sub3Surface2;
-
-	if (_vm->_escPressed) {
-		return false;
-	}
-
-	return true;
-}
-
 bool WWIntro_full::introPt4_caller1() {
 	for (int i = 0; i < 3; ++i) {
 		for (int j = 0; j < 15; ++j) {
@@ -476,6 +447,7 @@ bool WWIntro_full::introPt4_caller1() {
 			}
 		}
 		++_startOagPos;
+
 		for (int j = 0; j < 10; ++j) {
 			sub2FEFB(1, 0, 1, _vm->getRandom(3), 9, 0);
 			if (_vm->_escPressed) {




More information about the Scummvm-git-logs mailing list