2004-08-23 00:15:46 +00:00
|
|
|
/*
|
|
|
|
Copyright (C) 1996-1997 Id Software, Inc.
|
|
|
|
|
|
|
|
This program is free software; you can redistribute it and/or
|
|
|
|
modify it under the terms of the GNU General Public License
|
|
|
|
as published by the Free Software Foundation; either version 2
|
|
|
|
of the License, or (at your option) any later version.
|
|
|
|
|
|
|
|
This program is distributed in the hope that it will be useful,
|
|
|
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
|
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
|
|
|
|
|
|
|
See the GNU General Public License for more details.
|
|
|
|
|
|
|
|
You should have received a copy of the GNU General Public License
|
|
|
|
along with this program; if not, write to the Free Software
|
|
|
|
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
|
|
|
|
|
|
|
*/
|
|
|
|
|
|
|
|
/* file generated by qcc, do not modify */
|
|
|
|
|
2005-05-08 16:48:29 +00:00
|
|
|
typedef struct globalvars_s
|
|
|
|
{
|
|
|
|
int null;
|
|
|
|
union {
|
|
|
|
vec3_t vec;
|
|
|
|
float f;
|
|
|
|
int i;
|
|
|
|
} ret;
|
|
|
|
union {
|
|
|
|
vec3_t vec;
|
|
|
|
float f;
|
|
|
|
int i;
|
|
|
|
} param[8];
|
|
|
|
} globalvars_t;
|
2004-08-23 00:15:46 +00:00
|
|
|
|
|
|
|
typedef struct nqglobalvars_s
|
2005-06-22 17:10:13 +00:00
|
|
|
{
|
2004-08-23 00:15:46 +00:00
|
|
|
int *self;
|
|
|
|
int *other;
|
|
|
|
int *world;
|
|
|
|
float *time;
|
|
|
|
float *frametime;
|
|
|
|
int *newmis;
|
|
|
|
float *force_retouch;
|
|
|
|
string_t *mapname;
|
|
|
|
float *deathmatch;
|
|
|
|
float *coop;
|
|
|
|
float *teamplay;
|
|
|
|
float *serverflags;
|
|
|
|
float *total_secrets;
|
|
|
|
float *total_monsters;
|
|
|
|
float *found_secrets;
|
|
|
|
float *killed_monsters;
|
|
|
|
vec3_t *V_v_forward;
|
|
|
|
vec3_t *V_v_up;
|
|
|
|
vec3_t *V_v_right;
|
|
|
|
float *trace_allsolid;
|
|
|
|
float *trace_startsolid;
|
|
|
|
float *trace_fraction;
|
2006-02-11 02:09:43 +00:00
|
|
|
float *trace_surfaceflags;
|
|
|
|
float *trace_endcontents;
|
2004-08-23 00:15:46 +00:00
|
|
|
vec3_t *V_trace_endpos;
|
|
|
|
vec3_t *V_trace_plane_normal;
|
|
|
|
float *trace_plane_dist;
|
|
|
|
int *trace_ent;
|
|
|
|
float *trace_inopen;
|
|
|
|
float *trace_inwater;
|
|
|
|
int *msg_entity;
|
|
|
|
func_t *main;
|
|
|
|
func_t *StartFrame;
|
|
|
|
func_t *PlayerPreThink;
|
|
|
|
func_t *PlayerPostThink;
|
|
|
|
func_t *ClientKill;
|
|
|
|
func_t *ClientConnect;
|
|
|
|
func_t *PutClientInServer;
|
|
|
|
func_t *ClientDisconnect;
|
|
|
|
func_t *SetNewParms;
|
|
|
|
func_t *SetChangeParms;
|
|
|
|
float *cycle_wrapped;
|
2004-08-31 23:55:22 +00:00
|
|
|
float *dimension_send;
|
2008-11-09 22:29:28 +00:00
|
|
|
|
|
|
|
|
|
|
|
float *clientcommandframe;
|
|
|
|
float *input_timelength;
|
|
|
|
float *input_angles;
|
|
|
|
vec3_t *input_movevalues;
|
|
|
|
float *input_buttons;
|
|
|
|
float *pmove_jump_held;
|
|
|
|
float *pmove_waterjumptime;
|
|
|
|
vec3_t *pmove_org;
|
|
|
|
vec3_t *pmove_vel;
|
|
|
|
vec3_t *pmove_mins;
|
|
|
|
vec3_t *pmove_maxs;
|
2004-08-23 00:15:46 +00:00
|
|
|
} nqglobalvars_t;
|
|
|
|
|
|
|
|
#define P_VEC(v) (pr_global_struct->V_##v)
|
|
|
|
|
2007-09-02 19:55:17 +00:00
|
|
|
typedef struct stdentvars_s //standard = standard for qw
|
2004-08-23 00:15:46 +00:00
|
|
|
{
|
|
|
|
float modelindex;
|
|
|
|
vec3_t absmin;
|
|
|
|
vec3_t absmax;
|
|
|
|
float ltime;
|
2007-09-02 19:55:17 +00:00
|
|
|
int lastruntime; //type doesn't match the qc, we use a hidden double instead. this is dead.
|
2004-08-23 00:15:46 +00:00
|
|
|
float movetype;
|
|
|
|
float solid;
|
|
|
|
vec3_t origin;
|
|
|
|
vec3_t oldorigin;
|
|
|
|
vec3_t velocity;
|
|
|
|
vec3_t angles;
|
|
|
|
vec3_t avelocity;
|
|
|
|
string_t classname;
|
|
|
|
string_t model;
|
|
|
|
float frame;
|
|
|
|
float skin;
|
|
|
|
float effects;
|
|
|
|
vec3_t mins;
|
|
|
|
vec3_t maxs;
|
|
|
|
vec3_t size;
|
|
|
|
func_t touch;
|
|
|
|
func_t use;
|
|
|
|
func_t think;
|
|
|
|
func_t blocked;
|
|
|
|
float nextthink;
|
|
|
|
int groundentity;
|
|
|
|
float health;
|
|
|
|
float frags;
|
|
|
|
float weapon;
|
|
|
|
string_t weaponmodel;
|
|
|
|
float weaponframe;
|
|
|
|
float currentammo;
|
|
|
|
float ammo_shells;
|
|
|
|
float ammo_nails;
|
|
|
|
float ammo_rockets;
|
|
|
|
float ammo_cells;
|
|
|
|
float items;
|
|
|
|
float takedamage;
|
|
|
|
int chain;
|
|
|
|
float deadflag;
|
|
|
|
vec3_t view_ofs;
|
|
|
|
float button0;
|
2007-09-02 19:55:17 +00:00
|
|
|
float button1; //dead field in nq mode
|
2004-08-23 00:15:46 +00:00
|
|
|
float button2;
|
|
|
|
float impulse;
|
|
|
|
float fixangle;
|
|
|
|
vec3_t v_angle;
|
|
|
|
string_t netname;
|
|
|
|
int enemy;
|
|
|
|
float flags;
|
|
|
|
float colormap;
|
|
|
|
float team;
|
|
|
|
float max_health;
|
|
|
|
float teleport_time;
|
|
|
|
float armortype;
|
|
|
|
float armorvalue;
|
|
|
|
float waterlevel;
|
|
|
|
float watertype;
|
|
|
|
float ideal_yaw;
|
|
|
|
float yaw_speed;
|
|
|
|
int aiment;
|
|
|
|
int goalentity;
|
|
|
|
float spawnflags;
|
|
|
|
string_t target;
|
|
|
|
string_t targetname;
|
|
|
|
float dmg_take;
|
|
|
|
float dmg_save;
|
|
|
|
int dmg_inflictor;
|
|
|
|
int owner;
|
|
|
|
vec3_t movedir;
|
2007-09-02 19:55:17 +00:00
|
|
|
string_t message; //WARNING: hexen2 uses a float and not a string
|
2004-08-23 00:15:46 +00:00
|
|
|
float sounds;
|
|
|
|
string_t noise;
|
|
|
|
string_t noise1;
|
|
|
|
string_t noise2;
|
|
|
|
string_t noise3;
|
|
|
|
|
2007-09-02 19:55:17 +00:00
|
|
|
#ifdef VM_Q1
|
|
|
|
} stdentvars_t;
|
|
|
|
|
|
|
|
typedef struct extentvars_s
|
|
|
|
{
|
|
|
|
#endif
|
|
|
|
|
2004-08-23 00:15:46 +00:00
|
|
|
//extra vars. use these if you wish.
|
2007-09-02 19:55:17 +00:00
|
|
|
float maxspeed; //added in quake 1.09
|
|
|
|
float gravity; //added in quake 1.09 (for hipnotic)
|
|
|
|
float items2; //added in quake 1.09 (for hipnotic)
|
|
|
|
vec3_t punchangle; //std in nq
|
|
|
|
|
|
|
|
float scale; //DP_ENT_SCALE
|
|
|
|
float alpha; //DP_ENT_ALPHA
|
|
|
|
float fatness; //FTE_PEXT_FATNESS
|
|
|
|
int view2; //FTE_PEXT_VIEW2
|
2004-08-23 00:15:46 +00:00
|
|
|
float fteflags;
|
2007-09-02 19:55:17 +00:00
|
|
|
vec3_t movement;
|
2004-08-23 00:15:46 +00:00
|
|
|
float vweapmodelindex;
|
|
|
|
|
|
|
|
//dp extra fields
|
2007-09-02 19:55:17 +00:00
|
|
|
int nodrawtoclient; //
|
2004-08-23 00:15:46 +00:00
|
|
|
int drawonlytoclient;
|
2007-09-02 19:55:17 +00:00
|
|
|
int viewmodelforclient; //DP_ENT_VIEWMODEL
|
2005-05-15 18:49:04 +00:00
|
|
|
int exteriormodeltoclient;
|
2007-09-02 19:55:17 +00:00
|
|
|
float button3; //DP_INPUTBUTTONS (note in qw, we set 1 to equal 3, to match zquake/fuhquake/mvdsv)
|
|
|
|
float button4;
|
|
|
|
float button5;
|
|
|
|
float button6;
|
|
|
|
float button7;
|
|
|
|
float button8;
|
2004-08-23 00:15:46 +00:00
|
|
|
|
2007-09-02 19:55:17 +00:00
|
|
|
float viewzoom; //DP_VIEWZOOM
|
2005-08-03 23:14:59 +00:00
|
|
|
|
2005-07-01 19:23:00 +00:00
|
|
|
int tag_entity;
|
|
|
|
float tag_index;
|
|
|
|
|
2005-05-19 02:53:03 +00:00
|
|
|
float glow_size;
|
|
|
|
float glow_color;
|
|
|
|
float glow_trail;
|
2005-05-17 02:36:54 +00:00
|
|
|
|
2005-08-07 18:08:13 +00:00
|
|
|
vec3_t color;
|
2006-02-27 00:42:25 +00:00
|
|
|
vec3_t colormod;
|
2005-08-07 18:08:13 +00:00
|
|
|
float light_lev;
|
|
|
|
float style;
|
|
|
|
float pflags;
|
2005-08-26 22:56:51 +00:00
|
|
|
float clientcolors;
|
2005-08-07 18:08:13 +00:00
|
|
|
|
2004-09-04 17:54:04 +00:00
|
|
|
//EXT_DIMENSION_VISIBLE
|
|
|
|
float dimension_see;
|
|
|
|
float dimension_seen;
|
|
|
|
//EXT_DIMENSION_GHOST
|
2004-08-31 23:55:22 +00:00
|
|
|
float dimension_ghost;
|
2004-09-04 17:54:04 +00:00
|
|
|
float dimension_ghost_alpha;
|
|
|
|
//EXT_DIMENSION_PHYSICS
|
|
|
|
float dimension_solid;
|
|
|
|
float dimension_hit;
|
2004-08-31 23:55:22 +00:00
|
|
|
|
2004-10-10 06:32:29 +00:00
|
|
|
//hexen2 stuff
|
2004-08-23 00:15:46 +00:00
|
|
|
float playerclass; //hexen2 requirements
|
|
|
|
float hull;
|
|
|
|
float drawflags;
|
|
|
|
|
2007-09-02 19:55:17 +00:00
|
|
|
int movechain;
|
2004-08-23 00:15:46 +00:00
|
|
|
func_t chainmoved;
|
|
|
|
|
2004-10-10 06:32:29 +00:00
|
|
|
float light_level;//hexen2's grabbing light level from client
|
|
|
|
float abslight; //hexen2's force a lightlevel
|
|
|
|
float hasted; //hexen2 uses this AS WELL as maxspeed
|
2005-02-28 07:16:19 +00:00
|
|
|
|
|
|
|
//csqc stuph.
|
|
|
|
func_t SendEntity;
|
2008-11-09 22:29:28 +00:00
|
|
|
float SendFlags;
|
2005-02-28 07:16:19 +00:00
|
|
|
float Version;
|
2008-05-25 22:23:43 +00:00
|
|
|
float pvsflags;
|
2007-09-02 19:55:17 +00:00
|
|
|
|
2008-06-11 16:04:14 +00:00
|
|
|
//FTE_ENT_UNIQUESPAWNID
|
|
|
|
float uniquespawnid;
|
2008-11-09 22:29:28 +00:00
|
|
|
|
|
|
|
func_t customizeentityforclient;
|
2007-09-02 19:55:17 +00:00
|
|
|
#ifdef VM_Q1
|
|
|
|
} extentvars_t;
|
|
|
|
#else
|
|
|
|
} stdentvars_t;
|
|
|
|
#endif
|
2004-08-23 00:15:46 +00:00
|
|
|
|