+#if defined(CSQC)
+ #include "../dpdefs/csprogsdefs.qh"
+ #include "../common/util.qh"
+ #include "autocvars.qh"
+ #include "../csqcmodellib/interpolate.qh"
+ #include "bgmscript.qh"
+ #include "main.qh"
+ #include "../csqcmodellib/cl_model.qh"
+#elif defined(MENUQC)
+#elif defined(SVQC)
+#endif
+
.float lip;
.float bgmscriptangular;
-.float lodmodelindex0, lodmodelindex1, lodmodelindex2;
+.int lodmodelindex0, lodmodelindex1, lodmodelindex2;
.float loddistance1, loddistance2;
.vector saved;
var .vector fld;
if(self.bgmscriptangular)
- self.angles = self.saved;
+ fld = angles;
else
- self.origin = self.saved;
+ fld = origin;
+ self.fld = self.saved;
if(self.lodmodelindex1)
{
InterpolateOrigin_Do();
- if(self.bgmscriptangular)
- self.saved = self.angles;
- else
- self.saved = self.origin;
+ self.saved = self.fld;
f = BGMScript(self);
if(f >= 0)
void Ent_Wall()
{
- float f;
+ int f;
+ var .vector fld;
+
InterpolateOrigin_Undo();
- self.iflags = IFLAG_ANGLES;
+ self.iflags = IFLAG_ANGLES | IFLAG_ORIGIN;
if(self.bgmscriptangular)
- self.angles = self.saved;
+ fld = angles;
else
- self.origin = self.saved;
+ fld = origin;
+ self.fld = self.saved;
f = ReadByte();
self.origin_x = ReadCoord();
self.origin_y = ReadCoord();
self.origin_z = ReadCoord();
+ setorigin(self, self.origin);
}
if(f & 4)
}
else
self.mins = self.maxs = '0 0 0';
+ setsize(self, self.mins, self.maxs);
if(self.bgmscript)
strunzone(self.bgmscript);
InterpolateOrigin_Note();
- if(self.bgmscriptangular)
- self.saved = self.angles;
- else
- self.saved = self.origin;
+ self.saved = self.fld;
self.entremove = Ent_Wall_Remove;
self.draw = Ent_Wall_Draw;