Browse Source

Reset player object before unpacking hero data

pull/3105/head
Anders Jenbo 4 years ago
parent
commit
eb3012cc0d
  1. 4
      Source/pfile.cpp
  2. 1
      test/writehero_test.cpp

4
Source/pfile.cpp

@ -301,6 +301,8 @@ bool pfile_ui_set_hero_infos(bool (*uiAddHeroInfo)(_uiheroinfo *))
auto &player = Players[0]; auto &player = Players[0];
player = {};
if (UnPackPlayer(&pkplr, player, false)) { if (UnPackPlayer(&pkplr, player, false)) {
LoadHeroItems(player); LoadHeroItems(player);
RemoveEmptyInventory(player); RemoveEmptyInventory(player);
@ -380,6 +382,8 @@ void pfile_read_player_from_save(uint32_t saveNum, Player &player)
HANDLE archive; HANDLE archive;
PlayerPack pkplr; PlayerPack pkplr;
player = {};
archive = OpenSaveArchive(saveNum); archive = OpenSaveArchive(saveNum);
if (archive == nullptr) if (archive == nullptr)
app_fatal("%s", _("Unable to open archive")); app_fatal("%s", _("Unable to open archive"));

1
test/writehero_test.cpp

@ -334,6 +334,7 @@ TEST(Writehero, pfile_write_hero)
MyPlayerId = 0; MyPlayerId = 0;
MyPlayer = &Players[MyPlayerId]; MyPlayer = &Players[MyPlayerId];
*MyPlayer = {};
_uiheroinfo info {}; _uiheroinfo info {};
strcpy(info.name, "TestPlayer"); strcpy(info.name, "TestPlayer");

Loading…
Cancel
Save