Browse Source

CreatePlayer by reference

pull/4815/head
Anders Jenbo 4 years ago
parent
commit
54598e2a8f
  1. 4
      Source/items.cpp
  2. 2
      Source/items.h
  3. 2
      Source/pfile.cpp
  4. 9
      Source/player.cpp
  5. 2
      Source/player.h
  6. 2
      test/player_test.cpp

4
Source/items.cpp

@ -2785,10 +2785,8 @@ void SetPlrHandGoldCurs(Item &gold)
gold._iCurs = GetGoldCursor(gold._ivalue);
}
void CreatePlrItems(int playerId)
void CreatePlrItems(Player &player)
{
Player &player = Players[playerId];
for (auto &item : player.InvBody) {
item.clear();
}

2
Source/items.h

@ -465,7 +465,7 @@ int GetGoldCursor(int value);
* @param h The item to update
*/
void SetPlrHandGoldCurs(Item &gold);
void CreatePlrItems(int playerId);
void CreatePlrItems(Player &player);
bool ItemSpaceOk(Point position);
int AllocateItem();
Point GetSuperItemLoc(Point position);

2
Source/pfile.cpp

@ -426,7 +426,7 @@ bool pfile_ui_save_create(_uiheroinfo *heroinfo)
CopyUtf8(hero_names[saveNum], heroinfo->name, sizeof(hero_names[saveNum]));
Player &player = Players[0];
CreatePlayer(0, heroinfo->heroclass);
CreatePlayer(player, heroinfo->heroclass);
CopyUtf8(player._pName, heroinfo->name, PLR_NAME_LEN);
PackPlayer(&pkplr, player, true, false);
EncodeHero(saveWriter, &pkplr);

9
Source/player.cpp

@ -2442,13 +2442,8 @@ void SetPlrAnims(Player &player)
/**
* @param c The hero class.
*/
void CreatePlayer(int playerId, HeroClass c)
void CreatePlayer(Player &player, HeroClass c)
{
if ((DWORD)playerId >= MAX_PLRS) {
app_fatal("CreatePlayer: illegal player %i", playerId);
}
Player &player = Players[playerId];
player.Reset();
SetRndSeed(SDL_GetTicks());
@ -2585,7 +2580,7 @@ void CreatePlayer(int playerId, HeroClass c)
player.wReflections = 0;
InitDungMsgs(player);
CreatePlrItems(playerId);
CreatePlrItems(player);
SetRndSeed(0);
}

2
Source/player.h

@ -760,7 +760,7 @@ void ResetPlayerGFX(Player &player);
*/
void NewPlrAnim(Player &player, player_graphic graphic, Direction dir, int numberOfFrames, int delayLen, AnimationDistributionFlags flags = AnimationDistributionFlags::None, int numSkippedFrames = 0, int distributeFramesBeforeFrame = 0);
void SetPlrAnims(Player &player);
void CreatePlayer(int playerId, HeroClass c);
void CreatePlayer(Player &player, HeroClass c);
int CalcStatDiff(Player &player);
#ifdef _DEBUG
void NextPlrLevel(Player &player);

2
test/player_test.cpp

@ -181,6 +181,6 @@ static void AssertPlayer(Player &player)
TEST(Player, CreatePlayer)
{
CreatePlayer(0, HeroClass::Rogue);
CreatePlayer(Players[0], HeroClass::Rogue);
AssertPlayer(Players[0]);
}

Loading…
Cancel
Save