Used in ClientThink to convey information about the player's state to the engine. The player entity's player_state_t (ps) contains a pmove_state_t, which is copied right into this structure's s attribute. ClientThink also takes a usercmd_t, which is copied into the cmd attribute. The entity's origin and velocity is copied into the s attribute of this structure. The trace and pointcontents are setup and the structure is passed to the engine by gi.Pmove.
After that several parameters are extracted from this structure and put into the entity and its player state.
|
Attribute |
Type |
Into/out of engine |
Notes |
|
s |
pmove_state_t |
in/out |
information from the players player_state_t and plmove_state_t |
|
cmd |
usercmd_t |
in/(out maybe) |
|
|
snapinitial |
qboolean |
in |
if s differs from client->old_pmove |
|
trace |
trace_t (*)(vec3_t start, vec3_t mins, vec3_t maxs, vec3_t end) |
in |
|
|
pointcontents |
int(vec3_t point) |
in |
|
|
numtouch |
int |
out |
cardinality of touched objects |
|
touchents |
edict_t*[] |
out |
which entities the player has touched ?. Used to call that objects touch function |
|
viewangles |
vec3_t |
out |
|
|
viewheight |
vec3_t |
out |
|
|
mins, maxs |
vec3_t |
out |
bounding box size |
|
groundentity |
edict_t* |
out |
|
|
watertype |
int |
out |
|
|
waterlevel |
int |
out |
|