2 ===========================================================================
5 Copyright (C) 1999-2011 id Software LLC, a ZeniMax Media company.
7 This file is part of the Doom 3 GPL Source Code (?Doom 3 Source Code?).
9 Doom 3 Source Code is free software: you can redistribute it and/or modify
10 it under the terms of the GNU General Public License as published by
11 the Free Software Foundation, either version 3 of the License, or
12 (at your option) any later version.
14 Doom 3 Source Code is distributed in the hope that it will be useful,
15 but WITHOUT ANY WARRANTY; without even the implied warranty of
16 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17 GNU General Public License for more details.
19 You should have received a copy of the GNU General Public License
20 along with Doom 3 Source Code. If not, see <http://www.gnu.org/licenses/>.
22 In addition, the Doom 3 Source Code is also subject to certain additional terms. You should have received a copy of these additional terms immediately following the terms and conditions of the GNU General Public License which accompanied the Doom 3 Source Code. If not, please request a copy in writing from id Software at the address below.
24 If you have questions concerning this license or the applicable additional terms, you may contact in writing id Software LLC, c/o ZeniMax Media Inc., Suite 120, Rockville, Maryland 20850 USA.
26 ===========================================================================
29 #ifndef __GAME_TARGET_H__
30 #define __GAME_TARGET_H__
34 ===============================================================================
38 ===============================================================================
41 class idTarget : public idEntity {
43 CLASS_PROTOTYPE( idTarget );
48 ===============================================================================
52 ===============================================================================
55 class idTarget_Remove : public idTarget {
57 CLASS_PROTOTYPE( idTarget_Remove );
60 void Event_Activate( idEntity *activator );
65 ===============================================================================
69 ===============================================================================
72 class idTarget_Show : public idTarget {
74 CLASS_PROTOTYPE( idTarget_Show );
77 void Event_Activate( idEntity *activator );
82 ===============================================================================
86 ===============================================================================
89 class idTarget_Damage : public idTarget {
91 CLASS_PROTOTYPE( idTarget_Damage );
94 void Event_Activate( idEntity *activator );
99 ===============================================================================
101 idTarget_SessionCommand
103 ===============================================================================
106 class idTarget_SessionCommand : public idTarget {
108 CLASS_PROTOTYPE( idTarget_SessionCommand );
111 void Event_Activate( idEntity *activator );
116 ===============================================================================
120 ===============================================================================
123 class idTarget_EndLevel : public idTarget {
125 CLASS_PROTOTYPE( idTarget_EndLevel );
128 void Event_Activate( idEntity *activator );
134 ===============================================================================
136 idTarget_WaitForButton
138 ===============================================================================
141 class idTarget_WaitForButton : public idTarget {
143 CLASS_PROTOTYPE( idTarget_WaitForButton );
148 void Event_Activate( idEntity *activator );
152 ===============================================================================
154 idTarget_SetGlobalShaderTime
156 ===============================================================================
159 class idTarget_SetGlobalShaderTime : public idTarget {
161 CLASS_PROTOTYPE( idTarget_SetGlobalShaderTime );
164 void Event_Activate( idEntity *activator );
169 ===============================================================================
171 idTarget_SetShaderParm
173 ===============================================================================
176 class idTarget_SetShaderParm : public idTarget {
178 CLASS_PROTOTYPE( idTarget_SetShaderParm );
181 void Event_Activate( idEntity *activator );
186 ===============================================================================
188 idTarget_SetShaderTime
190 ===============================================================================
193 class idTarget_SetShaderTime : public idTarget {
195 CLASS_PROTOTYPE( idTarget_SetShaderTime );
198 void Event_Activate( idEntity *activator );
202 ===============================================================================
206 ===============================================================================
209 class idTarget_FadeEntity : public idTarget {
211 CLASS_PROTOTYPE( idTarget_FadeEntity );
213 idTarget_FadeEntity( void );
215 void Save( idSaveGame *savefile ) const;
216 void Restore( idRestoreGame *savefile );
225 void Event_Activate( idEntity *activator );
229 ===============================================================================
233 ===============================================================================
236 class idTarget_LightFadeIn : public idTarget {
238 CLASS_PROTOTYPE( idTarget_LightFadeIn );
241 void Event_Activate( idEntity *activator );
245 ===============================================================================
247 idTarget_LightFadeOut
249 ===============================================================================
252 class idTarget_LightFadeOut : public idTarget {
254 CLASS_PROTOTYPE( idTarget_LightFadeOut );
257 void Event_Activate( idEntity *activator );
261 ===============================================================================
265 ===============================================================================
268 class idTarget_Give : public idTarget {
270 CLASS_PROTOTYPE( idTarget_Give );
275 void Event_Activate( idEntity *activator );
280 ===============================================================================
284 ===============================================================================
287 class idTarget_GiveEmail : public idTarget {
289 CLASS_PROTOTYPE( idTarget_GiveEmail );
294 void Event_Activate( idEntity *activator );
298 ===============================================================================
302 ===============================================================================
305 class idTarget_SetModel : public idTarget {
307 CLASS_PROTOTYPE( idTarget_SetModel );
312 void Event_Activate( idEntity *activator );
317 ===============================================================================
319 idTarget_SetInfluence
321 ===============================================================================
324 class idTarget_SetInfluence : public idTarget {
326 CLASS_PROTOTYPE( idTarget_SetInfluence );
328 idTarget_SetInfluence( void );
330 void Save( idSaveGame *savefile ) const;
331 void Restore( idRestoreGame *savefile );
336 void Event_Activate( idEntity *activator );
337 void Event_RestoreInfluence();
338 void Event_GatherEntities();
339 void Event_Flash( float flash, int out );
340 void Event_ClearFlash( float flash );
343 idList<int> lightList;
345 idList<int> soundList;
346 idList<int> genericList;
352 idEntity * switchToCamera;
353 idInterpolate<float>fovSetting;
355 bool restoreOnTrigger;
360 ===============================================================================
364 ===============================================================================
367 class idTarget_SetKeyVal : public idTarget {
369 CLASS_PROTOTYPE( idTarget_SetKeyVal );
372 void Event_Activate( idEntity *activator );
377 ===============================================================================
381 ===============================================================================
384 class idTarget_SetFov : public idTarget {
386 CLASS_PROTOTYPE( idTarget_SetFov );
388 void Save( idSaveGame *savefile ) const;
389 void Restore( idRestoreGame *savefile );
394 idInterpolate<int> fovSetting;
396 void Event_Activate( idEntity *activator );
401 ===============================================================================
403 idTarget_SetPrimaryObjective
405 ===============================================================================
408 class idTarget_SetPrimaryObjective : public idTarget {
410 CLASS_PROTOTYPE( idTarget_SetPrimaryObjective );
413 void Event_Activate( idEntity *activator );
417 ===============================================================================
421 ===============================================================================
424 class idTarget_LockDoor: public idTarget {
426 CLASS_PROTOTYPE( idTarget_LockDoor );
429 void Event_Activate( idEntity *activator );
433 ===============================================================================
435 idTarget_CallObjectFunction
437 ===============================================================================
440 class idTarget_CallObjectFunction : public idTarget {
442 CLASS_PROTOTYPE( idTarget_CallObjectFunction );
445 void Event_Activate( idEntity *activator );
450 ===============================================================================
454 ===============================================================================
457 class idTarget_EnableLevelWeapons : public idTarget {
459 CLASS_PROTOTYPE( idTarget_EnableLevelWeapons );
462 void Event_Activate( idEntity *activator );
467 ===============================================================================
471 ===============================================================================
474 class idTarget_Tip : public idTarget {
476 CLASS_PROTOTYPE( idTarget_Tip );
478 idTarget_Tip( void );
482 void Save( idSaveGame *savefile ) const;
483 void Restore( idRestoreGame *savefile );
488 void Event_Activate( idEntity *activator );
489 void Event_TipOff( void );
490 void Event_GetPlayerPos( void );
494 ===============================================================================
496 idTarget_GiveSecurity
498 ===============================================================================
500 class idTarget_GiveSecurity : public idTarget {
502 CLASS_PROTOTYPE( idTarget_GiveSecurity );
504 void Event_Activate( idEntity *activator );
509 ===============================================================================
511 idTarget_RemoveWeapons
513 ===============================================================================
515 class idTarget_RemoveWeapons : public idTarget {
517 CLASS_PROTOTYPE( idTarget_RemoveWeapons );
519 void Event_Activate( idEntity *activator );
524 ===============================================================================
526 idTarget_LevelTrigger
528 ===============================================================================
530 class idTarget_LevelTrigger : public idTarget {
532 CLASS_PROTOTYPE( idTarget_LevelTrigger );
534 void Event_Activate( idEntity *activator );
538 ===============================================================================
540 idTarget_EnableStamina
542 ===============================================================================
544 class idTarget_EnableStamina : public idTarget {
546 CLASS_PROTOTYPE( idTarget_EnableStamina );
548 void Event_Activate( idEntity *activator );
552 ===============================================================================
554 idTarget_FadeSoundClass
556 ===============================================================================
558 class idTarget_FadeSoundClass : public idTarget {
560 CLASS_PROTOTYPE( idTarget_FadeSoundClass );
562 void Event_Activate( idEntity *activator );
563 void Event_RestoreVolume();
567 #endif /* !__GAME_TARGET_H__ */