X-Git-Url: https://git.xonotic.org/?a=blobdiff_plain;f=qcsrc%2Fserver%2Fg_models.qc;h=690fd752d7fe237241099f571b6db4602727cb05;hb=75adb82c845a486aafb6b65a23ff31ff8fde39cc;hp=8a380484a2f9791af0f2d6a3ef7dd27bc541c9e9;hpb=715202f719f244160bfc0b004013fa6e1bcc5668;p=xonotic%2Fxonotic-data.pk3dir.git diff --git a/qcsrc/server/g_models.qc b/qcsrc/server/g_models.qc index 8a380484a..690fd752d 100644 --- a/qcsrc/server/g_models.qc +++ b/qcsrc/server/g_models.qc @@ -2,7 +2,7 @@ void g_model_setcolormaptoactivator (void) { - if(teams_matter) + if(teamplay) { if(activator.team) self.colormap = (activator.team - 1) * 0x11; @@ -57,6 +57,8 @@ float g_clientmodel_genericsendentity (entity to, float sf) sf |= 0x20; if(self.colormap != 0) sf |= 0x40; + if(self.lodmodelindex1) + sf |= 0x80; WriteByte(MSG_ENTITY, ENT_CLIENT_WALL); WriteByte(MSG_ENTITY, sf); @@ -86,9 +88,18 @@ float g_clientmodel_genericsendentity (entity to, float sf) if(sf & 8) { - WriteShort(MSG_ENTITY, self.modelindex); + if(sf & 0x80) + { + WriteShort(MSG_ENTITY, self.lodmodelindex0); + WriteShort(MSG_ENTITY, bound(0, self.loddistance1, 65535)); + WriteShort(MSG_ENTITY, self.lodmodelindex1); + WriteShort(MSG_ENTITY, bound(0, self.loddistance2, 65535)); + WriteShort(MSG_ENTITY, self.lodmodelindex2); + } + else + WriteShort(MSG_ENTITY, self.modelindex); WriteByte(MSG_ENTITY, self.solid); - WriteByte(MSG_ENTITY, floor(self.scale * 16)); + WriteShort(MSG_ENTITY, floor(self.scale * 256)); if(sf & 0x20) { WriteCoord(MSG_ENTITY, self.mins_x); @@ -124,7 +135,7 @@ float g_clientmodel_genericsendentity (entity to, float sf) if(!self.solid) self.solid = (sol); else if(self.solid < 0) self.solid = SOLID_NOT; #define G_CLIENTMODEL_INIT(sol) \ - SetBrushEntityModelNoLOD(); \ + SetBrushEntityModel(); \ if(!self.scale) self.scale = self.modelscale; \ self.use = g_clientmodel_setcolormaptoactivator; \ InitializeEntity(self, g_clientmodel_dropbyspawnflags, INITPRIO_DROPTOFLOOR); \