X-Git-Url: http://de.git.xonotic.org/?a=blobdiff_plain;f=qcsrc%2Fserver%2Fg_models.qc;h=befdb9bcc437e552e423d8489ac81f14cfec7d26;hb=b9892287df60503128fd17f1be8289b44243e179;hp=8a380484a2f9791af0f2d6a3ef7dd27bc541c9e9;hpb=9301604b1b5894e57227d32785b9a9460e9a3f51;p=xonotic%2Fxonotic-data.pk3dir.git diff --git a/qcsrc/server/g_models.qc b/qcsrc/server/g_models.qc index 8a380484a..befdb9bcc 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); @@ -117,15 +128,15 @@ float g_clientmodel_genericsendentity (entity to, float sf) #define G_MODEL_INIT(sol) \ - SetBrushEntityModel(); \ if(!self.scale) self.scale = self.modelscale; \ + SetBrushEntityModel(); \ self.use = g_model_setcolormaptoactivator; \ InitializeEntity(self, g_model_dropbyspawnflags, INITPRIO_DROPTOFLOOR); \ if(!self.solid) self.solid = (sol); else if(self.solid < 0) self.solid = SOLID_NOT; #define G_CLIENTMODEL_INIT(sol) \ - SetBrushEntityModelNoLOD(); \ if(!self.scale) self.scale = self.modelscale; \ + SetBrushEntityModel(); \ self.use = g_clientmodel_setcolormaptoactivator; \ InitializeEntity(self, g_clientmodel_dropbyspawnflags, INITPRIO_DROPTOFLOOR); \ if(!self.solid) self.solid = (sol); else if(self.solid < 0) self.solid = SOLID_NOT; \