22 #ifndef BLADERUNNER_SCRIPT_H 23 #define BLADERUNNER_SCRIPT_H 25 #include "bladerunner/bladerunner.h" 26 #include "bladerunner/game_constants.h" 28 #include "common/str.h" 32 class BladeRunnerEngine;
45 void Preload(
int animationId);
46 void Actor_Put_In_Set(
int actorId,
int set);
47 void Actor_Set_At_XYZ(
int actorId,
float x,
float y,
float z,
int direction);
48 void Actor_Set_At_Waypoint(
int actorId,
int waypointId,
int angle);
49 bool Region_Check(
int left,
int top,
int right,
int down);
50 bool Object_Query_Click(
const char *objectName1,
const char *objectName2);
51 void Object_Do_Ground_Click();
52 bool Object_Mark_For_Hot_Mouse(
const char *objectName);
53 void Actor_Face_Actor(
int actorId,
int otherActorId,
bool animate);
54 void Actor_Face_Object(
int actorId,
const char *objectName,
bool animate);
55 void Actor_Face_Item(
int actorId,
int itemId,
bool animate);
56 void Actor_Face_Waypoint(
int actorId,
int waypointId,
bool animate);
57 void Actor_Face_XYZ(
int actorId,
float x,
float y,
float z,
bool animate);
58 void Actor_Face_Current_Camera(
int actorId,
bool animate);
59 void Actor_Face_Heading(
int actorId,
int heading,
bool animate);
60 int Actor_Query_Friendliness_To_Other(
int actorId,
int otherActorId);
61 void Actor_Modify_Friendliness_To_Other(
int actorId,
int otherActorId,
signed int change);
62 void Actor_Set_Friendliness_To_Other(
int actorId,
int otherActorId,
int friendliness);
63 void Actor_Set_Honesty(
int actorId,
int honesty);
64 void Actor_Set_Intelligence(
int actorId,
int intelligence);
65 void Actor_Set_Stability(
int actorId,
int stability);
66 void Actor_Set_Combat_Aggressiveness(
int actorId,
int combatAggressiveness);
67 int Actor_Query_Current_HP(
int actorId);
68 int Actor_Query_Max_HP(
int actorId);
69 int Actor_Query_Combat_Aggressiveness(
int actorId);
70 int Actor_Query_Honesty(
int actorId);
71 int Actor_Query_Intelligence(
int actorId);
72 int Actor_Query_Stability(
int actorId);
73 void Actor_Modify_Current_HP(
int actorId,
signed int change);
74 void Actor_Modify_Max_HP(
int actorId,
signed int change);
75 void Actor_Modify_Combat_Aggressiveness(
int actorId,
signed int change);
76 void Actor_Modify_Honesty(
int actorId,
signed int change);
77 void Actor_Modify_Intelligence(
int actorId,
signed int change);
78 void Actor_Modify_Stability(
int actorId,
signed int change);
79 void Actor_Set_Flag_Damage_Anim_If_Moving(
int actorId,
bool value);
80 bool Actor_Query_Flag_Damage_Anim_If_Moving(
int actorId);
81 void Actor_Combat_AI_Hit_Attempt(
int actorId);
82 void Non_Player_Actor_Combat_Mode_On(
int actorId,
int initialState,
bool rangedAttack,
int enemyId,
int waypointType,
int animationModeCombatIdle,
int animationModeCombatWalk,
int animationModeCombatRun,
int fleeRatio,
int coverRatio,
int attackRatio,
int damage,
int range,
bool unstoppable);
83 void Non_Player_Actor_Combat_Mode_Off(
int actorId);
84 void Actor_Set_Health(
int actorId,
int hp,
int maxHp);
85 void Actor_Set_Targetable(
int actorId,
bool targetable);
86 void Actor_Says(
int actorId,
int sentenceId,
int animationMode);
87 void Actor_Says_With_Pause(
int actorId,
int sentenceId,
float pause,
int animationMode);
88 void Actor_Voice_Over(
int sentenceId,
int actorId);
89 void Actor_Start_Speech_Sample(
int actorId,
int sentenceId);
90 void Actor_Start_Voice_Over_Sample(
int sentenceId);
91 int Actor_Query_Which_Set_In(
int actorId);
92 bool Actor_Query_Is_In_Current_Set(
int actorId);
93 bool Actor_Query_In_Set(
int actorId,
int setId);
94 int Actor_Query_Inch_Distance_From_Actor(
int actorId,
int otherActorId);
95 int Actor_Query_Inch_Distance_From_Waypoint(
int actorId,
int waypointId);
96 bool Actor_Query_In_Between_Two_Actors(
int actorId,
int otherActor1Id,
int otherActor2Id);
97 void Actor_Set_Goal_Number(
int actorId,
int goalNumber);
98 int Actor_Query_Goal_Number(
int actorId);
99 void Actor_Query_XYZ(
int actorId,
float *x,
float *y,
float *z);
100 int Actor_Query_Facing_1024(
int actorId);
101 void Actor_Set_Frame_Rate_FPS(
int actorId,
int fps);
102 int Slice_Animation_Query_Number_Of_Frames(
int animationId);
103 void Actor_Change_Animation_Mode(
int actorId,
int animationMode);
104 int Actor_Query_Animation_Mode(
int actorId);
105 bool Loop_Actor_Walk_To_Actor(
int actorId,
int otherActorId,
int proximity,
bool interruptible,
bool run);
106 bool Loop_Actor_Walk_To_Item(
int actorId,
int itemId,
int proximity,
bool interruptible,
bool run);
107 bool Loop_Actor_Walk_To_Scene_Object(
int actorId,
const char *objectName,
int proximity,
bool interruptible,
bool run);
108 bool Loop_Actor_Walk_To_Waypoint(
int actorId,
int waypointId,
int proximity,
bool interruptible,
bool run);
109 bool Loop_Actor_Walk_To_XYZ(
int actorId,
float x,
float y,
float z,
int proximity,
bool interruptible,
bool run,
bool force);
110 void Async_Actor_Walk_To_Waypoint(
int actorId,
int waypointId,
int proximity,
bool run);
111 void Async_Actor_Walk_To_XYZ(
int actorId,
float x,
float y,
float z,
int proximity,
bool run);
112 void Actor_Force_Stop_Walking(
int actorId);
113 void Loop_Actor_Travel_Stairs(
int actorId,
int stepCount,
bool up,
int animationModeEnd);
114 void Loop_Actor_Travel_Ladder(
int actorId,
int stepCount,
bool up,
int animationModeEnd);
115 void Actor_Clue_Add_To_Database(
int actorId,
int clueId,
int weight,
bool clueAcquired,
bool unknownFlag,
int fromActorId);
116 void Actor_Clue_Acquire(
int actorId,
int clueId,
bool unknownFlag,
int fromActorId);
117 void Actor_Clue_Lose(
int actorId,
int clueId);
118 bool Actor_Clue_Query(
int actorId,
int clueId);
119 bool Actor_Clues_Transfer_New_To_Mainframe(
int actorId);
120 bool Actor_Clues_Transfer_New_From_Mainframe(
int actorId);
121 void Actor_Set_Invisible(
int actorId,
bool isInvisible);
122 void Actor_Set_Immunity_To_Obstacles(
int actorId,
bool isImmune);
123 void Item_Add_To_World(
int itemId,
int animationId,
int setId,
float x,
float y,
float z,
signed int facing,
int height,
int width,
bool isTargetable,
bool isObstacle,
bool isPoliceMazeEnemy,
bool updateOnly);
124 #if !BLADERUNNER_ORIGINAL_BUGS 125 void Item_Remove_From_Current_Scene(
int itemId);
126 #endif // !BLADERUNNER_ORIGINAL_BUGS 127 void Item_Remove_From_World(
int itemId);
128 void Item_Spin_In_World(
int itemId);
129 void Item_Flag_As_Target(
int itemId);
130 void Item_Flag_As_Non_Target(
int itemId);
131 void Item_Pickup_Spin_Effect(
int animationId,
int x,
int y);
132 void Item_Pickup_Spin_Effect_From_Actor(
int animationId,
int actorId,
int xOffset = 0,
int yOffset = 0);
133 bool Item_Query_Visible(
int itemId);
134 void Set_Subtitle_Text_On_Screen(
int subtitlesRole,
Common::String displayText);
135 #if BLADERUNNER_ORIGINAL_BUGS 137 void Screen_Effect_Skip(
int effectInc,
bool forceExtraSceneFrameSkip);
138 void Screen_Effect_Restore(
int effectInc,
bool forceExtraSceneFrameSkip);
139 void Screen_Effect_Restore_All(
bool forceExtraSceneFrameSkip);
140 #endif // BLADERUNNER_ORIGINAL_BUGS 141 int Animation_Open();
142 int Animation_Close();
143 int Animation_Start();
144 int Animation_Stop();
145 int Animation_Skip_To_Frame();
146 void Delay(uint32 miliseconds);
147 bool Player_Has_Control();
148 void Player_Loses_Control();
149 void Player_Gains_Control();
150 void Player_Set_Combat_Mode(
bool activate);
151 bool Player_Query_Combat_Mode();
152 void Player_Set_Combat_Mode_Access(
bool enable);
153 int Player_Query_Current_Set();
154 int Player_Query_Current_Scene();
155 int Player_Query_Agenda();
156 void Player_Set_Agenda(
int agenda);
157 int Query_Difficulty_Level();
158 void Game_Flag_Set(
int flag);
159 void Game_Flag_Reset(
int flag);
160 bool Game_Flag_Query(
int flag);
161 void Set_Enter(
int setId,
int sceneId);
162 void Chapter_Enter(
int chapter,
int setId,
int sceneId);
163 int Global_Variable_Set(
int,
int);
164 int Global_Variable_Reset(
int);
165 int Global_Variable_Query(
int);
166 int Global_Variable_Increment(
int,
int);
167 int Global_Variable_Decrement(
int,
int);
168 int Random_Query(
int min,
int max);
169 void Sound_Play(
int id,
int volume,
int panStart,
int panEnd,
int priority);
170 void Sound_Play_Speech_Line(
int actorId,
int sentenceId,
int volume,
int a4,
int priority);
171 void Sound_Left_Footstep_Walk(
int actorId);
172 void Sound_Right_Footstep_Walk(
int actorId);
173 void Sound_Left_Footstep_Run(
int actorId);
174 void Sound_Right_Footstep_Run(
int actorId);
176 void Footstep_Sounds_Set(
int index,
int value);
177 void Footstep_Sound_Override_On(
int footstepSoundOverride);
178 void Footstep_Sound_Override_Off();
179 bool Music_Play(
int musicId,
int volume,
int pan, int32 timeFadeInSeconds, int32 timePlaySeconds,
int loop, int32 timeFadeOutSeconds);
180 void Music_Adjust(
int volume,
int pan, uint32 delaySeconds);
181 void Music_Stop(uint32 delaySeconds);
182 bool Music_Is_Playing();
183 void Overlay_Play(
const char *overlay,
int loopId,
bool loopForever,
bool startNow,
int a5);
184 void Overlay_Remove(
const char *overlay);
185 void Scene_Loop_Set_Default(
int loopId);
186 void Scene_Loop_Start_Special(
int sceneLoopMode,
int loopId,
bool immediately);
187 void Outtake_Play(
int id,
int noLocalization =
false,
int container = -1);
188 void Ambient_Sounds_Add_Sound(
int sfxId, uint32 delayMinSeconds, uint32 delayMaxSeconds,
int volumeMin,
int volumeMax,
int panStartMin,
int panStartMax,
int panEndMin,
int panEndMax,
int priority,
int unk);
189 void Ambient_Sounds_Remove_Sound(
int sfxId,
bool stopPlaying);
190 void Ambient_Sounds_Add_Speech_Sound(
int actorId,
int sentenceId, uint32 delayMinSeconds, uint32 delayMaxSeconds,
int volumeMin,
int volumeMax,
int panStartMin,
int panStartMax,
int panEndMin,
int panEndMax,
int priority,
int unk);
192 void Ambient_Sounds_Play_Sound(
int sfxId,
int volume,
int panStart,
int panEnd,
int priority);
193 void Ambient_Sounds_Play_Speech_Sound(
int actorId,
int sfxId,
int volume,
int panStart,
int panEnd,
int priority);
194 void Ambient_Sounds_Remove_All_Non_Looping_Sounds(
bool stopPlaying);
195 void Ambient_Sounds_Add_Looping_Sound(
int sfxId,
int volume,
int pan, uint32 delaySeconds);
196 void Ambient_Sounds_Adjust_Looping_Sound(
int sfxId,
int volume,
int pan, uint32 delaySeconds);
197 void Ambient_Sounds_Remove_Looping_Sound(
int sfxId, uint32 delaySeconds);
198 void Ambient_Sounds_Remove_All_Looping_Sounds(uint32 delaySeconds);
199 void Setup_Scene_Information(
float actorX,
float actorY,
float actorZ,
int actorFacing);
200 bool Dialogue_Menu_Appear(
int x,
int y);
201 bool Dialogue_Menu_Disappear();
202 bool Dialogue_Menu_Clear_List();
203 bool Dialogue_Menu_Add_To_List(
int answer);
204 bool Dialogue_Menu_Add_DONE_To_List(
int answer);
205 bool Dialogue_Menu_Add_To_List_Never_Repeat_Once_Selected(
int answer);
206 bool DM_Add_To_List(
int answer,
int priorityPolite,
int priorityNormal,
int prioritySurly);
207 bool DM_Add_To_List_Never_Repeat_Once_Selected(
int answer,
int priorityPolite,
int priorityNormal,
int prioritySurly);
208 bool Dialogue_Menu_Clear_Never_Repeat_Was_Selected_Flag(
int answer);
209 bool Dialogue_Menu_Remove_From_List(
int answer);
210 int Dialogue_Menu_Query_Input();
211 int Dialogue_Menu_Query_List_Size();
212 void Scene_Exit_Add_2D_Exit(
int index,
int left,
int top,
int right,
int down,
int type);
213 void Scene_Exit_Remove(
int index);
214 void Scene_Exits_Disable();
215 void Scene_Exits_Enable();
216 void Scene_2D_Region_Add(
int index,
int left,
int top,
int right,
int down);
217 void Scene_2D_Region_Remove(
int index);
218 void World_Waypoint_Set(
int waypointId,
int setId,
float x,
float y,
float z);
220 float World_Waypoint_Query_X(
int waypointId);
221 float World_Waypoint_Query_Y(
int waypointId);
222 float World_Waypoint_Query_Z(
int waypointId);
223 void Combat_Cover_Waypoint_Set_Data(
int coverWaypointId,
int a2,
int setId,
int a4,
float x,
float y,
float z);
224 void Combat_Flee_Waypoint_Set_Data(
int fleeWaypointId,
int a2,
int setId,
int a4,
float x,
float y,
float z,
int a8);
225 void Police_Maze_Target_Track_Add(
int itemId,
float startX,
float startY,
float startZ,
float endX,
float endY,
float endZ,
int steps,
const int* instructions,
bool isActive);
226 int Police_Maze_Query_Score();
227 void Police_Maze_Zero_Score();
228 void Police_Maze_Increment_Score(
int delta);
229 void Police_Maze_Decrement_Score(
int delta);
230 void Police_Maze_Set_Score(
int value);
231 void Police_Maze_Set_Pause_State(
bool state);
232 void CDB_Set_Crime(
int clueId,
int crimeId);
233 void CDB_Set_Clue_Asset_Type(
int clueId,
int assetType);
234 void SDB_Set_Actor(
int suspectId,
int actorId);
235 bool SDB_Add_Photo_Clue(
int suspectId,
int clueId,
int shapeId);
236 void SDB_Set_Name(
int suspectId);
237 void SDB_Set_Sex(
int suspectId,
int sex);
238 bool SDB_Add_Identity_Clue(
int suspectId,
int clueId);
239 bool SDB_Add_MO_Clue(
int suspectId,
int clueId);
240 bool SDB_Add_Whereabouts_Clue(
int suspectId,
int clueId);
241 bool SDB_Add_Replicant_Clue(
int suspectId,
int clueId);
242 bool SDB_Add_Non_Replicant_Clue(
int suspectId,
int clueId);
243 bool SDB_Add_Other_Clue(
int suspectId,
int clueId);
244 void Spinner_Set_Selectable_Destination_Flag(
int destination,
bool selectable);
246 int Spinner_Interface_Choose_Dest(
int loopId,
bool immediately);
247 void ESPER_Flag_To_Activate();
248 void Voight_Kampff_Activate(
int actorId,
int calibrationRatio);
249 int Elevator_Activate(
int elevatorId);
250 void View_Score_Board();
251 int Query_Score(
int a0);
252 void Set_Score(
int a0,
int a1);
253 void Give_McCoy_Ammo(
int ammoType,
int ammo);
254 void Assign_Player_Gun_Hit_Sounds(
int ammoType,
int soundId1,
int soundId2,
int soundId3);
255 void Assign_Player_Gun_Miss_Sounds(
int ammoType,
int soundId1,
int soundId2,
int soundId3);
256 void Disable_Shadows(
int animationsIdsList[],
int listSize);
257 bool Query_System_Currently_Loading_Game();
258 void Actor_Retired_Here(
int actorId,
int width,
int height,
bool retired,
int retiredByActorId);
259 void Clickable_Object(
const char *objectName);
260 void Unclickable_Object(
const char *objectName);
261 void Obstacle_Object(
const char *objectName,
bool updateWalkpath);
262 void Unobstacle_Object(
const char *objectName,
bool updateWalkpath);
263 void Obstacle_Flag_All_Objects(
bool isObstacle);
264 void Combat_Target_Object(
const char *objectName);
265 void Un_Combat_Target_Object(
const char *objectName);
266 void Set_Fade_Color(
float r,
float g,
float b);
267 void Set_Fade_Density(
float density);
268 void Set_Fog_Color(
const char *fogName,
float r,
float g,
float b);
269 void Set_Fog_Density(
const char *fogName,
float density);
271 void ADQ_Add(
int actorId,
int sentenceId,
int animationMode);
272 void ADQ_Add_Pause(int32 delayMillis);
273 void ADQ_Wait_For_All_Queued_Dialogue();
275 void Autosave_Game(
int textId);
276 void I_Sez(
const char *str);
277 void Add_Subtitle_To_Queue(
Common::String dbgQuote, uint32 duration);
278 void Clear_Subtitle_Queue();
280 void AI_Countdown_Timer_Start(
int actorId,
signed int timer, int32 seconds);
281 void AI_Countdown_Timer_Reset(
int actorId,
int timer);
282 void AI_Movement_Track_Unpause(
int actorId);
283 void AI_Movement_Track_Pause(
int actorId);
284 void AI_Movement_Track_Repeat(
int actorId);
285 void AI_Movement_Track_Append_Run_With_Facing(
int actorId,
int waypointId, int32 delay,
int angle);
286 void AI_Movement_Track_Append_With_Facing(
int actorId,
int waypointId, int32 delay,
int angle);
287 void AI_Movement_Track_Append_Run(
int actorId,
int waypointId, int32 delay);
288 void AI_Movement_Track_Append(
int actorId,
int waypointId, int32 delay);
289 void AI_Movement_Track_Flush(
int actorId);
291 void ESPER_Add_Photo(
const char *name,
int photoId,
int shapeId);
292 void ESPER_Define_Special_Region(
int regionId,
int innerLeft,
int innerTop,
int innerRight,
int innerBottom,
int outerLeft,
int outerTop,
int outerRight,
int outerBottom,
int selectionLeft,
int selectionTop,
int selectionRight,
int selectionBottom,
const char *name);
294 void KIA_Play_Actor_Dialogue(
int actorId,
int sentenceId);
295 void KIA_Play_Slice_Model(
int sliceModelId);
296 void KIA_Play_Photograph(
int photographId);
298 void VK_Play_Speech_Line(
int actorId,
int sentenceId,
float pauseDuration);
299 void VK_Add_Question(
int intensity,
int sentenceId,
int relatedSentenceId);
300 void VK_Subject_Reacts(
int intensity,
int humanResponse,
int replicantResponse,
int anxiety);
301 void VK_Eye_Animates(
int loopId);
Definition: scene_script.h:526
Definition: bladerunner.h:113