diff options
author | Strangerke | 2011-09-17 17:27:05 +0200 |
---|---|---|
committer | Strangerke | 2011-09-17 17:27:05 +0200 |
commit | d574cfe272e80c08387333a56ffe9955130f276b (patch) | |
tree | 56af8769a3018ddeba39a20a12dcf4b2a2800a81 | |
parent | 3583c949f253330dbf4c53a66b74e764de9ea156 (diff) | |
download | scummvm-rg350-d574cfe272e80c08387333a56ffe9955130f276b.tar.gz scummvm-rg350-d574cfe272e80c08387333a56ffe9955130f276b.tar.bz2 scummvm-rg350-d574cfe272e80c08387333a56ffe9955130f276b.zip |
CGE: Move _talk and _text to CGEEngine
-rw-r--r-- | engines/cge/cge.cpp | 1 | ||||
-rw-r--r-- | engines/cge/cge.h | 5 | ||||
-rw-r--r-- | engines/cge/cge_main.cpp | 4 | ||||
-rw-r--r-- | engines/cge/events.h | 2 | ||||
-rw-r--r-- | engines/cge/snail.cpp | 10 | ||||
-rw-r--r-- | engines/cge/text.cpp | 25 | ||||
-rw-r--r-- | engines/cge/text.h | 2 |
7 files changed, 24 insertions, 25 deletions
diff --git a/engines/cge/cge.cpp b/engines/cge/cge.cpp index f1b69a0ecd..b8ccbc8638 100644 --- a/engines/cge/cge.cpp +++ b/engines/cge/cge.cpp @@ -90,6 +90,7 @@ void CGEEngine::init() { // Initialise engine objects _font = new Font(this, "CGE"); _text = new Text(this, "CGE"); + _talk = NULL; _vga = new Vga(); _sys = new System(this); _pocLight = new PocLight(this); diff --git a/engines/cge/cge.h b/engines/cge/cge.h index 1d7ad69009..5731f8f37e 100644 --- a/engines/cge/cge.h +++ b/engines/cge/cge.h @@ -52,6 +52,8 @@ class Snail; class EventManager; class ResourceManager; class Walk; +class Text; +class Talk; #define kSavegameVersion 2 #define kSavegameStrSize 11 @@ -189,6 +191,9 @@ public: ResourceManager *_resman; Sprite *_pocket[kPocketNX]; Walk *_hero; + Text *_text; + Talk *_talk; + Common::RandomSource _randomSource; MusicPlayer *_midiPlayer; diff --git a/engines/cge/cge_main.cpp b/engines/cge/cge_main.cpp index 4666181906..9a33e35a08 100644 --- a/engines/cge/cge_main.cpp +++ b/engines/cge/cge_main.cpp @@ -745,7 +745,7 @@ void System::setPal() { void System::funTouch() { uint16 n = (_vm->_flag[0]) ? kHeroFun1 : kHeroFun0; // PAIN flag - if (_talk == NULL || n > _funDel) + if (_vm->_talk == NULL || n > _funDel) _funDel = n; } @@ -814,7 +814,7 @@ void System::touch(uint16 mask, int x, int y) { _vm->setMapBrick(x1, z1); } } else { - if (!_talk && _vm->_snail->idle() && _vm->_hero + if (!_vm->_talk && _vm->_snail->idle() && _vm->_hero && y >= kMapTop && y < kMapTop + kMapHig && !_vm->_game) { _vm->_hero->findWay(_vm->XZ(x, y)); } diff --git a/engines/cge/events.h b/engines/cge/events.h index 26678a5ae2..a4cdfed793 100644 --- a/engines/cge/events.h +++ b/engines/cge/events.h @@ -102,8 +102,6 @@ public: /*----------------- MOUSE interface -----------------*/ -extern Talk *_talk; - struct CGEEvent { uint16 _mask; uint16 _x; diff --git a/engines/cge/snail.cpp b/engines/cge/snail.cpp index 3c85f4abdb..d4993c9998 100644 --- a/engines/cge/snail.cpp +++ b/engines/cge/snail.cpp @@ -960,7 +960,7 @@ void Snail::runCom() { _textDelay = false; } } - if (_talk && snc->_com != kSnPause) + if (_vm->_talk && snc->_com != kSnPause) break; } @@ -970,7 +970,7 @@ void Snail::runCom() { break; case kSnPause : _timerExpiry = g_system->getMillis() + snc->_val * kSnailFrameDelay; - if (_talk) + if (_vm->_talk) _textDelay = true; break; case kSnWait: @@ -994,13 +994,13 @@ void Snail::runCom() { if (spr && _talkEnable) { if (spr == _vm->_hero && spr->seqTest(-1)) spr->step(kSeqHTalk); - _text->say(_text->getText(snc->_val), spr); + _vm->_text->say(_vm->_text->getText(snc->_val), spr); _vm->_sys->_funDel = kHeroFun0; } break; case kSnInf: if (_talkEnable) { - _vm->inf(_text->getText(snc->_val)); + _vm->inf(_vm->_text->getText(snc->_val)); _vm->_sys->_funDel = kHeroFun0; } break; @@ -1008,7 +1008,7 @@ void Snail::runCom() { if (spr && _talkEnable) { if (spr == _vm->_hero && spr->seqTest(-1)) spr->step(kSeqHTalk); - _text->sayTime(spr); + _vm->_text->sayTime(spr); } break; case kSnCave: diff --git a/engines/cge/text.cpp b/engines/cge/text.cpp index 2b14db9276..e5a1520bd2 100644 --- a/engines/cge/text.cpp +++ b/engines/cge/text.cpp @@ -35,9 +35,6 @@ namespace CGE { -Text *_text; -Talk *_talk = NULL; - Text::Text(CGEEngine *vm, const char *fname) : _vm(vm) { _vm->mergeExt(_fileName, fname, kSayExt); if (!_vm->_resman->exist(_fileName)) @@ -138,8 +135,8 @@ char *Text::getText(int ref) { void Text::say(const char *text, Sprite *spr) { _vm->killText(); - _talk = new Talk(_vm, text, kTBRound); - if (!_talk) + _vm->_talk = new Talk(_vm, text, kTBRound); + if (!_vm->_talk) return; bool east = spr->_flags._east; @@ -159,22 +156,22 @@ void Text::say(const char *text, Sprite *spr) { if (spr->_ref == 1) x += ((east) ? -10 : 10); // Hero - _talk->_flags._kill = true; - _talk->_flags._bDel = true; - _talk->setName(_text->getText(kSayName)); - _talk->gotoxy(x - (_talk->_w - sw) / 2 - 3 + 6 * east, y - spike->_h - _talk->_h + 1); - _talk->_z = 125; - _talk->_ref = kSayRef; + _vm->_talk->_flags._kill = true; + _vm->_talk->_flags._bDel = true; + _vm->_talk->setName(_vm->_text->getText(kSayName)); + _vm->_talk->gotoxy(x - (_vm->_talk->_w - sw) / 2 - 3 + 6 * east, y - spike->_h - _vm->_talk->_h + 1); + _vm->_talk->_z = 125; + _vm->_talk->_ref = kSayRef; - spike->gotoxy(x, _talk->_y + _talk->_h - 1); + spike->gotoxy(x, _vm->_talk->_y + _vm->_talk->_h - 1); spike->_z = 126; spike->_flags._slav = true; spike->_flags._kill = true; - spike->setName(_text->getText(kSayName)); + spike->setName(_vm->_text->getText(kSayName)); spike->step(east); spike->_ref = kSayRef; - _vm->_vga->_showQ->insert(_talk, _vm->_vga->_showQ->last()); + _vm->_vga->_showQ->insert(_vm->_talk, _vm->_vga->_showQ->last()); _vm->_vga->_showQ->insert(spike, _vm->_vga->_showQ->last()); } diff --git a/engines/cge/text.h b/engines/cge/text.h index 5acdaaa519..13ce6bbfbb 100644 --- a/engines/cge/text.h +++ b/engines/cge/text.h @@ -61,8 +61,6 @@ private: CGEEngine *_vm; }; -extern Text *_text; - } // End of namespace CGE #endif |