mirror of
https://github.com/w23/xash3d-fwgs
synced 2024-12-14 13:10:09 +01:00
5e0a0765ce
The `.editorconfig` file in this repo is configured to trim all trailing whitespace regardless of whether the line is modified. Trims all trailing whitespace in the repository to make the codebase easier to work with in editors that respect `.editorconfig`. `git blame` becomes less useful on these lines but it already isn't very useful. Commands: ``` find . -type f -name '*.h' -exec sed --in-place 's/[[:space:]]\+$//' {} \+ find . -type f -name '*.c' -exec sed --in-place 's/[[:space:]]\+$//' {} \+ ```
189 lines
3.6 KiB
C
189 lines
3.6 KiB
C
/***
|
|
*
|
|
* 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 ENTITY_STATE_H
|
|
#define ENTITY_STATE_H
|
|
|
|
// For entityType below
|
|
#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;
|
|
|
|
struct entity_state_s
|
|
{
|
|
// Fields which are filled in by routines outside of delta compression
|
|
int entityType;
|
|
// Index into cl_entities array for this entity.
|
|
int number;
|
|
float msg_time;
|
|
|
|
// Message number last time the player/entity state was updated.
|
|
int messagenum;
|
|
|
|
// Fields which can be transitted and reconstructed over the network stream
|
|
vec3_t origin;
|
|
vec3_t angles;
|
|
|
|
int modelindex;
|
|
int sequence;
|
|
float frame;
|
|
int colormap;
|
|
short skin;
|
|
short solid;
|
|
int effects;
|
|
float scale;
|
|
byte eflags;
|
|
|
|
// Render information
|
|
int rendermode;
|
|
int renderamt;
|
|
color24 rendercolor;
|
|
int renderfx;
|
|
|
|
int movetype;
|
|
float animtime;
|
|
float framerate;
|
|
int body;
|
|
byte controller[4];
|
|
byte blending[4];
|
|
vec3_t velocity;
|
|
|
|
// Send bbox down to client for use during prediction.
|
|
vec3_t mins;
|
|
vec3_t maxs;
|
|
|
|
int aiment;
|
|
// If owned by a player, the index of that player ( for projectiles ).
|
|
int owner;
|
|
|
|
// Friction, for prediction.
|
|
float friction;
|
|
// Gravity multiplier
|
|
float gravity;
|
|
|
|
// PLAYER SPECIFIC
|
|
int team;
|
|
int playerclass;
|
|
int health;
|
|
qboolean spectator;
|
|
int weaponmodel;
|
|
int gaitsequence;
|
|
// If standing on conveyor, e.g.
|
|
vec3_t basevelocity;
|
|
// Use the crouched hull, or the regular player hull.
|
|
int usehull;
|
|
// Latched buttons last time state updated.
|
|
int oldbuttons;
|
|
// -1 = in air, else pmove entity number
|
|
int onground;
|
|
int iStepLeft;
|
|
// How fast we are falling
|
|
float flFallVelocity;
|
|
|
|
float fov;
|
|
int weaponanim;
|
|
|
|
// Parametric movement overrides
|
|
vec3_t startpos;
|
|
vec3_t endpos;
|
|
float impacttime;
|
|
float starttime;
|
|
|
|
// 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;
|
|
};
|
|
|
|
#include "pm_info.h"
|
|
|
|
typedef struct clientdata_s
|
|
{
|
|
vec3_t origin;
|
|
vec3_t velocity;
|
|
|
|
int viewmodel;
|
|
vec3_t punchangle;
|
|
int flags;
|
|
int waterlevel;
|
|
int watertype;
|
|
vec3_t view_ofs;
|
|
float health;
|
|
|
|
int bInDuck;
|
|
int weapons; // remove?
|
|
|
|
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];
|
|
|
|
// 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;
|
|
|
|
} clientdata_t;
|
|
|
|
#include "weaponinfo.h"
|
|
|
|
#define MAX_LOCAL_WEAPONS 64 // max weapons that can be predicted on the client
|
|
|
|
typedef struct local_state_s
|
|
{
|
|
entity_state_t playerstate;
|
|
clientdata_t client;
|
|
weapon_data_t weapondata[MAX_LOCAL_WEAPONS];
|
|
} local_state_t;
|
|
|
|
#endif//ENTITY_STATE_H
|