rendered paste bodytypedef enum {
HITBOX_OFF,
HITBOX_ETPRO,
HITBOX_ETMAIN,
HITBOX_ETPUB_REALHEAD,
HITBOX_ETPUB_UNFIXED,
HITBOX_GENERAL,
HITBOX_TOTAL
} hitbox_t;
// for hitbox correction
typedef enum {
STANDING,
CROUCH,
PRONE,
MAX_HITBOX_STATE
} HitboxState_t;
typedef struct {
float x;
float y;
float z;
} vec3_union;
vec3_union hitboxDef[HITBOX_TOTAL][MAX_HITBOX_STATE];
void fillHitboxCorrection() {
hitboxDef[HITBOX_ETPRO][STANDING] = (vec3_union) {-1.0, 0.0, 6.5};
hitboxDef[HITBOX_ETPRO][CROUCH] = (vec3_union){-1.0, 0.0, 6.5};
hitboxDef[HITBOX_ETPRO][PRONE] = (vec3_union){1.5, -1.0, 6.5};
hitboxDef[HITBOX_ETMAIN][STANDING] = (vec3_union){0.0, 0.0, 4.0};
hitboxDef[HITBOX_ETMAIN][CROUCH] = (vec3_union){0.0, 0.0, 4.0};
hitboxDef[HITBOX_ETMAIN][PRONE] = (vec3_union){0.0, 0.0, 4.0};
hitboxDef[HITBOX_ETPUB_REALHEAD][STANDING] = (vec3_union){1.0, -1.0, 6.5};
hitboxDef[HITBOX_ETPUB_REALHEAD][CROUCH] = (vec3_union){1.0, -1.0, 6.5};
hitboxDef[HITBOX_ETPUB_REALHEAD][PRONE] = (vec3_union){2.0, 0.0, 6.5};
hitboxDef[HITBOX_ETPUB_UNFIXED][STANDING] = (vec3_union){0.0, 0.0, 4.0};
hitboxDef[HITBOX_ETPUB_UNFIXED][CROUCH] = (vec3_union){0.0, 0.0, 4.0};
hitboxDef[HITBOX_ETPUB_UNFIXED][PRONE] = (vec3_union){0.0, 0.0, 4.0};
hitboxDef[HITBOX_GENERAL][STANDING] = (vec3_union){0.5, 0.0, 6.5};
hitboxDef[HITBOX_GENERAL][CROUCH] = (vec3_union){0.5, 0.0, 6.5};
hitboxDef[HITBOX_GENERAL][PRONE] = (vec3_union){0.5, 0.0, 6.5};
}