X-Git-Url: http://de.git.xonotic.org/?a=blobdiff_plain;ds=sidebyside;f=qcsrc%2Fcsqcmodellib%2Fcl_model.qc;h=e04b92ecc8d81f1a587a9959e3e135d97303ba67;hb=90efb5467fe733b53d89c0b32da3dca8252e7f19;hp=c4882d8d20c0c4da5a28e87a02adf6e22d7db6c7;hpb=fc0e4c6f26156858a71e0ec62eb974fa11eec2f9;p=xonotic%2Fxonotic-data.pk3dir.git diff --git a/qcsrc/csqcmodellib/cl_model.qc b/qcsrc/csqcmodellib/cl_model.qc index c4882d8d2..e04b92ecc 100644 --- a/qcsrc/csqcmodellib/cl_model.qc +++ b/qcsrc/csqcmodellib/cl_model.qc @@ -192,7 +192,7 @@ void CSQCModel_Draw() root = root.tag_entity; if(self != root) { - self.renderflags &~= RF_EXTERNALMODEL | RF_VIEWMODEL; + self.renderflags &= ~(RF_EXTERNALMODEL | RF_VIEWMODEL); self.renderflags |= (root.renderflags & (RF_EXTERNALMODEL | RF_VIEWMODEL)); } @@ -203,7 +203,7 @@ void CSQCModel_Draw() void CSQCModel_Read(float isnew) { float sf; - sf = ReadShort(); + sf = ReadInt24_t(); // some nice flags for CSQCMODEL_IF and the hooks local noref float isplayer = (self.entnum >= 1 && self.entnum <= maxclients); @@ -236,15 +236,18 @@ void CSQCModel_Read(float isnew) #undef CSQCMODEL_IF if(sf & CSQCMODEL_PROPERTY_MODELINDEX) + { + vector pmin = self.mins, pmax = self.maxs; setmodelindex(self, self.modelindex); // this retrieves the .model key and sets mins/maxs/absmin/absmax - // FIXME do we WANT this to override mins/maxs? + setsize(self, pmin, pmax); + } if(sf & CSQCMODEL_PROPERTY_TELEPORTED) { self.iflags |= IFLAG_TELEPORTED; self.csqcmodel_teleported = 1; } - + CSQCModel_InterpolateAnimation_Note(sf); InterpolateOrigin_Note(); CSQCPlayer_PostUpdate(); @@ -267,7 +270,7 @@ void CSQCModel_Read(float isnew) #endif self.renderflags |= RF_EXTERNALMODEL; else - self.renderflags &~= RF_EXTERNALMODEL; + self.renderflags &= ~RF_EXTERNALMODEL; // draw it self.drawmask = MASK_NORMAL;