diff options
Diffstat (limited to 'engines')
-rw-r--r-- | engines/cge/btfile.cpp | 2 | ||||
-rw-r--r-- | engines/cge/btfile.h | 2 | ||||
-rw-r--r-- | engines/cge/cfile.cpp | 16 | ||||
-rw-r--r-- | engines/cge/cfile.h | 6 | ||||
-rw-r--r-- | engines/cge/cge_main.cpp | 96 | ||||
-rw-r--r-- | engines/cge/general.cpp | 15 | ||||
-rw-r--r-- | engines/cge/general.h | 18 | ||||
-rw-r--r-- | engines/cge/gettext.cpp | 10 | ||||
-rw-r--r-- | engines/cge/gettext.h | 8 | ||||
-rw-r--r-- | engines/cge/mixer.cpp | 32 | ||||
-rw-r--r-- | engines/cge/mixer.h | 14 | ||||
-rw-r--r-- | engines/cge/snail.cpp | 373 | ||||
-rw-r--r-- | engines/cge/snail.h | 48 | ||||
-rw-r--r-- | engines/cge/text.cpp | 3 | ||||
-rw-r--r-- | engines/cge/vga13h.cpp | 6 | ||||
-rw-r--r-- | engines/cge/vmenu.cpp | 2 | ||||
-rw-r--r-- | engines/cge/vol.cpp | 8 | ||||
-rw-r--r-- | engines/cge/vol.h | 2 | ||||
-rw-r--r-- | engines/cge/walk.cpp | 8 |
19 files changed, 325 insertions, 344 deletions
diff --git a/engines/cge/btfile.cpp b/engines/cge/btfile.cpp index e3d9f729d9..d5cdef1ba0 100644 --- a/engines/cge/btfile.cpp +++ b/engines/cge/btfile.cpp @@ -34,7 +34,7 @@ namespace CGE { -BtFile::BtFile(const char *name, IOMODE mode, CRYPT *crpt) +BtFile::BtFile(const char *name, IOMode mode, CRYPT *crpt) : IoHand(name, mode, crpt) { debugC(1, kCGEDebugFile, "BtFile::BtFile(%s, %d, crpt)", name, mode); diff --git a/engines/cge/btfile.h b/engines/cge/btfile.h index 4784ffd6ed..b589e86aee 100644 --- a/engines/cge/btfile.h +++ b/engines/cge/btfile.h @@ -83,7 +83,7 @@ class BtFile : public IoHand { void putPage(int lev, bool hard); BtPage *getPage(int lev, uint16 pgn); public: - BtFile(const char *name, IOMODE mode, CRYPT *crpt); + BtFile(const char *name, IOMode mode, CRYPT *crpt); virtual ~BtFile(); BtKeypack *find(const char *key); BtKeypack *next(); diff --git a/engines/cge/cfile.cpp b/engines/cge/cfile.cpp index f0eeb30bff..1c5cf1d358 100644 --- a/engines/cge/cfile.cpp +++ b/engines/cge/cfile.cpp @@ -33,7 +33,7 @@ namespace CGE { -IoBuf::IoBuf(IOMODE mode, CRYPT *crpt) +IoBuf::IoBuf(IOMode mode, CRYPT *crpt) : IoHand(mode, crpt), _bufMark(0), _ptr(0), @@ -46,7 +46,7 @@ IoBuf::IoBuf(IOMODE mode, CRYPT *crpt) } -IoBuf::IoBuf(const char *name, IOMODE mode, CRYPT *crpt) +IoBuf::IoBuf(const char *name, IOMode mode, CRYPT *crpt) : IoHand(name, mode, crpt), _bufMark(0), _ptr(0), @@ -61,7 +61,7 @@ IoBuf::IoBuf(const char *name, IOMODE mode, CRYPT *crpt) IoBuf::~IoBuf() { debugC(6, kCGEDebugFile, "IoBuf::~IoBuf()"); - if (_mode > REA) + if (_mode != kModeRead) writeBuf(); free(_buff); } @@ -222,7 +222,7 @@ void IoBuf::write(uint8 b) { uint16 CFile::_maxLineLen = kLineMaxSize; -CFile::CFile(const char *name, IOMODE mode, CRYPT *crpt) +CFile::CFile(const char *name, IOMode mode, CRYPT *crpt) : IoBuf(name, mode, crpt) { debugC(1, kCGEDebugFile, "CFile::CFile(%s, %d, crpt)", name, mode); } @@ -235,7 +235,7 @@ CFile::~CFile() { void CFile::flush() { debugC(1, kCGEDebugFile, "CFile::flush()"); - if (_mode > REA) + if (_mode != kModeRead) writeBuf(); else _lim = 0; @@ -252,7 +252,7 @@ void CFile::flush() { long CFile::mark() { debugC(5, kCGEDebugFile, "CFile::mark()"); - return _bufMark + ((_mode > REA) ? _lim : _ptr); + return _bufMark + ((_mode != kModeRead) ? _lim : _ptr); } @@ -260,10 +260,10 @@ long CFile::seek(long pos) { debugC(1, kCGEDebugFile, "CFile::seek(%ld)", pos); if (pos >= _bufMark && pos < _bufMark + _lim) { - ((_mode == REA) ? _ptr : _lim) = (uint16)(pos - _bufMark); + ((_mode == kModeRead) ? _ptr : _lim) = (uint16)(pos - _bufMark); return pos; } else { - if (_mode > REA) + if (_mode != kModeRead) writeBuf(); else _lim = 0; diff --git a/engines/cge/cfile.h b/engines/cge/cfile.h index 227b0f6a63..306ec5926b 100644 --- a/engines/cge/cfile.h +++ b/engines/cge/cfile.h @@ -46,8 +46,8 @@ protected: virtual void readBuf(); virtual void writeBuf(); public: - IoBuf(IOMODE mode, CRYPT *crpt = NULL); - IoBuf(const char *name, IOMODE mode, CRYPT *crpt = NULL); + IoBuf(IOMode mode, CRYPT *crpt = NULL); + IoBuf(const char *name, IOMode mode, CRYPT *crpt = NULL); virtual ~IoBuf(); uint16 read(void *buf, uint16 len); uint16 read(uint8 *buf); @@ -61,7 +61,7 @@ public: class CFile : public IoBuf { public: static uint16 _maxLineLen; - CFile(const char *name, IOMODE mode = REA, CRYPT *crpt = NULL); + CFile(const char *name, IOMode mode = kModeRead, CRYPT *crpt = NULL); virtual ~CFile(); void flush(); long mark(); diff --git a/engines/cge/cge_main.cpp b/engines/cge/cge_main.cpp index ee561726a1..b6f342edff 100644 --- a/engines/cge/cge_main.cpp +++ b/engines/cge/cge_main.cpp @@ -401,18 +401,18 @@ bool CGEEngine::readSavegameHeader(Common::InSaveFile *in, SavegameHeader &heade void CGEEngine::heroCover(int cvr) { debugC(1, kCGEDebugEngine, "CGEEngine::heroCover(%d)", cvr); - SNPOST(SNCOVER, 1, cvr, NULL); + _snail->addCom(kSnCover, 1, cvr, NULL); } void CGEEngine::trouble(int seq, int txt) { debugC(1, kCGEDebugEngine, "CGEEngine::trouble(%d, %d)", seq, txt); _hero->park(); - SNPOST(SNWAIT, -1, -1, _hero); - SNPOST(SNSEQ, -1, seq, _hero); - SNPOST(SNSOUND, -1, 2, _hero); - SNPOST(SNWAIT, -1, -1, _hero); - SNPOST(SNSAY, 1, txt, _hero); + _snail->addCom(kSnWait, -1, -1, _hero); + _snail->addCom(kSnSeq, -1, seq, _hero); + _snail->addCom(kSnSound, -1, 2, _hero); + _snail->addCom(kSnWait, -1, -1, _hero); + _snail->addCom(kSnSay, 1, txt, _hero); } void CGEEngine::offUse() { @@ -464,7 +464,7 @@ void Square::touch(uint16 mask, int x, int y) { Sprite::touch(mask, x, y); if (mask & L_UP) { XZ(_x + x, _y + y).cell() = 0; - SNPOST_(SNKILL, -1, 0, this); + _snail_->addCom(kSnKill, -1, 0, this); } } @@ -487,14 +487,14 @@ void CGEEngine::setMapBrick(int x, int z) { void CGEEngine::keyClick() { debugC(1, kCGEDebugEngine, "CGEEngine::keyClick()"); - SNPOST_(SNSOUND, -1, 5, NULL); + _snail_->addCom(kSnSound, -1, 5, NULL); } void CGEEngine::resetQSwitch() { debugC(1, kCGEDebugEngine, "CGEEngine::resetQSwitch()"); - SNPOST_(SNSEQ, 123, 0, NULL); + _snail_->addCom(kSnSeq, 123, 0, NULL); keyClick(); } @@ -510,13 +510,13 @@ void CGEEngine::quit() { if (_snail->idle() && !_hero->_flags._hide) { if (Vmenu::_addr) { - SNPOST_(SNKILL, -1, 0, Vmenu::_addr); + _snail_->addCom(kSnKill, -1, 0, Vmenu::_addr); resetQSwitch(); } else { QuitMenu[0]._text = _text->getText(kQuit); QuitMenu[1]._text = _text->getText(kNoQuit); (new Vmenu(this, QuitMenu, -1, -1))->setName(_text->getText(kQuitTitle)); - SNPOST_(SNSEQ, 123, 1, NULL); + _snail_->addCom(kSnSeq, 123, 1, NULL); keyClick(); } } @@ -526,7 +526,7 @@ void CGEEngine::quit() { void CGEEngine::AltCtrlDel() { debugC(1, kCGEDebugEngine, "CGEEngine::AltCtrlDel()"); - SNPOST_(SNSAY, -1, kAltCtrlDel, _hero); + _snail_->addCom(kSnSay, -1, kAltCtrlDel, _hero); } void CGEEngine::miniStep(int stp) { @@ -547,7 +547,7 @@ void CGEEngine::postMiniStep(int step) { debugC(6, kCGEDebugEngine, "CGEEngine::postMiniStep(%d)", step); if (_miniCave && step != _recentStep) - SNPOST2_(SNEXEC, -1, _recentStep = step, kMiniStep); + _snail_->addCom2(kSnExec, -1, _recentStep = step, kMiniStep); } void CGEEngine::showBak(int ref) { @@ -676,8 +676,8 @@ void CGEEngine::switchCave(int cav) { if (cav != _now) { _heart->_enable = false; if (cav < 0) { - SNPOST(SNLABEL, -1, 0, NULL); // wait for repaint - SNPOST2(SNEXEC, -1, 0, kQGame); // switch cave + _snail->addCom(kSnLabel, -1, 0, NULL); // wait for repaint + _snail->addCom2(kSnExec, -1, 0, kQGame); // switch cave } else { _now = cav; _mouse->off(); @@ -694,8 +694,8 @@ void CGEEngine::switchCave(int cav) { killText(); if (!_startupMode) keyClick(); - SNPOST(SNLABEL, -1, 0, NULL); // wait for repaint - SNPOST2(SNEXEC, 0, 0, kXCave); // switch cave + _snail->addCom(kSnLabel, -1, 0, NULL); // wait for repaint + _snail->addCom2(kSnExec, 0, 0, kXCave); // switch cave } } } @@ -732,7 +732,7 @@ void System::touch(uint16 mask, int x, int y) { _vm->keyClick(); killText(); if (_vm->_startupMode == 1) { - SNPOST(SNCLEAR, -1, 0, NULL); + _snail->addCom(kSnClear, -1, 0, NULL); return; } pp0 = pp; @@ -801,7 +801,7 @@ void System::touch(uint16 mask, int x, int y) { case '3': case '4': if (_keyboard->_key[ALT]) { - SNPOST(SNLEVEL, -1, x - '0', NULL); + _snail->addCom(kSnLevel, -1, x - '0', NULL); break; } case '5': @@ -910,7 +910,7 @@ void System::tick() { void CGEEngine::switchColorMode() { debugC(1, kCGEDebugEngine, "CGEEngine::switchColorMode()"); - SNPOST_(SNSEQ, 121, _vga->_mono = !_vga->_mono, NULL); + _snail_->addCom(kSnSeq, 121, _vga->_mono = !_vga->_mono, NULL); keyClick(); _vga->setColors(Vga::_sysPal, 64); } @@ -920,16 +920,16 @@ void CGEEngine::switchMusic() { if (_keyboard->_key[ALT]) { if (Vmenu::_addr) - SNPOST_(SNKILL, -1, 0, Vmenu::_addr); + _snail_->addCom(kSnKill, -1, 0, Vmenu::_addr); else { - SNPOST_(SNSEQ, 122, (_music = false), NULL); - SNPOST2(SNEXEC, -1, 0, kSelectSound); + _snail_->addCom(kSnSeq, 122, (_music = false), NULL); + _snail->addCom2(kSnExec, -1, 0, kSelectSound); } } else { if (Startup::_core < CORE_HIG) - SNPOST(SNINF, -1, kNoMusic, NULL); + _snail->addCom(kSnInf, -1, kNoMusic, NULL); else { - SNPOST_(SNSEQ, 122, (_music = !_music), NULL); + _snail_->addCom(kSnSeq, 122, (_music = !_music), NULL); keyClick(); } } @@ -950,7 +950,7 @@ void CGEEngine::takeName() { debugC(1, kCGEDebugEngine, "CGEEngine::takeName()"); if (GetText::_ptr) - SNPOST_(SNKILL, -1, 0, GetText::_ptr); + _snail_->addCom(kSnKill, -1, 0, GetText::_ptr); else { memset(_usrFnam, 0, 15); GetText *tn = new GetText(this, _text->getText(kGetNamePrompt), _usrFnam, 8); @@ -980,7 +980,7 @@ void CGEEngine::switchMapping() { Sprite *s; for (s = _vga->_showQ->first(); s; s = s->_next) if (s->_w == MAP_XGRID && s->_h == MAP_ZGRID) - SNPOST_(SNKILL, -1, 0, s); + _snail_->addCom(kSnKill, -1, 0, s); } _horzLine->_flags._hide = !_horzLine->_flags._hide; } @@ -990,7 +990,7 @@ void CGEEngine::killSprite() { _sprite->_flags._kill = true; _sprite->_flags._bDel = true; - SNPOST_(SNKILL, -1, 0, _sprite); + _snail_->addCom(kSnKill, -1, 0, _sprite); _sprite = NULL; } @@ -1003,7 +1003,7 @@ void CGEEngine::pushSprite() { while (_sprite->_z > _sprite->_next->_z) _sprite->_z--; } else - SNPOST_(SNSOUND, -1, 2, NULL); + _snail_->addCom(kSnSound, -1, 2, NULL); } void CGEEngine::pullSprite() { @@ -1022,25 +1022,25 @@ void CGEEngine::pullSprite() { while (_sprite->_z < _sprite->_prev->_z) _sprite->_z++; } else - SNPOST_(SNSOUND, -1, 2, NULL); + _snail_->addCom(kSnSound, -1, 2, NULL); } void CGEEngine::nextStep() { debugC(1, kCGEDebugEngine, "CGEEngine::nextStep()"); - SNPOST_(SNSTEP, 0, 0, _sprite); + _snail_->addCom(kSnStep, 0, 0, _sprite); } void CGEEngine::saveMapping() { debugC(1, kCGEDebugEngine, "CGEEngine::saveMapping()"); - IoHand cfTab(progName(".TAB"), UPD); + IoHand cfTab(progName(".TAB"), kModeUpdate); if (!cfTab._error) { cfTab.seek((_now - 1) * sizeof(Cluster::_map)); cfTab.write((uint8 *) Cluster::_map, sizeof(Cluster::_map)); } - IoHand cfHxy(progName(".HXY"), WRI); + IoHand cfHxy(progName(".HXY"), kModeWrite); if (!cfHxy._error) { _heroXY[_now - 1]._x = _hero->_x; _heroXY[_now - 1]._y = _hero->_y; @@ -1155,13 +1155,13 @@ void Sprite::touch(uint16 mask, int x, int y) { if (_vm->findPocket(NULL) < 0) _vm->pocFul(); else { - SNPOST(SNREACH, -1, -1, this); - SNPOST(SNKEEP, -1, -1, this); + _snail->addCom(kSnReach, -1, -1, this); + _snail->addCom(kSnKeep, -1, -1, this); _flags._port = false; } } else { if (_takePtr != NO_PTR) { - if (snList(kTake)[_takePtr]._com == SNNEXT) + if (snList(kTake)[_takePtr]._com == kSnNext) _vm->offUse(); else _vm->feedSnail(this, kTake); @@ -1184,7 +1184,7 @@ void Sprite::touch(uint16 mask, int x, int y) { } } } else - SNPOST(SNWALK, -1, -1, this); // Hero->FindWay(this); + _snail->addCom(kSnWalk, -1, -1, this); // Hero->FindWay(this); } } } @@ -1413,9 +1413,9 @@ void CGEEngine::mainLoop() { // static uint32 tc = 0; if (/* FIXME: TimerCount - tc >= ((182L * 6L) * 5L) && */ _talk == NULL && _snail->idle()) { if (_text->getText(_demoText)) { - SNPOST(SNSOUND, -1, 4, NULL); // drumla - SNPOST(SNINF, -1, _demoText, NULL); - SNPOST(SNLABEL, -1, -1, NULL); + _snail->addCom(kSnSound, -1, 4, NULL); // drumla + _snail->addCom(kSnInf, -1, _demoText, NULL); + _snail->addCom(kSnLabel, -1, -1, NULL); if (_text->getText(++_demoText) == NULL) _demoText = kDemo + 1; } @@ -1525,10 +1525,10 @@ void CGEEngine::runGame() { // ~~~~~~~~~~~ if ((_sprite = _vga->_spareQ->locate(121)) != NULL) - SNPOST_(SNSEQ, -1, _vga->_mono, _sprite); + _snail_->addCom(kSnSeq, -1, _vga->_mono, _sprite); if ((_sprite = _vga->_spareQ->locate(122)) != NULL) _sprite->step(_music); - SNPOST_(SNSEQ, -1, _music, _sprite); + _snail_->addCom(kSnSeq, -1, _music, _sprite); if (!_music) killMidi(); @@ -1585,7 +1585,7 @@ void CGEEngine::runGame() { _startupMode = 0; - SNPOST(SNLEVEL, -1, _oldLev, &_cavLight); + _snail->addCom(kSnLevel, -1, _oldLev, &_cavLight); _cavLight->gotoxy(CAVE_X + ((_now - 1) % CAVE_NX) * CAVE_DX + CAVE_SX, CAVE_Y + ((_now - 1) / CAVE_NX) * CAVE_DY + CAVE_SY); caveUp(); @@ -1594,14 +1594,14 @@ void CGEEngine::runGame() { // main loop while (!_finis && !_eventManager->_quitFlag) { if (_finis) - SNPOST2(SNEXEC, -1, 0, kQGame); + _snail->addCom2(kSnExec, -1, 0, kQGame); mainLoop(); } _keyboard->setClient(NULL); _heart->_enable = false; - SNPOST(SNCLEAR, -1, 0, NULL); - SNPOST_(SNCLEAR, -1, 0, NULL); + _snail->addCom(kSnClear, -1, 0, NULL); + _snail_->addCom(kSnClear, -1, 0, NULL); _mouse->off(); _vga->_showQ->clear(); _vga->_spareQ->clear(); @@ -1629,8 +1629,8 @@ void CGEEngine::movie(const char *ext) { _keyboard->setClient(NULL); _heart->_enable = false; - SNPOST(SNCLEAR, -1, 0, NULL); - SNPOST_(SNCLEAR, -1, 0, NULL); + _snail->addCom(kSnClear, -1, 0, NULL); + _snail_->addCom(kSnClear, -1, 0, NULL); _vga->_showQ->clear(); _vga->_spareQ->clear(); } diff --git a/engines/cge/general.cpp b/engines/cge/general.cpp index 8639c66653..909c517c32 100644 --- a/engines/cge/general.cpp +++ b/engines/cge/general.cpp @@ -206,15 +206,15 @@ char *dwtom(uint32 val, char *str, int radix, int len) { return str; } -IoHand::IoHand(IOMODE mode, CRYPT *crpt) - : XFile(mode), _crypt(crpt), _seed(SEED) { +IoHand::IoHand(IOMode mode, CRYPT *crpt) + : XFile(mode), _crypt(crpt), _seed(kCryptSeed) { _file = new Common::File(); } -IoHand::IoHand(const char *name, IOMODE mode, CRYPT *crpt) - : XFile(mode), _crypt(crpt), _seed(SEED) { +IoHand::IoHand(const char *name, IOMode mode, CRYPT *crpt) + : XFile(mode), _crypt(crpt), _seed(kCryptSeed) { // TODO: Check if WRI and/or UPD modes are needed, and map to a save file - assert(mode == REA); + assert(mode == kModeRead); _file = new Common::File(); _file->open(name); @@ -226,7 +226,7 @@ IoHand::~IoHand() { } uint16 IoHand::read(void *buf, uint16 len) { - if (_mode == WRI || !_file->isOpen()) + if (_mode == kModeWrite || !_file->isOpen()) return 0; uint16 bytesRead = _file->read(buf, len); @@ -242,7 +242,7 @@ uint16 IoHand::write(void *buf, uint16 len) { return 0; /* if (len) { - if (Mode == REA || Handle < 0) + if (Mode == kModeRead || Handle < 0) return 0; if (Crypt) Seed = Crypt(buf, len, Seed); @@ -333,7 +333,6 @@ int new_random(int range) { return ((CGEEngine *)g_engine)->_randomSource.getRandomNumber(range - 1); } -#define TIMER_INT 0x08 //void interrupt (* Engine_::oldTimer) (...) = NULL; Engine_::Engine_(uint16 tdiv) { diff --git a/engines/cge/general.h b/engines/cge/general.h index 0639fe2a01..63d43c4403 100644 --- a/engines/cge/general.h +++ b/engines/cge/general.h @@ -37,9 +37,9 @@ namespace CGE { -#define SEED 0xA5 +#define kCryptSeed 0xA5 -enum IOMODE { REA, WRI, UPD }; +enum IOMode { kModeRead, kModeWrite, kModeUpdate }; struct Dac { uint8 _r; @@ -47,7 +47,7 @@ struct Dac { uint8 _b; }; -typedef uint16 CRYPT(void *buf, uint16 siz, uint16 seed); +typedef uint16 CRYPT(void *buf, uint16 siz, uint16 seed); class Engine_ { protected: @@ -111,11 +111,11 @@ T min(T A, T B) { class XFile { public: - IOMODE _mode; + IOMode _mode; uint16 _error; - XFile() : _mode(REA), _error(0) { } - XFile(IOMODE mode) : _mode(mode), _error(0) { } + XFile() : _mode(kModeRead), _error(0) { } + XFile(IOMode mode) : _mode(mode), _error(0) { } virtual ~XFile() { } virtual uint16 read(void *buf, uint16 len) = 0; virtual uint16 write(void *buf, uint16 len) = 0; @@ -137,8 +137,8 @@ protected: uint16 _seed; CRYPT *_crypt; public: - IoHand(const char *name, IOMODE mode = REA, CRYPT crypt = NULL); - IoHand(IOMODE mode = REA, CRYPT *crpt = NULL); + IoHand(const char *name, IOMode mode = kModeRead, CRYPT crypt = NULL); + IoHand(IOMode mode = kModeRead, CRYPT *crpt = NULL); virtual ~IoHand(); static bool exist(const char *name); uint16 read(void *buf, uint16 len); @@ -146,8 +146,6 @@ public: long mark(); long size(); long seek(long pos); - //timeb Time (); -// void SetTime (timeb t); }; CRYPT XCrypt; diff --git a/engines/cge/gettext.cpp b/engines/cge/gettext.cpp index 2f16cad86a..7a8cff3cb2 100644 --- a/engines/cge/gettext.cpp +++ b/engines/cge/gettext.cpp @@ -35,8 +35,8 @@ GetText *GetText::_ptr = NULL; GetText::GetText(CGEEngine *vm, const char *info, char *text, int size) - : Talk(vm), _text(text), _size(min<int>(size, GTMAX)), _len(min<int>(_size, strlen(text))), - _cntr(GTBLINK), _oldKeybClient(_keyboard->setClient(this)), _vm(vm) { + : Talk(vm), _text(text), _size(min<int>(size, kGetTextMax)), _len(min<int>(_size, strlen(text))), + _cntr(kGetTextBlink), _oldKeybClient(_keyboard->setClient(this)), _vm(vm) { int i = 2 * kTextHMargin + _font->width(info); _ptr = this; _mode = RECT; @@ -63,12 +63,12 @@ GetText::~GetText() { void GetText::tick() { - if (++_cntr >= GTBLINK) { + if (++_cntr >= kGetTextBlink) { _buff[_len] ^= (' ' ^ '_'); _cntr = 0; } putLine(1, _buff); - _time = GTTIME; + _time = kGetTextTime; } @@ -89,7 +89,7 @@ void GetText::touch(uint16 mask, int x, int y) { *p = bezo[q - ogon]; } case Esc : - SNPOST_(SNKILL, -1, 0, this); + _snail_->addCom(kSnKill, -1, 0, this); break; case BSp : if (_len) { diff --git a/engines/cge/gettext.h b/engines/cge/gettext.h index 188e90c776..6afa9ccfec 100644 --- a/engines/cge/gettext.h +++ b/engines/cge/gettext.h @@ -33,12 +33,12 @@ namespace CGE { -#define GTMAX 24 -#define GTBLINK 6 -#define GTTIME 6 +#define kGetTextMax 24 +#define kGetTextBlink 6 +#define kGetTextTime 6 class GetText : public Talk { - char _buff[GTMAX + 2]; + char _buff[kGetTextMax + 2]; char *_text; uint16 _size; uint16 _len; diff --git a/engines/cge/mixer.cpp b/engines/cge/mixer.cpp index eddc4a6570..aeaaa86593 100644 --- a/engines/cge/mixer.cpp +++ b/engines/cge/mixer.cpp @@ -39,24 +39,24 @@ extern Mouse *Mouse; bool Mixer::_appear = false; -Mixer::Mixer(CGEEngine *vm, int x, int y) : Sprite(vm, NULL), _fall(MIX_FALL), _vm(vm) { +Mixer::Mixer(CGEEngine *vm, int x, int y) : Sprite(vm, NULL), _fall(kMixFall), _vm(vm) { _appear = true; _mb[0] = new Bitmap("VOLUME", true); _mb[1] = NULL; setShapeList(_mb); - setName(_text->getText(MIX_NAME)); + setName(_text->getText(kMixName)); _flags._syst = true; _flags._kill = true; _flags._bDel = true; gotoxy(x, y); - _z = MIX_Z; + _z = kMixZ; // slaves uint i; - Seq ls[MIX_MAX]; + Seq ls[kMixMax]; - for (i = 0; i < MIX_MAX; i++) { + for (i = 0; i < kMixMax; i++) { static char fn[] = "V00"; wtom(i, fn + 1, 10, 2); _lb[i] = new Bitmap(fn, true); @@ -68,15 +68,15 @@ Mixer::Mixer(CGEEngine *vm, int x, int y) : Sprite(vm, NULL), _fall(MIX_FALL), _ for (i = 0; i < ArrayCount(_led); i++) { register Sprite *spr = new Sprite(_vm, _lb); - Seq *seq = (Seq *)malloc(MIX_MAX * sizeof(Seq)); - Common::copy(ls, ls + MIX_MAX, seq); + Seq *seq = (Seq *)malloc(kMixMax * sizeof(Seq)); + Common::copy(ls, ls + kMixMax, seq); spr->setSeq(seq); spr->gotoxy(x + 2 + 12 * i, y + 8); spr->_flags._tran = true; spr->_flags._kill = true; spr->_flags._bDel = false; - spr->_z = MIX_Z; + spr->_z = kMixZ; _led[i] = spr; } _led[ArrayCount(_led) - 1]->_flags._bDel = true; @@ -93,7 +93,7 @@ Mixer::Mixer(CGEEngine *vm, int x, int y) : Sprite(vm, NULL), _fall(MIX_FALL), _ _sndDrvInfo.Vol4._dl = i; _sndDrvInfo.Vol4._dr = i; update(); - _time = MIX_DELAY; + _time = kMixDelay; } Mixer::~Mixer() { @@ -106,10 +106,10 @@ void Mixer::touch(uint16 mask, int x, int y) { Sprite::touch(mask, x, y); if (mask & L_UP) { uint8 *vol = (&_sndDrvInfo.Vol2._d) + (x < _w / 2); - if (y < MIX_BHIG) { + if (y < kMixButtonHigh) { if (*vol < 0xFF) *vol += 0x11; - } else if (y >= _h - MIX_BHIG) { + } else if (y >= _h - kMixButtonHigh) { if (*vol > 0x00) *vol -= 0x11; } @@ -122,7 +122,7 @@ void Mixer::tick() { int x = _mouse->_x; int y = _mouse->_y; if (spriteAt(x, y) == this) { - _fall = MIX_FALL; + _fall = kMixFall; if (_flags._hold) touch(L_UP, x - _x, y - _y); } else { @@ -130,11 +130,11 @@ void Mixer::tick() { _fall--; else { for (uint i = 0; i < ArrayCount(_led); i++) - SNPOST_(SNKILL, -1, 0, _led[i]); - SNPOST_(SNKILL, -1, 0, this); + _snail_->addCom(kSnKill, -1, 0, _led[i]); + _snail_->addCom(kSnKill, -1, 0, this); } } - _time = MIX_DELAY; + _time = kMixDelay; } @@ -142,7 +142,7 @@ void Mixer::update() { _led[0]->step(_sndDrvInfo.Vol4._ml); _led[1]->step(_sndDrvInfo.Vol4._dl); - SNPOST2_(SNEXEC, -1, 0, kSndSetVolume); + _snail_->addCom2(kSnExec, -1, 0, kSndSetVolume); } } // End of namespace CGE diff --git a/engines/cge/mixer.h b/engines/cge/mixer.h index ef53eec070..d97a4f3dd3 100644 --- a/engines/cge/mixer.h +++ b/engines/cge/mixer.h @@ -32,16 +32,16 @@ namespace CGE { -#define MIX_MAX 16 // count of Leds -#define MIX_Z 64 // mixer Z position -#define MIX_DELAY 12 // 6/s -#define MIX_FALL 6 // in MIX_DELAY units -#define MIX_BHIG 6 // mixer button high -#define MIX_NAME 105 // sprite name +#define kMixMax 16 // count of Leds +#define kMixZ 64 // mixer Z position +#define kMixDelay 12 // 6/s +#define kMixFall 6 // in MIX_DELAY units +#define kMixButtonHigh 6 // mixer button high +#define kMixName 105 // sprite name class Mixer : public Sprite { BMP_PTR _mb[2]; - BMP_PTR _lb[MIX_MAX + 1]; + BMP_PTR _lb[kMixMax + 1]; Sprite *_led[2]; int _fall; void update(); diff --git a/engines/cge/snail.cpp b/engines/cge/snail.cpp index e694cab0b9..d2ed77d755 100644 --- a/engines/cge/snail.cpp +++ b/engines/cge/snail.cpp @@ -50,8 +50,6 @@ void CGEEngine::snGame(Sprite *spr, int num) { switch (num) { case 1 : { -#define STAGES 8 -#define DRESSED 3 static Sprite *dup[3] = { NULL, NULL, NULL }; int buref = 0; int Stage = 0; @@ -71,71 +69,69 @@ void CGEEngine::snGame(Sprite *spr, int num) { if (_game) { // continue game int i = new_random(3), hand = (dup[0]->_shpCnt == 6); Stage++; - if (hand && Stage > DRESSED) + if (hand && Stage > kDressed) ++hand; if (i >= 0 || (dup[i] == spr && new_random(3) == 0)) { - SNPOST(SNSEQ, -1, 3, dup[0]); // yes - SNPOST(SNSEQ, -1, 3, dup[1]); // yes - SNPOST(SNSEQ, -1, 3, dup[2]); // yes - SNPOST(SNTNEXT, -1, 0, dup[0]); // reset Take - SNPOST(SNTNEXT, -1, 0, dup[1]); // reset Take - SNPOST(SNTNEXT, -1, 0, dup[2]); // reset Take - SNPOST(SNNNEXT, -1, 0, dup[0]); // reset Near - SNPOST(SNPAUSE, -1, 72, NULL); // little rest - SNPOST(SNSAY, 1, 16009, NULL); // hura - SNPOST(SNSAY, buref, 16010, NULL); // siadaj - SNPOST(SNSAY, 1, 16011, NULL); // postoj‘ + _snail->addCom(kSnSeq, -1, 3, dup[0]); // yes + _snail->addCom(kSnSeq, -1, 3, dup[1]); // yes + _snail->addCom(kSnSeq, -1, 3, dup[2]); // yes + _snail->addCom(kSnTNext, -1, 0, dup[0]); // reset Take + _snail->addCom(kSnTNext, -1, 0, dup[1]); // reset Take + _snail->addCom(kSnTNext, -1, 0, dup[2]); // reset Take + _snail->addCom(kSnNNext, -1, 0, dup[0]); // reset Near + _snail->addCom(kSnPause, -1, 72, NULL); // little rest + _snail->addCom(kSnSay, 1, 16009, NULL); // hura + _snail->addCom(kSnSay, buref, 16010, NULL); // siadaj + _snail->addCom(kSnSay, 1, 16011, NULL); // postoj‘ if (hand) { - SNPOST(SNSEND, 16060 + hand, 16, NULL); // dawaj r‘k‘ - SNPOST(SNSEQ, buref, 4, NULL); // zdejmowanie - SNPOST(SNSEQ, 16060 + hand, 1, NULL); // ruch - SNPOST(SNSOUND, 16060 + hand, 16002, NULL); // szelest - SNPOST(SNWAIT, 16060 + hand, 3, NULL); // podniesie - SNPOST(SNSWAP, buref, buref + 100, NULL); // rozdziana - SNPOST(SNSEQ, 16016, Stage, NULL); // rožnie kupa - SNPOST(SNSEND, 16060 + hand, -1, NULL); // chowaj r‘k‘ - SNPOST(SNWAIT, 16060 + hand, -1, NULL); // r‘ka zamar’a + _snail->addCom(kSnSend, 16060 + hand, 16, NULL); // dawaj r‘k‘ + _snail->addCom(kSnSeq, buref, 4, NULL); // zdejmowanie + _snail->addCom(kSnSeq, 16060 + hand, 1, NULL); // ruch + _snail->addCom(kSnSound, 16060 + hand, 16002, NULL); // szelest + _snail->addCom(kSnWait, 16060 + hand, 3, NULL); // podniesie + _snail->addCom(kSnSwap, buref, buref + 100, NULL); // rozdziana + _snail->addCom(kSnSeq, 16016, Stage, NULL); // rožnie kupa + _snail->addCom(kSnSend, 16060 + hand, -1, NULL); // chowaj r‘k‘ + _snail->addCom(kSnWait, 16060 + hand, -1, NULL); // r‘ka zamar’a } else { - SNPOST(SNSEQ, buref, 4, NULL); // zdejmowanie - SNPOST(SNSOUND, 16060 + hand, 16002, NULL); // szelest - SNPOST(SNWAIT, buref, -1, NULL); // zdejmie - SNPOST(SNSWAP, buref, buref + 100, NULL); // rozdziana - SNPOST(SNSEQ, 16016, Stage, NULL); // rožnie kupa + _snail->addCom(kSnSeq, buref, 4, NULL); // zdejmowanie + _snail->addCom(kSnSound, 16060 + hand, 16002, NULL); // szelest + _snail->addCom(kSnWait, buref, -1, NULL); // zdejmie + _snail->addCom(kSnSwap, buref, buref + 100, NULL); // rozdziana + _snail->addCom(kSnSeq, 16016, Stage, NULL); // rožnie kupa } //SNPOST(SNSEQ, buref+100, 0, NULL); // reset - SNPOST(SNPAUSE, -1, 72, NULL); // chwilk‘... - - SNPOST(SNSEQ, -1, 0, dup[1]); // odstaw Go - SNPOST(SNSETXY, -1, 203 + kScrWidth * 49, dup[1]); - SNPOST(SNSETZ, -1, 7, dup[1]); - - SNPOST(SNSEQ, -1, 0, dup[2]); // odstaw J† - SNPOST(SNSETXY, -1, 182 + kScrWidth * 62, dup[2]); - SNPOST(SNSETZ, -1, 9, dup[2]); + _snail->addCom(kSnPause, -1, 72, NULL); // chwilk‘... + _snail->addCom(kSnSeq, -1, 0, dup[1]); // odstaw Go + _snail->addCom(kSnSetXY, -1, 203 + kScrWidth * 49, dup[1]); + _snail->addCom(kSnSetZ, -1, 7, dup[1]); + _snail->addCom(kSnSeq, -1, 0, dup[2]); // odstaw J† + _snail->addCom(kSnSetXY, -1, 182 + kScrWidth * 62, dup[2]); + _snail->addCom(kSnSetZ, -1, 9, dup[2]); _game = 0; return; } else { - SNPOST(SNSEQ, -1, 2, dup[0]); // no - SNPOST(SNSEQ, -1, 2, dup[1]); // no - SNPOST(SNSEQ, -1, 2, dup[2]); // no - SNPOST(SNPAUSE, -1, 72, NULL); // 1 sec + _snail->addCom(kSnSeq, -1, 2, dup[0]); // no + _snail->addCom(kSnSeq, -1, 2, dup[1]); // no + _snail->addCom(kSnSeq, -1, 2, dup[2]); // no + _snail->addCom(kSnPause, -1, 72, NULL); // 1 sec } } - SNPOST(SNWALK, 198, 134, NULL); // na miejsce - SNPOST(SNWAIT, 1, -1, NULL); // stoi - SNPOST(SNCOVER, 1, 16101, NULL); // ch’op do bicia - SNPOST(SNSEQ, 16101, 1, NULL); // wystaw - SNPOST(SNWAIT, 16101, 5, NULL); // czekaj - SNPOST(SNPAUSE, 16101, 24, NULL); // czekaj chwil‘ - SNPOST(SNSEQ, 16040, 1, NULL); // plask - SNPOST(SNSOUND, 16101, 16001, NULL); // plask! - SNPOST(SNPAUSE, 16101, 24, NULL); // czekaj chwil‘ - SNPOST(SNSEQ, 16040, 0, NULL); // schowaj plask - SNPOST(SNWAIT, 16101, -1, NULL); // stoi - SNPOST(SNUNCOVER, 1, 16101, NULL); // SDS + _snail->addCom(kSnWalk, 198, 134, NULL); // na miejsce + _snail->addCom(kSnWait, 1, -1, NULL); // stoi + _snail->addCom(kSnCover, 1, 16101, NULL); // ch’op do bicia + _snail->addCom(kSnSeq, 16101, 1, NULL); // wystaw + _snail->addCom(kSnWait, 16101, 5, NULL); // czekaj + _snail->addCom(kSnPause, 16101, 24, NULL); // czekaj chwil‘ + _snail->addCom(kSnSeq, 16040, 1, NULL); // plask + _snail->addCom(kSnSound, 16101, 16001, NULL); // plask! + _snail->addCom(kSnPause, 16101, 24, NULL); // czekaj chwil‘ + _snail->addCom(kSnSeq, 16040, 0, NULL); // schowaj plask + _snail->addCom(kSnWait, 16101, -1, NULL); // stoi + _snail->addCom(kSnUncover, 1, 16101, NULL); // SDS if (!_game) { - SNPOST(SNSAY, buref, 16008, NULL); // zgadnij! + _snail->addCom(kSnSay, buref, 16008, NULL); // zgadnij! _game = true; } #undef STEPS @@ -155,7 +151,7 @@ void CGEEngine::snGame(Sprite *spr, int num) { } if (!_game) { // init - SNPOST(SNGAME, 20002, 2, NULL); + _snail->addCom(kSnGame, 20002, 2, NULL); _game = true; } else { // cont k1->step(new_random(6)); @@ -168,23 +164,23 @@ void CGEEngine::snGame(Sprite *spr, int num) { k3->step(5); } ///-------------------- - SNPOST(SNSETZ, 20700, 0, NULL); + _snail->addCom(kSnSetZ, 20700, 0, NULL); bool hit = (k1->_seqPtr + k2->_seqPtr + k3->_seqPtr == 15); if (hit) { if (spr->_ref == 1) { - SNPOST(SNSAY, 1, 20003, NULL); // hura! - SNPOST(SNSEQ, 20011, 2, NULL); // kamera won - SNPOST(SNSEND, 20701, -1, NULL); // k1 won - SNPOST(SNSEND, 20702, -1, NULL); // k2 won - SNPOST(SNSEND, 20703, -1, NULL); // k3 won - SNPOST(SNSEND, 20700, -1, NULL); // tv won - SNPOST(SNKEEP, 20007, 0, NULL); // do kieszeni - SNPOST(SNSEND, 20006, 20, NULL); // bilon - SNPOST(SNSOUND, 20006, 20002, NULL); // bilon! - SNPOST(SNSAY, 20002, 20004, NULL); - SNPOST(SNSEND, 20010, 20, NULL); // papier - SNPOST(SNSOUND, 20010, 20003, NULL); // papier! - SNPOST(SNSAY, 20001, 20005, NULL); + _snail->addCom(kSnSay, 1, 20003, NULL); // hura! + _snail->addCom(kSnSeq, 20011, 2, NULL); // kamera won + _snail->addCom(kSnSend, 20701, -1, NULL); // k1 won + _snail->addCom(kSnSend, 20702, -1, NULL); // k2 won + _snail->addCom(kSnSend, 20703, -1, NULL); // k3 won + _snail->addCom(kSnSend, 20700, -1, NULL); // tv won + _snail->addCom(kSnKeep, 20007, 0, NULL); // do kieszeni + _snail->addCom(kSnSend, 20006, 20, NULL); // bilon + _snail->addCom(kSnSound, 20006, 20002, NULL); // bilon! + _snail->addCom(kSnSay, 20002, 20004, NULL); + _snail->addCom(kSnSend, 20010, 20, NULL); // papier + _snail->addCom(kSnSound, 20010, 20003, NULL); // papier! + _snail->addCom(kSnSay, 20001, 20005, NULL); _game = false; return; } else @@ -193,60 +189,60 @@ void CGEEngine::snGame(Sprite *spr, int num) { if (count < 100) { switch (count) { case 15 : - SNPOST(SNSAY, 20003, 20021, NULL); + _snail->addCom(kSnSay, 20003, 20021, NULL); break; case 30 : case 45 : case 60 : case 75 : - SNPOST(SNSAY, 20003, 20022, NULL); + _snail->addCom(kSnSay, 20003, 20022, NULL); break; } count++; } switch (spr->_ref) { case 1 : - SNPOST(SNSAY, 20001, 20011, NULL); // zapro - SNPOST(SNSEQ, 20001, 1, NULL); // rzuŤ - SNPOST(SNWAIT, 20001, 1, NULL); // czekaj - SNPOST(SNSETZ, 20700, 2, NULL); // skryj k - SNPOST(SNHIDE, 20007, 1, NULL); // skryj k - SNPOST(SNWAIT, 20001, 16, NULL); // czekaj - SNPOST(SNSEQ, 20007, 1, NULL); // lec† - SNPOST(SNHIDE, 20007, 0, NULL); // poka§ - SNPOST(SNSOUND, 20007, 20001, NULL); // grzech - SNPOST(SNWAIT, 20007, -1, NULL); // koniec - SNPOST(SNGAME, 20001, 2, NULL); // again! + _snail->addCom(kSnSay, 20001, 20011, NULL); // zapro + _snail->addCom(kSnSeq, 20001, 1, NULL); // rzuŤ + _snail->addCom(kSnWait, 20001, 1, NULL); // czekaj + _snail->addCom(kSnSetZ, 20700, 2, NULL); // skryj k + _snail->addCom(kSnHide, 20007, 1, NULL); // skryj k + _snail->addCom(kSnWait, 20001, 16, NULL); // czekaj + _snail->addCom(kSnSeq, 20007, 1, NULL); // lec† + _snail->addCom(kSnHide, 20007, 0, NULL); // poka§ + _snail->addCom(kSnSound, 20007, 20001, NULL); // grzech + _snail->addCom(kSnWait, 20007, -1, NULL); // koniec + _snail->addCom(kSnGame, 20001, 2, NULL); // again! break; case 20001: - SNPOST(SNSAY, 20002, 20012, NULL); // zapro - SNPOST(SNSEQ, 20002, 1, NULL); // rzuŤ - SNPOST(SNWAIT, 20002, 3, NULL); // czekaj - SNPOST(SNSETZ, 20700, 2, NULL); // skryj k - SNPOST(SNHIDE, 20007, 1, NULL); // skryj k - SNPOST(SNWAIT, 20002, 10, NULL); // czekaj - SNPOST(SNSEQ, 20007, 2, NULL); // lec† - SNPOST(SNHIDE, 20007, 0, NULL); // poka§ - SNPOST(SNSOUND, 20007, 20001, NULL); // grzech - SNPOST(SNWAIT, 20007, -1, NULL); // koniec - SNPOST(SNGAME, 20002, 2, NULL); // again! + _snail->addCom(kSnSay, 20002, 20012, NULL); // zapro + _snail->addCom(kSnSeq, 20002, 1, NULL); // rzuŤ + _snail->addCom(kSnWait, 20002, 3, NULL); // czekaj + _snail->addCom(kSnSetZ, 20700, 2, NULL); // skryj k + _snail->addCom(kSnHide, 20007, 1, NULL); // skryj k + _snail->addCom(kSnWait, 20002, 10, NULL); // czekaj + _snail->addCom(kSnSeq, 20007, 2, NULL); // lec† + _snail->addCom(kSnHide, 20007, 0, NULL); // poka§ + _snail->addCom(kSnSound, 20007, 20001, NULL); // grzech + _snail->addCom(kSnWait, 20007, -1, NULL); // koniec + _snail->addCom(kSnGame, 20002, 2, NULL); // again! break; case 20002: - SNPOST(SNSAY, 20002, 20010, NULL); // zapro - SNPOST(SNWALK, 20005, -1, NULL); // do stol - SNPOST(SNWAIT, 1, -1, NULL); // stoi - SNPOST(SNCOVER, 1, 20101, NULL); // grasol - SNPOST(SNSEQ, 20101, 1, NULL); // rzuŤ - SNPOST(SNWAIT, 20101, 5, NULL); // czekaj - SNPOST(SNSETZ, 20700, 2, NULL); // skryj k - SNPOST(SNHIDE, 20007, 1, NULL); // skryj k - SNPOST(SNWAIT, 20101, 15, NULL); // czekaj - SNPOST(SNSEQ, 20007, 1, NULL); // lec† - SNPOST(SNHIDE, 20007, 0, NULL); // poka§ - SNPOST(SNSOUND, 20007, 20001, NULL); // grzech - SNPOST(SNWAIT, 20101, -1, NULL); // koniec - SNPOST(SNUNCOVER, 1, 20101, NULL); // SDS - SNPOST(SNGAME, 1, 2, NULL); // again! + _snail->addCom(kSnSay, 20002, 20010, NULL); // zapro + _snail->addCom(kSnWalk, 20005, -1, NULL); // do stol + _snail->addCom(kSnWait, 1, -1, NULL); // stoi + _snail->addCom(kSnCover, 1, 20101, NULL); // grasol + _snail->addCom(kSnSeq, 20101, 1, NULL); // rzuŤ + _snail->addCom(kSnWait, 20101, 5, NULL); // czekaj + _snail->addCom(kSnSetZ, 20700, 2, NULL); // skryj k + _snail->addCom(kSnHide, 20007, 1, NULL); // skryj k + _snail->addCom(kSnWait, 20101, 15, NULL); // czekaj + _snail->addCom(kSnSeq, 20007, 1, NULL); // lec† + _snail->addCom(kSnHide, 20007, 0, NULL); // poka§ + _snail->addCom(kSnSound, 20007, 20001, NULL); // grzech + _snail->addCom(kSnWait, 20101, -1, NULL); // koniec + _snail->addCom(kSnUncover, 1, 20101, NULL); // SDS + _snail->addCom(kSnGame, 1, 2, NULL); // again! break; } } @@ -302,17 +298,17 @@ void CGEEngine::pocFul() { debugC(1, kCGEDebugEngine, "CGEEngine::pocFul()"); _hero->park(); - SNPOST(SNWAIT, -1, -1, _hero); - SNPOST(SNSEQ, -1, kSeqPocketFull, _hero); - SNPOST(SNSOUND, -1, 2, _hero); - SNPOST(SNWAIT, -1, -1, _hero); - SNPOST(SNSAY, 1, kPocketFull, _hero); + _snail->addCom(kSnWait, -1, -1, _hero); + _snail->addCom(kSnSeq, -1, kSeqPocketFull, _hero); + _snail->addCom(kSnSound, -1, 2, _hero); + _snail->addCom(kSnWait, -1, -1, _hero); + _snail->addCom(kSnSay, 1, kPocketFull, _hero); } void CGEEngine::hide1(Sprite *spr) { debugC(1, kCGEDebugEngine, "CGEEngine::hide1(spr)"); - SNPOST_(SNGHOST, -1, 0, spr->ghost()); + _snail_->addCom(kSnGhost, -1, 0, spr->ghost()); } void CGEEngine::snGhost(Bitmap *bmp) { @@ -337,8 +333,8 @@ void CGEEngine::feedSnail(Sprite *spr, SnList snq) { if (findPocket(NULL) < 0) { // no empty pockets? Snail::Com *p; - for (p = c; p->_com != SNNEXT; p++) { // find KEEP command - if (p->_com == SNKEEP) { + for (p = c; p->_com != kSnNext; p++) { // find KEEP command + if (p->_com == kSnKeep) { pocFul(); return; } @@ -347,11 +343,11 @@ void CGEEngine::feedSnail(Sprite *spr, SnList snq) { } } while (true) { - if (c->_com == SNTALK) { + if (c->_com == kSnTalk) { if ((_snail->_talkEnable = (c->_val != 0)) == false) killText(); } - if (c->_com == SNNEXT) { + if (c->_com == kSnNext) { Sprite *s = (c->_ref < 0) ? spr : locate(c->_ref); if (s) { uint8 *idx = (snq == kTake) ? &s->_takePtr : &s->_nearPtr; @@ -378,7 +374,7 @@ void CGEEngine::feedSnail(Sprite *spr, SnList snq) { if (s == spr) break; } - if (c->_com == SNIF) { + if (c->_com == kSnIf) { Sprite *s = (c->_ref < 0) ? spr : locate(c->_ref); if (s) { // sprite extsts if (! s->seqTest(-1)) @@ -388,7 +384,7 @@ void CGEEngine::feedSnail(Sprite *spr, SnList snq) { } else ++c; } else { - SNPOST(c->_com, c->_ref, c->_val, spr); + _snail->addCom(c->_com, c->_ref, c->_val, spr); if (c->_ptr) break; else @@ -424,35 +420,35 @@ Snail::~Snail() { free(_snList); } -void Snail::addCom(SNCOM com, int ref, int val, void *ptr) { +void Snail::addCom(SnCom com, int ref, int val, void *ptr) { Com *snc = &_snList[_head++]; snc->_com = com; snc->_ref = ref; snc->_val = val; snc->_ptr = ptr; snc->_cbType = kNullCB; - if (com == SNCLEAR) { + if (com == kSnClear) { _tail = _head; killText(); _timerExpiry = 0; } } -void Snail::addCom2(SNCOM com, int ref, int val, CallbackType cbType) { +void Snail::addCom2(SnCom com, int ref, int val, CallbackType cbType) { Com *snc = &_snList[_head++]; snc->_com = com; snc->_ref = ref; snc->_val = val; snc->_ptr = NULL; snc->_cbType = cbType; - if (com == SNCLEAR) { + if (com == kSnClear) { _tail = _head; killText(); _timerExpiry = 0; } } -void Snail::insCom(SNCOM com, int ref, int val, void *ptr) { +void Snail::insCom(SnCom com, int ref, int val, void *ptr) { Com *snc; if (_busy) { @@ -465,7 +461,7 @@ void Snail::insCom(SNCOM com, int ref, int val, void *ptr) { snc->_ref = ref; snc->_val = val; snc->_ptr = ptr; - if (com == SNCLEAR) { + if (com == kSnClear) { _tail = _head; killText(); _timerExpiry = 0; @@ -596,7 +592,6 @@ void CGEEngine::snSend(Sprite *spr, int val) { } } - void CGEEngine::snSwap(Sprite *spr, int xref) { debugC(1, kCGEDebugEngine, "CGEEngine::snSwap(spr, %d)", xref); @@ -828,7 +823,6 @@ void CGEEngine::snKeep(Sprite *spr, int stp) { selectPocket(-1); } - void CGEEngine::snGive(Sprite *spr, int stp) { debugC(1, kCGEDebugEngine, "CGEEngine::snGive(spr, %d)", stp); @@ -845,7 +839,6 @@ void CGEEngine::snGive(Sprite *spr, int stp) { selectPocket(-1); } - void CGEEngine::snBackPt(Sprite *spr, int stp) { debugC(1, kCGEDebugEngine, "CGEEngine::snBackPt(spr, %d)", stp); @@ -956,8 +949,8 @@ void Snail::runCom() { static int count = 1; if (!_busy) { _busy = true; - uint8 tmphea = _head; - while (_tail != tmphea) { + uint8 tmpHead = _head; + while (_tail != tmpHead) { Com *snc = &_snList[_tail]; if (!_turbo) { // only for the slower one @@ -975,35 +968,35 @@ void Snail::runCom() { _textDelay = false; } } - if (_talk && snc->_com != SNPAUSE) + if (_talk && snc->_com != kSnPause) break; } Sprite *spr = ((snc->_ref >= 0) ? locate(snc->_ref) : ((Sprite *) snc->_ptr)); switch (snc->_com) { - case SNLABEL : + case kSnLabel: break; - case SNPAUSE : - _timerExpiry = g_system->getMillis() + snc->_val * SNAIL_FRAME_DELAY; + case kSnPause : + _timerExpiry = g_system->getMillis() + snc->_val * kSnailFrameDelay; if (_talk) _textDelay = true; break; - case SNWAIT : + case kSnWait: if (spr) { if (spr->seqTest(snc->_val) && (snc->_val >= 0 || spr != _hero || _hero->_tracePtr < 0)) { - _timerExpiry = g_system->getMillis() + spr->_time * SNAIL_FRAME_DELAY; + _timerExpiry = g_system->getMillis() + spr->_time * kSnailFrameDelay; } else goto xit; } break; - case SNLEVEL : + case kSnLevel: _vm->snLevel(spr, snc->_val); break; - case SNHIDE : + case kSnHide: _vm->snHide(spr, snc->_val); break; - case SNSAY : + case kSnSay: if (spr && _talkEnable) { if (spr == _hero && spr->seqTest(-1)) spr->step(kSeqHTalk); @@ -1011,148 +1004,148 @@ void Snail::runCom() { _sys->_funDel = kHeroFun0; } break; - case SNINF : + case kSnInf: if (_talkEnable) { _vm->inf(_text->getText(snc->_val)); _sys->_funDel = kHeroFun0; } break; - case SNTIME : + case kSnTime: if (spr && _talkEnable) { if (spr == _hero && spr->seqTest(-1)) spr->step(kSeqHTalk); sayTime(spr); } break; - case SNCAVE : + case kSnCave: _vm->switchCave(snc->_val); break; - case SNKILL : + case kSnKill: _vm->snKill(spr); break; - case SNSEQ : + case kSnSeq: _vm->snSeq(spr, snc->_val); break; - case SNRSEQ : + case kSnRSeq: _vm->snRSeq(spr, snc->_val); break; - case SNSEND : + case kSnSend: _vm->snSend(spr, snc->_val); break; - case SNSWAP : + case kSnSwap: _vm->snSwap(spr, snc->_val); break; - case SNCOVER : + case kSnCover: _vm->snCover(spr, snc->_val); break; - case SNUNCOVER : + case kSnUncover: _vm->snUncover(spr, (snc->_val >= 0) ? locate(snc->_val) : ((Sprite *) snc->_ptr)); break; - case SNKEEP : + case kSnKeep: _vm->snKeep(spr, snc->_val); break; - case SNGIVE : + case kSnGive: _vm->snGive(spr, snc->_val); break; - case SNGAME : + case kSnGame: _vm->snGame(spr, snc->_val); break; - case SNSETX0 : + case kSnSetX0: _vm->snSetX0(snc->_ref, snc->_val); break; - case SNSETY0 : + case kSnSetY0: _vm->snSetY0(snc->_ref, snc->_val); break; - case SNSETXY : + case kSnSetXY: _vm->snSetXY(spr, snc->_val); break; - case SNRELX : + case kSnRelX: _vm->snRelX(spr, snc->_val); break; - case SNRELY : + case kSnRelY: _vm->snRelY(spr, snc->_val); break; - case SNRELZ : + case kSnRelZ: _vm->snRelZ(spr, snc->_val); break; - case SNSETX : + case kSnSetX: _vm->snSetX(spr, snc->_val); break; - case SNSETY : + case kSnSetY: _vm->snSetY(spr, snc->_val); break; - case SNSETZ : + case kSnSetZ: _vm->snSetZ(spr, snc->_val); break; - case SNSLAVE : + case kSnSlave: _vm->snSlave(spr, snc->_val); break; - case SNTRANS : + case kSnTrans: _vm->snTrans(spr, snc->_val); break; - case SNPORT : + case kSnPort: _vm->snPort(spr, snc->_val); break; - case SNNEXT : - case SNIF : - case SNTALK : + case kSnNext: + case kSnIf: + case kSnTalk: break; - case SNMOUSE : + case kSnMouse: _vm->snMouse(snc->_val != 0); break; - case SNNNEXT : + case kSnNNext: _vm->snNNext(spr, snc->_val); break; - case SNTNEXT : + case kSnTNext: _vm->snTNext(spr, snc->_val); break; - case SNRNNEXT : + case kSnRNNext: _vm->snRNNext(spr, snc->_val); break; - case SNRTNEXT : + case kSnRTNext: _vm->snRTNext(spr, snc->_val); break; - case SNRMNEAR : + case kSnRMNear: _vm->snRmNear(spr); break; - case SNRMTAKE : + case kSnRmTake: _vm->snRmTake(spr); break; - case SNFLAG : + case kSnFlag: _vm->snFlag(snc->_ref & 3, snc->_val != 0); break; - case SNSETREF : + case kSnSetRef: _vm->snSetRef(spr, snc->_val); break; - case SNBACKPT : + case kSnBackPt: _vm->snBackPt(spr, snc->_val); break; - case SNFLASH : + case kSnFlash: _vm->snFlash(snc->_val != 0); break; - case SNLIGHT : + case kSnLight: _vm->snLight(snc->_val != 0); break; - case SNSETHB : + case kSnSetHBarrier: _vm->snBarrier(snc->_ref, snc->_val, true); break; - case SNSETVB : + case kSnSetVBarrier: _vm->snBarrier(snc->_ref, snc->_val, false); break; - case SNWALK : + case kSnWalk: _vm->snWalk(spr, snc->_ref, snc->_val); break; - case SNREACH : + case kSnReach: _vm->snReach(spr, snc->_val); break; - case SNSOUND : + case kSnSound: _vm->snSound(spr, snc->_val, count); count = 1; break; - case SNCOUNT : + case kSnCount: count = snc->_val; break; - case SNEXEC : + case kSnExec: switch (snc->_cbType) { case kQGame: _vm->qGame(); @@ -1176,13 +1169,13 @@ void Snail::runCom() { error("Unknown Callback Type in SNEXEC"); } break; - case SNSTEP : + case kSnStep: spr->step(); break; - case SNZTRIM : + case kSnZTrim: _vm->snZTrim(spr); break; - case SNGHOST : + case kSnGhost: _vm->snGhost((Bitmap *) snc->_ptr); break; default : diff --git a/engines/cge/snail.h b/engines/cge/snail.h index b8b4dc68ff..ad63f55f36 100644 --- a/engines/cge/snail.h +++ b/engines/cge/snail.h @@ -33,40 +33,34 @@ namespace CGE { -#define SNINSERT(c, r, v, p) _snail->insCom(c, r, v, p) -#define SNPOST(c, r, v, p) _snail->addCom(c, r, v, p) -#define SNPOST2(c, r, v, p) _snail->addCom2(c, r, v, p) -#define SNPOST_(c, r, v, p) _snail_->addCom(c, r, v, p) -#define SNPOST2_(c, r, v, p) _snail_->addCom2(c, r, v, p) - -#define SNAIL_FRAME_RATE 80 -#define SNAIL_FRAME_DELAY (1000 / SNAIL_FRAME_RATE) +#define kSnailFrameRate 80 +#define kSnailFrameDelay (1000 / kSnailFrameRate) +#define kDressed 3 struct Bar { uint8 _horz; uint8 _vert; }; - -enum SNCOM { - SNLABEL, SNPAUSE, SNWAIT, SNLEVEL, SNHIDE, - SNSAY, SNINF, SNTIME, SNCAVE, SNKILL, - SNRSEQ, SNSEQ, SNSEND, SNSWAP, SNKEEP, - SNGIVE, SNIF, SNGAME, SNSETX0, SNSETY0, - SNSLAVE, SNSETXY, SNRELX, SNRELY, SNRELZ, - SNSETX, SNSETY, SNSETZ, SNTRANS, SNPORT, - SNNEXT, SNNNEXT, SNTNEXT, SNRNNEXT, SNRTNEXT, - SNRMNEAR, SNRMTAKE, SNFLAG, SNSETREF, SNBACKPT, - SNFLASH, SNLIGHT, SNSETHB, SNSETVB, SNWALK, - SNREACH, SNCOVER, SNUNCOVER, SNCLEAR, SNTALK, - SNMOUSE, SNSOUND, SNCOUNT, SNEXEC, SNSTEP, - SNZTRIM, SNGHOST +enum SnCom { + kSnLabel, kSnPause, kSnWait, kSnLevel, kSnHide, + kSnSay, kSnInf, kSnTime, kSnCave, kSnKill, + kSnRSeq, kSnSeq, kSnSend, kSnSwap, kSnKeep, + kSnGive, kSnIf, kSnGame, kSnSetX0, kSnSetY0, + kSnSlave, kSnSetXY, kSnRelX, kSnRelY, kSnRelZ, + kSnSetX, kSnSetY, kSnSetZ, kSnTrans, kSnPort, + kSnNext, kSnNNext, kSnTNext, kSnRNNext, kSnRTNext, + kSnRMNear, kSnRmTake, kSnFlag, kSnSetRef, kSnBackPt, + kSnFlash, kSnLight, kSnSetHBarrier, kSnSetVBarrier, kSnWalk, + kSnReach, kSnCover, kSnUncover, kSnClear, kSnTalk, + kSnMouse, kSnSound, kSnCount, kSnExec, kSnStep, + kSnZTrim, kSnGhost }; class Snail { public: struct Com { - SNCOM _com; + SnCom _com; int _ref; int _val; void *_ptr; @@ -83,17 +77,15 @@ public: Snail(CGEEngine *vm, bool turbo); ~Snail(); void runCom(); - void addCom(SNCOM com, int ref, int val, void *ptr); - void addCom2(SNCOM com, int ref, int val, CallbackType cbType); - void insCom(SNCOM com, int ref, int val, void *ptr); + void addCom(SnCom com, int ref, int val, void *ptr); + void addCom2(SnCom com, int ref, int val, CallbackType cbType); + void insCom(SnCom com, int ref, int val, void *ptr); bool idle(); private: CGEEngine *_vm; }; -extern bool _dark; -extern int _lev; extern Bar _barriers[]; extern struct Hxy { int _x; diff --git a/engines/cge/text.cpp b/engines/cge/text.cpp index dd75ea3681..edf7931278 100644 --- a/engines/cge/text.cpp +++ b/engines/cge/text.cpp @@ -234,7 +234,6 @@ void CGEEngine::inf(const char *txt) { } } - void sayTime(Sprite *spr) { /* static char t[] = "00:00"; @@ -249,7 +248,7 @@ void sayTime(Sprite *spr) { void killText() { if (_talk) { - SNPOST_(SNKILL, -1, 0, _talk); + _snail_->addCom(kSnKill, -1, 0, _talk); _talk = NULL; } } diff --git a/engines/cge/vga13h.cpp b/engines/cge/vga13h.cpp index 24c83f12ee..94a4963a5e 100644 --- a/engines/cge/vga13h.cpp +++ b/engines/cge/vga13h.cpp @@ -442,7 +442,7 @@ bool Sprite::works(Sprite *spr) { if (c != NULL) { c += spr->_takePtr; if (c->_ref == _ref) - if (c->_com != SNLABEL || (c->_val == 0 || c->_val == _vm->_now)) + if (c->_com != kSnLabel || (c->_val == 0 || c->_val == _vm->_now)) return true; } } @@ -573,7 +573,7 @@ Sprite *Sprite::expand() { error("No core [%s]", fname); else { Snail::Com *c = &nea[neacnt++]; - if ((c->_com = (SNCOM)takeEnum(Snail::_comTxt, strtok(NULL, " \t,;/"))) < 0) + if ((c->_com = (SnCom)takeEnum(Snail::_comTxt, strtok(NULL, " \t,;/"))) < 0) error("Bad NEAR in %d [%s]", lcnt, fname); c->_ref = atoi(strtok(NULL, " \t,;/")); c->_val = atoi(strtok(NULL, " \t,;/")); @@ -589,7 +589,7 @@ Sprite *Sprite::expand() { error("No core [%s]", fname); else { Snail::Com *c = &tak[takcnt++]; - if ((c->_com = (SNCOM)takeEnum(Snail::_comTxt, strtok(NULL, " \t,;/"))) < 0) + if ((c->_com = (SnCom)takeEnum(Snail::_comTxt, strtok(NULL, " \t,;/"))) < 0) error("Bad NEAR in %d [%s]", lcnt, fname); c->_ref = atoi(strtok(NULL, " \t,;/")); c->_val = atoi(strtok(NULL, " \t,;/")); diff --git a/engines/cge/vmenu.cpp b/engines/cge/vmenu.cpp index af3d5ff4f5..2c22625ae3 100644 --- a/engines/cge/vmenu.cpp +++ b/engines/cge/vmenu.cpp @@ -138,7 +138,7 @@ void Vmenu::touch(uint16 mask, int x, int y) { if (ok && (mask & L_UP)) { _items = 0; - SNPOST_(SNKILL, -1, 0, this); + _snail_->addCom(kSnKill, -1, 0, this); _recent = n; assert(_menu[n].Proc); CALL_MEMBER_FN(*_vm, _menu[n].Proc)(); diff --git a/engines/cge/vol.cpp b/engines/cge/vol.cpp index 63f3fadd1c..9074a8f061 100644 --- a/engines/cge/vol.cpp +++ b/engines/cge/vol.cpp @@ -44,7 +44,7 @@ Dat::Dat(): #ifdef VOL_UPD _file(DAT_NAME, UPD, CRP) #else - _file(DAT_NAME, REA, CRP) + _file(DAT_NAME, kModeRead, CRP) #endif { debugC(1, kCGEDebugFile, "Dat::Dat()"); @@ -59,7 +59,7 @@ void VFile::init() { #ifdef VOL_UPD _cat = new BtFile(CAT_NAME, UPD, CRP); #else - _cat = new BtFile(CAT_NAME, REA, CRP); + _cat = new BtFile(CAT_NAME, kModeRead, CRP); #endif _recent = NULL; @@ -70,11 +70,11 @@ void VFile::deinit() { delete _cat; } -VFile::VFile(const char *name, IOMODE mode) +VFile::VFile(const char *name, IOMode mode) : IoBuf(mode) { debugC(3, kCGEDebugFile, "VFile::VFile(%s, %d)", name, mode); - if (mode == REA) { + if (mode == kModeRead) { if (_dat->_file._error || _cat->_error) error("Bad volume data"); BtKeypack *kp = _cat->find(name); diff --git a/engines/cge/vol.h b/engines/cge/vol.h index bbf3237721..e975cc34e6 100644 --- a/engines/cge/vol.h +++ b/engines/cge/vol.h @@ -74,7 +74,7 @@ private: void writeBuf() { } void make(const char *fspec); public: - VFile(const char *name, IOMODE mode = REA); + VFile(const char *name, IOMode mode = kModeRead); ~VFile(); static void init(); diff --git a/engines/cge/walk.cpp b/engines/cge/walk.cpp index 2568a51df0..f9c542ec92 100644 --- a/engines/cge/walk.cpp +++ b/engines/cge/walk.cpp @@ -136,7 +136,7 @@ void WALK::tick() { else { signed char x; // dummy var _here.split(x, _z); // take current Z position - SNPOST_(SNZTRIM, -1, 0, this); // update Hero's pos in show queue + _snail_->addCom(kSnZTrim, -1, 0, this); // update Hero's pos in show queue } } @@ -233,10 +233,10 @@ void WALK::reach(Sprite *spr, int mode) { } } // note: insert SNAIL commands in reverse order - SNINSERT(SNPAUSE, -1, 64, NULL); - SNINSERT(SNSEQ, -1, kTSeq + mode, this); + _snail->insCom(kSnPause, -1, 64, NULL); + _snail->insCom(kSnSeq, -1, kTSeq + mode, this); if (spr) { - SNINSERT(SNWAIT, -1, -1, _hero); /////--------$$$$$$$ + _snail->insCom(kSnWait, -1, -1, _hero); /////--------$$$$$$$ //SNINSERT(SNWALK, -1, -1, spr); } // sequence is not finished, |