1 /*
2 ===========================================================================
3 Copyright (C) 2000 - 2013, Raven Software, Inc.
4 Copyright (C) 2001 - 2013, Activision, Inc.
5 Copyright (C) 2013 - 2015, OpenJK contributors
6 
7 This file is part of the OpenJK source code.
8 
9 OpenJK is free software; you can redistribute it and/or modify it
10 under the terms of the GNU General Public License version 2 as
11 published by the Free Software Foundation.
12 
13 This program is distributed in the hope that it will be useful,
14 but WITHOUT ANY WARRANTY; without even the implied warranty of
15 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
16 GNU General Public License for more details.
17 
18 You should have received a copy of the GNU General Public License
19 along with this program; if not, see <http://www.gnu.org/licenses/>.
20 ===========================================================================
21 */
22 
23 #pragma once
24 
25 //NOTENOTE: The enums and tables in this file will obviously bitch if they are included multiple times, don't do that
26 
27 typedef enum //# setType_e
28 {
29 	//# #sep Parm strings
30 	SET_PARM1 = 0,//## %s="" # Set entity parm1
31 	SET_PARM2,//## %s="" # Set entity parm2
32 	SET_PARM3,//## %s="" # Set entity parm3
33 	SET_PARM4,//## %s="" # Set entity parm4
34 	SET_PARM5,//## %s="" # Set entity parm5
35 	SET_PARM6,//## %s="" # Set entity parm6
36 	SET_PARM7,//## %s="" # Set entity parm7
37 	SET_PARM8,//## %s="" # Set entity parm8
38 	SET_PARM9,//## %s="" # Set entity parm9
39 	SET_PARM10,//## %s="" # Set entity parm10
40 	SET_PARM11,//## %s="" # Set entity parm11
41 	SET_PARM12,//## %s="" # Set entity parm12
42 	SET_PARM13,//## %s="" # Set entity parm13
43 	SET_PARM14,//## %s="" # Set entity parm14
44 	SET_PARM15,//## %s="" # Set entity parm15
45 	SET_PARM16,//## %s="" # Set entity parm16
46 
47 	// NOTE!!! If you add any other SET_xxxxxxSCRIPT types, make sure you update the 'case' statements in
48 	//	ICARUS_InterrogateScript() (game/g_ICARUS.cpp), or the script-precacher won't find them.
49 
50 	//# #sep Scripts and other file paths
51 	SET_SPAWNSCRIPT,//## %s="NULL" !!"W:\game\base\scripts\!!#*.txt" # Script to run when spawned //0 - do not change these, these are equal to BSET_SPAWN, etc
52 	SET_USESCRIPT,//## %s="NULL" !!"W:\game\base\scripts\!!#*.txt" # Script to run when used
53 	SET_AWAKESCRIPT,//## %s="NULL" !!"W:\game\base\scripts\!!#*.txt" # Script to run when startled
54 	SET_ANGERSCRIPT,//## %s="NULL" !!"W:\game\base\scripts\!!#*.txt" # Script run when find an enemy for the first time
55 	SET_ATTACKSCRIPT,//## %s="NULL" !!"W:\game\base\scripts\!!#*.txt" # Script to run when you shoot
56 	SET_VICTORYSCRIPT,//## %s="NULL" !!"W:\game\base\scripts\!!#*.txt" # Script to run when killed someone
57 	SET_LOSTENEMYSCRIPT,//## %s="NULL" !!"W:\game\base\scripts\!!#*.txt" # Script to run when you can't find your enemy
58 	SET_PAINSCRIPT,//## %s="NULL" !!"W:\game\base\scripts\!!#*.txt" # Script to run when hit
59 	SET_FLEESCRIPT,//## %s="NULL" !!"W:\game\base\scripts\!!#*.txt" # Script to run when hit and low health
60 	SET_DEATHSCRIPT,//## %s="NULL" !!"W:\game\base\scripts\!!#*.txt" # Script to run when killed
61 	SET_DELAYEDSCRIPT,//## %s="NULL" !!"W:\game\base\scripts\!!#*.txt" # Script to run after a delay
62 	SET_BLOCKEDSCRIPT,//## %s="NULL" !!"W:\game\base\scripts\!!#*.txt" # Script to run when blocked by teammate
63 	SET_FFIRESCRIPT,//## %s="NULL" !!"W:\game\base\scripts\!!#*.txt" # Script to run when player has shot own team repeatedly
64 	SET_FFDEATHSCRIPT,//## %s="NULL" !!"W:\game\base\scripts\!!#*.txt" # Script to run when player kills a teammate
65 	SET_MINDTRICKSCRIPT,//## %s="NULL" !!"W:\game\base\scripts\!!#*.txt" # Script to run when player kills a teammate
66 	SET_VIDEO_PLAY,//## %s="filename" !!"W:\game\base\video\!!#*.roq" # Play a video (inGame)
67 	SET_CINEMATIC_SKIPSCRIPT, //## %s="filename" !!"W:\game\base\scripts\!!#*.txt" # Script to run when skipping the running cinematic
68 
69 	//# #sep Standard strings
70 	SET_ENEMY,//## %s="NULL" # Set enemy by targetname
71 	SET_LEADER,//## %s="NULL" # Set for BS_FOLLOW_LEADER
72 	SET_NAVGOAL,//## %s="NULL" # *Move to this navgoal then continue script
73 	SET_CAPTURE,//## %s="NULL" # Set captureGoal by targetname
74 	SET_VIEWTARGET,//## %s="NULL" # Set angles toward ent by targetname
75 	SET_WATCHTARGET,//## %s="NULL" # Set angles toward ent by targetname, will *continue* to face them... only in BS_CINEMATIC
76 	SET_TARGETNAME,//## %s="NULL" # Set/change your targetname
77 	SET_PAINTARGET,//## %s="NULL" # Set/change what to use when hit
78 	SET_CAMERA_GROUP,//## %s="NULL" # all ents with this cameraGroup will be focused on
79 	SET_CAMERA_GROUP_TAG,//## %s="NULL" # What tag on all clients to try to track
80 	SET_LOOK_TARGET,//## %s="NULL" # object for NPC to look at
81 	SET_ADDRHANDBOLT_MODEL,			//## %s="NULL" # object to place on NPC right hand bolt
82 	SET_REMOVERHANDBOLT_MODEL,		//## %s="NULL" # object to remove from NPC right hand bolt
83 	SET_ADDLHANDBOLT_MODEL,			//## %s="NULL" # object to place on NPC left hand bolt
84 	SET_REMOVELHANDBOLT_MODEL,		//## %s="NULL" # object to remove from NPC left hand bolt
85 	SET_CAPTIONTEXTCOLOR,	//## %s=""  # Color of text RED,WHITE,BLUE, YELLOW
86 	SET_CENTERTEXTCOLOR,	//## %s=""  # Color of text RED,WHITE,BLUE, YELLOW
87 	SET_SCROLLTEXTCOLOR,	//## %s=""  # Color of text RED,WHITE,BLUE, YELLOW
88 	SET_COPY_ORIGIN,//## %s="targetname"  # Copy the origin of the ent with targetname to your origin
89 	SET_DEFEND_TARGET,//## %s="targetname"  # This NPC will attack the target NPC's enemies
90 	SET_TARGET,//## %s="NULL" # Set/change your target
91 	SET_TARGET2,//## %s="NULL" # Set/change your target2, on NPC's, this fires when they're knocked out by the red hypo
92 	SET_LOCATION,//## %s="INVALID" # What trigger_location you're in - Can only be gotten, not set!
93 	SET_REMOVE_TARGET,//## %s="NULL" # Target that is fired when someone completes the BS_REMOVE behaviorState
94 	SET_LOADGAME,//## %s="exitholodeck" # Load the savegame that was auto-saved when you started the holodeck
95 	SET_LOCKYAW,//## %s="off"  # Lock legs to a certain yaw angle (or "off" or "auto" uses current)
96 	SET_FULLNAME,//## %s="NULL" # This name will appear when ent is scanned by tricorder
97 	SET_VIEWENTITY,//## %s="NULL" # Make the player look through this ent's eyes - also shunts player movement control to this ent
98 	SET_LOOPSOUND,//## %s="FILENAME" !!"W:\game\base\!!#sound\*.*" # Looping sound to play on entity
99 	SET_ICARUS_FREEZE,//## %s="NULL" # Specify name of entity to freeze - !!!NOTE!!! since the ent is frozen, it cannot unfreeze itself, you must have some other entity unfreeze a frozen ent!!!
100 	SET_ICARUS_UNFREEZE,//## %s="NULL" # Specify name of entity to unfreeze - !!!NOTE!!! since the ent is frozen, it cannot unfreeze itself, you must have some other entity unfreeze a frozen ent!!!
101 
102 	SET_SCROLLTEXT,	//## %s="" # key of text string to print
103 	SET_LCARSTEXT,	//## %s="" # key of text string to print in LCARS frame
104 
105 	//# #sep vectors
106 	SET_ORIGIN,//## %v="0.0 0.0 0.0" # Set origin explicitly or with TAG
107 	SET_ANGLES,//## %v="0.0 0.0 0.0" # Set angles explicitly or with TAG
108 	SET_TELEPORT_DEST,//## %v="0.0 0.0 0.0" # Set origin here as soon as the area is clear
109 
110 	//# #sep floats
111 	SET_XVELOCITY,//## %f="0.0" # Velocity along X axis
112 	SET_YVELOCITY,//## %f="0.0" # Velocity along Y axis
113 	SET_ZVELOCITY,//## %f="0.0" # Velocity along Z axis
114 	SET_Z_OFFSET,//## %f="0.0" # Vertical offset from original origin... offset/ent's speed * 1000ms is duration
115 	SET_DPITCH,//## %f="0.0" # Pitch for NPC to turn to
116 	SET_DYAW,//## %f="0.0" # Yaw for NPC to turn to
117 	SET_TIMESCALE,//## %f="0.0" # Speed-up slow down game (0 - 1.0)
118 	SET_CAMERA_GROUP_Z_OFS,//## %s="NULL" # when following an ent with the camera, apply this z ofs
119 	SET_VISRANGE,//## %f="0.0" # How far away NPC can see
120 	SET_EARSHOT,//## %f="0.0" # How far an NPC can hear
121 	SET_VIGILANCE,//## %f="0.0" # How often to look for enemies (0 - 1.0)
122 	SET_GRAVITY,//## %f="0.0" # Change this ent's gravity - 800 default
123 	SET_FACEAUX,		//## %f="0.0" # Set face to Aux expression for number of seconds
124 	SET_FACEBLINK,		//## %f="0.0" # Set face to Blink expression for number of seconds
125 	SET_FACEBLINKFROWN,	//## %f="0.0" # Set face to Blinkfrown expression for number of seconds
126 	SET_FACEFROWN,		//## %f="0.0" # Set face to Frown expression for number of seconds
127 	SET_FACENORMAL,		//## %f="0.0" # Set face to Normal expression for number of seconds
128 	SET_FACEEYESCLOSED,	//## %f="0.0" # Set face to Eyes closed
129 	SET_FACEEYESOPENED,	//## %f="0.0" # Set face to Eyes open
130 	SET_WAIT,		//## %f="0.0" # Change an entity's wait field
131 	SET_FOLLOWDIST,		//## %f="0.0" # How far away to stay from leader in BS_FOLLOW_LEADER
132 	SET_SCALE,			//## %f="0.0" # Scale the entity model
133 
134 	//# #sep ints
135 	SET_ANIM_HOLDTIME_LOWER,//## %d="0" # Hold lower anim for number of milliseconds
136 	SET_ANIM_HOLDTIME_UPPER,//## %d="0" # Hold upper anim for number of milliseconds
137 	SET_ANIM_HOLDTIME_BOTH,//## %d="0" # Hold lower and upper anims for number of milliseconds
138 	SET_HEALTH,//## %d="0" # Change health
139 	SET_ARMOR,//## %d="0" # Change armor
140 	SET_WALKSPEED,//## %d="0" # Change walkSpeed
141 	SET_RUNSPEED,//## %d="0" # Change runSpeed
142 	SET_YAWSPEED,//## %d="0" # Change yawSpeed
143 	SET_AGGRESSION,//## %d="0" # Change aggression 1-5
144 	SET_AIM,//## %d="0" # Change aim 1-5
145 	SET_FRICTION,//## %d="0" # Change ent's friction - 6 default
146 	SET_SHOOTDIST,//## %d="0" # How far the ent can shoot - 0 uses weapon
147 	SET_HFOV,//## %d="0" # Horizontal field of view
148 	SET_VFOV,//## %d="0" # Vertical field of view
149 	SET_DELAYSCRIPTTIME,//## %d="0" # How many milliseconds to wait before running delayscript
150 	SET_FORWARDMOVE,//## %d="0" # NPC move forward -127(back) to 127
151 	SET_RIGHTMOVE,//## %d="0" # NPC move right -127(left) to 127
152 	SET_STARTFRAME,	//## %d="0" # frame to start animation sequence on
153 	SET_ENDFRAME,	//## %d="0" # frame to end animation sequence on
154 	SET_ANIMFRAME,	//## %d="0" # frame to set animation sequence to
155 	SET_COUNT,	//## %d="0" # Change an entity's count field
156 	SET_SHOT_SPACING,//## %d="1000" # Time between shots for an NPC - reset to defaults when changes weapon
157 	SET_MISSIONSTATUSTIME,//## %d="0" # Amount of time until Mission Status should be shown after death
158 	SET_WIDTH,//## %d="0.0" # Width of NPC bounding box.
159 
160 	//# #sep booleans
161 	SET_IGNOREPAIN,//## %t="BOOL_TYPES" # Do not react to pain
162 	SET_IGNOREENEMIES,//## %t="BOOL_TYPES" # Do not acquire enemies
163 	SET_IGNOREALERTS,//## %t="BOOL_TYPES" # Do not get enemy set by allies in area(ambush)
164 	SET_DONTSHOOT,//## %t="BOOL_TYPES" # Others won't shoot you
165 	SET_NOTARGET,//## %t="BOOL_TYPES" # Others won't pick you as enemy
166 	SET_DONTFIRE,//## %t="BOOL_TYPES" # Don't fire your weapon
167 	SET_LOCKED_ENEMY,//## %t="BOOL_TYPES" # Keep current enemy until dead
168 	SET_CROUCHED,//## %t="BOOL_TYPES" # Force NPC to crouch
169 	SET_WALKING,//## %t="BOOL_TYPES" # Force NPC to move at walkSpeed
170 	SET_RUNNING,//## %t="BOOL_TYPES" # Force NPC to move at runSpeed
171 	SET_CHASE_ENEMIES,//## %t="BOOL_TYPES" # NPC will chase after enemies
172 	SET_LOOK_FOR_ENEMIES,//## %t="BOOL_TYPES" # NPC will be on the lookout for enemies
173 	SET_FACE_MOVE_DIR,//## %t="BOOL_TYPES" # NPC will face in the direction it's moving
174 	SET_DONT_FLEE,//## %t="BOOL_TYPES" # NPC will not run from danger
175 	SET_FORCED_MARCH,//## %t="BOOL_TYPES" # NPC will not move unless you aim at him
176 	SET_UNDYING,//## %t="BOOL_TYPES" # Can take damage down to 1 but not die
177 	SET_NOAVOID,//## %t="BOOL_TYPES" # Will not avoid other NPCs or architecture
178 	SET_SOLID,//## %t="BOOL_TYPES" # Make yourself notsolid or solid
179 	SET_PLAYER_USABLE,//## %t="BOOL_TYPES" # Can be activateby the player's "use" button
180 	SET_LOOP_ANIM,//## %t="BOOL_TYPES" # For non-NPCs, loop your animation sequence
181 	SET_INTERFACE,//## %t="BOOL_TYPES" # Player interface on/off
182 	SET_SHIELDS,//## %t="BOOL_TYPES" # NPC has no shields (Borg do not adapt)
183 	SET_INVISIBLE,//## %t="BOOL_TYPES" # Makes an NPC not solid and not visible
184 	SET_VAMPIRE,//## %t="BOOL_TYPES" # Draws only in mirrors/portals
185 	SET_FORCE_INVINCIBLE,//## %t="BOOL_TYPES" # Force Invincibility effect, also godmode
186 	SET_GREET_ALLIES,//## %t="BOOL_TYPES" # Makes an NPC greet teammates
187 	SET_VIDEO_FADE_IN,//## %t="BOOL_TYPES" # Makes video playback fade in
188 	SET_VIDEO_FADE_OUT,//## %t="BOOL_TYPES" # Makes video playback fade out
189 	SET_PLAYER_LOCKED,//## %t="BOOL_TYPES" # Makes it so player cannot move
190 	SET_LOCK_PLAYER_WEAPONS,//## %t="BOOL_TYPES" # Makes it so player cannot switch weapons
191 	SET_NO_IMPACT_DAMAGE,//## %t="BOOL_TYPES" # Stops this ent from taking impact damage
192 	SET_NO_KNOCKBACK,//## %t="BOOL_TYPES" # Stops this ent from taking knockback from weapons
193 	SET_ALT_FIRE,//## %t="BOOL_TYPES" # Force NPC to use altfire when shooting
194 	SET_NO_RESPONSE,//## %t="BOOL_TYPES" # NPCs will do generic responses when this is on (usescripts override generic responses as well)
195 	SET_INVINCIBLE,//## %t="BOOL_TYPES" # Completely unkillable
196 	SET_MISSIONSTATUSACTIVE,	//# Turns on Mission Status Screen
197 	SET_NO_COMBAT_TALK,//## %t="BOOL_TYPES" # NPCs will not do their combat talking noises when this is on
198 	SET_NO_ALERT_TALK,//## %t="BOOL_TYPES" # NPCs will not do their combat talking noises when this is on
199 	SET_TREASONED,//## %t="BOOL_TYPES" # Player has turned on his own- scripts will stop, NPCs will turn on him and level changes load the brig
200 	SET_DISABLE_SHADER_ANIM,//## %t="BOOL_TYPES" # Allows turning off an animating shader in a script
201 	SET_SHADER_ANIM,//## %t="BOOL_TYPES" # Sets a shader with an image map to be under frame control
202 	SET_SABERACTIVE,//## %t="BOOL_TYPES" # Turns saber on/off
203 	SET_ADJUST_AREA_PORTALS,//## %t="BOOL_TYPES" # Only set this on things you move with script commands that you *want* to open/close area portals.  Default is off.
204 	SET_DMG_BY_HEAVY_WEAP_ONLY,//## %t="BOOL_TYPES" # When true, only a heavy weapon class missile/laser can damage this ent.
205 	SET_SHIELDED,//## %t="BOOL_TYPES" # When true, ion_cannon is shielded from any kind of damage.
206 	SET_NO_GROUPS,//## %t="BOOL_TYPES" # This NPC cannot alert groups or be part of a group
207 	SET_FIRE_WEAPON,//## %t="BOOL_TYPES" # Makes NPC will hold down the fire button, until this is set to false
208 	SET_NO_MINDTRICK,//## %t="BOOL_TYPES" # Makes NPC immune to jedi mind-trick
209 	SET_INACTIVE,//## %t="BOOL_TYPES" # in lieu of using a target_activate or target_deactivate
210 	SET_FUNC_USABLE_VISIBLE,//## %t="BOOL_TYPES" # provides an alternate way of changing func_usable to be visible or not, DOES NOT AFFECT SOLID
211 	SET_SECRET_AREA_FOUND,//## %t="BOOL_TYPES" # Increment secret areas found counter
212 	SET_MISSION_STATUS_SCREEN,//## %t="BOOL_TYPES" # Display Mission Status screen before advancing to next level
213 	SET_END_SCREENDISSOLVE,//## %t="BOOL_TYPES" # End of game dissolve into star background and credits
214 	SET_USE_CP_NEAREST,//## %t="BOOL_TYPES" # NPCs will use their closest combat points, not try and find ones next to the player, or flank player
215 	SET_MORELIGHT,//## %t="BOOL_TYPES" # NPC will have a minlight of 96
216 	SET_NO_FORCE,//## %t="BOOL_TYPES" # NPC will not be affected by force powers
217 	SET_NO_FALLTODEATH,//## %t="BOOL_TYPES" # NPC will not scream and tumble and fall to hit death over large drops
218 	SET_DISMEMBERABLE,//## %t="BOOL_TYPES" # NPC will not be dismemberable if you set this to false (default is true)
219 	SET_NO_ACROBATICS,//## %t="BOOL_TYPES" # Jedi won't jump, roll or cartwheel
220 	SET_USE_SUBTITLES,//## %t="BOOL_TYPES" # When true NPC will always display subtitle regardless of subtitle setting
221 	SET_CLEAN_DAMAGING_ENTS,//## %t="BOOL_TYPES" # Removes entities that could muck up cinematics, explosives, turrets, seekers.
222 	SET_HUD,//## %t="BOOL_TYPES" # Turns on/off HUD
223 
224 	//# #sep calls
225 	SET_SKILL,//## %r%d="0" # Cannot set this, only get it - valid values are 0 through 3
226 
227 	//# #sep Special tables
228 	SET_ANIM_UPPER,//## %t="ANIM_NAMES" # Torso and head anim
229 	SET_ANIM_LOWER,//## %t="ANIM_NAMES" # Legs anim
230 	SET_ANIM_BOTH,//## %t="ANIM_NAMES" # Set same anim on torso and legs
231 	SET_PLAYER_TEAM,//## %t="TEAM_NAMES" # Your team
232 	SET_ENEMY_TEAM,//## %t="TEAM_NAMES" # Team in which to look for enemies
233 	SET_BEHAVIOR_STATE,//## %t="BSTATE_STRINGS" # Change current bState
234 	SET_DEFAULT_BSTATE,//## %t="BSTATE_STRINGS" # Change fallback bState
235 	SET_TEMP_BSTATE,//## %t="BSTATE_STRINGS" # Set/Chang a temp bState
236 	SET_EVENT,//## %t="EVENT_NAMES" # Events you can initiate
237 	SET_WEAPON,//## %t="WEAPON_NAMES" # Change/Stow/Drop weapon
238 	SET_ITEM,//## %t="ITEM_NAMES" # Give items
239 	SET_MUSIC_STATE,//## %t="MUSIC_STATES" # Set the state of the dynamic music
240 
241 	SET_FORCE_HEAL_LEVEL,//## %t="FORCE_LEVELS" # Change force power level
242 	SET_FORCE_JUMP_LEVEL,//## %t="FORCE_LEVELS" # Change force power level
243 	SET_FORCE_SPEED_LEVEL,//## %t="FORCE_LEVELS" # Change force power level
244 	SET_FORCE_PUSH_LEVEL,//## %t="FORCE_LEVELS" # Change force power level
245 	SET_FORCE_PULL_LEVEL,//## %t="FORCE_LEVELS" # Change force power level
246 	SET_FORCE_MINDTRICK_LEVEL,//## %t="FORCE_LEVELS" # Change force power level
247 	SET_FORCE_GRIP_LEVEL,//## %t="FORCE_LEVELS" # Change force power level
248 	SET_FORCE_LIGHTNING_LEVEL,//## %t="FORCE_LEVELS" # Change force power level
249 	SET_SABER_THROW,//## %t="FORCE_LEVELS" # Change force power level
250 	SET_SABER_DEFENSE,//## %t="FORCE_LEVELS" # Change force power level
251 	SET_SABER_OFFENSE,//## %t="FORCE_LEVELS" # Change force power level
252 
253 	SET_OBJECTIVE_SHOW,	//## %t="OBJECTIVES" # Show objective on mission screen
254 	SET_OBJECTIVE_HIDE,	//## %t="OBJECTIVES" # Hide objective from mission screen
255 	SET_OBJECTIVE_SUCCEEDED,//## %t="OBJECTIVES" # Mark objective as completed
256 	SET_OBJECTIVE_FAILED,	//## %t="OBJECTIVES" # Mark objective as failed
257 
258 	SET_MISSIONFAILED,		//## %t="MISSIONFAILED" # Mission failed screen activates
259 
260 	SET_TACTICAL_SHOW,		//## %t="TACTICAL" # Show tactical info on mission objectives screen
261 	SET_TACTICAL_HIDE,		//## %t="TACTICAL" # Hide tactical info on mission objectives screen
262 	SET_OBJECTIVE_CLEARALL,	//## # Force all objectives to be hidden
263 /*
264 	SET_OBJECTIVEFOSTER,
265 */
266 	SET_MISSIONSTATUSTEXT,	//## %t="STATUSTEXT" # Text to appear in mission status screen
267 	SET_MENU_SCREEN,//## %t="MENUSCREENS" # Brings up specified menu screen
268 
269 	SET_CLOSINGCREDITS,		//## # Show closing credits
270 
271 	//in-bhc tables
272 	SET_LEAN,//## %t="LEAN_TYPES" # Lean left, right or stop leaning
273 
274 	//# #eol
275 	SET_
276 } setType_t;
277 
278 #ifdef __cplusplus
279 
280 // this enum isn't used directly by the game, it's mainly for BehavEd to scan for...
281 //
282 typedef enum //# playType_e
283 {
284 	//# #sep Types of file to play
285 	PLAY_ROFF = 0,//## %s="filename" !!"W:\game\base\scripts\!!#*.rof" # Play a ROFF file
286 
287 	//# #eol
288 	PLAY_NUMBEROF
289 
290 } playType_t;
291 
292 
293 const	int	Q3_TIME_SCALE	= 1;	//MILLISECONDS
294 
295 extern char	cinematicSkipScript[1024];
296 
297 //General
298 extern	void		Q3_TaskIDClear( int *taskID );
299 extern	qboolean	Q3_TaskIDPending( sharedEntity_t *ent, taskID_t taskType );
300 extern	void		Q3_TaskIDComplete( sharedEntity_t *ent, taskID_t taskType );
301 extern	void		Q3_DPrintf( const char *, ... );
302 
303 extern	void		Q3_CameraRoll( float angle, float duration );
304 extern  void		Q3_CameraFollow( const char *name, float speed, float initLerp );
305 extern  void		Q3_CameraTrack( const char *name, float speed, float initLerp );
306 extern  void		Q3_CameraDistance( float distance, float initLerp );
307 
308 //Not referenced directly as script function - all are called through Q3_Set
309 extern	void		Q3_SetAnimBoth( int entID, const char *anim_name );
310 extern	void		Q3_SetVelocity( int entID, vec3_t angles );
311 
312 extern	void		Q3_DeclareVariable ( int type, const char *name );
313 extern	void		Q3_FreeVariable( const char *name );
314 
315 extern	void		Q3_DebugPrint( int level, const char *format, ... );
316 #endif //__cplusplus
317