X-Git-Url: https://de.git.xonotic.org/?a=blobdiff_plain;f=qcsrc%2Fclient%2Fwall.qc;h=f53c60f0c3e1a89fdd1b000956f4e53eaa2ef8ee;hb=d3d9a5dd70c404fae3eabea14d5d271c04403ea5;hp=d04ab8eb3649a095f7ea90b172430dcbd48f277e;hpb=30c960525a1147f2af4e50c5c397dd4b72af0d95;p=xonotic%2Fxonotic-data.pk3dir.git diff --git a/qcsrc/client/wall.qc b/qcsrc/client/wall.qc index d04ab8eb3..f53c60f0c 100644 --- a/qcsrc/client/wall.qc +++ b/qcsrc/client/wall.qc @@ -2,14 +2,19 @@ .float bgmscriptangular; .float lodmodelindex0, lodmodelindex1, lodmodelindex2; .float loddistance1, loddistance2; +.vector saved; void Ent_Wall_Draw() { float f; float d; - vector save; var .vector fld; + if(self.bgmscriptangular) + self.angles = self.saved; + else + self.origin = self.saved; + if(self.lodmodelindex1) { d = cvar("loddebug"); @@ -37,11 +42,10 @@ void Ent_Wall_Draw() InterpolateOrigin_Do(); if(self.bgmscriptangular) - fld = angles; + self.saved = self.angles; else - fld = origin; - - save = self.fld; + self.saved = self.origin; + f = BGMScript(self); if(f >= 0) { @@ -55,9 +59,9 @@ void Ent_Wall_Draw() self.alpha = 1; if(self.alpha >= ALPHA_MIN_VISIBLE) - R_AddEntity(self); - - self.fld = save; + self.drawmask = MASK_NORMAL; + else + self.drawmask = 0; } void Ent_Wall_Remove() @@ -73,6 +77,11 @@ void Ent_Wall() InterpolateOrigin_Undo(); self.iflags = IFLAG_ANGLES; + if(self.bgmscriptangular) + self.angles = self.saved; + else + self.origin = self.saved; + f = ReadByte(); if(f & 1) @@ -161,6 +170,11 @@ void Ent_Wall() InterpolateOrigin_Note(); + if(self.bgmscriptangular) + self.saved = self.angles; + else + self.saved = self.origin; + self.entremove = Ent_Wall_Remove; self.draw = Ent_Wall_Draw; }