Files
2ship2harkinian-Android/src/code/z_kanfont.c
T
f4687fbbe7 General Cleanup (#155)
* minor fixes

* Consolidate into globalCtx

* fix error

* Fix Warnings

Co-authored-by: engineer124 <engineer124enginer124@gmail.com>
2021-05-20 21:24:47 -04:00

37 lines
1.2 KiB
C

#include <ultra64.h>
#include <global.h>
void Kanfont_Nop800F4F40(GlobalContext* globalCtx, UNK_TYPE param_2, UNK_TYPE param_3) {
}
void Kanfont_LoadAsciiChar(GlobalContext* globalCtx, u8 character, s32 iParm3) {
// UB to convert pointer to u32
DmaMgr_SendRequest0((void*)((u32)&globalCtx->msgCtx.font.unk0[(globalCtx->msgCtx).unk11EF0] + iParm3),
(u32)_nes_font_staticSegmentRomStart + character * 0x80 - 0x1000, 0x80);
}
void Kanfont_LoadMessageBoxEnd(Font* font, u16 type) {
// UB to convert pointer to u32
DmaMgr_SendRequest0(&font->unk7800[0][0], type * 0x80 + (u32)_message_staticSegmentRomStart + 0x5000, 0x80);
}
void Kanfont_LoadOrderedFont(Font* font) {
u32 loadOffset;
s32 codePointIndex = 0;
void* writeLocation;
while (1) {
writeLocation = &font->unk7800[codePointIndex + 1];
loadOffset = kanfontOrdering[codePointIndex] * 128;
if (kanfontOrdering[codePointIndex] == 0) {
loadOffset = 0;
}
// UB to convert pointer to u32
DmaMgr_SendRequest0(writeLocation, (u32)_nes_font_staticSegmentRomStart + loadOffset, 0x80);
if (kanfontOrdering[codePointIndex] == 140) {
break;
}
codePointIndex++;
}
}