/* * * 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 * * In addition, as a special exception, the author gives permission to * link the code of this program with the Half-Life Game Engine ("HL * Engine") and Modified Game Libraries ("MODs") developed by Valve, * L.L.C ("Valve"). You must obey the GNU General Public License in all * respects for all of the code used other than the HL Engine and MODs * from Valve. If you modify this file, you may extend this exception * to your version of the file, but you are not obligated to do so. If * you do not wish to do so, delete this exception statement from your * version. * */ #ifndef ENTITY_STATE_H #define ENTITY_STATE_H #ifdef _WIN32 #pragma once #endif #include "const.h" #include "pm_info.h" #define ENTITY_NORMAL (1<<0) #define ENTITY_BEAM (1<<1) // Entity state is used for the baseline and for delta // compression of a packet of entities that is sent to a client. typedef struct entity_state_s entity_state_t; /* <47642> ../common/entity_state.h:15 */ struct entity_state_s { int entityType; int number; // Index into cl_entities array for this entity. float msg_time; int messagenum; // Message number last time the player/entity state was updated. vec3_t origin; // Fields which can be transitted and reconstructed over the network stream vec3_t angles; int modelindex; int sequence; float frame; int colormap; short skin; short solid; int effects; float scale; byte eflags; int rendermode; // Render information int renderamt; color24 rendercolor; int renderfx; int movetype; float animtime; float framerate; int body; byte controller[4]; byte blending[4]; vec3_t velocity; vec3_t mins; // Send bbox down to client for use during prediction. vec3_t maxs; int aiment; int owner; // If owned by a player, the index of that player ( for projectiles ). float friction; // Friction, for prediction. float gravity; // Gravity multiplier int team; int playerclass; int health; qboolean spectator; int weaponmodel; int gaitsequence; vec3_t basevelocity; // If standing on conveyor, e.g. int usehull; // Use the crouched hull, or the regular player hull. int oldbuttons; // Latched buttons last time state updated. int onground; // -1 = in air, else pmove entity number int iStepLeft; float flFallVelocity; // How fast we are falling float fov; int weaponanim; vec3_t startpos; // Parametric movement overrides vec3_t endpos; float impacttime; float starttime; 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; };/* size: 340, cachelines: 6, members: 62 */ struct clientdata_s { Vector origin; Vector velocity; int viewmodel; Vector punchangle; int flags; int waterlevel; int watertype; Vector view_ofs; float health; int bInDuck; int weapons; int flTimeStepSound; int flDuckTime; int flSwimTime; int waterjumptime; float maxspeed; float fov; int weaponanim; int m_iId; int ammo_shells; int ammo_nails; int ammo_cells; int ammo_rockets; float m_flNextAttack; int tfstate; int pushmsec; int deadflag; char physinfo[ MAX_PHYSINFO_STRING ]; int iuser1; int iuser2; int iuser3; int iuser4; float fuser1; float fuser2; float fuser3; float fuser4; Vector vuser1; Vector vuser2; Vector vuser3; Vector vuser4; } clientdata_t; /* size: 476, cachelines: 8, members: 40 */ #endif // ENTITY_STATE_H