29 #include "../../idlib/precompiled.h"
32 #include "../Game_local.h"
44 value = args.
Argv( argNum++ );
60 if ( args.
Argc() > 1 ) {
70 gameLocal.
Printf(
"%-4s %-20s %-20s %s\n",
" Num",
"EntityDef",
"Class",
"Name" );
71 gameLocal.
Printf(
"--------------------------------------------------------------------\n" );
90 gameLocal.
Printf(
"...%d entities\n...%d bytes of spawnargs\n", count, size );
104 gameLocal.
Printf(
"%-4s %-20s %-20s %s\n",
" Num",
"EntityDef",
"Class",
"Name" );
105 gameLocal.
Printf(
"--------------------------------------------------------------------\n" );
152 for ( i = 0; i < 2; i++ ) {
155 }
else if ( i == 1 ) {
158 if ( gamedir.
Length() > 0 ) {
159 idStr scriptFile =
va(
"script/%s_main.script", gamedir.
c_str() );
181 static int funccount = 0;
190 sprintf( funcname,
"ConsoleFunction_%d", funccount++ );
192 script = args.
Args();
193 sprintf( text,
"void %s() {%s;}\n", funcname.
c_str(), script );
225 for( i = 1; i < args.
Argc(); i++ ) {
226 name = args.
Argv( i );
231 if ( ent->
IsType( superClass ) ) {
232 for( i = 0; i < ignore.
Num(); i++ ) {
233 if ( ignore[ i ] == ent->
name ) {
238 if ( i >= ignore.
Num() ) {
285 KillEntities( args, idAFEntity_WithAttachedHead::Type );
306 name = args.
Argv( 1 );
314 if ( give_all || (
idStr::Cmpn( name,
"weapon", 6 ) == 0 ) ) {
330 if ( give_all ||
idStr::Icmp( name,
"health" ) == 0 ) {
337 if ( give_all ||
idStr::Icmp( name,
"weapons" ) == 0 ) {
346 if ( give_all ||
idStr::Icmp( name,
"ammo" ) == 0 ) {
347 for ( i = 0 ; i < AMMO_NUMTYPES; i++ ) {
355 if ( give_all ||
idStr::Icmp( name,
"armor" ) == 0 ) {
373 if (
idStr::Icmp( name,
"invulnerability" ) == 0 ) {
374 if ( args.
Argc() > 2 ) {
384 if ( args.
Argc() > 2 ) {
394 if ( args.
Argc() > 2 ) {
413 if ( !give_all && !player->
Give( args.
Argv(1), args.
Argv(2) ) ) {
459 msg =
"godmode OFF\n";
462 msg =
"godmode ON\n";
488 msg =
"notarget OFF\n";
491 msg =
"notarget ON\n";
514 msg =
"noclip OFF\n";
535 outMsg.
Init( msgBuf,
sizeof( msgBuf ) );
541 common->
Printf(
"kill <client nickname> or kill <client index>\n" );
544 player->
Kill(
false,
false );
552 player->
Kill(
false,
false );
572 if ( args.
Argc() < 2 ) {
577 name = args.
Argv( 1 );
590 static void Cmd_Say(
bool team,
const idCmdArgs &args ) {
593 const char *cmd = team ?
"sayTeam" :
"say" ;
596 gameLocal.
Printf(
"%s can only be used in a multiplayer game\n", cmd );
600 if ( args.
Argc() < 2 ) {
606 if ( text.
Length() == 0 ) {
610 if ( text[ text.
Length() - 1 ] ==
'\n' ) {
611 text[ text.
Length() - 1 ] =
'\0';
630 if ( locationEntity ) {
649 outMsg.
Init( msgBuf,
sizeof( msgBuf ) );
664 static void Cmd_Say_f(
const idCmdArgs &args ) {
665 Cmd_Say(
false, args );
673 static void Cmd_SayTeam_f(
const idCmdArgs &args ) {
674 Cmd_Say(
true, args );
682 static void Cmd_AddChatLine_f(
const idCmdArgs &args ) {
691 static void Cmd_Kick_f(
const idCmdArgs &args ) {
700 gameLocal.
Printf(
"You have no such power. This is a server command\n" );
706 gameLocal.
Printf(
"usage: kick <client nickname> or kick <client index>\n" );
753 if ( ( args.
Argc() != 4 ) && ( args.
Argc() != 5 ) ) {
759 if ( args.
Argc() == 5 ) {
760 angles.
yaw = atof( args.
Argv( 4 ) );
763 for ( i = 0 ; i < 3 ; i++ ) {
764 origin[
i] = atof( args.
Argv( i + 1 ) );
787 if ( args.
Argc() != 2 ) {
788 gameLocal.
Printf(
"usage: teleport <name of entity to teleport to>\n" );
802 player->
Teleport( origin, angles, ent );
821 if ( args.
Argc() != 2 ) {
843 const char *key, *
value;
855 if ( args.
Argc() & 1 ) {
862 value = args.
Argv( 1 );
863 dict.
Set(
"classname", value );
864 dict.
Set(
"angle",
va(
"%f", yaw + 180 ) );
869 for( i = 2; i < args.
Argc() - 1; i += 2 ) {
871 key = args.
Argv( i );
872 value = args.
Argv( i + 1 );
874 dict.
Set( key, value );
891 if ( args.
Argc() != 3 ) {
892 gameLocal.
Printf(
"usage: damage <name of entity to damage> <damage>\n" );
917 if ( args.
Argc() != 2 ) {
961 if ( args.
Argc() >= 2 ) {
962 value = args.
Argv( 1 );
963 filename = args.
Argv(1);
965 dict.
Set(
"texture", filename );
968 dict.
Set(
"classname",
"light" );
969 for( i = 2; i < args.
Argc() - 1; i += 2 ) {
971 key = args.
Argv( i );
972 value = args.
Argv( i + 1 );
974 dict.
Set( key, value );
978 name =
va(
"spawned_light_%d", i );
983 dict.
Set(
"name", name );
1008 if ( args.
Argc() >= 2 ) {
1009 value = args.
Argv( 1 );
1010 dict.
Set(
"light", value);
1012 dict.
Set(
"light",
"300");
1015 dict.
Set(
"classname",
"light" );
1016 for( i = 2; i < args.
Argc() - 1; i += 2 ) {
1018 key = args.
Argv( i );
1019 value = args.
Argv( i + 1 );
1021 dict.
Set( key, value );
1025 name =
va(
"light_%d", i );
1030 dict.
Set(
"name", name );
1053 bool removeFromMap = ( args.
Argc() > 1 );
1058 if ( !ent->
IsType( idLight::Type ) ) {
1064 lastLight =
static_cast<idLight*
>( ent );
1072 if ( removeFromMap && mapEnt ) {
1095 bool removeFromMap = ( args.
Argc() > 1 );
1100 if ( !ent->
IsType( idLight::Type ) ) {
1104 light =
static_cast<idLight*
>( ent );
1107 if ( removeFromMap && mapEnt ) {
1137 if ( args.
Argc() < 2 ) {
1141 name = args.
Argv( 1 );
1146 dict.
Set(
"test",
"1");
1147 dict.
Set(
"fx", name );
1151 #define MAX_DEBUGLINES 128
1168 static void Cmd_AddDebugLine_f(
const idCmdArgs &args ) {
1176 if ( args.
Argc () < 7 ) {
1181 if ( !debugLines[i].used ) {
1185 if ( i >= MAX_DEBUGLINES ) {
1189 value = args.
Argv( 0 );
1191 debugLines[
i].
arrow =
true;
1193 debugLines[
i].
arrow =
false;
1195 debugLines[
i].
used =
true;
1196 debugLines[
i].
blink =
false;
1212 static void Cmd_RemoveDebugLine_f(
const idCmdArgs &args ) {
1220 if ( args.
Argc () < 2 ) {
1224 value = args.
Argv( 1 );
1227 if ( debugLines[i].used ) {
1233 if ( i >= MAX_DEBUGLINES ) {
1237 debugLines[
i].
used =
false;
1245 static void Cmd_BlinkDebugLine_f(
const idCmdArgs &args ) {
1253 if ( args.
Argc () < 2 ) {
1257 value = args.
Argv( 1 );
1258 num = atoi( value );
1260 if ( debugLines[i].used ) {
1266 if ( i >= MAX_DEBUGLINES ) {
1278 static void PrintFloat(
float f ) {
1281 for ( i =
sprintf( buf,
"%3.2f", f ); i < 7; i++ ) {
1293 static void Cmd_ListDebugLines_f(
const idCmdArgs &args ) {
1303 if ( debugLines[i].used ) {
1305 PrintFloat( debugLines[i].
start.x );
1306 PrintFloat( debugLines[i].
start.y );
1307 PrintFloat( debugLines[i].
start.z );
1308 PrintFloat( debugLines[i].
end.x );
1309 PrintFloat( debugLines[i].
end.y );
1310 PrintFloat( debugLines[i].
end.z );
1311 gameLocal.
Printf(
"%d %d %d\n", debugLines[i].
color, debugLines[i].blink, debugLines[i].arrow );
1332 if ( debugLines[i].used ) {
1334 color =
idVec4( debugLines[i].color&1, (debugLines[i].color>>1)&1, (debugLines[i].color>>2)&1, 1 );
1337 if ( debugLines[i].arrow ) {
1339 forward = debugLines[
i].
end - debugLines[
i].
start;
1346 p1 = debugLines[
i].
end - l * forward + (l * 0.4f) * right;
1347 p2 = debugLines[
i].
end - l * forward - (l * 0.4f) * right;
1362 static void Cmd_ListCollisionModels_f(
const idCmdArgs &args ) {
1375 static void Cmd_CollisionModelInfo_f(
const idCmdArgs &args ) {
1382 if ( args.
Argc () < 2 ) {
1384 "use 'all' instead of the model number for accumulated info\n" );
1388 value = args.
Argv( 1 );
1401 static void Cmd_ExportModels_f(
const idCmdArgs &args ) {
1411 if ( args.
Argc() < 2 ) {
1414 name = args.
Argv( 1 );
1415 name =
"def/" +
name;
1426 static void Cmd_ReexportModels_f(
const idCmdArgs &args ) {
1437 if ( args.
Argc() < 2 ) {
1440 name = args.
Argv( 1 );
1441 name =
"def/" +
name;
1453 static void Cmd_ReloadAnims_f(
const idCmdArgs &args ) {
1468 static void Cmd_ListAnims_f(
const idCmdArgs &args ) {
1474 const char * classname;
1478 if ( args.
Argc() > 1 ) {
1481 classname = args.
Argv( 1 );
1492 for( i = 0; i <
num; i++ ) {
1510 gameLocal.
Printf(
"%d memory used in %d entity animators\n", size, num );
1519 static void Cmd_AASStats_f(
const idCmdArgs &args ) {
1540 static void Cmd_TestDamage_f(
const idCmdArgs &args ) {
1542 const char *damageDefName;
1549 if ( args.
Argc() < 2 || args.
Argc() > 3 ) {
1554 damageDefName = args.
Argv( 1 );
1557 if ( args.
Argc() == 3 ) {
1558 float angle = atof( args.
Argv( 2 ) );
1578 static void Cmd_TestBoneFx_f(
const idCmdArgs &args ) {
1580 const char *bone, *fx;
1587 if ( args.
Argc() < 3 || args.
Argc() > 4 ) {
1592 fx = args.
Argv( 1 );
1593 bone = args.
Argv( 2 );
1603 static void Cmd_TestDeath_f(
const idCmdArgs &args ) {
1617 if ( args.
Argc() >= 2) {
1618 player->
SpawnGibs( dir,
"damage_triggerhurt_1000" );
1628 static void Cmd_WeaponSplat_f(
const idCmdArgs &args ) {
1644 static void Cmd_SaveSelected_f(
const idCmdArgs &args ) {
1661 gameLocal.
Printf(
"no entity selected, set g_dragShowSelection 1 to show the current selection\n" );
1665 if ( args.
Argc() > 1 ) {
1666 mapName = args.
Argv( 1 );
1667 mapName =
"maps/" + mapName;
1679 for ( i = 0; i < 9999; i++ ) {
1690 if ( s->
IsType( idMoveable::Type ) ) {
1695 else if ( s->
IsType( idAFEntity_Generic::Type ) || s->
IsType( idAFEntity_WithAttachedHead::Type ) ) {
1703 mapFile->
Write( mapName,
".map" );
1711 static void Cmd_DeleteSelected_f(
const idCmdArgs &args ) {
1729 static void Cmd_SaveMoveables_f(
const idCmdArgs &args ) {
1744 if ( !m || !m->
IsType( idMoveable::Type ) ) {
1757 if ( e < MAX_GENTITIES ) {
1762 if ( args.
Argc() > 1 ) {
1763 mapName = args.
Argv( 1 );
1764 mapName =
"maps/" + mapName;
1773 if ( !m || !m->
IsType( idMoveable::Type ) ) {
1787 for ( i = 0; i < 9999; i++ ) {
1803 mapFile->
Write( mapName,
".map" );
1811 static void Cmd_SaveRagdolls_f(
const idCmdArgs &args ) {
1824 if ( args.
Argc() > 1 ) {
1825 mapName = args.
Argv( 1 );
1826 mapName =
"maps/" + mapName;
1839 if ( !af->
IsType( idAFEntity_WithAttachedHead::Type ) && !af->
IsType( idAFEntity_Generic::Type ) ) {
1860 for ( i = 0; i < 9999; i++ ) {
1875 mapFile->
Write( mapName,
".map" );
1883 static void Cmd_BindRagdoll_f(
const idCmdArgs &args ) {
1901 static void Cmd_UnbindRagdoll_f(
const idCmdArgs &args ) {
1919 static void Cmd_GameError_f(
const idCmdArgs &args ) {
1928 static void Cmd_SaveLights_f(
const idCmdArgs &args ) {
1941 if ( args.
Argc() > 1 ) {
1942 mapName = args.
Argv( 1 );
1943 mapName =
"maps/" + mapName;
1952 if ( !light || !light->
IsType( idLight::Type ) ) {
1965 for ( i = 0; i < 9999; i++ ) {
1980 mapFile->
Write( mapName,
".map" );
1989 static void Cmd_SaveParticles_f(
const idCmdArgs &args ) {
1995 idStr mapName, strModel;
2001 if ( args.
Argc() > 1 ) {
2002 mapName = args.
Argv( 1 );
2003 mapName =
"maps/" + mapName;
2018 if ( strModel.
Length() && strModel.
Find(
".prt") > 0 ) {
2035 mapFile->
Write( mapName,
".map" );
2044 static void Cmd_DisasmScript_f(
const idCmdArgs &args ) {
2053 static void Cmd_TestSave_f(
const idCmdArgs &args ) {
2066 static void Cmd_RecordViewNotes_f(
const idCmdArgs &args ) {
2071 if ( args.
Argc() <= 3 ) {
2103 viewComments +=
" -- Loc: ";
2105 viewComments +=
"\n";
2106 viewComments += args.
Argv(3);
2116 static void Cmd_CloseViewNotes_f(
const idCmdArgs &args ) {
2132 static void Cmd_ShowViewNotes_f(
const idCmdArgs &args ) {
2145 if ( !parser.IsLoaded() ) {
2146 idStr str =
"viewnotes/";
2150 if ( args.
Argc() > 1 ) {
2151 str += args.
Argv( 1 );
2156 if ( !parser.LoadFile( str ) ) {
2162 if ( parser.ExpectTokenString(
"view" ) && parser.Parse1DMatrix( 3, origin.
ToFloatPtr() ) &&
2163 parser.Parse1DMatrix( 9, axis.
ToFloatPtr() ) && parser.ExpectTokenString(
"comments" ) && parser.ReadToken( &token ) ) {
2168 parser.FreeSource();
2196 renderModel = renderEnt->
hModel;
2197 if ( renderModel ==
NULL ) {
2201 for( i = 0; i < renderModel->
NumSurfaces(); i++ ) {
2202 surf = renderModel->
Surface( i );
2203 if ( surf ==
NULL ) {
2207 if ( shader ==
NULL ) {
2211 surfaces[ guiSurfaces++ ] = surf;
2215 return ( guiSurfaces != 0 );
2243 if ( args.
Argc() != 1 ) {
2254 if ( ent ==
NULL ) {
2265 if ( newEnt ==
true ) {
2267 if ( ent ==
NULL ) {
2303 if ( guiSurfaces == 0 ) {
2312 geom = surfaces[ surfIndex ]->
geometry;
2313 if ( geom ==
NULL ) {
2324 origin = center + (normal * 32.0f);
2335 void Cmd_SetActorState_f(
const idCmdArgs &args ) {
2337 if ( args.
Argc() != 3 ) {
2338 common->
Printf(
"usage: setActorState <entity name> <state>\n" );
2350 if(!ent->
IsType(idActor::Type)) {
2360 static void ArgCompletion_DefFile(
const idCmdArgs &args,
void(*
callback)(
const char *s ) ) {
2373 if ( args.
Argc() == 1 ) {
2378 for ( i = 1; i < args.
Argc(); i++ ) {
2379 id += args.
Argv( i );
2472 #ifndef ID_DEMO_BUILD
virtual const idVec3 & GetOrigin(int id=0) const =0
void Cmd_Teleport_f(const idCmdArgs &args)
idPlayer * GetLocalPlayer() const
static void DisplayInfo_f(const idCmdArgs &args)
GLsizei const GLfloat * value
void Cmd_ReloadScript_f(const idCmdArgs &args)
bool CompileText(const char *source, const char *text, bool console)
void WriteGameState_f(const idCmdArgs &args)
idStr & SetFileExtension(const char *extension)
bool PostEventSec(const idEventDef *ev, float time)
assert(prefInfo.fullscreenBtn)
const idDict * FindEntityDefDict(const char *name, bool makeDefault=true) const
const idVec3 & Normal(void) const
idLinkList< idEntity > activeEntities
idCVarSystem * cvarSystem
void Cmd_KillRagdolls_f(const idCmdArgs &args)
virtual idAnimator * GetAnimator(void)
idNetworkSystem * networkSystem
void UnbindSelected(void)
idVec3 GetCenter(void) const
idMapEntity * FindEntity(const char *name)
void StripLeading(const char c)
void Printf(const char *fmt,...) const id_attribute((format(printf
bool BloodSplat(float size)
virtual void SetStateString(const char *varName, const char *value)=0
void ListAnims(void) const
struct idEntity::entityFlags_s fl
virtual void virtual void virtual const idLangDict * GetLanguageDict(void)=0
type * GetEntity(void) const
idPlayer * GetClientByCmdArgs(const idCmdArgs &args) const
idEntity * GetSelected(void) const
static void MessageMode_f(const idCmdArgs &args)
float GetFloat(void) const
static void ListClasses_f(const idCmdArgs &args)
const char * ToString(int precision=2) const
bool GiveItem(idItem *item)
const idStr & GetKey(void) const
void Cmd_NextGUI_f(const idCmdArgs &args)
const idEventDef EV_Activate("activate","e")
bool Filter(const char *filter, bool casesensitive) const
const float * ToFloatPtr(void) const
void DeleteSelected(void)
virtual int ReadFile(const char *relativePath, void **buffer, ID_TIME_T *timestamp=NULL)=0
void void void void void Error(const char *fmt,...) const id_attribute((format(printf
void Disassemble(void) const
void Cmd_Spawn_f(const idCmdArgs &args)
bool IsType(const idTypeInfo &c) const
virtual int GetCVarInteger(const char *name) const =0
idEntity * FindEntity(const char *name) const
virtual void ListModels(void)=0
int spawnIds[MAX_GENTITIES]
const idEventDef EV_Player_SelectWeapon("selectWeapon","s")
void TestSaveGame_f(const idCmdArgs &args)
idVec3 GetEyePosition(void) const
bool ProcessEvent(const idEventDef *ev)
idFileSystem * fileSystem
const idMaterial * shader
const char * Args(int start=1, int end=-1, bool escapeArgs=false) const
int GetEntityGui(void) const
void Cmd_Noclip_f(const idCmdArgs &args)
const char * GetLocation(void) const
void GivePDA(const char *pdaName, idDict *item)
virtual idFile * OpenFileAppend(const char *filename, bool sync=false, const char *basePath="fs_basepath")=0
static void TestModelNextFrame_f(const idCmdArgs &args)
virtual void HandleNamedEvent(const char *eventName)=0
static void List_f(const idCmdArgs &args)
void CompileFile(const char *filename)
void Cmd_KillMonsters_f(const idCmdArgs &args)
void Cmd_Remove_f(const idCmdArgs &args)
static const float M_DEG2RAD
static void TestModelPrevAnim_f(const idCmdArgs &args)
void WriteString(const char *s, int maxLength=-1, bool make7Bit=true)
static void TestModelNextAnim_f(const idCmdArgs &args)
void Cmd_EntityList_f(const idCmdArgs &args)
const char * GetClassname(void) const
idStr & DefaultFileExtension(const char *extension)
void Set(const char *key, const char *value)
virtual void RemoveFlaggedCommands(int flags)=0
bool FindEntityGUIs(idEntity *ent, const modelSurface_t **surfaces, int maxSurfs, int &guiSurfaces)
int Cmpn(const char *text, int n) const
void Cmd_TestPointLight_f(const idCmdArgs &args)
static void SinCos(float a, float &s, float &c)
void Copy(const idDict &other)
int Icmp(const char *text) const
bool Give(const char *statname, const char *value)
virtual bool IsAtRest(void) const
static void TestBlend_f(const idCmdArgs &args)
void Init(byte *data, int length)
static void TestParticleStopTime_f(const idCmdArgs &args)
void FinishCompilation(void)
const char * GetMapName(void) const
static void TestAnim_f(const idCmdArgs &args)
idLocationEntity * LocationForPoint(const idVec3 &point)
#define STRTABLE_ID_LENGTH
idEntity * SpawnEntityType(const idTypeInfo &classdef, const idDict *args=NULL, bool bIsClientReadSnapshot=false)
void void void Warning(const char *fmt,...) const id_attribute((format(printf
void StartFxOnBone(const char *fx, const char *bone)
virtual void BufferCommandText(cmdExecution_t exec, const char *text)=0
static void MapRestart_f(const idCmdArgs &args)
void Cmd_Notarget_f(const idCmdArgs &args)
idRenderModel * SetModel(const char *modelname)
bool GivePowerUp(int powerup, int time)
virtual void ArgCompletion_FolderExtension(const idCmdArgs &args, void(*callback)(const char *s), const char *folder, bool stripFolder,...)=0
GLuint GLuint GLsizei count
void Cmd_Trigger_f(const idCmdArgs &args)
int ExportDefFile(const char *filename)
static void ArgCompletion_TestModel(const idCmdArgs &args, void(*callback)(const char *s))
idAAS * GetAAS(int num) const
static void TestModel_f(const idCmdArgs &args)
void ListTypeInfo_f(const idCmdArgs &args)
idPhysics * GetPhysics(void) const
virtual void DebugLine(const idVec4 &color, const idVec3 &start, const idVec3 &end, const int lifetime=0, const bool depthTest=false)=0
idAngles ToAngles(void) const
const char * GetString(const char *key, const char *defaultString="") const
void D_DrawDebugLines(void)
bool SpawnEntityDef(const idDict &args, idEntity **ent=NULL, bool setDefaults=true)
void AddChatLine(const char *fmt,...) id_attribute((format(printf
idStr & StripFileExtension(void)
idVec3 ToForward(void) const
void GiveVideo(const char *videoName, idDict *item)
void SaveState(idDict &args) const
virtual renderEntity_t * GetRenderEntity(void)
virtual void Damage(idEntity *inflictor, idEntity *attacker, const idVec3 &dir, const char *damageDefName, const float damageScale, const int location)
static void ListThreads_f(const idCmdArgs &args)
void Cmd_TestId_f(const idCmdArgs &args)
bool GetBool(const char *key, const char *defaultString="0") const
virtual const char * GetCVarString(const char *name) const =0
srfTriangles_t * geometry
bool Write(const char *fileName, const char *ext, bool fromBasePath=true)
renderView_t * GetRenderView(void)
int GetInteger(void) const
const int MAX_RENDERENTITY_GUI
virtual const modelSurface_t * Surface(int surfaceNum) const =0
idCVar pm_normalviewheight("pm_normalviewheight","68", CVAR_GAME|CVAR_NETWORKSYNC|CVAR_FLOAT,"height of player's view while standing")
virtual void Teleport(const idVec3 &origin, const idAngles &angles, idEntity *destination)
void SetEntity(const char *name, idEntity *ent)
virtual idFile * OpenFileWrite(const char *relativePath, const char *basePath="fs_savepath")=0
static void VoiceChatTeam_f(const idCmdArgs &args)
static void TestModelPrevFrame_f(const idCmdArgs &args)
const char * GetString(const char *str) const
float Cmd_GetFloatArg(const idCmdArgs &args, int &argNum)
const idStr & GetValue(void) const
void KillEntities(const idCmdArgs &args, const idTypeInfo &superClass)
virtual const idMat3 & GetAxis(int id=0) const =0
idMapFile * GetLevelMap(void)
idCVar g_testDeath("g_testDeath","0", CVAR_GAME|CVAR_BOOL,"")
int Find(const char c, int start=0, int end=-1) const
virtual int WriteFloatString(const char *fmt,...) id_attribute((format(printf
void SpawnToPoint(const idVec3 &spawn_origin, const idAngles &spawn_angles)
idLinkList< idEntity > spawnNode
void Cmd_KillMovables_f(const idCmdArgs &args)
void Cmd_SetViewpos_f(const idCmdArgs &args)
void SetBool(const char *key, bool val)
int ExportModels(const char *pathname, const char *extension)
static void TestShaderParm_f(const idCmdArgs &args)
void SetViewAngles(const idAngles &angles)
virtual void Damage(idEntity *inflictor, idEntity *attacker, const idVec3 &dir, const char *damageDefName, const float damageScale, const int location)
qhandle_t GetLightDefHandle(void) const
virtual void Printf(const char *fmt,...) id_attribute((format(printf
idLinkList< idEntity > spawnedEntities
static void ArgCompletion_TestAnim(const idCmdArgs &args, void(*callback)(const char *s))
const char * ToString(int precision=2) const
float EyeHeight(void) const
void RemoveEntity(idMapEntity *mapEnt)
idEntity * entities[MAX_GENTITIES]
idDict userInfo[MAX_CLIENTS]
idCVar aas_test("aas_test","0", CVAR_GAME|CVAR_INTEGER,"")
void Cmd_PlayerModel_f(const idCmdArgs &args)
int Append(const type &obj)
void Cmd_ListSpawnArgs_f(const idCmdArgs &args)
const char * AnimFullName(int animnum) const
static void NextMap_f(const idCmdArgs &args)
void ProcessChatMessage(int clientNum, bool team, const char *name, const char *text, const char *sound)
void Cmd_Kill_f(const idCmdArgs &args)
bool IsGametypeFlagBased(void)
virtual void SpawnGibs(const idVec3 &dir, const char *damageDefName)
void InitConsoleCommands(void)
void Signal(signalNum_t signalnum)
virtual void ModelInfo(cmHandle_t model)=0
idDict * GetUserInfo(void)
void Cmd_ClearLights_f(const idCmdArgs &args)
void Cmd_Give_f(const idCmdArgs &args)
static void ForceReady_f(const idCmdArgs &args)
static void TestSkin_f(const idCmdArgs &args)
static void DropWeapon_f(const idCmdArgs &args)
idAnimManager animationLib
const char * c_str(void) const
void SaveState(idDict *args)
const int MAX_GAME_MESSAGE_SIZE
void Cmd_CenterView_f(const idCmdArgs &args)
static const char * GetAmmoNameForNum(ammo_t ammonum)
void Startup(const char *defaultScript)
idAngles ToAngles(void) const
const idKeyValue * GetKeyVal(int index) const
void SetBool(const bool value)
const idEventDef EV_Remove("<immediateremove>", NULL)
void Cmd_ActiveEntityList_f(const idCmdArgs &args)
void Cmd_TestLight_f(const idCmdArgs &args)
void Cmd_Script_f(const idCmdArgs &args)
function_t * FindFunction(const char *name) const
const char * Argv(int arg) const
bool CheatsOk(bool requirePlayer=true)
void Cmd_God_f(const idCmdArgs &args)
gameDebugLine_t debugLines[MAX_DEBUGLINES]
const idEventDef AI_SetState("setState","s")
void Cmd_Damage_f(const idCmdArgs &args)
int MaxAmmoForAmmoClass(idPlayer *owner, const char *ammo_classname) const
virtual void SaveGame(idFile *saveGameFile)
virtual void MapShutdown(void)
const char * GetEntityDefName(void) const
static void ArgCompletion_EntityName(const idCmdArgs &args, void(*callback)(const char *s))
void Cmd_GetViewpos_f(const idCmdArgs &args)
idRenderWorld * gameRenderWorld
void GetViewPos(idVec3 &origin, idMat3 &axis) const
char * va(const char *fmt,...)
void Cmd_PopLight_f(const idCmdArgs &args)
int AddEntity(idMapEntity *mapentity)
virtual void CloseFile(idFile *f)=0
bool PostEventMS(const idEventDef *ev, int time)
void Cmd_TestFx_f(const idCmdArgs &args)
const float * ToFloatPtr(void) const
void Replace(const char *old, const char *nw)
idEntityPtr< idEntity > lastGUIEnt
void Kill(bool delayRespawn, bool nodamage)
size_t Allocated(void) const
virtual void Stats(void) const =0
int GetNumKeyVals(void) const
size_t Allocated(void) const
const char * GetName(void) const
int sprintf(idStr &string, const char *fmt,...)
idEntityPtr< idWeapon > weapon
idLinkList< idEntity > activeNode
void NormalVectors(idVec3 &left, idVec3 &down) const
idCollisionModelManager * collisionModelManager
virtual void ClientSendReliableMessage(const idBitMsg &msg)
static void VoiceChat_f(const idCmdArgs &args)
virtual void AddCommand(const char *cmdName, cmdFunction_t function, int flags, const char *description, argCompletion_t argCompletion=NULL)=0
void SetVector(const char *key, const idVec3 &val)
void ShutdownConsoleCommands(void)
void SetMatrix(const char *key, const idMat3 &val)
static void KeepTestModel_f(const idCmdArgs &args)
virtual int NumSurfaces() const =0