diff options
author | Paul Gilbert | 2012-09-22 19:54:30 +1000 |
---|---|---|
committer | Paul Gilbert | 2012-09-22 19:54:30 +1000 |
commit | 1597aff3c7e39fd7c6b0acf6ae4d2a9cffbef460 (patch) | |
tree | 28a3da9a644105247876ed36a125000a5f0c78dd /engines/hopkins | |
parent | 2876790a086c6c6daa2b9c9afb3d11247aab406e (diff) | |
download | scummvm-rg350-1597aff3c7e39fd7c6b0acf6ae4d2a9cffbef460.tar.gz scummvm-rg350-1597aff3c7e39fd7c6b0acf6ae4d2a9cffbef460.tar.bz2 scummvm-rg350-1597aff3c7e39fd7c6b0acf6ae4d2a9cffbef460.zip |
HOPKINS: Clean up of moving Txt array from Globals to FontManager
Diffstat (limited to 'engines/hopkins')
-rw-r--r-- | engines/hopkins/events.cpp | 1 | ||||
-rw-r--r-- | engines/hopkins/font.cpp | 15 | ||||
-rw-r--r-- | engines/hopkins/font.h | 12 | ||||
-rw-r--r-- | engines/hopkins/globals.cpp | 21 | ||||
-rw-r--r-- | engines/hopkins/globals.h | 22 | ||||
-rw-r--r-- | engines/hopkins/hopkins.cpp | 1 | ||||
-rw-r--r-- | engines/hopkins/menu.cpp | 30 | ||||
-rw-r--r-- | engines/hopkins/sound.cpp | 2 |
8 files changed, 58 insertions, 46 deletions
diff --git a/engines/hopkins/events.cpp b/engines/hopkins/events.cpp index e2f6c9df1f..531ae51456 100644 --- a/engines/hopkins/events.cpp +++ b/engines/hopkins/events.cpp @@ -218,6 +218,7 @@ void EventsManager::pollEvents() { case Common::EVENT_LBUTTONUP: case Common::EVENT_RBUTTONDOWN: case Common::EVENT_RBUTTONUP: + return; default: diff --git a/engines/hopkins/font.cpp b/engines/hopkins/font.cpp index fe4e9df46c..4a99dd357a 100644 --- a/engines/hopkins/font.cpp +++ b/engines/hopkins/font.cpp @@ -30,6 +30,21 @@ void FontManager::setParent(HopkinsEngine *vm) { _vm = vm; } +void FontManager::clearAll() { + for (int idx = 0; idx < 11; ++idx) { + Txt[idx].field0 = 0; + Txt[idx].field12 = 0; + Txt[idx].field3FC = 0; + Txt[idx].field3FE = 0; + Txt[idx].field400 = 0; + Txt[idx].field404 = 0; + Txt[idx].field406 = 0; + Txt[idx].field408 = 0; + + ListeTxt[idx].field0 = 0; + } +} + void FontManager::TEXTE_OFF(int idx) { warning("TODO: TEXTE_OFF"); } diff --git a/engines/hopkins/font.h b/engines/hopkins/font.h index 8cb86fbd9c..8402de0ba0 100644 --- a/engines/hopkins/font.h +++ b/engines/hopkins/font.h @@ -39,18 +39,30 @@ struct TxtItem { int fieldC; int fieldE; int field10; + int field12; int field3FC; int field3FE; + int field400; + int field404; + int field406; + int field408; int field40A; }; +struct ListeTxtItem { + int field0; +}; + + class FontManager { private: HopkinsEngine *_vm; public: TxtItem Txt[12]; + ListeTxtItem ListeTxt[11]; public: void setParent(HopkinsEngine *vm); + void clearAll(); void TEXTE_OFF(int idx); }; diff --git a/engines/hopkins/globals.cpp b/engines/hopkins/globals.cpp index 0a5bd707c1..fd4fa48a66 100644 --- a/engines/hopkins/globals.cpp +++ b/engines/hopkins/globals.cpp @@ -22,8 +22,10 @@ #include "common/textconsole.h" #include "hopkins/globals.h" -#include "hopkins/graphics.h" #include "hopkins/files.h" +#include "hopkins/font.h" +#include "hopkins/graphics.h" +#include "hopkins/hopkins.h" namespace Hopkins { @@ -144,6 +146,10 @@ Globals::~Globals() { free(PERSO); } +void Globals::setParent(HopkinsEngine *vm) { + _vm = vm; +} + void Globals::setConfig() { HOPIMAGE = "BUFFER"; HOPANIM = "ANIM"; @@ -189,18 +195,7 @@ void Globals::clearAll() { hauteur_boite = 0; largeur_boite = 0; - for (int idx = 0; idx < 11; ++idx) { - Txt[idx].field0 = 0; - Txt[idx].field12 = 0; - Txt[idx].field3FC = 0; - Txt[idx].field3FE = 0; - Txt[idx].field400 = 0; - Txt[idx].field404 = 0; - Txt[idx].field406 = 0; - Txt[idx].field408 = 0; - - ListeTxt[idx].field0 = 0; - } + _vm->_fontManager.clearAll(); INIT_VBOB(); ADR_FICHIER_OBJ = PTRNUL; diff --git a/engines/hopkins/globals.h b/engines/hopkins/globals.h index 18aca79f25..f018b187a2 100644 --- a/engines/hopkins/globals.h +++ b/engines/hopkins/globals.h @@ -28,21 +28,6 @@ namespace Hopkins { -struct TxtItem { - int field0; - int field12; - int field3FC; - int field3FE; - int field400; - int field404; - int field406; - int field408; -}; - -struct ListeTxtItem { - int field0; -}; - struct ZonePItem { int field0; int field2; @@ -156,10 +141,14 @@ struct BlocItem { int y2; }; +class HopkinsEngine; + /** * Engine Globals */ class Globals { +private: + HopkinsEngine *_vm; public: int FR; int SVGA; @@ -206,8 +195,6 @@ public: byte *ICONE; byte *BUF_ZONE; byte *CACHE_BANQUE[6]; - TxtItem Txt[11]; - ListeTxtItem ListeTxt[11]; ZonePItem ZoneP[105]; LigneItem Ligne[400]; LigneZoneItem LigneZone[400]; @@ -277,6 +264,7 @@ public: Globals(); ~Globals(); + void setParent(HopkinsEngine *vm); void setConfig(); void clearAll(); diff --git a/engines/hopkins/hopkins.cpp b/engines/hopkins/hopkins.cpp index e515329eb4..343f12b9d7 100644 --- a/engines/hopkins/hopkins.cpp +++ b/engines/hopkins/hopkins.cpp @@ -40,6 +40,7 @@ HopkinsEngine::HopkinsEngine(OSystem *syst, const HopkinsGameDescription *gameDe _animationManager.setParent(this); _eventsManager.setParent(this); _fontManager.setParent(this); + _globals.setParent(this); _graphicsManager.setParent(this); _menuManager.setParent(this); _objectsManager.setParent(this); diff --git a/engines/hopkins/menu.cpp b/engines/hopkins/menu.cpp index b204223757..950acc5ab1 100644 --- a/engines/hopkins/menu.cpp +++ b/engines/hopkins/menu.cpp @@ -38,7 +38,7 @@ void MenuManager::setParent(HopkinsEngine *vm) { int MenuManager::MENU() { byte *spriteData = NULL; - signed int v2; + signed int menuIndex; int v3; int v4; signed int v6; @@ -99,25 +99,25 @@ int MenuManager::MENU() { if (g_system->getEventManager()->shouldQuit()) return -1; - v2 = 0; + menuIndex = 0; v3 = _vm->_eventsManager.XMOUSE(); v4 = _vm->_eventsManager.YMOUSE(); - if ((unsigned int)(v3 - 232) <= 0xB0) { + if ((unsigned int)(v3 - 232) <= 176) { if ((unsigned int)(v4 - 261) <= 23) - v2 = 1; + menuIndex = 1; if ((unsigned int)(v4 - 293) <= 23) - v2 = 2; + menuIndex = 2; if ((unsigned int)(v4 - 325) <= 22) - v2 = 3; + menuIndex = 3; if ((unsigned int)(v4 - 356) <= 23) - v2 = 4; + menuIndex = 4; if ((unsigned int)(v4 - 388) <= 23) - v2 = 5; + menuIndex = 5; } - switch (v2) { + switch (menuIndex) { case 0: v11 = 0; v10 = 0; @@ -170,17 +170,17 @@ int MenuManager::MENU() { _vm->_graphicsManager.AFFICHE_SPEED(spriteData, 230, 386, v7 + 8); _vm->_graphicsManager.VBL(); - if (_vm->_eventsManager.BMOUSE() == 1 && v2 > 0) + if (_vm->_eventsManager.BMOUSE() == 1 && menuIndex > 0) v12 = 1; } while (v12 != 1); - if (v2 == 1) { + if (menuIndex == 1) { _vm->_graphicsManager.AFFICHE_SPEED(spriteData, 230, 259, 10); _vm->_graphicsManager.VBL(); _vm->_eventsManager.delay(200); v6 = 1; } - if (v2 != 2) + if (menuIndex != 2) break; _vm->_graphicsManager.AFFICHE_SPEED(spriteData, 230, 291, 11); @@ -197,7 +197,7 @@ int MenuManager::MENU() { _vm->_globals.SORTIE = 0; } - if (v2 != 3) + if (menuIndex != 3) break; _vm->_graphicsManager.AFFICHE_SPEED(spriteData, 230, 322, 12); @@ -206,7 +206,7 @@ int MenuManager::MENU() { CHOICE_OPTION(); } - if (v2 == 4) { + if (menuIndex == 4) { _vm->_graphicsManager.AFFICHE_SPEED(spriteData, 230, 354, 13); _vm->_graphicsManager.VBL(); _vm->_eventsManager.delay(200); @@ -214,7 +214,7 @@ int MenuManager::MENU() { continue; } - if ( v2 == 5 ) { + if ( menuIndex == 5 ) { _vm->_graphicsManager.AFFICHE_SPEED(spriteData, 230, 386, 14); _vm->_graphicsManager.VBL(); _vm->_eventsManager.delay(200); diff --git a/engines/hopkins/sound.cpp b/engines/hopkins/sound.cpp index 219797b190..ea19b8fba7 100644 --- a/engines/hopkins/sound.cpp +++ b/engines/hopkins/sound.cpp @@ -36,7 +36,7 @@ void SoundManager::WSOUND_INIT() { } void SoundManager::VERIF_SOUND() { - warning("TODO: VERIF_SOUND"); +// warning("TODO: VERIF_SOUND"); } void SoundManager::LOAD_ANM_SOUND() { |