diff options
author | Strangerke | 2011-09-17 10:54:50 +0200 |
---|---|---|
committer | Strangerke | 2011-09-17 10:54:50 +0200 |
commit | 4778ff720c3e7c6527dde90c9eba7ccab7646cbb (patch) | |
tree | c2a603d9691287ed2a3232657c68ff1522d84f80 /engines | |
parent | f5eca796580f5e16a2389d980b8330b2ab6b0980 (diff) | |
download | scummvm-rg350-4778ff720c3e7c6527dde90c9eba7ccab7646cbb.tar.gz scummvm-rg350-4778ff720c3e7c6527dde90c9eba7ccab7646cbb.tar.bz2 scummvm-rg350-4778ff720c3e7c6527dde90c9eba7ccab7646cbb.zip |
CGE: Move some more globals to CGEEngine
Diffstat (limited to 'engines')
-rw-r--r-- | engines/cge/bitmap.cpp | 4 | ||||
-rw-r--r-- | engines/cge/cge.cpp | 6 | ||||
-rw-r--r-- | engines/cge/cge.h | 22 | ||||
-rw-r--r-- | engines/cge/cge_main.cpp | 67 | ||||
-rw-r--r-- | engines/cge/cge_main.h | 12 | ||||
-rw-r--r-- | engines/cge/events.cpp | 4 | ||||
-rw-r--r-- | engines/cge/fileio.cpp | 8 | ||||
-rw-r--r-- | engines/cge/fileio.h | 7 | ||||
-rw-r--r-- | engines/cge/snail.cpp | 2 | ||||
-rw-r--r-- | engines/cge/sound.cpp | 16 | ||||
-rw-r--r-- | engines/cge/sound.h | 6 | ||||
-rw-r--r-- | engines/cge/talk.cpp | 2 | ||||
-rw-r--r-- | engines/cge/text.cpp | 6 | ||||
-rw-r--r-- | engines/cge/vga13h.cpp | 8 | ||||
-rw-r--r-- | engines/cge/vmenu.cpp | 2 | ||||
-rw-r--r-- | engines/cge/walk.cpp | 8 |
16 files changed, 88 insertions, 92 deletions
diff --git a/engines/cge/bitmap.cpp b/engines/cge/bitmap.cpp index 2acc65c4fa..27ab5770eb 100644 --- a/engines/cge/bitmap.cpp +++ b/engines/cge/bitmap.cpp @@ -49,8 +49,8 @@ Bitmap::Bitmap(CGEEngine *vm, const char *fname) : _m(NULL), _v(NULL), _map(0), char pat[kMaxPath]; forceExt(pat, fname, ".VBM"); - if (_resman->exist(pat)) { - EncryptedStream file(pat); + if (_vm->_resman->exist(pat)) { + EncryptedStream file(_vm, pat); if (file.err()) error("Unable to find VBM [%s]", fname); if (!loadVBM(&file)) diff --git a/engines/cge/cge.cpp b/engines/cge/cge.cpp index 349bf3f31c..68b07c8fb2 100644 --- a/engines/cge/cge.cpp +++ b/engines/cge/cge.cpp @@ -102,11 +102,11 @@ void CGEEngine::init() { _debugLine = new InfoLine(this, kScrWidth); _snail = new Snail(this, false); _snail_ = new Snail(this, true); - + _midiPlayer = new MusicPlayer(this); _mouse = new Mouse(this); _keyboard = new Keyboard(this); _eventManager = new EventManager(this); - _fx = new Fx(16); // must precede SOUND!! + _fx = new Fx(this, 16); // must precede SOUND!! _sound = new Sound(this); _offUseCount = atoi(_text->getText(kOffUseCount)); @@ -148,7 +148,7 @@ void CGEEngine::deinit() { DebugMan.clearAllDebugChannels(); delete _console; - _midiPlayer.killMidi(); + _midiPlayer->killMidi(); // Delete engine objects delete _vga; diff --git a/engines/cge/cge.h b/engines/cge/cge.h index 6628535393..8c9a468e54 100644 --- a/engines/cge/cge.h +++ b/engines/cge/cge.h @@ -45,6 +45,13 @@ class Vga; class System; class Keyboard; class Mouse; +class HorizLine; +class InfoLine; +class SceneLight; +class Snail; +class Snail; +class EventManager; +class ResourceManager; #define kSavegameVersion 2 #define kSavegameStrSize 11 @@ -164,9 +171,22 @@ public: Sprite *_pocLight; Keyboard *_keyboard; Mouse *_mouse; + Sprite *_sprite; + Sprite *_miniScene; + Sprite *_shadow; + HorizLine *_horzLine; + InfoLine *_infoLine; + InfoLine *_debugLine; + SceneLight *_sceneLight; + Snail *_snail; + Snail *_snail_; + EventManager *_eventManager; + Fx *_fx; + Sound *_sound; + ResourceManager *_resman; Common::RandomSource _randomSource; - MusicPlayer _midiPlayer; + MusicPlayer *_midiPlayer; BitmapPtr *_miniShp; BitmapPtr *_miniShpList; int _startGameSlot; diff --git a/engines/cge/cge_main.cpp b/engines/cge/cge_main.cpp index f8fa83621b..cc04eeb382 100644 --- a/engines/cge/cge_main.cpp +++ b/engines/cge/cge_main.cpp @@ -52,22 +52,7 @@ namespace CGE { uint16 _stklen = (kStackSize * 2); -EventManager *_eventManager; Sprite *_pocket[kPocketNX]; -Sprite *_sprite; -Sprite *_miniScene; -Sprite *_shadow; -HorizLine *_horzLine; -InfoLine *_infoLine; -SceneLight *_sceneLight; -InfoLine *_debugLine; - -Snail *_snail; -Snail *_snail_; - -Fx *_fx; -Sound *_sound; -ResourceManager *_resman; const char *savegameStr = "SCUMMVM_CGE"; @@ -219,7 +204,7 @@ bool CGEEngine::loadGame(int slotNumber, SavegameHeader *header, bool tiny) { if (slotNumber == -1) { // Loading the data for the initial game state - kSavegame0File file = kSavegame0File(kSavegame0Name); + kSavegame0File file = kSavegame0File(this, kSavegame0Name); int size = file.size(); byte *dataBuffer = (byte *)malloc(size); file.read(dataBuffer, size); @@ -490,7 +475,7 @@ void CGEEngine::tooFar() { void CGEEngine::loadHeroXY() { debugC(1, kCGEDebugEngine, "CGEEngine::loadHeroXY()"); - EncryptedStream cf("CGE.HXY"); + EncryptedStream cf(this, "CGE.HXY"); uint16 x, y; memset(_heroXY, 0, sizeof(_heroXY)); @@ -509,7 +494,7 @@ void CGEEngine::loadMapping() { debugC(1, kCGEDebugEngine, "CGEEngine::loadMapping()"); if (_now <= kSceneMax) { - EncryptedStream cf("CGE.TAB"); + EncryptedStream cf(this, "CGE.TAB"); if (!cf.err()) { // Move to the data for the given room cf.seek((_now - 1) * kMapArrSize); @@ -536,7 +521,7 @@ void Square::touch(uint16 mask, int x, int y) { Sprite::touch(mask, x, y); if (mask & kMouseLeftUp) { _vm->XZ(_x + x, _y + y).cell() = 0; - _snail_->addCom(kSnKill, -1, 0, this); + _vm->_snail_->addCom(kSnKill, -1, 0, this); } } @@ -629,7 +614,7 @@ void CGEEngine::sceneUp() { const int BakRef = 1000 * _now; if (_music) - _midiPlayer.loadMidi(_now); + _midiPlayer->loadMidi(_now); showBak(BakRef); loadMapping(); @@ -775,7 +760,7 @@ void System::touch(uint16 mask, int x, int y) { _vm->keyClick(); _vm->killText(); if (_vm->_startupMode == 1) { - _snail->addCom(kSnClear, -1, 0, NULL); + _vm->_snail->addCom(kSnClear, -1, 0, NULL); return; } switch (x) { @@ -789,7 +774,7 @@ void System::touch(uint16 mask, int x, int y) { case '3': case '4': if (_vm->_keyboard->_key[kKeyAlt]) { - _snail->addCom(kSnLevel, -1, x - '0', NULL); + _vm->_snail->addCom(kSnLevel, -1, x - '0', NULL); break; } break; @@ -798,7 +783,7 @@ void System::touch(uint16 mask, int x, int y) { if (_vm->_startupMode) return; int selectedScene = 0; - _infoLine->update(NULL); + _vm->_infoLine->update(NULL); if (y >= kWorldHeight ) { if (x < kButtonX) { // select scene? if (y >= kSceneY && y < kSceneY + kSceneNy * kSceneDy && @@ -821,10 +806,10 @@ void System::touch(uint16 mask, int x, int y) { _vm->postMiniStep(selectedScene - 1); if (mask & kMouseLeftUp) { - if (selectedScene && _snail->idle() && _hero->_tracePtr < 0) + if (selectedScene && _vm->_snail->idle() && _hero->_tracePtr < 0) _vm->switchScene(selectedScene); - if (_horzLine && !_horzLine->_flags._hide) { + if (_vm->_horzLine && !_vm->_horzLine->_flags._hide) { if (y >= kMapTop && y < kMapTop + kMapHig) { Cluster tmpCluster = _vm->XZ(x, y); int16 x1 = tmpCluster._pt.x; @@ -833,7 +818,7 @@ void System::touch(uint16 mask, int x, int y) { _vm->setMapBrick(x1, z1); } } else { - if (!_talk && _snail->idle() && _hero + if (!_talk && _vm->_snail->idle() && _hero && y >= kMapTop && y < kMapTop + kMapHig && !_vm->_game) { _hero->findWay(_vm->XZ(x, y)); } @@ -846,7 +831,7 @@ void System::tick() { if (!_vm->_startupMode) if (--_funDel == 0) { _vm->killText(); - if (_snail->idle()) { + if (_vm->_snail->idle()) { if (_vm->_flag[0]) // Pain flag _vm->heroCover(9); else { // CHECKME: Before, was: if (Startup::_core >= CORE_MID) { @@ -881,9 +866,9 @@ void CGEEngine::switchMusic() { keyClick(); if (_music) - _midiPlayer.loadMidi(_now); + _midiPlayer->loadMidi(_now); else - _midiPlayer.killMidi(); + _midiPlayer->killMidi(); } void CGEEngine::startCountDown() { @@ -946,10 +931,10 @@ void Sprite::touch(uint16 mask, int x, int y) { if ((mask & kEventAttn) != 0) return; - _infoLine->update(name()); + _vm->_infoLine->update(name()); if (mask & (kMouseRightDown | kMouseLeftDown)) - _sprite = this; + _vm->_sprite = this; if (_ref / 10 == 12) { _vm->optionTouch(_ref % 10, mask); @@ -965,7 +950,7 @@ void Sprite::touch(uint16 mask, int x, int y) { mask |= kMouseRightUp; } - if ((mask & kMouseRightUp) && _snail->idle()) { + if ((mask & kMouseRightUp) && _vm->_snail->idle()) { Sprite *ps = (_vm->_pocLight->_seqPtr) ? _pocket[_vm->_pocPtr] : NULL; if (ps) { if (_flags._kept || _hero->distance(this) < kDistMax) { @@ -985,8 +970,8 @@ void Sprite::touch(uint16 mask, int x, int y) { if (_vm->findPocket(NULL) < 0) { _vm->pocFul(); } else { - _snail->addCom(kSnReach, -1, -1, this); - _snail->addCom(kSnKeep, -1, -1, this); + _vm->_snail->addCom(kSnReach, -1, -1, this); + _vm->_snail->addCom(kSnKeep, -1, -1, this); _flags._port = false; } } else { @@ -1006,7 +991,7 @@ void Sprite::touch(uint16 mask, int x, int y) { } } - if ((mask & kMouseLeftUp) && _snail->idle()) { + if ((mask & kMouseLeftUp) && _vm->_snail->idle()) { if (_flags._kept) { for (int n = 0; n < kPocketNX; n++) { if (_pocket[n] == this) { @@ -1015,7 +1000,7 @@ void Sprite::touch(uint16 mask, int x, int y) { } } } else { - _snail->addCom(kSnWalk, -1, -1, this); // Hero->FindWay(this); + _vm->_snail->addCom(kSnWalk, -1, -1, this); // Hero->FindWay(this); } } } @@ -1043,7 +1028,7 @@ void CGEEngine::loadSprite(const char *fname, int ref, int scene, int col = 0, i mergeExt(tmpStr, fname, kSprExt); if (_resman->exist(tmpStr)) { // sprite description file exist - EncryptedStream sprf(tmpStr); + EncryptedStream sprf(this, tmpStr); if (sprf.err()) error("Bad SPR [%s]", tmpStr); @@ -1148,7 +1133,7 @@ void CGEEngine::loadSprite(const char *fname, int ref, int scene, int col = 0, i } void CGEEngine::loadScript(const char *fname) { - EncryptedStream scrf(fname); + EncryptedStream scrf(this, fname); if (scrf.err()) return; @@ -1356,7 +1341,7 @@ void CGEEngine::runGame() { _sprite->step(_music); _snail_->addCom(kSnSeq, -1, _music, _sprite); if (!_music) - _midiPlayer.killMidi(); + _midiPlayer->killMidi(); if (_resman->exist("MINI.SPR")) { _miniShp = new BitmapPtr[2]; @@ -1505,7 +1490,7 @@ bool CGEEngine::showTitle(const char *name) { _vga->copyPage(0, 2); _soundOk = 2; if (_music) - _midiPlayer.loadMidi(0); + _midiPlayer->loadMidi(0); } if (_mode < 2) { @@ -1560,7 +1545,7 @@ void CGEEngine::cge_main() { _horzLine->_flags._hide = true; if (_music && _soundOk) - _midiPlayer.loadMidi(0); + _midiPlayer->loadMidi(0); if (_startGameSlot != -1) { // Starting up a savegame from the launcher diff --git a/engines/cge/cge_main.h b/engines/cge/cge_main.h index 32fe80107e..d8ac10fe6d 100644 --- a/engines/cge/cge_main.h +++ b/engines/cge/cge_main.h @@ -109,19 +109,7 @@ private: CGEEngine *_vm; }; -extern EventManager *_eventManager; extern Sprite *_pocket[]; -extern Sprite *_sprite; -extern Sprite *_miniScene; -extern Sprite *_shadow; -extern HorizLine *_horzLine; -extern InfoLine *_infoLine; -extern SceneLight *_sceneLight; -extern InfoLine *_debugLine; -extern Snail *_snail; -extern Snail *_snail_; -extern Fx *_fx; -extern Sound *_sound; } // End of namespace CGE diff --git a/engines/cge/events.cpp b/engines/cge/events.cpp index 259451de65..cc22d9075a 100644 --- a/engines/cge/events.cpp +++ b/engines/cge/events.cpp @@ -165,7 +165,7 @@ void Keyboard::newKeyboard(Common::Event &event) { _current = Keyboard::_code[keycode]; if (_client) { - CGEEvent &evt = _eventManager->getNextEvent(); + CGEEvent &evt = _vm->_eventManager->getNextEvent(); evt._x = _current; // Keycode evt._mask = kEventKeyb; // Event mask evt._spritePtr = _client; // Sprite pointer @@ -239,7 +239,7 @@ void Mouse::newMouse(Common::Event &event) { if (!_active) return; - CGEEvent &evt = _eventManager->getNextEvent(); + CGEEvent &evt = _vm->_eventManager->getNextEvent(); evt._x = event.mouse.x; evt._y = event.mouse.y; evt._spritePtr = _vm->spriteAt(evt._x, evt._y); diff --git a/engines/cge/fileio.cpp b/engines/cge/fileio.cpp index 830c1a7c21..6db0818287 100644 --- a/engines/cge/fileio.cpp +++ b/engines/cge/fileio.cpp @@ -192,17 +192,17 @@ uint16 ResourceManager::catRead(void *buf, uint16 length) { /*----------------------------------------------------------------------- * EncryptedStream *-----------------------------------------------------------------------*/ -EncryptedStream::EncryptedStream(const char *name) { +EncryptedStream::EncryptedStream(CGEEngine *vm, const char *name) : _vm(vm) { debugC(3, kCGEDebugFile, "EncryptedStream::EncryptedStream(%s)", name); _error = false; - BtKeypack *kp = _resman->find(name); + BtKeypack *kp = _vm->_resman->find(name); if (scumm_stricmp(kp->_key, name) != 0) _error = true; - _resman->seek(kp->_pos); + _vm->_resman->seek(kp->_pos); byte *dataBuffer = (byte *)malloc(kp->_size); - _resman->read(dataBuffer, kp->_size); + _vm->_resman->read(dataBuffer, kp->_size); _readStream = new Common::MemoryReadStream(dataBuffer, kp->_size, DisposeAfterUse::YES); } diff --git a/engines/cge/fileio.h b/engines/cge/fileio.h index 4d2539cc37..cee1fa79ef 100644 --- a/engines/cge/fileio.h +++ b/engines/cge/fileio.h @@ -33,6 +33,8 @@ namespace CGE { +class CGEEngine; + #define kBtSize 1024 #define kBtKeySize 13 #define kBtLevel 2 @@ -98,10 +100,11 @@ public: class EncryptedStream { private: + CGEEngine *_vm; Common::SeekableReadStream *_readStream; bool _error; public: - EncryptedStream(const char *name); + EncryptedStream(CGEEngine *vm, const char *name); ~EncryptedStream(); bool err(); bool eos(); @@ -112,8 +115,6 @@ public: Common::String readLine(); }; -extern ResourceManager *_resman; - } // End of namespace CGE #endif diff --git a/engines/cge/snail.cpp b/engines/cge/snail.cpp index 8a7100077f..148307dab8 100644 --- a/engines/cge/snail.cpp +++ b/engines/cge/snail.cpp @@ -1136,7 +1136,7 @@ void Snail::runCom() { _vm->snSound(spr, snc->_val); break; case kSnCount: - _sound->setRepeat(snc->_val); + _vm->_sound->setRepeat(snc->_val); break; case kSnExec: switch (snc->_cbType) { diff --git a/engines/cge/sound.cpp b/engines/cge/sound.cpp index 93ccbe9c80..9cb741454c 100644 --- a/engines/cge/sound.cpp +++ b/engines/cge/sound.cpp @@ -55,12 +55,12 @@ Sound::~Sound() { } void Sound::close() { - _vm->_midiPlayer.killMidi(); + _vm->_midiPlayer->killMidi(); } void Sound::open() { setRepeat(1); - play((*_fx)[30000], 8); + play((*_vm->_fx)[30000], 8); } void Sound::setRepeat(int16 count) { @@ -103,7 +103,7 @@ void Sound::sndDigiStop(SmpInfo *PSmpInfo) { _audioStream = NULL; } -Fx::Fx(int size) : _current(NULL) { +Fx::Fx(CGEEngine *vm, int size) : _current(NULL), _vm(vm) { _cache = new Handler[size]; for (_size = 0; _size < size; _size++) { _cache[_size]._ref = 0; @@ -144,7 +144,7 @@ void Fx::preload(int ref0) { for (int ref = ref0; ref < ref0 + 10; ref++) { sprintf(filename, "FX%05d.WAV", ref); - EncryptedStream file = filename; + EncryptedStream file(_vm, filename); DataCk *wav = loadWave(&file); if (wav) { Handler *p = &_cache[find(0)]; @@ -162,7 +162,7 @@ DataCk *Fx::load(int idx, int ref) { char filename[12]; sprintf(filename, "FX%05d.WAV", ref); - EncryptedStream file = filename; + EncryptedStream file(_vm, filename); DataCk *wav = loadWave(&file); if (wav) { Handler *p = &_cache[idx]; @@ -195,7 +195,7 @@ DataCk *Fx::operator[](int ref) { return _current; } -MusicPlayer::MusicPlayer() { +MusicPlayer::MusicPlayer(CGEEngine *vm) : _vm(vm) { _data = NULL; _isGM = false; @@ -230,14 +230,14 @@ void MusicPlayer::killMidi() { void MusicPlayer::loadMidi(int ref) { // Work out the filename and check the given MIDI file exists Common::String filename = Common::String::format("%.2d.MID", ref); - if (!_resman->exist(filename.c_str())) + if (!_vm->_resman->exist(filename.c_str())) return; // Stop any currently playing MIDI file killMidi(); // Read in the data for the file - EncryptedStream mid(filename.c_str()); + EncryptedStream mid(_vm, filename.c_str()); _dataSize = mid.size(); _data = (byte *)malloc(_dataSize); mid.read(_data, _dataSize); diff --git a/engines/cge/sound.h b/engines/cge/sound.h index 26a1525831..a3f4d4d777 100644 --- a/engines/cge/sound.h +++ b/engines/cge/sound.h @@ -87,6 +87,7 @@ private: }; class Fx { + CGEEngine *_vm; struct Handler { int _ref; DataCk *_wav; @@ -99,7 +100,7 @@ class Fx { public: DataCk *_current; - Fx(int size); + Fx(CGEEngine *vm, int size); ~Fx(); void clear(); void preload(int ref0); @@ -108,6 +109,7 @@ public: class MusicPlayer: public Audio::MidiPlayer { private: + CGEEngine *_vm; byte *_data; int _dataSize; bool _isGM; @@ -118,7 +120,7 @@ private: // Stop MIDI File void sndMidiStop(); public: - MusicPlayer(); + MusicPlayer(CGEEngine *vm); ~MusicPlayer(); void loadMidi(int ref); diff --git a/engines/cge/talk.cpp b/engines/cge/talk.cpp index a842e611ac..467b39be40 100644 --- a/engines/cge/talk.cpp +++ b/engines/cge/talk.cpp @@ -50,7 +50,7 @@ Font::~Font() { } void Font::load() { - EncryptedStream f = _path; + EncryptedStream f(_vm, _path); assert(!f.err()); f.read(_widthArr, kWidSize); diff --git a/engines/cge/text.cpp b/engines/cge/text.cpp index 7eefc816c4..2b14db9276 100644 --- a/engines/cge/text.cpp +++ b/engines/cge/text.cpp @@ -40,7 +40,7 @@ Talk *_talk = NULL; Text::Text(CGEEngine *vm, const char *fname) : _vm(vm) { _vm->mergeExt(_fileName, fname, kSayExt); - if (!_resman->exist(_fileName)) + if (!_vm->_resman->exist(_fileName)) error("No talk (%s)\n", _fileName); int16 txtCount = count() + 1; if (!txtCount) @@ -60,7 +60,7 @@ Text::~Text() { } int16 Text::count() { - EncryptedStream tf = _fileName; + EncryptedStream tf(_vm, _fileName); if (tf.err()) return -1; @@ -94,7 +94,7 @@ void Text::clear() { } void Text::load() { - EncryptedStream tf = _fileName; + EncryptedStream tf(_vm, _fileName); assert(!tf.err()); Common::String line; diff --git a/engines/cge/vga13h.cpp b/engines/cge/vga13h.cpp index 84c2329b79..75c04e70eb 100644 --- a/engines/cge/vga13h.cpp +++ b/engines/cge/vga13h.cpp @@ -72,8 +72,8 @@ Sprite::Sprite(CGEEngine *vm, BitmapPtr *shpP) } Sprite::~Sprite() { - if (_sprite == this) - _sprite = NULL; + if (_vm->_sprite == this) + _vm->_sprite = NULL; contract(); } @@ -211,8 +211,8 @@ Sprite *Sprite::expand() { Snail::Com *nearList = NULL; Snail::Com *takeList = NULL; _vm->mergeExt(fname, _file, kSprExt); - if (_resman->exist(fname)) { // sprite description file exist - EncryptedStream sprf(fname); + if (_vm->_resman->exist(fname)) { // sprite description file exist + EncryptedStream sprf(_vm, fname); if (sprf.err()) error("Bad SPR [%s]", fname); Common::String line; diff --git a/engines/cge/vmenu.cpp b/engines/cge/vmenu.cpp index 25510a62a2..76d6850174 100644 --- a/engines/cge/vmenu.cpp +++ b/engines/cge/vmenu.cpp @@ -112,7 +112,7 @@ void Vmenu::touch(uint16 mask, int x, int y) { if (ok && (mask & kMouseLeftUp)) { _items = 0; - _snail_->addCom(kSnKill, -1, 0, this); + _vm->_snail_->addCom(kSnKill, -1, 0, this); _recent = n; assert(_menu[n].Proc); CALL_MEMBER_FN(*_vm, _menu[n].Proc)(); diff --git a/engines/cge/walk.cpp b/engines/cge/walk.cpp index a3b819ae2b..314d5920f8 100644 --- a/engines/cge/walk.cpp +++ b/engines/cge/walk.cpp @@ -95,7 +95,7 @@ void Walk::tick() { } else { // take current Z position _z = _here._pt.y; - _snail_->addCom(kSnZTrim, -1, 0, this); // update Hero's pos in show queue + _vm->_snail_->addCom(kSnZTrim, -1, 0, this); // update Hero's pos in show queue } } @@ -187,10 +187,10 @@ void Walk::reach(Sprite *spr, int mode) { } } // note: insert SNAIL commands in reverse order - _snail->insCom(kSnPause, -1, 64, NULL); - _snail->insCom(kSnSeq, -1, kTSeq + mode, this); + _vm->_snail->insCom(kSnPause, -1, 64, NULL); + _vm->_snail->insCom(kSnSeq, -1, kTSeq + mode, this); if (spr) { - _snail->insCom(kSnWait, -1, -1, _hero); + _vm->_snail->insCom(kSnWait, -1, -1, _hero); //SNINSERT(SNWALK, -1, -1, spr); } // sequence is not finished, |