22 #ifndef BLADERUNNER_SCRIPT_SCENE_H 23 #define BLADERUNNER_SCRIPT_SCENE_H 25 #include "bladerunner/script/script.h" 29 class BladeRunnerEngine;
35 virtual void InitializeScene() = 0;
36 virtual void SceneLoaded() = 0;
37 virtual bool MouseClick(
int x,
int y) = 0;
38 virtual bool ClickedOn3DObject(
const char *objectName,
bool combatMode) = 0;
39 virtual bool ClickedOnActor(
int actorId) = 0;
40 virtual bool ClickedOnItem(
int itemId,
bool combatMode) = 0;
41 virtual bool ClickedOnExit(
int exitId) = 0;
42 virtual bool ClickedOn2DRegion(
int region) = 0;
43 virtual void SceneFrameAdvanced(
int frame) = 0;
44 virtual void ActorChangedGoal(
int actorId,
int newGoal,
int oldGoal,
bool currentSet) = 0;
45 virtual void PlayerWalkedIn() = 0;
46 virtual void PlayerWalkedOut() = 0;
47 virtual void DialogueQueueFlushed(
int a1) = 0;
50 #define DECLARE_SCRIPT(name) \ 51 class SceneScript##name : public SceneScriptBase { \ 53 SceneScript##name(BladeRunnerEngine *vm) \ 54 : SceneScriptBase(vm) \ 56 void InitializeScene(); \ 58 bool MouseClick(int x, int y); \ 59 bool ClickedOn3DObject(const char *objectName, bool combatMode); \ 60 bool ClickedOnActor(int actorId); \ 61 bool ClickedOnItem(int itemId, bool combatMode); \ 62 bool ClickedOnExit(int exitId); \ 63 bool ClickedOn2DRegion(int region); \ 64 void SceneFrameAdvanced(int frame); \ 65 void ActorChangedGoal(int actorId, int newGoal, int oldGoal, bool currentSet); \ 66 void PlayerWalkedIn(); \ 67 void PlayerWalkedOut(); \ 68 void DialogueQueueFlushed(int a1); \ 73 void dialogueWithFishDealerBuyGoldfish();
77 void dialogueWithInsectDealer1();
78 void dialogueWithInsectDealerBuyBracelet();
79 void dialogueWithInsectDealerBuySlug();
80 void dialogueWithHassan();
81 void dialogueWithHassanBuySnake();
124 void dialogueWithHowieLee();
128 void dialogueWithZuben();
135 void dialogueWithHomeless();
173 void dialogueWithChew();
177 bool farEnoughFromExplosion();
187 void dialogueWithIzo();
188 void takePhotoAndRunAway();
198 void dialogueWithIsabella();
202 void dialogueWithMiaAndMurray();
203 void talkWithDektora();
211 void dialogueWithLucy();
218 void talkWithCrazyLegs1();
219 void talkWithCrazyLegs2();
220 void dialogueWithCrazylegs1();
221 void dialogueWithCrazylegs2();
222 void talkWithCrazylegs3(
int actorId);
223 void talkWithDektora();
226 void addAmbientSounds();
227 int getAffectionTowardsActor();
228 int getCompanionActor();
232 void steelInterruption();
233 void addAmbientSounds();
237 int getAffectionTowardsActor();
266 void talkWithRajif();
267 bool isPhoneRinging();
268 void selectNextTvNews();
274 bool isPhoneRinging();
275 bool isPhoneMessageWaiting();
276 void phoneCallWithDektora();
277 void phoneCallWithLucy();
278 void phoneCallWithSteele();
279 void phoneCallWithClovis();
286 bool isPhoneRinging();
290 bool isElevatorOnDifferentFloor();
291 void activateElevator();
304 void playNextMusic();
308 void rotateActorOnTable(
int frame);
309 void playNextMusic();
313 void dialogueWithEarlyQ();
314 void druggedEffect(
int frame);
315 void playNextMusic();
319 void rotateActorOnTable(
int frame);
320 void talkToBartender();
322 void rotateActorOnGround(
int actorId);
323 void playNextMusic();
327 void playNextMusic();
331 void dektoraRunAway();
333 void clickedOnVase();
334 void talkAboutBelt1();
335 void talkAboutBelt2();
336 void talkAboutVoightKampff();
337 void talkAboutSteele();
338 void talkAboutMoonbus();
339 void talkAboutBlackSedan();
340 void talkAboutScorpions();
344 void playNextMusic();
348 void playNextMusic();
355 void actorSweepArea(
int actorId,
signed int frame);
356 void untargetEverything();
363 void activateElevator();
370 void dialogueWithGuzza();
374 void selectNextTvNews();
387 void dialogueWithGrigorian();
391 void removeTargets();
393 static int getPoliceMazePS10TargetCount();
397 void removeTargets();
399 static int getPoliceMazePS11TargetCount();
403 void removeTargets();
405 static int getPoliceMazePS12TargetCount();
409 void removeTargets();
411 static int getPoliceMazePS13TargetCount();
421 void interrogateCrowd();
426 void dialogueWithRunciter();
430 void talkWithSteele();
434 void dialogueWithBulletBob();
441 void dialogueWithTyrellGuard();
442 void dialogueWithSteele();
455 void McCoyTalkWithRachaelAndTyrell();
472 int getAffectionTowardsActor();
497 void talkAboutGuzza();
498 void dialogueWithHomeless1();
499 void dialogueWithHomeless2();
509 void dialogueWithLuther();
516 void talkWithGuzza();
517 void talkWithClovis();
523 #undef DECLARE_SCRIPT 529 int _inScriptCounter;
541 void initializeScene();
543 bool mouseClick(
int x,
int y);
544 bool clickedOn3DObject(
const char *objectName,
bool combatMode);
545 bool clickedOnActor(
int actorId);
546 bool clickedOnItem(
int itemId,
bool combatMode);
547 bool clickedOnExit(
int exitId);
548 bool clickedOn2DRegion(
int region);
549 void sceneFrameAdvanced(
int frame);
550 void actorChangedGoal(
int actorId,
int newGoal,
int oldGoal,
bool currentSet);
551 void playerWalkedIn();
552 void playerWalkedOut();
553 void dialogueQueueFlushed(
int a1);
554 bool isInsideScript()
const {
return _inScriptCounter > 0; }
Definition: scene_script.h:526
Definition: scene_script.h:31
Definition: bladerunner.h:113