aboutsummaryrefslogtreecommitdiff
path: root/engines/dm/dm.h
diff options
context:
space:
mode:
Diffstat (limited to 'engines/dm/dm.h')
-rw-r--r--engines/dm/dm.h17
1 files changed, 15 insertions, 2 deletions
diff --git a/engines/dm/dm.h b/engines/dm/dm.h
index dce88f17f8..dfc7b4c01c 100644
--- a/engines/dm/dm.h
+++ b/engines/dm/dm.h
@@ -31,6 +31,8 @@
#include "common/random.h"
#include "engines/engine.h"
#include "gui/debugger.h"
+#include "common/savefile.h"
+#include "common/str.h"
namespace DM {
@@ -41,7 +43,6 @@ class DungeonMan;
class EventManager;
class MenuMan;
class ChampionMan;
-class LoadsaveMan;
class ObjectMan;
class InventoryMan;
class TextMan;
@@ -50,6 +51,7 @@ class GroupMan;
class Timeline;
class ProjExpl;
+
void warning(bool repeat, const char *s, ...);
enum direction {
@@ -177,6 +179,11 @@ inline T f26_getBoundedValue(T min, T val, T max) {
#define k99_modeWaitingOnEntrance 99 // @ C099_MODE_WAITING_ON_ENTRANCE
#define k202_modeEntranceDrawCredits 202 // @ C202_MODE_ENTRANCE_DRAW_CREDITS
+enum LoadgameResponse {
+ kM1_LoadgameFailure = -1, // @ CM1_LOAD_GAME_FAILURE
+ k1_LoadgameSuccess = 1// @ C01_LOAD_GAME_SUCCESS
+};
+
class DMEngine : public Engine {
void f462_startGame(); // @ F0462_START_StartGame_CPSF
void f3_processNewPartyMap(uint16 mapIndex); // @ F0003_MAIN_ProcessNewPartyMap_CPSE
@@ -184,6 +191,8 @@ class DMEngine : public Engine {
void f448_initMemoryManager(); // @ F0448_STARTUP1_InitializeMemoryManager_CPSADEF
void f2_gameloop(); // @ F0002_MAIN_GameLoop_CPSDF
void initArrays();
+ Common::String getSavefileName(uint16 slot);
+ void writeSaveGameHeader(Common::OutSaveFile *out, const Common::String &saveName);
public:
explicit DMEngine(OSystem *syst);
~DMEngine();
@@ -195,8 +204,13 @@ public:
int16 M0_indexToOrdinal(int16 val); // @ M00_INDEX_TO_ORDINAL
void f19_displayErrorAndStop(int16 errorIndex); // @ F0019_MAIN_DisplayErrorAndStop
virtual Common::Error run(); // @ main
+ void f433_processCommand140_saveGame(uint16 slot, const Common::String desc); // @ F0433_STARTEND_ProcessCommand140_SaveGame_CPSCDF
+ LoadgameResponse f435_loadgame(); // @ F0435_STARTEND_LoadGame_CPSF
private:
+ int16 _g528_saveFormat; // @ G0528_i_Format
+ int16 _g527_platform; // @ G0527_i_Platform
+ uint16 _g526_dungeonId; // @ G0526_ui_DungeonID
Console *_console;
public:
Common::RandomSource *_rnd;
@@ -205,7 +219,6 @@ public:
EventManager *_eventMan;
MenuMan *_menuMan;
ChampionMan *_championMan;
- LoadsaveMan *_loadsaveMan;
ObjectMan *_objectMan;
InventoryMan *_inventoryMan;
TextMan *_textMan;