X-Git-Url: https://de.git.xonotic.org/?a=blobdiff_plain;f=qcsrc%2Fclient%2Fwall.qc;h=807b260ab2131eb57627aa564505898fdf9a50da;hb=f9c08b5c298e2604040f6af91f23a85e0e781fa4;hp=0a0bfa9ec143208ed3f2f286f6cf776f181fbb12;hpb=2a9df1dc726597e8943be9ef956620c36693d219;p=xonotic%2Fxonotic-data.pk3dir.git diff --git a/qcsrc/client/wall.qc b/qcsrc/client/wall.qc index 0a0bfa9ec..807b260ab 100644 --- a/qcsrc/client/wall.qc +++ b/qcsrc/client/wall.qc @@ -7,7 +7,6 @@ void Ent_Wall_Draw() { float f; - float d; var .vector fld; if(self.bgmscriptangular) @@ -17,25 +16,26 @@ void Ent_Wall_Draw() if(self.lodmodelindex1) { - d = autocvar_loddebug; - if(d > 0) + if(autocvar_cl_modeldetailreduction <= 0) { - if(d == 1) - self.modelindex = self.lodmodelindex0; - else if(d == 2 || !self.lodmodelindex2) - self.modelindex = self.lodmodelindex1; - else // if(d == 3) + if(self.lodmodelindex2 && autocvar_cl_modeldetailreduction <= -2) self.modelindex = self.lodmodelindex2; + else if(autocvar_cl_modeldetailreduction <= -1) + self.modelindex = self.lodmodelindex1; + else + self.modelindex = self.lodmodelindex0; } else { - d = vlen(NearestPointOnBox(self, view_origin) - view_origin); - if(d < self.loddistance1) - self.modelindex = self.lodmodelindex0; - else if(!self.lodmodelindex2 || d < self.loddistance2) + float distance = vlen(NearestPointOnBox(self, view_origin) - view_origin); + f = (distance * current_viewzoom + 100.0) * autocvar_cl_modeldetailreduction; + f *= 1.0 / bound(0.01, view_quality, 1); + if(self.lodmodelindex2 && f > self.loddistance2) + self.modelindex = self.lodmodelindex2; + else if(f > self.loddistance1) self.modelindex = self.lodmodelindex1; else - self.modelindex = self.lodmodelindex2; + self.modelindex = self.lodmodelindex0; } }