30 #ifndef MACVENTURE_MACVENTURE_H 31 #define MACVENTURE_MACVENTURE_H 33 #include "engines/engine.h" 34 #include "common/scummsys.h" 35 #include "common/system.h" 36 #include "common/debug.h" 37 #include "common/random.h" 39 #include "common/compression/huffman.h" 40 #include "common/savefile.h" 42 #include "gui/debugger.h" 44 #include "macventure/debug.h" 45 #include "macventure/gui.h" 46 #include "macventure/world.h" 47 #include "macventure/hufflists.h" 48 #include "macventure/stringtable.h" 49 #include "macventure/script.h" 50 #include "macventure/controls.h" 51 #include "macventure/windows.h" 52 #include "macventure/sound.h" 58 class SaveFileManager;
74 kGlobalSettingsID = 0x80,
75 kDiplomaGeometryID = 0x81,
76 kTextHuffmanTableID = 0x83
80 kSaveGameStrID = 0x82,
81 kDiplomaFilenameID = 0x83,
82 kClickToContinueTextID = 0x84,
83 kStartGameFilenameID = 0x85
111 uint16 _numAttributes;
142 kSetToPlayerParent = 12,
143 kHightlightExits = 13,
176 kSoundPlayAndWait = 2,
195 bool scummVMSaveLoadDialog(
bool isSave);
201 void setInitialFlags();
202 void setNewGameState();
205 void resetInternals();
207 void refreshScreen();
210 void loadDataBundle();
214 void requestUnpause();
215 void selectControl(ControlAction action);
217 void preparedToRun();
221 void clickToContinue();
223 void updateState(
bool pause);
226 void enqueueObject(ObjectQueueID type, ObjID objID, ObjID target = 0);
227 void enqueueText(TextQueueID type, ObjID target, ObjID source, ObjID text);
228 void enqueueSound(SoundQueueID type, ObjID target);
232 void playSounds(
bool pause);
234 void handleObjectSelect(ObjID objID, WindowReference win,
bool shiftPressed,
bool isDoubleClick);
235 void handleObjectDrop(ObjID objID,
Common::Point delta, ObjID newParent);
237 void focusObjWin(ObjID objID);
238 void updateWindow(WindowReference winID);
240 bool showTextEntry(ObjID text, ObjID srcObj, ObjID destObj);
247 bool needsClickToContinue();
251 bool isOldText()
const;
253 uint32 randBetween(uint32 min, uint32 max);
254 uint32 getInvolvedObjects();
256 uint getPrefixNdx(ObjID obj);
262 bool isObjVisible(ObjID objID);
263 bool isObjClickable(ObjID objID);
264 bool isObjSelected(ObjID objID);
265 bool isObjExit(ObjID objID);
266 bool isHiddenExit(ObjID objID);
268 ObjID getParent(ObjID objID);
271 ControlAction referenceToAction(ControlType
id);
275 uint getOverlapPercent(ObjID one, ObjID other);
277 WindowReference getObjWindow(ObjID objID);
278 WindowReference findParentWindow(ObjID objID);
281 ObjID getDestObject();
282 ControlAction getSelectedControl();
285 void processEvents();
287 bool runScriptEngine();
289 void updateControls();
293 void selectObject(ObjID objID);
294 void unselectObject(ObjID objID);
295 void highlightExit(ObjID objID);
296 void selectPrimaryObject(ObjID objID);
300 void focusObjectWindow(ObjID objID);
301 void openObject(ObjID objID);
302 void closeObject(ObjID objID);
304 void reflectSwap(ObjID fromID, ObjID toID);
306 void zoomObject(ObjID objID);
308 bool isObjEnqueued(ObjID obj);
310 bool isGameRunning();
313 bool loadGlobalSettings();
314 bool loadTextHuffman();
316 const char *getGameFileName()
const;
340 GameState _gameState;
343 bool _oldTextEncoding;
344 bool _paused, _halted, _cmdReady, _prepared;
345 bool _haltedAtEnd, _haltedInSelection;
347 bool _clickToContinue;
356 ControlAction _selectedControl;
Definition: macresman.h:125
Definition: macventure.h:364
EngineFeature
Definition: engine.h:253
Definition: macventure.h:180
Definition: advancedDetector.h:163
Definition: debugger.h:41
Definition: macventure.h:98
Definition: macventure.h:147
Definition: archive.h:141
Definition: hufflists.h:36
Definition: macventure.h:185
Definition: container.h:38
Definition: stringtable.h:48
Definition: macventure.h:167