From 730b22bd157912a032a4e3725902564c90405d74 Mon Sep 17 00:00:00 2001 From: Kermalis <29823718+Kermalis@users.noreply.github.com> Date: Mon, 28 Aug 2023 01:15:05 -0400 Subject: [PATCH] Match all of code_8004AA0.s --- asm/code_8004AA0.s | 422 ------------------------------------ include/bg_palette_buffer.h | 2 + include/code_8004AA0.h | 41 ++++ include/code_800558C_1.h | 3 + ld_script.txt | 2 +- src/bg_palette_buffer.c | 5 +- src/code_2.c | 2 +- src/code_8004AA0.c | 195 +++++++++++++++++ src/code_800558C_1.c | 67 +++--- src/code_80118A4.c | 18 +- src/dungeon_map_access.c | 9 +- src/main.c | 7 +- 12 files changed, 287 insertions(+), 486 deletions(-) delete mode 100644 asm/code_8004AA0.s create mode 100644 include/code_8004AA0.h create mode 100644 src/code_8004AA0.c diff --git a/asm/code_8004AA0.s b/asm/code_8004AA0.s deleted file mode 100644 index 2f1f5bf4a..000000000 --- a/asm/code_8004AA0.s +++ /dev/null @@ -1,422 +0,0 @@ - #include "asm/constants/gba_constants.inc" - #include "asm/macros.inc" - - .syntax unified - - .text - - thumb_func_start nullsub_6 -nullsub_6: - bx lr - thumb_func_end nullsub_6 - - thumb_func_start sub_8004AA4 -sub_8004AA4: - push {r4,r5,lr} - adds r3, r0, 0 - ldr r4, [r1, 0x4] - cmp r2, 0 - ble _08004AE8 -_08004AAE: - ldm r4!, {r1} - movs r5, 0 - ldrsh r0, [r1, r5] - cmp r0, 0 - beq _08004ADE - movs r0, 0x80 - lsls r0, 24 - str r0, [r3] - ldrh r0, [r1, 0x2] - strh r0, [r3, 0x6] - ldrh r0, [r1, 0x2] - strh r0, [r3, 0x4] - adds r0, r1, 0x4 - str r0, [r3, 0x8] - str r0, [r3, 0xC] - movs r5, 0 - ldrsh r0, [r1, r5] - lsls r0, 2 - adds r0, 0x4 - adds r0, r1, r0 - str r0, [r3, 0x10] - ldr r0, [r1, 0x4] - str r0, [r3, 0x14] - b _08004AE0 -_08004ADE: - str r0, [r3] -_08004AE0: - adds r3, 0x18 - subs r2, 0x1 - cmp r2, 0 - bne _08004AAE -_08004AE8: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_8004AA4 - - thumb_func_start sub_8004AF0 -sub_8004AF0: - push {r4-r7,lr} - mov r7, r8 - push {r7} - adds r4, r1, 0 - adds r6, r2, 0 - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - movs r7, 0 - cmp r7, r3 - bge _08004B6A - adds r5, r3, 0 -_08004B08: - adds r0, r4, 0 - movs r1, 0x1 - bl sub_8004D14 - lsls r0, 24 - cmp r0, 0 - beq _08004B60 - adds r0, r4, 0 - movs r1, 0x1 - bl sub_8004D40 - lsls r0, 24 - cmp r0, 0 - bne _08004B60 - mov r1, r8 - ldrh r0, [r4, 0x6] - subs r0, 0x1 - strh r0, [r4, 0x6] - lsls r0, 16 - cmp r0, 0 - bgt _08004B4E - ldrh r0, [r4, 0x4] - strh r0, [r4, 0x6] - ldr r1, [r4, 0xC] - ldr r0, [r4, 0x10] - cmp r1, r0 - bcc _08004B42 - ldr r0, [r4, 0x8] - str r0, [r4, 0xC] -_08004B42: - ldr r1, [r4, 0xC] - ldm r1!, {r0} - str r0, [r4, 0x14] - str r1, [r4, 0xC] - movs r1, 0x1 - movs r7, 0x1 -_08004B4E: - cmp r1, 0 - beq _08004B60 - adds r1, r4, 0 - adds r1, 0x14 - adds r0, r6, 0 - ldr r2, [sp, 0x18] - ldr r3, [sp, 0x1C] - bl SetBGPaletteBufferColorRGB -_08004B60: - subs r5, 0x1 - adds r4, 0x18 - adds r6, 0x1 - cmp r5, 0 - bne _08004B08 -_08004B6A: - adds r0, r7, 0 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_8004AF0 - - thumb_func_start sub_8004B78 -sub_8004B78: - push {r4-r7,lr} - mov r7, r8 - push {r7} - adds r4, r1, 0 - adds r6, r2, 0 - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - movs r7, 0 - cmp r7, r3 - bge _08004BF2 - adds r5, r3, 0 -_08004B90: - adds r0, r4, 0 - movs r1, 0x1 - bl sub_8004D14 - lsls r0, 24 - cmp r0, 0 - beq _08004BE8 - adds r0, r4, 0 - movs r1, 0x1 - bl sub_8004D40 - lsls r0, 24 - cmp r0, 0 - bne _08004BE8 - mov r1, r8 - ldrh r0, [r4, 0x6] - subs r0, 0x1 - strh r0, [r4, 0x6] - lsls r0, 16 - cmp r0, 0 - bgt _08004BD6 - ldrh r0, [r4, 0x4] - strh r0, [r4, 0x6] - ldr r1, [r4, 0xC] - ldr r0, [r4, 0x10] - cmp r1, r0 - bcc _08004BCA - ldr r0, [r4, 0x8] - str r0, [r4, 0xC] -_08004BCA: - ldr r1, [r4, 0xC] - ldm r1!, {r0} - str r0, [r4, 0x14] - str r1, [r4, 0xC] - movs r1, 0x1 - movs r7, 0x1 -_08004BD6: - cmp r1, 0 - beq _08004BE8 - adds r1, r4, 0 - adds r1, 0x14 - adds r0, r6, 0 - ldr r2, [sp, 0x18] - ldr r3, [sp, 0x1C] - bl nullsub_4 -_08004BE8: - subs r5, 0x1 - adds r4, 0x18 - adds r6, 0x1 - cmp r5, 0 - bne _08004B90 -_08004BF2: - adds r0, r7, 0 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_8004B78 - - thumb_func_start sub_8004C00 -sub_8004C00: - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x4 - adds r4, r0, 0 - adds r7, r1, 0 - mov r10, r3 - ldr r0, [sp, 0x28] - mov r8, r0 - movs r1, 0 - mov r9, r1 - cmp r9, r2 - bge _08004CDC - adds r6, r2, 0 -_08004C20: - adds r0, r4, 0 - movs r1, 0x1 - bl sub_8004D14 - lsls r0, 24 - cmp r0, 0 - beq _08004CD2 - adds r0, r4, 0 - movs r1, 0x1 - bl sub_8004D40 - lsls r0, 24 - cmp r0, 0 - bne _08004CD2 - ldrh r0, [r4, 0x6] - subs r0, 0x1 - strh r0, [r4, 0x6] - lsls r0, 16 - cmp r0, 0 - bgt _08004C64 - ldrh r0, [r4, 0x4] - strh r0, [r4, 0x6] - ldr r1, [r4, 0xC] - ldr r0, [r4, 0x10] - cmp r1, r0 - bcc _08004C58 - ldr r0, [r4, 0x8] - str r0, [r4, 0xC] -_08004C58: - ldr r1, [r4, 0xC] - ldm r1!, {r0} - str r0, [r4, 0x14] - str r1, [r4, 0xC] - movs r2, 0x1 - mov r9, r2 -_08004C64: - mov r3, r8 - movs r5, 0 - ldrsh r0, [r3, r5] - ldrb r2, [r4, 0x14] - adds r1, r0, r2 - movs r5, 0x2 - ldrsh r0, [r3, r5] - ldrb r2, [r4, 0x15] - adds r3, r0, r2 - mov r5, r8 - movs r2, 0x4 - ldrsh r0, [r5, r2] - ldrb r2, [r4, 0x16] - adds r5, r0, r2 - cmp r1, 0xFF - ble _08004C86 - movs r1, 0xFF -_08004C86: - cmp r3, 0xFF - ble _08004C8C - movs r3, 0xFF -_08004C8C: - cmp r5, 0xFF - ble _08004C92 - movs r5, 0xFF -_08004C92: - cmp r1, 0 - bge _08004C98 - movs r1, 0 -_08004C98: - cmp r3, 0 - bge _08004C9E - movs r3, 0 -_08004C9E: - cmp r5, 0 - bge _08004CA4 - movs r5, 0 -_08004CA4: - lsls r1, 24 - lsrs r1, 24 - ldr r2, _08004CF0 - ldr r0, [sp] - ands r0, r2 - orrs r0, r1 - lsls r2, r3, 24 - lsrs r2, 16 - ldr r1, _08004CF4 - ands r0, r1 - orrs r0, r2 - lsls r2, r5, 24 - lsrs r2, 8 - ldr r1, _08004CF8 - ands r0, r1 - orrs r0, r2 - str r0, [sp] - adds r0, r7, 0 - mov r1, sp - mov r2, r10 - ldr r3, [sp, 0x24] - bl SetBGPaletteBufferColorRGB -_08004CD2: - subs r6, 0x1 - adds r4, 0x18 - adds r7, 0x1 - cmp r6, 0 - bne _08004C20 -_08004CDC: - mov r0, r9 - add sp, 0x4 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r1} - bx r1 - .align 2, 0 -_08004CF0: .4byte 0xffffff00 -_08004CF4: .4byte 0xffff00ff -_08004CF8: .4byte 0xff00ffff - thumb_func_end sub_8004C00 - - thumb_func_start sub_8004CFC -sub_8004CFC: - push {lr} - cmp r1, 0 - ble _08004D0E - movs r2, 0 -_08004D04: - str r2, [r0] - adds r0, 0x18 - subs r1, 0x1 - cmp r1, 0 - bne _08004D04 -_08004D0E: - pop {r0} - bx r0 - thumb_func_end sub_8004CFC - - thumb_func_start sub_8004D14 -sub_8004D14: - push {r4,lr} - adds r2, r0, 0 - movs r3, 0 - cmp r3, r1 - bge _08004D36 - movs r4, 0x80 - lsls r4, 24 -_08004D22: - ldr r0, [r2] - ands r0, r4 - cmp r0, 0 - beq _08004D2E - movs r0, 0x1 - b _08004D38 -_08004D2E: - adds r2, 0x18 - adds r3, 0x1 - cmp r3, r1 - blt _08004D22 -_08004D36: - movs r0, 0 -_08004D38: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_8004D14 - - thumb_func_start sub_8004D40 -sub_8004D40: - push {r4-r6,lr} - adds r3, r0, 0 - adds r4, r1, 0 - movs r1, 0 - cmp r1, r4 - bge _08004D70 - movs r6, 0x80 - lsls r6, 24 - movs r5, 0x80 - lsls r5, 22 -_08004D54: - ldr r2, [r3] - adds r0, r2, 0 - ands r0, r6 - cmp r0, 0 - beq _08004D6A - ands r2, r5 - cmp r2, 0 - bne _08004D68 - movs r0, 0 - b _08004D72 -_08004D68: - adds r3, 0x18 -_08004D6A: - adds r1, 0x1 - cmp r1, r4 - blt _08004D54 -_08004D70: - movs r0, 0x1 -_08004D72: - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end sub_8004D40 - - .align 2, 0 @ Don't pad with nop. diff --git a/include/bg_palette_buffer.h b/include/bg_palette_buffer.h index 4995ec62a..b4b67d46a 100644 --- a/include/bg_palette_buffer.h +++ b/include/bg_palette_buffer.h @@ -2,5 +2,7 @@ #define GUARD_BG_PALETTE_BUFFER_H void InitBGPaletteBuffer(void); +void nullsub_4(s32 index, u8 *RGBArray, s32 a1, u8 *a2); +void SetBGPaletteBufferColorRGB(s32 index, u8 *RGBArray, s32 a1, u8 *a2); #endif // GUARD_BG_PALETTE_BUFFER_H \ No newline at end of file diff --git a/include/code_8004AA0.h b/include/code_8004AA0.h new file mode 100644 index 000000000..2c2b496e3 --- /dev/null +++ b/include/code_8004AA0.h @@ -0,0 +1,41 @@ +#ifndef GUARD_CODE_8004AA0_H +#define GUARD_CODE_8004AA0_H + +#include "file_system.h" + +// size: 0x4 +struct RGB +{ + // IDK which is R G B + u8 unk0; + u8 unk1; + u8 unk2; +}; + +// size: 0x18 +struct unkStruct_202EE8C +{ + u32 unk0; + u16 unk4; + s16 unk6; + struct RGB *unk8; + struct RGB *unkC; + struct RGB *unk10; + struct RGB unk14; +}; + +// size: Variable +struct unkDataFor8004AA4 +{ + /* 0x0 */ s16 colorCount; + s16 unk2; + /* 0x4 */ struct RGB colors[0]; +}; + +void nullsub_6(void); +void sub_8004AA4(struct unkStruct_202EE8C *, struct OpenedFile *, s32); +bool8 sub_8004AF0(bool8, struct unkStruct_202EE8C *, s32, s32, s32, u8 *); +bool8 sub_8004D14(struct unkStruct_202EE8C *, s32); +bool8 sub_8004D40(struct unkStruct_202EE8C *, s32); + +#endif // GUARD_CODE_8004AA0_H \ No newline at end of file diff --git a/include/code_800558C_1.h b/include/code_800558C_1.h index 05c624d10..2e058ebb0 100644 --- a/include/code_800558C_1.h +++ b/include/code_800558C_1.h @@ -2,9 +2,12 @@ #define GUARD_CODE_800558C_1_H void nullsub_7(s16 *); +void nullsub_9(void); void nullsub_10(bool8); void nullsub_12(void); void nullsub_13(void); void nullsub_14(void); +void sub_8005770(s32, u8 *, s32, u8 *); +void sub_80057E8(void); #endif // GUARD_CODE_800558C_1_H \ No newline at end of file diff --git a/ld_script.txt b/ld_script.txt index 7814ecd1b..26feccc15 100755 --- a/ld_script.txt +++ b/ld_script.txt @@ -59,7 +59,7 @@ SECTIONS { src/util.o(.text); src/bg_palette_buffer.o(.text); src/input.o(.text); - asm/code_8004AA0.o(.text); + src/code_8004AA0.o(.text); src/sprite.o(.text); asm/code_800558C.o(.text); src/code_800558C_1.o(.text); diff --git a/src/bg_palette_buffer.c b/src/bg_palette_buffer.c index 5d60954b7..78f6941d9 100644 --- a/src/bg_palette_buffer.c +++ b/src/bg_palette_buffer.c @@ -211,17 +211,14 @@ void SetBGPaletteBufferColor(s32 index, u16 *color) gBGPaletteBuffer[index] = *color; } -void nullsub_4(void) +void nullsub_4(s32 index, u8 *RGBArray, s32 a1, u8 *a2) { - } void nullsub_5(void) { - } void nullsub_143(void) { - } void TransferBGPaletteBuffer(void) diff --git a/src/code_2.c b/src/code_2.c index 277a76897..0278f7008 100644 --- a/src/code_2.c +++ b/src/code_2.c @@ -21,6 +21,7 @@ #include "code_8094F88.h" #include "sprite.h" #include "code_80118A4.h" +#include "bg_palette_buffer.h" extern void NDS_LoadOverlay_GroundMain(void); extern void sub_8014144(void); @@ -38,7 +39,6 @@ extern u32 sub_8001658(u32, u32); extern void sub_800A8F8(u32); extern void sub_80097B0(void); extern void LoadTitleScreen(void); -extern void SetBGPaletteBufferColorRGB(s32, u8 *, s32, u8 *); extern void sub_80095CC(u32, u32); extern s32 GetFirstIndexofMailType(u8); extern void nullsub_33(void); diff --git a/src/code_8004AA0.c b/src/code_8004AA0.c new file mode 100644 index 000000000..e3967ebd7 --- /dev/null +++ b/src/code_8004AA0.c @@ -0,0 +1,195 @@ +#include "global.h" +#include "bg_palette_buffer.h" +#include "code_8004AA0.h" + +void nullsub_6(void) +{} + +void sub_8004AA4(struct unkStruct_202EE8C *a0, struct OpenedFile *a1, s32 a2) +{ + struct unkDataFor8004AA4 **data; + struct unkDataFor8004AA4 *ptr; + s32 i; + + data = (struct unkDataFor8004AA4 **)a1->data; + for (i = 0; i < a2; i++) { + ptr = *data++; + + if (ptr->colorCount != 0) { + a0->unk0 = 0x80000000; + a0->unk6 = ptr->unk2; + a0->unk4 = ptr->unk2; + a0->unk8 = ptr->colors; + a0->unkC = ptr->colors; + a0->unk10 = &ptr->colors[ptr->colorCount]; + a0->unk14 = ptr->colors[0]; + } + else + a0->unk0 = 0; + + a0++; + } +} + +bool8 sub_8004AF0(bool8 a0, struct unkStruct_202EE8C *a1, s32 a2, s32 a3, s32 a4, u8 *a5) +{ + bool8 bVar3; + bool8 ret; + s32 i; + + ret = FALSE; + + for (i = 0; i < a3; i++, a1++, a2++) { + if (!sub_8004D14(a1, 1) || sub_8004D40(a1, 1)) + continue; + + bVar3 = a0; + a1->unk6--; + + if (a1->unk6 <= 0) { + a1->unk6 = a1->unk4; + if (a1->unkC >= a1->unk10) + a1->unkC = a1->unk8; + + a1->unk14 = *a1->unkC++; + bVar3 = TRUE; + ret = TRUE; + } + + if (bVar3) + SetBGPaletteBufferColorRGB(a2, (u8 *)&a1->unk14, a4, a5); + } + + return ret; +} + +UNUSED static bool8 sub_8004B78(bool8 a0, struct unkStruct_202EE8C *a1, s32 a2, s32 a3, s32 a4, u8 *a5) +{ + bool8 bVar3; + bool8 ret; + s32 i; + + ret = FALSE; + + for (i = 0; i < a3; i++, a1++, a2++) { + if (!sub_8004D14(a1, 1) || sub_8004D40(a1, 1)) + continue; + + bVar3 = a0; + a1->unk6--; + + if (a1->unk6 <= 0) { + a1->unk6 = a1->unk4; + if (a1->unkC >= a1->unk10) + a1->unkC = a1->unk8; + + a1->unk14 = *a1->unkC++; + bVar3 = TRUE; + ret = TRUE; + } + + if (bVar3) + nullsub_4(a2, (u8 *)&a1->unk14, a4, a5); + } + + return ret; +} + +bool8 sub_8004C00(struct unkStruct_202EE8C *a0, s32 a1, s32 a2, s32 a3, u8 *a4, s16 *a5) +{ + bool8 ret; + s32 i; + s32 r1; + s32 r3; + s32 r5; + u32 color32; + u32 val; + u32 val2; + u32 val3; + + ret = FALSE; + + for (i = 0; i < a2; i++, a0++, a1++) { + if (!sub_8004D14(a0, 1) || sub_8004D40(a0, 1)) + continue; + + a0->unk6--; + + if (a0->unk6 <= 0) { + a0->unk6 = a0->unk4; + if (a0->unkC >= a0->unk10) + a0->unkC = a0->unk8; + + a0->unk14 = *a0->unkC++; + ret = TRUE; + } + + r1 = a5[0] + a0->unk14.unk0; + r3 = a5[1] + a0->unk14.unk1; + r5 = a5[2] + a0->unk14.unk2; + + if (r1 > 0xFF) + r1 = 0xFF; + if (r3 > 0xFF) + r3 = 0xFF; + if (r5 > 0xFF) + r5 = 0xFF; + if (r1 < 0) + r1 = 0; + if (r3 < 0) + r3 = 0; + if (r5 < 0) + r5 = 0; + + val = (u8)r1; + color32 &= 0xFFFFFF00; + color32 |= val; + + val2 = (u8)r3 << 8; + color32 &= 0xFFFF00FF; + color32 |= val2; + + val3 = (u8)r5 << 16; + color32 &= 0xFF00FFFF; + color32 |= val3; + + SetBGPaletteBufferColorRGB(a1, (u8 *)&color32, a3, a4); + } + + return ret; +} + +UNUSED static void sub_8004CFC(struct unkStruct_202EE8C *a0, s32 a1) +{ + s32 i; + + for (i = 0; i < a1; a0++, i++) { + a0->unk0 = 0; + } +} + +bool8 sub_8004D14(struct unkStruct_202EE8C *a0, s32 a1) +{ + s32 i; + + for (i = 0; i < a1; i++) { + if (a0->unk0 & 0x80000000) + return TRUE; + a0++; + } + return FALSE; +} + +bool8 sub_8004D40(struct unkStruct_202EE8C *a0, s32 a1) +{ + s32 i; + + for (i = 0; i < a1; i++) { + if (a0->unk0 & 0x80000000) { + if (!(a0->unk0 & 0x20000000)) + return FALSE; + a0++; + } + } + return TRUE; +} \ No newline at end of file diff --git a/src/code_800558C_1.c b/src/code_800558C_1.c index 90d741544..1650d92fa 100644 --- a/src/code_800558C_1.c +++ b/src/code_800558C_1.c @@ -1,37 +1,33 @@ #include "global.h" +#include "bg_palette_buffer.h" #include "code_800558C_1.h" +#include "file_system.h" extern u8 gUnknown_2026E38; extern u32 gUnknown_2026E3C; +extern u8 gUnknown_2026E4C; extern u16 gUnknown_2026E4E; extern bool32 gUnknown_2026E50; extern bool32 gUnknown_2026E54; extern u32 gUnknown_2026E58; -extern u8 gUnknown_2026E4C; extern u32 gUnknown_203B078; -extern void SetBGPaletteBufferColorRGB(s32 index, u8 *RGBArray, s32 a1, u8 *a2); -void sub_8005770(s32 param_1, u8 *RGBArray, s32 a1, u8 *a2); - -void sub_8005764(s32 param_1, u8 *RGBArrays[], s32 a1, u8 *a2) +UNUSED static void sub_8005764(s32 a0, struct OpenedFile *file, s32 a2, u8 *a3) { - sub_8005770(param_1,RGBArrays[1],a1,a2); + sub_8005770(a0, file->data, a2, a3); } void sub_8005770(s32 param_1, u8 *RGBArray, s32 a1, u8 *a2) { - s32 i; - - for(i = 0; i < 16; i++) - { - SetBGPaletteBufferColorRGB((param_1 + 0x10) * 0x10 + i,&RGBArray[i * 4],a1,a2); - } + s32 i; + + for (i = 0; i < 16; i++) + SetBGPaletteBufferColorRGB((param_1 + 0x10) * 0x10 + i, &RGBArray[i * 4], a1, a2); } // Maybe struct Position void nullsub_7(s16 *a0) -{ -} +{} void nullsub_8(void) {} @@ -42,7 +38,7 @@ void nullsub_9(void) void nullsub_10(bool8 a0) {} -void nullsub_144(void) +UNUSED static void nullsub_144(void) {} void nullsub_11(void) @@ -54,49 +50,48 @@ void nullsub_12(void) void nullsub_13(void) {} -void nullsub_145(void) +UNUSED static void nullsub_145(void) {} void nullsub_14(void) {} -void nullsub_146(void) +UNUSED static void nullsub_146(void) {} -void nullsub_147(void) +UNUSED static void nullsub_147(void) {} -void nullsub_148(void) +UNUSED static void nullsub_148(void) {} -void nullsub_149(void) +UNUSED static void nullsub_149(void) {} -u32 sub_80057D8(void) +UNUSED static bool8 sub_80057D8(void) { - return 0; + return FALSE; } -u32 sub_80057DC(void) +UNUSED static bool8 sub_80057DC(void) { - return 0; + return FALSE; } -void nullsub_150(void) +UNUSED static void nullsub_150(void) {} -void nullsub_151(void) +UNUSED static void nullsub_151(void) {} - void sub_80057E8(void) { - gUnknown_2026E4C = 1; - gUnknown_2026E54 = 0; - gUnknown_2026E50 = 1; - gUnknown_2026E58 = 0; - gUnknown_2026E3C = 0; - gUnknown_2026E38 = 0; - gUnknown_2026E4E = 0x60c; - gUnknown_203B078 = 0; -} + gUnknown_2026E4C = 1; + gUnknown_2026E54 = 0; + gUnknown_2026E50 = 1; + gUnknown_2026E58 = 0; + gUnknown_2026E3C = 0; + gUnknown_2026E38 = 0; + gUnknown_2026E4E = 0x60C; + gUnknown_203B078 = 0; +} \ No newline at end of file diff --git a/src/code_80118A4.c b/src/code_80118A4.c index 735333137..3e504dbfd 100644 --- a/src/code_80118A4.c +++ b/src/code_80118A4.c @@ -1,6 +1,7 @@ #include #include #include "global.h" +#include "code_8004AA0.h" #include "code_80118A4.h" #include "music.h" #include "constants/bg_music.h" @@ -19,10 +20,9 @@ extern struct GameOptions *gGameOptionsRef; struct UnkBgStruct { u8 padding[0x4c4b]; - u32 unk4c4c; - u8 padding2[0x17A]; - u32 *unk4dcc; - u32 unk4dd0; + /* 0x4C4C */ struct unkStruct_202EE8C unk4C4C[16]; + u32 unk4DCC; + u32 unk4DD0; /* 0x4DD4 */ s16 xoffset; /* 0x4DD6 */ s16 yoffset; }; @@ -43,19 +43,15 @@ extern void sub_8009908(void); extern void xxx_call_update_bg_sound_input(void); extern void sub_80060EC(void); extern void sub_800CB20(void); -extern void sub_8004AF0(u8, u32 *r1, u32, u32, u32 *r2, u32); -extern u8 sub_80111C4(); +extern bool8 sub_80111C4(); extern void sub_8010F28(); void sub_801169C(void) { - u8 return_var; - SetBG2RegOffsets(gUnknown_203B0E4->xoffset, gUnknown_203B0E4->yoffset); SetBG3RegOffsets(gUnknown_203B0E4->xoffset, gUnknown_203B0E4->yoffset); sub_8010F28(); - return_var = sub_80111C4(); - sub_8004AF0(return_var, &(gUnknown_203B0E4->unk4c4c), 0xB0, 0x10, (gUnknown_203B0E4->unk4dcc), 0); + sub_8004AF0(sub_80111C4(), gUnknown_203B0E4->unk4C4C, 0xB0, 16, gUnknown_203B0E4->unk4DCC, NULL); sub_8005838(0, 0); nullsub_8(gGameOptionsRef->unkA); sub_8005180(); @@ -246,4 +242,4 @@ void sub_8011A04(void) UNUSED static void sub_8011A2C(u32 a0) { gUnknown_202DE1C = a0; -} +} \ No newline at end of file diff --git a/src/dungeon_map_access.c b/src/dungeon_map_access.c index 78e6bbf24..08d951eec 100644 --- a/src/dungeon_map_access.c +++ b/src/dungeon_map_access.c @@ -1,9 +1,8 @@ #include "global.h" +#include "code_8004AA0.h" #include "constants/walkable_tile.h" #include "dungeon_map_access.h" - #include "dungeon_global_data.h" -#include "file_system.h" #include "tile_types.h" #include "random.h" #include "dungeon_engine.h" @@ -24,12 +23,11 @@ extern const struct FileArchive gDungeonFileArchive; extern struct OpenedFile *gUnknown_202F18C; extern struct OpenedFile *gDungeonPaletteFile; -extern u8 gUnknown_202EE8C[]; +extern struct unkStruct_202EE8C gUnknown_202EE8C[32]; extern u8 gWalkableTileToCrossableTerrain[8]; extern const u8 gDungeonWaterType[]; extern u8 sub_8043CE4(u32); -extern void sub_8004AA4(u8 *, struct OpenedFile *, u32); extern int sprintf(char *, const char *, ...); void sub_8049BB0(s32, s32); void sub_80498A8(s32, s32); @@ -333,5 +331,4 @@ void sub_8049B8C(void) sub_8049BB0(XCoord,YCoord); } } -} - +} \ No newline at end of file diff --git a/src/main.c b/src/main.c index b19eee067..495da1179 100644 --- a/src/main.c +++ b/src/main.c @@ -1,5 +1,7 @@ #include "global.h" #include "bg_palette_buffer.h" +#include "code_8004AA0.h" +#include "code_800558C_1.h" #include "cpu.h" #include "crt0.h" #include "file_system.h" @@ -36,9 +38,6 @@ extern const char gUnknown_8270000[]; extern const u8 gUnknown_80B9BF1[]; extern const IntrCallback gInitialIntrTable[6]; -// code_800558C_1.c -extern void nullsub_9(void); -extern void sub_80057E8(void); // code_8009804.c extern void sub_80098A0(void); // code_2.c @@ -49,8 +48,6 @@ extern void sub_800D6AC(void); extern void sub_800D7D0(void); // music.c extern void InitMusic(void); // music initializer -// code_8004AA0.s -extern void nullsub_6(void); void InitIntrTable(const IntrCallback *interrupt_table); IntrCallback SetInterruptCallback(u32 index, IntrCallback new_callback);