mirror of
https://github.com/UberGames/rpgxEF.git
synced 2024-11-14 00:40:34 +00:00
4453 lines
104 KiB
C
4453 lines
104 KiB
C
// entity lib for lua
|
|
|
|
#include "g_lua.h"
|
|
#include "g_spawn.h"
|
|
|
|
extern qboolean G_CallSpawn(gentity_t *ent);
|
|
|
|
#ifdef G_LUA
|
|
|
|
/***
|
|
Module to access entity functions and manage enities.
|
|
@module entiy
|
|
*/
|
|
|
|
/***
|
|
This is just a function called from lua it should be called before any other model work
|
|
this will loop trough all misc_model_breakables and checks their model-string against those listed here
|
|
if it finds a match it will apply the associated splashDamage, splashRadius and s.powerups (material of chunks) to the entity
|
|
this is the only failsafe way i can think of to do these kind of refit
|
|
@function MMBRefit
|
|
*/
|
|
static int Entity_MMBRefit(lua_State * L)
|
|
{
|
|
gentity_t *MMB;
|
|
char serverInfo[MAX_TOKEN_CHARS];
|
|
char *arg2;
|
|
trap_GetServerinfo( serverInfo, sizeof( serverInfo ) );
|
|
arg2 = Info_ValueForKey( serverInfo, "mapname" );
|
|
|
|
if( !Q_stricmp( arg2, "_brig" ) // I stole this directly from g_cmds.c, Cmd_CallVote_f
|
|
|| !Q_stricmp( arg2, "_holodeck_camelot" ) || !Q_stricmp( arg2, "_holodeck_firingrange" ) || !Q_stricmp( arg2, "_holodeck_garden" ) || !Q_stricmp( arg2, "_holodeck_highnoon" ) || !Q_stricmp( arg2, "_holodeck_minigame" ) || !Q_stricmp( arg2, "_holodeck_proton" ) || !Q_stricmp( arg2, "_holodeck_proton2" ) || !Q_stricmp( arg2, "_holodeck_temple" ) || !Q_stricmp( arg2, "_holodeck_warlord" )
|
|
|| !Q_stricmp( arg2, "borg1" ) || !Q_stricmp( arg2, "borg2" ) || !Q_stricmp( arg2, "borg3" ) || !Q_stricmp( arg2, "borg4" ) || !Q_stricmp( arg2, "borg5" ) || !Q_stricmp( arg2, "borg6" )
|
|
|| !Q_stricmp( arg2, "dn1" ) || !Q_stricmp( arg2, "dn2" ) || !Q_stricmp( arg2, "dn3" ) || !Q_stricmp( arg2, "dn4" ) || !Q_stricmp( arg2, "dn5" ) || !Q_stricmp( arg2, "dn6" ) || !Q_stricmp( arg2, "dn8" )
|
|
|| !Q_stricmp( arg2, "forge1" ) || !Q_stricmp( arg2, "forge2" ) || !Q_stricmp( arg2, "forge3" ) || !Q_stricmp( arg2, "forge4" ) || !Q_stricmp( arg2, "forge5" ) || !Q_stricmp( arg2, "forgeboss" )
|
|
|| !Q_stricmp( arg2, "holodeck" )
|
|
|| !Q_stricmp( arg2, "scav1" ) || !Q_stricmp( arg2, "scav2" ) || !Q_stricmp( arg2, "scav3" ) || !Q_stricmp( arg2, "scav3b" ) || !Q_stricmp( arg2, "scav4" ) || !Q_stricmp( arg2, "scav5" ) || !Q_stricmp( arg2, "scavboss" )
|
|
|| !Q_stricmp( arg2, "stasis1" ) || !Q_stricmp( arg2, "stasis2" ) || !Q_stricmp( arg2, "stasis3" )
|
|
|| !Q_stricmp( arg2, "tour/deck01" ) || !Q_stricmp( arg2, "tour/deck02" ) || !Q_stricmp( arg2, "tour/deck03" ) || !Q_stricmp( arg2, "tour/deck04" ) || !Q_stricmp( arg2, "tour/deck05" ) || !Q_stricmp( arg2, "tour/deck08" ) || !Q_stricmp( arg2, "tour/deck09" ) || !Q_stricmp( arg2, "tour/deck10" ) || !Q_stricmp( arg2, "tour/deck11" ) || !Q_stricmp( arg2, "tour/deck15" )
|
|
|| !Q_stricmp( arg2, "tutorial" )
|
|
|| !Q_stricmp( arg2, "voy1" ) || !Q_stricmp( arg2, "voy13" ) || !Q_stricmp( arg2, "voy14" ) || !Q_stricmp( arg2, "voy15" ) || !Q_stricmp( arg2, "voy16" ) || !Q_stricmp( arg2, "voy17" ) || !Q_stricmp( arg2, "voy2" ) || !Q_stricmp( arg2, "voy20" ) || !Q_stricmp( arg2, "voy3" ) || !Q_stricmp( arg2, "voy4" ) || !Q_stricmp( arg2, "voy5" ) || !Q_stricmp( arg2, "voy6" ) || !Q_stricmp( arg2, "voy7" ) || !Q_stricmp( arg2, "voy8" ) || !Q_stricmp( arg2, "voy9" ) ) {
|
|
MMB = NULL; //init MMB here to do sth pointless
|
|
} else {
|
|
return 0; //we are not on one of the supported maps
|
|
}
|
|
|
|
while((MMB = G_Find(MMB, FOFS(classname), "misc_model_breakable" )) != NULL ){//loop while you find these
|
|
//borg maps
|
|
if( !Q_stricmp( MMB->model, "models/mapobjects/borg/blite.md3" )){ //alcove light
|
|
MMB->splashDamage = 75;
|
|
MMB->splashRadius = 75;
|
|
MMB->s.powerups = 3;//glass and metal, may reduce this to glass only
|
|
MMB->spawnflags = 258;
|
|
G_CallSpawn(MMB);
|
|
}else if( !Q_stricmp( MMB->model, "models/mapobjects/borg/circuit_1.md3" )){ //those things that look like a handle
|
|
MMB->splashDamage = 75;
|
|
MMB->splashRadius = 75;
|
|
MMB->s.powerups = 1;//
|
|
MMB->spawnflags = 263;
|
|
G_CallSpawn(MMB);
|
|
}else if( !Q_stricmp( MMB->model, "models/mapobjects/borg/circuit_2.md3" )){ //the isosceles triangle looking box
|
|
MMB->splashDamage = 75;
|
|
MMB->splashRadius = 75;
|
|
MMB->s.powerups = 1;//
|
|
MMB->spawnflags = 263;
|
|
G_CallSpawn(MMB);
|
|
}else if( !Q_stricmp( MMB->model, "models/mapobjects/borg/circuit_3.md3" )){ //the other triangle looking box
|
|
MMB->splashDamage = 75;
|
|
MMB->splashRadius = 75;
|
|
MMB->s.powerups = 1;//metal
|
|
MMB->spawnflags = 263;
|
|
G_CallSpawn(MMB);
|
|
}else if( !Q_stricmp( MMB->model, "models/mapobjects/borg/vynclumn.md3" )){ //no description needed ^^
|
|
MMB->splashDamage = 9999;
|
|
MMB->splashRadius = 9999;
|
|
MMB->s.powerups = 1;//metal
|
|
MMB->spawnflags = 263;
|
|
G_CallSpawn(MMB);
|
|
}else continue;//we are not looking for this kind of MMB
|
|
}
|
|
|
|
return 0;
|
|
}
|
|
|
|
|
|
/***
|
|
Returns a target entity of ent.
|
|
@function GetTarget
|
|
@return Target of the entity.
|
|
*/
|
|
static int Entity_GetTarget(lua_State * L)
|
|
{
|
|
lent_t* lent = NULL;
|
|
gentity_t* t = NULL;
|
|
|
|
LUA_DEBUG("BEGIN - entity.GetTarget");
|
|
|
|
lent = Lua_GetEntity(L, 1);
|
|
|
|
if(lent == NULL || lent->e == NULL) {
|
|
LUA_DEBUG("ERROR - entity.GetTarget - entity NULL");
|
|
|
|
lua_pushnil(L);
|
|
return 1;
|
|
}
|
|
|
|
t = G_PickTarget(lent->e->target);
|
|
if(t == NULL) {
|
|
LUA_DEBUG("ERROR - entity.GetTarget - target NULL");
|
|
|
|
lua_pushnil(L);
|
|
return 1;
|
|
}
|
|
|
|
Lua_PushEntity(L, t);
|
|
LUA_DEBUG("END - entity.GetTarget");
|
|
return 1;
|
|
}
|
|
|
|
/***
|
|
Returns the entity with the brush model bmodelnumber.
|
|
This is the only failsafe way to find brush entities as the
|
|
entity number is different when you load a map local or join a server.
|
|
@function FindBModel
|
|
@param number Number of the brush model.
|
|
*/
|
|
static int Entity_FindBModel(lua_State *L) {
|
|
gentity_t* ent = NULL;
|
|
int bmodel;
|
|
char tmp[MAX_QPATH];
|
|
|
|
LUA_DEBUG("BEGIN - entity.FindBModel");
|
|
|
|
bmodel = luaL_checkint(L, 1);
|
|
sprintf(tmp, "*%d", bmodel);
|
|
ent = G_Find(NULL, FOFS(model), tmp);
|
|
|
|
if(ent == NULL) {
|
|
LUA_DEBUG("ERROR - entity.FindBModel - entity NULL");
|
|
lua_pushnil(L);
|
|
} else {
|
|
Lua_PushEntity(L, ent);
|
|
}
|
|
|
|
LUA_DEBUG("END - entity.FindBModel");
|
|
return 1;
|
|
}
|
|
|
|
/***
|
|
Returns the entity with the entity number entnum.
|
|
@function FindNumber
|
|
@param number Entity number.
|
|
@return Entity for the given entity number.
|
|
*/
|
|
static int Entity_FindNumber(lua_State * L)
|
|
{
|
|
int entnum;
|
|
gentity_t* ent = NULL;
|
|
|
|
LUA_DEBUG("BEGIN - entity.FindNumber");
|
|
|
|
entnum = luaL_checknumber(L, 1);
|
|
ent = &g_entities[entnum];
|
|
|
|
if(ent == NULL || ent->inuse == qfalse) {
|
|
LUA_DEBUG("ERROR - entity.FindNumber - entity NULL");
|
|
lua_pushnil(L);
|
|
} else {
|
|
Lua_PushEntity(L, ent);
|
|
}
|
|
|
|
LUA_DEBUG("END - entity.FindNumber");
|
|
return 1;
|
|
}
|
|
|
|
/***
|
|
Returns the first entity found that has a targetname of targetname.
|
|
@function Find
|
|
@param targetname
|
|
@return First entity found that has the given targetname.
|
|
*/
|
|
static int Entity_Find(lua_State * L)
|
|
{
|
|
gentity_t* t = NULL;
|
|
|
|
LUA_DEBUG("BEGIN - entity.Find");
|
|
|
|
t = G_Find(t, FOFS(targetname), (char *)luaL_checkstring(L, 1));
|
|
|
|
if(t == NULL) {
|
|
LUA_DEBUG("ERROR - entity.Find - target NULL");
|
|
lua_pushnil(L);
|
|
} else {
|
|
Lua_PushEntity(L, t);
|
|
}
|
|
|
|
LUA_DEBUG("END - entity.Find");
|
|
return 1;
|
|
}
|
|
|
|
/***
|
|
Returns the misc_model_breakable entity that has a matching MMB->s.origin.
|
|
Requires vector as input.
|
|
You can get the s.origin ingame as an admin/developer by pointing at the MMB ingame and using the /getorigin-command.
|
|
@function FindMMB
|
|
@param vector Origin of misc_model_breakable.
|
|
@return Matching entity.
|
|
*/
|
|
static int Entity_FindMMB(lua_State * L)
|
|
{
|
|
gentity_t *t = NULL, *MMB = NULL;
|
|
vec_t *vec = NULL, *origin = NULL;
|
|
|
|
vec = Lua_GetVector(L, 2);
|
|
|
|
if(vec == NULL) {
|
|
lua_pushnil(L);
|
|
return 1;
|
|
}
|
|
|
|
while((MMB = G_Find(MMB, FOFS(classname), "misc_model_breakable")) != NULL){
|
|
origin = MMB->s.origin;
|
|
if(vec[0] == origin[0] && vec[1] == origin[1] && vec[2] == origin[2]){
|
|
t = MMB;
|
|
break;
|
|
} else {
|
|
continue;
|
|
}
|
|
}
|
|
if(t == NULL) {
|
|
lua_pushnil(L);
|
|
} else {
|
|
Lua_PushEntity(L, t);
|
|
}
|
|
|
|
return 1;
|
|
}
|
|
|
|
/***
|
|
Uses the given entity.
|
|
@function Use
|
|
@param ent Entity to use.
|
|
@return Success or failure.
|
|
*/
|
|
static int Entity_Use(lua_State * L)
|
|
{
|
|
lent_t* lent = NULL;
|
|
|
|
LUA_DEBUG("BEGIN - entity.Use");
|
|
|
|
lent = Lua_GetEntity(L, 1);
|
|
|
|
if(lent == NULL || lent->e == NULL || lent->e->use == NULL) {
|
|
LUA_DEBUG("ERROR - entity.Use - entity NULL");
|
|
lua_pushboolean(L, qfalse);
|
|
return 1;
|
|
}
|
|
|
|
if(lent->e->luaUse != NULL) {
|
|
LUA_DEBUG("INFO - entity.Use - calling entity->luaUse");
|
|
LuaHook_G_EntityUse(lent->e->luaUse, lent->e-g_entities, lent->e-g_entities, lent->e-g_entities);
|
|
}
|
|
lent->e->use(lent->e, NULL, lent->e);
|
|
|
|
lua_pushboolean(L, qtrue);
|
|
LUA_DEBUG("END - entity.Use");
|
|
return 1;
|
|
}
|
|
|
|
/***
|
|
Teleports client to target's position
|
|
@function Teleport
|
|
@param target Target entity to teleport to.
|
|
@return Success or failure.
|
|
*/
|
|
static int Entity_Teleport(lua_State * L)
|
|
{
|
|
lent_t* lent = NULL;;
|
|
lent_t* target = NULL;
|
|
|
|
LUA_DEBUG("BEGIN - entity.Teleport");
|
|
|
|
lent = Lua_GetEntity(L, 1);
|
|
target = Lua_GetEntity(L, 2);
|
|
|
|
if(lent == NULL || lent->e == NULL) {
|
|
LUA_DEBUG("ERROR - entity.Teleport - entity NULL");
|
|
lua_pushboolean(L, qfalse);
|
|
return 1;
|
|
}
|
|
|
|
if(target == NULL || target->e == NULL) {
|
|
LUA_DEBUG("ERROR - entity.Teleport - target NULL");
|
|
lua_pushboolean(L, qfalse);
|
|
return 1;
|
|
}
|
|
|
|
if(lent->e->client != NULL) {
|
|
LUA_DEBUG("INFO - entity.Teleport - calling TeleportPlayer");
|
|
TeleportPlayer(lent->e, target->e->s.origin, target->e->s.angles, TP_NORMAL);
|
|
lua_pushboolean(L, qtrue);
|
|
} else {
|
|
lua_pushboolean(L, qfalse);
|
|
}
|
|
|
|
LUA_DEBUG("END - entity.Teleport");
|
|
return 1;
|
|
}
|
|
|
|
|
|
/***
|
|
Checks if an entity is a rocket.
|
|
@function IsRocket
|
|
@return True if entity is a rocket else false.
|
|
*/
|
|
static int Entity_IsRocket(lua_State * L)
|
|
{
|
|
lent_t* lent = NULL;
|
|
qboolean rocket = qfalse;
|
|
|
|
lent = Lua_GetEntity(L, 1);
|
|
|
|
if(lent == NULL || lent->e == NULL) {
|
|
lua_pushboolean(L, qfalse);
|
|
return 1;
|
|
}
|
|
|
|
if(!Q_stricmp(lent->e->classname, "rocket")) {
|
|
rocket = qtrue;
|
|
}
|
|
|
|
lua_pushboolean(L, rocket);
|
|
return 1;
|
|
}
|
|
|
|
/***
|
|
Checks if an entity is a grenade.
|
|
@function IsGrenade
|
|
@return true if entity is a grenade else false.
|
|
*/
|
|
static int Entity_IsGrenade(lua_State * L)
|
|
{
|
|
lent_t* lent = NULL;
|
|
qboolean grenade = qfalse;
|
|
|
|
lent = Lua_GetEntity(L, 1);
|
|
|
|
if(lent == NULL || lent->e == NULL) {
|
|
lua_pushboolean(L, qfalse);
|
|
return 1;
|
|
}
|
|
|
|
if(!Q_stricmp(lent->e->classname, "grenade")) {
|
|
grenade = qtrue;
|
|
}
|
|
|
|
lua_pushboolean(L, grenade);
|
|
return 1;
|
|
}
|
|
|
|
/***
|
|
Tries to spawn a new entity and returns it. If no new entity can be spawned nil is returned.
|
|
@function Spawn
|
|
@return New entity or nil if failure.
|
|
*/
|
|
static int Entity_Spawn(lua_State * L)
|
|
{
|
|
gentity_t* ent = NULL;
|
|
|
|
ent = G_Spawn();
|
|
|
|
if(ent == NULL) {
|
|
lua_pushnil(L);
|
|
return 1;
|
|
}
|
|
|
|
Lua_PushEntity(L, ent);
|
|
return 1;
|
|
}
|
|
|
|
/***
|
|
Returns the entities index number.
|
|
@function GetNumber
|
|
@return Index number for entity.
|
|
*/
|
|
static int Entity_GetNumber(lua_State * L)
|
|
{
|
|
lent_t* lent = NULL;
|
|
|
|
lent = Lua_GetEntity(L, 1);
|
|
if(lent == NULL || lent->e == NULL) {
|
|
lua_pushinteger(L, -1);
|
|
} else {
|
|
lua_pushinteger(L, lent->e - g_entities);
|
|
}
|
|
|
|
return 1;
|
|
}
|
|
|
|
/***
|
|
Checks if an entity is a client
|
|
@function IsClient
|
|
@return true if entity is a client else return false.
|
|
*/
|
|
static int Entity_IsClient(lua_State * L)
|
|
{
|
|
lent_t* lent = NULL;
|
|
|
|
lent = Lua_GetEntity(L, 1);
|
|
|
|
if(lent == NULL || lent->e == NULL) {
|
|
lua_pushboolean(L, 0);
|
|
return 1;
|
|
}
|
|
|
|
lua_pushboolean(L, lent->e->client != NULL);
|
|
return 1;
|
|
}
|
|
|
|
/***
|
|
Returns the display name of a client.
|
|
@function GetClientName
|
|
@return Display name of a client or nil if entity is not a client.
|
|
*/
|
|
static int Entity_GetClientName(lua_State * L)
|
|
{
|
|
lent_t* lent = NULL;
|
|
|
|
lent = Lua_GetEntity(L, 1);
|
|
|
|
if(lent == NULL || lent->e == NULL || lent->e->classname == NULL || lent->e->client == NULL) {
|
|
lua_pushnil(L);
|
|
return 1;
|
|
}
|
|
|
|
lua_pushstring(L, lent->e->client->pers.netname);
|
|
return 1;
|
|
}
|
|
|
|
static int Entity_Print(lua_State * L)
|
|
{
|
|
lent_t* lent = NULL;
|
|
int i;
|
|
char buf[MAX_STRING_CHARS];
|
|
int n = lua_gettop(L);
|
|
|
|
LUA_DEBUG("BEGIN - entity.Print");
|
|
|
|
lent = Lua_GetEntity(L, 1);
|
|
|
|
if(lent == NULL || lent->e == NULL) {
|
|
LUA_DEBUG("ERROR - entity.Print - entity NULL");
|
|
lua_pushboolean(L, qfalse);
|
|
return 1;
|
|
}
|
|
|
|
if(lent->e->client == NULL) {
|
|
LUA_DEBUG("ERROR - entity.Print - entity is not a client");
|
|
lua_pushboolean(L, qfalse);
|
|
return 1;
|
|
}
|
|
|
|
memset(buf, 0, sizeof(buf));
|
|
|
|
lua_getglobal(L, "tostring");
|
|
for(i = 2; i <= n; i++)
|
|
{
|
|
const char *s;
|
|
|
|
lua_pushvalue(L, -1);
|
|
lua_pushvalue(L, i);
|
|
lua_call(L, 1, 1);
|
|
s = lua_tostring(L, -1);
|
|
|
|
if(s == NULL) {
|
|
LUA_DEBUG("ERROR - entity.Print - string NULL");
|
|
lua_pushboolean(L, qfalse);
|
|
return 1;
|
|
}
|
|
|
|
Q_strcat(buf, sizeof(buf), s);
|
|
|
|
lua_pop(L, 1);
|
|
}
|
|
|
|
trap_SendServerCommand(lent->e - g_entities, va("print \"%s\n\"", buf));
|
|
LUA_DEBUG("END - entity.Print");
|
|
lua_pushboolean(L, qtrue);
|
|
return 1;
|
|
}
|
|
|
|
static int Entity_CenterPrint(lua_State * L)
|
|
{
|
|
lent_t *lent = NULL;
|
|
int i;
|
|
char buf[MAX_STRING_CHARS];
|
|
int n = lua_gettop(L);
|
|
|
|
LUA_DEBUG("BEGIN - entity.CenterPrint");
|
|
|
|
lent = Lua_GetEntity(L, 1);
|
|
|
|
if(lent == NULL || lent->e == NULL) {
|
|
LUA_DEBUG("ERROR - entity.CenterPrint - entity NULL");
|
|
lua_pushboolean(L, qfalse);
|
|
return 1;
|
|
}
|
|
|
|
if(lent->e->client == NULL) {
|
|
LUA_DEBUG("ERROR - entity.CenterPrint - entity is not a client");
|
|
lua_pushboolean(L, qfalse);
|
|
return 1;
|
|
}
|
|
|
|
memset(buf, 0, sizeof(buf));
|
|
|
|
lua_getglobal(L, "tostring");
|
|
for(i = 2; i <= n; i++)
|
|
{
|
|
const char *s;
|
|
|
|
lua_pushvalue(L, -1);
|
|
lua_pushvalue(L, i);
|
|
lua_call(L, 1, 1);
|
|
s = lua_tostring(L, -1);
|
|
|
|
if(s == NULL) {
|
|
LUA_DEBUG("ERROR - entity.CenterPrint - string NULL");
|
|
lua_pushboolean(L, qfalse);
|
|
return 1;
|
|
}
|
|
|
|
Q_strcat(buf, sizeof(buf), s);
|
|
|
|
lua_pop(L, 1);
|
|
}
|
|
|
|
trap_SendServerCommand(lent->e - g_entities, va("cp \"" S_COLOR_WHITE "%s\n\"", buf));
|
|
LUA_DEBUG("END - entity.CenterPrint");
|
|
lua_pushboolean(L, qtrue);
|
|
return 1;
|
|
}
|
|
|
|
extern qboolean G_ParseField(const char *key, const char *value, gentity_t *ent);
|
|
/***
|
|
Sets a key of an entity to a value.
|
|
@function SetKeyValue
|
|
@param key Key to set.
|
|
@param value Value to set.
|
|
@return Success or failure.
|
|
*/
|
|
static int Entity_SetKeyValue(lua_State * L) {
|
|
lent_t* lent = NULL;
|
|
char* key = NULL;
|
|
char* value = NULL;
|
|
|
|
LUA_DEBUG("BEGIN - entity.SetKeyValue");
|
|
|
|
lent = Lua_GetEntity(L, 1);
|
|
key = (char *)luaL_checkstring(L, 2);
|
|
value = (char *)luaL_checkstring(L, 3);
|
|
|
|
if(lent == NULL || lent->e == NULL) {
|
|
LUA_DEBUG("ERROR - entity.SetKeyValue - entity NULL");
|
|
lua_pushboolean(L, qfalse);
|
|
return 1;
|
|
}
|
|
|
|
if(key == NULL) {
|
|
LUA_DEBUG("ERROR - entity.SetKeyValue - key NULL");
|
|
lua_pushboolean(L, qfalse);
|
|
return 1;
|
|
}
|
|
|
|
if(value == NULL) {
|
|
LUA_DEBUG("ERROR - entity.SetKeyValue - key NULL");
|
|
lua_pushboolean(L, qfalse);
|
|
return 1;
|
|
}
|
|
|
|
lua_pushboolean(L, G_ParseField(key, value, lent->e));
|
|
LUA_DEBUG("END - entity.SetKeyValue");
|
|
lua_pushboolean(L, qtrue);
|
|
return 1;
|
|
}
|
|
|
|
/***
|
|
Returns the classname of an entity.
|
|
@function GetClassName
|
|
@return Classname of the entity (or nil).
|
|
*/
|
|
static int Entity_GetClassName(lua_State * L)
|
|
{
|
|
lent_t* lent = NULL;
|
|
|
|
LUA_DEBUG("BEGIN - entity.GetClassname");
|
|
|
|
lent = Lua_GetEntity(L, 1);
|
|
|
|
if(lent == NULL || lent->e == NULL) {
|
|
LUA_DEBUG("ERROR - entity.SetKeyValue - entity NULL");
|
|
lua_pushnil(L);
|
|
} else {
|
|
lua_pushstring(L, lent->e->classname);
|
|
}
|
|
|
|
LUA_DEBUG("END - entity.SetKeyValue");
|
|
return 1;
|
|
}
|
|
|
|
/***
|
|
Sets the Classname of an entity to name
|
|
@param name New classname.
|
|
@return Success or failure.
|
|
*/
|
|
static int Entity_SetClassName(lua_State * L)
|
|
{
|
|
lent_t* lent = NULL;
|
|
|
|
LUA_DEBUG("BEGIN - entity.SetClassname");
|
|
|
|
lent = Lua_GetEntity(L, 1);
|
|
if(lent == NULL || lent->e == NULL) {
|
|
LUA_DEBUG("ERROR - entity.SetClassname - entity NULL");
|
|
lua_pushboolean(L, qfalse);
|
|
return 1;
|
|
}
|
|
|
|
lent->e->classname = (char *)luaL_checkstring(L, 2);
|
|
lua_pushboolean(L, qtrue);
|
|
LUA_DEBUG("END - entity.SetClassname");
|
|
return 1;
|
|
}
|
|
|
|
/***
|
|
Returns the targetname of an entity.
|
|
@function GetTargetName
|
|
@return The targetname of an entity.
|
|
*/
|
|
static int Entity_GetTargetName(lua_State * L)
|
|
{
|
|
lent_t* lent = NULL;
|
|
|
|
LUA_DEBUG("BEGIN - entity.GetTargetname");
|
|
|
|
lent = Lua_GetEntity(L, 1);
|
|
if(lent == NULL || lent->e == NULL) {
|
|
LUA_DEBUG("ERROR - entity.GetTargetname - entity NULL");
|
|
lua_pushnil(L);
|
|
} else {
|
|
lua_pushstring(L, lent->e->targetname);
|
|
}
|
|
|
|
LUA_DEBUG("END - entity.GetTargetname");
|
|
return 1;
|
|
}
|
|
|
|
/***
|
|
Rotates an entity in the specified directions.
|
|
@function Rotate
|
|
@param dir Directions.
|
|
@return Success or failure.
|
|
*/
|
|
static int Entity_Rotate(lua_State * L)
|
|
{
|
|
lent_t* lent = NULL;
|
|
vec_t* vec = NULL;
|
|
|
|
LUA_DEBUG("BEGIN - entity.Rotate");
|
|
|
|
lent = Lua_GetEntity(L, 1);
|
|
vec = Lua_GetVector(L, 2);
|
|
|
|
if(lent == NULL || lent->e == NULL) {
|
|
LUA_DEBUG("ERROR - entity.Rotate - entity NULL");
|
|
lua_pushboolean(L, qfalse);
|
|
return 1;
|
|
}
|
|
|
|
if(vec == NULL) {
|
|
LUA_DEBUG("ERROR - entity.Rotate - vector NULL");
|
|
lua_pushboolean(L, qfalse);
|
|
return 1;
|
|
}
|
|
|
|
lent->e->s.apos.trType = TR_LINEAR;
|
|
lent->e->s.apos.trDelta[0] = vec[0];
|
|
lent->e->s.apos.trDelta[1] = vec[1];
|
|
lent->e->s.apos.trDelta[2] = vec[2];
|
|
|
|
lua_pushboolean(L, qtrue);
|
|
LUA_DEBUG("END - entity.Rotate");
|
|
return 1;
|
|
}
|
|
|
|
static int Entity_GC(lua_State * L)
|
|
{
|
|
|
|
return 0;
|
|
}
|
|
|
|
/***
|
|
Prints an entity as string also return said string.
|
|
@function ToString
|
|
@return Entity string.
|
|
*/
|
|
static int Entity_ToString(lua_State * L)
|
|
{
|
|
lent_t* lent = NULL;
|
|
gentity_t* gent = NULL;
|
|
char buf[MAX_STRING_CHARS];
|
|
|
|
LUA_DEBUG("BEGIN - entity.ToString");
|
|
|
|
lent = Lua_GetEntity(L, 1);
|
|
|
|
if(lent == NULL || lent->e == NULL) {
|
|
LUA_DEBUG("ERROR - entity.ToString - entity NULL");
|
|
lua_pushnil(L);
|
|
return 1;
|
|
}
|
|
|
|
gent = lent->e;
|
|
Com_sprintf(buf, sizeof(buf), "entity: class=%s name=%s id=%i pointer=%p\n", gent->classname, gent->targetname, gent-g_entities, gent);
|
|
lua_pushstring(L, buf);
|
|
|
|
LUA_DEBUG("END - entity.ToString");
|
|
return 1;
|
|
}
|
|
|
|
static void ent_delay(gentity_t *ent) {
|
|
ent->think = 0;
|
|
ent->nextthink = -1;
|
|
G_CallSpawn(ent);
|
|
}
|
|
|
|
/***
|
|
Calls the game logic spawn function for the class of ent after a given delay in milliseconds.
|
|
@function DelayedCallSpawn
|
|
@param ent Entity.
|
|
@param delay Delay in milliseconds.
|
|
@return Success or failure.
|
|
*/
|
|
static int Entity_DelayedCallSpawn(lua_State *L) {
|
|
lent_t* lent = NULL;
|
|
int delay;
|
|
|
|
LUA_DEBUG("BEGIN - entity.DelayedCallSpawn");
|
|
|
|
lent = Lua_GetEntity(L, 1);
|
|
|
|
if(lent == NULL || lent->e == NULL) {
|
|
LUA_DEBUG("ERROR - entity.DelayedCallSpawn - entity NULL");
|
|
lua_pushboolean(L, qfalse);
|
|
return 1;
|
|
}
|
|
|
|
if(!Q_stricmp(lent->e->classname, "target_selfdestruct")) {
|
|
LUA_DEBUG("ERROR - entity.DelayedCallSpawn - entity is target_selfdestruct");
|
|
lua_pushboolean(L, qfalse);
|
|
return 1; //we will not selfdestruct this way
|
|
}
|
|
|
|
delay = luaL_checkint(L, 2);
|
|
|
|
if(!delay) {
|
|
delay = FRAMETIME;
|
|
}
|
|
|
|
lent->e->nextthink = delay;
|
|
lent->e->think = ent_delay;
|
|
lua_pushboolean(L, qtrue);
|
|
LUA_DEBUG("END - entity.DelayedCallSpawn");
|
|
return 1;
|
|
}
|
|
|
|
/***
|
|
Calls the game logic spawn function for the class of ent.
|
|
@function CallSpawn
|
|
@param ent Entity.
|
|
@return Success or failure.
|
|
*/
|
|
static int Entity_CallSpawn(lua_State *L) {
|
|
lent_t* lent = NULL;
|
|
qboolean r = qfalse;
|
|
gentity_t* e = NULL;
|
|
|
|
LUA_DEBUG("BEGIN - entity.CallSpawn");
|
|
|
|
lent = Lua_GetEntity(L, 1);
|
|
|
|
if(lent == NULL || lent->e == NULL) {
|
|
LUA_DEBUG("ERROR - entity.CallSpawn - entity NULL");
|
|
lua_pushboolean(L, qfalse);
|
|
return 1;
|
|
}
|
|
e = lent->e;
|
|
|
|
if(!Q_stricmp(lent->e->classname, "target_selfdestruct")) {
|
|
LUA_DEBUG("ERROR - entity.CallSpawn - entity is target_selfdestruct");
|
|
lua_pushboolean(L, qfalse);
|
|
return 1; //we will not selfdestruct this way
|
|
}
|
|
|
|
LUA_DEBUG("INFO - entity.CallSpawn - G_CallSpawn");
|
|
trap_UnlinkEntity(e);
|
|
r = G_CallSpawn(e);
|
|
lua_pushboolean(L, r);
|
|
LUA_DEBUG("END - entity.CallSpawn");
|
|
return 1;
|
|
}
|
|
|
|
/***
|
|
Removes all spawn points from the map, that don't have a targetname.
|
|
Note that every map has to have at least one spawnpoint.
|
|
If this command removes all spawn points you'll have to spawn at least one new spawn point.
|
|
@function RemoveUnnamedSpawns
|
|
@return Count of removed spawn points.
|
|
*/
|
|
extern field_t fields[];
|
|
static int Entity_RemoveUnnamedSpawns(lua_State *L) {
|
|
gentity_t *ent;
|
|
int cnt = 0, i;
|
|
|
|
LUA_DEBUG("BEGIN - entity.RemoveUnnamedSpawns");
|
|
|
|
for(i = 0; i < MAX_GENTITIES; i++) {
|
|
if(!&g_entities[i]) continue;
|
|
ent = &g_entities[i];
|
|
if(!ent->classname) continue;
|
|
if(!Q_stricmp(ent->classname, "info_player_deathmatch"))
|
|
if(!ent->targetname) {
|
|
G_FreeEntity(ent);
|
|
cnt++;
|
|
}
|
|
}
|
|
|
|
lua_pushnumber(L, cnt);
|
|
LUA_DEBUG("END - entity.RemoveUnnamedSpawns");
|
|
return 1;
|
|
}
|
|
|
|
/***
|
|
Removes all spawn points from the map.
|
|
Note that every map has to have at least one spawnpoint.
|
|
If this command removes all spawn points you'll have to spawn at least one new spawn point.
|
|
@function RemoveSpawns
|
|
@return Count of removed spawn points.
|
|
*/
|
|
static int Entity_RemoveSpawns(lua_State *L) {
|
|
gentity_t *ent;
|
|
int cnt = 0, i;
|
|
|
|
LUA_DEBUG("BEGIN - entity.RemoveSpawns");
|
|
|
|
for(i = 0; i < MAX_GENTITIES; i++) {
|
|
if(!&g_entities[i]) continue;
|
|
ent = &g_entities[i];
|
|
if(!ent->classname) continue;
|
|
if(!Q_stricmp(ent->classname, "info_player_deathmatch")) {
|
|
G_FreeEntity(ent);
|
|
cnt++;
|
|
}
|
|
}
|
|
|
|
lua_pushnumber(L, cnt);
|
|
LUA_DEBUG("END - entity.RemoveSpawns");
|
|
return 1;
|
|
}
|
|
|
|
/***
|
|
Removes all entities with the given classname from the map.
|
|
@function RemoveType
|
|
@return Count of removed entities (-1 indicates an error).
|
|
*/
|
|
static int Entity_RemoveType(lua_State *L) {
|
|
int i, cnt = 0;
|
|
char *classname;
|
|
|
|
LUA_DEBUG("BEGIN - entity.RemoveType");
|
|
|
|
classname = (char *)luaL_checkstring(L , 1);
|
|
if(classname == NULL) {
|
|
LUA_DEBUG("ERROR - entity.RemoveType - classname NULL");
|
|
lua_pushinteger(L, -1);
|
|
return 1;
|
|
}
|
|
|
|
for(i = 0; i < MAX_GENTITIES; i++) {
|
|
if(!strcmp(g_entities[i].classname, classname)) {
|
|
G_FreeEntity(&g_entities[i]);
|
|
cnt++;
|
|
}
|
|
}
|
|
|
|
lua_pushinteger(L, cnt);
|
|
LUA_DEBUG("END - entity.RemoveType");
|
|
return 1;
|
|
}
|
|
|
|
/***
|
|
Removes an entity if it is not protected.
|
|
@function Remove
|
|
@param ent Entity.
|
|
@return Success or failure.
|
|
*/
|
|
static int Entity_Remove(lua_State *L) {
|
|
lent_t *lent;
|
|
|
|
LUA_DEBUG("BEGIN - entity.Remove");
|
|
|
|
lent = Lua_GetEntity(L, 1);
|
|
|
|
if(lent == NULL || lent->e == NULL) {
|
|
LUA_DEBUG("ERROR - entity.Remove - entity NULL");
|
|
lua_pushboolean(L, qfalse);
|
|
return 1;
|
|
}
|
|
|
|
if(lent->e->neverFree) {
|
|
LUA_DEBUG("INFO - entity.Remove - entity->neverFree");
|
|
LUA_DEBUG("END - entity.Remove");
|
|
lua_pushboolean(L, qfalse);
|
|
return 1;
|
|
}
|
|
|
|
if(lent->e->client != NULL) {
|
|
LUA_DEBUG("INFO - entity.Remove - entity is client");
|
|
LUA_DEBUG("END - entity.Remove");
|
|
lua_pushboolean(L, qfalse);
|
|
return 1;
|
|
}
|
|
|
|
G_FreeEntity(lent->e);
|
|
lua_pushboolean(L, qtrue);
|
|
LUA_DEBUG("END - entity.Remove");
|
|
return 1;
|
|
}
|
|
|
|
/***
|
|
Does some setup for entities spawned by script that are to be used as trigger.
|
|
@function SetupTrigger
|
|
@param ent Entity.
|
|
@param x Length along the X-Axis.
|
|
@param y Length along the Y-Axis.
|
|
@param z Length along the Z-axis.
|
|
@return Succcess or failure.
|
|
*/
|
|
/***
|
|
Does some setup for entities spawned by script that are to be used as trigger.
|
|
@function SetupTrigger
|
|
@param ent Entity.
|
|
@param vec Vector containing sizing information.
|
|
@return Succcess or failure.
|
|
*/
|
|
static int Entity_SetupTrigger(lua_State *L) {
|
|
lent_t *lent;
|
|
gentity_t *e;
|
|
vec_t *vptr;
|
|
vec3_t size;
|
|
|
|
LUA_DEBUG("BEGIN - entity.SetupTrigger");
|
|
|
|
lent = Lua_GetEntity(L, 1);
|
|
if(lent == NULL || lent->e == NULL) {
|
|
LUA_DEBUG("ERROR - entity.SetupTrigger - entity NULL");
|
|
lua_pushboolean(L, qfalse);
|
|
return 1;
|
|
}
|
|
|
|
e = lent->e;
|
|
|
|
if(Lua_IsVector(L, 2)) {
|
|
vptr = Lua_GetVector(L, 2);
|
|
VectorCopy(vptr, size);
|
|
} else {
|
|
size[0] = luaL_checkint(L, 2);
|
|
size[1] = luaL_checkint(L, 3);
|
|
size[2] = luaL_checkint(L, 4);
|
|
}
|
|
|
|
VectorCopy(size, e->r.mins);
|
|
VectorCopy(size, e->r.maxs);
|
|
VectorScale(e->r.mins, -.5, e->r.mins);
|
|
VectorScale(e->r.maxs, .5, e->r.maxs);
|
|
VectorCopy(e->r.mins, e->r.absmin);
|
|
VectorCopy(e->r.maxs, e->r.absmax);
|
|
|
|
e->tmpEntity = qtrue;
|
|
|
|
LUA_DEBUG("END - entity.SetupTrigger");
|
|
lua_pushboolean(L, qtrue);
|
|
return 1;
|
|
}
|
|
|
|
/***
|
|
Returns the origin of an entity as vector.
|
|
@function GetOrigin
|
|
@return Origin (or nil on failure).
|
|
*/
|
|
static int Entity_GetOrigin(lua_State *L) {
|
|
lent_t *lent;
|
|
vec3_t origin;
|
|
|
|
LUA_DEBUG("BEGIN - entity.GetOrigin");
|
|
|
|
lent = Lua_GetEntity(L, 1);
|
|
if(lent == NULL || lent->e == NULL) {
|
|
LUA_DEBUG("ERROR - entity.GetOrigin - entity NULL");
|
|
lua_pushnil(L);
|
|
return 1;
|
|
}
|
|
|
|
if(lent->e->r.svFlags & SVF_USE_CURRENT_ORIGIN) {
|
|
VectorCopy(lent->e->r.currentOrigin, origin);
|
|
} else {
|
|
VectorCopy(lent->e->s.origin, origin);
|
|
}
|
|
|
|
Lua_PushVector(L, origin);
|
|
LUA_DEBUG("END - entity.GetOrigin");
|
|
return 1;
|
|
}
|
|
|
|
/***
|
|
Looks the entity ent. Works with anything that can be locked (doors, turbolifts, usables, ...).
|
|
@function Lock
|
|
@return Success or failure.
|
|
*/
|
|
static int Entity_Lock(lua_State *L) {
|
|
lent_t *lent;
|
|
gentity_t *ent;
|
|
|
|
LUA_DEBUG("BEGIN - entity.Lock");
|
|
|
|
lent = Lua_GetEntity(L, 1);
|
|
|
|
if(!lent || !lent->e) {
|
|
LUA_DEBUG("ERROR - entity.Lock - entity NULL");
|
|
lua_pushboolean(L, qfalse);
|
|
return 1;
|
|
}
|
|
|
|
ent = lent->e;
|
|
|
|
if(!strncmp(ent->classname, "func_door", 9) ||
|
|
!strncmp(ent->classname, "func_door_rotating", 18) ||
|
|
!strncmp(ent->classname, "target_teleporter", 17) ||
|
|
!strncmp(ent->classname, "target_turbolift", 16) ||
|
|
!strncmp(ent->classname, "func_usable", 11) ||
|
|
!strncmp(ent->classname, "target_serverchange", 19) ||
|
|
!strncmp(ent->classname, "trigger_teleport", 16) ||
|
|
!strncmp(ent->classname, "ui_transporter", 14) ||
|
|
!strncmp(ent->classname, "ui_holodeck", 11)
|
|
) {
|
|
if(ent->flags & FL_LOCKED) {
|
|
LUA_DEBUG("INFO - entity.Lock - already locked");
|
|
LUA_DEBUG("END - entity.Lock");
|
|
lua_pushboolean(L, qtrue);
|
|
return 1;
|
|
}
|
|
ent->flags ^= FL_LOCKED;
|
|
} else {
|
|
LUA_DEBUG("INFO - entity.Lock - entity not valid");
|
|
LUA_DEBUG("END - entity.Lock");
|
|
lua_pushboolean(L, qfalse);
|
|
return 1;
|
|
}
|
|
|
|
LUA_DEBUG("END - entity.Lock");
|
|
lua_pushboolean(L, qtrue);
|
|
return 1;
|
|
}
|
|
|
|
/***
|
|
Unlooks the entity ent. Works with anything that can be locked (doors, turbolifts, usables, ...).
|
|
@function Unlock
|
|
@return Success or failure.
|
|
*/
|
|
static int Entity_Unlock(lua_State *L) {
|
|
lent_t *lent;
|
|
gentity_t *ent;
|
|
|
|
LUA_DEBUG("BEGIN - entity.Unlock");
|
|
|
|
lent = Lua_GetEntity(L, 1);
|
|
if(lent == NULL || lent->e == NULL) {
|
|
LUA_DEBUG("ERROR - entity.Unlock - entity NULL");
|
|
lua_pushboolean(L, qfalse);
|
|
return 1;
|
|
}
|
|
|
|
ent = lent->e;
|
|
if(!strncmp(ent->classname, "func_door", 9) ||
|
|
!strncmp(ent->classname, "func_door_rotating", 18) ||
|
|
!strncmp(ent->classname, "target_teleporter", 17) ||
|
|
!strncmp(ent->classname, "target_turbolift", 16) ||
|
|
!strncmp(ent->classname, "func_usable", 11) ||
|
|
!strncmp(ent->classname, "target_serverchange", 19) ||
|
|
!strncmp(ent->classname, "trigger_teleport", 16) ||
|
|
!strncmp(ent->classname, "ui_transporter", 14) ||
|
|
!strncmp(ent->classname, "ui_holodeck", 11)
|
|
) {
|
|
if(ent->flags & FL_LOCKED) {
|
|
ent->flags ^= FL_LOCKED;
|
|
}
|
|
} else {
|
|
LUA_DEBUG("INFO - entity.Unlock - entity is not valid");
|
|
LUA_DEBUG("END - entity.Unlock");
|
|
lua_pushboolean(L, qfalse);
|
|
return 1;
|
|
}
|
|
|
|
LUA_DEBUG("END - entity.Unlock");
|
|
lua_pushboolean(L, qtrue);
|
|
return 1;
|
|
}
|
|
|
|
/***
|
|
Check if the entity is locked.
|
|
@function IsLocked
|
|
@return Whether the entity is locked or not.
|
|
*/
|
|
static int Entity_IsLocked(lua_State *L) {
|
|
lent_t *lent;
|
|
gentity_t *ent;
|
|
|
|
LUA_DEBUG("BEGIN - entity.IsLocked");
|
|
|
|
lent = Lua_GetEntity(L, 1);
|
|
if(lent == NULL || lent->e == NULL) {
|
|
LUA_DEBUG("ERROR - entity.IsLocked - entity NULL");
|
|
lua_pushboolean(L, qfalse);
|
|
return 1;
|
|
}
|
|
|
|
ent = lent->e;
|
|
lua_pushboolean(L, (int)(ent->flags & FL_LOCKED));
|
|
LUA_DEBUG("END - entity.IsLocked");
|
|
return 1;
|
|
}
|
|
|
|
/***
|
|
Get a luaParm from the entity.
|
|
@function GetParm
|
|
@param index Parameter index.
|
|
@return Value of luaParm or nil.
|
|
*/
|
|
static int Entity_GetParm(lua_State *L) {
|
|
lent_t *lent;
|
|
gentity_t *ent;
|
|
int parm;
|
|
char *res = NULL;
|
|
|
|
LUA_DEBUG("BEGIN - entity.GetParm");
|
|
|
|
lent = Lua_GetEntity(L, 1);
|
|
if(lent == NULL|| lent->e == NULL) {
|
|
LUA_DEBUG("ERROR - entity.GetParm");
|
|
lua_pushnil(L);
|
|
return 1;
|
|
}
|
|
|
|
ent = lent->e;
|
|
parm = luaL_checkint(L, 2);
|
|
|
|
if(parm < 1 || parm > 4) {
|
|
LUA_DEBUG("ERROR - entity.GetParm - parm out of range");
|
|
lua_pushnil(L);
|
|
return 1;
|
|
}
|
|
|
|
switch(parm) {
|
|
case 1:
|
|
res = ent->luaParm1;
|
|
break;
|
|
case 2:
|
|
res = ent->luaParm2;
|
|
break;
|
|
case 3:
|
|
res = ent->luaParm3;
|
|
break;
|
|
case 4:
|
|
res = ent->luaParm4;
|
|
break;
|
|
default:
|
|
res = NULL;
|
|
break;
|
|
}
|
|
|
|
if(res == NULL) {
|
|
LUA_DEBUG("ERROR - entity.GetParm - res NULL");
|
|
lua_pushnil(L);
|
|
} else {
|
|
lua_pushstring(L, res);
|
|
}
|
|
LUA_DEBUG("END - entity.GetParm");
|
|
return 1;
|
|
}
|
|
|
|
static int Entity_SetParm(lua_State *L) {
|
|
lent_t *lent;
|
|
gentity_t *ent;
|
|
int parm;
|
|
char *parms;
|
|
char *s = NULL;
|
|
|
|
LUA_DEBUG("BEGIN - entity.SetParm");
|
|
|
|
lent = Lua_GetEntity(L, 1);
|
|
if(lent == NULL|| lent->e == NULL) {
|
|
LUA_DEBUG("ERROR - entity.SetParm - entity NULL");
|
|
lua_pushboolean(L, qfalse);
|
|
return 1;
|
|
}
|
|
|
|
ent = lent->e;
|
|
parm = luaL_checkint(L, 2);
|
|
if(parm < 1 || parm > 4) {
|
|
LUA_DEBUG("ERROR - entity.SetParm - parm out of range");
|
|
lua_pushboolean(L, qfalse);
|
|
return 1;
|
|
}
|
|
|
|
parms = (char *)luaL_checkstring(L, 3);
|
|
if(!parms) {
|
|
LUA_DEBUG("ERROR - entity.SetParm - parms NULL");
|
|
lua_pushboolean(L, qfalse);
|
|
return 1;
|
|
}
|
|
|
|
switch(parm) {
|
|
case 1:
|
|
s = ent->luaParm1;
|
|
break;
|
|
case 2:
|
|
s = ent->luaParm2;
|
|
break;
|
|
case 3:
|
|
s = ent->luaParm3;
|
|
break;
|
|
case 4:
|
|
s = ent->luaParm4;
|
|
break;
|
|
}
|
|
|
|
if(s) {
|
|
// check if the new string fits into the existing one
|
|
if(strlen(s) > (strlen(parms) + 1)) {
|
|
// it fits so copy it
|
|
strncpy(s, parms, sizeof(s));
|
|
} else {
|
|
// it does not fit in so alloc a new string
|
|
s = G_NewString(parms);
|
|
}
|
|
} else {
|
|
s = G_NewString(parms);
|
|
}
|
|
|
|
LUA_DEBUG("END - entity.SetParm");
|
|
lua_pushboolean(L, qtrue);
|
|
return 1;
|
|
}
|
|
|
|
static int Entity_GetActivator(lua_State *L) {
|
|
lent_t *lent;
|
|
|
|
LUA_DEBUG("BEGIN - entity.GetActivator");
|
|
|
|
lent = Lua_GetEntity(L, 1);
|
|
if(lent == NULL|| lent->e == NULL) {
|
|
lua_pushnil(L);
|
|
LUA_DEBUG("ERROR - entity.GetActivator - entity NULL");
|
|
return 1;
|
|
}
|
|
|
|
Lua_PushEntity(L, lent->e->activator);
|
|
LUA_DEBUG("END - entity.GetActivator");
|
|
return 1;
|
|
}
|
|
|
|
static int Entity_SetActivator(lua_State *L) {
|
|
lent_t *lent;
|
|
lent_t *activator;
|
|
|
|
LUA_DEBUG("BEGIN - entity.SetActivator");
|
|
|
|
lent = Lua_GetEntity(L, 1);
|
|
if(lent == NULL || lent->e == NULL) {
|
|
LUA_DEBUG("ERROR - entity.SetActivator - entity NULL");
|
|
lua_pushboolean(L, qfalse);
|
|
return 1;
|
|
}
|
|
|
|
activator = Lua_GetEntity(L, 2);
|
|
if(!activator || activator->e) {
|
|
lent->e->activator = NULL;
|
|
} else {
|
|
lent->e->activator = activator->e;
|
|
}
|
|
|
|
LUA_DEBUG("END - entity.SetActivator");
|
|
lua_pushboolean(L, qtrue);
|
|
return 1;
|
|
}
|
|
|
|
static int Entity_GetAngle(lua_State *L) {
|
|
lent_t *lent;
|
|
|
|
LUA_DEBUG("BEGIN - entity.GetAngle");
|
|
|
|
lent = Lua_GetEntity(L, 1);
|
|
if(lent == NULL || lent->e == NULL) {
|
|
LUA_DEBUG("ERROR - entity.GetAngle - entity NUL");
|
|
lua_pushnumber(L, 0);
|
|
return 1;
|
|
}
|
|
|
|
lua_pushnumber(L, lent->e->angle);
|
|
LUA_DEBUG("END - entity.GetAngle");
|
|
return 1;
|
|
}
|
|
|
|
static int Entity_SetAngle(lua_State *L) {
|
|
lent_t *lent;
|
|
float angle;
|
|
|
|
LUA_DEBUG("BEGIN - entity.SetAngle");
|
|
|
|
lent = Lua_GetEntity(L, 1);
|
|
if(lent == NULL || lent->e == NULL) {
|
|
LUA_DEBUG("ERROR - entity.SetAngle - entity NULL");
|
|
lua_pushboolean(L, qfalse);
|
|
return 1;
|
|
}
|
|
angle = (float)luaL_checknumber(L, 2);
|
|
lent->e->angle = angle;
|
|
|
|
LUA_DEBUG("END - entity.SetAngle");
|
|
lua_pushboolean(L, qtrue);
|
|
return 1;
|
|
}
|
|
|
|
static int Entity_GetApos1(lua_State *L) {
|
|
lent_t *lent;
|
|
vec3_t null = { 0, 0, 0 };
|
|
|
|
LUA_DEBUG("BEGIN - entity.GetApos1");
|
|
|
|
lent = Lua_GetEntity(L, 1);
|
|
if(lent == NULL || lent->e == NULL) {
|
|
LUA_DEBUG("ERROR - entity.GetApos1 - entity NULL");
|
|
Lua_PushVector(L, null);
|
|
return 1;
|
|
}
|
|
Lua_PushVector(L, lent->e->apos1);
|
|
|
|
LUA_DEBUG("END - entity.GetApos1");
|
|
return 1;
|
|
}
|
|
|
|
static int Entity_GetApos2(lua_State *L) {
|
|
lent_t *lent;
|
|
vec3_t null = { 0, 0, 0 };
|
|
|
|
LUA_DEBUG("BEGIN - entity.GetApos2");
|
|
|
|
lent = Lua_GetEntity(L, 1);
|
|
if(!lent || !lent->e) {
|
|
LUA_DEBUG("ERROR - entity.GetApos2 - entity NULL");
|
|
Lua_PushVector(L, null);
|
|
return 1;
|
|
}
|
|
Lua_PushVector(L, lent->e->apos2);
|
|
|
|
LUA_DEBUG("END - entity.GetApos2");
|
|
return 1;
|
|
}
|
|
|
|
static int Entity_SetApos1(lua_State *L) {
|
|
lent_t *lent;
|
|
vec_t *vec;
|
|
|
|
LUA_DEBUG("BEGIN - entity.SetApos1");
|
|
|
|
lent = Lua_GetEntity(L, 1);
|
|
if(lent == NULL || lent->e == NULL) {
|
|
LUA_DEBUG("ERROR - entity.SetApos1 - entity NULL");
|
|
lua_pushboolean(L, qfalse);
|
|
return 1;
|
|
}
|
|
vec = Lua_GetVector(L, 2);
|
|
VectorCopy(vec, lent->e->apos1);
|
|
|
|
LUA_DEBUG("END - entity.SetApos1");
|
|
lua_pushboolean(L, qtrue);
|
|
return 1;
|
|
}
|
|
|
|
static int Entity_SetApos2(lua_State *L) {
|
|
lent_t *lent;
|
|
vec_t *vec;
|
|
|
|
LUA_DEBUG("BEGIN - entity.SetApos2");
|
|
|
|
lent = Lua_GetEntity(L, 1);
|
|
if(lent == NULL || lent->e == NULL) {
|
|
LUA_DEBUG("ERROR - entity.SetApos2 - entity NULL");
|
|
lua_pushboolean(L, qfalse);
|
|
return 1;
|
|
}
|
|
vec = Lua_GetVector(L, 2);
|
|
VectorCopy(vec, lent->e->apos2);
|
|
|
|
LUA_DEBUG("END - entity.SetApos2");
|
|
lua_pushboolean(L, qtrue);
|
|
return 1;
|
|
}
|
|
|
|
static int Entity_GetBluename(lua_State *L) {
|
|
lent_t *lent;
|
|
|
|
LUA_DEBUG("BEGIN - entity.GetBluename");
|
|
|
|
lent = Lua_GetEntity(L, 1);
|
|
if(lent == NULL|| lent->e == NULL) {
|
|
LUA_DEBUG("ERROR - entity.GetBluename - entity NULL");
|
|
lua_pushnil(L);
|
|
return 1;
|
|
} else {
|
|
lua_pushstring(L, lent->e->bluename);
|
|
}
|
|
|
|
LUA_DEBUG("END - entity.GetBluename");
|
|
return 1;
|
|
}
|
|
|
|
static int Entity_SetBluename(lua_State *L) {
|
|
lent_t *lent;
|
|
|
|
LUA_DEBUG("BEGIN - entity.SetBluename");
|
|
|
|
lent = Lua_GetEntity(L, 1);
|
|
if(lent == NULL || lent->e == NULL) {
|
|
LUA_DEBUG("ERROR - entity.SetBluename - entity NULL");
|
|
lua_pushboolean(L, qfalse);
|
|
return 1;
|
|
}
|
|
lent->e->bluename = (char *)luaL_checkstring(L, 2);
|
|
|
|
LUA_DEBUG("END - entity.SetBluename");
|
|
lua_pushboolean(L, qtrue);
|
|
return 1;
|
|
}
|
|
|
|
static int Entity_GetBluesound(lua_State *L) {
|
|
lent_t *lent;
|
|
|
|
LUA_DEBUG("BEGIN - entity.GetBluesound");
|
|
|
|
lent = Lua_GetEntity(L, 1);
|
|
if(lent == NULL || lent->e == NULL) {
|
|
LUA_DEBUG("ERROR - entity.GetBluesound - entity NULL");
|
|
lua_pushnil(L);
|
|
return 1;
|
|
} else {
|
|
lua_pushstring(L, lent->e->bluesound);
|
|
}
|
|
|
|
LUA_DEBUG("END - entity.GetBluesound");
|
|
return 1;
|
|
}
|
|
|
|
static int Entity_SetBluesound(lua_State *L) {
|
|
lent_t *lent;
|
|
|
|
LUA_DEBUG("BEGIN - entity.SetBluesound");
|
|
|
|
lent = Lua_GetEntity(L, 1);
|
|
if(lent == NULL || lent->e == NULL) {
|
|
LUA_DEBUG("ERROR - entity.SetBluesound - entity NULL");
|
|
lua_pushboolean(L, qfalse);
|
|
return 1;
|
|
}
|
|
lent->e->bluesound = (char *)luaL_checkstring(L, 2);;
|
|
|
|
LUA_DEBUG("END - entity.SetBluesound");
|
|
lua_pushboolean(L, qtrue);
|
|
return 1;
|
|
}
|
|
|
|
static int Entity_GetBooleanstate(lua_State *L) {
|
|
lent_t *lent;
|
|
|
|
LUA_DEBUG("BEGIN - entity.GetBooleanstate");
|
|
|
|
lent = Lua_GetEntity(L, 1);
|
|
if(lent == NULL || lent->e == NULL) {
|
|
LUA_DEBUG("ERROR - entity.GetBooleanstate - entity NULL");
|
|
lua_pushboolean(L, 0);
|
|
return 1;
|
|
}
|
|
lua_pushboolean(L, (int)lent->e->booleanstate);
|
|
|
|
LUA_DEBUG("END - entity.GetBooleanstate");
|
|
return 1;
|
|
}
|
|
|
|
static int Entity_SetBooleanstate(lua_State *L) {
|
|
lent_t *lent;
|
|
|
|
LUA_DEBUG("BEGIN - entity.SetBooleanstate");
|
|
|
|
lent = Lua_GetEntity(L, 1);
|
|
if(lent == NULL || lent->e == NULL) {
|
|
LUA_DEBUG("ERROR - entity.SetBooleanstate - entity NULL");
|
|
lua_pushboolean(L, qfalse);
|
|
return 1;
|
|
}
|
|
lent->e->booleanstate = (qboolean)lua_toboolean(L, 2);
|
|
|
|
lua_pushboolean(L, qtrue);
|
|
LUA_DEBUG("END - entity.SetBooleanstate");
|
|
return 1;
|
|
}
|
|
|
|
static int Entity_GetClipmask(lua_State *L) {
|
|
lent_t *lent;
|
|
|
|
LUA_DEBUG("BEGIN - entity.GetClipmask");
|
|
|
|
lent = Lua_GetEntity(L, 1);
|
|
if(lent == NULL || lent->e == NULL) {
|
|
LUA_DEBUG("ERROR - entity.GetClipmask - entity NULL");
|
|
lua_pushinteger(L, 0);
|
|
return 1;
|
|
}
|
|
lua_pushinteger(L, lent->e->clipmask);
|
|
|
|
LUA_DEBUG("END - entity.GetClipmask");
|
|
return 1;
|
|
}
|
|
|
|
static int Entity_SetClipmask(lua_State *L) {
|
|
lent_t *lent;
|
|
int mask;
|
|
|
|
LUA_DEBUG("BEGIN - entity.SetClipmask");
|
|
|
|
lent = Lua_GetEntity(L, 1);
|
|
if(lent == NULL || lent->e == NULL) {
|
|
LUA_DEBUG("ERROR - entity.SetClipmask - entity NULL");
|
|
lua_pushboolean(L, qfalse);
|
|
return 1;
|
|
}
|
|
mask = (int)luaL_checknumber(L, 2);
|
|
lent->e->clipmask = mask;
|
|
|
|
LUA_DEBUG("END - entity.SetClipmask");
|
|
lua_pushboolean(L, qtrue);
|
|
return 1;
|
|
}
|
|
|
|
static int Entity_GetCount(lua_State *L) {
|
|
lent_t *lent;
|
|
|
|
LUA_DEBUG("BEGIN - entity.SetClipmask");
|
|
|
|
lent = Lua_GetEntity(L, 1);
|
|
if(lent == NULL || lent->e == NULL) {
|
|
LUA_DEBUG("ERROR - entity.SetClipmask - entity NULL");
|
|
lua_pushinteger(L, 0);
|
|
return 1;
|
|
}
|
|
lua_pushinteger(L, lent->e->count);
|
|
|
|
LUA_DEBUG("END - entity.SetClipmask");
|
|
return 1;
|
|
}
|
|
|
|
static int Entity_SetCount(lua_State *L) {
|
|
lent_t *lent;
|
|
int count;
|
|
|
|
LUA_DEBUG("BEGIN - entity.SetCount");
|
|
|
|
lent = Lua_GetEntity(L, 1);
|
|
if(lent == NULL || lent->e == NULL) {
|
|
LUA_DEBUG("ERROR - entity.SetCount - entity NULL");
|
|
lua_pushboolean(L, qfalse);
|
|
return 1;
|
|
}
|
|
count = (int)luaL_checknumber(L, 2);
|
|
lent->e->count = count;
|
|
|
|
LUA_DEBUG("END - entity.SetCount");
|
|
lua_pushboolean(L, qtrue);
|
|
return 1;
|
|
}
|
|
|
|
static int Entity_GetDamage(lua_State *L) {
|
|
lent_t *lent;
|
|
|
|
LUA_DEBUG("BEGIN - entity.GetDamage");
|
|
|
|
lent = Lua_GetEntity(L, 1);
|
|
if(!lent || !lent->e) {
|
|
LUA_DEBUG("ERROR - entity.GetDamage - entity NULL");
|
|
lua_pushinteger(L, 0);
|
|
return 1;
|
|
}
|
|
lua_pushinteger(L, lent->e->damage);
|
|
|
|
LUA_DEBUG("END - entity.GetDamage");
|
|
return 1;
|
|
}
|
|
|
|
static int Entity_SetDamage(lua_State *L) {
|
|
lent_t *lent;
|
|
int damage;
|
|
|
|
LUA_DEBUG("BEGIN - entity.SetDamage");
|
|
|
|
lent = Lua_GetEntity(L, 1);
|
|
if(lent == NULL || lent->e == NULL) {
|
|
LUA_DEBUG("ERROR - entity.SetDamage - entity NULL");
|
|
lua_pushboolean(L, qfalse);
|
|
return 1;
|
|
}
|
|
damage = (int)luaL_checknumber(L, 2);
|
|
|
|
lent->e->damage = damage;
|
|
|
|
LUA_DEBUG("END - entity.SetDamage");
|
|
lua_pushboolean(L, qtrue);
|
|
return 1;
|
|
}
|
|
|
|
static int Entity_GetDistance(lua_State *L) {
|
|
lent_t *lent;
|
|
|
|
LUA_DEBUG("BEGIN - entity.GetDistance");
|
|
|
|
lent = Lua_GetEntity(L, 1);
|
|
if(lent == NULL || lent->e == NULL) {
|
|
LUA_DEBUG("ERROR - entity.GetDistance - entity NULL");
|
|
lua_pushnumber(L, 0);
|
|
return 1;
|
|
}
|
|
lua_pushnumber(L, lent->e->distance);
|
|
|
|
LUA_DEBUG("END - entity.GetDistance");
|
|
return 1;
|
|
}
|
|
|
|
static int Entity_SetDistance(lua_State *L) {
|
|
lent_t *lent;
|
|
float distance;
|
|
|
|
LUA_DEBUG("BEGIN - entity.SetDistance");
|
|
|
|
lent = Lua_GetEntity(L, 1);
|
|
if(lent == NULL || lent->e == NULL) {
|
|
LUA_DEBUG("ERROR - entity.SetDistance - entity NULL");
|
|
lua_pushboolean(L, qfalse);
|
|
return 1;
|
|
}
|
|
distance = (float)luaL_checknumber(L, 2);
|
|
lent->e->distance = distance;
|
|
|
|
LUA_DEBUG("END - entity.SetDistance");
|
|
lua_pushboolean(L, qtrue);
|
|
return 1;
|
|
}
|
|
|
|
static int Entity_GetEnemy(lua_State *L) {
|
|
lent_t *lent;
|
|
|
|
LUA_DEBUG("BEGIN - entity.GetEnemy");
|
|
|
|
lent = Lua_GetEntity(L, 1);
|
|
if(lent == NULL || lent->e == NULL) {
|
|
LUA_DEBUG("ERROR - entity.GetEnemy - entity NULL");
|
|
lua_pushnil(L);
|
|
return 1;
|
|
}
|
|
Lua_PushEntity(L, lent->e->enemy);
|
|
|
|
LUA_DEBUG("END - entity.GetEnemy");
|
|
return 1;
|
|
}
|
|
|
|
static int Entity_SetEnemy(lua_State *L) {
|
|
lent_t *lent;
|
|
lent_t *enemy;
|
|
|
|
LUA_DEBUG("BEGIN - entity.SetEnemy");
|
|
|
|
lent = Lua_GetEntity(L, 1);
|
|
if(lent == NULL || lent->e == NULL) {
|
|
LUA_DEBUG("ERROR - entity.SetEnemy - entity NULL");
|
|
lua_pushboolean(L, qfalse);
|
|
return 1;
|
|
}
|
|
|
|
if(lua_isnil(L, 2)) {
|
|
lent->e->enemy = NULL;
|
|
} else {
|
|
enemy = Lua_GetEntity(L, 2);
|
|
if(enemy == NULL || enemy->e == NULL) {
|
|
lent->e->enemy = NULL;
|
|
} else {
|
|
lent->e->enemy = enemy->e;
|
|
}
|
|
}
|
|
|
|
LUA_DEBUG("END - entity.SetEnemy");
|
|
lua_pushboolean(L, qtrue);
|
|
return 1;
|
|
}
|
|
|
|
static int Entity_GetEventTime(lua_State *L) {
|
|
lent_t *lent;
|
|
|
|
LUA_DEBUG("BEGIN - entity.GetEventTime");
|
|
|
|
lent = Lua_GetEntity(L, 1);
|
|
if(lent == NULL || lent->e == NULL) {
|
|
LUA_DEBUG("ERROR - entity.GetEventTime - entity NULL");
|
|
lua_pushinteger(L, 0);
|
|
return 1;
|
|
}
|
|
lua_pushinteger(L, lent->e->eventTime);
|
|
|
|
LUA_DEBUG("END - entity.GetEventTime");
|
|
return 1;
|
|
}
|
|
|
|
static int Entity_SetEventTime(lua_State *L) {
|
|
lent_t *lent;
|
|
int eTime;
|
|
|
|
LUA_DEBUG("BEGIN - entity.SetEventTime");
|
|
|
|
lent = Lua_GetEntity(L, 1);
|
|
if(lent == NULL || lent->e == NULL) {
|
|
LUA_DEBUG("ERROR - entity.SetEventTime - entity NULL");
|
|
lua_pushboolean(L, qfalse);
|
|
return 1;
|
|
}
|
|
eTime = (int)luaL_checknumber(L, 2);
|
|
lent->e->eventTime = eTime;
|
|
|
|
LUA_DEBUG("END - entity.SetEventTime");
|
|
lua_pushboolean(L, qtrue);
|
|
return 1;
|
|
}
|
|
|
|
static int Entity_GetFalsename(lua_State *L) {
|
|
lent_t *lent;
|
|
|
|
LUA_DEBUG("BEGIN - entity.GetFalsename");
|
|
|
|
lent = Lua_GetEntity(L, 1);
|
|
if(lent == NULL || lent->e == NULL) {
|
|
lua_pushnil(L);
|
|
LUA_DEBUG("ERROR - entity.GetFalsename - entity NULL");
|
|
return 1;
|
|
} else {
|
|
lua_pushstring(L, lent->e->falsename);
|
|
}
|
|
|
|
LUA_DEBUG("END - entity.GetFalsename");
|
|
return 1;
|
|
}
|
|
|
|
static int Entity_SetFalsename(lua_State *L) {
|
|
lent_t *lent;
|
|
|
|
LUA_DEBUG("BEGIN - entity.SetFalsename");
|
|
|
|
lent = Lua_GetEntity(L, 1);
|
|
if(lent == NULL || lent->e == NULL) {
|
|
LUA_DEBUG("ERROR - entity.SetFalsename - entity NULL");
|
|
lua_pushboolean(L, qfalse);
|
|
return 1;
|
|
}
|
|
lent->e->falsename = (char *)luaL_checkstring(L, 2);
|
|
|
|
LUA_DEBUG("END - entity.SetFalsename");
|
|
lua_pushboolean(L, qtrue);
|
|
return 1;
|
|
}
|
|
|
|
static int Entity_GetTruename(lua_State *L) {
|
|
lent_t *lent;
|
|
|
|
LUA_DEBUG("BEGIN - entity.GetTruename");
|
|
|
|
lent = Lua_GetEntity(L, 1);
|
|
if(lent == NULL || lent->e == NULL) {
|
|
LUA_DEBUG("ERROR - entity.GetTruename - entity NULL");
|
|
lua_pushnil(L);
|
|
return 1;
|
|
} else {
|
|
lua_pushstring(L, lent->e->truename);
|
|
}
|
|
|
|
LUA_DEBUG("END - entity.GetTruename");
|
|
return 1;
|
|
}
|
|
|
|
static int Entity_SetTruename(lua_State *L) {
|
|
lent_t *lent;
|
|
|
|
LUA_DEBUG("BEGIN - entity.SetTruename");
|
|
|
|
lent = Lua_GetEntity(L, 1);
|
|
if(lent == NULL || lent->e == NULL) {
|
|
LUA_DEBUG("ERROR - entity.SetTruename - entiy NULL");
|
|
lua_pushboolean(L, qfalse);
|
|
return 1;
|
|
}
|
|
lent->e->truename = (char *)luaL_checkstring(L, 2);
|
|
|
|
LUA_DEBUG("END - entity.SetTruename");
|
|
lua_pushboolean(L, qtrue);
|
|
return 1;
|
|
}
|
|
|
|
static int Entity_SetTargetName(lua_State *L) {
|
|
lent_t *lent;
|
|
|
|
LUA_DEBUG("BEGIN - entity.SetTargetName");
|
|
|
|
lent = Lua_GetEntity(L, 1);
|
|
if(lent == NULL || lent->e == NULL) {
|
|
LUA_DEBUG("ERROR - entity.SetTargetName - entity NULL");
|
|
lua_pushboolean(L, qfalse);
|
|
return 1;
|
|
}
|
|
lent->e->targetname = (char *)luaL_checkstring(L, 2);
|
|
|
|
LUA_DEBUG("END - entity.SetTargetName");
|
|
lua_pushboolean(L, qtrue);
|
|
return 1;
|
|
}
|
|
|
|
static int Entity_GetFalsetarget(lua_State *L) {
|
|
lent_t *lent;
|
|
|
|
LUA_DEBUG("BEGIN - entity.GetFalsetarget");
|
|
|
|
lent = Lua_GetEntity(L, 1);
|
|
if(lent == NULL || lent->e == NULL) {
|
|
LUA_DEBUG("ERROR - entity.GetFalsetarget - entity NULL");
|
|
lua_pushnil(L);
|
|
return 1;
|
|
} else {
|
|
lua_pushstring(L, lent->e->falsetarget);
|
|
}
|
|
|
|
LUA_DEBUG("END - entity.GetFalsetarget");
|
|
return 1;
|
|
}
|
|
|
|
static int Entity_SetFalsetarget(lua_State *L) {
|
|
lent_t *lent;
|
|
|
|
LUA_DEBUG("BEGIN - entity.SetFalsetarget");
|
|
|
|
lent = Lua_GetEntity(L, 1);
|
|
if(lent == NULL || lent->e == NULL) {
|
|
LUA_DEBUG("ERROR - entity.SetFalsetarget - entity NULL");
|
|
lua_pushboolean(L, qfalse);
|
|
return 1;
|
|
}
|
|
lent->e->falsetarget = (char *)luaL_checkstring(L, 2);
|
|
|
|
LUA_DEBUG("END - entity.SetFalsetarget");
|
|
lua_pushboolean(L, qtrue);
|
|
return 1;
|
|
}
|
|
|
|
static int Entity_GetTruetarget(lua_State *L) {
|
|
lent_t *lent;
|
|
|
|
LUA_DEBUG("BEGIN - entity.GetTruetarget");
|
|
|
|
lent = Lua_GetEntity(L, 1);
|
|
if(lent == NULL || lent->e == NULL) {
|
|
LUA_DEBUG("ERROR - entity.GetTruetarget - entity NULL");
|
|
lua_pushnil(L);
|
|
return 1;
|
|
} else {
|
|
lua_pushstring(L, lent->e->truetarget);
|
|
}
|
|
|
|
LUA_DEBUG("END - entity.GetTruetarget");
|
|
return 1;
|
|
}
|
|
|
|
static int Entity_SetTruetarget(lua_State *L) {
|
|
lent_t *lent;
|
|
|
|
LUA_DEBUG("BEGIN - entity.SetTruetarget");
|
|
|
|
lent = Lua_GetEntity(L, 1);
|
|
if(lent == NULL || lent->e == NULL) {
|
|
LUA_DEBUG("ERROR - entity.SetTruetarget - entity NULL");
|
|
lua_pushboolean(L, qfalse);
|
|
return 1;
|
|
}
|
|
lent->e->truetarget = (char *)luaL_checkstring(L, 2);
|
|
|
|
LUA_DEBUG("END - entity.SetTruetarget");
|
|
lua_pushboolean(L, qtrue);
|
|
return 1;
|
|
}
|
|
|
|
static int Entity_GetFlags(lua_State *L) {
|
|
lent_t *lent;
|
|
|
|
LUA_DEBUG("BEGIN - entity.GetFlags");
|
|
|
|
lent = Lua_GetEntity(L, 1);
|
|
if(lent == NULL || lent->e == NULL) {
|
|
LUA_DEBUG("ERROR - entity.GetFlags - entity NULL");
|
|
lua_pushinteger(L, 0);
|
|
return 1;
|
|
}
|
|
lua_pushinteger(L, lent->e->flags);
|
|
|
|
LUA_DEBUG("END - entity.GetFlags");
|
|
return 1;
|
|
}
|
|
|
|
static int Entity_SetFlags(lua_State *L) {
|
|
lent_t *lent;
|
|
int flags;
|
|
|
|
LUA_DEBUG("BEGIN - entity.SetFlags");
|
|
|
|
lent = Lua_GetEntity(L, 1);
|
|
if(lent == NULL || lent->e == NULL) {
|
|
LUA_DEBUG("ERROR - entity.SetFlags - entity NULL");
|
|
lua_pushboolean(L, qfalse);
|
|
return 1;
|
|
}
|
|
flags = (int)luaL_checknumber(L, 2);
|
|
lent->e->flags = flags;
|
|
|
|
LUA_DEBUG("END - entity.SetFlags");
|
|
lua_pushboolean(L, qtrue);
|
|
return 1;
|
|
}
|
|
|
|
static int Entity_GetFreeAfterEvent(lua_State *L) {
|
|
lent_t *lent;
|
|
|
|
LUA_DEBUG("BEGIN - entity.GetFreeAfterEvent");
|
|
|
|
lent = Lua_GetEntity(L, 1);
|
|
if(lent == NULL || lent->e == NULL) {
|
|
LUA_DEBUG("ERROR - entity.GetFreeAfterEvent - entity NULL");
|
|
lua_pushboolean(L, 0);
|
|
return 1;
|
|
}
|
|
lua_pushboolean(L, (int)lent->e->freeAfterEvent);
|
|
|
|
LUA_DEBUG("END - entity.GetFreeAfterEvent");
|
|
return 1;
|
|
}
|
|
|
|
static int Entity_SetFreeAfterEvent(lua_State *L) {
|
|
lent_t *lent;
|
|
qboolean b;
|
|
|
|
LUA_DEBUG("BEGIN - entity.SetFreeAfterEvent");
|
|
|
|
lent = Lua_GetEntity(L, 1);
|
|
if(lent == NULL || lent->e == NULL) {
|
|
LUA_DEBUG("ERROR - entity.SetFreeAfterEvent - entity NULL");
|
|
lua_pushboolean(L, qfalse);
|
|
return 1;
|
|
}
|
|
b = (qboolean)lua_toboolean(L, 2);
|
|
lent->e->freeAfterEvent = b;
|
|
|
|
LUA_DEBUG("END - entity.SetFreeAfterEvent");
|
|
lua_pushboolean(L, qtrue);
|
|
return 1;
|
|
}
|
|
|
|
static int Entity_GetFreetime(lua_State *L) {
|
|
lent_t *lent;
|
|
|
|
LUA_DEBUG("BEGIN - entity.GetFreetime");
|
|
|
|
lent = Lua_GetEntity(L, 1);
|
|
if(lent == NULL || lent->e == NULL) {
|
|
LUA_DEBUG("ERROR - entity.GetFreetime - entity NULL");
|
|
lua_pushinteger(L, 0);
|
|
return 1;
|
|
}
|
|
lua_pushinteger(L, lent->e->freetime);
|
|
|
|
LUA_DEBUG("END - entity.GetFreetime");
|
|
return 1;
|
|
}
|
|
|
|
static int Entity_GetGreensound(lua_State *L) {
|
|
lent_t *lent;
|
|
|
|
LUA_DEBUG("BEGIN - entity.GetGreensound");
|
|
|
|
lent = Lua_GetEntity(L, 1);
|
|
if(lent == NULL || lent->e == NULL) {
|
|
LUA_DEBUG("ERROR - entity.GetGreensound - entity NULL");
|
|
lua_pushnil(L);
|
|
return 1;
|
|
} else {
|
|
lua_pushstring(L, lent->e->greensound);
|
|
}
|
|
|
|
LUA_DEBUG("END - entity.GetGreensound");
|
|
return 1;
|
|
}
|
|
|
|
static int Entity_SetGreensound(lua_State *L) {
|
|
lent_t *lent;
|
|
|
|
LUA_DEBUG("BEGIN - entity.SetGreensound");
|
|
|
|
lent = Lua_GetEntity(L, 1);
|
|
if(lent == NULL || lent->e == NULL) {
|
|
LUA_DEBUG("ERROR - entity.SetGreensound - entity NLL");
|
|
lua_pushboolean(L, qfalse);
|
|
return 1;
|
|
}
|
|
lent->e->greensound = (char *)luaL_checkstring(L, 2);
|
|
|
|
LUA_DEBUG("END - entity.SetGreensound");
|
|
lua_pushboolean(L, qtrue);
|
|
return 1;
|
|
}
|
|
|
|
static int Entity_GetHealth(lua_State *L) {
|
|
lent_t *lent;
|
|
|
|
LUA_DEBUG("BEGIN - entity.GetHealth");
|
|
|
|
lent = Lua_GetEntity(L, 1);
|
|
if(lent == NULL || lent->e == NULL) {
|
|
LUA_DEBUG("ERROR - entity.GetHealth - entity NULL");
|
|
lua_pushinteger(L, 0);
|
|
return 1;
|
|
}
|
|
lua_pushinteger(L, lent->e->health);
|
|
|
|
LUA_DEBUG("END - entity.GetHealth");
|
|
return 1;
|
|
}
|
|
|
|
static int Entity_SetHealth(lua_State *L) {
|
|
lent_t *lent;
|
|
int health;
|
|
|
|
LUA_DEBUG("BEGIN - entity.SetHealth");
|
|
|
|
lent = Lua_GetEntity(L, 1);
|
|
if(lent == NULL || lent->e == NULL) {
|
|
LUA_DEBUG("ERROR - entity.SetHealth - entity NULL");
|
|
lua_pushboolean(L, qfalse);
|
|
return 1;
|
|
}
|
|
health = (int)luaL_checknumber(L, 2);
|
|
lent->e->health = health;
|
|
|
|
LUA_DEBUG("END - entity.SetHealth");
|
|
lua_pushboolean(L, qtrue);
|
|
return 1;
|
|
}
|
|
|
|
static int Entity_GetInUse(lua_State *L) {
|
|
lent_t *lent;
|
|
|
|
LUA_DEBUG("BEGIN - entity.GetInUse");
|
|
|
|
lent = Lua_GetEntity(L, 1);
|
|
if(lent == NULL || lent->e == NULL) {
|
|
LUA_DEBUG("ERROR - entity.GetInUse - entity NULL");
|
|
lua_pushboolean(L, qfalse);
|
|
return 1;
|
|
}
|
|
lua_pushboolean(L, (int)lent->e->inuse);
|
|
|
|
LUA_DEBUG("END - entity.GetInUse");
|
|
return 1;
|
|
}
|
|
|
|
static int Entity_GetLastEnemy(lua_State *L) {
|
|
lent_t *lent;
|
|
|
|
LUA_DEBUG("BEGIN - entity.GetLastEnemy");
|
|
|
|
lent = Lua_GetEntity(L, 1);
|
|
if(lent == NULL || lent->e == NULL) {
|
|
LUA_DEBUG("ERROR - entity.GetLastEnemy - entity NULL");
|
|
lua_pushnil(L);
|
|
return 1;
|
|
}
|
|
if(!lent->e->lastEnemy) {
|
|
lua_pushnil(L);
|
|
} else {
|
|
Lua_PushEntity(L, lent->e->lastEnemy);
|
|
}
|
|
|
|
LUA_DEBUG("END - entity.GetLastEnemy");
|
|
return 1;
|
|
}
|
|
|
|
static int Entity_SetLastEnemy(lua_State *L) {
|
|
lent_t *lent;
|
|
lent_t *lastEnemy;
|
|
|
|
LUA_DEBUG("BEGIN - entity.SetLastEnemy");
|
|
|
|
lent = Lua_GetEntity(L, 1);
|
|
if(lent == NULL || lent->e == NULL) {
|
|
LUA_DEBUG("ERROR - entity.SetLastEnemy - entity NULL");
|
|
lua_pushboolean(L, qfalse);
|
|
return 1;
|
|
}
|
|
lastEnemy = Lua_GetEntity(L, 2);
|
|
if(lastEnemy == NULL || lastEnemy->e == NULL) {
|
|
lent->e->lastEnemy = NULL;
|
|
} else {
|
|
lent->e->lastEnemy = lastEnemy->e;
|
|
}
|
|
|
|
LUA_DEBUG("END - entity.SetLastEnemy");
|
|
lua_pushboolean(L, qtrue);
|
|
return 1;
|
|
}
|
|
|
|
static int Entity_GetLuaDie(lua_State *L) {
|
|
lent_t *lent;
|
|
|
|
LUA_DEBUG("BEGIN - entity.GetLuaDie");
|
|
|
|
lent = Lua_GetEntity(L, 1);
|
|
if(lent == NULL || lent->e == NULL) {
|
|
LUA_DEBUG("ERROR - entity.GetLuaDie - entity NULL");
|
|
lua_pushnil(L);
|
|
return 1;
|
|
} else {
|
|
lua_pushstring(L, lent->e->luaDie);
|
|
}
|
|
|
|
LUA_DEBUG("END - entity.GetLuaDie");
|
|
return 1;
|
|
}
|
|
|
|
static int Entity_SetLuaDie(lua_State *L) {
|
|
lent_t *lent;
|
|
|
|
LUA_DEBUG("BEGIN - entity.SetLuaDie");
|
|
|
|
lent = Lua_GetEntity(L, 1);
|
|
if(lent == NULL || lent->e == NULL) {
|
|
LUA_DEBUG("ERROR - entity.SetLuaDie - entity NULL");
|
|
lua_pushboolean(L, qfalse);
|
|
return 1;
|
|
}
|
|
lent->e->luaDie = (char *)luaL_checkstring(L, 2);
|
|
|
|
LUA_DEBUG("END - entity.SetLuaDie");
|
|
lua_pushboolean(L, qtrue);
|
|
return 1;
|
|
}
|
|
|
|
static int Entity_GetLuaEntity(lua_State *L) {
|
|
lent_t *lent;
|
|
|
|
LUA_DEBUG("BEGIN - entity.GetLuaEntity");
|
|
|
|
lent = Lua_GetEntity(L, 1);
|
|
if(lent == NULL || lent->e == NULL) {
|
|
LUA_DEBUG("ERROR - entity.GetLuaEntity - entity NULL");
|
|
lua_pushboolean(L, 0);
|
|
return 1;
|
|
}
|
|
lua_pushboolean(L, (int)lent->e->luaEntity);
|
|
|
|
LUA_DEBUG("END - entity.GetLuaEntity");
|
|
return 1;
|
|
}
|
|
|
|
static int Entity_GetLuaFree(lua_State *L) {
|
|
lent_t *lent;
|
|
|
|
LUA_DEBUG("BEGIN - entity.GetLuaFree");
|
|
|
|
lent = Lua_GetEntity(L, 1);
|
|
if(lent == NULL || lent->e == NULL) {
|
|
LUA_DEBUG("ERROR - entity.GetLuaFree - entity NULL");
|
|
lua_pushnil(L);
|
|
return 1;
|
|
} else {
|
|
lua_pushstring(L, lent->e->luaFree);
|
|
}
|
|
|
|
LUA_DEBUG("END - entity.GetLuaFree");
|
|
return 1;
|
|
}
|
|
|
|
static int Entity_SetLuaFree(lua_State *L) {
|
|
lent_t *lent;
|
|
|
|
LUA_DEBUG("BEGIN - entity.SetLuaFree");
|
|
|
|
lent = Lua_GetEntity(L, 1);
|
|
if(lent == NULL || lent->e == NULL) {
|
|
LUA_DEBUG("ERROR - entity.SetLuaFree - entity NULL");
|
|
lua_pushboolean(L, qfalse);
|
|
return 1;
|
|
}
|
|
lent->e->luaFree = (char *)luaL_checkstring(L, 2);
|
|
|
|
LUA_DEBUG("END - entity.SetLuaFree");
|
|
lua_pushboolean(L, qtrue);
|
|
return 1;
|
|
}
|
|
|
|
static int Entity_GetLuaHurt(lua_State *L) {
|
|
lent_t *lent;
|
|
|
|
LUA_DEBUG("BEGIN - entity.GetLuaHurt");
|
|
|
|
lent = Lua_GetEntity(L, 1);
|
|
if(lent == NULL || lent->e == NULL) {
|
|
LUA_DEBUG("ERROR - entity.GetLuaHurt - entity NULL");
|
|
lua_pushnil(L);
|
|
return 1;
|
|
} else {
|
|
lua_pushstring(L, lent->e->luaHurt);
|
|
}
|
|
|
|
LUA_DEBUG("END - entity.GetLuaHurt");
|
|
return 1;
|
|
}
|
|
|
|
static int Entity_SetLuaHurt(lua_State *L) {
|
|
lent_t *lent;
|
|
|
|
LUA_DEBUG("BEGIN - entity.SetLuaHurt");
|
|
|
|
lent = Lua_GetEntity(L, 1);
|
|
if(lent == NULL || lent->e == NULL) {
|
|
LUA_DEBUG("ERROR - entity.SetLuaHurt - entity NULL");
|
|
lua_pushboolean(L, qfalse);
|
|
return 1;
|
|
}
|
|
lent->e->luaHurt = (char *)luaL_checkstring(L, 2);
|
|
|
|
LUA_DEBUG("END - entity.SetLuaHurt");
|
|
lua_pushboolean(L, qtrue);
|
|
return 1;
|
|
}
|
|
|
|
static int Entity_GetLuaReached(lua_State *L) {
|
|
lent_t *lent;
|
|
|
|
LUA_DEBUG("BEGIN - entity.GetLuaReached");
|
|
|
|
lent = Lua_GetEntity(L, 1);
|
|
if(lent == NULL || lent->e == NULL) {
|
|
LUA_DEBUG("ERROR - entity.GetLuaReached - entity NULL");
|
|
lua_pushnil(L);
|
|
return 1;
|
|
} else {
|
|
lua_pushstring(L, lent->e->luaReached);
|
|
}
|
|
|
|
LUA_DEBUG("END - entity.GetLuaReached");
|
|
return 1;
|
|
}
|
|
|
|
static int Entity_SetLuaReached(lua_State *L) {
|
|
lent_t *lent;
|
|
|
|
LUA_DEBUG("BEGIN - entity.SetLuaReached");
|
|
|
|
lent = Lua_GetEntity(L, 1);
|
|
if(lent == NULL || lent->e == NULL) {
|
|
LUA_DEBUG("ERROR - entity.SetLuaReached - entity NULL");
|
|
lua_pushboolean(L, qfalse);
|
|
return 1;
|
|
}
|
|
lent->e->luaReached = (char *)luaL_checkstring(L, 2);
|
|
|
|
LUA_DEBUG("END - entity.SetLuaReached");
|
|
lua_pushboolean(L, qtrue);
|
|
return 1;
|
|
}
|
|
|
|
static int Entity_GetLuaReachedAngular(lua_State *L) {
|
|
lent_t *lent;
|
|
|
|
LUA_DEBUG("BEGIN - entity.GetLuaReachedAngular");
|
|
|
|
lent = Lua_GetEntity(L, 1);
|
|
if(lent == NULL || lent->e == NULL) {
|
|
LUA_DEBUG("ERROR - entity.GetLuaReachedAngular - entity NULL");
|
|
lua_pushnil(L);
|
|
return 1;
|
|
} else {
|
|
lua_pushstring(L, lent->e->luaReachedAngular);
|
|
}
|
|
|
|
LUA_DEBUG("END - entity.GetLuaReachedAngular");
|
|
return 1;
|
|
}
|
|
|
|
static int Entity_SetLuaReachedAngular(lua_State *L) {
|
|
lent_t *lent;
|
|
|
|
LUA_DEBUG("BEGIN - entity.SetLuaReachedAngular");
|
|
|
|
lent = Lua_GetEntity(L, 1);
|
|
if(lent == NULL || lent->e == NULL) {
|
|
LUA_DEBUG("ERROR - entity.SetLuaReachedAngular - entity NULL");
|
|
lua_pushboolean(L, qfalse);
|
|
return 1;
|
|
}
|
|
lent->e->luaReachedAngular = (char *)luaL_checkstring(L, 2);
|
|
|
|
LUA_DEBUG("END - entity.SetLuaReachedAngular");
|
|
lua_pushboolean(L, qtrue);
|
|
return 1;
|
|
}
|
|
|
|
static int Entity_GetLuaSpawn(lua_State *L) {
|
|
lent_t *lent;
|
|
|
|
LUA_DEBUG("BEGIN - entity.GetLuaSpawn");
|
|
|
|
lent = Lua_GetEntity(L, 1);
|
|
if(lent == NULL || lent->e == NULL) {
|
|
LUA_DEBUG("ERROR - entity.GetLuaSpawn - entity NULL");
|
|
lua_pushnil(L);
|
|
return 1;
|
|
} else {
|
|
lua_pushstring(L, lent->e->luaSpawn);
|
|
}
|
|
|
|
LUA_DEBUG("END - entity.GetLuaSpawn");
|
|
return 1;
|
|
}
|
|
|
|
static int Entity_SetLuaSpawn(lua_State *L) {
|
|
lent_t *lent;
|
|
|
|
LUA_DEBUG("BEGIN - entity.SetLuaSpawn");
|
|
|
|
lent = Lua_GetEntity(L, 1);
|
|
if(lent == NULL || lent->e == NULL) {
|
|
LUA_DEBUG("ERROR - entity.SetLuaSpawn - entity NULL");
|
|
lua_pushboolean(L, qfalse);
|
|
return 1;
|
|
}
|
|
lent->e->luaSpawn = (char *)luaL_checkstring(L, 2);
|
|
|
|
LUA_DEBUG("END - entity.SetLuaSpawn");
|
|
lua_pushboolean(L, qtrue);
|
|
return 1;
|
|
}
|
|
|
|
static int Entity_GetLuaThink(lua_State *L) {
|
|
lent_t *lent;
|
|
|
|
LUA_DEBUG("BEGIN - entity.GetLuaThink");
|
|
|
|
lent = Lua_GetEntity(L, 1);
|
|
if(lent == NULL || lent->e == NULL) {
|
|
LUA_DEBUG("ERROR - entity.GetLuaThink - entity NULL");
|
|
lua_pushnil(L);
|
|
return 1;
|
|
} else {
|
|
lua_pushstring(L, lent->e->luaThink);
|
|
}
|
|
|
|
LUA_DEBUG("END - entity.GetLuaThink");
|
|
return 1;
|
|
}
|
|
|
|
static int Entity_SetLuaThink(lua_State *L) {
|
|
lent_t *lent;
|
|
|
|
LUA_DEBUG("BEGIN - entity.SetLuaThink");
|
|
|
|
lent = Lua_GetEntity(L, 1);
|
|
if(lent == NULL || lent->e == NULL) {
|
|
LUA_DEBUG("ERROR - entity.SetLuaThink - entity NULL");
|
|
lua_pushboolean(L, qfalse);
|
|
return 1;
|
|
}
|
|
lent->e->luaThink = (char *)luaL_checkstring(L, 2);
|
|
|
|
LUA_DEBUG("END - entity.SetLuaThink");
|
|
lua_pushboolean(L, qtrue);
|
|
return 1;
|
|
}
|
|
|
|
static int Entity_GetLuaTouch(lua_State *L) {
|
|
lent_t *lent;
|
|
|
|
LUA_DEBUG("BEGIN - entity.GetLuaTouch");
|
|
|
|
lent = Lua_GetEntity(L, 1);
|
|
if(lent == NULL || lent->e == NULL) {
|
|
LUA_DEBUG("ERROR - entity.GetLuaTouch - entity NULL");
|
|
lua_pushnil(L);
|
|
return 1;
|
|
} else {
|
|
lua_pushstring(L, lent->e->luaTouch);
|
|
}
|
|
|
|
LUA_DEBUG("END - entity.GetLuaTouch");
|
|
return 1;
|
|
}
|
|
|
|
static int Entity_SetLuaTouch(lua_State *L) {
|
|
lent_t *lent;
|
|
|
|
LUA_DEBUG("BEGIN - entity.SetLuaTouch");
|
|
|
|
lent = Lua_GetEntity(L, 1);
|
|
if(lent == NULL || lent->e == NULL) {
|
|
LUA_DEBUG("ERROR - entity.SetLuaTouch - entity NULL");
|
|
lua_pushboolean(L, qfalse);
|
|
return 1;
|
|
}
|
|
lent->e->luaTouch = (char *)luaL_checkstring(L, 2);
|
|
|
|
LUA_DEBUG("END - entity.SetLuaTouch");
|
|
lua_pushboolean(L, qtrue);
|
|
return 1;
|
|
}
|
|
|
|
static int Entity_GetLuaTrigger(lua_State *L) {
|
|
lent_t *lent;
|
|
|
|
LUA_DEBUG("BEGIN - entity.GetLuaTrigger");
|
|
|
|
lent = Lua_GetEntity(L, 1);
|
|
if(lent == NULL || lent->e == NULL) {
|
|
LUA_DEBUG("ERROR - entity.GetLuaTrigger - entity NULL");
|
|
lua_pushnil(L);
|
|
return 1;
|
|
} else {
|
|
lua_pushstring(L, lent->e->luaTrigger);
|
|
}
|
|
|
|
LUA_DEBUG("END - entity.GetLuaTrigger");
|
|
return 1;
|
|
}
|
|
|
|
static int Entity_SetLuaTrigger(lua_State *L) {
|
|
lent_t *lent;
|
|
|
|
LUA_DEBUG("BEGIN - entity.SetLuaTrigger");
|
|
|
|
lent = Lua_GetEntity(L, 1);
|
|
if(lent == NULL || lent->e == NULL) {
|
|
LUA_DEBUG("ERROR - entity.SetLuaTrigger - entity NULL");
|
|
lua_pushboolean(L, qfalse);
|
|
return 1;
|
|
}
|
|
lent->e->luaTrigger = (char *)luaL_checkstring(L, 2);
|
|
|
|
LUA_DEBUG("END - entity.SetLuaTrigger");
|
|
lua_pushboolean(L, qtrue);
|
|
return 1;
|
|
}
|
|
|
|
static int Entity_GetLuaUse(lua_State *L) {
|
|
lent_t *lent;
|
|
|
|
LUA_DEBUG("BEGIN - entity.GetLuaUse");
|
|
|
|
lent = Lua_GetEntity(L, 1);
|
|
if(lent == NULL || lent->e == NULL) {
|
|
LUA_DEBUG("ERROR - entity.GetLuaUse - entity NULL");
|
|
lua_pushnil(L);
|
|
return 1;
|
|
} else {
|
|
lua_pushstring(L, lent->e->luaUse);
|
|
}
|
|
|
|
LUA_DEBUG("END - entity.GetLuaUse");
|
|
return 1;
|
|
}
|
|
|
|
static int Entity_SetLuaUse(lua_State *L) {
|
|
lent_t *lent;
|
|
|
|
LUA_DEBUG("BEGIN - entity.SetLuaUse");
|
|
|
|
lent = Lua_GetEntity(L, 1);
|
|
if(lent == NULL || lent->e == NULL) {
|
|
LUA_DEBUG("ERROR - entity.SetLuaUse - entity NULL");
|
|
lua_pushboolean(L, qfalse);
|
|
return 1;
|
|
}
|
|
lent->e->luaUse = (char *)luaL_checkstring(L, 2);
|
|
|
|
LUA_DEBUG("END - entity.SetLuaUse");
|
|
lua_pushboolean(L, qtrue);
|
|
return 1;
|
|
}
|
|
|
|
|
|
static int Entity_GetMessage(lua_State *L) {
|
|
lent_t *lent;
|
|
|
|
LUA_DEBUG("BEGIN - entity.GetMessage");
|
|
|
|
lent = Lua_GetEntity(L, 1);
|
|
if(lent == NULL || lent->e == NULL) {
|
|
LUA_DEBUG("ERROR - entity.GetMessage - entity NULL");
|
|
lua_pushnil(L);
|
|
return 1;
|
|
} else {
|
|
lua_pushstring(L, lent->e->message);
|
|
}
|
|
|
|
LUA_DEBUG("END - entity.GetMessage");
|
|
return 1;
|
|
}
|
|
|
|
static int Entity_SetMessage(lua_State *L) {
|
|
lent_t *lent;
|
|
|
|
LUA_DEBUG("BEGIN - entity.SetMessage");
|
|
|
|
lent = Lua_GetEntity(L, 1);
|
|
if(lent == NULL || lent->e == NULL) {
|
|
LUA_DEBUG("ERROR - entity.SetMessage - entity NULL");
|
|
lua_pushboolean(L, qfalse);
|
|
return 1;
|
|
}
|
|
lent->e->message = (char *)luaL_checkstring(L, 2);
|
|
|
|
LUA_DEBUG("END - entity.SetMessage");
|
|
lua_pushboolean(L, qtrue);
|
|
return 1;
|
|
}
|
|
|
|
static int Entity_GetMethodOfDeath(lua_State *L) {
|
|
lent_t *lent;
|
|
|
|
LUA_DEBUG("BEGIN - entity.GetMethodOfDeath");
|
|
|
|
lent = Lua_GetEntity(L, 1);
|
|
if(lent == NULL || lent->e == NULL) {
|
|
LUA_DEBUG("ERROR - entity.GetMethodOfDeath - entity NULL");
|
|
lua_pushinteger(L, 0);
|
|
return 1;
|
|
}
|
|
lua_pushinteger(L, lent->e->methodOfDeath);
|
|
|
|
LUA_DEBUG("END - entity.GetMethodOfDeath");
|
|
return 1;
|
|
}
|
|
|
|
static int Entity_SetMethodOfDeath(lua_State *L) {
|
|
lent_t *lent;
|
|
int mod;
|
|
|
|
LUA_DEBUG("BEGIN - entity.SetMethodOfDeath");
|
|
|
|
lent = Lua_GetEntity(L, 1);
|
|
if(lent == NULL || lent->e == NULL) {
|
|
LUA_DEBUG("ERROR - entity.SetMethodOfDeath - entity NULL");
|
|
lua_pushboolean(L, qfalse);
|
|
return 1;
|
|
}
|
|
mod = (int)luaL_checknumber(L, 2);
|
|
lent->e->methodOfDeath = mod;
|
|
|
|
LUA_DEBUG("END - entity.SetMethodOfDeath");
|
|
lua_pushboolean(L, qtrue);
|
|
return 1;
|
|
}
|
|
|
|
static int Entity_GetModel(lua_State *L) {
|
|
lent_t *lent;
|
|
|
|
LUA_DEBUG("BEGIN - entity.GetModel");
|
|
|
|
lent = Lua_GetEntity(L, 1);
|
|
if(lent == NULL || lent->e == NULL) {
|
|
LUA_DEBUG("ERROR - entity.GetModel - entity NULL");
|
|
lua_pushnil(L);
|
|
return 1;
|
|
} else {
|
|
lua_pushstring(L, lent->e->model);
|
|
}
|
|
|
|
LUA_DEBUG("END - entity.GetModel");
|
|
return 1;
|
|
}
|
|
|
|
static int Entity_SetModel(lua_State *L) {
|
|
lent_t *lent;
|
|
|
|
LUA_DEBUG("BEGIN - entity.SetMode");
|
|
|
|
lent = Lua_GetEntity(L, 1);
|
|
if(lent == NULL || lent->e == NULL) {
|
|
LUA_DEBUG("ERROR - entity.SetMode - entity NULL");
|
|
lua_pushboolean(L, qfalse);
|
|
return 1;
|
|
}
|
|
lent->e->model = (char *)luaL_checkstring(L, 2);
|
|
|
|
LUA_DEBUG("END - entity.SetMode");
|
|
lua_pushboolean(L, qtrue);
|
|
return 1;
|
|
}
|
|
|
|
static int Entity_GetModel2(lua_State *L) {
|
|
lent_t *lent;
|
|
|
|
LUA_DEBUG("BEGIN - entity.GetModel2");
|
|
|
|
lent = Lua_GetEntity(L, 1);
|
|
if(lent == NULL || lent->e == NULL) {
|
|
LUA_DEBUG("ERROR - entity.GetModel2 - entity NULL");
|
|
lua_pushnil(L);
|
|
return 1;
|
|
} else {
|
|
lua_pushstring(L, lent->e->model2);
|
|
}
|
|
|
|
LUA_DEBUG("END - entity.GetModel2");
|
|
return 1;
|
|
}
|
|
|
|
static int Entity_SetModel2(lua_State *L) {
|
|
lent_t *lent;
|
|
|
|
LUA_DEBUG("BEGIN - entity.SetModel2");
|
|
|
|
lent = Lua_GetEntity(L, 1);
|
|
if(lent == NULL || lent->e == NULL) {
|
|
LUA_DEBUG("ERROR - entity.SetModel2 - entity NULL");
|
|
lua_pushboolean(L, qfalse);
|
|
return 1;
|
|
}
|
|
lent->e->model2 = (char *)luaL_checkstring(L, 2);
|
|
|
|
LUA_DEBUG("END - entity.SetModel2");
|
|
lua_pushboolean(L, qtrue);
|
|
return 1;
|
|
}
|
|
|
|
static int Entity_GetMovedir(lua_State *L) {
|
|
lent_t *lent;
|
|
vec3_t null = { 0, 0, 0 };
|
|
|
|
LUA_DEBUG("BEGIN - entity.GetMovedir");
|
|
|
|
lent = Lua_GetEntity(L, 1);
|
|
if(lent == NULL || lent->e == NULL) {
|
|
LUA_DEBUG("ERROR - entity.GetMovedir - entity NULL");
|
|
Lua_PushVector(L, null);
|
|
return 1;
|
|
}
|
|
Lua_PushVector(L, lent->e->movedir);
|
|
|
|
LUA_DEBUG("END - entity.GetMovedir");
|
|
return 1;
|
|
}
|
|
|
|
static int Entity_SetMovedir(lua_State *L) {
|
|
lent_t *lent;
|
|
vec_t *dir;
|
|
|
|
LUA_DEBUG("BEGIN - entity.SetMovedir");
|
|
|
|
lent = Lua_GetEntity(L, 1);
|
|
if(lent == NULL || lent->e == NULL) {
|
|
LUA_DEBUG("ERROR - entity.SetMovedir - entity NULL");
|
|
lua_pushboolean(L, qfalse);
|
|
return 1;
|
|
}
|
|
dir = Lua_GetVector(L, 2);
|
|
VectorCopy(dir, lent->e->movedir);
|
|
|
|
LUA_DEBUG("END - entity.SetMovedir");
|
|
lua_pushboolean(L, qtrue);
|
|
return 1;
|
|
}
|
|
|
|
static int Entity_GetMoverstate(lua_State *L) {
|
|
lent_t *lent;
|
|
|
|
LUA_DEBUG("BEGIN - entity.GetMoverstate");
|
|
|
|
lent = Lua_GetEntity(L, 1);
|
|
if(lent == NULL || lent->e == NULL) {
|
|
LUA_DEBUG("ERROR - entity.GetMoverstate - entity NULL");
|
|
lua_pushinteger(L, -1);
|
|
return 1;
|
|
}
|
|
lua_pushinteger(L, (int)lent->e->moverState);
|
|
|
|
LUA_DEBUG("END - entity.GetMoverstate");
|
|
return 1;
|
|
}
|
|
|
|
static int Entity_SetMoverstate(lua_State *L) {
|
|
lent_t *lent;
|
|
moverState_t m;
|
|
|
|
LUA_DEBUG("BEGIN - entity.SetMoverstate");
|
|
|
|
lent = Lua_GetEntity(L, 1);
|
|
if(lent == NULL || lent->e == NULL) {
|
|
LUA_DEBUG("ERROR - entity.SetMoverstate - entiy NULL");
|
|
lua_pushboolean(L, qfalse);
|
|
return 1;
|
|
}
|
|
m = (moverState_t)luaL_checknumber(L, 2);
|
|
|
|
lent->e->moverState = m;
|
|
|
|
LUA_DEBUG("END - entity.SetMoverstate");
|
|
lua_pushboolean(L, qtrue);
|
|
return 1;
|
|
}
|
|
|
|
static int Entity_GetN00bCount(lua_State *L) {
|
|
lent_t *lent;
|
|
|
|
LUA_DEBUG("BEGIN - entity.GetN00bCount");
|
|
|
|
lent = Lua_GetEntity(L, 1);
|
|
if(lent == NULL || lent->e == NULL) {
|
|
LUA_DEBUG("ERROR - entity.GetN00bCount - entity NULL");
|
|
lua_pushinteger(L, 0);
|
|
return 1;
|
|
}
|
|
lua_pushinteger(L, lent->e->n00bCount);
|
|
|
|
LUA_DEBUG("END - entity.GetN00bCount");
|
|
return 1;
|
|
}
|
|
|
|
static int Entity_SetN00bCount(lua_State *L) {
|
|
lent_t *lent;
|
|
int cnt;
|
|
|
|
LUA_DEBUG("BEGIN - entity.SetN00bCount");
|
|
|
|
lent = Lua_GetEntity(L, 1);
|
|
if(lent == NULL || lent->e == NULL) {
|
|
LUA_DEBUG("ERROR - entity.SetN00bCount - entity NULL");
|
|
lua_pushboolean(L, qfalse);
|
|
return 1;
|
|
}
|
|
cnt = (int)luaL_checknumber(L, 2);
|
|
lent->e->n00bCount = cnt;
|
|
|
|
LUA_DEBUG("END - entity.SetN00bCount");
|
|
lua_pushboolean(L, qtrue);
|
|
return 1;
|
|
}
|
|
|
|
static int Entity_GetWait(lua_State *L) {
|
|
lent_t *lent;
|
|
|
|
LUA_DEBUG("BEGIN - entity.GetWait");
|
|
|
|
lent = Lua_GetEntity(L, 1);
|
|
if(lent == NULL || lent->e == NULL) {
|
|
LUA_DEBUG("ERROR - entity.GetWait - entity NULL");
|
|
lua_pushinteger(L, 0);
|
|
return 1;
|
|
}
|
|
lua_pushinteger(L, lent->e->wait);
|
|
|
|
LUA_DEBUG("END - entity.GetWait");
|
|
return 1;
|
|
}
|
|
|
|
static int Entity_SetWait(lua_State *L) {
|
|
lent_t *lent;
|
|
int wait;
|
|
|
|
LUA_DEBUG("BEGIN - entity.SetWait");
|
|
|
|
lent = Lua_GetEntity(L, 1);
|
|
if(lent == NULL || lent->e == NULL) {
|
|
LUA_DEBUG("ERROR - entity.SetWait - entity NULL");
|
|
lua_pushboolean(L, qfalse);
|
|
return 1;
|
|
}
|
|
wait = (int)luaL_checknumber(L, 2);
|
|
|
|
lent->e->wait = wait;
|
|
|
|
LUA_DEBUG("END - entity.SetWait");
|
|
lua_pushboolean(L, qtrue);
|
|
return 1;
|
|
}
|
|
|
|
static int Entity_GetNeverFree(lua_State *L) {
|
|
lent_t *lent;
|
|
|
|
LUA_DEBUG("BEGIN - entity.GetNeverFree");
|
|
|
|
lent = Lua_GetEntity(L, 1);
|
|
if(lent == NULL || lent->e == NULL) {
|
|
LUA_DEBUG("ERROR - entity.GetNeverFree - entity NULL");
|
|
lua_pushboolean(L, 0);
|
|
return 1;
|
|
}
|
|
lua_pushboolean(L, (int)lent->e->neverFree);
|
|
|
|
LUA_DEBUG("END - entity.GetNeverFree");
|
|
return 1;
|
|
}
|
|
|
|
static int Entity_SetNeverFree(lua_State *L) {
|
|
lent_t *lent;
|
|
qboolean b;
|
|
|
|
LUA_DEBUG("BEGIN - entity.SetNeverFree");
|
|
|
|
lent = Lua_GetEntity(L, 1);
|
|
if(lent == NULL || lent->e == NULL) {
|
|
LUA_DEBUG("ERROR - entity.SetNeverFree - entity NULL");
|
|
lua_pushboolean(L, qfalse);
|
|
return 1;
|
|
}
|
|
b = (qboolean)lua_toboolean(L, 2);
|
|
lent->e->neverFree = b;
|
|
|
|
LUA_DEBUG("END - entity.SetNeverFree");
|
|
lua_pushboolean(L, qtrue);
|
|
return 1;
|
|
}
|
|
|
|
static int Entity_GetNexthink(lua_State *L) {
|
|
lent_t *lent;
|
|
|
|
LUA_DEBUG("BEGIN - entity.GetNexthink");
|
|
|
|
lent = Lua_GetEntity(L, 1);
|
|
if(lent == NULL || lent->e == NULL) {
|
|
LUA_DEBUG("ERROR - entity.GetNexthink - entity NULL");
|
|
lua_pushinteger(L, -1);
|
|
return 1;
|
|
}
|
|
lua_pushinteger(L, lent->e->nextthink);
|
|
|
|
LUA_DEBUG("END - entity.GetNexthink");
|
|
return 1;
|
|
}
|
|
|
|
static int Entity_SetNexthink(lua_State *L) {
|
|
lent_t *lent;
|
|
int next;
|
|
|
|
LUA_DEBUG("BEGIN - entity.SetNexthink");
|
|
|
|
lent = Lua_GetEntity(L, 1);
|
|
if(lent == NULL || lent->e == NULL) {
|
|
LUA_DEBUG("ERROR - entity.SetNexthink - entity NULL");
|
|
lua_pushboolean(L, qfalse);
|
|
return 1;
|
|
}
|
|
next = (int)luaL_checknumber(L, 2);
|
|
lent->e->nextthink = next;
|
|
|
|
LUA_DEBUG("END - entity.SetNexthink");
|
|
lua_pushboolean(L, qtrue);
|
|
return 1;
|
|
}
|
|
|
|
static int Entity_GetNextTrain(lua_State *L) {
|
|
lent_t *lent;
|
|
|
|
LUA_DEBUG("BEGIN - entity.GetNextTrain");
|
|
|
|
lent = Lua_GetEntity(L, 1);
|
|
if(lent == NULL || lent->e == NULL) {
|
|
LUA_DEBUG("ERROR - entity.GetNextTrain - entity NULL");
|
|
lua_pushnil(L);
|
|
return 1;
|
|
}
|
|
if(lent->e->nextTrain == NULL) {
|
|
lua_pushnil(L);
|
|
} else {
|
|
Lua_PushEntity(L, lent->e->nextTrain);
|
|
}
|
|
|
|
LUA_DEBUG("END - entity.GetNextTrain");
|
|
return 1;
|
|
}
|
|
|
|
static int Entity_SetNextTrain(lua_State *L) {
|
|
lent_t *lent;
|
|
lent_t *next;
|
|
|
|
LUA_DEBUG("BEGIN - entity.SetNextTrain");
|
|
|
|
lent = Lua_GetEntity(L, 1);
|
|
if(lent == NULL || lent->e == NULL) {
|
|
LUA_DEBUG("ERROR - entity.SetNextTrain - entity NULL");
|
|
lua_pushboolean(L, qfalse);
|
|
return 1;
|
|
}
|
|
next = Lua_GetEntity(L, 2);
|
|
if(next == NULL || next->e == NULL) {
|
|
lent->e->nextTrain = NULL;
|
|
} else {
|
|
lent->e->nextTrain = next->e;
|
|
}
|
|
|
|
LUA_DEBUG("END - entity.SetNextTrain");
|
|
lua_pushboolean(L, qtrue);
|
|
return 1;
|
|
}
|
|
|
|
static int Entity_GetNoiseIndex(lua_State *L) {
|
|
lent_t *lent;
|
|
|
|
LUA_DEBUG("BEGIN - entity.GetNoiseIndex");
|
|
|
|
lent = Lua_GetEntity(L, 1);
|
|
if(lent == NULL || lent->e == NULL) {
|
|
LUA_DEBUG("ERROR - entity.GetNoiseIndex - entity NULL");
|
|
lua_pushinteger(L, -1);
|
|
return 1;
|
|
}
|
|
lua_pushinteger(L, lent->e->noise_index);
|
|
|
|
LUA_DEBUG("END - entity.GetNoiseIndex");
|
|
return 1;
|
|
}
|
|
|
|
static int Entity_SetNoiseIndex(lua_State *L) {
|
|
lent_t *lent;
|
|
int idx;
|
|
|
|
LUA_DEBUG("BEGIN - entity.SetNoiseIndex");
|
|
|
|
lent = Lua_GetEntity(L, 1);
|
|
if(lent == NULL || lent->e == NULL) {
|
|
LUA_DEBUG("ERROR - entity.SetNoiseIndex - entity NULL");
|
|
lua_pushboolean(L, qfalse);
|
|
return 1;
|
|
}
|
|
idx = (int)luaL_checknumber(L, 2);
|
|
lent->e->noise_index = idx;
|
|
|
|
LUA_DEBUG("END - entity.SetNoiseIndex");
|
|
lua_pushboolean(L, qtrue);
|
|
return 1;
|
|
}
|
|
|
|
static int Entity_GetOldHealth(lua_State *L) {
|
|
lent_t *lent;
|
|
|
|
LUA_DEBUG("BEGIN - entity.GetOldHealth");
|
|
|
|
lent = Lua_GetEntity(L, 1);
|
|
if(lent == NULL || lent->e == NULL) {
|
|
LUA_DEBUG("ERROR - entity.GetOldHealth - entity NULL");
|
|
lua_pushinteger(L, 0);
|
|
return 1;
|
|
}
|
|
lua_pushinteger(L, lent->e->old_health);
|
|
|
|
LUA_DEBUG("END - entity.GetOldHealth");
|
|
return 1;
|
|
}
|
|
|
|
static int Entity_SetOldHealth(lua_State *L) {
|
|
lent_t *lent;
|
|
int old_health;
|
|
|
|
LUA_DEBUG("BEGIN - entity.SetOldHealth");
|
|
|
|
lent = Lua_GetEntity(L, 1);
|
|
if(lent == NULL || lent->e == NULL) {
|
|
LUA_DEBUG("ERROR - entity.SetOldHealth - entity NULL");
|
|
lua_pushboolean(L, qfalse);
|
|
return 1;
|
|
}
|
|
old_health = (int)luaL_checknumber(L, 2);
|
|
lent->e->old_health = old_health;
|
|
|
|
LUA_DEBUG("END - entity.SetOldHealth");
|
|
lua_pushboolean(L, qtrue);
|
|
return 1;
|
|
}
|
|
|
|
static int Entity_GetPaintarget(lua_State *L) {
|
|
lent_t *lent;
|
|
|
|
LUA_DEBUG("BEGIN - entity.GetPaintarget");
|
|
|
|
lent = Lua_GetEntity(L, 1);
|
|
if(lent == NULL || lent->e == NULL) {
|
|
LUA_DEBUG("ERROR - entity.GetPaintarget - entity NULL");
|
|
lua_pushnil(L);
|
|
return 1;
|
|
} else {
|
|
lua_pushstring(L, lent->e->paintarget);
|
|
}
|
|
|
|
LUA_DEBUG("END - entity.GetPaintarget");
|
|
return 1;
|
|
}
|
|
|
|
static int Entity_SetPaintarget(lua_State *L) {
|
|
lent_t *lent;
|
|
|
|
LUA_DEBUG("BEGIN - entity.SetPaintarget");
|
|
|
|
lent = Lua_GetEntity(L, 1);
|
|
if(lent == NULL || lent->e == NULL) {
|
|
LUA_DEBUG("ERROR - entity.SetPaintarget - entity NULL");
|
|
lua_pushboolean(L, qfalse);
|
|
return 1;
|
|
}
|
|
lent->e->paintarget = (char *)luaL_checkstring(L, 2);
|
|
|
|
LUA_DEBUG("END - entity.SetPaintarget");
|
|
lua_pushboolean(L, qtrue);
|
|
return 1;
|
|
}
|
|
|
|
static int Entity_GetPainDebounceTime(lua_State *L) {
|
|
lent_t *lent;
|
|
|
|
LUA_DEBUG("BEGIN - entity.GetPainDebounceTime");
|
|
|
|
lent = Lua_GetEntity(L, 1);
|
|
if(lent == NULL || lent->e == NULL) {
|
|
LUA_DEBUG("ERROR - entity.GetPainDebounceTime - entity NULL");
|
|
lua_pushinteger(L, 0);
|
|
return 1;
|
|
}
|
|
lua_pushinteger(L, lent->e->pain_debounce_time);
|
|
|
|
LUA_DEBUG("END - entity.GetPainDebounceTime");
|
|
return 1;
|
|
}
|
|
|
|
static int Entity_SetPainDebounceTime(lua_State *L) {
|
|
lent_t *lent;
|
|
int pdb;
|
|
|
|
LUA_DEBUG("BEGIN - entity.SetPainDebounceTime");
|
|
|
|
lent = Lua_GetEntity(L, 1);
|
|
if(lent == NULL || lent->e == NULL) {
|
|
LUA_DEBUG("ERROR - entity.SetPainDebounceTime - entity NULL");
|
|
lua_pushboolean(L, qfalse);
|
|
return 1;
|
|
}
|
|
pdb = (int)luaL_checknumber(L, 2);
|
|
|
|
lent->e->pain_debounce_time = pdb;
|
|
|
|
LUA_DEBUG("END - entity.SetPainDebounceTime");
|
|
lua_pushboolean(L, qtrue);
|
|
return 1;
|
|
}
|
|
|
|
static int Entity_GetParent(lua_State *L) {
|
|
lent_t *lent;
|
|
|
|
LUA_DEBUG("BEGIN - entity.GetParent");
|
|
|
|
lent = Lua_GetEntity(L, 1);
|
|
if(lent == NULL || lent->e == NULL) {
|
|
LUA_DEBUG("ERROR - entity.GetParent - entity NULL");
|
|
lua_pushnil(L);
|
|
return 1;
|
|
}
|
|
if(lent->e->parent == NULL) {
|
|
lua_pushnil(L);
|
|
} else {
|
|
Lua_PushEntity(L, lent->e->parent);
|
|
}
|
|
|
|
LUA_DEBUG("END - entity.GetParent");
|
|
return 1;
|
|
}
|
|
|
|
static int Entity_SetParent(lua_State *L) {
|
|
lent_t *lent;
|
|
lent_t *parent;
|
|
|
|
LUA_DEBUG("BEGIN - entity.SetParent");
|
|
|
|
lent = Lua_GetEntity(L, 1);
|
|
if(lent == NULL || lent->e == NULL) {
|
|
LUA_DEBUG("ERROR - entity.SetParent - entity NULL");
|
|
lua_pushboolean(L, qfalse);
|
|
return 1;
|
|
}
|
|
parent = Lua_GetEntity(L, 2);
|
|
if(parent == NULL || parent->e == NULL) {
|
|
lent->e->parent = NULL;
|
|
} else {
|
|
lent->e->parent = parent->e;
|
|
}
|
|
|
|
LUA_DEBUG("END - entity.SetParent");
|
|
lua_pushboolean(L, qtrue);
|
|
return 1;
|
|
}
|
|
|
|
static int Entity_GetPhysicsBounce(lua_State *L) {
|
|
lent_t *lent;
|
|
|
|
LUA_DEBUG("BEGIN - entity.GetPhysicsBounce");
|
|
|
|
lent = Lua_GetEntity(L, 1);
|
|
if(lent == NULL || lent->e == NULL) {
|
|
LUA_DEBUG("ERROR - entity.GetPhysicsBounce - entity NULL");
|
|
lua_pushnumber(L, 0);
|
|
return 1;
|
|
}
|
|
lua_pushnumber(L, lent->e->physicsBounce);
|
|
|
|
LUA_DEBUG("END - entity.GetPhysicsBounce");
|
|
return 1;
|
|
}
|
|
|
|
static int Entity_SetPhysicsBounce(lua_State *L) {
|
|
lent_t *lent;
|
|
float pb;
|
|
|
|
LUA_DEBUG("BEGIN - entity.SetPhysicsBounce");
|
|
|
|
lent = Lua_GetEntity(L, 1);
|
|
if(lent == NULL || lent->e == NULL) {
|
|
LUA_DEBUG("ERROR - entity.SetPhysicsBounce - entity NULL");
|
|
lua_pushboolean(L, qfalse);
|
|
return 1;
|
|
}
|
|
pb = (float)luaL_checknumber(L, 2);
|
|
lent->e->physicsBounce = pb;
|
|
|
|
LUA_DEBUG("END - entity.SetPhysicsBounce");
|
|
lua_pushboolean(L, qtrue);
|
|
return 1;
|
|
}
|
|
|
|
static int Entity_GetPhysicsObject(lua_State *L) {
|
|
lent_t *lent;
|
|
|
|
LUA_DEBUG("BEGIN - entity.GetPhysicsObject");
|
|
|
|
lent = Lua_GetEntity(L, 1);
|
|
if(lent == NULL || lent->e == NULL) {
|
|
LUA_DEBUG("ERROR - entity.GetPhysicsObject - entity NULL");
|
|
lua_pushboolean(L, 0);
|
|
return 1;
|
|
}
|
|
lua_pushboolean(L, (int)lent->e->physicsObject);
|
|
|
|
LUA_DEBUG("END - entity.GetPhysicsObject");
|
|
return 1;
|
|
}
|
|
|
|
static int Entity_SetPhysicsObject(lua_State *L) {
|
|
lent_t *lent;
|
|
qboolean b;
|
|
|
|
LUA_DEBUG("BEGIN - entity.SetPhysicsObject");
|
|
|
|
lent = Lua_GetEntity(L, 1);
|
|
if(lent == NULL || lent->e == NULL) {
|
|
LUA_DEBUG("ERROR - entity.SetPhysicsObject - entity NULL");
|
|
lua_pushboolean(L, qfalse);
|
|
return 1;
|
|
}
|
|
b = (qboolean)lua_toboolean(L, 2);
|
|
lent->e->physicsObject = b;
|
|
|
|
LUA_DEBUG("END - entity.SetPhysicsObject");
|
|
lua_pushboolean(L, qtrue);
|
|
return 1;
|
|
}
|
|
|
|
static int Entity_GetPos1(lua_State *L) {
|
|
lent_t *lent;
|
|
vec3_t null = { 0, 0, 0 };
|
|
|
|
LUA_DEBUG("BEGIN - entity.GetPos1");
|
|
|
|
lent = Lua_GetEntity(L, 1);
|
|
if(lent == NULL || lent->e == NULL) {
|
|
LUA_DEBUG("ERROR - entity.GetPos1 - entity NULL");
|
|
Lua_PushVector(L, null);
|
|
return 1;
|
|
}
|
|
Lua_PushVector(L, lent->e->pos1);
|
|
|
|
LUA_DEBUG("END - entity.GetPos1");
|
|
return 1;
|
|
}
|
|
|
|
static int Entity_SetPos1(lua_State *L) {
|
|
lent_t *lent;
|
|
vec_t *vec;
|
|
|
|
LUA_DEBUG("BEGIN - entity.SetPos1");
|
|
|
|
lent = Lua_GetEntity(L, 1);
|
|
if(lent == NULL || lent->e == NULL) {
|
|
LUA_DEBUG("ERROR - entity.SetPos1 - entity NULL");
|
|
lua_pushboolean(L, qfalse);
|
|
return 1;
|
|
}
|
|
vec = Lua_GetVector(L, 2);
|
|
|
|
VectorCopy(vec, lent->e->pos1);
|
|
|
|
LUA_DEBUG("END - entity.SetPos1");
|
|
lua_pushboolean(L, qtrue);
|
|
return 1;
|
|
}
|
|
|
|
static int Entity_GetPos2(lua_State *L) {
|
|
lent_t *lent;
|
|
vec3_t null = { 0, 0, 0 };
|
|
|
|
LUA_DEBUG("BEGIN - entity.GetPos2");
|
|
|
|
lent = Lua_GetEntity(L, 1);
|
|
if(lent == NULL || lent->e == NULL) {
|
|
LUA_DEBUG("ERROR - entity.GetPos2 - entity NULL");
|
|
Lua_PushVector(L, null);
|
|
return 1;
|
|
}
|
|
Lua_PushVector(L, lent->e->pos2);
|
|
|
|
LUA_DEBUG("END - entity.GetPos2");
|
|
return 1;
|
|
}
|
|
|
|
static int Entity_SetPos2(lua_State *L) {
|
|
lent_t *lent;
|
|
vec_t *vec;
|
|
|
|
LUA_DEBUG("BEGIN - entity.SetPos2");
|
|
|
|
lent = Lua_GetEntity(L, 1);
|
|
if(lent == NULL || lent->e == NULL) {
|
|
LUA_DEBUG("ERROR - entity.SetPos2 - entity NULL");
|
|
lua_pushboolean(L, qfalse);
|
|
return 1;
|
|
}
|
|
vec = Lua_GetVector(L, 2);
|
|
VectorCopy(vec, lent->e->pos2);
|
|
|
|
LUA_DEBUG("END - entity.SetPos2");
|
|
lua_pushboolean(L, qtrue);
|
|
return 1;
|
|
}
|
|
|
|
static int Entity_GetPrevTrain(lua_State *L) {
|
|
lent_t *lent;
|
|
|
|
LUA_DEBUG("BEGIN - entity.GetPrevTrain");
|
|
|
|
lent = Lua_GetEntity(L, 1);
|
|
if(lent == NULL || lent->e == NULL) {
|
|
LUA_DEBUG("ERROR - entity.GetPrevTrain - entity NULL");
|
|
lua_pushnil(L);
|
|
return 1;
|
|
}
|
|
if(lent->e->prevTrain == NULL) {
|
|
lua_pushnil(L);
|
|
} else {
|
|
Lua_PushEntity(L, lent->e->prevTrain);
|
|
}
|
|
|
|
LUA_DEBUG("END - entity.GetPrevTrain");
|
|
return 1;
|
|
}
|
|
|
|
static int Entity_SetPrevTrain(lua_State *L) {
|
|
lent_t *lent;
|
|
lent_t *prev;
|
|
|
|
LUA_DEBUG("BEGIN - entity.SetPrevTrain");
|
|
|
|
lent = Lua_GetEntity(L, 1);
|
|
if(lent == NULL || lent->e == NULL) {
|
|
LUA_DEBUG("ERROR - entity.SetPrevTrain - entity NULL");
|
|
lua_pushboolean(L, qfalse);
|
|
return 1;
|
|
}
|
|
prev = Lua_GetEntity(L, 2);
|
|
if(prev == NULL || prev->e == NULL) {
|
|
lent->e->prevTrain = NULL;
|
|
} else {
|
|
lent->e->prevTrain = prev->e;
|
|
}
|
|
|
|
LUA_DEBUG("END - entity.SetPrevTrain");
|
|
lua_pushboolean(L, qtrue);
|
|
return 1;
|
|
}
|
|
|
|
static int Entity_GetRandom(lua_State *L) {
|
|
lent_t *lent;
|
|
|
|
LUA_DEBUG("BEGIN - entity.GetRandom");
|
|
|
|
lent = Lua_GetEntity(L,1);
|
|
if(lent == NULL || lent->e == NULL) {
|
|
LUA_DEBUG("ERROR - entity.GetRandom - entity NULL");
|
|
lua_pushnumber(L, 0);
|
|
return 1;
|
|
}
|
|
lua_pushnumber(L, lent->e->random);
|
|
|
|
LUA_DEBUG("END - entity.GetRandom");
|
|
return 1;
|
|
}
|
|
|
|
static int Entity_SetRandom(lua_State *L) {
|
|
lent_t *lent;
|
|
float rand;
|
|
|
|
LUA_DEBUG("BEGIN - entity.SetRandom");
|
|
|
|
lent = Lua_GetEntity(L, 1);
|
|
if(lent == NULL || lent->e == NULL) {
|
|
LUA_DEBUG("ERROR - entity.SetRandom - entity NULL");
|
|
lua_pushboolean(L, qfalse);
|
|
return 1;
|
|
}
|
|
rand = (float)luaL_checknumber(L, 2);
|
|
lent->e->random = rand;
|
|
|
|
LUA_DEBUG("END - entity.SetRandom");
|
|
lua_pushboolean(L, qtrue);
|
|
return 1;
|
|
}
|
|
|
|
static int Entity_GetRedsound(lua_State *L) {
|
|
lent_t *lent;
|
|
|
|
LUA_DEBUG("BEGIN - entity.GetRedsound");
|
|
|
|
lent = Lua_GetEntity(L, 1);
|
|
if(lent == NULL || lent->e == NULL) {
|
|
LUA_DEBUG("ERROR - entity.GetRedsound - entity NULL");
|
|
lua_pushnil(L);
|
|
return 1;
|
|
} else {
|
|
lua_pushstring(L, lent->e->redsound);
|
|
}
|
|
|
|
LUA_DEBUG("END - entity.GetRedsound");
|
|
return 1;
|
|
}
|
|
|
|
static int Entity_SetRedsound(lua_State *L) {
|
|
lent_t *lent;
|
|
|
|
LUA_DEBUG("BEGIN - entity.SetRedsound");
|
|
|
|
lent = Lua_GetEntity(L, 1);
|
|
if(lent == NULL || lent->e == NULL) {
|
|
LUA_DEBUG("ERROR - entity.SetRedsound - entity NULL");
|
|
lua_pushboolean(L, qfalse);
|
|
return 1;
|
|
}
|
|
lent->e->redsound = (char *)luaL_checkstring(L, 2);
|
|
|
|
LUA_DEBUG("END - entity.SetRedsound");
|
|
lua_pushboolean(L, qtrue);
|
|
return 1;
|
|
}
|
|
|
|
static int Entity_GetSound1To2(lua_State *L) {
|
|
lent_t *lent;
|
|
|
|
LUA_DEBUG("BEGIN - entity.GetSound1To2");
|
|
|
|
lent = Lua_GetEntity(L, 1);
|
|
if(lent == NULL || lent->e == NULL) {
|
|
LUA_DEBUG("ERROR - entity.GetSound1To2 - entity NULL");
|
|
lua_pushinteger(L, -1);
|
|
return 1;
|
|
}
|
|
lua_pushinteger(L, lent->e->sound1to2);
|
|
|
|
LUA_DEBUG("END - entity.GetSound1To2");
|
|
return 1;
|
|
}
|
|
|
|
static int Entity_SetSound1To2(lua_State *L) {
|
|
lent_t *lent;
|
|
int s1to2;
|
|
|
|
LUA_DEBUG("BEGIN - entity.SetSound1To2");
|
|
|
|
lent = Lua_GetEntity(L, 1);
|
|
if(lent == NULL || lent->e == NULL) {
|
|
LUA_DEBUG("ERROR - entity.SetSound1To2 - entity NULL");
|
|
lua_pushboolean(L, qfalse);
|
|
return 1;
|
|
}
|
|
s1to2 = (int)luaL_checknumber(L, 2);
|
|
lent->e->sound1to2 = s1to2;
|
|
|
|
LUA_DEBUG("END - entity.SetSound1To2");
|
|
lua_pushboolean(L, qtrue);
|
|
return 1;
|
|
}
|
|
|
|
static int Entity_GetSound2To1(lua_State *L) {
|
|
lent_t *lent;
|
|
|
|
LUA_DEBUG("BEGIN - entity.GetSound2To1");
|
|
|
|
lent = Lua_GetEntity(L, 1);
|
|
if(lent == NULL || lent->e == NULL) {
|
|
LUA_DEBUG("ERROR - entity.GetSound2To1 - entity NULL");
|
|
lua_pushinteger(L, -1);
|
|
return 1;
|
|
}
|
|
lua_pushinteger(L, lent->e->sound2to1);
|
|
|
|
LUA_DEBUG("END - entity.GetSound2To1");
|
|
return 1;
|
|
}
|
|
|
|
static int Entity_SetSound2To1(lua_State *L) {
|
|
lent_t *lent;
|
|
int s2to1;
|
|
|
|
LUA_DEBUG("BEGIN - entity.SetSound2To1");
|
|
|
|
lent = Lua_GetEntity(L, 1);
|
|
if(lent == NULL || lent->e == NULL) {
|
|
LUA_DEBUG("ERROR - entity.SetSound2To1 - entity NULL");
|
|
lua_pushboolean(L, qfalse);
|
|
return 1;
|
|
}
|
|
s2to1 = (int)luaL_checknumber(L, 2);
|
|
lent->e->sound2to1 = s2to1;
|
|
|
|
LUA_DEBUG("END - entity.SetSound2To1");
|
|
lua_pushboolean(L, qtrue);
|
|
return 1;
|
|
}
|
|
|
|
static int Entity_GetSoundLoop(lua_State *L) {
|
|
lent_t *lent;
|
|
|
|
LUA_DEBUG("BEGIN - entity.GetSoundLoop");
|
|
|
|
lent = Lua_GetEntity(L, 1);
|
|
if(lent == NULL || lent->e == NULL) {
|
|
LUA_DEBUG("ERROR - entity.GetSoundLoop - entity NULL");
|
|
lua_pushinteger(L, -1);
|
|
return 1;
|
|
}
|
|
lua_pushinteger(L, lent->e->soundLoop);
|
|
|
|
LUA_DEBUG("END - entity.GetSoundLoop");
|
|
return 1;
|
|
}
|
|
|
|
static int Entity_SetSoundLoop(lua_State *L) {
|
|
lent_t *lent;
|
|
int sl;
|
|
|
|
LUA_DEBUG("BEGIN - entity.SetSoundLoop");
|
|
|
|
lent = Lua_GetEntity(L, 1);
|
|
if(lent == NULL || lent->e == NULL) {
|
|
LUA_DEBUG("ERROR - entity.SetSoundLoop - entity NULL");
|
|
lua_pushboolean(L, qfalse);
|
|
return 1;
|
|
}
|
|
sl = (int)luaL_checknumber(L, 2);
|
|
lent->e->soundLoop = sl;
|
|
|
|
LUA_DEBUG("END - entity.SetSoundLoop");
|
|
lua_pushboolean(L, qtrue);
|
|
return 1;
|
|
}
|
|
|
|
static int Entity_GetSoundPos1(lua_State *L) {
|
|
lent_t *lent;
|
|
|
|
LUA_DEBUG("BEGIN - entity.GetSoundPos1");
|
|
|
|
lent = Lua_GetEntity(L, 1);
|
|
if(lent == NULL || lent->e == NULL) {
|
|
LUA_DEBUG("ERROR - entity.GetSoundPos1 - entity NULL");
|
|
lua_pushinteger(L, -1);
|
|
return 1;
|
|
}
|
|
lua_pushinteger(L, lent->e->soundPos1);
|
|
|
|
LUA_DEBUG("END - entity.GetSoundPos1");
|
|
return 1;
|
|
}
|
|
|
|
static int Entity_SetSoundPos1(lua_State *L) {
|
|
lent_t *lent;
|
|
int sp1;
|
|
|
|
LUA_DEBUG("BEGIN - entity.SetSoundPos1");
|
|
|
|
lent = Lua_GetEntity(L, 1);
|
|
if(lent == NULL || lent->e == NULL) {
|
|
LUA_DEBUG("ERROR - entity.SetSoundPos1 - entity NULL");
|
|
lua_pushboolean(L, qfalse);
|
|
return 1;
|
|
}
|
|
sp1 = (int)luaL_checknumber(L, 2);
|
|
lent->e->soundPos1 = sp1;
|
|
|
|
LUA_DEBUG("END - entity.SetSoundPos1");
|
|
lua_pushboolean(L, qtrue);
|
|
return 1;
|
|
}
|
|
|
|
static int Entity_GetSoundPos2(lua_State *L) {
|
|
lent_t *lent;
|
|
|
|
LUA_DEBUG("BEGIN - entity.GetSoundPos2");
|
|
|
|
lent = Lua_GetEntity(L, 1);
|
|
if(lent == NULL || lent->e == NULL) {
|
|
LUA_DEBUG("ERROR - entity.GetSoundPos2 - entity NULL");
|
|
lua_pushinteger(L, -1);
|
|
return 1;
|
|
}
|
|
lua_pushinteger(L, lent->e->soundPos2);
|
|
|
|
LUA_DEBUG("END - entity.GetSoundPos2");
|
|
return 1;
|
|
}
|
|
|
|
static int Entity_SetSoundPos2(lua_State *L) {
|
|
lent_t *lent;
|
|
int sp2;
|
|
|
|
LUA_DEBUG("BEGIN - entity.SetSoundPos2");
|
|
|
|
lent = Lua_GetEntity(L, 1);
|
|
if(lent == NULL || lent->e == NULL) {
|
|
LUA_DEBUG("ERROR - entity.SetSoundPos2 - entity NULL");
|
|
lua_pushboolean(L, qfalse);
|
|
return 1;
|
|
}
|
|
sp2 = (int)luaL_checknumber(L, 2);
|
|
|
|
lent->e->soundPos2 = sp2;
|
|
|
|
LUA_DEBUG("END - entity.SetSoundPos2");
|
|
lua_pushboolean(L, qtrue);
|
|
return 1;
|
|
}
|
|
|
|
static int Entity_GetSpawnflags(lua_State *L) {
|
|
lent_t *lent;
|
|
|
|
LUA_DEBUG("BEGIN - entity.GetSpawnflags");
|
|
|
|
lent = Lua_GetEntity(L, 1);
|
|
if(lent == NULL || lent->e == NULL) {
|
|
LUA_DEBUG("ERROR - entity.GetSpawnflags - entity NULL");
|
|
lua_pushinteger(L, 0);
|
|
return 1;
|
|
}
|
|
lua_pushinteger(L, lent->e->spawnflags);
|
|
|
|
LUA_DEBUG("END - entity.GetSpawnflags");
|
|
return 1;
|
|
}
|
|
|
|
static int Entity_SetSpawnflags(lua_State *L) {
|
|
lent_t *lent;
|
|
int sp;
|
|
|
|
LUA_DEBUG("BEGIN - entity.SetSpawnflags");
|
|
|
|
lent = Lua_GetEntity(L, 1);
|
|
if(lent == NULL || lent->e == NULL) {
|
|
LUA_DEBUG("ERROR - entity.SetSpawnflags - entity NULL");
|
|
lua_pushboolean(L, qfalse);
|
|
return 1;
|
|
}
|
|
sp = (int)luaL_checknumber(L, 2);
|
|
lent->e->spawnflags = sp;
|
|
|
|
LUA_DEBUG("END - entity.SetSpawnflags");
|
|
lua_pushboolean(L, qtrue);
|
|
return 1;
|
|
}
|
|
|
|
static int Entity_GetSpeed(lua_State *L) {
|
|
lent_t *lent;
|
|
|
|
LUA_DEBUG("BEGIN - entity.GetSpeed");
|
|
|
|
lent = Lua_GetEntity(L, 1);
|
|
if(lent == NULL || lent->e == NULL) {
|
|
LUA_DEBUG("ERROR - entity.GetSpeed - entity NULL");
|
|
lua_pushnumber(L, 0);
|
|
return 1;
|
|
}
|
|
lua_pushnumber(L, lent->e->speed);
|
|
|
|
LUA_DEBUG("END - entity.GetSpeed");
|
|
return 1;
|
|
}
|
|
|
|
static int Entity_SetSpeed(lua_State *L) {
|
|
lent_t *lent;
|
|
float speed;
|
|
|
|
LUA_DEBUG("BEGIN - entity.SetSpeed");
|
|
|
|
lent = Lua_GetEntity(L, 1);
|
|
if(lent == NULL || lent->e == NULL) {
|
|
LUA_DEBUG("ERROR - entity.SetSpeed - entity NULL");
|
|
lua_pushboolean(L, qfalse);
|
|
return 1;
|
|
}
|
|
speed = (float)luaL_checknumber(L, 2);
|
|
lent->e->speed = speed;
|
|
|
|
LUA_DEBUG("END - entity.SetSpeed");
|
|
lua_pushboolean(L, qtrue);
|
|
return 1;
|
|
}
|
|
|
|
static int Entity_GetSplashDamage(lua_State *L) {
|
|
lent_t *lent;
|
|
|
|
LUA_DEBUG("BEGIN - entity.GetSplashDamage");
|
|
|
|
lent = Lua_GetEntity(L, 1);
|
|
if(lent == NULL || lent->e == NULL) {
|
|
LUA_DEBUG("ERROR - entity.GetSplashDamage - entity NULL");
|
|
lua_pushinteger(L, 0);
|
|
return 1;
|
|
}
|
|
lua_pushinteger(L, lent->e->splashDamage);
|
|
|
|
LUA_DEBUG("END - entity.GetSplashDamage");
|
|
return 1;
|
|
}
|
|
|
|
static int Entity_SetSplashDamage(lua_State *L) {
|
|
lent_t *lent;
|
|
int dmg;
|
|
|
|
LUA_DEBUG("BEGIN - entity.SetSplashDamage");
|
|
|
|
lent = Lua_GetEntity(L, 1);
|
|
if(lent == NULL || lent->e == NULL) {
|
|
LUA_DEBUG("ERROR - entity.SetSplashDamage - entity NULL");
|
|
lua_pushboolean(L, qfalse);
|
|
return 1;
|
|
}
|
|
dmg = (int)luaL_checknumber(L, 2);
|
|
lent->e->splashDamage = dmg;
|
|
|
|
LUA_DEBUG("END - entity.SetSplashDamage");
|
|
lua_pushboolean(L, qtrue);
|
|
return 1;
|
|
}
|
|
|
|
static int Entity_GetSplashMethodOfDeath(lua_State *L) {
|
|
lent_t *lent;
|
|
|
|
LUA_DEBUG("BEGIN - entity.GetSplashMethodOfDeath");
|
|
|
|
lent = Lua_GetEntity(L, 1);
|
|
if(lent == NULL || lent->e == NULL) {
|
|
LUA_DEBUG("ERROR - entity.GetSplashMethodOfDeath - entity NULL");
|
|
lua_pushinteger(L, 0);
|
|
return 1;
|
|
}
|
|
lua_pushinteger(L, lent->e->splashMethodOfDeath);
|
|
|
|
LUA_DEBUG("END - entity.GetSplashMethodOfDeath");
|
|
return 1;
|
|
}
|
|
|
|
static int Entity_SetSplashMethodOfDeath(lua_State *L) {
|
|
lent_t *lent;
|
|
int mod;
|
|
|
|
LUA_DEBUG("BEGIN - entity.SetSplashMethodOfDeath");
|
|
|
|
lent = Lua_GetEntity(L, 1);
|
|
if(lent == NULL || lent->e == NULL) {
|
|
LUA_DEBUG("ERROR - entity.SetSplashMethodOfDeath - entity NULL");
|
|
lua_pushboolean(L, qfalse);
|
|
return 1;
|
|
}
|
|
mod = (int)luaL_checknumber(L, 2);
|
|
lent->e->splashMethodOfDeath = mod;
|
|
|
|
LUA_DEBUG("END - entity.SetSplashMethodOfDeath");
|
|
lua_pushboolean(L, qtrue);
|
|
return 1;
|
|
}
|
|
|
|
static int Entity_GetSplashRadius(lua_State *L) {
|
|
lent_t *lent;
|
|
|
|
LUA_DEBUG("BEGIN - entity.GetSplashRadius");
|
|
|
|
lent = Lua_GetEntity(L, 1);
|
|
if(lent == NULL || lent->e == NULL) {
|
|
LUA_DEBUG("ERROR - entity.GetSplashRadius - entity NULL");
|
|
lua_pushinteger(L, 0);
|
|
return 1;
|
|
}
|
|
lua_pushinteger(L, lent->e->splashRadius);
|
|
|
|
LUA_DEBUG("END - entity.GetSplashRadius");
|
|
return 1;
|
|
}
|
|
|
|
static int Entity_SetSplashRadius(lua_State *L) {
|
|
lent_t *lent;
|
|
int radius;
|
|
|
|
LUA_DEBUG("BEGIN - entity.SetSplashRadius");
|
|
|
|
lent = Lua_GetEntity(L, 1);
|
|
if(lent == NULL || lent->e == NULL) {
|
|
LUA_DEBUG("ERROR - entity.SetSplashRadius - entity NULL");
|
|
lua_pushboolean(L, qfalse);
|
|
return 1;
|
|
}
|
|
radius = (int)luaL_checknumber(L, 2);
|
|
lent->e->splashRadius = radius;
|
|
|
|
LUA_DEBUG("END - entity.SetSplashRadius");
|
|
lua_pushboolean(L, qtrue);
|
|
return 1;
|
|
}
|
|
|
|
static int Entity_GetSwapname(lua_State *L) {
|
|
lent_t *lent;
|
|
|
|
LUA_DEBUG("BEGIN - entity.GetSwapname");
|
|
|
|
lent = Lua_GetEntity(L, 1);
|
|
if(lent == NULL || lent->e == NULL) {
|
|
LUA_DEBUG("ERROR - entity.GetSwapname - entity NULL");
|
|
lua_pushnil(L);
|
|
return 1;
|
|
} else {
|
|
lua_pushstring(L, lent->e->swapname);
|
|
}
|
|
|
|
LUA_DEBUG("END - entity.GetSwapname");
|
|
return 1;
|
|
}
|
|
|
|
static int Entity_SetSwapname(lua_State *L) {
|
|
lent_t *lent;
|
|
|
|
LUA_DEBUG("BEGIN - entity.SetSwapname");
|
|
|
|
lent = Lua_GetEntity(L, 1);
|
|
if(lent == NULL || lent->e == NULL) {
|
|
LUA_DEBUG("ERROR - entity.SetSwapname - entity NULL");
|
|
lua_pushboolean(L, qfalse);
|
|
return 1;
|
|
}
|
|
lent->e->swapname = (char *)luaL_checkstring(L, 2);
|
|
|
|
LUA_DEBUG("END - entity.SetSwapname");
|
|
lua_pushboolean(L, qtrue);
|
|
return 1;
|
|
}
|
|
|
|
static int Entity_GetTakedamage(lua_State *L) {
|
|
lent_t *lent;
|
|
|
|
LUA_DEBUG("BEGIN - entity.GetTakedamage");
|
|
|
|
lent = Lua_GetEntity(L, 1);
|
|
if(lent == NULL || lent->e == NULL) {
|
|
LUA_DEBUG("ERROR - entity.GetTakedamage - entity NULL");
|
|
lua_pushboolean(L, qfalse);
|
|
return 1;
|
|
}
|
|
lua_pushboolean(L, (int)lent->e->takedamage);
|
|
|
|
LUA_DEBUG("END - entity.GetTakedamage");
|
|
return 1;
|
|
}
|
|
|
|
static int Entity_SetTakedamage(lua_State *L) {
|
|
lent_t *lent;
|
|
|
|
LUA_DEBUG("BEGIN - entity.SetTakedamage");
|
|
|
|
lent = Lua_GetEntity(L, 1);
|
|
if(lent == NULL || lent->e == NULL) {
|
|
LUA_DEBUG("ERROR - entity.SetTakedamage - entity NULL");
|
|
lua_pushboolean(L, qfalse);
|
|
return 1;
|
|
}
|
|
lent->e->takedamage = (qboolean)lua_toboolean(L, 2);
|
|
|
|
LUA_DEBUG("END - entity.SetTakedamage");
|
|
lua_pushboolean(L, qtrue);
|
|
return 1;
|
|
}
|
|
|
|
static int Entity_SetTarget(lua_State *L) {
|
|
lent_t *lent;
|
|
|
|
LUA_DEBUG("BEGIN - entity.SetTarget");
|
|
|
|
lent = Lua_GetEntity(L, 1);
|
|
if(lent == NULL || lent->e == NULL) {
|
|
LUA_DEBUG("ERROR - entity.SetTarget - entity NULL");
|
|
lua_pushboolean(L, qfalse);
|
|
return 1;
|
|
}
|
|
lent->e->target = (char *)luaL_checkstring(L, 2);
|
|
|
|
LUA_DEBUG("END - entity.SetTarget");
|
|
lua_pushboolean(L, qtrue);
|
|
return 1;
|
|
}
|
|
|
|
static int Entity_GetTargetname2(lua_State *L) {
|
|
lent_t *lent;
|
|
|
|
LUA_DEBUG("BEGIN - entity.SetTarget");
|
|
|
|
lent = Lua_GetEntity(L, 1);
|
|
if(lent == NULL || lent->e == NULL) {
|
|
LUA_DEBUG("BEGIN - entity.SetTarget");
|
|
lua_pushnil(L);
|
|
return 1;
|
|
} else {
|
|
lua_pushstring(L, lent->e->targetname2);
|
|
}
|
|
|
|
LUA_DEBUG("BEGIN - entity.SetTarget");
|
|
return 1;
|
|
}
|
|
|
|
static int Entity_SetTargetname2(lua_State *L) {
|
|
lent_t *lent;
|
|
|
|
LUA_DEBUG("BEGIN - entity.SetTargetname2");
|
|
|
|
lent = Lua_GetEntity(L, 1);
|
|
if(lent == NULL || lent->e == NULL) {
|
|
LUA_DEBUG("ERROR - entity.SetTargetname2 - entity NULL");
|
|
lua_pushboolean(L, qfalse);
|
|
return 1;
|
|
}
|
|
lent->e->targetname2 = (char *)luaL_checkstring(L, 2);
|
|
|
|
LUA_DEBUG("END - entity.SetTargetname2");
|
|
lua_pushboolean(L, qtrue);
|
|
return 1;
|
|
}
|
|
|
|
static int Entity_GetTargetShaderName(lua_State *L) {
|
|
lent_t *lent;
|
|
|
|
LUA_DEBUG("BEGIN - entity.GetTargetShaderName");
|
|
|
|
lent = Lua_GetEntity(L, 1);
|
|
if(lent == NULL || lent->e == NULL) {
|
|
LUA_DEBUG("ERROR - entity.GetTargetShaderName - entity NULL");
|
|
lua_pushnil(L);
|
|
return 1;
|
|
} else {
|
|
lua_pushstring(L, lent->e->targetShaderName);
|
|
}
|
|
|
|
LUA_DEBUG("END - entity.GetTargetShaderName");
|
|
return 1;
|
|
}
|
|
|
|
static int Entity_SetTargetShaderName(lua_State *L) {
|
|
lent_t *lent;
|
|
|
|
LUA_DEBUG("BEGIN - entity.SetTargetShaderName");
|
|
|
|
lent = Lua_GetEntity(L, 1);
|
|
if(lent == NULL || lent->e == NULL) {
|
|
LUA_DEBUG("ERROR - entity.SetTargetShaderName - entity NULL");
|
|
lua_pushboolean(L, qfalse);
|
|
return 1;
|
|
}
|
|
lent->e->targetShaderName = (char *)luaL_checkstring(L, 2);
|
|
|
|
LUA_DEBUG("END - entity.SetTargetShaderName");
|
|
lua_pushboolean(L, qtrue);
|
|
return 1;
|
|
}
|
|
|
|
static int Entity_GetTargetShaderNewName(lua_State *L) {
|
|
lent_t *lent;
|
|
|
|
LUA_DEBUG("BEGIN - entity.GetTargetShaderNewName");
|
|
|
|
lent = Lua_GetEntity(L, 1);
|
|
if(lent == NULL || lent->e == NULL) {
|
|
LUA_DEBUG("ERROR - entity.GetTargetShaderNewName - entity NULL");
|
|
lua_pushnil(L);
|
|
return 1;
|
|
} else {
|
|
lua_pushstring(L, lent->e->targetShaderNewName);
|
|
}
|
|
|
|
LUA_DEBUG("END - entity.GetTargetShaderNewName");
|
|
return 1;
|
|
}
|
|
|
|
static int Entity_SetTargetShaderNewName(lua_State *L) {
|
|
lent_t *lent;
|
|
|
|
LUA_DEBUG("BEGIN - entity.SetTargetShaderNewName");
|
|
|
|
lent = Lua_GetEntity(L, 1);
|
|
if(lent == NULL || lent->e == NULL) {
|
|
LUA_DEBUG("ERROR - entity.SetTargetShaderNewName - entity NULL");
|
|
lua_pushboolean(L, qfalse);
|
|
return 1;
|
|
}
|
|
lent->e->targetShaderNewName = (char *)luaL_checkstring(L, 2);
|
|
|
|
LUA_DEBUG("END - entity.SetTargetShaderNewName");
|
|
lua_pushboolean(L, qtrue);
|
|
return 1;
|
|
}
|
|
|
|
static int Entity_GetTargetEnt(lua_State *L) {
|
|
lent_t *lent;
|
|
|
|
LUA_DEBUG("BEGIN - entity.GetTargetEnt");
|
|
|
|
lent = Lua_GetEntity(L, 1);
|
|
if(lent == NULL || lent->e == NULL) {
|
|
LUA_DEBUG("ERROR - entity.GetTargetEnt - entity NULL");
|
|
lua_pushnil(L);
|
|
return 1;
|
|
} else {
|
|
Lua_PushEntity(L, lent->e->target_ent);
|
|
}
|
|
|
|
LUA_DEBUG("END - entity.GetTargetEnt");
|
|
return 1;
|
|
}
|
|
|
|
static int Entity_SetTargetEnt(lua_State *L) {
|
|
lent_t *lent;
|
|
lent_t *targ;
|
|
|
|
LUA_DEBUG("BEGIN - entity.SetTargetEnt");
|
|
|
|
lent = Lua_GetEntity(L, 1);
|
|
if(lent == NULL || lent->e == NULL) {
|
|
LUA_DEBUG("ERROR - entity.SetTargetEnt - entity NULL");
|
|
lua_pushboolean(L, qfalse);
|
|
return 1;
|
|
}
|
|
targ = Lua_GetEntity(L, 2);
|
|
if(targ == NULL || targ->e == NULL) {
|
|
lent->e->target_ent = NULL;
|
|
} else {
|
|
lent->e->target_ent = targ->e;
|
|
}
|
|
|
|
LUA_DEBUG("END - entity.SetTargetEnt");
|
|
lua_pushboolean(L, qtrue);
|
|
return 1;
|
|
}
|
|
|
|
static int Entity_GetTeam(lua_State *L) {
|
|
lent_t *lent;
|
|
|
|
LUA_DEBUG("BEGIN - entity.GetTeam");
|
|
|
|
lent = Lua_GetEntity(L, 1);
|
|
if(lent == NULL || lent->e == NULL) {
|
|
LUA_DEBUG("ERROR - entity.GetTeam - entity NULL");
|
|
lua_pushnil(L);
|
|
return 1;
|
|
} else {
|
|
lua_pushstring(L, lent->e->team);
|
|
}
|
|
|
|
LUA_DEBUG("END - entity.GetTeam");
|
|
return 1;
|
|
}
|
|
|
|
static int Entity_SetTeam(lua_State *L) {
|
|
lent_t *lent;
|
|
|
|
LUA_DEBUG("BEGIN - entity.SetTeam");
|
|
|
|
lent = Lua_GetEntity(L, 1);
|
|
if(lent == NULL || lent->e == NULL) {
|
|
LUA_DEBUG("ERROR - entity.SetTeam - entity NULL");
|
|
lua_pushboolean(L, qfalse);
|
|
return 1;
|
|
}
|
|
lent->e->team = (char *)luaL_checkstring(L, 2);
|
|
|
|
LUA_DEBUG("END - entity.SetTeam");
|
|
lua_pushboolean(L, qtrue);
|
|
return 1;
|
|
}
|
|
|
|
static int Entity_GetTeamchain(lua_State *L) {
|
|
lent_t *lent;
|
|
|
|
LUA_DEBUG("BEGIN - entity.GetTeamchain");
|
|
|
|
lent = Lua_GetEntity(L, 1);
|
|
if(lent == NULL || lent->e == NULL) {
|
|
LUA_DEBUG("ERROR - entity.GetTeamchain - entity NULL");
|
|
lua_pushnil(L);
|
|
return 1;
|
|
} else {
|
|
Lua_PushEntity(L, lent->e->teamchain);
|
|
}
|
|
|
|
LUA_DEBUG("END - entity.GetTeamchain");
|
|
return 1;
|
|
}
|
|
|
|
static int Entity_SetTeamchain(lua_State *L) {
|
|
lent_t *lent;
|
|
lent_t *team;
|
|
|
|
LUA_DEBUG("BEGIN - entity.SetTeamchain");
|
|
|
|
lent = Lua_GetEntity(L, 1);
|
|
if(lent == NULL || lent->e == NULL) {
|
|
LUA_DEBUG("ERROR - entity.SetTeamchain - entity NULL");
|
|
lua_pushboolean(L, qfalse);
|
|
return 1;
|
|
}
|
|
team = Lua_GetEntity(L, 2);
|
|
if(team == NULL || team->e == NULL) {
|
|
lent->e->teamchain = NULL;
|
|
} else {
|
|
lent->e->teamchain = team->e;
|
|
}
|
|
|
|
LUA_DEBUG("END - entity.SetTeamchain");
|
|
lua_pushboolean(L, qtrue);
|
|
return 1;
|
|
}
|
|
|
|
static int Entity_GetTeammaster(lua_State *L) {
|
|
lent_t *lent;
|
|
|
|
LUA_DEBUG("BEGIN - entity.GetTeammaster");
|
|
|
|
lent = Lua_GetEntity(L, 1);
|
|
if(lent == NULL || lent->e == NULL) {
|
|
LUA_DEBUG("ERROR - entity.GetTeammaster - entity NULL");
|
|
lua_pushnil(L);
|
|
return 1;
|
|
} else {
|
|
Lua_PushEntity(L, lent->e->teammaster);
|
|
}
|
|
|
|
LUA_DEBUG("END - entity.GetTeammaster");
|
|
return 1;
|
|
}
|
|
|
|
static int Entity_SetTeammaster(lua_State *L) {
|
|
lent_t *lent;
|
|
lent_t *team;
|
|
|
|
LUA_DEBUG("BEGIN - entity.SetTeammaster");
|
|
|
|
lent = Lua_GetEntity(L, 1);
|
|
if(lent == NULL || lent->e == NULL) {
|
|
LUA_DEBUG("ERROR - entity.SetTeammaster - entity NULL");
|
|
lua_pushboolean(L, qfalse);
|
|
return 1;
|
|
}
|
|
team = Lua_GetEntity(L, 2);
|
|
if(team == NULL || team->e == NULL) {
|
|
lent->e->teammaster = NULL;
|
|
} else {
|
|
lent->e->teammaster = team->e;
|
|
}
|
|
|
|
LUA_DEBUG("END - entity.SetTeammaster");
|
|
lua_pushboolean(L, qtrue);
|
|
return 1;
|
|
}
|
|
|
|
static const luaL_Reg Entity_ctor[] = {
|
|
{ "Spawn", Entity_Spawn },
|
|
{ "Find", Entity_Find },
|
|
{ "FindMMB", Entity_FindMMB },
|
|
{ "FindNumber", Entity_FindNumber },
|
|
{ "FindBModel", Entity_FindBModel },
|
|
{ "GetTarget", Entity_GetTarget },
|
|
{ "MMBRefit", Entity_MMBRefit },
|
|
{ "CallSpawn", Entity_CallSpawn },
|
|
{ "DelayedCallSpawn", Entity_DelayedCallSpawn },
|
|
{ "Remove", Entity_Remove },
|
|
{ "RemoveUnnamedSpawns", Entity_RemoveUnnamedSpawns },
|
|
{ "RemoveSpawns", Entity_RemoveSpawns },
|
|
{ "RemoveType", Entity_RemoveType },
|
|
{ "Use", Entity_Use },
|
|
{ NULL, NULL }
|
|
};
|
|
|
|
static const luaL_Reg Entity_meta[] = {
|
|
{ "__gc", Entity_GC },
|
|
{ "__tostring", Entity_ToString },
|
|
{ "GetNumber", Entity_GetNumber },
|
|
{ "IsClient", Entity_IsClient },
|
|
{ "GetClientname", Entity_GetClientName },
|
|
{ "Print", Entity_Print },
|
|
{ "CenterPrint", Entity_CenterPrint },
|
|
|
|
{ "GetClassname", Entity_GetClassName }, // args: none; return: string
|
|
{ "SetClassname", Entity_SetClassName }, // args: string; return: nothing
|
|
|
|
{ "GetTargetname", Entity_GetTargetName }, // args: none; return: string
|
|
{ "SetTargetname", Entity_SetTargetName }, // args: string; return: nothing
|
|
|
|
{ "Rotate", Entity_Rotate },
|
|
|
|
{ "IsRocket", Entity_IsRocket },
|
|
{ "IsGrenade", Entity_IsGrenade },
|
|
{ "Teleport", Entity_Teleport },
|
|
{ "SetKeyValue", Entity_SetKeyValue },
|
|
{ "GetOrigin", Entity_GetOrigin },
|
|
{ "SetupTrigger", Entity_SetupTrigger },
|
|
|
|
{ "Lock", Entity_Lock },
|
|
{ "Unlock", Entity_Unlock },
|
|
{ "IsLocked", Entity_IsLocked },
|
|
|
|
{ "GetParm", Entity_GetParm },
|
|
{ "SetParm", Entity_SetParm },
|
|
|
|
{ "GetActivator", Entity_GetActivator }, // args: none; return: ent
|
|
{ "SetActivator", Entity_SetActivator }, // args: ent; return: nothing
|
|
|
|
{ "GetAngle", Entity_GetAngle }, // args: none; return: float
|
|
{ "SetAngle", Entity_SetAngle }, // args: float; return: nothing
|
|
|
|
{ "GetApos1", Entity_GetApos1 }, // args: none; return: vec
|
|
{ "GetApos2", Entity_GetApos2 }, // args: none; return: vec
|
|
|
|
{ "SetApos1", Entity_SetApos1 }, // args: vec; return: nothing
|
|
{ "SetApos2", Entity_SetApos2 }, // args: vec; return: nothing
|
|
|
|
{ "GetBluename", Entity_GetBluename }, // args: none; return: string
|
|
{ "SetBluename", Entity_SetBluename }, // args: string; return: nothing
|
|
|
|
{ "GetBluesound", Entity_GetBluesound }, // args: none; return: string
|
|
{ "SetBluesound", Entity_SetBluesound }, // args: string; return: nothing
|
|
|
|
{ "GetBooleanstate", Entity_GetBooleanstate }, // args: none; return: bool
|
|
{ "SetBooleanstate", Entity_SetBooleanstate }, // args: bool; return: nothing
|
|
|
|
{ "GetClipmask", Entity_GetClipmask }, // args: none; return: int
|
|
{ "SetClipmask", Entity_SetClipmask }, // args: int; return: nothing
|
|
|
|
{ "GetCount", Entity_GetCount }, // args: none; return: int
|
|
{ "SetCount", Entity_SetCount }, // args: int; return: nothing
|
|
|
|
{ "GetDamage", Entity_GetDamage }, // args: none; return: int
|
|
{ "SetDamage", Entity_SetDamage }, // args: int; return: nothing
|
|
|
|
{ "GetDistance", Entity_GetDistance }, // args: none; return: float
|
|
{ "SetDistance", Entity_SetDistance }, // args: float; return: nothing
|
|
|
|
{ "GetEnemy", Entity_GetEnemy }, // args: none; return: ent
|
|
{ "SetEnemy", Entity_SetEnemy }, // args: ent; return: nothing
|
|
|
|
{ "GetEventTime", Entity_GetEventTime }, // args: none; return: int
|
|
{ "SetEventTime", Entity_SetEventTime }, // args: int; return: nothing
|
|
|
|
{ "GetFalsename", Entity_GetFalsename }, // args: none; return: string
|
|
{ "SetFalsename", Entity_SetFalsename }, // args: string; return: nothing
|
|
|
|
{ "GetTruename", Entity_GetTruename }, // args: none; return: string
|
|
{ "SetTruename", Entity_SetTruename }, // args: string; return: nothing
|
|
|
|
{ "GetFalsetarget", Entity_GetFalsetarget }, // args: none; return: string
|
|
{ "SetFalsetarget", Entity_SetFalsetarget }, // args: string; return: nothing
|
|
|
|
{ "GetTruetarget", Entity_GetTruetarget }, // args: none; return: string
|
|
{ "SetTruetarget", Entity_SetTruetarget }, // args: string; return: nothing
|
|
|
|
{ "GetFlags", Entity_GetFlags }, // args: none; return: int
|
|
{ "SetFlags", Entity_SetFlags }, // args: int; return: nothing
|
|
|
|
{ "GetFreeAfterEvent", Entity_GetFreeAfterEvent }, // args: none; return: bool
|
|
{ "SetFreeAfterEvent", Entity_SetFreeAfterEvent }, // args: bool; return: nothing
|
|
|
|
{ "GetFreetime", Entity_GetFreetime }, // args: none; return: int
|
|
|
|
{ "GetGreensound", Entity_GetGreensound }, // args: none; return: string
|
|
{ "SetGreensound", Entity_SetGreensound }, // args: string; return: nothing
|
|
|
|
{ "GetHealth", Entity_GetHealth }, // args: none; return: int
|
|
{ "SetHealth", Entity_SetHealth }, // args: int; return: nothing
|
|
|
|
{ "GetInUse", Entity_GetInUse }, // args: none; return: bool
|
|
|
|
{ "GetLastEnemy", Entity_GetLastEnemy }, // args: none; return: ent
|
|
{ "SetLastEnemy", Entity_SetLastEnemy }, // args: ent; return: nothing
|
|
|
|
{ "GetLuaDie", Entity_GetLuaDie }, // args: none; return: string
|
|
{ "SetLuaDie", Entity_SetLuaDie }, // args: string; return: nothing
|
|
|
|
{ "GetLuaEntity", Entity_GetLuaEntity }, // args: none; return: bool
|
|
|
|
{ "GetLuaFree", Entity_GetLuaFree }, // args: none; return: string
|
|
{ "SetLuaFree", Entity_SetLuaFree }, // args: string; return: nothing
|
|
|
|
{ "GetLuaHurt", Entity_GetLuaHurt }, // args: none; return: string
|
|
{ "SetLuaHurt", Entity_SetLuaHurt }, // args: string; return: nothing
|
|
|
|
{ "GetLuaReached", Entity_GetLuaReached }, // args: none; return: string
|
|
{ "SetLuaReached", Entity_SetLuaReached }, // args: string; return: nothing
|
|
|
|
{ "GetLuaReachedAngular", Entity_GetLuaReachedAngular }, // args: none; return: string
|
|
{ "SetLuaReachedAngular", Entity_SetLuaReachedAngular }, // args: string; return: nothing
|
|
|
|
{ "GetLuaSpawn", Entity_GetLuaSpawn }, // args: none; return: string
|
|
{ "SetLuaSpawn", Entity_SetLuaSpawn }, // args: string; return: nothing
|
|
|
|
{ "GetLuaThink", Entity_GetLuaThink }, // args: none; return: string
|
|
{ "SetLuaThink", Entity_SetLuaThink }, // args: string; return: nothing
|
|
|
|
{ "GetLuaTouch", Entity_GetLuaTouch }, // args: none; return: string
|
|
{ "SetLuaTouch", Entity_SetLuaTouch }, // args: string; return: nothing
|
|
|
|
{ "GetLuaTrigger", Entity_GetLuaTrigger }, // args: none; return: string
|
|
{ "SetLuaTrigger", Entity_SetLuaTrigger }, // args: string; return: nothing
|
|
|
|
{ "GetLuaUse", Entity_GetLuaUse }, // args: none; return: string
|
|
{ "SetLuaUse", Entity_SetLuaUse }, // args: string; return: nothing
|
|
|
|
{ "GetMessage", Entity_GetMessage }, // args: none; return: string
|
|
{ "SetMessage", Entity_SetMessage }, // args: string; return: nothing
|
|
|
|
{ "GetMethodOfDeath", Entity_GetMethodOfDeath }, // args: none; return: int
|
|
{ "SetMethodOfDeath", Entity_SetMethodOfDeath }, // args: int; return: nothing
|
|
|
|
{ "GetModel", Entity_GetModel }, // args: none; return: string
|
|
{ "SetModel", Entity_SetModel }, // args: string; return: nothing
|
|
|
|
{ "GetModel2", Entity_GetModel2 }, // args: none; return: string
|
|
{ "SetModel2", Entity_SetModel2 }, // args: string; return: nothing
|
|
|
|
{ "GetMovedir", Entity_GetMovedir }, // args: none; return: vec
|
|
{ "SetMovedir", Entity_SetMovedir }, // args: vec; return: nothing
|
|
|
|
{ "GetMoverstate", Entity_GetMoverstate }, // args: none; return: int
|
|
{ "SetMoverstate", Entity_SetMoverstate }, // args: int; return: nothing
|
|
|
|
{ "GetN00bCount", Entity_GetN00bCount }, // args: none; return: int
|
|
{ "SetN00bCount", Entity_SetN00bCount }, // args: int; return: nothing
|
|
|
|
{ "GetWait", Entity_GetWait }, // args: none; return: int
|
|
{ "SetWait", Entity_SetWait }, // args: int; return: nothing
|
|
|
|
{ "GetNeverFree", Entity_GetNeverFree }, // args: none; return: bool
|
|
{ "SetNeverFree", Entity_SetNeverFree }, // args: bool; return: nothing
|
|
|
|
{ "GetNextthink", Entity_GetNexthink }, // args: none; return: int
|
|
{ "SetNextthink", Entity_SetNexthink }, // args: int; return: nothing
|
|
|
|
{ "GetNextTrain", Entity_GetNextTrain }, // args: none; return: ent
|
|
{ "SetNextTrain", Entity_SetNextTrain }, // args: ent; return: nothing
|
|
|
|
{ "GetNoiseIndex", Entity_GetNoiseIndex }, // args: none; return: int
|
|
{ "SetNoiseIndex", Entity_SetNoiseIndex }, // args: int; return: nothing
|
|
|
|
{ "GetOldHealth", Entity_GetOldHealth }, // args: none; return: int
|
|
{ "SetOldHealth", Entity_SetOldHealth }, // args: int; return: nothing
|
|
|
|
{ "GetPaintarget", Entity_GetPaintarget }, // args: none; return: string
|
|
{ "SetPaintarget", Entity_SetPaintarget }, // args: string; return: nothing
|
|
|
|
{ "GetPainDebounceTime", Entity_GetPainDebounceTime }, // args: none; return: int
|
|
{ "SetPainDebounceTime", Entity_SetPainDebounceTime }, // args: int; return: nothing
|
|
|
|
{ "GetParent", Entity_GetParent }, // args: none; return: ent
|
|
{ "SetParent", Entity_SetParent }, // args: ent; return: nothing
|
|
|
|
{ "GetPhysicsBounce", Entity_GetPhysicsBounce }, // args: none; return: float
|
|
{ "SetPhysicsBounce", Entity_SetPhysicsBounce }, // args: float; return: nothing
|
|
|
|
{ "GetPhysicsObject", Entity_GetPhysicsObject }, // args: none; return: bool
|
|
{ "SetPhysicsObject", Entity_SetPhysicsObject }, // args: bool; return: nothing
|
|
|
|
{ "GetPos1", Entity_GetPos1 }, // args: none; return: vec
|
|
{ "SetPos1", Entity_SetPos1 }, // args: vec; return: nothing
|
|
|
|
{ "GetPos2", Entity_GetPos2 }, // args: none; return: vec
|
|
{ "SetPos2", Entity_SetPos2 }, // args: vec; return: nothing
|
|
|
|
{ "GetPrevTrain", Entity_GetPrevTrain }, // args: none; return: ent
|
|
{ "SetPrevTrain", Entity_SetPrevTrain }, // args: ent; return: nothing
|
|
|
|
{ "GetRandom", Entity_GetRandom }, // args: none; return: float
|
|
{ "SetRandom", Entity_SetRandom }, // args: float; return: nothing
|
|
|
|
{ "GetRedsound", Entity_GetRedsound }, // args: none; return: string
|
|
{ "SetRedsound", Entity_SetRedsound }, // args: string; return: nothing
|
|
|
|
{ "GetSound1To2", Entity_GetSound1To2 }, // args: none; return: int
|
|
{ "SetSound1To2", Entity_SetSound1To2 }, // args: int; return: nothing
|
|
|
|
{ "GetSound2To1", Entity_GetSound2To1 }, // args: none; return: int
|
|
{ "SetSound2To1", Entity_SetSound2To1 }, // args: int return: nothing
|
|
|
|
{ "GetSoundLoop", Entity_GetSoundLoop }, // args: none; return: int
|
|
{ "SetSoundLoop", Entity_SetSoundLoop }, // args: int; return: nothing
|
|
|
|
{ "GetSoundPos1", Entity_GetSoundPos1 }, // args: none; return: int
|
|
{ "SetSoundPos1", Entity_SetSoundPos1 }, // args: int; return: nothing
|
|
|
|
{ "GetSoundPos2", Entity_GetSoundPos2 }, // args: none; return: int
|
|
{ "SetSoundPos2", Entity_SetSoundPos2 }, // args: int; return: nothing
|
|
|
|
{ "GetSpawnflags", Entity_GetSpawnflags }, // args: none; return: int
|
|
{ "SetSpawnflags", Entity_SetSpawnflags }, // args: int; return: nothing
|
|
|
|
{ "GetSpeed", Entity_GetSpeed }, // args: none; return: float
|
|
{ "SetSpeed", Entity_SetSpeed }, // args: float; return: nothing
|
|
|
|
{ "GetSplashDamage", Entity_GetSplashDamage }, // args: none; return: int
|
|
{ "SetSplashDamage", Entity_SetSplashDamage }, // args: int; return: nothing
|
|
|
|
{ "GetSplashMethodOfDeath", Entity_GetSplashMethodOfDeath }, // args: none; return: int
|
|
{ "SetSplashMethodOfDeath", Entity_SetSplashMethodOfDeath }, // args: int; return: nothing
|
|
|
|
{ "GetSplashRadius", Entity_GetSplashRadius }, // args: none; return: int
|
|
{ "SetSplashRadius", Entity_SetSplashRadius }, // args: int; return: nothing
|
|
|
|
{ "GetSwapname", Entity_GetSwapname }, // args: none; return: string
|
|
{ "SetSwapname", Entity_SetSwapname }, // args: string; return: nothing
|
|
|
|
{ "GetTakedamage", Entity_GetTakedamage }, // args: none; return: bool
|
|
{ "SetTakedamage", Entity_SetTakedamage }, // args: bool; return: nothing
|
|
|
|
{ "SetTarget", Entity_SetTarget }, // args: string; return: nothing
|
|
|
|
{ "GetTargetname2", Entity_GetTargetname2 }, // args: none; return: string
|
|
{ "SetTargetname2", Entity_SetTargetname2 }, // args: string; return: nothing
|
|
|
|
{ "GetTargetShaderName", Entity_GetTargetShaderName }, // args: none; return: string
|
|
{ "SetTargetShaderName", Entity_SetTargetShaderName }, // args: string; return: nothing
|
|
|
|
{ "GetTargetShaderNewName", Entity_GetTargetShaderNewName }, // args: none; return: string
|
|
{ "SetTargetShaderNewName", Entity_SetTargetShaderNewName }, // args: string; return: nothing
|
|
|
|
{ "GetTargetEnt", Entity_GetTargetEnt }, // args: none; return: ent
|
|
{ "SetTargetEnt", Entity_SetTargetEnt }, // args: ent; return: nothing
|
|
|
|
{ "GetTeam", Entity_GetTeam }, // args: none; return: string
|
|
{ "SetTeam", Entity_SetTeam }, // args: string; return nothing
|
|
|
|
{ "GetTeamchain", Entity_GetTeamchain }, // args: none; return: ent
|
|
{ "SetTeamchain", Entity_SetTeamchain }, // args: ent; return: nothing
|
|
|
|
{ "GetTeammaster", Entity_GetTeammaster },
|
|
{ "SetTeammaster", Entity_SetTeammaster },
|
|
|
|
{ NULL, NULL }
|
|
};
|
|
|
|
/*void dummy(gentity_t *ent) {
|
|
ent->timestamp;
|
|
}*/
|
|
|
|
int Luaopen_Entity(lua_State * L)
|
|
{
|
|
luaL_newmetatable(L, "game.entity");
|
|
|
|
lua_pushstring(L, "__index");
|
|
lua_pushvalue(L, -2);
|
|
lua_settable(L, -3);
|
|
|
|
luaL_register(L, NULL, Entity_meta);
|
|
luaL_register(L, "entity", Entity_ctor);
|
|
|
|
return 1;
|
|
}
|
|
|
|
void Lua_PushEntity(lua_State * L, gentity_t * ent)
|
|
{
|
|
lent_t *lent;
|
|
|
|
if(!ent || !ent->inuse)
|
|
lua_pushnil(L);
|
|
else {
|
|
lent = (lent_t *)lua_newuserdata(L, sizeof(lent_t));
|
|
luaL_getmetatable(L, "game.entity");
|
|
lua_setmetatable(L, -2);
|
|
lent->e = ent;
|
|
}
|
|
}
|
|
|
|
lent_t *Lua_GetEntity(lua_State * L, int argNum)
|
|
{
|
|
void *ud;
|
|
|
|
ud = luaL_checkudata(L, argNum, "game.entity");
|
|
luaL_argcheck(L, ud != NULL, argNum, "\'entity\' expected");
|
|
return (lent_t *) ud;
|
|
}
|
|
#endif
|