22 #ifndef NGI_FULLPIPE_H 23 #define NGI_FULLPIPE_H 25 #include "audio/mixer.h" 26 #include "common/scummsys.h" 27 #include "common/events.h" 28 #include "common/keyboard.h" 29 #include "common/ptr.h" 30 #include "common/random.h" 31 #include "common/savefile.h" 32 #include "common/system.h" 33 #include "graphics/surface.h" 35 #include "engines/engine.h" 36 #include "ngi/console.h" 45 kDebugPathfinding = 1 << 0,
46 kDebugDrawing = 1 << 1,
47 kDebugLoading = 1 << 2,
48 kDebugAnimation = 1 << 3,
49 kDebugMemory = 1 << 4,
50 kDebugEvents = 1 << 5,
51 kDebugBehavior = 1 << 6,
52 kDebugInventory = 1 << 7,
53 kDebugSceneLogic = 1 << 8,
54 kDebugInteractions = 1 << 9,
58 #define MAXGAMEOBJH 10000 60 struct NGIGameDescription;
63 class BehaviorManager;
64 class BaseModalObject;
67 class InputController;
75 class GlobalMessageQueueList;
76 struct MessageHandler;
84 class StaticANIObject;
95 memset(pal, 0, 256 * 4);
100 memcpy(pal, src.pal, 256 * 4);
106 int global_messageHandler1(
ExCommand *cmd);
107 int global_messageHandler2(
ExCommand *cmd);
108 int global_messageHandler3(
ExCommand *cmd);
109 int global_messageHandler4(
ExCommand *cmd);
110 void global_messageHandler_handleSound(
ExCommand *cmd);
126 void setMusicAllowed(
int val) { _musicAllowed = val; }
130 uint32 getFeatures()
const;
133 const char *getGameId()
const;
134 int getGameGID()
const;
138 Common::KeyCode _keyState;
148 bool loadGam(
const char *fname,
int scene = 0);
153 GameVar *getGameLoaderGameVar();
156 int _gameProjectVersion;
162 bool _flgGameIsRunning;
165 bool _mainMenu_debugEnabled;
170 Scene *_currentScene;
183 int _currentCheatPos;
185 void defHandleKeyDown(
int key);
188 int _currSoundListCount;
193 bool _sceneTrackHasSequence;
198 int _trackStartDelay;
200 bool _sceneTrackIsPlaying;
202 void stopAllSounds();
204 void playSound(
int id,
int flag);
205 void playTrack(
GameVar *sceneVar,
const char *name,
bool delayed);
207 void updateTrackDelay();
208 void startSceneTrack();
211 void stopSoundStream2();
212 void stopAllSoundStreams();
213 void stopAllSoundInstances(
int id);
214 void updateSoundVolume();
215 void setMusicVolume(
int vol);
229 bool _isProcessingMessages;
244 void deleteModalObject();
248 void updateMapPiece(
int mapId,
int update);
251 void freeGameLoader();
260 void enableSaves() { _isSaveAllowed =
true; }
262 bool isSaveAllowed();
264 void initObjectStates();
265 void setLevelStates();
266 void setSwallowedEggsState();
267 void loadAllScenes();
270 void addCursor(
CursorInfo *cursorInfo,
Scene *inv,
int pictureId,
int hotspotX,
int hotspotY,
int itemPictureOffsX,
int itemPictureOffsY);
272 int32 _mapTable[200];
274 Scene *_inventoryScene;
276 int _currSelectedInventoryItemId;
279 int32 _lastInputTicks;
280 int32 _lastButtonUpTicks;
284 int (*_updateScreenCallback)();
285 int (*_updateCursorCallback)();
287 void drawAlphaRectangle(
int x1,
int y1,
int x2,
int y2,
int alpha);
288 void sceneFade(
Scene *sc,
bool direction);
295 int _objectIdAtCursor;
297 void setCursor(
int id);
298 void updateCursorCommon();
302 int getObjectEnumState(
const Common::String &name,
const char *state);
304 void sceneAutoScrolling();
306 Scene *accessScene(
int sceneId);
307 void setSceneMusicParameters(
GameVar *var);
308 int convertScene(
int scene);
309 int getSceneEntrance(
int scene);
310 int getSceneFromTag(
int tag);
322 int _arcadeOverlayMidX;
323 int _arcadeOverlayMidY;
325 void initArcadeKeys(
const char *varname);
328 void setArcadeOverlay(
int picId);
329 int drawArcadeOverlay(
int adjust);
331 void getAllInventory();
340 int lift_getButtonIdP(
int objid);
341 int lift_getButtonIdH(
int objid);
342 int lift_getButtonIdN(
int objid);
343 void lift_setButton(
const char *name,
int state);
344 void lift_init(
Scene *sc,
int qu1,
int qu2);
345 void lift_setButtonStatics(
Scene *sc,
int buttonId);
347 void lift_closedoorSeq();
348 void lift_clickButton();
349 void lift_walkAndGo();
350 void lift_goAnimation();
352 void lift_startExitQueue();
354 bool lift_checkButton(
const char *varname);
355 void lift_openLift();
363 bool _stream2playing;
365 GameObjHMap _gameObjH;
Definition: messages.h:177
bool canSaveGameStateCurrently(Common::U32String *msg=nullptr) override
Definition: ngi.h:376
EngineFeature
Definition: engine.h:253
Definition: detection.h:34
Definition: interaction.h:90
Definition: gameloader.h:64
Definition: inventory.h:82
Definition: ngiarchive.h:44
Out copy(In first, In last, Out dst)
Definition: algorithm.h:52
Definition: messages.h:108
bool canLoadGameStateCurrently(Common::U32String *msg=nullptr) override
Definition: ngi.h:375
Definition: statics.h:172
Definition: messages.h:59
Definition: anihandler.h:25
Language
Definition: language.h:45