[Scummvm-git-logs] scummvm master -> 13533f676ec1010087daae0ad445477524f0c99a
Strangerke
noreply at scummvm.org
Sun Apr 12 05:47:20 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:
13533f676e WAYNESWORLD: Move intro to a separate class and start working on interactive demo 1
Commit: 13533f676ec1010087daae0ad445477524f0c99a
https://github.com/scummvm/scummvm/commit/13533f676ec1010087daae0ad445477524f0c99a
Author: Strangerke (arnaud.boutonne at gmail.com)
Date: 2026-04-12T07:47:08+02:00
Commit Message:
WAYNESWORLD: Move intro to a separate class and start working on interactive demo 1
Changed paths:
A engines/waynesworld/wwintro.cpp
A engines/waynesworld/wwintro.h
A engines/waynesworld/wwintro_demo1.cpp
A engines/waynesworld/wwintro_full.cpp
R engines/waynesworld/intro.cpp
engines/waynesworld/module.mk
engines/waynesworld/waynesworld.cpp
engines/waynesworld/waynesworld.h
diff --git a/engines/waynesworld/module.mk b/engines/waynesworld/module.mk
index 5e1b64dd153..754a2822736 100644
--- a/engines/waynesworld/module.mk
+++ b/engines/waynesworld/module.mk
@@ -6,12 +6,15 @@ MODULE_OBJS := \
gamemap.o \
gxlarchive.o \
graphics.o \
- intro.o \
metaengine.o \
pathfinding.o \
sound.o \
staticdata.o \
- waynesworld.o
+ waynesworld.o \
+ wwintro.o \
+ wwintro_demo1.o \
+ wwintro_full.o
+
# This module can be built as a plugin
ifeq ($(ENABLE_WAYNESWORLD), DYNAMIC_PLUGIN)
diff --git a/engines/waynesworld/waynesworld.cpp b/engines/waynesworld/waynesworld.cpp
index 27c0ed39800..313c6c3e95f 100644
--- a/engines/waynesworld/waynesworld.cpp
+++ b/engines/waynesworld/waynesworld.cpp
@@ -178,8 +178,15 @@ Common::Error WaynesWorldEngine::run() {
}
if (_loadSaveSlot < 0) {
- runIntro();
+ if (_gameDescription->flags & ADGF_DEMO)
+ intro = new WWIntro_demo1(this);
+ else
+ intro = new WWIntro_full(this);
+ intro->runIntro();
+ delete intro;
+ intro = nullptr;
}
+
_introOngoing = false;
_fontWW = new GFTFont();
_fontWWInv = new GFTFont();
diff --git a/engines/waynesworld/waynesworld.h b/engines/waynesworld/waynesworld.h
index a9be35555e3..286e0531aba 100644
--- a/engines/waynesworld/waynesworld.h
+++ b/engines/waynesworld/waynesworld.h
@@ -33,6 +33,7 @@
#include "image/pcx.h"
#include "waynesworld/sound.h"
+#include "wwintro.h"
#define kWWSavegameVersion 1
#define kWWSavegameStrSize 14
@@ -141,53 +142,8 @@ public:
private:
Graphics::PixelFormat _pixelFormat;
- void wwEffect(int arg0, int arg1, bool flag);
- void cleanPt3();
-
- bool introPt1();
- bool introPt2();
- bool introPt3(bool flag);
- bool introPt4();
- void introPt5();
- void introPt6();
- void introPt7();
-
- WWSurface *_introBackg1Image = nullptr;
- WWSurface *_introWbodyImage[5] = {nullptr};
- WWSurface *_introGbodyImage = nullptr;
- WWSurface *_introWhead1[8] = {nullptr};
- WWSurface *_introGhead1[11] = {nullptr};
-
- int _old_arg_refreshBackgFl = -1;
- int _old_arg_wBodyIndex = -1;
- int _old_arg_gBodyIndex = -1;
- int _old_argWHead1Index = -1;
- int _old_argGHead1Index = -1;
- int _startOawPos = 0;
- int _startOagPos = 0;
- int _startOaoPos = 0;
int _loadSaveSlot = -1;
- void sub3009A(int textId);
- void sub2FEFB(int arg_refreshBackgFl, int arg_wBodyIndex, int arg_gBodyIndex, int arg_wHead1Index, int arg_gHead1Index, int arg_TextId);
-
- void introPt4_init();
- bool introPt4_intro();
- bool introPt4_displayCallInTime();
- bool introPt4_caller1();
- bool introPt4_caller2();
- bool introPt4_caller3();
- bool introPt4_caller4();
- void introPt4_cleanup();
- bool introPt4_playGuitar();
-
- WWSurface *_demoPt2Surface = nullptr;
- WWSurface *_backg2Surface = nullptr;
- WWSurface *_logoSurface = nullptr;
- WWSurface *_outlineSurface = nullptr;
-
- GxlArchive *_oanGxl = nullptr;
-
public:
Common::RandomSource *_random = nullptr;
GameLogic *_logic = nullptr;
@@ -301,7 +257,8 @@ public:
int _gameMapCtr = 0;
uint32 _gameMapLastTicks = 0;
- void runIntro();
+ // Intro
+ WWIntro *intro = nullptr;
// Utils
int getRandom(int max);
diff --git a/engines/waynesworld/wwintro.cpp b/engines/waynesworld/wwintro.cpp
new file mode 100644
index 00000000000..c7f330cbd9f
--- /dev/null
+++ b/engines/waynesworld/wwintro.cpp
@@ -0,0 +1,94 @@
+/* ScummVM - Graphic Adventure Engine
+ *
+ * ScummVM is the legal property of its developers, whose names
+ * are too numerous to list here. Please refer to the COPYRIGHT
+ * file distributed with this source distribution.
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ *
+ */
+
+#include "waynesworld/wwintro.h"
+#include "waynesworld/waynesworld.h"
+#include "waynesworld/graphics.h"
+#include "waynesworld/gxlarchive.h"
+
+#include "audio/audiostream.h"
+#include "graphics/paletteman.h"
+
+namespace WaynesWorld {
+
+WWIntro::WWIntro(WaynesWorldEngine *vm) : _vm(vm) {
+}
+
+void WWIntro::wwEffect(int arg0, int arg1, bool flag) {
+ int xmult = 0;
+ int ymult = 0;
+
+ switch (arg0) {
+ case 1:
+ xmult = 10;
+ ymult = 7;
+ break;
+ case 2:
+ xmult = 0;
+ ymult = 7;
+ break;
+ case 3:
+ xmult = -10;
+ ymult = 7;
+ break;
+ case 4:
+ xmult = -10;
+ ymult = 0;
+ break;
+ case 5:
+ xmult = -10;
+ ymult = -7;
+ break;
+ case 6:
+ xmult = 0;
+ ymult = -7;
+ break;
+ case 7:
+ xmult = 10;
+ ymult = -7;
+ break;
+ case 8:
+ xmult = 10;
+ ymult = 0;
+ break;
+ default:
+ break;
+ }
+
+ _demoPt2Surface->clear(0);
+ if (flag) {
+ _demoPt2Surface->drawSurface(_backg2Surface, 0, 15);
+ }
+
+ for (int i = 4; i > 0; --i) {
+ if (i <= arg1) {
+ _demoPt2Surface->drawSurfaceTransparent(_outlineSurface, (i * xmult) + 47, (i * ymult) + 25);
+ }
+ }
+
+ _demoPt2Surface->drawSurfaceTransparent(_logoSurface, 47, 25);
+ _vm->_screen->drawSurface(_demoPt2Surface, 0, 0);
+
+ // Added for better results
+ _vm->waitMillis(200);
+}
+
+} // End of namespace WaynesWorld
diff --git a/engines/waynesworld/wwintro.h b/engines/waynesworld/wwintro.h
new file mode 100644
index 00000000000..24387db3f1a
--- /dev/null
+++ b/engines/waynesworld/wwintro.h
@@ -0,0 +1,115 @@
+/* ScummVM - Graphic Adventure Engine
+ *
+ * ScummVM is the legal property of its developers, whose names
+ * are too numerous to list here. Please refer to the COPYRIGHT
+ * file distributed with this source distribution.
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ *
+ */
+
+#ifndef WAYNESWORLD_WWINTRO_H
+#define WAYNESWORLD_WWINTRO_H
+
+#include "common/scummsys.h"
+
+#define MAX_SOUNDS 20
+
+namespace WaynesWorld {
+
+class WaynesWorldEngine;
+class GxlArchive;
+class WWSurface;
+
+class WWIntro {
+protected:
+ WaynesWorldEngine *_vm;
+
+ WWSurface *_outlineSurface = nullptr;
+ WWSurface *_logoSurface = nullptr;
+ WWSurface *_backg2Surface = nullptr;
+
+public:
+ WWIntro(WaynesWorldEngine *vm);
+ virtual ~WWIntro() {}
+
+ virtual void runIntro() = 0;
+ WWSurface *_demoPt2Surface = nullptr;
+
+protected:
+ void wwEffect(int arg0, int arg1, bool flag);
+};
+
+class WWIntro_full : public WWIntro {
+public:
+ WWIntro_full(WaynesWorldEngine *vm);
+ ~WWIntro_full() override;
+
+ void runIntro() override;
+
+private:
+ GxlArchive *_oanGxl = nullptr;
+
+ int _startOawPos = 0;
+ int _startOagPos = 0;
+ int _startOaoPos = 0;
+
+ int _old_arg_refreshBackgFl = -1;
+ int _old_arg_wBodyIndex = -1;
+ int _old_arg_gBodyIndex = -1;
+ int _old_argWHead1Index = -1;
+ int _old_argGHead1Index = -1;
+
+ bool introPt1();
+ bool introPt2();
+ bool introPt3(bool flag);
+ bool introPt4();
+ void introPt5();
+ void introPt6();
+ void introPt7();
+
+ void sub3009A(int textId);
+ void sub2FEFB(int arg_refreshBackgFl, int arg_wBodyIndex, int arg_gBodyIndex, int arg_wHead1Index, int arg_gHead1Index, int arg_TextId);
+
+ void cleanPt3();
+ void introPt4_init();
+ bool introPt4_intro();
+ bool introPt4_displayCallInTime();
+ bool introPt4_caller1();
+ bool introPt4_caller2();
+ bool introPt4_caller3();
+ bool introPt4_caller4();
+ void introPt4_cleanup();
+ bool introPt4_playGuitar();
+
+ WWSurface *_introBackg1Image = nullptr;
+ WWSurface *_introWbodyImage[5] = {nullptr};
+ WWSurface *_introGbodyImage = nullptr;
+ WWSurface *_introWhead1[8] = {nullptr};
+ WWSurface *_introGhead1[11] = {nullptr};
+};
+
+class WWIntro_demo1 : public WWIntro {
+public:
+ WWIntro_demo1(WaynesWorldEngine *vm);
+ ~WWIntro_demo1() override;
+
+ void runIntro() override;
+
+private:
+ bool introPt1();
+};
+} // End of namespace WaynesWorld
+
+#endif /* WAYNESWORLD_WWINTRO_H*/
diff --git a/engines/waynesworld/wwintro_demo1.cpp b/engines/waynesworld/wwintro_demo1.cpp
new file mode 100644
index 00000000000..b4be8265e24
--- /dev/null
+++ b/engines/waynesworld/wwintro_demo1.cpp
@@ -0,0 +1,42 @@
+/* ScummVM - Graphic Adventure Engine
+ *
+ * ScummVM is the legal property of its developers, whose names
+ * are too numerous to list here. Please refer to the COPYRIGHT
+ * file distributed with this source distribution.
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ *
+ */
+
+#include "waynesworld/wwintro.h"
+#include "waynesworld/waynesworld.h"
+#include "waynesworld/graphics.h"
+#include "waynesworld/gxlarchive.h"
+
+#include "audio/audiostream.h"
+#include "graphics/paletteman.h"
+
+namespace WaynesWorld {
+
+WWIntro_demo1::WWIntro_demo1(WaynesWorldEngine *vm) : WWIntro(vm) {
+}
+
+WWIntro_demo1::~WWIntro_demo1() {
+}
+
+void WWIntro_demo1::runIntro() {
+ bool continueFl = introPt1();
+}
+
+} // End of namespace WaynesWorld
diff --git a/engines/waynesworld/intro.cpp b/engines/waynesworld/wwintro_full.cpp
similarity index 54%
rename from engines/waynesworld/intro.cpp
rename to engines/waynesworld/wwintro_full.cpp
index 71eaff48949..67e79d0fd55 100644
--- a/engines/waynesworld/intro.cpp
+++ b/engines/waynesworld/wwintro_full.cpp
@@ -19,6 +19,7 @@
*
*/
+#include "waynesworld/wwintro.h"
#include "waynesworld/waynesworld.h"
#include "waynesworld/graphics.h"
#include "waynesworld/gxlarchive.h"
@@ -28,7 +29,13 @@
namespace WaynesWorld {
-void WaynesWorldEngine::runIntro() {
+WWIntro_full::WWIntro_full(WaynesWorldEngine *vm) : WWIntro(vm) {
+}
+
+WWIntro_full::~WWIntro_full() {
+}
+
+void WWIntro_full::runIntro() {
bool continueFl = introPt1();
if (continueFl)
@@ -51,44 +58,44 @@ void WaynesWorldEngine::runIntro() {
introPt7();
}
-bool WaynesWorldEngine::introPt1() {
+bool WWIntro_full::introPt1() {
static const int16 array1[] = {179, 179, 181, 183, 186, 189, 192, 198, 208, 212, 217, 223, 234, 233, 236, 240, 241, 238, 238, 238, 225, 218, 218, 192, 164, 133, 103, 87};
static const int16 array2[] = {97, 97, 98, 98, 97, 96, 94, 91, 88, 85, 84, 82, 81, 78, 76, 76, 75, 74, 72, 72, 71, 69, 68, 68, 67, 67, 66, 68};
static const int16 array3[] = {80, 80, 69, 37, 0, 0, 0, 0};
static const int16 array4[] = {67, 67, 64, 54, 41, 27, 27, 27};
GxlArchive *oa2Gxl = new GxlArchive("oa2");
- loadPalette(oa2Gxl, "paramnt.pcx");
+ _vm->loadPalette(oa2Gxl, "paramnt.pcx");
- _musicIndex = 0;
- changeMusic();
+ _vm->_musicIndex = 0;
+ _vm->changeMusic();
// "Paramount" background
- drawImageToScreen(oa2Gxl, "paramnt.pcx", 0, 0);
- waitSeconds(1);
- if (_escPressed) {
+ _vm->drawImageToScreen(oa2Gxl, "paramnt.pcx", 0, 0);
+ _vm->waitSeconds(1);
+ if (_vm->_escPressed) {
delete oa2Gxl;
return false;
}
WWSurface *paramaSprite = new WWSurface(190, 112);
// "And" animation
- drawImageToSurface(oa2Gxl, "parama.pcx", paramaSprite, 0, 0);
- drawRandomEffect(paramaSprite, 66, 30, 2, 2);
+ _vm->drawImageToSurface(oa2Gxl, "parama.pcx", paramaSprite, 0, 0);
+ _vm->drawRandomEffect(paramaSprite, 66, 30, 2, 2);
delete paramaSprite;
- waitSeconds(2);
- if (_escPressed) {
+ _vm->waitSeconds(2);
+ if (_vm->_escPressed) {
delete oa2Gxl;
return false;
}
- paletteFadeOut(0, 256, 6);
+ _vm->paletteFadeOut(0, 256, 6);
- loadPalette(oa2Gxl, "backg.pcx");
- drawImageToScreen(oa2Gxl, "backg.pcx", 0, 0);
+ _vm->loadPalette(oa2Gxl, "backg.pcx");
+ _vm->drawImageToScreen(oa2Gxl, "backg.pcx", 0, 0);
- if (_escPressed) {
+ if (_vm->_escPressed) {
delete oa2Gxl;
return false;
}
@@ -96,11 +103,11 @@ bool WaynesWorldEngine::introPt1() {
// "Capstone logo" animation
for (int i = 1; i < 29; ++i) {
Common::String filename = Common::String::format("cap%02d.pcx", i);
- drawImageToScreen(oa2Gxl, filename.c_str(), array1[i - 1], array2[i - 1]);
- waitMillis(30);
+ _vm->drawImageToScreen(oa2Gxl, filename.c_str(), array1[i - 1], array2[i - 1]);
+ _vm->waitMillis(30);
}
- waitSeconds(1);
- if (_escPressed) {
+ _vm->waitSeconds(1);
+ if (_vm->_escPressed) {
delete oa2Gxl;
return false;
}
@@ -108,11 +115,11 @@ bool WaynesWorldEngine::introPt1() {
// "The pinnacle of entertainment software" animation
for (int i = 1; i < 10; ++i) {
Common::String filename = Common::String::format("txt%02d.pcx", i);
- drawImageToScreen(oa2Gxl, filename.c_str(), 0, 138);
- waitMillis(30);
+ _vm->drawImageToScreen(oa2Gxl, filename.c_str(), 0, 138);
+ _vm->waitMillis(30);
}
- waitSeconds(1);
- if (_escPressed) {
+ _vm->waitSeconds(1);
+ if (_vm->_escPressed) {
delete oa2Gxl;
return false;
}
@@ -120,11 +127,11 @@ bool WaynesWorldEngine::introPt1() {
// Shining "Capstone" animation
for (int i = 1; i < 12; ++i) {
Common::String filename = Common::String::format("captxt%02d.pcx", i);
- drawImageToScreen(oa2Gxl, filename.c_str(), 113, 89);
- waitMillis(30);
+ _vm->drawImageToScreen(oa2Gxl, filename.c_str(), 113, 89);
+ _vm->waitMillis(30);
}
- waitSeconds(1);
- if (_escPressed) {
+ _vm->waitSeconds(1);
+ if (_vm->_escPressed) {
delete oa2Gxl;
return false;
}
@@ -132,158 +139,99 @@ bool WaynesWorldEngine::introPt1() {
// Removing "The pinnacle of entertainment software" animation
for (int i = 9; i > 0; --i) {
Common::String filename = Common::String::format("txt%02d.pcx", i);
- drawImageToScreen(oa2Gxl, filename.c_str(), 0, 138);
- waitMillis(30);
+ _vm->drawImageToScreen(oa2Gxl, filename.c_str(), 0, 138);
+ _vm->waitMillis(30);
}
- if (_escPressed) {
+ if (_vm->_escPressed) {
delete oa2Gxl;
return false;
}
- drawImageToScreen(oa2Gxl, "txtbkg.pcx", 0, 138);
- waitMillis(30);
- waitSeconds(1);
- if (_escPressed) {
+ _vm->drawImageToScreen(oa2Gxl, "txtbkg.pcx", 0, 138);
+ _vm->waitMillis(30);
+ _vm->waitSeconds(1);
+ if (_vm->_escPressed) {
delete oa2Gxl;
return false;
}
for (int i = 1; i < 7; ++i) {
Common::String filename = Common::String::format("capsp%02d.pcx", i);
- drawImageToScreen(oa2Gxl, filename.c_str(), 76, 66);
- waitMillis(30);
+ _vm->drawImageToScreen(oa2Gxl, filename.c_str(), 76, 66);
+ _vm->waitMillis(30);
}
- if (_escPressed) {
+ if (_vm->_escPressed) {
delete oa2Gxl;
return false;
}
for (int i = 1; i < 12; ++i) {
Common::String filename = Common::String::format("presnt%02d.pcx", i);
- drawImageToScreen(oa2Gxl, filename.c_str(), 117, 112);
- waitMillis(60);
+ _vm->drawImageToScreen(oa2Gxl, filename.c_str(), 117, 112);
+ _vm->waitMillis(60);
}
- if (_escPressed) {
+ if (_vm->_escPressed) {
delete oa2Gxl;
return false;
}
for (int i = 1; i < 9; ++i) {
Common::String filename = Common::String::format("capawy%02d.pcx", i);
- drawImageToScreen(oa2Gxl, filename.c_str(), array3[i - 1], array4[i - 1]);
- waitMillis(30);
+ _vm->drawImageToScreen(oa2Gxl, filename.c_str(), array3[i - 1], array4[i - 1]);
+ _vm->waitMillis(30);
}
delete oa2Gxl;
- if (_escPressed) {
+ if (_vm->_escPressed) {
return false;
}
return true;
}
-bool WaynesWorldEngine::introPt2() {
- paletteFadeOut(0, 256, 64);
+bool WWIntro_full::introPt2() {
+ _vm->paletteFadeOut(0, 256, 64);
_oanGxl = new GxlArchive("oan");
- loadPalette(_oanGxl, "backg2.pcx");
+ _vm->loadPalette(_oanGxl, "backg2.pcx");
_demoPt2Surface = new WWSurface(320, 200);
- _midi->stopSong();
+ _vm->_midi->stopSong();
return true;
}
-void WaynesWorldEngine::wwEffect(int arg0, int arg1, bool flag) {
- int xmult = 0;
- int ymult = 0;
-
- switch (arg0) {
- case 1:
- xmult = 10;
- ymult = 7;
- break;
- case 2:
- xmult = 0;
- ymult = 7;
- break;
- case 3:
- xmult = -10;
- ymult = 7;
- break;
- case 4:
- xmult = -10;
- ymult = 0;
- break;
- case 5:
- xmult = -10;
- ymult = -7;
- break;
- case 6:
- xmult = 0;
- ymult = -7;
- break;
- case 7:
- xmult = 10;
- ymult = -7;
- break;
- case 8:
- xmult = 10;
- ymult = 0;
- break;
- default:
- break;
- }
-
- _demoPt2Surface->clear(0);
- if (flag) {
- _demoPt2Surface->drawSurface(_backg2Surface, 0, 15);
- }
-
- for (int i = 4; i > 0; --i) {
- if (i <= arg1) {
- _demoPt2Surface->drawSurfaceTransparent(_outlineSurface, (i * xmult) + 47, (i * ymult) + 25);
- }
- }
-
- _demoPt2Surface->drawSurfaceTransparent(_logoSurface, 47, 25);
- _screen->drawSurface(_demoPt2Surface, 0, 0);
-
- // Added for better results
- waitMillis(200);
-}
-
-void WaynesWorldEngine::cleanPt3() {
+void WWIntro_full::cleanPt3() {
delete _outlineSurface;
delete _logoSurface;
delete _backg2Surface;
}
-bool WaynesWorldEngine::introPt3(bool flag) {
+bool WWIntro_full::introPt3(bool flag) {
// sub1
_backg2Surface = new WWSurface(320, 170);
_logoSurface = new WWSurface(226, 134);
_outlineSurface = new WWSurface(226, 134);
- drawImageToSurface(_oanGxl, "backg2.pcx", _backg2Surface, 0, 0);
- drawImageToSurface(_oanGxl, "logo.pcx", _logoSurface, 0, 0);
- drawImageToSurface(_oanGxl, "outline.pcx", _outlineSurface, 0, 0);
+ _vm->drawImageToSurface(_oanGxl, "backg2.pcx", _backg2Surface, 0, 0);
+ _vm->drawImageToSurface(_oanGxl, "logo.pcx", _logoSurface, 0, 0);
+ _vm->drawImageToSurface(_oanGxl, "outline.pcx", _outlineSurface, 0, 0);
// End of sub1
wwEffect(1, 0, flag);
if (flag)
- waitSeconds(1);
+ _vm->waitSeconds(1);
- if (_escPressed) {
+ if (_vm->_escPressed) {
cleanPt3();
return false;
}
- _sound->playSound("sv42.snd", false);
+ _vm->_sound->playSound("sv42.snd", false);
wwEffect(1, 1, flag);
wwEffect(1, 2, flag);
wwEffect(1, 3, flag);
- if (_escPressed) {
+ if (_vm->_escPressed) {
cleanPt3();
return false;
}
@@ -302,7 +250,7 @@ bool WaynesWorldEngine::introPt3(bool flag) {
g_system->getPaletteManager()->setPalette((const byte *)&newColor, 236, 1);
wwEffect((i % 8) + 1, 4, flag);
- if (_escPressed) {
+ if (_vm->_escPressed) {
cleanPt3();
return false;
}
@@ -312,29 +260,29 @@ bool WaynesWorldEngine::introPt3(bool flag) {
wwEffect(1, 2, flag);
wwEffect(1, 1, flag);
wwEffect(1, 0, flag);
- if (_escPressed) {
+ if (_vm->_escPressed) {
cleanPt3();
return false;
}
- while (_sound->isSFXPlaying())
- waitMillis(30);
+ while (_vm->_sound->isSFXPlaying())
+ _vm->waitMillis(30);
- _sound->playSound("sv16.snd", false);
+ _vm->_sound->playSound("sv16.snd", false);
- waitSeconds(1);
- paletteFadeOut(0, 256, 4);
+ _vm->waitSeconds(1);
+ _vm->paletteFadeOut(0, 256, 4);
cleanPt3();
- if (_escPressed) {
+ if (_vm->_escPressed) {
return false;
}
return true;
}
-bool WaynesWorldEngine::introPt4() {
+bool WWIntro_full::introPt4() {
bool retVal = true;
introPt4_init();
@@ -358,59 +306,59 @@ bool WaynesWorldEngine::introPt4() {
return retVal;
}
-void WaynesWorldEngine::introPt5() {
+void WWIntro_full::introPt5() {
delete _oanGxl;
_oanGxl = nullptr;
}
-void WaynesWorldEngine::introPt6() {
+void WWIntro_full::introPt6() {
WWSurface *introPt6Surface[5] = {nullptr};
WWSurface *signBottomSurface = nullptr;
WWSurface *scrollSurface = nullptr;
- _escPressed = false;
+ _vm->_escPressed = false;
- while (_sound->isSFXPlaying())
- waitMillis(10);
+ while (_vm->_sound->isSFXPlaying())
+ _vm->waitMillis(10);
- if (_escPressed)
+ if (_vm->_escPressed)
return;
GxlArchive *oa3Gxl = new GxlArchive("oa3");
for (int i = 0; i < 5; ++i) {
introPt6Surface[i] = new WWSurface(320, 200);
Common::String filename = Common::String::format("sign%d.pcx", i);
- drawImageToSurface(oa3Gxl, filename.c_str(), introPt6Surface[i], 0, 0);
+ _vm->drawImageToSurface(oa3Gxl, filename.c_str(), introPt6Surface[i], 0, 0);
}
- _sound->playSound("sv14.snd", false);
+ _vm->_sound->playSound("sv14.snd", false);
for (int i = 0; i < 5; ++i) {
- _screen->drawSurface(introPt6Surface[i], 0, 0);
- waitMillis(100);
- if (_escPressed) {
+ _vm->_screen->drawSurface(introPt6Surface[i], 0, 0);
+ _vm->waitMillis(100);
+ if (_vm->_escPressed) {
break;
}
}
- if (!_escPressed) {
+ if (!_vm->_escPressed) {
signBottomSurface = new WWSurface(320, 94);
- drawImageToSurface(oa3Gxl, "signbot.pcx", signBottomSurface, 0, 0);
+ _vm->drawImageToSurface(oa3Gxl, "signbot.pcx", signBottomSurface, 0, 0);
}
- if (!_escPressed) {
- _musicIndex = 1;
- changeMusic();
- waitSeconds(4);
+ if (!_vm->_escPressed) {
+ _vm->_musicIndex = 1;
+ _vm->changeMusic();
+ _vm->waitSeconds(4);
}
- if (!_escPressed) {
+ if (!_vm->_escPressed) {
scrollSurface = new WWSurface(320, 200);
for (int i = 199; i > 106; --i) {
scrollSurface->copyRectToSurface((Graphics::Surface)*introPt6Surface[4], 0, 0, Common::Rect(0, 200 - i, 319, 200));
scrollSurface->copyRectToSurface((Graphics::Surface)*signBottomSurface, 0, i, Common::Rect(0, 0, 319, 200 - i));
- _screen->drawSurface(scrollSurface, 0, 0);
+ _vm->_screen->drawSurface(scrollSurface, 0, 0);
}
}
@@ -421,13 +369,13 @@ void WaynesWorldEngine::introPt6() {
delete introPt6Surface[i];
}
-void WaynesWorldEngine::introPt7() {
- _midi->stopSong();
- paletteFadeOut(0, 256, 4);
- _screen->clear(0);
+void WWIntro_full::introPt7() {
+ _vm->_midi->stopSong();
+ _vm->paletteFadeOut(0, 256, 4);
+ _vm->_screen->clear(0);
}
-void WaynesWorldEngine::sub3009A(int textId) {
+void WWIntro_full::sub3009A(int textId) {
int startPos;
int textColor;
int textType = 0;
@@ -453,15 +401,15 @@ void WaynesWorldEngine::sub3009A(int textId) {
break;
}
- Common::String displayTxt = loadString(filename.c_str(), startPos, 0);
+ Common::String displayTxt = _vm->loadString(filename.c_str(), startPos, 0);
if (textType)
- _fontWW->drawText(_demoPt2Surface, displayTxt.c_str(), 0, 187, textColor);
+ _vm->_fontWW->drawText(_demoPt2Surface, displayTxt.c_str(), 0, 187, textColor);
else
- _fontWW->drawText(_demoPt2Surface, displayTxt.c_str(), 0, 2, textColor);
+ _vm->_fontWW->drawText(_demoPt2Surface, displayTxt.c_str(), 0, 2, textColor);
}
-void WaynesWorldEngine::sub2FEFB(int arg_refreshBackgFl, int arg_wBodyIndex, int arg_gBodyIndex, int arg_wHead1Index, int arg_gHead1Index, int arg_TextId) {
+void WWIntro_full::sub2FEFB(int arg_refreshBackgFl, int arg_wBodyIndex, int arg_gBodyIndex, int arg_wHead1Index, int arg_gHead1Index, int arg_TextId) {
_demoPt2Surface->fillRect(0, 0, 319, 14, 0);
_demoPt2Surface->fillRect(0, 185, 319, 199, 0);
@@ -495,113 +443,113 @@ void WaynesWorldEngine::sub2FEFB(int arg_refreshBackgFl, int arg_wBodyIndex, int
sub3009A(arg_TextId);
}
- _screen->drawSurface(_demoPt2Surface, 0, 0);
- waitMillis(170);
+ _vm->_screen->drawSurface(_demoPt2Surface, 0, 0);
+ _vm->waitMillis(170);
}
-void WaynesWorldEngine::introPt4_init() {
- _fontWW = new GFTFont();
- _fontWW->loadFromFile("ww.gft");
+void WWIntro_full::introPt4_init() {
+ _vm->_fontWW = new GFTFont();
+ _vm->_fontWW->loadFromFile("ww.gft");
- while(_sound->isSFXPlaying())
- waitMillis(30);
+ while (_vm->_sound->isSFXPlaying())
+ _vm->waitMillis(30);
- _musicIndex = 2;
- changeMusic();
+ _vm->_musicIndex = 2;
+ _vm->changeMusic();
_introBackg1Image = new WWSurface(320, 170);
- drawImageToSurface(_oanGxl, "backg1.pcx", _introBackg1Image, 0, 0);
+ _vm->drawImageToSurface(_oanGxl, "backg1.pcx", _introBackg1Image, 0, 0);
for (int i = 0; i < 5; ++i) {
_introWbodyImage[i] = new WWSurface(145, 118);
Common::String filename = Common::String::format("wbody%d.pcx", i == 0 ? 0 : i + 8);
- drawImageToSurface(_oanGxl, filename.c_str(), _introWbodyImage[i], 0, 0);
+ _vm->drawImageToSurface(_oanGxl, filename.c_str(), _introWbodyImage[i], 0, 0);
}
_introGbodyImage = new WWSurface(160, 149);
- drawImageToSurface(_oanGxl, "gbody0.pcx", _introGbodyImage, 0, 0);
+ _vm->drawImageToSurface(_oanGxl, "gbody0.pcx", _introGbodyImage, 0, 0);
for (int i = 0; i < 8; ++i) {
_introWhead1[i] = new WWSurface(98, 71);
Common::String filename = Common::String::format("whead1%d.pcx", i);
- drawImageToSurface(_oanGxl, filename.c_str(), _introWhead1[i], 0, 0);
+ _vm->drawImageToSurface(_oanGxl, filename.c_str(), _introWhead1[i], 0, 0);
}
for (int i = 0; i < 11; ++i) {
_introGhead1[i] = new WWSurface(138, 80);
Common::String filename = Common::String::format("ghead1%d.pcx", i);
- drawImageToSurface(_oanGxl, filename.c_str(), _introGhead1[i], 0, 0);
+ _vm->drawImageToSurface(_oanGxl, filename.c_str(), _introGhead1[i], 0, 0);
}
- drawImageToScreen(_oanGxl, "backg1.pcx", 0, 15);
- paletteFadeIn(0, 256, 2);
+ _vm->drawImageToScreen(_oanGxl, "backg1.pcx", 0, 15);
+ _vm->paletteFadeIn(0, 256, 2);
}
-bool WaynesWorldEngine::introPt4_intro() {
- _sound->playSound("sv27.snd", false);
+bool WWIntro_full::introPt4_intro() {
+ _vm->_sound->playSound("sv27.snd", false);
for (int i = 0; i < 12; ++i) {
- sub2FEFB(1, 0, 1, getRandom(3), 9, 0);
+ sub2FEFB(1, 0, 1, _vm->getRandom(3), 9, 0);
}
- if (_escPressed) {
+ if (_vm->_escPressed) {
return false;
}
++_startOawPos;
- while (_sound->isSFXPlaying())
- waitMillis(30);
+ while (_vm->_sound->isSFXPlaying())
+ _vm->waitMillis(30);
- _sound->playSound("sv25.snd", false);
+ _vm->_sound->playSound("sv25.snd", false);
for (int i = 0; i < 8; ++i) {
- sub2FEFB(1, 0, 1, getRandom(3), 9, 0);
+ sub2FEFB(1, 0, 1, _vm->getRandom(3), 9, 0);
}
++_startOawPos;
- if (_escPressed) {
+ if (_vm->_escPressed) {
return false;
}
- while (_sound->isSFXPlaying())
- waitMillis(30);
+ while (_vm->_sound->isSFXPlaying())
+ _vm->waitMillis(30);
- _sound->playSound("sv20.snd", false);
+ _vm->_sound->playSound("sv20.snd", false);
for (int i = 0; i < 5; ++i) {
- sub2FEFB(1, 0, 1, 0, getRandom(11), 1);
+ sub2FEFB(1, 0, 1, 0, _vm->getRandom(11), 1);
}
++_startOagPos;
- if (_escPressed) {
+ if (_vm->_escPressed) {
return false;
}
for (int i = 0; i < 15; ++i) {
- sub2FEFB(1, 0, 1, getRandom(3), 9, 0);
+ sub2FEFB(1, 0, 1, _vm->getRandom(3), 9, 0);
}
++_startOawPos;
- if (_escPressed) {
+ if (_vm->_escPressed) {
return false;
}
return true;
}
-bool WaynesWorldEngine::introPt4_displayCallInTime() {
+bool WWIntro_full::introPt4_displayCallInTime() {
WWSurface *pt4Sub3Surface1 = new WWSurface(178, 21);
WWSurface *pt4Sub3Surface2 = new WWSurface(178, 21);
pt4Sub3Surface2->clear(0);
- drawImageToSurface(_oanGxl, "callin.pcx", pt4Sub3Surface1, 0, 0);
+ _vm->drawImageToSurface(_oanGxl, "callin.pcx", pt4Sub3Surface1, 0, 0);
for (int i = 0; i < 5; ++i) {
- drawImageToScreen(_oanGxl, "backg1.pcx", 0, 15);
- waitMillis(500);
- if (_escPressed) {
+ _vm->drawImageToScreen(_oanGxl, "backg1.pcx", 0, 15);
+ _vm->waitMillis(500);
+ if (_vm->_escPressed) {
break;
}
- _screen->drawSurfaceTransparent(pt4Sub3Surface1, 66, 157);
- waitMillis(500);
- if (_escPressed) {
+ _vm->_screen->drawSurfaceTransparent(pt4Sub3Surface1, 66, 157);
+ _vm->waitMillis(500);
+ if (_vm->_escPressed) {
break;
}
}
@@ -609,18 +557,18 @@ bool WaynesWorldEngine::introPt4_displayCallInTime() {
delete pt4Sub3Surface1;
delete pt4Sub3Surface2;
- if (_escPressed) {
+ if (_vm->_escPressed) {
return false;
}
return true;
}
-bool WaynesWorldEngine::introPt4_caller1() {
+bool WWIntro_full::introPt4_caller1() {
for (int i = 0; i < 3; ++i) {
for (int j = 0; j < 15; ++j) {
- sub2FEFB(1, 0, 1, getRandom(3), 9, 0);
- if (_escPressed) {
+ sub2FEFB(1, 0, 1, _vm->getRandom(3), 9, 0);
+ if (_vm->_escPressed) {
return false;
}
}
@@ -629,105 +577,105 @@ bool WaynesWorldEngine::introPt4_caller1() {
for (int i = 0; i < 3; ++i) {
for (int j = 0; j < 5; ++j) {
- sub2FEFB(1, 0, 1, 0, getRandom(11), 1);
- if (_escPressed) {
+ sub2FEFB(1, 0, 1, 0, _vm->getRandom(11), 1);
+ if (_vm->_escPressed) {
return false;
}
}
++_startOagPos;
for (int j = 0; j < 10; ++j) {
- sub2FEFB(1, 0, 1, getRandom(3), 9, 0);
- if (_escPressed) {
+ sub2FEFB(1, 0, 1, _vm->getRandom(3), 9, 0);
+ if (_vm->_escPressed) {
return false;
}
}
++_startOawPos;
}
- _sound->playSound("sv33.snd", 0);
+ _vm->_sound->playSound("sv33.snd", 0);
for (int j = 0; j < 10; ++j) {
- sub2FEFB(1, 0, 1, getRandom(3), 9, 0);
- if (_escPressed) {
+ sub2FEFB(1, 0, 1, _vm->getRandom(3), 9, 0);
+ if (_vm->_escPressed) {
return false;
}
}
++_startOawPos;
for (int i = 0; i < 2; ++i) {
- sub2FEFB(1, 0, 1, getRandom(3), getRandom(11), 2);
- waitSeconds(2);
- if (_escPressed) {
+ sub2FEFB(1, 0, 1, _vm->getRandom(3), _vm->getRandom(11), 2);
+ _vm->waitSeconds(2);
+ if (_vm->_escPressed) {
return false;
}
}
- _sound->playSound("sv38.snd", 0);
+ _vm->_sound->playSound("sv38.snd", 0);
for (int j = 0; j < 10; ++j) {
- sub2FEFB(1, 0, 1, getRandom(3), 9, 0);
- if (_escPressed) {
+ sub2FEFB(1, 0, 1, _vm->getRandom(3), 9, 0);
+ if (_vm->_escPressed) {
return false;
}
}
++_startOawPos;
for (int i = 0; i < 3; ++i) {
- sub2FEFB(1, 0, 1, getRandom(3), getRandom(11), 2);
- waitSeconds(2);
- if (_escPressed) {
+ sub2FEFB(1, 0, 1, _vm->getRandom(3), _vm->getRandom(11), 2);
+ _vm->waitSeconds(2);
+ if (_vm->_escPressed) {
return false;
}
}
for (int j = 0; j < 15; ++j) {
- sub2FEFB(1, 0, 1, 0, getRandom(11), 1);
- if (_escPressed) {
+ sub2FEFB(1, 0, 1, 0, _vm->getRandom(11), 1);
+ if (_vm->_escPressed) {
return false;
}
}
++_startOagPos;
- _sound->playSound("sv31.snd", 0);
+ _vm->_sound->playSound("sv31.snd", 0);
for (int i = 0; i < 3; ++i) {
- sub2FEFB(1, 0, 1, getRandom(3), getRandom(11), 2);
- waitSeconds(2);
- if (_escPressed) {
+ sub2FEFB(1, 0, 1, _vm->getRandom(3), _vm->getRandom(11), 2);
+ _vm->waitSeconds(2);
+ if (_vm->_escPressed) {
return false;
}
}
for (int i = 0; i < 2; ++i) {
for (int j = 0; j < 10; ++j) {
- sub2FEFB(1, 0, 1, getRandom(3), 9, 0);
- if (_escPressed) {
+ sub2FEFB(1, 0, 1, _vm->getRandom(3), 9, 0);
+ if (_vm->_escPressed) {
return false;
}
}
++_startOawPos;
}
- _sound->playSound("sv28.snd", 0);
+ _vm->_sound->playSound("sv28.snd", 0);
for (int j = 0; j < 5; ++j) {
- sub2FEFB(1, 0, 1, getRandom(3), 9, 0);
- if (_escPressed) {
+ sub2FEFB(1, 0, 1, _vm->getRandom(3), 9, 0);
+ if (_vm->_escPressed) {
return false;
}
}
++_startOawPos;
- _sound->playSound("sv21.snd", 0);
+ _vm->_sound->playSound("sv21.snd", 0);
for (int i = 0; i < 3; ++i) {
- sub2FEFB(1, 0, 1, getRandom(3), getRandom(11), 2);
- waitSeconds(2);
- if (_escPressed) {
+ sub2FEFB(1, 0, 1, _vm->getRandom(3), _vm->getRandom(11), 2);
+ _vm->waitSeconds(2);
+ if (_vm->_escPressed) {
return false;
}
}
for (int i = 0; i < 3; ++i) {
for (int j = 0; j < 15; ++j) {
- sub2FEFB(1, 0, 1, getRandom(3), 9, 0);
- if (_escPressed) {
+ sub2FEFB(1, 0, 1, _vm->getRandom(3), 9, 0);
+ if (_vm->_escPressed) {
return false;
}
}
@@ -735,42 +683,42 @@ bool WaynesWorldEngine::introPt4_caller1() {
}
for (int i = 0; i < 5; ++i) {
- sub2FEFB(1, 0, 1, getRandom(3), getRandom(11), 2);
- waitSeconds(2);
+ sub2FEFB(1, 0, 1, _vm->getRandom(3), _vm->getRandom(11), 2);
+ _vm->waitSeconds(2);
}
- _sound->playSound("sv29.snd", false);
+ _vm->_sound->playSound("sv29.snd", false);
for (int i = 0; i < 3; ++i) {
for (int j = 0; j < 10; ++j) {
- sub2FEFB(1, 0, 1, getRandom(3), 9, 0);
- if (_escPressed) {
+ sub2FEFB(1, 0, 1, _vm->getRandom(3), 9, 0);
+ if (_vm->_escPressed) {
return false;
}
}
++_startOawPos;
}
- if (_escPressed) {
+ if (_vm->_escPressed) {
return false;
}
return true;
}
-bool WaynesWorldEngine::introPt4_caller2() {
+bool WWIntro_full::introPt4_caller2() {
for (int i = 0; i < 4; ++i) {
- sub2FEFB(1, 0, 1, getRandom(3), getRandom(11), 2);
- waitSeconds(2);
- if (_escPressed) {
+ sub2FEFB(1, 0, 1, _vm->getRandom(3), _vm->getRandom(11), 2);
+ _vm->waitSeconds(2);
+ if (_vm->_escPressed) {
return false;
}
if (i == 2)
- _sound->playSound("sv19.snd", false);
+ _vm->_sound->playSound("sv19.snd", false);
}
for (int i = 0; i < 4; ++i) {
for (int j = 0; j < 10; ++j) {
- sub2FEFB(1, 0, 1, 0, getRandom(11), 1);
- if (_escPressed) {
+ sub2FEFB(1, 0, 1, 0, _vm->getRandom(11), 1);
+ if (_vm->_escPressed) {
return false;
}
}
@@ -778,133 +726,133 @@ bool WaynesWorldEngine::introPt4_caller2() {
}
for (int i = 0; i < 4; ++i) {
- sub2FEFB(1, 0, 1, getRandom(3), getRandom(11), 2);
- waitSeconds(2);
- if (_escPressed) {
+ sub2FEFB(1, 0, 1, _vm->getRandom(3), _vm->getRandom(11), 2);
+ _vm->waitSeconds(2);
+ if (_vm->_escPressed) {
return false;
}
}
for (int j = 0; j < 10; ++j) {
- sub2FEFB(1, 0, 1, getRandom(3), 9, 0);
- if (_escPressed) {
+ sub2FEFB(1, 0, 1, _vm->getRandom(3), 9, 0);
+ if (_vm->_escPressed) {
return false;
}
}
++_startOawPos;
- sub2FEFB(1, 0, 1, getRandom(3), getRandom(11), 2);
- waitSeconds(2);
- if (_escPressed) {
+ sub2FEFB(1, 0, 1, _vm->getRandom(3), _vm->getRandom(11), 2);
+ _vm->waitSeconds(2);
+ if (_vm->_escPressed) {
return false;
}
for (int i = 0; i < 3; ++i) {
for (int j = 0; j < 10; ++j) {
- sub2FEFB(1, 0, 1, 0, getRandom(11), 1);
- if (_escPressed) {
+ sub2FEFB(1, 0, 1, 0, _vm->getRandom(11), 1);
+ if (_vm->_escPressed) {
return false;
}
}
++_startOagPos;
}
- _sound->playSound("sv21.snd", false);
+ _vm->_sound->playSound("sv21.snd", false);
for (int i = 0; i < 2; ++i) {
- sub2FEFB(1, 0, 1, getRandom(3), getRandom(11), 2);
- waitSeconds(2);
- if (_escPressed) {
+ sub2FEFB(1, 0, 1, _vm->getRandom(3), _vm->getRandom(11), 2);
+ _vm->waitSeconds(2);
+ if (_vm->_escPressed) {
return false;
}
}
- _sound->playSound("sv15.snd", false);
+ _vm->_sound->playSound("sv15.snd", false);
for (int j = 0; j < 10; ++j) {
- sub2FEFB(1, 0, 1, getRandom(3), 9, 0);
- if (_escPressed) {
+ sub2FEFB(1, 0, 1, _vm->getRandom(3), 9, 0);
+ if (_vm->_escPressed) {
return false;
}
}
++_startOawPos;
for (int i = 0; i < 4; ++i) {
- sub2FEFB(1, 0, 1, getRandom(3), getRandom(11), 2);
- waitSeconds(2);
- if (_escPressed) {
+ sub2FEFB(1, 0, 1, _vm->getRandom(3), _vm->getRandom(11), 2);
+ _vm->waitSeconds(2);
+ if (_vm->_escPressed) {
return false;
}
}
- _sound->playSound("sv30.snd", false);
+ _vm->_sound->playSound("sv30.snd", false);
for (int i = 0; i < 3; ++i) {
for (int j = 0; j < 10; ++j) {
- sub2FEFB(1, 0, 1, 0, getRandom(11), 1);
- if (_escPressed) {
+ sub2FEFB(1, 0, 1, 0, _vm->getRandom(11), 1);
+ if (_vm->_escPressed) {
return false;
}
}
++_startOagPos;
}
- _sound->playSound("sv22.snd", false);
+ _vm->_sound->playSound("sv22.snd", false);
for (int i = 0; i < 2; ++i) {
for (int j = 0; j < 10; ++j) {
- sub2FEFB(1, 0, 1, getRandom(3), 9, 0);
- if (_escPressed) {
+ sub2FEFB(1, 0, 1, _vm->getRandom(3), 9, 0);
+ if (_vm->_escPressed) {
return false;
}
}
++_startOawPos;
}
- if (_escPressed) {
+ if (_vm->_escPressed) {
return false;
}
return true;
}
-bool WaynesWorldEngine::introPt4_caller3() {
+bool WWIntro_full::introPt4_caller3() {
for (int i = 0; i < 5; ++i) {
- sub2FEFB(1, 0, 1, getRandom(3), getRandom(11), 2);
- waitSeconds(3);
- if (_escPressed) {
+ sub2FEFB(1, 0, 1, _vm->getRandom(3), _vm->getRandom(11), 2);
+ _vm->waitSeconds(3);
+ if (_vm->_escPressed) {
return false;
}
}
for (int i = 0; i < 10; ++i) {
- sub2FEFB(1, 0, 1, getRandom(3), 9, 0);
- if (_escPressed) {
+ sub2FEFB(1, 0, 1, _vm->getRandom(3), 9, 0);
+ if (_vm->_escPressed) {
return false;
}
}
++_startOawPos;
for (int i = 0; i < 5; ++i) {
- sub2FEFB(1, 0, 1, getRandom(3), getRandom(11), 0);
- if (_escPressed) {
+ sub2FEFB(1, 0, 1, _vm->getRandom(3), _vm->getRandom(11), 0);
+ if (_vm->_escPressed) {
return false;
}
}
++_startOawPos;
++_startOagPos;
- _sound->playSound("sv46.snd", true);
+ _vm->_sound->playSound("sv46.snd", true);
for (int j = 0; j < 2; ++j) {
for (int i = 0; i < 15; ++i) {
- sub2FEFB(1, 0, 1, getRandom(3), 9, 0);
- if (_escPressed) {
+ sub2FEFB(1, 0, 1, _vm->getRandom(3), 9, 0);
+ if (_vm->_escPressed) {
return false;
}
}
++_startOawPos;
}
- _sound->playSound("sv31.snd", false);
+ _vm->_sound->playSound("sv31.snd", false);
for (int i = 0; i < 5; ++i) {
- sub2FEFB(1, 0, 1, getRandom(3), getRandom(11), 0);
- if (_escPressed) {
+ sub2FEFB(1, 0, 1, _vm->getRandom(3), _vm->getRandom(11), 0);
+ if (_vm->_escPressed) {
return false;
}
}
@@ -913,27 +861,27 @@ bool WaynesWorldEngine::introPt4_caller3() {
++_startOagPos;
for (int i = 0; i < 2; ++i) {
- sub2FEFB(1, 0, 1, getRandom(3), getRandom(11), 2);
- waitSeconds(2);
- if (_escPressed) {
+ sub2FEFB(1, 0, 1, _vm->getRandom(3), _vm->getRandom(11), 2);
+ _vm->waitSeconds(2);
+ if (_vm->_escPressed) {
return false;
}
}
for (int j = 0; j < 4; ++j) {
for (int i = 0; i < 15; ++i) {
- sub2FEFB(1, 0, 1, getRandom(3), 9, 0);
- if (_escPressed) {
+ sub2FEFB(1, 0, 1, _vm->getRandom(3), 9, 0);
+ if (_vm->_escPressed) {
return false;
}
}
++_startOawPos;
}
- _sound->playSound("sv39.snd", false);
+ _vm->_sound->playSound("sv39.snd", false);
for (int i = 0; i < 8; ++i) {
- sub2FEFB(1, 0, 1, getRandom(3), getRandom(11), 0);
- if (_escPressed) {
+ sub2FEFB(1, 0, 1, _vm->getRandom(3), _vm->getRandom(11), 0);
+ if (_vm->_escPressed) {
return false;
}
}
@@ -943,26 +891,26 @@ bool WaynesWorldEngine::introPt4_caller3() {
return true;
}
-bool WaynesWorldEngine::introPt4_caller4() {
+bool WWIntro_full::introPt4_caller4() {
for (int j = 0; j < 2; ++j) {
for (int i = 0; i < 15; ++i) {
- sub2FEFB(1, 0, 1, getRandom(3), 9, 0);
- if (_escPressed) {
+ sub2FEFB(1, 0, 1, _vm->getRandom(3), 9, 0);
+ if (_vm->_escPressed) {
return false;
}
}
++_startOawPos;
}
- sub2FEFB(1, 0, 1, getRandom(3), getRandom(11), 2);
- waitSeconds(2);
- if (_escPressed) {
+ sub2FEFB(1, 0, 1, _vm->getRandom(3), _vm->getRandom(11), 2);
+ _vm->waitSeconds(2);
+ if (_vm->_escPressed) {
return false;
}
for (int i = 0; i < 15; ++i) {
- sub2FEFB(1, 0, 1, getRandom(3), 9, 0);
- if (_escPressed) {
+ sub2FEFB(1, 0, 1, _vm->getRandom(3), 9, 0);
+ if (_vm->_escPressed) {
return false;
}
}
@@ -970,68 +918,68 @@ bool WaynesWorldEngine::introPt4_caller4() {
for (int j = 0; j < 2; ++j) {
for (int i = 0; i < 15; ++i) {
- sub2FEFB(1, 0, 1, 0, getRandom(11), 1);
- if (_escPressed) {
+ sub2FEFB(1, 0, 1, 0, _vm->getRandom(11), 1);
+ if (_vm->_escPressed) {
return false;
}
}
++_startOagPos;
}
- _sound->playSound("sv37.snd", true);
- _sound->playSound("sv24.snd", true);
+ _vm->_sound->playSound("sv37.snd", true);
+ _vm->_sound->playSound("sv24.snd", true);
for (int i = 0; i < 15; ++i) {
- sub2FEFB(1, 0, 1, getRandom(3), 9, 0);
- if (_escPressed) {
+ sub2FEFB(1, 0, 1, _vm->getRandom(3), 9, 0);
+ if (_vm->_escPressed) {
return false;
}
}
++_startOawPos;
- sub2FEFB(1, 0, 1, getRandom(3), getRandom(11), 2);
- waitSeconds(2);
- if (_escPressed) {
+ sub2FEFB(1, 0, 1, _vm->getRandom(3), _vm->getRandom(11), 2);
+ _vm->waitSeconds(2);
+ if (_vm->_escPressed) {
return false;
}
- _sound->playSound("sv06.snd", false);
+ _vm->_sound->playSound("sv06.snd", false);
for (int i = 0; i < 3; ++i) {
- sub2FEFB(1, 0, 1, getRandom(3), 9, 0);
- if (_escPressed) {
+ sub2FEFB(1, 0, 1, _vm->getRandom(3), 9, 0);
+ if (_vm->_escPressed) {
return false;
}
}
++_startOawPos;
for (int i = 0; i < 2; ++i) {
- sub2FEFB(1, 0, 1, getRandom(3), getRandom(11), 2);
- waitSeconds(2);
- if (_escPressed) {
+ sub2FEFB(1, 0, 1, _vm->getRandom(3), _vm->getRandom(11), 2);
+ _vm->waitSeconds(2);
+ if (_vm->_escPressed) {
return false;
}
}
- _sound->playSound("sv32.snd", false);
+ _vm->_sound->playSound("sv32.snd", false);
for (int i = 0; i < 5; ++i) {
- sub2FEFB(1, 0, 1, 0, getRandom(11), 1);
- if (_escPressed) {
+ sub2FEFB(1, 0, 1, 0, _vm->getRandom(11), 1);
+ if (_vm->_escPressed) {
return false;
}
}
++_startOagPos;
- sub2FEFB(1, 0, 1, getRandom(3), getRandom(11), 2);
- waitSeconds(1);
- if (_escPressed) {
+ sub2FEFB(1, 0, 1, _vm->getRandom(3), _vm->getRandom(11), 2);
+ _vm->waitSeconds(1);
+ if (_vm->_escPressed) {
return false;
}
for (int j = 0; j < 3; ++j) {
for (int i = 0; i < 8; ++i) {
- sub2FEFB(1, 0, 1, getRandom(3), 9, 0);
- if (_escPressed) {
+ sub2FEFB(1, 0, 1, _vm->getRandom(3), 9, 0);
+ if (_vm->_escPressed) {
return false;
}
}
@@ -1039,48 +987,48 @@ bool WaynesWorldEngine::introPt4_caller4() {
}
for (int i = 0; i < 8; ++i) {
- sub2FEFB(1, 0, 1, getRandom(3), getRandom(11), 2);
- waitSeconds(2);
- if (_escPressed) {
+ sub2FEFB(1, 0, 1, _vm->getRandom(3), _vm->getRandom(11), 2);
+ _vm->waitSeconds(2);
+ if (_vm->_escPressed) {
return false;
}
}
- _sound->playSound("sv18.snd", false);
+ _vm->_sound->playSound("sv18.snd", false);
for (int i = 0; i < 8; ++i) {
- sub2FEFB(1, 0, 1, getRandom(3), 9, 0);
- if (_escPressed) {
+ sub2FEFB(1, 0, 1, _vm->getRandom(3), 9, 0);
+ if (_vm->_escPressed) {
return false;
}
}
++_startOawPos;
for (int i = 0; i < 6; ++i) {
- sub2FEFB(1, 0, 1, getRandom(3), getRandom(11), 2);
- waitSeconds(2);
- if (_escPressed) {
+ sub2FEFB(1, 0, 1, _vm->getRandom(3), _vm->getRandom(11), 2);
+ _vm->waitSeconds(2);
+ if (_vm->_escPressed) {
return false;
}
}
- _sound->playSound("sv45.snd", true);
+ _vm->_sound->playSound("sv45.snd", true);
for (int j = 0; j < 3; ++j) {
for (int i = 0; i < 8; ++i) {
- sub2FEFB(1, 0, 1, getRandom(3), 9, 0);
- if (_escPressed) {
+ sub2FEFB(1, 0, 1, _vm->getRandom(3), 9, 0);
+ if (_vm->_escPressed) {
return false;
}
}
++_startOawPos;
}
- _sound->playSound("sv34.snd", false);
+ _vm->_sound->playSound("sv34.snd", false);
for (int i = 0; i < 5; ++i) {
- sub2FEFB(1, 0, 1, 0, getRandom(11), 1);
- if (_escPressed) {
+ sub2FEFB(1, 0, 1, 0, _vm->getRandom(11), 1);
+ if (_vm->_escPressed) {
return false;
}
}
@@ -1089,9 +1037,9 @@ bool WaynesWorldEngine::introPt4_caller4() {
return true;
}
-void WaynesWorldEngine::introPt4_cleanup() {
- delete _fontWW;
- _fontWW = nullptr;
+void WWIntro_full::introPt4_cleanup() {
+ delete _vm->_fontWW;
+ _vm->_fontWW = nullptr;
delete _introBackg1Image;
_introBackg1Image = nullptr;
for (int i = 0; i < 5; ++i) {
@@ -1110,15 +1058,15 @@ void WaynesWorldEngine::introPt4_cleanup() {
}
}
-bool WaynesWorldEngine::introPt4_playGuitar() {
+bool WWIntro_full::introPt4_playGuitar() {
sub2FEFB(1, 1, 1, 0, 9, -1);
sub2FEFB(1, 2, 1, 0, 9, -1);
sub2FEFB(1, 3, 1, 0, 9, -1);
sub2FEFB(1, 4, 1, 0, 9, -1);
- _midi->stopSong();
+ _vm->_midi->stopSong();
- if (_escPressed) {
+ if (_vm->_escPressed) {
return false;
}
More information about the Scummvm-git-logs
mailing list