Browse Source

fix displayed save number

pull/2630/head
qndel 5 years ago committed by Anders Jenbo
parent
commit
30de22f026
  1. 3
      Source/DiabloUI/selhero.cpp
  2. 20
      Source/pfile.cpp
  3. 1
      Source/pfile.h

3
Source/DiabloUI/selhero.cpp

@ -189,7 +189,8 @@ void SelheroListSelect(int value)
UiInitList(vecSelHeroDlgItems.size(), SelheroClassSelectorFocus, SelheroClassSelectorSelect, SelheroClassSelectorEsc, vecSelDlgItems, true);
memset(&selhero_heroInfo.name, 0, sizeof(selhero_heroInfo.name));
selhero_heroInfo.saveNumber = MAX_CHARACTERS;
selhero_heroInfo.saveNumber = pfile_ui_get_first_unused_save_num();
SelheroSetStats();
title = selhero_isMultiPlayer ? _("New Multi Player Hero") : _("New Single Player Hero");
return;
}

20
Source/pfile.cpp

@ -325,19 +325,23 @@ void pfile_ui_set_class_stats(unsigned int playerClass, _uidefaultstats *classSt
classStats->vitality = VitalityTbl[playerClass];
}
uint32_t pfile_ui_get_first_unused_save_num()
{
uint32_t saveNum;
for (saveNum = 0; saveNum < MAX_CHARACTERS; saveNum++) {
if (hero_names[saveNum][0] == '\0')
break;
}
return saveNum;
}
bool pfile_ui_save_create(_uiheroinfo *heroinfo)
{
PkPlayerStruct pkplr;
uint32_t saveNum = heroinfo->saveNumber;
if (saveNum >= MAX_CHARACTERS) {
for (saveNum = 0; saveNum < MAX_CHARACTERS; saveNum++) {
if (hero_names[saveNum][0] == '\0')
break;
}
if (saveNum >= MAX_CHARACTERS)
return false;
}
if (saveNum >= MAX_CHARACTERS)
return false;
if (!OpenArchive(saveNum))
return false;
heroinfo->saveNumber = saveNum;

1
Source/pfile.h

@ -31,6 +31,7 @@ const char *pfile_get_password();
void pfile_write_hero(bool writeGameData = false, bool clearTables = !gbIsMultiplayer);
bool pfile_ui_set_hero_infos(bool (*uiAddHeroInfo)(_uiheroinfo *));
void pfile_ui_set_class_stats(unsigned int playerClass, _uidefaultstats *classStats);
uint32_t pfile_ui_get_first_unused_save_num();
bool pfile_ui_save_create(_uiheroinfo *heroinfo);
bool pfile_delete_save(_uiheroinfo *heroInfo);
void pfile_read_player_from_save(uint32_t saveNum, int playerId);

Loading…
Cancel
Save