diff options
author | Bendegúz Nagy | 2016-06-18 19:42:05 +0200 |
---|---|---|
committer | Bendegúz Nagy | 2016-08-26 23:02:22 +0200 |
commit | 78d8a8d3c842cfa94b011cf318680d4ad3e71bd0 (patch) | |
tree | 9b7d6afd9717dfbeb2672c1ae3a538f6b22b5987 | |
parent | bcbb3e447f5037d4026ad5bed6d7a34eaa378e46 (diff) | |
download | scummvm-rg350-78d8a8d3c842cfa94b011cf318680d4ad3e71bd0.tar.gz scummvm-rg350-78d8a8d3c842cfa94b011cf318680d4ad3e71bd0.tar.bz2 scummvm-rg350-78d8a8d3c842cfa94b011cf318680d4ad3e71bd0.zip |
DM: Add several global variables, add code to F0462_START_StartGame_CPSF
-rw-r--r-- | engines/dm/champion.h | 2 | ||||
-rw-r--r-- | engines/dm/dm.cpp | 24 | ||||
-rw-r--r-- | engines/dm/dm.h | 5 | ||||
-rw-r--r-- | engines/dm/eventman.h | 3 | ||||
-rw-r--r-- | engines/dm/gfx.h | 2 | ||||
-rw-r--r-- | engines/dm/menus.h | 1 |
6 files changed, 34 insertions, 3 deletions
diff --git a/engines/dm/champion.h b/engines/dm/champion.h index 5844760c05..2dda3de06a 100644 --- a/engines/dm/champion.h +++ b/engines/dm/champion.h @@ -256,6 +256,8 @@ public: Thing _leaderHand; // @ G0414_T_LeaderHandObject ChampionIndex _leaderIndex; // @ G0411_i_LeaderIndex uint16 _candidateChampionOrdinal; // @ G0299_ui_CandidateChampionOrdinal + bool _partyIsSleeping; // @ G0300_B_PartyIsSleeping + uint16 _actingChampionOrdinal; // @ G0506_ui_ActingChampionOrdinal ChampionMan(DMEngine *vm); }; diff --git a/engines/dm/dm.cpp b/engines/dm/dm.cpp index 2ff815cadb..a669154ea3 100644 --- a/engines/dm/dm.cpp +++ b/engines/dm/dm.cpp @@ -94,17 +94,37 @@ void DMEngine::initializeGame() { void DMEngine::startGame() { + _pressingEye = false; + _stopPressingEye = false; + _pressingMouth = false; + _stopPressingMouth = false; + _highlightBoxInversionRequested = false; + _eventMan->_highlightBoxEnabled = false; + _championMan->_partyIsSleeping = false; + _championMan->_actingChampionOrdinal = indexToOrdinal(kChampionNone); + _menuMan->_actionAreaContainsIcons = true; + _eventMan->_useChampionIconOrdinalAsMousePointerBitmap = indexToOrdinal(kChampionNone); + _eventMan->_primaryMouseInput = gPrimaryMouseInput_Interface; _eventMan->_secondaryMouseInput = gSecondaryMouseInput_Movement; + warning("MISSING CODE: set primary/secondary keyboard input"); + + // MISSING CODE: F0003_MAIN_ProcessNewPartyMap_CPSE // TODO:(next 2 lines) move to F0003_MAIN_ProcessNewPartyMap_CPSE _dungeonMan->setCurrentMapAndPartyMap(0); _displayMan->loadCurrentMapGraphics(); + if (!_dungeonMan->_messages._newGame) { + // MISSING CODE: loading game + } { + _displayMan->_useByteBoxCoordinates = false; + // MISSING CODE: clear screen + } + // MISSING CODE: build copper _menuMan->drawMovementArrows(); + warning("MISSING CODE: F0278_CHAMPION_ResetDataToStartGame"); _gameTimeTicking = true; - - // MISSING CODE: Lot of stuff } Common::Error DMEngine::run() { diff --git a/engines/dm/dm.h b/engines/dm/dm.h index 888e6313be..468390dd2b 100644 --- a/engines/dm/dm.h +++ b/engines/dm/dm.h @@ -102,6 +102,11 @@ public: bool _gameTimeTicking; // @ G0301_B_GameTimeTicking bool _restartGameAllowed; // @ G0524_B_RestartGameAllowed uint32 _gameId; // @ G0525_l_GameID, probably useless here + bool _pressingEye; // @ G0331_B_PressingEye + bool _stopPressingEye; // @ G0332_B_StopPressingEye + bool _pressingMouth; // @ G0333_B_PressingMouth + bool _stopPressingMouth; // @ G0334_B_StopPressingMouth + bool _highlightBoxInversionRequested; // @ G0340_B_HighlightBoxInversionRequested }; class Console : public GUI::Debugger { diff --git a/engines/dm/eventman.h b/engines/dm/eventman.h index cdf0f06291..b2834e813e 100644 --- a/engines/dm/eventman.h +++ b/engines/dm/eventman.h @@ -199,7 +199,8 @@ class EventManager { public: MouseInput* _primaryMouseInput;// @ G0441_ps_PrimaryMouseInput MouseInput* _secondaryMouseInput;// @ G0442_ps_SecondaryMouseInput - + bool _highlightBoxEnabled; // @ G0341_B_HighlightBoxEnabled + uint16 _useChampionIconOrdinalAsMousePointerBitmap; // @ G0599_ui_UseChampionIconOrdinalAsMousePointerBitmap EventManager(DMEngine *vm); void initMouse(); void showMouse(bool visibility); diff --git a/engines/dm/gfx.h b/engines/dm/gfx.h index 3283175086..86a152af9c 100644 --- a/engines/dm/gfx.h +++ b/engines/dm/gfx.h @@ -304,6 +304,8 @@ public: int16 _currMapViAltarIndex; // @ G0266_i_CurrentMapViAltarWallOrnamentIndex Thing _inscriptionThing; // @ G0290_T_DungeonView_InscriptionThing + + bool _useByteBoxCoordinates; // @ G0578_B_UseByteBoxCoordinates }; } diff --git a/engines/dm/menus.h b/engines/dm/menus.h index c1ceddd8ab..6006d7a210 100644 --- a/engines/dm/menus.h +++ b/engines/dm/menus.h @@ -9,6 +9,7 @@ class MenuMan { DMEngine *_vm; public: bool _shouldRefreshActionArea; // @ G0508_B_RefreshActionArea + bool _actionAreaContainsIcons; // @ G0509_B_ActionAreaContainsIcons MenuMan(DMEngine *vm); void drawMovementArrows(); |