From d23bb8860bf7d561e09f503d12c17b6255fe5670 Mon Sep 17 00:00:00 2001 From: Strangerke Date: Sun, 22 Jan 2017 23:55:31 +0100 Subject: CRYO: Fix regression in globals --- engines/cryo/defs.h | 1 + engines/cryo/eden.cpp | 17 +++++++++-------- engines/cryo/video.cpp | 1 - engines/cryo/video.h | 2 -- 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(); -- cgit v1.2.3