From 1cc241a75a1f0a66fc3d7593a8f918d89cf8e6ae Mon Sep 17 00:00:00 2001 From: theo3 Date: Tue, 21 Jul 2020 14:00:42 -0700 Subject: [PATCH] room.c decompiled --- asm/code_0804B9F8.s | 3178 ------------------------------------------- include/functions.h | 6 + src/room.c | 1602 +++++++++++++++++++++- 3 files changed, 1607 insertions(+), 3179 deletions(-) diff --git a/asm/code_0804B9F8.s b/asm/code_0804B9F8.s index 4db83afb..65d5dce6 100644 --- a/asm/code_0804B9F8.s +++ b/asm/code_0804B9F8.s @@ -5,3184 +5,6 @@ .text - thumb_func_start sub_0804EB54 -sub_0804EB54: @ 0x0804EB54 - ldr r2, _0804EB64 @ =gArea - ldrb r1, [r2] - movs r0, #0x48 - orrs r0, r1 - strb r0, [r2] - movs r0, #1 - bx lr - .align 2, 0 -_0804EB64: .4byte gArea - - thumb_func_start nullsub_391 -nullsub_391: @ 0x0804EB68 - bx lr - .align 2, 0 - - thumb_func_start sub_0804EB6C -sub_0804EB6C: @ 0x0804EB6C - ldr r2, _0804EB7C @ =gArea - ldrb r1, [r2] - movs r0, #0x48 - orrs r0, r1 - strb r0, [r2] - movs r0, #1 - bx lr - .align 2, 0 -_0804EB7C: .4byte gArea - - thumb_func_start nullsub_392 -nullsub_392: @ 0x0804EB80 - bx lr - .align 2, 0 - - thumb_func_start sub_0804EB84 -sub_0804EB84: @ 0x0804EB84 - ldr r2, _0804EB94 @ =gArea - ldrb r1, [r2] - movs r0, #0x48 - orrs r0, r1 - strb r0, [r2] - movs r0, #1 - bx lr - .align 2, 0 -_0804EB94: .4byte gArea - - thumb_func_start nullsub_393 -nullsub_393: @ 0x0804EB98 - bx lr - .align 2, 0 - - thumb_func_start sub_0804EB9C -sub_0804EB9C: @ 0x0804EB9C - push {lr} - movs r0, #0x58 - movs r1, #5 - bl sub_0801DD58 - ldr r2, _0804EBB4 @ =gArea - ldrb r1, [r2] - movs r0, #0x48 - orrs r0, r1 - strb r0, [r2] - movs r0, #1 - pop {pc} - .align 2, 0 -_0804EBB4: .4byte gArea - - thumb_func_start nullsub_394 -nullsub_394: @ 0x0804EBB8 - bx lr - .align 2, 0 - - thumb_func_start sub_0804EBBC -sub_0804EBBC: @ 0x0804EBBC - push {lr} - movs r0, #0x58 - movs r1, #6 - bl sub_0801DD58 - ldr r2, _0804EBD4 @ =gArea - ldrb r1, [r2] - movs r0, #0x48 - orrs r0, r1 - strb r0, [r2] - movs r0, #1 - pop {pc} - .align 2, 0 -_0804EBD4: .4byte gArea - - thumb_func_start nullsub_395 -nullsub_395: @ 0x0804EBD8 - bx lr - .align 2, 0 - - thumb_func_start sub_0804EBDC -sub_0804EBDC: @ 0x0804EBDC - push {lr} - movs r0, #0x51 - bl CheckGlobalFlag - cmp r0, #0 - beq _0804EBF2 - ldr r0, _0804EBF8 @ =gRoomVars - ldr r1, _0804EBFC @ =gUnk_080F4EB0 - str r1, [r0, #0x6c] - movs r1, #0 - str r1, [r0, #0x74] -_0804EBF2: - movs r0, #1 - pop {pc} - .align 2, 0 -_0804EBF8: .4byte gRoomVars -_0804EBFC: .4byte gUnk_080F4EB0 - - thumb_func_start sub_0804EC00 -sub_0804EC00: @ 0x0804EC00 - push {lr} - movs r0, #0x51 - bl CheckGlobalFlag - cmp r0, #0 - beq _0804EC1A - ldr r0, _0804EC48 @ =gArea - ldr r2, _0804EC4C @ =0x00000864 - adds r1, r0, r2 - subs r2, #4 - adds r0, r0, r2 - ldr r0, [r0] - str r0, [r1] -_0804EC1A: - movs r0, #0x14 - bl CheckGlobalFlag - cmp r0, #0 - bne _0804EC2A - ldr r0, _0804EC50 @ =gUnk_080F4D50 - bl LoadRoomEntityList -_0804EC2A: - movs r0, #0x3e - bl CheckLocalFlag - cmp r0, #0 - bne _0804EC64 - movs r0, #0x3b - bl CheckLocalFlag - cmp r0, #0 - bne _0804EC58 - ldr r0, _0804EC54 @ =gUnk_080F4DB0 - bl LoadRoomEntityList - b _0804EC5E - .align 2, 0 -_0804EC48: .4byte gArea -_0804EC4C: .4byte 0x00000864 -_0804EC50: .4byte gUnk_080F4D50 -_0804EC54: .4byte gUnk_080F4DB0 -_0804EC58: - ldr r0, _0804EC84 @ =gUnk_080F4DD0 - bl LoadRoomEntityList -_0804EC5E: - ldr r0, _0804EC88 @ =gUnk_080F4DF0 - bl LoadRoomEntityList -_0804EC64: - movs r0, #0x4e - bl CheckKinstoneFused - cmp r0, #0 - beq _0804EC74 - ldr r0, _0804EC8C @ =gUnk_080F4F10 - bl LoadRoomEntityList -_0804EC74: - ldr r0, _0804EC90 @ =gUnk_02002A40 - ldr r0, [r0, #0x40] - cmp r0, #0 - blt _0804EC82 - ldr r0, _0804EC94 @ =gUnk_080F4E10 - bl LoadRoomEntityList -_0804EC82: - pop {pc} - .align 2, 0 -_0804EC84: .4byte gUnk_080F4DD0 -_0804EC88: .4byte gUnk_080F4DF0 -_0804EC8C: .4byte gUnk_080F4F10 -_0804EC90: .4byte gUnk_02002A40 -_0804EC94: .4byte gUnk_080F4E10 - - thumb_func_start sub_0804EC98 -sub_0804EC98: @ 0x0804EC98 - push {lr} - ldr r0, _0804ECAC @ =gUnk_02002A40 - ldr r0, [r0, #0x40] - cmp r0, #0 - blt _0804ECA8 - ldr r0, _0804ECB0 @ =gUnk_080F4E10 - bl LoadRoomEntityList -_0804ECA8: - pop {pc} - .align 2, 0 -_0804ECAC: .4byte gUnk_02002A40 -_0804ECB0: .4byte gUnk_080F4E10 - - thumb_func_start sub_0804ECB4 -sub_0804ECB4: @ 0x0804ECB4 - movs r0, #1 - bx lr - - thumb_func_start nullsub_396 -nullsub_396: @ 0x0804ECB8 - bx lr - .align 2, 0 - - thumb_func_start sub_0804ECBC -sub_0804ECBC: @ 0x0804ECBC - push {lr} - movs r0, #0x51 - bl CheckGlobalFlag - cmp r0, #0 - beq _0804ECDA - ldr r1, _0804ECE0 @ =gRoomVars - ldr r0, _0804ECE4 @ =gUnk_080F5348 - str r0, [r1, #0x6c] - adds r2, r1, #0 - adds r2, #0x88 - ldr r0, _0804ECE8 @ =sub_0804ED18 - str r0, [r2] - movs r0, #0 - str r0, [r1, #0x74] -_0804ECDA: - movs r0, #1 - pop {pc} - .align 2, 0 -_0804ECE0: .4byte gRoomVars -_0804ECE4: .4byte gUnk_080F5348 -_0804ECE8: .4byte sub_0804ED18 - - thumb_func_start sub_0804ECEC -sub_0804ECEC: @ 0x0804ECEC - push {lr} - movs r0, #2 - bl GetInventoryValue - cmp r0, #0 - beq _0804ED0E - ldr r0, _0804ED10 @ =gUnk_080F5328 - bl LoadRoomEntityList - movs r0, #0x14 - bl CheckLocalFlag - cmp r0, #0 - bne _0804ED0E - ldr r0, _0804ED14 @ =gUnk_080F5308 - bl LoadRoomEntityList -_0804ED0E: - pop {pc} - .align 2, 0 -_0804ED10: .4byte gUnk_080F5328 -_0804ED14: .4byte gUnk_080F5308 - - thumb_func_start sub_0804ED18 -sub_0804ED18: @ 0x0804ED18 - ldr r0, _0804ED28 @ =gArea - ldr r2, _0804ED2C @ =0x00000864 - adds r1, r0, r2 - subs r2, #4 - adds r0, r0, r2 - ldr r0, [r0] - str r0, [r1] - bx lr - .align 2, 0 -_0804ED28: .4byte gArea -_0804ED2C: .4byte 0x00000864 - - thumb_func_start sub_0804ED30 -sub_0804ED30: @ 0x0804ED30 - movs r0, #1 - bx lr - - thumb_func_start sub_0804ED34 -sub_0804ED34: @ 0x0804ED34 - push {lr} - bl sub_080AF2E4 - movs r0, #0x5d - bl CheckGlobalFlag - cmp r0, #0 - beq _0804ED4E - ldr r0, _0804ED50 @ =gArea - ldr r1, _0804ED54 @ =0x00000864 - adds r0, r0, r1 - movs r1, #0x31 - str r1, [r0] -_0804ED4E: - pop {pc} - .align 2, 0 -_0804ED50: .4byte gArea -_0804ED54: .4byte 0x00000864 - - thumb_func_start sub_0804ED58 -sub_0804ED58: @ 0x0804ED58 - movs r0, #1 - bx lr - - thumb_func_start sub_0804ED5C -sub_0804ED5C: @ 0x0804ED5C - push {lr} - movs r0, #0x79 - bl CheckLocalFlag - cmp r0, #0 - bne _0804ED6E - ldr r0, _0804EDA8 @ =gUnk_080F54E8 - bl LoadRoomEntityList -_0804ED6E: - movs r0, #0x7a - bl CheckLocalFlag - cmp r0, #0 - bne _0804EDB0 - movs r0, #2 - bl GetInventoryValue - cmp r0, #0 - beq _0804EE16 - movs r0, #3 - bl GetInventoryValue - cmp r0, #0 - bne _0804EE16 - movs r0, #0x40 - bl GetInventoryValue - cmp r0, #0 - beq _0804EE16 - movs r0, #0x41 - bl GetInventoryValue - cmp r0, #0 - beq _0804EE16 - ldr r0, _0804EDAC @ =gUnk_080F5508 - bl LoadRoomEntityList - b _0804EE16 - .align 2, 0 -_0804EDA8: .4byte gUnk_080F54E8 -_0804EDAC: .4byte gUnk_080F5508 -_0804EDB0: - movs r0, #0x7b - bl CheckLocalFlag - cmp r0, #0 - bne _0804EDE4 - movs r0, #3 - bl GetInventoryValue - cmp r0, #0 - beq _0804EE16 - movs r0, #4 - bl GetInventoryValue - cmp r0, #0 - bne _0804EE16 - movs r0, #0x42 - bl GetInventoryValue - cmp r0, #0 - beq _0804EE16 - ldr r0, _0804EDE0 @ =gUnk_080F5558 - bl LoadRoomEntityList - b _0804EE16 - .align 2, 0 -_0804EDE0: .4byte gUnk_080F5558 -_0804EDE4: - movs r0, #0x7c - bl CheckLocalFlag - cmp r0, #0 - bne _0804EE10 - movs r0, #6 - bl GetInventoryValue - cmp r0, #0 - bne _0804EE16 - movs r0, #0x43 - bl GetInventoryValue - cmp r0, #0 - beq _0804EE16 - ldr r0, _0804EE0C @ =gUnk_080F5598 - bl LoadRoomEntityList - b _0804EE16 - .align 2, 0 -_0804EE0C: .4byte gUnk_080F5598 -_0804EE10: - ldr r0, _0804EE5C @ =gUnk_080F55D8 - bl LoadRoomEntityList -_0804EE16: - movs r0, #0x7a - bl CheckLocalFlag - cmp r0, #0 - beq _0804EE26 - ldr r0, _0804EE60 @ =gUnk_080F5528 - bl LoadRoomEntityList -_0804EE26: - movs r0, #0x7b - bl CheckLocalFlag - cmp r0, #0 - beq _0804EE36 - ldr r0, _0804EE64 @ =gUnk_080F5578 - bl LoadRoomEntityList -_0804EE36: - movs r0, #0x7c - bl CheckLocalFlag - cmp r0, #0 - beq _0804EE46 - ldr r0, _0804EE68 @ =gUnk_080F55B8 - bl LoadRoomEntityList -_0804EE46: - movs r0, #0x5d - bl CheckGlobalFlag - cmp r0, #0 - beq _0804EE5A - ldr r0, _0804EE6C @ =gArea - ldr r1, _0804EE70 @ =0x00000864 - adds r0, r0, r1 - movs r1, #0x31 - str r1, [r0] -_0804EE5A: - pop {pc} - .align 2, 0 -_0804EE5C: .4byte gUnk_080F55D8 -_0804EE60: .4byte gUnk_080F5528 -_0804EE64: .4byte gUnk_080F5578 -_0804EE68: .4byte gUnk_080F55B8 -_0804EE6C: .4byte gArea -_0804EE70: .4byte 0x00000864 - - thumb_func_start sub_0804EE74 -sub_0804EE74: @ 0x0804EE74 - movs r0, #1 - bx lr - - thumb_func_start sub_0804EE78 -sub_0804EE78: @ 0x0804EE78 - push {lr} - movs r0, #0x78 - bl CheckLocalFlag - cmp r0, #0 - bne _0804EE94 - movs r0, #0x7c - bl CheckLocalFlag - cmp r0, #0 - beq _0804EE94 - ldr r0, _0804EEAC @ =gUnk_080F5660 - bl LoadRoomEntityList -_0804EE94: - movs r0, #0x5d - bl CheckGlobalFlag - cmp r0, #0 - beq _0804EEA8 - ldr r0, _0804EEB0 @ =gArea - ldr r1, _0804EEB4 @ =0x00000864 - adds r0, r0, r1 - movs r1, #0x31 - str r1, [r0] -_0804EEA8: - pop {pc} - .align 2, 0 -_0804EEAC: .4byte gUnk_080F5660 -_0804EEB0: .4byte gArea -_0804EEB4: .4byte 0x00000864 - - thumb_func_start sub_0804EEB8 -sub_0804EEB8: @ 0x0804EEB8 - movs r0, #1 - bx lr - - thumb_func_start sub_0804EEBC -sub_0804EEBC: @ 0x0804EEBC - push {lr} - ldr r0, _0804EEF4 @ =gUnk_080F5758 - bl LoadRoomEntityList - movs r0, #0x36 - bl GetInventoryValue - cmp r0, #0 - bne _0804EEE2 - movs r0, #0x80 - lsls r0, r0, #2 - movs r1, #0x8f - bl CheckLocalFlagByOffset - cmp r0, #0 - beq _0804EEE2 - ldr r0, _0804EEF8 @ =gUnk_080F57E8 - bl LoadRoomEntityList -_0804EEE2: - movs r0, #0x55 - bl CheckLocalFlag - cmp r0, #0 - bne _0804EF00 - ldr r0, _0804EEFC @ =gUnk_080F57A8 - bl LoadRoomEntityList - b _0804EF54 - .align 2, 0 -_0804EEF4: .4byte gUnk_080F5758 -_0804EEF8: .4byte gUnk_080F57E8 -_0804EEFC: .4byte gUnk_080F57A8 -_0804EF00: - ldr r1, _0804EF34 @ =gBombBagSizes - ldr r0, _0804EF38 @ =gUnk_02002A40 - adds r0, #0xae - ldrb r0, [r0] - adds r0, r0, r1 - ldrb r0, [r0] - cmp r0, #0x1d - bls _0804EF16 - ldr r0, _0804EF3C @ =gUnk_080F57C8 - bl LoadRoomEntityList -_0804EF16: - movs r0, #0xb - bl GetInventoryValue - cmp r0, #0 - bne _0804EF44 - movs r0, #0xc - bl GetInventoryValue - cmp r0, #0 - bne _0804EF44 - ldr r0, _0804EF40 @ =gUnk_080F5888 - bl LoadRoomEntityList - b _0804EF54 - .align 2, 0 -_0804EF34: .4byte gBombBagSizes -_0804EF38: .4byte gUnk_02002A40 -_0804EF3C: .4byte gUnk_080F57C8 -_0804EF40: .4byte gUnk_080F5888 -_0804EF44: - movs r0, #0xcd - bl CheckLocalFlag - cmp r0, #0 - bne _0804EF54 - ldr r0, _0804EF80 @ =gUnk_080F58A8 - bl LoadRoomEntityList -_0804EF54: - movs r0, #9 - bl GetInventoryValue - cmp r0, #0 - bne _0804EF68 - movs r0, #4 - bl CheckGlobalFlag - cmp r0, #0 - beq _0804EF92 -_0804EF68: - ldr r0, _0804EF84 @ =gUnk_080F5868 - bl LoadRoomEntityList - movs r0, #0x56 - bl CheckLocalFlag - cmp r0, #0 - bne _0804EF8C - ldr r0, _0804EF88 @ =gUnk_080F5828 - bl LoadRoomEntityList - b _0804EF92 - .align 2, 0 -_0804EF80: .4byte gUnk_080F58A8 -_0804EF84: .4byte gUnk_080F5868 -_0804EF88: .4byte gUnk_080F5828 -_0804EF8C: - ldr r0, _0804EFA4 @ =gUnk_080F5848 - bl LoadRoomEntityList -_0804EF92: - ldr r0, _0804EFA8 @ =gUnk_02002A40 - adds r0, #0xbb - ldrb r0, [r0] - cmp r0, #0 - bne _0804EFA2 - ldr r0, _0804EFAC @ =gUnk_080F5788 - bl LoadRoomEntityList -_0804EFA2: - pop {pc} - .align 2, 0 -_0804EFA4: .4byte gUnk_080F5848 -_0804EFA8: .4byte gUnk_02002A40 -_0804EFAC: .4byte gUnk_080F5788 - - thumb_func_start sub_0804EFB0 -sub_0804EFB0: @ 0x0804EFB0 - movs r0, #1 - bx lr - - thumb_func_start nullsub_397 -nullsub_397: @ 0x0804EFB4 - bx lr - .align 2, 0 - - thumb_func_start sub_0804EFB8 -sub_0804EFB8: @ 0x0804EFB8 - movs r0, #1 - bx lr - - thumb_func_start sub_0804EFBC -sub_0804EFBC: @ 0x0804EFBC - push {lr} - movs r0, #0x38 - bl GetInventoryValue - cmp r0, #1 - bne _0804EFCE - ldr r0, _0804EFD0 @ =gUnk_080F5B3C - bl LoadRoomEntityList -_0804EFCE: - pop {pc} - .align 2, 0 -_0804EFD0: .4byte gUnk_080F5B3C - - thumb_func_start sub_0804EFD4 -sub_0804EFD4: @ 0x0804EFD4 - movs r0, #1 - bx lr - - thumb_func_start nullsub_398 -nullsub_398: @ 0x0804EFD8 - bx lr - .align 2, 0 - - thumb_func_start sub_0804EFDC -sub_0804EFDC: @ 0x0804EFDC - push {lr} - movs r0, #0x50 - bl CheckGlobalFlag - cmp r0, #0 - beq _0804EFEE - ldr r1, _0804EFF4 @ =gUnk_030010A0 - movs r0, #5 - strb r0, [r1, #0xf] -_0804EFEE: - movs r0, #1 - pop {pc} - .align 2, 0 -_0804EFF4: .4byte gUnk_030010A0 - - thumb_func_start sub_0804EFF8 -sub_0804EFF8: @ 0x0804EFF8 - push {lr} - ldr r0, _0804F020 @ =gUnk_02002A40 - ldrb r0, [r0, #8] - cmp r0, #7 - bls _0804F008 - ldr r0, _0804F024 @ =gUnk_080F5DD0 - bl LoadRoomEntityList -_0804F008: - movs r0, #0x50 - bl CheckGlobalFlag - cmp r0, #0 - beq _0804F01C - ldr r2, _0804F028 @ =gUnk_08011C50 - movs r0, #1 - movs r1, #2 - bl sub_080751E8 -_0804F01C: - pop {pc} - .align 2, 0 -_0804F020: .4byte gUnk_02002A40 -_0804F024: .4byte gUnk_080F5DD0 -_0804F028: .4byte gUnk_08011C50 - - thumb_func_start sub_0804F02C -sub_0804F02C: @ 0x0804F02C - movs r0, #1 - bx lr - - thumb_func_start sub_0804F030 -sub_0804F030: @ 0x0804F030 - push {lr} - movs r0, #0x80 - lsls r0, r0, #1 - movs r1, #0xd1 - bl CheckLocalFlagByOffset - cmp r0, #0 - bne _0804F046 - ldr r0, _0804F048 @ =gUnk_080F5E68 - bl LoadRoomEntityList -_0804F046: - pop {pc} - .align 2, 0 -_0804F048: .4byte gUnk_080F5E68 - - thumb_func_start sub_0804F04C -sub_0804F04C: @ 0x0804F04C - movs r0, #1 - bx lr - - thumb_func_start sub_0804F050 -sub_0804F050: @ 0x0804F050 - push {lr} - ldr r0, _0804F074 @ =gUnk_02002A40 - ldrb r0, [r0, #8] - cmp r0, #4 - bls _0804F060 - ldr r0, _0804F078 @ =gUnk_080F5F38 - bl LoadRoomEntityList -_0804F060: - movs r0, #0x92 - bl CheckLocalFlag - cmp r0, #0 - bne _0804F080 - ldr r0, _0804F07C @ =gUnk_080F5F58 - bl LoadRoomEntityList - b _0804F086 - .align 2, 0 -_0804F074: .4byte gUnk_02002A40 -_0804F078: .4byte gUnk_080F5F38 -_0804F07C: .4byte gUnk_080F5F58 -_0804F080: - ldr r0, _0804F088 @ =gUnk_080F5F78 - bl LoadRoomEntityList -_0804F086: - pop {pc} - .align 2, 0 -_0804F088: .4byte gUnk_080F5F78 - - thumb_func_start sub_0804F08C -sub_0804F08C: @ 0x0804F08C - movs r0, #1 - bx lr - - thumb_func_start nullsub_399 -nullsub_399: @ 0x0804F090 - bx lr - .align 2, 0 - - thumb_func_start sub_0804F094 -sub_0804F094: @ 0x0804F094 - movs r0, #1 - bx lr - - thumb_func_start nullsub_400 -nullsub_400: @ 0x0804F098 - bx lr - .align 2, 0 - - thumb_func_start sub_0804F09C -sub_0804F09C: @ 0x0804F09C - push {lr} - movs r0, #0x24 - bl CheckGlobalFlag - cmp r0, #0 - beq _0804F0BC - movs r0, #0x80 - lsls r0, r0, #1 - movs r1, #0xdc - bl CheckLocalFlagByOffset - cmp r0, #0 - beq _0804F0BC - movs r0, #0x58 - bl SetGlobalFlag -_0804F0BC: - movs r0, #1 - pop {pc} - - thumb_func_start sub_0804F0C0 -sub_0804F0C0: @ 0x0804F0C0 - push {r4, lr} - movs r0, #0x80 - lsls r0, r0, #1 - movs r1, #0xdc - bl CheckLocalFlagByOffset - cmp r0, #0 - beq _0804F0D6 - movs r0, #0x90 - bl SetLocalFlag -_0804F0D6: - movs r0, #0xf - bl CheckKinstoneFused - cmp r0, #0 - beq _0804F0E6 - ldr r0, _0804F118 @ =gUnk_080F61BC - bl LoadRoomEntityList -_0804F0E6: - movs r0, #0x58 - bl CheckGlobalFlag - cmp r0, #0 - bne _0804F106 - ldr r4, _0804F11C @ =0x00004072 - ldr r1, _0804F120 @ =0x000004C7 - adds r0, r4, #0 - movs r2, #1 - bl SetTileType - ldr r1, _0804F124 @ =0x00000507 - adds r0, r4, #0 - movs r2, #1 - bl SetTileType -_0804F106: - movs r2, #0xf4 - lsls r2, r2, #1 - movs r3, #0xac - lsls r3, r3, #1 - movs r0, #8 - movs r1, #0 - bl sub_08052CA4 - pop {r4, pc} - .align 2, 0 -_0804F118: .4byte gUnk_080F61BC -_0804F11C: .4byte 0x00004072 -_0804F120: .4byte 0x000004C7 -_0804F124: .4byte 0x00000507 - - thumb_func_start sub_0804F128 -sub_0804F128: @ 0x0804F128 - movs r0, #1 - bx lr - - thumb_func_start sub_0804F12C -sub_0804F12C: @ 0x0804F12C - push {lr} - movs r0, #0x58 - bl CheckGlobalFlag - cmp r0, #0 - bne _0804F144 - ldr r0, _0804F140 @ =gUnk_080F62E4 - bl LoadRoomEntityList - b _0804F154 - .align 2, 0 -_0804F140: .4byte gUnk_080F62E4 -_0804F144: - movs r0, #0x63 - bl CheckLocalFlag - cmp r0, #0 - beq _0804F154 - ldr r0, _0804F158 @ =gUnk_080F6324 - bl LoadRoomEntityList -_0804F154: - pop {pc} - .align 2, 0 -_0804F158: .4byte gUnk_080F6324 - - thumb_func_start sub_0804F15C -sub_0804F15C: @ 0x0804F15C - movs r0, #1 - bx lr - - thumb_func_start nullsub_401 -nullsub_401: @ 0x0804F160 - bx lr - .align 2, 0 - - thumb_func_start sub_0804F164 -sub_0804F164: @ 0x0804F164 - movs r0, #1 - bx lr - - thumb_func_start sub_0804F168 -sub_0804F168: @ 0x0804F168 - push {lr} - movs r0, #0xb1 - bl CheckLocalFlag - cmp r0, #0 - bne _0804F180 - ldr r0, _0804F17C @ =gUnk_080F6564 - bl LoadRoomEntityList - b _0804F186 - .align 2, 0 -_0804F17C: .4byte gUnk_080F6564 -_0804F180: - ldr r0, _0804F188 @ =gUnk_080F6584 - bl LoadRoomEntityList -_0804F186: - pop {pc} - .align 2, 0 -_0804F188: .4byte gUnk_080F6584 - - thumb_func_start sub_0804F18C -sub_0804F18C: @ 0x0804F18C - movs r0, #1 - bx lr - - thumb_func_start sub_0804F190 -sub_0804F190: @ 0x0804F190 - push {lr} - movs r0, #5 - bl sub_0805B4D0 - movs r0, #6 - bl CheckGlobalFlag - cmp r0, #0 - beq _0804F1B6 - movs r0, #0x80 - lsls r0, r0, #1 - movs r1, #5 - bl CheckLocalFlagByOffset - cmp r0, #0 - bne _0804F1B6 - ldr r0, _0804F1D4 @ =gUnk_080F66AC - bl LoadRoomEntityList -_0804F1B6: - movs r2, #0xf4 - lsls r2, r2, #1 - movs r3, #0xac - lsls r3, r3, #1 - movs r0, #8 - movs r1, #0 - bl sub_08052CA4 - ldr r2, _0804F1D8 @ =gArea - ldrb r1, [r2] - movs r0, #0x80 - orrs r0, r1 - strb r0, [r2] - pop {pc} - .align 2, 0 -_0804F1D4: .4byte gUnk_080F66AC -_0804F1D8: .4byte gArea - - thumb_func_start sub_0804F1DC -sub_0804F1DC: @ 0x0804F1DC - movs r0, #1 - bx lr - - thumb_func_start nullsub_402 -nullsub_402: @ 0x0804F1E0 - bx lr - .align 2, 0 - - thumb_func_start sub_0804F1E4 -sub_0804F1E4: @ 0x0804F1E4 - movs r0, #1 - bx lr - - thumb_func_start nullsub_403 -nullsub_403: @ 0x0804F1E8 - bx lr - .align 2, 0 - - thumb_func_start sub_0804F1EC -sub_0804F1EC: @ 0x0804F1EC - movs r0, #1 - bx lr - - thumb_func_start nullsub_404 -nullsub_404: @ 0x0804F1F0 - bx lr - .align 2, 0 - - thumb_func_start sub_0804F1F4 -sub_0804F1F4: @ 0x0804F1F4 - movs r0, #1 - bx lr - - thumb_func_start nullsub_405 -nullsub_405: @ 0x0804F1F8 - bx lr - .align 2, 0 - - thumb_func_start sub_0804F1FC -sub_0804F1FC: @ 0x0804F1FC - movs r0, #1 - bx lr - - thumb_func_start nullsub_406 -nullsub_406: @ 0x0804F200 - bx lr - .align 2, 0 - - thumb_func_start sub_0804F204 -sub_0804F204: @ 0x0804F204 - movs r0, #1 - bx lr - - thumb_func_start nullsub_407 -nullsub_407: @ 0x0804F208 - bx lr - .align 2, 0 - - thumb_func_start sub_0804F20C -sub_0804F20C: @ 0x0804F20C - movs r0, #1 - bx lr - - thumb_func_start nullsub_408 -nullsub_408: @ 0x0804F210 - bx lr - .align 2, 0 - - thumb_func_start sub_0804F214 -sub_0804F214: @ 0x0804F214 - movs r0, #1 - bx lr - - thumb_func_start nullsub_409 -nullsub_409: @ 0x0804F218 - bx lr - .align 2, 0 - - thumb_func_start sub_0804F21C -sub_0804F21C: @ 0x0804F21C - movs r0, #1 - bx lr - - thumb_func_start nullsub_410 -nullsub_410: @ 0x0804F220 - bx lr - .align 2, 0 - - thumb_func_start sub_0804F224 -sub_0804F224: @ 0x0804F224 - movs r0, #1 - bx lr - - thumb_func_start nullsub_411 -nullsub_411: @ 0x0804F228 - bx lr - .align 2, 0 - - thumb_func_start sub_0804F22C -sub_0804F22C: @ 0x0804F22C - movs r0, #1 - bx lr - - thumb_func_start sub_0804F230 -sub_0804F230: @ 0x0804F230 - push {lr} - movs r0, #0 - bl sub_0805ADD8 - pop {pc} - .align 2, 0 - - thumb_func_start sub_0804F23C -sub_0804F23C: @ 0x0804F23C - push {lr} - movs r0, #0x6d - bl CheckLocalFlag - cmp r0, #0 - bne _0804F252 - movs r1, #0x80 - lsls r1, r1, #1 - movs r0, #7 - bl DoFade -_0804F252: - movs r0, #0x49 - bl SetGlobalFlag - movs r0, #1 - pop {pc} - - thumb_func_start sub_0804F25C -sub_0804F25C: @ 0x0804F25C - push {r4, lr} - movs r0, #0 - bl sub_0805ADD8 - movs r0, #0x6d - bl CheckLocalFlag - cmp r0, #0 - bne _0804F27A - ldr r0, _0804F2B0 @ =gUnk_080F70A8 - bl LoadRoomEntityList - movs r0, #0x1c - bl ClearGlobalFlag -_0804F27A: - movs r0, #0x15 - bl CheckGlobalFlag - cmp r0, #0 - bne _0804F28E - ldr r0, _0804F2B4 @ =gArea - ldr r1, _0804F2B8 @ =0x00000864 - adds r0, r0, r1 - movs r1, #0x10 - str r1, [r0] -_0804F28E: - ldr r4, _0804F2BC @ =gUnk_02002A40 - ldr r0, [r4, #0x40] - movs r1, #0x80 - lsls r1, r1, #0x17 - ands r0, r1 - cmp r0, #0 - bne _0804F2A2 - ldr r0, _0804F2C0 @ =gUnk_080F70D8 - bl LoadRoomEntityList -_0804F2A2: - ldrb r0, [r4, #8] - cmp r0, #3 - bls _0804F2AE - ldr r0, _0804F2C4 @ =gUnk_080F7088 - bl LoadRoomEntityList -_0804F2AE: - pop {r4, pc} - .align 2, 0 -_0804F2B0: .4byte gUnk_080F70A8 -_0804F2B4: .4byte gArea -_0804F2B8: .4byte 0x00000864 -_0804F2BC: .4byte gUnk_02002A40 -_0804F2C0: .4byte gUnk_080F70D8 -_0804F2C4: .4byte gUnk_080F7088 - - thumb_func_start sub_0804F2C8 -sub_0804F2C8: @ 0x0804F2C8 - push {lr} - ldr r0, _0804F2E0 @ =gUnk_02002A40 - ldr r0, [r0, #0x40] - movs r1, #0x80 - lsls r1, r1, #0x17 - ands r0, r1 - cmp r0, #0 - bne _0804F2DE - ldr r0, _0804F2E4 @ =gUnk_080F70D8 - bl LoadRoomEntityList -_0804F2DE: - pop {pc} - .align 2, 0 -_0804F2E0: .4byte gUnk_02002A40 -_0804F2E4: .4byte gUnk_080F70D8 - - thumb_func_start sub_0804F2E8 -sub_0804F2E8: @ 0x0804F2E8 - movs r0, #1 - bx lr - - thumb_func_start sub_0804F2EC -sub_0804F2EC: @ 0x0804F2EC - push {lr} - movs r0, #0 - bl sub_0805ADD8 - pop {pc} - .align 2, 0 - - thumb_func_start sub_0804F2F8 -sub_0804F2F8: @ 0x0804F2F8 - movs r0, #1 - bx lr - - thumb_func_start sub_0804F2FC -sub_0804F2FC: @ 0x0804F2FC - push {lr} - movs r0, #0 - bl sub_0805ADD8 - pop {pc} - .align 2, 0 - - thumb_func_start sub_0804F308 -sub_0804F308: @ 0x0804F308 - push {lr} - movs r0, #0x11 - bl GetInventoryValue - cmp r0, #0 - beq _0804F324 - movs r0, #0x12 - bl GetInventoryValue - cmp r0, #0 - bne _0804F324 - ldr r1, _0804F328 @ =gRoomVars - ldr r0, _0804F32C @ =gUnk_080F7680 - str r0, [r1, #0x74] -_0804F324: - movs r0, #1 - pop {pc} - .align 2, 0 -_0804F328: .4byte gRoomVars -_0804F32C: .4byte gUnk_080F7680 - - thumb_func_start sub_0804F330 -sub_0804F330: @ 0x0804F330 - push {r4, lr} - movs r0, #0 - bl sub_0805ADD8 - ldr r0, _0804F38C @ =gUnk_02002A40 - ldrb r0, [r0, #8] - cmp r0, #3 - bls _0804F346 - ldr r0, _0804F390 @ =gUnk_080F7500 - bl LoadRoomEntityList -_0804F346: - movs r0, #0x11 - bl GetInventoryValue - cmp r0, #0 - beq _0804F38A - movs r0, #0x12 - bl GetInventoryValue - cmp r0, #0 - bne _0804F38A - ldr r0, _0804F394 @ =gUnk_080F7550 - bl LoadRoomEntityList - ldr r4, _0804F398 @ =0x00004072 - ldr r1, _0804F39C @ =0x00000311 - adds r0, r4, #0 - movs r2, #1 - bl SetTileType - ldr r1, _0804F3A0 @ =0x00000351 - adds r0, r4, #0 - movs r2, #1 - bl SetTileType - ldr r1, _0804F3A4 @ =0x000003D9 - adds r0, r4, #0 - movs r2, #1 - bl SetTileType - ldr r1, _0804F3A8 @ =0x00000419 - adds r0, r4, #0 - movs r2, #1 - bl SetTileType -_0804F38A: - pop {r4, pc} - .align 2, 0 -_0804F38C: .4byte gUnk_02002A40 -_0804F390: .4byte gUnk_080F7500 -_0804F394: .4byte gUnk_080F7550 -_0804F398: .4byte 0x00004072 -_0804F39C: .4byte 0x00000311 -_0804F3A0: .4byte 0x00000351 -_0804F3A4: .4byte 0x000003D9 -_0804F3A8: .4byte 0x00000419 - - thumb_func_start sub_0804F3AC -sub_0804F3AC: @ 0x0804F3AC - movs r0, #1 - bx lr - - thumb_func_start sub_0804F3B0 -sub_0804F3B0: @ 0x0804F3B0 - push {lr} - movs r0, #0 - bl sub_0805ADD8 - movs r0, #0x80 - lsls r0, r0, #2 - movs r1, #0x8f - bl CheckLocalFlagByOffset - cmp r0, #0 - beq _0804F3DC - movs r0, #0x1d - bl CheckGlobalFlag - cmp r0, #0 - bne _0804F3EC - ldr r0, _0804F3D8 @ =gUnk_080F77C0 - bl LoadRoomEntityList - b _0804F3EC - .align 2, 0 -_0804F3D8: .4byte gUnk_080F77C0 -_0804F3DC: - movs r0, #0x40 - bl GetInventoryValue - cmp r0, #0 - beq _0804F3EC - ldr r0, _0804F444 @ =gUnk_080F77F0 - bl LoadRoomEntityList -_0804F3EC: - movs r0, #0x15 - bl CheckGlobalFlag - cmp r0, #0 - beq _0804F406 - movs r0, #0x40 - bl GetInventoryValue - cmp r0, #0 - bne _0804F406 - ldr r0, _0804F448 @ =gUnk_080F7810 - bl LoadRoomEntityList -_0804F406: - movs r0, #0x29 - bl CheckKinstoneFused - cmp r0, #0 - bne _0804F42A - ldr r0, _0804F44C @ =gUnk_080F7860 - bl LoadRoomEntityList - ldr r0, _0804F450 @ =0x00004072 - ldr r1, _0804F454 @ =0x00000D88 - movs r2, #1 - bl SetTile - ldr r0, _0804F458 @ =0x00004096 - ldr r1, _0804F45C @ =0x00000DC8 - movs r2, #1 - bl SetTile -_0804F42A: - ldr r0, _0804F460 @ =gUnk_02002A40 - ldrb r0, [r0, #8] - cmp r0, #3 - bls _0804F442 - movs r0, #0x5c - bl CheckGlobalFlag - cmp r0, #0 - beq _0804F442 - ldr r0, _0804F464 @ =gUnk_080F78A0 - bl LoadRoomEntityList -_0804F442: - pop {pc} - .align 2, 0 -_0804F444: .4byte gUnk_080F77F0 -_0804F448: .4byte gUnk_080F7810 -_0804F44C: .4byte gUnk_080F7860 -_0804F450: .4byte 0x00004072 -_0804F454: .4byte 0x00000D88 -_0804F458: .4byte 0x00004096 -_0804F45C: .4byte 0x00000DC8 -_0804F460: .4byte gUnk_02002A40 -_0804F464: .4byte gUnk_080F78A0 - - thumb_func_start sub_0804F468 -sub_0804F468: @ 0x0804F468 - push {lr} - movs r0, #0x15 - bl CheckGlobalFlag - cmp r0, #0 - beq _0804F48A - movs r0, #0x11 - bl GetInventoryValue - cmp r0, #0 - bne _0804F48A - ldr r0, _0804F4D0 @ =gRoomVars - ldr r1, _0804F4D4 @ =gUnk_080F7CD0 - str r1, [r0, #0x6c] - adds r0, #0x88 - ldr r1, _0804F4D8 @ =sub_0804F5E8 - str r1, [r0] -_0804F48A: - movs r0, #3 - bl CheckGlobalFlag - cmp r0, #0 - beq _0804F4BA - movs r0, #3 - bl GetInventoryValue - cmp r0, #0 - beq _0804F4BA - movs r0, #0x8c - bl CheckLocalFlag - adds r3, r0, #0 - cmp r3, #0 - bne _0804F4BA - ldr r1, _0804F4D0 @ =gRoomVars - ldr r0, _0804F4DC @ =gUnk_080F7C80 - str r0, [r1, #0x6c] - adds r2, r1, #0 - adds r2, #0x88 - ldr r0, _0804F4E0 @ =sub_0804F4E4 - str r0, [r2] - str r3, [r1, #0x74] -_0804F4BA: - movs r0, #0x15 - bl CheckGlobalFlag - cmp r0, #0 - beq _0804F4CA - movs r0, #0x64 - bl ClearGlobalFlag -_0804F4CA: - movs r0, #1 - pop {pc} - .align 2, 0 -_0804F4D0: .4byte gRoomVars -_0804F4D4: .4byte gUnk_080F7CD0 -_0804F4D8: .4byte sub_0804F5E8 -_0804F4DC: .4byte gUnk_080F7C80 -_0804F4E0: .4byte sub_0804F4E4 - - thumb_func_start sub_0804F4E4 -sub_0804F4E4: @ 0x0804F4E4 - push {lr} - movs r0, #0 - bl sub_0805ADD8 - bl sub_0804F578 - pop {pc} - .align 2, 0 - - thumb_func_start sub_0804F4F4 -sub_0804F4F4: @ 0x0804F4F4 - push {r4, lr} - bl sub_0804F4E4 - movs r0, #0x8b - bl CheckLocalFlag - cmp r0, #0 - bne _0804F540 - ldr r0, _0804F558 @ =gUnk_080F7D70 - bl LoadRoomEntityList - movs r4, #0xba - lsls r4, r4, #1 - ldr r1, _0804F55C @ =0x000007A2 - adds r0, r4, #0 - movs r2, #1 - bl SetTileType - ldr r1, _0804F560 @ =0x000007A3 - adds r0, r4, #0 - movs r2, #1 - bl SetTileType - ldr r1, _0804F564 @ =0x000007A5 - adds r0, r4, #0 - movs r2, #1 - bl SetTileType - ldr r1, _0804F568 @ =0x000007A6 - adds r0, r4, #0 - movs r2, #1 - bl SetTileType - ldr r1, _0804F56C @ =0x000007A7 - adds r0, r4, #0 - movs r2, #1 - bl SetTileType -_0804F540: - movs r0, #0x15 - bl CheckGlobalFlag - cmp r0, #0 - bne _0804F554 - ldr r0, _0804F570 @ =gArea - ldr r1, _0804F574 @ =0x00000864 - adds r0, r0, r1 - movs r1, #0x13 - str r1, [r0] -_0804F554: - pop {r4, pc} - .align 2, 0 -_0804F558: .4byte gUnk_080F7D70 -_0804F55C: .4byte 0x000007A2 -_0804F560: .4byte 0x000007A3 -_0804F564: .4byte 0x000007A5 -_0804F568: .4byte 0x000007A6 -_0804F56C: .4byte 0x000007A7 -_0804F570: .4byte gArea -_0804F574: .4byte 0x00000864 - - thumb_func_start sub_0804F578 -sub_0804F578: @ 0x0804F578 - push {lr} - movs r0, #0x8e - bl CheckLocalFlag - cmp r0, #0 - bne _0804F590 - ldr r0, _0804F58C @ =gUnk_080F7DC0 - bl LoadRoomEntityList - b _0804F5CC - .align 2, 0 -_0804F58C: .4byte gUnk_080F7DC0 -_0804F590: - ldr r1, _0804F5D0 @ =0x0000094A - movs r0, #0x37 - movs r2, #1 - bl SetTileType - ldr r1, _0804F5D4 @ =0x0000094B - movs r0, #0x37 - movs r2, #1 - bl SetTileType - ldr r1, _0804F5D8 @ =0x0000094C - movs r0, #0x37 - movs r2, #1 - bl SetTileType - ldr r1, _0804F5DC @ =0x0000098A - movs r0, #0x37 - movs r2, #1 - bl SetTileType - ldr r1, _0804F5E0 @ =0x0000098B - movs r0, #0x37 - movs r2, #1 - bl SetTileType - ldr r1, _0804F5E4 @ =0x0000098C - movs r0, #0x37 - movs r2, #1 - bl SetTileType -_0804F5CC: - pop {pc} - .align 2, 0 -_0804F5D0: .4byte 0x0000094A -_0804F5D4: .4byte 0x0000094B -_0804F5D8: .4byte 0x0000094C -_0804F5DC: .4byte 0x0000098A -_0804F5E0: .4byte 0x0000098B -_0804F5E4: .4byte 0x0000098C - - thumb_func_start sub_0804F5E8 -sub_0804F5E8: @ 0x0804F5E8 - push {r4, lr} - bl sub_0804F4E4 - ldr r0, _0804F654 @ =0x000001D3 - ldr r1, _0804F658 @ =0x00000BDE - movs r2, #1 - bl SetTileType - movs r4, #0xeb - lsls r4, r4, #1 - ldr r1, _0804F65C @ =0x00000BE2 - adds r0, r4, #0 - movs r2, #1 - bl SetTileType - movs r0, #0xea - lsls r0, r0, #1 - ldr r1, _0804F660 @ =0x00000C1F - movs r2, #1 - bl SetTileType - ldr r0, _0804F664 @ =0x000001D5 - movs r1, #0xc2 - lsls r1, r1, #4 - movs r2, #1 - bl SetTileType - ldr r1, _0804F668 @ =0x00000C5E - adds r0, r4, #0 - movs r2, #1 - bl SetTileType - ldr r4, _0804F66C @ =0x00004072 - ldr r1, _0804F670 @ =0x00000B9B - adds r0, r4, #0 - movs r2, #1 - bl SetTileType - ldr r1, _0804F674 @ =0x00000BDB - adds r0, r4, #0 - movs r2, #1 - bl SetTileType - ldr r1, _0804F678 @ =0x00000AA4 - adds r0, r4, #0 - movs r2, #1 - bl SetTileType - ldr r1, _0804F67C @ =0x00000AE4 - adds r0, r4, #0 - movs r2, #1 - bl SetTileType - pop {r4, pc} - .align 2, 0 -_0804F654: .4byte 0x000001D3 -_0804F658: .4byte 0x00000BDE -_0804F65C: .4byte 0x00000BE2 -_0804F660: .4byte 0x00000C1F -_0804F664: .4byte 0x000001D5 -_0804F668: .4byte 0x00000C5E -_0804F66C: .4byte 0x00004072 -_0804F670: .4byte 0x00000B9B -_0804F674: .4byte 0x00000BDB -_0804F678: .4byte 0x00000AA4 -_0804F67C: .4byte 0x00000AE4 - - thumb_func_start sub_0804F680 -sub_0804F680: @ 0x0804F680 - push {r4, r5, lr} - adds r4, r1, #0 - adds r5, r2, #0 - movs r1, #2 - movs r2, #0 - bl CreateFx - adds r2, r0, #0 - cmp r2, #0 - beq _0804F6A2 - ldr r0, _0804F6A4 @ =gRoomControls - ldrh r1, [r0, #6] - adds r1, r1, r4 - strh r1, [r2, #0x2e] - ldrh r0, [r0, #8] - adds r0, r0, r5 - strh r0, [r2, #0x32] -_0804F6A2: - pop {r4, r5, pc} - .align 2, 0 -_0804F6A4: .4byte gRoomControls - - thumb_func_start sub_0804F6A8 -sub_0804F6A8: @ 0x0804F6A8 - push {r4, lr} - adds r4, r0, #0 - movs r1, #0xec - lsls r1, r1, #1 - movs r2, #0x84 - lsls r2, r2, #1 - bl sub_0804F680 - movs r1, #0x86 - lsls r1, r1, #2 - movs r2, #0xc4 - lsls r2, r2, #1 - adds r0, r4, #0 - bl sub_0804F680 - pop {r4, pc} - - thumb_func_start sub_0804F6C8 -sub_0804F6C8: @ 0x0804F6C8 - push {r4, lr} - adds r4, r0, #0 - movs r1, #0xf4 - lsls r1, r1, #1 - movs r2, #0x84 - lsls r2, r2, #1 - bl sub_0804F680 - movs r1, #0x82 - lsls r1, r1, #2 - movs r2, #0xc4 - lsls r2, r2, #1 - adds r0, r4, #0 - bl sub_0804F680 - pop {r4, pc} - - thumb_func_start sub_0804F6E8 -sub_0804F6E8: @ 0x0804F6E8 - push {r4, r5, lr} - adds r4, r0, #0 - movs r5, #0xfc - lsls r5, r5, #1 - movs r2, #0x84 - lsls r2, r2, #1 - adds r1, r5, #0 - bl sub_0804F680 - movs r1, #0x96 - lsls r1, r1, #2 - movs r2, #0x9c - lsls r2, r2, #1 - adds r0, r4, #0 - bl sub_0804F680 - movs r2, #0xc4 - lsls r2, r2, #1 - adds r0, r4, #0 - adds r1, r5, #0 - bl sub_0804F680 - movs r1, #0xcc - lsls r1, r1, #1 - movs r2, #0xac - lsls r2, r2, #1 - adds r0, r4, #0 - bl sub_0804F680 - pop {r4, r5, pc} - - thumb_func_start sub_0804F724 -sub_0804F724: @ 0x0804F724 - push {r4, r5, lr} - adds r4, r0, #0 - movs r1, #0x82 - lsls r1, r1, #2 - movs r2, #0x84 - lsls r2, r2, #1 - bl sub_0804F680 - movs r1, #0x96 - lsls r1, r1, #2 - movs r5, #0xa4 - lsls r5, r5, #1 - adds r0, r4, #0 - adds r2, r5, #0 - bl sub_0804F680 - movs r1, #0xf4 - lsls r1, r1, #1 - movs r2, #0xc4 - lsls r2, r2, #1 - adds r0, r4, #0 - bl sub_0804F680 - movs r1, #0xcc - lsls r1, r1, #1 - adds r0, r4, #0 - adds r2, r5, #0 - bl sub_0804F680 - pop {r4, r5, pc} - - thumb_func_start sub_0804F760 -sub_0804F760: @ 0x0804F760 - push {r4, lr} - adds r4, r0, #0 - movs r1, #0x86 - lsls r1, r1, #2 - movs r2, #0x84 - lsls r2, r2, #1 - bl sub_0804F680 - movs r1, #0x96 - lsls r1, r1, #2 - movs r2, #0xac - lsls r2, r2, #1 - adds r0, r4, #0 - bl sub_0804F680 - movs r1, #0xec - lsls r1, r1, #1 - movs r2, #0xc4 - lsls r2, r2, #1 - adds r0, r4, #0 - bl sub_0804F680 - movs r1, #0xcc - lsls r1, r1, #1 - movs r2, #0x9c - lsls r2, r2, #1 - adds r0, r4, #0 - bl sub_0804F680 - pop {r4, pc} - - thumb_func_start sub_0804F79C -sub_0804F79C: @ 0x0804F79C - push {r4, lr} - adds r4, r0, #0 - movs r1, #0x35 - movs r2, #0 - bl CreateFx - adds r2, r0, #0 - cmp r2, #0 - beq _0804F7D0 - ldrb r1, [r2, #0x19] - movs r0, #0x3f - ands r0, r1 - strb r0, [r2, #0x19] - ldr r1, _0804F804 @ =gRoomControls - movs r3, #0xdc - lsls r3, r3, #1 - adds r0, r3, #0 - ldrh r3, [r1, #6] - adds r0, r0, r3 - strh r0, [r2, #0x2e] - movs r3, #0xa4 - lsls r3, r3, #1 - adds r0, r3, #0 - ldrh r1, [r1, #8] - adds r0, r0, r1 - strh r0, [r2, #0x32] -_0804F7D0: - adds r0, r4, #0 - movs r1, #0x35 - movs r2, #0 - bl CreateFx - adds r2, r0, #0 - cmp r2, #0 - beq _0804F802 - ldrb r1, [r2, #0x19] - movs r0, #0x3f - ands r0, r1 - strb r0, [r2, #0x19] - ldr r1, _0804F804 @ =gRoomControls - movs r3, #0x8e - lsls r3, r3, #2 - adds r0, r3, #0 - ldrh r3, [r1, #6] - adds r0, r0, r3 - strh r0, [r2, #0x2e] - movs r3, #0xa4 - lsls r3, r3, #1 - adds r0, r3, #0 - ldrh r1, [r1, #8] - adds r0, r0, r1 - strh r0, [r2, #0x32] -_0804F802: - pop {r4, pc} - .align 2, 0 -_0804F804: .4byte gRoomControls - - thumb_func_start sub_0804F808 -sub_0804F808: @ 0x0804F808 - push {r4, lr} - ldr r4, _0804F824 @ =0x000001D3 - ldr r1, _0804F828 @ =0x0000041D - adds r0, r4, #0 - movs r2, #1 - bl SetTileType - ldr r1, _0804F82C @ =0x00000621 - adds r0, r4, #0 - movs r2, #1 - bl SetTileType - pop {r4, pc} - .align 2, 0 -_0804F824: .4byte 0x000001D3 -_0804F828: .4byte 0x0000041D -_0804F82C: .4byte 0x00000621 - - thumb_func_start sub_0804F830 -sub_0804F830: @ 0x0804F830 - push {r4, lr} - movs r4, #0xea - lsls r4, r4, #1 - ldr r1, _0804F850 @ =0x0000041E - adds r0, r4, #0 - movs r2, #1 - bl SetTileType - movs r1, #0xc4 - lsls r1, r1, #3 - adds r0, r4, #0 - movs r2, #1 - bl SetTileType - pop {r4, pc} - .align 2, 0 -_0804F850: .4byte 0x0000041E - - thumb_func_start sub_0804F854 -sub_0804F854: @ 0x0804F854 - push {r4, r5, lr} - ldr r5, _0804F888 @ =0x000001D5 - ldr r1, _0804F88C @ =0x0000041F - adds r0, r5, #0 - movs r2, #1 - bl SetTileType - movs r4, #0xea - lsls r4, r4, #1 - ldr r1, _0804F890 @ =0x000004E5 - adds r0, r4, #0 - movs r2, #1 - bl SetTileType - ldr r1, _0804F894 @ =0x0000061F - adds r0, r5, #0 - movs r2, #1 - bl SetTileType - ldr r1, _0804F898 @ =0x00000559 - adds r0, r4, #0 - movs r2, #1 - bl SetTileType - pop {r4, r5, pc} - .align 2, 0 -_0804F888: .4byte 0x000001D5 -_0804F88C: .4byte 0x0000041F -_0804F890: .4byte 0x000004E5 -_0804F894: .4byte 0x0000061F -_0804F898: .4byte 0x00000559 - - thumb_func_start sub_0804F89C -sub_0804F89C: @ 0x0804F89C - push {r4, r5, lr} - movs r5, #0xeb - lsls r5, r5, #1 - movs r1, #0x84 - lsls r1, r1, #3 - adds r0, r5, #0 - movs r2, #1 - bl SetTileType - ldr r4, _0804F8D0 @ =0x000001D5 - ldr r1, _0804F8D4 @ =0x00000525 - adds r0, r4, #0 - movs r2, #1 - bl SetTileType - ldr r1, _0804F8D8 @ =0x0000061E - adds r0, r5, #0 - movs r2, #1 - bl SetTileType - ldr r1, _0804F8DC @ =0x00000519 - adds r0, r4, #0 - movs r2, #1 - bl SetTileType - pop {r4, r5, pc} - .align 2, 0 -_0804F8D0: .4byte 0x000001D5 -_0804F8D4: .4byte 0x00000525 -_0804F8D8: .4byte 0x0000061E -_0804F8DC: .4byte 0x00000519 - - thumb_func_start sub_0804F8E0 -sub_0804F8E0: @ 0x0804F8E0 - push {r4, r5, lr} - ldr r5, _0804F914 @ =0x000001D3 - ldr r1, _0804F918 @ =0x00000421 - adds r0, r5, #0 - movs r2, #1 - bl SetTileType - movs r4, #0xeb - lsls r4, r4, #1 - ldr r1, _0804F91C @ =0x00000565 - adds r0, r4, #0 - movs r2, #1 - bl SetTileType - ldr r1, _0804F920 @ =0x0000061D - adds r0, r5, #0 - movs r2, #1 - bl SetTileType - ldr r1, _0804F924 @ =0x000004D9 - adds r0, r4, #0 - movs r2, #1 - bl SetTileType - pop {r4, r5, pc} - .align 2, 0 -_0804F914: .4byte 0x000001D3 -_0804F918: .4byte 0x00000421 -_0804F91C: .4byte 0x00000565 -_0804F920: .4byte 0x0000061D -_0804F924: .4byte 0x000004D9 - - thumb_func_start sub_0804F928 -sub_0804F928: @ 0x0804F928 - push {lr} - ldr r0, _0804F93C @ =0x0000041D - movs r1, #1 - bl sub_0807BA8C - ldr r0, _0804F940 @ =0x00000621 - movs r1, #1 - bl sub_0807BA8C - pop {pc} - .align 2, 0 -_0804F93C: .4byte 0x0000041D -_0804F940: .4byte 0x00000621 - - thumb_func_start sub_0804F944 -sub_0804F944: @ 0x0804F944 - push {lr} - ldr r0, _0804F95C @ =0x0000041E - movs r1, #1 - bl sub_0807BA8C - movs r0, #0xc4 - lsls r0, r0, #3 - movs r1, #1 - bl sub_0807BA8C - pop {pc} - .align 2, 0 -_0804F95C: .4byte 0x0000041E - - thumb_func_start sub_0804F960 -sub_0804F960: @ 0x0804F960 - push {lr} - ldr r0, _0804F984 @ =0x0000041F - movs r1, #1 - bl sub_0807BA8C - ldr r0, _0804F988 @ =0x000004E5 - movs r1, #1 - bl sub_0807BA8C - ldr r0, _0804F98C @ =0x0000061F - movs r1, #1 - bl sub_0807BA8C - ldr r0, _0804F990 @ =0x00000559 - movs r1, #1 - bl sub_0807BA8C - pop {pc} - .align 2, 0 -_0804F984: .4byte 0x0000041F -_0804F988: .4byte 0x000004E5 -_0804F98C: .4byte 0x0000061F -_0804F990: .4byte 0x00000559 - - thumb_func_start sub_0804F994 -sub_0804F994: @ 0x0804F994 - push {lr} - movs r0, #0x84 - lsls r0, r0, #3 - movs r1, #1 - bl sub_0807BA8C - ldr r0, _0804F9BC @ =0x00000525 - movs r1, #1 - bl sub_0807BA8C - ldr r0, _0804F9C0 @ =0x0000061E - movs r1, #1 - bl sub_0807BA8C - ldr r0, _0804F9C4 @ =0x00000519 - movs r1, #1 - bl sub_0807BA8C - pop {pc} - .align 2, 0 -_0804F9BC: .4byte 0x00000525 -_0804F9C0: .4byte 0x0000061E -_0804F9C4: .4byte 0x00000519 - - thumb_func_start sub_0804F9C8 -sub_0804F9C8: @ 0x0804F9C8 - push {lr} - ldr r0, _0804F9EC @ =0x00000421 - movs r1, #1 - bl sub_0807BA8C - ldr r0, _0804F9F0 @ =0x00000565 - movs r1, #1 - bl sub_0807BA8C - ldr r0, _0804F9F4 @ =0x0000061D - movs r1, #1 - bl sub_0807BA8C - ldr r0, _0804F9F8 @ =0x000004D9 - movs r1, #1 - bl sub_0807BA8C - pop {pc} - .align 2, 0 -_0804F9EC: .4byte 0x00000421 -_0804F9F0: .4byte 0x00000565 -_0804F9F4: .4byte 0x0000061D -_0804F9F8: .4byte 0x000004D9 - - thumb_func_start sub_0804F9FC -sub_0804F9FC: @ 0x0804F9FC - movs r0, #1 - bx lr - - thumb_func_start sub_0804FA00 -sub_0804FA00: @ 0x0804FA00 - push {lr} - movs r0, #0 - bl sub_0805ADD8 - ldr r0, _0804FA24 @ =gUnk_02002A40 - ldrb r0, [r0, #8] - cmp r0, #3 - bls _0804FA20 - movs r0, #0x5c - bl CheckGlobalFlag - cmp r0, #0 - beq _0804FA20 - ldr r0, _0804FA28 @ =gUnk_080F806C - bl LoadRoomEntityList -_0804FA20: - pop {pc} - .align 2, 0 -_0804FA24: .4byte gUnk_02002A40 -_0804FA28: .4byte gUnk_080F806C - - thumb_func_start sub_0804FA2C -sub_0804FA2C: @ 0x0804FA2C - movs r0, #1 - bx lr - - thumb_func_start sub_0804FA30 -sub_0804FA30: @ 0x0804FA30 - push {lr} - movs r0, #0 - bl sub_0805ADD8 - movs r0, #3 - bl CheckGlobalFlag - cmp r0, #0 - beq _0804FA5C - movs r0, #3 - bl GetInventoryValue - cmp r0, #0 - beq _0804FA5C - movs r0, #0x9c - bl CheckLocalFlag - cmp r0, #0 - bne _0804FA5C - ldr r0, _0804FA60 @ =gUnk_080F82E0 - bl LoadRoomEntityList -_0804FA5C: - pop {pc} - .align 2, 0 -_0804FA60: .4byte gUnk_080F82E0 - - thumb_func_start sub_0804FA64 -sub_0804FA64: @ 0x0804FA64 - movs r0, #1 - bx lr - - thumb_func_start sub_0804FA68 -sub_0804FA68: @ 0x0804FA68 - push {lr} - movs r0, #0 - bl sub_0805ADD8 - movs r0, #0x21 - bl CheckKinstoneFused - cmp r0, #0 - beq _0804FA8E - movs r0, #0x80 - lsls r0, r0, #2 - movs r1, #0x42 - bl CheckLocalFlagByOffset - cmp r0, #0 - bne _0804FA8E - ldr r0, _0804FA90 @ =gUnk_080F8430 - bl LoadRoomEntityList -_0804FA8E: - pop {pc} - .align 2, 0 -_0804FA90: .4byte gUnk_080F8430 - - thumb_func_start sub_0804FA94 -sub_0804FA94: @ 0x0804FA94 - movs r0, #1 - bx lr - - thumb_func_start sub_0804FA98 -sub_0804FA98: @ 0x0804FA98 - push {lr} - movs r0, #0x57 - bl CheckGlobalFlag - cmp r0, #0 - beq _0804FAB0 - ldr r0, _0804FAAC @ =gUnk_080F85D8 - bl LoadRoomEntityList - b _0804FAB6 - .align 2, 0 -_0804FAAC: .4byte gUnk_080F85D8 -_0804FAB0: - ldr r0, _0804FAC8 @ =gUnk_080F85F8 - bl LoadRoomEntityList -_0804FAB6: - movs r0, #0xc - bl GetInventoryValue - cmp r0, #0 - bne _0804FAC6 - movs r0, #8 - bl ClearLocalFlag -_0804FAC6: - pop {pc} - .align 2, 0 -_0804FAC8: .4byte gUnk_080F85F8 - - thumb_func_start sub_0804FACC -sub_0804FACC: @ 0x0804FACC - movs r0, #1 - bx lr - - thumb_func_start nullsub_412 -nullsub_412: @ 0x0804FAD0 - bx lr - .align 2, 0 - - thumb_func_start sub_0804FAD4 -sub_0804FAD4: @ 0x0804FAD4 - movs r0, #1 - bx lr - - thumb_func_start nullsub_413 -nullsub_413: @ 0x0804FAD8 - bx lr - .align 2, 0 - - thumb_func_start sub_0804FADC -sub_0804FADC: @ 0x0804FADC - movs r0, #1 - bx lr - - thumb_func_start nullsub_414 -nullsub_414: @ 0x0804FAE0 - bx lr - .align 2, 0 - - thumb_func_start sub_0804FAE4 -sub_0804FAE4: @ 0x0804FAE4 - movs r0, #1 - bx lr - - thumb_func_start nullsub_415 -nullsub_415: @ 0x0804FAE8 - bx lr - .align 2, 0 - - thumb_func_start sub_0804FAEC -sub_0804FAEC: @ 0x0804FAEC - movs r0, #1 - bx lr - - thumb_func_start nullsub_416 -nullsub_416: @ 0x0804FAF0 - bx lr - .align 2, 0 - - thumb_func_start sub_0804FAF4 -sub_0804FAF4: @ 0x0804FAF4 - movs r0, #1 - bx lr - - thumb_func_start nullsub_417 -nullsub_417: @ 0x0804FAF8 - bx lr - .align 2, 0 - - thumb_func_start sub_0804FAFC -sub_0804FAFC: @ 0x0804FAFC - movs r0, #1 - bx lr - - thumb_func_start nullsub_418 -nullsub_418: @ 0x0804FB00 - bx lr - .align 2, 0 - - thumb_func_start sub_0804FB04 -sub_0804FB04: @ 0x0804FB04 - movs r0, #1 - bx lr - - thumb_func_start nullsub_419 -nullsub_419: @ 0x0804FB08 - bx lr - .align 2, 0 - - thumb_func_start sub_0804FB0C -sub_0804FB0C: @ 0x0804FB0C - movs r0, #1 - bx lr - - thumb_func_start nullsub_420 -nullsub_420: @ 0x0804FB10 - bx lr - .align 2, 0 - - thumb_func_start sub_0804FB14 -sub_0804FB14: @ 0x0804FB14 - movs r0, #1 - bx lr - - thumb_func_start nullsub_421 -nullsub_421: @ 0x0804FB18 - bx lr - .align 2, 0 - - thumb_func_start sub_0804FB1C -sub_0804FB1C: @ 0x0804FB1C - movs r0, #1 - bx lr - - thumb_func_start nullsub_422 -nullsub_422: @ 0x0804FB20 - bx lr - .align 2, 0 - - thumb_func_start sub_0804FB24 -sub_0804FB24: @ 0x0804FB24 - movs r0, #1 - bx lr - - thumb_func_start nullsub_423 -nullsub_423: @ 0x0804FB28 - bx lr - .align 2, 0 - - thumb_func_start sub_0804FB2C -sub_0804FB2C: @ 0x0804FB2C - movs r0, #1 - bx lr - - thumb_func_start sub_0804FB30 -sub_0804FB30: @ 0x0804FB30 - push {lr} - movs r0, #0x11 - bl CheckLocalFlag - cmp r0, #0 - beq _0804FB64 - movs r0, #0 - bl SetRoomFlag - movs r0, #1 - bl SetRoomFlag - movs r0, #0x80 - lsls r0, r0, #1 - bl sub_0805308C - movs r0, #0x12 - bl CheckLocalFlag - cmp r0, #0 - bne _0804FB64 - movs r0, #0x73 - movs r1, #0xcb - movs r2, #1 - bl SetTileType -_0804FB64: - pop {pc} - .align 2, 0 - - thumb_func_start sub_0804FB68 -sub_0804FB68: @ 0x0804FB68 - movs r0, #1 - bx lr - - thumb_func_start nullsub_089 -nullsub_089: @ 0x0804FB6C - bx lr - .align 2, 0 - - thumb_func_start sub_0804FB70 -sub_0804FB70: @ 0x0804FB70 - movs r0, #1 - bx lr - - thumb_func_start nullsub_90 -nullsub_90: @ 0x0804FB74 - bx lr - .align 2, 0 - - thumb_func_start sub_0804FB78 -sub_0804FB78: @ 0x0804FB78 - movs r0, #1 - bx lr - - thumb_func_start nullsub_91 -nullsub_91: @ 0x0804FB7C - bx lr - .align 2, 0 - - thumb_func_start sub_0804FB80 -sub_0804FB80: @ 0x0804FB80 - movs r0, #1 - bx lr - - thumb_func_start nullsub_92 -nullsub_92: @ 0x0804FB84 - bx lr - .align 2, 0 - - thumb_func_start sub_0804FB88 -sub_0804FB88: @ 0x0804FB88 - movs r0, #1 - bx lr - - thumb_func_start nullsub_93 -nullsub_93: @ 0x0804FB8C - bx lr - .align 2, 0 - - thumb_func_start sub_0804FB90 -sub_0804FB90: @ 0x0804FB90 - movs r0, #1 - bx lr - - thumb_func_start nullsub_94 -nullsub_94: @ 0x0804FB94 - bx lr - .align 2, 0 - - thumb_func_start sub_0804FB98 -sub_0804FB98: @ 0x0804FB98 - movs r0, #1 - bx lr - - thumb_func_start nullsub_95 -nullsub_95: @ 0x0804FB9C - bx lr - .align 2, 0 - - thumb_func_start sub_0804FBA0 -sub_0804FBA0: @ 0x0804FBA0 - movs r0, #1 - bx lr - - thumb_func_start nullsub_96 -nullsub_96: @ 0x0804FBA4 - bx lr - .align 2, 0 - - thumb_func_start sub_0804FBA8 -sub_0804FBA8: @ 0x0804FBA8 - movs r0, #1 - bx lr - - thumb_func_start nullsub_97 -nullsub_97: @ 0x0804FBAC - bx lr - .align 2, 0 - - thumb_func_start sub_0804FBB0 -sub_0804FBB0: @ 0x0804FBB0 - movs r0, #1 - bx lr - - thumb_func_start nullsub_98 -nullsub_98: @ 0x0804FBB4 - bx lr - .align 2, 0 - - thumb_func_start sub_0804FBB8 -sub_0804FBB8: @ 0x0804FBB8 - movs r0, #1 - bx lr - - thumb_func_start sub_0804FBBC -sub_0804FBBC: @ 0x0804FBBC - push {lr} - ldr r0, _0804FBD4 @ =gUnk_02002A40 - ldr r0, [r0, #0x40] - movs r1, #0x80 - lsls r1, r1, #0x12 - ands r0, r1 - cmp r0, #0 - bne _0804FBD2 - ldr r0, _0804FBD8 @ =gUnk_080F9304 - bl LoadRoomEntityList -_0804FBD2: - pop {pc} - .align 2, 0 -_0804FBD4: .4byte gUnk_02002A40 -_0804FBD8: .4byte gUnk_080F9304 - - thumb_func_start sub_0804FBDC -sub_0804FBDC: @ 0x0804FBDC - push {lr} - ldr r0, _0804FBF4 @ =gUnk_02002A40 - ldr r0, [r0, #0x40] - movs r1, #0x80 - lsls r1, r1, #0x12 - ands r0, r1 - cmp r0, #0 - bne _0804FBF2 - ldr r0, _0804FBF8 @ =gUnk_080F9304 - bl LoadRoomEntityList -_0804FBF2: - pop {pc} - .align 2, 0 -_0804FBF4: .4byte gUnk_02002A40 -_0804FBF8: .4byte gUnk_080F9304 - - thumb_func_start sub_0804FBFC -sub_0804FBFC: @ 0x0804FBFC - movs r0, #1 - bx lr - - thumb_func_start nullsub_424 -nullsub_424: @ 0x0804FC00 - bx lr - .align 2, 0 - - thumb_func_start sub_0804FC04 -sub_0804FC04: @ 0x0804FC04 - movs r0, #1 - bx lr - - thumb_func_start nullsub_425 -nullsub_425: @ 0x0804FC08 - bx lr - .align 2, 0 - - thumb_func_start sub_0804FC0C -sub_0804FC0C: @ 0x0804FC0C - movs r0, #1 - bx lr - - thumb_func_start nullsub_426 -nullsub_426: @ 0x0804FC10 - bx lr - .align 2, 0 - - thumb_func_start sub_0804FC14 -sub_0804FC14: @ 0x0804FC14 - movs r0, #1 - bx lr - - thumb_func_start nullsub_427 -nullsub_427: @ 0x0804FC18 - bx lr - .align 2, 0 - - thumb_func_start sub_0804FC1C -sub_0804FC1C: @ 0x0804FC1C - movs r0, #1 - bx lr - - thumb_func_start nullsub_428 -nullsub_428: @ 0x0804FC20 - bx lr - .align 2, 0 - - thumb_func_start sub_0804FC24 -sub_0804FC24: @ 0x0804FC24 - movs r0, #1 - bx lr - - thumb_func_start nullsub_429 -nullsub_429: @ 0x0804FC28 - bx lr - .align 2, 0 - - thumb_func_start sub_0804FC2C -sub_0804FC2C: @ 0x0804FC2C - movs r0, #1 - bx lr - - thumb_func_start nullsub_430 -nullsub_430: @ 0x0804FC30 - bx lr - .align 2, 0 - - thumb_func_start sub_0804FC34 -sub_0804FC34: @ 0x0804FC34 - movs r0, #1 - bx lr - - thumb_func_start nullsub_431 -nullsub_431: @ 0x0804FC38 - bx lr - .align 2, 0 - - thumb_func_start sub_0804FC3C -sub_0804FC3C: @ 0x0804FC3C - movs r0, #1 - bx lr - - thumb_func_start nullsub_432 -nullsub_432: @ 0x0804FC40 - bx lr - .align 2, 0 - - thumb_func_start sub_0804FC44 -sub_0804FC44: @ 0x0804FC44 - movs r0, #1 - bx lr - - thumb_func_start nullsub_433 -nullsub_433: @ 0x0804FC48 - bx lr - .align 2, 0 - - thumb_func_start sub_0804FC4C -sub_0804FC4C: @ 0x0804FC4C - push {lr} - movs r0, #0xe - bl CheckKinstoneFused - cmp r0, #0 - bne _0804FC5E - ldr r1, _0804FC64 @ =gRoomVars - ldr r0, _0804FC68 @ =gUnk_080F9BF8 - str r0, [r1, #0x6c] -_0804FC5E: - movs r0, #1 - pop {pc} - .align 2, 0 -_0804FC64: .4byte gRoomVars -_0804FC68: .4byte gUnk_080F9BF8 - - thumb_func_start sub_0804FC6C -sub_0804FC6C: @ 0x0804FC6C - push {lr} - movs r0, #2 - bl sub_0805B4D0 - movs r0, #0 - bl sub_0806D0B0 - pop {pc} - - thumb_func_start sub_0804FC7C -sub_0804FC7C: @ 0x0804FC7C - movs r0, #1 - bx lr - - thumb_func_start nullsub_99 -nullsub_99: @ 0x0804FC80 - bx lr - .align 2, 0 - - thumb_func_start sub_0804FC84 -sub_0804FC84: @ 0x0804FC84 - movs r0, #1 - bx lr - - thumb_func_start nullsub_100 -nullsub_100: @ 0x0804FC88 - bx lr - .align 2, 0 - - thumb_func_start sub_0804FC8C -sub_0804FC8C: @ 0x0804FC8C - movs r0, #1 - bx lr - - thumb_func_start nullsub_101 -nullsub_101: @ 0x0804FC90 - bx lr - .align 2, 0 - - thumb_func_start sub_0804FC94 -sub_0804FC94: @ 0x0804FC94 - movs r0, #1 - bx lr - - thumb_func_start nullsub_102 -nullsub_102: @ 0x0804FC98 - bx lr - .align 2, 0 - - thumb_func_start sub_0804FC9C -sub_0804FC9C: @ 0x0804FC9C - movs r0, #1 - bx lr - - thumb_func_start nullsub_103 -nullsub_103: @ 0x0804FCA0 - bx lr - .align 2, 0 - - thumb_func_start sub_0804FCA4 -sub_0804FCA4: @ 0x0804FCA4 - movs r0, #1 - bx lr - - thumb_func_start sub_0804FCA8 -sub_0804FCA8: @ 0x0804FCA8 - push {lr} - movs r0, #0x14 - bl CheckKinstoneFused - cmp r0, #0 - beq _0804FCBA - ldr r0, _0804FCCC @ =gUnk_080F9FA8 - bl LoadRoomEntityList -_0804FCBA: - movs r0, #0x38 - bl GetInventoryValue - cmp r0, #0 - bne _0804FCCA - ldr r0, _0804FCD0 @ =gUnk_080F9F88 - bl LoadRoomEntityList -_0804FCCA: - pop {pc} - .align 2, 0 -_0804FCCC: .4byte gUnk_080F9FA8 -_0804FCD0: .4byte gUnk_080F9F88 - - thumb_func_start sub_0804FCD4 -sub_0804FCD4: @ 0x0804FCD4 - movs r0, #1 - bx lr - - thumb_func_start nullsub_434 -nullsub_434: @ 0x0804FCD8 - bx lr - .align 2, 0 - - thumb_func_start sub_0804FCDC -sub_0804FCDC: @ 0x0804FCDC - movs r0, #1 - bx lr - - thumb_func_start nullsub_435 -nullsub_435: @ 0x0804FCE0 - bx lr - .align 2, 0 - - thumb_func_start sub_0804FCE4 -sub_0804FCE4: @ 0x0804FCE4 - movs r0, #1 - bx lr - - thumb_func_start nullsub_436 -nullsub_436: @ 0x0804FCE8 - bx lr - .align 2, 0 - - thumb_func_start sub_0804FCEC -sub_0804FCEC: @ 0x0804FCEC - movs r0, #1 - bx lr - - thumb_func_start nullsub_437 -nullsub_437: @ 0x0804FCF0 - bx lr - .align 2, 0 - - thumb_func_start sub_0804FCF4 -sub_0804FCF4: @ 0x0804FCF4 - movs r0, #1 - bx lr - - thumb_func_start nullsub_438 -nullsub_438: @ 0x0804FCF8 - bx lr - .align 2, 0 - - thumb_func_start sub_0804FCFC -sub_0804FCFC: @ 0x0804FCFC - movs r0, #1 - bx lr - - thumb_func_start nullsub_439 -nullsub_439: @ 0x0804FD00 - bx lr - .align 2, 0 - - thumb_func_start sub_0804FD04 -sub_0804FD04: @ 0x0804FD04 - movs r0, #1 - bx lr - - thumb_func_start nullsub_440 -nullsub_440: @ 0x0804FD08 - bx lr - .align 2, 0 - - thumb_func_start sub_0804FD0C -sub_0804FD0C: @ 0x0804FD0C - movs r0, #1 - bx lr - - thumb_func_start nullsub_441 -nullsub_441: @ 0x0804FD10 - bx lr - .align 2, 0 - - thumb_func_start sub_0804FD14 -sub_0804FD14: @ 0x0804FD14 - movs r0, #1 - bx lr - - thumb_func_start nullsub_442 -nullsub_442: @ 0x0804FD18 - bx lr - .align 2, 0 - - thumb_func_start sub_0804FD1C -sub_0804FD1C: @ 0x0804FD1C - movs r0, #1 - bx lr - - thumb_func_start nullsub_443 -nullsub_443: @ 0x0804FD20 - bx lr - .align 2, 0 - - thumb_func_start sub_0804FD24 -sub_0804FD24: @ 0x0804FD24 - movs r0, #1 - bx lr - - thumb_func_start nullsub_444 -nullsub_444: @ 0x0804FD28 - bx lr - .align 2, 0 - - thumb_func_start sub_0804FD2C -sub_0804FD2C: @ 0x0804FD2C - movs r0, #1 - bx lr - - thumb_func_start nullsub_445 -nullsub_445: @ 0x0804FD30 - bx lr - .align 2, 0 - - thumb_func_start sub_0804FD34 -sub_0804FD34: @ 0x0804FD34 - movs r0, #1 - bx lr - - thumb_func_start nullsub_446 -nullsub_446: @ 0x0804FD38 - bx lr - .align 2, 0 - - thumb_func_start sub_0804FD3C -sub_0804FD3C: @ 0x0804FD3C - movs r0, #1 - bx lr - - thumb_func_start nullsub_447 -nullsub_447: @ 0x0804FD40 - bx lr - .align 2, 0 - - thumb_func_start sub_0804FD44 -sub_0804FD44: @ 0x0804FD44 - movs r0, #1 - bx lr - - thumb_func_start nullsub_448 -nullsub_448: @ 0x0804FD48 - bx lr - .align 2, 0 - - thumb_func_start sub_0804FD4C -sub_0804FD4C: @ 0x0804FD4C - movs r0, #1 - bx lr - - thumb_func_start nullsub_449 -nullsub_449: @ 0x0804FD50 - bx lr - .align 2, 0 - - thumb_func_start sub_0804FD54 -sub_0804FD54: @ 0x0804FD54 - movs r0, #1 - bx lr - - thumb_func_start sub_0804FD58 -sub_0804FD58: @ 0x0804FD58 - push {lr} - movs r0, #0x21 - bl CheckKinstoneFused - cmp r0, #0 - bne _0804FD6A - ldr r0, _0804FD6C @ =gUnk_080FA5D0 - bl LoadRoomEntityList -_0804FD6A: - pop {pc} - .align 2, 0 -_0804FD6C: .4byte gUnk_080FA5D0 - - thumb_func_start sub_0804FD70 -sub_0804FD70: @ 0x0804FD70 - movs r0, #1 - bx lr - - thumb_func_start nullsub_450 -nullsub_450: @ 0x0804FD74 - bx lr - .align 2, 0 - - thumb_func_start sub_0804FD78 -sub_0804FD78: @ 0x0804FD78 - movs r0, #1 - bx lr - - thumb_func_start nullsub_451 -nullsub_451: @ 0x0804FD7C - bx lr - .align 2, 0 - - thumb_func_start sub_0804FD80 -sub_0804FD80: @ 0x0804FD80 - movs r0, #1 - bx lr - - thumb_func_start nullsub_452 -nullsub_452: @ 0x0804FD84 - bx lr - .align 2, 0 - - thumb_func_start sub_0804FD88 -sub_0804FD88: @ 0x0804FD88 - movs r0, #1 - bx lr - - thumb_func_start nullsub_453 -nullsub_453: @ 0x0804FD8C - bx lr - .align 2, 0 - - thumb_func_start sub_0804FD90 -sub_0804FD90: @ 0x0804FD90 - movs r0, #1 - bx lr - - thumb_func_start nullsub_454 -nullsub_454: @ 0x0804FD94 - bx lr - .align 2, 0 - - thumb_func_start sub_0804FD98 -sub_0804FD98: @ 0x0804FD98 - movs r0, #1 - bx lr - - thumb_func_start nullsub_455 -nullsub_455: @ 0x0804FD9C - bx lr - .align 2, 0 - - thumb_func_start sub_0804FDA0 -sub_0804FDA0: @ 0x0804FDA0 - movs r0, #1 - bx lr - - thumb_func_start nullsub_456 -nullsub_456: @ 0x0804FDA4 - bx lr - .align 2, 0 - - thumb_func_start sub_0804FDA8 -sub_0804FDA8: @ 0x0804FDA8 - movs r0, #1 - bx lr - - thumb_func_start nullsub_457 -nullsub_457: @ 0x0804FDAC - bx lr - .align 2, 0 - - thumb_func_start sub_0804FDB0 -sub_0804FDB0: @ 0x0804FDB0 - movs r0, #1 - bx lr - - thumb_func_start nullsub_458 -nullsub_458: @ 0x0804FDB4 - bx lr - .align 2, 0 - - thumb_func_start sub_0804FDB8 -sub_0804FDB8: @ 0x0804FDB8 - movs r0, #1 - bx lr - - thumb_func_start nullsub_459 -nullsub_459: @ 0x0804FDBC - bx lr - .align 2, 0 - - thumb_func_start sub_0804FDC0 -sub_0804FDC0: @ 0x0804FDC0 - movs r0, #1 - bx lr - - thumb_func_start nullsub_460 -nullsub_460: @ 0x0804FDC4 - bx lr - .align 2, 0 - - thumb_func_start sub_0804FDC8 -sub_0804FDC8: @ 0x0804FDC8 - movs r0, #1 - bx lr - - thumb_func_start nullsub_461 -nullsub_461: @ 0x0804FDCC - bx lr - .align 2, 0 - - thumb_func_start sub_0804FDD0 -sub_0804FDD0: @ 0x0804FDD0 - movs r0, #1 - bx lr - - thumb_func_start nullsub_462 -nullsub_462: @ 0x0804FDD4 - bx lr - .align 2, 0 - - thumb_func_start sub_0804FDD8 -sub_0804FDD8: @ 0x0804FDD8 - movs r0, #1 - bx lr - - thumb_func_start nullsub_463 -nullsub_463: @ 0x0804FDDC - bx lr - .align 2, 0 - - thumb_func_start sub_0804FDE0 -sub_0804FDE0: @ 0x0804FDE0 - push {lr} - movs r0, #0x51 - bl CheckGlobalFlag - cmp r0, #0 - beq _0804FDF6 - ldr r0, _0804FDFC @ =gRoomVars - ldr r1, _0804FE00 @ =gUnk_080FAD48 - str r1, [r0, #0x6c] - movs r1, #0 - str r1, [r0, #0x74] -_0804FDF6: - movs r0, #1 - pop {pc} - .align 2, 0 -_0804FDFC: .4byte gRoomVars -_0804FE00: .4byte gUnk_080FAD48 - - thumb_func_start sub_0804FE04 -sub_0804FE04: @ 0x0804FE04 - push {lr} - movs r0, #0x51 - bl CheckGlobalFlag - cmp r0, #0 - beq _0804FE28 - ldr r0, _0804FE20 @ =gArea - ldr r2, _0804FE24 @ =0x00000864 - adds r1, r0, r2 - subs r2, #4 - adds r0, r0, r2 - ldr r0, [r0] - str r0, [r1] - b _0804FE2E - .align 2, 0 -_0804FE20: .4byte gArea -_0804FE24: .4byte 0x00000864 -_0804FE28: - ldr r0, _0804FE3C @ =gUnk_080FACB8 - bl LoadRoomEntityList -_0804FE2E: - movs r0, #0 - bl sub_0805B4D0 - bl sub_08059994 - pop {pc} - .align 2, 0 -_0804FE3C: .4byte gUnk_080FACB8 - - thumb_func_start sub_0804FE40 -sub_0804FE40: @ 0x0804FE40 - push {lr} - movs r0, #0 - bl sub_0805B4D0 - pop {pc} - .align 2, 0 - - thumb_func_start sub_0804FE4C -sub_0804FE4C: @ 0x0804FE4C - movs r0, #1 - bx lr - - thumb_func_start nullsub_104 -nullsub_104: @ 0x0804FE50 - bx lr - .align 2, 0 - - thumb_func_start sub_0804FE54 -sub_0804FE54: @ 0x0804FE54 - movs r0, #1 - bx lr - - thumb_func_start sub_0804FE58 -sub_0804FE58: @ 0x0804FE58 - push {lr} - movs r0, #1 - bl sub_0805B4D0 - movs r0, #3 - bl CheckGlobalFlag - cmp r0, #0 - beq _0804FE7A - movs r0, #2 - bl CheckLocalFlag - cmp r0, #0 - bne _0804FE7A - ldr r0, _0804FEA0 @ =gUnk_080FAFE4 - bl LoadRoomEntityList -_0804FE7A: - ldr r0, _0804FEA4 @ =gUnk_02002A40 - ldr r0, [r0, #0x40] - movs r1, #0x80 - lsls r1, r1, #0x11 - ands r0, r1 - cmp r0, #0 - bne _0804FE8E - ldr r0, _0804FEA8 @ =gUnk_080FB004 - bl LoadRoomEntityList -_0804FE8E: - movs r0, #2 - bl GetInventoryValue - cmp r0, #0 - beq _0804FE9E - movs r0, #0x56 - bl SetGlobalFlag -_0804FE9E: - pop {pc} - .align 2, 0 -_0804FEA0: .4byte gUnk_080FAFE4 -_0804FEA4: .4byte gUnk_02002A40 -_0804FEA8: .4byte gUnk_080FB004 - - thumb_func_start sub_0804FEAC -sub_0804FEAC: @ 0x0804FEAC - push {lr} - ldr r0, _0804FEC4 @ =gUnk_02002A40 - ldr r0, [r0, #0x40] - movs r1, #0x80 - lsls r1, r1, #0x11 - ands r0, r1 - cmp r0, #0 - bne _0804FEC2 - ldr r0, _0804FEC8 @ =gUnk_080FB004 - bl LoadRoomEntityList -_0804FEC2: - pop {pc} - .align 2, 0 -_0804FEC4: .4byte gUnk_02002A40 -_0804FEC8: .4byte gUnk_080FB004 - - thumb_func_start sub_0804FECC -sub_0804FECC: @ 0x0804FECC - movs r0, #1 - bx lr - - thumb_func_start nullsub_464 -nullsub_464: @ 0x0804FED0 - bx lr - .align 2, 0 - - thumb_func_start sub_0804FED4 -sub_0804FED4: @ 0x0804FED4 - movs r0, #1 - bx lr - - thumb_func_start sub_0804FED8 -sub_0804FED8: @ 0x0804FED8 - push {lr} - movs r0, #0xbb - lsls r0, r0, #1 - ldr r1, _0804FEE8 @ =0x0000066F - movs r2, #1 - bl SetTileType - pop {pc} - .align 2, 0 -_0804FEE8: .4byte 0x0000066F - - thumb_func_start sub_0804FEEC -sub_0804FEEC: @ 0x0804FEEC - movs r0, #1 - bx lr - - thumb_func_start nullsub_465 -nullsub_465: @ 0x0804FEF0 - bx lr - .align 2, 0 - - thumb_func_start sub_0804FEF4 -sub_0804FEF4: @ 0x0804FEF4 - movs r0, #1 - bx lr - - thumb_func_start nullsub_466 -nullsub_466: @ 0x0804FEF8 - bx lr - .align 2, 0 - - thumb_func_start sub_0804FEFC -sub_0804FEFC: @ 0x0804FEFC - movs r0, #1 - bx lr - - thumb_func_start nullsub_467 -nullsub_467: @ 0x0804FF00 - bx lr - .align 2, 0 - - thumb_func_start sub_0804FF04 -sub_0804FF04: @ 0x0804FF04 - movs r0, #1 - bx lr - - thumb_func_start nullsub_468 -nullsub_468: @ 0x0804FF08 - bx lr - .align 2, 0 - - thumb_func_start sub_0804FF0C -sub_0804FF0C: @ 0x0804FF0C - movs r0, #1 - bx lr - - thumb_func_start nullsub_469 -nullsub_469: @ 0x0804FF10 - bx lr - .align 2, 0 - - thumb_func_start sub_0804FF14 -sub_0804FF14: @ 0x0804FF14 - movs r0, #1 - bx lr - - thumb_func_start nullsub_470 -nullsub_470: @ 0x0804FF18 - bx lr - .align 2, 0 - - thumb_func_start sub_0804FF1C -sub_0804FF1C: @ 0x0804FF1C - movs r0, #1 - bx lr - - thumb_func_start nullsub_471 -nullsub_471: @ 0x0804FF20 - bx lr - .align 2, 0 - - thumb_func_start sub_0804FF24 -sub_0804FF24: @ 0x0804FF24 - movs r0, #1 - bx lr - - thumb_func_start nullsub_472 -nullsub_472: @ 0x0804FF28 - bx lr - .align 2, 0 - - thumb_func_start sub_0804FF2C -sub_0804FF2C: @ 0x0804FF2C - movs r0, #1 - bx lr - - thumb_func_start nullsub_473 -nullsub_473: @ 0x0804FF30 - bx lr - .align 2, 0 - - thumb_func_start sub_0804FF34 -sub_0804FF34: @ 0x0804FF34 - movs r0, #1 - bx lr - - thumb_func_start nullsub_474 -nullsub_474: @ 0x0804FF38 - bx lr - .align 2, 0 - - thumb_func_start sub_0804FF3C -sub_0804FF3C: @ 0x0804FF3C - movs r0, #1 - bx lr - - thumb_func_start nullsub_475 -nullsub_475: @ 0x0804FF40 - bx lr - .align 2, 0 - - thumb_func_start sub_0804FF44 -sub_0804FF44: @ 0x0804FF44 - movs r0, #1 - bx lr - - thumb_func_start nullsub_476 -nullsub_476: @ 0x0804FF48 - bx lr - .align 2, 0 - - thumb_func_start sub_0804FF4C -sub_0804FF4C: @ 0x0804FF4C - movs r0, #1 - bx lr - - thumb_func_start nullsub_477 -nullsub_477: @ 0x0804FF50 - bx lr - .align 2, 0 - - thumb_func_start sub_0804FF54 -sub_0804FF54: @ 0x0804FF54 - movs r0, #1 - bx lr - - thumb_func_start nullsub_478 -nullsub_478: @ 0x0804FF58 - bx lr - .align 2, 0 - - thumb_func_start sub_0804FF5C -sub_0804FF5C: @ 0x0804FF5C - movs r0, #1 - bx lr - - thumb_func_start sub_0804FF60 -sub_0804FF60: @ 0x0804FF60 - push {lr} - movs r0, #0x70 - bl CheckLocalFlag - cmp r0, #0 - bne _0804FF72 - movs r0, #0x70 - bl SetLocalFlag -_0804FF72: - pop {pc} - - thumb_func_start sub_0804FF74 -sub_0804FF74: @ 0x0804FF74 - movs r0, #1 - bx lr - - thumb_func_start nullsub_105 -nullsub_105: @ 0x0804FF78 - bx lr - .align 2, 0 - - thumb_func_start sub_0804FF7C -sub_0804FF7C: @ 0x0804FF7C - movs r0, #1 - bx lr - - thumb_func_start nullsub_106 -nullsub_106: @ 0x0804FF80 - bx lr - .align 2, 0 - - thumb_func_start sub_0804FF84 -sub_0804FF84: @ 0x0804FF84 - movs r1, #0x80 - lsls r1, r1, #0x12 - strb r0, [r1, #6] - ldr r1, _0804FF94 @ =gUnk_0200B644 - movs r0, #1 - rsbs r0, r0, #0 - str r0, [r1] - bx lr - .align 2, 0 -_0804FF94: .4byte gUnk_0200B644 - thumb_func_start sub_0804FF98 sub_0804FF98: @ 0x0804FF98 push {r4, r5, r6, r7, lr} diff --git a/include/functions.h b/include/functions.h index 2c4d9264..36aa73c7 100644 --- a/include/functions.h +++ b/include/functions.h @@ -153,4 +153,10 @@ extern void sub_0804E150(void); extern void sub_080AF284(void); extern void sub_080A71C4(u32, u32, u32, u32); extern void sub_08054564(); +extern void sub_0801DD58(u32, u32); +extern void sub_0804ED18(); +extern void sub_080AF2E4(void); +extern void sub_0805ADD8(u32); +extern void sub_0804F578(void); +extern void sub_08059994(void); #endif diff --git a/src/room.c b/src/room.c index 54c7b3d5..4f2a658b 100644 --- a/src/room.c +++ b/src/room.c @@ -33,6 +33,8 @@ typedef struct { u8 field_0x8; u8 field_0x9[0x34]; u32 windcrests; + u8 field_0x44[0x64]; + Stats stats; } struct_02002A40; typedef struct { @@ -5004,4 +5006,1602 @@ u32 sub_0804EB4C() { return 1; } -void nullsub_390() {} \ No newline at end of file +void nullsub_390() {} + +u32 sub_0804EB54(void) +{ + gArea.areaMetadata |= 0x48; + return 1; +} + +void nullsub_391() {} + +u32 sub_0804EB6C(void) +{ + gArea.areaMetadata |= 0x48; + return 1; +} + +void nullsub_392() {} + +u32 sub_0804EB84(void) +{ + gArea.areaMetadata |= 0x48; + return 1; +} + +void nullsub_393() {} + +u32 sub_0804EB9C(void) +{ + sub_0801DD58(0x58, 5); + gArea.areaMetadata |= 0x48; + return 1; +} + +void nullsub_394() {} + +u32 sub_0804EBBC(void) +{ + sub_0801DD58(0x58, 6); + gArea.areaMetadata |= 0x48; + return 1; +} + +void nullsub_395() {} + +extern u32 gUnk_080F4EB0; + +u32 sub_0804EBDC(void) +{ + if (CheckGlobalFlag(0x51)) { + gRoomVars.field_0x6c = &gUnk_080F4EB0; + gRoomVars.field_0x74 = NULL; + } + return 1; +} + +extern EntityData gUnk_080F4D50; +extern EntityData gUnk_080F4DB0; +extern EntityData gUnk_080F4DD0; +extern EntityData gUnk_080F4DF0; +extern EntityData gUnk_080F4F10; +extern EntityData gUnk_080F4E10; + +void sub_0804EC00(void) +{ + if (CheckGlobalFlag(0x51)) { + gArea.pMusicIndex = gArea.musicIndex; + } + if (!CheckGlobalFlag(0x14)) { + LoadRoomEntityList(&gUnk_080F4D50); + } + if (!CheckLocalFlag(0x3e)) { + if (!CheckLocalFlag(0x3b)) { + LoadRoomEntityList(&gUnk_080F4DB0); + } + else { + LoadRoomEntityList(&gUnk_080F4DD0); + } + LoadRoomEntityList(&gUnk_080F4DF0); + } + if (CheckKinstoneFused(0x4e)) { + LoadRoomEntityList(&gUnk_080F4F10); + } + if ((s32)gUnk_02002A40.windcrests > -1) { + LoadRoomEntityList(&gUnk_080F4E10); + } +} + +extern EntityData gUnk_080F4E10; + +void sub_0804EC98(void) +{ + if ((s32)gUnk_02002A40.windcrests > -1) { + LoadRoomEntityList(&gUnk_080F4E10); + } +} + +u32 sub_0804ECB4() { + return 1; +} + +void nullsub_396() {} + +extern u32 gUnk_080F5348; + +u32 sub_0804ECBC(void) +{ + if (CheckGlobalFlag(0x51)) { + gRoomVars.field_0x6c = &gUnk_080F5348; + gRoomVars.field_0x88 = sub_0804ED18; + gRoomVars.field_0x74 = NULL; + } + return 1; +} + +extern EntityData gUnk_080F5328; +extern EntityData gUnk_080F5308; + +void sub_0804ECEC(void) +{ + // white sword + if (GetInventoryValue(0x2)) { + LoadRoomEntityList(&gUnk_080F5328); + if (!CheckLocalFlag(0x14)) { + LoadRoomEntityList(&gUnk_080F5308); + } + } +} + +void sub_0804ED18(void) +{ + gArea.pMusicIndex = gArea.musicIndex; +} + +u32 sub_0804ED30() { + return 1; +} + +void sub_0804ED34(void) +{ + sub_080AF2E4(); + if (CheckGlobalFlag(0x5d)) { + gArea.pMusicIndex = 0x31; + } +} + +u32 sub_0804ED58() { + return 1; +} + +extern EntityData gUnk_080F54E8; +extern EntityData gUnk_080F5508; +extern EntityData gUnk_080F5558; +extern EntityData gUnk_080F5598; +extern EntityData gUnk_080F55D8; +extern EntityData gUnk_080F5528; +extern EntityData gUnk_080F5578; +extern EntityData gUnk_080F55B8; + +void sub_0804ED5C(void) +{ + if (!CheckLocalFlag(0x79)) { + LoadRoomEntityList(&gUnk_080F54E8); + } + if (!CheckLocalFlag(0x7a)) { + // white sword, white sword 2, earth element, fire element + if (GetInventoryValue(0x2) && !GetInventoryValue(0x3) && + GetInventoryValue(0x40) && GetInventoryValue(0x41)) { + LoadRoomEntityList(&gUnk_080F5508); + } + } + else { + if (!CheckLocalFlag(0x7b)) { + if (GetInventoryValue(0x3) && !GetInventoryValue(0x4) && + GetInventoryValue(0x42)) { + LoadRoomEntityList(&gUnk_080F5558); + } + } + else { + if (!CheckLocalFlag(0x7c)) { + if (!GetInventoryValue(0x6) && GetInventoryValue(0x43)) { + LoadRoomEntityList(&gUnk_080F5598); + } + } + else { + LoadRoomEntityList(&gUnk_080F55D8); + } + } + } + if (CheckLocalFlag(0x7a)) { + LoadRoomEntityList(&gUnk_080F5528); + } + if (CheckLocalFlag(0x7b)) { + LoadRoomEntityList(&gUnk_080F5578); + } + if (CheckLocalFlag(0x7c)) { + LoadRoomEntityList(&gUnk_080F55B8); + } + if (CheckGlobalFlag(0x5d)) { + gArea.pMusicIndex = 0x31; + } +} + +u32 sub_0804EE74() { + return 1; +} + +extern EntityData gUnk_080F5660; + +void sub_0804EE78(void) +{ + if (!CheckLocalFlag(0x78) && CheckLocalFlag(0x7c)) { + LoadRoomEntityList(&gUnk_080F5660); + } + if (CheckGlobalFlag(0x5d)) { + gArea.pMusicIndex = 0x31; + } +} + +u32 sub_0804EEB8() { + return 1; +} + +extern EntityData gUnk_080F5758; +extern EntityData gUnk_080F57E8; +extern EntityData gUnk_080F57A8; +extern EntityData gUnk_080F57C8; +extern EntityData gUnk_080F5888; +extern EntityData gUnk_080F58A8; +extern EntityData gUnk_080F5868; +extern EntityData gUnk_080F5828; +extern EntityData gUnk_080F5848; +extern EntityData gUnk_080F5788; + +extern u8 gBombBagSizes[]; + +void sub_0804EEBC(void) +{ + LoadRoomEntityList(&gUnk_080F5758); + if (!GetInventoryValue(0x36) && CheckLocalFlagByOffset(0x200, 0x8f)) { + LoadRoomEntityList(&gUnk_080F57E8); + } + if (!CheckLocalFlag(0x55)) { + LoadRoomEntityList(&gUnk_080F57A8); + } + else { + if (gBombBagSizes[gUnk_02002A40.stats.bombBagType] > 0x1d) { + LoadRoomEntityList(&gUnk_080F57C8); + } + if (!GetInventoryValue(0xb) && !GetInventoryValue(0xc)) { + LoadRoomEntityList(&gUnk_080F5888); + } + else { + if (!CheckLocalFlag(0xcd)) { + LoadRoomEntityList(&gUnk_080F58A8); + } + } + } + if (GetInventoryValue(0x9) || CheckGlobalFlag(4)) { + LoadRoomEntityList(&gUnk_080F5868); + if (!CheckLocalFlag(0x56)) { + LoadRoomEntityList(&gUnk_080F5828); + } + else { + LoadRoomEntityList(&gUnk_080F5848); + } + } + if (gUnk_02002A40.stats.filler2[5] == 0) { + LoadRoomEntityList(&gUnk_080F5788); + } +} + +u32 sub_0804EFB0() { + return 1; +} + +void nullsub_397() {} + +u32 sub_0804EFB8() { + return 1; +} + +extern EntityData gUnk_080F5B3C; + +void sub_0804EFBC(void) +{ + if (GetInventoryValue(0x38) == 1) { + LoadRoomEntityList(&gUnk_080F5B3C); + } +} + +u32 sub_0804EFD4() { + return 1; +} +void nullsub_398() {} + +u32 sub_0804EFDC(void) +{ + if (CheckGlobalFlag(0x50)) { + gUnk_030010A0.field_0xa[5] = 5; + } + return 1; +} + +extern EntityData gUnk_080F5DD0; +extern u32 gUnk_08011C50; + +void sub_0804EFF8(void) +{ + if (gUnk_02002A40.field_0x8 > 7) { + LoadRoomEntityList(&gUnk_080F5DD0); + } + if (CheckGlobalFlag(0x50)) { + sub_080751E8(1, 2, &gUnk_08011C50); + } +} + +u32 sub_0804F02C() { + return 1; +} + +extern EntityData gUnk_080F5E68; + +void sub_0804F030(void) +{ + if (!CheckLocalFlagByOffset(0x100, 0xd1)) { + LoadRoomEntityList(&gUnk_080F5E68); + } +} + +u32 sub_0804F04C() { + return 1; +} + +extern EntityData gUnk_080F5F38; +extern EntityData gUnk_080F5F58; +extern EntityData gUnk_080F5F78; + +void sub_0804F050(void) +{ + + if (gUnk_02002A40.field_0x8 > 4) { + LoadRoomEntityList(&gUnk_080F5F38); + } + if (!CheckLocalFlag(0x92)) { + LoadRoomEntityList(&gUnk_080F5F58); + } + else { + LoadRoomEntityList(&gUnk_080F5F78); + } +} + +u32 sub_0804F08C() { + return 1; +} + +void nullsub_399() {} + +u32 sub_0804F094() { + return 1; +} + +void nullsub_400() {} + +u32 sub_0804F09C(void) +{ + if (CheckGlobalFlag(0x24) && CheckLocalFlagByOffset(0x100, 0xdc)) { + SetGlobalFlag(0x58); + } + return 1; +} + +extern EntityData gUnk_080F61BC; + +void sub_0804F0C0(void) +{ + if (CheckLocalFlagByOffset(0x100, 0xdc)) { + SetLocalFlag(0x90); + } + if (CheckKinstoneFused(0xf)) { + LoadRoomEntityList(&gUnk_080F61BC); + } + if (!CheckGlobalFlag(0x58)) { + SetTileType(0x4072, 0x4c7, 1); + SetTileType(0x4072, 0x507, 1); + } + sub_08052CA4(8, 0, 0x1e8, 0x158); +} + +u32 sub_0804F128() { + return 1; +} + +extern EntityData gUnk_080F62E4; +extern EntityData gUnk_080F6324; + +void sub_0804F12C(void) +{ + if (!CheckGlobalFlag(0x58)) { + LoadRoomEntityList(&gUnk_080F62E4); + } + else { + if (CheckLocalFlag(99)) { + LoadRoomEntityList(&gUnk_080F6324); + } + } +} + +u32 sub_0804F15C() { + return 1; +} + +void nullsub_401() {} + +u32 sub_0804F164() { + return 1; +} + +extern EntityData gUnk_080F6564; +extern EntityData gUnk_080F6584; + +void sub_0804F168(void) +{ + + if (!CheckLocalFlag(0xb1)) { + LoadRoomEntityList(&gUnk_080F6564); + } + else { + LoadRoomEntityList(&gUnk_080F6584); + } +} + +u32 sub_0804F18C() { + return 1; +} + +extern EntityData gUnk_080F66AC; + +void sub_0804F190(void) +{ + sub_0805B4D0(5); + if (CheckGlobalFlag(6) && !CheckLocalFlagByOffset(0x100, 5)) { + LoadRoomEntityList(&gUnk_080F66AC); + } + sub_08052CA4(8, 0, 0x1e8, 0x158); + gArea.areaMetadata |= 0x80; +} + +u32 sub_0804F1DC() { + return 1; +} + +void nullsub_402() {} + +u32 sub_0804F1E4() { + return 1; +} + +void nullsub_403() {} + +u32 sub_0804F1EC() { + return 1; +} + +void nullsub_404() {} + +u32 sub_0804F1F4() { + return 1; +} + +void nullsub_405() {} + +u32 sub_0804F1FC() { + return 1; +} + +void nullsub_406() {} + +u32 sub_0804F204() { + return 1; +} + +void nullsub_407() {} + +u32 sub_0804F20C() { + return 1; +} + +void nullsub_408() {} + +u32 sub_0804F214() { + return 1; +} + +void nullsub_409() {} + +u32 sub_0804F21C() { + return 1; +} + +void nullsub_410() {} + +u32 sub_0804F224() { + return 1; +} + +void nullsub_411() {} + +u32 sub_0804F22C() { + return 1; +} + +void sub_0804F230() { + sub_0805ADD8(0); +} + +u32 sub_0804F23C(void) +{ + if (!CheckLocalFlag(0x6d)) { + DoFade(7, 0x100); + } + SetGlobalFlag(0x49); + return 1; +} + +extern EntityData gUnk_080F70A8; +extern EntityData gUnk_080F70D8; +extern EntityData gUnk_080F7088; + +void sub_0804F25C(void) +{ + sub_0805ADD8(0); + if (!CheckLocalFlag(0x6d)) { + LoadRoomEntityList(&gUnk_080F70A8); + ClearGlobalFlag(0x1c); + } + if (!CheckGlobalFlag(0x15)) { + gArea.pMusicIndex = 0x10; + } + if ((gUnk_02002A40.windcrests & 0x40000000) == 0) { + LoadRoomEntityList(&gUnk_080F70D8); + } + if (gUnk_02002A40.field_0x8 > 3) { + LoadRoomEntityList(&gUnk_080F7088); + } +} + +extern EntityData gUnk_080F70D8; + +void sub_0804F2C8(void) +{ + if ((gUnk_02002A40.windcrests & 0x40000000) == 0) { + LoadRoomEntityList(&gUnk_080F70D8); + } +} + +u32 sub_0804F2E8() { + return 1; +} + +void sub_0804F2EC() { + sub_0805ADD8(0); +} + +u32 sub_0804F2F8() { + return 1; +} + +void sub_0804F2FC() { + sub_0805ADD8(0); +} + +extern u32 gUnk_080F7680; + +u32 sub_0804f308(void) +{ + if (GetInventoryValue(0x11) && !GetInventoryValue(0x12)) { + gRoomVars.field_0x74 = &gUnk_080F7680; + } + return 1; +} + +extern EntityData gUnk_080F7500; +extern EntityData gUnk_080F7550; + +void sub_0804F330(void) +{ + sub_0805ADD8(0); + if (gUnk_02002A40.field_0x8 > 3) { + LoadRoomEntityList(&gUnk_080F7500); + } + if (GetInventoryValue(0x11) && !GetInventoryValue(0x12)) { + LoadRoomEntityList(&gUnk_080F7550); + SetTileType(0x4072, 0x311, 1); + SetTileType(0x4072, 0x351, 1); + SetTileType(0x4072, 0x3d9, 1); + SetTileType(0x4072, 0x419, 1); + } +} + +u32 sub_0804F3AC() { + return 1; +} + +extern EntityData gUnk_080F77F0; +extern EntityData gUnk_080F77C0; +extern EntityData gUnk_080F7810; +extern EntityData gUnk_080F7860; +extern EntityData gUnk_080F78A0; + +void sub_0804F3B0(void) +{ + + sub_0805ADD8(0); + if (CheckLocalFlagByOffset(0x200, 0x8f)) { + if (!CheckGlobalFlag(0x1d)) { + LoadRoomEntityList(&gUnk_080F77C0); + } + } + else if (GetInventoryValue(0x40)) { + LoadRoomEntityList(&gUnk_080F77F0); + } + if (CheckGlobalFlag(0x15) && !GetInventoryValue(0x40)) { + LoadRoomEntityList(&gUnk_080F7810); + } + if (!CheckKinstoneFused(0x29)) { + LoadRoomEntityList(&gUnk_080F7860); + SetTile(0x4072, 0xd88, 1); + SetTile(0x4096, 0xdc8, 1); + } + if ((gUnk_02002A40.field_0x8 > 3) && CheckGlobalFlag(0x5c)) { + LoadRoomEntityList(&gUnk_080F78A0); + } +} + +extern u32 gUnk_080F7CD0; +extern void sub_0804F5E8(); +extern u32 gUnk_080F7C80; +extern void sub_0804F4E4(); + +u32 sub_0804F468(void) +{ + if (CheckGlobalFlag(0x15) && !GetInventoryValue(0x11)) { + gRoomVars.field_0x6c = &gUnk_080F7CD0; + gRoomVars.field_0x88 = sub_0804F5E8; + } + if (CheckGlobalFlag(3) && GetInventoryValue(0x3) && !CheckLocalFlag(0x8c)) { + gRoomVars.field_0x6c = &gUnk_080F7C80; + gRoomVars.field_0x88 = sub_0804F4E4; + gRoomVars.field_0x74 = NULL; + } + if (CheckGlobalFlag(0x15)) { + ClearGlobalFlag(100); + } + return 1; +} + +void sub_0804F4E4() { + sub_0805ADD8(0); + sub_0804F578(); +} + +extern EntityData gUnk_080F7D70; + +void sub_0804F4F4(void) +{ + sub_0804F4E4(); + if (!CheckLocalFlag(0x8b)) { + LoadRoomEntityList(&gUnk_080F7D70); + SetTileType(0x174, 0x7a2, 1); + SetTileType(0x174, 0x7a3, 1); + SetTileType(0x174, 0x7a5, 1); + SetTileType(0x174, 0x7a6, 1); + SetTileType(0x174, 0x7a7, 1); + } + if (!CheckGlobalFlag(0x15)) { + gArea.pMusicIndex = 0x13; + } +} + +extern EntityData gUnk_080F7DC0; + +void sub_0804F578(void) +{ + if (!CheckLocalFlag(0x8e)) { + LoadRoomEntityList(&gUnk_080F7DC0); + } + else { + SetTileType(0x37,0x94a,1); + SetTileType(0x37,0x94b,1); + SetTileType(0x37,0x94c,1); + SetTileType(0x37,0x98a,1); + SetTileType(0x37,0x98b,1); + SetTileType(0x37,0x98c,1); + } +} + +void sub_0804F5E8(void) +{ + sub_0804F4E4(); + SetTileType(0x1d3,0xbde,1); + SetTileType(0x1d6,0xbe2,1); + SetTileType(0x1d4,0xc1f,1); + SetTileType(0x1d5,0xc20,1); + SetTileType(0x1d6,0xc5e,1); + SetTileType(0x4072,0xb9b,1); + SetTileType(0x4072,0xbdb,1); + SetTileType(0x4072,0xaa4,1); + SetTileType(0x4072,0xae4,1); +} + +void sub_0804F680(Entity *parent, s32 x, s32 y) +{ + Entity *fx; + + fx = CreateFx(parent,2,0); + if (fx != NULL) { + fx->x.HALF.HI = gRoomControls.roomOriginX + x; + fx->y.HALF.HI = gRoomControls.roomOriginY + y; + } +} + +void sub_0804F6A8(Entity* arg0) +{ + sub_0804F680(arg0, 0x1d8, 0x108); + sub_0804F680(arg0, 0x218, 0x188); +} + +void sub_0804F6C8(Entity* arg0) +{ + sub_0804F680(arg0, 0x1e8, 0x108); + sub_0804F680(arg0, 0x208, 0x188); +} + +void sub_0804F6E8(Entity *arg0) +{ + sub_0804F680(arg0, 0x1f8, 0x108); + sub_0804F680(arg0, 0x258, 0x138); + sub_0804F680(arg0, 0x1f8, 0x188); + sub_0804F680(arg0, 0x198, 0x158); +} + +void sub_0804F724(Entity *arg0) +{ + sub_0804F680(arg0, 0x208, 0x108); + sub_0804F680(arg0, 0x258, 0x148); + sub_0804F680(arg0, 0x1e8, 0x188); + sub_0804F680(arg0, 0x198, 0x148); +} + +void sub_0804F760(Entity *arg0) +{ + sub_0804F680(arg0, 0x218, 0x108); + sub_0804F680(arg0, 0x258, 0x158); + sub_0804F680(arg0, 0x1d8, 0x188); + sub_0804F680(arg0, 0x198, 0x138); +} + +void sub_0804F79C(Entity *parent) +{ + Entity *fx; + + fx = CreateFx(parent, 0x35, 0); + if (fx != NULL) { + fx->spriteRendering.b3 = 0; + fx->x.HALF.HI = gRoomControls.roomOriginX + 0x1b8; + fx->y.HALF.HI = gRoomControls.roomOriginY + 0x148; + } + fx = CreateFx(parent, 0x35, 0); + if (fx != NULL) { + fx->spriteRendering.b3 = 0; + fx->x.HALF.HI = gRoomControls.roomOriginX + 0x238; + fx->y.HALF.HI = gRoomControls.roomOriginY + 0x148; + } +} + +void sub_0804F808(void) +{ + SetTileType(0x1d3, 0x41d, 1); + SetTileType(0x1d3, 0x621, 1); +} + +void sub_0804F830(void) +{ + SetTileType(0x1d4, 0x41e, 1); + SetTileType(0x1d4, 0x620, 1); +} + +void sub_0804F854(void) +{ + SetTileType(0x1d5, 0x41f, 1); + SetTileType(0x1d4, 0x4e5, 1); + SetTileType(0x1d5, 0x61f, 1); + SetTileType(0x1d4, 0x559, 1); +} + +void sub_0804F89C(void) +{ + SetTileType(0x1d6, 0x420, 1); + SetTileType(0x1d5, 0x525, 1); + SetTileType(0x1d6, 0x61e, 1); + SetTileType(0x1d5, 0x519, 1); +} + +void sub_0804F8E0(void) +{ + SetTileType(0x1d3, 0x421, 1); + SetTileType(0x1d6, 0x565, 1); + SetTileType(0x1d3, 0x61d, 1); + SetTileType(0x1d6, 0x4d9, 1); +} + +void sub_0804F928(void) +{ + sub_0807BA8C(0x41d, 1); + sub_0807BA8C(0x621, 1); +} + +void sub_0804F944(void) +{ + sub_0807BA8C(0x41e, 1); + sub_0807BA8C(0x620, 1); +} + +void sub_0804F960(void) +{ + sub_0807BA8C(0x41f, 1); + sub_0807BA8C(0x4e5, 1); + sub_0807BA8C(0x61f, 1); + sub_0807BA8C(0x559, 1); +} + +void sub_0804F994(void) +{ + sub_0807BA8C(0x420, 1); + sub_0807BA8C(0x525, 1); + sub_0807BA8C(0x61e, 1); + sub_0807BA8C(0x519, 1); +} + +void sub_0804F9C8(void) +{ + sub_0807BA8C(0x421, 1); + sub_0807BA8C(0x565, 1); + sub_0807BA8C(0x61d, 1); + sub_0807BA8C(0x4d9, 1); +} + +u32 sub_0804F9FC() { + return 1; +} + +extern EntityData gUnk_080F806C; + +void sub_0804FA00(void) { + + sub_0805ADD8(0); + if ((gUnk_02002A40.field_0x8 > 3) && CheckGlobalFlag(0x5c)) { + LoadRoomEntityList(&gUnk_080F806C); + } +} + +u32 sub_0804FA2C() { + return 1; +} + +extern EntityData gUnk_080F82E0; + +void sub_0804FA30(void) +{ + + sub_0805ADD8(0); + if (CheckGlobalFlag(3) && GetInventoryValue(0x3) && + !CheckLocalFlag(0x9c)) { + LoadRoomEntityList(&gUnk_080F82E0); + } +} + +u32 sub_0804FA64() { + return 1; +} + +extern EntityData gUnk_080F8430; + +void sub_0804FA68(void) +{ + + sub_0805ADD8(0); + if (CheckKinstoneFused(0x21) && !CheckLocalFlagByOffset(0x200, 0x42)) { + LoadRoomEntityList(&gUnk_080F8430); + } +} + +u32 sub_0804FA94() { + return 1; +} + +extern EntityData gUnk_080F85F8; +extern EntityData gUnk_080F85D8; + +void sub_0804FA98(void) +{ + + if (CheckGlobalFlag(0x57)) { + LoadRoomEntityList(&gUnk_080F85D8); + } + else { + LoadRoomEntityList(&gUnk_080F85F8); + } + if (!GetInventoryValue(0xc)) { + ClearLocalFlag(8); + } +} + +u32 sub_0804FACC() { + return 1; +} + +void nullsub_412() {} + +u32 sub_0804FAD4() { + return 1; +} + +void nullsub_413() {} + +u32 sub_0804FADC() { + return 1; +} + +void nullsub_414() {} + +u32 sub_0804FAE4() { + return 1; +} + +void nullsub_415() {} + +u32 sub_0804FAEC() { + return 1; +} + +void nullsub_416() {} + +u32 sub_0804FAF4() { + return 1; +} + +void nullsub_417() {} + +u32 sub_0804FAFC() { + return 1; +} + +void nullsub_418() {} + +u32 sub_0804FB04() { + return 1; +} + +void nullsub_419() {} + +u32 sub_0804FB0C() { + return 1; +} + +void nullsub_420() {} + +u32 sub_0804FB14() { + return 1; +} + +void nullsub_421() {} + +u32 sub_0804FB1C() { + return 1; +} + +void nullsub_422() {} + +u32 sub_0804FB249() { + return 1; +} + +void nullsub_423() {} + +u32 sub_0804FB2C() { + return 1; +} + +void sub_0804FB30(void) +{ + if (CheckLocalFlag(0x11)) { + SetRoomFlag(0); + SetRoomFlag(1); + sub_0805308C(0x100); + if (!CheckLocalFlag(0x12)) { + SetTileType(0x73,0xcb,1); + } + } +} + +u32 sub_0804FB68() { + return 1; +} + +void nullsub_089() {} + +u32 sub_0804FB70() { + return 1; +} + +void nullsub_90() {} + +u32 sub_0804FB78() { + return 1; +} + +void nullsub_91() {} + +u32 sub_0804FB80() { + return 1; +} + +void nullsub_92() {} + +u32 sub_0804FB88() { + return 1; +} + +void nullsub_93() {} + +u32 sub_0804FB90() { + return 1; +} +void nullsub_94() {} + +u32 sub_0804FB98() { + return 1; +} + +void nullsub_95() {} + +u32 sub_0804FBA0() { + return 1; +} + +void nullsub_96() {} + +u32 sub_0804FBA8() { + return 1; +} + +void nullsub_97() {} + +u32 sub_0804FBB09() { + return 1; +} + +void nullsub_98() {} + +u32 sub_0804FBB8() { + return 1; +} + +extern EntityData gUnk_080F9304; + +void sub_0804FBBC(void) +{ + if ((gUnk_02002A40.windcrests & 0x2000000) == 0) { + LoadRoomEntityList(&gUnk_080F9304); + } +} + +extern EntityData gUnk_080F9304; + +void sub_0804FBDC(void) +{ + if ((gUnk_02002A40.windcrests & 0x2000000) == 0) { + LoadRoomEntityList(&gUnk_080F9304); + } +} + +u32 sub_0804FBFC() { + return 1; +} + +void nullsub_424() {} + +u32 sub_0804FC04() { + return 1; +} + +void nullsub_425() {} + +u32 sub_0804FC0C() { + return 1; +} + +void nullsub_426() {} + +u32 sub_0804FC14() { + return 1; +} + +void nullsub_427() {} + +u32 sub_0804FC1C() { + return 1; +} + +void nullsub_428() {} + +u32 sub_0804FC24() { + return 1; +} + +void nullsub_429() {} + +u32 sub_0804FC2C() { + return 1; +} + +void nullsub_430() {} + +u32 sub_0804FC34() { + return 1; +} + +void nullsub_431() {} + +u32 sub_0804FC3C() { + return 1; +} + +void nullsub_432() {} + +u32 sub_0804FC44() { + return 1; +} + +void nullsub_433() {} + +extern u32 gUnk_080F9BF8; + +u32 sub_0804FC4C(void) +{ + if (!CheckKinstoneFused(0xe)) { + gRoomVars.field_0x6c = &gUnk_080F9BF8; + } + return 1; +} + +void sub_0804FC6C() { + sub_0805B4D0(2); + sub_0806D0B0(0); +} + +u32 sub_0804FC7C() { + return 1; +} + +void nullsub_99() {} + +u32 sub_0804FC84() { + return 1; +} + +void nullsub_100() {} + +u32 sub_0804FC8C() { + return 1; +} + +void nullsub_101() {} + +u32 sub_0804FC94() { + return 1; +} + +void nullsub_102() {} + +u32 sub_0804FC9C() { + return 1; +} + +void nullsub_103() {} + +u32 sub_0804FCA4() { + return 1; +} + +extern EntityData gUnk_080F9FA8; +extern EntityData gUnk_080F9F88; + +void sub_0804FCA8(void) +{ + if (CheckKinstoneFused(0x14)) { + LoadRoomEntityList(&gUnk_080F9FA8); + } + if (!GetInventoryValue(0x38)) { + LoadRoomEntityList(&gUnk_080F9F88); + } +} + +u32 sub_0804FCD4() { + return 1; +} + +void nullsub_434() {} + +u32 sub_0804FCDC() { + return 1; +} + +void nullsub_435() {} + +u32 sub_0804FCE4() { + return 1; +} + +void nullsub_436() {} + +u32 sub_0804FCEC() { + return 1; +} + +void nullsub_437() {} + +u32 sub_0804FCF4() { + return 1; +} + +void nullsub_438() {} + +u32 sub_0804FCFC() { + return 1; +} + +void nullsub_439() {} + +u32 sub_0804FD04() { + return 1; +} + +void nullsub_440() {} + +u32 sub_0804FD0C() { + return 1; +} + +void nullsub_441() {} + +u32 sub_0804FD14() { + return 1; +} + +void nullsub_442() {} + +u32 sub_0804FD1C() { + return 1; +} + +void nullsub_443() {} + +u32 sub_0804FD24() { + return 1; +} + +void nullsub_444() {} + +u32 sub_0804FD2C() { + return 1; +} + +void nullsub_445() {} + +u32 sub_0804FD34() { + return 1; +} + +void nullsub_446() {} + +u32 sub_0804FD3C() { + return 1; +} + +void nullsub_447() {} + +u32 sub_0804FD44() { + return 1; +} + +void nullsub_448() { +} + +u32 sub_0804FD4C() { + return 1; +} + +void nullsub_449() {} + +u32 sub_0804FD54() { + return 1; +} + +extern EntityData gUnk_080FA5D0; + +void sub_0804FD58(void) +{ + if (!CheckKinstoneFused(0x21)) { + LoadRoomEntityList(&gUnk_080FA5D0); + } +} + +u32 sub_0804FD70() { + return 1; +} +void nullsub_450() {} + +u32 sub_0804FD78() { + return 1; +} + +void nullsub_451() {} + +u32 sub_0804FD80() { + return 1; +} + +void nullsub_452() {} + +u32 sub_0804FD88() { + return 1; +} + +void nullsub_453() {} + +u32 sub_0804FD90() { + return 1; +} + +void nullsub_454() {} + +u32 sub_0804FD98() { + return 1; +} + +void nullsub_455() {} + +u32 sub_0804FDA0() { + return 1; +} + +void nullsub_456() {} + +u32 sub_0804FDA8() { + return 1; +} + +void nullsub_457() {} + +u32 sub_0804FDB0() { + return 1; +} + +void nullsub_458() {} + +u32 sub_0804FDB8() { + return 1; +} + +void nullsub_459() {} + +u32 sub_0804FDC0() { + return 1; +} + +void nullsub_460() {} + +u32 sub_0804FDC8() { + return 1; +} + +void nullsub_461() {} + +u32 sub_0804FDD0() { + return 1; +} + +void nullsub_462() {} + +u32 sub_0804FDD8() { + return 1; +} + +void nullsub_463() {} + +extern u32 gUnk_080FAD48; + +u32 sub_0804FDE0(void) +{ + if (CheckGlobalFlag(0x51)) { + gRoomVars.field_0x6c = &gUnk_080FAD48; + gRoomVars.field_0x74 = NULL; + } + return 1; +} + +extern EntityData gUnk_080FACB8; + +void sub_0804FE04(void) +{ + if (CheckGlobalFlag(0x51)) { + gArea.pMusicIndex = gArea.musicIndex; + } + else { + LoadRoomEntityList(&gUnk_080FACB8); + } + sub_0805B4D0(0); + sub_08059994(); +} + +void sub_0804FE40() { + sub_0805B4D0(0); +} + +u32 sub_0804FE4C() { + return 1; +} + +void nullsub_104() {} + +u32 sub_0804FE54() { + return 1; +} + +extern EntityData gUnk_080FAFE4; +extern EntityData gUnk_080FB004; + +void sub_0804FE58(void) +{ + + sub_0805B4D0(1); + if (CheckGlobalFlag(3) && !CheckLocalFlag(2)) { + LoadRoomEntityList(&gUnk_080FAFE4); + } + if ((gUnk_02002A40.windcrests & 0x1000000) == 0) { + LoadRoomEntityList(&gUnk_080FB004); + } + if (GetInventoryValue(0x2)) { + SetGlobalFlag(0x56); + } +} + +extern EntityData gUnk_080FB004; + +void sub_0804FEAC(void) +{ + if ((gUnk_02002A40.windcrests & 0x1000000) == 0) { + LoadRoomEntityList(&gUnk_080FB004); + } +} + +u32 sub_0804FECC() { + return 1; +} + +void nullsub_464() {} + +u32 sub_0804FED4() { + return 1; +} + +void sub_0804FED8(void) +{ + SetTileType(0x176, 0x66f, 1); +} + +u32 sub_0804FEEC() { + return 1; +} + +void nullsub_465() {} + +u32 sub_0804FEF4() { + return 1; +} + +void nullsub_466() {} + +u32 sub_0804FEFC() { + return 1; +} + +void nullsub_467() {} + +u32 sub_0804FF04() { + return 1; +} + +void nullsub_468() {} + +u32 sub_0804FF0C() { + return 1; +} + +void nullsub_469() {} + +u32 sub_0804FF14() { + return 1; +} + +void nullsub_470() {} + +u32 sub_0804FF1C() { + return 1; +} + +void nullsub_471() {} + +u32 sub_0804FF24() { + return 1; +} + +void nullsub_472() {} + +u32 sub_0804FF2C() { + return 1; +} + +void nullsub_473() {} + +u32 sub_0804FF34() { + return 1; +} + +void nullsub_474() {} + +u32 sub_0804FF3C() { + return 1; +} + +void nullsub_475() {} + +u32 sub_0804FF44() { + return 1; +} + +void nullsub_476() {} + +u32 sub_0804FF4C() { + return 1; +} + +void nullsub_477() {} + +u32 sub_0804FF54() { + return 1; +} + +void nullsub_478() {} + +u32 sub_0804FF5C() { + return 1; +} + +void sub_0804FF60(void) +{ + if (!CheckLocalFlag(0x70)) { + SetLocalFlag(0x70); + } +} + +u32 sub_0804FF74() { + return 1; +} + +void nullsub_105() {} + +u32 sub_0804FF7C() { + return 1; +} + +void nullsub_106() {} + +typedef struct { + char header[4]; + u8 saveFile; + u8 field_0x5; + u8 brightnessPref; +} struct_02000000; + +extern struct_02000000 gUnk_02000000; + +void sub_0804FF84(u32 arg0) +{ + ((struct_02000000 * )0x02000000)->brightnessPref = arg0; + gUnk_0200B644 = (u32)-1; +} \ No newline at end of file