You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
224 lines
4.8 KiB
224 lines
4.8 KiB
/*** |
|
* |
|
* Copyright (c) 1996-2002, Valve LLC. All rights reserved. |
|
* |
|
* This product contains software technology licensed from Id |
|
* Software, Inc. ("Id Technology"). Id Technology (c) 1996 Id Software, Inc. |
|
* All Rights Reserved. |
|
* |
|
* Use, distribution, and modification of this source code and/or resulting |
|
* object code is restricted to non-commercial enhancements to products from |
|
* Valve LLC. All other use, distribution, or modification is prohibited |
|
* without written permission from Valve LLC. |
|
* |
|
****/ |
|
|
|
#ifndef PROGDEFS_H |
|
#define PROGDEFS_H |
|
|
|
#ifdef _WIN32 |
|
#ifndef __MINGW32__ |
|
#pragma once |
|
#endif /* not __MINGW32__ */ |
|
#endif |
|
|
|
typedef struct |
|
{ |
|
float time; |
|
float frametime; |
|
float force_retouch; |
|
string_t mapname; |
|
string_t startspot; |
|
float deathmatch; |
|
float coop; |
|
float teamplay; |
|
float serverflags; |
|
float found_secrets; |
|
vec3_t v_forward; |
|
vec3_t v_up; |
|
vec3_t v_right; |
|
float trace_allsolid; |
|
float trace_startsolid; |
|
float trace_fraction; |
|
vec3_t trace_endpos; |
|
vec3_t trace_plane_normal; |
|
float trace_plane_dist; |
|
edict_t *trace_ent; |
|
float trace_inopen; |
|
float trace_inwater; |
|
int trace_hitgroup; |
|
int trace_flags; |
|
int changelevel; // transition in progress when true (was msg_entity) |
|
int cdAudioTrack; |
|
int maxClients; |
|
int maxEntities; |
|
const char *pStringBase; |
|
|
|
void *pSaveData; // (SAVERESTOREDATA *) pointer |
|
vec3_t vecLandmarkOffset; |
|
} globalvars_t; |
|
|
|
typedef struct entvars_s |
|
{ |
|
string_t classname; |
|
string_t globalname; |
|
|
|
vec3_t origin; |
|
vec3_t oldorigin; |
|
vec3_t velocity; |
|
vec3_t basevelocity; |
|
vec3_t clbasevelocity; // Base velocity that was passed in to server physics so |
|
// client can predict conveyors correctly. Server zeroes it, so we need to store here, too. |
|
vec3_t movedir; |
|
|
|
vec3_t angles; // Model angles |
|
vec3_t avelocity; // angle velocity (degrees per second) |
|
vec3_t punchangle; // auto-decaying view angle adjustment |
|
vec3_t v_angle; // Viewing angle (player only) |
|
|
|
// For parametric entities |
|
vec3_t endpos; |
|
vec3_t startpos; |
|
float impacttime; |
|
float starttime; |
|
|
|
int fixangle; // 0:nothing, 1:force view angles, 2:add avelocity |
|
float idealpitch; |
|
float pitch_speed; |
|
float ideal_yaw; |
|
float yaw_speed; |
|
|
|
int modelindex; |
|
|
|
string_t model; |
|
int viewmodel; // player's viewmodel |
|
int weaponmodel; // what other players see |
|
|
|
vec3_t absmin; // BB max translated to world coord |
|
vec3_t absmax; // BB max translated to world coord |
|
vec3_t mins; // local BB min |
|
vec3_t maxs; // local BB max |
|
vec3_t size; // maxs - mins |
|
|
|
float ltime; |
|
float nextthink; |
|
|
|
int movetype; |
|
int solid; |
|
|
|
int skin; |
|
int body; // sub-model selection for studiomodels |
|
int effects; |
|
float gravity; // % of "normal" gravity |
|
float friction; // inverse elasticity of MOVETYPE_BOUNCE |
|
|
|
int light_level; |
|
|
|
int sequence; // animation sequence |
|
int gaitsequence; // movement animation sequence for player (0 for none) |
|
float frame; // % playback position in animation sequences (0..255) |
|
float animtime; // world time when frame was set |
|
float framerate; // animation playback rate (-8x to 8x) |
|
byte controller[4]; // bone controller setting (0..255) |
|
byte blending[2]; // blending amount between sub-sequences (0..255) |
|
|
|
float scale; // sprites and models rendering scale (0..255) |
|
int rendermode; |
|
float renderamt; |
|
vec3_t rendercolor; |
|
int renderfx; |
|
|
|
float health; |
|
float frags; |
|
int weapons; // bit mask for available weapons |
|
float takedamage; |
|
|
|
int deadflag; |
|
vec3_t view_ofs; // eye position |
|
|
|
int button; |
|
int impulse; |
|
|
|
edict_t *chain; // Entity pointer when linked into a linked list |
|
edict_t *dmg_inflictor; |
|
edict_t *enemy; |
|
edict_t *aiment; // entity pointer when MOVETYPE_FOLLOW |
|
edict_t *owner; |
|
edict_t *groundentity; |
|
|
|
int spawnflags; |
|
int flags; |
|
|
|
int colormap; // lowbyte topcolor, highbyte bottomcolor |
|
int team; |
|
|
|
float max_health; |
|
float teleport_time; |
|
float armortype; |
|
float armorvalue; |
|
int waterlevel; |
|
int watertype; |
|
|
|
string_t target; |
|
string_t targetname; |
|
string_t netname; |
|
string_t message; |
|
|
|
float dmg_take; |
|
float dmg_save; |
|
float dmg; |
|
float dmgtime; |
|
|
|
string_t noise; |
|
string_t noise1; |
|
string_t noise2; |
|
string_t noise3; |
|
|
|
float speed; |
|
float air_finished; |
|
float pain_finished; |
|
float radsuit_finished; |
|
|
|
edict_t *pContainingEntity; |
|
|
|
int playerclass; |
|
float maxspeed; |
|
|
|
float fov; |
|
int weaponanim; |
|
|
|
int pushmsec; |
|
|
|
int bInDuck; |
|
int flTimeStepSound; |
|
int flSwimTime; |
|
int flDuckTime; |
|
int iStepLeft; |
|
float flFallVelocity; |
|
|
|
int gamestate; |
|
|
|
int oldbuttons; |
|
|
|
int groupinfo; |
|
|
|
// For mods |
|
int iuser1; |
|
int iuser2; |
|
int iuser3; |
|
int iuser4; |
|
float fuser1; |
|
float fuser2; |
|
float fuser3; |
|
float fuser4; |
|
vec3_t vuser1; |
|
vec3_t vuser2; |
|
vec3_t vuser3; |
|
vec3_t vuser4; |
|
edict_t *euser1; |
|
edict_t *euser2; |
|
edict_t *euser3; |
|
edict_t *euser4; |
|
} entvars_t; |
|
|
|
#endif//PROGDEFS_H
|
|
|