aboutsummaryrefslogtreecommitdiff
path: root/engines
diff options
context:
space:
mode:
Diffstat (limited to 'engines')
-rw-r--r--engines/dm/dm.cpp13
-rw-r--r--engines/dm/dm.h1
2 files changed, 10 insertions, 4 deletions
diff --git a/engines/dm/dm.cpp b/engines/dm/dm.cpp
index a669154ea3..d8eb3b817e 100644
--- a/engines/dm/dm.cpp
+++ b/engines/dm/dm.cpp
@@ -109,10 +109,7 @@ void DMEngine::startGame() {
_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();
+ processNewPartyMap(_dungeonMan->_currMap._currPartyMapIndex);
if (!_dungeonMan->_messages._newGame) {
// MISSING CODE: loading game
@@ -127,6 +124,14 @@ void DMEngine::startGame() {
_gameTimeTicking = true;
}
+void DMEngine::processNewPartyMap(uint16 mapIndex) {
+ warning("MISSING CODE: F0194_GROUP_RemoveAllActiveGroups");
+ _dungeonMan->setCurrentMapAndPartyMap(mapIndex);
+ _displayMan->loadCurrentMapGraphics();
+ warning("MISSING CODE: F0195_GROUP_AddAllActiveGroups");
+ warning("MISSING CODE: F0337_INVENTORY_SetDungeonViewPalette");
+}
+
Common::Error DMEngine::run() {
// scummvm/engine specific
initGraphics(320, 200, false);
diff --git a/engines/dm/dm.h b/engines/dm/dm.h
index 468390dd2b..a900b863bf 100644
--- a/engines/dm/dm.h
+++ b/engines/dm/dm.h
@@ -80,6 +80,7 @@ enum {
class DMEngine : public Engine {
void startGame(); // @ F0462_START_StartGame_CPSF
+ void processNewPartyMap(uint16 mapIndex); // @ F0003_MAIN_ProcessNewPartyMap_CPSE
public:
DMEngine(OSystem *syst);
~DMEngine();