mirror of
https://github.com/zeldaret/tmc
synced 2026-05-26 23:47:47 -04:00
Decompile DispMessageFrame
This commit is contained in:
+44
-2
@@ -697,8 +697,50 @@ static void CreateWindow(void) {
|
||||
}
|
||||
|
||||
// Also used by figurine menu
|
||||
ASM_FUNC("asm/non_matching/textbox/DispMessageFrame.inc",
|
||||
void DispMessageFrame(u16* buffer, u32 width_, u32 height_, u32 flags_))
|
||||
void DispMessageFrame(u16* buffer, s32 width, s32 height, u32 flags) {
|
||||
u16* ptr = buffer;
|
||||
u16* ptr2 = &buffer[(height << 5) + 0x20];
|
||||
u32 flags1;
|
||||
u32 i;
|
||||
*ptr++ = flags;
|
||||
*ptr2++ = flags | 0x800;
|
||||
if (width > 0) {
|
||||
*ptr++ = flags + 1;
|
||||
*ptr2++ = (flags + 1) | 0x800;
|
||||
width -= 2;
|
||||
while(width-->0){
|
||||
*ptr++ = flags + 2;
|
||||
*ptr2++ = (flags + 2) | 0x800;
|
||||
}
|
||||
|
||||
*ptr++ = (flags + 1) | (0x80 << 3);
|
||||
*ptr2++ = (flags + 1) | (0xc0 << 4);
|
||||
}
|
||||
|
||||
*ptr = flags | 0x400;
|
||||
*ptr2 = flags | 0xc00;
|
||||
buffer += 0x20;
|
||||
ptr += 0x20;
|
||||
|
||||
if (height > 0) {
|
||||
*buffer = flags + 3;
|
||||
*ptr = (flags + 3) | 0x400;
|
||||
buffer += 0x20;
|
||||
ptr += 0x20;
|
||||
|
||||
height -= 2;
|
||||
while (height-- > 0) {
|
||||
*buffer = flags + 4;
|
||||
*ptr = (flags + 4) | 0x400;
|
||||
buffer += 0x20;
|
||||
ptr += 0x20;
|
||||
}
|
||||
|
||||
|
||||
*buffer = (flags + 3) | 0x800;
|
||||
*ptr++ = (flags + 3) | 0xc00;
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
Each character is two tiles tall.
|
||||
|
||||
Reference in New Issue
Block a user