From c7ddc423f67236a99956960cf9fe89abf077839b Mon Sep 17 00:00:00 2001 From: Simon Howard Date: Fri, 5 Sep 2008 00:02:14 +0000 Subject: Reformat (beautify) Raven sources and add GPL headers. Subversion-branch: /branches/raven-branch Subversion-revision: 1197 --- src/hexen/p_spec.h | 544 +++++++++++++++++++++++++++-------------------------- 1 file changed, 279 insertions(+), 265 deletions(-) (limited to 'src/hexen/p_spec.h') diff --git a/src/hexen/p_spec.h b/src/hexen/p_spec.h index 094f4065..6d560c0d 100644 --- a/src/hexen/p_spec.h +++ b/src/hexen/p_spec.h @@ -1,14 +1,26 @@ +// Emacs style mode select -*- C++ -*- +//----------------------------------------------------------------------------- +// +// Copyright(C) 1993-1996 Id Software, Inc. +// Copyright(C) 1993-2008 Raven Software +// +// This program is free software; you can redistribute it and/or +// modify it under the terms of the GNU General Public License +// as published by the Free Software Foundation; either version 2 +// of the License, or (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA +// 02111-1307, USA. +// +//----------------------------------------------------------------------------- -//************************************************************************** -//** -//** p_spec.h : Heretic 2 : Raven Software, Corp. -//** -//** $RCSfile: p_spec.h,v $ -//** $Revision: 1.38 $ -//** $Date: 96/01/06 18:37:35 $ -//** $Author: bgokey $ -//** -//************************************************************************** extern int *TerrainTypes; @@ -34,28 +46,29 @@ void P_SpawnSpecials(void); void P_UpdateSpecials(void); // when needed -boolean P_ExecuteLineSpecial(int special, byte *args, line_t *line, int side, - mobj_t *mo); -boolean P_ActivateLine(line_t *ld, mobj_t *mo, int side, int activationType); +boolean P_ExecuteLineSpecial(int special, byte * args, line_t * line, + int side, mobj_t * mo); +boolean P_ActivateLine(line_t * ld, mobj_t * mo, int side, + int activationType); //boolean P_UseSpecialLine ( mobj_t *thing, line_t *line); //void P_ShootSpecialLine ( mobj_t *thing, line_t *line); //void P_CrossSpecialLine (int linenum, int side, mobj_t *thing); -void P_PlayerInSpecialSector(player_t *player); -void P_PlayerOnSpecialFlat(player_t *player, int floorType); +void P_PlayerInSpecialSector(player_t * player); +void P_PlayerOnSpecialFlat(player_t * player, int floorType); //int twoSided(int sector,int line); //sector_t *getSector(int currentSector,int line,int side); //side_t *getSide(int currentSector,int line, int side); -fixed_t P_FindLowestFloorSurrounding(sector_t *sec); -fixed_t P_FindHighestFloorSurrounding(sector_t *sec); -fixed_t P_FindNextHighestFloor(sector_t *sec,int currentheight); -fixed_t P_FindLowestCeilingSurrounding(sector_t *sec); -fixed_t P_FindHighestCeilingSurrounding(sector_t *sec); +fixed_t P_FindLowestFloorSurrounding(sector_t * sec); +fixed_t P_FindHighestFloorSurrounding(sector_t * sec); +fixed_t P_FindNextHighestFloor(sector_t * sec, int currentheight); +fixed_t P_FindLowestCeilingSurrounding(sector_t * sec); +fixed_t P_FindHighestCeilingSurrounding(sector_t * sec); //int P_FindSectorFromLineTag(line_t *line,int start); int P_FindSectorFromTag(int tag, int start); //int P_FindMinSurroundingLight(sector_t *sector,int max); -sector_t *getNextSector(line_t *line,sector_t *sec); +sector_t *getNextSector(line_t * line, sector_t * sec); line_t *P_FindLine(int lineTag, int *searchPosition); // @@ -82,83 +95,83 @@ void P_ForceLightning(void); typedef enum { - LITE_RAISEBYVALUE, - LITE_LOWERBYVALUE, - LITE_CHANGETOVALUE, - LITE_FADE, - LITE_GLOW, - LITE_FLICKER, - LITE_STROBE + LITE_RAISEBYVALUE, + LITE_LOWERBYVALUE, + LITE_CHANGETOVALUE, + LITE_FADE, + LITE_GLOW, + LITE_FLICKER, + LITE_STROBE } lighttype_t; typedef struct { - thinker_t thinker; - sector_t *sector; - lighttype_t type; - int value1; - int value2; - int tics1; - int tics2; - int count; + thinker_t thinker; + sector_t *sector; + lighttype_t type; + int value1; + int value2; + int tics1; + int tics2; + int count; } light_t; - + typedef struct { - thinker_t thinker; - sector_t *sector; - int index; - int base; + thinker_t thinker; + sector_t *sector; + int index; + int base; } phase_t; #define LIGHT_SEQUENCE_START 2 #define LIGHT_SEQUENCE 3 #define LIGHT_SEQUENCE_ALT 4 -void T_Phase(phase_t *phase); -void T_Light(light_t *light); -void P_SpawnPhasedLight(sector_t *sector, int base, int index); -void P_SpawnLightSequence(sector_t *sector, int indexStep); -boolean EV_SpawnLight(line_t *line, byte *arg, lighttype_t type); +void T_Phase(phase_t * phase); +void T_Light(light_t * light); +void P_SpawnPhasedLight(sector_t * sector, int base, int index); +void P_SpawnLightSequence(sector_t * sector, int indexStep); +boolean EV_SpawnLight(line_t * line, byte * arg, lighttype_t type); #if 0 typedef struct { - thinker_t thinker; - sector_t *sector; - int count; - int maxlight; - int minlight; - int maxtime; - int mintime; + thinker_t thinker; + sector_t *sector; + int count; + int maxlight; + int minlight; + int maxtime; + int mintime; } lightflash_t; typedef struct { - thinker_t thinker; - sector_t *sector; - int count; - int minlight; - int maxlight; - int darktime; - int brighttime; + thinker_t thinker; + sector_t *sector; + int count; + int minlight; + int maxlight; + int darktime; + int brighttime; } strobe_t; typedef struct { - thinker_t thinker; - sector_t *sector; - int minlight; - int maxlight; - int direction; + thinker_t thinker; + sector_t *sector; + int minlight; + int maxlight; + int direction; } glow_t; typedef struct { - thinker_t thinker; - sector_t *sector; - int index; - int base; + thinker_t thinker; + sector_t *sector; + int index; + int base; } phase_t; #define GLOWSPEED 8 @@ -170,18 +183,18 @@ typedef struct #define LIGHT_SEQUENCE 3 #define LIGHT_SEQUENCE_ALT 4 -void T_LightFlash (lightflash_t *flash); -void P_SpawnLightFlash (sector_t *sector); -void T_StrobeFlash (strobe_t *flash); -void P_SpawnStrobeFlash (sector_t *sector, int fastOrSlow, int inSync); -void EV_StartLightStrobing(line_t *line); -void EV_TurnTagLightsOff(line_t *line); -void EV_LightTurnOn(line_t *line, int bright); -void T_Glow(glow_t *g); -void P_SpawnGlowingLight(sector_t *sector); -void T_Phase(phase_t *phase); -void P_SpawnPhasedLight(sector_t *sector, int base, int index); -void P_SpawnLightSequence(sector_t *sector, int indexStep); +void T_LightFlash(lightflash_t * flash); +void P_SpawnLightFlash(sector_t * sector); +void T_StrobeFlash(strobe_t * flash); +void P_SpawnStrobeFlash(sector_t * sector, int fastOrSlow, int inSync); +void EV_StartLightStrobing(line_t * line); +void EV_TurnTagLightsOff(line_t * line); +void EV_LightTurnOn(line_t * line, int bright); +void T_Glow(glow_t * g); +void P_SpawnGlowingLight(sector_t * sector); +void T_Phase(phase_t * phase); +void P_SpawnPhasedLight(sector_t * sector, int base, int index); +void P_SpawnLightSequence(sector_t * sector, int indexStep); #endif /* @@ -193,34 +206,34 @@ void P_SpawnLightSequence(sector_t *sector, int indexStep); */ typedef struct { - char name1[9]; - char name2[9]; - int soundID; + char name1[9]; + char name2[9]; + int soundID; } switchlist_t; typedef enum { - SWTCH_TOP, - SWTCH_MIDDLE, - SWTCH_BOTTOM + SWTCH_TOP, + SWTCH_MIDDLE, + SWTCH_BOTTOM } bwhere_e; typedef struct { - line_t *line; - bwhere_e where; - int btexture; - int btimer; - mobj_t *soundorg; + line_t *line; + bwhere_e where; + int btexture; + int btimer; + mobj_t *soundorg; } button_t; -#define MAXSWITCHES 50 // max # of wall switches in a level -#define MAXBUTTONS 16 // 4 players, 4 buttons each at once, max. -#define BUTTONTIME 35 // 1 second +#define MAXSWITCHES 50 // max # of wall switches in a level +#define MAXBUTTONS 16 // 4 players, 4 buttons each at once, max. +#define BUTTONTIME 35 // 1 second extern button_t buttonlist[MAXBUTTONS]; -void P_ChangeSwitchTexture(line_t *line, int useAgain); +void P_ChangeSwitchTexture(line_t * line, int useAgain); void P_InitSwitchList(void); /* @@ -233,37 +246,37 @@ void P_InitSwitchList(void); typedef enum { - PLAT_UP, - PLAT_DOWN, - PLAT_WAITING, -// PLAT_IN_STASIS + PLAT_UP, + PLAT_DOWN, + PLAT_WAITING, +// PLAT_IN_STASIS } plat_e; typedef enum { - PLAT_PERPETUALRAISE, - PLAT_DOWNWAITUPSTAY, - PLAT_DOWNBYVALUEWAITUPSTAY, - PLAT_UPWAITDOWNSTAY, - PLAT_UPBYVALUEWAITDOWNSTAY, - //PLAT_RAISEANDCHANGE, - //PLAT_RAISETONEARESTANDCHANGE + PLAT_PERPETUALRAISE, + PLAT_DOWNWAITUPSTAY, + PLAT_DOWNBYVALUEWAITUPSTAY, + PLAT_UPWAITDOWNSTAY, + PLAT_UPBYVALUEWAITDOWNSTAY, + //PLAT_RAISEANDCHANGE, + //PLAT_RAISETONEARESTANDCHANGE } plattype_e; typedef struct { - thinker_t thinker; - sector_t *sector; - fixed_t speed; - fixed_t low; - fixed_t high; - int wait; - int count; - plat_e status; - plat_e oldstatus; - int crush; - int tag; - plattype_e type; + thinker_t thinker; + sector_t *sector; + fixed_t speed; + fixed_t low; + fixed_t high; + int wait; + int count; + plat_e status; + plat_e oldstatus; + int crush; + int tag; + plattype_e type; } plat_t; #define PLATWAIT 3 @@ -272,11 +285,11 @@ typedef struct extern plat_t *activeplats[MAXPLATS]; -void T_PlatRaise(plat_t *plat); -int EV_DoPlat(line_t *line, byte *args, plattype_e type, int amount); -void P_AddActivePlat(plat_t *plat); -void P_RemoveActivePlat(plat_t *plat); -void EV_StopPlat(line_t *line, byte *args); +void T_PlatRaise(plat_t * plat); +int EV_DoPlat(line_t * line, byte * args, plattype_e type, int amount); +void P_AddActivePlat(plat_t * plat); +void P_RemoveActivePlat(plat_t * plat); +void EV_StopPlat(line_t * line, byte * args); /* =============================================================================== @@ -287,31 +300,31 @@ void EV_StopPlat(line_t *line, byte *args); */ typedef enum { - DREV_NORMAL, - DREV_CLOSE30THENOPEN, - DREV_CLOSE, - DREV_OPEN, - DREV_RAISEIN5MINS, + DREV_NORMAL, + DREV_CLOSE30THENOPEN, + DREV_CLOSE, + DREV_OPEN, + DREV_RAISEIN5MINS, } vldoor_e; typedef struct { - thinker_t thinker; - sector_t *sector; - vldoor_e type; - fixed_t topheight; - fixed_t speed; - int direction; // 1 = up, 0 = waiting at top, -1 = down - int topwait; // tics to wait at the top (keep in case a door going down is reset) - int topcountdown; // when it reaches 0, start going down + thinker_t thinker; + sector_t *sector; + vldoor_e type; + fixed_t topheight; + fixed_t speed; + int direction; // 1 = up, 0 = waiting at top, -1 = down + int topwait; // tics to wait at the top (keep in case a door going down is reset) + int topcountdown; // when it reaches 0, start going down } vldoor_t; #define VDOORSPEED FRACUNIT*2 #define VDOORWAIT 150 -boolean EV_VerticalDoor(line_t *line, mobj_t *thing); -int EV_DoDoor(line_t *line, byte *args, vldoor_e type); -void T_VerticalDoor(vldoor_t *door); +boolean EV_VerticalDoor(line_t * line, mobj_t * thing); +int EV_DoDoor(line_t * line, byte * args, vldoor_e type); +void T_VerticalDoor(vldoor_t * door); //void P_SpawnDoorCloseIn30(sector_t *sec); //void P_SpawnDoorRaiseIn5Mins(sector_t *sec, int secnum); @@ -324,27 +337,27 @@ void T_VerticalDoor(vldoor_t *door); */ typedef enum { - CLEV_LOWERTOFLOOR, - CLEV_RAISETOHIGHEST, - CLEV_LOWERANDCRUSH, - CLEV_CRUSHANDRAISE, - CLEV_LOWERBYVALUE, - CLEV_RAISEBYVALUE, - CLEV_CRUSHRAISEANDSTAY, - CLEV_MOVETOVALUETIMES8 + CLEV_LOWERTOFLOOR, + CLEV_RAISETOHIGHEST, + CLEV_LOWERANDCRUSH, + CLEV_CRUSHANDRAISE, + CLEV_LOWERBYVALUE, + CLEV_RAISEBYVALUE, + CLEV_CRUSHRAISEANDSTAY, + CLEV_MOVETOVALUETIMES8 } ceiling_e; typedef struct { - thinker_t thinker; - sector_t *sector; - ceiling_e type; - fixed_t bottomheight, topheight; - fixed_t speed; - int crush; - int direction; // 1 = up, 0 = waiting, -1 = down - int tag; // ID - int olddirection; + thinker_t thinker; + sector_t *sector; + ceiling_e type; + fixed_t bottomheight, topheight; + fixed_t speed; + int crush; + int direction; // 1 = up, 0 = waiting, -1 = down + int tag; // ID + int olddirection; } ceiling_t; #define CEILSPEED FRACUNIT @@ -353,11 +366,11 @@ typedef struct extern ceiling_t *activeceilings[MAXCEILINGS]; -int EV_DoCeiling(line_t *line, byte *args, ceiling_e type); -void T_MoveCeiling(ceiling_t *ceiling); -void P_AddActiveCeiling(ceiling_t *c); -void P_RemoveActiveCeiling(ceiling_t *c); -int EV_CeilingCrushStop(line_t *line, byte *args); +int EV_DoCeiling(line_t * line, byte * args, ceiling_e type); +void T_MoveCeiling(ceiling_t * ceiling); +void P_AddActiveCeiling(ceiling_t * c); +void P_RemoveActiveCeiling(ceiling_t * c); +int EV_CeilingCrushStop(line_t * line, byte * args); /* =============================================================================== @@ -368,98 +381,99 @@ int EV_CeilingCrushStop(line_t *line, byte *args); */ typedef enum { - FLEV_LOWERFLOOR, // lower floor to highest surrounding floor - FLEV_LOWERFLOORTOLOWEST, // lower floor to lowest surrounding floor - FLEV_LOWERFLOORBYVALUE, - FLEV_RAISEFLOOR, // raise floor to lowest surrounding CEILING - FLEV_RAISEFLOORTONEAREST, // raise floor to next highest surrounding floor - FLEV_RAISEFLOORBYVALUE, - FLEV_RAISEFLOORCRUSH, - FLEV_RAISEBUILDSTEP, // One step of a staircase - FLEV_RAISEBYVALUETIMES8, - FLEV_LOWERBYVALUETIMES8, - FLEV_LOWERTIMES8INSTANT, - FLEV_RAISETIMES8INSTANT, - FLEV_MOVETOVALUETIMES8 + FLEV_LOWERFLOOR, // lower floor to highest surrounding floor + FLEV_LOWERFLOORTOLOWEST, // lower floor to lowest surrounding floor + FLEV_LOWERFLOORBYVALUE, + FLEV_RAISEFLOOR, // raise floor to lowest surrounding CEILING + FLEV_RAISEFLOORTONEAREST, // raise floor to next highest surrounding floor + FLEV_RAISEFLOORBYVALUE, + FLEV_RAISEFLOORCRUSH, + FLEV_RAISEBUILDSTEP, // One step of a staircase + FLEV_RAISEBYVALUETIMES8, + FLEV_LOWERBYVALUETIMES8, + FLEV_LOWERTIMES8INSTANT, + FLEV_RAISETIMES8INSTANT, + FLEV_MOVETOVALUETIMES8 } floor_e; typedef struct { - thinker_t thinker; - sector_t *sector; - floor_e type; - int crush; - int direction; - int newspecial; - short texture; - fixed_t floordestheight; - fixed_t speed; - int delayCount; - int delayTotal; - fixed_t stairsDelayHeight; - fixed_t stairsDelayHeightDelta; - fixed_t resetHeight; - short resetDelay; - short resetDelayCount; - byte textureChange; + thinker_t thinker; + sector_t *sector; + floor_e type; + int crush; + int direction; + int newspecial; + short texture; + fixed_t floordestheight; + fixed_t speed; + int delayCount; + int delayTotal; + fixed_t stairsDelayHeight; + fixed_t stairsDelayHeightDelta; + fixed_t resetHeight; + short resetDelay; + short resetDelayCount; + byte textureChange; } floormove_t; typedef struct { - thinker_t thinker; - sector_t *sector; - int ceilingSpeed; - int floorSpeed; - int floordest; - int ceilingdest; - int direction; - int crush; + thinker_t thinker; + sector_t *sector; + int ceilingSpeed; + int floorSpeed; + int floordest; + int ceilingdest; + int direction; + int crush; } pillar_t; typedef struct { - thinker_t thinker; - sector_t *sector; - fixed_t originalHeight; - fixed_t accumulator; - fixed_t accDelta; - fixed_t targetScale; - fixed_t scale; - fixed_t scaleDelta; - int ticker; - int state; + thinker_t thinker; + sector_t *sector; + fixed_t originalHeight; + fixed_t accumulator; + fixed_t accDelta; + fixed_t targetScale; + fixed_t scale; + fixed_t scaleDelta; + int ticker; + int state; } floorWaggle_t; #define FLOORSPEED FRACUNIT typedef enum { - RES_OK, - RES_CRUSHED, - RES_PASTDEST + RES_OK, + RES_CRUSHED, + RES_PASTDEST } result_e; typedef enum { - STAIRS_NORMAL, - STAIRS_SYNC, - STAIRS_PHASED + STAIRS_NORMAL, + STAIRS_SYNC, + STAIRS_PHASED } stairs_e; -result_e T_MovePlane(sector_t *sector, fixed_t speed, - fixed_t dest, int crush, int floorOrCeiling, int direction); - -int EV_BuildStairs(line_t *line, byte *args, int direction, stairs_e type); -int EV_DoFloor(line_t *line, byte *args, floor_e floortype); -void T_MoveFloor(floormove_t *floor); -void T_BuildPillar(pillar_t *pillar); -void T_FloorWaggle(floorWaggle_t *waggle); -int EV_BuildPillar(line_t *line, byte *args, boolean crush); -int EV_OpenPillar(line_t *line, byte *args); -int EV_DoFloorAndCeiling(line_t *line, byte *args, boolean raise); -int EV_FloorCrushStop(line_t *line, byte *args); +result_e T_MovePlane(sector_t * sector, fixed_t speed, + fixed_t dest, int crush, int floorOrCeiling, + int direction); + +int EV_BuildStairs(line_t * line, byte * args, int direction, stairs_e type); +int EV_DoFloor(line_t * line, byte * args, floor_e floortype); +void T_MoveFloor(floormove_t * floor); +void T_BuildPillar(pillar_t * pillar); +void T_FloorWaggle(floorWaggle_t * waggle); +int EV_BuildPillar(line_t * line, byte * args, boolean crush); +int EV_OpenPillar(line_t * line, byte * args); +int EV_DoFloorAndCeiling(line_t * line, byte * args, boolean raise); +int EV_FloorCrushStop(line_t * line, byte * args); boolean EV_StartFloorWaggle(int tag, int height, int speed, int offset, - int timer); + int timer); //-------------------------------------------------------------------------- // @@ -467,9 +481,9 @@ boolean EV_StartFloorWaggle(int tag, int height, int speed, int offset, // //-------------------------------------------------------------------------- -boolean P_Teleport(mobj_t *thing, fixed_t x, fixed_t y, angle_t angle, - boolean useFog); -boolean EV_Teleport(int tid, mobj_t *thing, boolean fog); +boolean P_Teleport(mobj_t * thing, fixed_t x, fixed_t y, angle_t angle, + boolean useFog); +boolean EV_Teleport(int tid, mobj_t * thing, boolean fog); //-------------------------------------------------------------------------- // @@ -485,13 +499,13 @@ boolean EV_Teleport(int tid, mobj_t *thing, boolean fog); typedef enum { - ASTE_INACTIVE, - ASTE_RUNNING, - ASTE_SUSPENDED, - ASTE_WAITINGFORTAG, - ASTE_WAITINGFORPOLY, - ASTE_WAITINGFORSCRIPT, - ASTE_TERMINATING + ASTE_INACTIVE, + ASTE_RUNNING, + ASTE_SUSPENDED, + ASTE_WAITINGFORTAG, + ASTE_WAITINGFORPOLY, + ASTE_WAITINGFORSCRIPT, + ASTE_TERMINATING } aste_t; typedef struct acs_s acs_t; @@ -499,42 +513,42 @@ typedef struct acsInfo_s acsInfo_t; struct acsInfo_s { - int number; - int *address; - int argCount; - aste_t state; - int waitValue; + int number; + int *address; + int argCount; + aste_t state; + int waitValue; }; struct acs_s { - thinker_t thinker; - mobj_t *activator; - line_t *line; - int side; - int number; - int infoIndex; - int delayCount; - int stack[ACS_STACK_DEPTH]; - int stackPtr; - int vars[MAX_ACS_SCRIPT_VARS]; - int *ip; + thinker_t thinker; + mobj_t *activator; + line_t *line; + int side; + int number; + int infoIndex; + int delayCount; + int stack[ACS_STACK_DEPTH]; + int stackPtr; + int vars[MAX_ACS_SCRIPT_VARS]; + int *ip; }; typedef struct { - int map; // Target map - int script; // Script number on target map - byte args[4]; // Padded to 4 for alignment + int map; // Target map + int script; // Script number on target map + byte args[4]; // Padded to 4 for alignment } acsstore_t; void P_LoadACScripts(int lump); -boolean P_StartACS(int number, int map, byte *args, mobj_t *activator, - line_t *line, int side); -boolean P_StartLockedACS(line_t *line, byte *args, mobj_t *mo, int side); +boolean P_StartACS(int number, int map, byte * args, mobj_t * activator, + line_t * line, int side); +boolean P_StartLockedACS(line_t * line, byte * args, mobj_t * mo, int side); boolean P_TerminateACS(int number, int map); boolean P_SuspendACS(int number, int map); -void T_InterpretACS(acs_t *script); +void T_InterpretACS(acs_t * script); void P_TagFinished(int tag); void P_PolyobjFinished(int po); void P_ACSInitNewGame(void); @@ -545,7 +559,7 @@ extern byte *ActionCodeBase; extern acsInfo_t *ACSInfo; extern int MapVars[MAX_ACS_MAP_VARS]; extern int WorldVars[MAX_ACS_WORLD_VARS]; -extern acsstore_t ACSStore[MAX_ACS_STORE+1]; // +1 for termination marker +extern acsstore_t ACSStore[MAX_ACS_STORE + 1]; // +1 for termination marker //-------------------------------------------------------------------------- // @@ -555,8 +569,8 @@ extern acsstore_t ACSStore[MAX_ACS_STORE+1]; // +1 for termination marker extern mobjtype_t TranslateThingType[]; -boolean EV_ThingProjectile(byte *args, boolean gravity); -boolean EV_ThingSpawn(byte *args, boolean fog); +boolean EV_ThingProjectile(byte * args, boolean gravity); +boolean EV_ThingSpawn(byte * args, boolean fog); boolean EV_ThingActivate(int tid); boolean EV_ThingDeactivate(int tid); boolean EV_ThingRemove(int tid); -- cgit v1.2.3