From: Mario Date: Fri, 10 Jun 2016 12:17:39 +0000 (+1000) Subject: Purge WITHSELF from all non-engine functions X-Git-Tag: xonotic-v0.8.2~848 X-Git-Url: https://git.rm.cloudns.org/?a=commitdiff_plain;h=92c61bba87835a1bfd152c4cbb40764647a83656;p=xonotic%2Fxonotic-data.pk3dir.git Purge WITHSELF from all non-engine functions --- diff --git a/qcsrc/common/weapons/weapon/hook.qc b/qcsrc/common/weapons/weapon/hook.qc index fd8fd9aef..591961110 100644 --- a/qcsrc/common/weapons/weapon/hook.qc +++ b/qcsrc/common/weapons/weapon/hook.qc @@ -266,7 +266,7 @@ METHOD(Hook, wr_think, void(entity thiswep, entity actor, .entity weaponentity, { if (actor.hook) RemoveGrapplingHook(actor); - WITHSELF(actor, FireGrapplingHook()); + FireGrapplingHook(actor); actor.hook_state &= ~HOOK_FIRING; actor.hook_refire = max(actor.hook_refire, time + autocvar_g_balance_grapplehook_refire * W_WeaponRateFactor(actor)); } diff --git a/qcsrc/server/cheats.qc b/qcsrc/server/cheats.qc index b9928f0b9..94816a1a7 100644 --- a/qcsrc/server/cheats.qc +++ b/qcsrc/server/cheats.qc @@ -33,7 +33,7 @@ void CopyBody(entity this, float keepvelocity); float CheatImpulse(entity this, int imp) { return 0; } float CheatCommand(entity this, int argc) { return 0; } -float CheatFrame() { return 0; } +float CheatFrame(entity this) { return 0; } void CheatInit() { cheatcount_total = world.cheatcount; } void CheatShutdown() { } void Drag_MoveDrag(entity from, entity to) { } @@ -719,8 +719,8 @@ float Drag_IsDragging(entity dragger); void Drag_MoveDrag(entity from, entity to); .entity dragentity; -float CheatFrame() -{SELFPARAM(); +float CheatFrame(entity this) +{ BEGIN_CHEAT_FUNCTION(); // Dragging can be used as either a cheat, or a function for some objects. If sv_cheats is active, diff --git a/qcsrc/server/cheats.qh b/qcsrc/server/cheats.qh index e688f8c13..1bf080641 100644 --- a/qcsrc/server/cheats.qh +++ b/qcsrc/server/cheats.qh @@ -10,7 +10,7 @@ void CheatInit(); void CheatShutdown(); float CheatImpulse(entity this, int imp); float CheatCommand(entity this, int argc); -float CheatFrame(); +float CheatFrame(entity this); const float CHRAME_DRAG = 8; diff --git a/qcsrc/server/cl_client.qc b/qcsrc/server/cl_client.qc index 0c29aebeb..cc3a6028e 100644 --- a/qcsrc/server/cl_client.qc +++ b/qcsrc/server/cl_client.qc @@ -177,7 +177,7 @@ void setplayermodel(entity e, string modelname) { precache_model(modelname); _setmodel(e, modelname); - player_setupanimsformodel(); + player_setupanimsformodel(e); if(!autocvar_g_debug_globalsounds) UpdatePlayerSounds(e); } @@ -442,7 +442,7 @@ void FixPlayermodel(entity player) /** Called when a client spawns in the server */ void PutClientInServer() { - SELFPARAM(); + SELFPARAM(); // needed for engine functions if (IS_BOT_CLIENT(this)) { TRANSMUTE(Player, this); } else if (IS_REAL_CLIENT(this)) { @@ -733,7 +733,7 @@ SetChangeParms ============= */ void SetChangeParms () -{SELFPARAM(); +{SELFPARAM(); // needed for engine functions // save parms for level change parm1 = this.parm_idlesince - time; @@ -784,8 +784,8 @@ void ClientKill_Now_TeamChange(entity this) this.killindicator_teamchange = 0; } -void ClientKill_Now() -{SELFPARAM(); +void ClientKill_Now(entity this) +{ if(this.vehicle) { vehicles_exit(this.vehicle, VHEF_RELEASE); @@ -827,7 +827,7 @@ void KillIndicator_Think(entity this) if(this.cnt <= 0) { - WITHSELF(this.owner, ClientKill_Now()); + ClientKill_Now(this.owner); return; } else if(g_cts && this.health == 1) // health == 1 means that it's silent @@ -879,7 +879,7 @@ void ClientKill_TeamChange (entity this, float targetteam) // 0 = don't change, if(killtime <= 0 || !IS_PLAYER(this) || IS_DEAD(this)) { - WITHSELF(this, ClientKill_Now()); + ClientKill_Now(this); } else { @@ -949,7 +949,7 @@ void ClientKill_TeamChange (entity this, float targetteam) // 0 = don't change, } void ClientKill () -{SELFPARAM(); +{SELFPARAM(); // needed for engine functions if(gameover) return; if(this.player_blocked) return; if(STAT(FROZEN, this)) return; @@ -999,7 +999,7 @@ Called once (not at each match start) when a client begins a connection to the s ============= */ void ClientPreConnect () -{SELFPARAM(); +{SELFPARAM(); // needed for engine functions if(autocvar_sv_eventlog) { GameLogEcho(sprintf(":connect:%d:%d:%s", @@ -1020,7 +1020,7 @@ Called when a client connects to the server */ void ClientConnect() { - SELFPARAM(); + SELFPARAM(); // needed for engine functions if (Ban_MaybeEnforceBanOnce(this)) return; assert(!IS_CLIENT(this), return); this.flags |= FL_CLIENT; @@ -1177,7 +1177,7 @@ Called when a client disconnects from the server void ReadyCount(); void ClientDisconnect() { - SELFPARAM(); + SELFPARAM(); // needed for engine functions assert(IS_CLIENT(this), return); PlayerStats_GameReport_FinalizePlayer(this); @@ -1247,8 +1247,8 @@ void ChatBubbleThink(entity this) } -void UpdateChatBubble() -{SELFPARAM(); +void UpdateChatBubble(entity this) +{ if (this.alpha < 0) return; // spawn a chatbubble entity if needed @@ -1286,8 +1286,8 @@ void UpdateChatBubble() else this.colormod = '1 1 1'; }*/ -void respawn() -{SELFPARAM(); +void respawn(entity this) +{ if(this.alpha >= 0 && autocvar_g_respawn_ghosts) { this.solid = SOLID_NOT; @@ -1307,8 +1307,8 @@ void respawn() PutClientInServer(); } -void play_countdown(float finished, Sound samp) -{SELFPARAM(); +void play_countdown(entity this, float finished, Sound samp) +{ TC(Sound, samp); if(IS_REAL_CLIENT(this)) if(floor(finished - time - frametime) != floor(finished - time)) @@ -1316,8 +1316,8 @@ void play_countdown(float finished, Sound samp) sound (this, CH_INFO, samp, VOL_BASE, ATTEN_NORM); } -void player_powerups () -{SELFPARAM(); +void player_powerups(entity this) +{ // add a way to see what the items were BEFORE all of these checks for the mutator hook int items_prev = this.items; @@ -1338,7 +1338,7 @@ void player_powerups () { if (this.items & ITEM_Strength.m_itemid) { - play_countdown(this.strength_finished, SND_POWEROFF); + play_countdown(this, this.strength_finished, SND_POWEROFF); this.effects = this.effects | (EF_BLUE | EF_ADDITIVE | EF_FULLBRIGHT); if (time > this.strength_finished) { @@ -1358,7 +1358,7 @@ void player_powerups () } if (this.items & ITEM_Shield.m_itemid) { - play_countdown(this.invincible_finished, SND_POWEROFF); + play_countdown(this, this.invincible_finished, SND_POWEROFF); this.effects = this.effects | (EF_RED | EF_ADDITIVE | EF_FULLBRIGHT); if (time > this.invincible_finished) { @@ -1391,7 +1391,7 @@ void player_powerups () } else { - play_countdown(this.superweapons_finished, SND_POWEROFF); + play_countdown(this, this.superweapons_finished, SND_POWEROFF); if (time > this.superweapons_finished) { this.items = this.items - (this.items & IT_SUPERWEAPON); @@ -1479,8 +1479,8 @@ float CalcRotRegen(float current, float regenstable, float regenfactor, float re return current; } -void player_regen () -{SELFPARAM(); +void player_regen(entity this) +{ float max_mod, regen_mod, rot_mod, limit_mod; max_mod = regen_mod = rot_mod = limit_mod = 1; regen_mod_max = max_mod; @@ -1540,8 +1540,8 @@ void player_regen () } bool zoomstate_set; -void SetZoomState(float z) -{SELFPARAM(); +void SetZoomState(entity this, float z) +{ if(z != this.zoomstate) { this.zoomstate = z; @@ -1617,7 +1617,7 @@ void SpectateCopy(entity this, entity spectatee) this.fixangle = true; setorigin(this, spectatee.origin); setsize(this, spectatee.mins, spectatee.maxs); - SetZoomState(spectatee.zoomstate); + SetZoomState(this, spectatee.zoomstate); anticheat_spectatecopy(this, spectatee); this.hud = spectatee.hud; @@ -1759,8 +1759,8 @@ ShowRespawnCountdown() Update a respawn countdown display. ============= */ -void ShowRespawnCountdown() -{SELFPARAM(); +void ShowRespawnCountdown(entity this) +{ float number; if(!IS_DEAD(this)) // just respawned? return; @@ -1855,8 +1855,8 @@ bool nJoinAllowed(entity this, entity ignore) * Checks whether the client is an observer or spectator, if so, he will get kicked after * g_maxplayers_spectator_blocktime seconds */ -void checkSpectatorBlock() -{SELFPARAM(); +void checkSpectatorBlock(entity this) +{ if(IS_SPEC(this) || IS_OBSERVER(this)) if(!this.caplayer) if(IS_REAL_CLIENT(this)) @@ -2005,8 +2005,8 @@ void SpectatorThink(entity this) } void vehicles_enter (entity pl, entity veh); -void PlayerUseKey() -{SELFPARAM(); +void PlayerUseKey(entity this) +{ if (!IS_PLAYER(this)) return; @@ -2066,7 +2066,7 @@ Called every frame for each client before the physics are run .int items_added; void PlayerPreThink () { - SELFPARAM(); + SELFPARAM(); // needed for engine functions WarpZone_PlayerPhysics_FixVAngle(this); STAT(GAMESTARTTIME, this) = game_starttime; @@ -2084,7 +2084,7 @@ void PlayerPreThink () if (blockSpectators && frametime) { // WORKAROUND: only use dropclient in server frames (frametime set). // Never use it in cl_movement frames (frametime zero). - checkSpectatorBlock(); + checkSpectatorBlock(this); } zoomstate_set = false; @@ -2180,7 +2180,7 @@ void PlayerPreThink () if(!this.cvar_cl_newusekeysupported) // FIXME remove this - it was a stupid idea to begin with, we can JUST use the button { if(PHYS_INPUT_BUTTON_USE(this) && !this.usekeypressed) - PlayerUseKey(); + PlayerUseKey(this); this.usekeypressed = PHYS_INPUT_BUTTON_USE(this); } @@ -2203,17 +2203,17 @@ void PlayerPreThink () this.fixangle = true; } - if (frametime) player_powerups(); + if (frametime) player_powerups(this); if (IS_DEAD(this)) { if (this.personal && g_race_qualifying) { if (time > this.respawn_time) { STAT(RESPAWN_TIME, this) = this.respawn_time = time + 1; // only retry once a second - respawn(); + respawn(this); this.impulse = CHIMPULSE_SPEEDRUN.impulse; } } else { - if (frametime) player_anim(); + if (frametime) player_anim(this); bool button_pressed = (PHYS_INPUT_BUTTON_ATCK(this) || PHYS_INPUT_BUTTON_JUMP(this) || PHYS_INPUT_BUTTON_ATCK2(this) || PHYS_INPUT_BUTTON_HOOK(this) || PHYS_INPUT_BUTTON_USE(this)); if (this.deadflag == DEAD_DYING) { @@ -2240,7 +2240,7 @@ void PlayerPreThink () } } - ShowRespawnCountdown(); + ShowRespawnCountdown(this); if (this.respawn_flags & RESPAWN_SILENT) STAT(RESPAWN_TIME, this) = 0; @@ -2309,14 +2309,14 @@ void PlayerPreThink () this.items |= this.items_added; } - player_regen(); + player_regen(this); // WEAPONTODO: Add a weapon request for this // rot vortex charge to the charge limit if (WEP_CVAR(vortex, charge_rot_rate) && this.vortex_charge > WEP_CVAR(vortex, charge_limit) && this.vortex_charge_rottime < time) this.vortex_charge = bound(WEP_CVAR(vortex, charge_limit), this.vortex_charge - WEP_CVAR(vortex, charge_rot_rate) * frametime / W_TICSPERFRAME, 1); - if (frametime) player_anim(); + if (frametime) player_anim(this); // secret status secrets_setstatus(this); @@ -2339,7 +2339,7 @@ void PlayerPreThink () // WEAPONTODO: Add weapon request for this if (!zoomstate_set) { - SetZoomState( + SetZoomState(this, PHYS_INPUT_BUTTON_ZOOM(this) || PHYS_INPUT_BUTTON_ZOOMSCRIPT(this) || (PHYS_INPUT_BUTTON_ATCK2(this) && PS(this).m_weapon == WEP_VORTEX) || (PHYS_INPUT_BUTTON_ATCK2(this) && PS(this).m_weapon == WEP_RIFLE && WEP_CVAR(rifle, secondary) == 0) @@ -2415,7 +2415,7 @@ Called every frame for each client after the physics are run .float idlekick_lasttimeleft; void PlayerPostThink () { - SELFPARAM(); + SELFPARAM(); // needed for engine functions if (sv_maxidle > 0) if (frametime) // WORKAROUND: only use dropclient in server frames (frametime set). Never use it in cl_movement frames (frametime zero). if (IS_REAL_CLIENT(this)) @@ -2450,14 +2450,14 @@ void PlayerPostThink () } } - CheatFrame(); + CheatFrame(this); //CheckPlayerJump(); if (IS_PLAYER(this)) { DrownPlayer(this); CheckRules_Player(this); - UpdateChatBubble(); + UpdateChatBubble(this); if (this.impulse) ImpulseCommands(this); if (intermission_running) return; // intermission or finale GetPressedKeys(this); diff --git a/qcsrc/server/cl_impulse.qc b/qcsrc/server/cl_impulse.qc index 23ecb44c7..6de25fa10 100644 --- a/qcsrc/server/cl_impulse.qc +++ b/qcsrc/server/cl_impulse.qc @@ -373,7 +373,7 @@ void ImpulseCommands(entity this) IMPULSE(use) { - PlayerUseKey(); + PlayerUseKey(this); } IMPULSE(waypoint_personal_here) diff --git a/qcsrc/server/cl_player.qc b/qcsrc/server/cl_player.qc index 3b04a4922..250f3cda1 100644 --- a/qcsrc/server/cl_player.qc +++ b/qcsrc/server/cl_player.qc @@ -126,15 +126,15 @@ void CopyBody(entity this, float keepvelocity) animdecide_setframes(clone, false, frame, frame1time, frame2, frame2time); } -void player_setupanimsformodel() -{SELFPARAM(); +void player_setupanimsformodel(entity this) +{ // load animation info - animdecide_load_if_needed(self); - animdecide_setstate(self, 0, false); + animdecide_load_if_needed(this); + animdecide_setstate(this, 0, false); } -void player_anim () -{SELFPARAM(); +void player_anim(entity this) +{ int deadbits = (this.anim_state & (ANIMSTATE_DEAD1 | ANIMSTATE_DEAD2)); if(IS_DEAD(this)) { if (!deadbits) { diff --git a/qcsrc/server/cl_player.qh b/qcsrc/server/cl_player.qh index 16637fe32..b5f8ca07c 100644 --- a/qcsrc/server/cl_player.qh +++ b/qcsrc/server/cl_player.qh @@ -9,9 +9,9 @@ void CopyBody_Think(entity this); void CopyBody(entity this, float keepvelocity); -void player_setupanimsformodel(); +void player_setupanimsformodel(entity this); -void player_anim(); +void player_anim(entity this); void PlayerCorpseDamage(entity this, entity inflictor, entity attacker, float damage, int deathtype, vector hitloc, vector force); diff --git a/qcsrc/server/command/cmd.qc b/qcsrc/server/command/cmd.qc index 9a9da4def..cf0b536d5 100644 --- a/qcsrc/server/command/cmd.qc +++ b/qcsrc/server/command/cmd.qc @@ -706,7 +706,7 @@ void ClientCommand_macro_write_aliases(float fh) void SV_ParseClientCommand(string command) { - SELFPARAM(); + SELFPARAM(); // needed for engine functions // If invalid UTF-8, don't even parse it string command2 = ""; float len = strlen(command); diff --git a/qcsrc/server/defs.qh b/qcsrc/server/defs.qh index 8e5e8b34c..e74a6923e 100644 --- a/qcsrc/server/defs.qh +++ b/qcsrc/server/defs.qh @@ -77,7 +77,7 @@ float server_is_dedicated; .float fade_time; .float fade_rate; -void() player_setupanimsformodel; +void player_setupanimsformodel(entity this); .string mdl; diff --git a/qcsrc/server/g_damage.qc b/qcsrc/server/g_damage.qc index 2deab23d7..7bb41c6d2 100644 --- a/qcsrc/server/g_damage.qc +++ b/qcsrc/server/g_damage.qc @@ -503,17 +503,17 @@ void Obituary(entity attacker, entity inflictor, entity targ, int deathtype) void Ice_Think(entity this) { - if(!STAT(FROZEN, self.owner) || self.owner.iceblock != self) + if(!STAT(FROZEN, this.owner) || this.owner.iceblock != this) { - remove(self); + remove(this); return; } - setorigin(self, self.owner.origin - '0 0 16'); - self.nextthink = time; + setorigin(this, this.owner.origin - '0 0 16'); + this.nextthink = time; } void Freeze (entity targ, float freeze_time, float frozen_type, float show_waypoint) -{SELFPARAM(); +{ if(!IS_PLAYER(targ) && !IS_MONSTER(targ)) // only specified entities can be freezed return; @@ -526,7 +526,7 @@ void Freeze (entity targ, float freeze_time, float frozen_type, float show_waypo targ.revive_progress = ((frozen_type == 3) ? 1 : 0); targ.health = ((frozen_type == 3) ? targ_maxhealth : 1); targ.revive_speed = freeze_time; - self.bot_attack = false; + targ.bot_attack = false; entity ice = new(ice); ice.owner = targ; @@ -554,7 +554,6 @@ void Freeze (entity targ, float freeze_time, float frozen_type, float show_waypo void Unfreeze (entity targ) { - SELFPARAM(); if(!STAT(FROZEN, targ)) return; @@ -564,7 +563,7 @@ void Unfreeze (entity targ) STAT(FROZEN, targ) = 0; targ.revive_progress = 0; targ.revival_time = time; - self.bot_attack = true; + targ.bot_attack = true; WaypointSprite_Kill(targ.waypointsprite_attached); diff --git a/qcsrc/server/g_hook.qc b/qcsrc/server/g_hook.qc index 498d60267..04766c155 100644 --- a/qcsrc/server/g_hook.qc +++ b/qcsrc/server/g_hook.qc @@ -91,18 +91,18 @@ void GrapplingHookReset(entity this) } void GrapplingHookThink(entity this); -void GrapplingHook_Stop() -{SELFPARAM(); - Send_Effect(EFFECT_HOOK_IMPACT, self.origin, '0 0 0', 1); - sound (self, CH_SHOTS, SND_HOOK_IMPACT, VOL_BASE, ATTEN_NORM); - - self.state = 1; - setthink(self, GrapplingHookThink); - self.nextthink = time; - settouch(self, func_null); - self.velocity = '0 0 0'; - self.movetype = MOVETYPE_NONE; - self.hook_length = -1; +void GrapplingHook_Stop(entity this) +{ + Send_Effect(EFFECT_HOOK_IMPACT, this.origin, '0 0 0', 1); + sound (this, CH_SHOTS, SND_HOOK_IMPACT, VOL_BASE, ATTEN_NORM); + + this.state = 1; + setthink(this, GrapplingHookThink); + this.nextthink = time; + settouch(this, func_null); + this.velocity = '0 0 0'; + this.movetype = MOVETYPE_NONE; + this.hook_length = -1; } .vector hook_start, hook_end; @@ -110,24 +110,24 @@ bool GrapplingHookSend(entity this, entity to, int sf) { WriteHeader(MSG_ENTITY, ENT_CLIENT_HOOK); sf = sf & 0x7F; - if(sound_allowed(MSG_BROADCAST, self.realowner)) + if(sound_allowed(MSG_BROADCAST, this.realowner)) sf |= 0x80; WriteByte(MSG_ENTITY, sf); if(sf & 1) { - WriteByte(MSG_ENTITY, etof(self.realowner)); + WriteByte(MSG_ENTITY, etof(this.realowner)); } if(sf & 2) { - WriteCoord(MSG_ENTITY, self.hook_start.x); - WriteCoord(MSG_ENTITY, self.hook_start.y); - WriteCoord(MSG_ENTITY, self.hook_start.z); + WriteCoord(MSG_ENTITY, this.hook_start.x); + WriteCoord(MSG_ENTITY, this.hook_start.y); + WriteCoord(MSG_ENTITY, this.hook_start.z); } if(sf & 4) { - WriteCoord(MSG_ENTITY, self.hook_end.x); - WriteCoord(MSG_ENTITY, self.hook_end.y); - WriteCoord(MSG_ENTITY, self.hook_end.z); + WriteCoord(MSG_ENTITY, this.hook_end.x); + WriteCoord(MSG_ENTITY, this.hook_end.y); + WriteCoord(MSG_ENTITY, this.hook_end.z); } return true; } @@ -307,7 +307,7 @@ void GrapplingHookTouch (entity this) return; PROJECTILE_TOUCH(this); - GrapplingHook_Stop(); + GrapplingHook_Stop(this); if(other) if(other.movetype != MOVETYPE_NONE) @@ -341,32 +341,32 @@ void GrapplingHook_Damage(entity this, entity inflictor, entity attacker, float } } -void FireGrapplingHook () -{SELFPARAM(); +void FireGrapplingHook(entity actor) +{ entity missile; vector org; vector vs; - if(forbidWeaponUse(self)) return; - if(self.vehicle) return; + if(forbidWeaponUse(actor)) return; + if(actor.vehicle) return; - makevectors(self.v_angle); + makevectors(actor.v_angle); - int s = W_GetGunAlignment(self); + int s = W_GetGunAlignment(actor); vs = hook_shotorigin[s]; // UGLY WORKAROUND: play this on CH_WEAPON_B so it can't cut off fire sounds - sound (self, CH_WEAPON_B, SND_HOOK_FIRE, VOL_BASE, ATTEN_NORM); - org = self.origin + self.view_ofs + v_forward * vs.x + v_right * -vs.y + v_up * vs.z; + sound (actor, CH_WEAPON_B, SND_HOOK_FIRE, VOL_BASE, ATTEN_NORM); + org = actor.origin + actor.view_ofs + v_forward * vs.x + v_right * -vs.y + v_up * vs.z; - tracebox(self.origin + self.view_ofs, '-3 -3 -3', '3 3 3', org, MOVE_NORMAL, self); + tracebox(actor.origin + actor.view_ofs, '-3 -3 -3', '3 3 3', org, MOVE_NORMAL, actor); org = trace_endpos; Send_Effect(EFFECT_HOOK_MUZZLEFLASH, org, '0 0 0', 1); - missile = WarpZone_RefSys_SpawnSameRefSys(self); - missile.owner = missile.realowner = self; - self.hook = missile; + missile = WarpZone_RefSys_SpawnSameRefSys(actor); + missile.owner = missile.realowner = actor; + actor.hook = missile; missile.reset = GrapplingHookReset; missile.classname = "grapplinghook"; missile.flags = FL_PROJECTILE; diff --git a/qcsrc/server/g_subs.qc b/qcsrc/server/g_subs.qc index 2134278a2..3fb232f02 100644 --- a/qcsrc/server/g_subs.qc +++ b/qcsrc/server/g_subs.qc @@ -326,8 +326,8 @@ void LODmodel_attach(entity this) } void ApplyMinMaxScaleAngles(entity e) -{SELFPARAM(); - if(e.angles.x != 0 || e.angles.z != 0 || self.avelocity.x != 0 || self.avelocity.z != 0) // "weird" rotation +{ + if(e.angles.x != 0 || e.angles.z != 0 || e.avelocity.x != 0 || e.avelocity.z != 0) // "weird" rotation { e.maxs = '1 1 1' * vlen( '1 0 0' * max(-e.mins.x, e.maxs.x) + @@ -336,7 +336,7 @@ void ApplyMinMaxScaleAngles(entity e) ); e.mins = -e.maxs; } - else if(e.angles.y != 0 || self.avelocity.y != 0) // yaw only is a bit better + else if(e.angles.y != 0 || e.avelocity.y != 0) // yaw only is a bit better { e.maxs_x = vlen( '1 0 0' * max(-e.mins.x, e.maxs.x) +