diff options
author | Seth Barberee <seth.barberee@gmail.com> | 2021-03-23 12:11:10 -0500 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-03-23 12:11:10 -0500 |
commit | 2fd4f339b42c010191c199772b09ac34c580de94 (patch) | |
tree | e562899f35861ece70c292602fe6aac2f50906bf /src/text_util.c | |
parent | 7b142311a7294c4c7a943870fa5f24f0fbea604a (diff) |
Miscellaneous Work (Again) (#31)
* move some personality data from asm to C
* combine personality_test files and add my close attempt at RedrawPartnerSelectionMenu
* decomp some more wonder mail funcs and label some more data
* lots of data splitting and move some to src
* split out more dungeon data
* continue splitting out more dungeon data
* doc rescue team rank/pts funcs/data and exclusive pokemon ewram
* doc more sound things and decomp a func
* decomp LoadTeamRankBadge and label some data members
* split out rescue team and text util stuff
* forgot a constant
* match a few funcs and clean up a few
* cleaned up sub_80A28B4
Diffstat (limited to 'src/text_util.c')
-rw-r--r-- | src/text_util.c | 148 |
1 files changed, 148 insertions, 0 deletions
diff --git a/src/text_util.c b/src/text_util.c new file mode 100644 index 0000000..02c4239 --- /dev/null +++ b/src/text_util.c @@ -0,0 +1,148 @@ +#include "global.h" + +#define NUM_POKEMON_TYPES 18 + +extern const char gNoneText[]; +extern const char gNormalText[]; +extern const char gFireText[]; +extern const char gWaterText[]; +extern const char gGrassText[]; +extern const char gElectricText[]; +extern const char gIceText[]; +extern const char gFightingText[]; +extern const char gPoisonText[]; +extern const char gGroundText[]; +extern const char gFlyingText[]; +extern const char gPsychicText[]; +extern const char gBugText[]; +extern const char gRockText[]; +extern const char gGhostText[]; +extern const char gDragonText[]; +extern const char gDarkText[]; +extern const char gSteelText[]; + +const char * const gUnformattedTypeStrings[NUM_POKEMON_TYPES] = +{ + gNoneText, + gNormalText, + gFireText, + gWaterText, + gGrassText, + gElectricText, + gIceText, + gFightingText, + gPoisonText, + gGroundText, + gFlyingText, + gPsychicText, + gBugText, + gRockText, + gGhostText, + gDragonText, + gDarkText, + gSteelText, +}; + +#include "data/unformatted_type_names.h" + +extern const char * gFormattedTypeStrings[NUM_POKEMON_TYPES]; // formatted type names + + +extern u8 *gAbilityNames[]; +extern u8 *AbilityDescriptions[]; +extern u8 gUnknown_810AC7C[]; +extern u8 gUnknown_810AC6A[]; + +extern u32 gUnknown_810983C[26]; // TODO: verify size later + +u32 ReturnIntFromChar(u8 r0) +{ + return r0; +} + +u32 ReturnIntFromChar2(u8 r0) +{ + return r0; +} + +// Unused +void sub_8092290(u8 *buffer, u8 *string) +{ + while( *string != '\0' ) { + *buffer++ = ReturnIntFromChar2(*string++); + } + *buffer = 0; // append a 0 +} + +void sub_80922B4(u8 *buffer, u8 *string, s32 size) +{ + while(1) + { + if(size-- < 1 || *string == '\0') + { + break; + } + *buffer++ = ReturnIntFromChar2(*string++); + } + *buffer = 0; // append a 0 +} + +u32 sub_80922E4(u32 r0) +{ + return gUnknown_810983C[r0]; +} + +void CopyStringtoBuffer(u8 *buffer, u8 *string) +{ + while( *string != '\0' ) { + *buffer++ = *string++; + } + *buffer = 0; // append a 0 +} + +void BoundedCopyStringtoBuffer(u8 *buffer, u8 *string, s32 size) +{ + while( 1 ) { + if (size-- < 1) { + break; + } + if (*string == '\0') { + *buffer = 0; // append a 0 and break + break; + } + // NOTE: *buffer++ = *string++ cases register flip + *buffer = *string; + buffer++; + string++; + } +} + +const char *GetUnformattedTypeString(u8 type) +{ + return gUnformattedTypeStrings[type]; +} + +const char * GetFormattedTypeString(u8 type) +{ + return gFormattedTypeStrings[type]; +} + +u8 sub_8092354(u8 index) +{ + return gUnknown_810AC7C[index]; +} + +u8 sub_8092364(u8 index) +{ + return gUnknown_810AC6A[index]; +} + +void sub_8092374(char *buffer, u8 index) +{ + strncpy(buffer, gAbilityNames[index], 0x50); +} + +u8 *GetAbilityDescription(u8 index) +{ + return AbilityDescriptions[index]; +} |