Xonotic QuakeC
The free, fast arena FPS with crisp movement and a wide array of weapons
csqcmodel_hooks.qh File Reference
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Functions

void CSQCModel_Effects_Apply (entity this)
void CSQCModel_Hook_PreDraw (entity this, bool isplayer)
void CSQCModel_LOD_Apply (entity this, bool isplayer)

Variables

int autocvar__cl_color
string autocvar__cl_playermodel
int autocvar__cl_playerskin
float autocvar_cl_deathglow
float autocvar_cl_deathglow_min = 0.5
int autocvar_cl_forcemyplayercolors
string autocvar_cl_forcemyplayermodel
int autocvar_cl_forcemyplayerskin
bool autocvar_cl_forceplayercolors
bool autocvar_cl_forceplayermodels
bool autocvar_cl_forceuniqueplayercolors
float autocvar_cl_jetpack_attenuation = 2
float autocvar_cl_loddistance1 = 768
float autocvar_cl_loddistance2 = 2048
int autocvar_cl_modeldetailreduction
int autocvar_cl_playerdetailreduction
bool autocvar_cl_respawn_ghosts_keepcolors
float autocvar_r_hdr_glowintensity
int csqcmodel_effects
bool csqcmodel_isdead
int csqcmodel_modelflags
int csqcmodel_traileffect
float death_time
const int EF_BRIGHTFIELD = BIT(0)
const int EF_BRIGHTLIGHT = BIT(2)
const int EF_DIMLIGHT = BIT(3)
const int EF_DOUBLESIDED = BIT(15)
const int EF_DYNAMICMODELLIGHT = BIT(17)
const int EF_NOSELFSHADOW = BIT(16)
const int EF_RESTARTANIM_BIT = BIT(20)
const int EF_TELEPORT_BIT = BIT(21)
int isplayermodel
const int MF_GIB = BIT(2)
const int MF_GRENADE = BIT(1)
const int MF_ROCKET = BIT(0)
const int MF_ROTATE = BIT(3)
const int MF_TRACER = BIT(4)
const int MF_TRACER2 = BIT(6)
const int MF_TRACER3 = BIT(7)
const int MF_ZOMGIB = BIT(5)

Function Documentation

◆ CSQCModel_Effects_Apply()

void CSQCModel_Effects_Apply ( entity this)

Definition at line 545 of file csqcmodel_hooks.qc.

546{
548 int tref = this.csqcmodel_traileffect;
549
551 this.effects = 0;
552 this.traileffect = 0;
553
554 if(eff & EF_BRIGHTFIELD)
555 tref = EFFECT_TR_NEXUIZPLASMA.m_id;
556 // ignoring EF_MUZZLEFLASH
557 if(eff & EF_BRIGHTLIGHT)
558 adddynamiclight(this.origin, 400, '3 3 3');
559 if(eff & EF_DIMLIGHT)
560 adddynamiclight(this.origin, 200, '1.5 1.5 1.5');
561 if((eff & EF_NODRAW) || (this.alpha < 0))
562 this.drawmask = 0;
563 if(eff & EF_ADDITIVE)
564 this.renderflags |= RF_ADDITIVE;
565 if(eff & EF_BLUE)
566 adddynamiclight(this.origin, 200, '0.15 0.15 1.5');
567 if(eff & EF_RED)
568 adddynamiclight(this.origin, 200, '1.5 0.15 0.15');
569 // ignoring EF_NOGUNBOB
570 if(eff & EF_FULLBRIGHT)
572 if(eff & EF_FLAME)
573 {
574 // XONRELEASE TODO: xonotic-v0.9.0 after release remove the ef_shock_num check
575 // NOTE here we check if EF_SHOCK exists because it was added together with the change to EF_FLAME
576 int ef_shock_num = particleeffectnum(EFFECT_EF_SHOCK);
577 if (ef_shock_num >= 0) // in the old version of EF_FLAME the light was spawned by boxparticles
578 adddynamiclight2(this.origin + '0 0 10', 200, '1 0.35 0', 6, "", PFLAGS_FULLDYNAMIC); // no PFLAGS_CORONA, it looks bad
579 int ef_flame_num = particleeffectnum(EFFECT_EF_FLAME);
580 boxparticles(ef_flame_num, this, this.absmin, this.absmax, this.velocity, this.velocity, bound(0, frametime, 0.1), 0);
581 //pointparticles(EFFECT_EF_FLAME, this.origin, '0 0 0', bound(0, frametime, 0.1));
582 }
583 if(eff & EF_SHOCK)
584 {
585 // XONRELEASE TODO: xonotic-v0.9.0 after release remove the ef_shock_num check
586 int ef_shock_num = particleeffectnum(EFFECT_EF_SHOCK);
587 if (ef_shock_num >= 0) // in ARC_LIGHTNING the light is spawned by boxparticles
588 adddynamiclight2(this.origin, 50, '3.1 4.4 10', 10, "", PFLAGS_FULLDYNAMIC); // no PFLAGS_CORONA, it looks bad
589 else
590 ef_shock_num = particleeffectnum(EFFECT_ARC_LIGHTNING);
591 boxparticles(ef_shock_num, this, this.absmin, this.absmax, '0 0 0', '0 0 0', bound(0, frametime, 0.1), 0);
592 //pointparticles(EFFECT_ARC_LIGHTNING, this.origin, '0 0 0', bound(0, frametime, 0.1));
593 }
594 if(eff & EF_STARDUST)
595 {
596 boxparticles(particleeffectnum(EFFECT_EF_STARDUST), this, this.absmin, this.absmax, this.velocity, this.velocity, bound(0, frametime, 0.1), 0);
597 //pointparticles(EFFECT_EF_STARDUST, this.origin, '0 0 0', bound(0, frametime, 0.1));
598 }
599 if(eff & EF_NOSHADOW)
600 this.renderflags |= RF_NOSHADOW;
601 if(eff & EF_NODEPTHTEST)
603 // ignoring EF_SELECTABLE
604 if(eff & EF_DOUBLESIDED)
605 this.effects |= EF_DOUBLESIDED;
606 if(eff & EF_NOSELFSHADOW)
607 this.effects |= EF_NOSELFSHADOW;
608 if(eff & EF_DYNAMICMODELLIGHT)
610 // ignoring EF_UNUSED18, EF_UNUSED19, EF_RESTARTANIM_BIT, EF_TELEPORT_BIT, EF_LOWPRECISION
612 tref = EFFECT_TR_ROCKET.m_id;
614 tref = EFFECT_TR_GRENADE.m_id;
616 tref = EFFECT_TR_BLOOD.m_id;
618 {
619 // This will be hard to replace with MAKE_VECTORS because it's called as part of the predraw function
620 // as documented in csprogs.h in the engine. The globals can then be read in many places in the engine.
621 // However MF_ROTATE is currently only used in one place - might be possible to get rid of it entirely.
622 this.renderflags |= RF_USEAXIS;
623 makevectors(this.angles + '0 100 0' * fmod(time, 3.6));
624 }
626 tref = EFFECT_TR_WIZSPIKE.m_id;
628 tref = EFFECT_TR_SLIGHTBLOOD.m_id;
630 tref = EFFECT_TR_KNIGHTSPIKE.m_id;
632 tref = EFFECT_TR_VORESPIKE.m_id;
633
634 this.traileffect = tref;
635
636 if(this.drawmask)
637 Projectile_DrawTrail(this, this.origin);
638 else
639 Projectile_ResetTrail(this, this.origin);
640
642 this.renderflags |= RF_ADDITIVE;
643 // also special in CSQCPlayer_GlowMod_Apply
644
646 {
647 if(!this.snd_looping)
648 {
651 }
652 }
653 else
654 {
655 if(this.snd_looping)
656 {
658 this.snd_looping = 0;
659 }
660 }
661}
float alpha
Definition items.qc:13
float renderflags
Definition main.qh:111
const int EF_SHOCK
Definition constants.qh:103
const float EF_STARDUST
float drawmask
const float RF_ADDITIVE
const float RF_USEAXIS
float frametime
const float EF_RED
vector velocity
const float EF_ADDITIVE
const float EF_FULLBRIGHT
float effects
float time
const float EF_FLAME
const float EF_BLUE
vector absmax
const float EF_NODEPTHTEST
vector origin
vector absmin
const float RF_FULLBRIGHT
float RF_DYNAMICMODELLIGHT
const float EF_NOSHADOW
const float EF_NODRAW
const float RF_NOSHADOW
const float RF_DEPTHHACK
const float PFLAGS_FULLDYNAMIC
int snd_looping
const int MF_ROTATE
const int MF_GRENADE
const int MF_TRACER3
int csqcmodel_traileffect
int csqcmodel_effects
const int MF_TRACER
const int EF_BRIGHTFIELD
const int MF_ROCKET
const int MF_GIB
const int EF_BRIGHTLIGHT
const int MF_ZOMGIB
const int EF_DIMLIGHT
float autocvar_cl_jetpack_attenuation
int csqcmodel_modelflags
const int MF_TRACER2
const int EF_NOSELFSHADOW
const int EF_DOUBLESIDED
const int EF_DYNAMICMODELLIGHT
#define CSQCMODEL_EF_RESPAWNGHOST
#define particleeffectnum(e)
Definition effect.qh:3
ent angles
Definition ent_cs.qc:121
float fmod(float e, float f)
Definition mathlib.qc:208
float bound(float min, float value, float max)
#define makevectors
Definition post.qh:21
#define adddynamiclight2
Definition post.qh:30
#define adddynamiclight
Definition post.qh:29
void Projectile_DrawTrail(entity this, vector to)
Definition projectile.qc:30
void Projectile_ResetTrail(entity this, vector to)
Definition projectile.qc:24
const int CH_TRIGGER_SINGLE
Definition sound.qh:13
const float VOL_BASE
Definition sound.qh:36
#define sound(e, c, s, v, a)
Definition sound.qh:52

References absmax, absmin, adddynamiclight, adddynamiclight2, alpha, angles, autocvar_cl_jetpack_attenuation, bound(), CH_TRIGGER_SINGLE, CSQCMODEL_EF_RESPAWNGHOST, csqcmodel_effects, csqcmodel_modelflags, csqcmodel_traileffect, drawmask, EF_ADDITIVE, EF_BLUE, EF_BRIGHTFIELD, EF_BRIGHTLIGHT, EF_DIMLIGHT, EF_DOUBLESIDED, EF_DYNAMICMODELLIGHT, EF_FLAME, EF_FULLBRIGHT, EF_NODEPTHTEST, EF_NODRAW, EF_NOSELFSHADOW, EF_NOSHADOW, EF_RED, EF_SHOCK, EF_STARDUST, effects, entity(), fmod(), frametime, makevectors, MF_GIB, MF_GRENADE, MF_ROCKET, MF_ROTATE, MF_TRACER, MF_TRACER2, MF_TRACER3, MF_ZOMGIB, origin, particleeffectnum, PFLAGS_FULLDYNAMIC, Projectile_DrawTrail(), Projectile_ResetTrail(), renderflags, RF_ADDITIVE, RF_DEPTHHACK, RF_DYNAMICMODELLIGHT, RF_FULLBRIGHT, RF_NOSHADOW, RF_USEAXIS, snd_looping, sound, time, velocity, and VOL_BASE.

Referenced by CSQCModel_Hook_PreDraw(), and viewmodel_draw().

◆ CSQCModel_Hook_PreDraw()

void CSQCModel_Hook_PreDraw ( entity this,
bool isplayer )

Definition at line 674 of file csqcmodel_hooks.qc.

675{
677 return;
679
680 if(!this.modelindex || this.model == "null")
681 {
682 this.drawmask = 0;
683 if(this.snd_looping > 0)
684 {
686 this.snd_looping = 0;
687 }
688 return;
689 }
690 else
691 this.drawmask = MASK_NORMAL;
692
693 if((this.isplayermodel & ISPLAYER_MODEL) && this.drawmask) // this checks if it's a player MODEL!
694 {
696 CSQCModel_LOD_Apply(this, true);
697
698 if(!isplayer)
699 {
700 skeleton_loadinfo(this);
701 bool doblend = (this.bone_upperbody >= 0);
703 if(doblend)
704 {
706 }
707 else
708 {
710 // just in case, clear these (we're animating in frame and frame3)
711 this.lerpfrac = 0;
712 this.lerpfrac4 = 0;
713 }
714 }
715 else
716 {
717 // we know that frame3 and frame4 fields, used by InterpolateAnimation, are left alone - but that is all we know!
718 skeleton_loadinfo(this);
719 bool doblend = (this.bone_upperbody >= 0);
720 bool onground = 0;
721 if(this == csqcplayer)
722 {
723 if(IS_ONGROUND(this))
724 onground = 1;
725 this.anim_prev_pmove_flags = this.flags;
726 if(this.flags & FL_DUCKED)
727 animdecide_setstate(this, this.anim_state | ANIMSTATE_DUCK, false);
728 else if(this.anim_state & ANIMSTATE_DUCK)
729 animdecide_setstate(this, this.anim_state - ANIMSTATE_DUCK, false);
730 }
731 else
732 {
733 tracebox(this.origin + '0 0 1', this.mins, this.maxs, this.origin - '0 0 4', MOVE_NORMAL, this);
735 onground = 1;
736 // predicted clients handle smoothing in the prediction code
737 this.origin = CSQCModel_ApplyStairSmoothing(this, onground, this.origin);
738 }
740 animdecide_setimplicitstate(this, onground);
742 int sf = 0;
743 if(this.anim_saveframe != this.anim_frame || this.anim_saveframe1time != this.anim_frame1time)
745 if(this.anim_saveframe2 != this.anim_frame2 || this.anim_saveframe2time != this.anim_frame2time)
747 this.anim_saveframe = this.anim_frame;
749 this.anim_saveframe2 = this.anim_frame2;
751 // Note: we always consider lerpfrac "changed", as it uses fixed values every time anyway.
752 // This ensures that .frame etc. are always written.
754 this.lerpfrac = (doblend ? 0.5 : 0);
755 this.frame = this.anim_frame;
756 this.frame1time = this.anim_frame1time;
757 this.frame2 = this.anim_frame2;
758 this.frame2time = this.anim_frame2time;
761 if(doblend)
762 {
764 }
765 else
766 {
768 // just in case, clear these (we're animating in frame and frame3)
769 this.lerpfrac = 0;
770 this.lerpfrac4 = 0;
771 }
772 }
773 }
774 else
775 CSQCModel_LOD_Apply(this, false);
776
778
780}
float frame1time
start time of framegroup animation
Definition anim.qh:22
float frame2time
start time of framegroup animation
Definition anim.qh:24
float frame2
secondary framegroup animation (strength = lerpfrac)
Definition anim.qh:8
float lerpfrac
strength of framegroup blend
Definition anim.qh:15
float lerpfrac4
strength of framegroup blend
Definition anim.qh:19
float frame
primary framegroup animation (strength = 1 - lerpfrac - lerpfrac3 - lerpfrac4)
Definition anim.qh:6
void animdecide_setimplicitstate(entity e, float onground)
void animdecide_load_if_needed(entity e)
Definition animdecide.qc:53
void animdecide_setframes(entity e, float support_blending,.float fld_frame,.float fld_frame1time,.float fld_frame2,.float fld_frame2time)
void animdecide_setstate(entity e, int newstate, float restart)
int anim_state
const int ANIMSTATE_DUCK
void CSQCModel_InterpolateAnimation_2To4_PreNote(entity this, int sf)
Definition cl_model.qc:37
void CSQCModel_InterpolateAnimation_2To4_Note(entity this, int sf, bool set_times)
Definition cl_model.qc:73
void CSQCModel_InterpolateAnimation_2To4_Do(entity this)
Definition cl_model.qc:109
vector CSQCModel_ApplyStairSmoothing(entity this, bool isonground, vector v)
Definition cl_player.qc:248
entity csqcplayer
Definition cl_player.qh:26
int framecount
Definition main.qh:180
const int FL_DUCKED
Definition constants.qh:89
float flags
float modelindex
const float MASK_NORMAL
const float MOVE_NORMAL
vector mins
float trace_startsolid
vector maxs
float trace_fraction
int anim_prev_pmove_flags
int anim_saveframe2
int anim_frame2
void CSQCModel_AutoTagIndex_Apply(entity this)
void CSQCPlayer_FallbackFrame_Apply(entity this)
int anim_frame
int anim_frame1time
int anim_frame2time
void CSQCPlayer_ModelAppearance_Apply(entity this, bool islocalplayer)
void CSQCModel_LOD_Apply(entity this, bool isplayer)
int anim_saveframe1time
void CSQCModel_Effects_Apply(entity this)
int csqcmodel_predraw_run
int anim_saveframe
int anim_saveframe2time
bool csqcmodel_isdead
int isplayermodel
model
Definition ent_cs.qc:139
const int CSQCMODEL_PROPERTY_FRAME2
Definition common.qh:67
const int ISPLAYER_LOCAL
Definition common.qh:58
const int CSQCMODEL_PROPERTY_FRAME
Definition common.qh:61
const int ISPLAYER_MODEL
Definition common.qh:56
const int CSQCMODEL_PROPERTY_LERPFRAC
Definition common.qh:68
#define IS_ONGROUND(s)
Definition movetypes.qh:16
void skeleton_loadinfo(entity e)
void skeleton_from_frames(entity e, bool is_dead)
void free_skeleton_from_frames(entity e)

References anim_frame, anim_frame1time, anim_frame2, anim_frame2time, anim_prev_pmove_flags, anim_saveframe, anim_saveframe1time, anim_saveframe2, anim_saveframe2time, anim_state, animdecide_load_if_needed(), animdecide_setframes(), animdecide_setimplicitstate(), animdecide_setstate(), ANIMSTATE_DUCK, autocvar_cl_jetpack_attenuation, CSQCModel_ApplyStairSmoothing(), CSQCModel_AutoTagIndex_Apply(), CSQCModel_Effects_Apply(), CSQCModel_InterpolateAnimation_2To4_Do(), CSQCModel_InterpolateAnimation_2To4_Note(), CSQCModel_InterpolateAnimation_2To4_PreNote(), csqcmodel_isdead, CSQCModel_LOD_Apply(), csqcmodel_predraw_run, CSQCMODEL_PROPERTY_FRAME, CSQCMODEL_PROPERTY_FRAME2, CSQCMODEL_PROPERTY_LERPFRAC, csqcplayer, CSQCPlayer_FallbackFrame_Apply(), CSQCPlayer_ModelAppearance_Apply(), drawmask, entity(), FL_DUCKED, flags, frame, frame1time, frame2, frame2time, framecount, free_skeleton_from_frames(), IS_ONGROUND, ISPLAYER_LOCAL, ISPLAYER_MODEL, isplayermodel, lerpfrac, lerpfrac4, MASK_NORMAL, maxs, mins, model, modelindex, MOVE_NORMAL, origin, skeleton_from_frames(), skeleton_loadinfo(), snd_looping, sound, trace_fraction, trace_startsolid, and VOL_BASE.

Referenced by CSQCModel_AutoTagIndex_Apply(), and CSQCModel_Draw().

◆ CSQCModel_LOD_Apply()

void CSQCModel_LOD_Apply ( entity this,
bool isplayer )

Definition at line 27 of file csqcmodel_hooks.qc.

28{
29 int detailreduction = ((isplayer) ? autocvar_cl_playerdetailreduction : autocvar_cl_modeldetailreduction);
30
31 // LOD model loading
32 if(this.lodmodelindex0 != this.modelindex && this.lodmodelindex1 != this.modelindex && this.lodmodelindex2 != this.modelindex)
33 {
34 string modelname = this.model;
35 string s;
36
37 vector mi = this.mins;
38 vector ma = this.maxs;
39
40 // set modelindex
41 this.lodmodelindex0 = this.modelindex;
42 this.lodmodelindex1 = this.modelindex;
43 this.lodmodelindex2 = this.modelindex;
44
45 // FIXME: this only supports 3-letter extensions
46 s = strcat(substring(modelname, 0, strlen(modelname)-4), "_lod1", substring(modelname, -4, 4));
47 if(fexists(s))
48 {
49 precache_model(s);
50 _setmodel(this, s);
51 if(this.modelindex)
52 this.lodmodelindex2 = this.lodmodelindex1 = this.modelindex;
53 }
54
55 s = strcat(substring(modelname, 0, strlen(modelname)-4), "_lod2", substring(modelname, -4, 4));
56 if(fexists(s))
57 {
58 precache_model(s);
59 _setmodel(this, s);
60 if(this.modelindex)
61 this.lodmodelindex2 = this.modelindex;
62 }
63
64 _setmodel(this, modelname); // make everything normal again
65 setsize(this, mi, ma);
66 }
67
68 // apply LOD
69 if(detailreduction <= 0)
70 {
71 if(detailreduction <= -2)
72 this.modelindex = this.lodmodelindex2;
73 else if(detailreduction <= -1)
74 this.modelindex = this.lodmodelindex1;
75 else
76 this.modelindex = this.lodmodelindex0;
77 }
78 else
79 {
80 float distance = vlen(((isplayer) ? this.origin : NearestPointOnBox(this, view_origin)) - view_origin); // TODO: perhaps it should just use NearestPointOnBox all the time, player hitbox can potentially be huge
81 float dist1 = (this.loddistance1 > 0) ? this.loddistance1 : autocvar_cl_loddistance1;
82 float dist2 = (this.loddistance2 > 0) ? this.loddistance2 : autocvar_cl_loddistance2;
83 float f = (distance * current_viewzoom + 100.0) * detailreduction;
84 f *= 1.0 / bound(0.01, view_quality, 1);
85 if(f > dist2)
86 this.modelindex = this.lodmodelindex2;
87 else if(f > dist1)
88 this.modelindex = this.lodmodelindex1;
89 else
90 this.modelindex = this.lodmodelindex0;
91 }
92}
float current_viewzoom
Definition main.qh:118
vector view_origin
Definition main.qh:109
float view_quality
Definition main.qh:174
int lodmodelindex2
float loddistance2
int lodmodelindex1
float loddistance1
int lodmodelindex0
int autocvar_cl_modeldetailreduction
float autocvar_cl_loddistance1
float autocvar_cl_loddistance2
int autocvar_cl_playerdetailreduction
#define strlen
ERASEABLE bool fexists(string f)
Definition file.qh:4
string substring(string s, float start, float length)
float vlen(vector v)
strcat(_("^F4Countdown stopped!"), "\n^BG", _("Teams are too unbalanced."))
vector
Definition self.qh:92
ERASEABLE vector NearestPointOnBox(entity box, vector org)
Definition vector.qh:178

References autocvar_cl_loddistance1, autocvar_cl_loddistance2, autocvar_cl_modeldetailreduction, autocvar_cl_playerdetailreduction, bound(), current_viewzoom, entity(), fexists(), loddistance1, loddistance2, lodmodelindex0, lodmodelindex1, lodmodelindex2, maxs, mins, model, modelindex, NearestPointOnBox(), origin, strcat(), strlen, substring(), vector, view_origin, view_quality, and vlen().

Referenced by CSQCModel_Hook_PreDraw().

Variable Documentation

◆ autocvar__cl_color

int autocvar__cl_color

Definition at line 14 of file csqcmodel_hooks.qh.

Referenced by CSQCPlayer_ModelAppearance_Apply().

◆ autocvar__cl_playermodel

string autocvar__cl_playermodel

Definition at line 16 of file csqcmodel_hooks.qh.

Referenced by CSQCPlayer_ModelAppearance_Apply().

◆ autocvar__cl_playerskin

int autocvar__cl_playerskin

Definition at line 15 of file csqcmodel_hooks.qh.

Referenced by CSQCPlayer_ModelAppearance_Apply().

◆ autocvar_cl_deathglow

float autocvar_cl_deathglow

Definition at line 17 of file csqcmodel_hooks.qh.

Referenced by CSQCPlayer_ModelAppearance_Apply().

◆ autocvar_cl_deathglow_min

float autocvar_cl_deathglow_min = 0.5

Definition at line 18 of file csqcmodel_hooks.qh.

Referenced by CSQCPlayer_ModelAppearance_Apply().

◆ autocvar_cl_forcemyplayercolors

int autocvar_cl_forcemyplayercolors

Definition at line 13 of file csqcmodel_hooks.qh.

Referenced by CSQCPlayer_ModelAppearance_Apply().

◆ autocvar_cl_forcemyplayermodel

string autocvar_cl_forcemyplayermodel

Definition at line 11 of file csqcmodel_hooks.qh.

Referenced by CSQCPlayer_ModelAppearance_Apply().

◆ autocvar_cl_forcemyplayerskin

int autocvar_cl_forcemyplayerskin

Definition at line 12 of file csqcmodel_hooks.qh.

Referenced by CSQCPlayer_ModelAppearance_Apply().

◆ autocvar_cl_forceplayercolors

bool autocvar_cl_forceplayercolors

Definition at line 9 of file csqcmodel_hooks.qh.

◆ autocvar_cl_forceplayermodels

bool autocvar_cl_forceplayermodels

Definition at line 8 of file csqcmodel_hooks.qh.

Referenced by CSQCPlayer_ModelAppearance_Apply().

◆ autocvar_cl_forceuniqueplayercolors

bool autocvar_cl_forceuniqueplayercolors

Definition at line 10 of file csqcmodel_hooks.qh.

Referenced by CSQCPlayer_ModelAppearance_Apply().

◆ autocvar_cl_jetpack_attenuation

float autocvar_cl_jetpack_attenuation = 2

Definition at line 19 of file csqcmodel_hooks.qh.

Referenced by CSQCModel_Effects_Apply(), CSQCModel_Hook_PreDraw(), and Ent_Remove().

◆ autocvar_cl_loddistance1

float autocvar_cl_loddistance1 = 768

Definition at line 6 of file csqcmodel_hooks.qh.

Referenced by CSQCModel_LOD_Apply().

◆ autocvar_cl_loddistance2

float autocvar_cl_loddistance2 = 2048

Definition at line 7 of file csqcmodel_hooks.qh.

Referenced by CSQCModel_LOD_Apply().

◆ autocvar_cl_modeldetailreduction

int autocvar_cl_modeldetailreduction

Definition at line 5 of file csqcmodel_hooks.qh.

Referenced by CSQCModel_LOD_Apply().

◆ autocvar_cl_playerdetailreduction

int autocvar_cl_playerdetailreduction

Definition at line 4 of file csqcmodel_hooks.qh.

Referenced by CSQCModel_LOD_Apply().

◆ autocvar_cl_respawn_ghosts_keepcolors

bool autocvar_cl_respawn_ghosts_keepcolors

Definition at line 3 of file csqcmodel_hooks.qh.

Referenced by CSQCPlayer_ModelAppearance_Apply().

◆ autocvar_r_hdr_glowintensity

float autocvar_r_hdr_glowintensity

Definition at line 20 of file csqcmodel_hooks.qh.

Referenced by CSQCPlayer_ModelAppearance_Apply().

◆ csqcmodel_effects

◆ csqcmodel_isdead

◆ csqcmodel_modelflags

◆ csqcmodel_traileffect

int csqcmodel_traileffect

◆ death_time

◆ EF_BRIGHTFIELD

const int EF_BRIGHTFIELD = BIT(0)

Definition at line 23 of file csqcmodel_hooks.qh.

Referenced by CSQCModel_Effects_Apply(), and W_Nexball_Attack2().

◆ EF_BRIGHTLIGHT

const int EF_BRIGHTLIGHT = BIT(2)

Definition at line 24 of file csqcmodel_hooks.qh.

Referenced by CSQCModel_Effects_Apply().

◆ EF_DIMLIGHT

const int EF_DIMLIGHT = BIT(3)

Definition at line 25 of file csqcmodel_hooks.qh.

Referenced by CSQCModel_Effects_Apply(), and ctf_FlagSetup().

◆ EF_DOUBLESIDED

const int EF_DOUBLESIDED = BIT(15)

◆ EF_DYNAMICMODELLIGHT

const int EF_DYNAMICMODELLIGHT = BIT(17)

Definition at line 28 of file csqcmodel_hooks.qh.

Referenced by CSQCModel_Effects_Apply().

◆ EF_NOSELFSHADOW

const int EF_NOSELFSHADOW = BIT(16)

Definition at line 27 of file csqcmodel_hooks.qh.

Referenced by CSQCModel_Effects_Apply().

◆ EF_RESTARTANIM_BIT

const int EF_RESTARTANIM_BIT = BIT(20)

◆ EF_TELEPORT_BIT

◆ isplayermodel

◆ MF_GIB

const int MF_GIB = BIT(2)

Definition at line 34 of file csqcmodel_hooks.qh.

Referenced by CSQCModel_Effects_Apply().

◆ MF_GRENADE

const int MF_GRENADE = BIT(1)

Definition at line 33 of file csqcmodel_hooks.qh.

Referenced by CSQCModel_Effects_Apply().

◆ MF_ROCKET

const int MF_ROCKET = BIT(0)

◆ MF_ROTATE

const int MF_ROTATE = BIT(3)

Definition at line 35 of file csqcmodel_hooks.qh.

Referenced by CSQCModel_Effects_Apply(), and spawn_item_key().

◆ MF_TRACER

const int MF_TRACER = BIT(4)

Definition at line 36 of file csqcmodel_hooks.qh.

Referenced by CSQCModel_Effects_Apply().

◆ MF_TRACER2

const int MF_TRACER2 = BIT(6)

Definition at line 38 of file csqcmodel_hooks.qh.

Referenced by CSQCModel_Effects_Apply().

◆ MF_TRACER3

const int MF_TRACER3 = BIT(7)

Definition at line 39 of file csqcmodel_hooks.qh.

Referenced by CSQCModel_Effects_Apply().

◆ MF_ZOMGIB

const int MF_ZOMGIB = BIT(5)

Definition at line 37 of file csqcmodel_hooks.qh.

Referenced by CSQCModel_Effects_Apply().