summaryrefslogtreecommitdiff
path: root/arm9/src
diff options
context:
space:
mode:
Diffstat (limited to 'arm9/src')
-rw-r--r--arm9/src/error_message_reset.c2
-rw-r--r--arm9/src/game_init.c2
-rw-r--r--arm9/src/list_menu.c76
-rw-r--r--arm9/src/list_menu_items.c92
-rw-r--r--arm9/src/main.c2
-rw-r--r--arm9/src/scrcmd.c6
-rw-r--r--arm9/src/text.c20
-rw-r--r--arm9/src/text_02054590.c4
-rw-r--r--arm9/src/unk_02022504.c2
-rw-r--r--arm9/src/unk_02025484.c4
10 files changed, 151 insertions, 59 deletions
diff --git a/arm9/src/error_message_reset.c b/arm9/src/error_message_reset.c
index 426ba876..80c7ada8 100644
--- a/arm9/src/error_message_reset.c
+++ b/arm9/src/error_message_reset.c
@@ -102,7 +102,7 @@ THUMB_FUNC void PrintErrorMessageAndReset()
ReadMsgDataIntoString(msg_data, 3, str);
- AddTextPrinterParameterized(&buf, 0, (const u16 *)str, 0, 0, 0, NULL); // wtf
+ AddTextPrinterParameterized(&buf, 0, str, 0, 0, 0, NULL);
String_dtor(str);
GX_BothDispOn();
diff --git a/arm9/src/game_init.c b/arm9/src/game_init.c
index f52a6659..12d18629 100644
--- a/arm9/src/game_init.c
+++ b/arm9/src/game_init.c
@@ -141,7 +141,7 @@ void FUN_02015FC8(void)
{
csum++;
}
- FUN_020166C8((u32 *)UNK_020EDB10, 4, 92, (int)csum);
+ FUN_020166C8((u32 *)UNK_020EDB10, 4, 92, csum);
}
void InitSystemForTheGame(void)
diff --git a/arm9/src/list_menu.c b/arm9/src/list_menu.c
index 5ae5a5b4..033d06f9 100644
--- a/arm9/src/list_menu.c
+++ b/arm9/src/list_menu.c
@@ -60,7 +60,7 @@ THUMB_FUNC s32 ListMenu_ProcessInput(struct ListMenu * list)
list->unk_33 = 0;
if (gMain.newKeys & REG_PAD_KEYINPUT_A_MASK) {
- return list->template.items[list->cursorPos + list->itemsAbove].index;
+ return list->template.items[list->cursorPos + list->itemsAbove].value;
}
else if (gMain.newKeys & REG_PAD_KEYINPUT_B_MASK) {
return LIST_CANCEL;
@@ -86,23 +86,23 @@ THUMB_FUNC s32 ListMenu_ProcessInput(struct ListMenu * list)
rightButton = FALSE;
break;
case LIST_MULTIPLE_SCROLL_DPAD:
- leftButton = gMain.newAndRepeatedKeys & REG_PAD_KEYINPUT_LEFT_MASK;
- rightButton = gMain.newAndRepeatedKeys & REG_PAD_KEYINPUT_RIGHT_MASK;
+ leftButton = (u16)(gMain.newAndRepeatedKeys & REG_PAD_KEYINPUT_LEFT_MASK);
+ rightButton = (u16)(gMain.newAndRepeatedKeys & REG_PAD_KEYINPUT_RIGHT_MASK);
break;
case LIST_MULTIPLE_SCROLL_L_R:
- leftButton = gMain.newAndRepeatedKeys & REG_PAD_KEYINPUT_L_MASK;
- rightButton = gMain.newAndRepeatedKeys & REG_PAD_KEYINPUT_R_MASK;
+ leftButton = (u16)(gMain.newAndRepeatedKeys & REG_PAD_KEYINPUT_L_MASK);
+ rightButton = (u16)(gMain.newAndRepeatedKeys & REG_PAD_KEYINPUT_R_MASK);
break;
}
if (leftButton)
{
- if (!ListMenuChangeSelection(list, TRUE, list->template.maxShowed, FALSE))
+ if (!ListMenuChangeSelection(list, TRUE, (u8)list->template.maxShowed, FALSE))
list->unk_33 = 3;
return LIST_NOTHING_CHOSEN;
}
else if (rightButton)
{
- if (!ListMenuChangeSelection(list, TRUE, list->template.maxShowed, TRUE))
+ if (!ListMenuChangeSelection(list, TRUE, (u8)list->template.maxShowed, TRUE))
list->unk_33 = 4;
return LIST_NOTHING_CHOSEN;
}
@@ -142,11 +142,11 @@ THUMB_FUNC s32 ListMenuTestInputInternal(struct ListMenu * list, const struct Li
if (input == REG_PAD_KEYINPUT_UP_MASK)
{
- ListMenuChangeSelection(list, updateFlag, 1, FALSE);
+ ListMenuChangeSelection(list, (u8)updateFlag, 1, FALSE);
}
else if (input == REG_PAD_KEYINPUT_DOWN_MASK)
{
- ListMenuChangeSelection(list, updateFlag, 1, TRUE);
+ ListMenuChangeSelection(list, (u8)updateFlag, 1, TRUE);
}
if (newCursorPos != NULL)
{
@@ -174,7 +174,7 @@ THUMB_FUNC void ListMenuOverrideSetColors(struct ListMenu * list, u8 cursorPal,
THUMB_FUNC void ListMenuGetCurrentItemArrayId(struct ListMenu * list, u16 * index_p)
{
- *index_p = list->cursorPos + list->itemsAbove;
+ *index_p = (u16)(list->cursorPos + list->itemsAbove);
}
THUMB_FUNC void ListMenuGetScrollAndRow(struct ListMenu * list, u16 * cursorPos_p, u16 * itemsAbove_p)
@@ -192,7 +192,7 @@ THUMB_FUNC u8 ListMenuGetUnk33(struct ListMenu * list)
THUMB_FUNC s32 ListMenuGetValueByArrayId(struct ListMenu * list, s32 index)
{
- return list->template.items[index].index;
+ return list->template.items[index].value;
}
THUMB_FUNC s32 ListMenuGetTemplateField(struct ListMenu * list, u32 attr)
@@ -218,7 +218,7 @@ THUMB_FUNC s32 ListMenuGetTemplateField(struct ListMenu * list, u32 attr)
case 8:
return (s32)list->template.upText_Y;
case 9:
- return GetFontAttribute(list->template.fontId, 1) + list->template.itemVerticalPadding;
+ return GetFontAttribute((u8)list->template.fontId, 1) + list->template.itemVerticalPadding;
case 10:
return (s32)list->template.cursorPal;
case 11:
@@ -314,7 +314,7 @@ THUMB_FUNC void ListMenuGetItemStr(struct ListMenu * list, struct ListMenuItem *
list->template.items = items;
}
-THUMB_FUNC void ListMenuPrint(struct ListMenu * list, const u16 * str, u8 x, u8 y)
+THUMB_FUNC void ListMenuPrint(struct ListMenu * list, struct String * str, u8 x, u8 y)
{
if (str != NULL)
{
@@ -333,17 +333,17 @@ THUMB_FUNC void ListMenuPrintEntries(struct ListMenu * list, u16 startIndex, u16
{
s32 i;
u8 x, y;
- u8 yMultiplier = GetFontAttribute(list->template.fontId, 1) + list->template.itemVerticalPadding;
+ u8 yMultiplier = (u8)(GetFontAttribute((u8)list->template.fontId, 1) + list->template.itemVerticalPadding);
for (i = 0; i < count; i++)
{
- if (list->template.items[startIndex].index != LIST_HEADER)
+ if (list->template.items[startIndex].value != LIST_HEADER)
x = list->template.item_X;
else
x = list->template.header_X;
- y = (yOffset + i) * yMultiplier + list->template.upText_Y;
+ y = (u8)((yOffset + i) * yMultiplier + list->template.upText_Y);
if (list->template.itemPrintFunc != NULL)
- list->template.itemPrintFunc(list, list->template.items[startIndex].index, y);
+ list->template.itemPrintFunc(list, list->template.items[startIndex].value, y);
ListMenuPrint(list, list->template.items[startIndex].text, x, y);
startIndex++;
}
@@ -351,9 +351,9 @@ THUMB_FUNC void ListMenuPrintEntries(struct ListMenu * list, u16 startIndex, u16
THUMB_FUNC void ListMenuDrawCursor(struct ListMenu * list)
{
- u8 yMultiplier = GetFontAttribute(list->template.fontId, 1) + list->template.itemVerticalPadding;
+ u8 yMultiplier = (u8)(GetFontAttribute((u8)list->template.fontId, 1) + list->template.itemVerticalPadding);
u8 x = list->template.cursor_X;
- u8 y = list->itemsAbove * yMultiplier + list->template.upText_Y;
+ u8 y = (u8)(list->itemsAbove * yMultiplier + list->template.upText_Y);
switch (list->template.cursorKind)
{
case 0:
@@ -371,13 +371,13 @@ THUMB_FUNC void ListMenuErasePrintedCursor(struct ListMenu * list, u16 itemsAbov
switch (list->template.cursorKind)
{
case 0:
- u8 yMultiplier = GetFontAttribute(list->template.fontId, 1) + list->template.itemVerticalPadding;
+ u8 yMultiplier = (u8)(GetFontAttribute(list->template.fontId, 1) + list->template.itemVerticalPadding);
u8 width = 8;
u8 height = 16;
FillWindowPixelRect(list->template.window,
list->template.fillValue,
list->template.cursor_X,
- itemsAbove * yMultiplier + list->template.upText_Y,
+ (u16)(itemsAbove * yMultiplier + list->template.upText_Y),
width,
height);
break;
@@ -402,14 +402,14 @@ THUMB_FUNC u8 ListMenuUpdateSelectedRowIndexAndScrollOffset(struct ListMenu *lis
if (list->template.maxShowed == 1)
newRow = 0;
else
- newRow = list->template.maxShowed - ((list->template.maxShowed / 2) + (list->template.maxShowed % 2)) - 1;
+ newRow = (u16)(list->template.maxShowed - ((list->template.maxShowed / 2) + (list->template.maxShowed % 2)) - 1);
if (cursorPos == 0)
{
while (itemsAbove != 0)
{
itemsAbove--;
- if (list->template.items[cursorPos + itemsAbove].index != LIST_HEADER)
+ if (list->template.items[cursorPos + itemsAbove].value != LIST_HEADER)
{
list->itemsAbove = itemsAbove;
return 1;
@@ -422,14 +422,14 @@ THUMB_FUNC u8 ListMenuUpdateSelectedRowIndexAndScrollOffset(struct ListMenu *lis
while (itemsAbove > newRow)
{
itemsAbove--;
- if (list->template.items[cursorPos + itemsAbove].index != LIST_HEADER)
+ if (list->template.items[cursorPos + itemsAbove].value != LIST_HEADER)
{
list->itemsAbove = itemsAbove;
return 1;
}
}
list->itemsAbove = newRow;
- list->cursorPos = cursorPos - 1;
+ list->cursorPos = (u16)(cursorPos - 1);
}
}
else
@@ -437,14 +437,14 @@ THUMB_FUNC u8 ListMenuUpdateSelectedRowIndexAndScrollOffset(struct ListMenu *lis
if (list->template.maxShowed == 1)
newRow = 0;
else
- newRow = ((list->template.maxShowed / 2) + (list->template.maxShowed % 2));
+ newRow = (u16)((list->template.maxShowed / 2) + (list->template.maxShowed % 2));
if (cursorPos == list->template.totalItems - list->template.maxShowed)
{
while (itemsAbove < list->template.maxShowed - 1)
{
itemsAbove++;
- if (list->template.items[cursorPos + itemsAbove].index != LIST_HEADER)
+ if (list->template.items[cursorPos + itemsAbove].value != LIST_HEADER)
{
list->itemsAbove = itemsAbove;
return 1;
@@ -457,14 +457,14 @@ THUMB_FUNC u8 ListMenuUpdateSelectedRowIndexAndScrollOffset(struct ListMenu *lis
while (itemsAbove < newRow)
{
itemsAbove++;
- if (list->template.items[cursorPos + itemsAbove].index != LIST_HEADER)
+ if (list->template.items[cursorPos + itemsAbove].value != LIST_HEADER)
{
list->itemsAbove = itemsAbove;
return 1;
}
}
list->itemsAbove = newRow;
- list->cursorPos = cursorPos + 1;
+ list->cursorPos = (u16)(cursorPos + 1);
}
}
return 2;
@@ -479,33 +479,33 @@ THUMB_FUNC void ListMenuScroll(struct ListMenu * list, u8 count, u8 movingDown)
}
else
{
- u8 yMultiplier = GetFontAttribute(list->template.fontId, 1) + list->template.itemVerticalPadding;
+ u8 yMultiplier = (u8)(GetFontAttribute((u8)list->template.fontId, 1) + list->template.itemVerticalPadding);
if (!movingDown)
{
u16 y, width, height;
- ScrollWindow(list->template.window, 1, count * yMultiplier, (list->template.fillValue << 4) | list->template.fillValue);
+ ScrollWindow(list->template.window, 1, (u8)(count * yMultiplier), (u8)((list->template.fillValue << 4) | list->template.fillValue));
ListMenuPrintEntries(list, list->cursorPos, 0, count);
- y = (list->template.maxShowed * yMultiplier) + list->template.upText_Y;
+ y = (u16)((list->template.maxShowed * yMultiplier) + list->template.upText_Y);
width = GetWindowWidth(list->template.window);
height = GetWindowHeight(list->template.window);
FillWindowPixelRect(list->template.window,
list->template.fillValue,
- 0, y, width * 8, height * 8 - y);
+ 0, y, (u16)(width * 8), (u16)(height * 8 - y));
}
else
{
u32 width;
- ScrollWindow(list->template.window, 0, count * yMultiplier, (list->template.fillValue << 4) | list->template.fillValue);
- ListMenuPrintEntries(list, list->cursorPos + (list->template.maxShowed - count), list->template.maxShowed - count, count);
+ ScrollWindow(list->template.window, 0, (u8)(count * yMultiplier), (u8)((list->template.fillValue << 4) | list->template.fillValue));
+ ListMenuPrintEntries(list, (u16)(list->cursorPos + (list->template.maxShowed - count)), (u16)(list->template.maxShowed - count), count);
width = GetWindowWidth(list->template.window);
FillWindowPixelRect(list->template.window,
list->template.fillValue,
- 0, 0, width * 8, list->template.upText_Y);
+ 0, 0, (u16)(width * 8), list->template.upText_Y);
}
}
}
@@ -529,7 +529,7 @@ THUMB_FUNC BOOL ListMenuChangeSelection(struct ListMenu * list, u8 updateCursorA
break;
cursorCount++;
}
- while (list->template.items[list->cursorPos + list->itemsAbove].index == LIST_HEADER);
+ while (list->template.items[list->cursorPos + list->itemsAbove].value == LIST_HEADER);
}
if (updateCursorAndCallCallback)
@@ -562,7 +562,7 @@ THUMB_FUNC void ListMenuCallSelectionChangedCallback(struct ListMenu * list, u8
{
if (list->template.moveCursorFunc != NULL)
{
- list->template.moveCursorFunc(list, list->template.items[list->cursorPos + list->itemsAbove].index, onInit);
+ list->template.moveCursorFunc(list, list->template.items[list->cursorPos + list->itemsAbove].value, onInit);
}
}
diff --git a/arm9/src/list_menu_items.c b/arm9/src/list_menu_items.c
new file mode 100644
index 00000000..3aa5b0a0
--- /dev/null
+++ b/arm9/src/list_menu_items.c
@@ -0,0 +1,92 @@
+#include "global.h"
+#include "list_menu_items.h"
+#include "msgdata.h"
+#include "heap.h"
+
+void ListMenuItems_DestroyMenuStrings(struct ListMenuItem * items);
+
+THUMB_FUNC struct ListMenuItem * ListMenuItems_ctor(u32 count, u32 heap_id)
+{
+ s32 i;
+ struct ListMenuItem * ret = AllocFromHeap(heap_id, (count + 1) * sizeof(struct ListMenuItem));
+ if (ret != NULL)
+ {
+ for (i = 0; i < count; i++)
+ {
+ ret[i].text = NULL;
+ ret[i].value = 0;
+ }
+ ret[i].text = (struct String *)-1u;
+ ret[i].value = (s32)heap_id;
+ }
+ return ret;
+}
+
+THUMB_FUNC void ListMenuItems_dtor(struct ListMenuItem * items)
+{
+ ListMenuItems_DestroyMenuStrings(items);
+ FreeToHeap(items);
+}
+
+THUMB_FUNC void ListMenuItems_AppendFromMsgData(struct ListMenuItem * items, struct MsgData * msgData, u32 msgNo, s32 value)
+{
+ u32 heap_id;
+ struct ListMenuItem * newItem = ListMenuItems_SeekEnd(items, &heap_id);
+ if (newItem != NULL)
+ {
+ newItem->text = NewString_ReadMsgData(msgData, msgNo);
+ newItem->value = value;
+ }
+}
+
+THUMB_FUNC void ListMenuItems_AddItem(struct ListMenuItem * items, struct String * str, s32 value)
+{
+ u32 heap_id;
+ struct ListMenuItem * newItem = ListMenuItems_SeekEnd(items, &heap_id);
+ if (newItem != NULL)
+ {
+ newItem->text = StringDup(str, heap_id);
+ newItem->value = value;
+ }
+}
+
+THUMB_FUNC void ListMenuItems_CopyItem(struct ListMenuItem * items, struct ListMenuItem * src)
+{
+ u32 heap_id;
+ struct ListMenuItem * newItem = ListMenuItems_SeekEnd(items, &heap_id);
+ if (newItem != NULL)
+ {
+ newItem->text = src->text;
+ newItem->value = src->value;
+ }
+}
+
+THUMB_FUNC struct ListMenuItem * ListMenuItems_SeekEnd(struct ListMenuItem * items, u32 * heap_id_p)
+{
+ struct ListMenuItem * ret;
+ for (; items->text != NULL; items++)
+ {
+ if (items->text == (struct String *)-1u)
+ {
+ GF_ASSERT(0);
+ return NULL;
+ }
+ }
+ ret = items;
+ for (; items->text != (struct String *)-1u; items++)
+ ;
+ *heap_id_p = (u32)items->value;
+ return ret;
+}
+
+THUMB_FUNC void ListMenuItems_DestroyMenuStrings(struct ListMenuItem * items)
+{
+ s32 i;
+ for (i = 0; items[i].text != (struct String *)-1u; i++)
+ {
+ if (items[i].text == NULL)
+ break;
+ String_dtor(items[i].text);
+ items[i].text = NULL;
+ }
+}
diff --git a/arm9/src/main.c b/arm9/src/main.c
index 4879cb4c..c05fa1f3 100644
--- a/arm9/src/main.c
+++ b/arm9/src/main.c
@@ -24,7 +24,7 @@ FS_EXTERN_OVERLAY(MODULE_63);
s32 UNK_02016FA4;
PMBackLightSwitch gBacklightTop;
-struct UnkStruct_02016FA8 UNK_02016FA8;;
+struct UnkStruct_02016FA8 UNK_02016FA8;
extern void InitSystemForTheGame(void);
extern void InitGraphicMemory(void);
diff --git a/arm9/src/scrcmd.c b/arm9/src/scrcmd.c
index 00ccd34d..5503f5f3 100644
--- a/arm9/src/scrcmd.c
+++ b/arm9/src/scrcmd.c
@@ -34,9 +34,9 @@ extern u32 FUN_02058510(u32 param0, u32 param1);
extern void MOD05_021E8128(u32 param0, u8 type, u16 map);
extern void MOD05_021E8130(u32 param0, u32 param1);
extern void MOD05_021E8158(struct UnkSavStruct80 *unk80);
-extern u32 MOD05_021E8140(u32 param0);
+extern struct Window * MOD05_021E8140(u32 param0);
extern BOOL MOD05_021E8148(u32 param0);
-extern u8 FUN_02054658(u32 param0, struct String *str, struct Options *opt, u32 param3);
+extern u8 FUN_02054658(struct Window * param0, struct String *str, struct Options *opt, u32 param3);
extern void MOD05_021E8144(u32 param0);
extern void FUN_0200CB00(u32 param0, u32 param1, u32 param2, u32 param3, u32 param4, u32 param5);
extern u32 Std_CreateYesNoMenu(u32 param0, u8 **param1, u32 param2, u32 param3, u32 param4);
@@ -893,7 +893,7 @@ THUMB_FUNC BOOL ScrCmd_CreateMessageBox(struct ScriptContext* ctx)
MOD05_021E8158(unk80);
ReadMsgDataIntoString(ctx->msgData, msg, *unk1);
StringExpandPlaceholders(*unk3, *unk2, *unk1);
- AddTextPrinterParameterized(MOD05_021E8140(unk80->unk60), 1, (u16 *)*unk2, 0, 0, 0, NULL);
+ AddTextPrinterParameterized(MOD05_021E8140(unk80->unk60), 1, *unk2, 0, 0, 0, NULL);
return TRUE;
}
diff --git a/arm9/src/text.c b/arm9/src/text.c
index b21acf88..5078f229 100644
--- a/arm9/src/text.c
+++ b/arm9/src/text.c
@@ -9,7 +9,7 @@
const struct FontInfo *gFonts = NULL;
u16 UNK_021C5734[0x100];
-u32 UNK_021C5714[8];
+BOOL UNK_021C5714[8];
u16 UNK_021C570E;
u16 UNK_021C5710;
u16 UNK_021C5712;
@@ -95,12 +95,12 @@ THUMB_FUNC void FUN_0201BD7C(u32 param0)
FUN_0201BCFC(param0);
}
-THUMB_FUNC u16 AddTextPrinterParameterized(struct Window * window, u8 fontId, const u16 *str, u32 x, u32 y, u32 speed, u8 (*callback)(struct TextPrinterTemplate *, u16))
+THUMB_FUNC u16 AddTextPrinterParameterized(struct Window * window, u8 fontId, struct String *str, u32 x, u32 y, u32 speed, u8 (*callback)(struct TextPrinterTemplate *, u16))
{
struct TextPrinterTemplate printerTemplate;
printerTemplate.window = window;
- printerTemplate.currentChar = str;
+ printerTemplate.currentChar.wrapped = str;
printerTemplate.fontId = fontId;
printerTemplate.x = (u8)x;
printerTemplate.y = (u8)y;
@@ -118,12 +118,12 @@ THUMB_FUNC u16 AddTextPrinterParameterized(struct Window * window, u8 fontId, co
return AddTextPrinter(&printerTemplate, speed, callback);
}
-THUMB_FUNC u16 AddTextPrinterParameterized2(struct Window * window, u8 fontId, const u16 *str, u32 x, u32 y, u32 speed, u32 colors, u8 (*callback)(struct TextPrinterTemplate *, u16))
+THUMB_FUNC u16 AddTextPrinterParameterized2(struct Window * window, u8 fontId, struct String *str, u32 x, u32 y, u32 speed, u32 colors, u8 (*callback)(struct TextPrinterTemplate *, u16))
{
struct TextPrinterTemplate printerTemplate;
printerTemplate.window = window;
- printerTemplate.currentChar = str;
+ printerTemplate.currentChar.wrapped = str;
printerTemplate.fontId = fontId;
printerTemplate.x = (u8)x;
printerTemplate.y = (u8)y;
@@ -141,12 +141,12 @@ THUMB_FUNC u16 AddTextPrinterParameterized2(struct Window * window, u8 fontId, c
return AddTextPrinter(&printerTemplate, speed, callback);
}
-THUMB_FUNC u16 AddTextPrinterParameterized3(struct Window * window, u32 fontId, const u16 *str, u32 x, u32 y, u32 speed, u32 colors, u32 letterSpacing, u32 lineSpacing, u8 (*callback)(struct TextPrinterTemplate *, u16))
+THUMB_FUNC u16 AddTextPrinterParameterized3(struct Window * window, u32 fontId, struct String *str, u32 x, u32 y, u32 speed, u32 colors, u32 letterSpacing, u32 lineSpacing, u8 (*callback)(struct TextPrinterTemplate *, u16))
{
struct TextPrinterTemplate printerTemplate;
printerTemplate.window = window;
- printerTemplate.currentChar = str;
+ printerTemplate.currentChar.wrapped = str;
printerTemplate.fontId = (u8)fontId;
printerTemplate.x = (u8)x;
printerTemplate.y = (u8)y;
@@ -184,13 +184,13 @@ THUMB_FUNC u16 AddTextPrinter(struct TextPrinterTemplate *printerTemplate, u32 s
}
printer->printerTemplate = *printerTemplate;
- printer->printerTemplate.currentChar = String_c_str((struct String *)printer->printerTemplate.currentChar); //TODO clean up
+ printer->printerTemplate.currentChar.raw = String_c_str(printer->printerTemplate.currentChar.wrapped);
printer->callback = callback;
UNK_021C570C = 0;
FUN_0201C1A8(printer);
if (speed != 0xff && speed != 0)
{
- printer->textSpeedBottom += 0xff;
+ printer->textSpeedBottom--;
printer->textSpeedTop = 1;
printer->minLetterSpacing = FUN_0201BCC8(RunTextPrinter, printer, 1);
return printer->minLetterSpacing;
@@ -345,7 +345,7 @@ THUMB_FUNC void FUN_0201C1EC(struct TextPrinter *printer, u32 param1, u32 param2
printer->Unk2C = FUN_0201C1B0();
}
u16 * r6 = printer->Unk2C + param3 * 24 * 8;
- u16 r2 = (GetWindowWidth(window) - 3) * 8;
+ u16 r2 = (u16)((GetWindowWidth(window) - 3) * 8);
BlitBitmapRectToWindow(window, r6, 0, 0, 24, 32, r2, 0, 24, 32);
}
diff --git a/arm9/src/text_02054590.c b/arm9/src/text_02054590.c
index e2765c6f..b7c4f91c 100644
--- a/arm9/src/text_02054590.c
+++ b/arm9/src/text_02054590.c
@@ -53,7 +53,7 @@ THUMB_FUNC void FUN_0205464C(struct Window *param0)
FillWindowPixelBuffer(param0, 15);
}
-THUMB_FUNC u16 FUN_02054658(struct Window * window, const u16 *str, struct Options *options, u8 param3)
+THUMB_FUNC u16 FUN_02054658(struct Window * window, struct String *str, struct Options *options, u8 param3)
{
FUN_02002B60(param3);
FUN_02002B7C(0);
@@ -61,7 +61,7 @@ THUMB_FUNC u16 FUN_02054658(struct Window * window, const u16 *str, struct Optio
return AddTextPrinterParameterized(window, 1, str, 0, 0, (u32)Options_GetTextFrameDelay(options), NULL);
}
-THUMB_FUNC u16 DrawFieldMessage(struct Window * window, const u16 *str, u8 fontId, u32 speed, u8 a4, u32 a5)
+THUMB_FUNC u16 DrawFieldMessage(struct Window * window, struct String *str, u8 fontId, u32 speed, u8 a4, u32 a5)
{
FUN_02002B60(a4);
FUN_02002B7C(a5);
diff --git a/arm9/src/unk_02022504.c b/arm9/src/unk_02022504.c
index 0267a87c..7f50815b 100644
--- a/arm9/src/unk_02022504.c
+++ b/arm9/src/unk_02022504.c
@@ -26,7 +26,7 @@ THUMB_FUNC u8 *LoadHallOfFame(struct SaveBlock2 *sav2, u32 heap_id, int *ret_p)
return ReadSaveFileFromFlash(sav2, heap_id, 0, ret_p);
}
-THUMB_FUNC s32 *SaveHallOfFame(struct SaveBlock2 *sav2, u8 *data)
+THUMB_FUNC s32 SaveHallOfFame(struct SaveBlock2 *sav2, u8 *data)
{
return WriteSaveFileToFlash(sav2, 0, data);
}
diff --git a/arm9/src/unk_02025484.c b/arm9/src/unk_02025484.c
index 733ac23a..96da04c9 100644
--- a/arm9/src/unk_02025484.c
+++ b/arm9/src/unk_02025484.c
@@ -3,14 +3,14 @@
#include "error_handling.h"
#include "unk_02025484.h"
-THUMB_FUNC void FUN_02025484(struct unk_2025484 *r0, u32 r1)
+THUMB_FUNC void FUN_02025484(struct unk_2025484 *r0)
{
MI_CpuFill8(r0, 0, sizeof(struct unk_2025484));
}
THUMB_FUNC u32 *FUN_02025490(struct unk_2025484 *r0, u32 r1)
{
- FUN_02025484(r0, r1);
+ FUN_02025484(r0);
r0->unk0 = r1;
return &r0->unk4;
}