Using charcode_t

This commit is contained in:
Eduardo Quezada
2026-01-01 14:50:32 -03:00
parent 9eb571f3d8
commit f00a4bd774
2 changed files with 22 additions and 22 deletions

View File

@@ -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;

View File

@@ -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.