22 #ifndef ILLUSIONS_BBDOU_BBDOU_SPECIALCODE_H 23 #define ILLUSIONS_BBDOU_BBDOU_SPECIALCODE_H 25 #include "illusions/specialcode.h" 26 #include "illusions/thread.h" 27 #include "common/hashmap.h" 31 class IllusionsEngine_BBDOU;
42 class BbdouSpecialCode;
55 uint32 verbId, uint32 objectId2, uint32 objectId);
56 void onNotify()
override;
57 void onTerminated()
override;
60 uint32 _cursorObjectId;
75 uint32 callingThreadId, uint32 cursorObjectId);
76 int onUpdate()
override;
77 void addZone(uint32 threadId);
80 uint32 _cursorObjectId;
100 void setObjectInteractMode(uint32 objectId,
int value);
101 int getObjectInteractMode(uint32 objectId);
110 void init()
override;
111 void run(uint32 specialCodeId,
OpCall &opCall)
override;
112 void resetBeforeResumeSavegame()
override;
115 typedef Map::iterator MapIterator;
126 uint32 _saladObjectIds[12];
130 uint _shooterObjectIdIndex;
137 void spcInitCursor(
OpCall &opCall);
138 void spcEnableCursor(
OpCall &opCall);
139 void spcDisableCursor(
OpCall &opCall);
140 void spcAddCursorSequence(
OpCall &opCall);
141 void spcCursorStartHoldingObjectId(
OpCall &opCall);
142 void spcCursorStopHoldingObjectId(
OpCall &opCall);
143 void spcSetCursorState(
OpCall &opCall);
144 void spcInitBubble(
OpCall &opCall);
145 void spcSetupBubble(
OpCall &opCall);
146 void spcSetObjectInteractMode(
OpCall &opCall);
147 void spcInitInventory(
OpCall &opCall);
148 void spcClearInventory(
OpCall &opCall);
149 void spcRegisterInventoryBag(
OpCall &opCall);
150 void spcRegisterInventorySlot(
OpCall &opCall);
151 void spcRegisterInventoryItem(
OpCall &opCall);
152 void spcOpenInventory(
OpCall &opCall);
153 void spcAddInventoryItem(
OpCall &opCall);
154 void spcRemoveInventoryItem(
OpCall &opCall);
155 void spcHasInventoryItem(
OpCall &opCall);
156 void spcCloseInventory(
OpCall &opCall);
157 void spcInitConversation(
OpCall &opCall);
158 void spcClearConversation(
OpCall &opCall);
159 void spcClearBlockCounter(
OpCall &opCall);
160 void spcResetCursor(
OpCall &opCall);
161 void spcSetCursorField90(
OpCall &opCall);
162 void spcFoodCtl(
OpCall &opCall);
163 void spcTestFoodCtl(
OpCall &opCall);
164 void spcInitMenu(
OpCall &opCall);
165 void spcIsCursorHoldingObjectId(
OpCall &opCall);
166 void spcInitRadarMicrophone(
OpCall &opCall);
167 void spcCreditsCtl(
OpCall &opCall);
168 void spcSaladCtl(
OpCall &opCall);
169 void spcRunCause(
OpCall &opCall);
171 void playSoundEffect(
int soundIndex);
172 void hideVerbBubble(uint32 objectId,
VerbState *verbState);
173 void startHoldingObjectId(uint32 objectId1, uint32 holdingObjectId,
bool doPlaySound);
174 void stopHoldingObjectId(uint32 objectId1,
bool doPlaySound);
175 bool isHoldingObjectId(uint32 objectId);
179 bool testInteractModeRange(
int value);
180 void setCursorControlRoutine(uint32 objectId,
int num);
182 void showBubble(uint32 objectId, uint32 overlappedObjectId, uint32 holdingObjectId,
183 VerbState *verbState, uint32 progResKeywordId);
184 bool findVerbId(
VerbState *verbState, uint32 currOverlappedObjectId,
int always0, uint32 &outVerbId);
185 void cursorInteractControlRoutine(
Control *cursorControl, uint32 deltaTime);
186 void cursorCrosshairControlRoutine(
Control *cursorControl, uint32 deltaTime);
187 bool testVerbId(uint32 verbId, uint32 holdingObjectId, uint32 overlappedObjectId);
188 bool getCause(uint32 sceneId, uint32 verbId, uint32 objectId2, uint32 objectId,
189 uint32 &outVerbId, uint32 &outObjectId2, uint32 &outObjectId);
191 uint32 verbId, uint32 objectId2, uint32 objectId,
int soundIndex);
192 uint32 startCauseThread(uint32 cursorObjectId, uint32 sceneId, uint32 verbId, uint32 objectId2, uint32 objectId);
195 void addSalad(uint32 sequenceId);
197 bool getShooterCause(uint32 sceneId, uint32 verbId, uint32 objectId2, uint32 objectId,
198 uint32 &outSceneId, uint32 &outVerbId, uint32 &outObjectId2, uint32 &outObjectId);
203 #endif // ILLUSIONS_BBDOU_BBDOU_SPECIALCODE_H Definition: bbdou_credits.h:41
Definition: bbdou_specialcode.h:44
Definition: bbdou_cursor.h:44
Definition: bbdou_specialcode.h:97
Definition: bbdou_specialcode.h:72
Definition: bbdou_specialcode.h:67
Definition: bbdou_foodctl.h:40
Definition: illusions_bbdou.h:60
Definition: specialcode.h:44
Definition: bbdou_inventory.h:75
Definition: bbdou_cursor.h:33
Definition: bbdou_specialcode.h:51
Definition: bbdou_bubble.h:53
Definition: bbdou_specialcode.h:91
Definition: bbdou_specialcode.h:86
Definition: bbdou_cursor.h:73
Definition: scriptopcodes.h:32
Definition: bbdou_specialcode.h:106