X-Git-Url: http://de.git.xonotic.org/?p=xonotic%2Fxonotic-data.pk3dir.git;a=blobdiff_plain;f=qcsrc%2Fclient%2Fwall.qc;fp=qcsrc%2Fclient%2Fwall.qc;h=0000000000000000000000000000000000000000;hp=600bf5fa8fc9f13330d260895ca00d3066a0e026;hb=92c1f12e66b7a42d575e8cb58466582a5af9641c;hpb=94f293de630d6173c5303adf65e45d4f4a83863a diff --git a/qcsrc/client/wall.qc b/qcsrc/client/wall.qc deleted file mode 100644 index 600bf5fa8f..0000000000 --- a/qcsrc/client/wall.qc +++ /dev/null @@ -1,226 +0,0 @@ -#include "wall.qh" - -#include "autocvars.qh" -#include "main.qh" -#include "bgmscript.qh" - - -#include "../lib/csqcmodel/interpolate.qh" - -.float alpha; -.float scale; -.vector movedir; - -void Ent_Wall_PreDraw(entity this) -{ - if (this.inactive) - { - this.alpha = 0; - } - else - { - vector org = getpropertyvec(VF_ORIGIN); - if(!checkpvs(org, this)) - this.alpha = 0; - else if(this.fade_start || this.fade_end) { - vector offset = '0 0 0'; - offset_z = this.fade_vertical_offset; - float player_dist = vlen(org - this.origin - 0.5 * (this.mins + this.maxs) + offset); - if (this.fade_end == this.fade_start) - { - if (player_dist >= this.fade_start) - this.alpha = 0; - else - this.alpha = 1; - } - else - { - this.alpha = (this.alpha_min + this.alpha_max * bound(0, - (this.fade_end - player_dist) - / (this.fade_end - this.fade_start), 1)) / 100.0; - } - } - else - { - this.alpha = 1; - } - } - if(this.alpha <= 0) - this.drawmask = 0; - else - this.drawmask = MASK_NORMAL; -} - -void Ent_Wall_Draw(entity this) -{ - float f; - var .vector fld; - - if(this.bgmscriptangular) - fld = angles; - else - fld = origin; - this.(fld) = this.saved; - - if(this.lodmodelindex1) - { - if(autocvar_cl_modeldetailreduction <= 0) - { - if(this.lodmodelindex2 && autocvar_cl_modeldetailreduction <= -2) - this.modelindex = this.lodmodelindex2; - else if(autocvar_cl_modeldetailreduction <= -1) - this.modelindex = this.lodmodelindex1; - else - this.modelindex = this.lodmodelindex0; - } - else - { - float distance = vlen(NearestPointOnBox(this, view_origin) - view_origin); - f = (distance * current_viewzoom + 100.0) * autocvar_cl_modeldetailreduction; - f *= 1.0 / bound(0.01, view_quality, 1); - if(this.lodmodelindex2 && f > this.loddistance2) - this.modelindex = this.lodmodelindex2; - else if(f > this.loddistance1) - this.modelindex = this.lodmodelindex1; - else - this.modelindex = this.lodmodelindex0; - } - } - - InterpolateOrigin_Do(this); - - this.saved = this.(fld); - - f = doBGMScript(this); - if(f >= 0) - { - if(this.lip < 0) // < 0: alpha goes from 1 to 1-|lip| when toggled (toggling subtracts lip) - this.alpha = 1 + this.lip * f; - else // > 0: alpha goes from 1-|lip| to 1 when toggled (toggling adds lip) - this.alpha = 1 - this.lip * (1 - f); - this.(fld) = this.(fld) + this.movedir * f; - } - else - this.alpha = 1; - - if(this.alpha >= ALPHA_MIN_VISIBLE) - this.drawmask = MASK_NORMAL; - else - this.drawmask = 0; -} - -void Ent_Wall_Remove(entity this) -{ - strfree(this.bgmscript); -} - -NET_HANDLE(ENT_CLIENT_WALL, bool isnew) -{ - int f; - var .vector fld; - - InterpolateOrigin_Undo(this); - this.iflags = IFLAG_ANGLES | IFLAG_ORIGIN; - - if(this.bgmscriptangular) - fld = angles; - else - fld = origin; - this.(fld) = this.saved; - - f = ReadByte(); - - if(f & 1) - { - if(f & 0x40) - this.colormap = ReadShort(); - else - this.colormap = 0; - this.skin = ReadByte(); - } - - if(f & 2) - { - this.origin = ReadVector(); - setorigin(this, this.origin); - } - - if(f & 4) - { - if(f & 0x10) - { - this.angles_x = ReadAngle(); - this.angles_y = ReadAngle(); - this.angles_z = ReadAngle(); - } - else - this.angles = '0 0 0'; - } - - if(f & 8) - { - if(f & 0x80) - { - this.lodmodelindex0 = ReadShort(); - this.loddistance1 = ReadShort(); - this.lodmodelindex1 = ReadShort(); - this.loddistance2 = ReadShort(); - this.lodmodelindex2 = ReadShort(); - } - else - { - this.modelindex = ReadShort(); - this.loddistance1 = 0; - this.loddistance2 = 0; - } - this.solid = ReadByte(); - this.scale = ReadShort() / 256.0; - if(f & 0x20) - { - this.mins = ReadVector(); - this.maxs = ReadVector(); - } - else - this.mins = this.maxs = '0 0 0'; - setsize(this, this.mins, this.maxs); - - string s = ReadString(); - if(substring(s, 0, 1) == "<") - { - strcpy(this.bgmscript, substring(s, 1, -1)); - this.bgmscriptangular = 1; - } - else - { - strcpy(this.bgmscript, s); - this.bgmscriptangular = 0; - } - if(this.bgmscript != "") - { - this.bgmscriptattack = ReadByte() / 64.0; - this.bgmscriptdecay = ReadByte() / 64.0; - this.bgmscriptsustain = ReadByte() / 255.0; - this.bgmscriptrelease = ReadByte() / 64.0; - this.movedir = ReadVector(); - this.lip = ReadByte() / 255.0; - } - this.fade_start = ReadByte(); - this.fade_end = ReadByte(); - this.alpha_max = ReadByte(); - this.alpha_min = ReadByte(); - this.inactive = ReadByte(); - this.fade_vertical_offset = ReadShort(); - BGMScript_InitEntity(this); - } - - return = true; - - InterpolateOrigin_Note(this); - - this.saved = this.(fld); - - this.entremove = Ent_Wall_Remove; - this.draw = Ent_Wall_Draw; - if (isnew) IL_PUSH(g_drawables, this); - setpredraw(this, Ent_Wall_PreDraw); -}