rendered paste body#ifndef _TRACER_H#define _TRACER_H// stupid include hell workaround#ifndef ETH_H_#include "eth.h"#endif#define RAILTRAIL_INTERVAL 13void debug_head_box( int player );qboolean trace_body( int player, vec3_t hitpoint );qboolean trace_head( refEntity_t *head, vec3_t hitpoint, int player );typedef enum { HITBOX_OFF, HITBOX_ETMAIN, HITBOX_ETPUB, HITBOX_ETPRO, HITBOX_GENERIC, HITBOX_CSERVER, HITBOX_DEF, HITBOX_SIL1, HITBOX_SIL2, HITBOX_HIGH, HITBOX_FASTKILLS, HITBOX_FRAGKILLS, HITBOX_SYSTEMKILLS, HITBOX_CUSTOM } hitbox_type_t;typedef enum { MS_STAND, MS_STAND_MOVING, MS_CROUCH, MS_CROUCH_MOVING, MS_PRONE, MS_PRONE_MOVING} model_state_t;typedef struct { vec3_t stand_offset; vec3_t crouch_offset; vec3_t prone_offset; vec3_t stand_offset_moving; vec3_t crouch_offset_moving; vec3_t size; // for body boxes vec3_t size2;} hitbox_t;/* these define the head hitboxes. format is { fwd, right, up }, relative to the tag's orientation matched them as good as possibly with server head hitboxes using hacked servercode hitboxes don't rotate, but their origin does! it rotates with tag_head etpub/etmain boxes are really based on centity position, not on tag_head position, so need different aimbot code to handle those mods... for now use everything tag_head based always use correct hitbox mode.. wrong vecs == suck4ge*/const static hitbox_t head_hitboxes[] ={// stand crouch prone stand moving crouch moving hitbox size (x,y,z){ { 0.0, 0.0, 0.0}, { 0.0, 0.0, 0.0}, { 0.0, 0.0, 0.0}, { 0.0, 0.0, 0.0}, { 0.0, 0.0, 0.0}, { 0.0, 0.0, 0.0} }, // OFF{ { 0.0, 0.0, 4.0}, { 0.0, 0.0, 4.0}, { 0.0, 0.0, 4.0}, { 0.0, 0.0, 4.0}, { 0.0, 0.0, 4.0}, {12.0,12.0,12.0} }, // ETMAIN{ { 3.0, 0.0, 6.5}, { 3.0,-0.5, 6.0}, { 1.0, 0.0, 7.0}, {-5.0, -1.0, 6.5}, { 1.0, 3.0, 4.5}, {12.0,12.0,12.0} }, // ETPUB FIXED{ { 0.3, 0.3, 7.0}, {-0.3, 0.8, 7.0}, { 0.0, 0.3, 6.9}, { 0.0, 0.0, 6.5}, { 0.0, -0.7, 7.0}, {11.0,11.0,12.0} }, // ETPRO b_realhead 1{ { 0.5, 0.0, 6.5}, { 0.5, 0.0, 6.5}, { 0.5, 0.0, 6.5}, { 0.5, 0.0, 6.5}, { 0.5, 0.0, 6.5}, {12.0,12.0,12.0} }, // GENERIC REALISTIC{ { 0.4, 0.4, 5.8}, { 0.4, 0.4, 5.8}, { 0.4, 0.4, 5.8}, { 0.4, 0.4, 5.8}, { 0.4, 0.4, 5.8}, { 12.0, 12.0, 12.0} }, // *C SERVER{ { 0.4, 0.8, 5.7}, { 0.4, 0.8, 5.7}, { 0.4, 0.8, 5.7}, { 0.4, 0.8, 5.7}, { 0.4, 0.8, 5.7}, { 9.0, 9.0, 9.0} }, // deF{ { 1.4, 3.0, 6.1}, { 0.1, 2.1, 7.3}, { 0.6, 2.1, 5.9}, { 0.1, 1.2, 4.7}, { 0.1, -0.1, 7.1}, { 15.0, 15.0, 15.0} }, // Sil1{ { 0.4, 0.2, 5.7}, { 9.6, 5.5, 5.4}, { 0.6, 2.1, 5.9}, { 0.1, 1.2, 4.7}, { 0.1, -0.1, 7.1}, { 15.0, 15.0, 15.0} }, // Sil2{ { 1.4, 0.2, 5.7}, { 5.0, 2.0, 5.4}, { 0.6, 2.1, 5.9}, { 0.1, 1.2, 4.7}, { 0.1, -0.1, 7.1}, { 15.0, 15.0, 15.0} }, // High{ { 1.4, 0.2, 5.7}, { 8.2, 3.2, 4.7}, { 0.6, 2.1, 5.9}, { 0.7, 1.2, 5.9}, { 0.1, -0.1, 7.1}, { 15.0, 15.0, 15.0} }, // Fastkills{ { 1.4, 0.2, 5.7}, { 7.3, 2.0, 7.2}, { 0.6, 2.1, 5.9}, { 0.1, 1.2, 4.7}, { 0.1, -0.1, 7.1}, { 15.0, 15.0, 15.0} }, // Fragkill{ { 1.4, 0.2, 5.8}, { 4.0, 0.5, 6.3}, { 0.6, 2.1, 6.0}, { 0.1, 1.2, 4.7}, { 0.1, -0.1, 7.1}, { 15.0, 15.0, 15.0} }, // Systemkill};// seems to be the same for every mod stand crouch prone stand moving prone moving stand bounds prone boundsconst static hitbox_t body_hitbox = { {36.0,36.0,72.0}, {36.0,36.0,72.0}, {36.0, 36.0,48.0}, {36.0,36.0,72.0}, {36.0, 36.0,48.0}, {36.0,36.0,72.0}, {36.0, 36.0,48.0} };hitbox_t custom_headhitbox;#endif