diff options
author | Andrey Nazarov <skuller@skuller.net> | 2007-12-11 11:24:09 +0000 |
---|---|---|
committer | Andrey Nazarov <skuller@skuller.net> | 2007-12-11 11:24:09 +0000 |
commit | e6358d790aa66b2c93584185158e7466f3ec166f (patch) | |
tree | 89e9715f0a9435f9b917fb6b5677ded4f9fbaebc /source/cl_ents.c | |
parent | 8ef839c6d9b8204322aa04f4229fdf98a5323a46 (diff) |
Fixed crash inside CL_PacketEntities on player ents with negative skinnum.
Register all vwep models even with `cl_noskins 1'.
Fixed S_RegisterSexedSound to always use sounds corresponding to
visible player model.
Diffstat (limited to 'source/cl_ents.c')
-rw-r--r-- | source/cl_ents.c | 24 |
1 files changed, 6 insertions, 18 deletions
diff --git a/source/cl_ents.c b/source/cl_ents.c index 07b1fd6..f0cfcf5 100644 --- a/source/cl_ents.c +++ b/source/cl_ents.c @@ -263,30 +263,18 @@ static void CL_AddPacketEntities( void ) { { ent.skin = cl.baseclientinfo.skin; ent.model = cl.baseclientinfo.model; + ci = &cl.baseclientinfo; } //============ //PGM -#if 0 if (renderfx & RF_USE_DISGUISE) { - if(!strncmp((char *)ent.skin, "players/male", 12)) - { - ent.skin = ref.RegisterSkin ("players/male/disguise.pcx"); - ent.model = ref.RegisterModel ("players/male/tris.md2"); - } - else if(!strncmp((char *)ent.skin, "players/female", 14)) - { - ent.skin = ref.RegisterSkin ("players/female/disguise.pcx"); - ent.model = ref.RegisterModel ("players/female/tris.md2"); - } - else if(!strncmp((char *)ent.skin, "players/cyborg", 14)) - { - ent.skin = ref.RegisterSkin ("players/cyborg/disguise.pcx"); - ent.model = ref.RegisterModel ("players/cyborg/tris.md2"); - } + char buffer[MAX_QPATH]; + + Q_concat( buffer, sizeof( buffer ), "players/", ci->model_name, "/disguise.pcx", NULL ); + ent.skin = ref.RegisterSkin( buffer ); } -#endif //PGM //============ } @@ -444,7 +432,7 @@ static void CL_AddPacketEntities( void ) { { // custom weapon ci = &cl.clientinfo[s1->skinnum & 0xff]; i = (s1->skinnum >> 8); // 0 is default weapon model - if (!cl_vwep->integer || i > MAX_CLIENTWEAPONMODELS - 1) + if (i < 0 || i > cl.numWeaponModels - 1) i = 0; ent.model = ci->weaponmodel[i]; if (!ent.model) { |