Merge branch 'master' into gonesolong
Conflicts: src/CMakeLists.txt src/actor.h src/g_heretic/a_hereticmisc.cpp src/g_heretic/a_hereticweaps.cpp src/g_heretic/a_ironlich.cpp src/info.h src/namedef.h src/p_buildmap.cpp src/p_enemy.cpp src/p_map.cpp src/p_mobj.cpp src/thingdef/thingdef_codeptr.cpp zdoom.vcproj
This commit is contained in:
commit
2d87eb0ba2
457 changed files with 13703 additions and 9290 deletions
|
|
@ -387,7 +387,7 @@ void D_SetupUserInfo ()
|
|||
{
|
||||
// Some cvars don't copy their original value directly.
|
||||
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_PlayerClass: coninfo->PlayerClassChanged(playerclass); break;
|
||||
// The rest do.
|
||||
|
|
@ -447,9 +447,9 @@ int userinfo_t::TeamChanged(int 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;
|
||||
return skinnum;
|
||||
}
|
||||
|
|
@ -821,7 +821,7 @@ void D_ReadUserInfoStrings (int pnum, BYTE **stream, bool update)
|
|||
break;
|
||||
|
||||
case NAME_Skin:
|
||||
info->SkinChanged(value);
|
||||
info->SkinChanged(value, players[pnum].CurrentPlayerClass);
|
||||
if (players[pnum].mo != NULL)
|
||||
{
|
||||
if (players[pnum].cls != NULL &&
|
||||
|
|
@ -861,7 +861,7 @@ void D_ReadUserInfoStrings (int pnum, BYTE **stream, bool update)
|
|||
val.String = CleanseString(value.LockBuffer());
|
||||
(*cvar_ptr)->SetGenericRep(val, CVAR_String);
|
||||
value.UnlockBuffer();
|
||||
if (keyname == NAME_Name && update && oldname != value)
|
||||
if (keyname == NAME_Name && update && oldname.Compare (value))
|
||||
{
|
||||
Printf("%s is now known as %s\n", oldname.GetChars(), value.GetChars());
|
||||
}
|
||||
|
|
@ -941,14 +941,21 @@ void WriteUserInfo(FArchive &arc, userinfo_t &info)
|
|||
arc << name;
|
||||
}
|
||||
|
||||
void ReadUserInfo(FArchive &arc, userinfo_t &info)
|
||||
void ReadUserInfo(FArchive &arc, userinfo_t &info, FString &skin)
|
||||
{
|
||||
FName name;
|
||||
FBaseCVar **cvar;
|
||||
char *str = NULL;
|
||||
UCVarValue val;
|
||||
|
||||
if (SaveVersion < 4253)
|
||||
{
|
||||
ReadCompatibleUserInfo(arc, info);
|
||||
return;
|
||||
}
|
||||
|
||||
info.Reset();
|
||||
skin = NULL;
|
||||
for (arc << name; name != NAME_None; arc << name)
|
||||
{
|
||||
cvar = info.CheckKey(name);
|
||||
|
|
@ -958,7 +965,7 @@ void ReadUserInfo(FArchive &arc, userinfo_t &info)
|
|||
switch (name)
|
||||
{
|
||||
case NAME_Team: info.TeamChanged(atoi(str)); break;
|
||||
case NAME_Skin: info.SkinChanged(str); break;
|
||||
case NAME_Skin: skin = str; break; // Caller must call SkinChanged() once current calss is known
|
||||
case NAME_PlayerClass: info.PlayerClassChanged(str); break;
|
||||
default:
|
||||
val.String = str;
|
||||
|
|
@ -973,23 +980,6 @@ void ReadUserInfo(FArchive &arc, userinfo_t &info)
|
|||
}
|
||||
}
|
||||
|
||||
FArchive &operator<< (FArchive &arc, userinfo_t &info)
|
||||
{
|
||||
if (SaveVersion < 4253)
|
||||
{
|
||||
ReadCompatibleUserInfo(arc, info);
|
||||
}
|
||||
else if (arc.IsStoring())
|
||||
{
|
||||
WriteUserInfo(arc, info);
|
||||
}
|
||||
else
|
||||
{
|
||||
ReadUserInfo(arc, info);
|
||||
}
|
||||
return arc;
|
||||
}
|
||||
|
||||
CCMD (playerinfo)
|
||||
{
|
||||
if (argv.argc() < 2)
|
||||
|
|
@ -1018,6 +1008,7 @@ CCMD (playerinfo)
|
|||
if (!playeringame[i])
|
||||
{
|
||||
Printf(TEXTCOLOR_ORANGE "Player %d is not in the game\n", i);
|
||||
return;
|
||||
}
|
||||
|
||||
// Print special info
|
||||
|
|
@ -1058,4 +1049,5 @@ userinfo_t::~userinfo_t()
|
|||
{
|
||||
delete pair->Value;
|
||||
}
|
||||
this->Clear();
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue