amxmodx/modules/fakemeta/fm_tr.h

228 lines
3.9 KiB
C
Raw Normal View History

// vim: set ts=4 sw=4 tw=99 noet:
//
// AMX Mod X, based on AMX Mod by Aleksander Naszko ("OLO").
// Copyright (C) The AMX Mod X Development Team.
//
// This software is licensed under the GNU General Public License, version 3 or higher.
// Additional exceptions apply. For full license details, see LICENSE.txt or visit:
// https://alliedmods.net/amxmodx-license
//
// Fakemeta Module
//
2004-09-14 06:16:52 +00:00
#ifndef _INCLUDE_TR_H
#define _INCLUDE_TR_H
#include <am-string.h>
2006-03-20 18:08:51 +00:00
2004-09-15 18:40:18 +00:00
extern TraceResult *gfm_tr;
2006-03-20 18:08:51 +00:00
//these also don't fit in here but gaben does not care. GABEN DOES NOT CARE!!!
extern TraceResult g_tr_2;
extern KeyValueData g_kvd_2;
extern clientdata_t g_cd_glb;
extern clientdata_t *g_cd_hook;
extern entity_state_t g_es_glb;
extern entity_state_t *g_es_hook;
extern usercmd_t g_uc_glb;
extern usercmd_t *g_uc_hook;
2006-03-20 18:08:51 +00:00
struct KVD_Wrapper
{
KeyValueData *kvd;
ke::AString cls;
ke::AString key;
ke::AString val;
2006-03-20 18:08:51 +00:00
};
extern KVD_Wrapper g_kvd_glb;
extern KVD_Wrapper g_kvd_hook;
2004-09-14 06:16:52 +00:00
enum
{
TR_AllSolid,
2006-03-20 18:08:51 +00:00
TR_StartSolid,
2004-09-14 06:16:52 +00:00
TR_InOpen,
TR_InWater,
TR_flFraction,
TR_vecEndPos,
TR_flPlaneDist,
TR_vecPlaneNormal,
TR_pHit,
TR_iHitgroup,
};
enum KeyValue
{
KV_ClassName,
2006-03-20 18:08:51 +00:00
KV_KeyName,
KV_Value,
KV_fHandled
};
enum ClientData
{
CD_Origin,
CD_Velocity,
CD_ViewModel,
CD_PunchAngle,
CD_Flags,
CD_WaterLevel,
CD_WaterType,
CD_ViewOfs,
CD_Health,
CD_bInDuck,
CD_Weapons,
CD_flTimeStepSound,
CD_flDuckTime,
CD_flSwimTime,
CD_WaterJumpTime,
CD_MaxSpeed,
CD_FOV,
CD_WeaponAnim,
CD_ID,
CD_AmmoShells,
CD_AmmoNails,
CD_AmmoCells,
CD_AmmoRockets,
CD_flNextAttack,
CD_tfState,
CD_PushMsec,
CD_DeadFlag,
CD_PhysInfo,
CD_iUser1,
CD_iUser2,
CD_iUser3,
CD_iUser4,
CD_fUser1,
CD_fUser2,
CD_fUser3,
CD_fUser4,
CD_vUser1,
CD_vUser2,
CD_vUser3,
CD_vUser4
};
enum EntityState
{
// Fields which are filled in by routines outside of delta compression
ES_EntityType,
// Index into cl_entities array for this entity
ES_Number,
ES_MsgTime,
// Message number last time the player/entity state was updated
ES_MessageNum,
// Fields which can be transitted and reconstructed over the network stream
ES_Origin,
ES_Angles,
ES_ModelIndex,
ES_Sequence,
ES_Frame,
ES_ColorMap,
ES_Skin,
ES_Solid,
ES_Effects,
ES_Scale,
ES_eFlags,
// Render information
ES_RenderMode,
ES_RenderAmt,
ES_RenderColor,
ES_RenderFx,
ES_MoveType,
ES_AnimTime,
ES_FrameRate,
ES_Body,
ES_Controller,
ES_Blending,
ES_Velocity,
// Send bbox down to client for use during prediction
ES_Mins,
ES_Maxs,
ES_AimEnt,
// If owned by a player, the index of that player (for projectiles)
ES_Owner,
// Friction, for prediction
ES_Friction,
// Gravity multiplier
ES_Gravity,
// PLAYER SPECIFIC
ES_Team,
ES_PlayerClass,
ES_Health,
ES_Spectator,
ES_WeaponModel,
ES_GaitSequence,
// If standing on conveyor, e.g.
ES_BaseVelocity,
// Use the crouched hull, or the regular player hull
ES_UseHull,
// Latched buttons last time state updated
ES_OldButtons,
// -1 = in air, else pmove entity number
ES_OnGround,
ES_iStepLeft,
// How fast we are falling
ES_flFallVelocity,
ES_FOV,
ES_WeaponAnim,
// Parametric movement overrides
ES_StartPos,
ES_EndPos,
ES_ImpactTime,
ES_StartTime,
// For mods
ES_iUser1,
ES_iUser2,
ES_iUser3,
ES_iUser4,
ES_fUser1,
ES_fUser2,
ES_fUser3,
ES_fUser4,
ES_vUser1,
ES_vUser2,
ES_vUser3,
ES_vUser4
};
enum UserCmd
{
UC_LerpMsec, // Interpolation time on client
UC_Msec, // Duration in ms of command
UC_ViewAngles, // Command view angles
// Intended velocities
UC_ForwardMove, // Forward velocity
UC_SideMove, // Sideways velocity
UC_UpMove, // Upward velocity
UC_LightLevel, // Light level at spot where we are standing
UC_Buttons, // Attack buttons
UC_Impulse, // Impulse command issued
UC_WeaponSelect, // Current weapon id
// Experimental player impact stuff
UC_ImpactIndex,
UC_ImpactPosition
};
2004-09-14 23:39:22 +00:00
extern AMX_NATIVE_INFO tr_Natives[];
2006-03-20 18:08:51 +00:00
extern AMX_NATIVE_INFO ext2_natives[];
2004-09-14 23:39:22 +00:00
2005-08-23 23:54:54 +00:00
#endif //_INCLUDE_TR_H