diff --git a/libs/models/gl_skin.c b/libs/models/gl_skin.c index 4cd77bb10..9789a54f4 100644 --- a/libs/models/gl_skin.c +++ b/libs/models/gl_skin.c @@ -234,8 +234,16 @@ Skin_SetupSkin (skin_t *skin, int cmap) s = skins + cmap; changed = (s->tex != skin->texels); s->tex = skin->texels; - if (!changed) + if (!changed) { + skin->texnum = 0; + skin->auxtex = 0; + if (cmap >= 0) { + skin->texnum = skin_textures + cmap; + if (s->fb) + skin->auxtex = skin_fb_textures + cmap; + } return; + } do_fb_skin (s); build_skin (skin, cmap); } diff --git a/nq/source/cl_parse.c b/nq/source/cl_parse.c index a029fe21f..d1b7b9eca 100644 --- a/nq/source/cl_parse.c +++ b/nq/source/cl_parse.c @@ -1019,9 +1019,9 @@ CL_ParseServerMessage (void) entity_t *ent = &cl_entities[i+1]; byte col = MSG_ReadByte (net_message); if (col != cl.scores[i].colors) - Skin_SetTranslation (i, col >> 4, col & 0xf); + Skin_SetTranslation (i + 1, col >> 4, col & 0xf); cl.scores[i].colors = col; - ent->skin = Skin_SetColormap (ent->skin, i); + ent->skin = Skin_SetColormap (ent->skin, i + 1); } break;