Fixed: userinfo_t::SkinChanged() was unaware of player classes

This commit is contained in:
Randy Heit 2014-02-24 16:18:10 -06:00
parent 0f7ad00d9a
commit 7052d4e14e
2 changed files with 6 additions and 6 deletions

View File

@ -387,7 +387,7 @@ void D_SetupUserInfo ()
{ {
// Some cvars don't copy their original value directly. // Some cvars don't copy their original value directly.
case NAME_Team: coninfo->TeamChanged(team); break; case NAME_Team: coninfo->TeamChanged(team); break;
case NAME_Skin: coninfo->SkinChanged(skin); break; case NAME_Skin: coninfo->SkinChanged(skin, players[consoleplayer].CurrentPlayerClass); break;
case NAME_Gender: coninfo->GenderChanged(gender); break; case NAME_Gender: coninfo->GenderChanged(gender); break;
case NAME_PlayerClass: coninfo->PlayerClassChanged(playerclass); break; case NAME_PlayerClass: coninfo->PlayerClassChanged(playerclass); break;
// The rest do. // The rest do.
@ -447,9 +447,9 @@ int userinfo_t::TeamChanged(int team)
return team; return team;
} }
int userinfo_t::SkinChanged(const char *skinname) int userinfo_t::SkinChanged(const char *skinname, int playerclass)
{ {
int skinnum = R_FindSkin(skinname, 0); int skinnum = R_FindSkin(skinname, playerclass);
*static_cast<FIntCVar *>((*this)[NAME_Skin]) = skinnum; *static_cast<FIntCVar *>((*this)[NAME_Skin]) = skinnum;
return skinnum; return skinnum;
} }
@ -821,7 +821,7 @@ void D_ReadUserInfoStrings (int pnum, BYTE **stream, bool update)
break; break;
case NAME_Skin: case NAME_Skin:
info->SkinChanged(value); info->SkinChanged(value, players[pnum].CurrentPlayerClass);
if (players[pnum].mo != NULL) if (players[pnum].mo != NULL)
{ {
if (players[pnum].cls != NULL && if (players[pnum].cls != NULL &&
@ -958,7 +958,7 @@ void ReadUserInfo(FArchive &arc, userinfo_t &info)
switch (name) switch (name)
{ {
case NAME_Team: info.TeamChanged(atoi(str)); break; case NAME_Team: info.TeamChanged(atoi(str)); break;
case NAME_Skin: info.SkinChanged(str); break; case NAME_Skin: info.SkinChanged(str, 0); break;
case NAME_PlayerClass: info.PlayerClassChanged(str); break; case NAME_PlayerClass: info.PlayerClassChanged(str); break;
default: default:
val.String = str; val.String = str;

View File

@ -332,7 +332,7 @@ struct userinfo_t : TMap<FName,FBaseCVar *>
void Reset(); void Reset();
int TeamChanged(int team); int TeamChanged(int team);
int SkinChanged(const char *skinname); int SkinChanged(const char *skinname, int playerclass);
int SkinNumChanged(int skinnum); int SkinNumChanged(int skinnum);
int GenderChanged(const char *gendername); int GenderChanged(const char *gendername);
int PlayerClassChanged(const char *classname); int PlayerClassChanged(const char *classname);