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/managed_surface.h" 35 #include "engines/engine.h" 36 #include "ngi/console.h" 45 kDebugPathfinding = 1,
72 #define MAXGAMEOBJH 10000 74 struct NGIGameDescription;
77 class BehaviorManager;
78 class BaseModalObject;
81 class InputController;
89 class GlobalMessageQueueList;
90 struct MessageHandler;
98 class StaticANIObject;
109 memset(pal, 0, 256 * 4);
114 memcpy(pal, src.pal, 256 * 4);
120 int global_messageHandler1(
ExCommand *cmd);
121 int global_messageHandler2(
ExCommand *cmd);
122 int global_messageHandler3(
ExCommand *cmd);
123 int global_messageHandler4(
ExCommand *cmd);
124 void global_messageHandler_handleSound(
ExCommand *cmd);
140 void setMusicAllowed(
int val) { _musicAllowed = val; }
144 uint32 getFeatures()
const;
147 const char *getGameId()
const;
148 int getGameGID()
const;
152 Common::KeyCode _keyState;
162 bool loadGam(
const char *fname,
int scene = 0);
167 GameVar *getGameLoaderGameVar();
170 int _gameProjectVersion;
176 bool _flgGameIsRunning;
179 bool _mainMenu_debugEnabled;
184 Scene *_currentScene;
197 int _currentCheatPos;
199 void defHandleKeyDown(
int key);
202 int _currSoundListCount;
207 bool _sceneTrackHasSequence;
212 int _trackStartDelay;
214 bool _sceneTrackIsPlaying;
216 void stopAllSounds();
218 void playSound(
int id,
int flag);
219 void playTrack(
GameVar *sceneVar,
const char *name,
bool delayed);
221 void updateTrackDelay();
222 void startSceneTrack();
225 void stopSoundStream2();
226 void stopAllSoundStreams();
227 void stopAllSoundInstances(
int id);
228 void updateSoundVolume();
229 void setMusicVolume(
int vol);
243 bool _isProcessingMessages;
258 void deleteModalObject();
262 void updateMapPiece(
int mapId,
int update);
265 void freeGameLoader();
274 void enableSaves() { _isSaveAllowed =
true; }
276 bool isSaveAllowed();
278 void initObjectStates();
279 void setLevelStates();
280 void setSwallowedEggsState();
281 void loadAllScenes();
284 void addCursor(
CursorInfo *cursorInfo,
Scene *inv,
int pictureId,
int hotspotX,
int hotspotY,
int itemPictureOffsX,
int itemPictureOffsY);
286 int32 _mapTable[200];
288 Scene *_inventoryScene;
290 int _currSelectedInventoryItemId;
293 int32 _lastInputTicks;
294 int32 _lastButtonUpTicks;
298 int (*_updateScreenCallback)();
299 int (*_updateCursorCallback)();
301 void drawAlphaRectangle(
int x1,
int y1,
int x2,
int y2,
int alpha);
302 void sceneFade(
Scene *sc,
bool direction);
309 int _objectIdAtCursor;
311 void setCursor(
int id);
312 void updateCursorCommon();
316 int getObjectEnumState(
const Common::String &name,
const char *state);
318 void sceneAutoScrolling();
320 Scene *accessScene(
int sceneId);
321 void setSceneMusicParameters(
GameVar *var);
322 int convertScene(
int scene);
323 int getSceneEntrance(
int scene);
324 int getSceneFromTag(
int tag);
336 int _arcadeOverlayMidX;
337 int _arcadeOverlayMidY;
339 void initArcadeKeys(
const char *varname);
342 void setArcadeOverlay(
int picId);
343 int drawArcadeOverlay(
int adjust);
345 void getAllInventory();
354 int lift_getButtonIdP(
int objid);
355 int lift_getButtonIdH(
int objid);
356 int lift_getButtonIdN(
int objid);
357 void lift_setButton(
const char *name,
int state);
358 void lift_init(
Scene *sc,
int qu1,
int qu2);
359 void lift_setButtonStatics(
Scene *sc,
int buttonId);
361 void lift_closedoorSeq();
362 void lift_clickButton();
363 void lift_walkAndGo();
364 void lift_goAnimation();
366 void lift_startExitQueue();
368 bool lift_checkButton(
const char *varname);
369 void lift_openLift();
377 bool _stream2playing;
379 GameObjHMap _gameObjH;
Definition: managed_surface.h:51
Definition: messages.h:177
bool canSaveGameStateCurrently(Common::U32String *msg=nullptr) override
Definition: ngi.h:390
EngineFeature
Definition: engine.h:260
Definition: detection.h:34
Definition: interaction.h:90
Definition: gameloader.h:64
Definition: inventory.h:82
Definition: ngiarchive.h:45
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:389
Definition: statics.h:172
Definition: messages.h:59
Definition: anihandler.h:25
Language
Definition: language.h:45