pokeheartgold/include/pm_string.h

42 lines
1.6 KiB
C

#ifndef POKEHEARTGOLD_STRING_H
#define POKEHEARTGOLD_STRING_H
#include "constants/charcode.h"
#include "heap.h"
#include "string_util.h"
typedef struct String {
u16 maxsize;
u16 size;
u32 magic;
u16 data[0];
} String;
String *String_New(u32 maxsize, HeapID heapId);
void String_Delete(String *string);
void CopyStringToU16Array(const String *string, u16 *dest, u32 n);
void CopyU16ArrayToString(String *string, const u16 *src);
void CopyU16ArrayToStringN(String *string, const u16 *src, u32 n);
int String_Compare(String *a, String *b);
void String_Copy(String *dest, const String *src);
void String_SetEmpty(String *str);
String *String_Dup(const String *src, HeapID heapId);
void String_AddChar(String *str, u16 _char);
void CopyU16ArrayToString(String *dest, const u16 *src);
void CopyU16ArrayToStringN(String *dest, const u16 *src, u32 n);
u16 *String_cstr(String *string);
void String16_FormatInteger(String * str, int num, u32 ndigits, PrintingMode strConvMode, BOOL whichCharset);
void String_UpperCharN(String * str, int n);
void String_Cat_HandleTrainerName(String * dest, String * src);
void String16_FormatUnsignedLongLong(String * str, u64 num, u32 ndigits, PrintingMode strConvMode, BOOL whichCharset);
s64 String_atoi(String * str, BOOL * flag);
u16 String_GetLength(String * str);
int String_CountLines(volatile String * str);
void String_GetLineN(String * dest, volatile String * src, u32 n);
void String_RadioAddStatic(String *string, u8 level);
u16 * String_cstr(String * str);
void String_Cat(String * dest, String * src);
BOOL String_IsTrainerName(String * string);
#endif //POKEHEARTGOLD_STRING_H