22 #ifndef TEENAGENT_TEENAGENT_H 23 #define TEENAGENT_TEENAGENT_H 25 #include "engines/engine.h" 27 #include "audio/mixer.h" 29 #include "common/random.h" 30 #include "common/array.h" 32 #include "gui/debugger.h" 34 #include "teenagent/console.h" 35 #include "teenagent/dialog.h" 67 kDebugActor = (1 << 0),
68 kDebugAnimation = (1 << 1),
69 kDebugCallbacks = (1 << 2),
70 kDebugDialog = (1 << 3),
71 kDebugFont = (1 << 4),
72 kDebugInventory = (1 << 5),
73 kDebugMusic = (1 << 6),
74 kDebugObject = (1 << 7),
75 kDebugPack = (1 << 8),
76 kDebugScene = (1 << 9),
77 kDebugSurface = (1 << 10)
80 const uint16 kScreenWidth = 320;
81 const uint16 kScreenHeight = 200;
98 enum Action { kActionNone, kActionExamine, kActionUse };
102 inline void cancel() { _action = kActionNone; }
104 bool processCallback(uint16 addr);
105 inline Scene *getScene() {
return scene; }
109 bool showMetropolis();
110 int skipEvents()
const;
115 void displayMessage(uint16 addr, byte color = textColorMark, uint16 x = 0, uint16 y = 0);
116 void displayMessage(
const Common::String &str, byte color = textColorMark, uint16 x = 0, uint16 y = 0);
117 void displayAsyncMessage(uint16 addr, uint16 x, uint16 y, uint16 firstFrame, uint16 lastFrame, byte color = textColorMark);
118 void displayAsyncMessageInSlot(uint16 addr, byte slot, uint16 firstFrame, uint16 lastFrame, byte color = textColorMark);
119 void displayCredits(uint16 addr, uint16 timer = 0);
120 void displayCutsceneMessage(uint16 addr, uint16 x, uint16 y);
121 void moveTo(
const Common::Point &dst, byte o,
bool warp =
false);
122 void moveTo(uint16 x, uint16 y, byte o,
bool warp =
false);
124 void moveRel(int16 x, int16 y, byte o,
bool warp =
false);
125 void playActorAnimation(uint16
id,
bool async =
false,
bool ignore =
false);
126 void playAnimation(uint16
id, byte slot,
bool async =
false,
bool ignore =
false,
bool loop =
false);
127 void loadScene(byte
id,
const Common::Point &pos, byte o = 0);
128 void loadScene(byte
id, uint16 x, uint16 y, byte o = 0);
129 void enableOn(
bool enable =
true);
130 void setOns(byte
id, byte value, byte sceneId = 0);
131 void setLan(byte
id, byte value, byte sceneId = 0);
132 void setFlag(uint16 addr, byte value);
133 byte getFlag(uint16 addr);
135 void rejectMessage();
137 void playMusic(byte
id);
138 void playSound(byte
id, byte skipFrames);
139 void playSoundNow(
Pack *pack, byte
id);
140 void enableObject(byte
id, byte sceneId = 0);
141 void disableObject(byte
id, byte sceneId = 0);
144 void waitAnimation();
145 void waitLanAnimationFrame(byte slot, uint16 frame);
146 void setTimerCallback(uint16 addr, uint16 frames);
148 void displayCredits();
151 void wait(uint16 frames);
161 void setMusic(byte
id);
164 void processObject();
165 bool trySelectedObject();
175 uint _markDelay, _gameDelay;
180 void fnPoleClimbFail();
182 void fnGetOutOfLake();
183 void fnGuardDrinking();
184 void fnEgoDefaultPosition();
186 void fnEgoScaredBySpider();
187 void fnMoveToLadderAndLeaveCellar();
188 void fnLeaveCellar();
189 void fnPutRockInHole();
190 void fnEgoBottomRightTurn();
191 bool fnCheckingDrawers();
192 void fnDrawerOpenMessage();
193 bool fnRobotSafeAlreadyUnlockedCheck();
194 void fnRobotSafeUnlockCheck();
195 bool fnMansionIntrusionAttempt();
196 void fnSecondMansionIntrusion();
197 void fnThirdMansionIntrusion();
198 void fnFourthMansionIntrusion();
199 void fnFifthMansionIntrusion();
200 void fnSixthMansionIntrusion();
203 void fnEgoSuspiciousPosition();
204 void fnGivingFlowerToOldLady();
205 void fnGiveAnotherFlowerToOldLady();
206 void fnGivingFlowerToAnne();
207 void fnGiveAnotherFlowerToAnne();
EngineFeature
Definition: engine.h:253
bool canSaveGameStateCurrently(Common::U32String *msg=nullptr) override
Definition: teenagent.h:93
Definition: advancedDetector.h:163
Definition: teenagent.h:83
Definition: display_client.h:58
Definition: objects.h:158
Definition: resources.h:1163
Definition: algorithm.h:29
Definition: audiostream.h:50
bool canLoadGameStateCurrently(Common::U32String *msg=nullptr) override
Definition: teenagent.h:92
Definition: inventory.h:139