mirror of
https://github.com/pret/pokeemerald.git
synced 2026-03-22 02:05:49 -05:00
Co-authored-by: Martin Griffin <martinrgriffin@gmail.com> Co-authored-by: hedara90 <90hedara@gmail.com>
61 lines
2.2 KiB
C
61 lines
2.2 KiB
C
#ifndef GUARD_STRING_UTIL_H
|
|
#define GUARD_STRING_UTIL_H
|
|
|
|
#include "constants/global.h"
|
|
|
|
extern u8 gStringVar1[0x100];
|
|
extern u8 gStringVar2[0x100];
|
|
extern u8 gStringVar3[0x100];
|
|
extern u8 gStringVar4[0x3E8];
|
|
|
|
enum StringConvertMode
|
|
{
|
|
STR_CONV_MODE_LEFT_ALIGN,
|
|
STR_CONV_MODE_RIGHT_ALIGN,
|
|
STR_CONV_MODE_LEADING_ZEROS
|
|
};
|
|
|
|
enum TextColorType
|
|
{
|
|
TEXT_COLOR_TYPE_FOREGROUND = 0,
|
|
TEXT_COLOR_TYPE_SHADOW,
|
|
TEXT_COLOR_TYPE_HIGHLIGHT, // do not use, only kept for compatibility
|
|
TEXT_COLOR_TYPE_ACCENT,
|
|
TEXT_COLOR_TYPE_BACKGROUND,
|
|
};
|
|
|
|
u8 *StringCopy_Nickname(u8 *dest, const u8 *src);
|
|
u8 *StringGet_Nickname(u8 *str);
|
|
u8 *StringCopy_PlayerName(u8 *dest, const u8 *src);
|
|
u8 *StringCopy(u8 *dest, const u8 *src);
|
|
u8 *StringAppend(u8 *dest, const u8 *src);
|
|
u8 *StringCopyN(u8 *dest, const u8 *src, u8 n);
|
|
u8 *StringAppendN(u8 *dest, const u8 *src, u8 n);
|
|
u16 StringLength(const u8 *str);
|
|
u16 StringLineLength(const u8 *str);
|
|
s32 StringCompare(const u8 *str1, const u8 *str2);
|
|
s32 StringCompareN(const u8 *str1, const u8 *str2, u32 n);
|
|
bool8 IsStringLengthAtLeast(const u8 *str, s32 n);
|
|
u8 *ConvertIntToDecimalStringN(u8 *dest, s32 value, enum StringConvertMode mode, u8 n);
|
|
u8 *ConvertUIntToDecimalStringN(u8 *dest, u32 value, enum StringConvertMode mode, u8 n);
|
|
u8 *ConvertIntToHexStringN(u8 *dest, s32 value, enum StringConvertMode mode, u8 n);
|
|
u8 *StringExpandPlaceholders(u8 *dest, const u8 *src);
|
|
u8 *StringBraille(u8 *dest, const u8 *src);
|
|
const u8 *GetExpandedPlaceholder(u32 id);
|
|
u8 *StringFill(u8 *dest, u8 c, u16 n);
|
|
u8 *StringCopyPadded(u8 *dest, const u8 *src, u8 c, u16 n);
|
|
u8 *StringFillWithTerminator(u8 *dest, u16 n);
|
|
u8 *StringCopyN_Multibyte(u8 *dest, u8 *src, u32 n);
|
|
u32 StringLength_Multibyte(const u8 *str);
|
|
u8 *WriteColorChangeControlCode(u8 *dest, enum TextColorType colorType, u8 color);
|
|
bool32 IsStringJapanese(u8 *str);
|
|
bool32 IsStringNJapanese(u8 *str, s32 n);
|
|
u8 GetExtCtrlCodeLength(u8 code);
|
|
s32 StringCompareWithoutExtCtrlCodes(const u8 *str1, const u8 *str2);
|
|
void ConvertInternationalString(u8 *s, enum Language language);
|
|
void StripExtCtrlCodes(u8 *str);
|
|
u8 *StringCopyUppercase(u8 *dest, const u8 *src);
|
|
bool32 DoesStringProperlyTerminate(const u8 *str, u32 last);
|
|
|
|
#endif // GUARD_STRING_UTIL_H
|