summaryrefslogtreecommitdiff
path: root/arm9/src
diff options
context:
space:
mode:
Diffstat (limited to 'arm9/src')
-rw-r--r--arm9/src/font.c66
-rw-r--r--arm9/src/palette.c84
-rw-r--r--arm9/src/unk_02002F08.c140
3 files changed, 144 insertions, 146 deletions
diff --git a/arm9/src/font.c b/arm9/src/font.c
index e09b0341..6c838892 100644
--- a/arm9/src/font.c
+++ b/arm9/src/font.c
@@ -1,16 +1,17 @@
#include "global.h"
#include "font.h"
#include "gf_gfx_loader.h"
+#include "graphic/font.naix"
#include "render_text.h"
#include "string16.h"
#include "text.h"
-#include "graphic/font.naix"
+#include "unk_0201B8B8.h"
struct UnkStruct_02002C14 *UNK_02106FC8;
struct UnkStruct_02002C14 UNK_02106FCC;
-const u16 UNK_020ECB54[4][2] = { {0, 0}, {1, 0}, {2, 0}, {3, 0} };
+const u16 UNK_020ECB54[4][2] = { { 0, 0 }, { 1, 0 }, { 2, 0 }, { 3, 0 } };
const struct FontInfo gFontInfos[5] = {
{ 0x0B, 0x10, 0x00, 0x00, 0x00, 0x01, 0x0F, 0x02 },
@@ -164,10 +165,67 @@ THUMB_FUNC s32 GetFontAttribute(u8 fontId, s32 attr)
THUMB_FUNC void FUN_02002ED0(u32 layer, u32 baseAddr, u32 heap_id)
{
- GfGfxLoader_GXLoadPal(NARC_GRAPHIC_FONT, NARC_font_narc_0006_NCLR, layer, baseAddr, 0x20, heap_id);
+ GfGfxLoader_GXLoadPal(
+ NARC_GRAPHIC_FONT, NARC_font_narc_0006_NCLR, layer, baseAddr, 0x20, heap_id);
}
THUMB_FUNC void FUN_02002EEC(u32 layer, u32 baseAddr, u32 heap_id)
{
- GfGfxLoader_GXLoadPal(NARC_GRAPHIC_FONT, NARC_font_narc_0007_NCLR, layer, baseAddr, 0x20, heap_id);
+ GfGfxLoader_GXLoadPal(
+ NARC_GRAPHIC_FONT, NARC_font_narc_0007_NCLR, layer, baseAddr, 0x20, heap_id);
+}
+
+THUMB_FUNC s32 FUN_02002F08(u32 param0, struct String *str, u32 param2)
+{
+ GF_ASSERT(UNK_02106FC8->unk94[param0] != NULL);
+
+ return StringGetWidth(UNK_02106FC8->unk94[param0], String_c_str(str), param2);
+}
+
+THUMB_FUNC u32 FUN_02002F40(u32 param0, struct String *str, u32 param2, u32 param3)
+{
+ u32 r0 = FUN_02002E14(param0, str, param2);
+ if (r0 < param3)
+ {
+ return (param3 - r0) / 2;
+ }
+
+ return 0;
+}
+
+THUMB_FUNC u32 FUN_02002F58(const u16 *str)
+{
+ u32 r5 = 1;
+ while (*str != EOS)
+ {
+ if (*str == 0xFFFE)
+ {
+ str = MsgArray_SkipControlCode(str);
+ continue;
+ }
+
+ if (*str == 0xE000)
+ {
+ r5++;
+ str++;
+ continue;
+ }
+
+ str++;
+ }
+
+ return r5;
+}
+
+THUMB_FUNC u32 FUN_02002F90(struct String *str)
+{
+ return FUN_02002F58(String_c_str(str));
+}
+
+THUMB_FUNC s32 FUN_02002F9C(u32 param0, struct String *str)
+{
+ GF_ASSERT(UNK_02106FC8->unk94[param0] != NULL);
+
+ return StringGetWidth_SingleLine_HandleClearToControlCode(
+ UNK_02106FC8->unk94[param0], String_c_str(str));
}
diff --git a/arm9/src/palette.c b/arm9/src/palette.c
index 5f437120..6726a0ec 100644
--- a/arm9/src/palette.c
+++ b/arm9/src/palette.c
@@ -1,7 +1,7 @@
#include "global.h"
#include "palette.h"
#include "MI_memory.h"
-#include "unk_02002F08.h"
+#include "gf_gfx_loader.h"
#include "unk_0200CA44.h"
extern void *FUN_020222E8();
@@ -10,6 +10,85 @@ extern void *FUN_02022308();
extern void *FUN_02022310();
extern int abs(int);
+THUMB_FUNC struct PaletteData *FUN_02002FD0(u32 heap_id)
+{
+ struct PaletteData *ptr = AllocFromHeap(heap_id, sizeof(struct PaletteData));
+ MI_CpuFill8(ptr, 0, sizeof(struct PaletteData));
+
+ return ptr;
+}
+
+THUMB_FUNC void FUN_02002FEC(struct PaletteData *ptr)
+{
+ FreeToHeap(ptr);
+}
+
+THUMB_FUNC void PaletteData_SetBuffers(
+ struct PaletteData *paletteData, u32 index, void *unfadedBuf, void *fadedBuf, u32 size)
+{
+ paletteData->pltt[index].unfadedBuf = unfadedBuf;
+ paletteData->pltt[index].fadedBuf = fadedBuf;
+ paletteData->pltt[index].bufSize = size;
+}
+
+THUMB_FUNC void PaletteData_AllocBuffers(
+ struct PaletteData *paletteData, u32 index, u32 size, u32 heap_id)
+{
+ void *ptr = AllocFromHeap(heap_id, size);
+ void *ptr2 = AllocFromHeap(heap_id, size);
+
+ PaletteData_SetBuffers(paletteData, index, ptr, ptr2, size);
+}
+
+THUMB_FUNC void PaletteData_FreeBuffers(struct PaletteData *paletteData, u32 index)
+{
+ FreeToHeap(paletteData->pltt[index].unfadedBuf);
+ FreeToHeap(paletteData->pltt[index].fadedBuf);
+}
+
+THUMB_FUNC void PaletteData_LoadPalette(
+ struct PaletteData *paletteData, const void *src, u32 index, u32 offset, u16 size)
+{
+ MIi_CpuCopy16(src, paletteData->pltt[index].unfadedBuf + offset, size);
+ MIi_CpuCopy16(src, paletteData->pltt[index].fadedBuf + offset, size);
+}
+
+THUMB_FUNC void PaletteData_LoadFromNarc(struct PaletteData *paletteData,
+ NarcId narcId,
+ s32 memberId,
+ u32 heap_id,
+ u32 index,
+ u32 size,
+ u16 offset,
+ u16 param7)
+{
+ NNSG2dPaletteData *pltData;
+ void *ptr = GfGfxLoader_GetPlttData(narcId, memberId, &pltData, heap_id);
+
+ GF_ASSERT(ptr != NULL);
+
+ if (size == 0)
+ {
+ size = pltData->szByte;
+ }
+
+ GF_ASSERT(size + offset * 2 <= paletteData->pltt[index].bufSize);
+
+ PaletteData_LoadPalette(paletteData, pltData->pRawData + param7 * 2, index, offset, (u16)size);
+ FreeToHeap(ptr);
+}
+
+THUMB_FUNC void PaletteData_LoadNarc(struct PaletteData *paletteData,
+ NarcId narcId,
+ s32 memberId,
+ u32 heap_id,
+ u32 index,
+ u32 size,
+ u16 offset)
+{
+ PaletteData_LoadFromNarc(paletteData, narcId, memberId, heap_id, index, size, offset, 0);
+}
+
THUMB_FUNC void FUN_02003108(struct PaletteData *paletteData, u32 index, u16 offset, u32 size)
{
GF_ASSERT(offset * 2 + size <= paletteData->pltt[index].bufSize);
@@ -496,7 +575,8 @@ THUMB_FUNC void BlendPalette(u16 *src, u16 *dest, u16 numEntries, u8 coeff, u16
s32 g = ((struct PlttData *)&src[i])->g;
s32 b = ((struct PlttData *)&src[i])->b;
- dest[i] = (u16)(((r + (((r2 - r) * coeff) >> 4)) << 0) | ((g + (((g2 - g) * coeff) >> 4)) << 5) |
+ dest[i] =
+ (u16)(((r + (((r2 - r) * coeff) >> 4)) << 0) | ((g + (((g2 - g) * coeff) >> 4)) << 5) |
((b + (((b2 - b) * coeff) >> 4)) << 10));
}
}
diff --git a/arm9/src/unk_02002F08.c b/arm9/src/unk_02002F08.c
deleted file mode 100644
index 5a1eca36..00000000
--- a/arm9/src/unk_02002F08.c
+++ /dev/null
@@ -1,140 +0,0 @@
-#include "global.h"
-#include "unk_02002F08.h"
-#include "font.h"
-#include "gf_gfx_loader.h"
-#include "string16.h"
-#include "unk_0201B8B8.h"
-
-THUMB_FUNC s32 FUN_02002F08(u32 param0, struct String *str, u32 param2)
-{
- GF_ASSERT(UNK_02106FC8->unk94[param0] != NULL);
-
- return StringGetWidth(UNK_02106FC8->unk94[param0], String_c_str(str), param2);
-}
-
-THUMB_FUNC u32 FUN_02002F40(u32 param0, struct String *str, u32 param2, u32 param3)
-{
- u32 r0 = FUN_02002E14(param0, str, param2);
- if (r0 < param3)
- {
- return (param3 - r0) / 2;
- }
-
- return 0;
-}
-
-THUMB_FUNC u32 FUN_02002F58(const u16 *str)
-{
- u32 r5 = 1;
- while (*str != EOS)
- {
- if (*str == 0xFFFE)
- {
- str = MsgArray_SkipControlCode(str);
- continue;
- }
-
- if (*str == 0xE000)
- {
- r5++;
- str++;
- continue;
- }
-
- str++;
- }
-
- return r5;
-}
-
-THUMB_FUNC u32 FUN_02002F90(struct String *str)
-{
- return FUN_02002F58(String_c_str(str));
-}
-
-THUMB_FUNC s32 FUN_02002F9C(u32 param0, struct String *str)
-{
- GF_ASSERT(UNK_02106FC8->unk94[param0] != NULL);
-
- return StringGetWidth_SingleLine_HandleClearToControlCode(
- UNK_02106FC8->unk94[param0], String_c_str(str));
-}
-
-THUMB_FUNC struct PaletteData *FUN_02002FD0(u32 heap_id)
-{
- struct PaletteData *ptr = AllocFromHeap(heap_id, sizeof(struct PaletteData));
- MI_CpuFill8(ptr, 0, sizeof(struct PaletteData));
-
- return ptr;
-}
-
-THUMB_FUNC void FUN_02002FEC(struct PaletteData *ptr)
-{
- FreeToHeap(ptr);
-}
-
-THUMB_FUNC void PaletteData_SetBuffers(
- struct PaletteData *paletteData, u32 index, void *unfadedBuf, void *fadedBuf, u32 size)
-{
- paletteData->pltt[index].unfadedBuf = unfadedBuf;
- paletteData->pltt[index].fadedBuf = fadedBuf;
- paletteData->pltt[index].bufSize = size;
-}
-
-THUMB_FUNC void PaletteData_AllocBuffers(
- struct PaletteData *paletteData, u32 index, u32 size, u32 heap_id)
-{
- void *ptr = AllocFromHeap(heap_id, size);
- void *ptr2 = AllocFromHeap(heap_id, size);
-
- PaletteData_SetBuffers(paletteData, index, ptr, ptr2, size);
-}
-
-THUMB_FUNC void PaletteData_FreeBuffers(struct PaletteData *paletteData, u32 index)
-{
- FreeToHeap(paletteData->pltt[index].unfadedBuf);
- FreeToHeap(paletteData->pltt[index].fadedBuf);
-}
-
-THUMB_FUNC void PaletteData_LoadPalette(
- struct PaletteData *paletteData, const void *src, u32 index, u32 offset, u16 size)
-{
- MIi_CpuCopy16(src, paletteData->pltt[index].unfadedBuf + offset, size);
- MIi_CpuCopy16(src, paletteData->pltt[index].fadedBuf + offset, size);
-}
-
-THUMB_FUNC void PaletteData_LoadFromNarc(struct PaletteData *paletteData,
- NarcId narcId,
- s32 memberId,
- u32 heap_id,
- u32 index,
- u32 size,
- u16 offset,
- u16 param7)
-{
- NNSG2dPaletteData *pltData;
- void *ptr = GfGfxLoader_GetPlttData(narcId, memberId, &pltData, heap_id);
-
- GF_ASSERT(ptr != NULL);
-
- if (size == 0)
- {
- size = pltData->szByte;
- }
-
- GF_ASSERT(size + offset * 2 <= paletteData->pltt[index].bufSize);
-
- PaletteData_LoadPalette(paletteData, pltData->pRawData + param7 * 2, index, offset, (u16)size);
- FreeToHeap(ptr);
-}
-
-THUMB_FUNC void PaletteData_LoadNarc(struct PaletteData *paletteData,
- NarcId narcId,
- s32 memberId,
- u32 heap_id,
- u32 index,
- u32 size,
- u16 offset)
-{
- PaletteData_LoadFromNarc(paletteData, narcId, memberId, heap_id, index, size, offset, 0);
-}