diff options
author | jiangzhengwenjz <jiangzhengwenjzw@qq.com> | 2019-11-14 12:57:49 +0800 |
---|---|---|
committer | jiangzhengwenjz <jiangzhengwenjzw@qq.com> | 2019-11-19 10:26:40 +0800 |
commit | 1d3ae2fe78823a6a0d4d9d93a988aa5ca1092801 (patch) | |
tree | acb385b82e1b361e36e6075b13329563fe93f415 /src/save_menu_util.c | |
parent | 17b55f50dbcdf9797d0aecfba356bc8681dea8f5 (diff) | |
parent | f6dfeba742c415d964b415bfefb859c3a3764930 (diff) |
Merge branch 'master' into battle
Diffstat (limited to 'src/save_menu_util.c')
-rw-r--r-- | src/save_menu_util.c | 58 |
1 files changed, 58 insertions, 0 deletions
diff --git a/src/save_menu_util.c b/src/save_menu_util.c new file mode 100644 index 000000000..195b29b0c --- /dev/null +++ b/src/save_menu_util.c @@ -0,0 +1,58 @@ +#include "global.h" +#include "string_util.h" +#include "text.h" +#include "event_data.h" +#include "pokedex.h" +#include "region_map.h" +#include "save_menu_util.h" +#include "constants/flags.h" + +void SaveStatToString(u8 gameStatId, u8 *dest0, u8 color) +{ + int nBadges; + int flagId; + + u8 *dest = dest0; + *dest++ = EXT_CTRL_CODE_BEGIN; + *dest++ = EXT_CTRL_CODE_COLOR; + *dest++ = color; + *dest++ = EXT_CTRL_CODE_BEGIN; + *dest++ = EXT_CTRL_CODE_SHADOW; + *dest++ = color + 1; + switch (gameStatId) + { + case SAVE_STAT_NAME: + dest = StringCopy(dest, gSaveBlock2Ptr->playerName); + break; + case SAVE_STAT_POKEDEX: + if (IsNationalPokedexEnabled()) + dest = ConvertIntToDecimalStringN(dest, GetNationalPokedexCount(1), STR_CONV_MODE_LEFT_ALIGN, 3); + else + dest = ConvertIntToDecimalStringN(dest, GetKantoPokedexCount(1), STR_CONV_MODE_LEFT_ALIGN, 3); + break; + case SAVE_STAT_TIME: + dest = ConvertIntToDecimalStringN(dest, gSaveBlock2Ptr->playTimeHours, STR_CONV_MODE_LEFT_ALIGN, 3); + *dest++ = CHAR_COLON; + dest = ConvertIntToDecimalStringN(dest, gSaveBlock2Ptr->playTimeMinutes, STR_CONV_MODE_LEADING_ZEROS, 2); + break; + case SAVE_STAT_TIME_HR_RT_ALIGN: + dest = ConvertIntToDecimalStringN(dest, gSaveBlock2Ptr->playTimeHours, STR_CONV_MODE_RIGHT_ALIGN, 3); + *dest++ = CHAR_COLON; + dest = ConvertIntToDecimalStringN(dest, gSaveBlock2Ptr->playTimeMinutes, STR_CONV_MODE_LEADING_ZEROS, 2); + break; + case SAVE_STAT_LOCATION: + sub_80C4DF8(dest, gMapHeader.regionMapSectionId); + break; + case SAVE_STAT_BADGES: + for (flagId = FLAG_BADGE01_GET, nBadges = 0; flagId < FLAG_BADGE01_GET + 8; flagId++) + { + if (FlagGet(flagId)) + nBadges++; + } + *dest++ = nBadges + CHAR_0; + *dest++ = 10; // 'こ' + *dest++ = EOS; + break; + } +} + |