aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStrangerke2017-01-22 23:55:31 +0100
committerEugene Sandulenko2017-01-25 22:42:25 +0100
commitd23bb8860bf7d561e09f503d12c17b6255fe5670 (patch)
treef3caa10441cdd2b81fea3ef9f00cbff7685bdf92
parentb455532d3474ed8f06ada1ba90d13a414cac04da (diff)
downloadscummvm-rg350-d23bb8860bf7d561e09f503d12c17b6255fe5670.tar.gz
scummvm-rg350-d23bb8860bf7d561e09f503d12c17b6255fe5670.tar.bz2
scummvm-rg350-d23bb8860bf7d561e09f503d12c17b6255fe5670.zip
CRYO: Fix regression in globals
-rw-r--r--engines/cryo/defs.h1
-rw-r--r--engines/cryo/eden.cpp17
-rw-r--r--engines/cryo/video.cpp1
-rw-r--r--engines/cryo/video.h2
4 files changed, 10 insertions, 11 deletions
diff --git a/engines/cryo/defs.h b/engines/cryo/defs.h
index b64c0011c7..b7206dc7e4 100644
--- a/engines/cryo/defs.h
+++ b/engines/cryo/defs.h
@@ -610,6 +610,7 @@ struct global_t {
uint16 _roomPersoItems; //TODO: write-only?
uint16 _roomCharacterPowers; //TODO: write-only?
uint16 _gameFlags;
+ uint16 _curVideoNum;
uint16 _morkusSpyVideoNum1; //TODO: pad?
uint16 _morkusSpyVideoNum2; //TODO: pad?
uint16 _morkusSpyVideoNum3; //TODO: pad?
diff --git a/engines/cryo/eden.cpp b/engines/cryo/eden.cpp
index 7dcbb1805f..50f9ecfc49 100644
--- a/engines/cryo/eden.cpp
+++ b/engines/cryo/eden.cpp
@@ -5178,6 +5178,7 @@ void EdenGame::initGlobals() {
_globals->_roomPersoItems = 0;
_globals->_roomCharacterPowers = 0;
_globals->_gameFlags = GameFlags::gfNone;
+ _globals->_curVideoNum = 0;
_globals->_morkusSpyVideoNum1 = 89;
_globals->_morkusSpyVideoNum2 = 88;
_globals->_morkusSpyVideoNum3 = 83;
@@ -6396,7 +6397,7 @@ void EdenGame::mouse() {
// Original name: showfilm
void EdenGame::showMovie(char arg1) {
_vm->_video->readHeader();
- if (_vm->_video->_curVideoNum == 92) {
+ if (_globals->_curVideoNum == 92) {
// _hnmContext->_header._unusedFlag2 = 0; CHECKME: Useless?
_hnmSoundChannel->setVolumeLeft(0);
_hnmSoundChannel->setVolumeRight(0);
@@ -6461,7 +6462,7 @@ void EdenGame::showMovie(char arg1) {
void EdenGame::playHNM(int16 num) {
perso_t *perso = nullptr;
int16 oldDialogType = -1;
- _vm->_video->_curVideoNum = num;
+ _globals->_curVideoNum = num;
if (num != 2001 && num != 2012 && num != 98 && num != 171) {
byte oldMusicType = _globals->_newMusicType;
_globals->_newMusicType = MusicType::mtEvent;
@@ -6501,15 +6502,15 @@ void EdenGame::playHNM(int16 num) {
}
if (_videoCanceledFlag)
_globals->_varF1 = RoomFlags::rf40 | RoomFlags::rf04 | RoomFlags::rf01;
- if (_vm->_video->_curVideoNum == 167)
+ if (_globals->_curVideoNum == 167)
_globals->_varF1 = RoomFlags::rf40 | RoomFlags::rf04 | RoomFlags::rf01;
- if (_vm->_video->_curVideoNum == 104)
+ if (_globals->_curVideoNum == 104)
_globals->_varF1 = RoomFlags::rf40 | RoomFlags::rf04 | RoomFlags::rf01;
- if (_vm->_video->_curVideoNum == 102)
+ if (_globals->_curVideoNum == 102)
_globals->_varF1 = RoomFlags::rf40 | RoomFlags::rf04 | RoomFlags::rf01;
- if (_vm->_video->_curVideoNum == 77)
+ if (_globals->_curVideoNum == 77)
_globals->_varF1 = RoomFlags::rf40 | RoomFlags::rf04 | RoomFlags::rf01;
- if (_vm->_video->_curVideoNum == 149)
+ if (_globals->_curVideoNum == 149)
_globals->_varF1 = RoomFlags::rf40 | RoomFlags::rf04 | RoomFlags::rf01;
}
@@ -6576,7 +6577,7 @@ void EdenGame::handleHNMSubtitles() {
uint16 *frames;
perso_t *perso;
- switch (_vm->_video->_curVideoNum) {
+ switch (_globals->_curVideoNum) {
case 170:
frames = kFramesVid170;
perso = &kPersons[PER_UNKN_156];
diff --git a/engines/cryo/video.cpp b/engines/cryo/video.cpp
index 29f3ad6edd..cb8a00122d 100644
--- a/engines/cryo/video.cpp
+++ b/engines/cryo/video.cpp
@@ -25,7 +25,6 @@
namespace Cryo {
HnmPlayer::HnmPlayer(CryoEngine *vm) : _vm(vm) {
- _curVideoNum = 0;
_soundStarted = false;
_pendingSounds = 0;
_timeDrift = 0.0;
diff --git a/engines/cryo/video.h b/engines/cryo/video.h
index 35977f01a1..edd94c6d40 100644
--- a/engines/cryo/video.h
+++ b/engines/cryo/video.h
@@ -80,8 +80,6 @@ private:
SoundGroup *_soundGroup;
public:
- uint16 _curVideoNum;
-
HnmPlayer(CryoEngine *vm);
void allocMemory();