mirror of
https://github.com/pret/pokediamond.git
synced 2026-09-11 10:36:34 -05:00
Using charcode_t
This commit is contained in:
@@ -15,7 +15,7 @@ static inline void String_Assert(const String *string) {
|
||||
}
|
||||
|
||||
String *String_New(u32 maxSize, enum HeapID heapID) {
|
||||
String *string = Heap_Alloc(heapID, STRING_HEADER_SIZE + (maxSize * sizeof(u16)));
|
||||
String *string = Heap_Alloc(heapID, STRING_HEADER_SIZE + (maxSize * sizeof(charcode_t)));
|
||||
if (string != NULL) {
|
||||
string->integrity = STRING_MAGIC_NUMBER;
|
||||
string->maxSize = maxSize;
|
||||
@@ -41,7 +41,7 @@ void String_Copy(String *dest, String *src) {
|
||||
String_Assert(dest);
|
||||
String_Assert(src);
|
||||
if (dest->maxSize > src->size) {
|
||||
memcpy(dest->data, src->data, (src->size + 1) * sizeof(u16));
|
||||
memcpy(dest->data, src->data, (src->size + 1) * sizeof(charcode_t));
|
||||
dest->size = src->size;
|
||||
return;
|
||||
}
|
||||
@@ -71,7 +71,7 @@ void String_FormatInt(String *dest, int num, u32 maxDigits, enum PaddingMode pad
|
||||
1000000000,
|
||||
};
|
||||
|
||||
static const u16 sDigits_JP[] = {
|
||||
static const charcode_t sDigits_JP[] = {
|
||||
CHAR_JP_0,
|
||||
CHAR_JP_1,
|
||||
CHAR_JP_2,
|
||||
@@ -84,7 +84,7 @@ void String_FormatInt(String *dest, int num, u32 maxDigits, enum PaddingMode pad
|
||||
CHAR_JP_9,
|
||||
};
|
||||
|
||||
static const u16 sDigits_EN[] = {
|
||||
static const charcode_t sDigits_EN[] = {
|
||||
CHAR_0,
|
||||
CHAR_1,
|
||||
CHAR_2,
|
||||
@@ -102,7 +102,7 @@ void String_FormatInt(String *dest, int num, u32 maxDigits, enum PaddingMode pad
|
||||
BOOL isNegative = (num < 0);
|
||||
|
||||
if (dest->maxSize > maxDigits + isNegative) {
|
||||
const u16 *digitSet = (charsetMode == CHARSET_MODE_JP) ? sDigits_JP : sDigits_EN;
|
||||
const charcode_t *digitSet = (charsetMode == CHARSET_MODE_JP) ? sDigits_JP : sDigits_EN;
|
||||
|
||||
String_Clear(dest);
|
||||
|
||||
@@ -208,7 +208,7 @@ void String_CopyLine(String *dest, const String *src, u32 lineNum) {
|
||||
}
|
||||
}
|
||||
|
||||
void String_CopyFromChars(String *dest, u16 *src) {
|
||||
void String_CopyFromChars(String *dest, const charcode_t *src) {
|
||||
String_Assert(dest);
|
||||
|
||||
for (dest->size = 0; *src != EOS;) {
|
||||
@@ -221,11 +221,11 @@ void String_CopyFromChars(String *dest, u16 *src) {
|
||||
dest->data[dest->size] = EOS;
|
||||
}
|
||||
|
||||
void String_CopyNumChars(String *dest, u16 *src, u32 num) {
|
||||
void String_CopyNumChars(String *dest, charcode_t *src, u32 num) {
|
||||
String_Assert(dest);
|
||||
|
||||
if (num <= dest->maxSize) {
|
||||
memcpy(dest->data, src, num * sizeof(u16));
|
||||
memcpy(dest->data, src, num * sizeof(charcode_t));
|
||||
|
||||
int i;
|
||||
for (i = 0; i < num; i++) {
|
||||
@@ -242,17 +242,17 @@ void String_CopyNumChars(String *dest, u16 *src, u32 num) {
|
||||
GF_ASSERT(FALSE);
|
||||
}
|
||||
|
||||
void String_CopyToChars(String *src, u16 *dest, u32 destSize) {
|
||||
void String_CopyToChars(String *src, charcode_t *dest, u32 destSize) {
|
||||
String_Assert(src);
|
||||
|
||||
if (src->size + 1 <= destSize) {
|
||||
memcpy(dest, src->data, (src->size + 1) * sizeof(u16));
|
||||
memcpy(dest, src->data, (src->size + 1) * sizeof(charcode_t));
|
||||
return;
|
||||
}
|
||||
GF_ASSERT(FALSE);
|
||||
}
|
||||
|
||||
u16 *String_GetChars(String *string) {
|
||||
charcode_t *String_GetChars(String *string) {
|
||||
String_Assert(string);
|
||||
|
||||
return string->data;
|
||||
@@ -263,14 +263,14 @@ void String_Concat(String *dest, String *src) {
|
||||
String_Assert(src);
|
||||
|
||||
if (dest->size + src->size + 1 <= dest->maxSize) {
|
||||
memcpy(dest->data + dest->size, src->data, (src->size + 1) * sizeof(u16));
|
||||
memcpy(dest->data + dest->size, src->data, (src->size + 1) * sizeof(charcode_t));
|
||||
dest->size += src->size;
|
||||
return;
|
||||
}
|
||||
GF_ASSERT(FALSE);
|
||||
}
|
||||
|
||||
void String_AppendChar(String *string, u16 c) {
|
||||
void String_AppendChar(String *string, charcode_t c) {
|
||||
String_Assert(string);
|
||||
|
||||
if (string->size + 1 < string->maxSize) {
|
||||
@@ -305,11 +305,11 @@ void String_ConcatTrainerName(String *dest, String *src) {
|
||||
// TODO: This process could do with some more documentation, i.e. why this
|
||||
// is done.
|
||||
if (String_IsTrainerName(src)) {
|
||||
u16 *dstChar = &dest->data[dest->size];
|
||||
u16 *srcChar = &src->data[1];
|
||||
charcode_t *dstChar = &dest->data[dest->size];
|
||||
charcode_t *srcChar = &src->data[1];
|
||||
s32 shift = 0;
|
||||
u32 charsAdded = 0;
|
||||
u16 curChar = 0;
|
||||
charcode_t curChar = 0;
|
||||
|
||||
while (TRUE) {
|
||||
curChar = (*srcChar >> shift) & 0x1FF;
|
||||
|
||||
@@ -12,7 +12,7 @@ typedef struct String {
|
||||
u16 maxSize;
|
||||
u16 size;
|
||||
u32 integrity;
|
||||
u16 data[1];
|
||||
charcode_t data[1];
|
||||
u8 padding[2];
|
||||
} String;
|
||||
|
||||
@@ -141,7 +141,7 @@ void String_CopyLine(String *dest, const String *src, u32 lineNum);
|
||||
* @param src Raw character source buffer.
|
||||
*/
|
||||
|
||||
void String_CopyFromChars(String *dest, u16 *src);
|
||||
void String_CopyFromChars(String *dest, const charcode_t *src);
|
||||
|
||||
/**
|
||||
* @brief Copies a specific number of values from a raw character buffer into
|
||||
@@ -151,7 +151,7 @@ void String_CopyFromChars(String *dest, u16 *src);
|
||||
* @param src Raw character source buffer.
|
||||
* @param num Number of values to copy.
|
||||
*/
|
||||
void String_CopyNumChars(String *dest, u16 *src, u32 num);
|
||||
void String_CopyNumChars(String *dest, charcode_t *src, u32 num);
|
||||
|
||||
/**
|
||||
* @brief Dumps the contents of a String into a raw character buffer.
|
||||
@@ -162,7 +162,7 @@ void String_CopyNumChars(String *dest, u16 *src, u32 num);
|
||||
* @param[out] dest Destination buffer.
|
||||
* @param destSize Size of `dest`.
|
||||
*/
|
||||
void String_CopyToChars(String *src, u16 *dest, u32 destSize);
|
||||
void String_CopyToChars(String *src, charcode_t *dest, u32 destSize);
|
||||
|
||||
/**
|
||||
* @brief Accessor for the underlying data buffer of a managed string.
|
||||
@@ -170,7 +170,7 @@ void String_CopyToChars(String *src, u16 *dest, u32 destSize);
|
||||
* @param string
|
||||
* @return Underlying data buffer for `string`.
|
||||
*/
|
||||
u16 *String_GetChars(String *string);
|
||||
charcode_t *String_GetChars(String *string);
|
||||
|
||||
/**
|
||||
* @brief Concatenates `src` onto the end of `dest`, if allocation permits.
|
||||
@@ -190,7 +190,7 @@ void String_Concat(String *dest, String *src);
|
||||
* @param[out] string Destination buffer.
|
||||
* @param c Character to append.
|
||||
*/
|
||||
void String_AppendChar(String *string, u16 c);
|
||||
void String_AppendChar(String *string, charcode_t c);
|
||||
|
||||
/**
|
||||
* @brief Checks if a given string is a trainer name.
|
||||
|
||||
Reference in New Issue
Block a user