diff --git a/src/game/client/components/skins.cpp b/src/game/client/components/skins.cpp index 44f761e8f..03ce42626 100644 --- a/src/game/client/components/skins.cpp +++ b/src/game/client/components/skins.cpp @@ -138,8 +138,12 @@ int CSkins::LoadSkin(const char *pName, const char *pPath, int DirType, int *pGe for(int x = 0; x < BodySize; x++) { int v = d[y * Pitch + x * 4]; - if(v <= OrgWeight) + if(OrgWeight == 0) + v = 0; + else if(v <= OrgWeight) v = (int)(((v / (float)OrgWeight) * NewWeight)); + else if(InvOrgWeight == 0) + v = NewWeight; else v = (int)(((v - OrgWeight) / (float)InvOrgWeight) * InvNewWeight + NewWeight); d[y * Pitch + x * 4] = v;