diff --git a/.gitattributes b/.gitattributes index 9e4fad21..3922803e 100644 --- a/.gitattributes +++ b/.gitattributes @@ -19,3 +19,5 @@ Makefile text eol=lf *.h linguist-language=C *.inc linguist-language=Assembly +data/** linguist-language=data +tools/** linguist-vendored diff --git a/asm/beanstalkSubtask.s b/asm/beanstalkSubtask.s index 8086e86e..0d925e49 100644 --- a/asm/beanstalkSubtask.s +++ b/asm/beanstalkSubtask.s @@ -3181,7 +3181,7 @@ sub_0801AE44: @ 0x0801AE44 bl LoadRoomGfx _0801AE5A: bl sub_080809D4 - bl sub_080805F8 + bl UpdateIsDiggingCave ldr r0, _0801AEE4 @ =gRoomTransition adds r0, #0x2d ldrb r0, [r0] diff --git a/asm/code_08049D30.s b/asm/code_08049D30.s deleted file mode 100644 index a68192f5..00000000 --- a/asm/code_08049D30.s +++ /dev/null @@ -1,1120 +0,0 @@ - .include "asm/macros.inc" - - .include "constants/constants.inc" - - .syntax unified - - .text - - thumb_func_start UpdateRoomTracker -UpdateRoomTracker: @ 0x08049D30 - push {r4, r5, r6, lr} - ldr r1, _08049D58 @ =gUnk_020354B0 - ldr r0, _08049D5C @ =gRoomMemory - str r0, [r1] - adds r5, r1, #0 - ldr r6, _08049D60 @ =gRoomControls - ldr r4, _08049D64 @ =0x0000FFFF -_08049D3E: - ldr r3, [r5] - ldrh r0, [r3] - ldrh r2, [r6, #4] - adds r1, r4, #0 - ands r1, r0 - adds r0, r4, #0 - ands r0, r2 - cmp r1, r0 - bne _08049D68 - adds r0, r3, #0 - bl sub_08049DCC - b _08049D7C - .align 2, 0 -_08049D58: .4byte gUnk_020354B0 -_08049D5C: .4byte gRoomMemory -_08049D60: .4byte gRoomControls -_08049D64: .4byte 0x0000FFFF -_08049D68: - adds r1, r3, #0 - adds r1, #8 - str r1, [r5] - ldr r0, _08049D80 @ =gUnk_02024090 - cmp r1, r0 - blo _08049D3E - bl sub_08049D88 - ldr r1, _08049D84 @ =gUnk_020354B0 - str r0, [r1] -_08049D7C: - pop {r4, r5, r6, pc} - .align 2, 0 -_08049D80: .4byte gUnk_02024090 -_08049D84: .4byte gUnk_020354B0 - - thumb_func_start sub_08049D88 -sub_08049D88: @ 0x08049D88 - push {r4, r5, lr} - ldr r4, _08049DC0 @ =gRoomMemory - adds r1, r4, #0 - adds r1, #8 - ldr r3, _08049DC4 @ =gRoomControls - adds r2, r4, #0 - adds r2, #0x40 -_08049D96: - ldrh r0, [r1, #2] - ldrh r5, [r4, #2] - cmp r0, r5 - bls _08049DA0 - adds r4, r1, #0 -_08049DA0: - adds r1, #8 - cmp r1, r2 - blo _08049D96 - ldrb r0, [r3, #4] - movs r1, #0 - strb r0, [r4] - ldrb r0, [r3, #5] - strb r0, [r4, #1] - ldr r0, _08049DC8 @ =0x0000FFFF - strh r0, [r4, #2] - str r1, [r4, #4] - adds r0, r4, #0 - bl sub_08049DCC - adds r0, r4, #0 - pop {r4, r5, pc} - .align 2, 0 -_08049DC0: .4byte gRoomMemory -_08049DC4: .4byte gRoomControls -_08049DC8: .4byte 0x0000FFFF - - thumb_func_start sub_08049DCC -sub_08049DCC: @ 0x08049DCC - push {r4, lr} - adds r2, r0, #0 - ldr r1, _08049DF0 @ =gRoomMemory - adds r3, r1, #0 - adds r3, #0x40 -_08049DD6: - ldrh r0, [r1, #2] - ldrh r4, [r2, #2] - cmp r0, r4 - bhs _08049DE2 - adds r0, #1 - strh r0, [r1, #2] -_08049DE2: - adds r1, #8 - cmp r1, r3 - blo _08049DD6 - movs r0, #0 - strh r0, [r2, #2] - pop {r4, pc} - .align 2, 0 -_08049DF0: .4byte gRoomMemory - - thumb_func_start sub_08049DF4 -sub_08049DF4: @ 0x08049DF4 - push {lr} - adds r2, r0, #0 - ldr r0, _08049E10 @ =gUnk_020000B0 - ldr r0, [r0] - cmp r0, #0 - bne _08049E0C - ldr r1, _08049E14 @ =gUnk_080D3BE8 - lsls r0, r2, #2 - adds r0, r0, r1 - ldr r0, [r0] - bl _call_via_r0 -_08049E0C: - pop {pc} - .align 2, 0 -_08049E10: .4byte gUnk_020000B0 -_08049E14: .4byte gUnk_080D3BE8 - - thumb_func_start sub_08049E18 -sub_08049E18: @ 0x08049E18 - push {lr} - ldr r1, _08049E38 @ =gPlayerState - adds r0, r1, #0 - adds r0, #0x3c - ldrb r0, [r0] - cmp r0, #0 - bne _08049E48 - ldr r0, [r1, #0x30] - ldr r1, _08049E3C @ =0x22189B75 - ands r0, r1 - cmp r0, #0 - bne _08049E48 - ldr r1, _08049E40 @ =gUnk_020000B0 - ldr r0, _08049E44 @ =gPlayerEntity - str r0, [r1] - b _08049E4A - .align 2, 0 -_08049E38: .4byte gPlayerState -_08049E3C: .4byte 0x22189B75 -_08049E40: .4byte gUnk_020000B0 -_08049E44: .4byte gPlayerEntity -_08049E48: - movs r0, #0 -_08049E4A: - pop {pc} - - thumb_func_start sub_08049E4C -sub_08049E4C: @ 0x08049E4C - push {lr} - ldr r1, _08049E6C @ =gPlayerState - adds r0, r1, #0 - adds r0, #0x3c - ldrb r0, [r0] - cmp r0, #0 - bne _08049E7C - ldr r0, [r1, #0x30] - ldr r1, _08049E70 @ =0x22189BF5 - ands r0, r1 - cmp r0, #0 - bne _08049E7C - ldr r1, _08049E74 @ =gUnk_020000B0 - ldr r0, _08049E78 @ =gPlayerEntity - str r0, [r1] - b _08049E7E - .align 2, 0 -_08049E6C: .4byte gPlayerState -_08049E70: .4byte 0x22189BF5 -_08049E74: .4byte gUnk_020000B0 -_08049E78: .4byte gPlayerEntity -_08049E7C: - movs r0, #0 -_08049E7E: - pop {pc} - - thumb_func_start sub_08049E80 -sub_08049E80: @ 0x08049E80 - push {lr} - ldr r1, _08049E9C @ =gPlayerState - adds r0, r1, #0 - adds r0, #0x3c - ldrb r0, [r0] - cmp r0, #0 - bne _08049E98 - ldr r0, [r1, #0x30] - movs r1, #0x80 - ands r0, r1 - cmp r0, #0 - bne _08049EA0 -_08049E98: - movs r0, #0 - b _08049EA6 - .align 2, 0 -_08049E9C: .4byte gPlayerState -_08049EA0: - ldr r1, _08049EA8 @ =gUnk_020000B0 - ldr r0, _08049EAC @ =gPlayerEntity - str r0, [r1] -_08049EA6: - pop {pc} - .align 2, 0 -_08049EA8: .4byte gUnk_020000B0 -_08049EAC: .4byte gPlayerEntity - - thumb_func_start sub_08049EB0 -sub_08049EB0: @ 0x08049EB0 - push {lr} - ldr r1, _08049ED0 @ =gPlayerState - adds r0, r1, #0 - adds r0, #0x3c - ldrb r0, [r0] - cmp r0, #0 - bne _08049EE0 - ldr r0, [r1, #0x30] - ldr r1, _08049ED4 @ =0x00080190 - ands r0, r1 - cmp r0, #0 - bne _08049EE0 - ldr r1, _08049ED8 @ =gUnk_020000B0 - ldr r0, _08049EDC @ =gPlayerEntity - str r0, [r1] - b _08049EE2 - .align 2, 0 -_08049ED0: .4byte gPlayerState -_08049ED4: .4byte 0x00080190 -_08049ED8: .4byte gUnk_020000B0 -_08049EDC: .4byte gPlayerEntity -_08049EE0: - movs r0, #0 -_08049EE2: - pop {pc} - - thumb_func_start sub_08049EE4 -sub_08049EE4: @ 0x08049EE4 - push {r4, r5, lr} - mov ip, r0 - adds r0, #0x70 - mov r1, ip - adds r1, #0x6e - ldrb r2, [r1] - lsls r2, r2, #2 - ldrh r0, [r0] - adds r2, r2, r0 - lsls r2, r2, #0x10 - lsrs r2, r2, #0x10 - adds r1, #4 - mov r0, ip - adds r0, #0x6f - ldrb r3, [r0] - lsls r3, r3, #2 - ldrh r1, [r1] - adds r3, r3, r1 - lsls r3, r3, #0x10 - lsrs r3, r3, #0x10 - mov r1, ip - movs r4, #0x2e - ldrsh r0, [r1, r4] - movs r5, #0x32 - ldrsh r1, [r1, r5] - bl CalculateDirectionTo - pop {r4, r5, pc} - - thumb_func_start sub_08049F1C -sub_08049F1C: @ 0x08049F1C - push {r4, r5, lr} - adds r4, r0, #0 - adds r3, r1, #0 - adds r5, r2, #0 - adds r0, #0x38 - adds r1, #0x38 - ldrb r2, [r0] - ldrb r0, [r1] - ands r0, r2 - cmp r0, #0 - beq _08049F5E - movs r0, #0x2e - ldrsh r2, [r3, r0] - movs r1, #0x2e - ldrsh r0, [r4, r1] - subs r2, r2, r0 - movs r0, #0x32 - ldrsh r1, [r3, r0] - movs r3, #0x32 - ldrsh r0, [r4, r3] - subs r1, r1, r0 - adds r3, r5, #0 - muls r3, r5, r3 - adds r0, r2, #0 - muls r0, r2, r0 - adds r2, r1, #0 - muls r2, r1, r2 - adds r1, r2, #0 - adds r0, r0, r1 - cmp r3, r0 - blt _08049F5E - movs r0, #1 - b _08049F60 -_08049F5E: - movs r0, #0 -_08049F60: - pop {r4, r5, pc} - .align 2, 0 - - thumb_func_start PlayerInRange -PlayerInRange: @ 0x08049F64 - push {r4, r5, lr} - adds r4, r0, #0 - adds r0, r1, #0 - adds r5, r2, #0 - bl sub_08049DF4 - adds r1, r0, #0 - cmp r1, #0 - beq _08049F80 - adds r0, r4, #0 - adds r2, r5, #0 - bl sub_08049F1C - b _08049F82 -_08049F80: - movs r0, #0 -_08049F82: - pop {r4, r5, pc} - - thumb_func_start sub_08049F84 -sub_08049F84: @ 0x08049F84 - push {r4, lr} - adds r4, r0, #0 - adds r0, r1, #0 - bl sub_08049DF4 - adds r1, r0, #0 - cmp r1, #0 - beq _08049F9C - adds r0, r4, #0 - bl GetFacingDirection - b _08049F9E -_08049F9C: - movs r0, #0xff -_08049F9E: - pop {r4, pc} - - thumb_func_start sub_08049FA0 -sub_08049FA0: @ 0x08049FA0 - push {lr} - adds r3, r0, #0 - adds r0, #0x6e - ldrb r2, [r0] - lsls r2, r2, #3 - movs r1, #0x2e - ldrsh r0, [r3, r1] - adds r1, r3, #0 - adds r1, #0x70 - ldrh r1, [r1] - subs r0, r0, r1 - cmp r2, r0 - blo _08049FD6 - adds r0, r3, #0 - adds r0, #0x6f - ldrb r2, [r0] - lsls r2, r2, #3 - movs r1, #0x32 - ldrsh r0, [r3, r1] - adds r1, r3, #0 - adds r1, #0x72 - ldrh r1, [r1] - subs r0, r0, r1 - cmp r2, r0 - blo _08049FD6 - movs r0, #1 - b _08049FD8 -_08049FD6: - movs r0, #0 -_08049FD8: - pop {pc} - .align 2, 0 - - thumb_func_start sub_08049FDC -sub_08049FDC: @ 0x08049FDC - push {r4, lr} - adds r4, r0, #0 - adds r0, r1, #0 - bl sub_08049DF4 - adds r3, r0, #0 - cmp r3, #0 - beq _0804A020 - adds r0, r4, #0 - adds r0, #0x6e - ldrb r2, [r0] - lsls r2, r2, #3 - movs r1, #0x2e - ldrsh r0, [r3, r1] - adds r1, r4, #0 - adds r1, #0x70 - ldrh r1, [r1] - subs r0, r0, r1 - cmp r2, r0 - blo _0804A020 - adds r0, r4, #0 - adds r0, #0x6f - ldrb r2, [r0] - lsls r2, r2, #3 - movs r1, #0x32 - ldrsh r0, [r3, r1] - adds r1, r4, #0 - adds r1, #0x72 - ldrh r1, [r1] - subs r0, r0, r1 - cmp r2, r0 - blo _0804A020 - movs r0, #1 - b _0804A022 -_0804A020: - movs r0, #0 -_0804A022: - pop {r4, pc} - - thumb_func_start sub_0804A024 -sub_0804A024: @ 0x0804A024 - push {r4, r5, lr} - adds r4, r0, #0 - adds r0, r1, #0 - adds r5, r2, #0 - bl sub_08049DF4 - adds r1, r0, #0 - cmp r1, #0 - beq _0804A040 - adds r0, r4, #0 - adds r2, r5, #0 - bl sub_0804A044 - b _0804A042 -_0804A040: - movs r0, #0xff -_0804A042: - pop {r4, r5, pc} - - thumb_func_start sub_0804A044 -sub_0804A044: @ 0x0804A044 - push {r4, r5, r6, r7, lr} - mov r7, sl - mov r6, sb - mov r5, r8 - push {r5, r6, r7} - sub sp, #4 - adds r7, r0, #0 - mov r8, r1 - mov r0, r8 - adds r0, #0x38 - movs r1, #0x38 - adds r1, r1, r7 - mov sl, r1 - ldrb r1, [r0] - mov r3, sl - ldrb r0, [r3] - ands r0, r1 - cmp r0, #0 - beq _0804A15A - movs r5, #0 - mov r0, r8 - movs r3, #0x2e - ldrsh r1, [r0, r3] - ldr r0, [r0, #0x48] - mov ip, r0 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - adds r1, r1, r0 - movs r3, #0x2e - ldrsh r0, [r7, r3] - subs r1, r1, r0 - ldr r4, [r7, #0x48] - movs r0, #0 - ldrsb r0, [r4, r0] - subs r6, r1, r0 - lsrs r3, r2, #1 - adds r0, r6, r3 - cmp r2, r0 - blo _0804A096 - movs r5, #1 -_0804A096: - lsls r0, r2, #1 - mov sb, r0 - adds r0, r6, r2 - cmp sb, r0 - blo _0804A0A4 - movs r0, #2 - orrs r5, r0 -_0804A0A4: - mov r1, r8 - movs r0, #0x32 - ldrsh r1, [r1, r0] - str r1, [sp] - mov r1, ip - ldrb r1, [r1, #1] - lsls r1, r1, #0x18 - asrs r1, r1, #0x18 - mov ip, r1 - ldr r0, [sp] - add r0, ip - str r0, [sp] - movs r0, #0x32 - ldrsh r1, [r7, r0] - ldr r0, [sp] - subs r0, r0, r1 - movs r1, #1 - ldrsb r1, [r4, r1] - subs r4, r0, r1 - adds r0, r4, r3 - cmp r2, r0 - blo _0804A0D4 - movs r0, #4 - orrs r5, r0 -_0804A0D4: - adds r0, r4, r2 - cmp sb, r0 - blo _0804A0DE - movs r0, #8 - orrs r5, r0 -_0804A0DE: - cmp r5, #0 - beq _0804A15A - movs r0, #5 - ands r0, r5 - cmp r0, #0xa - beq _0804A15A - mov r1, sl - ldrb r0, [r1] - bl GetLayerByIndex - mov sb, r0 - cmp r6, #0 - bge _0804A0FA - rsbs r6, r6, #0 -_0804A0FA: - cmp r4, #0 - bge _0804A100 - rsbs r4, r4, #0 -_0804A100: - cmp r6, r4 - bge _0804A12E - movs r0, #1 - ands r0, r5 - cmp r0, #0 - beq _0804A11A - adds r0, r7, #0 - mov r1, r8 - mov r2, sb - bl sub_0804A168 - cmp r0, #0xff - bne _0804A15C -_0804A11A: - movs r0, #4 - ands r5, r0 - cmp r5, #0 - beq _0804A15A - adds r0, r7, #0 - mov r1, r8 - mov r2, sb - bl sub_0804A318 - b _0804A156 -_0804A12E: - movs r0, #4 - ands r0, r5 - cmp r0, #0 - beq _0804A144 - adds r0, r7, #0 - mov r1, r8 - mov r2, sb - bl sub_0804A318 - cmp r0, #0xff - bne _0804A15C -_0804A144: - movs r0, #1 - ands r5, r0 - cmp r5, #0 - beq _0804A15A - adds r0, r7, #0 - mov r1, r8 - mov r2, sb - bl sub_0804A168 -_0804A156: - cmp r0, #0xff - bne _0804A15C -_0804A15A: - movs r0, #0xff -_0804A15C: - add sp, #4 - pop {r3, r4, r5} - mov r8, r3 - mov sb, r4 - mov sl, r5 - pop {r4, r5, r6, r7, pc} - - thumb_func_start sub_0804A168 -sub_0804A168: @ 0x0804A168 - push {r4, r5, r6, r7, lr} - mov r7, sl - mov r6, sb - mov r5, r8 - push {r5, r6, r7} - sub sp, #4 - adds r4, r0, #0 - mov sb, r1 - adds r5, r2, #0 - movs r0, #0x32 - ldrsh r1, [r1, r0] - movs r2, #0x32 - ldrsh r0, [r4, r2] - cmp r1, r0 - ble _0804A248 - movs r3, #0x2e - ldrsh r0, [r4, r3] - subs r2, r0, #4 - movs r0, #0xf - mov sl, r0 - adds r0, r2, #0 - mov r1, sl - ands r0, r1 - movs r7, #5 - cmp r0, #7 - bhi _0804A19E - movs r7, #0xa -_0804A19E: - ldr r3, _0804A240 @ =gRoomControls - mov r8, r3 - ldrh r1, [r3, #6] - subs r1, r2, r1 - lsrs r1, r1, #4 - movs r6, #0x3f - ands r1, r6 - movs r2, #0x32 - ldrsh r0, [r4, r2] - ldrh r3, [r3, #8] - mov ip, r3 - mov r2, ip - subs r2, #0xa - subs r0, r0, r2 - asrs r0, r0, #4 - ands r0, r6 - lsls r0, r0, #6 - orrs r0, r1 - mov r2, sb - movs r3, #0x32 - ldrsh r2, [r2, r3] - mov r3, ip - subs r2, r2, r3 - asrs r2, r2, #4 - ands r2, r6 - lsls r2, r2, #6 - orrs r1, r2 - ldr r2, _0804A244 @ =0x00002004 - adds r0, r0, r2 - adds r0, r5, r0 - adds r1, r1, r2 - adds r1, r5, r1 - movs r2, #0x40 - adds r3, r7, #0 - bl sub_0804A4BC - cmp r0, #0 - bne _0804A1EC - b _0804A308 -_0804A1EC: - movs r1, #0x2e - ldrsh r0, [r4, r1] - adds r2, r0, #4 - mov r3, sl - eors r7, r3 - mov r0, r8 - ldrh r1, [r0, #6] - subs r1, r2, r1 - lsrs r1, r1, #4 - ands r1, r6 - movs r2, #0x32 - ldrsh r0, [r4, r2] - mov r4, r8 - ldrh r3, [r4, #8] - adds r2, r3, #0 - subs r2, #0xa - subs r0, r0, r2 - asrs r0, r0, #4 - ands r0, r6 - lsls r0, r0, #6 - orrs r0, r1 - mov r2, sb - movs r4, #0x32 - ldrsh r2, [r2, r4] - subs r2, r2, r3 - asrs r2, r2, #4 - ands r2, r6 - lsls r2, r2, #6 - orrs r1, r2 - ldr r2, _0804A244 @ =0x00002004 - adds r0, r0, r2 - adds r0, r5, r0 - adds r1, r1, r2 - adds r1, r5, r1 - movs r2, #0x40 - adds r3, r7, #0 - bl sub_0804A4BC - cmp r0, #0 - beq _0804A308 - movs r0, #0x10 - b _0804A30A - .align 2, 0 -_0804A240: .4byte gRoomControls -_0804A244: .4byte 0x00002004 -_0804A248: - movs r3, #0x2e - ldrsh r0, [r4, r3] - subs r2, r0, #4 - adds r0, r2, #0 - movs r1, #0xf - ands r0, r1 - movs r7, #5 - cmp r0, #7 - bhi _0804A25C - movs r7, #0xa -_0804A25C: - ldr r3, _0804A300 @ =gRoomControls - mov r8, r3 - ldrh r1, [r3, #6] - subs r1, r2, r1 - lsrs r1, r1, #4 - movs r6, #0x3f - ands r1, r6 - movs r2, #0x32 - ldrsh r0, [r4, r2] - ldrh r3, [r3, #8] - mov sl, r3 - mov r2, sl - adds r2, #0xa - subs r0, r0, r2 - asrs r0, r0, #4 - ands r0, r6 - lsls r0, r0, #6 - orrs r0, r1 - mov r2, sb - movs r3, #0x32 - ldrsh r2, [r2, r3] - mov r3, sl - subs r2, r2, r3 - asrs r2, r2, #4 - ands r2, r6 - lsls r2, r2, #6 - orrs r1, r2 - ldr r2, _0804A304 @ =0x00002004 - adds r0, r0, r2 - adds r0, r5, r0 - adds r1, r1, r2 - adds r1, r5, r1 - movs r2, #0x40 - rsbs r2, r2, #0 - mov sl, r2 - adds r3, r7, #0 - bl sub_0804A4BC - cmp r0, #0 - beq _0804A308 - movs r3, #0x2e - ldrsh r0, [r4, r3] - adds r2, r0, #4 - movs r0, #0xf - eors r7, r0 - mov r3, r8 - ldrh r1, [r3, #6] - subs r1, r2, r1 - lsrs r1, r1, #4 - ands r1, r6 - movs r2, #0x32 - ldrsh r0, [r4, r2] - ldrh r3, [r3, #8] - adds r2, r3, #0 - adds r2, #0xa - subs r0, r0, r2 - asrs r0, r0, #4 - ands r0, r6 - lsls r0, r0, #6 - orrs r0, r1 - mov r4, sb - movs r2, #0x32 - ldrsh r4, [r4, r2] - subs r2, r4, r3 - asrs r2, r2, #4 - ands r2, r6 - lsls r2, r2, #6 - orrs r1, r2 - ldr r3, _0804A304 @ =0x00002004 - adds r0, r0, r3 - adds r0, r5, r0 - adds r1, r1, r3 - adds r1, r5, r1 - mov r2, sl - adds r3, r7, #0 - bl sub_0804A4BC - cmp r0, #0 - beq _0804A308 - movs r0, #0 - b _0804A30A - .align 2, 0 -_0804A300: .4byte gRoomControls -_0804A304: .4byte 0x00002004 -_0804A308: - movs r0, #0xff -_0804A30A: - add sp, #4 - pop {r3, r4, r5} - mov r8, r3 - mov sb, r4 - mov sl, r5 - pop {r4, r5, r6, r7, pc} - .align 2, 0 - - thumb_func_start sub_0804A318 -sub_0804A318: @ 0x0804A318 - push {r4, r5, r6, r7, lr} - mov r7, sl - mov r6, sb - mov r5, r8 - push {r5, r6, r7} - adds r5, r0, #0 - mov sl, r1 - adds r6, r2, #0 - movs r0, #0x2e - ldrsh r1, [r1, r0] - movs r2, #0x2e - ldrsh r0, [r5, r2] - cmp r1, r0 - ble _0804A3F0 - movs r4, #0x32 - ldrsh r0, [r5, r4] - subs r4, r0, #4 - adds r0, r4, #0 - movs r1, #0xf - ands r0, r1 - movs r2, #3 - mov r8, r2 - cmp r0, #7 - bhi _0804A34C - movs r0, #0xc - mov r8, r0 -_0804A34C: - movs r1, #0x2e - ldrsh r0, [r5, r1] - ldr r2, _0804A3E8 @ =gRoomControls - mov sb, r2 - ldrh r3, [r2, #6] - adds r1, r3, #0 - subs r1, #0xa - subs r0, r0, r1 - asrs r0, r0, #4 - movs r7, #0x3f - ands r0, r7 - ldrh r2, [r2, #8] - subs r2, r4, r2 - lsrs r2, r2, #4 - ands r2, r7 - lsls r2, r2, #6 - orrs r0, r2 - mov r4, sl - movs r1, #0x2e - ldrsh r4, [r4, r1] - subs r1, r4, r3 - asrs r1, r1, #4 - ands r1, r7 - orrs r1, r2 - ldr r2, _0804A3EC @ =0x00002004 - adds r0, r0, r2 - adds r0, r6, r0 - adds r1, r1, r2 - adds r1, r6, r1 - movs r2, #1 - mov r3, r8 - bl sub_0804A4BC - cmp r0, #0 - bne _0804A394 - b _0804A4B0 -_0804A394: - movs r2, #0x32 - ldrsh r0, [r5, r2] - adds r4, r0, #4 - mov r0, r8 - movs r1, #0xf - eors r0, r1 - mov r8, r0 - movs r2, #0x2e - ldrsh r0, [r5, r2] - mov r5, sb - ldrh r3, [r5, #6] - adds r1, r3, #0 - subs r1, #0xa - subs r0, r0, r1 - asrs r0, r0, #4 - ands r0, r7 - ldrh r2, [r5, #8] - subs r2, r4, r2 - lsrs r2, r2, #4 - ands r2, r7 - lsls r2, r2, #6 - orrs r0, r2 - mov r4, sl - movs r5, #0x2e - ldrsh r1, [r4, r5] - subs r1, r1, r3 - asrs r1, r1, #4 - ands r1, r7 - orrs r1, r2 - ldr r2, _0804A3EC @ =0x00002004 - adds r0, r0, r2 - adds r0, r6, r0 - adds r1, r1, r2 - adds r1, r6, r1 - movs r2, #1 - mov r3, r8 - bl sub_0804A4BC - cmp r0, #0 - beq _0804A4B0 - movs r0, #8 - b _0804A4B2 - .align 2, 0 -_0804A3E8: .4byte gRoomControls -_0804A3EC: .4byte 0x00002004 -_0804A3F0: - movs r4, #0x32 - ldrsh r0, [r5, r4] - subs r4, r0, #4 - adds r0, r4, #0 - movs r1, #0xf - ands r0, r1 - movs r2, #3 - mov r8, r2 - cmp r0, #7 - bhi _0804A408 - movs r0, #0xc - mov r8, r0 -_0804A408: - movs r1, #0x2e - ldrsh r0, [r5, r1] - ldr r2, _0804A4A8 @ =gRoomControls - mov sb, r2 - ldrh r3, [r2, #6] - adds r1, r3, #0 - adds r1, #0xa - subs r0, r0, r1 - asrs r0, r0, #4 - movs r7, #0x3f - ands r0, r7 - ldrh r2, [r2, #8] - subs r2, r4, r2 - lsrs r2, r2, #4 - ands r2, r7 - lsls r2, r2, #6 - orrs r0, r2 - mov r4, sl - movs r1, #0x2e - ldrsh r4, [r4, r1] - subs r1, r4, r3 - asrs r1, r1, #4 - ands r1, r7 - orrs r1, r2 - ldr r2, _0804A4AC @ =0x00002004 - adds r0, r0, r2 - adds r0, r6, r0 - adds r1, r1, r2 - adds r1, r6, r1 - movs r2, #1 - rsbs r2, r2, #0 - mov r3, r8 - bl sub_0804A4BC - cmp r0, #0 - beq _0804A4B0 - movs r2, #0x32 - ldrsh r0, [r5, r2] - adds r4, r0, #4 - mov r0, r8 - movs r1, #0xf - eors r0, r1 - mov r8, r0 - movs r2, #0x2e - ldrsh r0, [r5, r2] - mov r5, sb - ldrh r3, [r5, #6] - adds r1, r3, #0 - adds r1, #0xa - subs r0, r0, r1 - asrs r0, r0, #4 - ands r0, r7 - ldrh r2, [r5, #8] - subs r2, r4, r2 - lsrs r2, r2, #4 - ands r2, r7 - lsls r2, r2, #6 - orrs r0, r2 - mov r4, sl - movs r5, #0x2e - ldrsh r1, [r4, r5] - subs r1, r1, r3 - asrs r1, r1, #4 - ands r1, r7 - orrs r1, r2 - ldr r2, _0804A4AC @ =0x00002004 - adds r0, r0, r2 - adds r0, r6, r0 - adds r1, r1, r2 - adds r1, r6, r1 - movs r2, #1 - rsbs r2, r2, #0 - mov r3, r8 - bl sub_0804A4BC - cmp r0, #0 - beq _0804A4B0 - movs r0, #0x18 - b _0804A4B2 - .align 2, 0 -_0804A4A8: .4byte gRoomControls -_0804A4AC: .4byte 0x00002004 -_0804A4B0: - movs r0, #0xff -_0804A4B2: - pop {r3, r4, r5} - mov r8, r3 - mov sb, r4 - mov sl, r5 - pop {r4, r5, r6, r7, pc} - - thumb_func_start sub_0804A4BC -sub_0804A4BC: @ 0x0804A4BC - push {r4, lr} - adds r4, r0, #0 - cmp r4, r1 - beq _0804A4DE -_0804A4C4: - ldrb r0, [r4] - cmp r0, #0 - beq _0804A4D8 - cmp r0, #0xf - bhi _0804A4D4 - ands r0, r3 - cmp r0, #0 - beq _0804A4D8 -_0804A4D4: - movs r0, #0 - b _0804A4E0 -_0804A4D8: - adds r4, r4, r2 - cmp r4, r1 - bne _0804A4C4 -_0804A4DE: - movs r0, #1 -_0804A4E0: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_0804A4E4 -sub_0804A4E4: @ 0x0804A4E4 - push {r4, r5, r6, r7, lr} - adds r5, r0, #0 - adds r6, r1, #0 - adds r7, r5, #0 - adds r7, #0x6d - ldrb r1, [r7] - movs r4, #0x40 - adds r0, r4, #0 - ands r0, r1 - movs r1, #4 - adds r2, r6, #0 - adds r2, #0x6d - orrs r0, r1 - strb r0, [r2] - adds r0, r5, #0 - adds r0, #0x6c - ldrb r1, [r0] - adds r0, r6, #0 - adds r0, #0x6c - strb r1, [r0] - adds r0, r5, #0 - adds r0, #0x70 - ldrh r1, [r0] - adds r0, r6, #0 - adds r0, #0x70 - strh r1, [r0] - adds r0, r5, #0 - adds r0, #0x72 - ldrh r0, [r0] - adds r1, r6, #0 - adds r1, #0x72 - strh r0, [r1] - adds r0, r5, #0 - adds r0, #0x6e - ldrb r0, [r0] - subs r1, #4 - strb r0, [r1] - adds r0, r5, #0 - adds r0, #0x6f - ldrb r0, [r0] - adds r1, #1 - strb r0, [r1] - adds r0, r5, #0 - adds r1, r6, #0 - bl CopyPositionAndSpriteOffset - ldrb r0, [r7] - ands r4, r0 - cmp r4, #0 - beq _0804A550 - adds r0, r5, #0 - adds r1, r6, #0 - bl ReplaceMonitoredEntity -_0804A550: - pop {r4, r5, r6, r7, pc} - .align 2, 0 - - - - - diff --git a/asm/enemy/flyingPot.s b/asm/enemy/flyingPot.s deleted file mode 100644 index 5650403a..00000000 --- a/asm/enemy/flyingPot.s +++ /dev/null @@ -1,560 +0,0 @@ - .include "asm/macros.inc" - - .include "constants/constants.inc" - - .syntax unified - - .text - - - thumb_func_start FlyingPot -FlyingPot: @ 0x0803704C - push {r4, r5, lr} - adds r5, r0, #0 - bl sub_080012DC - adds r1, r0, #0 - cmp r1, #0 - beq _08037070 - ldr r0, _0803706C @ =gUnk_080012C8 - lsls r1, r1, #2 - adds r1, r1, r0 - ldr r1, [r1] - adds r0, r5, #0 - bl _call_via_r1 - b _08037084 - .align 2, 0 -_0803706C: .4byte gUnk_080012C8 -_08037070: - ldr r4, _08037088 @ =gUnk_080CF244 - adds r0, r5, #0 - bl GetNextFunction - lsls r0, r0, #2 - adds r0, r0, r4 - ldr r1, [r0] - adds r0, r5, #0 - bl _call_via_r1 -_08037084: - pop {r4, r5, pc} - .align 2, 0 -_08037088: .4byte gUnk_080CF244 - - thumb_func_start sub_0803708C -sub_0803708C: @ 0x0803708C - push {lr} - ldr r2, _080370A0 @ =gUnk_080CF25C - ldrb r1, [r0, #0xc] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_080370A0: .4byte gUnk_080CF25C - - thumb_func_start sub_080370A4 -sub_080370A4: @ 0x080370A4 - push {r4, r5, r6, lr} - adds r5, r0, #0 - bl sub_08037418 - adds r0, r5, #0 - adds r0, #0x41 - ldrb r0, [r0] - cmp r0, #0x9d - bne _08037110 - movs r0, #6 - strb r0, [r5, #0xc] - ldrb r1, [r5, #0x10] - movs r0, #0x7f - ands r0, r1 - strb r0, [r5, #0x10] - movs r0, #0xa8 - lsls r0, r0, #0xa - str r0, [r5, #0x20] - adds r2, r5, #0 - adds r2, #0x29 - ldrb r1, [r2] - movs r0, #0x39 - rsbs r0, r0, #0 - ands r0, r1 - movs r1, #8 - orrs r0, r1 - strb r0, [r2] - adds r0, r5, #0 - adds r0, #0x74 - ldrh r0, [r0] - movs r2, #0x2e - ldrsh r1, [r5, r2] - ldr r3, _0803710C @ =gRoomControls - ldrh r2, [r3, #6] - subs r1, r1, r2 - asrs r1, r1, #4 - movs r4, #0x3f - ands r1, r4 - movs r6, #0x32 - ldrsh r2, [r5, r6] - ldrh r3, [r3, #8] - subs r2, r2, r3 - asrs r2, r2, #4 - ands r2, r4 - lsls r2, r2, #6 - orrs r1, r2 - adds r2, r5, #0 - adds r2, #0x38 - ldrb r2, [r2] - bl SetTile - b _0803711E - .align 2, 0 -_0803710C: .4byte gRoomControls -_08037110: - movs r1, #0x36 - ldrsh r0, [r5, r1] - cmp r0, #0 - beq _0803711E - adds r0, r5, #0 - bl sub_08037408 -_0803711E: - ldr r1, _08037128 @ =gUnk_080CF244 - adds r0, r5, #0 - bl EnemyFunctionHandlerAfterCollision - pop {r4, r5, r6, pc} - .align 2, 0 -_08037128: .4byte gUnk_080CF244 - - thumb_func_start sub_0803712C -sub_0803712C: @ 0x0803712C - push {lr} - ldr r2, _08037140 @ =gUnk_080CF278 - ldrb r1, [r0, #0xd] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_08037140: .4byte gUnk_080CF278 - - thumb_func_start sub_08037144 -sub_08037144: @ 0x08037144 - push {r4, lr} - adds r4, r0, #0 - bl sub_08037418 - movs r1, #0 - movs r0, #1 - strb r0, [r4, #0xd] - strb r1, [r4, #0xe] - movs r0, #0x30 - strb r0, [r4, #0x1d] - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_0803715C -sub_0803715C: @ 0x0803715C - push {r4, lr} - adds r4, r0, #0 - bl sub_08037418 - adds r0, r4, #0 - bl sub_0806F520 - cmp r0, #0 - beq _08037176 - adds r0, r4, #0 - bl sub_0806F4E8 - b _0803718A -_08037176: - adds r1, r4, #0 - adds r1, #0x62 - strb r0, [r1] - movs r1, #0x36 - ldrsh r0, [r4, r1] - cmp r0, #0 - beq _0803718A - adds r0, r4, #0 - bl sub_08037408 -_0803718A: - pop {r4, pc} - - thumb_func_start sub_0803718C -sub_0803718C: @ 0x0803718C - push {r4, r5, r6, lr} - adds r5, r0, #0 - ldrb r4, [r5, #0xe] - cmp r4, #0 - bne _080371DA - bl sub_08037418 - movs r0, #1 - strb r0, [r5, #0xe] - ldrb r1, [r5, #0x10] - movs r0, #0x7f - ands r0, r1 - strb r0, [r5, #0x10] - adds r0, r5, #0 - adds r0, #0x62 - strb r4, [r0] - adds r0, #0x12 - ldrh r0, [r0] - movs r2, #0x2e - ldrsh r1, [r5, r2] - ldr r3, _080371EC @ =gRoomControls - ldrh r2, [r3, #6] - subs r1, r1, r2 - asrs r1, r1, #4 - movs r4, #0x3f - ands r1, r4 - movs r6, #0x32 - ldrsh r2, [r5, r6] - ldrh r3, [r3, #8] - subs r2, r2, r3 - asrs r2, r2, #4 - ands r2, r4 - lsls r2, r2, #6 - orrs r1, r2 - adds r2, r5, #0 - adds r2, #0x38 - ldrb r2, [r2] - bl SetTile -_080371DA: - adds r0, r5, #0 - bl sub_0806F520 - cmp r0, #0 - beq _080371F0 - adds r0, r5, #0 - bl sub_0806F3E4 - b _080371F6 - .align 2, 0 -_080371EC: .4byte gRoomControls -_080371F0: - adds r0, r5, #0 - bl sub_08037408 -_080371F6: - pop {r4, r5, r6, pc} - - thumb_func_start sub_080371F8 -sub_080371F8: @ 0x080371F8 - push {lr} - adds r2, r0, #0 - ldr r0, _08037210 @ =gPlayerState - ldrb r1, [r0, #0x1c] - movs r0, #0xf - ands r0, r1 - cmp r0, #0 - bne _0803720E - adds r0, r2, #0 - bl sub_08037408 -_0803720E: - pop {pc} - .align 2, 0 -_08037210: .4byte gPlayerState - - thumb_func_start nullsub_161 -nullsub_161: @ 0x08037214 - bx lr - .align 2, 0 - - thumb_func_start sub_08037218 -sub_08037218: @ 0x08037218 - push {lr} - bl sub_08037408 - pop {pc} - - thumb_func_start sub_08037220 -sub_08037220: @ 0x08037220 - push {r4, r5, r6, lr} - adds r5, r0, #0 - movs r0, #1 - strb r0, [r5, #0xc] - movs r0, #2 - strb r0, [r5, #0x1c] - ldrh r0, [r5, #0x32] - adds r0, #3 - strh r0, [r5, #0x32] - movs r0, #0x2e - ldrsh r4, [r5, r0] - ldr r1, _0803727C @ =gRoomControls - ldrh r0, [r1, #6] - subs r4, r4, r0 - asrs r4, r4, #4 - movs r2, #0x3f - ands r4, r2 - movs r3, #0x32 - ldrsh r0, [r5, r3] - ldrh r1, [r1, #8] - subs r0, r0, r1 - asrs r0, r0, #4 - ands r0, r2 - lsls r0, r0, #6 - orrs r4, r0 - adds r6, r5, #0 - adds r6, #0x38 - ldrb r1, [r6] - adds r0, r4, #0 - bl GetTileIndex - adds r1, r5, #0 - adds r1, #0x74 - strh r0, [r1] - movs r0, #0x80 - lsls r0, r0, #7 - ldrb r2, [r6] - adds r1, r4, #0 - bl SetTile - adds r0, r5, #0 - movs r1, #5 - bl InitializeAnimation - pop {r4, r5, r6, pc} - .align 2, 0 -_0803727C: .4byte gRoomControls - - thumb_func_start sub_08037280 -sub_08037280: @ 0x08037280 - push {r4, r5, r6, lr} - adds r5, r0, #0 - bl sub_08037418 - adds r0, r5, #0 - bl GetTileTypeByEntity - movs r1, #0x80 - lsls r1, r1, #7 - cmp r0, r1 - beq _080372CC - adds r0, r5, #0 - adds r0, #0x74 - ldrh r0, [r0] - movs r2, #0x2e - ldrsh r1, [r5, r2] - ldr r3, _080372E4 @ =gRoomControls - ldrh r2, [r3, #6] - subs r1, r1, r2 - asrs r1, r1, #4 - movs r4, #0x3f - ands r1, r4 - movs r6, #0x32 - ldrsh r2, [r5, r6] - ldrh r3, [r3, #8] - subs r2, r2, r3 - asrs r2, r2, #4 - ands r2, r4 - lsls r2, r2, #6 - orrs r1, r2 - adds r2, r5, #0 - adds r2, #0x38 - ldrb r2, [r2] - bl SetTile - adds r0, r5, #0 - bl sub_08037408 -_080372CC: - adds r0, r5, #0 - movs r1, #1 - movs r2, #0x40 - bl PlayerInRange - cmp r0, #0 - beq _080372E2 - movs r0, #2 - strb r0, [r5, #0xc] - movs r0, #0x1e - strb r0, [r5, #0xe] -_080372E2: - pop {r4, r5, r6, pc} - .align 2, 0 -_080372E4: .4byte gRoomControls - - thumb_func_start sub_080372E8 -sub_080372E8: @ 0x080372E8 - push {r4, r5, r6, lr} - adds r5, r0, #0 - bl sub_08037418 - adds r3, r5, #0 - adds r3, #0x62 - ldr r2, _08037370 @ =gUnk_080CF290 - ldrb r1, [r5, #0xe] - movs r6, #3 - adds r0, r6, #0 - ands r0, r1 - adds r0, r0, r2 - ldrb r0, [r0] - ldrb r1, [r3] - adds r0, r0, r1 - strb r0, [r3] - ldrb r0, [r5, #0xe] - subs r0, #1 - strb r0, [r5, #0xe] - lsls r0, r0, #0x18 - lsrs r4, r0, #0x18 - cmp r4, #0 - bne _0803736E - strb r6, [r5, #0xc] - adds r2, r5, #0 - adds r2, #0x29 - ldrb r1, [r2] - movs r0, #0x39 - rsbs r0, r0, #0 - ands r0, r1 - movs r1, #8 - orrs r0, r1 - strb r0, [r2] - strb r4, [r3] - adds r1, r5, #0 - adds r1, #0x3f - movs r0, #0xa0 - strb r0, [r1] - subs r1, #4 - movs r0, #0xf - strb r0, [r1] - ldr r0, _08037374 @ =gUnk_080FD34C - str r0, [r5, #0x48] - adds r0, r5, #0 - adds r0, #0x74 - ldrh r0, [r0] - movs r2, #0x2e - ldrsh r1, [r5, r2] - ldr r3, _08037378 @ =gRoomControls - ldrh r2, [r3, #6] - subs r1, r1, r2 - asrs r1, r1, #4 - movs r4, #0x3f - ands r1, r4 - movs r6, #0x32 - ldrsh r2, [r5, r6] - ldrh r3, [r3, #8] - subs r2, r2, r3 - asrs r2, r2, #4 - ands r2, r4 - lsls r2, r2, #6 - orrs r1, r2 - adds r2, r5, #0 - adds r2, #0x38 - ldrb r2, [r2] - bl SetTile -_0803736E: - pop {r4, r5, r6, pc} - .align 2, 0 -_08037370: .4byte gUnk_080CF290 -_08037374: .4byte gUnk_080FD34C -_08037378: .4byte gRoomControls - - thumb_func_start sub_0803737C -sub_0803737C: @ 0x0803737C - push {r4, lr} - adds r4, r0, #0 - ldr r0, [r4, #0x34] - ldr r1, _080373A8 @ =0xFFFF0000 - adds r0, r0, r1 - str r0, [r4, #0x34] - movs r0, #0x36 - ldrsh r1, [r4, r0] - movs r0, #6 - rsbs r0, r0, #0 - cmp r1, r0 - bgt _080373A6 - movs r0, #4 - strb r0, [r4, #0xc] - movs r0, #0xa - strb r0, [r4, #0xe] - ldr r1, _080373AC @ =gPlayerEntity - adds r0, r4, #0 - bl GetFacingDirection - strb r0, [r4, #0x15] -_080373A6: - pop {r4, pc} - .align 2, 0 -_080373A8: .4byte 0xFFFF0000 -_080373AC: .4byte gPlayerEntity - - thumb_func_start sub_080373B0 -sub_080373B0: @ 0x080373B0 - push {lr} - adds r1, r0, #0 - ldrb r0, [r1, #0xe] - subs r0, #1 - strb r0, [r1, #0xe] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _080373C4 - movs r0, #5 - strb r0, [r1, #0xc] -_080373C4: - pop {pc} - .align 2, 0 - - thumb_func_start sub_080373C8 -sub_080373C8: @ 0x080373C8 - push {r4, lr} - adds r4, r0, #0 - bl ProcessMovement2 - ldrh r0, [r4, #0x2a] - cmp r0, #0 - beq _080373DC - adds r0, r4, #0 - bl sub_08037408 -_080373DC: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_080373E0 -sub_080373E0: @ 0x080373E0 - push {r4, lr} - adds r4, r0, #0 - ldr r0, [r4, #0x20] - cmp r0, #0 - bge _080373F2 - ldrb r0, [r4, #0x18] - movs r1, #0x80 - orrs r0, r1 - strb r0, [r4, #0x18] -_080373F2: - movs r1, #0x80 - lsls r1, r1, #6 - adds r0, r4, #0 - bl GravityUpdate - cmp r0, #0 - bne _08037406 - adds r0, r4, #0 - bl sub_08037408 -_08037406: - pop {r4, pc} - - thumb_func_start sub_08037408 -sub_08037408: @ 0x08037408 - push {lr} - movs r1, #5 - movs r2, #0 - bl CreateFx - bl DeleteThisEntity - pop {pc} - - thumb_func_start sub_08037418 -sub_08037418: @ 0x08037418 - push {r4, r5, r6, lr} - adds r5, r0, #0 - movs r1, #0x2e - ldrsh r0, [r5, r1] - ldr r3, _08037464 @ =gRoomControls - ldrh r1, [r3, #6] - subs r0, r0, r1 - asrs r4, r0, #4 - movs r2, #0x3f - ands r4, r2 - movs r1, #0x32 - ldrsh r0, [r5, r1] - ldrh r1, [r3, #8] - subs r0, r0, r1 - asrs r0, r0, #4 - ands r0, r2 - lsls r0, r0, #6 - orrs r4, r0 - adds r6, r5, #0 - adds r6, #0x38 - ldrb r1, [r6] - adds r0, r4, #0 - bl GetTileIndex - ldr r1, _08037468 @ =0x00004067 - cmp r0, r1 - bne _08037460 - adds r0, r5, #0 - adds r0, #0x74 - ldrh r0, [r0] - ldrb r2, [r6] - adds r1, r4, #0 - bl SetTile - bl DeleteThisEntity -_08037460: - pop {r4, r5, r6, pc} - .align 2, 0 -_08037464: .4byte gRoomControls -_08037468: .4byte 0x00004067 diff --git a/asm/non_matching/kid/Kid_Head.inc b/asm/non_matching/kid/Kid_Head.inc deleted file mode 100644 index acd3574a..00000000 --- a/asm/non_matching/kid/Kid_Head.inc +++ /dev/null @@ -1,126 +0,0 @@ - .syntax unified - .text - - push {r4, r5, r6, r7, lr} - adds r5, r0, #0 - ldrb r4, [r5, #0xa] - lsls r0, r4, #2 - mov ip, r0 - ldr r2, _08062868 @ =gUnk_0810C0A0 - add r2, ip - adds r0, r5, #0 - adds r0, #0x5a - ldrb r3, [r0] - movs r1, #0x1f - adds r0, r1, #0 - ands r0, r3 - ldrb r3, [r2] - adds r6, r0, r3 - ldrb r0, [r5, #0x1e] - ands r1, r0 - ldrb r2, [r2, #1] - adds r7, r1, r2 - cmp r4, #8 - bhi _08062946 - ldr r0, _0806286C @ =_08062870 - add r0, ip - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_08062868: .4byte gUnk_0810C0A0 -_0806286C: .4byte _08062870 @ jump table -_08062870: - .4byte _08062894 @ case 0 - .4byte _08062894 @ case 1 - .4byte _08062894 @ case 2 - .4byte _08062894 @ case 3 - .4byte _08062894 @ case 4 - .4byte _08062894 @ case 5 - .4byte _080628D8 @ case 6 - .4byte _08062922 @ case 7 - .4byte _08062922 @ case 8 -_08062894: - adds r0, r5, #0 - adds r0, #0x5b - ldrb r1, [r0] - movs r0, #0x30 - ands r0, r1 - lsrs r4, r0, #4 - cmp r4, #0 - beq _080628A6 - adds r4, #0x50 -_080628A6: - subs r4, #1 - adds r0, r5, #0 - movs r1, #0 - adds r2, r6, #0 - bl SetExtraSpriteFrame - adds r0, r5, #0 - movs r1, #1 - adds r2, r7, #0 - bl SetExtraSpriteFrame - adds r0, r5, #0 - movs r1, #2 - adds r2, r4, #0 - bl SetExtraSpriteFrame - adds r0, r5, #0 - movs r1, #1 - movs r2, #0 - bl SetSpriteSubEntryOffsetData1 - adds r0, r5, #0 - movs r1, #1 - movs r2, #2 - b _08062916 -_080628D8: - adds r0, r5, #0 - adds r0, #0x5b - ldrb r0, [r0] - movs r2, #0xf - ands r2, r0 - cmp r2, #0 - beq _080628E8 - adds r2, #0x93 -_080628E8: - subs r2, #1 - adds r0, r5, #0 - movs r1, #0 - bl SetExtraSpriteFrame - adds r0, r5, #0 - movs r1, #1 - adds r2, r6, #0 - bl SetExtraSpriteFrame - adds r0, r5, #0 - movs r1, #2 - adds r2, r7, #0 - bl SetExtraSpriteFrame - adds r0, r5, #0 - movs r1, #2 - movs r2, #1 - bl SetSpriteSubEntryOffsetData1 - adds r0, r5, #0 - movs r1, #1 - movs r2, #0 -_08062916: - bl SetSpriteSubEntryOffsetData2 - adds r0, r5, #0 - bl sub_0807000C - b _08062946 -_08062922: - adds r0, r5, #0 - movs r1, #0 - adds r2, r6, #0 - bl SetExtraSpriteFrame - adds r0, r5, #0 - movs r1, #1 - adds r2, r7, #0 - bl SetExtraSpriteFrame - adds r0, r5, #0 - movs r1, #1 - movs r2, #0 - bl SetSpriteSubEntryOffsetData1 - adds r0, r5, #0 - bl sub_0807000C -_08062946: - pop {r4, r5, r6, r7, pc} - - .syntax divided diff --git a/asm/non_matching/kid/sub_08062948.inc b/asm/non_matching/kid/sub_08062948.inc deleted file mode 100644 index e751a7c0..00000000 --- a/asm/non_matching/kid/sub_08062948.inc +++ /dev/null @@ -1,141 +0,0 @@ - .syntax unified - .text - - push {r4, r5, r6, lr} - adds r4, r0, #0 - adds r6, r1, #0 - ldrb r0, [r6, #0x18] - cmp r0, #0 - bne _080629B4 - adds r0, #1 - strb r0, [r6, #0x18] - bl Random - movs r1, #0x3f - ands r0, r1 - adds r0, #0x20 - strh r0, [r6, #0x12] - bl Random - adds r1, r0, #0 - movs r0, #0x18 - ands r1, r0 - ldrb r0, [r4, #0x15] - cmp r0, #8 - beq _08062990 - cmp r0, #8 - bgt _0806297E - cmp r0, #0 - beq _08062988 - b _080629A6 -_0806297E: - cmp r0, #0x10 - beq _08062998 - cmp r0, #0x18 - beq _080629A0 - b _080629A6 -_08062988: - cmp r1, #0x10 - bne _080629A6 - movs r1, #8 - b _080629A6 -_08062990: - cmp r1, #0x18 - bne _080629A6 - movs r1, #0x10 - b _080629A6 -_08062998: - cmp r1, #0 - bne _080629A6 - movs r1, #0x18 - b _080629A6 -_080629A0: - cmp r1, #8 - bne _080629A6 - movs r1, #0 -_080629A6: - strb r1, [r4, #0x15] - adds r0, r1, #0 - bl sub_0806F5B0 - strb r0, [r4, #0x14] - movs r0, #0x80 - strh r0, [r4, #0x24] -_080629B4: - ldrb r0, [r4, #0x14] - lsrs r0, r0, #1 - adds r1, r0, #4 - adds r5, r4, #0 - adds r5, #0x58 - ldrb r0, [r5] - cmp r1, r0 - beq _080629D2 - adds r0, r4, #0 - bl InitializeAnimation - ldrb r1, [r5] - adds r0, r4, #0 - adds r0, #0x80 - strh r1, [r0] -_080629D2: - adds r0, r4, #0 - bl ProcessMovement0 - movs r3, #0x2e - ldrsh r1, [r4, r3] - adds r2, r4, #0 - adds r2, #0x6c - movs r5, #0 - ldrsh r0, [r2, r5] - subs r1, r1, r0 - cmp r1, #0x10 - ble _080629F4 - ldrh r0, [r2] - adds r0, #0x10 - strh r0, [r4, #0x2e] - movs r0, #1 - strh r0, [r6, #0x12] -_080629F4: - movs r3, #0x10 - rsbs r3, r3, #0 - cmp r1, r3 - bge _08062A06 - ldrh r0, [r2] - subs r0, #0x10 - strh r0, [r4, #0x2e] - movs r0, #1 - strh r0, [r6, #0x12] -_08062A06: - movs r0, #0x32 - ldrsh r1, [r4, r0] - adds r2, r4, #0 - adds r2, #0x6e - movs r5, #0 - ldrsh r0, [r2, r5] - subs r1, r1, r0 - cmp r1, #0x10 - ble _08062A22 - ldrh r0, [r2] - adds r0, #0x10 - strh r0, [r4, #0x32] - movs r0, #1 - strh r0, [r6, #0x12] -_08062A22: - cmp r1, r3 - bge _08062A30 - ldrh r0, [r2] - subs r0, #0x10 - strh r0, [r4, #0x32] - movs r0, #1 - strh r0, [r6, #0x12] -_08062A30: - ldrh r0, [r6, #0x12] - subs r0, #1 - strh r0, [r6, #0x12] - lsls r0, r0, #0x10 - cmp r0, #0 - beq _08062A42 - ldr r1, _08062A44 @ =gActiveScriptInfo - movs r0, #0 - strb r0, [r1, #6] -_08062A42: - pop {r4, r5, r6, pc} - .align 2, 0 -_08062A44: .4byte gActiveScriptInfo - - .syntax divided diff --git a/asm/non_matching/menu/kinstone_menu/sub_080A3B48.inc b/asm/non_matching/menu/kinstone_menu/sub_080A3B48.inc new file mode 100644 index 00000000..aabfe091 --- /dev/null +++ b/asm/non_matching/menu/kinstone_menu/sub_080A3B48.inc @@ -0,0 +1,24 @@ + .syntax unified + push {lr} + movs r1, #0 + ldr r0, _080A3B6C @ =gSave + ldr r3, _080A3B70 @ =0x0000012B + adds r2, r0, r3 + ldrb r0, [r2] + cmp r0, #0 + beq _080A3B66 +_080A3B58: + adds r1, #1 + cmp r1, #0x12 + bhi _080A3B66 + adds r0, r1, r2 + ldrb r0, [r0] + cmp r0, #0 + bne _080A3B58 +_080A3B66: + adds r0, r1, #0 + pop {pc} + .align 2, 0 +_080A3B6C: .4byte gSave +_080A3B70: .4byte 0x0000012B + .syntax divided diff --git a/asm/non_matching/objectB9/sub_080A1270.inc b/asm/non_matching/objectB9/sub_080A1270.inc new file mode 100644 index 00000000..5079781b --- /dev/null +++ b/asm/non_matching/objectB9/sub_080A1270.inc @@ -0,0 +1,144 @@ + .syntax unified + push {r4, r5, r6, r7, lr} + mov r7, sl + mov r6, sb + mov r5, r8 + push {r5, r6, r7} + sub sp, #8 + mov sb, r0 + movs r6, #0 + ldr r0, [r0, #0x64] + str r0, [sp, #4] + mov r4, sb + adds r4, #0x70 + ldr r0, _080A12F8 @ =gRoomControls + movs r2, #0xd8 + lsls r2, r2, #2 + adds r1, r2, #0 + ldrh r3, [r0, #6] + adds r1, r1, r3 + movs r7, #0xd4 + lsls r7, r7, #2 + adds r2, r7, #0 + ldrh r0, [r0, #8] + adds r2, r2, r0 + lsls r1, r1, #0x10 + asrs r1, r1, #0x10 + mov r8, r1 + lsls r2, r2, #0x10 + asrs r3, r2, #0x10 + movs r0, #9 + mov sl, r0 + movs r1, #1 + rsbs r1, r1, #0 + adds r5, r1, #0 +_080A12B2: + ldr r7, [sp, #4] + ldr r2, [r7] + movs r0, #0 + ldrsb r0, [r4, r0] + cmp r0, #0 + bne _080A1300 + ldr r0, [r2, #4] + cmp r0, #0 + beq _080A132C + cmp r2, #0 + beq _080A132C + movs r1, #0x2e + ldrsh r0, [r2, r1] + cmp r8, r0 + bgt _080A132E + movs r7, #0x32 + ldrsh r0, [r2, r7] + cmp r3, r0 + bgt _080A132E + ldrb r0, [r2, #0xa] + adds r0, #1 + strb r0, [r4] + movs r0, #1 + strb r0, [r2, #0xb] + adds r6, #1 + ldr r1, _080A12FC @ =CuccoMinigame_Sounds + ldrb r0, [r2, #0xa] + lsls r0, r0, #1 + adds r0, r0, r1 + ldrh r0, [r0] + str r3, [sp] + bl SoundReq + ldr r3, [sp] + b _080A132E + .align 2, 0 +_080A12F8: .4byte gRoomControls +_080A12FC: .4byte CuccoMinigame_Sounds +_080A1300: + cmp r0, #0 + ble _080A132E + adds r6, #1 + ldr r0, [r2, #4] + cmp r0, #0 + beq _080A132C + cmp r2, #0 + beq _080A132C + mov r1, r8 + adds r1, #4 + movs r7, #0x2e + ldrsh r0, [r2, r7] + cmp r1, r0 + ble _080A131E + strh r1, [r2, #0x2e] +_080A131E: + adds r1, r3, #4 + movs r7, #0x32 + ldrsh r0, [r2, r7] + cmp r1, r0 + ble _080A132E + strh r1, [r2, #0x32] + b _080A132E +_080A132C: + strb r5, [r4] +_080A132E: + movs r0, #1 + rsbs r0, r0, #0 + add sl, r0 + adds r4, #1 + ldr r1, [sp, #4] + adds r1, #4 + str r1, [sp, #4] + mov r2, sl + cmp r2, #0 + bge _080A12B2 + mov r0, sb + adds r0, #0x6a + strh r6, [r0] + ldr r0, _080A136C @ =gPlayerState + adds r0, #0x27 + movs r1, #0xff + strb r1, [r0] + mov r1, sb + adds r1, #0x68 + ldrh r0, [r1] + subs r0, #1 + strh r0, [r1] + lsls r0, r0, #0x10 + cmp r0, #0 + bgt _080A1370 + movs r0, #0xe2 + bl SoundReq + bl sub_08050384 + b _080A1376 + .align 2, 0 +_080A136C: .4byte gPlayerState +_080A1370: + ldr r1, _080A1384 @ =gActiveScriptInfo + movs r0, #0 + strb r0, [r1, #6] +_080A1376: + add sp, #8 + pop {r3, r4, r5} + mov r8, r3 + mov sb, r4 + mov sl, r5 + pop {r4, r5, r6, r7, pc} + .align 2, 0 + _080A1384: .4byte gActiveScriptInfo + .syntax divided diff --git a/asm/non_matching/scroll/sub_0807FDF8.inc b/asm/non_matching/scroll/sub_0807FDF8.inc deleted file mode 100644 index 2bd0510a..00000000 --- a/asm/non_matching/scroll/sub_0807FDF8.inc +++ /dev/null @@ -1,110 +0,0 @@ - .syntax unified - push {r4, lr} - adds r4, r0, #0 - ldr r1, _0807FE18 @ =gUpdateVisibleTiles - movs r0, #2 - strb r0, [r1] - ldrh r0, [r4, #0x18] - adds r0, #1 - strh r0, [r4, #0x18] - ldrb r0, [r4, #0x10] - cmp r0, #1 - beq _0807FE44 - cmp r0, #1 - bgt _0807FE1C - cmp r0, #0 - beq _0807FE26 - b _0807FEB6 - .align 2, 0 -_0807FE18: .4byte gUpdateVisibleTiles -_0807FE1C: - cmp r0, #2 - beq _0807FE68 - cmp r0, #3 - beq _0807FE94 - b _0807FEB6 -_0807FE26: - ldrh r0, [r4, #0xc] - subs r0, #4 - strh r0, [r4, #0xc] - ldr r1, [r4, #0x30] - ldr r0, _0807FE3C @ =gPlayerEntity - cmp r1, r0 - bne _0807FE80 - ldr r0, [r1, #0x30] - ldr r2, _0807FE40 @ =0xFFFFA000 - b _0807FE7C - .align 2, 0 -_0807FE3C: .4byte gPlayerEntity -_0807FE40: .4byte 0xFFFFA000 -_0807FE44: - ldrh r0, [r4, #0xa] - adds r0, #4 - strh r0, [r4, #0xa] - ldr r1, [r4, #0x30] - ldr r0, _0807FE64 @ =gPlayerEntity - cmp r1, r0 - bne _0807FE5C - ldr r0, [r1, #0x2c] - movs r2, #0x80 - lsls r2, r2, #7 - adds r0, r0, r2 - str r0, [r1, #0x2c] -_0807FE5C: - ldrh r0, [r4, #0x18] - cmp r0, #0x3c - bne _0807FEB6 - b _0807FE86 - .align 2, 0 -_0807FE64: .4byte gPlayerEntity -_0807FE68: - ldrh r0, [r4, #0xc] - adds r0, #4 - strh r0, [r4, #0xc] - ldr r1, [r4, #0x30] - ldr r0, _0807FE90 @ =gPlayerEntity - cmp r1, r0 - bne _0807FE80 - ldr r0, [r1, #0x30] - movs r2, #0xc0 - lsls r2, r2, #7 -_0807FE7C: - adds r0, r0, r2 - str r0, [r1, #0x30] -_0807FE80: - ldrh r0, [r4, #0x18] - cmp r0, #0x28 - bne _0807FEB6 -_0807FE86: - adds r0, r4, #0 - bl sub_0807FEC8 - b _0807FEB6 - .align 2, 0 -_0807FE90: .4byte gPlayerEntity -_0807FE94: - ldrh r0, [r4, #0xa] - subs r0, #4 - strh r0, [r4, #0xa] - ldr r1, [r4, #0x30] - ldr r0, _0807FEC0 @ =gPlayerEntity - cmp r1, r0 - bne _0807FEAA - ldr r0, [r1, #0x2c] - ldr r2, _0807FEC4 @ =0xFFFFC000 - adds r0, r0, r2 - str r0, [r1, #0x2c] -_0807FEAA: - ldrh r0, [r4, #0x18] - cmp r0, #0x3c - bne _0807FEB6 - adds r0, r4, #0 - bl sub_0807FEC8 -_0807FEB6: - movs r0, #0 - strh r0, [r4, #0x16] - bl sub_08080BC4 - pop {r4, pc} - .align 2, 0 -_0807FEC0: .4byte gPlayerEntity -_0807FEC4: .4byte 0xFFFFC000 - .syntax divided diff --git a/asm/non_matching/scroll/sub_0807FF6C.inc b/asm/non_matching/scroll/sub_0807FF6C.inc deleted file mode 100644 index 665d72e0..00000000 --- a/asm/non_matching/scroll/sub_0807FF6C.inc +++ /dev/null @@ -1,57 +0,0 @@ - .syntax unified - push {r4, lr} - movs r1, #1 - strb r1, [r0, #3] - ldr r3, _0807FFC8 @ =gScreen - ldrh r1, [r3] - movs r2, #0x80 - lsls r2, r2, #7 - adds r0, r2, #0 - orrs r0, r1 - strh r0, [r3] - adds r2, r3, #0 - adds r2, #0x60 - ldrb r0, [r2] - movs r4, #0xb8 - lsls r4, r4, #5 - adds r1, r4, #0 - orrs r0, r1 - strh r0, [r2] - adds r2, #2 - ldrh r1, [r2] - movs r0, #0xff - lsls r0, r0, #8 - ands r0, r1 - movs r1, #7 - movs r4, #0 - orrs r0, r1 - strh r0, [r2] - adds r0, r3, #0 - adds r0, #0x5a - movs r1, #0xf0 - strh r1, [r0] - adds r0, #4 - strh r1, [r0] - bl ResetPlayer - bl ResetPlayerAnimationAndAction - ldr r0, _0807FFCC @ =gUnk_03004030 - ldrb r0, [r0, #8] - cmp r0, #0 - beq _0807FFD4 - ldr r1, _0807FFD0 @ =gPlayerEntity - movs r0, #4 - strb r0, [r1, #0x14] - b _0807FFD8 - .align 2, 0 -_0807FFC8: .4byte gScreen -_0807FFCC: .4byte gUnk_03004030 -_0807FFD0: .4byte gPlayerEntity -_0807FFD4: - ldr r0, _0807FFE0 @ =gPlayerEntity - strb r4, [r0, #0x14] -_0807FFD8: - bl sub_080809D4 - pop {r4, pc} - .align 2, 0 -_0807FFE0: .4byte gPlayerEntity - .syntax divided diff --git a/asm/non_matching/scroll/sub_0807FFE4.inc b/asm/non_matching/scroll/sub_0807FFE4.inc deleted file mode 100644 index b7bf033b..00000000 --- a/asm/non_matching/scroll/sub_0807FFE4.inc +++ /dev/null @@ -1,39 +0,0 @@ - .syntax unified - push {r4, r5, lr} - adds r5, r0, #0 - movs r0, #2 - strb r0, [r5, #3] - bl sub_080803D0 - adds r0, #6 - strh r0, [r5, #0x18] - ldr r4, _0808002C @ =gUnk_0200B640 - bl sub_08080278 - strh r0, [r4] - ldr r1, _08080030 @ =gUnk_08109194 - ldr r0, _08080034 @ =gUnk_03004030 - ldr r0, [r0] - ldrb r0, [r0, #3] - lsls r0, r0, #2 - adds r0, r0, r1 - ldr r0, [r0] - ldr r0, [r0] - bl sub_080197D4 - ldr r4, _08080038 @ =gMapDataTop - ldrh r1, [r5, #0x1e] - lsrs r1, r1, #4 - ldrh r2, [r5, #0x20] - lsrs r2, r2, #4 - adds r0, r4, #0 - bl sub_0807C8B0 - ldr r0, _0808003C @ =gMapDataTopSpecial - subs r4, #4 - adds r1, r4, #0 - bl sub_0801AB08 - pop {r4, r5, pc} - .align 2, 0 -_0808002C: .4byte gUnk_0200B640 -_08080030: .4byte gUnk_08109194 -_08080034: .4byte gUnk_03004030 -_08080038: .4byte gMapDataTop -_0808003C: .4byte gMapDataTopSpecial - .syntax divided diff --git a/asm/non_matching/scroll/sub_08080040.inc b/asm/non_matching/scroll/sub_08080040.inc deleted file mode 100644 index 36ecbde3..00000000 --- a/asm/non_matching/scroll/sub_08080040.inc +++ /dev/null @@ -1,102 +0,0 @@ - .syntax unified - push {r4, r5, r6, r7, lr} - adds r5, r0, #0 - ldrh r4, [r5, #0x18] - subs r4, #6 - strh r4, [r5, #0x18] - ldrh r0, [r5, #0x18] - lsls r0, r0, #1 - movs r1, #3 - bl __divsi3 - strh r0, [r5, #0x1a] - lsls r4, r4, #0x10 - lsrs r4, r4, #0x10 - cmp r4, #0x2a - bls _080800C6 - ldr r3, [r5, #0x30] - movs r1, #0x2e - ldrsh r0, [r3, r1] - movs r2, #0xa - ldrsh r1, [r5, r2] - subs r2, r0, r1 - ldrh r1, [r5, #0x18] - subs r0, r2, r1 - adds r7, r0, #0 - adds r7, #8 - cmp r7, #0 - bge _08080078 - movs r7, #0 -_08080078: - adds r0, r2, r1 - adds r6, r0, #0 - subs r6, #8 - cmp r6, #0xf0 - ble _08080084 - movs r6, #0xf0 -_08080084: - movs r1, #0x32 - ldrsh r0, [r3, r1] - movs r2, #0xc - ldrsh r1, [r5, r2] - subs r2, r0, r1 - ldrh r1, [r5, #0x1a] - subs r0, r2, r1 - adds r4, r0, #0 - adds r4, #8 - cmp r4, #0 - bge _0808009C - movs r4, #0 -_0808009C: - adds r0, r2, r1 - adds r3, r0, #0 - subs r3, #8 - cmp r3, #0xa0 - ble _080800A8 - movs r3, #0xa0 -_080800A8: - ldr r2, _080800F0 @ =gScreen - movs r1, #0xff - ands r7, r1 - lsls r0, r7, #8 - ands r6, r1 - orrs r0, r6 - adds r6, r2, #0 - adds r6, #0x5a - strh r0, [r6] - ands r4, r1 - lsls r0, r4, #8 - ands r3, r1 - orrs r0, r3 - adds r2, #0x5e - strh r0, [r2] -_080800C6: - ldrh r0, [r5, #0x18] - cmp r0, #0 - bne _080800FC - movs r0, #3 - strb r0, [r5, #3] - bl DeleteSleepingEntities - bl sub_0807C810 - ldr r1, _080800F4 @ =gUnk_08109194 - ldr r0, _080800F8 @ =gUnk_03004030 - ldr r0, [r0] - ldrb r0, [r0, #3] - lsls r0, r0, #2 - adds r0, r0, r1 - ldr r0, [r0] - ldr r0, [r0, #4] - bl sub_08080C80 - b _08080102 - .align 2, 0 -_080800F0: .4byte gScreen -_080800F4: .4byte gUnk_08109194 -_080800F8: .4byte gUnk_03004030 -_080800FC: - ldr r1, _08080104 @ =gUpdateVisibleTiles - movs r0, #4 - strb r0, [r1] -_08080102: - pop {r4, r5, r6, r7, pc} - .align 2, 0 -_08080104: .4byte gUpdateVisibleTiles - .syntax divided diff --git a/asm/non_matching/scroll/sub_08080108.inc b/asm/non_matching/scroll/sub_08080108.inc deleted file mode 100644 index 195a563e..00000000 --- a/asm/non_matching/scroll/sub_08080108.inc +++ /dev/null @@ -1,56 +0,0 @@ - .syntax unified - push {r4, r5, r6, lr} - movs r1, #4 - strb r1, [r0, #3] - ldr r5, _08080178 @ =gMapDataBottom - movs r0, #0xc0 - lsls r0, r0, #6 - adds r1, r5, r0 - movs r6, #0x80 - lsls r6, r6, #6 - adds r0, r5, #0 - adds r2, r6, #0 - bl MemCopy - ldr r4, _0808017C @ =gMapDataTop - movs r0, #0xc0 - lsls r0, r0, #6 - adds r1, r4, r0 - adds r0, r4, #0 - adds r2, r6, #0 - bl MemCopy - bl sub_08080368 - ldr r1, _08080180 @ =gUnk_02034480 - ldr r0, _08080184 @ =gUnk_0200B640 - ldrh r0, [r0] - strh r0, [r1] - ldr r0, _08080188 @ =gUnk_02022830 - ldr r1, _0808018C @ =gUnk_020246B0 - movs r2, #0xc0 - lsls r2, r2, #5 - bl MemCopy - subs r5, #4 - adds r0, r5, #0 - bl sub_08080B60 - subs r4, #4 - adds r0, r4, #0 - bl sub_08080B60 - bl sub_0807BBE4 - bl sub_0807BC84 - bl sub_0805E248 - ldr r0, _08080190 @ =gMapDataBottomSpecial - adds r1, r5, #0 - bl sub_0801AB08 - ldr r0, _08080194 @ =gMapDataTopSpecial - adds r1, r4, #0 - bl sub_0801AB08 - pop {r4, r5, r6, pc} - .align 2, 0 -_08080178: .4byte gMapDataBottom -_0808017C: .4byte gMapDataTop -_08080180: .4byte gUnk_02034480 -_08080184: .4byte gUnk_0200B640 -_08080188: .4byte gUnk_02022830 -_0808018C: .4byte gUnk_020246B0 -_08080190: .4byte gMapDataBottomSpecial -_08080194: .4byte gMapDataTopSpecial - .syntax divided diff --git a/asm/non_matching/scroll/sub_080801BC.inc b/asm/non_matching/scroll/sub_080801BC.inc deleted file mode 100644 index efa96fb5..00000000 --- a/asm/non_matching/scroll/sub_080801BC.inc +++ /dev/null @@ -1,100 +0,0 @@ - .syntax unified - push {r4, r5, r6, r7, lr} - adds r5, r0, #0 - ldrh r4, [r5, #0x18] - adds r4, #6 - strh r4, [r5, #0x18] - ldrh r0, [r5, #0x18] - lsls r0, r0, #1 - movs r1, #3 - bl __divsi3 - strh r0, [r5, #0x1a] - lsls r4, r4, #0x10 - lsrs r4, r4, #0x10 - cmp r4, #0x1e - bls _08080232 - ldr r2, [r5, #0x30] - movs r0, #0x2e - ldrsh r1, [r2, r0] - movs r3, #0xa - ldrsh r0, [r5, r3] - subs r0, r1, r0 - ldrh r1, [r5, #0x18] - subs r7, r0, r1 - cmp r7, #0 - bge _080801F0 - movs r7, #0 -_080801F0: - adds r6, r0, r1 - cmp r6, #0xf0 - ble _080801F8 - movs r6, #0xf0 -_080801F8: - movs r0, #0x32 - ldrsh r1, [r2, r0] - movs r2, #0xc - ldrsh r0, [r5, r2] - subs r0, r1, r0 - ldrh r1, [r5, #0x1a] - subs r4, r0, r1 - cmp r4, #0 - bge _0808020C - movs r4, #0 -_0808020C: - adds r3, r0, r1 - cmp r3, #0xa0 - ble _08080214 - movs r3, #0xa0 -_08080214: - ldr r2, _08080260 @ =gScreen - movs r1, #0xff - ands r7, r1 - lsls r0, r7, #8 - ands r6, r1 - orrs r0, r6 - adds r6, r2, #0 - adds r6, #0x5a - strh r0, [r6] - ands r4, r1 - lsls r0, r4, #8 - ands r3, r1 - orrs r0, r3 - adds r2, #0x5e - strh r0, [r2] -_08080232: - ldrh r0, [r5, #0x1c] - cmp r0, #0 - bne _08080268 - strb r0, [r5, #2] - strh r0, [r5] - bl ResetSystemPriority - ldr r1, _08080260 @ =gScreen - ldrh r2, [r1] - ldr r0, _08080264 @ =0x0000BFFF - ands r0, r2 - strh r0, [r1] - adds r2, r1, #0 - adds r2, #0x60 - ldrb r0, [r2] - strh r0, [r2] - adds r1, #0x62 - ldrh r2, [r1] - movs r0, #0xff - lsls r0, r0, #8 - ands r0, r2 - strh r0, [r1] - b _08080272 - .align 2, 0 -_08080260: .4byte gScreen -_08080264: .4byte 0x0000BFFF -_08080268: - ldr r0, _08080274 @ =gUpdateVisibleTiles - movs r1, #4 - strb r1, [r0] - movs r0, #0 - strh r0, [r5, #0x1c] -_08080272: - pop {r4, r5, r6, r7, pc} - .align 2, 0 -_08080274: .4byte gUpdateVisibleTiles - .syntax divided diff --git a/asm/non_matching/ui/TextUIElement.inc b/asm/non_matching/ui/TextUIElement.inc deleted file mode 100644 index 2521b2e2..00000000 --- a/asm/non_matching/ui/TextUIElement.inc +++ /dev/null @@ -1,75 +0,0 @@ - .syntax unified - push {r4, lr} - adds r4, r0, #0 - ldrb r0, [r4, #2] - ldr r1, _0801CDC0 @ =gUnk_0200AF00 - cmp r0, #9 - bne _0801CDD4 - adds r0, r1, #0 - adds r0, #0x2f - ldrb r2, [r0] - cmp r2, #0 - bne _0801CDCE - ldr r0, _0801CDC4 @ =gArea - ldrb r0, [r0, #0x18] - cmp r0, #2 - beq _0801CDC8 - cmp r0, #3 - beq _0801CDCC - adds r0, r1, #0 - adds r0, #0x2c - ldrb r2, [r0] - b _0801CDCE - .align 2, 0 -_0801CDC0: .4byte gUnk_0200AF00 -_0801CDC4: .4byte gArea -_0801CDC8: - movs r2, #0xb - b _0801CDCE -_0801CDCC: - movs r2, #0xa -_0801CDCE: - adds r0, r1, #0 - adds r0, #0x32 - strb r2, [r0] -_0801CDD4: - adds r0, r1, #0 - adds r0, #0x30 - ldrb r1, [r4, #3] - adds r0, r0, r1 - ldrb r2, [r0] - ldrb r1, [r4] - movs r0, #3 - rsbs r0, r0, #0 - ands r0, r1 - strb r0, [r4] - cmp r2, #0 - beq _0801CE1E - ldr r1, _0801CE20 @ =gUnk_080C9044 - movs r0, #0x80 - lsls r0, r0, #0x12 - ldrb r0, [r0, #7] - adds r0, r0, r1 - ldrb r0, [r0] - adds r2, r2, r0 - adds r0, r4, #0 - adds r1, r2, #0 - bl sub_0801CAFC - ldrb r0, [r4, #3] - bl FindUIElement - adds r1, r0, #0 - cmp r1, #0 - beq _0801CE1E - ldrh r0, [r1, #0xc] - strh r0, [r4, #0xc] - ldrh r0, [r1, #0xe] - strh r0, [r4, #0xe] - ldrb r0, [r4] - movs r1, #2 - orrs r0, r1 - strb r0, [r4] -_0801CE1E: - pop {r4, pc} - .align 2, 0 -_0801CE20: .4byte gUnk_080C9044 - .syntax divided diff --git a/asm/non_matching/ui/sub_0801C25C.inc b/asm/non_matching/ui/sub_0801C25C.inc deleted file mode 100644 index 3dc31d7c..00000000 --- a/asm/non_matching/ui/sub_0801C25C.inc +++ /dev/null @@ -1,75 +0,0 @@ - .syntax unified - push {r4, r5, r6, r7, lr} - movs r4, #0 - ldr r5, _0801C2E4 @ =gUnk_0200AF34 - adds r6, r5, #0 - subs r6, #0x34 - movs r7, #0xd - rsbs r7, r7, #0 - ldr r3, _0801C2E8 @ =0x040000D4 -_0801C26C: - lsls r0, r4, #5 - adds r2, r0, r5 - ldrb r1, [r2] - movs r0, #3 - ands r0, r1 - cmp r0, #3 - bne _0801C2A8 - lsls r0, r1, #0x1c - lsrs r0, r0, #0x1e - cmp r0, #1 - bne _0801C2A8 - adds r0, r7, #0 - ands r0, r1 - movs r1, #8 - orrs r0, r1 - strb r0, [r2] - ldr r0, [r2, #0x1c] - str r0, [r3] - ldrh r0, [r2, #0x1a] - lsls r0, r0, #5 - ldr r1, _0801C2EC @ =0x06010000 - adds r0, r0, r1 - str r0, [r3, #4] - ldrb r0, [r2, #0x19] - lsls r0, r0, #3 - movs r1, #0x84 - lsls r1, r1, #0x18 - orrs r0, r1 - str r0, [r3, #8] - ldr r0, [r3, #8] -_0801C2A8: - adds r4, #1 - cmp r4, #0x17 - ble _0801C26C - adds r2, r6, #0 - ldrb r3, [r2, #0x13] - movs r0, #0x13 - ldrsb r0, [r2, r0] - cmp r0, #0 - bge _0801C2C8 - movs r1, #0x7f - ands r1, r3 - strb r1, [r2, #0x13] - movs r0, #0x8d - lsls r0, r0, #1 - bl sub_0801C2F0 -_0801C2C8: - ldrb r2, [r6, #0x14] - movs r0, #0x14 - ldrsb r0, [r6, r0] - cmp r0, #0 - bge _0801C2E0 - movs r1, #0x7f - ands r1, r2 - strb r1, [r6, #0x14] - movs r0, #0x93 - lsls r0, r0, #1 - bl sub_0801C2F0 -_0801C2E0: - pop {r4, r5, r6, r7, pc} - .align 2, 0 -_0801C2E4: .4byte gUnk_0200AF34 -_0801C2E8: .4byte 0x040000D4 -_0801C2EC: .4byte 0x06010000 - .syntax divided diff --git a/asm/object/bird.s b/asm/object/bird.s deleted file mode 100644 index fce0c464..00000000 --- a/asm/object/bird.s +++ /dev/null @@ -1,698 +0,0 @@ - .include "asm/macros.inc" - - .include "constants/constants.inc" - - .syntax unified - - .text - - thumb_func_start sub_0809D1F0 -sub_0809D1F0: @ 0x0809D1F0 - push {r4, r5, r6, r7, lr} - mov r7, sl - mov r6, sb - mov r5, r8 - push {r5, r6, r7} - adds r5, r0, #0 - ldrb r0, [r5, #0xc] - mov sb, r0 - cmp r0, #0 - beq _0809D224 - cmp r0, #1 - beq _0809D2B0 - bl sub_08078B48 - ldr r2, _0809D220 @ =gPlayerEntity - ldrb r1, [r2, #0x18] - movs r0, #4 - rsbs r0, r0, #0 - ands r0, r1 - strb r0, [r2, #0x18] - movs r1, #0x68 - adds r1, r1, r5 - mov r8, r1 - b _0809D3A8 - .align 2, 0 -_0809D220: .4byte gPlayerEntity -_0809D224: - ldrb r1, [r5, #0xe] - cmp r1, #0 - beq _0809D234 - movs r0, #0xff - strb r0, [r5, #0x1e] - subs r0, r1, #1 - strb r0, [r5, #0xe] - b _0809D488 -_0809D234: - movs r1, #1 - strb r1, [r5, #0xc] - mov r2, sb - str r2, [r5, #0x20] - ldr r0, _0809D2A0 @ =0xFFEC0000 - str r0, [r5, #0x34] - movs r0, #0xc0 - lsls r0, r0, #1 - strh r0, [r5, #0x24] - movs r0, #8 - strb r0, [r5, #0x15] - adds r0, r5, #0 - adds r0, #0x38 - strb r1, [r0] - adds r2, r5, #0 - adds r2, #0x29 - ldrb r1, [r2] - movs r0, #8 - rsbs r0, r0, #0 - ands r0, r1 - strb r0, [r2] - ldrb r2, [r5, #0x19] - movs r1, #0x3f - adds r0, r1, #0 - ands r0, r2 - strb r0, [r5, #0x19] - ldrb r0, [r5, #0x1b] - ands r1, r0 - movs r0, #0x40 - orrs r1, r0 - strb r1, [r5, #0x1b] - ldr r0, _0809D2A4 @ =gRoomControls - ldrh r0, [r0, #0xa] - strh r0, [r5, #0x2e] - ldr r0, _0809D2A8 @ =gPlayerEntity - ldrh r0, [r0, #0x32] - strh r0, [r5, #0x32] - mov r3, sb - str r3, [r5, #0x54] - adds r0, r5, #0 - movs r1, #6 - bl SetDefaultPriority - adds r0, r5, #0 - movs r1, #0 - bl InitAnimationForceUpdate - ldr r0, _0809D2AC @ =0x00000123 - bl SoundReq - movs r0, #0x68 - adds r0, r0, r5 - mov r8, r0 - b _0809D3A8 - .align 2, 0 -_0809D2A0: .4byte 0xFFEC0000 -_0809D2A4: .4byte gRoomControls -_0809D2A8: .4byte gPlayerEntity -_0809D2AC: .4byte 0x00000123 -_0809D2B0: - ldr r6, _0809D430 @ =gPlayerEntity - adds r0, r6, #0 - adds r0, #0x38 - ldrb r1, [r0] - adds r0, r5, #0 - adds r0, #0x38 - strb r1, [r0] - ldrh r0, [r5, #0x24] - adds r0, #8 - strh r0, [r5, #0x24] - lsls r0, r0, #0x10 - asrs r0, r0, #0x10 - movs r1, #0xc0 - lsls r1, r1, #2 - mov sl, r1 - cmp r0, sl - ble _0809D2D6 - mov r2, sl - strh r2, [r5, #0x24] -_0809D2D6: - ldrb r1, [r6, #0x10] - movs r0, #0x80 - ands r0, r1 - movs r3, #0x68 - adds r3, r3, r5 - mov r8, r3 - cmp r0, #0 - beq _0809D3A8 - ldr r0, _0809D434 @ =gMessage - ldrb r1, [r0] - movs r0, #0x7f - ands r0, r1 - cmp r0, #0 - bne _0809D3A8 - ldrb r0, [r6, #0xc] - cmp r0, #0x1c - beq _0809D3A8 - cmp r0, #6 - beq _0809D3A8 - cmp r0, #9 - beq _0809D3A8 - ldr r7, _0809D438 @ =gPlayerState - adds r0, r7, #0 - adds r0, #0xa8 - ldrb r0, [r0] - cmp r0, #0x18 - beq _0809D3A8 - cmp r0, #0xb - beq _0809D3A8 - cmp r0, #8 - beq _0809D3A8 - bl sub_08079F8C - cmp r0, #0 - beq _0809D3A8 - adds r0, r5, #0 - adds r1, r6, #0 - movs r2, #0xe - movs r3, #0xe - bl EntityInRectRadius - cmp r0, #0 - beq _0809D3A8 - movs r1, #0x36 - ldrsh r0, [r6, r1] - movs r2, #0x36 - ldrsh r1, [r5, r2] - subs r0, r0, r1 - subs r0, #8 - lsls r0, r0, #0x10 - lsrs r0, r0, #0x10 - cmp r0, #0x1f - bhi _0809D3A8 - adds r0, r6, #0 - adds r0, #0x45 - ldrb r0, [r0] - cmp r0, #0 - beq _0809D3A8 - movs r0, #0x95 - movs r1, #0xa - movs r2, #0 - bl CreateObject - adds r4, r0, #0 - cmp r4, #0 - beq _0809D3A8 - str r4, [r5, #0x54] - movs r0, #2 - strb r0, [r5, #0xc] - movs r0, #8 - strb r0, [r5, #0xe] - mov r3, sl - strh r3, [r5, #0x24] - movs r0, #0xe0 - lsls r0, r0, #8 - mov r1, r8 - strh r0, [r1] - bl sub_08079184 - bl sub_08078B48 - bl ResetPlayerAnimationAndAction - bl sub_08077B20 - adds r0, r7, #0 - adds r0, #0x26 - movs r2, #0 - strb r2, [r0] - strb r2, [r7, #2] - ldrb r1, [r6, #0x10] - movs r0, #0x7f - ands r0, r1 - strb r0, [r6, #0x10] - ldrb r1, [r6, #0x18] - movs r0, #4 - rsbs r0, r0, #0 - ands r0, r1 - strb r0, [r6, #0x18] - ldr r1, _0809D43C @ =gPriorityHandler - movs r0, #6 - strb r0, [r1] - ldr r0, _0809D440 @ =gUnk_02034490 - mov r3, sb - strb r3, [r0] -_0809D3A8: - adds r0, r5, #0 - bl LinearMoveUpdate - mov r0, r8 - movs r2, #0 - ldrsh r1, [r0, r2] - adds r0, r5, #0 - bl GravityUpdate - adds r0, r5, #0 - bl UpdateAnimationSingleFrame - ldr r4, [r5, #0x54] - cmp r4, #0 - beq _0809D454 - ldr r2, _0809D430 @ =gPlayerEntity - movs r3, #0x2e - ldrsh r1, [r2, r3] - movs r3, #0x2e - ldrsh r0, [r5, r3] - subs r0, #8 - cmp r1, r0 - bge _0809D3DA - movs r0, #0 - strb r0, [r5, #0xe] -_0809D3DA: - ldrb r0, [r5, #0xe] - cmp r0, #0 - bne _0809D448 - ldr r2, _0809D444 @ =0xFFF80000 - adds r0, r5, #0 - adds r1, r4, #0 - movs r3, #0 - bl PositionRelative - ldrh r0, [r4, #0x36] - adds r0, #0x18 - strh r0, [r4, #0x36] - adds r0, r5, #0 - adds r0, #0x29 - ldrb r1, [r0] - lsls r1, r1, #0x1d - adds r3, r4, #0 - adds r3, #0x29 - lsrs r1, r1, #0x1d - ldrb r2, [r3] - movs r0, #8 - rsbs r0, r0, #0 - ands r0, r2 - orrs r0, r1 - strb r0, [r3] - ldrb r2, [r5, #0x19] - lsrs r2, r2, #6 - lsls r2, r2, #6 - ldrb r3, [r4, #0x19] - movs r1, #0x3f - adds r0, r1, #0 - ands r0, r3 - orrs r0, r2 - strb r0, [r4, #0x19] - ldrb r0, [r5, #0x1b] - lsrs r0, r0, #6 - lsls r0, r0, #6 - ldrb r2, [r4, #0x1b] - ands r1, r2 - orrs r1, r0 - strb r1, [r4, #0x1b] - b _0809D454 - .align 2, 0 -_0809D430: .4byte gPlayerEntity -_0809D434: .4byte gMessage -_0809D438: .4byte gPlayerState -_0809D43C: .4byte gPriorityHandler -_0809D440: .4byte gUnk_02034490 -_0809D444: .4byte 0xFFF80000 -_0809D448: - subs r0, #1 - strb r0, [r5, #0xe] - adds r0, r2, #0 - adds r1, r4, #0 - bl CopyPosition -_0809D454: - adds r0, r5, #0 - bl CheckOnScreen - cmp r0, #0 - bne _0809D488 - ldrb r0, [r5, #0xc] - cmp r0, #2 - bne _0809D478 - ldr r0, _0809D494 @ =gSave - ldr r1, [r0, #0x40] - movs r2, #0x80 - lsls r2, r2, #0x15 - orrs r1, r2 - str r1, [r0, #0x40] - movs r0, #9 - movs r1, #0 - bl MenuFadeIn -_0809D478: - ldr r4, [r5, #0x54] - cmp r4, #0 - beq _0809D484 - adds r0, r4, #0 - bl DeleteEntityAny -_0809D484: - bl DeleteThisEntity -_0809D488: - pop {r3, r4, r5} - mov r8, r3 - mov sb, r4 - mov sl, r5 - pop {r4, r5, r6, r7, pc} - .align 2, 0 -_0809D494: .4byte gSave - - thumb_func_start sub_0809D498 -sub_0809D498: @ 0x0809D498 - push {r4, r5, r6, r7, lr} - mov r7, r8 - push {r7} - adds r5, r0, #0 - ldrb r0, [r5, #0xc] - cmp r0, #0 - bne _0809D548 - movs r2, #1 - movs r3, #1 - strb r3, [r5, #0xc] - ldrb r1, [r5, #0x18] - movs r0, #4 - rsbs r0, r0, #0 - ands r0, r1 - orrs r0, r2 - strb r0, [r5, #0x18] - ldr r0, _0809D534 @ =0xFFFD8000 - str r0, [r5, #0x20] - ldr r0, _0809D538 @ =0xFFB4C000 - str r0, [r5, #0x34] - adds r4, r5, #0 - adds r4, #0x68 - movs r0, #0xf0 - lsls r0, r0, #8 - strh r0, [r4] - movs r0, #0xc0 - lsls r0, r0, #2 - strh r0, [r5, #0x24] - movs r0, #8 - strb r0, [r5, #0x15] - adds r0, r5, #0 - adds r0, #0x38 - strb r3, [r0] - adds r6, r5, #0 - adds r6, #0x29 - ldrb r1, [r6] - movs r0, #8 - rsbs r0, r0, #0 - ands r0, r1 - strb r0, [r6] - ldrb r2, [r5, #0x19] - movs r1, #0x3f - adds r0, r1, #0 - ands r0, r2 - strb r0, [r5, #0x19] - ldrb r0, [r5, #0x1b] - ands r1, r0 - movs r0, #0x40 - orrs r1, r0 - strb r1, [r5, #0x1b] - adds r0, r5, #0 - movs r1, #6 - bl SetDefaultPriority - ldr r0, _0809D53C @ =gRoomControls - ldrh r0, [r0, #0xa] - strh r0, [r5, #0x2e] - ldr r0, _0809D540 @ =gPlayerEntity - ldrh r0, [r0, #0x32] - strh r0, [r5, #0x32] - ldr r0, _0809D544 @ =0x00000123 - bl SoundReq - ldrb r1, [r6] - movs r0, #0x39 - rsbs r0, r0, #0 - ands r0, r1 - movs r1, #0x10 - orrs r0, r1 - strb r0, [r6] - adds r0, r5, #0 - movs r1, #0 - bl InitAnimationForceUpdate - bl sub_08078B48 - adds r7, r4, #0 - b _0809D62E - .align 2, 0 -_0809D534: .4byte 0xFFFD8000 -_0809D538: .4byte 0xFFB4C000 -_0809D53C: .4byte gRoomControls -_0809D540: .4byte gPlayerEntity -_0809D544: .4byte 0x00000123 -_0809D548: - adds r7, r5, #0 - adds r7, #0x68 - cmp r0, #1 - bne _0809D62E - ldr r6, _0809D658 @ =gPlayerEntity - ldrb r1, [r6, #0x18] - movs r0, #4 - rsbs r0, r0, #0 - mov r8, r0 - ands r0, r1 - strb r0, [r6, #0x18] - ldr r4, [r5, #0x54] - cmp r4, #0 - beq _0809D5B0 - ldr r2, _0809D65C @ =0xFFF80000 - adds r0, r5, #0 - adds r1, r4, #0 - movs r3, #0 - bl PositionRelative - ldrh r0, [r4, #0x36] - adds r0, #0x18 - strh r0, [r4, #0x36] - adds r0, r5, #0 - adds r0, #0x29 - ldrb r1, [r0] - lsls r1, r1, #0x1d - adds r3, r4, #0 - adds r3, #0x29 - lsrs r1, r1, #0x1d - ldrb r2, [r3] - movs r0, #8 - rsbs r0, r0, #0 - ands r0, r2 - orrs r0, r1 - strb r0, [r3] - ldrb r2, [r5, #0x19] - lsrs r2, r2, #6 - lsls r2, r2, #6 - ldrb r3, [r4, #0x19] - movs r1, #0x3f - adds r0, r1, #0 - ands r0, r3 - orrs r0, r2 - strb r0, [r4, #0x19] - ldrb r0, [r5, #0x1b] - lsrs r0, r0, #6 - lsls r0, r0, #6 - ldrb r2, [r4, #0x1b] - ands r1, r2 - orrs r1, r0 - strb r1, [r4, #0x1b] -_0809D5B0: - bl sub_08078B48 - ldr r3, _0809D660 @ =gRoomControls - movs r1, #0xa - ldrsh r0, [r3, r1] - adds r0, #0x78 - movs r2, #0x2e - ldrsh r1, [r5, r2] - cmp r0, r1 - bge _0809D62E - ldrb r0, [r5, #0xc] - adds r0, #1 - strb r0, [r5, #0xc] - adds r2, r5, #0 - adds r2, #0x29 - ldrb r1, [r2] - movs r0, #0x39 - rsbs r0, r0, #0 - ands r0, r1 - movs r1, #8 - orrs r0, r1 - strb r0, [r2] - cmp r4, #0 - beq _0809D5E6 - ldrb r0, [r4, #0xc] - adds r0, #1 - strb r0, [r4, #0xc] -_0809D5E6: - str r6, [r3, #0x30] - ldrb r1, [r6, #0x18] - mov r0, r8 - ands r0, r1 - movs r1, #1 - orrs r0, r1 - strb r0, [r6, #0x18] - bl ResetPlayerAnimationAndAction - bl ResetPlayerEventPriority - ldr r1, _0809D664 @ =gUnk_02034490 - movs r0, #0 - strb r0, [r1] - movs r0, #0x52 - bl CheckGlobalFlag - cmp r0, #0 - bne _0809D62E - movs r0, #0x69 - movs r1, #0 - movs r2, #0 - bl CreateObject - adds r4, r0, #0 - cmp r4, #0 - beq _0809D62E - ldr r1, _0809D668 @ =script_EzloTalkOcarina - bl StartCutscene - adds r1, r4, #0 - adds r1, #0x84 - str r0, [r1] - movs r0, #0x52 - bl SetGlobalFlag -_0809D62E: - adds r0, r5, #0 - bl LinearMoveUpdate - movs r0, #0 - ldrsh r1, [r7, r0] - adds r0, r5, #0 - bl GravityUpdate - adds r0, r5, #0 - bl UpdateAnimationSingleFrame - adds r0, r5, #0 - bl CheckOnScreen - cmp r0, #0 - bne _0809D652 - bl DeleteThisEntity -_0809D652: - pop {r3} - mov r8, r3 - pop {r4, r5, r6, r7, pc} - .align 2, 0 -_0809D658: .4byte gPlayerEntity -_0809D65C: .4byte 0xFFF80000 -_0809D660: .4byte gRoomControls -_0809D664: .4byte gUnk_02034490 -_0809D668: .4byte script_EzloTalkOcarina - - thumb_func_start sub_0809D66C -sub_0809D66C: @ 0x0809D66C - push {r4, lr} - adds r4, r0, #0 - ldr r0, _0809D694 @ =gPlayerEntity - ldrb r1, [r0, #0x1a] - lsls r1, r1, #0x1c - lsrs r1, r1, #0x1c - ldrb r2, [r4, #0x1a] - movs r0, #0x10 - rsbs r0, r0, #0 - ands r0, r2 - orrs r0, r1 - strb r0, [r4, #0x1a] - ldrb r0, [r4, #0xc] - cmp r0, #1 - beq _0809D6EC - cmp r0, #1 - bgt _0809D698 - cmp r0, #0 - beq _0809D6A2 - b _0809D6FE - .align 2, 0 -_0809D694: .4byte gPlayerEntity -_0809D698: - cmp r0, #2 - beq _0809D6F4 - cmp r0, #3 - beq _0809D6FA - b _0809D6FE -_0809D6A2: - movs r3, #1 - movs r2, #1 - strb r2, [r4, #0xc] - ldrb r1, [r4, #0x18] - movs r0, #4 - rsbs r0, r0, #0 - ands r0, r1 - orrs r0, r3 - strb r0, [r4, #0x18] - adds r0, r4, #0 - adds r0, #0x38 - strb r2, [r0] - adds r2, r4, #0 - adds r2, #0x29 - ldrb r1, [r2] - movs r0, #8 - rsbs r0, r0, #0 - ands r0, r1 - strb r0, [r2] - ldrb r2, [r4, #0x19] - movs r1, #0x3f - adds r0, r1, #0 - ands r0, r2 - strb r0, [r4, #0x19] - ldrb r0, [r4, #0x1b] - ands r1, r0 - movs r0, #0x40 - orrs r1, r0 - strb r1, [r4, #0x1b] - adds r0, r4, #0 - movs r1, #6 - bl SetDefaultPriority - adds r0, r4, #0 - movs r1, #0xe0 - bl InitAnimationForceUpdate -_0809D6EC: - adds r0, r4, #0 - bl UpdateAnimationSingleFrame - b _0809D6FE -_0809D6F4: - movs r0, #3 - strb r0, [r4, #0xc] - b _0809D6FE -_0809D6FA: - bl DeleteThisEntity -_0809D6FE: - pop {r4, pc} - - thumb_func_start CreateBird -CreateBird: @ 0x0809D700 - push {r4, lr} - sub sp, #4 -.ifdef EU - bl AreaIsOverworld @ TODO correct function? -.else - bl AreaAllowsWarp -.endif - cmp r0, #0 - beq _0809D732 - movs r0, #0 - str r0, [sp] - movs r0, #6 - movs r1, #0x95 - movs r2, #6 - movs r3, #8 - bl FindEntity - adds r4, r0, #0 - cmp r4, #0 - bne _0809D732 - movs r0, #0x95 - movs r1, #8 - movs r2, #0 - bl CreateObject - cmp r0, #0 - beq _0809D732 - strb r4, [r0, #0xe] -_0809D732: - add sp, #4 - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_0809D738 -sub_0809D738: @ 0x0809D738 - push {r4, lr} - movs r0, #0x95 - movs r1, #9 - movs r2, #0 - bl CreateObject - adds r4, r0, #0 - cmp r4, #0 - beq _0809D77C - ldr r1, _0809D774 @ =gRoomControls - movs r0, #0 - str r0, [r1, #0x30] - adds r0, r4, #0 - movs r1, #6 - bl SetDefaultPriority - bl SetPlayerEventPriority - movs r0, #0x95 - movs r1, #0xa - movs r2, #0 - bl CreateObject - cmp r0, #0 - beq _0809D76C - str r0, [r4, #0x54] -_0809D76C: - ldr r1, _0809D778 @ =gUnk_02034490 - movs r0, #1 - strb r0, [r1] - b _0809D780 - .align 2, 0 -_0809D774: .4byte gRoomControls -_0809D778: .4byte gUnk_02034490 -_0809D77C: - bl ResetPlayerAnimationAndAction -_0809D780: - pop {r4, pc} - .align 2, 0 diff --git a/asm/object/fireballChain.s b/asm/object/fireballChain.s deleted file mode 100644 index dfda3925..00000000 --- a/asm/object/fireballChain.s +++ /dev/null @@ -1,61 +0,0 @@ - .include "asm/macros.inc" - - .include "constants/constants.inc" - - .syntax unified - - .text - - - thumb_func_start FireballChain -FireballChain: @ 0x0809F8A4 - push {r4, r5, r6, r7, lr} - mov r7, r8 - push {r7} - adds r6, r0, #0 - ldr r0, _0809F904 @ =gEntCount - ldrb r0, [r0] - cmp r0, #0x42 - bhi _0809F8FC - movs r5, #0 -_0809F8B6: - movs r0, #0x1d - bl CreateProjectile - adds r4, r0, #0 - cmp r5, #0 - bne _0809F8C6 - mov r8, r4 - adds r7, r4, #0 -_0809F8C6: - strb r5, [r4, #0xa] - mov r0, r8 - str r0, [r4, #0x50] - str r7, [r4, #0x54] - adds r0, r6, #0 - adds r1, r4, #0 - bl CopyPosition - adds r1, r4, #0 - adds r1, #0x68 - adds r3, r5, #1 - movs r2, #7 -_0809F8DE: - ldrh r0, [r6, #0x2e] - strh r0, [r1] - adds r1, #2 - ldrh r0, [r6, #0x32] - strh r0, [r1] - adds r1, #2 - subs r2, #1 - cmp r2, #0 - bge _0809F8DE - adds r7, r4, #0 - adds r5, r3, #0 - cmp r5, #4 - ble _0809F8B6 - bl DeleteThisEntity -_0809F8FC: - pop {r3} - mov r8, r3 - pop {r4, r5, r6, r7, pc} - .align 2, 0 -_0809F904: .4byte gEntCount diff --git a/asm/object/mazaalBossObject.s b/asm/object/mazaalBossObject.s deleted file mode 100644 index ffe7e4a1..00000000 --- a/asm/object/mazaalBossObject.s +++ /dev/null @@ -1,384 +0,0 @@ - .include "asm/macros.inc" - - .include "constants/constants.inc" - - .syntax unified - - .text - - - thumb_func_start MazaalBossObject -MazaalBossObject: @ 0x0809AAEC - push {lr} - ldr r2, _0809AB00 @ =gUnk_08123D28 - ldrb r1, [r0, #0xc] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_0809AB00: .4byte gUnk_08123D28 - - thumb_func_start sub_0809AB04 -sub_0809AB04: @ 0x0809AB04 - push {r4, r5, lr} - adds r5, r0, #0 - movs r0, #0x31 - bl CheckFlags - cmp r0, #0 - beq _0809AB22 - adds r0, r5, #0 - bl sub_0809AD68 - adds r0, r5, #0 - bl sub_0809AD8C - bl DeleteThisEntity -_0809AB22: - movs r0, #0x36 - movs r1, #0 - bl CreateEnemy - adds r4, r0, #0 - cmp r4, #0 - beq _0809AB9C - adds r0, r5, #0 - adds r1, r4, #0 - bl CopyPosition - str r4, [r5, #0x54] - ldr r2, _0809AB68 @ =gRoomTransition - adds r0, r2, #0 - adds r0, #0x38 - ldrb r1, [r0] - cmp r1, #0 - beq _0809AB70 - adds r0, #1 - ldrb r0, [r0] - cmp r0, #0 - beq _0809AB52 - bl DeleteThisEntity -_0809AB52: - movs r0, #7 - strb r0, [r5, #0xc] - ldrb r1, [r5, #0x18] - subs r0, #0xb - ands r0, r1 - strb r0, [r5, #0x18] - ldr r0, _0809AB6C @ =gRoomControls - str r5, [r0, #0x30] - bl sub_080809D4 - b _0809AB9C - .align 2, 0 -_0809AB68: .4byte gRoomTransition -_0809AB6C: .4byte gRoomControls -_0809AB70: - movs r0, #1 - strb r0, [r5, #0xc] - movs r0, #0x1e - strb r0, [r5, #0xe] - strb r1, [r5, #0x1e] - adds r2, r5, #0 - adds r2, #0x29 - ldrb r0, [r2] - movs r1, #7 - orrs r0, r1 - strb r0, [r2] - adds r1, r5, #0 - adds r1, #0x63 - movs r0, #0x20 - strb r0, [r1] - ldr r1, _0809ABA0 @ =script_Object89Mazaal - adds r0, r5, #0 - bl StartCutscene - adds r1, r5, #0 - adds r1, #0x84 - str r0, [r1] -_0809AB9C: - pop {r4, r5, pc} - .align 2, 0 -_0809ABA0: .4byte script_Object89Mazaal - - thumb_func_start sub_0809ABA4 -sub_0809ABA4: @ 0x0809ABA4 - push {lr} - movs r1, #0 - bl ExecuteScriptForEntity - pop {pc} - .align 2, 0 - - thumb_func_start sub_0809ABB0 -sub_0809ABB0: @ 0x0809ABB0 - push {lr} - adds r2, r0, #0 - ldrb r0, [r2, #0xe] - subs r0, #1 - strb r0, [r2, #0xe] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _0809ABCE - movs r0, #3 - strb r0, [r2, #0xc] - movs r0, #0x78 - strb r0, [r2, #0xe] - ldr r1, _0809ABD0 @ =gRoomControls - ldr r0, [r2, #0x54] - str r0, [r1, #0x30] -_0809ABCE: - pop {pc} - .align 2, 0 -_0809ABD0: .4byte gRoomControls - - thumb_func_start sub_0809ABD4 -sub_0809ABD4: @ 0x0809ABD4 - push {lr} - adds r1, r0, #0 - ldrb r0, [r1, #0xe] - subs r0, #1 - strb r0, [r1, #0xe] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _0809ABF2 - movs r0, #4 - strb r0, [r1, #0xc] - movs r0, #0x5a - strb r0, [r1, #0xe] - ldr r1, [r1, #0x54] - movs r0, #1 - strb r0, [r1, #0xd] -_0809ABF2: - pop {pc} - - thumb_func_start sub_0809ABF4 -sub_0809ABF4: @ 0x0809ABF4 - push {lr} - adds r2, r0, #0 - ldr r0, [r2, #0x54] - ldrb r0, [r0, #0xd] - cmp r0, #2 - bls _0809AC36 - ldrb r0, [r2, #0xe] - subs r0, #1 - strb r0, [r2, #0xe] - lsls r0, r0, #0x18 - lsrs r1, r0, #0x18 - cmp r1, #0 - bne _0809AC36 - movs r0, #5 - strb r0, [r2, #0xc] - movs r0, #8 - strb r0, [r2, #0xe] - strb r1, [r2, #0xf] - ldrb r1, [r2, #0x19] - subs r0, #0x15 - ands r0, r1 - movs r1, #4 - orrs r0, r1 - strb r0, [r2, #0x19] - ldr r1, _0809AC38 @ =gScreen - adds r2, r1, #0 - adds r2, #0x66 - movs r0, #0xf4 - lsls r0, r0, #4 - strh r0, [r2] - adds r1, #0x68 - movs r0, #0x10 - strh r0, [r1] -_0809AC36: - pop {pc} - .align 2, 0 -_0809AC38: .4byte gScreen - - thumb_func_start sub_0809AC3C -sub_0809AC3C: @ 0x0809AC3C - push {r4, r5, r6, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xe] - subs r0, #1 - strb r0, [r4, #0xe] - movs r3, #0xff - lsls r0, r0, #0x18 - lsrs r5, r0, #0x18 - cmp r5, #0 - bne _0809AC9A - movs r0, #8 - strb r0, [r4, #0xe] - ldrb r2, [r4, #0xf] - adds r2, #1 - strb r2, [r4, #0xf] - adds r1, r2, #0 - ands r1, r3 - ldr r6, _0809AC9C @ =gScreen - lsls r3, r1, #8 - movs r0, #0x10 - subs r0, r0, r1 - movs r1, #0xff - ands r0, r1 - orrs r3, r0 - adds r0, r6, #0 - adds r0, #0x68 - strh r3, [r0] - lsls r2, r2, #0x18 - lsrs r2, r2, #0x18 - cmp r2, #0xf - bls _0809AC9A - ldrb r1, [r4, #0x19] - movs r0, #0xd - rsbs r0, r0, #0 - ands r0, r1 - strb r0, [r4, #0x19] - adds r0, r6, #0 - adds r0, #0x66 - strh r5, [r0] - movs r0, #6 - strb r0, [r4, #0xc] - movs r0, #0xf - strb r0, [r4, #0xe] - ldrb r1, [r4, #0x18] - subs r0, #0x13 - ands r0, r1 - strb r0, [r4, #0x18] -_0809AC9A: - pop {r4, r5, r6, pc} - .align 2, 0 -_0809AC9C: .4byte gScreen - - thumb_func_start sub_0809ACA0 -sub_0809ACA0: @ 0x0809ACA0 - push {lr} - adds r2, r0, #0 - ldrb r0, [r2, #0xe] - subs r0, #1 - strb r0, [r2, #0xe] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _0809ACC4 - ldr r1, [r2, #0x54] - movs r0, #6 - strb r0, [r1, #0xd] - ldr r0, _0809ACC8 @ =gRoomTransition - adds r0, #0x38 - movs r1, #0xf1 - strb r1, [r0] - adds r0, r2, #0 - bl DeleteEntity -_0809ACC4: - pop {pc} - .align 2, 0 -_0809ACC8: .4byte gRoomTransition - - thumb_func_start sub_0809ACCC -sub_0809ACCC: @ 0x0809ACCC - push {lr} - adds r2, r0, #0 - ldr r0, [r2, #0x54] - ldrb r0, [r0, #0xe] - cmp r0, #1 - bne _0809ACE4 - movs r0, #0 - movs r1, #8 - strb r1, [r2, #0xc] - strb r0, [r2, #0xd] - movs r0, #0xb4 - strb r0, [r2, #0xe] -_0809ACE4: - pop {pc} - .align 2, 0 - - thumb_func_start sub_0809ACE8 -sub_0809ACE8: @ 0x0809ACE8 - push {r4, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xd] - cmp r0, #1 - beq _0809AD1E - cmp r0, #2 - beq _0809AD3A - ldrb r0, [r4, #0xe] - subs r0, #1 - strb r0, [r4, #0xe] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _0809AD58 - movs r0, #0x5a - strb r0, [r4, #0xe] - movs r0, #1 - strb r0, [r4, #0xd] - movs r0, #0x73 - bl SoundReq - movs r0, #0x31 - bl SetFlag - adds r0, r4, #0 - bl sub_0809AD8C - b _0809AD58 -_0809AD1E: - ldrb r0, [r4, #0xe] - subs r0, #1 - strb r0, [r4, #0xe] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _0809AD58 - movs r0, #0x78 - strb r0, [r4, #0xe] - movs r0, #2 - strb r0, [r4, #0xd] - adds r0, r4, #0 - bl sub_0809AD68 - b _0809AD58 -_0809AD3A: - ldrb r0, [r4, #0xe] - subs r0, #1 - strb r0, [r4, #0xe] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _0809AD58 - ldr r1, _0809AD5C @ =gRoomControls - ldr r0, _0809AD60 @ =gPlayerEntity - str r0, [r1, #0x30] - ldr r0, _0809AD64 @ =gPlayerState - adds r0, #0x8b - movs r1, #1 - strb r1, [r0] - bl DeleteThisEntity -_0809AD58: - pop {r4, pc} - .align 2, 0 -_0809AD5C: .4byte gRoomControls -_0809AD60: .4byte gPlayerEntity -_0809AD64: .4byte gPlayerState - - thumb_func_start sub_0809AD68 -sub_0809AD68: @ 0x0809AD68 - push {r4, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xa] - bl GetCurrentRoomProperty - bl LoadRoomEntityList - movs r0, #0x17 - bl GetInventoryValue - cmp r0, #0 - beq _0809AD8A - ldrb r0, [r4, #0xb] - bl GetCurrentRoomProperty - bl LoadRoomEntityList -_0809AD8A: - pop {r4, pc} - - thumb_func_start sub_0809AD8C -sub_0809AD8C: @ 0x0809AD8C - push {lr} - movs r0, #0x4f - movs r1, #0x22 - movs r2, #0 - bl CreateObject - adds r2, r0, #0 - cmp r2, #0 - beq _0809ADAC - ldr r0, _0809ADB0 @ =gRoomControls - ldrh r1, [r0, #6] - adds r1, #0xb8 - strh r1, [r2, #0x2e] - ldrh r0, [r0, #8] - adds r0, #8 - strh r0, [r2, #0x32] -_0809ADAC: - pop {pc} - .align 2, 0 -_0809ADB0: .4byte gRoomControls diff --git a/asm/object/minecart.s b/asm/object/minecart.s deleted file mode 100644 index 3f838464..00000000 --- a/asm/object/minecart.s +++ /dev/null @@ -1,322 +0,0 @@ - .include "asm/macros.inc" - - .include "constants/constants.inc" - - .syntax unified - - .text - - thumb_func_start sub_08091C0C -sub_08091C0C: @ 0x08091C0C - push {r4, lr} - adds r4, r0, #0 - bl sub_08004168 - ldr r1, _08091C30 @ =gPlayerEntity - adds r0, r4, #0 - bl CopyPosition - adds r0, r4, #0 - bl GetTileUnderEntity - cmp r0, #0x68 - beq _08091C46 - cmp r0, #0x68 - bhi _08091C34 - cmp r0, #0x67 - beq _08091C3E - b _08091C80 - .align 2, 0 -_08091C30: .4byte gPlayerEntity -_08091C34: - cmp r0, #0x69 - beq _08091C4E - cmp r0, #0x6a - beq _08091C66 - b _08091C80 -_08091C3E: - ldrb r0, [r4, #0x15] - cmp r0, #0x18 - beq _08091C54 - b _08091C76 -_08091C46: - ldrb r0, [r4, #0x15] - cmp r0, #8 - beq _08091C6C - b _08091C5C -_08091C4E: - ldrb r0, [r4, #0x15] - cmp r0, #8 - bne _08091C5C -_08091C54: - movs r0, #0 - strb r0, [r4, #0x15] - strb r0, [r4, #0x14] - b _08091C86 -_08091C5C: - movs r0, #0x18 - strb r0, [r4, #0x15] - movs r0, #3 - strb r0, [r4, #0x14] - b _08091C86 -_08091C66: - ldrb r0, [r4, #0x15] - cmp r0, #0x18 - bne _08091C76 -_08091C6C: - movs r0, #0x10 - strb r0, [r4, #0x15] - movs r0, #2 - strb r0, [r4, #0x14] - b _08091C86 -_08091C76: - movs r0, #8 - strb r0, [r4, #0x15] - movs r0, #1 - strb r0, [r4, #0x14] - b _08091C86 -_08091C80: - movs r0, #3 - strb r0, [r4, #0xc] - b _08091C92 -_08091C86: - movs r0, #3 - strb r0, [r4, #0xc] - ldr r1, _08091C94 @ =gPlayerEntity - ldrb r0, [r4, #0x14] - lsls r0, r0, #1 - strb r0, [r1, #0x14] -_08091C92: - pop {r4, pc} - .align 2, 0 -_08091C94: .4byte gPlayerEntity - - thumb_func_start sub_08091C98 -sub_08091C98: @ 0x08091C98 - push {r4, r5, lr} - adds r4, r0, #0 - bl LinearMoveUpdate - ldr r5, _08091CC0 @ =gPlayerEntity - adds r0, r4, #0 - adds r1, r5, #0 - bl CopyPosition - ldr r1, _08091CC4 @ =gRoomControls - ldrh r0, [r1] - cmp r0, #0 - bne _08091CBE - movs r0, #3 - strb r0, [r4, #0xc] - movs r0, #0xe0 - lsls r0, r0, #3 - strh r0, [r4, #0x24] - str r5, [r1, #0x30] -_08091CBE: - pop {r4, r5, pc} - .align 2, 0 -_08091CC0: .4byte gPlayerEntity -_08091CC4: .4byte gRoomControls - - thumb_func_start sub_08091CC8 -sub_08091CC8: @ 0x08091CC8 - push {r4, r5, r6, lr} - adds r6, r0, #0 - ldr r2, _08091D58 @ =gPlayerState - ldrb r0, [r2, #2] - cmp r0, #0 - bne _08091D64 - movs r0, #1 - strb r0, [r6, #0xc] - ldrb r0, [r6, #0x15] - movs r1, #0x10 - eors r0, r1 - strb r0, [r6, #0x15] - ldrb r0, [r6, #0x14] - movs r1, #2 - eors r0, r1 - strb r0, [r6, #0x14] - ldr r0, [r2, #0x30] - movs r1, #0x80 - lsls r1, r1, #0x13 - eors r0, r1 - str r0, [r2, #0x30] - adds r0, r6, #0 - adds r0, #0x84 - ldr r4, [r0] - movs r0, #0x2e - ldrsh r1, [r6, r0] - ldr r5, _08091D5C @ =gRoomControls - ldrh r0, [r5, #6] - subs r1, r1, r0 - asrs r1, r1, #4 - movs r3, #0x3f - ands r1, r3 - movs r2, #0x32 - ldrsh r0, [r6, r2] - ldrh r2, [r5, #8] - subs r0, r0, r2 - asrs r0, r0, #4 - ands r0, r3 - lsls r0, r0, #6 - orrs r1, r0 - strh r1, [r4] - ldrb r0, [r5, #5] - strb r0, [r4, #4] - ldrb r0, [r6, #0x14] - strb r0, [r4, #5] - ldrb r1, [r6, #0x14] - adds r1, #0x10 - adds r0, r6, #0 - bl InitAnimationForceUpdate - ldr r0, _08091D60 @ =0x00004022 - movs r3, #0x2e - ldrsh r1, [r6, r3] - ldrh r2, [r5, #6] - subs r1, r1, r2 - asrs r1, r1, #4 - movs r4, #0x3f - ands r1, r4 - movs r3, #0x32 - ldrsh r2, [r6, r3] - ldrh r3, [r5, #8] - subs r2, r2, r3 - asrs r2, r2, #4 - ands r2, r4 - lsls r2, r2, #6 - orrs r1, r2 - adds r2, r6, #0 - adds r2, #0x38 - ldrb r2, [r2] - bl SetTile - b _08091D8A - .align 2, 0 -_08091D58: .4byte gPlayerState -_08091D5C: .4byte gRoomControls -_08091D60: .4byte 0x00004022 -_08091D64: - adds r0, r6, #0 - bl UpdateAnimationSingleFrame - ldr r3, _08091D8C @ =gPlayerEntity - adds r0, r6, #0 - adds r0, #0x29 - ldrb r1, [r0] - lsls r1, r1, #0x1d - lsrs r1, r1, #0x1d - subs r1, #1 - adds r3, #0x29 - movs r0, #7 - ands r1, r0 - ldrb r2, [r3] - movs r0, #8 - rsbs r0, r0, #0 - ands r0, r2 - orrs r0, r1 - strb r0, [r3] -_08091D8A: - pop {r4, r5, r6, pc} - .align 2, 0 -_08091D8C: .4byte gPlayerEntity - - thumb_func_start sub_08091D90 -sub_08091D90: @ 0x08091D90 - push {r4, lr} - adds r4, r0, #0 - ldr r0, [r4, #0x20] - cmp r0, #0 - bge _08091DA0 - adds r0, r4, #0 - bl UpdateAnimationSingleFrame -_08091DA0: - adds r0, r4, #0 - adds r0, #0x5a - ldrb r1, [r0] - movs r0, #0x7f - ands r0, r1 - cmp r0, #0 - bne _08091DD8 - movs r1, #0x80 - lsls r1, r1, #6 - adds r0, r4, #0 - bl GravityUpdate - cmp r0, #0 - bne _08091DD8 - ldrb r1, [r4, #0xb] - movs r0, #4 - eors r1, r0 - strb r1, [r4, #0xb] - movs r0, #1 - strb r0, [r4, #0xc] - adds r0, r4, #0 - adds r0, #0x84 - ldr r0, [r0] - strb r1, [r0, #6] - movs r0, #0x9e - lsls r0, r0, #1 - bl SoundReq -_08091DD8: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_08091DDC -sub_08091DDC: @ 0x08091DDC - push {r4, lr} - adds r4, r0, #0 - ldr r2, _08091E30 @ =gUnk_081223D0 - ldrb r0, [r4, #0x14] - lsls r0, r0, #1 - adds r1, r0, r2 - ldrb r1, [r1] - lsls r1, r1, #0x18 - asrs r1, r1, #0x18 - adds r0, #1 - adds r0, r0, r2 - movs r2, #0 - ldrsb r2, [r0, r2] - adds r0, r4, #0 - bl sub_080B1AF0 - cmp r0, #0xff - bne _08091E5C - ldr r0, _08091E34 @ =gPlayerEntity - ldrb r1, [r4, #0x14] - bl sub_0807BD14 - cmp r0, #0 - beq _08091E5C - ldrb r1, [r4, #0x11] - movs r0, #0x10 - rsbs r0, r0, #0 - ands r0, r1 - movs r1, #6 - orrs r0, r1 - strb r0, [r4, #0x11] - movs r0, #5 - strb r0, [r4, #0xc] - ldrb r0, [r4, #0x15] - cmp r0, #8 - beq _08091E40 - cmp r0, #8 - bgt _08091E38 - cmp r0, #0 - beq _08091E40 - b _08091E44 - .align 2, 0 -_08091E30: .4byte gUnk_081223D0 -_08091E34: .4byte gPlayerEntity -_08091E38: - cmp r0, #0x10 - beq _08091E40 - cmp r0, #0x18 - bne _08091E44 -_08091E40: - movs r0, #0xa0 - strh r0, [r4, #0x24] -_08091E44: - ldr r0, _08091E54 @ =gPlayerEntity - ldrb r1, [r4, #0x15] - strb r1, [r0, #0x15] - ldr r0, _08091E58 @ =gRoomControls - str r4, [r0, #0x30] - movs r0, #1 - b _08091E5E - .align 2, 0 -_08091E54: .4byte gPlayerEntity -_08091E58: .4byte gRoomControls -_08091E5C: - movs r0, #0 -_08091E5E: - pop {r4, pc} diff --git a/asm/object/object96.s b/asm/object/object96.s deleted file mode 100644 index 62c8674d..00000000 --- a/asm/object/object96.s +++ /dev/null @@ -1,288 +0,0 @@ - .include "asm/macros.inc" - - .include "constants/constants.inc" - - .syntax unified - - .text - - - thumb_func_start Object96 -Object96: @ 0x0809D784 - push {lr} - ldr r1, _0809D7A0 @ =gUnk_081240B0 - ldrb r3, [r0, #0xc] - lsls r3, r3, #2 - adds r3, r3, r1 - ldrb r1, [r0, #0xa] - lsls r1, r1, #5 - ldr r2, _0809D7A4 @ =gUnk_08123FB0 - adds r1, r1, r2 - ldr r2, [r3] - bl _call_via_r2 - pop {pc} - .align 2, 0 -_0809D7A0: .4byte gUnk_081240B0 -_0809D7A4: .4byte gUnk_08123FB0 - - thumb_func_start sub_0809D7A8 -sub_0809D7A8: @ 0x0809D7A8 - push {r4, r5, lr} - adds r5, r0, #0 - ldrb r0, [r5, #0xc] - adds r0, #1 - movs r4, #0 - strb r0, [r5, #0xc] - adds r2, r5, #0 - adds r2, #0x38 - movs r0, #2 - strb r0, [r2] - ldrb r2, [r5, #0x19] - movs r0, #0x3f - ands r0, r2 - movs r2, #0x40 - orrs r0, r2 - strb r0, [r5, #0x19] - ldr r0, [r1, #0x10] - str r0, [r5, #0x20] - ldrb r3, [r1, #0xf] - strb r3, [r5, #0x15] - ldrh r0, [r1, #0x18] - strh r0, [r5, #0x24] - ldrh r0, [r5, #0x32] - ldrh r2, [r1, #0x1a] - subs r0, r0, r2 - strh r0, [r5, #0x32] - str r4, [r5, #0x34] - ldrb r0, [r1, #0x1e] - strb r0, [r5, #0xe] - movs r0, #0x80 - ands r0, r3 - cmp r0, #0 - beq _0809D80C - ldrb r0, [r5, #0x15] - cmp r0, #0x81 - bne _0809D80C - bl Random - ldr r1, _0809D820 @ =gPlayerEntity - ldrb r1, [r1, #0x14] - lsls r1, r1, #2 - movs r2, #3 - ands r0, r2 - adds r1, r1, r0 - subs r1, #2 - movs r0, #0x1f - ands r1, r0 - movs r0, #0x10 - eors r1, r0 - strb r1, [r5, #0x15] -_0809D80C: - adds r0, r5, #0 - bl UpdateSpriteForCollisionLayer - ldrb r4, [r5, #0xa] - adds r0, r5, #0 - bl sub_08080CB4 - strb r4, [r5, #0xa] - pop {r4, r5, pc} - .align 2, 0 -_0809D820: .4byte gPlayerEntity - - thumb_func_start sub_0809D824 -sub_0809D824: @ 0x0809D824 - push {r4, r5, r6, lr} - adds r5, r0, #0 - adds r6, r1, #0 - movs r0, #1 - ldr r2, [r6, #4] - cmp r2, #0 - beq _0809D838 - adds r0, r5, #0 - bl _call_via_r2 -_0809D838: - cmp r0, #0 - beq _0809D850 - ldrb r0, [r5, #0xc] - adds r0, #1 - strb r0, [r5, #0xc] - ldrh r1, [r6, #0x1a] - ldrh r2, [r5, #0x32] - adds r0, r1, r2 - strh r0, [r5, #0x32] - ldrh r0, [r5, #0x36] - subs r0, r0, r1 - strh r0, [r5, #0x36] -_0809D850: - ldrb r4, [r5, #0xa] - ldrb r0, [r6, #0xd] - strb r0, [r5, #0xa] - adds r0, r5, #0 - bl sub_08080CB4 - strb r4, [r5, #0xa] - pop {r4, r5, r6, pc} - - thumb_func_start sub_0809D860 -sub_0809D860: @ 0x0809D860 - push {r4, r5, r6, lr} - adds r5, r0, #0 - adds r6, r1, #0 - bl LinearMoveUpdate - ldr r1, [r6, #0x14] - adds r0, r5, #0 - bl sub_080044EC - cmp r0, #1 - bhi _0809D8B2 - ldrb r0, [r5, #0xe] - cmp r0, #0 - beq _0809D888 - subs r0, #1 - strb r0, [r5, #0xe] - ldr r0, [r6, #0x14] - lsls r0, r0, #3 - str r0, [r5, #0x20] - b _0809D8AC -_0809D888: - ldrb r0, [r5, #0xc] - adds r0, #1 - strb r0, [r5, #0xc] - ldr r0, _0809D8C4 @ =gPlayerEntity - adds r0, #0x38 - ldrb r1, [r0] - adds r0, r5, #0 - adds r0, #0x38 - strb r1, [r0] - adds r0, r5, #0 - bl UpdateSpriteForCollisionLayer - ldr r1, [r6] - cmp r1, #0 - beq _0809D8AC - adds r0, r5, #0 - bl _call_via_r1 -_0809D8AC: - movs r0, #0x6e - bl SoundReq -_0809D8B2: - ldrb r4, [r5, #0xa] - ldrb r0, [r6, #0xd] - strb r0, [r5, #0xa] - adds r0, r5, #0 - bl sub_08080CB4 - strb r4, [r5, #0xa] - pop {r4, r5, r6, pc} - .align 2, 0 -_0809D8C4: .4byte gPlayerEntity - - thumb_func_start sub_0809D8C8 -sub_0809D8C8: @ 0x0809D8C8 - push {r4, r5, r6, lr} - adds r5, r0, #0 - adds r6, r1, #0 - ldr r0, _0809D8E4 @ =gPlayerState - ldr r0, [r0, #0x30] - movs r1, #0x80 - ands r0, r1 - cmp r0, #0 - beq _0809D8E8 - adds r0, r5, #0 - bl sub_0800445C - b _0809D90A - .align 2, 0 -_0809D8E4: .4byte gPlayerState -_0809D8E8: - adds r0, r5, #0 - bl IsCollidingPlayer - cmp r0, #0 - beq _0809D90A - ldrb r0, [r6, #0xd] - ldrb r1, [r5, #0xb] - movs r2, #0 - bl CreateItemEntity - ldrh r0, [r6, #0x1c] - cmp r0, #0 - beq _0809D906 - bl SetFlag -_0809D906: - bl DeleteThisEntity -_0809D90A: - ldrb r4, [r5, #0xa] - ldrb r0, [r6, #0xd] - strb r0, [r5, #0xa] - adds r0, r5, #0 - bl sub_08080CB4 - strb r4, [r5, #0xa] - pop {r4, r5, r6, pc} - .align 2, 0 - - thumb_func_start sub_0809D91C -sub_0809D91C: @ 0x0809D91C - push {r4, lr} - adds r4, r0, #0 - movs r1, #0x11 - movs r2, #0 - bl CreateFx - adds r1, r0, #0 - cmp r1, #0 - beq _0809D934 - adds r0, r4, #0 - bl SortEntityBelow -_0809D934: - movs r0, #0x72 - bl SoundReq - pop {r4, pc} - - thumb_func_start sub_0809D93C -sub_0809D93C: @ 0x0809D93C - push {r4, r5, lr} - adds r4, r0, #0 - adds r3, r1, #0 - ldr r2, _0809D9A0 @ =gPlayerEntity - ldrb r0, [r2, #0xc] - cmp r0, #6 - bne _0809D9A4 - ldrb r0, [r3, #0xc] - ldrb r1, [r2, #0x14] - asrs r0, r1 - movs r1, #1 - ands r0, r1 - cmp r0, #0 - beq _0809D9A4 - movs r5, #0x2e - ldrsh r0, [r2, r5] - movs r5, #0x2e - ldrsh r1, [r4, r5] - subs r0, r0, r1 - movs r1, #8 - ldrsb r1, [r3, r1] - adds r0, r0, r1 - ldrb r1, [r3, #0xa] - adds r0, r0, r1 - lsls r1, r1, #1 - lsls r0, r0, #0x10 - lsrs r0, r0, #0x10 - cmp r1, r0 - ble _0809D9A4 - movs r0, #0x32 - ldrsh r2, [r2, r0] - movs r1, #0x32 - ldrsh r0, [r4, r1] - movs r4, #0x1a - ldrsh r1, [r3, r4] - adds r0, r0, r1 - subs r2, r2, r0 - movs r0, #9 - ldrsb r0, [r3, r0] - adds r2, r2, r0 - ldrb r1, [r3, #0xb] - adds r0, r2, r1 - lsls r1, r1, #1 - lsls r0, r0, #0x10 - lsrs r0, r0, #0x10 - cmp r1, r0 - ble _0809D9A4 - movs r0, #1 - b _0809D9A6 - .align 2, 0 -_0809D9A0: .4byte gPlayerEntity -_0809D9A4: - movs r0, #0 -_0809D9A6: - pop {r4, r5, pc} diff --git a/asm/object/object98.s b/asm/object/object98.s deleted file mode 100644 index 97ecdf3b..00000000 --- a/asm/object/object98.s +++ /dev/null @@ -1,128 +0,0 @@ - .include "asm/macros.inc" - - .include "constants/constants.inc" - - .syntax unified - - .text - - - thumb_func_start Object98 -Object98: @ 0x0809E348 - push {lr} - ldr r2, _0809E35C @ =gUnk_0812418C - ldrb r1, [r0, #0xc] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_0809E35C: .4byte gUnk_0812418C - - thumb_func_start sub_0809E360 -sub_0809E360: @ 0x0809E360 - push {r4, r5, r6, r7, lr} - mov r7, r8 - push {r7} - adds r4, r0, #0 - ldrb r0, [r4, #0xe] - cmp r0, #8 - bls _0809E372 - movs r0, #8 - strb r0, [r4, #0xe] -_0809E372: - ldrb r2, [r4, #0xe] - movs r0, #0x48 - subs r0, r0, r2 - ldr r1, _0809E3E0 @ =gEntCount - ldrb r1, [r1] - cmp r0, r1 - ble _0809E3D8 - movs r5, #0 - adds r7, r4, #0 - adds r7, #0x7e - movs r0, #0x76 - adds r0, r0, r4 - mov r8, r0 - cmp r5, r2 - bhs _0809E3A6 - movs r6, #0xe -_0809E392: - movs r0, #0x17 - bl CreateProjectile - strb r6, [r0, #0xe] - str r4, [r0, #0x50] - adds r6, #0xc - adds r5, #1 - ldrb r2, [r4, #0xe] - cmp r5, r2 - blo _0809E392 -_0809E3A6: - movs r0, #1 - strb r0, [r4, #0xc] - ldrb r0, [r7] - lsls r1, r0, #8 - mov r2, r8 - strh r1, [r2] - lsls r0, r0, #6 - strb r0, [r4, #0x14] - adds r0, r4, #0 - movs r1, #0 - bl SetDefaultPriority - ldrb r0, [r4, #0xa] - cmp r0, #0 - beq _0809E3D8 - bl GetCurrentRoomProperty - str r0, [r4, #0x54] - adds r1, r4, #0 - adds r1, #0x54 - adds r2, r4, #0 - adds r2, #0x74 - adds r0, r4, #0 - bl sub_080A2CC0 -_0809E3D8: - pop {r3} - mov r8, r3 - pop {r4, r5, r6, r7, pc} - .align 2, 0 -_0809E3E0: .4byte gEntCount - - thumb_func_start sub_0809E3E4 -sub_0809E3E4: @ 0x0809E3E4 - push {r4, lr} - adds r4, r0, #0 - adds r2, r4, #0 - adds r2, #0x76 - ldrb r0, [r4, #0xb] - ldrh r1, [r2] - adds r1, r1, r0 - strh r1, [r2] - lsrs r1, r1, #2 - strb r1, [r4, #0x14] - ldrb r0, [r4, #0xa] - cmp r0, #0 - beq _0809E428 - ldrb r1, [r4, #0x15] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - bne _0809E40E - adds r0, r4, #0 - bl LinearMoveUpdate -_0809E40E: - adds r2, r4, #0 - adds r2, #0x74 - ldrh r0, [r2] - subs r0, #1 - strh r0, [r2] - lsls r0, r0, #0x10 - cmp r0, #0 - bne _0809E428 - adds r1, r4, #0 - adds r1, #0x54 - adds r0, r4, #0 - bl sub_080A2CC0 -_0809E428: - pop {r4, pc} - .align 2, 0 diff --git a/asm/object/object99.s b/asm/object/object99.s deleted file mode 100644 index b3b78e2f..00000000 --- a/asm/object/object99.s +++ /dev/null @@ -1,117 +0,0 @@ - .include "asm/macros.inc" - - .include "constants/constants.inc" - - .syntax unified - - .text - - - thumb_func_start Object99 -Object99: @ 0x0809E42C - push {r4, r5, r6, r7, lr} - mov r7, sl - mov r6, sb - mov r5, r8 - push {r5, r6, r7} - adds r4, r0, #0 - ldr r6, [r4, #0x50] - ldr r0, [r6, #4] - cmp r0, #0 - bne _0809E444 - bl DeleteThisEntity -_0809E444: - ldrb r0, [r4, #0xc] - movs r1, #0x76 - adds r1, r1, r4 - mov r8, r1 - adds r7, r4, #0 - adds r7, #0x62 - movs r2, #0x74 - adds r2, r2, r4 - mov sb, r2 - adds r5, r4, #0 - adds r5, #0x63 - movs r1, #0x75 - adds r1, r1, r4 - mov sl, r1 - cmp r0, #0 - bne _0809E482 - movs r0, #1 - strb r0, [r4, #0xc] - ldrb r0, [r6, #0x14] - mov r2, r8 - strb r0, [r2] - ldrb r0, [r7] - mov r1, sb - strb r0, [r1] - ldrb r0, [r5] - mov r2, sl - strb r0, [r2] - ldrb r1, [r4, #0x14] - adds r0, r4, #0 - bl InitializeAnimation -_0809E482: - ldrb r0, [r6, #0x14] - mov r1, r8 - ldrb r1, [r1] - cmp r0, r1 - beq _0809E490 - bl DeleteThisEntity -_0809E490: - ldrb r1, [r6, #0x18] - lsls r1, r1, #0x1e - lsrs r1, r1, #0x1e - ldrb r2, [r4, #0x18] - movs r0, #4 - rsbs r0, r0, #0 - ands r0, r2 - orrs r0, r1 - strb r0, [r4, #0x18] - adds r0, r6, #0 - adds r1, r4, #0 - bl CopyPositionAndSpriteOffset - mov r2, sb - ldrb r0, [r2] - ldrb r1, [r7] - adds r0, r0, r1 - strb r0, [r7] - mov r2, sl - ldrb r0, [r2] - ldrb r1, [r5] - adds r0, r0, r1 - strb r0, [r5] - ldrb r0, [r4, #0x14] - cmp r0, #2 - beq _0809E4D0 - ldrh r0, [r4, #0x32] - adds r0, #1 - strh r0, [r4, #0x32] - ldrb r0, [r5] - subs r0, #1 - b _0809E4DA -_0809E4D0: - ldrh r0, [r4, #0x32] - subs r0, #1 - strh r0, [r4, #0x32] - ldrb r0, [r5] - adds r0, #1 -_0809E4DA: - strb r0, [r5] - adds r0, r4, #0 - bl GetNextFrame - adds r0, r4, #0 - adds r0, #0x5a - ldrb r1, [r0] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _0809E4F4 - bl DeleteThisEntity -_0809E4F4: - pop {r3, r4, r5} - mov r8, r3 - mov sb, r4 - mov sl, r5 - pop {r4, r5, r6, r7, pc} - .align 2, 0 diff --git a/asm/object/objectA6.s b/asm/object/objectA6.s deleted file mode 100644 index 6a4dc1f4..00000000 --- a/asm/object/objectA6.s +++ /dev/null @@ -1,95 +0,0 @@ - .include "asm/macros.inc" - - .include "constants/constants.inc" - - .syntax unified - - .text - - - thumb_func_start ObjectA6 -ObjectA6: @ 0x0809F908 - push {lr} - ldr r2, _0809F91C @ =gUnk_08124800 - ldrb r1, [r0, #0xc] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_0809F91C: .4byte gUnk_08124800 - - thumb_func_start sub_0809F920 -sub_0809F920: @ 0x0809F920 - push {r4, lr} - adds r4, r0, #0 - adds r0, #0x86 - ldrh r0, [r0] - bl CheckFlags - cmp r0, #0 - beq _0809F934 - bl DeleteThisEntity -_0809F934: - movs r2, #1 - strb r2, [r4, #0xc] - ldrb r1, [r4, #0x10] - movs r0, #0x80 - orrs r0, r1 - strb r0, [r4, #0x10] - adds r1, r4, #0 - adds r1, #0x3c - movs r0, #7 - strb r0, [r1] - adds r1, #4 - movs r0, #0x48 - strb r0, [r1] - adds r0, r4, #0 - adds r0, #0x3f - strb r2, [r0] - subs r1, #5 - movs r0, #2 - strb r0, [r1] - ldr r0, _0809F960 @ =gHitbox_0 - str r0, [r4, #0x48] - pop {r4, pc} - .align 2, 0 -_0809F960: .4byte gHitbox_0 - - thumb_func_start sub_0809F964 -sub_0809F964: @ 0x0809F964 - push {r4, lr} - adds r4, r0, #0 - adds r0, #0x41 - ldrb r0, [r0] - cmp r0, #0xa1 - bne _0809F9A8 - adds r0, r4, #0 - movs r1, #0x4e - movs r2, #0 - bl CreateFx - adds r2, r0, #0 - cmp r2, #0 - beq _0809F99A - adds r3, r2, #0 - adds r3, #0x29 - ldrb r1, [r3] - movs r0, #8 - rsbs r0, r0, #0 - ands r0, r1 - movs r1, #3 - orrs r0, r1 - strb r0, [r3] - adds r1, r2, #0 - adds r1, #0x63 - movs r0, #0xfb - strb r0, [r1] -_0809F99A: - adds r0, r4, #0 - adds r0, #0x86 - ldrh r0, [r0] - bl SetFlag - bl DeleteThisEntity -_0809F9A8: - pop {r4, pc} - .align 2, 0 diff --git a/asm/object/objectA9.s b/asm/object/objectA9.s deleted file mode 100644 index 5a290a2d..00000000 --- a/asm/object/objectA9.s +++ /dev/null @@ -1,79 +0,0 @@ - .include "asm/macros.inc" - - .include "constants/constants.inc" - - .syntax unified - - .text - - - thumb_func_start ObjectA9 -ObjectA9: @ 0x0809FEE0 - push {lr} - ldr r2, _0809FEF4 @ =gUnk_08124850 - ldrb r1, [r0, #0xc] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_0809FEF4: .4byte gUnk_08124850 - - thumb_func_start sub_0809FEF8 -sub_0809FEF8: @ 0x0809FEF8 - push {r4, lr} - adds r4, r0, #0 - movs r0, #1 - strb r0, [r4, #0xc] - ldr r1, _0809FF20 @ =gUnk_0812485C - ldrb r0, [r4, #0xa] - adds r0, r0, r1 - ldrb r1, [r0] - adds r0, r4, #0 - bl InitializeAnimation - ldr r1, _0809FF24 @ =gUnk_08124860 - ldrb r0, [r4, #0xa] - lsls r0, r0, #1 - adds r0, r0, r1 - ldrh r0, [r0] - bl SoundReq - pop {r4, pc} - .align 2, 0 -_0809FF20: .4byte gUnk_0812485C -_0809FF24: .4byte gUnk_08124860 - - thumb_func_start sub_0809FF28 -sub_0809FF28: @ 0x0809FF28 - push {r4, lr} - adds r4, r0, #0 - bl GetNextFrame - adds r0, r4, #0 - adds r0, #0x5a - ldrb r1, [r0] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _0809FF64 - movs r0, #2 - strb r0, [r4, #0xc] - ldr r1, [r4, #0x50] - ldrb r0, [r4, #0xe] - strb r0, [r1, #0x10] - ldrb r2, [r4, #0xf] - movs r0, #3 - ands r2, r0 - ldrb r3, [r1, #0x18] - movs r0, #4 - rsbs r0, r0, #0 - ands r0, r3 - orrs r0, r2 - strb r0, [r1, #0x18] - adds r1, #0x6d - ldrb r2, [r1] - movs r0, #0xef - ands r0, r2 - strb r0, [r1] -_0809FF64: - pop {r4, pc} - .align 2, 0 diff --git a/asm/object/objectAB.s b/asm/object/objectAB.s deleted file mode 100644 index cbecc43b..00000000 --- a/asm/object/objectAB.s +++ /dev/null @@ -1,124 +0,0 @@ - .include "asm/macros.inc" - - .include "constants/constants.inc" - - .syntax unified - - .text - - - thumb_func_start ObjectAB -ObjectAB: @ 0x080A00E0 - push {lr} - ldr r2, _080A00F4 @ =gUnk_0812486C - ldrb r1, [r0, #0xc] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_080A00F4: .4byte gUnk_0812486C - - thumb_func_start sub_080A00F8 -sub_080A00F8: @ 0x080A00F8 - push {lr} - ldrb r1, [r0, #0xc] - adds r1, #1 - movs r3, #0 - strb r1, [r0, #0xc] - adds r2, r0, #0 - adds r2, #0x38 - movs r1, #1 - strb r1, [r2] - ldrb r1, [r0, #0x19] - movs r2, #0xc0 - orrs r1, r2 - strb r1, [r0, #0x19] - movs r1, #0x29 - adds r1, r1, r0 - mov ip, r1 - ldrb r1, [r1] - movs r2, #7 - orrs r1, r2 - mov r2, ip - strb r1, [r2] - strb r3, [r0, #0xd] - movs r1, #0 - bl InitializeAnimation - pop {pc} - - thumb_func_start sub_080A012C -sub_080A012C: @ 0x080A012C - push {r4, lr} - adds r4, r0, #0 - movs r0, #0 - bl CheckRoomFlag - cmp r0, #0 - beq _080A0154 - adds r0, r4, #0 - bl GetNextFrame - adds r0, r4, #0 - adds r0, #0x5a - ldrb r1, [r0] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _080A0154 - ldrb r0, [r4, #0xc] - adds r0, #1 - strb r0, [r4, #0xc] -_080A0154: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_080A0158 -sub_080A0158: @ 0x080A0158 - push {r4, lr} - adds r4, r0, #0 - movs r0, #1 - bl CheckRoomFlag - cmp r0, #0 - beq _080A018A - adds r0, r4, #0 - bl sub_080A0190 - adds r0, r4, #0 - movs r1, #0x1e - bl RequestPriorityDuration - ldr r1, _080A018C @ =gPlayerEntity - adds r0, r4, #0 - movs r2, #0x10 - movs r3, #0x10 - bl EntityInRectRadius - cmp r0, #0 - beq _080A018A - movs r0, #0x37 - bl sub_0805B390 -_080A018A: - pop {r4, pc} - .align 2, 0 -_080A018C: .4byte gPlayerEntity - - thumb_func_start sub_080A0190 -sub_080A0190: @ 0x080A0190 - push {r4, lr} - movs r4, #0 - movs r1, #1 - strb r1, [r0, #0xd] - ldr r1, _080A01B8 @ =gPlayerEntity - bl CopyPosition - ldr r2, _080A01BC @ =gPlayerState - movs r0, #3 - strb r0, [r2, #0xc] - adds r0, r2, #0 - adds r0, #0x38 - strb r4, [r0] - ldr r0, [r2, #0x30] - movs r1, #0x80 - lsls r1, r1, #8 - orrs r0, r1 - str r0, [r2, #0x30] - pop {r4, pc} - .align 2, 0 -_080A01B8: .4byte gPlayerEntity -_080A01BC: .4byte gPlayerState diff --git a/asm/object/objectAD.s b/asm/object/objectAD.s deleted file mode 100644 index fac47835..00000000 --- a/asm/object/objectAD.s +++ /dev/null @@ -1,117 +0,0 @@ - .include "asm/macros.inc" - - .include "constants/constants.inc" - - .syntax unified - - .text - - - thumb_func_start ObjectAD -ObjectAD: @ 0x080A048C - push {lr} - ldr r2, _080A04A0 @ =gUnk_081248BC - ldrb r1, [r0, #0xc] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_080A04A0: .4byte gUnk_081248BC - - thumb_func_start sub_080A04A4 -sub_080A04A4: @ 0x080A04A4 - push {r4, lr} - movs r3, #0 - movs r1, #1 - strb r1, [r0, #0xc] - movs r4, #4 - movs r1, #4 - strb r1, [r0, #0x1e] - strb r3, [r0, #0xe] - ldrb r1, [r0, #0x19] - movs r2, #0xc0 - orrs r1, r2 - strb r1, [r0, #0x19] - movs r1, #0x29 - adds r1, r1, r0 - mov ip, r1 - ldrb r1, [r1] - movs r2, #7 - orrs r1, r2 - mov r2, ip - strb r1, [r2] - str r3, [r0, #0x34] - ldrb r2, [r0, #0x19] - movs r1, #0xd - rsbs r1, r1, #0 - ands r1, r2 - orrs r1, r4 - strb r1, [r0, #0x19] - bl sub_080A04E8 - pop {r4, pc} - - thumb_func_start sub_080A04E0 -sub_080A04E0: @ 0x080A04E0 - push {lr} - bl sub_080A04E8 - pop {pc} - - thumb_func_start sub_080A04E8 -sub_080A04E8: @ 0x080A04E8 - push {r4, r5, lr} - adds r5, r0, #0 - ldr r0, [r5, #0x50] - movs r1, #0x36 - ldrsh r0, [r0, r1] - cmp r0, #0 - bge _080A04F8 - rsbs r0, r0, #0 -_080A04F8: - movs r1, #0x80 - lsls r1, r1, #1 - adds r4, r0, r1 - adds r0, r5, #0 - adds r1, r4, #0 - adds r2, r4, #0 - movs r3, #0 - bl SetAffineInfo - movs r1, #0xe0 - lsls r1, r1, #1 - subs r1, r1, r4 - lsls r0, r1, #2 - adds r0, r0, r1 - lsls r0, r0, #1 - adds r1, r4, #0 - bl __divsi3 - adds r4, r0, #0 - ldr r0, [r5, #0x50] - ldrb r0, [r0, #0xa] - cmp r0, #0x41 - bne _080A0538 - lsls r3, r4, #1 - cmp r3, #0xc - bls _080A052E - movs r3, #0xc -_080A052E: - movs r0, #0x10 - subs r0, r0, r4 - lsls r4, r0, #8 - orrs r4, r3 - b _080A0540 -_080A0538: - movs r0, #0x10 - subs r0, r0, r4 - lsls r0, r0, #8 - orrs r4, r0 -_080A0540: - ldr r0, _080A054C @ =0x0000FFFF - ands r4, r0 - ldr r0, _080A0550 @ =gScreen - adds r0, #0x68 - strh r4, [r0] - pop {r4, r5, pc} - .align 2, 0 -_080A054C: .4byte 0x0000FFFF -_080A0550: .4byte gScreen diff --git a/asm/object/objectB4.s b/asm/object/objectB4.s deleted file mode 100644 index 27adbace..00000000 --- a/asm/object/objectB4.s +++ /dev/null @@ -1,352 +0,0 @@ - .include "asm/macros.inc" - - .include "constants/constants.inc" - - .syntax unified - - .text - - - thumb_func_start ObjectB4 -ObjectB4: @ 0x080A0B90 - push {lr} - ldr r2, _080A0BA4 @ =gUnk_08124B20 - ldrb r1, [r0, #0xa] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_080A0BA4: .4byte gUnk_08124B20 - - thumb_func_start sub_080A0BA8 -sub_080A0BA8: @ 0x080A0BA8 - push {r4, r5, lr} - adds r5, r0, #0 - ldrb r2, [r5, #0xc] - cmp r2, #0 - beq _080A0BB8 - cmp r2, #1 - beq _080A0C08 - b _080A0CE0 -_080A0BB8: - movs r0, #1 - strb r0, [r5, #0xc] - ldrb r1, [r5, #0x18] - subs r0, #5 - ands r0, r1 - movs r1, #2 - orrs r0, r1 - strb r0, [r5, #0x18] - movs r0, #9 - strb r0, [r5, #0x1e] - movs r0, #8 - strb r0, [r5, #0xe] - strb r2, [r5, #0xf] - ldrb r1, [r5, #0x19] - movs r2, #0x3f - adds r0, r2, #0 - ands r0, r1 - movs r3, #0x40 - orrs r0, r3 - strb r0, [r5, #0x19] - adds r4, r5, #0 - adds r4, #0x29 - ldrb r1, [r4] - movs r0, #8 - rsbs r0, r0, #0 - ands r0, r1 - movs r1, #4 - orrs r0, r1 - strb r0, [r4] - ldrb r0, [r5, #0x1b] - ands r2, r0 - orrs r2, r3 - strb r2, [r5, #0x1b] - adds r0, r5, #0 - movs r1, #0xbf - movs r2, #0x48 - movs r3, #0x1e - bl sub_0806FB00 - b _080A0CE0 -_080A0C08: - ldrb r0, [r5, #0xf] - cmp r0, #6 - bhi _080A0C46 - ldrb r0, [r5, #0xe] - subs r0, #1 - strb r0, [r5, #0xe] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _080A0C46 - strb r2, [r5, #0xe] - ldrb r2, [r5, #0xf] - movs r0, #0xb4 - movs r1, #1 - bl CreateObject - adds r4, r0, #0 - cmp r4, #0 - beq _080A0C40 - adds r0, r5, #0 - adds r1, r4, #0 - bl CopyPosition - movs r0, #0x68 - strh r0, [r4, #0x32] - adds r0, r5, #0 - adds r1, r4, #0 - bl SortEntityBelow -_080A0C40: - ldrb r0, [r5, #0xf] - adds r0, #1 - strb r0, [r5, #0xf] -_080A0C46: - adds r0, r5, #0 - bl sub_0806FB38 - cmp r0, #0 - bne _080A0C58 - ldr r0, _080A0CE4 @ =gMenu - ldrb r0, [r0, #5] - cmp r0, #1 - bls _080A0CE0 -_080A0C58: - movs r0, #0xbf - strh r0, [r5, #0x2e] - movs r0, #0x48 - strh r0, [r5, #0x32] - movs r0, #0xa - strb r0, [r5, #0x1e] - movs r0, #2 - strb r0, [r5, #0xc] - ldrb r0, [r5, #0xf] - cmp r0, #6 - bhi _080A0CA0 -_080A0C6E: - ldrb r2, [r5, #0xf] - movs r0, #0xb4 - movs r1, #1 - bl CreateObject - adds r4, r0, #0 - cmp r4, #0 - beq _080A0C92 - adds r0, r5, #0 - adds r1, r4, #0 - bl CopyPosition - movs r0, #0x68 - strh r0, [r4, #0x32] - adds r0, r5, #0 - adds r1, r4, #0 - bl SortEntityBelow -_080A0C92: - ldrb r0, [r5, #0xf] - adds r0, #1 - strb r0, [r5, #0xf] - lsls r0, r0, #0x18 - lsrs r0, r0, #0x18 - cmp r0, #6 - bls _080A0C6E -_080A0CA0: - movs r0, #0xb4 - movs r1, #2 - movs r2, #0 - bl CreateObject - adds r4, r0, #0 - cmp r4, #0 - beq _080A0CC0 - movs r0, #0xc4 - strh r0, [r4, #0x2e] - movs r0, #0x2c - strh r0, [r4, #0x32] - adds r0, r5, #0 - adds r1, r4, #0 - bl SortEntityAbove -_080A0CC0: - movs r0, #0xb4 - movs r1, #3 - movs r2, #0 - bl CreateObject - adds r4, r0, #0 - cmp r4, #0 - beq _080A0CE0 - movs r0, #0xb4 - strh r0, [r4, #0x2e] - movs r0, #0x19 - strh r0, [r4, #0x32] - adds r0, r5, #0 - adds r1, r4, #0 - bl SortEntityAbove -_080A0CE0: - pop {r4, r5, pc} - .align 2, 0 -_080A0CE4: .4byte gMenu - - thumb_func_start sub_080A0CE8 -sub_080A0CE8: @ 0x080A0CE8 - push {r4, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xc] - cmp r0, #0 - beq _080A0CF8 - cmp r0, #1 - beq _080A0D28 - b _080A0D66 -_080A0CF8: - movs r0, #1 - strb r0, [r4, #0xc] - ldrb r1, [r4, #0x18] - subs r0, #5 - ands r0, r1 - movs r1, #2 - orrs r0, r1 - strb r0, [r4, #0x18] - ldrb r0, [r4, #0xb] - adds r0, #2 - strb r0, [r4, #0x1e] - ldr r1, _080A0D24 @ =gUnk_08124B10 - ldrb r0, [r4, #0xb] - lsls r0, r0, #1 - adds r0, r0, r1 - ldrh r1, [r0] - adds r0, r4, #0 - movs r2, #0x68 - movs r3, #0x14 - bl sub_0806FB00 - b _080A0D66 - .align 2, 0 -_080A0D24: .4byte gUnk_08124B10 -_080A0D28: - adds r0, r4, #0 - bl sub_0806FB38 - cmp r0, #0 - bne _080A0D3A - ldr r0, _080A0D68 @ =gMenu - ldrb r0, [r0, #5] - cmp r0, #1 - bls _080A0D66 -_080A0D3A: - ldr r1, _080A0D6C @ =gUnk_08124B10 - ldrb r0, [r4, #0xb] - lsls r0, r0, #1 - adds r0, r0, r1 - ldrh r0, [r0] - strh r0, [r4, #0x2e] - movs r0, #0x68 - strh r0, [r4, #0x32] - ldrb r1, [r4, #0xb] - movs r0, #7 - subs r1, r0, r1 - adds r3, r4, #0 - adds r3, #0x29 - ands r1, r0 - ldrb r2, [r3] - movs r0, #8 - rsbs r0, r0, #0 - ands r0, r2 - orrs r0, r1 - strb r0, [r3] - movs r0, #2 - strb r0, [r4, #0xc] -_080A0D66: - pop {r4, pc} - .align 2, 0 -_080A0D68: .4byte gMenu -_080A0D6C: .4byte gUnk_08124B10 - - thumb_func_start sub_080A0D70 -sub_080A0D70: @ 0x080A0D70 - push {r4, r5, r6, lr} - adds r5, r0, #0 - ldrb r6, [r5, #0xc] - cmp r6, #0 - bne _080A0DC4 - movs r0, #1 - strb r0, [r5, #0xc] - ldrb r1, [r5, #0x18] - subs r0, #5 - ands r0, r1 - movs r1, #2 - orrs r0, r1 - strb r0, [r5, #0x18] - ldrb r2, [r5, #0x19] - movs r4, #0x3f - movs r1, #0x3f - adds r0, r1, #0 - ands r0, r2 - movs r3, #0x40 - orrs r0, r3 - strb r0, [r5, #0x19] - movs r0, #0x29 - adds r0, r0, r5 - mov ip, r0 - ldrb r2, [r0] - movs r0, #8 - rsbs r0, r0, #0 - ands r0, r2 - mov r2, ip - strb r0, [r2] - ldrb r0, [r5, #0x1b] - ands r1, r0 - orrs r1, r3 - strb r1, [r5, #0x1b] - movs r0, #0xb - strb r0, [r5, #0x1e] - bl Random - ands r0, r4 - adds r0, #0x40 - strb r0, [r5, #0xe] - strb r6, [r5, #0xf] -_080A0DC4: - ldrb r0, [r5, #0xe] - subs r0, #1 - strb r0, [r5, #0xe] - lsls r0, r0, #0x18 - lsrs r4, r0, #0x18 - cmp r4, #0 - bne _080A0E02 - movs r0, #4 - strb r0, [r5, #0xe] - ldr r2, _080A0E04 @ =gUnk_08124B30 - ldrb r0, [r5, #0xf] - adds r1, r0, #1 - strb r1, [r5, #0xf] - lsls r0, r0, #0x18 - lsrs r0, r0, #0x18 - adds r0, r0, r2 - ldrb r0, [r0] - adds r0, #2 - strb r0, [r5, #0x1e] - ldrb r0, [r5, #0xf] - adds r0, r0, r2 - ldrb r0, [r0] - cmp r0, #0xff - bne _080A0E02 - bl Random - movs r1, #0x3f - ands r0, r1 - adds r0, #0x40 - strb r0, [r5, #0xe] - strb r4, [r5, #0xf] -_080A0E02: - pop {r4, r5, r6, pc} - .align 2, 0 -_080A0E04: .4byte gUnk_08124B30 - - thumb_func_start sub_080A0E08 -sub_080A0E08: @ 0x080A0E08 - push {lr} - adds r2, r0, #0 - ldrb r0, [r2, #0xc] - cmp r0, #0 - bne _080A0E26 - movs r0, #1 - strb r0, [r2, #0xc] - ldrb r1, [r2, #0x18] - subs r0, #5 - ands r0, r1 - movs r1, #2 - orrs r0, r1 - strb r0, [r2, #0x18] - movs r0, #0xf - strb r0, [r2, #0x1e] -_080A0E26: - pop {pc} diff --git a/asm/object/objectB9.s b/asm/object/objectB9.s deleted file mode 100644 index 828ba2dc..00000000 --- a/asm/object/objectB9.s +++ /dev/null @@ -1,638 +0,0 @@ - .include "asm/macros.inc" - - .include "constants/constants.inc" - - .syntax unified - - .text - - - thumb_func_start ObjectB9 -ObjectB9: @ 0x080A1204 - push {r4, r5, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xc] - adds r5, r0, #0 - cmp r5, #0 - bne _080A1260 - adds r0, #1 - strb r0, [r4, #0xc] - bl sub_080A1514 - lsls r0, r0, #2 - ldr r1, _080A126C @ =gUnk_08124C20 - adds r0, r0, r1 - ldrh r2, [r0] - lsls r1, r2, #4 - subs r1, r1, r2 - lsls r1, r1, #2 - adds r2, r4, #0 - adds r2, #0x68 - strh r1, [r2] - adds r1, r4, #0 - adds r1, #0x6a - strh r5, [r1] - ldrh r1, [r0, #2] - adds r0, r4, #0 - adds r0, #0x6c - strh r1, [r0] - adds r1, r4, #0 - adds r1, #0x6e - movs r0, #1 - strh r0, [r1] - adds r0, r4, #0 - adds r0, #0x70 - movs r2, #0 - movs r1, #9 -_080A124A: - strb r2, [r0] - adds r0, #1 - subs r1, #1 - cmp r1, #0 - bge _080A124A - adds r0, r4, #0 - bl sub_0807DD64 - adds r0, r4, #0 - bl sub_0806EC20 -_080A1260: - adds r0, r4, #0 - movs r1, #0 - bl sub_0807DD94 - pop {r4, r5, pc} - .align 2, 0 -_080A126C: .4byte gUnk_08124C20 - - thumb_func_start sub_080A1270 -sub_080A1270: @ 0x080A1270 - push {r4, r5, r6, r7, lr} - mov r7, sl - mov r6, sb - mov r5, r8 - push {r5, r6, r7} - sub sp, #8 - mov sb, r0 - movs r6, #0 - ldr r0, [r0, #0x64] - str r0, [sp, #4] - mov r4, sb - adds r4, #0x70 - ldr r0, _080A12F8 @ =gRoomControls - movs r2, #0xd8 - lsls r2, r2, #2 - adds r1, r2, #0 - ldrh r3, [r0, #6] - adds r1, r1, r3 - movs r7, #0xd4 - lsls r7, r7, #2 - adds r2, r7, #0 - ldrh r0, [r0, #8] - adds r2, r2, r0 - lsls r1, r1, #0x10 - asrs r1, r1, #0x10 - mov r8, r1 - lsls r2, r2, #0x10 - asrs r3, r2, #0x10 - movs r0, #9 - mov sl, r0 - movs r1, #1 - rsbs r1, r1, #0 - adds r5, r1, #0 -_080A12B2: - ldr r7, [sp, #4] - ldr r2, [r7] - movs r0, #0 - ldrsb r0, [r4, r0] - cmp r0, #0 - bne _080A1300 - ldr r0, [r2, #4] - cmp r0, #0 - beq _080A132C - cmp r2, #0 - beq _080A132C - movs r1, #0x2e - ldrsh r0, [r2, r1] - cmp r8, r0 - bgt _080A132E - movs r7, #0x32 - ldrsh r0, [r2, r7] - cmp r3, r0 - bgt _080A132E - ldrb r0, [r2, #0xa] - adds r0, #1 - strb r0, [r4] - movs r0, #1 - strb r0, [r2, #0xb] - adds r6, #1 - ldr r1, _080A12FC @ =gUnk_08124EC8 - ldrb r0, [r2, #0xa] - lsls r0, r0, #1 - adds r0, r0, r1 - ldrh r0, [r0] - str r3, [sp] - bl SoundReq - ldr r3, [sp] - b _080A132E - .align 2, 0 -_080A12F8: .4byte gRoomControls -_080A12FC: .4byte gUnk_08124EC8 -_080A1300: - cmp r0, #0 - ble _080A132E - adds r6, #1 - ldr r0, [r2, #4] - cmp r0, #0 - beq _080A132C - cmp r2, #0 - beq _080A132C - mov r1, r8 - adds r1, #4 - movs r7, #0x2e - ldrsh r0, [r2, r7] - cmp r1, r0 - ble _080A131E - strh r1, [r2, #0x2e] -_080A131E: - adds r1, r3, #4 - movs r7, #0x32 - ldrsh r0, [r2, r7] - cmp r1, r0 - ble _080A132E - strh r1, [r2, #0x32] - b _080A132E -_080A132C: - strb r5, [r4] -_080A132E: - movs r0, #1 - rsbs r0, r0, #0 - add sl, r0 - adds r4, #1 - ldr r1, [sp, #4] - adds r1, #4 - str r1, [sp, #4] - mov r2, sl - cmp r2, #0 - bge _080A12B2 - mov r0, sb - adds r0, #0x6a - strh r6, [r0] - ldr r0, _080A136C @ =gPlayerState - adds r0, #0x27 - movs r1, #0xff - strb r1, [r0] - mov r1, sb - adds r1, #0x68 - ldrh r0, [r1] - subs r0, #1 - strh r0, [r1] - lsls r0, r0, #0x10 - cmp r0, #0 - bgt _080A1370 - movs r0, #0xe2 - bl SoundReq - bl sub_08050384 - b _080A1376 - .align 2, 0 -_080A136C: .4byte gPlayerState -_080A1370: - ldr r1, _080A1384 @ =gActiveScriptInfo - movs r0, #0 - strb r0, [r1, #6] -_080A1376: - add sp, #8 - pop {r3, r4, r5} - mov r8, r3 - mov sb, r4 - mov sl, r5 - pop {r4, r5, r6, r7, pc} - .align 2, 0 -_080A1384: .4byte gActiveScriptInfo - - thumb_func_start sub_080A1388 -sub_080A1388: @ 0x080A1388 - push {r4, r5, r6, lr} - adds r5, r0, #0 - adds r5, #0x70 - ldr r4, [r0, #0x64] - movs r6, #9 -_080A1392: - ldr r1, [r4] - movs r0, #0 - ldrsb r0, [r5, r0] - cmp r0, #0 - blt _080A13A6 - cmp r1, #0 - beq _080A13A6 - adds r0, r1, #0 - bl DeleteEntityAny -_080A13A6: - subs r6, #1 - adds r5, #1 - adds r4, #4 - cmp r6, #0 - bge _080A1392 - pop {r4, r5, r6, pc} - .align 2, 0 - - thumb_func_start sub_080A13B4 -sub_080A13B4: @ 0x080A13B4 - push {r4, lr} - adds r4, r1, #0 - adds r1, r0, #0 - adds r1, #0x6a - adds r0, #0x6c - movs r2, #0 - ldrsh r1, [r1, r2] - movs r2, #0 - ldrsh r0, [r0, r2] - cmp r1, r0 - blt _080A13D8 - ldr r0, _080A13D4 @ =0x0000300C - bl MessageFromTarget - movs r0, #1 - b _080A13E0 - .align 2, 0 -_080A13D4: .4byte 0x0000300C -_080A13D8: - ldr r0, _080A13E4 @ =0x00003005 - bl MessageFromTarget - movs r0, #0 -_080A13E0: - str r0, [r4, #0x14] - pop {r4, pc} - .align 2, 0 -_080A13E4: .4byte 0x00003005 - - thumb_func_start sub_080A13E8 -sub_080A13E8: @ 0x080A13E8 - push {r4, r5, r6, lr} - adds r5, r0, #0 - bl sub_080A1514 - lsls r0, r0, #2 - ldr r1, _080A1408 @ =gUnk_08124EA0 - adds r4, r0, r1 - movs r6, #0 - ldrb r0, [r4] - cmp r0, #0x5c - beq _080A141C - cmp r0, #0x5c - bgt _080A140C - cmp r0, #0x3f - beq _080A1412 - b _080A1444 - .align 2, 0 -_080A1408: .4byte gUnk_08124EA0 -_080A140C: - cmp r0, #0x63 - beq _080A1430 - b _080A1444 -_080A1412: - ldr r0, _080A1418 @ =gSave - adds r0, #0xbb - b _080A1424 - .align 2, 0 -_080A1418: .4byte gSave -_080A141C: - ldr r0, _080A142C @ =gSave - movs r1, #0x8b - lsls r1, r1, #1 - adds r0, r0, r1 -_080A1424: - ldrb r0, [r0] - cmp r0, #0 - beq _080A1444 - b _080A1454 - .align 2, 0 -_080A142C: .4byte gSave -_080A1430: - movs r0, #0x4f - bl CheckGlobalFlag - cmp r0, #0 - bne _080A1442 - movs r0, #0x4f - bl SetGlobalFlag - b _080A1444 -_080A1442: - movs r6, #1 -_080A1444: - cmp r6, #0 - bne _080A1454 - ldrb r0, [r4] - ldrb r1, [r4, #1] - movs r2, #0 - bl sub_080A7C18 - b _080A145C -_080A1454: - adds r1, r5, #0 - adds r1, #0x6e - movs r0, #2 - strh r0, [r1] -_080A145C: - pop {r4, r5, r6, pc} - .align 2, 0 - - thumb_func_start sub_080A1460 -sub_080A1460: @ 0x080A1460 - push {r4, r5, lr} - adds r5, r0, #0 - bl sub_080A1514 - adds r1, r5, #0 - adds r1, #0x70 - movs r4, #0 - ldr r3, _080A149C @ =gUnk_08124ECC - movs r2, #9 -_080A1472: - movs r0, #0 - ldrsb r0, [r1, r0] - adds r0, r0, r3 - ldrb r0, [r0] - adds r4, r4, r0 - adds r1, #1 - subs r2, #1 - cmp r2, #0 - bge _080A1472 - adds r0, r4, #0 - bl ModRupees - ldr r0, _080A14A0 @ =0x00003007 - adds r1, r5, #0 - bl MessageNoOverlap - ldr r1, _080A14A4 @ =gMessage - lsls r0, r4, #0x10 - lsrs r0, r0, #0x10 - str r0, [r1, #0x10] - pop {r4, r5, pc} - .align 2, 0 -_080A149C: .4byte gUnk_08124ECC -_080A14A0: .4byte 0x00003007 -_080A14A4: .4byte gMessage - - thumb_func_start sub_080A14A8 -sub_080A14A8: @ 0x080A14A8 - push {r4, lr} - bl sub_080A1514 - adds r4, r0, #0 - adds r4, #1 - cmp r4, #9 - ble _080A14B8 - movs r4, #9 -_080A14B8: - movs r0, #1 - ands r0, r4 - cmp r0, #0 - beq _080A14C8 - movs r0, #0x4b - bl SetGlobalFlag - b _080A14CE -_080A14C8: - movs r0, #0x4b - bl ClearGlobalFlag -_080A14CE: - movs r0, #2 - ands r0, r4 - cmp r0, #0 - beq _080A14DE - movs r0, #0x4c - bl SetGlobalFlag - b _080A14E4 -_080A14DE: - movs r0, #0x4c - bl ClearGlobalFlag -_080A14E4: - movs r0, #4 - ands r0, r4 - cmp r0, #0 - beq _080A14F4 - movs r0, #0x4d - bl SetGlobalFlag - b _080A14FA -_080A14F4: - movs r0, #0x4d - bl ClearGlobalFlag -_080A14FA: - movs r0, #8 - ands r0, r4 - cmp r0, #0 - beq _080A150A - movs r0, #0x4e - bl SetGlobalFlag - b _080A1510 -_080A150A: - movs r0, #0x4e - bl ClearGlobalFlag -_080A1510: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_080A1514 -sub_080A1514: @ 0x080A1514 - push {r4, lr} - movs r0, #0x4b - bl CheckGlobalFlag - rsbs r1, r0, #0 - orrs r1, r0 - lsrs r4, r1, #0x1f - movs r0, #0x4c - bl CheckGlobalFlag - cmp r0, #0 - beq _080A1530 - movs r0, #2 - orrs r4, r0 -_080A1530: - movs r0, #0x4d - bl CheckGlobalFlag - cmp r0, #0 - beq _080A153E - movs r0, #4 - orrs r4, r0 -_080A153E: - movs r0, #0x4e - bl CheckGlobalFlag - cmp r0, #0 - beq _080A154C - movs r0, #8 - orrs r4, r0 -_080A154C: - adds r0, r4, #0 - pop {r4, pc} - - thumb_func_start sub_080A1550 -sub_080A1550: @ 0x080A1550 - push {r4, r5, r6, r7, lr} - mov r7, sb - mov r6, r8 - push {r6, r7} - mov r8, r1 - movs r0, #0 - str r0, [r1, #0x14] - movs r0, #0xb9 - movs r1, #0 - movs r2, #0 - bl CreateObject - adds r4, r0, #0 - cmp r4, #0 - beq _080A15FE - movs r0, #0x28 - bl zMalloc - str r0, [r4, #0x64] - cmp r0, #0 - bne _080A1582 - adds r0, r4, #0 - bl DeleteEntityAny - b _080A15FE -_080A1582: - mov r0, r8 - ldr r1, [r0, #4] - adds r0, r4, #0 - bl StartCutscene - adds r1, r4, #0 - adds r1, #0x84 - str r0, [r1] - bl sub_080A1514 - lsls r1, r0, #4 - subs r1, r1, r0 - lsls r1, r1, #2 - ldr r0, _080A15B4 @ =gUnk_08124C48 - adds r5, r1, r0 - ldr r4, [r4, #0x64] - mov sb, r4 - ldr r7, _080A15B8 @ =gRoomControls - movs r6, #9 -_080A15A8: - movs r1, #0 - ldrsh r0, [r5, r1] - cmp r0, #0 - bgt _080A15BC - movs r4, #0 - b _080A15E6 - .align 2, 0 -_080A15B4: .4byte gUnk_08124C48 -_080A15B8: .4byte gRoomControls -_080A15BC: - movs r0, #0 - ldrsh r1, [r5, r0] - subs r1, #1 - movs r0, #0x41 - bl CreateEnemy - adds r4, r0, #0 - cmp r4, #0 - beq _080A15E6 - ldrh r0, [r5, #2] - ldrh r1, [r7, #6] - adds r0, r0, r1 - strh r0, [r4, #0x2e] - ldrh r0, [r5, #4] - ldrh r1, [r7, #8] - adds r0, r0, r1 - strh r0, [r4, #0x32] - adds r1, r4, #0 - adds r1, #0x38 - movs r0, #1 - strb r0, [r1] -_080A15E6: - mov r0, sb - adds r0, #4 - mov sb, r0 - subs r0, #4 - stm r0!, {r4} - subs r6, #1 - adds r5, #6 - cmp r6, #0 - bge _080A15A8 - movs r0, #1 - mov r1, r8 - str r0, [r1, #0x14] -_080A15FE: - pop {r3, r4} - mov r8, r3 - mov sb, r4 - pop {r4, r5, r6, r7, pc} - .align 2, 0 - - thumb_func_start sub_080A1608 -sub_080A1608: @ 0x080A1608 - push {r4, lr} - ldr r4, _080A163C @ =0x00003002 - movs r0, #1 - bl CheckRoomFlag - cmp r0, #0 - beq _080A1618 - adds r4, #4 -_080A1618: - adds r0, r4, #0 - bl MessageFromTarget - ldr r4, _080A1640 @ =gMessage - movs r1, #0 - movs r0, #1 - strb r0, [r4, #6] - strb r1, [r4, #7] - bl sub_080A1514 - lsls r0, r0, #2 - ldr r1, _080A1644 @ =gUnk_08124C20 - adds r0, r0, r1 - ldrh r1, [r0] - str r1, [r4, #0x10] - ldrh r0, [r0, #2] - str r0, [r4, #0x14] - pop {r4, pc} - .align 2, 0 -_080A163C: .4byte 0x00003002 -_080A1640: .4byte gMessage -_080A1644: .4byte gUnk_08124C20 - - thumb_func_start sub_080A1648 -sub_080A1648: @ 0x080A1648 - push {r4, lr} - ldr r4, _080A1684 @ =0x0000407F - ldr r1, _080A1688 @ =0x00000D36 - adds r0, r4, #0 - movs r2, #1 - bl SetTileType - ldr r1, _080A168C @ =0x00000D37 - adds r0, r4, #0 - movs r2, #1 - bl SetTileType - ldr r1, _080A1690 @ =0x00000D38 - adds r0, r4, #0 - movs r2, #1 - bl SetTileType - subs r4, #1 - ldr r1, _080A1694 @ =0x00000D75 - adds r0, r4, #0 - movs r2, #1 - bl SetTileType - ldr r1, _080A1698 @ =0x00000E75 - adds r0, r4, #0 - movs r2, #1 - bl SetTileType - pop {r4, pc} - .align 2, 0 -_080A1684: .4byte 0x0000407F -_080A1688: .4byte 0x00000D36 -_080A168C: .4byte 0x00000D37 -_080A1690: .4byte 0x00000D38 -_080A1694: .4byte 0x00000D75 -_080A1698: .4byte 0x00000E75 - - thumb_func_start sub_080A169C -sub_080A169C: @ 0x080A169C - push {lr} - ldr r0, _080A16C8 @ =0x00000D36 - movs r1, #1 - bl RestorePrevTileEntity - ldr r0, _080A16CC @ =0x00000D37 - movs r1, #1 - bl RestorePrevTileEntity - ldr r0, _080A16D0 @ =0x00000D38 - movs r1, #1 - bl RestorePrevTileEntity - ldr r0, _080A16D4 @ =0x00000D75 - movs r1, #1 - bl RestorePrevTileEntity - ldr r0, _080A16D8 @ =0x00000E75 - movs r1, #1 - bl RestorePrevTileEntity - pop {pc} - .align 2, 0 -_080A16C8: .4byte 0x00000D36 -_080A16CC: .4byte 0x00000D37 -_080A16D0: .4byte 0x00000D38 -_080A16D4: .4byte 0x00000D75 -_080A16D8: .4byte 0x00000E75 diff --git a/asm/object/objectBlockingStairs.s b/asm/object/objectBlockingStairs.s deleted file mode 100644 index 65b55911..00000000 --- a/asm/object/objectBlockingStairs.s +++ /dev/null @@ -1,677 +0,0 @@ - .include "asm/macros.inc" - - .include "constants/constants.inc" - - .syntax unified - - .text - - - thumb_func_start ObjectBlockingStairs -ObjectBlockingStairs: @ 0x08092ED4 - push {lr} - ldr r2, _08092EE8 @ =gUnk_0812283C - ldrb r1, [r0, #0xc] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_08092EE8: .4byte gUnk_0812283C - - thumb_func_start sub_08092EEC -sub_08092EEC: @ 0x08092EEC - push {r4, r5, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xa] - bl sub_080932D8 - cmp r0, #1 - beq _08092F2C - cmp r0, #2 - beq _08092F3A - movs r0, #1 - strb r0, [r4, #0xc] - movs r1, #0 - movs r2, #0x80 - strh r2, [r4, #0x24] - strb r0, [r4, #0x16] - strb r1, [r4, #0xe] - strb r1, [r4, #0xf] - adds r1, r4, #0 - adds r1, #0x7a - movs r0, #0x20 - strb r0, [r1] - adds r0, r4, #0 - adds r0, #0x7b - strb r2, [r0] - ldrb r0, [r4, #0xa] - cmp r0, #0 - bne _08092F48 - ldr r0, _08092F28 @ =gUnk_080FD288 - str r0, [r4, #0x48] - b _08092F48 - .align 2, 0 -_08092F28: .4byte gUnk_080FD288 -_08092F2C: - movs r0, #4 - strb r0, [r4, #0xc] - ldrh r0, [r4, #0x2e] - subs r0, #0x20 - strh r0, [r4, #0x2e] - movs r5, #2 - b _08092F5E -_08092F3A: - movs r0, #4 - strb r0, [r4, #0xc] - ldrh r0, [r4, #0x2e] - adds r0, #0x20 - strh r0, [r4, #0x2e] - movs r5, #3 - b _08092F5E -_08092F48: - movs r5, #0 - adds r1, r4, #0 - adds r1, #0x86 - ldrh r0, [r1] - cmp r0, #0 - beq _08092F5E - bl CheckFlags - cmp r0, #0 - bne _08092F5E - movs r5, #1 -_08092F5E: - adds r0, r4, #0 - adds r1, r5, #0 - bl sub_080931A4 - pop {r4, r5, pc} - - thumb_func_start sub_08092F68 -sub_08092F68: @ 0x08092F68 - push {r4, r5, r6, r7, lr} - mov r7, r8 - push {r7} - adds r6, r0, #0 - ldr r0, _08092FA4 @ =gPlayerEntity - movs r2, #0x2e - ldrsh r1, [r0, r2] - movs r2, #0x2e - ldrsh r0, [r6, r2] - subs r1, r1, r0 - mov r8, r1 - adds r1, r6, #0 - adds r1, #0x86 - ldrh r0, [r1] - cmp r0, #0 - beq _08092FA8 - bl CheckFlags - cmp r0, #0 - bne _08092F92 - b _080930E6 -_08092F92: - adds r0, r6, #0 - adds r0, #0x7a - ldrb r0, [r0] - cmp r0, #0 - beq _08092FA8 - adds r0, r6, #0 - bl sub_080932A8 - b _080930E6 - .align 2, 0 -_08092FA4: .4byte gPlayerEntity -_08092FA8: - adds r1, r6, #0 - adds r1, #0x7b - ldrb r2, [r1] - movs r0, #0x3f - ands r0, r2 - adds r7, r1, #0 - cmp r0, #0 - bne _08092FD6 - movs r0, #0xf - movs r4, #0 - orrs r0, r2 - strb r0, [r7] - adds r0, r6, #0 - movs r1, #0 - bl sub_080931A4 - mov r0, r8 - cmp r0, #0 - bge _08092FD6 - ldrb r0, [r7] - movs r1, #0x40 - orrs r0, r1 - strb r0, [r7] -_08092FD6: - ldrb r1, [r7] - movs r0, #0x40 - ands r0, r1 - cmp r0, #0 - beq _08092FEA - adds r5, r6, #0 - adds r5, #0x78 - ldrh r0, [r5] - subs r0, #1 - b _08092FF2 -_08092FEA: - adds r5, r6, #0 - adds r5, #0x78 - ldrh r0, [r5] - adds r0, #1 -_08092FF2: - adds r4, r6, #0 - adds r4, #0x38 - ldrb r1, [r4] - bl GetTileType - adds r1, r0, #0 - ldr r0, _08093034 @ =0x00004031 - cmp r1, r0 - bhi _08093040 - subs r0, #1 - cmp r1, r0 - blo _08093040 - movs r0, #3 - strb r0, [r6, #0xc] - ldr r0, _08093038 @ =gPlayerEntity - ldrb r0, [r0, #0x14] - lsls r0, r0, #2 - strb r0, [r6, #0x15] - movs r0, #0x80 - strh r0, [r6, #0x24] - movs r0, #0x40 - strb r0, [r6, #0xe] - adds r0, r6, #0 - movs r1, #0x50 - bl RequestPriorityDuration - ldr r0, _0809303C @ =0x0000010F - bl EnqueueSFX - adds r0, r6, #0 - bl sub_08093248 - b _080930E6 - .align 2, 0 -_08093034: .4byte 0x00004031 -_08093038: .4byte gPlayerEntity -_0809303C: .4byte 0x0000010F -_08093040: - ldr r0, _0809307C @ =gPlayerEntity - ldrb r1, [r0, #0x14] - movs r0, #2 - ands r0, r1 - cmp r0, #0 - beq _080930E6 - adds r0, r6, #0 - bl RegisterCarryEntity - adds r3, r7, #0 - ldrb r2, [r3] - movs r0, #0x80 - ands r0, r2 - cmp r0, #0 - beq _08093088 - movs r1, #0x7f - ands r1, r2 - strb r1, [r3] - movs r0, #0x40 - ands r0, r1 - cmp r0, #0 - beq _0809309C - ldr r0, _08093080 @ =0x0000402C - ldrh r1, [r5] - subs r1, #1 - ldrb r2, [r4] - bl SetTile - ldr r0, _08093084 @ =0x0000403D - b _080930AA - .align 2, 0 -_0809307C: .4byte gPlayerEntity -_08093080: .4byte 0x0000402C -_08093084: .4byte 0x0000403D -_08093088: - movs r0, #0x40 - ands r0, r2 - cmp r0, #0 - beq _080930C0 - mov r1, r8 - cmp r1, #4 - ble _080930E6 - movs r0, #0x3f - ands r0, r2 - strb r0, [r3] -_0809309C: - ldr r0, _080930B8 @ =0x0000403D - ldrh r1, [r5] - subs r1, #1 - ldrb r2, [r4] - bl SetTile - ldr r0, _080930BC @ =0x0000402D -_080930AA: - ldrh r1, [r5] - adds r1, #1 - ldrb r2, [r4] - bl SetTile - b _080930E6 - .align 2, 0 -_080930B8: .4byte 0x0000403D -_080930BC: .4byte 0x0000402D -_080930C0: - mov r1, r8 - rsbs r0, r1, #0 - cmp r0, #4 - ble _080930E6 - movs r0, #0x40 - orrs r0, r2 - strb r0, [r7] - ldr r0, _080930EC @ =0x0000402C - ldrh r1, [r5] - subs r1, #1 - ldrb r2, [r4] - bl SetTile - ldr r0, _080930F0 @ =0x0000403D - ldrh r1, [r5] - adds r1, #1 - ldrb r2, [r4] - bl SetTile -_080930E6: - pop {r3} - mov r8, r3 - pop {r4, r5, r6, r7, pc} - .align 2, 0 -_080930EC: .4byte 0x0000402C -_080930F0: .4byte 0x0000403D - - thumb_func_start sub_080930F4 -sub_080930F4: @ 0x080930F4 - push {r4, r5, r6, lr} - adds r4, r0, #0 - ldrb r3, [r4, #0xe] - cmp r3, #0 - beq _08093104 - bl sub_08093280 - b _08093174 -_08093104: - ldr r5, _0809315C @ =gPlayerState - ldrb r0, [r5, #5] - cmp r0, #0x12 - bne _08093168 - ldr r6, _08093160 @ =gPlayerEntity - adds r0, r6, #0 - adds r0, #0x5a - ldrb r1, [r0] - movs r0, #2 - ands r0, r1 - cmp r0, #0 - beq _08093174 - ldrb r0, [r4, #0xf] - adds r0, #1 - strb r0, [r4, #0xf] - lsls r0, r0, #0x18 - lsrs r0, r0, #0x18 - cmp r0, #8 - bls _08093174 - movs r0, #0x10 - strb r0, [r5, #0xc] - adds r0, r5, #0 - adds r0, #0x38 - movs r2, #0x40 - strb r2, [r0] - ldr r0, [r5, #0x30] - movs r1, #1 - orrs r0, r1 - str r0, [r5, #0x30] - strh r3, [r6, #0x2c] - strh r3, [r6, #0x30] - ldrb r0, [r6, #0x14] - movs r1, #4 - eors r0, r1 - lsls r0, r0, #2 - strb r0, [r4, #0x15] - strb r2, [r4, #0xe] - ldr r0, _08093164 @ =0x0000010F - bl EnqueueSFX - adds r0, r4, #0 - bl sub_08093248 - b _08093174 - .align 2, 0 -_0809315C: .4byte gPlayerState -_08093160: .4byte gPlayerEntity -_08093164: .4byte 0x0000010F -_08093168: - ldrb r0, [r4, #0xd] - cmp r0, #6 - bne _08093174 - movs r0, #1 - strb r0, [r4, #0xc] - strb r3, [r4, #0xf] -_08093174: - pop {r4, r5, r6, pc} - .align 2, 0 - - thumb_func_start sub_08093178 -sub_08093178: @ 0x08093178 - push {r4, lr} - adds r4, r0, #0 - bl sub_0800445C - adds r0, r4, #0 - bl LinearMoveUpdate - ldrb r0, [r4, #0xe] - subs r0, #1 - strb r0, [r4, #0xe] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _08093198 - adds r0, r4, #0 - bl sub_08093334 -_08093198: - adds r0, r4, #0 - bl sub_08093364 - pop {r4, pc} - - thumb_func_start nullsub_120 -nullsub_120: @ 0x080931A0 - bx lr - .align 2, 0 - - thumb_func_start sub_080931A4 -sub_080931A4: @ 0x080931A4 - push {r4, r5, r6, r7, lr} - mov r7, r8 - push {r7} - adds r5, r1, #0 - movs r1, #0x2e - ldrsh r2, [r0, r1] - ldr r3, _080931F0 @ =gRoomControls - ldrh r1, [r3, #6] - subs r2, r2, r1 - asrs r2, r2, #4 - movs r4, #0x3f - ands r2, r4 - movs r6, #0x32 - ldrsh r1, [r0, r6] - ldrh r3, [r3, #8] - subs r1, r1, r3 - asrs r1, r1, #4 - ands r1, r4 - lsls r1, r1, #6 - orrs r2, r1 - adds r1, r0, #0 - adds r1, #0x78 - strh r2, [r1] - ldrh r1, [r1] - subs r1, #0x40 - mov r8, r1 - adds r0, #0x38 - ldrb r7, [r0] - cmp r5, #1 - beq _080931F4 - cmp r5, #1 - blo _0809320C - cmp r5, #2 - beq _080931FC - cmp r5, #3 - beq _08093204 - b _0809320C - .align 2, 0 -_080931F0: .4byte gRoomControls -_080931F4: - ldr r0, _080931F8 @ =gUnk_08122862 - b _0809320E - .align 2, 0 -_080931F8: .4byte gUnk_08122862 -_080931FC: - ldr r0, _08093200 @ =gUnk_08122874 - b _0809320E - .align 2, 0 -_08093200: .4byte gUnk_08122874 -_08093204: - ldr r0, _08093208 @ =gUnk_08122886 - b _0809320E - .align 2, 0 -_08093208: .4byte gUnk_08122886 -_0809320C: - ldr r0, _08093230 @ =gUnk_08122850 -_0809320E: - movs r4, #0 - movs r6, #0 - adds r5, r0, #0 -_08093214: - mov r0, r8 - adds r1, r0, r6 - adds r1, r1, r4 - subs r1, #1 - ldrh r0, [r5] - adds r2, r7, #0 - bl SetTile - cmp r4, #2 - beq _08093234 - cmp r4, #5 - beq _08093238 - b _0809323A - .align 2, 0 -_08093230: .4byte gUnk_08122850 -_08093234: - movs r6, #0x3d - b _0809323A -_08093238: - movs r6, #0x7a -_0809323A: - adds r5, #2 - adds r4, #1 - cmp r4, #8 - bls _08093214 - pop {r3} - mov r8, r3 - pop {r4, r5, r6, r7, pc} - - thumb_func_start sub_08093248 -sub_08093248: @ 0x08093248 - push {r4, r5, r6, r7, lr} - adds r1, r0, #0 - adds r1, #0x78 - ldrh r1, [r1] - adds r7, r1, #0 - subs r7, #0x40 - adds r0, #0x38 - ldrb r6, [r0] - movs r4, #0 - movs r5, #0 -_0809325C: - adds r0, r7, r5 - adds r0, r0, r4 - subs r0, #1 - adds r1, r6, #0 - bl RestorePrevTileEntity - cmp r4, #2 - beq _08093272 - cmp r4, #5 - beq _08093276 - b _08093278 -_08093272: - movs r5, #0x3d - b _08093278 -_08093276: - movs r5, #0x7a -_08093278: - adds r4, #1 - cmp r4, #8 - bls _0809325C - pop {r4, r5, r6, r7, pc} - - thumb_func_start sub_08093280 -sub_08093280: @ 0x08093280 - push {r4, lr} - adds r4, r0, #0 - bl sub_0800445C - adds r0, r4, #0 - bl LinearMoveUpdate - ldrb r0, [r4, #0xe] - subs r0, #1 - strb r0, [r4, #0xe] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _080932A0 - adds r0, r4, #0 - bl sub_08093334 -_080932A0: - adds r0, r4, #0 - bl sub_08093364 - pop {r4, pc} - - thumb_func_start sub_080932A8 -sub_080932A8: @ 0x080932A8 - push {lr} - adds r1, r0, #0 - adds r2, r1, #0 - adds r2, #0x7a - ldrb r0, [r2] - subs r0, #1 - strb r0, [r2] - movs r2, #3 - ands r2, r0 - cmp r2, #1 - beq _080932C8 - cmp r2, #3 - beq _080932D0 - adds r1, #0x62 - movs r0, #0 - b _080932D4 -_080932C8: - adds r0, r1, #0 - adds r0, #0x62 - strb r2, [r0] - b _080932D6 -_080932D0: - adds r1, #0x62 - movs r0, #0xff -_080932D4: - strb r0, [r1] -_080932D6: - pop {pc} - - thumb_func_start sub_080932D8 -sub_080932D8: @ 0x080932D8 - push {r4, lr} - lsls r0, r0, #3 - ldr r1, _080932F0 @ =gUnk_08122898 - adds r4, r0, r1 - ldr r0, [r4] - ldrh r1, [r4, #4] - bl CheckLocalFlagByBank - cmp r0, #0 - beq _080932F4 - movs r0, #1 - b _08093306 - .align 2, 0 -_080932F0: .4byte gUnk_08122898 -_080932F4: - ldr r0, [r4] - ldrh r1, [r4, #6] - bl CheckLocalFlagByBank - cmp r0, #0 - bne _08093304 - movs r0, #0 - b _08093306 -_08093304: - movs r0, #2 -_08093306: - pop {r4, pc} - - thumb_func_start sub_08093308 -sub_08093308: @ 0x08093308 - push {lr} - adds r2, r1, #0 - lsls r0, r0, #3 - ldr r1, _08093320 @ =gUnk_08122898 - adds r1, r0, r1 - cmp r2, #1 - bne _08093324 - ldr r0, [r1] - ldrh r1, [r1, #4] - bl SetLocalFlagByBank - b _08093330 - .align 2, 0 -_08093320: .4byte gUnk_08122898 -_08093324: - cmp r2, #2 - bne _08093330 - ldr r0, [r1] - ldrh r1, [r1, #6] - bl SetLocalFlagByBank -_08093330: - pop {pc} - .align 2, 0 - - thumb_func_start sub_08093334 -sub_08093334: @ 0x08093334 - push {r4, r5, lr} - adds r4, r0, #0 - movs r0, #4 - strb r0, [r4, #0xc] - ldrb r1, [r4, #0x15] - movs r0, #0x10 - ands r0, r1 - movs r5, #2 - cmp r0, #0 - beq _0809334A - movs r5, #1 -_0809334A: - adds r1, r5, #1 - adds r0, r4, #0 - bl sub_080931A4 - ldrb r0, [r4, #0xa] - adds r1, r5, #0 - bl sub_08093308 - movs r0, #0x72 - bl EnqueueSFX - pop {r4, r5, pc} - .align 2, 0 - - thumb_func_start sub_08093364 -sub_08093364: @ 0x08093364 - push {r4, r5, lr} - adds r5, r0, #0 - ldrb r1, [r5, #0xe] - movs r0, #3 - ands r0, r1 - cmp r0, #0 - bne _080933BC - movs r0, #0xf - movs r1, #0x11 - movs r2, #0 - bl CreateObject - adds r4, r0, #0 - cmp r4, #0 - beq _080933BC - str r5, [r4, #0x50] - adds r0, r5, #0 - adds r1, r4, #0 - bl CopyPosition - ldrb r1, [r5, #0x15] - movs r0, #0x10 - ands r0, r1 - cmp r0, #0 - beq _0809339C - ldrh r0, [r4, #0x2e] - adds r0, #0x12 - b _080933A0 -_0809339C: - ldrh r0, [r4, #0x2e] - subs r0, #0x12 -_080933A0: - strh r0, [r4, #0x2e] - movs r0, #0x32 - ldrsh r2, [r4, r0] - ldrb r1, [r5, #0xe] - movs r0, #8 - ands r0, r1 - cmp r0, #0 - beq _080933B6 - adds r0, r2, #0 - adds r0, #8 - b _080933BA -_080933B6: - adds r0, r2, #0 - subs r0, #8 -_080933BA: - strh r0, [r4, #0x32] -_080933BC: - pop {r4, r5, pc} - .align 2, 0 diff --git a/asm/object/picoBloom.s b/asm/object/picoBloom.s deleted file mode 100644 index 0fa701a6..00000000 --- a/asm/object/picoBloom.s +++ /dev/null @@ -1,91 +0,0 @@ - .include "asm/macros.inc" - - .include "constants/constants.inc" - - .syntax unified - - .text - - - thumb_func_start PicoBloom -PicoBloom: @ 0x08098A78 - push {lr} - ldr r2, _08098A8C @ =gUnk_08123568 - ldrb r1, [r0, #0xc] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_08098A8C: .4byte gUnk_08123568 - - thumb_func_start sub_08098A90 -sub_08098A90: @ 0x08098A90 - push {r4, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xb] - cmp r0, #1 - beq _08098A9C - movs r0, #2 -_08098A9C: - strb r0, [r4, #0xc] - bl Random - movs r1, #0x7f - ands r0, r1 - adds r0, #0x7f - strb r0, [r4, #0xe] - adds r1, r4, #0 - adds r1, #0x38 - movs r0, #1 - strb r0, [r1] - adds r0, r4, #0 - bl UpdateSpriteForCollisionLayer - ldr r1, _08098ACC @ =gUnk_08123574 - ldrb r0, [r4, #0xa] - adds r0, r0, r1 - ldrb r1, [r0] - ldrb r0, [r4, #0xb] - adds r1, r1, r0 - adds r0, r4, #0 - bl InitializeAnimation - pop {r4, pc} - .align 2, 0 -_08098ACC: .4byte gUnk_08123574 - - thumb_func_start sub_08098AD0 -sub_08098AD0: @ 0x08098AD0 - push {lr} - adds r1, r0, #0 - ldrb r0, [r1, #0xe] - subs r0, #1 - strb r0, [r1, #0xe] - lsls r0, r0, #0x18 - cmp r0, #0 - bne _08098AE6 - ldrb r0, [r1, #0xc] - adds r0, #1 - strb r0, [r1, #0xc] -_08098AE6: - pop {pc} - - thumb_func_start sub_08098AE8 -sub_08098AE8: @ 0x08098AE8 - push {r4, lr} - adds r4, r0, #0 - bl GetNextFrame - adds r4, #0x5a - ldrb r1, [r4] - movs r0, #1 - ands r0, r1 - cmp r0, #0 - beq _08098B08 - movs r0, #0xfe - ands r0, r1 - strb r0, [r4] - ldr r0, _08098B0C @ =0x0000021B - bl EnqueueSFX -_08098B08: - pop {r4, pc} - .align 2, 0 -_08098B0C: .4byte 0x0000021B diff --git a/asm/staffroll.s b/asm/staffroll.s deleted file mode 100644 index 0e876b9b..00000000 --- a/asm/staffroll.s +++ /dev/null @@ -1,716 +0,0 @@ - .include "asm/macros.inc" - - .include "constants/constants.inc" - - .syntax unified - - .text - - thumb_func_start StaffrollTask -StaffrollTask: @ 0x080A35E0 - push {lr} - ldr r1, _080A35FC @ =gRoomTransition - ldr r0, [r1] - adds r0, #1 - str r0, [r1] - ldr r1, _080A3600 @ =gUnk_08127D00 - ldr r0, _080A3604 @ =gMain - ldrb r0, [r0, #3] - lsls r0, r0, #2 - adds r0, r0, r1 - ldr r0, [r0] - bl _call_via_r0 - pop {pc} - .align 2, 0 -_080A35FC: .4byte gRoomTransition -_080A3600: .4byte gUnk_08127D00 -_080A3604: .4byte gMain - - thumb_func_start sub_080A3608 -sub_080A3608: @ 0x080A3608 - push {r4, r5, lr} - ldr r0, _080A3640 @ =gSave - movs r5, #0 - movs r4, #1 - strb r4, [r0, #6] - movs r0, #0x55 - bl SetGlobalFlag - ldr r0, _080A3644 @ =gMain - strb r4, [r0, #3] - ldr r2, _080A3648 @ =gMenu - strb r5, [r2, #5] - movs r1, #0 - movs r0, #0xb4 - strh r0, [r2, #8] - movs r0, #5 - strb r0, [r2, #0x16] - movs r0, #4 - strb r0, [r2, #0x17] - strb r1, [r2, #0x1a] - movs r0, #0x80 - lsls r0, r0, #0x12 - ldrb r0, [r0, #7] - cmp r0, #1 - bls _080A3650 - ldr r0, _080A364C @ =gUnk_08127998 - b _080A365E - .align 2, 0 -_080A3640: .4byte gSave -_080A3644: .4byte gMain -_080A3648: .4byte gMenu -_080A364C: .4byte gUnk_08127998 -_080A3650: - cmp r0, #1 - bne _080A365C - ldr r0, _080A3658 @ =gUnk_08127644 - b _080A365E - .align 2, 0 -_080A3658: .4byte gUnk_08127644 -_080A365C: - ldr r0, _080A36B0 @ =gUnk_081272F0 -_080A365E: - str r0, [r2, #0xc] - movs r0, #0 - bl DispReset - movs r0, #0xb - bl LoadPaletteGroup - movs r0, #0xc - bl LoadPaletteGroup - movs r0, #0 - movs r1, #0 - bl SetColor - ldr r2, _080A36B4 @ =gScreen - movs r0, #0xc8 - lsls r0, r0, #3 - strh r0, [r2] - adds r1, r2, #0 - adds r1, #0x66 - ldr r0, _080A36B8 @ =0x00002442 - strh r0, [r1] - adds r1, #2 - movs r0, #0x80 - lsls r0, r0, #5 - strh r0, [r1] - ldr r0, _080A36BC @ =0x00001E4D - strh r0, [r2, #0x14] - subs r0, #0x8a - strh r0, [r2, #0x20] - bl InitSoundPlayingInfo - bl ResetSystemPriority - movs r1, #0x80 - lsls r1, r1, #1 - movs r0, #5 - bl SetFade - pop {r4, r5, pc} - .align 2, 0 -_080A36B0: .4byte gUnk_081272F0 -_080A36B4: .4byte gScreen -_080A36B8: .4byte 0x00002442 -_080A36BC: .4byte 0x00001E4D - - thumb_func_start sub_080A36C0 -sub_080A36C0: @ 0x080A36C0 - push {lr} - ldr r1, _080A36D4 @ =gUnk_08127D10 - ldr r0, _080A36D8 @ =gMenu - ldrb r0, [r0, #5] - lsls r0, r0, #2 - adds r0, r0, r1 - ldr r0, [r0] - bl _call_via_r0 - pop {pc} - .align 2, 0 -_080A36D4: .4byte gUnk_08127D10 -_080A36D8: .4byte gMenu - - thumb_func_start sub_080A36DC -sub_080A36DC: @ 0x080A36DC - push {lr} - ldr r1, _080A36F4 @ =gMenu - ldrh r0, [r1, #8] - subs r0, #1 - strh r0, [r1, #8] - lsls r0, r0, #0x10 - cmp r0, #0 - bne _080A36F0 - bl sub_080A3954 -_080A36F0: - pop {pc} - .align 2, 0 -_080A36F4: .4byte gMenu - - thumb_func_start sub_080A36F8 -sub_080A36F8: @ 0x080A36F8 - push {r4, r5, lr} - ldr r0, _080A3754 @ =gFadeControl - ldrb r0, [r0] - cmp r0, #0 - bne _080A3752 - ldr r5, _080A3758 @ =gMenu - movs r0, #0x10 - ldrsh r4, [r5, r0] - lsls r4, r4, #1 - ldr r0, _080A375C @ =gUnk_08127CEC - adds r4, r4, r0 - ldrb r0, [r4] - bl LoadPaletteGroup - ldrb r0, [r4, #1] - bl LoadGfxGroup - ldr r0, _080A3760 @ =gBG1Buffer - movs r1, #0x80 - lsls r1, r1, #4 - bl MemClear - ldr r1, _080A3764 @ =gScreen - movs r2, #0 - movs r0, #1 - strh r0, [r1, #0x1a] - ldrh r0, [r5, #0x12] - strh r0, [r1, #0x22] - adds r1, #0x68 - movs r0, #0x80 - lsls r0, r0, #5 - strh r0, [r1] - strb r2, [r5, #5] - ldrb r0, [r5, #0x1a] - cmp r0, #0 - bne _080A374A - movs r0, #1 - strb r0, [r5, #0x1a] - movs r0, #9 - bl SoundReq -_080A374A: - movs r0, #4 - movs r1, #8 - bl SetFade -_080A3752: - pop {r4, r5, pc} - .align 2, 0 -_080A3754: .4byte gFadeControl -_080A3758: .4byte gMenu -_080A375C: .4byte gUnk_08127CEC -_080A3760: .4byte gBG1Buffer -_080A3764: .4byte gScreen - - thumb_func_start sub_080A3768 -sub_080A3768: @ 0x080A3768 - push {r4, lr} - ldr r4, _080A377C @ =gMenu - ldrb r1, [r4, #6] - cmp r1, #1 - beq _080A37C4 - cmp r1, #1 - bgt _080A3780 - cmp r1, #0 - beq _080A378A - b _080A384C - .align 2, 0 -_080A377C: .4byte gMenu -_080A3780: - cmp r1, #2 - beq _080A3804 - cmp r1, #3 - beq _080A3812 - b _080A384C -_080A378A: - ldr r0, _080A37B8 @ =gBG1Buffer - movs r1, #0x80 - lsls r1, r1, #4 - bl MemClear - movs r1, #0x10 - ldrsh r0, [r4, r1] - ldr r2, _080A37BC @ =gUnk_081272E0 - ldrb r1, [r4, #0x19] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl sub_0805F46C - ldr r1, _080A37C0 @ =gScreen - movs r2, #0 - movs r0, #1 - strh r0, [r1, #0x1a] - ldrb r0, [r4, #6] - adds r0, #1 - strb r0, [r4, #6] - strb r2, [r4, #0x18] - b _080A385E - .align 2, 0 -_080A37B8: .4byte gBG1Buffer -_080A37BC: .4byte gUnk_081272E0 -_080A37C0: .4byte gScreen -_080A37C4: - ldr r0, _080A37F8 @ =gFadeControl - ldrb r0, [r0] - cmp r0, #0 - bne _080A385E - ldr r0, _080A37FC @ =gRoomTransition - ldr r0, [r0] - ands r0, r1 - cmp r0, #0 - bne _080A385E - ldrb r1, [r4, #0x18] - adds r1, #1 - strb r1, [r4, #0x18] - lsls r0, r1, #0x18 - lsrs r3, r0, #0x18 - ldr r2, _080A3800 @ =gScreen - movs r0, #0x10 - subs r0, r0, r3 - lsls r0, r0, #8 - orrs r0, r3 - adds r2, #0x68 - strh r0, [r2] - lsls r1, r1, #0x18 - lsrs r1, r1, #0x18 - cmp r1, #0xf - bls _080A385E - b _080A383C - .align 2, 0 -_080A37F8: .4byte gFadeControl -_080A37FC: .4byte gRoomTransition -_080A3800: .4byte gScreen -_080A3804: - ldrh r0, [r4, #8] - subs r0, #1 - strh r0, [r4, #8] - lsls r0, r0, #0x10 - cmp r0, #0 - bne _080A385E - b _080A383C -_080A3812: - ldr r0, _080A3844 @ =gRoomTransition - ldr r0, [r0] - movs r1, #1 - ands r0, r1 - cmp r0, #0 - bne _080A385E - ldrb r1, [r4, #0x18] - subs r1, #1 - strb r1, [r4, #0x18] - lsls r0, r1, #0x18 - lsrs r3, r0, #0x18 - ldr r2, _080A3848 @ =gScreen - movs r0, #0x10 - subs r0, r0, r3 - lsls r0, r0, #8 - orrs r0, r3 - adds r2, #0x68 - strh r0, [r2] - lsls r1, r1, #0x18 - cmp r1, #0 - bne _080A385E -_080A383C: - ldrb r0, [r4, #6] - adds r0, #1 - strb r0, [r4, #6] - b _080A385E - .align 2, 0 -_080A3844: .4byte gRoomTransition -_080A3848: .4byte gScreen -_080A384C: - ldr r1, _080A3860 @ =gFadeControl - ldrb r0, [r1] - cmp r0, #0 - bne _080A385E - movs r0, #1 - rsbs r0, r0, #0 - str r0, [r1, #4] - bl sub_080A3954 -_080A385E: - pop {r4, pc} - .align 2, 0 -_080A3860: .4byte gFadeControl - - thumb_func_start sub_080A3864 -sub_080A3864: @ 0x080A3864 - push {lr} - ldr r1, _080A3884 @ =gMenu - ldrh r0, [r1, #8] - subs r0, #1 - strh r0, [r1, #8] - lsls r0, r0, #0x10 - cmp r0, #0 - bne _080A3880 - bl sub_080A3954 - movs r0, #5 - movs r1, #8 - bl SetFade -_080A3880: - pop {pc} - .align 2, 0 -_080A3884: .4byte gMenu - - thumb_func_start sub_080A3888 -sub_080A3888: @ 0x080A3888 - push {lr} - ldr r1, _080A38A8 @ =gFadeControl - ldr r0, _080A38AC @ =0xFFFF7FFF - str r0, [r1, #4] - movs r0, #5 - movs r1, #4 - bl SetFade - ldr r0, _080A38B0 @ =gMenu - ldrh r0, [r0, #8] - bl SetFadeProgress - bl sub_080A3954 - pop {pc} - .align 2, 0 -_080A38A8: .4byte gFadeControl -_080A38AC: .4byte 0xFFFF7FFF -_080A38B0: .4byte gMenu - - thumb_func_start sub_080A38B4 -sub_080A38B4: @ 0x080A38B4 - push {lr} - movs r0, #4 - movs r1, #4 - bl SetFade - ldr r0, _080A38CC @ =gMenu - ldrh r0, [r0, #8] - bl SetFadeProgress - bl sub_080A3954 - pop {pc} - .align 2, 0 -_080A38CC: .4byte gMenu - - thumb_func_start sub_080A38D0 -sub_080A38D0: @ 0x080A38D0 - push {r4, r5, r6, lr} - mov r6, r8 - push {r6} - ldr r0, _080A391C @ =gFadeControl - ldrb r0, [r0] - cmp r0, #0 - bne _080A3914 - ldr r0, _080A3920 @ =gBG1Buffer - movs r6, #0x80 - lsls r6, r6, #4 - adds r1, r6, #0 - bl MemClear - ldr r4, _080A3924 @ =gScreen - movs r0, #0 - mov r8, r0 - movs r5, #1 - strh r5, [r4, #0x1a] - ldr r0, _080A3928 @ =gBG2Buffer - adds r1, r6, #0 - bl MemClear - strh r5, [r4, #0x26] - adds r4, #0x68 - movs r0, #0x80 - lsls r0, r0, #5 - strh r0, [r4] - ldr r0, _080A392C @ =gMenu - mov r1, r8 - strb r1, [r0, #5] - movs r0, #4 - movs r1, #8 - bl SetFade -_080A3914: - pop {r3} - mov r8, r3 - pop {r4, r5, r6, pc} - .align 2, 0 -_080A391C: .4byte gFadeControl -_080A3920: .4byte gBG1Buffer -_080A3924: .4byte gScreen -_080A3928: .4byte gBG2Buffer -_080A392C: .4byte gMenu - - thumb_func_start sub_080A3930 -sub_080A3930: @ 0x080A3930 - push {lr} - ldr r0, _080A394C @ =gFadeControl - ldrb r0, [r0] - cmp r0, #0 - bne _080A3948 - movs r0, #7 - movs r1, #8 - bl SetFade - ldr r1, _080A3950 @ =gMain - movs r0, #2 - strb r0, [r1, #3] -_080A3948: - pop {pc} - .align 2, 0 -_080A394C: .4byte gFadeControl -_080A3950: .4byte gMain - - thumb_func_start sub_080A3954 -sub_080A3954: @ 0x080A3954 - ldr r2, _080A397C @ =gMenu - ldr r1, [r2, #0xc] - ldrb r0, [r1] - movs r3, #0 - strb r0, [r2, #5] - strb r3, [r2, #6] - ldrh r0, [r1, #6] - strh r0, [r2, #0x10] - ldrh r0, [r1, #4] - strh r0, [r2, #8] - ldrh r0, [r1, #8] - strh r0, [r2, #0x12] - ldrh r0, [r1, #0xa] - strh r0, [r2, #0x14] - ldrb r0, [r1, #1] - strb r0, [r2, #0x19] - adds r1, #0xc - str r1, [r2, #0xc] - bx lr - .align 2, 0 -_080A397C: .4byte gMenu - - thumb_func_start sub_080A3980 -sub_080A3980: @ 0x080A3980 - push {lr} - ldr r0, _080A3990 @ =gFadeControl - ldrb r0, [r0] - cmp r0, #0 - bne _080A398E - bl DoSoftReset -_080A398E: - pop {pc} - .align 2, 0 -_080A3990: .4byte gFadeControl - - thumb_func_start sub_080A3994 -sub_080A3994: @ 0x080A3994 - push {r4, r5, lr} - ldr r0, _080A39AC @ =gMenu - ldrb r1, [r0, #6] - adds r2, r0, #0 - cmp r1, #4 - bls _080A39A2 - b _080A3B14 -_080A39A2: - lsls r0, r1, #2 - ldr r1, _080A39B0 @ =_080A39B4 - adds r0, r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_080A39AC: .4byte gMenu -_080A39B0: .4byte _080A39B4 -_080A39B4: @ jump table - .4byte _080A39C8 @ case 0 - .4byte _080A3A38 @ case 1 - .4byte _080A3AB8 @ case 2 - .4byte _080A3AEE @ case 3 - .4byte _080A3B14 @ case 4 -_080A39C8: - movs r5, #1 - strb r5, [r2, #6] - movs r4, #0 - movs r0, #0x1e - strh r0, [r2, #8] - strb r4, [r2, #3] - movs r0, #1 - bl DispReset - bl InitSoundPlayingInfo - bl sub_080A4D34 - movs r0, #0xa - bl LoadPaletteGroup - movs r0, #0 - movs r1, #0 - bl SetColor - movs r0, #4 - bl LoadGfxGroup - movs r0, #0xc0 - lsls r0, r0, #0x13 - movs r1, #0x20 - bl MemClear - movs r0, #0 - movs r1, #0 - bl SetPopupState - ldr r2, _080A3A2C @ =gScreen - ldrh r0, [r2] - movs r3, #0xc0 - lsls r3, r3, #3 - adds r1, r3, #0 - orrs r0, r1 - strh r0, [r2] - ldr r0, _080A3A30 @ =0x00001C01 - strh r0, [r2, #0x14] - ldr r0, _080A3A34 @ =0x00001D05 - strh r0, [r2, #0x20] - strh r5, [r2, #0x26] - movs r0, #4 - movs r1, #8 - bl SetFade - b _080A3B36 - .align 2, 0 -_080A3A2C: .4byte gScreen -_080A3A30: .4byte 0x00001C01 -_080A3A34: .4byte 0x00001D05 -_080A3A38: - ldr r0, _080A3A50 @ =gFadeControl - ldrb r0, [r0] - cmp r0, #0 - beq _080A3A42 - b _080A3B36 -_080A3A42: - ldrh r0, [r2, #8] - cmp r0, #0 - beq _080A3A54 - subs r0, #1 - strh r0, [r2, #8] - b _080A3B36 - .align 2, 0 -_080A3A50: .4byte gFadeControl -_080A3A54: - ldrb r4, [r2, #3] - ldr r0, _080A3A68 @ =gInput - ldrh r0, [r0, #2] - cmp r0, #0x40 - beq _080A3A72 - cmp r0, #0x40 - bgt _080A3A6C - cmp r0, #1 - beq _080A3A7A - b _080A3A9A - .align 2, 0 -_080A3A68: .4byte gInput -_080A3A6C: - cmp r0, #0x80 - beq _080A3A76 - b _080A3A9A -_080A3A72: - movs r4, #0 - b _080A3A9A -_080A3A76: - movs r4, #1 - b _080A3A9A -_080A3A7A: - cmp r4, #0 - beq _080A3A82 - movs r0, #4 - b _080A3A8C -_080A3A82: - movs r0, #8 - movs r1, #0 - bl CreateDialogBox - movs r0, #2 -_080A3A8C: - ldr r1, _080A3AB4 @ =gMenu - strb r0, [r1, #6] - movs r0, #0x3c - strh r0, [r1, #8] - movs r0, #0x6a - bl SoundReq -_080A3A9A: - ldr r1, _080A3AB4 @ =gMenu - ldrb r0, [r1, #3] - cmp r0, r4 - beq _080A3B36 - strb r4, [r1, #3] - movs r0, #0 - adds r1, r4, #0 - bl SetPopupState - movs r0, #0x69 - bl SoundReq - b _080A3B36 - .align 2, 0 -_080A3AB4: .4byte gMenu -_080A3AB8: - movs r0, #0 - bl HandleSave - adds r1, r0, #0 - ldr r4, _080A3AD8 @ =gMenu - strb r1, [r4] - movs r0, #1 - rsbs r0, r0, #0 - cmp r1, r0 - beq _080A3ADC - cmp r1, #1 - bne _080A3B36 - movs r0, #4 - strb r0, [r4, #6] - b _080A3B36 - .align 2, 0 -_080A3AD8: .4byte gMenu -_080A3ADC: - movs r0, #0x3c - strh r0, [r4, #8] - movs r0, #9 - movs r1, #0 - bl CreateDialogBox - movs r0, #3 - strb r0, [r4, #6] - b _080A3B36 -_080A3AEE: - adds r1, r2, #0 - ldrh r0, [r1, #8] - cmp r0, #0 - beq _080A3AFC - subs r0, #1 - strh r0, [r1, #8] - b _080A3B36 -_080A3AFC: - ldr r0, _080A3B10 @ =gInput - ldrh r1, [r0, #2] - movs r0, #0xb - ands r0, r1 - cmp r0, #0 - beq _080A3B36 - movs r0, #1 - strb r0, [r2, #6] - b _080A3B36 - .align 2, 0 -_080A3B10: .4byte gInput -_080A3B14: - ldr r2, _080A3B38 @ =gScreen - ldrh r1, [r2] - ldr r0, _080A3B3C @ =0x0000FDFF - ands r0, r1 - movs r4, #0 - strh r0, [r2] - bl sub_08050384 - movs r0, #7 - movs r1, #8 - bl SetFade - ldr r1, _080A3B40 @ =gMain - movs r0, #3 - strb r0, [r1, #3] - ldr r0, _080A3B44 @ =gMenu - strb r4, [r0, #6] -_080A3B36: - pop {r4, r5, pc} - .align 2, 0 -_080A3B38: .4byte gScreen -_080A3B3C: .4byte 0x0000FDFF -_080A3B40: .4byte gMain -_080A3B44: .4byte gMenu - - thumb_func_start sub_080A3B48 -sub_080A3B48: @ 0x080A3B48 - push {lr} - movs r1, #0 - ldr r0, _080A3B6C @ =gSave - ldr r3, _080A3B70 @ =0x0000012B - adds r2, r0, r3 - ldrb r0, [r2] - cmp r0, #0 - beq _080A3B66 -_080A3B58: - adds r1, #1 - cmp r1, #0x12 - bhi _080A3B66 - adds r0, r1, r2 - ldrb r0, [r0] - cmp r0, #0 - bne _080A3B58 -_080A3B66: - adds r0, r1, #0 - pop {pc} - .align 2, 0 -_080A3B6C: .4byte gSave -_080A3B70: .4byte 0x0000012B - - thumb_func_start sub_080A3B74 -sub_080A3B74: @ 0x080A3B74 - ldr r0, _080A3B80 @ =gMenu - adds r0, #0x2f - movs r1, #0 - strb r1, [r0] - bx lr - .align 2, 0 -_080A3B80: .4byte gMenu diff --git a/asm/text.s b/asm/text.s deleted file mode 100644 index 63c05280..00000000 --- a/asm/text.s +++ /dev/null @@ -1,1203 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .syntax unified - - .text - - thumb_func_start sub_0805EEB4 -sub_0805EEB4: @ 0x0805EEB4 - push {r4, r5, r6, r7, lr} - adds r7, r0, #0 - adds r3, r1, #0 - strh r3, [r7, #8] - movs r0, #0x80 - lsls r0, r0, #0x12 - ldrb r1, [r0, #7] - cmp r1, #1 - bls _0805EED6 - lsrs r0, r3, #8 - cmp r0, #1 - bne _0805EED6 - movs r0, #0x8c - lsls r0, r0, #1 - cmp r3, r0 - bhi _0805EED6 - movs r1, #3 -_0805EED6: - ldr r0, _0805EF14 @ =gUnk_08109214 - lsls r1, r1, #2 - adds r1, r1, r0 - ldr r2, [r1] - lsrs r0, r3, #8 - lsls r0, r0, #0x18 - lsrs r0, r0, #0x16 - adds r0, r0, r2 - ldr r4, [r0] - adds r2, r2, r4 - lsls r0, r3, #0x18 - lsrs r0, r0, #0x16 - adds r0, r0, r2 - ldr r4, [r0] - ldr r0, [r1] - ldr r1, [r0] - lsrs r1, r1, #2 - ldr r0, [r2] - lsrs r6, r0, #2 - movs r5, #0 - ldrh r3, [r7, #8] - lsrs r0, r3, #8 - cmp r0, r1 - bhs _0805EF0E - lsls r0, r3, #0x18 - lsrs r0, r0, #0x18 - cmp r0, r6 - blo _0805EF18 -_0805EF0E: - movs r5, #1 - b _0805EF22 - .align 2, 0 -_0805EF14: .4byte gUnk_08109214 -_0805EF18: - adds r0, r2, r4 - ldrb r0, [r0] - cmp r0, #0 - bne _0805EF22 - movs r5, #2 -_0805EF22: - cmp r5, #2 - bhi _0805EF2E - cmp r5, #1 - blo _0805EF2E - ldr r2, _0805EF3C @ =gUnk_08109244 - movs r4, #0 -_0805EF2E: - adds r2, r2, r4 - adds r0, r7, #0 - adds r1, r2, #0 - bl sub_0805EF40 - pop {r4, r5, r6, r7, pc} - .align 2, 0 -_0805EF3C: .4byte gUnk_08109244 - - thumb_func_start sub_0805EF40 -sub_0805EF40: @ 0x0805EF40 - push {r4, lr} - adds r3, r0, #0 - adds r4, r1, #0 - ldrb r2, [r3] - movs r0, #1 - ands r0, r2 - cmp r0, #0 - beq _0805EF70 - lsls r1, r2, #0x1b - lsrs r0, r1, #0x1c - cmp r0, #6 - bls _0805EF5C - movs r0, #0 - b _0805EF8A -_0805EF5C: - lsrs r0, r1, #0x1c - adds r0, #1 - movs r1, #0xf - ands r0, r1 - lsls r0, r0, #1 - movs r1, #0x1f - rsbs r1, r1, #0 - ands r1, r2 - orrs r1, r0 - strb r1, [r3] -_0805EF70: - ldrb r0, [r3] - lsls r0, r0, #0x1b - lsrs r0, r0, #0x1c - lsls r0, r0, #2 - adds r1, r3, #0 - adds r1, #0x10 - adds r1, r1, r0 - str r4, [r1] - ldrb r0, [r3] - movs r1, #1 - orrs r0, r1 - strb r0, [r3] - movs r0, #1 -_0805EF8A: - pop {r4, pc} - - thumb_func_start sub_0805EF8C -sub_0805EF8C: @ 0x0805EF8C - push {lr} - adds r2, r0, #0 - ldrb r1, [r2] - movs r0, #1 - ands r0, r1 - cmp r0, #0 - beq _0805EFAE - lsls r0, r1, #0x1b - lsrs r0, r0, #0x1c - lsls r0, r0, #2 - adds r2, #0x10 - adds r2, r2, r0 - ldr r1, [r2] - ldrb r0, [r1] - adds r1, #1 - str r1, [r2] - b _0805EFB0 -_0805EFAE: - movs r0, #0 -_0805EFB0: - pop {pc} - .align 2, 0 - - thumb_func_start sub_0805EFB4 -sub_0805EFB4: @ 0x0805EFB4 - push {r4, lr} - adds r3, r0, #0 - ldrb r2, [r3] - lsls r1, r2, #0x1b - lsrs r4, r1, #0x1c - movs r0, #0x1e - ands r0, r2 - cmp r0, #0 - beq _0805EFDC - adds r0, r4, #0 - subs r0, #1 - movs r1, #0xf - ands r0, r1 - lsls r0, r0, #1 - movs r1, #0x1f - rsbs r1, r1, #0 - ands r1, r2 - orrs r1, r0 - strb r1, [r3] - b _0805EFE4 -_0805EFDC: - movs r0, #2 - rsbs r0, r0, #0 - ands r0, r2 - strb r0, [r3] -_0805EFE4: - adds r0, r4, #0 - pop {r4, pc} - - thumb_func_start GetCharacter -GetCharacter: @ 0x0805EFE8 - push {r4, r5, r6, r7, lr} - adds r6, r0, #0 -_0805EFEC: - adds r0, r6, #0 - bl sub_0805EF8C - adds r5, r0, #0 - strb r5, [r6, #1] - movs r7, #0 - cmp r5, #0xf - bls _0805EFFE - b _0805F22C -_0805EFFE: - lsls r0, r5, #2 - ldr r1, _0805F008 @ =_0805F00C - adds r0, r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0805F008: .4byte _0805F00C -_0805F00C: @ jump table - .4byte _0805F04C @ case 0 - .4byte _0805F058 @ case 1 - .4byte _0805F06E @ case 2 - .4byte _0805F07A @ case 3 - .4byte _0805F090 @ case 4 - .4byte _0805F130 @ case 5 - .4byte _0805F150 @ case 6 - .4byte _0805F196 @ case 7 - .4byte _0805F1C0 @ case 8 - .4byte _0805F1CC @ case 9 - .4byte _0805F1D8 @ case 10 - .4byte _0805F1DC @ case 11 - .4byte _0805F1EC @ case 12 - .4byte _0805F1FC @ case 13 - .4byte _0805F20C @ case 14 - .4byte _0805F21C @ case 15 -_0805F04C: - adds r0, r6, #0 - bl sub_0805EFB4 - adds r7, r0, #0 - movs r5, #0 - b _0805F232 -_0805F058: - adds r0, r6, #0 - bl sub_0805EF8C - adds r4, r0, #0 - strh r4, [r6, #2] - movs r5, #6 - cmp r4, #0xa - bls _0805F06A - b _0805F232 -_0805F06A: - movs r5, #5 - b _0805F232 -_0805F06E: - adds r0, r6, #0 - bl sub_0805EF8C - strh r0, [r6, #2] - movs r5, #7 - b _0805F232 -_0805F07A: - adds r0, r6, #0 - bl sub_0805EF8C - lsls r4, r0, #8 - adds r0, r6, #0 - bl sub_0805EF8C - adds r4, r4, r0 - strh r4, [r6, #2] - movs r5, #8 - b _0805F232 -_0805F090: - adds r0, r6, #0 - bl sub_0805EF8C - adds r4, r0, #0 - cmp r4, #0x15 - bhi _0805F12C - lsls r0, r4, #2 - ldr r1, _0805F0A8 @ =_0805F0AC - adds r0, r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0805F0A8: .4byte _0805F0AC -_0805F0AC: @ jump table - .4byte _0805F104 @ case 0 - .4byte _0805F104 @ case 1 - .4byte _0805F104 @ case 2 - .4byte _0805F104 @ case 3 - .4byte _0805F104 @ case 4 - .4byte _0805F104 @ case 5 - .4byte _0805F104 @ case 6 - .4byte _0805F104 @ case 7 - .4byte _0805F104 @ case 8 - .4byte _0805F104 @ case 9 - .4byte _0805F104 @ case 10 - .4byte _0805F104 @ case 11 - .4byte _0805F104 @ case 12 - .4byte _0805F104 @ case 13 - .4byte _0805F104 @ case 14 - .4byte _0805F104 @ case 15 - .4byte _0805F108 @ case 16 - .4byte _0805F114 @ case 17 - .4byte _0805F118 @ case 18 - .4byte _0805F11C @ case 19 - .4byte _0805F120 @ case 20 - .4byte _0805F120 @ case 21 -_0805F104: - movs r5, #9 - b _0805F12C -_0805F108: - adds r0, r6, #0 - bl sub_0805EF8C - adds r4, r0, #0 - movs r5, #0xa - b _0805F12C -_0805F114: - movs r5, #2 - b _0805F12C -_0805F118: - movs r5, #3 - b _0805F12C -_0805F11C: - movs r5, #4 - b _0805F12C -_0805F120: - movs r5, #0xb - movs r1, #0x14 - eors r1, r4 - rsbs r0, r1, #0 - orrs r0, r1 - lsrs r4, r0, #0x1f -_0805F12C: - strh r4, [r6, #2] - b _0805F232 -_0805F130: - adds r0, r6, #0 - bl sub_0805EF8C - adds r4, r0, #0 - cmp r4, #0xff - bne _0805F140 - movs r4, #0 - b _0805F14A -_0805F140: - lsls r4, r4, #8 - adds r0, r6, #0 - bl sub_0805EF8C - adds r4, r4, r0 -_0805F14A: - strh r4, [r6, #6] - movs r5, #0xc - b _0805F232 -_0805F150: - adds r0, r6, #0 - bl sub_0805EF8C - adds r4, r0, #0 - cmp r4, #4 - bls _0805F162 - cmp r4, #5 - beq _0805F17C - b _0805EFEC -_0805F162: - ldr r1, [r6, #0xc] - cmp r1, #0 - bne _0805F16A - ldr r1, _0805F178 @ =gUnk_08109230 -_0805F16A: - lsls r0, r4, #2 - adds r0, r0, r1 - ldr r1, [r0] - adds r0, r6, #0 - bl sub_0805EF40 - b _0805EFEC - .align 2, 0 -_0805F178: .4byte gUnk_08109230 -_0805F17C: - adds r0, r6, #0 - bl sub_0805EF8C - lsls r4, r0, #8 - adds r0, r6, #0 - bl sub_0805EF8C - adds r4, r4, r0 - adds r0, r6, #0 - adds r1, r4, #0 - bl sub_0805EEB4 - b _0805EFEC -_0805F196: - adds r0, r6, #0 - bl sub_0805EF8C - lsls r4, r0, #8 - adds r0, r6, #0 - bl sub_0805EF8C - adds r4, r4, r0 - ldrb r1, [r6] - movs r0, #2 - rsbs r0, r0, #0 - ands r0, r1 - movs r1, #0x1f - rsbs r1, r1, #0 - ands r0, r1 - strb r0, [r6] - adds r0, r6, #0 - adds r1, r4, #0 - bl sub_0805EEB4 - b _0805EFEC -_0805F1C0: - adds r0, r6, #0 - bl sub_0805EF8C - strh r0, [r6, #2] - movs r5, #0xd - b _0805F232 -_0805F1CC: - adds r0, r6, #0 - bl sub_0805EF8C - strh r0, [r6, #2] - movs r5, #0xe - b _0805F232 -_0805F1D8: - movs r5, #1 - b _0805F232 -_0805F1DC: - adds r0, r6, #0 - bl sub_0805EF8C - adds r5, r0, #0 - movs r0, #0x80 - lsls r0, r0, #3 - orrs r5, r0 - b _0805F232 -_0805F1EC: - adds r0, r6, #0 - bl sub_0805EF8C - adds r5, r0, #0 - movs r0, #0xe0 - lsls r0, r0, #3 - orrs r5, r0 - b _0805F232 -_0805F1FC: - adds r0, r6, #0 - bl sub_0805EF8C - adds r5, r0, #0 - movs r0, #0xa0 - lsls r0, r0, #3 - orrs r5, r0 - b _0805F232 -_0805F20C: - adds r0, r6, #0 - bl sub_0805EF8C - adds r5, r0, #0 - movs r0, #0xc0 - lsls r0, r0, #3 - orrs r5, r0 - b _0805F232 -_0805F21C: - adds r0, r6, #0 - bl sub_0805EF8C - adds r5, r0, #0 - movs r0, #0xc0 - lsls r0, r0, #2 - orrs r5, r0 - b _0805F232 -_0805F22C: - movs r0, #0x80 - lsls r0, r0, #1 - adds r5, r5, r0 -_0805F232: - cmp r7, #0 - beq _0805F238 - b _0805EFEC -_0805F238: - lsrs r0, r5, #8 - cmp r0, #0 - beq _0805F256 - ldrb r0, [r6] - lsls r0, r0, #0x19 - lsrs r0, r0, #0x1e - cmp r0, #0 - beq _0805F254 - cmp r0, #1 - bne _0805F254 - adds r0, r5, #0 - bl sub_0805F9A0 - adds r5, r0, #0 -_0805F254: - strh r5, [r6, #4] -_0805F256: - adds r0, r5, #0 - pop {r4, r5, r6, r7, pc} - .align 2, 0 - - thumb_func_start sub_0805F25C -sub_0805F25C: @ 0x0805F25C - push {lr} - adds r2, r0, #0 - lsrs r3, r2, #8 - movs r0, #0xf - ands r3, r0 - movs r0, #0xff - ands r2, r0 - cmp r3, #8 - bhi _0805F2B6 - lsls r0, r3, #2 - ldr r1, _0805F278 @ =_0805F27C - adds r0, r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0805F278: .4byte _0805F27C -_0805F27C: @ jump table - .4byte _0805F2A0 @ case 0 - .4byte _0805F2A0 @ case 1 - .4byte _0805F2B6 @ case 2 - .4byte _0805F2B6 @ case 3 - .4byte _0805F2B6 @ case 4 - .4byte _0805F2B4 @ case 5 - .4byte _0805F2B4 @ case 6 - .4byte _0805F2B4 @ case 7 - .4byte _0805F2B4 @ case 8 -_0805F2A0: - cmp r2, #0x7f - bls _0805F2B6 - movs r0, #0x80 - lsls r0, r0, #0x12 - ldrb r0, [r0, #7] - cmp r0, #0 - beq _0805F2B6 - subs r2, #0x80 - movs r3, #2 - b _0805F2B6 -_0805F2B4: - lsls r2, r2, #1 -_0805F2B6: - ldr r1, _0805F2C4 @ =gUnk_08109248 - lsls r0, r3, #2 - adds r0, r0, r1 - lsls r1, r2, #6 - ldr r0, [r0] - adds r0, r0, r1 - pop {pc} - .align 2, 0 -_0805F2C4: .4byte gUnk_08109248 - - thumb_func_start sub_0805F2C8 -sub_0805F2C8: @ 0x0805F2C8 - push {r4, r5, lr} - movs r1, #0 - ldr r4, _0805F2EC @ =gUnk_02036540 - adds r5, r4, #0 -_0805F2D0: - ldrb r0, [r4] - lsls r0, r0, #0x1f - cmp r0, #0 - bne _0805F2F0 - adds r0, r5, #0 - movs r1, #0xc - bl MemClear - ldrb r0, [r4] - movs r1, #1 - orrs r0, r1 - strb r0, [r4] - adds r0, r5, #0 - b _0805F2FC - .align 2, 0 -_0805F2EC: .4byte gUnk_02036540 -_0805F2F0: - adds r4, #0xc - adds r5, #0xc - adds r1, #1 - cmp r1, #3 - bls _0805F2D0 - movs r0, #0 -_0805F2FC: - pop {r4, r5, pc} - .align 2, 0 - - thumb_func_start sub_0805F300 -sub_0805F300: @ 0x0805F300 - push {lr} - adds r2, r0, #0 - movs r1, #0 - ldr r0, _0805F314 @ =gUnk_02036540 -_0805F308: - cmp r0, r2 - bne _0805F318 - movs r1, #0xc - bl MemClear - b _0805F320 - .align 2, 0 -_0805F314: .4byte gUnk_02036540 -_0805F318: - adds r0, #0xc - adds r1, #1 - cmp r1, #3 - bls _0805F308 -_0805F320: - pop {pc} - .align 2, 0 - - thumb_func_start GetFontStrWith -GetFontStrWith: @ 0xGetFontStrWidth - push {r4, r5, r6, r7, lr} - mov r7, sl - mov r6, sb - mov r5, r8 - push {r5, r6, r7} - sub sp, #0x38 - adds r7, r1, #0 - mov r1, sp - movs r2, #0x30 - bl MemCopy - movs r0, #0 - str r0, [sp, #0x34] - movs r1, #0 - str r1, [sp, #0x30] - mov sl, r1 - mov r8, r1 - b _0805F34C -_0805F348: - cmp r6, #0 - beq _0805F41E -_0805F34C: - movs r5, #0 - movs r2, #1 - mov sb, r2 -_0805F352: - mov r0, sp - bl GetCharacter - adds r6, r0, #0 - cmp r6, #0xe - bhi _0805F3B4 - lsls r0, r6, #2 - ldr r1, _0805F368 @ =_0805F36C - adds r0, r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0805F368: .4byte _0805F36C -_0805F36C: @ jump table - .4byte _0805F402 @ case 0 - .4byte _0805F402 @ case 1 - .4byte _0805F3FC @ case 2 - .4byte _0805F3FC @ case 3 - .4byte _0805F3FC @ case 4 - .4byte _0805F3FC @ case 5 - .4byte _0805F3FC @ case 6 - .4byte _0805F3FC @ case 7 - .4byte _0805F3FC @ case 8 - .4byte _0805F3FC @ case 9 - .4byte _0805F3FC @ case 10 - .4byte _0805F3AC @ case 11 - .4byte _0805F3A8 @ case 12 - .4byte _0805F3FC @ case 13 - .4byte _0805F3FC @ case 14 -_0805F3A8: - adds r5, #8 - b _0805F3FC -_0805F3AC: - mov r0, sp - ldrh r0, [r0, #2] - mov r8, r0 - b _0805F3FC -_0805F3B4: - mov r0, r8 - cmp r0, #0 - bne _0805F3DE - adds r0, r6, #0 - bl sub_0805F25C - adds r4, r0, #0 - lsrs r0, r6, #8 - cmp r0, #4 - bls _0805F3D2 - ldr r0, [r4, #0x40] - bl sub_0805F7A0 - lsrs r0, r0, #8 - adds r5, r5, r0 -_0805F3D2: - ldr r0, [r4] - bl sub_0805F7A0 - lsrs r0, r0, #8 - adds r5, r5, r0 - b _0805F3EA -_0805F3DE: - lsrs r0, r6, #8 - cmp r0, #4 - bls _0805F3E8 - adds r5, #0x10 - b _0805F3EA -_0805F3E8: - adds r5, #8 -_0805F3EA: - mov r0, sp - ldrb r1, [r0] - movs r0, #0x60 - ands r0, r1 - cmp r0, #0x20 - bne _0805F3FC - cmp r5, #1 - bls _0805F3FC - subs r5, #1 -_0805F3FC: - mov r1, sb - cmp r1, #0 - bne _0805F352 -_0805F402: - cmp r5, sl - bls _0805F408 - mov sl, r5 -_0805F408: - cmp r5, #0 - beq _0805F414 - ldr r2, [sp, #0x30] - adds r2, #1 - str r2, [sp, #0x30] - b _0805F41A -_0805F414: - ldr r0, [sp, #0x34] - adds r0, #1 - str r0, [sp, #0x34] -_0805F41A: - cmp r7, #0 - bne _0805F348 -_0805F41E: - cmp r7, #0 - bne _0805F426 - mov r0, sl - b _0805F434 -_0805F426: - ldr r1, [sp, #0x34] - lsls r0, r1, #0x18 - ldr r2, [sp, #0x30] - lsls r1, r2, #0x10 - orrs r0, r1 - mov r1, sl - orrs r0, r1 -_0805F434: - add sp, #0x38 - pop {r3, r4, r5} - mov r8, r3 - mov sb, r4 - mov sl, r5 - pop {r4, r5, r6, r7, pc} - - thumb_func_start sub_0805F440 -sub_0805F440: @ 0x0805F440 - push {r4, r5, lr} - adds r4, r0, #0 - adds r5, r1, #0 - movs r1, #0x30 - bl MemClear - ldr r0, _0805F45C @ =0x0000FFFF - cmp r5, r0 - bls _0805F460 - adds r0, r4, #0 - adds r1, r5, #0 - bl sub_0805EF40 - b _0805F468 - .align 2, 0 -_0805F45C: .4byte 0x0000FFFF -_0805F460: - adds r0, r4, #0 - adds r1, r5, #0 - bl sub_0805EEB4 -_0805F468: - pop {r4, r5, pc} - .align 2, 0 - - thumb_func_start sub_0805F46C -sub_0805F46C: @ 0x0805F46C - push {r4, r5, r6, r7, lr} - mov r7, sb - mov r6, r8 - push {r6, r7} - sub sp, #0x48 - adds r6, r0, #0 - adds r5, r1, #0 - bl sub_0805F2C8 - mov r8, r0 - cmp r0, #0 - bne _0805F486 - b _0805F5BC -_0805F486: - add r4, sp, #0x30 - adds r0, r5, #0 - adds r1, r4, #0 - movs r2, #0x18 - bl MemCopy - mov r0, sp - adds r1, r6, #0 - bl sub_0805F440 - mov r3, sp - ldrb r0, [r4, #0x17] - movs r1, #3 - ands r1, r0 - lsls r1, r1, #5 - ldrb r2, [r3] - movs r0, #0x61 - rsbs r0, r0, #0 - ands r0, r2 - orrs r0, r1 - strb r0, [r3] - ldrb r1, [r4, #0x17] - lsls r1, r1, #4 - mov r0, r8 - ldrb r2, [r0] - movs r0, #0xf - ands r0, r2 - orrs r0, r1 - mov r1, r8 - strb r0, [r1] - ldrb r0, [r4, #0x12] - strh r0, [r1, #4] - ldr r0, [r4, #8] - str r0, [r1, #8] - ldrb r0, [r4, #0x15] - strb r0, [r1, #2] - ldrb r0, [r4, #0x14] - strb r0, [r1, #3] - ldrb r1, [r4, #0x13] - movs r0, #8 - ands r0, r1 - mov sb, r4 - cmp r0, #0 - beq _0805F59E - lsrs r0, r1, #4 - ldrb r1, [r4, #0x14] - ldr r2, [r4, #4] - bl sub_0805F918 - ldr r0, [r4, #4] - adds r0, #0xe0 - str r0, [r4, #4] - mov r0, sp - movs r1, #1 - bl GetFontStrWith - lsrs r2, r0, #0x18 - ldrb r1, [r4, #0x16] - muls r2, r1, r2 - asrs r1, r0, #0x10 - lsls r1, r1, #0x18 - lsrs r1, r1, #0x17 - adds r7, r2, r1 - lsls r0, r0, #0x10 - lsrs r4, r0, #0x10 - adds r1, r4, #0 - mov r2, sb - ldrb r3, [r2, #0x12] - cmp r3, r1 - bge _0805F514 - adds r1, r3, #0 -_0805F514: - adds r4, r1, #7 - movs r2, #8 - rsbs r2, r2, #0 - mov r0, sb - ldrb r1, [r0, #0x13] - movs r0, #2 - ands r0, r1 - ands r4, r2 - cmp r0, #0 - bne _0805F52A - adds r4, r3, #0 -_0805F52A: - ldr r5, [sp, #0x30] - adds r0, r5, #0 - adds r0, #0x40 - str r0, [sp, #0x30] - mov r2, sb - ldrb r1, [r2, #0x13] - movs r0, #1 - ands r0, r1 - cmp r0, #0 - beq _0805F54E - adds r4, #0xf - movs r0, #0x10 - rsbs r0, r0, #0 - ands r4, r0 - lsrs r0, r4, #3 - adds r0, #2 - subs r5, r5, r0 - b _0805F554 -_0805F54E: - adds r0, r5, #0 - adds r0, #0x42 - str r0, [sp, #0x30] -_0805F554: - lsrs r4, r4, #3 - mov r3, sb - ldrh r6, [r3, #0x10] - adds r0, r5, #0 - adds r1, r4, #0 - adds r2, r7, #0 - adds r3, r6, #0 - bl DispMessageFrame - adds r5, #2 - mov r1, sb - ldrh r0, [r1, #0x10] - adds r0, #7 - strh r0, [r1, #0x10] - ldrh r0, [r1, #0x10] - subs r6, r0, #1 - adds r0, r7, #0 - subs r7, #1 - cmp r0, #0 - beq _0805F59E -_0805F57C: - adds r1, r5, #0 - adds r1, #0x40 - adds r5, r1, #0 - subs r2, r4, #1 - subs r3, r7, #1 - cmp r4, #0 - ble _0805F596 -_0805F58A: - strh r6, [r1] - adds r1, #2 - adds r0, r2, #0 - subs r2, #1 - cmp r0, #0 - bgt _0805F58A -_0805F596: - adds r0, r7, #0 - adds r7, r3, #0 - cmp r0, #0 - bne _0805F57C -_0805F59E: - ldr r0, _0805F5C8 @ =gUnk_02034330 - movs r1, #0x18 - bl MemClear -_0805F5A6: - mov r0, sb - mov r1, sp - mov r2, r8 - bl sub_0805F5CC - lsls r0, r0, #0x10 - cmp r0, #0 - bne _0805F5A6 - mov r0, r8 - bl sub_0805F300 -_0805F5BC: - movs r0, #0 - add sp, #0x48 - pop {r3, r4} - mov r8, r3 - mov sb, r4 - pop {r4, r5, r6, r7, pc} - .align 2, 0 -_0805F5C8: .4byte gUnk_02034330 - - thumb_func_start sub_0805F5CC -sub_0805F5CC: @ 0x0805F5CC - push {r4, r5, r6, lr} - adds r4, r0, #0 - adds r6, r1, #0 - adds r5, r2, #0 - ldrb r0, [r4, #0x14] - bl sub_0805F8F8 - ldr r1, [r4, #8] - ldrb r2, [r4, #0x12] - adds r2, #7 - movs r3, #0xfc - lsls r3, r3, #1 - ands r2, r3 - lsls r2, r2, #3 - bl MemFill32 - adds r0, r6, #0 - movs r1, #0 - bl GetFontStrWith - adds r2, r0, #0 - ldrb r1, [r4, #0x13] - movs r0, #1 - ands r0, r1 - cmp r0, #0 - beq _0805F60E - adds r0, r2, #1 - lsrs r0, r0, #1 - movs r1, #8 - subs r1, r1, r0 - movs r0, #7 - ands r0, r1 - b _0805F610 -_0805F60E: - movs r0, #0 -_0805F610: - strh r0, [r5, #6] - adds r0, r6, #0 - adds r1, r5, #0 - bl sub_0805F6A4 - adds r2, r0, #0 - cmp r2, #0 - beq _0805F660 - ldrh r1, [r5, #6] - adds r0, r1, #7 - asrs r5, r0, #3 - ldr r2, [r4] - ldrb r1, [r4, #0x13] - movs r0, #1 - ands r0, r1 - cmp r0, #0 - beq _0805F63A - adds r0, r5, #1 - lsrs r0, r0, #1 - lsls r0, r0, #1 - subs r2, r2, r0 -_0805F63A: - ldrh r1, [r4, #0x10] - adds r0, r2, #0 - adds r2, r5, #0 - bl sub_0805F67C - strh r0, [r4, #0x10] - ldr r0, [r4] - adds r0, #0x80 - str r0, [r4] - lsls r5, r5, #6 - ldr r0, [r4, #8] - ldr r1, [r4, #4] - adds r2, r5, #0 - bl MemCopy - ldr r0, [r4, #4] - adds r0, r0, r5 - str r0, [r4, #4] - b _0805F670 -_0805F660: - ldrb r0, [r6, #1] - cmp r0, #0xa - bne _0805F670 - ldrb r1, [r4, #0x16] - lsls r1, r1, #6 - ldr r0, [r4] - adds r0, r0, r1 - str r0, [r4] -_0805F670: - ldrb r1, [r6, #1] - rsbs r0, r1, #0 - orrs r0, r1 - lsrs r0, r0, #0x1f - pop {r4, r5, r6, pc} - .align 2, 0 - - thumb_func_start sub_0805F67C -sub_0805F67C: @ 0x0805F67C - push {r4, lr} - adds r3, r0, #0 - subs r2, #1 - movs r0, #1 - rsbs r0, r0, #0 - cmp r2, r0 - beq _0805F6A0 - adds r4, r0, #0 -_0805F68C: - strh r1, [r3] - adds r1, #1 - adds r0, r3, #0 - adds r0, #0x40 - strh r1, [r0] - adds r1, #1 - adds r3, #2 - subs r2, #1 - cmp r2, r4 - bne _0805F68C -_0805F6A0: - adds r0, r1, #0 - pop {r4, pc} - - thumb_func_start sub_0805F6A4 -sub_0805F6A4: @ 0x0805F6A4 - push {r4, r5, r6, r7, lr} - adds r5, r0, #0 - adds r4, r1, #0 - movs r6, #0 -_0805F6AC: - adds r0, r5, #0 - bl GetCharacter - movs r7, #1 - cmp r0, #0xe - bhi _0805F746 - lsls r0, r0, #2 - ldr r1, _0805F6C4 @ =_0805F6C8 - adds r0, r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0805F6C4: .4byte _0805F6C8 -_0805F6C8: @ jump table - .4byte _0805F768 @ case 0 - .4byte _0805F768 @ case 1 - .4byte _0805F764 @ case 2 - .4byte _0805F764 @ case 3 - .4byte _0805F764 @ case 4 - .4byte _0805F764 @ case 5 - .4byte _0805F764 @ case 6 - .4byte _0805F704 @ case 7 - .4byte _0805F764 @ case 8 - .4byte _0805F764 @ case 9 - .4byte _0805F764 @ case 10 - .4byte _0805F740 @ case 11 - .4byte _0805F70E @ case 12 - .4byte _0805F764 @ case 13 - .4byte _0805F764 @ case 14 -_0805F704: - ldrh r0, [r5, #2] - cmp r0, #0xd - bhi _0805F764 - strb r0, [r4, #2] - b _0805F764 -_0805F70E: - ldr r3, _0805F73C @ =gUnk_02034330 - movs r2, #2 - ldrsb r2, [r3, r2] - cmp r2, #3 - bhi _0805F732 - adds r0, r2, #1 - strb r0, [r3, #2] - lsls r2, r2, #1 - adds r0, r3, #0 - adds r0, #0x10 - adds r0, r2, r0 - ldrh r1, [r5, #6] - strh r1, [r0] - adds r0, r3, #0 - adds r0, #8 - adds r2, r2, r0 - ldrh r0, [r4, #6] - strh r0, [r2] -_0805F732: - ldrh r0, [r4, #6] - adds r0, #8 - strh r0, [r4, #6] - adds r6, #8 - b _0805F764 - .align 2, 0 -_0805F73C: .4byte gUnk_02034330 -_0805F740: - ldrh r0, [r5, #2] - strb r0, [r4, #1] - b _0805F764 -_0805F746: - adds r1, r4, #0 - bl sub_0805F7DC - adds r6, r6, r0 - ldrb r1, [r5] - movs r0, #0x60 - ands r0, r1 - cmp r0, #0x20 - bne _0805F764 - ldrh r0, [r4, #6] - cmp r0, #1 - bls _0805F764 - subs r6, #1 - subs r0, #1 - strh r0, [r4, #6] -_0805F764: - cmp r7, #0 - bne _0805F6AC -_0805F768: - adds r0, r6, #0 - pop {r4, r5, r6, r7, pc} - - thumb_func_start sub_0805F76C -sub_0805F76C: @ 0x0805F76C - push {r4, lr} - sub sp, #0x30 - adds r2, r0, #0 - adds r4, r1, #0 - mov r0, sp - adds r1, r2, #0 - bl sub_0805F440 - mov r3, sp - ldrb r0, [r4] - lsrs r0, r0, #4 - movs r1, #3 - ands r1, r0 - lsls r1, r1, #5 - ldrb r2, [r3] - movs r0, #0x61 - rsbs r0, r0, #0 - ands r0, r2 - orrs r0, r1 - strb r0, [r3] - mov r0, sp - adds r1, r4, #0 - bl sub_0805F6A4 - add sp, #0x30 - pop {r4, pc} - - thumb_func_start sub_0805F7A0 -sub_0805F7A0: @ 0x0805F7A0 - push {r4, lr} - adds r4, r0, #0 - movs r1, #0xf - movs r2, #0 - b _0805F7B4 -_0805F7AA: - lsls r1, r1, #4 - adds r2, #1 - cmp r2, #7 - bhi _0805F7BA - adds r0, r4, #0 -_0805F7B4: - ands r0, r1 - cmp r1, r0 - beq _0805F7AA -_0805F7BA: - adds r3, r2, #0 - cmp r3, #7 - bhi _0805F7D2 - b _0805F7CA -_0805F7C2: - lsls r1, r1, #4 - adds r2, #1 - cmp r2, #7 - bhi _0805F7D2 -_0805F7CA: - adds r0, r4, #0 - ands r0, r1 - cmp r1, r0 - bne _0805F7C2 -_0805F7D2: - subs r2, r2, r3 - lsls r0, r2, #8 - orrs r0, r3 - pop {r4, pc} - .align 2, 0 diff --git a/assets/assets.json b/assets/assets.json index 09cb8862..90c97cc9 100644 --- a/assets/assets.json +++ b/assets/assets.json @@ -25510,31 +25510,6 @@ "size": 73, "type": "animation" }, - { - "path": "acroBandits/gUnk_080CE5B0.bin", - "start": 845232, - "size": 8 - }, - { - "path": "acroBandits/gUnk_080CE5B8.bin", - "start": 845240, - "size": 8 - }, - { - "path": "acroBandits/gUnk_080CE5C0.bin", - "start": 845248, - "size": 8 - }, - { - "path": "acroBandits/gUnk_080CE5F0.bin", - "start": 845296, - "size": 10 - }, - { - "path": "acroBandits/gUnk_080CE5FA.bin", - "start": 845306, - "size": 20 - }, { "path": "animations/gSpriteAnimations_Keaton_0.bin", "start": 845848, @@ -25987,11 +25962,6 @@ "size": 5, "type": "animation" }, - { - "path": "flyingPot/gUnk_080CF290.bin", - "start": 848528, - "size": 4 - }, { "path": "animations/gSpriteAnimations_Gibdo_0.bin", "start": 848592, @@ -29467,82 +29437,82 @@ "size": 102 }, { - "path": "data_080D5360/gUnk_additional_8_PalaceOfWinds_21.bin", + "path": "data_080D5360/gUnk_additional_8_PalaceOfWinds_RedWarpHall.bin", "start": 952320, "size": 36 }, { - "path": "data_080D5360/gUnk_additional_8_PalaceOfWinds_22.bin", + "path": "data_080D5360/gUnk_additional_8_PalaceOfWinds_PlatformCloneRide.bin", "start": 952632, "size": 80 }, { - "path": "data_080D5360/gUnk_additional_8_PalaceOfWinds_24.bin", + "path": "data_080D5360/gUnk_additional_8_PalaceOfWinds_CrowRide.bin", "start": 953244, "size": 36 }, { - "path": "data_080D5360/gUnk_additional_8_PalaceOfWinds_25.bin", + "path": "data_080D5360/gUnk_additional_8_PalaceOfWinds_GratePlatformRide.bin", "start": 953484, "size": 36 }, { - "path": "data_080D5360/gUnk_additional_8_PalaceOfWinds_33.bin", + "path": "data_080D5360/gUnk_additional_8_PalaceOfWinds_GratesTo3F.bin", "start": 955600, "size": 30 }, { - "path": "data_080D5360/gUnk_additional_9_PalaceOfWinds_33.bin", + "path": "data_080D5360/gUnk_additional_9_PalaceOfWinds_GratesTo3F.bin", "start": 955630, "size": 18 }, { - "path": "data_080D5360/gUnk_additional_a_PalaceOfWinds_33.bin", + "path": "data_080D5360/gUnk_additional_a_PalaceOfWinds_GratesTo3F.bin", "start": 955648, "size": 24 }, { - "path": "data_080D5360/gUnk_additional_8_PalaceOfWinds_36.bin", + "path": "data_080D5360/gUnk_additional_8_PalaceOfWinds_WhirlwindBombarossa.bin", "start": 956728, "size": 54 }, { - "path": "data_080D5360/gUnk_additional_9_PalaceOfWinds_36.bin", + "path": "data_080D5360/gUnk_additional_9_PalaceOfWinds_WhirlwindBombarossa.bin", "start": 956782, "size": 54 }, { - "path": "data_080D5360/gUnk_additional_a_PalaceOfWinds_36.bin", + "path": "data_080D5360/gUnk_additional_a_PalaceOfWinds_WhirlwindBombarossa.bin", "start": 956836, "size": 54 }, { - "path": "data_080D5360/gUnk_additional_b_PalaceOfWinds_36.bin", + "path": "data_080D5360/gUnk_additional_b_PalaceOfWinds_WhirlwindBombarossa.bin", "start": 956890, "size": 54 }, { - "path": "data_080D5360/gUnk_additional_8_PalaceOfWinds_43.bin", + "path": "data_080D5360/gUnk_additional_8_PalaceOfWinds_SpikeBarSmallKey.bin", "start": 958148, "size": 30 }, { - "path": "data_080D5360/gUnk_additional_9_PalaceOfWinds_43.bin", + "path": "data_080D5360/gUnk_additional_9_PalaceOfWinds_SpikeBarSmallKey.bin", "start": 958178, "size": 30 }, { - "path": "data_080D5360/gUnk_additional_a_PalaceOfWinds_43.bin", + "path": "data_080D5360/gUnk_additional_a_PalaceOfWinds_SpikeBarSmallKey.bin", "start": 958208, "size": 32 }, { - "path": "data_080D5360/gUnk_additional_9_PalaceOfWinds_46.bin", + "path": "data_080D5360/gUnk_additional_9_PalaceOfWinds_PlatformRideBombarossas.bin", "start": 959608, "size": 30 }, { - "path": "data_080D5360/gUnk_additional_a_PalaceOfWinds_46.bin", + "path": "data_080D5360/gUnk_additional_a_PalaceOfWinds_PlatformRideBombarossas.bin", "start": 959638, "size": 38 }, @@ -29593,32 +29563,32 @@ } }, { - "path": "data_080D5360/gUnk_additional_9_DarkHyruleCastle_11.bin", + "path": "data_080D5360/gUnk_additional_9_DarkHyruleCastle_2FTopRightCornerGhini.bin", "start": 966876, "size": 16 }, { - "path": "data_080D5360/gUnk_additional_8_DarkHyruleCastle_17.bin", + "path": "data_080D5360/gUnk_additional_8_DarkHyruleCastle_2FLeft.bin", "start": 968492, "size": 80 }, { - "path": "data_080D5360/gUnk_additional_9_DarkHyruleCastle_26.bin", + "path": "data_080D5360/gUnk_additional_9_DarkHyruleCastle_2FBottomLeftGhini.bin", "start": 970500, "size": 16 }, { - "path": "data_080D5360/gUnk_additional_8_DarkHyruleCastle_38.bin", + "path": "data_080D5360/gUnk_additional_8_DarkHyruleCastle_1FLoopLeft.bin", "start": 972552, "size": 24 }, { - "path": "data_080D5360/gUnk_additional_8_DarkHyruleCastle_39.bin", + "path": "data_080D5360/gUnk_additional_8_DarkHyruleCastle_1FLoopRight.bin", "start": 972780, "size": 224 }, { - "path": "data_080D5360/gUnk_additional_8_DarkHyruleCastle_52.bin", + "path": "data_080D5360/gUnk_additional_8_DarkHyruleCastle_B1Cannons.bin", "start": 975432, "size": 24 }, @@ -30095,7 +30065,7 @@ "size": 16 }, { - "path": "data_080D5360/gUnk_additional_8_HouseInteriors2_Stockwell.bin", + "path": "data_080D5360/gUnk_additional_8_HouseInteriors2_StockwellLakeHouse.bin", "start": 995684, "size": 16 }, @@ -30145,12 +30115,12 @@ "size": 16 }, { - "path": "data_080D5360/gUnk_additional_a_HouseInteriors4_Mayor.bin", + "path": "data_080D5360/gUnk_additional_a_HouseInteriors4_MayorLakeCabin.bin", "start": 998244, "size": 16 }, { - "path": "data_080D5360/gUnk_additional_b_HouseInteriors4_Mayor.bin", + "path": "data_080D5360/gUnk_additional_b_HouseInteriors4_MayorLakeCabin.bin", "start": 998260, "size": 80 }, @@ -30265,12 +30235,12 @@ "size": 20 }, { - "path": "data_080D5360/gUnk_additional_8_HyruleField_LinksHouseExterior.bin", + "path": "data_080D5360/gUnk_additional_8_HyruleField_SouthHyruleField.bin", "start": 1012384, "size": 16 }, { - "path": "data_080D5360/gUnk_additional_9_HyruleField_LinksHouseExterior.bin", + "path": "data_080D5360/gUnk_additional_9_HyruleField_SouthHyruleField.bin", "start": 1012400, "size": 20 }, @@ -43800,16 +43770,6 @@ "size": 8, "type": "animation" }, - { - "path": "minecart/gUnk_081223C8.bin", - "start": 1188808, - "size": 8 - }, - { - "path": "minecart/gUnk_081223D0.bin", - "start": 1188816, - "size": 8 - }, { "path": "animations/gSpriteAnimations_ThoughtBubble_0.bin", "start": 1189280, @@ -43911,31 +43871,6 @@ "size": 27, "type": "animation" }, - { - "path": "objectBlockingStairs/gUnk_08122850.bin", - "start": 1189968, - "size": 18 - }, - { - "path": "objectBlockingStairs/gUnk_08122862.bin", - "start": 1189986, - "size": 18 - }, - { - "path": "objectBlockingStairs/gUnk_08122874.bin", - "start": 1190004, - "size": 18 - }, - { - "path": "objectBlockingStairs/gUnk_08122886.bin", - "start": 1190022, - "size": 18 - }, - { - "path": "objectBlockingStairs/gUnk_08122898.bin", - "start": 1190040, - "size": 16 - }, { "path": "swordsmanNewsletter/gUnk_081228A8.bin", "start": 1190056, @@ -44547,11 +44482,6 @@ "start": 1193532, "size": 32 }, - { - "path": "picoBloom/gUnk_08123574.bin", - "start": 1193332, - "size": 6 - }, { "path": "animations/gSpriteAnimations_BigVortex_0.bin", "start": 1193624, @@ -44743,11 +44673,6 @@ "size": 4, "type": "animation" }, - { - "path": "object96/gUnk_08123FB0.bin", - "start": 1196172, - "size": 36 - }, { "path": "animations/gSpriteAnimations_Object98_0.bin", "start": 1196436, @@ -44907,16 +44832,6 @@ "size": 20, "type": "animation" }, - { - "path": "objectA9/gUnk_0812485C.bin", - "start": 1198172, - "size": 4 - }, - { - "path": "objectA9/gUnk_08124860.bin", - "start": 1198176, - "size": 8 - }, { "path": "animations/gSpriteAnimations_ObjectAB_0.bin", "start": 1198200, @@ -45058,41 +44973,6 @@ "size": 83, "type": "animation" }, - { - "path": "objectB4/gUnk_08124B10.bin", - "start": 1198864, - "size": 16 - }, - { - "path": "objectB4/gUnk_08124B30.bin", - "start": 1198896, - "size": 8 - }, - { - "path": "objectB9/gUnk_08124C20.bin", - "start": 1199136, - "size": 40 - }, - { - "path": "objectB9/gUnk_08124C48.bin", - "start": 1199176, - "size": 600 - }, - { - "path": "objectB9/gUnk_08124EA0.bin", - "start": 1199776, - "size": 40 - }, - { - "path": "objectB9/gUnk_08124EC8.bin", - "start": 1199816, - "size": 4 - }, - { - "path": "objectB9/gUnk_08124ECC.bin", - "start": 1199820, - "size": 4 - }, { "path": "windcrest/gUnk_08125010.bin", "start": 1200144, @@ -45389,26 +45269,6 @@ "DEMO_USA": 2640 } }, - { - "path": "data_08127280/gUnk_08127280.bin", - "start": 1208960, - "size": 24 - }, - { - "path": "data_08127280/gUnk_08127298.bin", - "start": 1208984, - "size": 24 - }, - { - "path": "data_08127280/gUnk_081272B0.bin", - "start": 1209008, - "size": 24 - }, - { - "path": "data_08127280/gUnk_081272C8.bin", - "start": 1209032, - "size": 24 - }, { "path": "data_08127280/gUnk_081272F0.bin", "start": 1209072, @@ -46693,2630 +46553,10 @@ }, { "offsets": { - "EU": -2484 - } - }, - { - "path": "exit_lists/gExitList_NoExitList.bin", - "start": 1261512, - "size": 20, - "type": "exit_list" - }, - { - "path": "exit_lists/gExitList_MinishWoods_Main.bin", - "start": 1261788, - "size": 300, - "type": "exit_list" - }, - { - "path": "exit_lists/gExitList_LakeHylia_Main.bin", - "start": 1262092, - "size": 220, - "type": "exit_list" - }, - { - "path": "exit_lists/gExitList_LakeHylia_Beanstalk.bin", - "start": 1262312, - "size": 80, - "type": "exit_list" - }, - { - "path": "exit_lists/gExitList_CastorWilds_Main.bin", - "start": 1262400, - "size": 200, - "type": "exit_list" - }, - { - "path": "exit_lists/gExitList_Ruins_Entrance.bin", - "start": 1262604, - "size": 60, - "type": "exit_list" - }, - { - "path": "exit_lists/gExitList_Ruins_Beanstalk.bin", - "start": 1262664, - "size": 20, - "type": "exit_list" - }, - { - "path": "exit_lists/gExitList_Ruins_LadderToTektites.bin", - "start": 1262684, - "size": 40, - "type": "exit_list" - }, - { - "path": "exit_lists/gExitList_Ruins_FortressEntrance.bin", - "start": 1262724, - "size": 40, - "type": "exit_list" - }, - { - "path": "exit_lists/gExitList_HyruleTown_0.bin", - "start": 1262788, - "size": 720, - "type": "exit_list" - }, - { - "path": "exit_lists/gExitList_HyruleTown_1.bin", - "start": 1263512, - "size": 40, - "type": "exit_list" - }, - { - "path": "exit_lists/gExitList_MtCrenel_MountainTop.bin", - "start": 1263556, - "size": 60, - "type": "exit_list" - }, - { - "path": "exit_lists/gExitList_MtCrenel_WallClimb.bin", - "start": 1263616, - "size": 80, - "type": "exit_list" - }, - { - "path": "exit_lists/gExitList_MtCrenel_CaveOfFlamesEntrance.bin", - "start": 1263696, - "size": 180, - "type": "exit_list" - }, - { - "path": "exit_lists/gExitList_MtCrenel_GustJarShortcut.bin", - "start": 1263876, - "size": 100, - "type": "exit_list" - }, - { - "path": "exit_lists/gExitList_MtCrenel_Entrance.bin", - "start": 1263976, - "size": 200, - "type": "exit_list" - }, - { - "path": "exit_lists/gExitList_HyruleField_WesternWoodSouth.bin", - "start": 1264196, - "size": 40, - "type": "exit_list" - }, - { - "path": "exit_lists/gExitList_HyruleField_LinksHouseExterior.bin", - "start": 1264236, - "size": 160, - "type": "exit_list" - }, - { - "path": "exit_lists/gExitList_HyruleField_FromMinishWoods.bin", - "start": 1264396, - "size": 60, - "type": "exit_list" - }, - { - "path": "exit_lists/gExitList_HyruleField_FromMinishWoodsNorth.bin", - "start": 1264456, - "size": 40, - "type": "exit_list" - }, - { - "path": "exit_lists/gExitList_HyruleField_Farmers.bin", - "start": 1264496, - "size": 60, - "type": "exit_list" - }, - { - "path": "exit_lists/gExitList_HyruleField_LonLonRanch.bin", - "start": 1264556, - "size": 220, - "type": "exit_list" - }, - { - "path": "exit_lists/gExitList_HyruleField_OutsideCastle.bin", - "start": 1264776, - "size": 320, - "type": "exit_list" - }, - { - "path": "exit_lists/gExitList_HyruleField_OutsideCastleWest.bin", - "start": 1265096, - "size": 220, - "type": "exit_list" - }, - { - "path": "exit_lists/gExitList_HyruleField_TrilbyHighlands.bin", - "start": 1265316, - "size": 60, - "type": "exit_list" - }, - { - "path": "exit_lists/gExitList_HyruleField_PercysHouse.bin", - "start": 1265376, - "size": 40, - "type": "exit_list" - }, - { - "path": "exit_lists/gExitList_CastleGarden_Main.bin", - "start": 1265456, - "size": 140, - "type": "exit_list" - }, - { - "path": "data_08132B30/gUnk_08134FBC.bin", - "start": 1265596, - "size": 140 - }, - { - "path": "data_08132B30/gUnk_08135048.bin", - "start": 1265736, - "size": 40 - }, - { - "path": "exit_lists/gExitList_CloudTops_House.bin", - "start": 1265780, - "size": 40, - "type": "exit_list" - }, - { - "path": "exit_lists/gExitList_RoyalValley_Main.bin", - "variants": [ - "EU" - ], - "starts": { - "EU": 1263340 - }, - "size": 200, - "type": "exit_list" - }, - { - "path": "exit_lists/gExitList_RoyalValley_Main.bin", - "variants": [ - "USA", - "JP", - "DEMO_USA", - "DEMO_JP" - ], - "start": 1265824, - "size": 200, - "type": "exit_list" - }, - { - "path": "exit_lists/gExitList_RoyalValley_ForestMaze.bin", - "start": 1266024, - "size": 40, - "type": "exit_list" - }, - { - "path": "data_08132B30/gUnk_08135190.bin", - "start": 1266064, - "size": 60 - }, - { - "path": "exit_lists/gExitList_VeilFalls_Main.bin", - "start": 1266132, - "size": 260, - "type": "exit_list" - }, - { - "path": "exit_lists/gExitList_Beanstalks_MountCrenel.bin", - "start": 1266396, - "size": 40, - "type": "exit_list" - }, - { - "path": "exit_lists/gExitList_Beanstalks_LakeHylia.bin", - "start": 1266436, - "size": 40, - "type": "exit_list" - }, - { - "path": "exit_lists/gExitList_Beanstalks_Ruins.bin", - "start": 1266476, - "size": 40, - "type": "exit_list" - }, - { - "path": "exit_lists/gExitList_Beanstalks_EasternHills.bin", - "start": 1266516, - "size": 40, - "type": "exit_list" - }, - { - "path": "exit_lists/gExitList_Beanstalks_WesternWoods.bin", - "start": 1266556, - "size": 40, - "type": "exit_list" - }, - { - "path": "exit_lists/gExitList_Beanstalks_MountCrenelClimb.bin", - "start": 1266596, - "size": 60, - "type": "exit_list" - }, - { - "path": "exit_lists/gExitList_Beanstalks_LakeHyliaClimb.bin", - "start": 1266656, - "size": 60, - "type": "exit_list" - }, - { - "path": "exit_lists/gExitList_Beanstalks_RuinsClimb.bin", - "start": 1266716, - "size": 60, - "type": "exit_list" - }, - { - "path": "exit_lists/gExitList_Beanstalks_EasternHillsClimb.bin", - "start": 1266776, - "size": 60, - "type": "exit_list" - }, - { - "path": "exit_lists/gExitList_Beanstalks_WesternWoodsClimb.bin", - "start": 1266836, - "size": 60, - "type": "exit_list" - }, - { - "path": "exit_lists/gExitList_LakeWoodsCave_Main.bin", - "start": 1266980, - "size": 40, - "type": "exit_list" - }, - { - "path": "exit_lists/gExitList_HyruleDigCaves_Main.bin", - "start": 1267024, - "size": 40, - "type": "exit_list" - }, - { - "path": "exit_lists/gExitList_MinishVillage_Main.bin", - "start": 1267068, - "size": 280, - "type": "exit_list" - }, - { - "path": "exit_lists/gExitList_MinishVillage_SideHouse.bin", - "start": 1267348, - "size": 40, - "type": "exit_list" - }, - { - "path": "exit_lists/gExitList_MelarisMine_Main.bin", - "start": 1267404, - "size": 120, - "type": "exit_list" - }, - { - "path": "exit_lists/gExitList_MinishPaths1_ToMinishVillage.bin", - "start": 1267528, - "size": 60, - "type": "exit_list" - }, - { - "path": "exit_lists/gExitList_MinishPaths1_CastorWilds.bin", - "start": 1267588, - "size": 60, - "type": "exit_list" - }, - { - "path": "exit_lists/gExitList_MinishPaths1_HyruleTown.bin", - "start": 1267648, - "size": 40, - "type": "exit_list" - }, - { - "path": "exit_lists/gExitList_MinishPaths1_LonLonRanch.bin", - "start": 1267688, - "size": 40, - "type": "exit_list" - }, - { - "path": "exit_lists/gExitList_MinishPaths1_MayorsCabin.bin", - "start": 1267728, - "size": 60, - "type": "exit_list" - }, - { - "path": "exit_lists/gExitList_CrenelMinishPaths_CrenelBean.bin", - "start": 1267808, - "size": 40, - "type": "exit_list" - }, - { - "path": "exit_lists/gExitList_CrenelMinishPaths_CrenelWater.bin", - "start": 1267848, - "size": 40, - "type": "exit_list" - }, - { - "path": "exit_lists/gExitList_CrenelMinishPaths_Rainfall.bin", - "start": 1267888, - "size": 60, - "type": "exit_list" - }, - { - "path": "exit_lists/gExitList_CrenelMinishPaths_MelarisMine.bin", - "start": 1267948, - "size": 60, - "type": "exit_list" - }, - { - "path": "exit_lists/gExitList_DigCaves1_TrilbyHighlands.bin", - "start": 1268024, - "size": 60, - "type": "exit_list" - }, - { - "path": "exit_lists/gExitList_MinishHouseInteriors_GentariMain.bin", - "start": 1268100, - "size": 40, - "type": "exit_list" - }, - { - "path": "exit_lists/gExitList_MinishHouseInteriors_GentariExit.bin", - "start": 1268140, - "size": 40, - "type": "exit_list" - }, - { - "path": "exit_lists/gExitList_MinishHouseInteriors_Festari.bin", - "start": 1268180, - "size": 60, - "type": "exit_list" - }, - { - "path": "exit_lists/gExitList_MinishHouseInteriors_Red.bin", - "start": 1268240, - "size": 40, - "type": "exit_list" - }, - { - "path": "exit_lists/gExitList_MinishHouseInteriors_Green.bin", - "start": 1268280, - "size": 40, - "type": "exit_list" - }, - { - "path": "exit_lists/gExitList_MinishHouseInteriors_Blue.bin", - "start": 1268320, - "size": 40, - "type": "exit_list" - }, - { - "path": "exit_lists/gExitList_MinishHouseInteriors_SideArea.bin", - "start": 1268360, - "size": 40, - "type": "exit_list" - }, - { - "path": "exit_lists/gExitList_MinishHouseInteriors_ShoeMinish.bin", - "start": 1268400, - "size": 40, - "type": "exit_list" - }, - { - "path": "exit_lists/gExitList_MinishHouseInteriors_PotMinish.bin", - "start": 1268440, - "size": 40, - "type": "exit_list" - }, - { - "path": "exit_lists/gExitList_MinishHouseInteriors_BarrelMinish.bin", - "start": 1268480, - "size": 60, - "type": "exit_list" - }, - { - "path": "exit_lists/gExitList_MinishHouseInteriors_NULL1.bin", - "start": 1268540, - "size": 40, - "type": "exit_list" - }, - { - "path": "exit_lists/gExitList_MinishHouseInteriors_NULL2.bin", - "start": 1268580, - "size": 40, - "type": "exit_list" - }, - { - "path": "exit_lists/gExitList_MinishHouseInteriors_MelariMinesSouthwest.bin", - "start": 1268620, - "size": 40, - "type": "exit_list" - }, - { - "path": "exit_lists/gExitList_MinishHouseInteriors_MelariMinesSoutheast.bin", - "start": 1268660, - "size": 40, - "type": "exit_list" - }, - { - "path": "exit_lists/gExitList_MinishHouseInteriors_MelariMinesEast.bin", - "start": 1268700, - "size": 40, - "type": "exit_list" - }, - { - "path": "exit_lists/gExitList_MinishHouseInteriors_HyruleFieldSouthwest.bin", - "start": 1268740, - "size": 40, - "type": "exit_list" - }, - { - "path": "exit_lists/gExitList_MinishHouseInteriors_HyruleFieldOutsideLinksHouse.bin", - "start": 1268780, - "size": 40, - "type": "exit_list" - }, - { - "path": "exit_lists/gExitList_MinishHouseInteriors_NextToKnuckle.bin", - "start": 1268820, - "size": 40, - "type": "exit_list" - }, - { - "path": "exit_lists/gExitList_MinishHouseInteriors_Librari.bin", - "start": 1268860, - "size": 40, - "type": "exit_list" - }, - { - "path": "exit_lists/gExitList_MinishHouseInteriors_HyruleFieldExit.bin", - "start": 1268900, - "size": 40, - "type": "exit_list" - }, - { - "path": "exit_lists/gExitList_MinishHouseInteriors_HyruleTown.bin", - "start": 1268940, - "size": 40, - "type": "exit_list" - }, - { - "path": "exit_lists/gExitList_MinishHouseInteriors_MinishWoodsBomb.bin", - "start": 1268980, - "size": 40, - "type": "exit_list" - }, - { - "path": "exit_lists/gExitList_MinishHouseInteriors_LakeHyliaOcarina.bin", - "start": 1269020, - "size": 40, - "type": "exit_list" - }, - { - "path": "exit_lists/gExitList_OuterFortressOfWinds_EntranceHall.bin", - "start": 1269220, - "size": 140, - "type": "exit_list" - }, - { - "path": "exit_lists/gExitList_OuterFortressOfWinds_2F.bin", - "start": 1269360, - "size": 180, - "type": "exit_list" - }, - { - "path": "exit_lists/gExitList_OuterFortressOfWinds_3F.bin", - "start": 1269540, - "size": 180, - "type": "exit_list" - }, - { - "path": "exit_lists/gExitList_OuterFortressOfWinds_MoleMitts.bin", - "start": 1269720, - "size": 40, - "type": "exit_list" - }, - { - "path": "exit_lists/gExitList_OuterFortressOfWinds_SmallKey.bin", - "start": 1269760, - "size": 40, - "type": "exit_list" - }, - { - "path": "exit_lists/gExitList_HyliaDigCaves_North.bin", - "start": 1269820, - "size": 80, - "type": "exit_list" - }, - { - "path": "exit_lists/gExitList_VeilFallsTop_Main.bin", - "start": 1269920, - "size": 40, - "type": "exit_list" - }, - { - "path": "exit_lists/gExitList_HouseInteriors2_Stranger.bin", - "start": 1269964, - "size": 40, - "type": "exit_list" - }, - { - "path": "exit_lists/gExitList_HouseInteriors2_WestOracle.bin", - "start": 1270004, - "size": 40, - "type": "exit_list" - }, - { - "path": "exit_lists/gExitList_HouseInteriors2_2.bin", - "start": 1270044, - "size": 40, - "type": "exit_list" - }, - { - "path": "exit_lists/gExitList_HouseInteriors2_3.bin", - "start": 1270084, - "size": 40, - "type": "exit_list" - }, - { - "path": "exit_lists/gExitList_HouseInteriors2_DrLeft.bin", - "start": 1270124, - "size": 40, - "type": "exit_list" - }, - { - "path": "exit_lists/gExitList_HouseInteriors2_NULL1.bin", - "start": 1270164, - "size": 40, - "type": "exit_list" - }, - { - "path": "exit_lists/gExitList_HouseInteriors2_Romio.bin", - "start": 1270204, - "size": 40, - "type": "exit_list" - }, - { - "path": "exit_lists/gExitList_HouseInteriors2_Julietta.bin", - "start": 1270244, - "size": 40, - "type": "exit_list" - }, - { - "path": "exit_lists/gExitList_HouseInteriors2_Percy.bin", - "start": 1270284, - "size": 40, - "type": "exit_list" - }, - { - "path": "exit_lists/gExitList_HouseInteriors2_EastOracle.bin", - "start": 1270324, - "size": 40, - "type": "exit_list" - }, - { - "path": "exit_lists/gExitList_HouseInteriors2_A.bin", - "start": 1270364, - "size": 40, - "type": "exit_list" - }, - { - "path": "exit_lists/gExitList_HouseInteriors2_B.bin", - "start": 1270404, - "size": 40, - "type": "exit_list" - }, - { - "path": "exit_lists/gExitList_HouseInteriors2_Cucco.bin", - "start": 1270444, - "size": 40, - "type": "exit_list" - }, - { - "path": "exit_lists/gExitList_HouseInteriors2_LinksHouseEntrance.bin", - "start": 1270484, - "size": 60, - "type": "exit_list" - }, - { - "path": "exit_lists/gExitList_HouseInteriors2_Dampe.bin", - "start": 1270544, - "size": 40, - "type": "exit_list" - }, - { - "path": "exit_lists/gExitList_HouseInteriors2_NULL2.bin", - "start": 1270584, - "size": 20, - "type": "exit_list" - }, - { - "path": "exit_lists/gExitList_HouseInteriors2_Stockwell.bin", - "start": 1270604, - "size": 40, - "type": "exit_list" - }, - { - "path": "exit_lists/gExitList_HouseInteriors2_LinksHouseBedroom.bin", - "start": 1270644, - "size": 40, - "type": "exit_list" - }, - { - "path": "exit_lists/gExitList_HouseInteriors4_Carpenter.bin", - "start": 1270876, - "size": 40, - "type": "exit_list" - }, - { - "path": "exit_lists/gExitList_HouseInteriors4_Swiftblade.bin", - "start": 1270916, - "size": 40, - "type": "exit_list" - }, - { - "path": "exit_lists/gExitList_HouseInteriors4_RanchHouseWest.bin", - "start": 1270956, - "size": 40, - "type": "exit_list" - }, - { - "path": "exit_lists/gExitList_HouseInteriors4_RanchHouseEast.bin", - "start": 1270996, - "size": 40, - "type": "exit_list" - }, - { - "path": "exit_lists/gExitList_HouseInteriors4_FarmHouse.bin", - "start": 1271036, - "size": 40, - "type": "exit_list" - }, - { - "path": "exit_lists/gExitList_HouseInteriors4_Mayor.bin", - "start": 1271076, - "size": 40, - "type": "exit_list" - }, - { - "path": "exit_lists/gExitList_GreatFairies_Graveyard.bin", - "start": 1271180, - "size": 40, - "type": "exit_list" - }, - { - "path": "exit_lists/gExitList_GreatFairies_MinishWoods.bin", - "start": 1271220, - "size": 40, - "type": "exit_list" - }, - { - "path": "exit_lists/gExitList_GreatFairies_MtCrenel.bin", - "start": 1271260, - "size": 40, - "type": "exit_list" - }, - { - "path": "exit_lists/gExitList_HouseInteriors3_StockwellShop.bin", - "start": 1271316, - "size": 40, - "type": "exit_list" - }, - { - "path": "exit_lists/gExitList_HouseInteriors3_Cafe.bin", - "start": 1271356, - "size": 40, - "type": "exit_list" - }, - { - "path": "exit_lists/gExitList_HouseInteriors3_RemShoeShop.bin", - "start": 1271396, - "size": 40, - "type": "exit_list" - }, - { - "path": "exit_lists/gExitList_HouseInteriors3_Bakery.bin", - "start": 1271436, - "size": 40, - "type": "exit_list" - }, - { - "path": "exit_lists/gExitList_HouseInteriors3_Simon.bin", - "start": 1271476, - "size": 40, - "type": "exit_list" - }, - { - "path": "exit_lists/gExitList_HouseInteriors3_FigurineHouse.bin", - "start": 1271516, - "size": 60, - "type": "exit_list" - }, - { - "path": "exit_lists/gExitList_HouseInteriors3_BorlovEntrance.bin", - "start": 1271576, - "size": 60, - "type": "exit_list" - }, - { - "path": "exit_lists/gExitList_HouseInteriors3_Carlov.bin", - "start": 1271636, - "size": 40, - "type": "exit_list" - }, - { - "path": "exit_lists/gExitList_HouseInteriors3_Borlov.bin", - "start": 1271676, - "size": 40, - "type": "exit_list" - }, - { - "path": "exit_lists/gExitList_HouseInteriors1_Mayor.bin", - "start": 1271780, - "size": 60, - "type": "exit_list" - }, - { - "path": "exit_lists/gExitList_HouseInteriors1_PostOffice.bin", - "start": 1271840, - "size": 40, - "type": "exit_list" - }, - { - "path": "exit_lists/gExitList_HouseInteriors1_Library2F.bin", - "start": 1271880, - "size": 60, - "type": "exit_list" - }, - { - "path": "exit_lists/gExitList_HouseInteriors1_Library1F.bin", - "start": 1271940, - "size": 60, - "type": "exit_list" - }, - { - "path": "exit_lists/gExitList_HouseInteriors1_Inn1F.bin", - "start": 1272000, - "size": 120, - "type": "exit_list" - }, - { - "path": "exit_lists/gExitList_HouseInteriors1_InnWestRoom.bin", - "start": 1272120, - "size": 40, - "type": "exit_list" - }, - { - "path": "exit_lists/gExitList_HouseInteriors1_InnMiddleRoom.bin", - "start": 1272160, - "size": 40, - "type": "exit_list" - }, - { - "path": "exit_lists/gExitList_HouseInteriors1_InnEastRoom.bin", - "start": 1272200, - "size": 40, - "type": "exit_list" - }, - { - "path": "exit_lists/gExitList_HouseInteriors1_InnWest2F.bin", - "start": 1272240, - "size": 40, - "type": "exit_list" - }, - { - "path": "exit_lists/gExitList_HouseInteriors1_InnEast2F.bin", - "start": 1272280, - "size": 60, - "type": "exit_list" - }, - { - "path": "exit_lists/gExitList_HouseInteriors1_SchoolWest.bin", - "start": 1272340, - "size": 60, - "type": "exit_list" - }, - { - "path": "exit_lists/gExitList_HouseInteriors1_SchoolEast.bin", - "start": 1272400, - "size": 40, - "type": "exit_list" - }, - { - "path": "exit_lists/gExitList_TreeInteriors_WitchHut.bin", - "start": 1272568, - "size": 40, - "type": "exit_list" - }, - { - "path": "exit_lists/gExitList_TreeInteriors_StairsToCarlov.bin", - "start": 1272608, - "size": 60, - "type": "exit_list" - }, - { - "path": "exit_lists/gExitList_TreeInteriors_PercysTreehouse.bin", - "start": 1272668, - "size": 40, - "type": "exit_list" - }, - { - "path": "exit_lists/gExitList_TreeInteriors_HeartPiece.bin", - "start": 1272708, - "size": 40, - "type": "exit_list" - }, - { - "path": "exit_lists/gExitList_TreeInteriors_StairsToBladeBrother.bin", - "start": 1272748, - "size": 60, - "type": "exit_list" - }, - { - "path": "exit_lists/gExitList_TreeInteriors_14.bin", - "start": 1272808, - "size": 40, - "type": "exit_list" - }, - { - "path": "exit_lists/gExitList_TreeInteriors_BoomerangNorthwest.bin", - "start": 1272848, - "size": 60, - "type": "exit_list" - }, - { - "path": "exit_lists/gExitList_TreeInteriors_BoomerangNortheast.bin", - "start": 1272908, - "size": 60, - "type": "exit_list" - }, - { - "path": "exit_lists/gExitList_TreeInteriors_BoomerangSouthwest.bin", - "start": 1272968, - "size": 60, - "type": "exit_list" - }, - { - "path": "exit_lists/gExitList_TreeInteriors_BoomerangSoutheast.bin", - "start": 1273028, - "size": 60, - "type": "exit_list" - }, - { - "path": "exit_lists/gExitList_TreeInteriors_HeartPieceSouthwestField.bin", - "start": 1273088, - "size": 40, - "type": "exit_list" - }, - { - "path": "exit_lists/gExitList_TreeInteriors_StairsToFairyFountain.bin", - "start": 1273128, - "size": 60, - "type": "exit_list" - }, - { - "path": "exit_lists/gExitList_TreeInteriors_StairsToWalletFairy.bin", - "start": 1273188, - "size": 60, - "type": "exit_list" - }, - { - "path": "exit_lists/gExitList_TreeInteriors_1C.bin", - "start": 1273248, - "size": 40, - "type": "exit_list" - }, - { - "path": "exit_lists/gExitList_TreeInteriors_StairsToBusinessScrub.bin", - "start": 1273288, - "size": 60, - "type": "exit_list" - }, - { - "path": "exit_lists/gExitList_TreeInteriors_1E.bin", - "start": 1273348, - "size": 20, - "type": "exit_list" - }, - { - "path": "exit_lists/gExitList_TreeInteriors_1F.bin", - "start": 1273368, - "size": 40, - "type": "exit_list" - }, - { - "path": "exit_lists/gExitList_Dojos_Grayblade.bin", - "start": 1273536, - "size": 40, - "type": "exit_list" - }, - { - "path": "exit_lists/gExitList_Dojos_Swiftblade.bin", - "start": 1273576, - "size": 40, - "type": "exit_list" - }, - { - "path": "exit_lists/gExitList_Dojos_Waveblade.bin", - "start": 1273616, - "size": 40, - "type": "exit_list" - }, - { - "path": "exit_lists/gExitList_Dojos_ToGrimblade.bin", - "start": 1273656, - "size": 40, - "type": "exit_list" - }, - { - "path": "exit_lists/gExitList_Dojos_ToSplitblade.bin", - "start": 1273696, - "size": 40, - "type": "exit_list" - }, - { - "path": "exit_lists/gExitList_Dojos_ToGreatblade.bin", - "start": 1273736, - "size": 40, - "type": "exit_list" - }, - { - "path": "exit_lists/gExitList_Dojos_ToScarblade.bin", - "start": 1273776, - "size": 40, - "type": "exit_list" - }, - { - "path": "exit_lists/gExitList_MinishCracks_LonLonRanchNorth.bin", - "start": 1273880, - "size": 40, - "type": "exit_list" - }, - { - "path": "exit_lists/gExitList_MinishCracks_LakeHyliaEast.bin", - "start": 1273920, - "size": 40, - "type": "exit_list" - }, - { - "path": "exit_lists/gExitList_MinishCracks_HyruleCastleGarden.bin", - "start": 1273960, - "size": 40, - "type": "exit_list" - }, - { - "path": "exit_lists/gExitList_MinishCracks_MtCrenel.bin", - "start": 1274000, - "size": 40, - "type": "exit_list" - }, - { - "path": "exit_lists/gExitList_MinishCracks_EastHyruleCastle.bin", - "start": 1274040, - "size": 40, - "type": "exit_list" - }, - { - "path": "exit_lists/gExitList_MinishCracks_5.bin", - "start": 1274080, - "size": 20, - "type": "exit_list" - }, - { - "path": "exit_lists/gExitList_MinishCracks_CastleWildsBowHole.bin", - "start": 1274100, - "size": 40, - "type": "exit_list" - }, - { - "path": "exit_lists/gExitList_MinishCracks_RuinsEntrance.bin", - "start": 1274140, - "size": 40, - "type": "exit_list" - }, - { - "path": "exit_lists/gExitList_MinishCracks_MinishWoodsSouth.bin", - "start": 1274180, - "size": 40, - "type": "exit_list" - }, - { - "path": "exit_lists/gExitList_MinishCracks_CastorWildsNorth.bin", - "start": 1274220, - "size": 40, - "type": "exit_list" - }, - { - "path": "exit_lists/gExitList_MinishCracks_CastorWildsWest.bin", - "start": 1274260, - "size": 40, - "type": "exit_list" - }, - { - "path": "exit_lists/gExitList_MinishCracks_CastorWildsMiddle.bin", - "start": 1274300, - "size": 40, - "type": "exit_list" - }, - { - "path": "exit_lists/gExitList_MinishCracks_RuinsTektite.bin", - "start": 1274340, - "size": 40, - "type": "exit_list" - }, - { - "path": "exit_lists/gExitList_MinishCracks_CastorWildsNextToBow.bin", - "start": 1274380, - "size": 40, - "type": "exit_list" - }, - { - "path": "exit_lists/gExitList_MinishCracks_11.bin", - "start": 1274420, - "size": 20, - "type": "exit_list" - }, - { - "path": "exit_lists/gExitList_CrenelCaves_BlockPushing.bin", - "start": 1274536, - "size": 100, - "type": "exit_list" - }, - { - "path": "exit_lists/gExitList_CrenelCaves_PillarCave.bin", - "start": 1274636, - "size": 60, - "type": "exit_list" - }, - { - "path": "exit_lists/gExitList_CrenelCaves_BridgeSwitch.bin", - "start": 1274696, - "size": 60, - "type": "exit_list" - }, - { - "path": "exit_lists/gExitList_CrenelCaves_ExitToMines.bin", - "start": 1274756, - "size": 60, - "type": "exit_list" - }, - { - "path": "exit_lists/gExitList_CrenelCaves_GripRing.bin", - "start": 1274816, - "size": 40, - "type": "exit_list" - }, - { - "path": "exit_lists/gExitList_CrenelCaves_FairyFountain.bin", - "start": 1274856, - "size": 40, - "type": "exit_list" - }, - { - "path": "exit_lists/gExitList_CrenelCaves_SpinyChuPuzzle.bin", - "start": 1274896, - "size": 60, - "type": "exit_list" - }, - { - "path": "exit_lists/gExitList_CrenelCaves_ChuchuPotChest.bin", - "start": 1274956, - "size": 60, - "type": "exit_list" - }, - { - "path": "exit_lists/gExitList_CrenelCaves_WaterHeartPiece.bin", - "start": 1275016, - "size": 40, - "type": "exit_list" - }, - { - "path": "exit_lists/gExitList_CrenelCaves_RupeeFairyFountain.bin", - "start": 1275056, - "size": 40, - "type": "exit_list" - }, - { - "path": "exit_lists/gExitList_CrenelCaves_HelmasaurHallway.bin", - "start": 1275096, - "size": 60, - "type": "exit_list" - }, - { - "path": "exit_lists/gExitList_CrenelCaves_MushroomKeese.bin", - "start": 1275156, - "size": 60, - "type": "exit_list" - }, - { - "path": "exit_lists/gExitList_CrenelCaves_LadderToGreenWater.bin", - "start": 1275216, - "size": 60, - "type": "exit_list" - }, - { - "path": "exit_lists/gExitList_CrenelCaves_BombBusinessScrub.bin", - "start": 1275276, - "size": 40, - "type": "exit_list" - }, - { - "path": "exit_lists/gExitList_CrenelCaves_Hermit.bin", - "start": 1275316, - "size": 40, - "type": "exit_list" - }, - { - "path": "exit_lists/gExitList_CrenelCaves_HintScrub.bin", - "start": 1275356, - "size": 40, - "type": "exit_list" - }, - { - "path": "exit_lists/gExitList_CrenelCaves_ToGrayblade.bin", - "start": 1275396, - "size": 60, - "type": "exit_list" - }, - { - "path": "exit_lists/gExitList_CastorCaves_South.bin", - "start": 1275524, - "size": 40, - "type": "exit_list" - }, - { - "path": "exit_lists/gExitList_CastorCaves_North.bin", - "start": 1275564, - "size": 60, - "type": "exit_list" - }, - { - "path": "exit_lists/gExitList_CastorCaves_WindRuins.bin", - "start": 1275624, - "size": 40, - "type": "exit_list" - }, - { - "path": "exit_lists/gExitList_CastorCaves_Darknut.bin", - "start": 1275664, - "size": 60, - "type": "exit_list" - }, - { - "path": "exit_lists/gExitList_CastorCaves_HeartPiece.bin", - "start": 1275724, - "size": 40, - "type": "exit_list" - }, - { - "path": "exit_lists/gExitList_CastorDarknut_Main.bin", - "start": 1275796, - "size": 20, - "type": "exit_list" - }, - { - "path": "exit_lists/gExitList_CastorDarknut_Hall.bin", - "start": 1275816, - "size": 40, - "type": "exit_list" - }, - { - "path": "exit_lists/gExitList_ArmosInteriors_RuinsEntranceNorth.bin", - "start": 1275872, - "size": 40, - "type": "exit_list" - }, - { - "path": "exit_lists/gExitList_ArmosInteriors_RuinsEntranceSouth.bin", - "start": 1275912, - "size": 40, - "type": "exit_list" - }, - { - "path": "exit_lists/gExitList_ArmosInteriors_RuinsLeft.bin", - "start": 1275952, - "size": 40, - "type": "exit_list" - }, - { - "path": "exit_lists/gExitList_ArmosInteriors_RuinsMiddleLeft.bin", - "start": 1275992, - "size": 40, - "type": "exit_list" - }, - { - "path": "exit_lists/gExitList_ArmosInteriors_RuinsMiddleRight.bin", - "start": 1276032, - "size": 40, - "type": "exit_list" - }, - { - "path": "exit_lists/gExitList_ArmosInteriors_RuinsRight.bin", - "start": 1276072, - "size": 40, - "type": "exit_list" - }, - { - "path": "exit_lists/gExitList_ArmosInteriors_6.bin", - "start": 1276112, - "size": 40, - "type": "exit_list" - }, - { - "path": "exit_lists/gExitList_ArmosInteriors_RuinsGrassPath.bin", - "start": 1276152, - "size": 40, - "type": "exit_list" - }, - { - "path": "exit_lists/gExitList_ArmosInteriors_8.bin", - "start": 1276192, - "size": 40, - "type": "exit_list" - }, - { - "path": "exit_lists/gExitList_ArmosInteriors_FortressOfWindsLeft.bin", - "start": 1276232, - "size": 40, - "type": "exit_list" - }, - { - "path": "exit_lists/gExitList_ArmosInteriors_FortressOfWindsRight.bin", - "start": 1276272, - "size": 40, - "type": "exit_list" - }, - { - "path": "exit_lists/gExitList_TownMinishHoles_MayorsHouse.bin", - "start": 1276356, - "size": 40, - "type": "exit_list" - }, - { - "path": "exit_lists/gExitList_TownMinishHoles_WestOracle.bin", - "start": 1276396, - "size": 40, - "type": "exit_list" - }, - { - "path": "exit_lists/gExitList_TownMinishHoles_DrLeft.bin", - "start": 1276436, - "size": 40, - "type": "exit_list" - }, - { - "path": "exit_lists/gExitList_TownMinishHoles_Carpenter.bin", - "start": 1276476, - "size": 40, - "type": "exit_list" - }, - { - "path": "exit_lists/gExitList_TownMinishHoles_Cafe.bin", - "start": 1276516, - "size": 40, - "type": "exit_list" - }, - { - "path": "exit_lists/gExitList_TownMinishHoles_LibraryBookshelf.bin", - "start": 1276556, - "size": 80, - "type": "exit_list" - }, - { - "path": "exit_lists/gExitList_TownMinishHoles_LibrariBookHouse.bin", - "start": 1276636, - "size": 40, - "type": "exit_list" - }, - { - "path": "exit_lists/gExitList_TownMinishHoles_RemShoeShop.bin", - "start": 1276676, - "size": 40, - "type": "exit_list" - }, - { - "path": "exit_lists/gExitList_MinishRafters_Cafe.bin", - "start": 1276796, - "size": 60, - "type": "exit_list" - }, - { - "path": "exit_lists/gExitList_MinishRafters_Stockwell.bin", - "start": 1276856, - "size": 60, - "type": "exit_list" - }, - { - "path": "exit_lists/gExitList_MinishRafters_DrLeft.bin", - "start": 1276916, - "size": 40, - "type": "exit_list" - }, - { - "path": "exit_lists/gExitList_MinishRafters_Bakery.bin", - "start": 1276956, - "size": 60, - "type": "exit_list" - }, - { - "path": "exit_lists/gExitList_GoronCave_StairsToCave.bin", - "start": 1277032, - "size": 60, - "type": "exit_list" - }, - { - "path": "exit_lists/gExitList_GoronCave_Main.bin", - "start": 1277092, - "size": 40, - "type": "exit_list" - }, - { - "path": "exit_lists/gExitList_WindTribeTower_Entrance.bin", - "start": 1277140, - "size": 60, - "type": "exit_list" - }, - { - "path": "exit_lists/gExitList_WindTribeTower_Floor2.bin", - "start": 1277200, - "size": 60, - "type": "exit_list" - }, - { - "path": "exit_lists/gExitList_WindTribeTower_Floor3.bin", - "start": 1277260, - "size": 60, - "type": "exit_list" - }, - { - "path": "exit_lists/gExitList_WindTribeTower_Floor4.bin", - "start": 1277320, - "size": 60, - "type": "exit_list" - }, - { - "path": "exit_lists/gExitList_WindTribeTowerRoof_Main.bin", - "start": 1277396, - "size": 40, - "type": "exit_list" - }, - { - "path": "exit_lists/gExitList_Caves_Boomerang.bin", - "start": 1277440, - "size": 120, - "type": "exit_list" - }, - { - "path": "exit_lists/gExitList_Caves_ToGraveyard.bin", - "start": 1277560, - "size": 100, - "type": "exit_list" - }, - { - "path": "exit_lists/gExitList_Caves_2.bin", - "start": 1277660, - "size": 40, - "type": "exit_list" - }, - { - "path": "exit_lists/gExitList_Caves_3.bin", - "start": 1277700, - "size": 20, - "type": "exit_list" - }, - { - "path": "exit_lists/gExitList_Caves_4.bin", - "start": 1277720, - "size": 20, - "type": "exit_list" - }, - { - "path": "exit_lists/gExitList_Caves_5.bin", - "start": 1277740, - "size": 20, - "type": "exit_list" - }, - { - "path": "exit_lists/gExitList_Caves_KeeseChest.bin", - "start": 1277760, - "size": 40, - "type": "exit_list" - }, - { - "path": "exit_lists/gExitList_Caves_FairyFountainTrilbyHighlands.bin", - "start": 1277800, - "size": 40, - "type": "exit_list" - }, - { - "path": "exit_lists/gExitList_Caves_FairyFountainLinksHouse.bin", - "start": 1277840, - "size": 40, - "type": "exit_list" - }, - { - "path": "exit_lists/gExitList_Caves_A.bin", - "start": 1277880, - "size": 20, - "type": "exit_list" - }, - { - "path": "exit_lists/gExitList_Caves_HyruleTownWaterfall.bin", - "start": 1277900, - "size": 40, - "type": "exit_list" - }, - { - "path": "exit_lists/gExitList_Caves_LonLonRanch.bin", - "start": 1277940, - "size": 60, - "type": "exit_list" - }, - { - "path": "exit_lists/gExitList_Caves_TrilbyHighlands.bin", - "start": 1278000, - "size": 60, - "type": "exit_list" - }, - { - "path": "exit_lists/gExitList_Caves_LonLonRanchWallet.bin", - "start": 1278060, - "size": 40, - "type": "exit_list" - }, - { - "path": "exit_lists/gExitList_Caves_RupeeLinksHouse.bin", - "start": 1278100, - "size": 40, - "type": "exit_list" - }, - { - "path": "exit_lists/gExitList_Caves_RupeeTrilbyHighlands.bin", - "start": 1278140, - "size": 40, - "type": "exit_list" - }, - { - "path": "exit_lists/gExitList_Caves_FairyFountainMoleMitts.bin", - "start": 1278180, - "size": 40, - "type": "exit_list" - }, - { - "path": "exit_lists/gExitList_Caves_KeeseChestSoutheastHyrule.bin", - "start": 1278220, - "size": 40, - "type": "exit_list" - }, - { - "path": "exit_lists/gExitList_Caves_BottleBusinessScrub.bin", - "start": 1278260, - "size": 20, - "type": "exit_list" - }, - { - "path": "exit_lists/gExitList_Caves_HeartPieceHallway.bin", - "start": 1278280, - "size": 60, - "type": "exit_list" - }, - { - "path": "exit_lists/gExitList_Caves_FairyFountainBoomerang.bin", - "start": 1278340, - "size": 40, - "type": "exit_list" - }, - { - "path": "exit_lists/gExitList_Caves_KinstoneBusinessScrub.bin", - "start": 1278380, - "size": 40, - "type": "exit_list" - }, - { - "path": "exit_lists/gExitList_VeilFallsCaves_Hallway2F.bin", - "start": 1278516, - "size": 80, - "type": "exit_list" - }, - { - "path": "exit_lists/gExitList_VeilFallsCaves_Hallway1F.bin", - "start": 1278596, - "size": 100, - "type": "exit_list" - }, - { - "path": "exit_lists/gExitList_VeilFallsCaves_Entrance.bin", - "start": 1278696, - "size": 60, - "type": "exit_list" - }, - { - "path": "exit_lists/gExitList_VeilFallsCaves_Exit.bin", - "start": 1278756, - "size": 60, - "type": "exit_list" - }, - { - "path": "exit_lists/gExitList_VeilFallsCaves_SecretChest.bin", - "start": 1278816, - "size": 40, - "type": "exit_list" - }, - { - "path": "exit_lists/gExitList_VeilFallsCaves_SecretStaircases.bin", - "start": 1278856, - "size": 60, - "type": "exit_list" - }, - { - "path": "exit_lists/gExitList_VeilFallsCaves_BlockPuzzle.bin", - "start": 1278916, - "size": 60, - "type": "exit_list" - }, - { - "path": "exit_lists/gExitList_VeilFallsCaves_RupeePath.bin", - "start": 1278976, - "size": 60, - "type": "exit_list" - }, - { - "path": "exit_lists/gExitList_VeilFallsCaves_HeartPiece.bin", - "start": 1279036, - "size": 40, - "type": "exit_list" - }, - { - "path": "exit_lists/gExitList_RoyalValleyGraves_HeartPiece.bin", - "start": 1279140, - "size": 40, - "type": "exit_list" - }, - { - "path": "exit_lists/gExitList_RoyalValleyGraves_Gina.bin", - "start": 1279180, - "size": 40, - "type": "exit_list" - }, - { - "path": "exit_lists/gExitList_MinishCaves_BeanPesto.bin", - "start": 1279228, - "size": 40, - "type": "exit_list" - }, - { - "path": "exit_lists/gExitList_MinishCaves_SoutheastWater1.bin", - "start": 1279268, - "size": 40, - "type": "exit_list" - }, - { - "path": "exit_lists/gExitList_MinishCaves_Ruins.bin", - "start": 1279308, - "size": 40, - "type": "exit_list" - }, - { - "path": "exit_lists/gExitList_MinishCaves_OutsideLinksHouse.bin", - "start": 1279348, - "size": 40, - "type": "exit_list" - }, - { - "path": "exit_lists/gExitList_MinishCaves_MinishWoodsNorth1.bin", - "start": 1279388, - "size": 40, - "type": "exit_list" - }, - { - "path": "exit_lists/gExitList_MinishCaves_LakeHyliaNorth.bin", - "start": 1279428, - "size": 40, - "type": "exit_list" - }, - { - "path": "exit_lists/gExitList_MinishCaves_LakeHyliaLibrari.bin", - "start": 1279468, - "size": 60, - "type": "exit_list" - }, - { - "path": "exit_lists/gExitList_MinishCaves_MinishWoodsSouthwest.bin", - "start": 1279528, - "size": 80, - "type": "exit_list" - }, - { - "path": "exit_lists/gExitList_CastleGardenMinishHoles_East.bin", - "start": 1279648, - "size": 40, - "type": "exit_list" - }, - { - "path": "exit_lists/gExitList_CastleGardenMinishHoles_West.bin", - "start": 1279688, - "size": 40, - "type": "exit_list" - }, - { - "path": "exit_lists/gExitList_37_0.bin", - "start": 1279736, - "size": 40, - "type": "exit_list" - }, - { - "path": "exit_lists/gExitList_37_1.bin", - "start": 1279776, - "size": 40, - "type": "exit_list" - }, - { - "path": "exit_lists/gExitList_HyruleTownUnderground_Main.bin", - "start": 1279824, - "size": 100, - "type": "exit_list" - }, - { - "path": "exit_lists/gExitList_HyruleTownUnderground_Well.bin", - "start": 1279924, - "size": 60, - "type": "exit_list" - }, - { - "path": "exit_lists/gExitList_HyruleTownMinishCaves_Entrance.bin", - "start": 1279992, - "size": 40, - "type": "exit_list" - }, - { - "path": "exit_lists/gExitList_HyruleTownMinishCaves_Entrance2.bin", - "start": 1280032, - "size": 40, - "type": "exit_list" - }, - { - "path": "exit_lists/gExitList_GardenFountains_East.bin", - "start": 1280168, - "size": 40, - "type": "exit_list" - }, - { - "path": "exit_lists/gExitList_GardenFountains_West.bin", - "start": 1280208, - "size": 40, - "type": "exit_list" - }, - { - "path": "exit_lists/gExitList_GreatFairies_Entrance.bin", - "start": 1280256, - "size": 40, - "type": "exit_list" - }, - { - "path": "exit_lists/gExitList_GreatFairies_Exit.bin", - "start": 1280296, - "size": 40, - "type": "exit_list" - }, - { - "path": "exit_lists/gExitList_DeepwoodShrine_StairsToB1.bin", - "variants": [ - "EU" - ], - "starts": { - "EU": 1277896 - }, - "size": 40, - "type": "exit_list" - }, - { - "path": "exit_lists/gExitList_DeepwoodShrine_StairsToB1.bin", - "variants": [ - "USA", - "JP", - "DEMO_USA", - "DEMO_JP" - ], - "start": 1280380, - "size": 40, - "type": "exit_list" - }, - { - "path": "exit_lists/gExitList_DeepwoodShrine_BluePortal.bin", - "variants": [ - "EU" - ], - "starts": { - "EU": 1277936 - }, - "size": 40, - "type": "exit_list" - }, - { - "path": "exit_lists/gExitList_DeepwoodShrine_BluePortal.bin", - "variants": [ - "USA", - "JP", - "DEMO_USA", - "DEMO_JP" - ], - "start": 1280420, - "size": 20, - "type": "exit_list" - }, - { - "path": "exit_lists/gExitList_DeepwoodShrine_Map.bin", - "variants": [ - "EU" - ], - "starts": { - "EU": 1277976 - }, - "size": 40, - "type": "exit_list" - }, - { - "path": "exit_lists/gExitList_DeepwoodShrine_Map.bin", - "variants": [ - "USA", - "JP", - "DEMO_USA", - "DEMO_JP" - ], - "start": 1280440, - "size": 20, - "type": "exit_list" - }, - { - "path": "exit_lists/gExitList_DeepwoodShrine_Button.bin", - "variants": [ - "EU" - ], - "starts": { - "EU": 1278016 - }, - "size": 40, - "type": "exit_list" - }, - { - "path": "exit_lists/gExitList_DeepwoodShrine_Button.bin", - "variants": [ - "USA", - "JP", - "DEMO_USA", - "DEMO_JP" - ], - "start": 1280460, - "size": 20, - "type": "exit_list" - }, - { - "path": "exit_lists/gExitList_DeepwoodShrine_Lever.bin", - "variants": [ - "EU" - ], - "starts": { - "EU": 1278056 - }, - "size": 40, - "type": "exit_list" - }, - { - "path": "exit_lists/gExitList_DeepwoodShrine_Lever.bin", - "variants": [ - "USA", - "JP", - "DEMO_USA", - "DEMO_JP" - ], - "start": 1280480, - "size": 20, - "type": "exit_list" - }, - { - "path": "exit_lists/gExitList_DeepwoodShrine_Barrel.bin", - "variants": [ - "EU" - ], - "starts": { - "EU": 1278096 - }, - "size": 180, - "type": "exit_list" - }, - { - "path": "exit_lists/gExitList_DeepwoodShrine_Barrel.bin", - "variants": [ - "USA", - "JP", - "DEMO_USA", - "DEMO_JP" - ], - "start": 1280500, - "size": 100, - "type": "exit_list" - }, - { - "offsets": { + "DEMO_USA": 2608, "EU": -2324 } }, - { - "path": "exit_lists/gExitList_DeepwoodShrine_Entrance.bin", - "start": 1280600, - "size": 80, - "type": "exit_list" - }, - { - "path": "exit_lists/gExitList_DeepwoodShrine_Compass.bin", - "start": 1280680, - "size": 40, - "type": "exit_list" - }, - { - "path": "exit_lists/gExitList_DeepwoodShrineBoss_Main.bin", - "start": 1280720, - "size": 40, - "type": "exit_list" - }, - { - "path": "exit_lists/gExitList_DeepwoodShrine_PreBoss.bin", - "start": 1280760, - "size": 80, - "type": "exit_list" - }, - { - "path": "exit_lists/gExitList_DeepwoodShrineEntry_Main.bin", - "start": 1280976, - "size": 100, - "type": "exit_list" - }, - { - "path": "exit_lists/gExitList_CaveOfFlames_AfterCane.bin", - "start": 1281080, - "size": 40, - "type": "exit_list" - }, - { - "path": "exit_lists/gExitList_CaveOfFlames_Entrance.bin", - "start": 1281120, - "size": 40, - "type": "exit_list" - }, - { - "path": "exit_lists/gExitList_CaveOfFlames_MainCart.bin", - "start": 1281160, - "size": 40, - "type": "exit_list" - }, - { - "path": "exit_lists/gExitList_CaveOfFlames_NorthEntrance.bin", - "start": 1281200, - "size": 40, - "type": "exit_list" - }, - { - "path": "exit_lists/gExitList_CaveOfFlames_MinishSpikes.bin", - "start": 1281240, - "size": 40, - "type": "exit_list" - }, - { - "path": "exit_lists/gExitList_CaveOfFlames_BeforeGleerok.bin", - "start": 1281280, - "size": 40, - "type": "exit_list" - }, - { - "path": "exit_lists/gExitList_CaveOfFlames_BossDoor.bin", - "start": 1281320, - "size": 40, - "type": "exit_list" - }, - { - "path": "exit_lists/gExitList_FortressOfWinds_BeforeMazaal.bin", - "start": 1281492, - "size": 40, - "type": "exit_list" - }, - { - "path": "exit_lists/gExitList_FortressOfWinds_EastKeyLever.bin", - "start": 1281532, - "size": 60, - "type": "exit_list" - }, - { - "path": "exit_lists/gExitList_FortressOfWinds_PitPlatforms.bin", - "start": 1281592, - "size": 40, - "type": "exit_list" - }, - { - "path": "exit_lists/gExitList_FortressOfWinds_WestKeyLever.bin", - "start": 1281632, - "size": 60, - "type": "exit_list" - }, - { - "path": "exit_lists/gExitList_FortressOfWinds_Mazaal.bin", - "start": 1281692, - "size": 40, - "type": "exit_list" - }, - { - "path": "exit_lists/gExitList_FortressOfWinds_Stalfos.bin", - "start": 1281732, - "size": 40, - "type": "exit_list" - }, - { - "path": "exit_lists/gExitList_FortressOfWinds_EntranceMoleMitts.bin", - "start": 1281772, - "size": 40, - "type": "exit_list" - }, - { - "path": "exit_lists/gExitList_FortressOfWinds_Main2F.bin", - "start": 1281812, - "size": 60, - "type": "exit_list" - }, - { - "path": "exit_lists/gExitList_FortressOfWinds_MinishHole.bin", - "start": 1281872, - "size": 40, - "type": "exit_list" - }, - { - "path": "exit_lists/gExitList_FortressOfWinds_BossKey.bin", - "start": 1281912, - "size": 40, - "type": "exit_list" - }, - { - "path": "exit_lists/gExitList_FortressOfWinds_WestStairs2F.bin", - "start": 1281952, - "size": 40, - "type": "exit_list" - }, - { - "path": "exit_lists/gExitList_FortressOfWinds_EastStairs2F.bin", - "start": 1281992, - "size": 60, - "type": "exit_list" - }, - { - "path": "exit_lists/gExitList_FortressOfWinds_WestStairs1F.bin", - "start": 1282052, - "size": 60, - "type": "exit_list" - }, - { - "path": "exit_lists/gExitList_FortressOfWinds_CenterStairs1F.bin", - "start": 1282112, - "size": 60, - "type": "exit_list" - }, - { - "path": "exit_lists/gExitList_FortressOfWinds_EastStairs1F.bin", - "start": 1282172, - "size": 60, - "type": "exit_list" - }, - { - "path": "exit_lists/gExitList_FortressOfWinds_Wizzrobe.bin", - "start": 1282232, - "size": 40, - "type": "exit_list" - }, - { - "path": "exit_lists/gExitList_FortressOfWinds_HeartPiece.bin", - "start": 1282272, - "size": 40, - "type": "exit_list" - }, - { - "path": "exit_lists/gExitList_FortressOfWindsTop_Main.bin", - "start": 1282472, - "size": 40, - "type": "exit_list" - }, - { - "path": "exit_lists/gExitList_InnerMazaal_Main.bin", - "start": 1282516, - "size": 40, - "type": "exit_list" - }, - { - "path": "exit_lists/gExitList_TempleOfDroplets_WestHole.bin", - "start": 1282564, - "size": 40, - "type": "exit_list" - }, - { - "path": "exit_lists/gExitList_TempleOfDroplets_EastHole.bin", - "start": 1282604, - "size": 40, - "type": "exit_list" - }, - { - "path": "exit_lists/gExitList_TempleOfDroplets_HoleToBlueChuchu.bin", - "start": 1282644, - "size": 60, - "type": "exit_list" - }, - { - "path": "exit_lists/gExitList_TempleOfDroplets_BigBlueChuchu.bin", - "start": 1282704, - "size": 40, - "type": "exit_list" - }, - { - "path": "exit_lists/gExitList_TempleOfDroplets_BigBlueChuchuKey.bin", - "start": 1282744, - "size": 40, - "type": "exit_list" - }, - { - "path": "exit_lists/gExitList_TempleOfDroplets_BossKey.bin", - "start": 1282784, - "size": 40, - "type": "exit_list" - }, - { - "path": "exit_lists/gExitList_TempleOfDroplets_NorthSmallKey.bin", - "start": 1282824, - "size": 40, - "type": "exit_list" - }, - { - "path": "exit_lists/gExitList_TempleOfDroplets_BlueChuchuKeyLever.bin", - "start": 1282864, - "size": 60, - "type": "exit_list" - }, - { - "path": "exit_lists/gExitList_TempleOfDroplets_Entrance.bin", - "start": 1282924, - "size": 40, - "type": "exit_list" - }, - { - "path": "exit_lists/gExitList_TempleOfDroplets_WaterfallNortheast.bin", - "start": 1282964, - "size": 40, - "type": "exit_list" - }, - { - "path": "exit_lists/gExitList_TempleOfDroplets_Element.bin", - "start": 1283004, - "size": 120, - "type": "exit_list" - }, - { - "path": "exit_lists/gExitList_TempleOfDroplets_IceCorner.bin", - "start": 1283124, - "size": 40, - "type": "exit_list" - }, - { - "path": "exit_lists/gExitList_TempleOfDroplets_BigOcto.bin", - "start": 1283164, - "size": 40, - "type": "exit_list" - }, - { - "path": "exit_lists/gExitList_TempleOfDroplets_NorthwestStairs.bin", - "start": 1283204, - "size": 40, - "type": "exit_list" - }, - { - "path": "exit_lists/gExitList_TempleOfDroplets_ScissorsMiniboss.bin", - "start": 1283244, - "size": 40, - "type": "exit_list" - }, - { - "path": "exit_lists/gExitList_TempleOfDroplets_WaterfallSouthwest.bin", - "start": 1283284, - "size": 40, - "type": "exit_list" - }, - { - "path": "exit_lists/gExitList_TempleOfDroplets_ToBigBlueChuchu.bin", - "start": 1283324, - "size": 60, - "type": "exit_list" - }, - { - "path": "exit_lists/gExitList_TempleOfDroplets_BlockCloneIceBridge.bin", - "start": 1283384, - "size": 40, - "type": "exit_list" - }, - { - "path": "exit_lists/gExitList_TempleOfDroplets_StairsToScissorsMiniboss.bin", - "start": 1283424, - "size": 40, - "type": "exit_list" - }, - { - "path": "exit_lists/gExitList_TempleOfDroplets_LilypadWestB2.bin", - "start": 1283464, - "size": 40, - "type": "exit_list" - }, - { - "path": "exit_lists/gExitList_TempleOfDroplets_CompassRoom.bin", - "start": 1283504, - "size": 40, - "type": "exit_list" - }, - { - "path": "exit_lists/gExitList_61_0.bin", - "start": 1283800, - "size": 60, - "type": "exit_list" - }, - { - "path": "exit_lists/gExitList_RoyalCrypt_WaterRope.bin", - "start": 1283864, - "size": 20, - "type": "exit_list" - }, - { - "path": "exit_lists/gExitList_RoyalCrypt_Gibdo.bin", - "start": 1283884, - "size": 40, - "type": "exit_list" - }, - { - "path": "exit_lists/gExitList_RoyalCrypt_KeyBlock.bin", - "start": 1283924, - "size": 60, - "type": "exit_list" - }, - { - "path": "exit_lists/gExitList_RoyalCrypt_MushroomPit.bin", - "start": 1283984, - "size": 40, - "type": "exit_list" - }, - { - "path": "exit_lists/gExitList_RoyalCrypt_Entrance.bin", - "start": 1284024, - "size": 40, - "type": "exit_list" - }, - { - "path": "exit_lists/gExitList_PalaceOfWinds_0.bin", - "start": 1284100, - "size": 40, - "type": "exit_list" - }, - { - "path": "exit_lists/gExitList_PalaceOfWinds_3.bin", - "start": 1284140, - "size": 40, - "type": "exit_list" - }, - { - "path": "exit_lists/gExitList_PalaceOfWinds_8.bin", - "start": 1284180, - "size": 40, - "type": "exit_list" - }, - { - "path": "exit_lists/gExitList_PalaceOfWinds_9.bin", - "start": 1284220, - "size": 40, - "type": "exit_list" - }, - { - "path": "exit_lists/gExitList_PalaceOfWinds_10.bin", - "start": 1284260, - "size": 40, - "type": "exit_list" - }, - { - "path": "exit_lists/gExitList_PalaceOfWinds_11.bin", - "start": 1284300, - "size": 60, - "type": "exit_list" - }, - { - "path": "exit_lists/gExitList_PalaceOfWinds_13.bin", - "start": 1284360, - "size": 60, - "type": "exit_list" - }, - { - "path": "exit_lists/gExitList_PalaceOfWinds_14.bin", - "start": 1284420, - "size": 60, - "type": "exit_list" - }, - { - "path": "exit_lists/gExitList_PalaceOfWinds_16.bin", - "start": 1284480, - "size": 40, - "type": "exit_list" - }, - { - "path": "exit_lists/gExitList_PalaceOfWinds_18.bin", - "start": 1284520, - "size": 40, - "type": "exit_list" - }, - { - "path": "exit_lists/gExitList_PalaceOfWinds_21.bin", - "start": 1284560, - "size": 100, - "type": "exit_list" - }, - { - "path": "exit_lists/gExitList_PalaceOfWinds_23.bin", - "start": 1284660, - "size": 40, - "type": "exit_list" - }, - { - "path": "exit_lists/gExitList_PalaceOfWinds_26.bin", - "start": 1284700, - "size": 40, - "type": "exit_list" - }, - { - "path": "exit_lists/gExitList_PalaceOfWinds_30.bin", - "start": 1284740, - "size": 40, - "type": "exit_list" - }, - { - "path": "exit_lists/gExitList_PalaceOfWinds_32.bin", - "start": 1284780, - "size": 80, - "type": "exit_list" - }, - { - "path": "exit_lists/gExitList_PalaceOfWinds_35.bin", - "start": 1284860, - "size": 40, - "type": "exit_list" - }, - { - "path": "exit_lists/gExitList_PalaceOfWinds_36.bin", - "start": 1284900, - "size": 40, - "type": "exit_list" - }, - { - "path": "exit_lists/gExitList_PalaceOfWinds_40.bin", - "start": 1284940, - "size": 60, - "type": "exit_list" - }, - { - "path": "exit_lists/gExitList_PalaceOfWinds_42.bin", - "start": 1285000, - "size": 60, - "type": "exit_list" - }, - { - "path": "exit_lists/gExitList_PalaceOfWinds_47.bin", - "start": 1285060, - "size": 40, - "type": "exit_list" - }, - { - "path": "exit_lists/gExitList_PalaceOfWinds_50.bin", - "start": 1285100, - "size": 60, - "type": "exit_list" - }, - { - "path": "exit_lists/gExitList_DarkHyruleCastle_0.bin", - "start": 1285388, - "size": 80, - "type": "exit_list" - }, - { - "path": "exit_lists/gExitList_DarkHyruleCastle_1.bin", - "start": 1285468, - "size": 40, - "type": "exit_list" - }, - { - "path": "exit_lists/gExitList_DarkHyruleCastle_2.bin", - "start": 1285508, - "size": 40, - "type": "exit_list" - }, - { - "path": "exit_lists/gExitList_DarkHyruleCastle_3.bin", - "start": 1285548, - "size": 40, - "type": "exit_list" - }, - { - "path": "exit_lists/gExitList_DarkHyruleCastle_4.bin", - "start": 1285588, - "size": 40, - "type": "exit_list" - }, - { - "path": "exit_lists/gExitList_DarkHyruleCastle_5.bin", - "start": 1285628, - "size": 60, - "type": "exit_list" - }, - { - "path": "exit_lists/gExitList_DarkHyruleCastle_6.bin", - "start": 1285688, - "size": 60, - "type": "exit_list" - }, - { - "path": "exit_lists/gExitList_DarkHyruleCastle_7.bin", - "start": 1285748, - "size": 80, - "type": "exit_list" - }, - { - "path": "exit_lists/gExitList_DarkHyruleCastle_13.bin", - "start": 1285828, - "size": 80, - "type": "exit_list" - }, - { - "path": "exit_lists/gExitList_DarkHyruleCastle_18.bin", - "start": 1285908, - "size": 60, - "type": "exit_list" - }, - { - "path": "exit_lists/gExitList_DarkHyruleCastle_20.bin", - "start": 1285968, - "size": 40, - "type": "exit_list" - }, - { - "path": "exit_lists/gExitList_DarkHyruleCastle_23.bin", - "start": 1286008, - "size": 40, - "type": "exit_list" - }, - { - "path": "exit_lists/gExitList_DarkHyruleCastle_25.bin", - "start": 1286048, - "size": 80, - "type": "exit_list" - }, - { - "path": "exit_lists/gExitList_DarkHyruleCastle_26.bin", - "start": 1286128, - "size": 40, - "type": "exit_list" - }, - { - "path": "exit_lists/gExitList_DarkHyruleCastle_28.bin", - "start": 1286168, - "size": 40, - "type": "exit_list" - }, - { - "path": "exit_lists/gExitList_DarkHyruleCastle_29.bin", - "start": 1286208, - "size": 80, - "type": "exit_list" - }, - { - "path": "exit_lists/gExitList_DarkHyruleCastle_30.bin", - "start": 1286288, - "size": 40, - "type": "exit_list" - }, - { - "path": "exit_lists/gExitList_DarkHyruleCastle_31.bin", - "start": 1286328, - "size": 40, - "type": "exit_list" - }, - { - "path": "exit_lists/gExitList_DarkHyruleCastle_32.bin", - "start": 1286368, - "size": 40, - "type": "exit_list" - }, - { - "path": "exit_lists/gExitList_DarkHyruleCastle_33.bin", - "start": 1286408, - "size": 40, - "type": "exit_list" - }, - { - "path": "exit_lists/gExitList_DarkHyruleCastle_34.bin", - "start": 1286448, - "size": 40, - "type": "exit_list" - }, - { - "path": "exit_lists/gExitList_DarkHyruleCastle_43.bin", - "start": 1286488, - "size": 40, - "type": "exit_list" - }, - { - "path": "exit_lists/gExitList_DarkHyruleCastle_44.bin", - "start": 1286528, - "size": 40, - "type": "exit_list" - }, - { - "path": "exit_lists/gExitList_DarkHyruleCastle_45.bin", - "start": 1286568, - "size": 40, - "type": "exit_list" - }, - { - "path": "exit_lists/gExitList_DarkHyruleCastle_46.bin", - "start": 1286608, - "size": 40, - "type": "exit_list" - }, - { - "path": "exit_lists/gExitList_DarkHyruleCastle_47.bin", - "start": 1286648, - "size": 40, - "type": "exit_list" - }, - { - "path": "exit_lists/gExitList_DarkHyruleCastle_48.bin", - "start": 1286688, - "size": 40, - "type": "exit_list" - }, - { - "path": "exit_lists/gExitList_DarkHyruleCastle_55.bin", - "start": 1286728, - "size": 60, - "type": "exit_list" - }, - { - "path": "exit_lists/gExitList_DarkHyruleCastle_56.bin", - "start": 1286788, - "size": 40, - "type": "exit_list" - }, - { - "path": "exit_lists/gExitList_DarkHyruleCastleOutside_ZeldaStatuePlatform.bin", - "start": 1287104, - "size": 40, - "type": "exit_list" - }, - { - "path": "exit_lists/gExitList_DarkHyruleCastleOutside_Garden.bin", - "start": 1287144, - "size": 60, - "type": "exit_list" - }, - { - "path": "exit_lists/gExitList_DarkHyruleCastleOutside_OutsideNorthwest.bin", - "start": 1287204, - "size": 40, - "type": "exit_list" - }, - { - "path": "exit_lists/gExitList_DarkHyruleCastleOutside_OutsideNortheast.bin", - "start": 1287244, - "size": 40, - "type": "exit_list" - }, - { - "path": "exit_lists/gExitList_DarkHyruleCastleOutside_OutsideEast.bin", - "start": 1287284, - "size": 60, - "type": "exit_list" - }, - { - "path": "exit_lists/gExitList_DarkHyruleCastleOutside_OutsideSouthwest.bin", - "start": 1287344, - "size": 40, - "type": "exit_list" - }, - { - "path": "exit_lists/gExitList_DarkHyruleCastleOutside_OutsideSouth.bin", - "start": 1287384, - "size": 60, - "type": "exit_list" - }, - { - "path": "exit_lists/gExitList_DarkHyruleCastleOutside_OutsideSoutheast.bin", - "start": 1287444, - "size": 40, - "type": "exit_list" - }, - { - "path": "exit_lists/gExitList_VaatisArms_First.bin", - "start": 1287516, - "size": 40, - "type": "exit_list" - }, - { - "path": "exit_lists/gExitList_VaatisArms_Second.bin", - "start": 1287556, - "size": 40, - "type": "exit_list" - }, - { - "path": "exit_lists/gExitList_DarkHyruleCastleBridge_Main.bin", - "start": 1287604, - "size": 60, - "type": "exit_list" - }, - { - "path": "exit_lists/gExitList_HyruleCastle_0.bin", - "start": 1287668, - "size": 60, - "type": "exit_list" - }, - { - "path": "exit_lists/gExitList_HyruleCastle_1.bin", - "start": 1287728, - "size": 60, - "type": "exit_list" - }, - { - "path": "exit_lists/gExitList_HyruleCastle_3.bin", - "start": 1287788, - "size": 120, - "type": "exit_list" - }, - { - "path": "exit_lists/gExitList_SanctuaryEntrance_Main.bin", - "start": 1287940, - "size": 60, - "type": "exit_list" - }, - { - "path": "exit_lists/gExitList_Sanctuary_Hall.bin", - "start": 1288004, - "size": 40, - "type": "exit_list" - }, - { - "path": "data_08132B30/gUnk_0813A76C.bin", - "start": 1288044, - "size": 40 - }, - { - "path": "exit_lists/gExitList_Sanctuary_Main.bin", - "start": 1288084, - "size": 40, - "type": "exit_list" - }, - { - "path": "exit_lists/gExitList_Sanctuary_StainedGlass.bin", - "start": 1288124, - "size": 40, - "type": "exit_list" - }, - { - "offsets": { - "DEMO_USA": 2608 - } - }, { "path": "data_08132B30/gUnk_0813AA54.bin", "start": 1288788, diff --git a/assets/map.json b/assets/map.json index 7c9e9f3f..c5e40c33 100644 --- a/assets/map.json +++ b/assets/map.json @@ -2876,13 +2876,13 @@ "type": "map_layer1" }, { - "path": "tilesets/gAreaTileset_MinishPaths1_2_0.4bpp.lz", + "path": "tilesets/gAreaTileset_MinishPaths_2_0.4bpp.lz", "start": 4258544, "size": 7044, "type": "tileset" }, { - "path": "tilesets/gAreaTileset_MinishPaths1_2_1.4bpp.lz", + "path": "tilesets/gAreaTileset_MinishPaths_2_1.4bpp.lz", "start": 4265588, "size": 6917, "type": "tileset" @@ -2900,31 +2900,31 @@ "type": "metatiles_tile_types2" }, { - "path": "assets/gAreaRoomMap_MinishPaths1_0_0.bin", + "path": "assets/gAreaRoomMap_MinishPaths_0_0.bin", "start": 4276028, "size": 446, "type": "map_layer2" }, { - "path": "assets/gAreaRoomMap_MinishPaths1_1_0.bin", + "path": "assets/gAreaRoomMap_MinishPaths_1_0.bin", "start": 4276476, "size": 534, "type": "map_layer2" }, { - "path": "assets/gAreaRoomMap_MinishPaths1_2_0.bin", + "path": "assets/gAreaRoomMap_MinishPaths_2_0.bin", "start": 4277012, "size": 554, "type": "map_layer2" }, { - "path": "assets/gAreaRoomMap_MinishPaths1_3_0.bin", + "path": "assets/gAreaRoomMap_MinishPaths_3_0.bin", "start": 4277568, "size": 520, "type": "map_layer2" }, { - "path": "assets/gAreaRoomMap_MinishPaths1_4_0.bin", + "path": "assets/gAreaRoomMap_MinishPaths_4_0.bin", "start": 4278088, "size": 413, "type": "map_layer2" @@ -8022,49 +8022,49 @@ "type": "map_layer1" }, { - "path": "tilesets/gAreaTileset_PalaceOfWinds_0_0.4bpp.lz", + "path": "tilesets/gAreaTileset_PalaceOfWinds_GyorgTornado_0.4bpp.lz", "start": 5487180, "size": 9192, "type": "tileset" }, { - "path": "tilesets/gAreaTileset_PalaceOfWinds_0_1.4bpp.lz", + "path": "tilesets/gAreaTileset_PalaceOfWinds_GyorgTornado_1.4bpp.lz", "start": 5496372, "size": 8581, "type": "tileset" }, { - "path": "tilesets/gAreaTileset_PalaceOfWinds_0_2.4bpp.lz", + "path": "tilesets/gAreaTileset_PalaceOfWinds_GyorgTornado_2.4bpp.lz", "start": 5504956, "size": 7510, "type": "tileset" }, { - "path": "assets/gAreaMetatiles_PalaceOfWinds_0.bin", + "path": "assets/gAreaMetatiles_PalaceOfWinds_GyorgTornado.bin", "start": 5512468, "size": 7283, "type": "metatiles_tileset2" }, { - "path": "assets/gAreaMetatiles_PalaceOfWinds_1.bin", + "path": "assets/gAreaMetatiles_PalaceOfWinds_BossKey.bin", "start": 5519752, "size": 6372, "type": "metatiles_tileset1" }, { - "path": "assets/gAreaMetatiles_PalaceOfWinds_2.bin", + "path": "assets/gAreaMetatiles_PalaceOfWinds_BeforeBallAndChainSoldiers.bin", "start": 5526124, "size": 1228, "type": "metatiles_tile_types2" }, { - "path": "assets/gAreaMetatiles_PalaceOfWinds_3.bin", + "path": "assets/gAreaMetatiles_PalaceOfWinds_GyorgBossDoor.bin", "start": 5527352, "size": 1187, "type": "metatiles_tile_types1" }, { - "path": "assets/gAreaTileset_PalaceOfWinds_0_3.bin", + "path": "assets/gAreaTileset_PalaceOfWinds_GyorgTornado_3.bin", "start": 5528540, "size": 548, "type": "tileset_mapping3" @@ -8128,13 +8128,13 @@ "type": "tileset_mapping3" }, { - "path": "assets/gAreaRoomMap_PalaceOfWinds_0_0.bin", + "path": "assets/gAreaRoomMap_PalaceOfWinds_GyorgTornado_0.bin", "start": 5542308, "size": 829, "type": "map_layer2" }, { - "path": "assets/gAreaRoomMap_PalaceOfWinds_0_1.bin", + "path": "assets/gAreaRoomMap_PalaceOfWinds_GyorgTornado_1.bin", "start": 5543140, "size": 426, "type": "map_layer1" @@ -8146,13 +8146,13 @@ "type": "unknown" }, { - "path": "assets/gAreaRoomMap_PalaceOfWinds_1_0.bin", + "path": "assets/gAreaRoomMap_PalaceOfWinds_BossKey_0.bin", "start": 5543928, "size": 237, "type": "map_layer2" }, { - "path": "assets/gAreaRoomMap_PalaceOfWinds_1_1.bin", + "path": "assets/gAreaRoomMap_PalaceOfWinds_BossKey_1.bin", "start": 5544168, "size": 53, "type": "map_layer1" @@ -8164,13 +8164,13 @@ "type": "unknown" }, { - "path": "assets/gAreaRoomMap_PalaceOfWinds_2_0.bin", + "path": "assets/gAreaRoomMap_PalaceOfWinds_BeforeBallAndChainSoldiers_0.bin", "start": 5544264, "size": 344, "type": "map_layer2" }, { - "path": "assets/gAreaRoomMap_PalaceOfWinds_2_1.bin", + "path": "assets/gAreaRoomMap_PalaceOfWinds_BeforeBallAndChainSoldiers_1.bin", "start": 5544608, "size": 101, "type": "map_layer1" @@ -8182,13 +8182,13 @@ "type": "unknown" }, { - "path": "assets/gAreaRoomMap_PalaceOfWinds_3_0.bin", + "path": "assets/gAreaRoomMap_PalaceOfWinds_GyorgBossDoor_0.bin", "start": 5544768, "size": 582, "type": "map_layer2" }, { - "path": "assets/gAreaRoomMap_PalaceOfWinds_3_1.bin", + "path": "assets/gAreaRoomMap_PalaceOfWinds_GyorgBossDoor_1.bin", "start": 5545352, "size": 224, "type": "map_layer1" @@ -8200,13 +8200,13 @@ "type": "unknown" }, { - "path": "assets/gAreaRoomMap_PalaceOfWinds_4_0.bin", + "path": "assets/gAreaRoomMap_PalaceOfWinds_EastChestFromGyorgBossDoor_0.bin", "start": 5545696, "size": 201, "type": "map_layer2" }, { - "path": "assets/gAreaRoomMap_PalaceOfWinds_4_1.bin", + "path": "assets/gAreaRoomMap_PalaceOfWinds_EastChestFromGyorgBossDoor_1.bin", "start": 5545900, "size": 49, "type": "map_layer1" @@ -8218,13 +8218,13 @@ "type": "unknown" }, { - "path": "assets/gAreaRoomMap_PalaceOfWinds_5_0.bin", + "path": "assets/gAreaRoomMap_PalaceOfWinds_MoblinAndWizzrobeFight_0.bin", "start": 5545992, "size": 517, "type": "map_layer2" }, { - "path": "assets/gAreaRoomMap_PalaceOfWinds_5_1.bin", + "path": "assets/gAreaRoomMap_PalaceOfWinds_MoblinAndWizzrobeFight_1.bin", "start": 5546512, "size": 169, "type": "map_layer1" @@ -8236,13 +8236,13 @@ "type": "unknown" }, { - "path": "assets/gAreaRoomMap_PalaceOfWinds_6_0.bin", + "path": "assets/gAreaRoomMap_PalaceOfWinds_FourButtonStalfos_0.bin", "start": 5546804, "size": 493, "type": "map_layer2" }, { - "path": "assets/gAreaRoomMap_PalaceOfWinds_6_1.bin", + "path": "assets/gAreaRoomMap_PalaceOfWinds_FourButtonStalfos_1.bin", "start": 5547300, "size": 166, "type": "map_layer1" @@ -8254,13 +8254,13 @@ "type": "unknown" }, { - "path": "assets/gAreaRoomMap_PalaceOfWinds_7_0.bin", + "path": "assets/gAreaRoomMap_PalaceOfWinds_FanAndKeyToBossKey_0.bin", "start": 5547588, "size": 517, "type": "map_layer2" }, { - "path": "assets/gAreaRoomMap_PalaceOfWinds_7_1.bin", + "path": "assets/gAreaRoomMap_PalaceOfWinds_FanAndKeyToBossKey_1.bin", "start": 5548108, "size": 183, "type": "map_layer1" @@ -8272,13 +8272,13 @@ "type": "unknown" }, { - "path": "assets/gAreaRoomMap_PalaceOfWinds_8_0.bin", + "path": "assets/gAreaRoomMap_PalaceOfWinds_BallAndChainSoldiers_0.bin", "start": 5548412, "size": 387, "type": "map_layer2" }, { - "path": "assets/gAreaRoomMap_PalaceOfWinds_8_1.bin", + "path": "assets/gAreaRoomMap_PalaceOfWinds_BallAndChainSoldiers_1.bin", "start": 5548800, "size": 186, "type": "map_layer1" @@ -8290,13 +8290,13 @@ "type": "unknown" }, { - "path": "assets/gAreaRoomMap_PalaceOfWinds_9_0.bin", + "path": "assets/gAreaRoomMap_PalaceOfWinds_BombarossaPath_0.bin", "start": 5549068, "size": 214, "type": "map_layer2" }, { - "path": "assets/gAreaRoomMap_PalaceOfWinds_9_1.bin", + "path": "assets/gAreaRoomMap_PalaceOfWinds_BombarossaPath_1.bin", "start": 5549284, "size": 60, "type": "map_layer1" @@ -8308,13 +8308,13 @@ "type": "unknown" }, { - "path": "assets/gAreaRoomMap_PalaceOfWinds_10_0.bin", + "path": "assets/gAreaRoomMap_PalaceOfWinds_HoleToDarknut_0.bin", "start": 5549384, "size": 253, "type": "map_layer2" }, { - "path": "assets/gAreaRoomMap_PalaceOfWinds_10_1.bin", + "path": "assets/gAreaRoomMap_PalaceOfWinds_HoleToDarknut_1.bin", "start": 5549640, "size": 127, "type": "map_layer1" @@ -8326,13 +8326,13 @@ "type": "unknown" }, { - "path": "assets/gAreaRoomMap_PalaceOfWinds_11_0.bin", + "path": "assets/gAreaRoomMap_PalaceOfWinds_ToBombarossaPath_0.bin", "start": 5549820, "size": 225, "type": "map_layer2" }, { - "path": "assets/gAreaRoomMap_PalaceOfWinds_11_1.bin", + "path": "assets/gAreaRoomMap_PalaceOfWinds_ToBombarossaPath_1.bin", "start": 5550048, "size": 81, "type": "map_layer1" @@ -8344,13 +8344,13 @@ "type": "unknown" }, { - "path": "assets/gAreaRoomMap_PalaceOfWinds_12_0.bin", + "path": "assets/gAreaRoomMap_PalaceOfWinds_DarknutMiniboss_0.bin", "start": 5550172, "size": 195, "type": "map_layer2" }, { - "path": "assets/gAreaRoomMap_PalaceOfWinds_12_1.bin", + "path": "assets/gAreaRoomMap_PalaceOfWinds_DarknutMiniboss_1.bin", "start": 5550368, "size": 64, "type": "map_layer1" @@ -8362,13 +8362,13 @@ "type": "unknown" }, { - "path": "assets/gAreaRoomMap_PalaceOfWinds_13_0.bin", + "path": "assets/gAreaRoomMap_PalaceOfWinds_BombWallInside_0.bin", "start": 5550496, "size": 221, "type": "map_layer2" }, { - "path": "assets/gAreaRoomMap_PalaceOfWinds_13_1.bin", + "path": "assets/gAreaRoomMap_PalaceOfWinds_BombWallInside_1.bin", "start": 5550720, "size": 83, "type": "map_layer1" @@ -8380,13 +8380,13 @@ "type": "unknown" }, { - "path": "assets/gAreaRoomMap_PalaceOfWinds_14_0.bin", + "path": "assets/gAreaRoomMap_PalaceOfWinds_BombWallOutside_0.bin", "start": 5550844, "size": 304, "type": "map_layer2" }, { - "path": "assets/gAreaRoomMap_PalaceOfWinds_14_1.bin", + "path": "assets/gAreaRoomMap_PalaceOfWinds_BombWallOutside_1.bin", "start": 5551148, "size": 89, "type": "map_layer1" @@ -8398,13 +8398,13 @@ "type": "unknown" }, { - "path": "assets/gAreaRoomMap_PalaceOfWinds_15_0.bin", + "path": "assets/gAreaRoomMap_PalaceOfWinds_CloudJumps_0.bin", "start": 5551320, "size": 582, "type": "map_layer2" }, { - "path": "assets/gAreaRoomMap_PalaceOfWinds_15_1.bin", + "path": "assets/gAreaRoomMap_PalaceOfWinds_CloudJumps_1.bin", "start": 5551904, "size": 321, "type": "map_layer1" @@ -8416,13 +8416,13 @@ "type": "unknown" }, { - "path": "assets/gAreaRoomMap_PalaceOfWinds_16_0.bin", + "path": "assets/gAreaRoomMap_PalaceOfWinds_BlockMazeToBossDoor_0.bin", "start": 5552468, "size": 817, "type": "map_layer2" }, { - "path": "assets/gAreaRoomMap_PalaceOfWinds_16_1.bin", + "path": "assets/gAreaRoomMap_PalaceOfWinds_BlockMazeToBossDoor_1.bin", "start": 5553288, "size": 334, "type": "map_layer1" @@ -8434,13 +8434,13 @@ "type": "unknown" }, { - "path": "assets/gAreaRoomMap_PalaceOfWinds_17_0.bin", + "path": "assets/gAreaRoomMap_PalaceOfWinds_CrackedFloorLakitu_0.bin", "start": 5553984, "size": 523, "type": "map_layer2" }, { - "path": "assets/gAreaRoomMap_PalaceOfWinds_17_1.bin", + "path": "assets/gAreaRoomMap_PalaceOfWinds_CrackedFloorLakitu_1.bin", "start": 5554508, "size": 147, "type": "map_layer1" @@ -8452,13 +8452,13 @@ "type": "unknown" }, { - "path": "assets/gAreaRoomMap_PalaceOfWinds_18_0.bin", + "path": "assets/gAreaRoomMap_PalaceOfWinds_HeartPieceBridge_0.bin", "start": 5554776, "size": 235, "type": "map_layer2" }, { - "path": "assets/gAreaRoomMap_PalaceOfWinds_18_1.bin", + "path": "assets/gAreaRoomMap_PalaceOfWinds_HeartPieceBridge_1.bin", "start": 5555012, "size": 116, "type": "map_layer1" @@ -8470,13 +8470,13 @@ "type": "unknown" }, { - "path": "assets/gAreaRoomMap_PalaceOfWinds_19_0.bin", + "path": "assets/gAreaRoomMap_PalaceOfWinds_FanBridge_0.bin", "start": 5555208, "size": 583, "type": "map_layer2" }, { - "path": "assets/gAreaRoomMap_PalaceOfWinds_19_1.bin", + "path": "assets/gAreaRoomMap_PalaceOfWinds_FanBridge_1.bin", "start": 5555792, "size": 295, "type": "map_layer1" @@ -8488,13 +8488,13 @@ "type": "unknown" }, { - "path": "assets/gAreaRoomMap_PalaceOfWinds_20_0.bin", + "path": "assets/gAreaRoomMap_PalaceOfWinds_ToFanBridge_0.bin", "start": 5556248, "size": 371, "type": "map_layer2" }, { - "path": "assets/gAreaRoomMap_PalaceOfWinds_20_1.bin", + "path": "assets/gAreaRoomMap_PalaceOfWinds_ToFanBridge_1.bin", "start": 5556620, "size": 79, "type": "map_layer1" @@ -8506,13 +8506,13 @@ "type": "unknown" }, { - "path": "assets/gAreaRoomMap_PalaceOfWinds_21_0.bin", + "path": "assets/gAreaRoomMap_PalaceOfWinds_RedWarpHall_0.bin", "start": 5556780, "size": 998, "type": "map_layer2" }, { - "path": "assets/gAreaRoomMap_PalaceOfWinds_21_1.bin", + "path": "assets/gAreaRoomMap_PalaceOfWinds_RedWarpHall_1.bin", "start": 5557780, "size": 329, "type": "map_layer1" @@ -8524,13 +8524,13 @@ "type": "unknown" }, { - "path": "assets/gAreaRoomMap_PalaceOfWinds_22_0.bin", + "path": "assets/gAreaRoomMap_PalaceOfWinds_PlatformCloneRide_0.bin", "start": 5558352, "size": 588, "type": "map_layer2" }, { - "path": "assets/gAreaRoomMap_PalaceOfWinds_22_1.bin", + "path": "assets/gAreaRoomMap_PalaceOfWinds_PlatformCloneRide_1.bin", "start": 5558940, "size": 301, "type": "map_layer1" @@ -8542,13 +8542,13 @@ "type": "unknown" }, { - "path": "assets/gAreaRoomMap_PalaceOfWinds_23_0.bin", + "path": "assets/gAreaRoomMap_PalaceOfWinds_PitCornerAfterKey_0.bin", "start": 5559404, "size": 207, "type": "map_layer2" }, { - "path": "assets/gAreaRoomMap_PalaceOfWinds_23_1.bin", + "path": "assets/gAreaRoomMap_PalaceOfWinds_PitCornerAfterKey_1.bin", "start": 5559612, "size": 83, "type": "map_layer1" @@ -8560,13 +8560,13 @@ "type": "unknown" }, { - "path": "assets/gAreaRoomMap_PalaceOfWinds_24_0.bin", + "path": "assets/gAreaRoomMap_PalaceOfWinds_CrowRide_0.bin", "start": 5559776, "size": 383, "type": "map_layer2" }, { - "path": "assets/gAreaRoomMap_PalaceOfWinds_24_1.bin", + "path": "assets/gAreaRoomMap_PalaceOfWinds_CrowRide_1.bin", "start": 5560160, "size": 198, "type": "map_layer1" @@ -8578,13 +8578,13 @@ "type": "unknown" }, { - "path": "assets/gAreaRoomMap_PalaceOfWinds_25_0.bin", + "path": "assets/gAreaRoomMap_PalaceOfWinds_GratePlatformRide_0.bin", "start": 5560520, "size": 425, "type": "map_layer2" }, { - "path": "assets/gAreaRoomMap_PalaceOfWinds_25_1.bin", + "path": "assets/gAreaRoomMap_PalaceOfWinds_GratePlatformRide_1.bin", "start": 5560948, "size": 264, "type": "map_layer1" @@ -8596,13 +8596,13 @@ "type": "unknown" }, { - "path": "assets/gAreaRoomMap_PalaceOfWinds_26_0.bin", + "path": "assets/gAreaRoomMap_PalaceOfWinds_PotPush_0.bin", "start": 5561372, "size": 620, "type": "map_layer2" }, { - "path": "assets/gAreaRoomMap_PalaceOfWinds_26_1.bin", + "path": "assets/gAreaRoomMap_PalaceOfWinds_PotPush_1.bin", "start": 5561992, "size": 302, "type": "map_layer1" @@ -8614,13 +8614,13 @@ "type": "unknown" }, { - "path": "assets/gAreaRoomMap_PalaceOfWinds_27_0.bin", + "path": "assets/gAreaRoomMap_PalaceOfWinds_FloormasterLever_0.bin", "start": 5562456, "size": 215, "type": "map_layer2" }, { - "path": "assets/gAreaRoomMap_PalaceOfWinds_27_1.bin", + "path": "assets/gAreaRoomMap_PalaceOfWinds_FloormasterLever_1.bin", "start": 5562672, "size": 97, "type": "map_layer1" @@ -8632,13 +8632,13 @@ "type": "unknown" }, { - "path": "assets/gAreaRoomMap_PalaceOfWinds_28_0.bin", + "path": "assets/gAreaRoomMap_PalaceOfWinds_Map_0.bin", "start": 5562812, "size": 232, "type": "map_layer2" }, { - "path": "assets/gAreaRoomMap_PalaceOfWinds_28_1.bin", + "path": "assets/gAreaRoomMap_PalaceOfWinds_Map_1.bin", "start": 5563044, "size": 55, "type": "map_layer1" @@ -8650,13 +8650,13 @@ "type": "unknown" }, { - "path": "assets/gAreaRoomMap_PalaceOfWinds_29_0.bin", + "path": "assets/gAreaRoomMap_PalaceOfWinds_CornerToMap_0.bin", "start": 5563140, "size": 215, "type": "map_layer2" }, { - "path": "assets/gAreaRoomMap_PalaceOfWinds_29_1.bin", + "path": "assets/gAreaRoomMap_PalaceOfWinds_CornerToMap_1.bin", "start": 5563356, "size": 88, "type": "map_layer1" @@ -8668,13 +8668,13 @@ "type": "unknown" }, { - "path": "assets/gAreaRoomMap_PalaceOfWinds_30_0.bin", + "path": "assets/gAreaRoomMap_PalaceOfWinds_StairsAfterFloormaster_0.bin", "start": 5563484, "size": 223, "type": "map_layer2" }, { - "path": "assets/gAreaRoomMap_PalaceOfWinds_30_1.bin", + "path": "assets/gAreaRoomMap_PalaceOfWinds_StairsAfterFloormaster_1.bin", "start": 5563708, "size": 81, "type": "map_layer1" @@ -8686,13 +8686,13 @@ "type": "unknown" }, { - "path": "assets/gAreaRoomMap_PalaceOfWinds_31_0.bin", + "path": "assets/gAreaRoomMap_PalaceOfWinds_HoleToKinstoneWizzrobe_0.bin", "start": 5563832, "size": 205, "type": "map_layer2" }, { - "path": "assets/gAreaRoomMap_PalaceOfWinds_31_1.bin", + "path": "assets/gAreaRoomMap_PalaceOfWinds_HoleToKinstoneWizzrobe_1.bin", "start": 5564040, "size": 70, "type": "map_layer1" @@ -8704,13 +8704,13 @@ "type": "unknown" }, { - "path": "assets/gAreaRoomMap_PalaceOfWinds_32_0.bin", + "path": "assets/gAreaRoomMap_PalaceOfWinds_KeyArrowButton_0.bin", "start": 5564152, "size": 209, "type": "map_layer2" }, { - "path": "assets/gAreaRoomMap_PalaceOfWinds_32_1.bin", + "path": "assets/gAreaRoomMap_PalaceOfWinds_KeyArrowButton_1.bin", "start": 5564364, "size": 75, "type": "map_layer1" @@ -8722,13 +8722,13 @@ "type": "unknown" }, { - "path": "assets/gAreaRoomMap_PalaceOfWinds_33_0.bin", + "path": "assets/gAreaRoomMap_PalaceOfWinds_GratesTo3F_0.bin", "start": 5564480, "size": 916, "type": "map_layer2" }, { - "path": "assets/gAreaRoomMap_PalaceOfWinds_33_1.bin", + "path": "assets/gAreaRoomMap_PalaceOfWinds_GratesTo3F_1.bin", "start": 5565396, "size": 506, "type": "map_layer1" @@ -8740,13 +8740,13 @@ "type": "unknown" }, { - "path": "assets/gAreaRoomMap_PalaceOfWinds_34_0.bin", + "path": "assets/gAreaRoomMap_PalaceOfWinds_SpinyFight_0.bin", "start": 5566264, "size": 778, "type": "map_layer2" }, { - "path": "assets/gAreaRoomMap_PalaceOfWinds_34_1.bin", + "path": "assets/gAreaRoomMap_PalaceOfWinds_SpinyFight_1.bin", "start": 5567044, "size": 332, "type": "map_layer1" @@ -8758,13 +8758,13 @@ "type": "unknown" }, { - "path": "assets/gAreaRoomMap_PalaceOfWinds_35_0.bin", + "path": "assets/gAreaRoomMap_PalaceOfWinds_PeahatSwitch_0.bin", "start": 5567616, "size": 369, "type": "map_layer2" }, { - "path": "assets/gAreaRoomMap_PalaceOfWinds_35_1.bin", + "path": "assets/gAreaRoomMap_PalaceOfWinds_PeahatSwitch_1.bin", "start": 5567988, "size": 143, "type": "map_layer1" @@ -8776,13 +8776,13 @@ "type": "unknown" }, { - "path": "assets/gAreaRoomMap_PalaceOfWinds_36_0.bin", + "path": "assets/gAreaRoomMap_PalaceOfWinds_WhirlwindBombarossa_0.bin", "start": 5568212, "size": 390, "type": "map_layer2" }, { - "path": "assets/gAreaRoomMap_PalaceOfWinds_36_1.bin", + "path": "assets/gAreaRoomMap_PalaceOfWinds_WhirlwindBombarossa_1.bin", "start": 5568604, "size": 172, "type": "map_layer1" @@ -8794,13 +8794,13 @@ "type": "unknown" }, { - "path": "assets/gAreaRoomMap_PalaceOfWinds_37_0.bin", + "path": "assets/gAreaRoomMap_PalaceOfWinds_DoorToStalfosFirebar_0.bin", "start": 5568936, "size": 254, "type": "map_layer2" }, { - "path": "assets/gAreaRoomMap_PalaceOfWinds_37_1.bin", + "path": "assets/gAreaRoomMap_PalaceOfWinds_DoorToStalfosFirebar_1.bin", "start": 5569192, "size": 77, "type": "map_layer1" @@ -8812,13 +8812,13 @@ "type": "unknown" }, { - "path": "assets/gAreaRoomMap_PalaceOfWinds_38_0.bin", + "path": "assets/gAreaRoomMap_PalaceOfWinds_StalfosFireborHole_0.bin", "start": 5569312, "size": 274, "type": "map_layer2" }, { - "path": "assets/gAreaRoomMap_PalaceOfWinds_38_1.bin", + "path": "assets/gAreaRoomMap_PalaceOfWinds_StalfosFireborHole_1.bin", "start": 5569588, "size": 55, "type": "map_layer1" @@ -8830,13 +8830,13 @@ "type": "unknown" }, { - "path": "assets/gAreaRoomMap_PalaceOfWinds_39_0.bin", + "path": "assets/gAreaRoomMap_PalaceOfWinds_ShortcutDoorButtons_0.bin", "start": 5569684, "size": 248, "type": "map_layer2" }, { - "path": "assets/gAreaRoomMap_PalaceOfWinds_39_1.bin", + "path": "assets/gAreaRoomMap_PalaceOfWinds_ShortcutDoorButtons_1.bin", "start": 5569932, "size": 81, "type": "map_layer1" @@ -8848,13 +8848,13 @@ "type": "unknown" }, { - "path": "assets/gAreaRoomMap_PalaceOfWinds_40_0.bin", + "path": "assets/gAreaRoomMap_PalaceOfWinds_ToPeahatSwitch_0.bin", "start": 5570056, "size": 237, "type": "map_layer2" }, { - "path": "assets/gAreaRoomMap_PalaceOfWinds_40_1.bin", + "path": "assets/gAreaRoomMap_PalaceOfWinds_ToPeahatSwitch_1.bin", "start": 5570296, "size": 91, "type": "map_layer1" @@ -8866,13 +8866,13 @@ "type": "unknown" }, { - "path": "assets/gAreaRoomMap_PalaceOfWinds_41_0.bin", + "path": "assets/gAreaRoomMap_PalaceOfWinds_KinstoneWizzrobeFight_0.bin", "start": 5570428, "size": 210, "type": "map_layer2" }, { - "path": "assets/gAreaRoomMap_PalaceOfWinds_41_1.bin", + "path": "assets/gAreaRoomMap_PalaceOfWinds_KinstoneWizzrobeFight_1.bin", "start": 5570640, "size": 86, "type": "map_layer1" @@ -8884,13 +8884,13 @@ "type": "unknown" }, { - "path": "assets/gAreaRoomMap_PalaceOfWinds_42_0.bin", + "path": "assets/gAreaRoomMap_PalaceOfWinds_GibdoStairs_0.bin", "start": 5570768, "size": 235, "type": "map_layer2" }, { - "path": "assets/gAreaRoomMap_PalaceOfWinds_42_1.bin", + "path": "assets/gAreaRoomMap_PalaceOfWinds_GibdoStairs_1.bin", "start": 5571004, "size": 87, "type": "map_layer1" @@ -8902,13 +8902,13 @@ "type": "unknown" }, { - "path": "assets/gAreaRoomMap_PalaceOfWinds_43_0.bin", + "path": "assets/gAreaRoomMap_PalaceOfWinds_SpikeBarSmallKey_0.bin", "start": 5571132, "size": 346, "type": "map_layer2" }, { - "path": "assets/gAreaRoomMap_PalaceOfWinds_43_1.bin", + "path": "assets/gAreaRoomMap_PalaceOfWinds_SpikeBarSmallKey_1.bin", "start": 5571480, "size": 144, "type": "map_layer1" @@ -8920,7 +8920,7 @@ "type": "unknown" }, { - "path": "assets/gAreaRoomMap_PalaceOfWinds_44_0.bin", + "path": "assets/gAreaRoomMap_PalaceOfWinds_RocCape_0.bin", "variants": [ "DEMO_JP", "JP", @@ -8931,7 +8931,7 @@ "type": "map_layer2" }, { - "path": "assets/gAreaRoomMap_PalaceOfWinds_44_0.bin", + "path": "assets/gAreaRoomMap_PalaceOfWinds_RocCape_0.bin", "variants": [ "DEMO_USA", "USA" @@ -8941,7 +8941,7 @@ "type": "map_layer2" }, { - "path": "assets/gAreaRoomMap_PalaceOfWinds_44_1.bin", + "path": "assets/gAreaRoomMap_PalaceOfWinds_RocCape_1.bin", "start": 5572444, "size": 256, "type": "map_layer1" @@ -8953,13 +8953,13 @@ "type": "unknown" }, { - "path": "assets/gAreaRoomMap_PalaceOfWinds_45_0.bin", + "path": "assets/gAreaRoomMap_PalaceOfWinds_FireBarGrates_0.bin", "start": 5572940, "size": 529, "type": "map_layer2" }, { - "path": "assets/gAreaRoomMap_PalaceOfWinds_45_1.bin", + "path": "assets/gAreaRoomMap_PalaceOfWinds_FireBarGrates_1.bin", "start": 5573472, "size": 407, "type": "map_layer1" @@ -8971,13 +8971,13 @@ "type": "unknown" }, { - "path": "assets/gAreaRoomMap_PalaceOfWinds_46_0.bin", + "path": "assets/gAreaRoomMap_PalaceOfWinds_PlatformRideBombarossas_0.bin", "start": 5574120, "size": 425, "type": "map_layer2" }, { - "path": "assets/gAreaRoomMap_PalaceOfWinds_46_1.bin", + "path": "assets/gAreaRoomMap_PalaceOfWinds_PlatformRideBombarossas_1.bin", "start": 5574548, "size": 208, "type": "map_layer1" @@ -8989,13 +8989,13 @@ "type": "unknown" }, { - "path": "assets/gAreaRoomMap_PalaceOfWinds_47_0.bin", + "path": "assets/gAreaRoomMap_PalaceOfWinds_BridgeAfterDarknut_0.bin", "start": 5574956, "size": 126, "type": "map_layer2" }, { - "path": "assets/gAreaRoomMap_PalaceOfWinds_47_1.bin", + "path": "assets/gAreaRoomMap_PalaceOfWinds_BridgeAfterDarknut_1.bin", "start": 5575084, "size": 43, "type": "map_layer1" @@ -9007,13 +9007,13 @@ "type": "unknown" }, { - "path": "assets/gAreaRoomMap_PalaceOfWinds_48_0.bin", + "path": "assets/gAreaRoomMap_PalaceOfWinds_BridgeSwitchesCloneBlock_0.bin", "start": 5575168, "size": 676, "type": "map_layer2" }, { - "path": "assets/gAreaRoomMap_PalaceOfWinds_48_1.bin", + "path": "assets/gAreaRoomMap_PalaceOfWinds_BridgeSwitchesCloneBlock_1.bin", "start": 5575844, "size": 159, "type": "map_layer1" @@ -9025,13 +9025,13 @@ "type": "unknown" }, { - "path": "assets/gAreaRoomMap_PalaceOfWinds_49_0.bin", + "path": "assets/gAreaRoomMap_PalaceOfWinds_EntranceRoom_0.bin", "start": 5576164, "size": 357, "type": "map_layer2" }, { - "path": "assets/gAreaRoomMap_PalaceOfWinds_49_1.bin", + "path": "assets/gAreaRoomMap_PalaceOfWinds_EntranceRoom_1.bin", "start": 5576524, "size": 129, "type": "map_layer1" @@ -9043,13 +9043,13 @@ "type": "unknown" }, { - "path": "assets/gAreaRoomMap_PalaceOfWinds_50_0.bin", + "path": "assets/gAreaRoomMap_PalaceOfWinds_DarkCompassHall_0.bin", "start": 5576788, "size": 767, "type": "map_layer2" }, { - "path": "assets/gAreaRoomMap_PalaceOfWinds_50_1.bin", + "path": "assets/gAreaRoomMap_PalaceOfWinds_DarkCompassHall_1.bin", "start": 5577556, "size": 342, "type": "map_layer1" @@ -9337,43 +9337,43 @@ "type": "map_layer1" }, { - "path": "tilesets/gAreaTileset_DarkHyruleCastle_0_0.4bpp.lz", + "path": "tilesets/gAreaTileset_DarkHyruleCastle_1FEntrance_0.4bpp.lz", "start": 5685200, "size": 8657, "type": "tileset" }, { - "path": "tilesets/gAreaTileset_DarkHyruleCastle_0_1.4bpp.lz", + "path": "tilesets/gAreaTileset_DarkHyruleCastle_1FEntrance_1.4bpp.lz", "start": 5693860, "size": 8806, "type": "tileset" }, { - "path": "tilesets/gAreaTileset_DarkHyruleCastle_0_2.4bpp.lz", + "path": "tilesets/gAreaTileset_DarkHyruleCastle_1FEntrance_2.4bpp.lz", "start": 5702668, "size": 8098, "type": "tileset" }, { - "path": "assets/gAreaMetatiles_DarkHyruleCastle_0.bin", + "path": "assets/gAreaMetatiles_DarkHyruleCastle_1FEntrance.bin", "start": 5710768, "size": 11581, "type": "metatiles_tileset2" }, { - "path": "assets/gAreaMetatiles_DarkHyruleCastle_1.bin", + "path": "assets/gAreaMetatiles_DarkHyruleCastle_3FTopLeftTower.bin", "start": 5722352, "size": 7796, "type": "metatiles_tileset1" }, { - "path": "assets/gAreaMetatiles_DarkHyruleCastle_2.bin", + "path": "assets/gAreaMetatiles_DarkHyruleCastle_3FTopRightTower.bin", "start": 5730148, "size": 1413, "type": "metatiles_tile_types2" }, { - "path": "assets/gAreaMetatiles_DarkHyruleCastle_3.bin", + "path": "assets/gAreaMetatiles_DarkHyruleCastle_3FBottomLeftTower.bin", "start": 5731564, "size": 1263, "type": "metatiles_tile_types1" @@ -9547,13 +9547,13 @@ "type": "metatiles_tile_types1" }, { - "path": "assets/gAreaRoomMap_DarkHyruleCastle_0_0.bin", + "path": "assets/gAreaRoomMap_DarkHyruleCastle_1FEntrance_0.bin", "start": 5806552, "size": 1154, "type": "map_layer2" }, { - "path": "assets/gAreaRoomMap_DarkHyruleCastle_0_1.bin", + "path": "assets/gAreaRoomMap_DarkHyruleCastle_1FEntrance_1.bin", "start": 5807708, "size": 634, "type": "map_layer1" @@ -9565,13 +9565,13 @@ "type": "unknown" }, { - "path": "assets/gAreaRoomMap_DarkHyruleCastle_1_0.bin", + "path": "assets/gAreaRoomMap_DarkHyruleCastle_3FTopLeftTower_0.bin", "start": 5808812, "size": 217, "type": "map_layer2" }, { - "path": "assets/gAreaRoomMap_DarkHyruleCastle_1_1.bin", + "path": "assets/gAreaRoomMap_DarkHyruleCastle_3FTopLeftTower_1.bin", "start": 5809032, "size": 123, "type": "map_layer1" @@ -9583,13 +9583,13 @@ "type": "unknown" }, { - "path": "assets/gAreaRoomMap_DarkHyruleCastle_2_0.bin", + "path": "assets/gAreaRoomMap_DarkHyruleCastle_3FTopRightTower_0.bin", "start": 5809224, "size": 221, "type": "map_layer2" }, { - "path": "assets/gAreaRoomMap_DarkHyruleCastle_2_1.bin", + "path": "assets/gAreaRoomMap_DarkHyruleCastle_3FTopRightTower_1.bin", "start": 5809448, "size": 142, "type": "map_layer1" @@ -9601,13 +9601,13 @@ "type": "unknown" }, { - "path": "assets/gAreaRoomMap_DarkHyruleCastle_3_0.bin", + "path": "assets/gAreaRoomMap_DarkHyruleCastle_3FBottomLeftTower_0.bin", "start": 5809660, "size": 239, "type": "map_layer2" }, { - "path": "assets/gAreaRoomMap_DarkHyruleCastle_3_1.bin", + "path": "assets/gAreaRoomMap_DarkHyruleCastle_3FBottomLeftTower_1.bin", "start": 5809900, "size": 135, "type": "map_layer1" @@ -9619,13 +9619,13 @@ "type": "unknown" }, { - "path": "assets/gAreaRoomMap_DarkHyruleCastle_4_0.bin", + "path": "assets/gAreaRoomMap_DarkHyruleCastle_3FBottomRightTower_0.bin", "start": 5810104, "size": 244, "type": "map_layer2" }, { - "path": "assets/gAreaRoomMap_DarkHyruleCastle_4_1.bin", + "path": "assets/gAreaRoomMap_DarkHyruleCastle_3FBottomRightTower_1.bin", "start": 5810348, "size": 138, "type": "map_layer1" @@ -9637,13 +9637,13 @@ "type": "unknown" }, { - "path": "assets/gAreaRoomMap_DarkHyruleCastle_5_0.bin", + "path": "assets/gAreaRoomMap_DarkHyruleCastle_3FKeatonHallToVaati_0.bin", "start": 5810556, "size": 546, "type": "map_layer2" }, { - "path": "assets/gAreaRoomMap_DarkHyruleCastle_5_1.bin", + "path": "assets/gAreaRoomMap_DarkHyruleCastle_3FKeatonHallToVaati_1.bin", "start": 5811104, "size": 177, "type": "map_layer1" @@ -9655,13 +9655,13 @@ "type": "unknown" }, { - "path": "assets/gAreaRoomMap_DarkHyruleCastle_6_0.bin", + "path": "assets/gAreaRoomMap_DarkHyruleCastle_3FTripleDarknut_0.bin", "start": 5811440, "size": 404, "type": "map_layer2" }, { - "path": "assets/gAreaRoomMap_DarkHyruleCastle_6_1.bin", + "path": "assets/gAreaRoomMap_DarkHyruleCastle_3FTripleDarknut_1.bin", "start": 5811844, "size": 157, "type": "map_layer1" @@ -9673,13 +9673,13 @@ "type": "unknown" }, { - "path": "assets/gAreaRoomMap_DarkHyruleCastle_7_0.bin", + "path": "assets/gAreaRoomMap_DarkHyruleCastle_2FTopLeftTower_0.bin", "start": 5812100, "size": 329, "type": "map_layer2" }, { - "path": "assets/gAreaRoomMap_DarkHyruleCastle_7_1.bin", + "path": "assets/gAreaRoomMap_DarkHyruleCastle_2FTopLeftTower_1.bin", "start": 5812432, "size": 192, "type": "map_layer1" @@ -9691,13 +9691,13 @@ "type": "unknown" }, { - "path": "assets/gAreaRoomMap_DarkHyruleCastle_8_0.bin", + "path": "assets/gAreaRoomMap_DarkHyruleCastle_2FTopLeftCorner_0.bin", "start": 5812756, "size": 477, "type": "map_layer2" }, { - "path": "assets/gAreaRoomMap_DarkHyruleCastle_8_1.bin", + "path": "assets/gAreaRoomMap_DarkHyruleCastle_2FTopLeftCorner_1.bin", "start": 5813236, "size": 176, "type": "map_layer1" @@ -9709,13 +9709,13 @@ "type": "unknown" }, { - "path": "assets/gAreaRoomMap_DarkHyruleCastle_9_0.bin", + "path": "assets/gAreaRoomMap_DarkHyruleCastle_2FBossKey_0.bin", "start": 5813544, "size": 339, "type": "map_layer2" }, { - "path": "assets/gAreaRoomMap_DarkHyruleCastle_9_1.bin", + "path": "assets/gAreaRoomMap_DarkHyruleCastle_2FBossKey_1.bin", "start": 5813884, "size": 146, "type": "map_layer1" @@ -9727,13 +9727,13 @@ "type": "unknown" }, { - "path": "assets/gAreaRoomMap_DarkHyruleCastle_10_0.bin", + "path": "assets/gAreaRoomMap_DarkHyruleCastle_2FBlueWarp_0.bin", "start": 5814108, "size": 297, "type": "map_layer2" }, { - "path": "assets/gAreaRoomMap_DarkHyruleCastle_10_1.bin", + "path": "assets/gAreaRoomMap_DarkHyruleCastle_2FBlueWarp_1.bin", "start": 5814408, "size": 133, "type": "map_layer1" @@ -9745,13 +9745,13 @@ "type": "unknown" }, { - "path": "assets/gAreaRoomMap_DarkHyruleCastle_11_0.bin", + "path": "assets/gAreaRoomMap_DarkHyruleCastle_2FTopRightCornerGhini_0.bin", "start": 5814612, "size": 265, "type": "map_layer2" }, { - "path": "assets/gAreaRoomMap_DarkHyruleCastle_11_1.bin", + "path": "assets/gAreaRoomMap_DarkHyruleCastle_2FTopRightCornerGhini_1.bin", "start": 5814880, "size": 91, "type": "map_layer1" @@ -9763,13 +9763,13 @@ "type": "unknown" }, { - "path": "assets/gAreaRoomMap_DarkHyruleCastle_12_0.bin", + "path": "assets/gAreaRoomMap_DarkHyruleCastle_2FTopRightCornerTorches_0.bin", "start": 5815040, "size": 271, "type": "map_layer2" }, { - "path": "assets/gAreaRoomMap_DarkHyruleCastle_12_1.bin", + "path": "assets/gAreaRoomMap_DarkHyruleCastle_2FTopRightCornerTorches_1.bin", "start": 5815312, "size": 107, "type": "map_layer1" @@ -9781,13 +9781,13 @@ "type": "unknown" }, { - "path": "assets/gAreaRoomMap_DarkHyruleCastle_13_0.bin", + "path": "assets/gAreaRoomMap_DarkHyruleCastle_2FTopRightTower_0.bin", "start": 5815488, "size": 267, "type": "map_layer2" }, { - "path": "assets/gAreaRoomMap_DarkHyruleCastle_13_1.bin", + "path": "assets/gAreaRoomMap_DarkHyruleCastle_2FTopRightTower_1.bin", "start": 5815756, "size": 135, "type": "map_layer1" @@ -9799,13 +9799,13 @@ "type": "unknown" }, { - "path": "assets/gAreaRoomMap_DarkHyruleCastle_14_0.bin", + "path": "assets/gAreaRoomMap_DarkHyruleCastle_2FTopLeftDarknut_0.bin", "start": 5815960, "size": 315, "type": "map_layer2" }, { - "path": "assets/gAreaRoomMap_DarkHyruleCastle_14_1.bin", + "path": "assets/gAreaRoomMap_DarkHyruleCastle_2FTopLeftDarknut_1.bin", "start": 5816276, "size": 158, "type": "map_layer1" @@ -9817,13 +9817,13 @@ "type": "unknown" }, { - "path": "assets/gAreaRoomMap_DarkHyruleCastle_15_0.bin", + "path": "assets/gAreaRoomMap_DarkHyruleCastle_2FSparks_0.bin", "start": 5816504, "size": 292, "type": "map_layer2" }, { - "path": "assets/gAreaRoomMap_DarkHyruleCastle_15_1.bin", + "path": "assets/gAreaRoomMap_DarkHyruleCastle_2FSparks_1.bin", "start": 5816796, "size": 125, "type": "map_layer1" @@ -9835,13 +9835,13 @@ "type": "unknown" }, { - "path": "assets/gAreaRoomMap_DarkHyruleCastle_16_0.bin", + "path": "assets/gAreaRoomMap_DarkHyruleCastle_2FTopRightDarknuts_0.bin", "start": 5816992, "size": 306, "type": "map_layer2" }, { - "path": "assets/gAreaRoomMap_DarkHyruleCastle_16_1.bin", + "path": "assets/gAreaRoomMap_DarkHyruleCastle_2FTopRightDarknuts_1.bin", "start": 5817300, "size": 155, "type": "map_layer1" @@ -9853,13 +9853,13 @@ "type": "unknown" }, { - "path": "assets/gAreaRoomMap_DarkHyruleCastle_17_0.bin", + "path": "assets/gAreaRoomMap_DarkHyruleCastle_2FLeft_0.bin", "start": 5817524, "size": 414, "type": "map_layer2" }, { - "path": "assets/gAreaRoomMap_DarkHyruleCastle_17_1.bin", + "path": "assets/gAreaRoomMap_DarkHyruleCastle_2FLeft_1.bin", "start": 5817940, "size": 195, "type": "map_layer1" @@ -9871,13 +9871,13 @@ "type": "unknown" }, { - "path": "assets/gAreaRoomMap_DarkHyruleCastle_18_0.bin", + "path": "assets/gAreaRoomMap_DarkHyruleCastle_2FRight_0.bin", "start": 5818236, "size": 360, "type": "map_layer2" }, { - "path": "assets/gAreaRoomMap_DarkHyruleCastle_18_1.bin", + "path": "assets/gAreaRoomMap_DarkHyruleCastle_2FRight_1.bin", "start": 5818596, "size": 228, "type": "map_layer1" @@ -9889,13 +9889,13 @@ "type": "unknown" }, { - "path": "assets/gAreaRoomMap_DarkHyruleCastle_19_0.bin", + "path": "assets/gAreaRoomMap_DarkHyruleCastle_2FBottomLeftDarknuts_0.bin", "start": 5818924, "size": 309, "type": "map_layer2" }, { - "path": "assets/gAreaRoomMap_DarkHyruleCastle_19_1.bin", + "path": "assets/gAreaRoomMap_DarkHyruleCastle_2FBottomLeftDarknuts_1.bin", "start": 5819236, "size": 163, "type": "map_layer1" @@ -9907,13 +9907,13 @@ "type": "unknown" }, { - "path": "assets/gAreaRoomMap_DarkHyruleCastle_20_0.bin", + "path": "assets/gAreaRoomMap_DarkHyruleCastle_2FBossDoor_0.bin", "start": 5819468, "size": 350, "type": "map_layer2" }, { - "path": "assets/gAreaRoomMap_DarkHyruleCastle_20_1.bin", + "path": "assets/gAreaRoomMap_DarkHyruleCastle_2FBossDoor_1.bin", "start": 5819820, "size": 152, "type": "map_layer1" @@ -9925,13 +9925,13 @@ "type": "unknown" }, { - "path": "assets/gAreaRoomMap_DarkHyruleCastle_21_0.bin", + "path": "assets/gAreaRoomMap_DarkHyruleCastle_2FBottomRightDarknut_0.bin", "start": 5820040, "size": 296, "type": "map_layer2" }, { - "path": "assets/gAreaRoomMap_DarkHyruleCastle_21_1.bin", + "path": "assets/gAreaRoomMap_DarkHyruleCastle_2FBottomRightDarknut_1.bin", "start": 5820336, "size": 151, "type": "map_layer1" @@ -9943,13 +9943,13 @@ "type": "unknown" }, { - "path": "assets/gAreaRoomMap_DarkHyruleCastle_22_0.bin", + "path": "assets/gAreaRoomMap_DarkHyruleCastle_2FBottomLeftCornerPuzzle_0.bin", "start": 5820556, "size": 263, "type": "map_layer2" }, { - "path": "assets/gAreaRoomMap_DarkHyruleCastle_22_1.bin", + "path": "assets/gAreaRoomMap_DarkHyruleCastle_2FBottomLeftCornerPuzzle_1.bin", "start": 5820820, "size": 118, "type": "map_layer1" @@ -9961,13 +9961,13 @@ "type": "unknown" }, { - "path": "assets/gAreaRoomMap_DarkHyruleCastle_23_0.bin", + "path": "assets/gAreaRoomMap_DarkHyruleCastle_2FEntrance_0.bin", "start": 5821008, "size": 450, "type": "map_layer2" }, { - "path": "assets/gAreaRoomMap_DarkHyruleCastle_23_1.bin", + "path": "assets/gAreaRoomMap_DarkHyruleCastle_2FEntrance_1.bin", "start": 5821460, "size": 228, "type": "map_layer1" @@ -9979,13 +9979,13 @@ "type": "unknown" }, { - "path": "assets/gAreaRoomMap_DarkHyruleCastle_24_0.bin", + "path": "assets/gAreaRoomMap_DarkHyruleCastle_2FBottomLeftCorner_0.bin", "start": 5821820, "size": 401, "type": "map_layer2" }, { - "path": "assets/gAreaRoomMap_DarkHyruleCastle_24_1.bin", + "path": "assets/gAreaRoomMap_DarkHyruleCastle_2FBottomLeftCorner_1.bin", "start": 5822224, "size": 161, "type": "map_layer1" @@ -9997,13 +9997,13 @@ "type": "unknown" }, { - "path": "assets/gAreaRoomMap_DarkHyruleCastle_25_0.bin", + "path": "assets/gAreaRoomMap_DarkHyruleCastle_2FBottomLeftTower_0.bin", "start": 5822520, "size": 232, "type": "map_layer2" }, { - "path": "assets/gAreaRoomMap_DarkHyruleCastle_25_1.bin", + "path": "assets/gAreaRoomMap_DarkHyruleCastle_2FBottomLeftTower_1.bin", "start": 5822752, "size": 137, "type": "map_layer1" @@ -10015,13 +10015,13 @@ "type": "unknown" }, { - "path": "assets/gAreaRoomMap_DarkHyruleCastle_26_0.bin", + "path": "assets/gAreaRoomMap_DarkHyruleCastle_2FBottomLeftGhini_0.bin", "start": 5822960, "size": 258, "type": "map_layer2" }, { - "path": "assets/gAreaRoomMap_DarkHyruleCastle_26_1.bin", + "path": "assets/gAreaRoomMap_DarkHyruleCastle_2FBottomLeftGhini_1.bin", "start": 5823220, "size": 88, "type": "map_layer1" @@ -10033,13 +10033,13 @@ "type": "unknown" }, { - "path": "assets/gAreaRoomMap_DarkHyruleCastle_27_0.bin", + "path": "assets/gAreaRoomMap_DarkHyruleCastle_3FTopRightTower7_0.bin", "start": 5823376, "size": 60, "type": "map_layer2" }, { - "path": "assets/gAreaRoomMap_DarkHyruleCastle_27_1.bin", + "path": "assets/gAreaRoomMap_DarkHyruleCastle_3FTopRightTower7_1.bin", "start": 5823436, "size": 60, "type": "map_layer1" @@ -10051,13 +10051,13 @@ "type": "unknown" }, { - "path": "assets/gAreaRoomMap_DarkHyruleCastle_28_0.bin", + "path": "assets/gAreaRoomMap_DarkHyruleCastle_B1Entrance_0.bin", "start": 5823564, "size": 294, "type": "map_layer2" }, { - "path": "assets/gAreaRoomMap_DarkHyruleCastle_28_1.bin", + "path": "assets/gAreaRoomMap_DarkHyruleCastle_B1Entrance_1.bin", "start": 5823860, "size": 152, "type": "map_layer1" @@ -10069,13 +10069,13 @@ "type": "unknown" }, { - "path": "assets/gAreaRoomMap_DarkHyruleCastle_29_0.bin", + "path": "assets/gAreaRoomMap_DarkHyruleCastle_2FBottomRightTower_0.bin", "start": 5824080, "size": 323, "type": "map_layer2" }, { - "path": "assets/gAreaRoomMap_DarkHyruleCastle_29_1.bin", + "path": "assets/gAreaRoomMap_DarkHyruleCastle_2FBottomRightTower_1.bin", "start": 5824404, "size": 188, "type": "map_layer1" @@ -10087,13 +10087,13 @@ "type": "unknown" }, { - "path": "assets/gAreaRoomMap_DarkHyruleCastle_30_0.bin", + "path": "assets/gAreaRoomMap_DarkHyruleCastle_1FTopLeftTower_0.bin", "start": 5824724, "size": 228, "type": "map_layer2" }, { - "path": "assets/gAreaRoomMap_DarkHyruleCastle_30_1.bin", + "path": "assets/gAreaRoomMap_DarkHyruleCastle_1FTopLeftTower_1.bin", "start": 5824952, "size": 124, "type": "map_layer1" @@ -10105,13 +10105,13 @@ "type": "unknown" }, { - "path": "assets/gAreaRoomMap_DarkHyruleCastle_31_0.bin", + "path": "assets/gAreaRoomMap_DarkHyruleCastle_1FThroneRoom_0.bin", "start": 5825144, "size": 335, "type": "map_layer2" }, { - "path": "assets/gAreaRoomMap_DarkHyruleCastle_31_1.bin", + "path": "assets/gAreaRoomMap_DarkHyruleCastle_1FThroneRoom_1.bin", "start": 5825480, "size": 147, "type": "map_layer1" @@ -10123,13 +10123,13 @@ "type": "unknown" }, { - "path": "assets/gAreaRoomMap_DarkHyruleCastle_32_0.bin", + "path": "assets/gAreaRoomMap_DarkHyruleCastle_1FCompass_0.bin", "start": 5825696, "size": 305, "type": "map_layer2" }, { - "path": "assets/gAreaRoomMap_DarkHyruleCastle_32_1.bin", + "path": "assets/gAreaRoomMap_DarkHyruleCastle_1FCompass_1.bin", "start": 5826004, "size": 161, "type": "map_layer1" @@ -10141,13 +10141,13 @@ "type": "unknown" }, { - "path": "assets/gAreaRoomMap_DarkHyruleCastle_33_0.bin", + "path": "assets/gAreaRoomMap_DarkHyruleCastle_1FTopRightTower_0.bin", "start": 5826236, "size": 261, "type": "map_layer2" }, { - "path": "assets/gAreaRoomMap_DarkHyruleCastle_33_1.bin", + "path": "assets/gAreaRoomMap_DarkHyruleCastle_1FTopRightTower_1.bin", "start": 5826500, "size": 144, "type": "map_layer1" @@ -10159,13 +10159,13 @@ "type": "unknown" }, { - "path": "assets/gAreaRoomMap_DarkHyruleCastle_34_0.bin", + "path": "assets/gAreaRoomMap_DarkHyruleCastle_1FBeforeThrone_0.bin", "start": 5826712, "size": 282, "type": "map_layer2" }, { - "path": "assets/gAreaRoomMap_DarkHyruleCastle_34_1.bin", + "path": "assets/gAreaRoomMap_DarkHyruleCastle_1FBeforeThrone_1.bin", "start": 5826996, "size": 149, "type": "map_layer1" @@ -10177,13 +10177,13 @@ "type": "unknown" }, { - "path": "assets/gAreaRoomMap_DarkHyruleCastle_35_0.bin", + "path": "assets/gAreaRoomMap_DarkHyruleCastle_1FLoopTopLeft_0.bin", "start": 5827216, "size": 60, "type": "map_layer2" }, { - "path": "assets/gAreaRoomMap_DarkHyruleCastle_35_1.bin", + "path": "assets/gAreaRoomMap_DarkHyruleCastle_1FLoopTopLeft_1.bin", "start": 5827276, "size": 316, "type": "map_layer1" @@ -10195,13 +10195,13 @@ "type": "unknown" }, { - "path": "assets/gAreaRoomMap_DarkHyruleCastle_36_0.bin", + "path": "assets/gAreaRoomMap_DarkHyruleCastle_1FLoopTop_0.bin", "start": 5827660, "size": 60, "type": "map_layer2" }, { - "path": "assets/gAreaRoomMap_DarkHyruleCastle_36_1.bin", + "path": "assets/gAreaRoomMap_DarkHyruleCastle_1FLoopTop_1.bin", "start": 5827720, "size": 272, "type": "map_layer1" @@ -10213,13 +10213,13 @@ "type": "unknown" }, { - "path": "assets/gAreaRoomMap_DarkHyruleCastle_37_0.bin", + "path": "assets/gAreaRoomMap_DarkHyruleCastle_1FLoopTopRight_0.bin", "start": 5828060, "size": 60, "type": "map_layer2" }, { - "path": "assets/gAreaRoomMap_DarkHyruleCastle_37_1.bin", + "path": "assets/gAreaRoomMap_DarkHyruleCastle_1FLoopTopRight_1.bin", "start": 5828120, "size": 295, "type": "map_layer1" @@ -10231,13 +10231,13 @@ "type": "unknown" }, { - "path": "assets/gAreaRoomMap_DarkHyruleCastle_38_0.bin", + "path": "assets/gAreaRoomMap_DarkHyruleCastle_1FLoopLeft_0.bin", "start": 5828484, "size": 300, "type": "map_layer2" }, { - "path": "assets/gAreaRoomMap_DarkHyruleCastle_38_1.bin", + "path": "assets/gAreaRoomMap_DarkHyruleCastle_1FLoopLeft_1.bin", "start": 5828784, "size": 217, "type": "map_layer1" @@ -10249,13 +10249,13 @@ "type": "unknown" }, { - "path": "assets/gAreaRoomMap_DarkHyruleCastle_39_0.bin", + "path": "assets/gAreaRoomMap_DarkHyruleCastle_1FLoopRight_0.bin", "start": 5829104, "size": 175, "type": "map_layer2" }, { - "path": "assets/gAreaRoomMap_DarkHyruleCastle_39_1.bin", + "path": "assets/gAreaRoomMap_DarkHyruleCastle_1FLoopRight_1.bin", "start": 5829280, "size": 288, "type": "map_layer1" @@ -10267,13 +10267,13 @@ "type": "unknown" }, { - "path": "assets/gAreaRoomMap_DarkHyruleCastle_40_0.bin", + "path": "assets/gAreaRoomMap_DarkHyruleCastle_1FLoopBottomLeft_0.bin", "start": 5829668, "size": 226, "type": "map_layer2" }, { - "path": "assets/gAreaRoomMap_DarkHyruleCastle_40_1.bin", + "path": "assets/gAreaRoomMap_DarkHyruleCastle_1FLoopBottomLeft_1.bin", "start": 5829896, "size": 144, "type": "map_layer1" @@ -10285,13 +10285,13 @@ "type": "unknown" }, { - "path": "assets/gAreaRoomMap_DarkHyruleCastle_41_0.bin", + "path": "assets/gAreaRoomMap_DarkHyruleCastle_1FLoopBottom_0.bin", "start": 5830108, "size": 187, "type": "map_layer2" }, { - "path": "assets/gAreaRoomMap_DarkHyruleCastle_41_1.bin", + "path": "assets/gAreaRoomMap_DarkHyruleCastle_1FLoopBottom_1.bin", "start": 5830296, "size": 127, "type": "map_layer1" @@ -10303,13 +10303,13 @@ "type": "unknown" }, { - "path": "assets/gAreaRoomMap_DarkHyruleCastle_42_0.bin", + "path": "assets/gAreaRoomMap_DarkHyruleCastle_1FLoopBottomRight_0.bin", "start": 5830492, "size": 202, "type": "map_layer2" }, { - "path": "assets/gAreaRoomMap_DarkHyruleCastle_42_1.bin", + "path": "assets/gAreaRoomMap_DarkHyruleCastle_1FLoopBottomRight_1.bin", "start": 5830696, "size": 141, "type": "map_layer1" @@ -10321,13 +10321,13 @@ "type": "unknown" }, { - "path": "assets/gAreaRoomMap_DarkHyruleCastle_43_0.bin", + "path": "assets/gAreaRoomMap_DarkHyruleCastle_1FBottomLeftTower_0.bin", "start": 5830908, "size": 223, "type": "map_layer2" }, { - "path": "assets/gAreaRoomMap_DarkHyruleCastle_43_1.bin", + "path": "assets/gAreaRoomMap_DarkHyruleCastle_1FBottomLeftTower_1.bin", "start": 5831132, "size": 128, "type": "map_layer1" @@ -10339,13 +10339,13 @@ "type": "unknown" }, { - "path": "assets/gAreaRoomMap_DarkHyruleCastle_44_0.bin", + "path": "assets/gAreaRoomMap_DarkHyruleCastle_1FBottomRightTower_0.bin", "start": 5831328, "size": 216, "type": "map_layer2" }, { - "path": "assets/gAreaRoomMap_DarkHyruleCastle_44_1.bin", + "path": "assets/gAreaRoomMap_DarkHyruleCastle_1FBottomRightTower_1.bin", "start": 5831544, "size": 129, "type": "map_layer1" @@ -10357,13 +10357,13 @@ "type": "unknown" }, { - "path": "assets/gAreaRoomMap_DarkHyruleCastle_45_0.bin", + "path": "assets/gAreaRoomMap_DarkHyruleCastle_B1BelowThrone_0.bin", "start": 5831744, "size": 244, "type": "map_layer2" }, { - "path": "assets/gAreaRoomMap_DarkHyruleCastle_45_1.bin", + "path": "assets/gAreaRoomMap_DarkHyruleCastle_B1BelowThrone_1.bin", "start": 5831988, "size": 93, "type": "map_layer1" @@ -10375,13 +10375,13 @@ "type": "unknown" }, { - "path": "assets/gAreaRoomMap_DarkHyruleCastle_46_0.bin", + "path": "assets/gAreaRoomMap_DarkHyruleCastle_B1BelowCompass_0.bin", "start": 5832152, "size": 275, "type": "map_layer2" }, { - "path": "assets/gAreaRoomMap_DarkHyruleCastle_46_1.bin", + "path": "assets/gAreaRoomMap_DarkHyruleCastle_B1BelowCompass_1.bin", "start": 5832428, "size": 110, "type": "map_layer1" @@ -10393,13 +10393,13 @@ "type": "unknown" }, { - "path": "assets/gAreaRoomMap_DarkHyruleCastle_47_0.bin", + "path": "assets/gAreaRoomMap_DarkHyruleCastle_B1BeforeThrone_0.bin", "start": 5832608, "size": 60, "type": "map_layer2" }, { - "path": "assets/gAreaRoomMap_DarkHyruleCastle_47_1.bin", + "path": "assets/gAreaRoomMap_DarkHyruleCastle_B1BeforeThrone_1.bin", "start": 5832668, "size": 284, "type": "map_layer1" @@ -10411,13 +10411,13 @@ "type": "unknown" }, { - "path": "assets/gAreaRoomMap_DarkHyruleCastle_48_0.bin", + "path": "assets/gAreaRoomMap_DarkHyruleCastle_B1ToPrison_0.bin", "start": 5833020, "size": 60, "type": "map_layer2" }, { - "path": "assets/gAreaRoomMap_DarkHyruleCastle_48_1.bin", + "path": "assets/gAreaRoomMap_DarkHyruleCastle_B1ToPrison_1.bin", "start": 5833080, "size": 276, "type": "map_layer1" @@ -10429,13 +10429,13 @@ "type": "unknown" }, { - "path": "assets/gAreaRoomMap_DarkHyruleCastle_49_0.bin", + "path": "assets/gAreaRoomMap_DarkHyruleCastle_B1BombWall_0.bin", "start": 5833424, "size": 60, "type": "map_layer2" }, { - "path": "assets/gAreaRoomMap_DarkHyruleCastle_49_1.bin", + "path": "assets/gAreaRoomMap_DarkHyruleCastle_B1BombWall_1.bin", "start": 5833484, "size": 277, "type": "map_layer1" @@ -10447,13 +10447,13 @@ "type": "unknown" }, { - "path": "assets/gAreaRoomMap_DarkHyruleCastle_50_0.bin", + "path": "assets/gAreaRoomMap_DarkHyruleCastle_B1Keatons_0.bin", "start": 5833832, "size": 60, "type": "map_layer2" }, { - "path": "assets/gAreaRoomMap_DarkHyruleCastle_50_1.bin", + "path": "assets/gAreaRoomMap_DarkHyruleCastle_B1Keatons_1.bin", "start": 5833892, "size": 302, "type": "map_layer1" @@ -10465,13 +10465,13 @@ "type": "unknown" }, { - "path": "assets/gAreaRoomMap_DarkHyruleCastle_51_0.bin", + "path": "assets/gAreaRoomMap_DarkHyruleCastle_B1ToPrisonFirebar_0.bin", "start": 5834264, "size": 87, "type": "map_layer2" }, { - "path": "assets/gAreaRoomMap_DarkHyruleCastle_51_1.bin", + "path": "assets/gAreaRoomMap_DarkHyruleCastle_B1ToPrisonFirebar_1.bin", "start": 5834352, "size": 408, "type": "map_layer1" @@ -10483,13 +10483,13 @@ "type": "unknown" }, { - "path": "assets/gAreaRoomMap_DarkHyruleCastle_52_0.bin", + "path": "assets/gAreaRoomMap_DarkHyruleCastle_B1Cannons_0.bin", "start": 5834860, "size": 87, "type": "map_layer2" }, { - "path": "assets/gAreaRoomMap_DarkHyruleCastle_52_1.bin", + "path": "assets/gAreaRoomMap_DarkHyruleCastle_B1Cannons_1.bin", "start": 5834948, "size": 368, "type": "map_layer1" @@ -10501,13 +10501,13 @@ "type": "unknown" }, { - "path": "assets/gAreaRoomMap_DarkHyruleCastle_53_0.bin", + "path": "assets/gAreaRoomMap_DarkHyruleCastle_B1Left_0.bin", "start": 5835416, "size": 171, "type": "map_layer2" }, { - "path": "assets/gAreaRoomMap_DarkHyruleCastle_53_1.bin", + "path": "assets/gAreaRoomMap_DarkHyruleCastle_B1Left_1.bin", "start": 5835588, "size": 235, "type": "map_layer1" @@ -10519,13 +10519,13 @@ "type": "unknown" }, { - "path": "assets/gAreaRoomMap_DarkHyruleCastle_54_0.bin", + "path": "assets/gAreaRoomMap_DarkHyruleCastle_B1Right_0.bin", "start": 5835892, "size": 170, "type": "map_layer2" }, { - "path": "assets/gAreaRoomMap_DarkHyruleCastle_54_1.bin", + "path": "assets/gAreaRoomMap_DarkHyruleCastle_B1Right_1.bin", "start": 5836064, "size": 236, "type": "map_layer1" @@ -10537,13 +10537,13 @@ "type": "unknown" }, { - "path": "assets/gAreaRoomMap_DarkHyruleCastle_55_0.bin", + "path": "assets/gAreaRoomMap_DarkHyruleCastle_B1Map_0.bin", "start": 5836368, "size": 522, "type": "map_layer2" }, { - "path": "assets/gAreaRoomMap_DarkHyruleCastle_55_1.bin", + "path": "assets/gAreaRoomMap_DarkHyruleCastle_B1Map_1.bin", "start": 5836892, "size": 1102, "type": "map_layer1" @@ -10555,13 +10555,13 @@ "type": "unknown" }, { - "path": "assets/gAreaRoomMap_DarkHyruleCastle_56_0.bin", + "path": "assets/gAreaRoomMap_DarkHyruleCastle_B2ToPrison_0.bin", "start": 5838336, "size": 310, "type": "map_layer2" }, { - "path": "assets/gAreaRoomMap_DarkHyruleCastle_56_1.bin", + "path": "assets/gAreaRoomMap_DarkHyruleCastle_B2ToPrison_1.bin", "start": 5838648, "size": 116, "type": "map_layer1" @@ -10573,13 +10573,13 @@ "type": "unknown" }, { - "path": "assets/gAreaRoomMap_DarkHyruleCastle_57_0.bin", + "path": "assets/gAreaRoomMap_DarkHyruleCastle_B2Prison_0.bin", "start": 5838840, "size": 381, "type": "map_layer2" }, { - "path": "assets/gAreaRoomMap_DarkHyruleCastle_57_1.bin", + "path": "assets/gAreaRoomMap_DarkHyruleCastle_B2Prison_1.bin", "start": 5839224, "size": 180, "type": "map_layer1" @@ -10591,13 +10591,13 @@ "type": "unknown" }, { - "path": "assets/gAreaRoomMap_DarkHyruleCastle_58_0.bin", + "path": "assets/gAreaRoomMap_DarkHyruleCastle_B2Dropdown_0.bin", "start": 5839540, "size": 243, "type": "map_layer2" }, { - "path": "assets/gAreaRoomMap_DarkHyruleCastle_58_1.bin", + "path": "assets/gAreaRoomMap_DarkHyruleCastle_B2Dropdown_1.bin", "start": 5839784, "size": 113, "type": "map_layer1" @@ -10609,13 +10609,13 @@ "type": "unknown" }, { - "path": "assets/gAreaRoomMap_DarkHyruleCastle_59_0.bin", + "path": "assets/gAreaRoomMap_DarkHyruleCastle_3FKeatonHallToVaati9_0.bin", "start": 5839992, "size": 60, "type": "map_layer2" }, { - "path": "assets/gAreaRoomMap_DarkHyruleCastle_59_1.bin", + "path": "assets/gAreaRoomMap_DarkHyruleCastle_3FKeatonHallToVaati9_1.bin", "start": 5840052, "size": 60, "type": "map_layer1" diff --git a/data/const/enemy/acroBandits.s b/data/const/enemy/acroBandits.s deleted file mode 100644 index cdda3e2d..00000000 --- a/data/const/enemy/acroBandits.s +++ /dev/null @@ -1,55 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .section .rodata - .align 2 - -AcroBandit_Functions:: @ 080CE56C - .4byte AcroBandit_OnTick - .4byte AcroBandit_OnCollision - .4byte AcroBandit_OnKnockback - .4byte GenericDeath - .4byte GenericConfused - .4byte AcroBandit_OnGrabbed - -gUnk_080CE584:: @ 080CE584 - .4byte sub_08031A88 - .4byte sub_08031E90 - -gUnk_080CE58C:: @ 080CE58C - .4byte sub_08031AA0 - .4byte sub_08031AC8 - .4byte sub_08031B48 - .4byte sub_08031B98 - .4byte sub_08031C1C - .4byte sub_08031C58 - .4byte sub_08031D70 - .4byte sub_08031DA0 - .4byte sub_08031DC4 - -gUnk_080CE5B0:: @ 080CE5B0 - .incbin "acroBandits/gUnk_080CE5B0.bin" - -gUnk_080CE5B8:: @ 080CE5B8 - .incbin "acroBandits/gUnk_080CE5B8.bin" - -gUnk_080CE5C0:: @ 080CE5C0 - .incbin "acroBandits/gUnk_080CE5C0.bin" - -gUnk_080CE5C8:: @ 080CE5C8 - .4byte sub_08031EA8 - .4byte sub_08031EE8 - .4byte sub_08031F54 - .4byte sub_08031FB0 - .4byte sub_08032008 - .4byte sub_08032148 - .4byte sub_08032160 - .4byte sub_080321E8 - .4byte sub_08032204 - .4byte sub_08032248 - -gUnk_080CE5F0:: @ 080CE5F0 - .incbin "acroBandits/gUnk_080CE5F0.bin" - -gUnk_080CE5FA:: @ 080CE5FA - .incbin "acroBandits/gUnk_080CE5FA.bin" diff --git a/data/const/enemy/flyingPot.s b/data/const/enemy/flyingPot.s deleted file mode 100644 index f02b1ecc..00000000 --- a/data/const/enemy/flyingPot.s +++ /dev/null @@ -1,34 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .section .rodata - .align 2 - - -gUnk_080CF244:: @ 080CF244 - .4byte sub_0803708C - .4byte sub_080370A4 - .4byte GenericKnockback - .4byte GenericDeath - .4byte GenericConfused - .4byte sub_0803712C - -gUnk_080CF25C:: @ 080CF25C - .4byte sub_08037220 - .4byte sub_08037280 - .4byte sub_080372E8 - .4byte sub_0803737C - .4byte sub_080373B0 - .4byte sub_080373C8 - .4byte sub_080373E0 - -gUnk_080CF278:: @ 080CF278 - .4byte sub_08037144 - .4byte sub_0803715C - .4byte sub_0803718C - .4byte sub_080371F8 - .4byte nullsub_161 - .4byte sub_08037218 - -gUnk_080CF290:: @ 080CF290 - .incbin "flyingPot/gUnk_080CF290.bin" diff --git a/data/const/object/bird.s b/data/const/object/bird.s deleted file mode 100644 index c07b7eb7..00000000 --- a/data/const/object/bird.s +++ /dev/null @@ -1,34 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .section .rodata - .align 2 - -gUnk_08123EC0:: @ 08123EC0 - .4byte sub_0809CF3C - .4byte sub_0809D030 - .4byte sub_0809D0F4 - .4byte sub_0809D178 - .4byte sub_0809D178 - .4byte sub_0809D178 - .4byte sub_0809D178 - .4byte sub_0809D178 - .4byte sub_0809D1F0 - .4byte sub_0809D498 - .4byte sub_0809D66C - -gUnk_08123EEC:: @ 08123EEC - .4byte sub_0809CF54 - .4byte sub_0809CFEC - -gUnk_08123EF4:: @ 08123EF4 - .4byte sub_0809D048 - .4byte sub_0809D06C - -gUnk_08123EFC:: @ 08123EFC - .4byte sub_0809D084 - .4byte sub_0809D0AC - -gUnk_08123F04:: @ 08123F04 - .4byte sub_0809D10C - .4byte sub_0809D130 diff --git a/data/const/object/mazaalBossObject.s b/data/const/object/mazaalBossObject.s deleted file mode 100644 index a58e800e..00000000 --- a/data/const/object/mazaalBossObject.s +++ /dev/null @@ -1,16 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .section .rodata - .align 2 - -gUnk_08123D28:: @ 08123D28 - .4byte sub_0809AB04 - .4byte sub_0809ABA4 - .4byte sub_0809ABB0 - .4byte sub_0809ABD4 - .4byte sub_0809ABF4 - .4byte sub_0809AC3C - .4byte sub_0809ACA0 - .4byte sub_0809ACCC - .4byte sub_0809ACE8 diff --git a/data/const/object/minecart.s b/data/const/object/minecart.s deleted file mode 100644 index 049745c8..00000000 --- a/data/const/object/minecart.s +++ /dev/null @@ -1,21 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .section .rodata - .align 2 - -gUnk_081223A8:: @ 081223A8 - .4byte sub_080916EC - .4byte sub_080917DC - .4byte sub_080918A4 - .4byte sub_080919AC - .4byte sub_08091C0C - .4byte sub_08091C98 - .4byte sub_08091CC8 - .4byte sub_08091D90 - -gUnk_081223C8:: @ 081223C8 - .incbin "minecart/gUnk_081223C8.bin" - -gUnk_081223D0:: @ 081223D0 - .incbin "minecart/gUnk_081223D0.bin" diff --git a/data/const/object/object96.s b/data/const/object/object96.s deleted file mode 100644 index 88aad895..00000000 --- a/data/const/object/object96.s +++ /dev/null @@ -1,83 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .section .rodata - .align 2 - -gUnk_08123FB0:: @ 08123FB0 - .4byte sub_0809D91C - .4byte sub_0809D93C - .4byte 0x30300000 - .4byte 0x133c3c01 - .4byte 0x00010000 - .4byte 0x00001800 - .4byte 0x00400060 - .4byte 0x00014021 - .4byte sub_0809D91C - .4byte 00000000 - .4byte 00000000 - .4byte 0x10636300 - .4byte 00000000 - .4byte 0x00001800 - .4byte 0x00180000 -.ifdef JP - .4byte 0x000000CD -.else -.ifdef DEMO_JP - .4byte 0x000000CD -.else -.ifdef EU - .4byte 0x000000CD @ TODO deduplicate -.else - .4byte 0x000000d0 -.endif -.endif -.endif - .4byte sub_0809D91C - .4byte 00000000 - .4byte 00000000 - .4byte 0x0f3c3c00 - .4byte 0x00010000 - .4byte 0x00001800 - .4byte 0x00400060 - .4byte 0x00014021 - .4byte sub_0809D91C - .4byte 00000000 - .4byte 00000000 - .4byte 0x023c3c00 - .4byte 0x00010000 - .4byte 0x00001800 - .4byte 0x00400140 - .4byte 0x00014021 - .4byte sub_0809D91C - .4byte 00000000 - .4byte 00000000 - .4byte 0x0d3c3c00 - .4byte 0x00010000 - .4byte 0x00001800 - .4byte 0x00400060 - .4byte 0x00014021 - .4byte sub_0809D91C - .4byte 00000000 - .4byte 00000000 - .4byte 0x1a3c3c00 - .4byte 0x00010000 - .4byte 0x00001800 - .4byte 0x00400100 - .4byte 0x00014021 - .4byte sub_0809D91C - .4byte 00000000 - .4byte 00000000 - .4byte 0x133c3c00 - .4byte 0x00010000 - .4byte 0x00001800 - .4byte 0x00400060 - - .incbin "object96/gUnk_08123FB0.bin" - -gUnk_081240B0:: @ 081240B0 - .4byte sub_0809D7A8 - .4byte sub_0809D824 - .4byte sub_0809D860 - .4byte sub_0809D8C8 - diff --git a/data/const/object/object98.s b/data/const/object/object98.s deleted file mode 100644 index 732233be..00000000 --- a/data/const/object/object98.s +++ /dev/null @@ -1,9 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .section .rodata - .align 2 - -gUnk_0812418C:: @ 0812418C - .4byte sub_0809E360 - .4byte sub_0809E3E4 diff --git a/data/const/object/objectA6.s b/data/const/object/objectA6.s deleted file mode 100644 index 112174af..00000000 --- a/data/const/object/objectA6.s +++ /dev/null @@ -1,9 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .section .rodata - .align 2 - -gUnk_08124800:: @ 08124800 - .4byte sub_0809F920 - .4byte sub_0809F964 diff --git a/data/const/object/objectA9.s b/data/const/object/objectA9.s deleted file mode 100644 index 50217af0..00000000 --- a/data/const/object/objectA9.s +++ /dev/null @@ -1,16 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .section .rodata - .align 2 - -gUnk_08124850:: @ 08124850 - .4byte sub_0809FEF8 - .4byte sub_0809FF28 - .4byte DeleteEntity - -gUnk_0812485C:: @ 0812485C - .incbin "objectA9/gUnk_0812485C.bin" - -gUnk_08124860:: @ 08124860 - .incbin "objectA9/gUnk_08124860.bin" diff --git a/data/const/object/objectAB.s b/data/const/object/objectAB.s deleted file mode 100644 index 3ac4b9fb..00000000 --- a/data/const/object/objectAB.s +++ /dev/null @@ -1,10 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .section .rodata - .align 2 - -gUnk_0812486C:: @ 0812486C - .4byte sub_080A00F8 - .4byte sub_080A012C - .4byte sub_080A0158 diff --git a/data/const/object/objectAD.s b/data/const/object/objectAD.s deleted file mode 100644 index a569ed91..00000000 --- a/data/const/object/objectAD.s +++ /dev/null @@ -1,9 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .section .rodata - .align 2 - -gUnk_081248BC:: @ 081248BC - .4byte sub_080A04A4 - .4byte sub_080A04E0 diff --git a/data/const/object/objectB4.s b/data/const/object/objectB4.s deleted file mode 100644 index cc9159af..00000000 --- a/data/const/object/objectB4.s +++ /dev/null @@ -1,17 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .section .rodata - .align 2 - -gUnk_08124B10:: @ 08124B10 - .incbin "objectB4/gUnk_08124B10.bin" - -gUnk_08124B20:: @ 08124B20 - .4byte sub_080A0BA8 - .4byte sub_080A0CE8 - .4byte sub_080A0D70 - .4byte sub_080A0E08 - -gUnk_08124B30:: @ 08124B30 - .incbin "objectB4/gUnk_08124B30.bin" diff --git a/data/const/object/objectB9.s b/data/const/object/objectB9.s deleted file mode 100644 index 7a5da340..00000000 --- a/data/const/object/objectB9.s +++ /dev/null @@ -1,21 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .section .rodata - .align 2 - -gUnk_08124C20:: @ 08124C20 - .incbin "objectB9/gUnk_08124C20.bin" - -gUnk_08124C48:: @ 08124C48 - .incbin "objectB9/gUnk_08124C48.bin" - -gUnk_08124EA0:: @ 08124EA0 - .incbin "objectB9/gUnk_08124EA0.bin" - -gUnk_08124EC8:: @ 08124EC8 - .incbin "objectB9/gUnk_08124EC8.bin" - -gUnk_08124ECC:: @ 08124ECC - .incbin "objectB9/gUnk_08124ECC.bin" - diff --git a/data/const/object/objectBlockingStairs.s b/data/const/object/objectBlockingStairs.s deleted file mode 100644 index a68959bf..00000000 --- a/data/const/object/objectBlockingStairs.s +++ /dev/null @@ -1,27 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .section .rodata - .align 2 - -gUnk_0812283C:: @ 0812283C - .4byte sub_08092EEC - .4byte sub_08092F68 - .4byte sub_080930F4 - .4byte sub_08093178 - .4byte nullsub_120 - -gUnk_08122850:: @ 08122850 - .incbin "objectBlockingStairs/gUnk_08122850.bin" - -gUnk_08122862:: @ 08122862 - .incbin "objectBlockingStairs/gUnk_08122862.bin" - -gUnk_08122874:: @ 08122874 - .incbin "objectBlockingStairs/gUnk_08122874.bin" - -gUnk_08122886:: @ 08122886 - .incbin "objectBlockingStairs/gUnk_08122886.bin" - -gUnk_08122898:: @ 08122898 - .incbin "objectBlockingStairs/gUnk_08122898.bin" diff --git a/data/const/object/picoBloom.s b/data/const/object/picoBloom.s deleted file mode 100644 index db60592d..00000000 --- a/data/const/object/picoBloom.s +++ /dev/null @@ -1,13 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .section .rodata - .align 2 - -gUnk_08123568:: @ 08123568 - .4byte sub_08098A90 - .4byte sub_08098AD0 - .4byte sub_08098AE8 - -gUnk_08123574:: @ 08123574 - .incbin "picoBloom/gUnk_08123574.bin" diff --git a/data/data_08108E6C.s b/data/data_08108E6C.s index 5e50bd0e..8cad3253 100644 --- a/data/data_08108E6C.s +++ b/data/data_08108E6C.s @@ -390,7 +390,7 @@ gUnk_081091F8:: @ 081091F8 gUnk_08109202:: @ 08109202 .incbin "data_08108E6C/gUnk_08109202.bin" -gUnk_08109214:: @ 08109214 +gTranslations:: @ 08109214 .4byte translation .4byte translation .4byte translation diff --git a/data/data_0811E750.s b/data/data_0811E750.s index df1745c8..fe86f629 100644 --- a/data/data_0811E750.s +++ b/data/data_0811E750.s @@ -4,30 +4,10 @@ .section .rodata .align 2 -gUnk_0811E768:: @ 0811E768 - .4byte sub_0807FC64 - .4byte sub_0807FC7C - .4byte sub_0807FDB0 - .4byte 00000000 - .4byte sub_0807FEF0 - .4byte sub_0807FF54 -gUnk_0811E780:: @ 0811E780 - .4byte sub_0807FDC8 - .4byte sub_0807FDE4 - .4byte sub_0807FDF8 -gUnk_0811E78C:: @ 0811E78C - .4byte sub_0807FF08 - .4byte sub_0807FF1C -gUnk_0811E794:: @ 0811E794 - .4byte sub_0807FF6C - .4byte sub_0807FFE4 - .4byte sub_08080040 - .4byte sub_08080108 - .4byte sub_08080198 - .4byte sub_080801BC + gUnk_0811E7AC:: @ 0811E7AC .4byte sub_08080794 diff --git a/data/data_08127280.s b/data/data_08127280.s index cc57aa11..26384a3d 100644 --- a/data/data_08127280.s +++ b/data/data_08127280.s @@ -4,23 +4,7 @@ .section .rodata .align 2 -gUnk_08127280:: @ 08127280 - .incbin "data_08127280/gUnk_08127280.bin" - -gUnk_08127298:: @ 08127298 - .incbin "data_08127280/gUnk_08127298.bin" - -gUnk_081272B0:: @ 081272B0 - .incbin "data_08127280/gUnk_081272B0.bin" - -gUnk_081272C8:: @ 081272C8 - .incbin "data_08127280/gUnk_081272C8.bin" - -gUnk_081272E0:: @ 081272E0 - .4byte gUnk_08127280 - .4byte gUnk_08127298 - .4byte gUnk_081272B0 - .4byte gUnk_081272C8 +@ staffroll rodata gUnk_081272F0:: @ 081272F0 .incbin "data_08127280/gUnk_081272F0.bin" @@ -35,20 +19,23 @@ gUnk_08127CEC:: @ 08127CEC .incbin "data_08127280/gUnk_08127CEC.bin" gUnk_08127D00:: @ 08127D00 - .4byte sub_080A3608 - .4byte sub_080A36C0 - .4byte sub_080A3994 - .4byte sub_080A3980 + .4byte StaffrollTask_State0 + .4byte StaffrollTask_State1 + .4byte StaffrollTask_State2 + .4byte StaffrollTask_State3 gUnk_08127D10:: @ 08127D10 - .4byte sub_080A36DC - .4byte sub_080A36F8 - .4byte sub_080A3768 - .4byte sub_080A3864 - .4byte sub_080A3888 - .4byte sub_080A38B4 - .4byte sub_080A38D0 - .4byte sub_080A3930 + .4byte StaffrollTask_State1MenuType0 + .4byte StaffrollTask_State1MenuType1 + .4byte StaffrollTask_State1MenuType2 + .4byte StaffrollTask_State1MenuType3 + .4byte StaffrollTask_State1MenuType4 + .4byte StaffrollTask_State1MenuType5 + .4byte StaffrollTask_State1MenuType6 + .4byte StaffrollTask_State1MenuType7 + +@ End of staffroll + gAreaMetadata:: @ 08127D30 .ifdef EU diff --git a/data/map/entity_headers.s b/data/map/entity_headers.s index 6b198ba9..9df5f918 100644 --- a/data/map/entity_headers.s +++ b/data/map/entity_headers.s @@ -58,12 +58,12 @@ Area_MinishVillage:: @ 080D4170 .4byte 0x0 .4byte 0x0 -Area_MinishPaths1:: @ 080D41B0 - .4byte Room_MinishPaths1_ToMinishVillage - .4byte Room_MinishPaths1_CastorWilds - .4byte Room_MinishPaths1_HyruleTown - .4byte Room_MinishPaths1_LonLonRanch - .4byte Room_MinishPaths1_MayorsCabin +Area_MinishPaths:: @ 080D41B0 + .4byte Room_MinishPaths_ToMinishVillage + .4byte Room_MinishPaths_CastorWilds + .4byte Room_MinishPaths_HyruleTown + .4byte Room_MinishPaths_LonLonRanch + .4byte Room_MinishPaths_MayorsCabin .4byte 0x0 .4byte 0x0 .4byte 0x0 @@ -149,15 +149,15 @@ Area_HyruleTownMinishCaves:: @ 080D4284 Area_HyruleField:: @ 080D42DC .4byte Room_HyruleField_WesternWoodSouth - .4byte Room_HyruleField_LinksHouseExterior - .4byte Room_HyruleField_FromMinishWoods - .4byte Room_HyruleField_FromMinishWoodsNorth - .4byte Room_HyruleField_Farmers + .4byte Room_HyruleField_SouthHyruleField + .4byte Room_HyruleField_EasternHillsSouth + .4byte Room_HyruleField_EasternHillsCenter + .4byte Room_HyruleField_EasternHillsNorth .4byte Room_HyruleField_LonLonRanch .4byte Room_HyruleField_OutsideCastle - .4byte Room_HyruleField_OutsideCastleWest .4byte Room_HyruleField_TrilbyHighlands - .4byte Room_HyruleField_PercysHouse + .4byte Room_HyruleField_WesternWoodsNorth + .4byte Room_HyruleField_WesternWoodsCenter Area_CastorWilds:: @ 080D4304 .4byte Room_CastorWilds_Main @@ -534,57 +534,57 @@ Area_RoyalCrypt:: @ 080D47D0 .4byte Room_RoyalCrypt_Entrance Area_PalaceOfWinds:: @ 080D47F4 - .4byte Room_PalaceOfWinds_0 - .4byte Room_PalaceOfWinds_1 - .4byte Room_PalaceOfWinds_2 - .4byte Room_PalaceOfWinds_3 - .4byte Room_PalaceOfWinds_4 - .4byte Room_PalaceOfWinds_5 - .4byte Room_PalaceOfWinds_6 - .4byte Room_PalaceOfWinds_7 - .4byte Room_PalaceOfWinds_8 - .4byte Room_PalaceOfWinds_9 - .4byte Room_PalaceOfWinds_10 - .4byte Room_PalaceOfWinds_11 - .4byte Room_PalaceOfWinds_12 - .4byte Room_PalaceOfWinds_13 - .4byte Room_PalaceOfWinds_14 - .4byte Room_PalaceOfWinds_15 - .4byte Room_PalaceOfWinds_16 - .4byte Room_PalaceOfWinds_17 - .4byte Room_PalaceOfWinds_18 - .4byte Room_PalaceOfWinds_19 - .4byte Room_PalaceOfWinds_20 - .4byte Room_PalaceOfWinds_21 - .4byte Room_PalaceOfWinds_22 - .4byte Room_PalaceOfWinds_23 - .4byte Room_PalaceOfWinds_24 - .4byte Room_PalaceOfWinds_25 - .4byte Room_PalaceOfWinds_26 - .4byte Room_PalaceOfWinds_27 - .4byte Room_PalaceOfWinds_28 - .4byte Room_PalaceOfWinds_29 - .4byte Room_PalaceOfWinds_30 - .4byte Room_PalaceOfWinds_31 - .4byte Room_PalaceOfWinds_32 - .4byte Room_PalaceOfWinds_33 - .4byte Room_PalaceOfWinds_34 - .4byte Room_PalaceOfWinds_35 - .4byte Room_PalaceOfWinds_36 - .4byte Room_PalaceOfWinds_37 - .4byte Room_PalaceOfWinds_38 - .4byte Room_PalaceOfWinds_39 - .4byte Room_PalaceOfWinds_40 - .4byte Room_PalaceOfWinds_41 - .4byte Room_PalaceOfWinds_42 - .4byte Room_PalaceOfWinds_43 - .4byte Room_PalaceOfWinds_44 - .4byte Room_PalaceOfWinds_45 - .4byte Room_PalaceOfWinds_46 - .4byte Room_PalaceOfWinds_47 - .4byte Room_PalaceOfWinds_48 - .4byte Room_PalaceOfWinds_49 - .4byte Room_PalaceOfWinds_50 + .4byte Room_PalaceOfWinds_GyorgTornado + .4byte Room_PalaceOfWinds_BossKey + .4byte Room_PalaceOfWinds_BeforeBallAndChainSoldiers + .4byte Room_PalaceOfWinds_GyorgBossDoor + .4byte Room_PalaceOfWinds_EastChestFromGyorgBossDoor + .4byte Room_PalaceOfWinds_MoblinAndWizzrobeFight + .4byte Room_PalaceOfWinds_FourButtonStalfos + .4byte Room_PalaceOfWinds_FanAndKeyToBossKey + .4byte Room_PalaceOfWinds_BallAndChainSoldiers + .4byte Room_PalaceOfWinds_BombarossaPath + .4byte Room_PalaceOfWinds_HoleToDarknut + .4byte Room_PalaceOfWinds_ToBombarossaPath + .4byte Room_PalaceOfWinds_DarknutMiniboss + .4byte Room_PalaceOfWinds_BombWallInside + .4byte Room_PalaceOfWinds_BombWallOutside + .4byte Room_PalaceOfWinds_CloudJumps + .4byte Room_PalaceOfWinds_BlockMazeToBossDoor + .4byte Room_PalaceOfWinds_CrackedFloorLakitu + .4byte Room_PalaceOfWinds_HeartPieceBridge + .4byte Room_PalaceOfWinds_FanBridge + .4byte Room_PalaceOfWinds_ToFanBridge + .4byte Room_PalaceOfWinds_RedWarpHall + .4byte Room_PalaceOfWinds_PlatformCloneRide + .4byte Room_PalaceOfWinds_PitCornerAfterKey + .4byte Room_PalaceOfWinds_CrowRide + .4byte Room_PalaceOfWinds_GratePlatformRide + .4byte Room_PalaceOfWinds_PotPush + .4byte Room_PalaceOfWinds_FloormasterLever + .4byte Room_PalaceOfWinds_Map + .4byte Room_PalaceOfWinds_CornerToMap + .4byte Room_PalaceOfWinds_StairsAfterFloormaster + .4byte Room_PalaceOfWinds_HoleToKinstoneWizzrobe + .4byte Room_PalaceOfWinds_KeyArrowButton + .4byte Room_PalaceOfWinds_GratesTo3F + .4byte Room_PalaceOfWinds_SpinyFight + .4byte Room_PalaceOfWinds_PeahatSwitch + .4byte Room_PalaceOfWinds_WhirlwindBombarossa + .4byte Room_PalaceOfWinds_DoorToStalfosFirebar + .4byte Room_PalaceOfWinds_StalfosFireborHole + .4byte Room_PalaceOfWinds_ShortcutDoorButtons + .4byte Room_PalaceOfWinds_ToPeahatSwitch + .4byte Room_PalaceOfWinds_KinstoneWizzrobeFight + .4byte Room_PalaceOfWinds_GibdoStairs + .4byte Room_PalaceOfWinds_SpikeBarSmallKey + .4byte Room_PalaceOfWinds_RocCape + .4byte Room_PalaceOfWinds_FireBarGrates + .4byte Room_PalaceOfWinds_PlatformRideBombarossas + .4byte Room_PalaceOfWinds_BridgeAfterDarknut + .4byte Room_PalaceOfWinds_BridgeSwitchesCloneBlock + .4byte Room_PalaceOfWinds_EntranceRoom + .4byte Room_PalaceOfWinds_DarkCompassHall Area_PalaceOfWindsBoss:: @ 080D48C0 .4byte Room_PalaceOfWindsBoss_Main @@ -608,65 +608,65 @@ Area_SanctuaryEntrance:: @ 080D48F0 .4byte Room_SanctuaryEntrance_Main Area_DarkHyruleCastle:: @ 080D48F4 - .4byte Room_DarkHyruleCastle_0 - .4byte Room_DarkHyruleCastle_1 - .4byte Room_DarkHyruleCastle_2 - .4byte Room_DarkHyruleCastle_3 - .4byte Room_DarkHyruleCastle_4 - .4byte Room_DarkHyruleCastle_5 - .4byte Room_DarkHyruleCastle_6 - .4byte Room_DarkHyruleCastle_7 - .4byte Room_DarkHyruleCastle_8 - .4byte Room_DarkHyruleCastle_9 - .4byte Room_DarkHyruleCastle_10 - .4byte Room_DarkHyruleCastle_11 - .4byte Room_DarkHyruleCastle_12 - .4byte Room_DarkHyruleCastle_13 - .4byte Room_DarkHyruleCastle_14 - .4byte Room_DarkHyruleCastle_15 - .4byte Room_DarkHyruleCastle_16 - .4byte Room_DarkHyruleCastle_17 - .4byte Room_DarkHyruleCastle_18 - .4byte Room_DarkHyruleCastle_19 - .4byte Room_DarkHyruleCastle_20 - .4byte Room_DarkHyruleCastle_21 - .4byte Room_DarkHyruleCastle_22 - .4byte Room_DarkHyruleCastle_23 - .4byte Room_DarkHyruleCastle_24 - .4byte Room_DarkHyruleCastle_25 - .4byte Room_DarkHyruleCastle_26 - .4byte Room_DarkHyruleCastle_27 - .4byte Room_DarkHyruleCastle_28 - .4byte Room_DarkHyruleCastle_29 - .4byte Room_DarkHyruleCastle_30 - .4byte Room_DarkHyruleCastle_31 - .4byte Room_DarkHyruleCastle_32 - .4byte Room_DarkHyruleCastle_33 - .4byte Room_DarkHyruleCastle_34 - .4byte Room_DarkHyruleCastle_35 - .4byte Room_DarkHyruleCastle_36 - .4byte Room_DarkHyruleCastle_37 - .4byte Room_DarkHyruleCastle_38 - .4byte Room_DarkHyruleCastle_39 - .4byte Room_DarkHyruleCastle_40 - .4byte Room_DarkHyruleCastle_41 - .4byte Room_DarkHyruleCastle_42 - .4byte Room_DarkHyruleCastle_43 - .4byte Room_DarkHyruleCastle_44 - .4byte Room_DarkHyruleCastle_45 - .4byte Room_DarkHyruleCastle_46 - .4byte Room_DarkHyruleCastle_47 - .4byte Room_DarkHyruleCastle_48 - .4byte Room_DarkHyruleCastle_49 - .4byte Room_DarkHyruleCastle_50 - .4byte Room_DarkHyruleCastle_51 - .4byte Room_DarkHyruleCastle_52 - .4byte Room_DarkHyruleCastle_53 - .4byte Room_DarkHyruleCastle_54 - .4byte Room_DarkHyruleCastle_55 - .4byte Room_DarkHyruleCastle_56 - .4byte Room_DarkHyruleCastle_57 - .4byte Room_DarkHyruleCastle_58 + .4byte Room_DarkHyruleCastle_1FEntrance + .4byte Room_DarkHyruleCastle_3FTopLeftTower + .4byte Room_DarkHyruleCastle_3FTopRightTower + .4byte Room_DarkHyruleCastle_3FBottomLeftTower + .4byte Room_DarkHyruleCastle_3FBottomRightTower + .4byte Room_DarkHyruleCastle_3FKeatonHallToVaati + .4byte Room_DarkHyruleCastle_3FTripleDarknut + .4byte Room_DarkHyruleCastle_2FTopLeftTower + .4byte Room_DarkHyruleCastle_2FTopLeftCorner + .4byte Room_DarkHyruleCastle_2FBossKey + .4byte Room_DarkHyruleCastle_2FBlueWarp + .4byte Room_DarkHyruleCastle_2FTopRightCornerGhini + .4byte Room_DarkHyruleCastle_2FTopRightCornerTorches + .4byte Room_DarkHyruleCastle_2FTopRightTower + .4byte Room_DarkHyruleCastle_2FTopLeftDarknut + .4byte Room_DarkHyruleCastle_2FSparks + .4byte Room_DarkHyruleCastle_2FTopRightDarknuts + .4byte Room_DarkHyruleCastle_2FLeft + .4byte Room_DarkHyruleCastle_2FRight + .4byte Room_DarkHyruleCastle_2FBottomLeftDarknuts + .4byte Room_DarkHyruleCastle_2FBossDoor + .4byte Room_DarkHyruleCastle_2FBottomRightDarknut + .4byte Room_DarkHyruleCastle_2FBottomLeftCornerPuzzle + .4byte Room_DarkHyruleCastle_2FEntrance + .4byte Room_DarkHyruleCastle_2FBottomLeftCorner + .4byte Room_DarkHyruleCastle_2FBottomLeftTower + .4byte Room_DarkHyruleCastle_2FBottomLeftGhini + .4byte Room_DarkHyruleCastle_3FTopRightTower7 + .4byte Room_DarkHyruleCastle_B1Entrance + .4byte Room_DarkHyruleCastle_2FBottomRightTower + .4byte Room_DarkHyruleCastle_1FTopLeftTower + .4byte Room_DarkHyruleCastle_1FThroneRoom + .4byte Room_DarkHyruleCastle_1FCompass + .4byte Room_DarkHyruleCastle_1FTopRightTower + .4byte Room_DarkHyruleCastle_1FBeforeThrone + .4byte Room_DarkHyruleCastle_1FLoopTopLeft + .4byte Room_DarkHyruleCastle_1FLoopTop + .4byte Room_DarkHyruleCastle_1FLoopTopRight + .4byte Room_DarkHyruleCastle_1FLoopLeft + .4byte Room_DarkHyruleCastle_1FLoopRight + .4byte Room_DarkHyruleCastle_1FLoopBottomLeft + .4byte Room_DarkHyruleCastle_1FLoopBottom + .4byte Room_DarkHyruleCastle_1FLoopBottomRight + .4byte Room_DarkHyruleCastle_1FBottomLeftTower + .4byte Room_DarkHyruleCastle_1FBottomRightTower + .4byte Room_DarkHyruleCastle_B1BelowThrone + .4byte Room_DarkHyruleCastle_B1BelowCompass + .4byte Room_DarkHyruleCastle_B1BeforeThrone + .4byte Room_DarkHyruleCastle_B1ToPrison + .4byte Room_DarkHyruleCastle_B1BombWall + .4byte Room_DarkHyruleCastle_B1Keatons + .4byte Room_DarkHyruleCastle_B1ToPrisonFirebar + .4byte Room_DarkHyruleCastle_B1Cannons + .4byte Room_DarkHyruleCastle_B1Left + .4byte Room_DarkHyruleCastle_B1Right + .4byte Room_DarkHyruleCastle_B1Map + .4byte Room_DarkHyruleCastle_B2ToPrison + .4byte Room_DarkHyruleCastle_B2Prison + .4byte Room_DarkHyruleCastle_B2Dropdown Area_VaatisArms:: @ 080D49E0 .4byte Room_VaatisArms_First @@ -787,7 +787,7 @@ Area_MinishHouseInteriors:: @ 080D4ABC .4byte 0x0 .4byte 0x0 .4byte Room_MinishHouseInteriors_HyruleFieldSouthwest - .4byte Room_MinishHouseInteriors_HyruleFieldOutsideLinksHouse + .4byte Room_MinishHouseInteriors_SouthHyruleField .4byte Room_MinishHouseInteriors_NextToKnuckle .4byte Room_MinishHouseInteriors_Librari .4byte Room_MinishHouseInteriors_HyruleFieldExit @@ -910,7 +910,7 @@ Area_HouseInteriors2:: @ 080D4CBC .4byte Room_HouseInteriors2_LinksHouseSmith .4byte Room_HouseInteriors2_Dampe .4byte 0x0 - .4byte Room_HouseInteriors2_Stockwell + .4byte Room_HouseInteriors2_StockwellLakeHouse .4byte Room_HouseInteriors2_LinksHouseBedroom .4byte 0x0 .4byte 0x0 @@ -945,7 +945,7 @@ Area_HouseInteriors4:: @ 080D4D7C .4byte Room_HouseInteriors4_RanchHouseWest .4byte Room_HouseInteriors4_RanchHouseEast .4byte Room_HouseInteriors4_FarmHouse - .4byte Room_HouseInteriors4_Mayor + .4byte Room_HouseInteriors4_MayorLakeCabin .4byte 0x0 .4byte 0x0 .4byte 0x0 @@ -977,19 +977,19 @@ Area_TreeInteriors:: @ 080D4DBC .4byte Room_TreeInteriors_StairsToCarlov .4byte Room_TreeInteriors_PercysTreehouse .4byte Room_TreeInteriors_HeartPiece - .4byte Room_TreeInteriors_StairsToBladeBrother + .4byte Room_TreeInteriors_Waveblade .4byte Room_TreeInteriors_14 .4byte Room_TreeInteriors_BoomerangNorthwest .4byte Room_TreeInteriors_BoomerangNortheast .4byte Room_TreeInteriors_BoomerangSouthwest .4byte Room_TreeInteriors_BoomerangSoutheast - .4byte Room_TreeInteriors_HeartPieceSouthwestField - .4byte Room_TreeInteriors_StairsToFairyFountain - .4byte Room_TreeInteriors_StairsToWalletFairy + .4byte Room_TreeInteriors_WesternWoodsHeartPiece + .4byte Room_TreeInteriors_NorthHyruleFieldFairyFountain + .4byte Room_TreeInteriors_MinishWoodsGreatFairy .4byte Room_TreeInteriors_1C - .4byte Room_TreeInteriors_StairsToBusinessScrub + .4byte Room_TreeInteriors_MinishWoodsBusinessScrub .4byte Room_TreeInteriors_1E - .4byte Room_TreeInteriors_1F + .4byte Room_TreeInteriors_UnusedHeartContainer Area_Dojos:: @ 080D4E3C .4byte Room_Dojos_Grayblade @@ -1022,7 +1022,7 @@ Area_CrenelCaves:: @ 080D4E7C .4byte Room_CrenelCaves_RupeeFairyFountain .4byte Room_CrenelCaves_HelmasaurHallway .4byte Room_CrenelCaves_MushroomKeese - .4byte Room_CrenelCaves_LadderToGreenWater + .4byte Room_CrenelCaves_LadderToSpringWater .4byte Room_CrenelCaves_BombBusinessScrub .4byte Room_CrenelCaves_Hermit .4byte Room_CrenelCaves_HintScrub @@ -1035,7 +1035,7 @@ Area_MinishCracks:: @ 080D4EC0 .4byte Room_MinishCracks_MtCrenel .4byte Room_MinishCracks_EastHyruleCastle .4byte Room_MinishCracks_5 - .4byte Room_MinishCracks_CastleWildsBowHole + .4byte Room_MinishCracks_CastorWildsBow .4byte Room_MinishCracks_RuinsEntrance .4byte Room_MinishCracks_MinishWoodsSouth .4byte Room_MinishCracks_CastorWildsNorth @@ -1073,7 +1073,7 @@ Area_WindTribeTowerRoof:: @ 080D4F44 .4byte Area_WindTribeTowerRoof_Main Area_GoronCave:: @ 080D4F48 - .4byte Room_GoronCave_StairsToCave + .4byte Room_GoronCave_Stairs .4byte Room_GoronCave_Main Area_Caves:: @ 080D4F50 @@ -1084,22 +1084,22 @@ Area_Caves:: @ 080D4F50 .4byte Room_Caves_4 .4byte Room_Caves_5 .4byte Room_Caves_6 - .4byte Room_Caves_KeeseChest - .4byte Room_Caves_FairyFountainTrilbyHighlands - .4byte Room_Caves_FairyFountainLinksHouse + .4byte Room_Caves_TrilbyKeeseChest + .4byte Room_Caves_TrilbyFairyFountain + .4byte Room_Caves_SouthHyruleFieldFairyFountain .4byte Room_Caves_A .4byte Room_Caves_HyruleTownWaterfall .4byte Room_Caves_LonLonRanch .4byte Room_Caves_LonLonRanchSecret .4byte Room_Caves_TrilbyHighlands .4byte Room_Caves_LonLonRanchWallet - .4byte Room_Caves_RupeeLinksHouse - .4byte Room_Caves_RupeeTrilbyHighlands - .4byte Room_Caves_FairyFountainMoleMitts - .4byte Room_Caves_KeeseChestSoutheastHyrule + .4byte Room_Caves_SouthHyruleFieldRupee + .4byte Room_Caves_TrilbyRupee + .4byte Room_Caves_TrilbyMittsFairyFountain + .4byte Room_Caves_HillsKeeseChest .4byte Room_Caves_BottleBusinessScrub .4byte Room_Caves_HeartPieceHallway - .4byte Room_Caves_FairyFountainBoomerang + .4byte Room_Caves_NorthHyruleFieldFairyFountain .4byte Room_Caves_KinstoneBusinessScrub Area_VeilFallsCaves:: @ 080D4FB0 @@ -1231,7 +1231,7 @@ gAreaTable:: @ 080D50FC .4byte Area_Empty @ 0xE .4byte Area_HyruleDigCaves @ 0xF .4byte Area_MelarisMine @ 0x10 - .4byte Area_MinishPaths1 @ 0x11 + .4byte Area_MinishPaths @ 0x11 .4byte Area_CrenelMinishPaths @ 0x12 .4byte Area_DigCaves1 @ 0x13 .4byte Area_CrenelDigCave @ 0x14 @@ -1738,10 +1738,10 @@ Room_CrenelMinishPaths_MelarisMine:: @ 080D5C38 .4byte sub_unk3_CrenelMinishPaths_MelarisMine .4byte sub_StateChange_CrenelMinishPaths_MelarisMine -Entities_MinishPaths1_ToMinishVillage_0:: @ 080D5C58 +Entities_MinishPaths_ToMinishVillage_0:: @ 080D5C58 entity_list_end -Entities_MinishPaths1_ToMinishVillage_1:: @ 080D5C68 +Entities_MinishPaths_ToMinishVillage_1:: @ 080D5C68 object_raw subtype=0x9a, x=0x50, y=0x70, collision=1, paramA=0x2 object_raw subtype=0x9a, x=0x90, y=0x160, collision=1 object_raw subtype=0x9a, x=0xa0, y=0x230, collision=1, paramA=0x3 @@ -1752,57 +1752,57 @@ Entities_MinishPaths1_ToMinishVillage_1:: @ 080D5C68 manager subtype=0x2, unknown=0x18 entity_list_end -Enemies_MinishPaths1_ToMinishVillage:: @ 080D5CF8 +Enemies_MinishPaths_ToMinishVillage:: @ 080D5CF8 entity_list_end -TileEntities_MinishPaths1_ToMinishVillage:: @ 080D5D08 +TileEntities_MinishPaths_ToMinishVillage:: @ 080D5D08 tile_entity type=0x7, paramB=0x1d00 tile_entity_list_end -Room_MinishPaths1_ToMinishVillage:: @ 080D5D18 - .4byte Entities_MinishPaths1_ToMinishVillage_0 - .4byte Entities_MinishPaths1_ToMinishVillage_1 - .4byte Enemies_MinishPaths1_ToMinishVillage - .4byte TileEntities_MinishPaths1_ToMinishVillage - .4byte sub_unk1_MinishPaths1_ToMinishVillage +Room_MinishPaths_ToMinishVillage:: @ 080D5D18 + .4byte Entities_MinishPaths_ToMinishVillage_0 + .4byte Entities_MinishPaths_ToMinishVillage_1 + .4byte Enemies_MinishPaths_ToMinishVillage + .4byte TileEntities_MinishPaths_ToMinishVillage + .4byte sub_unk1_MinishPaths_ToMinishVillage .4byte 0x00000000 - .4byte sub_unk3_MinishPaths1_ToMinishVillage - .4byte sub_StateChange_MinishPaths1_ToMinishVillage + .4byte sub_unk3_MinishPaths_ToMinishVillage + .4byte sub_StateChange_MinishPaths_ToMinishVillage -Entities_MinishPaths1_CastorWilds_0:: @ 080D5D38 +Entities_MinishPaths_CastorWilds_0:: @ 080D5D38 object_raw subtype=0x14, x=0x78, y=0x48, paramB=0x100 object_raw subtype=0x14, x=0x78, y=0x2d8, paramB=0x100 entity_list_end -Entities_MinishPaths1_CastorWilds_1:: @ 080D5D68 +Entities_MinishPaths_CastorWilds_1:: @ 080D5D68 object_raw subtype=0x78, x=0xa0, y=0x90, collision=1, paramB=0x1 object_raw subtype=0x78, x=0x70, y=0x190, collision=1 object_raw subtype=0x78, x=0xa0, y=0x220, collision=1, paramB=0x2 manager subtype=0x2, unknown=0x18 entity_list_end -Enemies_MinishPaths1_CastorWilds:: @ 080D5DB8 +Enemies_MinishPaths_CastorWilds:: @ 080D5DB8 entity_list_end -TileEntities_MinishPaths1_CastorWilds:: @ 080D5DC8 +TileEntities_MinishPaths_CastorWilds:: @ 080D5DC8 tile_entity type=0x7, paramB=0x1f00 tile_entity_list_end -Room_MinishPaths1_CastorWilds:: @ 080D5DD8 - .4byte Entities_MinishPaths1_CastorWilds_0 - .4byte Entities_MinishPaths1_CastorWilds_1 - .4byte Enemies_MinishPaths1_CastorWilds - .4byte TileEntities_MinishPaths1_CastorWilds - .4byte sub_unk1_MinishPaths1_CastorWilds +Room_MinishPaths_CastorWilds:: @ 080D5DD8 + .4byte Entities_MinishPaths_CastorWilds_0 + .4byte Entities_MinishPaths_CastorWilds_1 + .4byte Enemies_MinishPaths_CastorWilds + .4byte TileEntities_MinishPaths_CastorWilds + .4byte sub_unk1_MinishPaths_CastorWilds .4byte 0x00000000 - .4byte sub_unk3_MinishPaths1_CastorWilds - .4byte sub_StateChange_MinishPaths1_CastorWilds + .4byte sub_unk3_MinishPaths_CastorWilds + .4byte sub_StateChange_MinishPaths_CastorWilds -Entities_MinishPaths1_HyruleTown_0:: @ 080D5DF8 +Entities_MinishPaths_HyruleTown_0:: @ 080D5DF8 object_raw subtype=0x0, x=0x58, y=0x44, collision=1, paramA=0x63, paramB=0x400, paramC=0x7e0000 entity_list_end -Entities_MinishPaths1_HyruleTown_1:: @ 080D5E18 +Entities_MinishPaths_HyruleTown_1:: @ 080D5E18 object_raw subtype=0x78, x=0x40, y=0x60, collision=1, paramA=0x1, paramB=0x3 object_raw subtype=0x78, x=0x18, y=0x68, collision=2, paramA=0x1, paramB=0x1 object_raw subtype=0x78, x=0xd0, y=0x98, collision=2, paramA=0x1, paramB=0x4 @@ -1821,32 +1821,32 @@ Entities_MinishPaths1_HyruleTown_1:: @ 080D5E18 manager subtype=0x2, unknown=0x18 entity_list_end -Enemies_MinishPaths1_HyruleTown:: @ 080D5F28 +Enemies_MinishPaths_HyruleTown:: @ 080D5F28 enemy_raw subtype=0x40, x=0x80, y=0x1f0, paramB=0x40140000, paramC=0x1000020 entity_list_end -TileEntities_MinishPaths1_HyruleTown:: @ 080D5F48 +TileEntities_MinishPaths_HyruleTown:: @ 080D5F48 tile_entity type=0x2, paramA=0x7f, paramB=0x6f5c, paramC=0x83 tile_entity type=0x2, paramA=0x80, paramB=0x705c, paramC=0x8a tile_entity type=0x2, paramA=0x81, paramB=0x6f5c, paramC=0x14b tile_entity type=0x7, paramB=0x2000 tile_entity_list_end -Room_MinishPaths1_HyruleTown:: @ 080D5F70 - .4byte Entities_MinishPaths1_HyruleTown_0 - .4byte Entities_MinishPaths1_HyruleTown_1 - .4byte Enemies_MinishPaths1_HyruleTown - .4byte TileEntities_MinishPaths1_HyruleTown - .4byte sub_unk1_MinishPaths1_HyruleTown +Room_MinishPaths_HyruleTown:: @ 080D5F70 + .4byte Entities_MinishPaths_HyruleTown_0 + .4byte Entities_MinishPaths_HyruleTown_1 + .4byte Enemies_MinishPaths_HyruleTown + .4byte TileEntities_MinishPaths_HyruleTown + .4byte sub_unk1_MinishPaths_HyruleTown .4byte 0x00000000 - .4byte sub_unk3_MinishPaths1_HyruleTown - .4byte sub_StateChange_MinishPaths1_HyruleTown + .4byte sub_unk3_MinishPaths_HyruleTown + .4byte sub_StateChange_MinishPaths_HyruleTown -Entities_MinishPaths1_LonLonRanch_0:: @ 080D5F90 +Entities_MinishPaths_LonLonRanch_0:: @ 080D5F90 object_raw subtype=0x0, x=0x78, y=0x54, collision=1, paramA=0x63, paramB=0x400, paramC=0xba0000 entity_list_end -Entities_MinishPaths1_LonLonRanch_1:: @ 080D5FB0 +Entities_MinishPaths_LonLonRanch_1:: @ 080D5FB0 object_raw subtype=0x78, x=0x10, y=0x78, collision=2, paramA=0x2 object_raw subtype=0x78, x=0xe0, y=0x128, collision=2, paramA=0x2, paramB=0x3 object_raw subtype=0x78, x=0x10, y=0x1e8, collision=2, paramA=0x2, paramB=0x1 @@ -1854,7 +1854,7 @@ Entities_MinishPaths1_LonLonRanch_1:: @ 080D5FB0 manager subtype=0x2, unknown=0x18 entity_list_end -Enemies_MinishPaths1_LonLonRanch:: @ 080D6010 +Enemies_MinishPaths_LonLonRanch:: @ 080D6010 enemy_raw subtype=0xf, x=0x88, y=0x118, paramB=0x2c160000, paramC=0x200020 enemy_raw subtype=0xf, x=0x68, y=0x298, paramB=0x2c160000, paramC=0x1900020 enemy_raw subtype=0x11, x=0xa8, y=0x1d8, collision=1, paramA=0x1 @@ -1862,25 +1862,25 @@ Enemies_MinishPaths1_LonLonRanch:: @ 080D6010 enemy_raw subtype=0x11, x=0x98, y=0x48, collision=1, paramA=0x1 entity_list_end -TileEntities_MinishPaths1_LonLonRanch:: @ 080D6070 +TileEntities_MinishPaths_LonLonRanch:: @ 080D6070 tile_entity_list_end -Room_MinishPaths1_LonLonRanch:: @ 080D6078 - .4byte Entities_MinishPaths1_LonLonRanch_0 - .4byte Entities_MinishPaths1_LonLonRanch_1 - .4byte Enemies_MinishPaths1_LonLonRanch - .4byte TileEntities_MinishPaths1_LonLonRanch - .4byte sub_unk1_MinishPaths1_LonLonRanch +Room_MinishPaths_LonLonRanch:: @ 080D6078 + .4byte Entities_MinishPaths_LonLonRanch_0 + .4byte Entities_MinishPaths_LonLonRanch_1 + .4byte Enemies_MinishPaths_LonLonRanch + .4byte TileEntities_MinishPaths_LonLonRanch + .4byte sub_unk1_MinishPaths_LonLonRanch .4byte 0x00000000 - .4byte sub_unk3_MinishPaths1_LonLonRanch - .4byte sub_StateChange_MinishPaths1_LonLonRanch + .4byte sub_unk3_MinishPaths_LonLonRanch + .4byte sub_StateChange_MinishPaths_LonLonRanch -Entities_MinishPaths1_MayorsCabin_0:: @ 080D6098 +Entities_MinishPaths_MayorsCabin_0:: @ 080D6098 object_raw subtype=0x14, x=0x78, y=0x58, paramB=0x100 object_raw subtype=0x14, x=0x78, y=0x2b8, paramB=0x100 entity_list_end -Entities_MinishPaths1_MayorsCabin_1:: @ 080D60C8 +Entities_MinishPaths_MayorsCabin_1:: @ 080D60C8 object_raw subtype=0x78, x=0x28, y=0x90, collision=2, paramA=0x3 object_raw subtype=0x78, x=0xe8, y=0x88, collision=2, paramA=0x3, paramB=0x2 object_raw subtype=0x78, x=0x28, y=0x148, collision=2, paramA=0x3, paramB=0x3 @@ -1889,7 +1889,7 @@ Entities_MinishPaths1_MayorsCabin_1:: @ 080D60C8 manager subtype=0x2, unknown=0x18 entity_list_end -Entities_MinishPaths1_MayorsCabin_gUnk_080D6138:: @ 080D6138 +Entities_MinishPaths_MayorsCabin_gUnk_080D6138:: @ 080D6138 enemy_raw subtype=0x11, x=0x48, y=0x148 enemy_raw subtype=0x11, x=0xa8, y=0x148 enemy_raw subtype=0x11, x=0x78, y=0x158 @@ -1897,18 +1897,18 @@ Entities_MinishPaths1_MayorsCabin_gUnk_080D6138:: @ 080D6138 enemy_raw subtype=0x11, x=0x58, y=0x198 entity_list_end -TileEntities_MinishPaths1_MayorsCabin:: @ 080D6198 +TileEntities_MinishPaths_MayorsCabin:: @ 080D6198 tile_entity_list_end -Room_MinishPaths1_MayorsCabin:: @ 080D61A0 - .4byte Entities_MinishPaths1_MayorsCabin_0 - .4byte Entities_MinishPaths1_MayorsCabin_1 +Room_MinishPaths_MayorsCabin:: @ 080D61A0 + .4byte Entities_MinishPaths_MayorsCabin_0 + .4byte Entities_MinishPaths_MayorsCabin_1 .4byte 0x00000000 - .4byte TileEntities_MinishPaths1_MayorsCabin - .4byte sub_unk1_MinishPaths1_MayorsCabin + .4byte TileEntities_MinishPaths_MayorsCabin + .4byte sub_unk1_MinishPaths_MayorsCabin .4byte 0x00000000 - .4byte sub_unk3_MinishPaths1_MayorsCabin - .4byte sub_StateChange_MinishPaths1_MayorsCabin + .4byte sub_unk3_MinishPaths_MayorsCabin + .4byte sub_StateChange_MinishPaths_MayorsCabin Entities_HouseInteriors1_Mayor_0:: @ 080D61C0 npc_raw subtype=0x4b, x=0x88, y=0x60, script=script_Mayor @@ -3404,24 +3404,24 @@ Room_Dojos_ToScarblade:: @ 080D895C .4byte sub_unk3_Dojos_ToScarblade .4byte sub_StateChange_Dojos_ToScarblade -Entities_GoronCave_StairsToCave_0:: @ 080D897C +Entities_GoronCave_Stairs_0:: @ 080D897C entity_list_end -Enemies_GoronCave_StairsToCave:: @ 080D898C +Enemies_GoronCave_Stairs:: @ 080D898C entity_list_end -TileEntities_GoronCave_StairsToCave:: @ 080D899C +TileEntities_GoronCave_Stairs:: @ 080D899C tile_entity_list_end -Room_GoronCave_StairsToCave:: @ 080D89A4 - .4byte Entities_GoronCave_StairsToCave_0 +Room_GoronCave_Stairs:: @ 080D89A4 + .4byte Entities_GoronCave_Stairs_0 .4byte 0x00000000 - .4byte Enemies_GoronCave_StairsToCave - .4byte TileEntities_GoronCave_StairsToCave + .4byte Enemies_GoronCave_Stairs + .4byte TileEntities_GoronCave_Stairs .4byte 0x00000000 .4byte 0x00000000 - .4byte sub_unk3_GoronCave_StairsToCave - .4byte sub_StateChange_GoronCave_StairsToCave + .4byte sub_unk3_GoronCave_Stairs + .4byte sub_StateChange_GoronCave_Stairs Entities_GoronCave_Main_0:: @ 080D89C4 object_raw subtype=0xc, x=0x78, y=0x28, paramA=0x4, paramB=0x76 @@ -4825,29 +4825,29 @@ Room_MinishHouseInteriors_HyruleFieldSouthwest:: @ 080DB118 .4byte sub_unk3_MinishHouseInteriors_HyruleFieldSouthwest .4byte sub_StateChange_MinishHouseInteriors_HyruleFieldSouthwest -Entities_MinishHouseInteriors_HyruleFieldOutsideLinksHouse_0:: @ 080DB138 +Entities_MinishHouseInteriors_SouthHyruleField_0:: @ 080DB138 npc_raw subtype=0x3, x=0x78, y=0x48, unknown=0xf, paramB=0x20d, script=0x0 entity_list_end -Entities_MinishHouseInteriors_HyruleFieldOutsideLinksHouse_1:: @ 080DB158 +Entities_MinishHouseInteriors_SouthHyruleField_1:: @ 080DB158 object_raw subtype=0x6f, x=0x78, y=0x90 entity_list_end -Enemies_MinishHouseInteriors_HyruleFieldOutsideLinksHouse:: @ 080DB178 +Enemies_MinishHouseInteriors_SouthHyruleField:: @ 080DB178 entity_list_end -TileEntities_MinishHouseInteriors_HyruleFieldOutsideLinksHouse:: @ 080DB188 +TileEntities_MinishHouseInteriors_SouthHyruleField:: @ 080DB188 tile_entity_list_end -Room_MinishHouseInteriors_HyruleFieldOutsideLinksHouse:: @ 080DB190 - .4byte Entities_MinishHouseInteriors_HyruleFieldOutsideLinksHouse_0 - .4byte Entities_MinishHouseInteriors_HyruleFieldOutsideLinksHouse_1 - .4byte Enemies_MinishHouseInteriors_HyruleFieldOutsideLinksHouse - .4byte TileEntities_MinishHouseInteriors_HyruleFieldOutsideLinksHouse +Room_MinishHouseInteriors_SouthHyruleField:: @ 080DB190 + .4byte Entities_MinishHouseInteriors_SouthHyruleField_0 + .4byte Entities_MinishHouseInteriors_SouthHyruleField_1 + .4byte Enemies_MinishHouseInteriors_SouthHyruleField + .4byte TileEntities_MinishHouseInteriors_SouthHyruleField .4byte 0x00000000 .4byte 0x00000000 - .4byte sub_unk3_MinishHouseInteriors_HyruleFieldOutsideLinksHouse - .4byte sub_StateChange_MinishHouseInteriors_HyruleFieldOutsideLinksHouse + .4byte sub_unk3_MinishHouseInteriors_SouthHyruleField + .4byte sub_StateChange_MinishHouseInteriors_SouthHyruleField Entities_MinishHouseInteriors_NextToKnuckle_0:: @ 080DB1B0 npc_raw subtype=0x3, x=0x78, y=0x48, unknown=0xf, paramB=0x20e, script=0x0 @@ -5876,7 +5876,7 @@ Room_MinishCracks_5:: @ 080DCAD0 .4byte sub_unk3_MinishCracks_5 .4byte sub_StateChange_MinishCracks_5 -Entities_MinishCracks_CastleWildsBowHole_0:: @ 080DCAF0 +Entities_MinishCracks_CastorWildsBow_0:: @ 080DCAF0 object_raw subtype=0xc, x=0x78, y=0x48, paramA=0x2, paramB=0x10, paramC=0x80000000 entity_list_end @@ -5885,11 +5885,11 @@ gUnk_080DCB10:: @ 080DCB10 manager subtype=0xb, unknown=0x0, paramB=0x8, paramC=0x80008001 entity_list_end -Entities_MinishCracks_CastleWildsBowHole_1:: @ 080DCB40 +Entities_MinishCracks_CastorWildsBow_1:: @ 080DCB40 object_raw subtype=0x4d, x=0x98, y=0x28, collision=1, paramA=0xb entity_list_end -gUnk_additional_8_MinishCracks_CastleWildsBowHole:: @ 080DCB60 +gUnk_additional_8_MinishCracks_CastorWildsBow:: @ 080DCB60 enemy_raw subtype=0x32, x=0x78, y=0x48, collision=1, paramA=0x1 enemy_raw subtype=0x32, x=0x78, y=0x48, collision=1, paramA=0x1 enemy_raw subtype=0x32, x=0x78, y=0x48, collision=1, paramA=0x1 @@ -5897,21 +5897,21 @@ gUnk_additional_8_MinishCracks_CastleWildsBowHole:: @ 080DCB60 enemy_raw subtype=0x32, x=0x78, y=0x48, collision=1, paramA=0x1 entity_list_end -TileEntities_MinishCracks_CastleWildsBowHole:: @ 080DCBC0 +TileEntities_MinishCracks_CastorWildsBow:: @ 080DCBC0 tile_entity type=0x3, paramA=0x10, paramB=0x9, paramC=0x78, paramD=0x48 tile_entity type=0x7, paramB=0x1700 tile_entity_list_end -Room_MinishCracks_CastleWildsBowHole:: @ 080DCBD8 - .4byte Entities_MinishCracks_CastleWildsBowHole_0 - .4byte Entities_MinishCracks_CastleWildsBowHole_1 +Room_MinishCracks_CastorWildsBow:: @ 080DCBD8 + .4byte Entities_MinishCracks_CastorWildsBow_0 + .4byte Entities_MinishCracks_CastorWildsBow_1 .4byte 0x00000000 - .4byte TileEntities_MinishCracks_CastleWildsBowHole + .4byte TileEntities_MinishCracks_CastorWildsBow .4byte 0x00000000 .4byte 0x00000000 - .4byte sub_unk3_MinishCracks_CastleWildsBowHole - .4byte sub_StateChange_MinishCracks_CastleWildsBowHole - .4byte gUnk_additional_8_MinishCracks_CastleWildsBowHole + .4byte sub_unk3_MinishCracks_CastorWildsBow + .4byte sub_StateChange_MinishCracks_CastorWildsBow + .4byte gUnk_additional_8_MinishCracks_CastorWildsBow Entities_MinishCracks_RuinsEntrance_0:: @ 080DCBFC npc_raw subtype=0x3, x=0xa8, y=0x48, unknown=0xf, paramB=0x215, script=0x0 @@ -11306,7 +11306,7 @@ Room_RoyalCrypt_Entrance:: @ 080E7204 .4byte sub_unk3_RoyalCrypt_Entrance .4byte sub_StateChange_RoyalCrypt_Entrance -Entities_PalaceOfWinds_0_0:: @ 080E7224 +Entities_PalaceOfWinds_GyorgTornado_0:: @ 080E7224 manager subtype=0x19, unknown=0x8 enemy_raw subtype=0x43, x=0x198, y=0x108 enemy_raw subtype=0x43, x=0x218, y=0x108 @@ -11322,59 +11322,59 @@ gUnk_080E72C4:: @ 080E72C4 object_raw subtype=0x82, x=0x1d8, y=0xc8, paramB=0x4 entity_list_end -gUnk_additional_8_PalaceOfWinds_0:: @ 080E72E4 +gUnk_additional_8_PalaceOfWinds_GyorgTornado:: @ 080E72E4 object_raw subtype=0xac, x=0x1d8, y=0xc8, paramA=0x43 manager subtype=0xe, y=0x3c, unknown=0x1f, paramA=0x9, paramC=0x80000000 entity_list_end -gUnk_additional_9_PalaceOfWinds_0:: @ 080E7314 +gUnk_additional_9_PalaceOfWinds_GyorgTornado:: @ 080E7314 object_raw subtype=0x34, x=0x1b8, y=0x108, paramA=0x2, paramB=0x31, paramC=0x400601c7 object_raw subtype=0x47, x=0x1f8, y=0x108, paramC=0x4006007d entity_list_end -Enemies_PalaceOfWinds_0:: @ 080E7344 +Enemies_PalaceOfWinds_GyorgTornado:: @ 080E7344 entity_list_end -TileEntities_PalaceOfWinds_0:: @ 080E7354 +TileEntities_PalaceOfWinds_GyorgTornado:: @ 080E7354 tile_entity type=0x1, paramA=0x1 tile_entity_list_end -Room_PalaceOfWinds_0:: @ 080E7364 - .4byte Entities_PalaceOfWinds_0_0 +Room_PalaceOfWinds_GyorgTornado:: @ 080E7364 + .4byte Entities_PalaceOfWinds_GyorgTornado_0 .4byte 0x00000000 - .4byte Enemies_PalaceOfWinds_0 - .4byte TileEntities_PalaceOfWinds_0 + .4byte Enemies_PalaceOfWinds_GyorgTornado + .4byte TileEntities_PalaceOfWinds_GyorgTornado .4byte 0x00000000 .4byte 0x00000000 - .4byte sub_unk3_PalaceOfWinds_0 - .4byte sub_StateChange_PalaceOfWinds_0 - .4byte gUnk_additional_8_PalaceOfWinds_0 - .4byte gUnk_additional_9_PalaceOfWinds_0 + .4byte sub_unk3_PalaceOfWinds_GyorgTornado + .4byte sub_StateChange_PalaceOfWinds_GyorgTornado + .4byte gUnk_additional_8_PalaceOfWinds_GyorgTornado + .4byte gUnk_additional_9_PalaceOfWinds_GyorgTornado -Entities_PalaceOfWinds_1_0:: @ 080E738C +Entities_PalaceOfWinds_BossKey_0:: @ 080E738C manager subtype=0x19, unknown=0x8 entity_list_end -Enemies_PalaceOfWinds_1:: @ 080E73AC +Enemies_PalaceOfWinds_BossKey:: @ 080E73AC object_raw subtype=0xc, x=0x78, y=0x48, paramA=0x4, paramB=0x34 entity_list_end -TileEntities_PalaceOfWinds_1:: @ 080E73CC +TileEntities_PalaceOfWinds_BossKey:: @ 080E73CC tile_entity type=0x3, paramA=0x34, paramB=0x52, paramC=0x78, paramD=0x48 tile_entity type=0x1, paramA=0x2 tile_entity_list_end -Room_PalaceOfWinds_1:: @ 080E73E4 - .4byte Entities_PalaceOfWinds_1_0 +Room_PalaceOfWinds_BossKey:: @ 080E73E4 + .4byte Entities_PalaceOfWinds_BossKey_0 .4byte 0x00000000 - .4byte Enemies_PalaceOfWinds_1 - .4byte TileEntities_PalaceOfWinds_1 + .4byte Enemies_PalaceOfWinds_BossKey + .4byte TileEntities_PalaceOfWinds_BossKey .4byte 0x00000000 .4byte 0x00000000 - .4byte sub_unk3_PalaceOfWinds_1 - .4byte sub_StateChange_PalaceOfWinds_1 + .4byte sub_unk3_PalaceOfWinds_BossKey + .4byte sub_StateChange_PalaceOfWinds_BossKey -Entities_PalaceOfWinds_2_0:: @ 080E7404 +Entities_PalaceOfWinds_BeforeBallAndChainSoldiers_0:: @ 080E7404 manager subtype=0x19, unknown=0x8 manager subtype=0x1a, unknown=0x8, paramA=0x20 object_raw subtype=0x29, x=0xa0, y=0x50, paramA=0x80 @@ -11386,24 +11386,24 @@ Entities_PalaceOfWinds_2_0:: @ 080E7404 enemy_raw subtype=0x43, x=0x98, y=0x98 entity_list_end -Enemies_PalaceOfWinds_2:: @ 080E74A4 +Enemies_PalaceOfWinds_BeforeBallAndChainSoldiers:: @ 080E74A4 entity_list_end -TileEntities_PalaceOfWinds_2:: @ 080E74B4 +TileEntities_PalaceOfWinds_BeforeBallAndChainSoldiers:: @ 080E74B4 tile_entity type=0x1, paramA=0x3 tile_entity_list_end -Room_PalaceOfWinds_2:: @ 080E74C4 - .4byte Entities_PalaceOfWinds_2_0 +Room_PalaceOfWinds_BeforeBallAndChainSoldiers:: @ 080E74C4 + .4byte Entities_PalaceOfWinds_BeforeBallAndChainSoldiers_0 .4byte 0x00000000 - .4byte Enemies_PalaceOfWinds_2 - .4byte TileEntities_PalaceOfWinds_2 + .4byte Enemies_PalaceOfWinds_BeforeBallAndChainSoldiers + .4byte TileEntities_PalaceOfWinds_BeforeBallAndChainSoldiers .4byte 0x00000000 .4byte 0x00000000 - .4byte sub_unk3_PalaceOfWinds_2 - .4byte sub_StateChange_PalaceOfWinds_2 + .4byte sub_unk3_PalaceOfWinds_BeforeBallAndChainSoldiers + .4byte sub_StateChange_PalaceOfWinds_BeforeBallAndChainSoldiers -Entities_PalaceOfWinds_3_0:: @ 080E74E4 +Entities_PalaceOfWinds_GyorgBossDoor_0:: @ 080E74E4 manager subtype=0x19, unknown=0x8 manager subtype=0x1a, unknown=0x8, paramA=0x21 manager subtype=0x1a, unknown=0x8, paramA=0x22 @@ -11424,47 +11424,47 @@ Entities_PalaceOfWinds_3_0:: @ 080E74E4 enemy_raw subtype=0x43, x=0x108, y=0x48, paramB=0x5f entity_list_end -Enemies_PalaceOfWinds_3:: @ 080E7614 +Enemies_PalaceOfWinds_GyorgBossDoor:: @ 080E7614 entity_list_end -TileEntities_PalaceOfWinds_3:: @ 080E7624 +TileEntities_PalaceOfWinds_GyorgBossDoor:: @ 080E7624 tile_entity type=0x2, paramA=0x35, paramB=0x53, paramC=0x47 tile_entity type=0x1, paramA=0x4 tile_entity_list_end -Room_PalaceOfWinds_3:: @ 080E763C - .4byte Entities_PalaceOfWinds_3_0 +Room_PalaceOfWinds_GyorgBossDoor:: @ 080E763C + .4byte Entities_PalaceOfWinds_GyorgBossDoor_0 .4byte 0x00000000 - .4byte Enemies_PalaceOfWinds_3 - .4byte TileEntities_PalaceOfWinds_3 + .4byte Enemies_PalaceOfWinds_GyorgBossDoor + .4byte TileEntities_PalaceOfWinds_GyorgBossDoor .4byte 0x00000000 .4byte 0x00000000 - .4byte sub_unk3_PalaceOfWinds_3 - .4byte sub_StateChange_PalaceOfWinds_3 + .4byte sub_unk3_PalaceOfWinds_GyorgBossDoor + .4byte sub_StateChange_PalaceOfWinds_GyorgBossDoor -Entities_PalaceOfWinds_4_0:: @ 080E765C +Entities_PalaceOfWinds_EastChestFromGyorgBossDoor_0:: @ 080E765C manager subtype=0x19, unknown=0x8 entity_list_end -Enemies_PalaceOfWinds_4:: @ 080E767C +Enemies_PalaceOfWinds_EastChestFromGyorgBossDoor:: @ 080E767C entity_list_end -TileEntities_PalaceOfWinds_4:: @ 080E768C +TileEntities_PalaceOfWinds_EastChestFromGyorgBossDoor:: @ 080E768C tile_entity type=0x2, paramA=0x37, paramB=0x6e5c, paramC=0x107 tile_entity type=0x1, paramA=0x5 tile_entity_list_end -Room_PalaceOfWinds_4:: @ 080E76A4 - .4byte Entities_PalaceOfWinds_4_0 +Room_PalaceOfWinds_EastChestFromGyorgBossDoor:: @ 080E76A4 + .4byte Entities_PalaceOfWinds_EastChestFromGyorgBossDoor_0 .4byte 0x00000000 - .4byte Enemies_PalaceOfWinds_4 - .4byte TileEntities_PalaceOfWinds_4 + .4byte Enemies_PalaceOfWinds_EastChestFromGyorgBossDoor + .4byte TileEntities_PalaceOfWinds_EastChestFromGyorgBossDoor .4byte 0x00000000 .4byte 0x00000000 - .4byte sub_unk3_PalaceOfWinds_4 - .4byte sub_StateChange_PalaceOfWinds_4 + .4byte sub_unk3_PalaceOfWinds_EastChestFromGyorgBossDoor + .4byte sub_StateChange_PalaceOfWinds_EastChestFromGyorgBossDoor -Entities_PalaceOfWinds_5_0:: @ 080E76C4 +Entities_PalaceOfWinds_MoblinAndWizzrobeFight_0:: @ 080E76C4 manager subtype=0x19, unknown=0x8 object_raw subtype=0x3, x=0x48, y=0x38, paramC=0x380001 object_raw subtype=0x9f, x=0x80, y=0x68, paramB=0xc0000, paramC=0x38 @@ -11475,14 +11475,14 @@ Entities_PalaceOfWinds_5_0:: @ 080E76C4 manager subtype=0x2e, unknown=0x0, paramB=0x3c00, paramC=0x3a0081 entity_list_end -Enemies_PalaceOfWinds_5:: @ 080E7754 +Enemies_PalaceOfWinds_MoblinAndWizzrobeFight:: @ 080E7754 entity_list_end -TileEntities_PalaceOfWinds_5:: @ 080E7764 +TileEntities_PalaceOfWinds_MoblinAndWizzrobeFight:: @ 080E7764 tile_entity type=0x1, paramA=0x6 tile_entity_list_end -gUnk_additional_8_PalaceOfWinds_5:: @ 080E7774 +gUnk_additional_8_PalaceOfWinds_MoblinAndWizzrobeFight:: @ 080E7774 enemy_raw subtype=0x29, x=0x78, y=0x158, paramB=0xe140000, paramC=0x1500030 enemy_raw subtype=0x29, x=0x78, y=0x1b8, paramB=0xe140000, paramC=0x1500030 enemy_raw subtype=0x15, x=0x48, y=0x188, unknown=0x2f, paramB=0xe140000, paramC=0x1500030 @@ -11490,18 +11490,18 @@ gUnk_additional_8_PalaceOfWinds_5:: @ 080E7774 object_raw subtype=0x8, x=0xd8, y=0x198, paramA=0x11, paramC=0x810000 entity_list_end -Room_PalaceOfWinds_5:: @ 080E77D4 - .4byte Entities_PalaceOfWinds_5_0 +Room_PalaceOfWinds_MoblinAndWizzrobeFight:: @ 080E77D4 + .4byte Entities_PalaceOfWinds_MoblinAndWizzrobeFight_0 .4byte 0x00000000 - .4byte Enemies_PalaceOfWinds_5 - .4byte TileEntities_PalaceOfWinds_5 + .4byte Enemies_PalaceOfWinds_MoblinAndWizzrobeFight + .4byte TileEntities_PalaceOfWinds_MoblinAndWizzrobeFight .4byte 0x00000000 .4byte 0x00000000 - .4byte sub_unk3_PalaceOfWinds_5 - .4byte sub_StateChange_PalaceOfWinds_5 - .4byte gUnk_additional_8_PalaceOfWinds_5 + .4byte sub_unk3_PalaceOfWinds_MoblinAndWizzrobeFight + .4byte sub_StateChange_PalaceOfWinds_MoblinAndWizzrobeFight + .4byte gUnk_additional_8_PalaceOfWinds_MoblinAndWizzrobeFight -Entities_PalaceOfWinds_6_0:: @ 080E77F8 +Entities_PalaceOfWinds_FourButtonStalfos_0:: @ 080E77F8 manager subtype=0x19, unknown=0x8 object_raw subtype=0x3, x=0x48, y=0x48, paramA=0x1, paramC=0x80000001 object_raw subtype=0x3, x=0x68, y=0x48, paramA=0x1, paramC=0x80010001 @@ -11519,27 +11519,27 @@ Entities_PalaceOfWinds_6_0:: @ 080E77F8 object_raw subtype=0x5, x=0xc8, y=0x98 entity_list_end -Enemies_PalaceOfWinds_6:: @ 080E78F8 +Enemies_PalaceOfWinds_FourButtonStalfos:: @ 080E78F8 enemy_raw subtype=0x42, x=0x88, y=0x58, paramB=0xe140000, paramC=0x300030 enemy_raw subtype=0x42, x=0xa8, y=0x178, paramA=0x1, paramB=0xe140000, paramC=0x1500030 enemy_raw subtype=0x42, x=0xb8, y=0x1a8, paramA=0x1, paramB=0xe140000, paramC=0x1500030 entity_list_end -TileEntities_PalaceOfWinds_6:: @ 080E7938 +TileEntities_PalaceOfWinds_FourButtonStalfos:: @ 080E7938 tile_entity type=0x1, paramA=0x7 tile_entity_list_end -Room_PalaceOfWinds_6:: @ 080E7948 - .4byte Entities_PalaceOfWinds_6_0 +Room_PalaceOfWinds_FourButtonStalfos:: @ 080E7948 + .4byte Entities_PalaceOfWinds_FourButtonStalfos_0 .4byte 0x00000000 - .4byte Enemies_PalaceOfWinds_6 - .4byte TileEntities_PalaceOfWinds_6 + .4byte Enemies_PalaceOfWinds_FourButtonStalfos + .4byte TileEntities_PalaceOfWinds_FourButtonStalfos .4byte 0x00000000 .4byte 0x00000000 - .4byte sub_unk3_PalaceOfWinds_6 - .4byte sub_StateChange_PalaceOfWinds_6 + .4byte sub_unk3_PalaceOfWinds_FourButtonStalfos + .4byte sub_StateChange_PalaceOfWinds_FourButtonStalfos -Entities_PalaceOfWinds_7_0:: @ 080E7968 +Entities_PalaceOfWinds_FanAndKeyToBossKey_0:: @ 080E7968 manager subtype=0x19, unknown=0x8 object_raw subtype=0x8, x=0x78, y=0x28, paramA=0x8, paramC=0x3cffff object_raw subtype=0x3, x=0xb8, y=0x1b8, paramC=0x3d0001 @@ -11548,28 +11548,28 @@ Entities_PalaceOfWinds_7_0:: @ 080E7968 object_raw subtype=0x5, x=0x48, y=0x1b8 entity_list_end -Enemies_PalaceOfWinds_7:: @ 080E79D8 +Enemies_PalaceOfWinds_FanAndKeyToBossKey:: @ 080E79D8 enemy_raw subtype=0x42, x=0x68, y=0x58, paramB=0xe140000, paramC=0x300030 enemy_raw subtype=0x42, x=0x98, y=0x58, paramB=0xe140000, paramC=0x300030 enemy_raw subtype=0x1c, x=0x58, y=0x38, paramB=0x800 entity_list_end -TileEntities_PalaceOfWinds_7:: @ 080E7A18 +TileEntities_PalaceOfWinds_FanAndKeyToBossKey:: @ 080E7A18 tile_entity type=0x2, paramA=0x3e, paramB=0x53, paramC=0x1c5 tile_entity type=0x1, paramA=0x8 tile_entity_list_end -Room_PalaceOfWinds_7:: @ 080E7A30 - .4byte Entities_PalaceOfWinds_7_0 +Room_PalaceOfWinds_FanAndKeyToBossKey:: @ 080E7A30 + .4byte Entities_PalaceOfWinds_FanAndKeyToBossKey_0 .4byte 0x00000000 - .4byte Enemies_PalaceOfWinds_7 - .4byte TileEntities_PalaceOfWinds_7 + .4byte Enemies_PalaceOfWinds_FanAndKeyToBossKey + .4byte TileEntities_PalaceOfWinds_FanAndKeyToBossKey .4byte 0x00000000 .4byte 0x00000000 - .4byte sub_unk3_PalaceOfWinds_7 - .4byte sub_StateChange_PalaceOfWinds_7 + .4byte sub_unk3_PalaceOfWinds_FanAndKeyToBossKey + .4byte sub_StateChange_PalaceOfWinds_FanAndKeyToBossKey -Entities_PalaceOfWinds_8_0:: @ 080E7A50 +Entities_PalaceOfWinds_BallAndChainSoldiers_0:: @ 080E7A50 manager subtype=0x19, unknown=0x8 object_raw subtype=0x39, x=0x78, y=0x118, paramA=0x2, paramC=0x42ffff object_raw subtype=0x8, x=0x28, y=0x58, paramA=0xb, paramC=0x3fffff @@ -11578,36 +11578,36 @@ Entities_PalaceOfWinds_8_0:: @ 080E7A50 manager subtype=0x17, x=0x78, y=0xa8, paramA=0x53, paramB=0x10200, paramC=0x820041 entity_list_end -Enemies_PalaceOfWinds_8:: @ 080E7AC0 +Enemies_PalaceOfWinds_BallAndChainSoldiers:: @ 080E7AC0 entity_list_end -TileEntities_PalaceOfWinds_8:: @ 080E7AD0 +TileEntities_PalaceOfWinds_BallAndChainSoldiers:: @ 080E7AD0 tile_entity type=0x1, paramA=0x9 tile_entity_list_end -gUnk_additional_8_PalaceOfWinds_8:: @ 080E7AE0 +gUnk_additional_8_PalaceOfWinds_BallAndChainSoldiers:: @ 080E7AE0 enemy_raw subtype=0x4c, x=0x58, y=0xa8, paramB=0x1c120000, paramC=0x300030 enemy_raw subtype=0x4c, x=0x98, y=0xa8, paramB=0x1c120000, paramC=0x300038 entity_list_end -Room_PalaceOfWinds_8:: @ 080E7B10 - .4byte Entities_PalaceOfWinds_8_0 +Room_PalaceOfWinds_BallAndChainSoldiers:: @ 080E7B10 + .4byte Entities_PalaceOfWinds_BallAndChainSoldiers_0 .4byte 0x00000000 - .4byte Enemies_PalaceOfWinds_8 - .4byte TileEntities_PalaceOfWinds_8 + .4byte Enemies_PalaceOfWinds_BallAndChainSoldiers + .4byte TileEntities_PalaceOfWinds_BallAndChainSoldiers .4byte 0x00000000 .4byte 0x00000000 - .4byte sub_unk3_PalaceOfWinds_8 - .4byte sub_StateChange_PalaceOfWinds_8 - .4byte gUnk_additional_8_PalaceOfWinds_8 + .4byte sub_unk3_PalaceOfWinds_BallAndChainSoldiers + .4byte sub_StateChange_PalaceOfWinds_BallAndChainSoldiers + .4byte gUnk_additional_8_PalaceOfWinds_BallAndChainSoldiers -Entities_PalaceOfWinds_9_0:: @ 080E7B34 +Entities_PalaceOfWinds_BombarossaPath_0:: @ 080E7B34 manager subtype=0x19, unknown=0x8 object_raw subtype=0x9d, x=0x78, y=0x58, paramA=0x1, paramC=0x80008000 object_raw subtype=0x8, x=0x38, y=0x18, paramA=0x4, paramC=0x8000ffff entity_list_end -Enemies_PalaceOfWinds_9:: @ 080E7B74 +Enemies_PalaceOfWinds_BombarossaPath:: @ 080E7B74 enemy_raw subtype=0x33, x=0x38, y=0x48 enemy_raw subtype=0x33, x=0x38, y=0x68 enemy_raw subtype=0x33, x=0x48, y=0x68 @@ -11625,21 +11625,21 @@ Enemies_PalaceOfWinds_9:: @ 080E7B74 enemy_raw subtype=0x33, x=0xb8, y=0x58 entity_list_end -TileEntities_PalaceOfWinds_9:: @ 080E7C74 +TileEntities_PalaceOfWinds_BombarossaPath:: @ 080E7C74 tile_entity type=0x1, paramA=0xa tile_entity_list_end -Room_PalaceOfWinds_9:: @ 080E7C84 - .4byte Entities_PalaceOfWinds_9_0 +Room_PalaceOfWinds_BombarossaPath:: @ 080E7C84 + .4byte Entities_PalaceOfWinds_BombarossaPath_0 .4byte 0x00000000 - .4byte Enemies_PalaceOfWinds_9 - .4byte TileEntities_PalaceOfWinds_9 + .4byte Enemies_PalaceOfWinds_BombarossaPath + .4byte TileEntities_PalaceOfWinds_BombarossaPath .4byte 0x00000000 .4byte 0x00000000 - .4byte sub_unk3_PalaceOfWinds_9 - .4byte sub_StateChange_PalaceOfWinds_9 + .4byte sub_unk3_PalaceOfWinds_BombarossaPath + .4byte sub_StateChange_PalaceOfWinds_BombarossaPath -Entities_PalaceOfWinds_10_0:: @ 080E7CA4 +Entities_PalaceOfWinds_HoleToDarknut_0:: @ 080E7CA4 manager subtype=0x19, unknown=0x8 manager subtype=0x1a, unknown=0x8, paramA=0x23 enemy_raw subtype=0x43, x=0x48, y=0x38, paramB=0x5f @@ -11649,51 +11649,51 @@ Entities_PalaceOfWinds_10_0:: @ 080E7CA4 ezlo_hint x=0x6, y=0x10, rx=0x9, ry=0x2, msg=0xb6a, flag=0x7f entity_list_end -Enemies_PalaceOfWinds_10:: @ 080E7D24 +Enemies_PalaceOfWinds_HoleToDarknut:: @ 080E7D24 entity_list_end -TileEntities_PalaceOfWinds_10:: @ 080E7D34 +TileEntities_PalaceOfWinds_HoleToDarknut:: @ 080E7D34 tile_entity type=0x1, paramA=0xb tile_entity_list_end -Room_PalaceOfWinds_10:: @ 080E7D44 - .4byte Entities_PalaceOfWinds_10_0 +Room_PalaceOfWinds_HoleToDarknut:: @ 080E7D44 + .4byte Entities_PalaceOfWinds_HoleToDarknut_0 .4byte 0x00000000 - .4byte Enemies_PalaceOfWinds_10 - .4byte TileEntities_PalaceOfWinds_10 + .4byte Enemies_PalaceOfWinds_HoleToDarknut + .4byte TileEntities_PalaceOfWinds_HoleToDarknut .4byte 0x00000000 .4byte 0x00000000 - .4byte sub_unk3_PalaceOfWinds_10 - .4byte sub_StateChange_PalaceOfWinds_10 + .4byte sub_unk3_PalaceOfWinds_HoleToDarknut + .4byte sub_StateChange_PalaceOfWinds_HoleToDarknut -Entities_PalaceOfWinds_11_0:: @ 080E7D64 +Entities_PalaceOfWinds_ToBombarossaPath_0:: @ 080E7D64 manager subtype=0x19, unknown=0x8 manager subtype=0x1a, unknown=0x8, paramA=0x24 enemy_raw subtype=0x43, x=0x98, y=0x78 enemy_raw subtype=0x43, x=0xa8, y=0x78, paramB=0x5d entity_list_end -Enemies_PalaceOfWinds_11:: @ 080E7DB4 +Enemies_PalaceOfWinds_ToBombarossaPath:: @ 080E7DB4 entity_list_end -TileEntities_PalaceOfWinds_11:: @ 080E7DC4 +TileEntities_PalaceOfWinds_ToBombarossaPath:: @ 080E7DC4 tile_entity type=0x4, paramA=0x46, paramB=0x1, paramC=0xd8, paramD=0x58 tile_entity type=0xa, paramA=0x1, paramB=0x43, paramC=0xc7, paramD=0x26 tile_entity type=0xa, paramA=0x1, paramB=0x44, paramC=0x107, paramD=0x26 tile_entity type=0x1, paramA=0xc tile_entity_list_end -Room_PalaceOfWinds_11:: @ 080E7DEC - .4byte Entities_PalaceOfWinds_11_0 +Room_PalaceOfWinds_ToBombarossaPath:: @ 080E7DEC + .4byte Entities_PalaceOfWinds_ToBombarossaPath_0 .4byte 0x00000000 - .4byte Enemies_PalaceOfWinds_11 - .4byte TileEntities_PalaceOfWinds_11 + .4byte Enemies_PalaceOfWinds_ToBombarossaPath + .4byte TileEntities_PalaceOfWinds_ToBombarossaPath .4byte 0x00000000 .4byte 0x00000000 - .4byte sub_unk3_PalaceOfWinds_11 - .4byte sub_StateChange_PalaceOfWinds_11 + .4byte sub_unk3_PalaceOfWinds_ToBombarossaPath + .4byte sub_StateChange_PalaceOfWinds_ToBombarossaPath -Entities_PalaceOfWinds_12_0:: @ 080E7E0C +Entities_PalaceOfWinds_DarknutMiniboss_0:: @ 080E7E0C manager subtype=0x1e, x=0x20, y=0x60, paramB=0x2000b0, paramC=0x80000000 manager subtype=0xb, unknown=0x0, paramB=0x8, paramC=0x7e8000 manager subtype=0x35, x=0x78, y=0x48, paramB=0x781e00, paramC=0x7e0084 @@ -11702,54 +11702,54 @@ Entities_PalaceOfWinds_12_0:: @ 080E7E0C manager subtype=0x19, unknown=0x8 entity_list_end -Enemies_PalaceOfWinds_12:: @ 080E7E7C +Enemies_PalaceOfWinds_DarknutMiniboss:: @ 080E7E7C entity_list_end -TileEntities_PalaceOfWinds_12:: @ 080E7E8C +TileEntities_PalaceOfWinds_DarknutMiniboss:: @ 080E7E8C tile_entity type=0xd, paramB=0x2d00 tile_entity type=0x1, paramA=0xd tile_entity_list_end -gUnk_additional_8_PalaceOfWinds_12:: @ 080E7EA4 +gUnk_additional_8_PalaceOfWinds_DarknutMiniboss:: @ 080E7EA4 enemy_raw subtype=0x5, x=0x78, y=0x58, unknown=0x2f, paramA=0x2 entity_list_end -Room_PalaceOfWinds_12:: @ 080E7EC4 - .4byte Entities_PalaceOfWinds_12_0 +Room_PalaceOfWinds_DarknutMiniboss:: @ 080E7EC4 + .4byte Entities_PalaceOfWinds_DarknutMiniboss_0 .4byte 0x00000000 - .4byte Enemies_PalaceOfWinds_12 - .4byte TileEntities_PalaceOfWinds_12 + .4byte Enemies_PalaceOfWinds_DarknutMiniboss + .4byte TileEntities_PalaceOfWinds_DarknutMiniboss .4byte 0x00000000 .4byte 0x00000000 - .4byte sub_unk3_PalaceOfWinds_12 - .4byte sub_StateChange_PalaceOfWinds_12 - .4byte gUnk_additional_8_PalaceOfWinds_12 + .4byte sub_unk3_PalaceOfWinds_DarknutMiniboss + .4byte sub_StateChange_PalaceOfWinds_DarknutMiniboss + .4byte gUnk_additional_8_PalaceOfWinds_DarknutMiniboss -Entities_PalaceOfWinds_13_0:: @ 080E7EE8 +Entities_PalaceOfWinds_BombWallInside_0:: @ 080E7EE8 manager subtype=0x19, unknown=0x8 entity_list_end -Enemies_PalaceOfWinds_13:: @ 080E7F08 +Enemies_PalaceOfWinds_BombWallInside:: @ 080E7F08 enemy_raw subtype=0x3b, x=0x78, y=0x58, paramB=0xe140000, paramC=0x100010 enemy_raw subtype=0x3b, x=0xa8, y=0x58, paramB=0xe140000, paramC=0x100010 entity_list_end -TileEntities_PalaceOfWinds_13:: @ 080E7F38 +TileEntities_PalaceOfWinds_BombWallInside:: @ 080E7F38 tile_entity type=0x4, paramA=0x45, paramB=0x1, paramC=0xd8, paramD=0x38 tile_entity type=0x1, paramA=0xe tile_entity_list_end -Room_PalaceOfWinds_13:: @ 080E7F50 - .4byte Entities_PalaceOfWinds_13_0 +Room_PalaceOfWinds_BombWallInside:: @ 080E7F50 + .4byte Entities_PalaceOfWinds_BombWallInside_0 .4byte 0x00000000 - .4byte Enemies_PalaceOfWinds_13 - .4byte TileEntities_PalaceOfWinds_13 + .4byte Enemies_PalaceOfWinds_BombWallInside + .4byte TileEntities_PalaceOfWinds_BombWallInside .4byte 0x00000000 .4byte 0x00000000 - .4byte sub_unk3_PalaceOfWinds_13 - .4byte sub_StateChange_PalaceOfWinds_13 + .4byte sub_unk3_PalaceOfWinds_BombWallInside + .4byte sub_StateChange_PalaceOfWinds_BombWallInside -Entities_PalaceOfWinds_14_0:: @ 080E7F70 +Entities_PalaceOfWinds_BombWallOutside_0:: @ 080E7F70 manager subtype=0x19, unknown=0x8 enemy_raw subtype=0x43, x=0x28, y=0x58, paramA=0x2 enemy_raw subtype=0x43, x=0x68, y=0x78, paramA=0x2 @@ -11759,27 +11759,27 @@ Entities_PalaceOfWinds_14_0:: @ 080E7F70 enemy_raw subtype=0x43, x=0x58, y=0xe8 entity_list_end -Enemies_PalaceOfWinds_14:: @ 080E7FF0 +Enemies_PalaceOfWinds_BombWallOutside:: @ 080E7FF0 enemy_raw subtype=0x28, x=0x58, y=0x98, paramB=0x18160000, paramC=0x400020 enemy_raw subtype=0x28, x=0xb8, y=0x88, paramB=0x18160000, paramC=0x400020 entity_list_end -TileEntities_PalaceOfWinds_14:: @ 080E8020 +TileEntities_PalaceOfWinds_BombWallOutside:: @ 080E8020 tile_entity type=0x4, paramA=0x46, paramB=0x1, paramC=0x18, paramD=0x58 tile_entity type=0x1, paramA=0xf tile_entity_list_end -Room_PalaceOfWinds_14:: @ 080E8038 - .4byte Entities_PalaceOfWinds_14_0 +Room_PalaceOfWinds_BombWallOutside:: @ 080E8038 + .4byte Entities_PalaceOfWinds_BombWallOutside_0 .4byte 0x00000000 - .4byte Enemies_PalaceOfWinds_14 - .4byte TileEntities_PalaceOfWinds_14 + .4byte Enemies_PalaceOfWinds_BombWallOutside + .4byte TileEntities_PalaceOfWinds_BombWallOutside .4byte 0x00000000 .4byte 0x00000000 - .4byte sub_unk3_PalaceOfWinds_14 - .4byte sub_StateChange_PalaceOfWinds_14 + .4byte sub_unk3_PalaceOfWinds_BombWallOutside + .4byte sub_StateChange_PalaceOfWinds_BombWallOutside -Entities_PalaceOfWinds_15_0:: @ 080E8058 +Entities_PalaceOfWinds_CloudJumps_0:: @ 080E8058 manager subtype=0x19, unknown=0x8 object_raw subtype=0x29, x=0x30, y=0x90, paramA=0x3 object_raw subtype=0x29, x=0x190, y=0xc0, paramA=0x4 @@ -11788,27 +11788,27 @@ Entities_PalaceOfWinds_15_0:: @ 080E8058 object_raw subtype=0x0, x=0x1a8, y=0x114, collision=1, paramA=0x63, paramB=0x400, paramC=0x800000 entity_list_end -Enemies_PalaceOfWinds_15:: @ 080E80C8 +Enemies_PalaceOfWinds_CloudJumps:: @ 080E80C8 enemy_raw subtype=0x46, x=0x148, y=0x118, paramB=0x61e0000, paramC=0x1000130 enemy_raw subtype=0x46, x=0x1e8, y=0x128, paramB=0x61e0000, paramC=0x1000130 entity_list_end -TileEntities_PalaceOfWinds_15:: @ 080E80F8 +TileEntities_PalaceOfWinds_CloudJumps:: @ 080E80F8 tile_entity type=0x2, paramA=0x47, paramB=0x715c, paramC=0x424, paramD=0x1 tile_entity type=0x1, paramA=0x10 tile_entity_list_end -Room_PalaceOfWinds_15:: @ 080E8110 - .4byte Entities_PalaceOfWinds_15_0 +Room_PalaceOfWinds_CloudJumps:: @ 080E8110 + .4byte Entities_PalaceOfWinds_CloudJumps_0 .4byte 0x00000000 - .4byte Enemies_PalaceOfWinds_15 - .4byte TileEntities_PalaceOfWinds_15 + .4byte Enemies_PalaceOfWinds_CloudJumps + .4byte TileEntities_PalaceOfWinds_CloudJumps .4byte 0x00000000 .4byte 0x00000000 - .4byte sub_unk3_PalaceOfWinds_15 - .4byte sub_StateChange_PalaceOfWinds_15 + .4byte sub_unk3_PalaceOfWinds_CloudJumps + .4byte sub_StateChange_PalaceOfWinds_CloudJumps -Entities_PalaceOfWinds_16_0:: @ 080E8130 +Entities_PalaceOfWinds_BlockMazeToBossDoor_0:: @ 080E8130 manager subtype=0x19, unknown=0x8 object_raw subtype=0x29, x=0x168, y=0x100, paramA=0x8 object_raw subtype=0x29, x=0x228, y=0x100, paramA=0x8 @@ -11832,7 +11832,7 @@ Entities_PalaceOfWinds_16_0:: @ 080E8130 enemy_raw subtype=0x43, x=0x128, y=0xf8 entity_list_end -Enemies_PalaceOfWinds_16:: @ 080E8290 +Enemies_PalaceOfWinds_BlockMazeToBossDoor:: @ 080E8290 enemy_raw subtype=0x43, x=0x28, y=0x138, paramA=0x3 enemy_raw subtype=0x43, x=0xf8, y=0x158, paramA=0x3 enemy_raw subtype=0x43, x=0x108, y=0x158, paramA=0x3 @@ -11844,67 +11844,67 @@ Enemies_PalaceOfWinds_16:: @ 080E8290 enemy_raw subtype=0x15, x=0x160, y=0x158, paramB=0x22320000, paramC=0xb00020 entity_list_end -TileEntities_PalaceOfWinds_16:: @ 080E8330 +TileEntities_PalaceOfWinds_BlockMazeToBossDoor:: @ 080E8330 tile_entity type=0x2, paramA=0x49, paramB=0x725c, paramC=0x44e tile_entity type=0x1, paramA=0x11 tile_entity_list_end -Room_PalaceOfWinds_16:: @ 080E8348 - .4byte Entities_PalaceOfWinds_16_0 +Room_PalaceOfWinds_BlockMazeToBossDoor:: @ 080E8348 + .4byte Entities_PalaceOfWinds_BlockMazeToBossDoor_0 .4byte 0x00000000 - .4byte Enemies_PalaceOfWinds_16 - .4byte TileEntities_PalaceOfWinds_16 + .4byte Enemies_PalaceOfWinds_BlockMazeToBossDoor + .4byte TileEntities_PalaceOfWinds_BlockMazeToBossDoor .4byte 0x00000000 .4byte 0x00000000 - .4byte sub_unk3_PalaceOfWinds_16 - .4byte sub_StateChange_PalaceOfWinds_16 + .4byte sub_unk3_PalaceOfWinds_BlockMazeToBossDoor + .4byte sub_StateChange_PalaceOfWinds_BlockMazeToBossDoor -Entities_PalaceOfWinds_17_0:: @ 080E8368 +Entities_PalaceOfWinds_CrackedFloorLakitu_0:: @ 080E8368 manager subtype=0x19, unknown=0x8 entity_list_end -Enemies_PalaceOfWinds_17:: @ 080E8388 +Enemies_PalaceOfWinds_CrackedFloorLakitu:: @ 080E8388 enemy_raw subtype=0x47, x=0x18, y=0xa8 enemy_raw subtype=0x47, x=0xa8, y=0xb8 enemy_raw subtype=0x47, x=0x48, y=0x140 entity_list_end -TileEntities_PalaceOfWinds_17:: @ 080E83C8 +TileEntities_PalaceOfWinds_CrackedFloorLakitu:: @ 080E83C8 tile_entity type=0x1, paramA=0x12 tile_entity_list_end -Room_PalaceOfWinds_17:: @ 080E83D8 - .4byte Entities_PalaceOfWinds_17_0 +Room_PalaceOfWinds_CrackedFloorLakitu:: @ 080E83D8 + .4byte Entities_PalaceOfWinds_CrackedFloorLakitu_0 .4byte 0x00000000 - .4byte Enemies_PalaceOfWinds_17 - .4byte TileEntities_PalaceOfWinds_17 + .4byte Enemies_PalaceOfWinds_CrackedFloorLakitu + .4byte TileEntities_PalaceOfWinds_CrackedFloorLakitu .4byte 0x00000000 .4byte 0x00000000 - .4byte sub_unk3_PalaceOfWinds_17 - .4byte sub_StateChange_PalaceOfWinds_17 + .4byte sub_unk3_PalaceOfWinds_CrackedFloorLakitu + .4byte sub_StateChange_PalaceOfWinds_CrackedFloorLakitu -Entities_PalaceOfWinds_18_0:: @ 080E83F8 +Entities_PalaceOfWinds_HeartPieceBridge_0:: @ 080E83F8 manager subtype=0x19, unknown=0x8 entity_list_end -Enemies_PalaceOfWinds_18:: @ 080E8418 +Enemies_PalaceOfWinds_HeartPieceBridge:: @ 080E8418 entity_list_end -TileEntities_PalaceOfWinds_18:: @ 080E8428 +TileEntities_PalaceOfWinds_HeartPieceBridge:: @ 080E8428 tile_entity type=0x1, paramA=0x13 tile_entity_list_end -Room_PalaceOfWinds_18:: @ 080E8438 - .4byte Entities_PalaceOfWinds_18_0 +Room_PalaceOfWinds_HeartPieceBridge:: @ 080E8438 + .4byte Entities_PalaceOfWinds_HeartPieceBridge_0 .4byte 0x00000000 - .4byte Enemies_PalaceOfWinds_18 - .4byte TileEntities_PalaceOfWinds_18 + .4byte Enemies_PalaceOfWinds_HeartPieceBridge + .4byte TileEntities_PalaceOfWinds_HeartPieceBridge .4byte 0x00000000 .4byte 0x00000000 - .4byte sub_unk3_PalaceOfWinds_18 - .4byte sub_StateChange_PalaceOfWinds_18 + .4byte sub_unk3_PalaceOfWinds_HeartPieceBridge + .4byte sub_StateChange_PalaceOfWinds_HeartPieceBridge -Entities_PalaceOfWinds_19_0:: @ 080E8458 +Entities_PalaceOfWinds_FanBridge_0:: @ 080E8458 manager subtype=0x19, unknown=0x8 object_raw subtype=0x9f, x=0x100, y=0x18, paramB=0x1e101e01 object_raw subtype=0x9f, x=0x120, y=0x78, paramA=0x2, paramB=0x1e100f01 @@ -11913,26 +11913,26 @@ Entities_PalaceOfWinds_19_0:: @ 080E8458 object_raw subtype=0x9f, x=0x1b8, y=0x100, paramA=0x1, paramB=0x1e180f01 entity_list_end -Enemies_PalaceOfWinds_19:: @ 080E84C8 +Enemies_PalaceOfWinds_FanBridge:: @ 080E84C8 enemy_raw subtype=0x1, x=0x128, y=0xa8, paramA=0x2 enemy_raw subtype=0x1, x=0x188, y=0xa8, paramA=0x2 entity_list_end -TileEntities_PalaceOfWinds_19:: @ 080E84F8 +TileEntities_PalaceOfWinds_FanBridge:: @ 080E84F8 tile_entity type=0x1, paramA=0x14 tile_entity_list_end -Room_PalaceOfWinds_19:: @ 080E8508 - .4byte Entities_PalaceOfWinds_19_0 +Room_PalaceOfWinds_FanBridge:: @ 080E8508 + .4byte Entities_PalaceOfWinds_FanBridge_0 .4byte 0x00000000 - .4byte Enemies_PalaceOfWinds_19 - .4byte TileEntities_PalaceOfWinds_19 + .4byte Enemies_PalaceOfWinds_FanBridge + .4byte TileEntities_PalaceOfWinds_FanBridge .4byte 0x00000000 .4byte 0x00000000 - .4byte sub_unk3_PalaceOfWinds_19 - .4byte sub_StateChange_PalaceOfWinds_19 + .4byte sub_unk3_PalaceOfWinds_FanBridge + .4byte sub_StateChange_PalaceOfWinds_FanBridge -Entities_PalaceOfWinds_20_0:: @ 080E8528 +Entities_PalaceOfWinds_ToFanBridge_0:: @ 080E8528 manager subtype=0x19, unknown=0x8 manager subtype=0x1a, unknown=0x8, paramA=0x25 object_raw subtype=0x29, x=0x70, y=0xa0, paramA=0x80 @@ -11944,26 +11944,26 @@ Entities_PalaceOfWinds_20_0:: @ 080E8528 enemy_raw subtype=0x43, x=0x68, y=0xe8 entity_list_end -Enemies_PalaceOfWinds_20:: @ 080E85C8 +Enemies_PalaceOfWinds_ToFanBridge:: @ 080E85C8 enemy_raw subtype=0x15, x=0x48, y=0x48, paramB=0x1a120000, paramC=0x200020 enemy_raw subtype=0x15, x=0x88, y=0x48, paramB=0x1a120000, paramC=0x200020 entity_list_end -TileEntities_PalaceOfWinds_20:: @ 080E85F8 +TileEntities_PalaceOfWinds_ToFanBridge:: @ 080E85F8 tile_entity type=0x1, paramA=0x15 tile_entity_list_end -Room_PalaceOfWinds_20:: @ 080E8608 - .4byte Entities_PalaceOfWinds_20_0 +Room_PalaceOfWinds_ToFanBridge:: @ 080E8608 + .4byte Entities_PalaceOfWinds_ToFanBridge_0 .4byte 0x00000000 - .4byte Enemies_PalaceOfWinds_20 - .4byte TileEntities_PalaceOfWinds_20 + .4byte Enemies_PalaceOfWinds_ToFanBridge + .4byte TileEntities_PalaceOfWinds_ToFanBridge .4byte 0x00000000 .4byte 0x00000000 - .4byte sub_unk3_PalaceOfWinds_20 - .4byte sub_StateChange_PalaceOfWinds_20 + .4byte sub_unk3_PalaceOfWinds_ToFanBridge + .4byte sub_StateChange_PalaceOfWinds_ToFanBridge -Entities_PalaceOfWinds_21_0:: @ 080E8628 +Entities_PalaceOfWinds_RedWarpHall_0:: @ 080E8628 manager subtype=0x1a, unknown=0x8, paramA=0x26 manager subtype=0x1a, unknown=0x8, paramA=0x27 manager subtype=0x1a, unknown=0x8, paramA=0x28 @@ -11985,7 +11985,7 @@ Entities_PalaceOfWinds_21_0:: @ 080E8628 enemy_raw subtype=0x43, x=0x278, y=0xd8 entity_list_end -Enemies_PalaceOfWinds_21:: @ 080E8768 +Enemies_PalaceOfWinds_RedWarpHall:: @ 080E8768 enemy_raw subtype=0x42, x=0x118, y=0xa8, paramA=0x1, paramB=0x20220000, paramC=0x200020 enemy_raw subtype=0x3b, x=0x48, y=0x78, paramB=0x20220000, paramC=0x200020 enemy_raw subtype=0x3b, x=0x58, y=0xa8, paramB=0x20220000, paramC=0x200020 @@ -11994,28 +11994,28 @@ Enemies_PalaceOfWinds_21:: @ 080E8768 enemy_raw subtype=0x33, x=0x148, y=0xe8, paramA=0x8 entity_list_end -TileEntities_PalaceOfWinds_21:: @ 080E87D8 +TileEntities_PalaceOfWinds_RedWarpHall:: @ 080E87D8 tile_entity type=0x2, paramA=0x4f, paramB=0x59, paramC=0xdd tile_entity type=0xa, paramA=0x1, paramB=0x50, paramC=0x3d9, paramD=0x26 tile_entity type=0xa, paramA=0x1, paramB=0x51, paramC=0x419, paramD=0x26 tile_entity type=0x1, paramA=0x16 tile_entity_list_end -gUnk_additional_8_PalaceOfWinds_21:: @ 080E8800 - .incbin "data_080D5360/gUnk_additional_8_PalaceOfWinds_21.bin" +gUnk_additional_8_PalaceOfWinds_RedWarpHall:: @ 080E8800 + .incbin "data_080D5360/gUnk_additional_8_PalaceOfWinds_RedWarpHall.bin" -Room_PalaceOfWinds_21:: @ 080E8824 - .4byte Entities_PalaceOfWinds_21_0 +Room_PalaceOfWinds_RedWarpHall:: @ 080E8824 + .4byte Entities_PalaceOfWinds_RedWarpHall_0 .4byte 0x00000000 - .4byte Enemies_PalaceOfWinds_21 - .4byte TileEntities_PalaceOfWinds_21 + .4byte Enemies_PalaceOfWinds_RedWarpHall + .4byte TileEntities_PalaceOfWinds_RedWarpHall .4byte 0x00000000 .4byte 0x00000000 - .4byte sub_unk3_PalaceOfWinds_21 - .4byte sub_StateChange_PalaceOfWinds_21 - .4byte gUnk_additional_8_PalaceOfWinds_21 + .4byte sub_unk3_PalaceOfWinds_RedWarpHall + .4byte sub_StateChange_PalaceOfWinds_RedWarpHall + .4byte gUnk_additional_8_PalaceOfWinds_RedWarpHall -Entities_PalaceOfWinds_22_0:: @ 080E8848 +Entities_PalaceOfWinds_PlatformCloneRide_0:: @ 080E8848 manager subtype=0x19, unknown=0x8 manager subtype=0x1a, unknown=0x8, paramA=0x29 object_raw subtype=0x29, x=0x80, y=0x50, paramA=0x80 @@ -12030,50 +12030,50 @@ Entities_PalaceOfWinds_22_0:: @ 080E8848 enemy_raw subtype=0x43, x=0xa8, y=0x128, paramB=0x5f entity_list_end -Enemies_PalaceOfWinds_22:: @ 080E8918 +Enemies_PalaceOfWinds_PlatformCloneRide:: @ 080E8918 entity_list_end -TileEntities_PalaceOfWinds_22:: @ 080E8928 +TileEntities_PalaceOfWinds_PlatformCloneRide:: @ 080E8928 tile_entity type=0x1, paramA=0x17 tile_entity_list_end -gUnk_additional_8_PalaceOfWinds_22:: @ 080E8938 - .incbin "data_080D5360/gUnk_additional_8_PalaceOfWinds_22.bin" +gUnk_additional_8_PalaceOfWinds_PlatformCloneRide:: @ 080E8938 + .incbin "data_080D5360/gUnk_additional_8_PalaceOfWinds_PlatformCloneRide.bin" -Room_PalaceOfWinds_22:: @ 080E8988 - .4byte Entities_PalaceOfWinds_22_0 +Room_PalaceOfWinds_PlatformCloneRide:: @ 080E8988 + .4byte Entities_PalaceOfWinds_PlatformCloneRide_0 .4byte 0x00000000 - .4byte Enemies_PalaceOfWinds_22 - .4byte TileEntities_PalaceOfWinds_22 + .4byte Enemies_PalaceOfWinds_PlatformCloneRide + .4byte TileEntities_PalaceOfWinds_PlatformCloneRide .4byte 0x00000000 .4byte 0x00000000 - .4byte sub_unk3_PalaceOfWinds_22 - .4byte sub_StateChange_PalaceOfWinds_22 - .4byte gUnk_additional_8_PalaceOfWinds_22 + .4byte sub_unk3_PalaceOfWinds_PlatformCloneRide + .4byte sub_StateChange_PalaceOfWinds_PlatformCloneRide + .4byte gUnk_additional_8_PalaceOfWinds_PlatformCloneRide -Entities_PalaceOfWinds_23_0:: @ 080E89AC +Entities_PalaceOfWinds_PitCornerAfterKey_0:: @ 080E89AC manager subtype=0x19, unknown=0x8 object_raw subtype=0x8, x=0x18, y=0xd8, paramA=0x3, paramC=0x58ffff entity_list_end -Enemies_PalaceOfWinds_23:: @ 080E89DC +Enemies_PalaceOfWinds_PitCornerAfterKey:: @ 080E89DC entity_list_end -TileEntities_PalaceOfWinds_23:: @ 080E89EC +TileEntities_PalaceOfWinds_PitCornerAfterKey:: @ 080E89EC tile_entity type=0x1, paramA=0x18 tile_entity_list_end -Room_PalaceOfWinds_23:: @ 080E89FC - .4byte Entities_PalaceOfWinds_23_0 +Room_PalaceOfWinds_PitCornerAfterKey:: @ 080E89FC + .4byte Entities_PalaceOfWinds_PitCornerAfterKey_0 .4byte 0x00000000 - .4byte Enemies_PalaceOfWinds_23 - .4byte TileEntities_PalaceOfWinds_23 + .4byte Enemies_PalaceOfWinds_PitCornerAfterKey + .4byte TileEntities_PalaceOfWinds_PitCornerAfterKey .4byte 0x00000000 .4byte 0x00000000 - .4byte sub_unk3_PalaceOfWinds_23 - .4byte sub_StateChange_PalaceOfWinds_23 + .4byte sub_unk3_PalaceOfWinds_PitCornerAfterKey + .4byte sub_StateChange_PalaceOfWinds_PitCornerAfterKey -Entities_PalaceOfWinds_24_0:: @ 080E8A1C +Entities_PalaceOfWinds_CrowRide_0:: @ 080E8A1C manager subtype=0x19, unknown=0x8 object_raw subtype=0xae, x=0x88, y=0xc8, paramA=0x3 object_raw subtype=0xae, x=0xb8, y=0xc8, paramA=0x3 @@ -12085,7 +12085,7 @@ Entities_PalaceOfWinds_24_0:: @ 080E8A1C manager subtype=0x38, paramA=0xa entity_list_end -Enemies_PalaceOfWinds_24:: @ 080E8ABC +Enemies_PalaceOfWinds_CrowRide:: @ 080E8ABC enemy_raw subtype=0x31, x=0xe8, y=0x38 enemy_raw subtype=0x31, x=0xe8, y=0x58 enemy_raw subtype=0x31, x=0xe8, y=0x78 @@ -12094,37 +12094,37 @@ Enemies_PalaceOfWinds_24:: @ 080E8ABC enemy_raw subtype=0x31, x=0x38, y=0x188 entity_list_end -TileEntities_PalaceOfWinds_24:: @ 080E8B2C +TileEntities_PalaceOfWinds_CrowRide:: @ 080E8B2C tile_entity type=0x1, paramA=0x19 tile_entity_list_end -gUnk_additional_9_PalaceOfWinds_24:: @ 080E8B3C +gUnk_additional_9_PalaceOfWinds_CrowRide:: @ 080E8B3C object_raw subtype=0x16, x=0x58, y=0x108, paramA=0x3, paramB=0x8 object_raw subtype=0x16, x=0x58, y=0x138, paramA=0x3, paramB=0x8 entity_list_end -gUnk_additional_a_PalaceOfWinds_24:: @ 080E8B6C +gUnk_additional_a_PalaceOfWinds_CrowRide:: @ 080E8B6C object_raw subtype=0x16, x=0xb8, y=0x108, paramA=0x3, paramB=0x8 object_raw subtype=0x16, x=0xb8, y=0x138, paramA=0x3, paramB=0x8 entity_list_end -gUnk_additional_8_PalaceOfWinds_24:: @ 080E8B9C - .incbin "data_080D5360/gUnk_additional_8_PalaceOfWinds_24.bin" +gUnk_additional_8_PalaceOfWinds_CrowRide:: @ 080E8B9C + .incbin "data_080D5360/gUnk_additional_8_PalaceOfWinds_CrowRide.bin" -Room_PalaceOfWinds_24:: @ 080E8BC0 - .4byte Entities_PalaceOfWinds_24_0 +Room_PalaceOfWinds_CrowRide:: @ 080E8BC0 + .4byte Entities_PalaceOfWinds_CrowRide_0 .4byte 0x00000000 - .4byte Enemies_PalaceOfWinds_24 - .4byte TileEntities_PalaceOfWinds_24 + .4byte Enemies_PalaceOfWinds_CrowRide + .4byte TileEntities_PalaceOfWinds_CrowRide .4byte 0x00000000 .4byte 0x00000000 - .4byte sub_unk3_PalaceOfWinds_24 - .4byte sub_StateChange_PalaceOfWinds_24 - .4byte gUnk_additional_8_PalaceOfWinds_24 - .4byte gUnk_additional_9_PalaceOfWinds_24 - .4byte gUnk_additional_a_PalaceOfWinds_24 + .4byte sub_unk3_PalaceOfWinds_CrowRide + .4byte sub_StateChange_PalaceOfWinds_CrowRide + .4byte gUnk_additional_8_PalaceOfWinds_CrowRide + .4byte gUnk_additional_9_PalaceOfWinds_CrowRide + .4byte gUnk_additional_a_PalaceOfWinds_CrowRide -Entities_PalaceOfWinds_25_0:: @ 080E8BEC +Entities_PalaceOfWinds_GratePlatformRide_0:: @ 080E8BEC manager subtype=0x19, unknown=0x8 object_raw subtype=0x29, x=0x160, y=0x98, paramA=0x7 manager subtype=0x2c, x=0x160, paramB=0x4011470, paramC=0xa00070 @@ -12134,28 +12134,28 @@ Entities_PalaceOfWinds_25_0:: @ 080E8BEC object_raw subtype=0xae, x=0x100, y=0x118, paramA=0x1 entity_list_end -Enemies_PalaceOfWinds_25:: @ 080E8C6C +Enemies_PalaceOfWinds_GratePlatformRide:: @ 080E8C6C entity_list_end -TileEntities_PalaceOfWinds_25:: @ 080E8C7C +TileEntities_PalaceOfWinds_GratePlatformRide:: @ 080E8C7C tile_entity type=0x1, paramA=0x1a tile_entity_list_end -gUnk_additional_8_PalaceOfWinds_25:: @ 080E8C8C - .incbin "data_080D5360/gUnk_additional_8_PalaceOfWinds_25.bin" +gUnk_additional_8_PalaceOfWinds_GratePlatformRide:: @ 080E8C8C + .incbin "data_080D5360/gUnk_additional_8_PalaceOfWinds_GratePlatformRide.bin" -Room_PalaceOfWinds_25:: @ 080E8CB0 - .4byte Entities_PalaceOfWinds_25_0 +Room_PalaceOfWinds_GratePlatformRide:: @ 080E8CB0 + .4byte Entities_PalaceOfWinds_GratePlatformRide_0 .4byte 0x00000000 - .4byte Enemies_PalaceOfWinds_25 - .4byte TileEntities_PalaceOfWinds_25 + .4byte Enemies_PalaceOfWinds_GratePlatformRide + .4byte TileEntities_PalaceOfWinds_GratePlatformRide .4byte 0x00000000 .4byte 0x00000000 - .4byte sub_unk3_PalaceOfWinds_25 - .4byte sub_StateChange_PalaceOfWinds_25 - .4byte gUnk_additional_8_PalaceOfWinds_25 + .4byte sub_unk3_PalaceOfWinds_GratePlatformRide + .4byte sub_StateChange_PalaceOfWinds_GratePlatformRide + .4byte gUnk_additional_8_PalaceOfWinds_GratePlatformRide -Entities_PalaceOfWinds_26_0:: @ 080E8CD4 +Entities_PalaceOfWinds_PotPush_0:: @ 080E8CD4 manager subtype=0x19, unknown=0x8 object_raw subtype=0x8, x=0x18, y=0x48, paramA=0xb, paramC=0x53ffff object_raw subtype=0x9d, x=0x118, y=0x28, paramA=0x1, paramC=0x80000052 @@ -12187,130 +12187,130 @@ Entities_PalaceOfWinds_26_0:: @ 080E8CD4 object_raw subtype=0x5, x=0x1a8, y=0xe8 entity_list_end -Enemies_PalaceOfWinds_26:: @ 080E8EB4 +Enemies_PalaceOfWinds_PotPush:: @ 080E8EB4 projectile_raw subtype=0x1e, x=0x88, y=0x20, unknown=0x3, paramA=0x4, paramC=0x80ff9f entity_list_end -TileEntities_PalaceOfWinds_26:: @ 080E8ED4 +TileEntities_PalaceOfWinds_PotPush:: @ 080E8ED4 tile_entity type=0x1, paramA=0x1b tile_entity_list_end -Room_PalaceOfWinds_26:: @ 080E8EE4 - .4byte Entities_PalaceOfWinds_26_0 +Room_PalaceOfWinds_PotPush:: @ 080E8EE4 + .4byte Entities_PalaceOfWinds_PotPush_0 .4byte 0x00000000 - .4byte Enemies_PalaceOfWinds_26 - .4byte TileEntities_PalaceOfWinds_26 + .4byte Enemies_PalaceOfWinds_PotPush + .4byte TileEntities_PalaceOfWinds_PotPush .4byte 0x00000000 .4byte 0x00000000 - .4byte sub_unk3_PalaceOfWinds_26 - .4byte sub_StateChange_PalaceOfWinds_26 + .4byte sub_unk3_PalaceOfWinds_PotPush + .4byte sub_StateChange_PalaceOfWinds_PotPush -Entities_PalaceOfWinds_27_0:: @ 080E8F04 +Entities_PalaceOfWinds_FloormasterLever_0:: @ 080E8F04 object_raw subtype=0x54, x=0x78, y=0x14, paramB=0x200000, paramC=0x80000000 manager subtype=0x11, paramC=0x80000054 object_raw subtype=0x8, x=0x48, y=0x78, paramA=0x2, paramC=0x54ffff entity_list_end -Enemies_PalaceOfWinds_27:: @ 080E8F44 +Enemies_PalaceOfWinds_FloormasterLever:: @ 080E8F44 enemy_raw subtype=0x23, x=0x48, y=0x38, paramB=0xa160000, paramC=0x100010 enemy_raw subtype=0x23, x=0x98, y=0x68, paramB=0xa160000, paramC=0x100010 entity_list_end -TileEntities_PalaceOfWinds_27:: @ 080E8F74 +TileEntities_PalaceOfWinds_FloormasterLever:: @ 080E8F74 tile_entity type=0x1, paramA=0x1c tile_entity_list_end -Room_PalaceOfWinds_27:: @ 080E8F84 - .4byte Entities_PalaceOfWinds_27_0 +Room_PalaceOfWinds_FloormasterLever:: @ 080E8F84 + .4byte Entities_PalaceOfWinds_FloormasterLever_0 .4byte 0x00000000 - .4byte Enemies_PalaceOfWinds_27 - .4byte TileEntities_PalaceOfWinds_27 + .4byte Enemies_PalaceOfWinds_FloormasterLever + .4byte TileEntities_PalaceOfWinds_FloormasterLever .4byte 0x00000000 .4byte 0x00000000 - .4byte sub_unk3_PalaceOfWinds_27 - .4byte sub_StateChange_PalaceOfWinds_27 + .4byte sub_unk3_PalaceOfWinds_FloormasterLever + .4byte sub_StateChange_PalaceOfWinds_FloormasterLever -Entities_PalaceOfWinds_28_0:: @ 080E8FA4 +Entities_PalaceOfWinds_Map_0:: @ 080E8FA4 manager subtype=0x1a, unknown=0x8, paramA=0x2a manager subtype=0xb, unknown=0x0, paramB=0x8, paramC=0x560000 object_raw subtype=0xc, x=0x78, y=0x28, paramA=0x2, paramB=0x57, paramC=0x560000 entity_list_end -Enemies_PalaceOfWinds_28:: @ 080E8FE4 +Enemies_PalaceOfWinds_Map:: @ 080E8FE4 entity_list_end -TileEntities_PalaceOfWinds_28:: @ 080E8FF4 +TileEntities_PalaceOfWinds_Map:: @ 080E8FF4 tile_entity type=0x3, paramA=0x57, paramB=0x50, paramC=0x78, paramD=0x28 tile_entity type=0x1, paramA=0x1d tile_entity_list_end -gUnk_additional_8_PalaceOfWinds_28:: @ 080E900C +gUnk_additional_8_PalaceOfWinds_Map:: @ 080E900C enemy_raw subtype=0x28, x=0x78, y=0x28, paramB=0xe160000, paramC=0x200020 enemy_raw subtype=0x28, x=0x58, y=0x48, paramB=0xe160000, paramC=0x200020 enemy_raw subtype=0x28, x=0x98, y=0x48, paramB=0xe160000, paramC=0x200020 entity_list_end -Room_PalaceOfWinds_28:: @ 080E904C - .4byte Entities_PalaceOfWinds_28_0 +Room_PalaceOfWinds_Map:: @ 080E904C + .4byte Entities_PalaceOfWinds_Map_0 .4byte 0x00000000 - .4byte Enemies_PalaceOfWinds_28 - .4byte TileEntities_PalaceOfWinds_28 + .4byte Enemies_PalaceOfWinds_Map + .4byte TileEntities_PalaceOfWinds_Map .4byte 0x00000000 .4byte 0x00000000 - .4byte sub_unk3_PalaceOfWinds_28 - .4byte sub_StateChange_PalaceOfWinds_28 - .4byte gUnk_additional_8_PalaceOfWinds_28 + .4byte sub_unk3_PalaceOfWinds_Map + .4byte sub_StateChange_PalaceOfWinds_Map + .4byte gUnk_additional_8_PalaceOfWinds_Map -Entities_PalaceOfWinds_29_0:: @ 080E9070 +Entities_PalaceOfWinds_CornerToMap_0:: @ 080E9070 object_raw subtype=0x74, x=0xb8, y=0x78, collision=1, paramC=0xffff0000 manager subtype=0x3, x=0xb8, y=0x78, unknown=0x0, paramA=0x3, paramB=0x103 entity_list_end -Enemies_PalaceOfWinds_29:: @ 080E90A0 +Enemies_PalaceOfWinds_CornerToMap:: @ 080E90A0 enemy_raw subtype=0x1, x=0x58, y=0x38, paramA=0x2 enemy_raw subtype=0x1, x=0x98, y=0x48, paramA=0x2 entity_list_end -TileEntities_PalaceOfWinds_29:: @ 080E90D0 +TileEntities_PalaceOfWinds_CornerToMap:: @ 080E90D0 tile_entity type=0x1, paramA=0x1e tile_entity_list_end -Room_PalaceOfWinds_29:: @ 080E90E0 - .4byte Entities_PalaceOfWinds_29_0 +Room_PalaceOfWinds_CornerToMap:: @ 080E90E0 + .4byte Entities_PalaceOfWinds_CornerToMap_0 .4byte 0x00000000 - .4byte Enemies_PalaceOfWinds_29 - .4byte TileEntities_PalaceOfWinds_29 + .4byte Enemies_PalaceOfWinds_CornerToMap + .4byte TileEntities_PalaceOfWinds_CornerToMap .4byte 0x00000000 .4byte 0x00000000 - .4byte sub_unk3_PalaceOfWinds_29 - .4byte sub_StateChange_PalaceOfWinds_29 + .4byte sub_unk3_PalaceOfWinds_CornerToMap + .4byte sub_StateChange_PalaceOfWinds_CornerToMap -Entities_PalaceOfWinds_30_0:: @ 080E9100 +Entities_PalaceOfWinds_StairsAfterFloormaster_0:: @ 080E9100 enemy_raw subtype=0x43, x=0x28, y=0x28 enemy_raw subtype=0x43, x=0x68, y=0x28, paramB=0x5e entity_list_end -Enemies_PalaceOfWinds_30:: @ 080E9130 +Enemies_PalaceOfWinds_StairsAfterFloormaster:: @ 080E9130 projectile_raw subtype=0x1d, x=0x28, y=0x58, unknown=0x3 enemy_raw subtype=0x42, x=0x58, y=0x48, paramB=0xc160000, paramC=0x200020 enemy_raw subtype=0x42, x=0x78, y=0x68, paramB=0xc160000, paramC=0x200020 entity_list_end -TileEntities_PalaceOfWinds_30:: @ 080E9170 +TileEntities_PalaceOfWinds_StairsAfterFloormaster:: @ 080E9170 tile_entity type=0x1, paramA=0x1f tile_entity_list_end -Room_PalaceOfWinds_30:: @ 080E9180 - .4byte Entities_PalaceOfWinds_30_0 +Room_PalaceOfWinds_StairsAfterFloormaster:: @ 080E9180 + .4byte Entities_PalaceOfWinds_StairsAfterFloormaster_0 .4byte 0x00000000 - .4byte Enemies_PalaceOfWinds_30 - .4byte TileEntities_PalaceOfWinds_30 + .4byte Enemies_PalaceOfWinds_StairsAfterFloormaster + .4byte TileEntities_PalaceOfWinds_StairsAfterFloormaster .4byte 0x00000000 .4byte 0x00000000 - .4byte sub_unk3_PalaceOfWinds_30 - .4byte sub_StateChange_PalaceOfWinds_30 + .4byte sub_unk3_PalaceOfWinds_StairsAfterFloormaster + .4byte sub_StateChange_PalaceOfWinds_StairsAfterFloormaster -Entities_PalaceOfWinds_31_0:: @ 080E91A0 +Entities_PalaceOfWinds_HoleToKinstoneWizzrobe_0:: @ 080E91A0 manager subtype=0x1a, unknown=0x8, paramA=0x2b object_raw subtype=0x5, x=0x48, y=0x48 object_raw subtype=0x5, x=0x58, y=0x48 @@ -12318,24 +12318,24 @@ Entities_PalaceOfWinds_31_0:: @ 080E91A0 object_raw subtype=0x5, x=0xa8, y=0x48 entity_list_end -Enemies_PalaceOfWinds_31:: @ 080E9200 +Enemies_PalaceOfWinds_HoleToKinstoneWizzrobe:: @ 080E9200 entity_list_end -TileEntities_PalaceOfWinds_31:: @ 080E9210 +TileEntities_PalaceOfWinds_HoleToKinstoneWizzrobe:: @ 080E9210 tile_entity type=0x1, paramA=0x20 tile_entity_list_end -Room_PalaceOfWinds_31:: @ 080E9220 - .4byte Entities_PalaceOfWinds_31_0 +Room_PalaceOfWinds_HoleToKinstoneWizzrobe:: @ 080E9220 + .4byte Entities_PalaceOfWinds_HoleToKinstoneWizzrobe_0 .4byte 0x00000000 - .4byte Enemies_PalaceOfWinds_31 - .4byte TileEntities_PalaceOfWinds_31 + .4byte Enemies_PalaceOfWinds_HoleToKinstoneWizzrobe + .4byte TileEntities_PalaceOfWinds_HoleToKinstoneWizzrobe .4byte 0x00000000 .4byte 0x00000000 - .4byte sub_unk3_PalaceOfWinds_31 - .4byte sub_StateChange_PalaceOfWinds_31 + .4byte sub_unk3_PalaceOfWinds_HoleToKinstoneWizzrobe + .4byte sub_StateChange_PalaceOfWinds_HoleToKinstoneWizzrobe -Entities_PalaceOfWinds_32_0:: @ 080E9240 +Entities_PalaceOfWinds_KeyArrowButton_0:: @ 080E9240 object_raw subtype=0x9d, x=0x68, y=0x48, paramA=0x1, paramC=0x580058 manager subtype=0x2e, unknown=0x0, paramB=0x1e00, paramC=0x580087 object_raw subtype=0x8, x=0xd8, y=0x38, paramA=0x1, paramC=0x87ffff @@ -12346,26 +12346,26 @@ Entities_PalaceOfWinds_32_0:: @ 080E9240 enemy_raw subtype=0x43, x=0x48, y=0x78, paramB=0x5e entity_list_end -Enemies_PalaceOfWinds_32:: @ 080E92D0 +Enemies_PalaceOfWinds_KeyArrowButton:: @ 080E92D0 enemy_raw subtype=0x8, x=0x28, y=0x68 enemy_raw subtype=0x8, x=0x78, y=0x58 entity_list_end -TileEntities_PalaceOfWinds_32:: @ 080E9300 +TileEntities_PalaceOfWinds_KeyArrowButton:: @ 080E9300 tile_entity type=0x1, paramA=0x21 tile_entity_list_end -Room_PalaceOfWinds_32:: @ 080E9310 - .4byte Entities_PalaceOfWinds_32_0 +Room_PalaceOfWinds_KeyArrowButton:: @ 080E9310 + .4byte Entities_PalaceOfWinds_KeyArrowButton_0 .4byte 0x00000000 - .4byte Enemies_PalaceOfWinds_32 - .4byte TileEntities_PalaceOfWinds_32 + .4byte Enemies_PalaceOfWinds_KeyArrowButton + .4byte TileEntities_PalaceOfWinds_KeyArrowButton .4byte 0x00000000 .4byte 0x00000000 - .4byte sub_unk3_PalaceOfWinds_32 - .4byte sub_StateChange_PalaceOfWinds_32 + .4byte sub_unk3_PalaceOfWinds_KeyArrowButton + .4byte sub_StateChange_PalaceOfWinds_KeyArrowButton -Entities_PalaceOfWinds_33_0:: @ 080E9330 +Entities_PalaceOfWinds_GratesTo3F_0:: @ 080E9330 manager subtype=0x19, unknown=0x8 manager subtype=0x1a, unknown=0x8, paramA=0x2c object_raw subtype=0x29, x=0x80, y=0xe0, paramA=0x8 @@ -12375,7 +12375,7 @@ Entities_PalaceOfWinds_33_0:: @ 080E9330 object_raw subtype=0x16, x=0x60, y=0x180, collision=1, paramA=0x3, paramB=0x8 entity_list_end -Enemies_PalaceOfWinds_33:: @ 080E93B0 +Enemies_PalaceOfWinds_GratesTo3F:: @ 080E93B0 enemy_raw subtype=0x1, x=0x178, y=0xb8, paramA=0x2 enemy_raw subtype=0x1, x=0x178, y=0x108, paramA=0x2 enemy_raw subtype=0x31, x=0xc8, y=0xc8 @@ -12394,33 +12394,33 @@ Enemies_PalaceOfWinds_33:: @ 080E93B0 enemy_raw subtype=0x43, x=0x38, y=0xe8 entity_list_end -TileEntities_PalaceOfWinds_33:: @ 080E94C0 +TileEntities_PalaceOfWinds_GratesTo3F:: @ 080E94C0 tile_entity type=0x1, paramA=0x22 tile_entity_list_end -gUnk_additional_8_PalaceOfWinds_33:: @ 080E94D0 - .incbin "data_080D5360/gUnk_additional_8_PalaceOfWinds_33.bin" +gUnk_additional_8_PalaceOfWinds_GratesTo3F:: @ 080E94D0 + .incbin "data_080D5360/gUnk_additional_8_PalaceOfWinds_GratesTo3F.bin" -gUnk_additional_9_PalaceOfWinds_33:: @ 080E94EE - .incbin "data_080D5360/gUnk_additional_9_PalaceOfWinds_33.bin" +gUnk_additional_9_PalaceOfWinds_GratesTo3F:: @ 080E94EE + .incbin "data_080D5360/gUnk_additional_9_PalaceOfWinds_GratesTo3F.bin" -gUnk_additional_a_PalaceOfWinds_33:: @ 080E9500 - .incbin "data_080D5360/gUnk_additional_a_PalaceOfWinds_33.bin" +gUnk_additional_a_PalaceOfWinds_GratesTo3F:: @ 080E9500 + .incbin "data_080D5360/gUnk_additional_a_PalaceOfWinds_GratesTo3F.bin" -Room_PalaceOfWinds_33:: @ 080E9518 - .4byte Entities_PalaceOfWinds_33_0 +Room_PalaceOfWinds_GratesTo3F:: @ 080E9518 + .4byte Entities_PalaceOfWinds_GratesTo3F_0 .4byte 0x00000000 - .4byte Enemies_PalaceOfWinds_33 - .4byte TileEntities_PalaceOfWinds_33 + .4byte Enemies_PalaceOfWinds_GratesTo3F + .4byte TileEntities_PalaceOfWinds_GratesTo3F .4byte 0x00000000 .4byte 0x00000000 - .4byte sub_unk3_PalaceOfWinds_33 - .4byte sub_StateChange_PalaceOfWinds_33 - .4byte gUnk_additional_8_PalaceOfWinds_33 - .4byte gUnk_additional_9_PalaceOfWinds_33 - .4byte gUnk_additional_a_PalaceOfWinds_33 + .4byte sub_unk3_PalaceOfWinds_GratesTo3F + .4byte sub_StateChange_PalaceOfWinds_GratesTo3F + .4byte gUnk_additional_8_PalaceOfWinds_GratesTo3F + .4byte gUnk_additional_9_PalaceOfWinds_GratesTo3F + .4byte gUnk_additional_a_PalaceOfWinds_GratesTo3F -Entities_PalaceOfWinds_34_0:: @ 080E9544 +Entities_PalaceOfWinds_SpinyFight_0:: @ 080E9544 manager subtype=0x19, unknown=0x8 object_raw subtype=0x9d, x=0x38, y=0x158, paramA=0x1, paramC=0x80008004 object_raw subtype=0x9d, x=0x58, y=0x158, paramA=0x1, paramC=0x80018004 @@ -12442,30 +12442,30 @@ Entities_PalaceOfWinds_34_0:: @ 080E9544 ezlo_hint x=0x22, y=0x26, rx=0x2, ry=0x3, msg=0xb49, flag=0x68 entity_list_end -Enemies_PalaceOfWinds_34:: @ 080E9684 +Enemies_PalaceOfWinds_SpinyFight:: @ 080E9684 entity_list_end -TileEntities_PalaceOfWinds_34:: @ 080E9694 +TileEntities_PalaceOfWinds_SpinyFight:: @ 080E9694 tile_entity type=0x1, paramA=0x23 tile_entity_list_end -gUnk_additional_8_PalaceOfWinds_34:: @ 080E96A4 +gUnk_additional_8_PalaceOfWinds_SpinyFight:: @ 080E96A4 enemy_raw subtype=0x1e, x=0x38, y=0x118, unknown=0x2f enemy_raw subtype=0x1e, x=0xb8, y=0x118, unknown=0x2f entity_list_end -Room_PalaceOfWinds_34:: @ 080E96D4 - .4byte Entities_PalaceOfWinds_34_0 +Room_PalaceOfWinds_SpinyFight:: @ 080E96D4 + .4byte Entities_PalaceOfWinds_SpinyFight_0 .4byte 0x00000000 - .4byte Enemies_PalaceOfWinds_34 - .4byte TileEntities_PalaceOfWinds_34 + .4byte Enemies_PalaceOfWinds_SpinyFight + .4byte TileEntities_PalaceOfWinds_SpinyFight .4byte 0x00000000 .4byte 0x00000000 - .4byte sub_unk3_PalaceOfWinds_34 - .4byte sub_StateChange_PalaceOfWinds_34 - .4byte gUnk_additional_8_PalaceOfWinds_34 + .4byte sub_unk3_PalaceOfWinds_SpinyFight + .4byte sub_StateChange_PalaceOfWinds_SpinyFight + .4byte gUnk_additional_8_PalaceOfWinds_SpinyFight -Entities_PalaceOfWinds_35_0:: @ 080E96F8 +Entities_PalaceOfWinds_PeahatSwitch_0:: @ 080E96F8 manager subtype=0x19, unknown=0x8 object_raw subtype=0x8, x=0xd8, y=0x48, paramA=0x9, paramC=0x6affff object_raw subtype=0x9d, x=0x38, y=0xd8, paramA=0x1, paramC=0x80000069 @@ -12481,27 +12481,27 @@ Entities_PalaceOfWinds_35_0:: @ 080E96F8 object_raw subtype=0x5, x=0xc8, y=0x28 entity_list_end -Enemies_PalaceOfWinds_35:: @ 080E97D8 +Enemies_PalaceOfWinds_PeahatSwitch:: @ 080E97D8 enemy_raw subtype=0x3, x=0x68, y=0x88, paramB=0x1e140000, paramC=0x300030 enemy_raw subtype=0x3, x=0x88, y=0x98, paramB=0x1e140000, paramC=0x300030 enemy_raw subtype=0x3, x=0xa8, y=0x78, paramB=0x1e140000, paramC=0x300030 entity_list_end -TileEntities_PalaceOfWinds_35:: @ 080E9818 +TileEntities_PalaceOfWinds_PeahatSwitch:: @ 080E9818 tile_entity type=0x1, paramA=0x24 tile_entity_list_end -Room_PalaceOfWinds_35:: @ 080E9828 - .4byte Entities_PalaceOfWinds_35_0 +Room_PalaceOfWinds_PeahatSwitch:: @ 080E9828 + .4byte Entities_PalaceOfWinds_PeahatSwitch_0 .4byte 0x00000000 - .4byte Enemies_PalaceOfWinds_35 - .4byte TileEntities_PalaceOfWinds_35 + .4byte Enemies_PalaceOfWinds_PeahatSwitch + .4byte TileEntities_PalaceOfWinds_PeahatSwitch .4byte 0x00000000 .4byte 0x00000000 - .4byte sub_unk3_PalaceOfWinds_35 - .4byte sub_StateChange_PalaceOfWinds_35 + .4byte sub_unk3_PalaceOfWinds_PeahatSwitch + .4byte sub_StateChange_PalaceOfWinds_PeahatSwitch -Entities_PalaceOfWinds_36_0:: @ 080E9848 +Entities_PalaceOfWinds_WhirlwindBombarossa_0:: @ 080E9848 manager subtype=0x19, unknown=0x8 object_raw subtype=0x8, x=0x28, y=0x48, paramA=0xb, paramC=0x6affff object_raw subtype=0x5e, x=0x58, y=0xd0 @@ -12516,44 +12516,44 @@ Entities_PalaceOfWinds_36_0:: @ 080E9848 enemy_raw subtype=0x33, x=0x138, y=0x68, paramA=0xb, paramB=0x1 entity_list_end -Enemies_PalaceOfWinds_36:: @ 080E9918 +Enemies_PalaceOfWinds_WhirlwindBombarossa:: @ 080E9918 entity_list_end -TileEntities_PalaceOfWinds_36:: @ 080E9928 +TileEntities_PalaceOfWinds_WhirlwindBombarossa:: @ 080E9928 tile_entity type=0x1, paramA=0x25 tile_entity_list_end -gUnk_additional_8_PalaceOfWinds_36:: @ 080E9938 - .incbin "data_080D5360/gUnk_additional_8_PalaceOfWinds_36.bin" +gUnk_additional_8_PalaceOfWinds_WhirlwindBombarossa:: @ 080E9938 + .incbin "data_080D5360/gUnk_additional_8_PalaceOfWinds_WhirlwindBombarossa.bin" -gUnk_additional_9_PalaceOfWinds_36:: @ 080E996E - .incbin "data_080D5360/gUnk_additional_9_PalaceOfWinds_36.bin" +gUnk_additional_9_PalaceOfWinds_WhirlwindBombarossa:: @ 080E996E + .incbin "data_080D5360/gUnk_additional_9_PalaceOfWinds_WhirlwindBombarossa.bin" -gUnk_additional_a_PalaceOfWinds_36:: @ 080E99A4 - .incbin "data_080D5360/gUnk_additional_a_PalaceOfWinds_36.bin" +gUnk_additional_a_PalaceOfWinds_WhirlwindBombarossa:: @ 080E99A4 + .incbin "data_080D5360/gUnk_additional_a_PalaceOfWinds_WhirlwindBombarossa.bin" -gUnk_additional_b_PalaceOfWinds_36:: @ 080E99DA - .incbin "data_080D5360/gUnk_additional_b_PalaceOfWinds_36.bin" +gUnk_additional_b_PalaceOfWinds_WhirlwindBombarossa:: @ 080E99DA + .incbin "data_080D5360/gUnk_additional_b_PalaceOfWinds_WhirlwindBombarossa.bin" -Room_PalaceOfWinds_36:: @ 080E9A10 - .4byte Entities_PalaceOfWinds_36_0 +Room_PalaceOfWinds_WhirlwindBombarossa:: @ 080E9A10 + .4byte Entities_PalaceOfWinds_WhirlwindBombarossa_0 .4byte 0x00000000 - .4byte Enemies_PalaceOfWinds_36 - .4byte TileEntities_PalaceOfWinds_36 + .4byte Enemies_PalaceOfWinds_WhirlwindBombarossa + .4byte TileEntities_PalaceOfWinds_WhirlwindBombarossa .4byte 0x00000000 .4byte 0x00000000 - .4byte sub_unk3_PalaceOfWinds_36 - .4byte sub_StateChange_PalaceOfWinds_36 - .4byte gUnk_additional_8_PalaceOfWinds_36 - .4byte gUnk_additional_9_PalaceOfWinds_36 - .4byte gUnk_additional_a_PalaceOfWinds_36 - .4byte gUnk_additional_b_PalaceOfWinds_36 + .4byte sub_unk3_PalaceOfWinds_WhirlwindBombarossa + .4byte sub_StateChange_PalaceOfWinds_WhirlwindBombarossa + .4byte gUnk_additional_8_PalaceOfWinds_WhirlwindBombarossa + .4byte gUnk_additional_9_PalaceOfWinds_WhirlwindBombarossa + .4byte gUnk_additional_a_PalaceOfWinds_WhirlwindBombarossa + .4byte gUnk_additional_b_PalaceOfWinds_WhirlwindBombarossa -Entities_PalaceOfWinds_37_0:: @ 080E9A40 +Entities_PalaceOfWinds_DoorToStalfosFirebar_0:: @ 080E9A40 manager subtype=0x1a, unknown=0x8, paramA=0x2d entity_list_end -Enemies_PalaceOfWinds_37:: @ 080E9A60 +Enemies_PalaceOfWinds_DoorToStalfosFirebar:: @ 080E9A60 enemy_raw subtype=0x43, x=0x38, y=0x58 enemy_raw subtype=0x43, x=0x48, y=0x58, paramA=0x2 enemy_raw subtype=0x43, x=0x58, y=0x58 @@ -12561,47 +12561,47 @@ Enemies_PalaceOfWinds_37:: @ 080E9A60 enemy_raw subtype=0x43, x=0x88, y=0x48 entity_list_end -TileEntities_PalaceOfWinds_37:: @ 080E9AC0 +TileEntities_PalaceOfWinds_DoorToStalfosFirebar:: @ 080E9AC0 tile_entity type=0x1, paramA=0x26 tile_entity_list_end -Room_PalaceOfWinds_37:: @ 080E9AD0 - .4byte Entities_PalaceOfWinds_37_0 +Room_PalaceOfWinds_DoorToStalfosFirebar:: @ 080E9AD0 + .4byte Entities_PalaceOfWinds_DoorToStalfosFirebar_0 .4byte 0x00000000 - .4byte Enemies_PalaceOfWinds_37 - .4byte TileEntities_PalaceOfWinds_37 + .4byte Enemies_PalaceOfWinds_DoorToStalfosFirebar + .4byte TileEntities_PalaceOfWinds_DoorToStalfosFirebar .4byte 0x00000000 .4byte 0x00000000 - .4byte sub_unk3_PalaceOfWinds_37 - .4byte sub_StateChange_PalaceOfWinds_37 + .4byte sub_unk3_PalaceOfWinds_DoorToStalfosFirebar + .4byte sub_StateChange_PalaceOfWinds_DoorToStalfosFirebar -Entities_PalaceOfWinds_38_0:: @ 080E9AF0 +Entities_PalaceOfWinds_StalfosFireborHole_0:: @ 080E9AF0 manager subtype=0x1a, unknown=0x8, paramA=0x2f manager subtype=0x1a, unknown=0x8, paramA=0x2e object_raw subtype=0x8, x=0xd8, y=0x48, paramA=0x1, paramC=0x6bffff entity_list_end -Enemies_PalaceOfWinds_38:: @ 080E9B30 +Enemies_PalaceOfWinds_StalfosFireborHole:: @ 080E9B30 enemy_raw subtype=0x42, x=0x58, y=0x48, paramA=0x1, paramB=0xc160000, paramC=0x200020 enemy_raw subtype=0x42, x=0xa8, y=0x48, paramA=0x1, paramB=0xc160000, paramC=0x200020 projectile_raw subtype=0x1d, x=0x68, y=0x28, unknown=0x3 entity_list_end -TileEntities_PalaceOfWinds_38:: @ 080E9B70 +TileEntities_PalaceOfWinds_StalfosFireborHole:: @ 080E9B70 tile_entity type=0x1, paramA=0x27 tile_entity_list_end -Room_PalaceOfWinds_38:: @ 080E9B80 - .4byte Entities_PalaceOfWinds_38_0 +Room_PalaceOfWinds_StalfosFireborHole:: @ 080E9B80 + .4byte Entities_PalaceOfWinds_StalfosFireborHole_0 .4byte 0x00000000 - .4byte Enemies_PalaceOfWinds_38 - .4byte TileEntities_PalaceOfWinds_38 + .4byte Enemies_PalaceOfWinds_StalfosFireborHole + .4byte TileEntities_PalaceOfWinds_StalfosFireborHole .4byte 0x00000000 .4byte 0x00000000 - .4byte sub_unk3_PalaceOfWinds_38 - .4byte sub_StateChange_PalaceOfWinds_38 + .4byte sub_unk3_PalaceOfWinds_StalfosFireborHole + .4byte sub_StateChange_PalaceOfWinds_StalfosFireborHole -Entities_PalaceOfWinds_39_0:: @ 080E9BA0 +Entities_PalaceOfWinds_ShortcutDoorButtons_0:: @ 080E9BA0 manager subtype=0x1a, unknown=0x8, paramA=0x30 object_raw subtype=0x9d, x=0x48, y=0x28, paramA=0x1, paramC=0x8000006b object_raw subtype=0x9d, x=0x78, y=0x28, paramA=0x1, paramC=0x8001006b @@ -12609,50 +12609,50 @@ Entities_PalaceOfWinds_39_0:: @ 080E9BA0 object_raw subtype=0x8, x=0x28, y=0x48, paramA=0x3, paramC=0x6bffff entity_list_end -Enemies_PalaceOfWinds_39:: @ 080E9C00 +Enemies_PalaceOfWinds_ShortcutDoorButtons:: @ 080E9C00 enemy_raw subtype=0x8, x=0xb8, y=0x48 enemy_raw subtype=0x8, x=0xc8, y=0x58 entity_list_end -TileEntities_PalaceOfWinds_39:: @ 080E9C30 +TileEntities_PalaceOfWinds_ShortcutDoorButtons:: @ 080E9C30 tile_entity type=0x1, paramA=0x28 tile_entity_list_end -Room_PalaceOfWinds_39:: @ 080E9C40 - .4byte Entities_PalaceOfWinds_39_0 +Room_PalaceOfWinds_ShortcutDoorButtons:: @ 080E9C40 + .4byte Entities_PalaceOfWinds_ShortcutDoorButtons_0 .4byte 0x00000000 - .4byte Enemies_PalaceOfWinds_39 - .4byte TileEntities_PalaceOfWinds_39 + .4byte Enemies_PalaceOfWinds_ShortcutDoorButtons + .4byte TileEntities_PalaceOfWinds_ShortcutDoorButtons .4byte 0x00000000 .4byte 0x00000000 - .4byte sub_unk3_PalaceOfWinds_39 - .4byte sub_StateChange_PalaceOfWinds_39 + .4byte sub_unk3_PalaceOfWinds_ShortcutDoorButtons + .4byte sub_StateChange_PalaceOfWinds_ShortcutDoorButtons -Entities_PalaceOfWinds_40_0:: @ 080E9C60 +Entities_PalaceOfWinds_ToPeahatSwitch_0:: @ 080E9C60 manager subtype=0x1a, unknown=0x8, paramA=0x31 object_raw subtype=0x8, x=0xd8, y=0x68, paramA=0x1, paramC=0x6dffff entity_list_end -Enemies_PalaceOfWinds_40:: @ 080E9C90 +Enemies_PalaceOfWinds_ToPeahatSwitch:: @ 080E9C90 enemy_raw subtype=0x1, x=0x58, y=0x68, paramA=0x2 enemy_raw subtype=0x1, x=0xa8, y=0x78, paramA=0x2 entity_list_end -TileEntities_PalaceOfWinds_40:: @ 080E9CC0 +TileEntities_PalaceOfWinds_ToPeahatSwitch:: @ 080E9CC0 tile_entity type=0x1, paramA=0x29 tile_entity_list_end -Room_PalaceOfWinds_40:: @ 080E9CD0 - .4byte Entities_PalaceOfWinds_40_0 +Room_PalaceOfWinds_ToPeahatSwitch:: @ 080E9CD0 + .4byte Entities_PalaceOfWinds_ToPeahatSwitch_0 .4byte 0x00000000 - .4byte Enemies_PalaceOfWinds_40 - .4byte TileEntities_PalaceOfWinds_40 + .4byte Enemies_PalaceOfWinds_ToPeahatSwitch + .4byte TileEntities_PalaceOfWinds_ToPeahatSwitch .4byte 0x00000000 .4byte 0x00000000 - .4byte sub_unk3_PalaceOfWinds_40 - .4byte sub_StateChange_PalaceOfWinds_40 + .4byte sub_unk3_PalaceOfWinds_ToPeahatSwitch + .4byte sub_StateChange_PalaceOfWinds_ToPeahatSwitch -Entities_PalaceOfWinds_41_0:: @ 080E9CF0 +Entities_PalaceOfWinds_KinstoneWizzrobeFight_0:: @ 080E9CF0 manager subtype=0x1e, x=0x60, y=0x30, paramB=0x300030, paramC=0x80000000 manager subtype=0xb, unknown=0x0, paramB=0x8, paramC=0x6d8000 object_raw subtype=0xc, x=0x78, y=0x38, paramA=0x1, paramC=0x6d0000 @@ -12660,91 +12660,91 @@ Entities_PalaceOfWinds_41_0:: @ 080E9CF0 object_raw subtype=0x8, x=0xc8, y=0x68, paramA=0x1, paramC=0x6dffff entity_list_end -Enemies_PalaceOfWinds_41:: @ 080E9D50 +Enemies_PalaceOfWinds_KinstoneWizzrobeFight:: @ 080E9D50 entity_list_end -TileEntities_PalaceOfWinds_41:: @ 080E9D60 +TileEntities_PalaceOfWinds_KinstoneWizzrobeFight:: @ 080E9D60 tile_entity type=0x2, paramA=0x6e, paramB=0x6f5c, paramC=0xc7 tile_entity type=0x1, paramA=0x2a tile_entity_list_end -gUnk_additional_8_PalaceOfWinds_41:: @ 080E9D78 +gUnk_additional_8_PalaceOfWinds_KinstoneWizzrobeFight:: @ 080E9D78 enemy_raw subtype=0x27, x=0x38, y=0x48, paramB=0xa120000, paramC=0x300030 enemy_raw subtype=0x29, x=0xb8, y=0x48, paramB=0xa120000, paramC=0x300030 entity_list_end -Room_PalaceOfWinds_41:: @ 080E9DA8 - .4byte Entities_PalaceOfWinds_41_0 +Room_PalaceOfWinds_KinstoneWizzrobeFight:: @ 080E9DA8 + .4byte Entities_PalaceOfWinds_KinstoneWizzrobeFight_0 .4byte 0x00000000 - .4byte Enemies_PalaceOfWinds_41 - .4byte TileEntities_PalaceOfWinds_41 + .4byte Enemies_PalaceOfWinds_KinstoneWizzrobeFight + .4byte TileEntities_PalaceOfWinds_KinstoneWizzrobeFight .4byte 0x00000000 .4byte 0x00000000 - .4byte sub_unk3_PalaceOfWinds_41 - .4byte sub_StateChange_PalaceOfWinds_41 - .4byte gUnk_additional_8_PalaceOfWinds_41 + .4byte sub_unk3_PalaceOfWinds_KinstoneWizzrobeFight + .4byte sub_StateChange_PalaceOfWinds_KinstoneWizzrobeFight + .4byte gUnk_additional_8_PalaceOfWinds_KinstoneWizzrobeFight -Entities_PalaceOfWinds_42_0:: @ 080E9DCC +Entities_PalaceOfWinds_GibdoStairs_0:: @ 080E9DCC object_raw subtype=0x8, x=0x18, y=0x68, paramA=0x3, paramC=0x6dffff entity_list_end -Enemies_PalaceOfWinds_42:: @ 080E9DEC +Enemies_PalaceOfWinds_GibdoStairs:: @ 080E9DEC enemy_raw subtype=0x3b, x=0x68, y=0x48, paramB=0xe160000, paramC=0x100020 enemy_raw subtype=0x3b, x=0xb8, y=0x48, paramB=0xe160000, paramC=0x100020 entity_list_end -TileEntities_PalaceOfWinds_42:: @ 080E9E1C +TileEntities_PalaceOfWinds_GibdoStairs:: @ 080E9E1C tile_entity type=0x1, paramA=0x2b tile_entity_list_end -Room_PalaceOfWinds_42:: @ 080E9E2C - .4byte Entities_PalaceOfWinds_42_0 +Room_PalaceOfWinds_GibdoStairs:: @ 080E9E2C + .4byte Entities_PalaceOfWinds_GibdoStairs_0 .4byte 0x00000000 - .4byte Enemies_PalaceOfWinds_42 - .4byte TileEntities_PalaceOfWinds_42 + .4byte Enemies_PalaceOfWinds_GibdoStairs + .4byte TileEntities_PalaceOfWinds_GibdoStairs .4byte 0x00000000 .4byte 0x00000000 - .4byte sub_unk3_PalaceOfWinds_42 - .4byte sub_StateChange_PalaceOfWinds_42 + .4byte sub_unk3_PalaceOfWinds_GibdoStairs + .4byte sub_StateChange_PalaceOfWinds_GibdoStairs -Entities_PalaceOfWinds_43_0:: @ 080E9E4C +Entities_PalaceOfWinds_SpikeBarSmallKey_0:: @ 080E9E4C manager subtype=0x19, unknown=0x8 entity_list_end -Enemies_PalaceOfWinds_43:: @ 080E9E6C +Enemies_PalaceOfWinds_SpikeBarSmallKey:: @ 080E9E6C projectile_raw subtype=0x1e, x=0x38, y=0xa0, unknown=0x3, paramA=0x2, paramC=0x800090 projectile_raw subtype=0x1e, x=0x78, y=0x60, unknown=0x3, paramA=0x2, paramC=0x80ffc0 projectile_raw subtype=0x1e, x=0x88, y=0x60, unknown=0x3, paramA=0x2, paramC=0x800040 entity_list_end -TileEntities_PalaceOfWinds_43:: @ 080E9EAC +TileEntities_PalaceOfWinds_SpikeBarSmallKey:: @ 080E9EAC tile_entity type=0x2, paramA=0x6f, paramB=0x53, paramC=0x46, paramD=0x1 tile_entity type=0x1, paramA=0x2c tile_entity_list_end -gUnk_additional_8_PalaceOfWinds_43:: @ 080E9EC4 - .incbin "data_080D5360/gUnk_additional_8_PalaceOfWinds_43.bin" +gUnk_additional_8_PalaceOfWinds_SpikeBarSmallKey:: @ 080E9EC4 + .incbin "data_080D5360/gUnk_additional_8_PalaceOfWinds_SpikeBarSmallKey.bin" -gUnk_additional_9_PalaceOfWinds_43:: @ 080E9EE2 - .incbin "data_080D5360/gUnk_additional_9_PalaceOfWinds_43.bin" +gUnk_additional_9_PalaceOfWinds_SpikeBarSmallKey:: @ 080E9EE2 + .incbin "data_080D5360/gUnk_additional_9_PalaceOfWinds_SpikeBarSmallKey.bin" -gUnk_additional_a_PalaceOfWinds_43:: @ 080E9F00 - .incbin "data_080D5360/gUnk_additional_a_PalaceOfWinds_43.bin" +gUnk_additional_a_PalaceOfWinds_SpikeBarSmallKey:: @ 080E9F00 + .incbin "data_080D5360/gUnk_additional_a_PalaceOfWinds_SpikeBarSmallKey.bin" -Room_PalaceOfWinds_43:: @ 080E9F20 - .4byte Entities_PalaceOfWinds_43_0 +Room_PalaceOfWinds_SpikeBarSmallKey:: @ 080E9F20 + .4byte Entities_PalaceOfWinds_SpikeBarSmallKey_0 .4byte 0x00000000 - .4byte Enemies_PalaceOfWinds_43 - .4byte TileEntities_PalaceOfWinds_43 + .4byte Enemies_PalaceOfWinds_SpikeBarSmallKey + .4byte TileEntities_PalaceOfWinds_SpikeBarSmallKey .4byte 0x00000000 .4byte 0x00000000 - .4byte sub_unk3_PalaceOfWinds_43 - .4byte sub_StateChange_PalaceOfWinds_43 - .4byte gUnk_additional_8_PalaceOfWinds_43 - .4byte gUnk_additional_9_PalaceOfWinds_43 - .4byte gUnk_additional_a_PalaceOfWinds_43 + .4byte sub_unk3_PalaceOfWinds_SpikeBarSmallKey + .4byte sub_StateChange_PalaceOfWinds_SpikeBarSmallKey + .4byte gUnk_additional_8_PalaceOfWinds_SpikeBarSmallKey + .4byte gUnk_additional_9_PalaceOfWinds_SpikeBarSmallKey + .4byte gUnk_additional_a_PalaceOfWinds_SpikeBarSmallKey -Entities_PalaceOfWinds_44_0:: @ 080E9F4C +Entities_PalaceOfWinds_RocCape_0:: @ 080E9F4C .ifdef EU manager subtype=0x19, unknown=0x8 object_raw subtype=0x9d, x=0x128, y=0x168, paramC=0x800a0000 @@ -12789,28 +12789,28 @@ gUnk_080EA09C:: @ 080EA09C manager subtype=0xb, unknown=0x0, paramB=0xa, paramC=0x708002 entity_list_end -Enemies_PalaceOfWinds_44:: @ 080EA0EC +Enemies_PalaceOfWinds_RocCape:: @ 080EA0EC projectile_raw subtype=0x1e, x=0x118, y=0x180, unknown=0x3, paramA=0x2, paramC=0x800080 entity_list_end -TileEntities_PalaceOfWinds_44:: @ 080EA10C +TileEntities_PalaceOfWinds_RocCape:: @ 080EA10C tile_entity type=0x3, paramA=0x74, paramB=0x14, paramC=0x78, paramD=0xd8 tile_entity type=0x1, paramA=0x2d tile_entity_list_end -gUnk_additional_8_PalaceOfWinds_44:: @ 080EA124 +gUnk_additional_8_PalaceOfWinds_RocCape:: @ 080EA124 enemy_raw subtype=0x27, x=0x38, y=0xd8, paramB=0xe120000, paramC=0xa00030 enemy_raw subtype=0x27, x=0xb8, y=0xd8, paramB=0xe120000, paramC=0xa00030 entity_list_end -gUnk_additional_9_PalaceOfWinds_44:: @ 080EA154 +gUnk_additional_9_PalaceOfWinds_RocCape:: @ 080EA154 enemy_raw subtype=0x27, x=0x38, y=0xd8, paramB=0xe120000, paramC=0xa00030 enemy_raw subtype=0x27, x=0xb8, y=0xd8, paramB=0xe120000, paramC=0xa00030 enemy_raw subtype=0x27, x=0x78, y=0xb8, paramB=0xe120000, paramC=0xa00030 enemy_raw subtype=0x27, x=0x78, y=0xf8, paramB=0xe120000, paramC=0xa00030 entity_list_end -gUnk_additional_a_PalaceOfWinds_44:: @ 080EA1A4 +gUnk_additional_a_PalaceOfWinds_RocCape:: @ 080EA1A4 enemy_raw subtype=0x27, x=0x38, y=0xd8, paramB=0xe120000, paramC=0xa00030 enemy_raw subtype=0x27, x=0xb8, y=0xd8, paramB=0xe120000, paramC=0xa00030 enemy_raw subtype=0x27, x=0x68, y=0xb8, paramB=0xe120000, paramC=0xa00030 @@ -12819,24 +12819,24 @@ gUnk_additional_a_PalaceOfWinds_44:: @ 080EA1A4 enemy_raw subtype=0x27, x=0x88, y=0xf8, paramB=0xe120000, paramC=0xa00030 entity_list_end -Room_PalaceOfWinds_44:: @ 080EA214 - .4byte Entities_PalaceOfWinds_44_0 +Room_PalaceOfWinds_RocCape:: @ 080EA214 + .4byte Entities_PalaceOfWinds_RocCape_0 .4byte 0x00000000 - .4byte Enemies_PalaceOfWinds_44 - .4byte TileEntities_PalaceOfWinds_44 + .4byte Enemies_PalaceOfWinds_RocCape + .4byte TileEntities_PalaceOfWinds_RocCape .4byte 0x00000000 .4byte 0x00000000 - .4byte sub_unk3_PalaceOfWinds_44 - .4byte sub_StateChange_PalaceOfWinds_44 - .4byte gUnk_additional_8_PalaceOfWinds_44 - .4byte gUnk_additional_9_PalaceOfWinds_44 - .4byte gUnk_additional_a_PalaceOfWinds_44 + .4byte sub_unk3_PalaceOfWinds_RocCape + .4byte sub_StateChange_PalaceOfWinds_RocCape + .4byte gUnk_additional_8_PalaceOfWinds_RocCape + .4byte gUnk_additional_9_PalaceOfWinds_RocCape + .4byte gUnk_additional_a_PalaceOfWinds_RocCape -Entities_PalaceOfWinds_45_0:: @ 080EA240 +Entities_PalaceOfWinds_FireBarGrates_0:: @ 080EA240 manager subtype=0x19, unknown=0x8 entity_list_end -Enemies_PalaceOfWinds_45:: @ 080EA260 +Enemies_PalaceOfWinds_FireBarGrates:: @ 080EA260 enemy_raw subtype=0x42, x=0x168, y=0x148, paramB=0x80c0000, paramC=0x1300140 enemy_raw subtype=0x22, x=0x58, y=0xe8 enemy_raw subtype=0x22, x=0x68, y=0x148 @@ -12846,22 +12846,22 @@ Enemies_PalaceOfWinds_45:: @ 080EA260 projectile_raw subtype=0x1d, x=0xb8, y=0xd8, unknown=0x3 entity_list_end -TileEntities_PalaceOfWinds_45:: @ 080EA2E0 +TileEntities_PalaceOfWinds_FireBarGrates:: @ 080EA2E0 tile_entity type=0x2, paramA=0x76, paramB=0x705c, paramC=0x149 tile_entity type=0x1, paramA=0x2e tile_entity_list_end -Room_PalaceOfWinds_45:: @ 080EA2F8 - .4byte Entities_PalaceOfWinds_45_0 +Room_PalaceOfWinds_FireBarGrates:: @ 080EA2F8 + .4byte Entities_PalaceOfWinds_FireBarGrates_0 .4byte 0x00000000 - .4byte Enemies_PalaceOfWinds_45 - .4byte TileEntities_PalaceOfWinds_45 + .4byte Enemies_PalaceOfWinds_FireBarGrates + .4byte TileEntities_PalaceOfWinds_FireBarGrates .4byte 0x00000000 .4byte 0x00000000 - .4byte sub_unk3_PalaceOfWinds_45 - .4byte sub_StateChange_PalaceOfWinds_45 + .4byte sub_unk3_PalaceOfWinds_FireBarGrates + .4byte sub_StateChange_PalaceOfWinds_FireBarGrates -Entities_PalaceOfWinds_46_0:: @ 080EA318 +Entities_PalaceOfWinds_PlatformRideBombarossas_0:: @ 080EA318 manager subtype=0x19, unknown=0x8 manager subtype=0x38, paramA=0x8 object_raw subtype=0xae, x=0x68, y=0xc8, paramA=0x3 @@ -12878,62 +12878,62 @@ Entities_PalaceOfWinds_46_0:: @ 080EA318 enemy_raw subtype=0x33, x=0x88, y=0x1c8 entity_list_end -Enemies_PalaceOfWinds_46:: @ 080EA408 +Enemies_PalaceOfWinds_PlatformRideBombarossas:: @ 080EA408 entity_list_end -TileEntities_PalaceOfWinds_46:: @ 080EA418 +TileEntities_PalaceOfWinds_PlatformRideBombarossas:: @ 080EA418 tile_entity type=0x1, paramA=0x2f tile_entity_list_end -gUnk_additional_8_PalaceOfWinds_46:: @ 080EA428 +gUnk_additional_8_PalaceOfWinds_PlatformRideBombarossas:: @ 080EA428 object_raw subtype=0x16, x=0x68, y=0x1b8, paramA=0x3, paramB=0xa object_raw subtype=0x16, x=0x90, y=0x1b0, paramA=0x2, paramB=0xa object_raw subtype=0x16, x=0x60, y=0x1e0, paramA=0x2, paramB=0xa object_raw subtype=0x16, x=0x88, y=0x1d8, paramA=0x3, paramB=0xa entity_list_end -gUnk_additional_9_PalaceOfWinds_46:: @ 080EA478 - .incbin "data_080D5360/gUnk_additional_9_PalaceOfWinds_46.bin" +gUnk_additional_9_PalaceOfWinds_PlatformRideBombarossas:: @ 080EA478 + .incbin "data_080D5360/gUnk_additional_9_PalaceOfWinds_PlatformRideBombarossas.bin" -gUnk_additional_a_PalaceOfWinds_46:: @ 080EA496 - .incbin "data_080D5360/gUnk_additional_a_PalaceOfWinds_46.bin" +gUnk_additional_a_PalaceOfWinds_PlatformRideBombarossas:: @ 080EA496 + .incbin "data_080D5360/gUnk_additional_a_PalaceOfWinds_PlatformRideBombarossas.bin" -Room_PalaceOfWinds_46:: @ 080EA4BC - .4byte Entities_PalaceOfWinds_46_0 +Room_PalaceOfWinds_PlatformRideBombarossas:: @ 080EA4BC + .4byte Entities_PalaceOfWinds_PlatformRideBombarossas_0 .4byte 0x00000000 - .4byte Enemies_PalaceOfWinds_46 - .4byte TileEntities_PalaceOfWinds_46 + .4byte Enemies_PalaceOfWinds_PlatformRideBombarossas + .4byte TileEntities_PalaceOfWinds_PlatformRideBombarossas .4byte 0x00000000 .4byte 0x00000000 - .4byte sub_unk3_PalaceOfWinds_46 - .4byte sub_StateChange_PalaceOfWinds_46 - .4byte gUnk_additional_8_PalaceOfWinds_46 - .4byte gUnk_additional_9_PalaceOfWinds_46 - .4byte gUnk_additional_a_PalaceOfWinds_46 + .4byte sub_unk3_PalaceOfWinds_PlatformRideBombarossas + .4byte sub_StateChange_PalaceOfWinds_PlatformRideBombarossas + .4byte gUnk_additional_8_PalaceOfWinds_PlatformRideBombarossas + .4byte gUnk_additional_9_PalaceOfWinds_PlatformRideBombarossas + .4byte gUnk_additional_a_PalaceOfWinds_PlatformRideBombarossas -Entities_PalaceOfWinds_47_0:: @ 080EA4E8 +Entities_PalaceOfWinds_BridgeAfterDarknut_0:: @ 080EA4E8 manager subtype=0x19, unknown=0x8 object_raw subtype=0xa1, x=0x78, y=0x18 entity_list_end -Enemies_PalaceOfWinds_47:: @ 080EA518 +Enemies_PalaceOfWinds_BridgeAfterDarknut:: @ 080EA518 entity_list_end -TileEntities_PalaceOfWinds_47:: @ 080EA528 +TileEntities_PalaceOfWinds_BridgeAfterDarknut:: @ 080EA528 tile_entity type=0x1, paramA=0x30 tile_entity_list_end -Room_PalaceOfWinds_47:: @ 080EA538 - .4byte Entities_PalaceOfWinds_47_0 +Room_PalaceOfWinds_BridgeAfterDarknut:: @ 080EA538 + .4byte Entities_PalaceOfWinds_BridgeAfterDarknut_0 .4byte 0x00000000 - .4byte Enemies_PalaceOfWinds_47 - .4byte TileEntities_PalaceOfWinds_47 + .4byte Enemies_PalaceOfWinds_BridgeAfterDarknut + .4byte TileEntities_PalaceOfWinds_BridgeAfterDarknut .4byte 0x00000000 .4byte 0x00000000 - .4byte sub_unk3_PalaceOfWinds_47 - .4byte sub_StateChange_PalaceOfWinds_47 + .4byte sub_unk3_PalaceOfWinds_BridgeAfterDarknut + .4byte sub_StateChange_PalaceOfWinds_BridgeAfterDarknut -Entities_PalaceOfWinds_48_0:: @ 080EA558 +Entities_PalaceOfWinds_BridgeSwitchesCloneBlock_0:: @ 080EA558 manager subtype=0x19, unknown=0x8 object_raw subtype=0x9d, x=0x48, y=0xa8, paramC=0x80000000 object_raw subtype=0x9d, x=0xf8, y=0x118, paramC=0x80000000 @@ -12951,7 +12951,7 @@ Entities_PalaceOfWinds_48_0:: @ 080EA558 enemy_raw subtype=0x43, x=0x88, y=0x28, paramB=0x5e entity_list_end -Enemies_PalaceOfWinds_48:: @ 080EA658 +Enemies_PalaceOfWinds_BridgeSwitchesCloneBlock:: @ 080EA658 enemy_raw subtype=0x42, x=0x118, y=0x48, paramB=0x81a0000, paramC=0x2000e0 enemy_raw subtype=0x42, x=0x138, y=0x48, paramB=0x81a0000, paramC=0x2000e0 enemy_raw subtype=0x3, x=0x68, y=0x98, paramB=0x24160000, paramC=0x200010 @@ -12961,21 +12961,21 @@ Enemies_PalaceOfWinds_48:: @ 080EA658 enemy_raw subtype=0x3, x=0x178, y=0xd8, paramB=0x16220000, paramC=0x9000d0 entity_list_end -TileEntities_PalaceOfWinds_48:: @ 080EA6D8 +TileEntities_PalaceOfWinds_BridgeSwitchesCloneBlock:: @ 080EA6D8 tile_entity type=0x1, paramA=0x31 tile_entity_list_end -Room_PalaceOfWinds_48:: @ 080EA6E8 - .4byte Entities_PalaceOfWinds_48_0 +Room_PalaceOfWinds_BridgeSwitchesCloneBlock:: @ 080EA6E8 + .4byte Entities_PalaceOfWinds_BridgeSwitchesCloneBlock_0 .4byte 0x00000000 - .4byte Enemies_PalaceOfWinds_48 - .4byte TileEntities_PalaceOfWinds_48 + .4byte Enemies_PalaceOfWinds_BridgeSwitchesCloneBlock + .4byte TileEntities_PalaceOfWinds_BridgeSwitchesCloneBlock .4byte 0x00000000 .4byte 0x00000000 - .4byte sub_unk3_PalaceOfWinds_48 - .4byte sub_StateChange_PalaceOfWinds_48 + .4byte sub_unk3_PalaceOfWinds_BridgeSwitchesCloneBlock + .4byte sub_StateChange_PalaceOfWinds_BridgeSwitchesCloneBlock -Entities_PalaceOfWinds_49_0:: @ 080EA708 +Entities_PalaceOfWinds_EntranceRoom_0:: @ 080EA708 ezlo_hint x=0x44, y=0x4, rx=0x3, ry=0x7, msg=0xb19, flag=0x77 manager subtype=0x1a, unknown=0x8, paramA=0x32 object_raw subtype=0x34, x=0x208, y=0x58, paramB=0xc70, paramC=0x840207 @@ -12987,24 +12987,24 @@ Entities_PalaceOfWinds_49_0:: @ 080EA708 manager subtype=0x19, unknown=0x8 entity_list_end -Enemies_PalaceOfWinds_49:: @ 080EA7A8 +Enemies_PalaceOfWinds_EntranceRoom:: @ 080EA7A8 entity_list_end -TileEntities_PalaceOfWinds_49:: @ 080EA7B8 +TileEntities_PalaceOfWinds_EntranceRoom:: @ 080EA7B8 tile_entity type=0x1, paramA=0x32 tile_entity_list_end -Room_PalaceOfWinds_49:: @ 080EA7C8 - .4byte Entities_PalaceOfWinds_49_0 +Room_PalaceOfWinds_EntranceRoom:: @ 080EA7C8 + .4byte Entities_PalaceOfWinds_EntranceRoom_0 .4byte 0x00000000 - .4byte Enemies_PalaceOfWinds_49 - .4byte TileEntities_PalaceOfWinds_49 + .4byte Enemies_PalaceOfWinds_EntranceRoom + .4byte TileEntities_PalaceOfWinds_EntranceRoom .4byte 0x00000000 .4byte 0x00000000 - .4byte sub_unk3_PalaceOfWinds_49 - .4byte sub_StateChange_PalaceOfWinds_49 + .4byte sub_unk3_PalaceOfWinds_EntranceRoom + .4byte sub_StateChange_PalaceOfWinds_EntranceRoom -Entities_PalaceOfWinds_50_0:: @ 080EA7E8 +Entities_PalaceOfWinds_DarkCompassHall_0:: @ 080EA7E8 ezlo_hint x=0x28, y=0x1e, rx=0x5, ry=0x3, msg=0xb1a, flag=0x78 object_raw subtype=0xa1, x=0x168, y=0x128, paramB=0x1 object_raw subtype=0xc, x=0x218, y=0x98, paramA=0x4, paramB=0x79 @@ -13030,29 +13030,29 @@ Entities_PalaceOfWinds_50_0:: @ 080EA7E8 object_raw subtype=0xbc, x=0x238, y=0xb8 entity_list_end -Enemies_PalaceOfWinds_50:: @ 080EA968 +Enemies_PalaceOfWinds_DarkCompassHall:: @ 080EA968 enemy_raw subtype=0x42, x=0x38, y=0xe8, paramA=0x1, paramB=0x34520000, paramC=0x200020 enemy_raw subtype=0x42, x=0x298, y=0x78, paramA=0x1, paramB=0x34520000, paramC=0x200020 enemy_raw subtype=0x3b, x=0x108, y=0x38, paramB=0x34520000, paramC=0x200020 enemy_raw subtype=0x3b, x=0x208, y=0x38, paramB=0x34520000, paramC=0x200020 entity_list_end -TileEntities_PalaceOfWinds_50:: @ 080EA9B8 +TileEntities_PalaceOfWinds_DarkCompassHall:: @ 080EA9B8 tile_entity type=0x3, paramA=0x79, paramB=0x51, paramC=0x218, paramD=0x98 tile_entity type=0x2, paramA=0x7a, paramB=0x53, paramC=0x96, paramD=0x1 tile_entity type=0x9 tile_entity type=0x1, paramA=0x33 tile_entity_list_end -Room_PalaceOfWinds_50:: @ 080EA9E0 - .4byte Entities_PalaceOfWinds_50_0 +Room_PalaceOfWinds_DarkCompassHall:: @ 080EA9E0 + .4byte Entities_PalaceOfWinds_DarkCompassHall_0 .4byte 0x00000000 - .4byte Enemies_PalaceOfWinds_50 - .4byte TileEntities_PalaceOfWinds_50 + .4byte Enemies_PalaceOfWinds_DarkCompassHall + .4byte TileEntities_PalaceOfWinds_DarkCompassHall .4byte 0x00000000 .4byte 0x00000000 - .4byte sub_unk3_PalaceOfWinds_50 - .4byte sub_StateChange_PalaceOfWinds_50 + .4byte sub_unk3_PalaceOfWinds_DarkCompassHall + .4byte sub_StateChange_PalaceOfWinds_DarkCompassHall Entities_PalaceOfWindsBoss_Main_0:: @ 080EAA00 object_raw subtype=0xba @@ -13496,7 +13496,7 @@ Room_DarkHyruleCastleOutside_8:: @ 080EB568 .4byte gUnk_additional_9_DarkHyruleCastleOutside_8 .4byte gUnk_additional_a_DarkHyruleCastleOutside_8 -Entities_DarkHyruleCastle_0_0:: @ 080EB594 +Entities_DarkHyruleCastle_1FEntrance_0:: @ 080EB594 object_raw subtype=0x8, x=0x228, y=0xd8, paramA=0x8, paramC=0x3dffff object_raw subtype=0x34, x=0x1c8, y=0x1c8, paramA=0x1, paramB=0x1488, paramC=0x8b0188 object_raw subtype=0x34, x=0x168, y=0x1c8, paramB=0xa88, paramC=0x480188 @@ -13515,10 +13515,10 @@ gUnk_080EB604:: @ 080EB604 object_raw subtype=0x6a, x=0x1d8, y=0x198, collision=1, paramA=0x5, paramB=0x302 entity_list_end -Enemies_DarkHyruleCastle_0:: @ 080EB664 +Enemies_DarkHyruleCastle_1FEntrance:: @ 080EB664 entity_list_end -TileEntities_DarkHyruleCastle_0:: @ 080EB674 +TileEntities_DarkHyruleCastle_1FEntrance:: @ 080EB674 tile_entity type=0x1, paramA=0x1 tile_entity_list_end @@ -13532,101 +13532,101 @@ gUnk_080EB684:: @ 080EB684 object_raw subtype=0x6a, x=0x200, y=0x158, collision=1, paramA=0x5, paramB=0x102 entity_list_end -Room_DarkHyruleCastle_0:: @ 080EB704 - .4byte Entities_DarkHyruleCastle_0_0 +Room_DarkHyruleCastle_1FEntrance:: @ 080EB704 + .4byte Entities_DarkHyruleCastle_1FEntrance_0 .4byte 0x00000000 - .4byte Enemies_DarkHyruleCastle_0 - .4byte TileEntities_DarkHyruleCastle_0 + .4byte Enemies_DarkHyruleCastle_1FEntrance + .4byte TileEntities_DarkHyruleCastle_1FEntrance .4byte 0x00000000 .4byte 0x00000000 - .4byte sub_unk3_DarkHyruleCastle_0 - .4byte sub_StateChange_DarkHyruleCastle_0 + .4byte sub_unk3_DarkHyruleCastle_1FEntrance + .4byte sub_StateChange_DarkHyruleCastle_1FEntrance -Entities_DarkHyruleCastle_1_0:: @ 080EB724 +Entities_DarkHyruleCastle_3FTopLeftTower_0:: @ 080EB724 entity_list_end -Enemies_DarkHyruleCastle_1:: @ 080EB734 +Enemies_DarkHyruleCastle_3FTopLeftTower:: @ 080EB734 entity_list_end -TileEntities_DarkHyruleCastle_1:: @ 080EB744 +TileEntities_DarkHyruleCastle_3FTopLeftTower:: @ 080EB744 tile_entity type=0x2, paramA=0x3e, paramB=0x53, paramC=0x1c8 tile_entity type=0x1, paramA=0x2 tile_entity_list_end -Room_DarkHyruleCastle_1:: @ 080EB75C - .4byte Entities_DarkHyruleCastle_1_0 +Room_DarkHyruleCastle_3FTopLeftTower:: @ 080EB75C + .4byte Entities_DarkHyruleCastle_3FTopLeftTower_0 .4byte 0x00000000 - .4byte Enemies_DarkHyruleCastle_1 - .4byte TileEntities_DarkHyruleCastle_1 + .4byte Enemies_DarkHyruleCastle_3FTopLeftTower + .4byte TileEntities_DarkHyruleCastle_3FTopLeftTower .4byte 0x00000000 .4byte 0x00000000 - .4byte sub_unk3_DarkHyruleCastle_1 + .4byte sub_unk3_DarkHyruleCastle_3FTopLeftTower .4byte sub_StateChange_Dojos_ToGrimblade7 -Entities_DarkHyruleCastle_2_0:: @ 080EB77C +Entities_DarkHyruleCastle_3FTopRightTower_0:: @ 080EB77C entity_list_end -Enemies_DarkHyruleCastle_2:: @ 080EB78C +Enemies_DarkHyruleCastle_3FTopRightTower:: @ 080EB78C entity_list_end -TileEntities_DarkHyruleCastle_2:: @ 080EB79C +TileEntities_DarkHyruleCastle_3FTopRightTower:: @ 080EB79C tile_entity type=0x2, paramA=0x3f, paramB=0x53, paramC=0x1c8 tile_entity type=0x1, paramA=0x3 tile_entity_list_end -Room_DarkHyruleCastle_2:: @ 080EB7B4 - .4byte Entities_DarkHyruleCastle_2_0 +Room_DarkHyruleCastle_3FTopRightTower:: @ 080EB7B4 + .4byte Entities_DarkHyruleCastle_3FTopRightTower_0 .4byte 0x00000000 - .4byte Enemies_DarkHyruleCastle_2 - .4byte TileEntities_DarkHyruleCastle_2 + .4byte Enemies_DarkHyruleCastle_3FTopRightTower + .4byte TileEntities_DarkHyruleCastle_3FTopRightTower .4byte 0x00000000 .4byte 0x00000000 - .4byte sub_unk3_DarkHyruleCastle_2 + .4byte sub_unk3_DarkHyruleCastle_3FTopRightTower .4byte sub_StateChange_Dojos_ToGrimblade8 -Entities_DarkHyruleCastle_3_0:: @ 080EB7D4 +Entities_DarkHyruleCastle_3FBottomLeftTower_0:: @ 080EB7D4 entity_list_end -Enemies_DarkHyruleCastle_3:: @ 080EB7E4 +Enemies_DarkHyruleCastle_3FBottomLeftTower:: @ 080EB7E4 entity_list_end -TileEntities_DarkHyruleCastle_3:: @ 080EB7F4 +TileEntities_DarkHyruleCastle_3FBottomLeftTower:: @ 080EB7F4 tile_entity type=0x2, paramA=0x40, paramB=0x53, paramC=0x1c8 tile_entity type=0x1, paramA=0x4 tile_entity_list_end -Room_DarkHyruleCastle_3:: @ 080EB80C - .4byte Entities_DarkHyruleCastle_3_0 +Room_DarkHyruleCastle_3FBottomLeftTower:: @ 080EB80C + .4byte Entities_DarkHyruleCastle_3FBottomLeftTower_0 .4byte 0x00000000 - .4byte Enemies_DarkHyruleCastle_3 - .4byte TileEntities_DarkHyruleCastle_3 + .4byte Enemies_DarkHyruleCastle_3FBottomLeftTower + .4byte TileEntities_DarkHyruleCastle_3FBottomLeftTower .4byte 0x00000000 .4byte 0x00000000 - .4byte sub_unk3_DarkHyruleCastle_3 + .4byte sub_unk3_DarkHyruleCastle_3FBottomLeftTower .4byte sub_StateChange_Dojos_ToGrimblade9 -Entities_DarkHyruleCastle_4_0:: @ 080EB82C +Entities_DarkHyruleCastle_3FBottomRightTower_0:: @ 080EB82C entity_list_end -Enemies_DarkHyruleCastle_4:: @ 080EB83C +Enemies_DarkHyruleCastle_3FBottomRightTower:: @ 080EB83C entity_list_end -TileEntities_DarkHyruleCastle_4:: @ 080EB84C +TileEntities_DarkHyruleCastle_3FBottomRightTower:: @ 080EB84C tile_entity type=0x2, paramA=0x41, paramB=0x53, paramC=0x1c8 tile_entity type=0x1, paramA=0x5 tile_entity_list_end -Room_DarkHyruleCastle_4:: @ 080EB864 - .4byte Entities_DarkHyruleCastle_4_0 +Room_DarkHyruleCastle_3FBottomRightTower:: @ 080EB864 + .4byte Entities_DarkHyruleCastle_3FBottomRightTower_0 .4byte 0x00000000 - .4byte Enemies_DarkHyruleCastle_4 - .4byte TileEntities_DarkHyruleCastle_4 + .4byte Enemies_DarkHyruleCastle_3FBottomRightTower + .4byte TileEntities_DarkHyruleCastle_3FBottomRightTower .4byte 0x00000000 .4byte 0x00000000 - .4byte sub_unk3_DarkHyruleCastle_4 + .4byte sub_unk3_DarkHyruleCastle_3FBottomRightTower .4byte sub_StateChange_Dojos_ToSplitblade0 -Entities_DarkHyruleCastle_5_0:: @ 080EB884 +Entities_DarkHyruleCastle_3FKeatonHallToVaati_0:: @ 080EB884 object_raw subtype=0x69, unknown=0x4f, paramC=script_Object69KeatonsRoom object_raw subtype=0x3, x=0x78, y=0x48, paramA=0x1, paramC=0x80000001 object_raw subtype=0x3, x=0x98, y=0x48, paramA=0x1, paramC=0x80010001 @@ -13636,7 +13636,7 @@ Entities_DarkHyruleCastle_5_0:: @ 080EB884 object_raw subtype=0x8, x=0xa8, y=0x188, paramA=0x12, paramC=0xffff entity_list_end -Enemies_DarkHyruleCastle_5:: @ 080EB904 +Enemies_DarkHyruleCastle_3FKeatonHallToVaati:: @ 080EB904 enemy_raw subtype=0x30, x=0x98, y=0x58, paramA=0x1, paramB=0x1c0e0000, paramC=0x300070 enemy_raw subtype=0x30, x=0xb8, y=0x58, paramA=0x1, paramB=0x1c0e0000, paramC=0x300070 enemy_raw subtype=0x30, x=0x88, y=0x88, paramA=0x1, paramB=0x1c0e0000, paramC=0x300070 @@ -13649,21 +13649,21 @@ Enemies_DarkHyruleCastle_5:: @ 080EB904 enemy_raw subtype=0x30, x=0xb8, y=0xe8, paramA=0x1, paramB=0x1c0e0000, paramC=0x300070 entity_list_end -TileEntities_DarkHyruleCastle_5:: @ 080EB9B4 +TileEntities_DarkHyruleCastle_3FKeatonHallToVaati:: @ 080EB9B4 tile_entity type=0x1, paramA=0x6 tile_entity_list_end -Room_DarkHyruleCastle_5:: @ 080EB9C4 - .4byte Entities_DarkHyruleCastle_5_0 +Room_DarkHyruleCastle_3FKeatonHallToVaati:: @ 080EB9C4 + .4byte Entities_DarkHyruleCastle_3FKeatonHallToVaati_0 .4byte 0x00000000 - .4byte Enemies_DarkHyruleCastle_5 - .4byte TileEntities_DarkHyruleCastle_5 + .4byte Enemies_DarkHyruleCastle_3FKeatonHallToVaati + .4byte TileEntities_DarkHyruleCastle_3FKeatonHallToVaati .4byte 0x00000000 .4byte 0x00000000 - .4byte sub_unk3_DarkHyruleCastle_5 + .4byte sub_unk3_DarkHyruleCastle_3FKeatonHallToVaati .4byte sub_StateChange_Dojos_ToSplitblade1 -Entities_DarkHyruleCastle_6_0:: @ 080EB9E4 +Entities_DarkHyruleCastle_3FTripleDarknut_0:: @ 080EB9E4 entity_list_end gUnk_080EB9F4:: @ 080EB9F4 @@ -13694,7 +13694,7 @@ gUnk_080EBAF4:: @ 080EBAF4 object_raw subtype=0x39, x=0xa8, y=0xd8, paramA=0x6, paramC=0x80000000 entity_list_end -Enemies_DarkHyruleCastle_6:: @ 080EBB34 +Enemies_DarkHyruleCastle_3FTripleDarknut:: @ 080EBB34 enemy_raw subtype=0x4a, x=0xa8, y=0x58, paramB=0x10120000, paramC=0x380050 .ifndef EU object_raw subtype=0x5, x=0x38, y=0x38, paramA=0x5f @@ -13705,11 +13705,11 @@ Enemies_DarkHyruleCastle_6:: @ 080EBB34 ezlo_hint type=0x3, x=0x0, y=0x0, rx=0x3f, ry=0x3f, msg=0xb0b, flag=0x0 entity_list_end -TileEntities_DarkHyruleCastle_6:: @ 080EBBA4 +TileEntities_DarkHyruleCastle_3FTripleDarknut:: @ 080EBBA4 tile_entity type=0x1, paramA=0x7 tile_entity_list_end -gUnk_additional_8_DarkHyruleCastle_6:: @ 080EBBB4 +gUnk_additional_8_DarkHyruleCastle_3FTripleDarknut:: @ 080EBBB4 enemy_raw subtype=0x5, x=0x88, y=0x58, unknown=0x2f, paramA=0x2 enemy_raw subtype=0x5, x=0xa8, y=0x58, unknown=0x2f, paramA=0x3 enemy_raw subtype=0x5, x=0xc8, y=0x58, unknown=0x2f, paramA=0x2 @@ -13717,41 +13717,41 @@ gUnk_additional_8_DarkHyruleCastle_6:: @ 080EBBB4 object_raw subtype=0x39, x=0xa8, y=0xd8, paramA=0x6, paramC=0xffff entity_list_end -Room_DarkHyruleCastle_6:: @ 080EBC14 - .4byte Entities_DarkHyruleCastle_6_0 +Room_DarkHyruleCastle_3FTripleDarknut:: @ 080EBC14 + .4byte Entities_DarkHyruleCastle_3FTripleDarknut_0 .4byte 0x00000000 - .4byte Enemies_DarkHyruleCastle_6 - .4byte TileEntities_DarkHyruleCastle_6 + .4byte Enemies_DarkHyruleCastle_3FTripleDarknut + .4byte TileEntities_DarkHyruleCastle_3FTripleDarknut .4byte 0x00000000 .4byte 0x00000000 - .4byte sub_unk3_DarkHyruleCastle_6 - .4byte sub_StateChange_DarkHyruleCastle_6 - .4byte gUnk_additional_8_DarkHyruleCastle_6 + .4byte sub_unk3_DarkHyruleCastle_3FTripleDarknut + .4byte sub_StateChange_DarkHyruleCastle_3FTripleDarknut + .4byte gUnk_additional_8_DarkHyruleCastle_3FTripleDarknut -Entities_DarkHyruleCastle_7_0:: @ 080EBC38 +Entities_DarkHyruleCastle_2FTopLeftTower_0:: @ 080EBC38 manager subtype=0x1a, unknown=0x8, paramA=0x34 object_raw subtype=0x3, x=0x58, y=0x78, paramC=0x420001 object_raw subtype=0x8, x=0x88, y=0xb8, paramA=0x2, paramC=0x42ffff entity_list_end -Enemies_DarkHyruleCastle_7:: @ 080EBC78 +Enemies_DarkHyruleCastle_2FTopLeftTower:: @ 080EBC78 entity_list_end -TileEntities_DarkHyruleCastle_7:: @ 080EBC88 +TileEntities_DarkHyruleCastle_2FTopLeftTower:: @ 080EBC88 tile_entity type=0x1, paramA=0x8 tile_entity_list_end -Room_DarkHyruleCastle_7:: @ 080EBC98 - .4byte Entities_DarkHyruleCastle_7_0 +Room_DarkHyruleCastle_2FTopLeftTower:: @ 080EBC98 + .4byte Entities_DarkHyruleCastle_2FTopLeftTower_0 .4byte 0x00000000 - .4byte Enemies_DarkHyruleCastle_7 - .4byte TileEntities_DarkHyruleCastle_7 + .4byte Enemies_DarkHyruleCastle_2FTopLeftTower + .4byte TileEntities_DarkHyruleCastle_2FTopLeftTower .4byte 0x00000000 .4byte 0x00000000 - .4byte sub_unk3_DarkHyruleCastle_7 + .4byte sub_unk3_DarkHyruleCastle_2FTopLeftTower .4byte sub_StateChange_Dojos_ToSplitblade2 -Entities_DarkHyruleCastle_8_0:: @ 080EBCB8 +Entities_DarkHyruleCastle_2FTopLeftCorner_0:: @ 080EBCB8 object_raw subtype=0x23, x=0x58, y=0x28, paramB=0xaa00, paramC=0x80000080 object_raw subtype=0x23, x=0x78, y=0x28, paramB=0xaa00, paramC=0x80010080 object_raw subtype=0x23, x=0x98, y=0x28, paramB=0xaa00, paramC=0x80020080 @@ -13769,7 +13769,7 @@ Entities_DarkHyruleCastle_8_0:: @ 080EBCB8 object_raw subtype=0x5, x=0xd8, y=0x158, paramA=0x5e entity_list_end -Enemies_DarkHyruleCastle_8:: @ 080EBDB8 +Enemies_DarkHyruleCastle_2FTopLeftCorner:: @ 080EBDB8 enemy_raw subtype=0x42, x=0x78, y=0x108, paramA=0x1 enemy_raw subtype=0x42, x=0x98, y=0x108, paramA=0x1 enemy_raw subtype=0x42, x=0x78, y=0x128, paramA=0x1 @@ -13778,21 +13778,21 @@ Enemies_DarkHyruleCastle_8:: @ 080EBDB8 enemy_raw subtype=0x1a, paramB=0x20160302, paramC=0x500030 entity_list_end -TileEntities_DarkHyruleCastle_8:: @ 080EBE28 +TileEntities_DarkHyruleCastle_2FTopLeftCorner:: @ 080EBE28 tile_entity type=0x1, paramA=0x9 tile_entity_list_end -Room_DarkHyruleCastle_8:: @ 080EBE38 - .4byte Entities_DarkHyruleCastle_8_0 +Room_DarkHyruleCastle_2FTopLeftCorner:: @ 080EBE38 + .4byte Entities_DarkHyruleCastle_2FTopLeftCorner_0 .4byte 0x00000000 - .4byte Enemies_DarkHyruleCastle_8 - .4byte TileEntities_DarkHyruleCastle_8 + .4byte Enemies_DarkHyruleCastle_2FTopLeftCorner + .4byte TileEntities_DarkHyruleCastle_2FTopLeftCorner .4byte 0x00000000 .4byte 0x00000000 - .4byte sub_unk3_DarkHyruleCastle_8 + .4byte sub_unk3_DarkHyruleCastle_2FTopLeftCorner .4byte sub_StateChange_Dojos_ToSplitblade3 -Entities_DarkHyruleCastle_9_0:: @ 080EBE58 +Entities_DarkHyruleCastle_2FBossKey_0:: @ 080EBE58 object_raw subtype=0xc, x=0x88, y=0x28, paramA=0x4, paramB=0x43 object_raw subtype=0x5, x=0x38, y=0x28 object_raw subtype=0x5, x=0x38, y=0x38 @@ -13804,10 +13804,10 @@ Entities_DarkHyruleCastle_9_0:: @ 080EBE58 object_raw subtype=0x5, x=0xd8, y=0x58 entity_list_end -Enemies_DarkHyruleCastle_9:: @ 080EBEF8 +Enemies_DarkHyruleCastle_2FBossKey:: @ 080EBEF8 entity_list_end -TileEntities_DarkHyruleCastle_9:: @ 080EBF08 +TileEntities_DarkHyruleCastle_2FBossKey:: @ 080EBF08 tile_entity type=0x3, paramA=0x43, paramB=0x52, paramC=0x88, paramD=0x28 tile_entity type=0xa, paramA=0x1, paramB=0x44, paramC=0x186, paramD=0x26 tile_entity type=0xa, paramA=0x1, paramB=0x45, paramC=0x1c6, paramD=0x26 @@ -13816,32 +13816,32 @@ TileEntities_DarkHyruleCastle_9:: @ 080EBF08 tile_entity type=0x1, paramA=0xa tile_entity_list_end -Room_DarkHyruleCastle_9:: @ 080EBF40 - .4byte Entities_DarkHyruleCastle_9_0 +Room_DarkHyruleCastle_2FBossKey:: @ 080EBF40 + .4byte Entities_DarkHyruleCastle_2FBossKey_0 .4byte 0x00000000 - .4byte Enemies_DarkHyruleCastle_9 - .4byte TileEntities_DarkHyruleCastle_9 + .4byte Enemies_DarkHyruleCastle_2FBossKey + .4byte TileEntities_DarkHyruleCastle_2FBossKey .4byte 0x00000000 .4byte 0x00000000 - .4byte sub_unk3_DarkHyruleCastle_9 + .4byte sub_unk3_DarkHyruleCastle_2FBossKey .4byte sub_StateChange_Dojos_ToSplitblade4 -Entities_DarkHyruleCastle_10_0:: @ 080EBF60 +Entities_DarkHyruleCastle_2FBlueWarp_0:: @ 080EBF60 manager subtype=0x1e, x=0x30, y=0x50, paramB=0x2000b0, paramC=0x80000000 manager subtype=0xb, unknown=0x0, paramB=0x8, paramC=0x488000 manager subtype=0x2e, unknown=0x0, paramB=0x3c00, paramC=0x480086 object_raw subtype=0x34, x=0x88, y=0x68, paramB=0x88, paramC=0x480716 entity_list_end -Enemies_DarkHyruleCastle_10:: @ 080EBFB0 +Enemies_DarkHyruleCastle_2FBlueWarp:: @ 080EBFB0 entity_list_end -TileEntities_DarkHyruleCastle_10:: @ 080EBFC0 +TileEntities_DarkHyruleCastle_2FBlueWarp:: @ 080EBFC0 tile_entity type=0xd, paramB=0x2e00 tile_entity type=0x1, paramA=0xb tile_entity_list_end -gUnk_additional_8_DarkHyruleCastle_10:: @ 080EBFD8 +gUnk_additional_8_DarkHyruleCastle_2FBlueWarp:: @ 080EBFD8 enemy_raw subtype=0x5, x=0x88, y=0x38, unknown=0x2f, paramA=0x3, paramB=0xe160000, paramC=0x300030 object_raw subtype=0x8, x=0x88, y=0xa8, paramA=0x12, paramC=0x86ffff object_raw subtype=0x39, x=0x88, y=0x28, paramA=0x4, paramC=0x86ffff @@ -13849,50 +13849,50 @@ gUnk_additional_8_DarkHyruleCastle_10:: @ 080EBFD8 ezlo_hint type=0x3, x=0x0, y=0x0, rx=0x3f, ry=0x3f, msg=0xb0a, flag=0x86 entity_list_end -Room_DarkHyruleCastle_10:: @ 080EC038 - .4byte Entities_DarkHyruleCastle_10_0 +Room_DarkHyruleCastle_2FBlueWarp:: @ 080EC038 + .4byte Entities_DarkHyruleCastle_2FBlueWarp_0 .4byte 0x00000000 - .4byte Enemies_DarkHyruleCastle_10 - .4byte TileEntities_DarkHyruleCastle_10 + .4byte Enemies_DarkHyruleCastle_2FBlueWarp + .4byte TileEntities_DarkHyruleCastle_2FBlueWarp .4byte 0x00000000 .4byte 0x00000000 - .4byte sub_unk3_DarkHyruleCastle_10 + .4byte sub_unk3_DarkHyruleCastle_2FBlueWarp .4byte sub_StateChange_Dojos_ToSplitblade5 - .4byte gUnk_additional_8_DarkHyruleCastle_10 + .4byte gUnk_additional_8_DarkHyruleCastle_2FBlueWarp -Entities_DarkHyruleCastle_11_0:: @ 080EC05C +Entities_DarkHyruleCastle_2FTopRightCornerGhini_0:: @ 080EC05C manager subtype=0xb, unknown=0x0, paramB=0x8, paramC=0x490000 manager subtype=0x2e, unknown=0x0, paramB=0x3c00, paramC=0x490087 object_raw subtype=0x8, x=0xe8, y=0x58, paramA=0x1, paramC=0x87ffff entity_list_end -Enemies_DarkHyruleCastle_11:: @ 080EC09C +Enemies_DarkHyruleCastle_2FTopRightCornerGhini:: @ 080EC09C entity_list_end -TileEntities_DarkHyruleCastle_11:: @ 080EC0AC +TileEntities_DarkHyruleCastle_2FTopRightCornerGhini:: @ 080EC0AC tile_entity type=0x1, paramA=0xc tile_entity_list_end -gUnk_additional_8_DarkHyruleCastle_11:: @ 080EC0BC +gUnk_additional_8_DarkHyruleCastle_2FTopRightCornerGhini:: @ 080EC0BC enemy_raw subtype=0x50, paramB=0xe160900, paramC=0x300030 entity_list_end -gUnk_additional_9_DarkHyruleCastle_11:: @ 080EC0DC - .incbin "data_080D5360/gUnk_additional_9_DarkHyruleCastle_11.bin" +gUnk_additional_9_DarkHyruleCastle_2FTopRightCornerGhini:: @ 080EC0DC + .incbin "data_080D5360/gUnk_additional_9_DarkHyruleCastle_2FTopRightCornerGhini.bin" -Room_DarkHyruleCastle_11:: @ 080EC0EC - .4byte Entities_DarkHyruleCastle_11_0 +Room_DarkHyruleCastle_2FTopRightCornerGhini:: @ 080EC0EC + .4byte Entities_DarkHyruleCastle_2FTopRightCornerGhini_0 .4byte 0x00000000 - .4byte Enemies_DarkHyruleCastle_11 - .4byte TileEntities_DarkHyruleCastle_11 + .4byte Enemies_DarkHyruleCastle_2FTopRightCornerGhini + .4byte TileEntities_DarkHyruleCastle_2FTopRightCornerGhini .4byte 0x00000000 .4byte 0x00000000 - .4byte sub_unk3_DarkHyruleCastle_11 + .4byte sub_unk3_DarkHyruleCastle_2FTopRightCornerGhini .4byte sub_StateChange_Dojos_ToSplitblade6 - .4byte gUnk_additional_8_DarkHyruleCastle_11 - .4byte gUnk_additional_9_DarkHyruleCastle_11 + .4byte gUnk_additional_8_DarkHyruleCastle_2FTopRightCornerGhini + .4byte gUnk_additional_9_DarkHyruleCastle_2FTopRightCornerGhini -Entities_DarkHyruleCastle_12_0:: @ 080EC114 +Entities_DarkHyruleCastle_2FTopRightCornerTorches_0:: @ 080EC114 object_raw subtype=0x8, x=0x88, y=0x28, paramC=0x4bffff manager subtype=0x23, x=0x58, y=0x38, paramA=0x3, paramB=0x71001, paramC=0x8000004a manager subtype=0x23, x=0x48, y=0x58, paramA=0x3, paramB=0x71001, paramC=0x8001004a @@ -13908,47 +13908,47 @@ Entities_DarkHyruleCastle_12_0:: @ 080EC114 object_raw subtype=0x98, x=0x88, y=0x68, unknown=0x3, paramB=0x30402 entity_list_end -Enemies_DarkHyruleCastle_12:: @ 080EC1F4 +Enemies_DarkHyruleCastle_2FTopRightCornerTorches:: @ 080EC1F4 entity_list_end -TileEntities_DarkHyruleCastle_12:: @ 080EC204 +TileEntities_DarkHyruleCastle_2FTopRightCornerTorches:: @ 080EC204 tile_entity type=0x9, paramB=0x8000 tile_entity type=0x1, paramA=0xd tile_entity_list_end -Room_DarkHyruleCastle_12:: @ 080EC21C - .4byte Entities_DarkHyruleCastle_12_0 +Room_DarkHyruleCastle_2FTopRightCornerTorches:: @ 080EC21C + .4byte Entities_DarkHyruleCastle_2FTopRightCornerTorches_0 .4byte 0x00000000 - .4byte Enemies_DarkHyruleCastle_12 - .4byte TileEntities_DarkHyruleCastle_12 + .4byte Enemies_DarkHyruleCastle_2FTopRightCornerTorches + .4byte TileEntities_DarkHyruleCastle_2FTopRightCornerTorches .4byte 0x00000000 .4byte 0x00000000 - .4byte sub_unk3_DarkHyruleCastle_12 + .4byte sub_unk3_DarkHyruleCastle_2FTopRightCornerTorches .4byte sub_StateChange_Dojos_ToSplitblade7 -Entities_DarkHyruleCastle_13_0:: @ 080EC23C +Entities_DarkHyruleCastle_2FTopRightTower_0:: @ 080EC23C entity_list_end -Enemies_DarkHyruleCastle_13:: @ 080EC24C +Enemies_DarkHyruleCastle_2FTopRightTower:: @ 080EC24C object_raw subtype=0x8, x=0x18, y=0x58, paramA=0x3, paramC=0x4bffff enemy_raw subtype=0x1c, x=0xb8, y=0x78, paramB=0x810 entity_list_end -TileEntities_DarkHyruleCastle_13:: @ 080EC27C +TileEntities_DarkHyruleCastle_2FTopRightTower:: @ 080EC27C tile_entity type=0x1, paramA=0xe tile_entity_list_end -Room_DarkHyruleCastle_13:: @ 080EC28C - .4byte Entities_DarkHyruleCastle_13_0 +Room_DarkHyruleCastle_2FTopRightTower:: @ 080EC28C + .4byte Entities_DarkHyruleCastle_2FTopRightTower_0 .4byte 0x00000000 - .4byte Enemies_DarkHyruleCastle_13 - .4byte TileEntities_DarkHyruleCastle_13 + .4byte Enemies_DarkHyruleCastle_2FTopRightTower + .4byte TileEntities_DarkHyruleCastle_2FTopRightTower .4byte 0x00000000 .4byte 0x00000000 - .4byte sub_unk3_DarkHyruleCastle_13 + .4byte sub_unk3_DarkHyruleCastle_2FTopRightTower .4byte sub_StateChange_Dojos_ToSplitblade8 -Entities_DarkHyruleCastle_14_0:: @ 080EC2AC +Entities_DarkHyruleCastle_2FTopLeftDarknut_0:: @ 080EC2AC object_raw subtype=0x39, x=0x88, y=0x28, paramA=0x4, paramC=0x88ffff entity_list_end @@ -13962,40 +13962,40 @@ gUnk_080EC2CC:: @ 080EC2CC manager subtype=0x35, x=0x88, y=0x28, paramB=0x3c1e00, paramC=0x4c0088 entity_list_end -Enemies_DarkHyruleCastle_14:: @ 080EC34C +Enemies_DarkHyruleCastle_2FTopLeftDarknut:: @ 080EC34C entity_list_end -TileEntities_DarkHyruleCastle_14:: @ 080EC35C +TileEntities_DarkHyruleCastle_2FTopLeftDarknut:: @ 080EC35C tile_entity type=0xd, paramB=0x2d00 tile_entity type=0x1, paramA=0xf tile_entity_list_end -gUnk_additional_8_DarkHyruleCastle_14:: @ 080EC374 +gUnk_additional_8_DarkHyruleCastle_2FTopLeftDarknut:: @ 080EC374 enemy_raw subtype=0x5, x=0x88, y=0x68, paramA=0x2 object_raw subtype=0x8, x=0x88, y=0xa8, paramA=0x12, paramC=0x4cffff object_raw subtype=0x8, x=0xe8, y=0x68, paramA=0x11, paramC=0x4cffff ezlo_hint type=0x3, x=0x0, y=0x0, rx=0x3f, ry=0x3f, msg=0xb0f, flag=0x4c entity_list_end -Room_DarkHyruleCastle_14:: @ 080EC3C4 - .4byte Entities_DarkHyruleCastle_14_0 +Room_DarkHyruleCastle_2FTopLeftDarknut:: @ 080EC3C4 + .4byte Entities_DarkHyruleCastle_2FTopLeftDarknut_0 .4byte 0x00000000 - .4byte Enemies_DarkHyruleCastle_14 - .4byte TileEntities_DarkHyruleCastle_14 + .4byte Enemies_DarkHyruleCastle_2FTopLeftDarknut + .4byte TileEntities_DarkHyruleCastle_2FTopLeftDarknut .4byte 0x00000000 .4byte 0x00000000 - .4byte sub_unk3_DarkHyruleCastle_14 - .4byte sub_StateChange_DarkHyruleCastle_14 - .4byte gUnk_additional_8_DarkHyruleCastle_14 + .4byte sub_unk3_DarkHyruleCastle_2FTopLeftDarknut + .4byte sub_StateChange_DarkHyruleCastle_2FTopLeftDarknut + .4byte gUnk_additional_8_DarkHyruleCastle_2FTopLeftDarknut -Entities_DarkHyruleCastle_15_0:: @ 080EC3E8 +Entities_DarkHyruleCastle_2FSparks_0:: @ 080EC3E8 object_raw subtype=0x5, x=0x38, y=0x98 object_raw subtype=0x5, x=0x48, y=0x98 object_raw subtype=0x5, x=0xc8, y=0x98 object_raw subtype=0x5, x=0xd8, y=0x98 entity_list_end -Enemies_DarkHyruleCastle_15:: @ 080EC438 +Enemies_DarkHyruleCastle_2FSparks:: @ 080EC438 enemy_raw subtype=0x1c, x=0x68, y=0x78, paramB=0x810 enemy_raw subtype=0x1c, x=0x78, y=0x78, paramB=0x810 enemy_raw subtype=0x1c, x=0x88, y=0x78, paramB=0x810 @@ -14003,21 +14003,21 @@ Enemies_DarkHyruleCastle_15:: @ 080EC438 enemy_raw subtype=0x1c, x=0xa8, y=0x78, paramB=0x810 entity_list_end -TileEntities_DarkHyruleCastle_15:: @ 080EC498 +TileEntities_DarkHyruleCastle_2FSparks:: @ 080EC498 tile_entity type=0x1, paramA=0x10 tile_entity_list_end -Room_DarkHyruleCastle_15:: @ 080EC4A8 - .4byte Entities_DarkHyruleCastle_15_0 +Room_DarkHyruleCastle_2FSparks:: @ 080EC4A8 + .4byte Entities_DarkHyruleCastle_2FSparks_0 .4byte 0x00000000 - .4byte Enemies_DarkHyruleCastle_15 - .4byte TileEntities_DarkHyruleCastle_15 + .4byte Enemies_DarkHyruleCastle_2FSparks + .4byte TileEntities_DarkHyruleCastle_2FSparks .4byte 0x00000000 .4byte 0x00000000 - .4byte sub_unk3_DarkHyruleCastle_15 + .4byte sub_unk3_DarkHyruleCastle_2FSparks .4byte sub_StateChange_Dojos_ToSplitblade9 -Entities_DarkHyruleCastle_16_0:: @ 080EC4C8 +Entities_DarkHyruleCastle_2FTopRightDarknuts_0:: @ 080EC4C8 object_raw subtype=0x39, x=0x88, y=0x28, paramA=0x4, paramC=0x89ffff entity_list_end @@ -14031,15 +14031,15 @@ gUnk_080EC4E8:: @ 080EC4E8 manager subtype=0x35, x=0x88, y=0x28, paramB=0x3c1e00, paramC=0x4d0089 entity_list_end -Enemies_DarkHyruleCastle_16:: @ 080EC568 +Enemies_DarkHyruleCastle_2FTopRightDarknuts:: @ 080EC568 entity_list_end -TileEntities_DarkHyruleCastle_16:: @ 080EC578 +TileEntities_DarkHyruleCastle_2FTopRightDarknuts:: @ 080EC578 tile_entity type=0xd, paramB=0x2d00 tile_entity type=0x1, paramA=0x11 tile_entity_list_end -gUnk_additional_8_DarkHyruleCastle_16:: @ 080EC590 +gUnk_additional_8_DarkHyruleCastle_2FTopRightDarknuts:: @ 080EC590 enemy_raw subtype=0x5, x=0x70, y=0x68, paramA=0x1 enemy_raw subtype=0x5, x=0xa0, y=0x68 manager subtype=0x28, unknown=0x3, paramB=0x8 @@ -14048,18 +14048,18 @@ gUnk_additional_8_DarkHyruleCastle_16:: @ 080EC590 ezlo_hint type=0x3, x=0x0, y=0x0, rx=0x3f, ry=0x3f, msg=0xb0f, flag=0x4d entity_list_end -Room_DarkHyruleCastle_16:: @ 080EC600 - .4byte Entities_DarkHyruleCastle_16_0 +Room_DarkHyruleCastle_2FTopRightDarknuts:: @ 080EC600 + .4byte Entities_DarkHyruleCastle_2FTopRightDarknuts_0 .4byte 0x00000000 - .4byte Enemies_DarkHyruleCastle_16 - .4byte TileEntities_DarkHyruleCastle_16 + .4byte Enemies_DarkHyruleCastle_2FTopRightDarknuts + .4byte TileEntities_DarkHyruleCastle_2FTopRightDarknuts .4byte 0x00000000 .4byte 0x00000000 - .4byte sub_unk3_DarkHyruleCastle_16 - .4byte sub_StateChange_DarkHyruleCastle_16 - .4byte gUnk_additional_8_DarkHyruleCastle_16 + .4byte sub_unk3_DarkHyruleCastle_2FTopRightDarknuts + .4byte sub_StateChange_DarkHyruleCastle_2FTopRightDarknuts + .4byte gUnk_additional_8_DarkHyruleCastle_2FTopRightDarknuts -Entities_DarkHyruleCastle_17_0:: @ 080EC624 +Entities_DarkHyruleCastle_2FLeft_0:: @ 080EC624 object_raw subtype=0x9d, x=0x40, y=0x20, paramA=0x1, paramC=0x8000004e object_raw subtype=0x9d, x=0xd0, y=0x20, paramA=0x1, paramC=0x8001004f manager subtype=0x11, paramC=0x8000004e @@ -14074,52 +14074,52 @@ Entities_DarkHyruleCastle_17_0:: @ 080EC624 object_raw subtype=0x5, x=0x98, y=0x38, paramA=0x5e entity_list_end -Enemies_DarkHyruleCastle_17:: @ 080EC6F4 +Enemies_DarkHyruleCastle_2FLeft:: @ 080EC6F4 entity_list_end -TileEntities_DarkHyruleCastle_17:: @ 080EC704 +TileEntities_DarkHyruleCastle_2FLeft:: @ 080EC704 tile_entity type=0xa, paramA=0x1, paramB=0x50, paramC=0x287, paramD=0x26 tile_entity type=0xa, paramA=0x1, paramB=0x51, paramC=0x288, paramD=0x26 tile_entity type=0xa, paramA=0x1, paramB=0x52, paramC=0x289, paramD=0x26 tile_entity type=0x1, paramA=0x13 tile_entity_list_end -gUnk_additional_8_DarkHyruleCastle_17:: @ 080EC72C - .incbin "data_080D5360/gUnk_additional_8_DarkHyruleCastle_17.bin" +gUnk_additional_8_DarkHyruleCastle_2FLeft:: @ 080EC72C + .incbin "data_080D5360/gUnk_additional_8_DarkHyruleCastle_2FLeft.bin" -Room_DarkHyruleCastle_17:: @ 080EC77C - .4byte Entities_DarkHyruleCastle_17_0 +Room_DarkHyruleCastle_2FLeft:: @ 080EC77C + .4byte Entities_DarkHyruleCastle_2FLeft_0 .4byte 0x00000000 - .4byte Enemies_DarkHyruleCastle_17 - .4byte TileEntities_DarkHyruleCastle_17 + .4byte Enemies_DarkHyruleCastle_2FLeft + .4byte TileEntities_DarkHyruleCastle_2FLeft .4byte 0x00000000 .4byte 0x00000000 - .4byte sub_unk3_DarkHyruleCastle_17 + .4byte sub_unk3_DarkHyruleCastle_2FLeft .4byte sub_StateChange_Dojos_ToGreatblade0 - .4byte gUnk_additional_8_DarkHyruleCastle_17 + .4byte gUnk_additional_8_DarkHyruleCastle_2FLeft -Entities_DarkHyruleCastle_18_0:: @ 080EC7A0 +Entities_DarkHyruleCastle_2FRight_0:: @ 080EC7A0 object_raw subtype=0x98, x=0x78, y=0x88, unknown=0x3, paramB=0x10302 entity_list_end -Enemies_DarkHyruleCastle_18:: @ 080EC7C0 +Enemies_DarkHyruleCastle_2FRight:: @ 080EC7C0 entity_list_end -TileEntities_DarkHyruleCastle_18:: @ 080EC7D0 +TileEntities_DarkHyruleCastle_2FRight:: @ 080EC7D0 tile_entity type=0x1, paramA=0x13 tile_entity_list_end -Room_DarkHyruleCastle_18:: @ 080EC7E0 - .4byte Entities_DarkHyruleCastle_18_0 +Room_DarkHyruleCastle_2FRight:: @ 080EC7E0 + .4byte Entities_DarkHyruleCastle_2FRight_0 .4byte 0x00000000 - .4byte Enemies_DarkHyruleCastle_18 - .4byte TileEntities_DarkHyruleCastle_18 + .4byte Enemies_DarkHyruleCastle_2FRight + .4byte TileEntities_DarkHyruleCastle_2FRight .4byte 0x00000000 .4byte 0x00000000 - .4byte sub_unk3_DarkHyruleCastle_18 + .4byte sub_unk3_DarkHyruleCastle_2FRight .4byte sub_StateChange_Dojos_ToGreatblade1 -Entities_DarkHyruleCastle_19_0:: @ 080EC800 +Entities_DarkHyruleCastle_2FBottomLeftDarknuts_0:: @ 080EC800 object_raw subtype=0x39, x=0x88, y=0xa8, paramA=0x6, paramC=0x8affff entity_list_end @@ -14133,15 +14133,15 @@ gUnk_080EC820:: @ 080EC820 manager subtype=0x35, x=0x88, y=0xa8, paramB=0x3c1e00, paramC=0x53008a entity_list_end -Enemies_DarkHyruleCastle_19:: @ 080EC8A0 +Enemies_DarkHyruleCastle_2FBottomLeftDarknuts:: @ 080EC8A0 entity_list_end -TileEntities_DarkHyruleCastle_19:: @ 080EC8B0 +TileEntities_DarkHyruleCastle_2FBottomLeftDarknuts:: @ 080EC8B0 tile_entity type=0xd, paramB=0x2d00 tile_entity type=0x1, paramA=0x14 tile_entity_list_end -gUnk_additional_8_DarkHyruleCastle_19:: @ 080EC8C8 +gUnk_additional_8_DarkHyruleCastle_2FBottomLeftDarknuts:: @ 080EC8C8 enemy_raw subtype=0x5, x=0x70, y=0x68 enemy_raw subtype=0x5, x=0xa0, y=0x68, paramA=0x1 manager subtype=0x28, unknown=0x3, paramB=0x8 @@ -14150,18 +14150,18 @@ gUnk_additional_8_DarkHyruleCastle_19:: @ 080EC8C8 ezlo_hint type=0x3, x=0x0, y=0x0, rx=0x3f, ry=0x3f, msg=0xb0f, flag=0x53 entity_list_end -Room_DarkHyruleCastle_19:: @ 080EC938 - .4byte Entities_DarkHyruleCastle_19_0 +Room_DarkHyruleCastle_2FBottomLeftDarknuts:: @ 080EC938 + .4byte Entities_DarkHyruleCastle_2FBottomLeftDarknuts_0 .4byte 0x00000000 - .4byte Enemies_DarkHyruleCastle_19 - .4byte TileEntities_DarkHyruleCastle_19 + .4byte Enemies_DarkHyruleCastle_2FBottomLeftDarknuts + .4byte TileEntities_DarkHyruleCastle_2FBottomLeftDarknuts .4byte 0x00000000 .4byte 0x00000000 - .4byte sub_unk3_DarkHyruleCastle_19 - .4byte sub_StateChange_DarkHyruleCastle_19 - .4byte gUnk_additional_8_DarkHyruleCastle_19 + .4byte sub_unk3_DarkHyruleCastle_2FBottomLeftDarknuts + .4byte sub_StateChange_DarkHyruleCastle_2FBottomLeftDarknuts + .4byte gUnk_additional_8_DarkHyruleCastle_2FBottomLeftDarknuts -Entities_DarkHyruleCastle_20_0:: @ 080EC95C +Entities_DarkHyruleCastle_2FBossDoor_0:: @ 080EC95C object_raw subtype=0x39, x=0x88, y=0x28, paramC=0x55ffff manager subtype=0xb, unknown=0x0, paramB=0x8, paramC=0x540000 manager subtype=0x2e, unknown=0x0, paramB=0x3c00, paramC=0x54008b @@ -14170,30 +14170,30 @@ Entities_DarkHyruleCastle_20_0:: @ 080EC95C object_raw subtype=0x34, x=0x88, y=0x68, paramA=0x1, paramB=0x88, paramC=0x8b071c entity_list_end -Enemies_DarkHyruleCastle_20:: @ 080EC9CC +Enemies_DarkHyruleCastle_2FBossDoor:: @ 080EC9CC entity_list_end -TileEntities_DarkHyruleCastle_20:: @ 080EC9DC +TileEntities_DarkHyruleCastle_2FBossDoor:: @ 080EC9DC tile_entity type=0x1, paramA=0x15 tile_entity_list_end -gUnk_additional_8_DarkHyruleCastle_20:: @ 080EC9EC +gUnk_additional_8_DarkHyruleCastle_2FBossDoor:: @ 080EC9EC enemy_raw subtype=0x4c, x=0x78, y=0x58, paramB=0xa120000, paramC=0x400040 enemy_raw subtype=0x4c, x=0x98, y=0x58, paramB=0xa120000, paramC=0x400040 entity_list_end -Room_DarkHyruleCastle_20:: @ 080ECA1C - .4byte Entities_DarkHyruleCastle_20_0 +Room_DarkHyruleCastle_2FBossDoor:: @ 080ECA1C + .4byte Entities_DarkHyruleCastle_2FBossDoor_0 .4byte 0x00000000 - .4byte Enemies_DarkHyruleCastle_20 - .4byte TileEntities_DarkHyruleCastle_20 + .4byte Enemies_DarkHyruleCastle_2FBossDoor + .4byte TileEntities_DarkHyruleCastle_2FBossDoor .4byte 0x00000000 .4byte 0x00000000 - .4byte sub_unk3_DarkHyruleCastle_20 + .4byte sub_unk3_DarkHyruleCastle_2FBossDoor .4byte sub_StateChange_Dojos_ToGreatblade2 - .4byte gUnk_additional_8_DarkHyruleCastle_20 + .4byte gUnk_additional_8_DarkHyruleCastle_2FBossDoor -Entities_DarkHyruleCastle_21_0:: @ 080ECA40 +Entities_DarkHyruleCastle_2FBottomRightDarknut_0:: @ 080ECA40 object_raw subtype=0x39, x=0x88, y=0xa8, paramA=0x6, paramC=0x8cffff entity_list_end @@ -14207,32 +14207,32 @@ gUnk_080ECA60:: @ 080ECA60 manager subtype=0x35, x=0x88, y=0xa8, paramB=0x3c1e00, paramC=0x56008c entity_list_end -Enemies_DarkHyruleCastle_21:: @ 080ECAE0 +Enemies_DarkHyruleCastle_2FBottomRightDarknut:: @ 080ECAE0 entity_list_end -TileEntities_DarkHyruleCastle_21:: @ 080ECAF0 +TileEntities_DarkHyruleCastle_2FBottomRightDarknut:: @ 080ECAF0 tile_entity type=0x1, paramA=0x16 tile_entity_list_end -gUnk_additional_8_DarkHyruleCastle_21:: @ 080ECB00 +gUnk_additional_8_DarkHyruleCastle_2FBottomRightDarknut:: @ 080ECB00 enemy_raw subtype=0x5, x=0x88, y=0x68, paramA=0x2 object_raw subtype=0x8, x=0x88, y=0x28, paramA=0x10, paramC=0x56ffff object_raw subtype=0x8, x=0x28, y=0x68, paramA=0x13, paramC=0x56ffff ezlo_hint type=0x3, x=0x0, y=0x0, rx=0x3f, ry=0x3f, msg=0xb0f, flag=0x4c entity_list_end -Room_DarkHyruleCastle_21:: @ 080ECB50 - .4byte Entities_DarkHyruleCastle_21_0 +Room_DarkHyruleCastle_2FBottomRightDarknut:: @ 080ECB50 + .4byte Entities_DarkHyruleCastle_2FBottomRightDarknut_0 .4byte 0x00000000 - .4byte Enemies_DarkHyruleCastle_21 - .4byte TileEntities_DarkHyruleCastle_21 + .4byte Enemies_DarkHyruleCastle_2FBottomRightDarknut + .4byte TileEntities_DarkHyruleCastle_2FBottomRightDarknut .4byte 0x00000000 .4byte 0x00000000 - .4byte sub_unk3_DarkHyruleCastle_21 - .4byte sub_StateChange_DarkHyruleCastle_21 - .4byte gUnk_additional_8_DarkHyruleCastle_21 + .4byte sub_unk3_DarkHyruleCastle_2FBottomRightDarknut + .4byte sub_StateChange_DarkHyruleCastle_2FBottomRightDarknut + .4byte gUnk_additional_8_DarkHyruleCastle_2FBottomRightDarknut -Entities_DarkHyruleCastle_22_0:: @ 080ECB74 +Entities_DarkHyruleCastle_2FBottomLeftCornerPuzzle_0:: @ 080ECB74 manager subtype=0x30, x=0x38, y=0x58, paramB=0x6082101, paramC=0x80018000 manager subtype=0x11, paramC=0x80000057 object_raw subtype=0x3, x=0x38, y=0x38, paramA=0x1, paramC=0x80010001 @@ -14245,24 +14245,24 @@ Entities_DarkHyruleCastle_22_0:: @ 080ECB74 object_raw subtype=0x5, x=0xd8, y=0x68, paramA=0x5f entity_list_end -Enemies_DarkHyruleCastle_22:: @ 080ECC24 +Enemies_DarkHyruleCastle_2FBottomLeftCornerPuzzle:: @ 080ECC24 entity_list_end -TileEntities_DarkHyruleCastle_22:: @ 080ECC34 +TileEntities_DarkHyruleCastle_2FBottomLeftCornerPuzzle:: @ 080ECC34 tile_entity type=0x1, paramA=0x17 tile_entity_list_end -Room_DarkHyruleCastle_22:: @ 080ECC44 - .4byte Entities_DarkHyruleCastle_22_0 +Room_DarkHyruleCastle_2FBottomLeftCornerPuzzle:: @ 080ECC44 + .4byte Entities_DarkHyruleCastle_2FBottomLeftCornerPuzzle_0 .4byte 0x00000000 - .4byte Enemies_DarkHyruleCastle_22 - .4byte TileEntities_DarkHyruleCastle_22 + .4byte Enemies_DarkHyruleCastle_2FBottomLeftCornerPuzzle + .4byte TileEntities_DarkHyruleCastle_2FBottomLeftCornerPuzzle .4byte 0x00000000 .4byte 0x00000000 - .4byte sub_unk3_DarkHyruleCastle_22 + .4byte sub_unk3_DarkHyruleCastle_2FBottomLeftCornerPuzzle .4byte sub_StateChange_Dojos_ToGreatblade3 -Entities_DarkHyruleCastle_23_0:: @ 080ECC64 +Entities_DarkHyruleCastle_2FEntrance_0:: @ 080ECC64 object_raw subtype=0x9d, x=0x78, y=0x58, paramA=0x1, paramC=0x80000058 object_raw subtype=0x9d, x=0x98, y=0x58, paramA=0x1, paramC=0x80010058 object_raw subtype=0x9d, x=0x68, y=0x88, paramA=0x1, paramC=0x80020058 @@ -14273,24 +14273,24 @@ Entities_DarkHyruleCastle_23_0:: @ 080ECC64 object_raw subtype=0x39, x=0x88, y=0x38, paramA=0x4, paramC=0x59ffff entity_list_end -Enemies_DarkHyruleCastle_23:: @ 080ECCF4 +Enemies_DarkHyruleCastle_2FEntrance:: @ 080ECCF4 entity_list_end -TileEntities_DarkHyruleCastle_23:: @ 080ECD04 +TileEntities_DarkHyruleCastle_2FEntrance:: @ 080ECD04 tile_entity type=0x1, paramA=0x18 tile_entity_list_end -Room_DarkHyruleCastle_23:: @ 080ECD14 - .4byte Entities_DarkHyruleCastle_23_0 +Room_DarkHyruleCastle_2FEntrance:: @ 080ECD14 + .4byte Entities_DarkHyruleCastle_2FEntrance_0 .4byte 0x00000000 - .4byte Enemies_DarkHyruleCastle_23 - .4byte TileEntities_DarkHyruleCastle_23 + .4byte Enemies_DarkHyruleCastle_2FEntrance + .4byte TileEntities_DarkHyruleCastle_2FEntrance .4byte 0x00000000 .4byte 0x00000000 - .4byte sub_unk3_DarkHyruleCastle_23 + .4byte sub_unk3_DarkHyruleCastle_2FEntrance .4byte sub_StateChange_Dojos_ToGreatblade4 -Entities_DarkHyruleCastle_24_0:: @ 080ECD34 +Entities_DarkHyruleCastle_2FBottomLeftCorner_0:: @ 080ECD34 object_raw subtype=0x9d, x=0x68, y=0x128, paramA=0x1, paramC=0x8000005a object_raw subtype=0x9d, x=0x88, y=0x108, paramA=0x1, paramC=0x8001005a object_raw subtype=0x9d, x=0x88, y=0x148, paramA=0x1, paramC=0x8002005a @@ -14304,103 +14304,103 @@ Entities_DarkHyruleCastle_24_0:: @ 080ECD34 object_raw subtype=0x98, x=0xb8, y=0xa8, unknown=0x3, paramB=0x10302 entity_list_end -Enemies_DarkHyruleCastle_24:: @ 080ECDF4 +Enemies_DarkHyruleCastle_2FBottomLeftCorner:: @ 080ECDF4 entity_list_end -TileEntities_DarkHyruleCastle_24:: @ 080ECE04 +TileEntities_DarkHyruleCastle_2FBottomLeftCorner:: @ 080ECE04 tile_entity type=0x1, paramA=0x19 tile_entity_list_end -Room_DarkHyruleCastle_24:: @ 080ECE14 - .4byte Entities_DarkHyruleCastle_24_0 +Room_DarkHyruleCastle_2FBottomLeftCorner:: @ 080ECE14 + .4byte Entities_DarkHyruleCastle_2FBottomLeftCorner_0 .4byte 0x00000000 - .4byte Enemies_DarkHyruleCastle_24 - .4byte TileEntities_DarkHyruleCastle_24 + .4byte Enemies_DarkHyruleCastle_2FBottomLeftCorner + .4byte TileEntities_DarkHyruleCastle_2FBottomLeftCorner .4byte 0x00000000 .4byte 0x00000000 - .4byte sub_unk3_DarkHyruleCastle_24 + .4byte sub_unk3_DarkHyruleCastle_2FBottomLeftCorner .4byte sub_StateChange_Dojos_ToGreatblade5 -Entities_DarkHyruleCastle_25_0:: @ 080ECE34 +Entities_DarkHyruleCastle_2FBottomLeftTower_0:: @ 080ECE34 entity_list_end -Enemies_DarkHyruleCastle_25:: @ 080ECE44 +Enemies_DarkHyruleCastle_2FBottomLeftTower:: @ 080ECE44 entity_list_end -TileEntities_DarkHyruleCastle_25:: @ 080ECE54 +TileEntities_DarkHyruleCastle_2FBottomLeftTower:: @ 080ECE54 tile_entity type=0x1, paramA=0x1a tile_entity_list_end -Room_DarkHyruleCastle_25:: @ 080ECE64 - .4byte Entities_DarkHyruleCastle_25_0 +Room_DarkHyruleCastle_2FBottomLeftTower:: @ 080ECE64 + .4byte Entities_DarkHyruleCastle_2FBottomLeftTower_0 .4byte 0x00000000 - .4byte Enemies_DarkHyruleCastle_25 - .4byte TileEntities_DarkHyruleCastle_25 + .4byte Enemies_DarkHyruleCastle_2FBottomLeftTower + .4byte TileEntities_DarkHyruleCastle_2FBottomLeftTower .4byte 0x00000000 .4byte 0x00000000 - .4byte sub_unk3_DarkHyruleCastle_25 + .4byte sub_unk3_DarkHyruleCastle_2FBottomLeftTower .4byte sub_StateChange_Dojos_ToGreatblade6 -Entities_DarkHyruleCastle_26_0:: @ 080ECE84 +Entities_DarkHyruleCastle_2FBottomLeftGhini_0:: @ 080ECE84 manager subtype=0xb, unknown=0x0, paramB=0x8, paramC=0x5b0000 manager subtype=0x2e, unknown=0x0, paramB=0x3c00, paramC=0x5b008d object_raw subtype=0x8, x=0x88, y=0xa8, paramA=0x2, paramC=0x8dffff entity_list_end -Enemies_DarkHyruleCastle_26:: @ 080ECEC4 +Enemies_DarkHyruleCastle_2FBottomLeftGhini:: @ 080ECEC4 entity_list_end -TileEntities_DarkHyruleCastle_26:: @ 080ECED4 +TileEntities_DarkHyruleCastle_2FBottomLeftGhini:: @ 080ECED4 tile_entity type=0x1, paramA=0x1b tile_entity_list_end -gUnk_additional_8_DarkHyruleCastle_26:: @ 080ECEE4 +gUnk_additional_8_DarkHyruleCastle_2FBottomLeftGhini:: @ 080ECEE4 enemy_raw subtype=0x50, paramB=0xa160900, paramC=0x300030 entity_list_end -gUnk_additional_9_DarkHyruleCastle_26:: @ 080ECF04 - .incbin "data_080D5360/gUnk_additional_9_DarkHyruleCastle_26.bin" +gUnk_additional_9_DarkHyruleCastle_2FBottomLeftGhini:: @ 080ECF04 + .incbin "data_080D5360/gUnk_additional_9_DarkHyruleCastle_2FBottomLeftGhini.bin" -Room_DarkHyruleCastle_26:: @ 080ECF14 - .4byte Entities_DarkHyruleCastle_26_0 +Room_DarkHyruleCastle_2FBottomLeftGhini:: @ 080ECF14 + .4byte Entities_DarkHyruleCastle_2FBottomLeftGhini_0 .4byte 0x00000000 - .4byte Enemies_DarkHyruleCastle_26 - .4byte TileEntities_DarkHyruleCastle_26 + .4byte Enemies_DarkHyruleCastle_2FBottomLeftGhini + .4byte TileEntities_DarkHyruleCastle_2FBottomLeftGhini .4byte 0x00000000 .4byte 0x00000000 - .4byte sub_unk3_DarkHyruleCastle_26 + .4byte sub_unk3_DarkHyruleCastle_2FBottomLeftGhini .4byte sub_StateChange_Dojos_ToGreatblade7 - .4byte gUnk_additional_8_DarkHyruleCastle_26 - .4byte gUnk_additional_9_DarkHyruleCastle_26 + .4byte gUnk_additional_8_DarkHyruleCastle_2FBottomLeftGhini + .4byte gUnk_additional_9_DarkHyruleCastle_2FBottomLeftGhini -Entities_DarkHyruleCastle_27_0:: @ 080ECF3C +Entities_DarkHyruleCastle_3FTopRightTower7_0:: @ 080ECF3C entity_list_end -Enemies_DarkHyruleCastle_27:: @ 080ECF4C +Enemies_DarkHyruleCastle_3FTopRightTower7:: @ 080ECF4C entity_list_end -TileEntities_DarkHyruleCastle_27:: @ 080ECF5C +TileEntities_DarkHyruleCastle_3FTopRightTower7:: @ 080ECF5C tile_entity type=0x1, paramA=0x1c tile_entity_list_end -Room_DarkHyruleCastle_27:: @ 080ECF6C - .4byte Entities_DarkHyruleCastle_27_0 +Room_DarkHyruleCastle_3FTopRightTower7:: @ 080ECF6C + .4byte Entities_DarkHyruleCastle_3FTopRightTower7_0 .4byte 0x00000000 - .4byte Enemies_DarkHyruleCastle_27 - .4byte TileEntities_DarkHyruleCastle_27 + .4byte Enemies_DarkHyruleCastle_3FTopRightTower7 + .4byte TileEntities_DarkHyruleCastle_3FTopRightTower7 .4byte 0x00000000 .4byte 0x00000000 - .4byte sub_unk3_DarkHyruleCastle_27 + .4byte sub_unk3_DarkHyruleCastle_3FTopRightTower7 .4byte sub_StateChange_Dojos_ToGreatblade8 -Entities_DarkHyruleCastle_28_0:: @ 080ECF8C +Entities_DarkHyruleCastle_B1Entrance_0:: @ 080ECF8C ezlo_hint x=0x0, y=0x6, rx=0x11, ry=0x8, msg=0xb1b, flag=0x5c entity_list_end -Enemies_DarkHyruleCastle_28:: @ 080ECFAC +Enemies_DarkHyruleCastle_B1Entrance:: @ 080ECFAC entity_list_end -TileEntities_DarkHyruleCastle_28:: @ 080ECFBC +TileEntities_DarkHyruleCastle_B1Entrance:: @ 080ECFBC tile_entity type=0x1, paramA=0x1d tile_entity_list_end @@ -14410,17 +14410,17 @@ gUnk_080ECFCC:: @ 080ECFCC object_raw subtype=0x6a, x=0x108, y=0x70, collision=1, paramA=0x5, paramB=0x102 entity_list_end -Room_DarkHyruleCastle_28:: @ 080ED00C - .4byte Entities_DarkHyruleCastle_28_0 +Room_DarkHyruleCastle_B1Entrance:: @ 080ED00C + .4byte Entities_DarkHyruleCastle_B1Entrance_0 .4byte 0x00000000 - .4byte Enemies_DarkHyruleCastle_28 - .4byte TileEntities_DarkHyruleCastle_28 + .4byte Enemies_DarkHyruleCastle_B1Entrance + .4byte TileEntities_DarkHyruleCastle_B1Entrance .4byte 0x00000000 .4byte 0x00000000 - .4byte sub_unk3_DarkHyruleCastle_28 - .4byte sub_StateChange_DarkHyruleCastle_28 + .4byte sub_unk3_DarkHyruleCastle_B1Entrance + .4byte sub_StateChange_DarkHyruleCastle_B1Entrance -Entities_DarkHyruleCastle_29_0:: @ 080ED02C +Entities_DarkHyruleCastle_2FBottomRightTower_0:: @ 080ED02C object_raw subtype=0x8, x=0x68, y=0x108, paramC=0x5dffff object_raw subtype=0x3, x=0xb8, y=0x148, paramC=0x5d0001 object_raw subtype=0x5, x=0x58, y=0x168 @@ -14430,12 +14430,12 @@ Entities_DarkHyruleCastle_29_0:: @ 080ED02C manager subtype=0x1a, unknown=0x8, paramA=0x35 entity_list_end -Enemies_DarkHyruleCastle_29:: @ 080ED0AC +Enemies_DarkHyruleCastle_2FBottomRightTower:: @ 080ED0AC enemy_raw subtype=0x28, x=0x68, y=0x128, paramB=0x60e0000, paramC=0x1100050 enemy_raw subtype=0x28, x=0xa8, y=0x128, paramB=0x60e0000, paramC=0x1100050 entity_list_end -TileEntities_DarkHyruleCastle_29:: @ 080ED0DC +TileEntities_DarkHyruleCastle_2FBottomRightTower:: @ 080ED0DC tile_entity type=0x1, paramA=0x1e tile_entity_list_end@ unaccounted bytes .byte 255 @@ -14456,40 +14456,40 @@ TileEntities_DarkHyruleCastle_29:: @ 080ED0DC .byte 0 -Room_DarkHyruleCastle_29:: @ 080ED0FC - .4byte Entities_DarkHyruleCastle_29_0 +Room_DarkHyruleCastle_2FBottomRightTower:: @ 080ED0FC + .4byte Entities_DarkHyruleCastle_2FBottomRightTower_0 .4byte 0x00000000 - .4byte Enemies_DarkHyruleCastle_29 - .4byte TileEntities_DarkHyruleCastle_29 + .4byte Enemies_DarkHyruleCastle_2FBottomRightTower + .4byte TileEntities_DarkHyruleCastle_2FBottomRightTower .4byte 0x00000000 .4byte 0x00000000 - .4byte sub_unk3_DarkHyruleCastle_29 + .4byte sub_unk3_DarkHyruleCastle_2FBottomRightTower .4byte sub_StateChange_Dojos_ToGreatblade9 -Entities_DarkHyruleCastle_30_0:: @ 080ED11C +Entities_DarkHyruleCastle_1FTopLeftTower_0:: @ 080ED11C entity_list_end -Enemies_DarkHyruleCastle_30:: @ 080ED12C +Enemies_DarkHyruleCastle_1FTopLeftTower:: @ 080ED12C enemy_raw subtype=0x3b, x=0x58, y=0x68 enemy_raw subtype=0x3b, x=0xb8, y=0x68 entity_list_end -TileEntities_DarkHyruleCastle_30:: @ 080ED15C +TileEntities_DarkHyruleCastle_1FTopLeftTower:: @ 080ED15C tile_entity type=0x9, paramB=0x8000 tile_entity type=0x1, paramA=0x1f tile_entity_list_end -Room_DarkHyruleCastle_30:: @ 080ED174 - .4byte Entities_DarkHyruleCastle_30_0 +Room_DarkHyruleCastle_1FTopLeftTower:: @ 080ED174 + .4byte Entities_DarkHyruleCastle_1FTopLeftTower_0 .4byte 0x00000000 - .4byte Enemies_DarkHyruleCastle_30 - .4byte TileEntities_DarkHyruleCastle_30 + .4byte Enemies_DarkHyruleCastle_1FTopLeftTower + .4byte TileEntities_DarkHyruleCastle_1FTopLeftTower .4byte 0x00000000 .4byte 0x00000000 - .4byte sub_unk3_DarkHyruleCastle_30 + .4byte sub_unk3_DarkHyruleCastle_1FTopLeftTower .4byte sub_StateChange_Dojos_ToScarblade0 -Entities_DarkHyruleCastle_31_0:: @ 080ED194 +Entities_DarkHyruleCastle_1FThroneRoom_0:: @ 080ED194 manager subtype=0x1e, x=0x20, y=0x70, paramB=0x2000d0, paramC=0x80000000 manager subtype=0xb, unknown=0x0, paramB=0x8, paramC=0x5e8000 manager subtype=0x2e, unknown=0x0, paramB=0x3c00, paramC=0x5e008e @@ -14503,99 +14503,99 @@ gUnk_080ED1E4:: @ 080ED1E4 object_raw subtype=0x6a, x=0x50, y=0x60, collision=1, paramA=0x5, paramB=0x302 entity_list_end -Entities_DarkHyruleCastle_31_1:: @ 080ED234 +Entities_DarkHyruleCastle_1FThroneRoom_1:: @ 080ED234 object_raw subtype=0x5f, x=0x88, y=0x48, paramA=0x1, paramC=0x5e0000 entity_list_end -Enemies_DarkHyruleCastle_31:: @ 080ED254 +Enemies_DarkHyruleCastle_1FThroneRoom:: @ 080ED254 entity_list_end -TileEntities_DarkHyruleCastle_31:: @ 080ED264 +TileEntities_DarkHyruleCastle_1FThroneRoom:: @ 080ED264 tile_entity type=0xd, paramB=0x2d00 tile_entity type=0x1, paramA=0x20 tile_entity_list_end -gUnk_additional_8_DarkHyruleCastle_31:: @ 080ED27C +gUnk_additional_8_DarkHyruleCastle_1FThroneRoom:: @ 080ED27C enemy_raw subtype=0x5, x=0x88, y=0x68, unknown=0x2f, paramA=0x2 object_raw subtype=0x39, x=0x88, y=0xa8, paramA=0x6, paramC=0x8effff entity_list_end -Room_DarkHyruleCastle_31:: @ 080ED2AC - .4byte Entities_DarkHyruleCastle_31_0 - .4byte Entities_DarkHyruleCastle_31_1 - .4byte Enemies_DarkHyruleCastle_31 - .4byte TileEntities_DarkHyruleCastle_31 +Room_DarkHyruleCastle_1FThroneRoom:: @ 080ED2AC + .4byte Entities_DarkHyruleCastle_1FThroneRoom_0 + .4byte Entities_DarkHyruleCastle_1FThroneRoom_1 + .4byte Enemies_DarkHyruleCastle_1FThroneRoom + .4byte TileEntities_DarkHyruleCastle_1FThroneRoom .4byte 0x00000000 .4byte 0x00000000 - .4byte sub_unk3_DarkHyruleCastle_31 - .4byte sub_StateChange_DarkHyruleCastle_31 - .4byte gUnk_additional_8_DarkHyruleCastle_31 + .4byte sub_unk3_DarkHyruleCastle_1FThroneRoom + .4byte sub_StateChange_DarkHyruleCastle_1FThroneRoom + .4byte gUnk_additional_8_DarkHyruleCastle_1FThroneRoom -Entities_DarkHyruleCastle_32_0:: @ 080ED2D0 +Entities_DarkHyruleCastle_1FCompass_0:: @ 080ED2D0 object_raw subtype=0xc, x=0x50, y=0x28, collision=1, paramA=0x4, paramB=0x5f entity_list_end -Enemies_DarkHyruleCastle_32:: @ 080ED2F0 +Enemies_DarkHyruleCastle_1FCompass:: @ 080ED2F0 entity_list_end -TileEntities_DarkHyruleCastle_32:: @ 080ED300 +TileEntities_DarkHyruleCastle_1FCompass:: @ 080ED300 tile_entity type=0x3, paramA=0x5f, paramB=0x51, paramC=0x50, paramD=0x28 tile_entity type=0x1, paramA=0x21 tile_entity_list_end -Room_DarkHyruleCastle_32:: @ 080ED318 - .4byte Entities_DarkHyruleCastle_32_0 +Room_DarkHyruleCastle_1FCompass:: @ 080ED318 + .4byte Entities_DarkHyruleCastle_1FCompass_0 .4byte 0x00000000 - .4byte Enemies_DarkHyruleCastle_32 - .4byte TileEntities_DarkHyruleCastle_32 + .4byte Enemies_DarkHyruleCastle_1FCompass + .4byte TileEntities_DarkHyruleCastle_1FCompass .4byte 0x00000000 .4byte 0x00000000 - .4byte sub_unk3_DarkHyruleCastle_32 + .4byte sub_unk3_DarkHyruleCastle_1FCompass .4byte sub_StateChange_Dojos_ToScarblade1 -Entities_DarkHyruleCastle_33_0:: @ 080ED338 +Entities_DarkHyruleCastle_1FTopRightTower_0:: @ 080ED338 entity_list_end -Enemies_DarkHyruleCastle_33:: @ 080ED348 +Enemies_DarkHyruleCastle_1FTopRightTower:: @ 080ED348 enemy_raw subtype=0xd, x=0x68, y=0x78 enemy_raw subtype=0xd, x=0xa8, y=0x78 entity_list_end -TileEntities_DarkHyruleCastle_33:: @ 080ED378 +TileEntities_DarkHyruleCastle_1FTopRightTower:: @ 080ED378 tile_entity type=0x1, paramA=0x22 tile_entity_list_end -Room_DarkHyruleCastle_33:: @ 080ED388 - .4byte Entities_DarkHyruleCastle_33_0 +Room_DarkHyruleCastle_1FTopRightTower:: @ 080ED388 + .4byte Entities_DarkHyruleCastle_1FTopRightTower_0 .4byte 0x00000000 - .4byte Enemies_DarkHyruleCastle_33 - .4byte TileEntities_DarkHyruleCastle_33 + .4byte Enemies_DarkHyruleCastle_1FTopRightTower + .4byte TileEntities_DarkHyruleCastle_1FTopRightTower .4byte 0x00000000 .4byte 0x00000000 - .4byte sub_unk3_DarkHyruleCastle_33 + .4byte sub_unk3_DarkHyruleCastle_1FTopRightTower .4byte sub_StateChange_Dojos_ToScarblade2 -Entities_DarkHyruleCastle_34_0:: @ 080ED3A8 +Entities_DarkHyruleCastle_1FBeforeThrone_0:: @ 080ED3A8 entity_list_end -Enemies_DarkHyruleCastle_34:: @ 080ED3B8 +Enemies_DarkHyruleCastle_1FBeforeThrone:: @ 080ED3B8 entity_list_end -TileEntities_DarkHyruleCastle_34:: @ 080ED3C8 +TileEntities_DarkHyruleCastle_1FBeforeThrone:: @ 080ED3C8 tile_entity type=0x1, paramA=0x23 tile_entity_list_end -Room_DarkHyruleCastle_34:: @ 080ED3D8 - .4byte Entities_DarkHyruleCastle_34_0 +Room_DarkHyruleCastle_1FBeforeThrone:: @ 080ED3D8 + .4byte Entities_DarkHyruleCastle_1FBeforeThrone_0 .4byte 0x00000000 - .4byte Enemies_DarkHyruleCastle_34 - .4byte TileEntities_DarkHyruleCastle_34 + .4byte Enemies_DarkHyruleCastle_1FBeforeThrone + .4byte TileEntities_DarkHyruleCastle_1FBeforeThrone .4byte 0x00000000 .4byte 0x00000000 - .4byte sub_unk3_DarkHyruleCastle_34 + .4byte sub_unk3_DarkHyruleCastle_1FBeforeThrone .4byte sub_StateChange_Dojos_ToScarblade3 -Entities_DarkHyruleCastle_35_0:: @ 080ED3F8 +Entities_DarkHyruleCastle_1FLoopTopLeft_0:: @ 080ED3F8 enemy_raw subtype=0x3a, x=0x38, y=0x38 enemy_raw subtype=0x3a, x=0x38, y=0x48 enemy_raw subtype=0x3a, x=0x38, y=0x58 @@ -14604,66 +14604,66 @@ Entities_DarkHyruleCastle_35_0:: @ 080ED3F8 enemy_raw subtype=0x3a, x=0x38, y=0x88 entity_list_end -Entities_DarkHyruleCastle_35_1:: @ 080ED468 +Entities_DarkHyruleCastle_1FLoopTopLeft_1:: @ 080ED468 object_raw subtype=0x4f, x=0x100, y=0x48, paramA=0x21, paramB=0x1 entity_list_end -Enemies_DarkHyruleCastle_35:: @ 080ED488 +Enemies_DarkHyruleCastle_1FLoopTopLeft:: @ 080ED488 enemy_raw subtype=0x23, x=0x58, y=0x38, paramB=0xc160000, paramC=0x300030 enemy_raw subtype=0x23, x=0xc8, y=0x88, paramB=0xc160000, paramC=0x400080 entity_list_end -TileEntities_DarkHyruleCastle_35:: @ 080ED4B8 +TileEntities_DarkHyruleCastle_1FLoopTopLeft:: @ 080ED4B8 tile_entity type=0x1, paramA=0x24 tile_entity_list_end -Room_DarkHyruleCastle_35:: @ 080ED4C8 - .4byte Entities_DarkHyruleCastle_35_0 - .4byte Entities_DarkHyruleCastle_35_1 - .4byte Enemies_DarkHyruleCastle_35 - .4byte TileEntities_DarkHyruleCastle_35 +Room_DarkHyruleCastle_1FLoopTopLeft:: @ 080ED4C8 + .4byte Entities_DarkHyruleCastle_1FLoopTopLeft_0 + .4byte Entities_DarkHyruleCastle_1FLoopTopLeft_1 + .4byte Enemies_DarkHyruleCastle_1FLoopTopLeft + .4byte TileEntities_DarkHyruleCastle_1FLoopTopLeft .4byte 0x00000000 .4byte 0x00000000 - .4byte sub_unk3_DarkHyruleCastle_35 + .4byte sub_unk3_DarkHyruleCastle_1FLoopTopLeft .4byte sub_StateChange_Dojos_ToScarblade4 -Entities_DarkHyruleCastle_36_0:: @ 080ED4E8 +Entities_DarkHyruleCastle_1FLoopTop_0:: @ 080ED4E8 manager subtype=0x30, x=0x78, y=0x38, paramB=0x6051702, paramC=0x80018000 manager subtype=0x11, paramC=0x80000060 object_raw subtype=0x3, x=0x48, y=0x78, paramA=0x1, paramC=0x80010002 object_raw subtype=0x8, x=0xe8, y=0x58, paramA=0x1, paramC=0x60ffff entity_list_end -Entities_DarkHyruleCastle_36_1:: @ 080ED538 +Entities_DarkHyruleCastle_1FLoopTop_1:: @ 080ED538 object_raw subtype=0x4f, x=0x10, y=0x48, paramA=0x21, paramB=0x3 object_raw subtype=0x4f, x=0x100, y=0x58, paramA=0x21, paramB=0x1 entity_list_end -Enemies_DarkHyruleCastle_36:: @ 080ED568 +Enemies_DarkHyruleCastle_1FLoopTop:: @ 080ED568 entity_list_end -TileEntities_DarkHyruleCastle_36:: @ 080ED578 +TileEntities_DarkHyruleCastle_1FLoopTop:: @ 080ED578 tile_entity type=0x1, paramA=0x25 tile_entity_list_end -Room_DarkHyruleCastle_36:: @ 080ED588 - .4byte Entities_DarkHyruleCastle_36_0 - .4byte Entities_DarkHyruleCastle_36_1 - .4byte Enemies_DarkHyruleCastle_36 - .4byte TileEntities_DarkHyruleCastle_36 +Room_DarkHyruleCastle_1FLoopTop:: @ 080ED588 + .4byte Entities_DarkHyruleCastle_1FLoopTop_0 + .4byte Entities_DarkHyruleCastle_1FLoopTop_1 + .4byte Enemies_DarkHyruleCastle_1FLoopTop + .4byte TileEntities_DarkHyruleCastle_1FLoopTop .4byte 0x00000000 .4byte 0x00000000 - .4byte sub_unk3_DarkHyruleCastle_36 + .4byte sub_unk3_DarkHyruleCastle_1FLoopTop .4byte sub_StateChange_Dojos_ToScarblade5 -Entities_DarkHyruleCastle_37_0:: @ 080ED5A8 +Entities_DarkHyruleCastle_1FLoopTopRight_0:: @ 080ED5A8 entity_list_end -Entities_DarkHyruleCastle_37_1:: @ 080ED5B8 +Entities_DarkHyruleCastle_1FLoopTopRight_1:: @ 080ED5B8 object_raw subtype=0x4f, x=0x10, y=0x58, paramA=0x21, paramB=0x3 entity_list_end -Enemies_DarkHyruleCastle_37:: @ 080ED5D8 +Enemies_DarkHyruleCastle_1FLoopTopRight:: @ 080ED5D8 enemy_raw subtype=0x15, x=0x88, y=0x78, paramA=0x1 enemy_raw subtype=0x15, x=0xa8, y=0x48, paramA=0x1 enemy_raw subtype=0x8, x=0x58, y=0x18, paramB=0x14140000, paramC=0x100030 @@ -14671,21 +14671,21 @@ Enemies_DarkHyruleCastle_37:: @ 080ED5D8 enemy_raw subtype=0x8, x=0x98, y=0x18, paramB=0x14140000, paramC=0x100030 entity_list_end -TileEntities_DarkHyruleCastle_37:: @ 080ED638 +TileEntities_DarkHyruleCastle_1FLoopTopRight:: @ 080ED638 tile_entity type=0x1, paramA=0x26 tile_entity_list_end -Room_DarkHyruleCastle_37:: @ 080ED648 - .4byte Entities_DarkHyruleCastle_37_0 - .4byte Entities_DarkHyruleCastle_37_1 - .4byte Enemies_DarkHyruleCastle_37 - .4byte TileEntities_DarkHyruleCastle_37 +Room_DarkHyruleCastle_1FLoopTopRight:: @ 080ED648 + .4byte Entities_DarkHyruleCastle_1FLoopTopRight_0 + .4byte Entities_DarkHyruleCastle_1FLoopTopRight_1 + .4byte Enemies_DarkHyruleCastle_1FLoopTopRight + .4byte TileEntities_DarkHyruleCastle_1FLoopTopRight .4byte 0x00000000 .4byte 0x00000000 - .4byte sub_unk3_DarkHyruleCastle_37 + .4byte sub_unk3_DarkHyruleCastle_1FLoopTopRight .4byte sub_StateChange_Dojos_ToScarblade6 -Entities_DarkHyruleCastle_38_0:: @ 080ED668 +Entities_DarkHyruleCastle_1FLoopLeft_0:: @ 080ED668 manager subtype=0x2b, paramA=0x8, paramC=0x610000 manager subtype=0x35, x=0x90, y=0x58, paramB=0x3c1e00, paramC=0x610062 object_raw subtype=0x33, x=0x78, y=0x58, paramA=0x5, paramC=0x620000 @@ -14695,28 +14695,28 @@ Entities_DarkHyruleCastle_38_0:: @ 080ED668 ezlo_hint x=0x10, y=0xc, rx=0x1, ry=0x5, msg=0xb4a, flag=0x63 entity_list_end -Enemies_DarkHyruleCastle_38:: @ 080ED6E8 +Enemies_DarkHyruleCastle_1FLoopLeft:: @ 080ED6E8 entity_list_end -TileEntities_DarkHyruleCastle_38:: @ 080ED6F8 +TileEntities_DarkHyruleCastle_1FLoopLeft:: @ 080ED6F8 tile_entity type=0x1, paramA=0x27 tile_entity_list_end -gUnk_additional_8_DarkHyruleCastle_38:: @ 080ED708 - .incbin "data_080D5360/gUnk_additional_8_DarkHyruleCastle_38.bin" +gUnk_additional_8_DarkHyruleCastle_1FLoopLeft:: @ 080ED708 + .incbin "data_080D5360/gUnk_additional_8_DarkHyruleCastle_1FLoopLeft.bin" -Room_DarkHyruleCastle_38:: @ 080ED720 - .4byte Entities_DarkHyruleCastle_38_0 +Room_DarkHyruleCastle_1FLoopLeft:: @ 080ED720 + .4byte Entities_DarkHyruleCastle_1FLoopLeft_0 .4byte 0x00000000 - .4byte Enemies_DarkHyruleCastle_38 - .4byte TileEntities_DarkHyruleCastle_38 + .4byte Enemies_DarkHyruleCastle_1FLoopLeft + .4byte TileEntities_DarkHyruleCastle_1FLoopLeft .4byte 0x00000000 .4byte 0x00000000 - .4byte sub_unk3_DarkHyruleCastle_38 + .4byte sub_unk3_DarkHyruleCastle_1FLoopLeft .4byte sub_StateChange_Dojos_ToScarblade7 - .4byte gUnk_additional_8_DarkHyruleCastle_38 + .4byte gUnk_additional_8_DarkHyruleCastle_1FLoopLeft -Entities_DarkHyruleCastle_39_0:: @ 080ED744 +Entities_DarkHyruleCastle_1FLoopRight_0:: @ 080ED744 object_raw subtype=0x3, x=0x38, y=0xc8, paramA=0x1, paramC=0x80000002 object_raw subtype=0x3, x=0x48, y=0xc8, paramA=0x1, paramC=0x80010002 object_raw subtype=0x3, x=0x98, y=0xc8, paramA=0x1, paramC=0x80020002 @@ -14725,55 +14725,55 @@ Entities_DarkHyruleCastle_39_0:: @ 080ED744 object_raw subtype=0xc, x=0x78, y=0xd8, paramA=0x1, paramC=0x640000 entity_list_end -Enemies_DarkHyruleCastle_39:: @ 080ED7B4 +Enemies_DarkHyruleCastle_1FLoopRight:: @ 080ED7B4 enemy_raw subtype=0x2f, x=0x68, y=0x68, paramA=0x8 entity_list_end -TileEntities_DarkHyruleCastle_39:: @ 080ED7D4 +TileEntities_DarkHyruleCastle_1FLoopRight:: @ 080ED7D4 tile_entity type=0x2, paramA=0x65, paramB=0x53, paramC=0x347, paramD=0x1 tile_entity type=0x1, paramA=0x28 tile_entity_list_end -gUnk_additional_8_DarkHyruleCastle_39:: @ 080ED7EC - .incbin "data_080D5360/gUnk_additional_8_DarkHyruleCastle_39.bin" +gUnk_additional_8_DarkHyruleCastle_1FLoopRight:: @ 080ED7EC + .incbin "data_080D5360/gUnk_additional_8_DarkHyruleCastle_1FLoopRight.bin" -Room_DarkHyruleCastle_39:: @ 080ED8CC - .4byte Entities_DarkHyruleCastle_39_0 +Room_DarkHyruleCastle_1FLoopRight:: @ 080ED8CC + .4byte Entities_DarkHyruleCastle_1FLoopRight_0 .4byte 0x00000000 - .4byte Enemies_DarkHyruleCastle_39 - .4byte TileEntities_DarkHyruleCastle_39 + .4byte Enemies_DarkHyruleCastle_1FLoopRight + .4byte TileEntities_DarkHyruleCastle_1FLoopRight .4byte 0x00000000 .4byte 0x00000000 - .4byte sub_unk3_DarkHyruleCastle_39 + .4byte sub_unk3_DarkHyruleCastle_1FLoopRight .4byte sub_StateChange_Dojos_ToScarblade8 - .4byte gUnk_additional_8_DarkHyruleCastle_39 + .4byte gUnk_additional_8_DarkHyruleCastle_1FLoopRight -Entities_DarkHyruleCastle_40_0:: @ 080ED8F0 +Entities_DarkHyruleCastle_1FLoopBottomLeft_0:: @ 080ED8F0 entity_list_end -Enemies_DarkHyruleCastle_40:: @ 080ED900 +Enemies_DarkHyruleCastle_1FLoopBottomLeft:: @ 080ED900 enemy_raw subtype=0x27, x=0x68, y=0x48, paramB=0xa180000, paramC=0x200050 enemy_raw subtype=0x27, x=0xa8, y=0x68, paramB=0xa180000, paramC=0x200050 entity_list_end -TileEntities_DarkHyruleCastle_40:: @ 080ED930 +TileEntities_DarkHyruleCastle_1FLoopBottomLeft:: @ 080ED930 tile_entity type=0x1, paramA=0x29 tile_entity_list_end -Room_DarkHyruleCastle_40:: @ 080ED940 - .4byte Entities_DarkHyruleCastle_40_0 +Room_DarkHyruleCastle_1FLoopBottomLeft:: @ 080ED940 + .4byte Entities_DarkHyruleCastle_1FLoopBottomLeft_0 .4byte 0x00000000 - .4byte Enemies_DarkHyruleCastle_40 - .4byte TileEntities_DarkHyruleCastle_40 + .4byte Enemies_DarkHyruleCastle_1FLoopBottomLeft + .4byte TileEntities_DarkHyruleCastle_1FLoopBottomLeft .4byte 0x00000000 .4byte 0x00000000 - .4byte sub_unk3_DarkHyruleCastle_40 + .4byte sub_unk3_DarkHyruleCastle_1FLoopBottomLeft .4byte sub_StateChange_Dojos_ToScarblade9 -Entities_DarkHyruleCastle_41_0:: @ 080ED960 +Entities_DarkHyruleCastle_1FLoopBottom_0:: @ 080ED960 entity_list_end -Enemies_DarkHyruleCastle_41:: @ 080ED970 +Enemies_DarkHyruleCastle_1FLoopBottom:: @ 080ED970 enemy_raw subtype=0x15, x=0x38, y=0x48, paramA=0x1 enemy_raw subtype=0x15, x=0xc8, y=0x48, paramA=0x1 enemy_raw subtype=0x8, x=0x58, y=0x8, paramB=0xe1a0000 @@ -14782,44 +14782,44 @@ Enemies_DarkHyruleCastle_41:: @ 080ED970 enemy_raw subtype=0x8, x=0xb8, y=0x8, paramB=0xe1a0000 entity_list_end -TileEntities_DarkHyruleCastle_41:: @ 080ED9E0 +TileEntities_DarkHyruleCastle_1FLoopBottom:: @ 080ED9E0 tile_entity type=0x1, paramA=0x2a tile_entity_list_end -Room_DarkHyruleCastle_41:: @ 080ED9F0 - .4byte Entities_DarkHyruleCastle_41_0 +Room_DarkHyruleCastle_1FLoopBottom:: @ 080ED9F0 + .4byte Entities_DarkHyruleCastle_1FLoopBottom_0 .4byte 0x00000000 - .4byte Enemies_DarkHyruleCastle_41 - .4byte TileEntities_DarkHyruleCastle_41 + .4byte Enemies_DarkHyruleCastle_1FLoopBottom + .4byte TileEntities_DarkHyruleCastle_1FLoopBottom .4byte 0x00000000 .4byte 0x00000000 - .4byte sub_unk3_DarkHyruleCastle_41 - .4byte sub_StateChange_GoronCave_StairsToCave0 + .4byte sub_unk3_DarkHyruleCastle_1FLoopBottom + .4byte sub_StateChange_GoronCave_Stairs0 -Entities_DarkHyruleCastle_42_0:: @ 080EDA10 +Entities_DarkHyruleCastle_1FLoopBottomRight_0:: @ 080EDA10 entity_list_end -Enemies_DarkHyruleCastle_42:: @ 080EDA20 +Enemies_DarkHyruleCastle_1FLoopBottomRight:: @ 080EDA20 enemy_raw subtype=0x46, x=0x78, y=0x48, paramA=0x1 enemy_raw subtype=0x8, x=0xc8, y=0x38, paramB=0xa180000, paramC=0x200010 enemy_raw subtype=0x8, x=0xc8, y=0x58, paramB=0xa180000, paramC=0x200010 entity_list_end -TileEntities_DarkHyruleCastle_42:: @ 080EDA60 +TileEntities_DarkHyruleCastle_1FLoopBottomRight:: @ 080EDA60 tile_entity type=0x1, paramA=0x2b tile_entity_list_end -Room_DarkHyruleCastle_42:: @ 080EDA70 - .4byte Entities_DarkHyruleCastle_42_0 +Room_DarkHyruleCastle_1FLoopBottomRight:: @ 080EDA70 + .4byte Entities_DarkHyruleCastle_1FLoopBottomRight_0 .4byte 0x00000000 - .4byte Enemies_DarkHyruleCastle_42 - .4byte TileEntities_DarkHyruleCastle_42 + .4byte Enemies_DarkHyruleCastle_1FLoopBottomRight + .4byte TileEntities_DarkHyruleCastle_1FLoopBottomRight .4byte 0x00000000 .4byte 0x00000000 - .4byte sub_unk3_DarkHyruleCastle_42 - .4byte sub_StateChange_GoronCave_StairsToCave1 + .4byte sub_unk3_DarkHyruleCastle_1FLoopBottomRight + .4byte sub_StateChange_GoronCave_Stairs1 -Entities_DarkHyruleCastle_43_0:: @ 080EDA90 +Entities_DarkHyruleCastle_1FBottomLeftTower_0:: @ 080EDA90 object_raw subtype=0x5, x=0x78, y=0x68, paramA=0x5d object_raw subtype=0x5, x=0x78, y=0x78, paramA=0x5d object_raw subtype=0x5, x=0x98, y=0x68, paramA=0x5d @@ -14828,200 +14828,200 @@ Entities_DarkHyruleCastle_43_0:: @ 080EDA90 object_raw subtype=0x5, x=0x98, y=0x78, paramA=0x5e entity_list_end -Enemies_DarkHyruleCastle_43:: @ 080EDB00 +Enemies_DarkHyruleCastle_1FBottomLeftTower:: @ 080EDB00 entity_list_end -TileEntities_DarkHyruleCastle_43:: @ 080EDB10 +TileEntities_DarkHyruleCastle_1FBottomLeftTower:: @ 080EDB10 tile_entity type=0x1, paramA=0x2c tile_entity_list_end -Room_DarkHyruleCastle_43:: @ 080EDB20 - .4byte Entities_DarkHyruleCastle_43_0 +Room_DarkHyruleCastle_1FBottomLeftTower:: @ 080EDB20 + .4byte Entities_DarkHyruleCastle_1FBottomLeftTower_0 .4byte 0x00000000 - .4byte Enemies_DarkHyruleCastle_43 - .4byte TileEntities_DarkHyruleCastle_43 + .4byte Enemies_DarkHyruleCastle_1FBottomLeftTower + .4byte TileEntities_DarkHyruleCastle_1FBottomLeftTower .4byte 0x00000000 .4byte 0x00000000 - .4byte sub_unk3_DarkHyruleCastle_43 - .4byte sub_StateChange_GoronCave_StairsToCave2 + .4byte sub_unk3_DarkHyruleCastle_1FBottomLeftTower + .4byte sub_StateChange_GoronCave_Stairs2 -Entities_DarkHyruleCastle_44_0:: @ 080EDB40 +Entities_DarkHyruleCastle_1FBottomRightTower_0:: @ 080EDB40 entity_list_end -Enemies_DarkHyruleCastle_44:: @ 080EDB50 +Enemies_DarkHyruleCastle_1FBottomRightTower:: @ 080EDB50 enemy_raw subtype=0x3b, x=0x68, y=0x88 enemy_raw subtype=0x3b, x=0x88, y=0x98 enemy_raw subtype=0x3b, x=0xa8, y=0x88 entity_list_end -TileEntities_DarkHyruleCastle_44:: @ 080EDB90 +TileEntities_DarkHyruleCastle_1FBottomRightTower:: @ 080EDB90 tile_entity type=0x9, paramB=0x8000 tile_entity type=0x1, paramA=0x2d tile_entity_list_end -Room_DarkHyruleCastle_44:: @ 080EDBA8 - .4byte Entities_DarkHyruleCastle_44_0 +Room_DarkHyruleCastle_1FBottomRightTower:: @ 080EDBA8 + .4byte Entities_DarkHyruleCastle_1FBottomRightTower_0 .4byte 0x00000000 - .4byte Enemies_DarkHyruleCastle_44 - .4byte TileEntities_DarkHyruleCastle_44 + .4byte Enemies_DarkHyruleCastle_1FBottomRightTower + .4byte TileEntities_DarkHyruleCastle_1FBottomRightTower .4byte 0x00000000 .4byte 0x00000000 - .4byte sub_unk3_DarkHyruleCastle_44 - .4byte sub_StateChange_GoronCave_StairsToCave3 + .4byte sub_unk3_DarkHyruleCastle_1FBottomRightTower + .4byte sub_StateChange_GoronCave_Stairs3 -Entities_DarkHyruleCastle_45_0:: @ 080EDBC8 +Entities_DarkHyruleCastle_B1BelowThrone_0:: @ 080EDBC8 entity_list_end -Enemies_DarkHyruleCastle_45:: @ 080EDBD8 +Enemies_DarkHyruleCastle_B1BelowThrone:: @ 080EDBD8 enemy_raw subtype=0x3b, x=0xb8, y=0x98 enemy_raw subtype=0x8, x=0x98, y=0x68, paramB=0x14140000, paramC=0x100050 enemy_raw subtype=0x8, x=0x88, y=0x78, paramB=0x14140000, paramC=0x100050 enemy_raw subtype=0x8, x=0xa8, y=0x78, paramB=0x14140000, paramC=0x100050 entity_list_end -TileEntities_DarkHyruleCastle_45:: @ 080EDC28 +TileEntities_DarkHyruleCastle_B1BelowThrone:: @ 080EDC28 tile_entity type=0x9, paramB=0x8000 tile_entity type=0x1, paramA=0x2e tile_entity_list_end -Room_DarkHyruleCastle_45:: @ 080EDC40 - .4byte Entities_DarkHyruleCastle_45_0 +Room_DarkHyruleCastle_B1BelowThrone:: @ 080EDC40 + .4byte Entities_DarkHyruleCastle_B1BelowThrone_0 .4byte 0x00000000 - .4byte Enemies_DarkHyruleCastle_45 - .4byte TileEntities_DarkHyruleCastle_45 + .4byte Enemies_DarkHyruleCastle_B1BelowThrone + .4byte TileEntities_DarkHyruleCastle_B1BelowThrone .4byte 0x00000000 .4byte 0x00000000 - .4byte sub_unk3_DarkHyruleCastle_45 - .4byte sub_StateChange_GoronCave_StairsToCave4 + .4byte sub_unk3_DarkHyruleCastle_B1BelowThrone + .4byte sub_StateChange_GoronCave_Stairs4 -Entities_DarkHyruleCastle_46_0:: @ 080EDC60 +Entities_DarkHyruleCastle_B1BelowCompass_0:: @ 080EDC60 entity_list_end -Enemies_DarkHyruleCastle_46:: @ 080EDC70 +Enemies_DarkHyruleCastle_B1BelowCompass:: @ 080EDC70 enemy_raw subtype=0x3b, x=0x68, y=0x88 enemy_raw subtype=0x3b, x=0x98, y=0x98 entity_list_end -TileEntities_DarkHyruleCastle_46:: @ 080EDCA0 +TileEntities_DarkHyruleCastle_B1BelowCompass:: @ 080EDCA0 tile_entity type=0x9, paramB=0x8000 tile_entity type=0x1, paramA=0x2f tile_entity_list_end -Room_DarkHyruleCastle_46:: @ 080EDCB8 - .4byte Entities_DarkHyruleCastle_46_0 +Room_DarkHyruleCastle_B1BelowCompass:: @ 080EDCB8 + .4byte Entities_DarkHyruleCastle_B1BelowCompass_0 .4byte 0x00000000 - .4byte Enemies_DarkHyruleCastle_46 - .4byte TileEntities_DarkHyruleCastle_46 + .4byte Enemies_DarkHyruleCastle_B1BelowCompass + .4byte TileEntities_DarkHyruleCastle_B1BelowCompass .4byte 0x00000000 .4byte 0x00000000 - .4byte sub_unk3_DarkHyruleCastle_46 - .4byte sub_StateChange_GoronCave_StairsToCave5 + .4byte sub_unk3_DarkHyruleCastle_B1BelowCompass + .4byte sub_StateChange_GoronCave_Stairs5 -Entities_DarkHyruleCastle_47_0:: @ 080EDCD8 +Entities_DarkHyruleCastle_B1BeforeThrone_0:: @ 080EDCD8 entity_list_end -Entities_DarkHyruleCastle_47_1:: @ 080EDCE8 +Entities_DarkHyruleCastle_B1BeforeThrone_1:: @ 080EDCE8 object_raw subtype=0x4f, x=0x88, y=0xc0, paramA=0x21, paramB=0x2 entity_list_end -Enemies_DarkHyruleCastle_47:: @ 080EDD08 +Enemies_DarkHyruleCastle_B1BeforeThrone:: @ 080EDD08 enemy_raw subtype=0x1f, x=0x58, y=0x38, paramA=0x2, paramC=0x280028 enemy_raw subtype=0x1f, x=0xb8, y=0x38, paramA=0x2, paramC=0x280028 enemy_raw subtype=0x1f, x=0x58, y=0x98, paramA=0x2, paramC=0x280028 enemy_raw subtype=0x1f, x=0xb8, y=0x98, paramA=0x2, paramC=0x280028 entity_list_end -TileEntities_DarkHyruleCastle_47:: @ 080EDD58 +TileEntities_DarkHyruleCastle_B1BeforeThrone:: @ 080EDD58 tile_entity type=0x1, paramA=0x30 tile_entity_list_end -Room_DarkHyruleCastle_47:: @ 080EDD68 - .4byte Entities_DarkHyruleCastle_47_0 - .4byte Entities_DarkHyruleCastle_47_1 - .4byte Enemies_DarkHyruleCastle_47 - .4byte TileEntities_DarkHyruleCastle_47 +Room_DarkHyruleCastle_B1BeforeThrone:: @ 080EDD68 + .4byte Entities_DarkHyruleCastle_B1BeforeThrone_0 + .4byte Entities_DarkHyruleCastle_B1BeforeThrone_1 + .4byte Enemies_DarkHyruleCastle_B1BeforeThrone + .4byte TileEntities_DarkHyruleCastle_B1BeforeThrone .4byte 0x00000000 .4byte 0x00000000 - .4byte sub_unk3_DarkHyruleCastle_47 - .4byte sub_StateChange_GoronCave_StairsToCave6 + .4byte sub_unk3_DarkHyruleCastle_B1BeforeThrone + .4byte sub_StateChange_GoronCave_Stairs6 -Entities_DarkHyruleCastle_48_0:: @ 080EDD88 +Entities_DarkHyruleCastle_B1ToPrison_0:: @ 080EDD88 enemy_raw subtype=0x43, x=0x68, y=0x68, paramA=0x2 enemy_raw subtype=0x43, x=0x88, y=0x68, paramA=0x3 enemy_raw subtype=0x43, x=0xa8, y=0x68, paramA=0x2 entity_list_end -Entities_DarkHyruleCastle_48_1:: @ 080EDDC8 +Entities_DarkHyruleCastle_B1ToPrison_1:: @ 080EDDC8 object_raw subtype=0x4f, x=0x58, y=0x10, paramA=0x21 object_raw subtype=0x4f, x=0xb8, y=0x10, paramA=0x21 object_raw subtype=0x4f, x=0x108, y=0x88, paramA=0x21, paramB=0x5 entity_list_end -Enemies_DarkHyruleCastle_48:: @ 080EDE08 +Enemies_DarkHyruleCastle_B1ToPrison:: @ 080EDE08 enemy_raw subtype=0x9, x=0xb8, y=0x30, paramA=0x4 enemy_raw subtype=0x34, x=0x88, y=0x88 enemy_raw subtype=0x34, x=0x98, y=0x88, paramA=0x1 entity_list_end -TileEntities_DarkHyruleCastle_48:: @ 080EDE48 +TileEntities_DarkHyruleCastle_B1ToPrison:: @ 080EDE48 tile_entity type=0x4, paramA=0x66, paramB=0x2, paramC=0xe8, paramD=0x88 tile_entity type=0x1, paramA=0x31 tile_entity_list_end -Room_DarkHyruleCastle_48:: @ 080EDE60 - .4byte Entities_DarkHyruleCastle_48_0 - .4byte Entities_DarkHyruleCastle_48_1 - .4byte Enemies_DarkHyruleCastle_48 - .4byte TileEntities_DarkHyruleCastle_48 +Room_DarkHyruleCastle_B1ToPrison:: @ 080EDE60 + .4byte Entities_DarkHyruleCastle_B1ToPrison_0 + .4byte Entities_DarkHyruleCastle_B1ToPrison_1 + .4byte Enemies_DarkHyruleCastle_B1ToPrison + .4byte TileEntities_DarkHyruleCastle_B1ToPrison .4byte 0x00000000 .4byte 0x00000000 - .4byte sub_unk3_DarkHyruleCastle_48 - .4byte sub_StateChange_GoronCave_StairsToCave7 + .4byte sub_unk3_DarkHyruleCastle_B1ToPrison + .4byte sub_StateChange_GoronCave_Stairs7 -Entities_DarkHyruleCastle_49_0:: @ 080EDE80 +Entities_DarkHyruleCastle_B1BombWall_0:: @ 080EDE80 object_raw subtype=0x74, x=0x48, y=0x48, collision=2, paramC=0xffff0000 manager subtype=0x3, x=0x48, y=0x48, unknown=0x0, paramA=0x3, paramB=0x202 entity_list_end -Entities_DarkHyruleCastle_49_1:: @ 080EDEB0 +Entities_DarkHyruleCastle_B1BombWall_1:: @ 080EDEB0 object_raw subtype=0x4f, x=0x88, y=0x10, paramA=0x21 object_raw subtype=0x4f, x=0x8, y=0x88, paramA=0x21, paramB=0x5 object_raw subtype=0x4f, x=0x108, y=0x88, paramA=0x21, paramB=0x5 entity_list_end -Enemies_DarkHyruleCastle_49:: @ 080EDEF0 +Enemies_DarkHyruleCastle_B1BombWall:: @ 080EDEF0 projectile_raw subtype=0x1d, x=0x78, y=0x88, unknown=0x3 projectile_raw subtype=0x1d, x=0xd8, y=0x48, unknown=0x3 entity_list_end -TileEntities_DarkHyruleCastle_49:: @ 080EDF20 +TileEntities_DarkHyruleCastle_B1BombWall:: @ 080EDF20 tile_entity type=0x4, paramA=0x66, paramB=0x2, paramC=0x28, paramD=0x88 tile_entity type=0x4, paramA=0x67, paramB=0x2, paramC=0xe8, paramD=0x88 tile_entity type=0x1, paramA=0x32 tile_entity_list_end -Room_DarkHyruleCastle_49:: @ 080EDF40 - .4byte Entities_DarkHyruleCastle_49_0 - .4byte Entities_DarkHyruleCastle_49_1 - .4byte Enemies_DarkHyruleCastle_49 - .4byte TileEntities_DarkHyruleCastle_49 +Room_DarkHyruleCastle_B1BombWall:: @ 080EDF40 + .4byte Entities_DarkHyruleCastle_B1BombWall_0 + .4byte Entities_DarkHyruleCastle_B1BombWall_1 + .4byte Enemies_DarkHyruleCastle_B1BombWall + .4byte TileEntities_DarkHyruleCastle_B1BombWall .4byte 0x00000000 .4byte 0x00000000 - .4byte sub_unk3_DarkHyruleCastle_49 - .4byte sub_StateChange_GoronCave_StairsToCave8 + .4byte sub_unk3_DarkHyruleCastle_B1BombWall + .4byte sub_StateChange_GoronCave_Stairs8 -Entities_DarkHyruleCastle_50_0:: @ 080EDF60 +Entities_DarkHyruleCastle_B1Keatons_0:: @ 080EDF60 object_raw subtype=0x5, x=0xb8, y=0x38 object_raw subtype=0x5, x=0xc8, y=0x38 object_raw subtype=0x5, x=0x38, y=0x38 object_raw subtype=0x5, x=0x48, y=0x38 entity_list_end -Entities_DarkHyruleCastle_50_1:: @ 080EDFB0 +Entities_DarkHyruleCastle_B1Keatons_1:: @ 080EDFB0 object_raw subtype=0x4f, x=0x8, y=0x88, paramA=0x21, paramB=0x5 entity_list_end -Enemies_DarkHyruleCastle_50:: @ 080EDFD0 +Enemies_DarkHyruleCastle_B1Keatons:: @ 080EDFD0 enemy_raw subtype=0x30, x=0x48, y=0x48, paramA=0x1 enemy_raw subtype=0x30, x=0x68, y=0x48, paramA=0x1 enemy_raw subtype=0x30, x=0x88, y=0x48, paramA=0x1 @@ -15032,22 +15032,22 @@ Enemies_DarkHyruleCastle_50:: @ 080EDFD0 enemy_raw subtype=0x30, x=0xa8, y=0x68, paramA=0x1 entity_list_end -TileEntities_DarkHyruleCastle_50:: @ 080EE060 +TileEntities_DarkHyruleCastle_B1Keatons:: @ 080EE060 tile_entity type=0x4, paramA=0x67, paramB=0x2, paramC=0x28, paramD=0x88 tile_entity type=0x1, paramA=0x33 tile_entity_list_end -Room_DarkHyruleCastle_50:: @ 080EE078 - .4byte Entities_DarkHyruleCastle_50_0 - .4byte Entities_DarkHyruleCastle_50_1 - .4byte Enemies_DarkHyruleCastle_50 - .4byte TileEntities_DarkHyruleCastle_50 +Room_DarkHyruleCastle_B1Keatons:: @ 080EE078 + .4byte Entities_DarkHyruleCastle_B1Keatons_0 + .4byte Entities_DarkHyruleCastle_B1Keatons_1 + .4byte Enemies_DarkHyruleCastle_B1Keatons + .4byte TileEntities_DarkHyruleCastle_B1Keatons .4byte 0x00000000 .4byte 0x00000000 - .4byte sub_unk3_DarkHyruleCastle_50 - .4byte sub_StateChange_GoronCave_StairsToCave9 + .4byte sub_unk3_DarkHyruleCastle_B1Keatons + .4byte sub_StateChange_GoronCave_Stairs9 -Entities_DarkHyruleCastle_51_0:: @ 080EE098 +Entities_DarkHyruleCastle_B1ToPrisonFirebar_0:: @ 080EE098 object_raw subtype=0x98, x=0xa8, y=0x78, unknown=0x3, paramB=0x602 object_raw subtype=0x98, x=0xa8, y=0x78, unknown=0x3, paramB=0x20602 object_raw subtype=0x98, x=0xa8, y=0x78, unknown=0x3, paramB=0x10602 @@ -15059,24 +15059,24 @@ Entities_DarkHyruleCastle_51_0:: @ 080EE098 manager subtype=0x1a, unknown=0x8, paramA=0x36 entity_list_end -Enemies_DarkHyruleCastle_51:: @ 080EE138 +Enemies_DarkHyruleCastle_B1ToPrisonFirebar:: @ 080EE138 entity_list_end -TileEntities_DarkHyruleCastle_51:: @ 080EE148 +TileEntities_DarkHyruleCastle_B1ToPrisonFirebar:: @ 080EE148 tile_entity type=0x1, paramA=0x34 tile_entity_list_end -Room_DarkHyruleCastle_51:: @ 080EE158 - .4byte Entities_DarkHyruleCastle_51_0 +Room_DarkHyruleCastle_B1ToPrisonFirebar:: @ 080EE158 + .4byte Entities_DarkHyruleCastle_B1ToPrisonFirebar_0 .4byte 0x00000000 - .4byte Enemies_DarkHyruleCastle_51 - .4byte TileEntities_DarkHyruleCastle_51 + .4byte Enemies_DarkHyruleCastle_B1ToPrisonFirebar + .4byte TileEntities_DarkHyruleCastle_B1ToPrisonFirebar .4byte 0x00000000 .4byte 0x00000000 - .4byte sub_unk3_DarkHyruleCastle_51 + .4byte sub_unk3_DarkHyruleCastle_B1ToPrisonFirebar .4byte sub_StateChange_Ruins_Beanstalk0 -Entities_DarkHyruleCastle_52_0:: @ 080EE178 +Entities_DarkHyruleCastle_B1Cannons_0:: @ 080EE178 manager subtype=0x2b, paramA=0x8, paramC=0x680000 manager subtype=0x35, x=0x88, y=0x30, paramB=0x3c1e00, paramC=0x680069 object_raw subtype=0x33, x=0x68, y=0x38, paramA=0x5, paramC=0x690000 @@ -15089,42 +15089,42 @@ Entities_DarkHyruleCastle_52_0:: @ 080EE178 enemy_raw subtype=0x43, x=0x98, y=0x108, paramA=0x2 entity_list_end -Enemies_DarkHyruleCastle_52:: @ 080EE228 +Enemies_DarkHyruleCastle_B1Cannons:: @ 080EE228 entity_list_end -TileEntities_DarkHyruleCastle_52:: @ 080EE238 +TileEntities_DarkHyruleCastle_B1Cannons:: @ 080EE238 tile_entity type=0x1, paramA=0x35 tile_entity_list_end -gUnk_additional_8_DarkHyruleCastle_52:: @ 080EE248 - .incbin "data_080D5360/gUnk_additional_8_DarkHyruleCastle_52.bin" +gUnk_additional_8_DarkHyruleCastle_B1Cannons:: @ 080EE248 + .incbin "data_080D5360/gUnk_additional_8_DarkHyruleCastle_B1Cannons.bin" -Room_DarkHyruleCastle_52:: @ 080EE260 - .4byte Entities_DarkHyruleCastle_52_0 +Room_DarkHyruleCastle_B1Cannons:: @ 080EE260 + .4byte Entities_DarkHyruleCastle_B1Cannons_0 .4byte 0x00000000 - .4byte Enemies_DarkHyruleCastle_52 - .4byte TileEntities_DarkHyruleCastle_52 + .4byte Enemies_DarkHyruleCastle_B1Cannons + .4byte TileEntities_DarkHyruleCastle_B1Cannons .4byte 0x00000000 .4byte 0x00000000 - .4byte sub_unk3_DarkHyruleCastle_52 + .4byte sub_unk3_DarkHyruleCastle_B1Cannons .4byte sub_StateChange_Ruins_Beanstalk1 - .4byte gUnk_additional_8_DarkHyruleCastle_52 + .4byte gUnk_additional_8_DarkHyruleCastle_B1Cannons -Entities_DarkHyruleCastle_53_0:: @ 080EE284 +Entities_DarkHyruleCastle_B1Left_0:: @ 080EE284 object_raw subtype=0x8, x=0x58, y=0xa8, paramA=0xa, paramC=0x6affff entity_list_end -Entities_DarkHyruleCastle_53_1:: @ 080EE2A4 +Entities_DarkHyruleCastle_B1Left_1:: @ 080EE2A4 object_raw subtype=0x4f, x=0x58, y=0xc0, paramA=0x21, paramB=0x2 object_raw subtype=0x4f, x=0x10, y=0x48, paramA=0x21, paramB=0x3 entity_list_end -Enemies_DarkHyruleCastle_53:: @ 080EE2D4 +Enemies_DarkHyruleCastle_B1Left:: @ 080EE2D4 enemy_raw subtype=0x9, x=0x30, y=0x48, paramA=0x7 enemy_raw subtype=0x15, x=0x58, y=0x48, paramA=0x1 entity_list_end -TileEntities_DarkHyruleCastle_53:: @ 080EE304 +TileEntities_DarkHyruleCastle_B1Left:: @ 080EE304 tile_entity type=0x1, paramA=0x36 tile_entity_list_end @@ -15134,45 +15134,45 @@ gUnk_080EE314:: @ 080EE314 object_raw subtype=0x6a, x=0x78, y=0x8, collision=2, paramA=0x5, paramB=0x102 entity_list_end -Room_DarkHyruleCastle_53:: @ 080EE354 - .4byte Entities_DarkHyruleCastle_53_0 - .4byte Entities_DarkHyruleCastle_53_1 - .4byte Enemies_DarkHyruleCastle_53 - .4byte TileEntities_DarkHyruleCastle_53 +Room_DarkHyruleCastle_B1Left:: @ 080EE354 + .4byte Entities_DarkHyruleCastle_B1Left_0 + .4byte Entities_DarkHyruleCastle_B1Left_1 + .4byte Enemies_DarkHyruleCastle_B1Left + .4byte TileEntities_DarkHyruleCastle_B1Left .4byte 0x00000000 .4byte 0x00000000 - .4byte sub_unk3_DarkHyruleCastle_53 - .4byte sub_StateChange_DarkHyruleCastle_53 + .4byte sub_unk3_DarkHyruleCastle_B1Left + .4byte sub_StateChange_DarkHyruleCastle_B1Left -Entities_DarkHyruleCastle_54_0:: @ 080EE374 +Entities_DarkHyruleCastle_B1Right_0:: @ 080EE374 entity_list_end -Entities_DarkHyruleCastle_54_1:: @ 080EE384 +Entities_DarkHyruleCastle_B1Right_1:: @ 080EE384 object_raw subtype=0x4f, x=0xb8, y=0xc0, paramA=0x21, paramB=0x2 entity_list_end -Enemies_DarkHyruleCastle_54:: @ 080EE3A4 +Enemies_DarkHyruleCastle_B1Right:: @ 080EE3A4 enemy_raw subtype=0x8, x=0xf8, y=0x28, paramB=0x101e0000, paramC=0x200010 enemy_raw subtype=0x8, x=0xf8, y=0x48, paramB=0x101e0000, paramC=0x200010 enemy_raw subtype=0x8, x=0xf8, y=0x68, paramB=0x101e0000, paramC=0x200010 enemy_raw subtype=0x8, x=0xf8, y=0x88, paramB=0x101e0000, paramC=0x200010 entity_list_end -TileEntities_DarkHyruleCastle_54:: @ 080EE3F4 +TileEntities_DarkHyruleCastle_B1Right:: @ 080EE3F4 tile_entity type=0x1, paramA=0x37 tile_entity_list_end -Room_DarkHyruleCastle_54:: @ 080EE404 - .4byte Entities_DarkHyruleCastle_54_0 - .4byte Entities_DarkHyruleCastle_54_1 - .4byte Enemies_DarkHyruleCastle_54 - .4byte TileEntities_DarkHyruleCastle_54 +Room_DarkHyruleCastle_B1Right:: @ 080EE404 + .4byte Entities_DarkHyruleCastle_B1Right_0 + .4byte Entities_DarkHyruleCastle_B1Right_1 + .4byte Enemies_DarkHyruleCastle_B1Right + .4byte TileEntities_DarkHyruleCastle_B1Right .4byte 0x00000000 .4byte 0x00000000 - .4byte sub_unk3_DarkHyruleCastle_54 + .4byte sub_unk3_DarkHyruleCastle_B1Right .4byte sub_StateChange_Ruins_Beanstalk2 -Entities_DarkHyruleCastle_55_0:: @ 080EE424 +Entities_DarkHyruleCastle_B1Map_0:: @ 080EE424 object_raw subtype=0x5, x=0x168, y=0x38, paramA=0x60 object_raw subtype=0x5, x=0x168, y=0x48, paramA=0x60 object_raw subtype=0x5, x=0x168, y=0x58, paramA=0x5e @@ -15182,14 +15182,14 @@ Entities_DarkHyruleCastle_55_0:: @ 080EE424 object_raw subtype=0xc, x=0x198, y=0x98, paramA=0x4, paramB=0x6b entity_list_end -Entities_DarkHyruleCastle_55_1:: @ 080EE4A4 +Entities_DarkHyruleCastle_B1Map_1:: @ 080EE4A4 object_raw subtype=0x4f, x=0x58, y=0x10, paramA=0x21 object_raw subtype=0x4f, x=0x108, y=0xc0, paramA=0x21 object_raw subtype=0x4f, x=0x228, y=0xc0, paramA=0x21 object_raw subtype=0x4f, x=0x2d8, y=0x10, paramA=0x21 entity_list_end -Enemies_DarkHyruleCastle_55:: @ 080EE4F4 +Enemies_DarkHyruleCastle_B1Map:: @ 080EE4F4 enemy_raw subtype=0x27, x=0x38, y=0x58, paramB=0x8100000, paramC=0x300030 enemy_raw subtype=0x27, x=0xa8, y=0x58, paramB=0x8100000, paramC=0x300030 enemy_raw subtype=0x27, x=0x88, y=0x108, paramB=0x8180000, paramC=0xe00070 @@ -15204,7 +15204,7 @@ Enemies_DarkHyruleCastle_55:: @ 080EE4F4 enemy_raw subtype=0x42, x=0x298, y=0xa8 entity_list_end -TileEntities_DarkHyruleCastle_55:: @ 080EE5C4 +TileEntities_DarkHyruleCastle_B1Map:: @ 080EE5C4 tile_entity type=0x3, paramA=0x6b, paramB=0x50, paramC=0x198, paramD=0x98 tile_entity type=0x1, paramA=0x38 tile_entity_list_end @@ -15215,37 +15215,37 @@ gUnk_080EE5DC:: @ 080EE5DC object_raw subtype=0x6a, x=0x128, y=0x130, collision=2, paramA=0x5, paramB=0x102 entity_list_end -Room_DarkHyruleCastle_55:: @ 080EE61C - .4byte Entities_DarkHyruleCastle_55_0 - .4byte Entities_DarkHyruleCastle_55_1 - .4byte Enemies_DarkHyruleCastle_55 - .4byte TileEntities_DarkHyruleCastle_55 +Room_DarkHyruleCastle_B1Map:: @ 080EE61C + .4byte Entities_DarkHyruleCastle_B1Map_0 + .4byte Entities_DarkHyruleCastle_B1Map_1 + .4byte Enemies_DarkHyruleCastle_B1Map + .4byte TileEntities_DarkHyruleCastle_B1Map .4byte 0x00000000 .4byte 0x00000000 - .4byte sub_unk3_DarkHyruleCastle_55 - .4byte sub_StateChange_DarkHyruleCastle_55 + .4byte sub_unk3_DarkHyruleCastle_B1Map + .4byte sub_StateChange_DarkHyruleCastle_B1Map -Entities_DarkHyruleCastle_56_0:: @ 080EE63C +Entities_DarkHyruleCastle_B2ToPrison_0:: @ 080EE63C entity_list_end -Enemies_DarkHyruleCastle_56:: @ 080EE64C +Enemies_DarkHyruleCastle_B2ToPrison:: @ 080EE64C entity_list_end -TileEntities_DarkHyruleCastle_56:: @ 080EE65C +TileEntities_DarkHyruleCastle_B2ToPrison:: @ 080EE65C tile_entity type=0x1, paramA=0x39 tile_entity_list_end -Room_DarkHyruleCastle_56:: @ 080EE66C - .4byte Entities_DarkHyruleCastle_56_0 +Room_DarkHyruleCastle_B2ToPrison:: @ 080EE66C + .4byte Entities_DarkHyruleCastle_B2ToPrison_0 .4byte 0x00000000 - .4byte Enemies_DarkHyruleCastle_56 - .4byte TileEntities_DarkHyruleCastle_56 + .4byte Enemies_DarkHyruleCastle_B2ToPrison + .4byte TileEntities_DarkHyruleCastle_B2ToPrison .4byte 0x00000000 .4byte 0x00000000 - .4byte sub_unk3_DarkHyruleCastle_56 + .4byte sub_unk3_DarkHyruleCastle_B2ToPrison .4byte sub_StateChange_Ruins_Beanstalk3 -Entities_DarkHyruleCastle_57_0:: @ 080EE68C +Entities_DarkHyruleCastle_B2Prison_0:: @ 080EE68C object_raw subtype=0x74, x=0x88, y=0x38, collision=1, paramC=0xffff0000 manager subtype=0x3, x=0x88, y=0x38, unknown=0x0, paramA=0x3, paramB=0x103 object_raw subtype=0x3, x=0xa8, y=0x28, paramC=0x6d0001 @@ -15262,10 +15262,10 @@ gUnk_080EE71C:: @ 080EE71C npc_raw subtype=0x15, x=0x168, y=0x88, paramB=0x25, script=script_GuardCellRight entity_list_end -Enemies_DarkHyruleCastle_57:: @ 080EE75C +Enemies_DarkHyruleCastle_B2Prison:: @ 080EE75C entity_list_end -TileEntities_DarkHyruleCastle_57:: @ 080EE76C +TileEntities_DarkHyruleCastle_B2Prison:: @ 080EE76C tile_entity type=0x1, paramA=0x3a tile_entity_list_end@ unaccounted bytes .byte 255 @@ -15286,35 +15286,35 @@ TileEntities_DarkHyruleCastle_57:: @ 080EE76C .byte 0 -Room_DarkHyruleCastle_57:: @ 080EE78C - .4byte Entities_DarkHyruleCastle_57_0 +Room_DarkHyruleCastle_B2Prison:: @ 080EE78C + .4byte Entities_DarkHyruleCastle_B2Prison_0 .4byte 0x00000000 - .4byte Enemies_DarkHyruleCastle_57 - .4byte TileEntities_DarkHyruleCastle_57 + .4byte Enemies_DarkHyruleCastle_B2Prison + .4byte TileEntities_DarkHyruleCastle_B2Prison .4byte 0x00000000 .4byte 0x00000000 - .4byte sub_unk3_DarkHyruleCastle_57 - .4byte sub_StateChange_DarkHyruleCastle_57 + .4byte sub_unk3_DarkHyruleCastle_B2Prison + .4byte sub_StateChange_DarkHyruleCastle_B2Prison -Entities_DarkHyruleCastle_58_0:: @ 080EE7AC +Entities_DarkHyruleCastle_B2Dropdown_0:: @ 080EE7AC entity_list_end -Enemies_DarkHyruleCastle_58:: @ 080EE7BC +Enemies_DarkHyruleCastle_B2Dropdown:: @ 080EE7BC enemy_raw subtype=0x1c, x=0x48, y=0x58, paramB=0x810 entity_list_end -TileEntities_DarkHyruleCastle_58:: @ 080EE7DC +TileEntities_DarkHyruleCastle_B2Dropdown:: @ 080EE7DC tile_entity type=0x1, paramA=0x3b tile_entity_list_end -Room_DarkHyruleCastle_58:: @ 080EE7EC - .4byte Entities_DarkHyruleCastle_58_0 +Room_DarkHyruleCastle_B2Dropdown:: @ 080EE7EC + .4byte Entities_DarkHyruleCastle_B2Dropdown_0 .4byte 0x00000000 - .4byte Enemies_DarkHyruleCastle_58 - .4byte TileEntities_DarkHyruleCastle_58 + .4byte Enemies_DarkHyruleCastle_B2Dropdown + .4byte TileEntities_DarkHyruleCastle_B2Dropdown .4byte 0x00000000 .4byte 0x00000000 - .4byte sub_unk3_DarkHyruleCastle_58 + .4byte sub_unk3_DarkHyruleCastle_B2Dropdown .4byte sub_StateChange_Ruins_Beanstalk4 Entities_HyruleTown_0_0:: @ 080EE80C @@ -17334,7 +17334,7 @@ Room_HouseInteriors2_Dampe:: @ 080F307C .4byte sub_unk3_HouseInteriors2_Dampe .4byte sub_StateChange_HouseInteriors2_Dampe -Entities_HouseInteriors2_Stockwell_0:: @ 080F309C +Entities_HouseInteriors2_StockwellLakeHouse_0:: @ 080F309C manager subtype=0x26, paramA=0x8, paramB=0xff npc_raw subtype=0x35, x=0x68, y=0x48, script=script_ShopwellsDog entity_list_end @@ -17343,7 +17343,7 @@ gUnk_080F30CC:: @ 080F30CC object_raw subtype=0x6a, x=0x98, y=0x58, paramA=0x6 entity_list_end -Entities_HouseInteriors2_Stockwell_1:: @ 080F30EC +Entities_HouseInteriors2_StockwellLakeHouse_1:: @ 080F30EC object_raw subtype=0x4f, x=0x78, y=0x98, paramA=0x20, paramB=0x2 object_raw subtype=0x4d, x=0x4c, y=0x28, collision=1, paramA=0x3 object_raw subtype=0x4d, x=0x78, y=0x28, collision=1, paramA=0x1 @@ -17351,25 +17351,25 @@ Entities_HouseInteriors2_Stockwell_1:: @ 080F30EC object_raw subtype=0x38, x=0xc0, y=0x3e, unknown=0x0, paramA=0x45 entity_list_end -Enemies_HouseInteriors2_Stockwell:: @ 080F314C +Enemies_HouseInteriors2_StockwellLakeHouse:: @ 080F314C entity_list_end -TileEntities_HouseInteriors2_Stockwell:: @ 080F315C +TileEntities_HouseInteriors2_StockwellLakeHouse:: @ 080F315C tile_entity_list_end -gUnk_additional_8_HouseInteriors2_Stockwell:: @ 080F3164 - .incbin "data_080D5360/gUnk_additional_8_HouseInteriors2_Stockwell.bin" +gUnk_additional_8_HouseInteriors2_StockwellLakeHouse:: @ 080F3164 + .incbin "data_080D5360/gUnk_additional_8_HouseInteriors2_StockwellLakeHouse.bin" -Room_HouseInteriors2_Stockwell:: @ 080F3174 - .4byte Entities_HouseInteriors2_Stockwell_0 - .4byte Entities_HouseInteriors2_Stockwell_1 - .4byte Enemies_HouseInteriors2_Stockwell - .4byte TileEntities_HouseInteriors2_Stockwell +Room_HouseInteriors2_StockwellLakeHouse:: @ 080F3174 + .4byte Entities_HouseInteriors2_StockwellLakeHouse_0 + .4byte Entities_HouseInteriors2_StockwellLakeHouse_1 + .4byte Enemies_HouseInteriors2_StockwellLakeHouse + .4byte TileEntities_HouseInteriors2_StockwellLakeHouse .4byte 0x00000000 .4byte 0x00000000 - .4byte sub_unk3_HouseInteriors2_Stockwell - .4byte sub_StateChange_HouseInteriors2_Stockwell - .4byte gUnk_additional_8_HouseInteriors2_Stockwell + .4byte sub_unk3_HouseInteriors2_StockwellLakeHouse + .4byte sub_StateChange_HouseInteriors2_StockwellLakeHouse + .4byte gUnk_additional_8_HouseInteriors2_StockwellLakeHouse Entities_HouseInteriors2_LinksHouseBedroom_0:: @ 080F3198 ezlo_hint x=0x4, y=0x6, rx=0x7, ry=0x1, msg=0xb52, flag=0xc9 @@ -17622,7 +17622,7 @@ Room_HouseInteriors4_FarmHouse:: @ 080F39F4 .4byte sub_StateChange_Ruins_LadderToTektites0 .4byte gUnk_additional_8_HouseInteriors4_FarmHouse -Entities_HouseInteriors4_Mayor_0:: @ 080F3A18 +Entities_HouseInteriors4_MayorLakeCabin_0:: @ 080F3A18 manager subtype=0x26, paramA=0xa, paramB=0x28ff object_raw subtype=0x73, x=0xa8, y=0x58, paramB=0xb entity_list_end @@ -17631,7 +17631,7 @@ gUnk_080F3A48:: @ 080F3A48 object_raw subtype=0x8c, x=0x78, y=0x36, collision=1, paramA=0x2, paramC=0x720000 entity_list_end -Entities_HouseInteriors4_Mayor_1:: @ 080F3A68 +Entities_HouseInteriors4_MayorLakeCabin_1:: @ 080F3A68 object_raw subtype=0x4f, x=0xb8, y=0x30, paramA=0x18 object_raw subtype=0x4f, x=0x78, y=0xb8, paramA=0x10, paramB=0x2 object_raw subtype=0x5, x=0xb8, y=0x98 @@ -17644,40 +17644,40 @@ Entities_HouseInteriors4_Mayor_1:: @ 080F3A68 object_raw subtype=0x5a, x=0x30, y=0x80, collision=1, paramA=0x2, paramB=0x1 entity_list_end -Enemies_HouseInteriors4_Mayor:: @ 080F3B18 +Enemies_HouseInteriors4_MayorLakeCabin:: @ 080F3B18 entity_list_end -TileEntities_HouseInteriors4_Mayor:: @ 080F3B28 +TileEntities_HouseInteriors4_MayorLakeCabin:: @ 080F3B28 tile_entity type=0x5, paramB=0x1d00, paramC=0x202, paramD=0x61d tile_entity type=0x5, paramB=0x1d00, paramC=0x203, paramD=0x61d tile_entity_list_end -gUnk_additional_8_HouseInteriors4_Mayor:: @ 080F3B40 +gUnk_additional_8_HouseInteriors4_MayorLakeCabin:: @ 080F3B40 exit_region_raw centerX=0xb0, centerY=0x38, halfWidth=0x10, halfHeight=0x2, exitIndex=0x9, bitfield=0x1 exit_region_list_end -gUnk_additional_9_HouseInteriors4_Mayor:: @ 080F3B50 +gUnk_additional_9_HouseInteriors4_MayorLakeCabin:: @ 080F3B50 exit_raw transition=0x1, destX=0x78, destY=0x318, destArea=0x11, destRoom=0x4, unknownA=0x1 -gUnk_additional_a_HouseInteriors4_Mayor:: @ 080F3B64 - .incbin "data_080D5360/gUnk_additional_a_HouseInteriors4_Mayor.bin" +gUnk_additional_a_HouseInteriors4_MayorLakeCabin:: @ 080F3B64 + .incbin "data_080D5360/gUnk_additional_a_HouseInteriors4_MayorLakeCabin.bin" -gUnk_additional_b_HouseInteriors4_Mayor:: @ 080F3B74 - .incbin "data_080D5360/gUnk_additional_b_HouseInteriors4_Mayor.bin" +gUnk_additional_b_HouseInteriors4_MayorLakeCabin:: @ 080F3B74 + .incbin "data_080D5360/gUnk_additional_b_HouseInteriors4_MayorLakeCabin.bin" -Room_HouseInteriors4_Mayor:: @ 080F3BC4 - .4byte Entities_HouseInteriors4_Mayor_0 - .4byte Entities_HouseInteriors4_Mayor_1 - .4byte Enemies_HouseInteriors4_Mayor - .4byte TileEntities_HouseInteriors4_Mayor +Room_HouseInteriors4_MayorLakeCabin:: @ 080F3BC4 + .4byte Entities_HouseInteriors4_MayorLakeCabin_0 + .4byte Entities_HouseInteriors4_MayorLakeCabin_1 + .4byte Enemies_HouseInteriors4_MayorLakeCabin + .4byte TileEntities_HouseInteriors4_MayorLakeCabin .4byte 0x00000000 .4byte 0x00000000 - .4byte sub_unk3_HouseInteriors4_Mayor - .4byte sub_StateChange_HouseInteriors4_Mayor - .4byte gUnk_additional_8_HouseInteriors4_Mayor - .4byte gUnk_additional_9_HouseInteriors4_Mayor - .4byte gUnk_additional_a_HouseInteriors4_Mayor - .4byte gUnk_additional_b_HouseInteriors4_Mayor + .4byte sub_unk3_HouseInteriors4_MayorLakeCabin + .4byte sub_StateChange_HouseInteriors4_MayorLakeCabin + .4byte gUnk_additional_8_HouseInteriors4_MayorLakeCabin + .4byte gUnk_additional_9_HouseInteriors4_MayorLakeCabin + .4byte gUnk_additional_a_HouseInteriors4_MayorLakeCabin + .4byte gUnk_additional_b_HouseInteriors4_MayorLakeCabin Entities_LakeHylia_Main_0:: @ 080F3BF4 manager subtype=0x4 @@ -19526,7 +19526,7 @@ Room_HyruleField_WesternWoodSouth:: @ 080F6FF0 .4byte gUnk_additional_8_HyruleField_WesternWoodSouth .4byte gUnk_additional_9_HyruleField_WesternWoodSouth -Entities_HyruleField_LinksHouseExterior_0:: @ 080F7018 +Entities_HyruleField_SouthHyruleField_0:: @ 080F7018 object_raw subtype=0x0, x=0x278, y=0x188, paramA=0x56, paramB=0x700 object_raw subtype=0x0, x=0x288, y=0x188, paramA=0x56, paramB=0x700 object_raw subtype=0x0, x=0x298, y=0x188, paramA=0x56, paramB=0x700 @@ -19548,7 +19548,7 @@ gUnk_080F70D8:: @ 080F70D8 object_raw subtype=0xbb, x=0x2c8, y=0x128, unknown=0x4f, paramB=0x6, paramC=script_Windcrest entity_list_end -Entities_HyruleField_LinksHouseExterior_1:: @ 080F70F8 +Entities_HyruleField_SouthHyruleField_1:: @ 080F70F8 object_raw subtype=0x19, x=0x290, y=0x193, collision=1, paramA=0x3, paramB=0x2 .ifdef EU_JP object_raw subtype=0x9c, x=0x58, y=0x210, paramC=0x6a0000 @@ -19560,7 +19560,7 @@ Entities_HyruleField_LinksHouseExterior_1:: @ 080F70F8 object_raw subtype=0x2d, x=0x2d0, y=0x148 entity_list_end -Enemies_HyruleField_LinksHouseExterior:: @ 080F7158 +Enemies_HyruleField_SouthHyruleField:: @ 080F7158 enemy_raw subtype=0x0, x=0x318, y=0x58, paramB=0xa280000, paramC=0x400280 enemy_raw subtype=0x0, x=0x378, y=0x88, paramB=0xa280000, paramC=0x400280 enemy_raw subtype=0x0, x=0x3a8, y=0x1b8, paramB=0xa0e0000, paramC=0x1800350 @@ -19574,7 +19574,7 @@ Enemies_HyruleField_LinksHouseExterior:: @ 080F7158 enemy_raw subtype=0x0, x=0x208, y=0x108, paramB=0x120e0000, paramC=0xa001c0 entity_list_end -TileEntities_HyruleField_LinksHouseExterior:: @ 080F7218 +TileEntities_HyruleField_SouthHyruleField:: @ 080F7218 tile_entity type=0xc, paramA=0xb .ifdef EU_JP tile_entity type=0x4, paramA=0x69, paramB=0x1, paramC=0x118, paramD=0xa8 @@ -19610,41 +19610,41 @@ TileEntities_HyruleField_LinksHouseExterior:: @ 080F7218 tile_entity type=0x5, paramB=0x700, paramC=0x15c, paramD=0x607 tile_entity_list_end -gUnk_additional_8_HyruleField_LinksHouseExterior:: @ 080F72A0 - .incbin "data_080D5360/gUnk_additional_8_HyruleField_LinksHouseExterior.bin" +gUnk_additional_8_HyruleField_SouthHyruleField:: @ 080F72A0 + .incbin "data_080D5360/gUnk_additional_8_HyruleField_SouthHyruleField.bin" -gUnk_additional_9_HyruleField_LinksHouseExterior:: @ 080F72B0 - .incbin "data_080D5360/gUnk_additional_9_HyruleField_LinksHouseExterior.bin" +gUnk_additional_9_HyruleField_SouthHyruleField:: @ 080F72B0 + .incbin "data_080D5360/gUnk_additional_9_HyruleField_SouthHyruleField.bin" -Room_HyruleField_LinksHouseExterior:: @ 080F72C4 - .4byte Entities_HyruleField_LinksHouseExterior_0 - .4byte Entities_HyruleField_LinksHouseExterior_1 - .4byte Enemies_HyruleField_LinksHouseExterior - .4byte TileEntities_HyruleField_LinksHouseExterior - .4byte sub_unk1_HyruleField_LinksHouseExterior +Room_HyruleField_SouthHyruleField:: @ 080F72C4 + .4byte Entities_HyruleField_SouthHyruleField_0 + .4byte Entities_HyruleField_SouthHyruleField_1 + .4byte Enemies_HyruleField_SouthHyruleField + .4byte TileEntities_HyruleField_SouthHyruleField + .4byte sub_unk1_HyruleField_SouthHyruleField .4byte 0x00000000 - .4byte sub_unk3_HyruleField_LinksHouseExterior - .4byte sub_StateChange_HyruleField_LinksHouseExterior - .4byte gUnk_additional_8_HyruleField_LinksHouseExterior - .4byte gUnk_additional_9_HyruleField_LinksHouseExterior + .4byte sub_unk3_HyruleField_SouthHyruleField + .4byte sub_StateChange_HyruleField_SouthHyruleField + .4byte gUnk_additional_8_HyruleField_SouthHyruleField + .4byte gUnk_additional_9_HyruleField_SouthHyruleField -Entities_HyruleField_FromMinishWoods_0:: @ 080F72EC +Entities_HyruleField_EasternHillsSouth_0:: @ 080F72EC object_raw subtype=0x32, x=0xb8, y=0xa8 object_raw subtype=0x32, x=0x138, y=0x98 entity_list_end -Entities_HyruleField_FromMinishWoods_1:: @ 080F731C +Entities_HyruleField_EasternHillsSouth_1:: @ 080F731C manager subtype=0x3, x=0x48, y=0x80, unknown=0x0, paramB=0x102 manager subtype=0x18 entity_list_end -Enemies_HyruleField_FromMinishWoods:: @ 080F734C +Enemies_HyruleField_EasternHillsSouth:: @ 080F734C enemy_raw subtype=0x35, x=0x188, y=0x58, paramB=0xb0d0000, paramC=0x480148 enemy_raw subtype=0x35, x=0x128, y=0x28, paramB=0x70f0000, paramC=0x180128 manager subtype=0x28, unknown=0x3, paramB=0x2 entity_list_end -TileEntities_HyruleField_FromMinishWoods:: @ 080F738C +TileEntities_HyruleField_EasternHillsSouth:: @ 080F738C tile_entity type=0xc, paramA=0xf .ifdef EU_JP tile_entity type=0xa, paramA=0x1, paramB=0x6c, paramC=0x149, paramD=0x1d @@ -19655,20 +19655,20 @@ TileEntities_HyruleField_FromMinishWoods:: @ 080F738C .endif tile_entity_list_end -Room_HyruleField_FromMinishWoods:: @ 080F73AC - .4byte Entities_HyruleField_FromMinishWoods_0 - .4byte Entities_HyruleField_FromMinishWoods_1 - .4byte Enemies_HyruleField_FromMinishWoods - .4byte TileEntities_HyruleField_FromMinishWoods +Room_HyruleField_EasternHillsSouth:: @ 080F73AC + .4byte Entities_HyruleField_EasternHillsSouth_0 + .4byte Entities_HyruleField_EasternHillsSouth_1 + .4byte Enemies_HyruleField_EasternHillsSouth + .4byte TileEntities_HyruleField_EasternHillsSouth .4byte 0x00000000 .4byte 0x00000000 - .4byte sub_unk3_HyruleField_FromMinishWoods - .4byte sub_StateChange_HyruleField_FromMinishWoods + .4byte sub_unk3_HyruleField_EasternHillsSouth + .4byte sub_StateChange_HyruleField_EasternHillsSouth -Entities_HyruleField_FromMinishWoodsNorth_0:: @ 080F73CC +Entities_HyruleField_EasternHillsCenter_0:: @ 080F73CC entity_list_end -Entities_HyruleField_FromMinishWoodsNorth_1:: @ 080F73DC +Entities_HyruleField_EasternHillsCenter_1:: @ 080F73DC .ifdef EU_JP object_raw subtype=0x2c, x=0x48, y=0x38, paramA=0x7, paramB=0xb000 .else @@ -19678,7 +19678,7 @@ Entities_HyruleField_FromMinishWoodsNorth_1:: @ 080F73DC manager subtype=0x6, paramA=0x8 entity_list_end -Enemies_HyruleField_FromMinishWoodsNorth:: @ 080F741C +Enemies_HyruleField_EasternHillsCenter:: @ 080F741C enemy_raw subtype=0x35, x=0x28, y=0xb8, paramB=0x4140000, paramC=0xa00020 enemy_raw subtype=0x35, x=0x198, y=0xb8, paramB=0x6100000, paramC=0xa00130 enemy_raw subtype=0x35, x=0x178, y=0x58, paramB=0xa160000, paramC=0x2000d0 @@ -19687,7 +19687,7 @@ Enemies_HyruleField_FromMinishWoodsNorth:: @ 080F741C enemy_raw subtype=0x3, x=0x128, y=0x58, paramB=0xa260000, paramC=0x200060 entity_list_end -TileEntities_HyruleField_FromMinishWoodsNorth:: @ 080F748C +TileEntities_HyruleField_EasternHillsCenter:: @ 080F748C tile_entity type=0xc, paramA=0xf .ifdef EU_JP tile_entity type=0x4, paramA=0x6e, paramB=0x1, paramC=0xa8, paramD=0x98 @@ -19696,33 +19696,33 @@ TileEntities_HyruleField_FromMinishWoodsNorth:: @ 080F748C .endif tile_entity_list_end -gUnk_additional_8_HyruleField_FromMinishWoodsNorth:: @ 080F74A4 +gUnk_additional_8_HyruleField_EasternHillsCenter:: @ 080F74A4 exit_region_raw centerX=0x48, centerY=0xc, halfWidth=0x8, halfHeight=0x4, exitIndex=0x9, bitfield=0x11 exit_region_list_end -gUnk_additional_9_HyruleField_FromMinishWoodsNorth:: @ 080F74B4 +gUnk_additional_9_HyruleField_EasternHillsCenter:: @ 080F74B4 exit_raw transition=0x1, destX=0x78, destY=0x98, destArea=0xd, destRoom=0x13, unknownA=0x1 -Room_HyruleField_FromMinishWoodsNorth:: @ 080F74C8 - .4byte Entities_HyruleField_FromMinishWoodsNorth_0 - .4byte Entities_HyruleField_FromMinishWoodsNorth_1 - .4byte Enemies_HyruleField_FromMinishWoodsNorth - .4byte TileEntities_HyruleField_FromMinishWoodsNorth +Room_HyruleField_EasternHillsCenter:: @ 080F74C8 + .4byte Entities_HyruleField_EasternHillsCenter_0 + .4byte Entities_HyruleField_EasternHillsCenter_1 + .4byte Enemies_HyruleField_EasternHillsCenter + .4byte TileEntities_HyruleField_EasternHillsCenter .4byte 0x00000000 .4byte 0x00000000 - .4byte sub_unk3_HyruleField_FromMinishWoodsNorth - .4byte sub_StateChange_HyruleField_FromMinishWoodsNorth - .4byte gUnk_additional_8_HyruleField_FromMinishWoodsNorth - .4byte gUnk_additional_9_HyruleField_FromMinishWoodsNorth + .4byte sub_unk3_HyruleField_EasternHillsCenter + .4byte sub_StateChange_HyruleField_EasternHillsCenter + .4byte gUnk_additional_8_HyruleField_EasternHillsCenter + .4byte gUnk_additional_9_HyruleField_EasternHillsCenter -Entities_HyruleField_Farmers_0:: @ 080F74F0 +Entities_HyruleField_EasternHillsNorth_0:: @ 080F74F0 entity_list_end gUnk_080F7500:: @ 080F7500 manager subtype=0x16, paramA=0x8 entity_list_end -gUnk_additional_8_HyruleField_Farmers:: @ 080F7520 +gUnk_additional_8_HyruleField_EasternHillsNorth:: @ 080F7520 delayed_entity_raw subtype=0x3e, x=0xb8, y=0xe8, layer=1, paramC=script_Farmer, conditions=0xffff delayed_entity_raw subtype=0x3e, x=0x68, y=0x128, layer=1, paramA=0x1, paramC=script_Farmer, paramD=0x1, conditions=0xffff entity_list_end @@ -19731,7 +19731,7 @@ gUnk_080F7550:: @ 080F7550 manager subtype=0x16, paramA=0x9, paramB=0x3 entity_list_end -gUnk_additional_9_HyruleField_Farmers:: @ 080F7570 +gUnk_additional_9_HyruleField_EasternHillsNorth:: @ 080F7570 delayed_entity_raw subtype=0x29, x=0x148, y=0xf0, layer=1, paramC=script_MutohOutsideTown, conditions=0xffff delayed_entity_raw subtype=0x2a, x=0x128, y=0xd0, layer=1, paramC=script_CarpenterOutsideTown, conditions=0xffff delayed_entity_raw subtype=0x2a, x=0x1a8, y=0x100, layer=1, paramA=0x1, paramC=script_CarpenterOutsideTown, conditions=0xffff @@ -19739,13 +19739,13 @@ gUnk_additional_9_HyruleField_Farmers:: @ 080F7570 delayed_entity_raw subtype=0x2a, x=0x148, y=0x88, layer=1, paramA=0x3, paramC=script_CarpenterOutsideTown, conditions=0xffff entity_list_end -Entities_HyruleField_Farmers_1:: @ 080F75D0 +Entities_HyruleField_EasternHillsNorth_1:: @ 080F75D0 manager subtype=0x4 manager subtype=0x18 object_raw subtype=0x19, x=0x40, y=0x52, collision=1, paramA=0x4, paramB=0x2 entity_list_end -Enemies_HyruleField_Farmers:: @ 080F7610 +Enemies_HyruleField_EasternHillsNorth:: @ 080F7610 enemy_raw subtype=0x0, x=0x178, y=0xe8, paramB=0x6160000, paramC=0xc000f0 enemy_raw subtype=0x0, x=0x118, y=0xf8, paramB=0x6160000, paramC=0xc000f0 enemy_raw subtype=0x2e, x=0x138, y=0x158, paramB=0x16060000, paramC=0x1200120 @@ -19757,7 +19757,7 @@ Enemies_HyruleField_Farmers:: @ 080F7610 gUnk_080F7680:: @ 080F7680 .incbin "data_080D5360/gUnk_080F7680.bin" -TileEntities_HyruleField_Farmers:: @ 080F76C0 +TileEntities_HyruleField_EasternHillsNorth:: @ 080F76C0 tile_entity type=0xc, paramA=0xf .ifdef EU_JP tile_entity type=0xa, paramA=0x1, paramB=0x6f, paramC=0x6d0, paramD=0x1d @@ -19773,17 +19773,17 @@ TileEntities_HyruleField_Farmers:: @ 080F76C0 tile_entity type=0x5, paramB=0x200, paramC=0x617, paramD=0x602 tile_entity_list_end -Room_HyruleField_Farmers:: @ 080F76F8 - .4byte Entities_HyruleField_Farmers_0 - .4byte Entities_HyruleField_Farmers_1 - .4byte Enemies_HyruleField_Farmers - .4byte TileEntities_HyruleField_Farmers +Room_HyruleField_EasternHillsNorth:: @ 080F76F8 + .4byte Entities_HyruleField_EasternHillsNorth_0 + .4byte Entities_HyruleField_EasternHillsNorth_1 + .4byte Enemies_HyruleField_EasternHillsNorth + .4byte TileEntities_HyruleField_EasternHillsNorth .4byte 0x00000000 .4byte 0x00000000 - .4byte sub_unk3_HyruleField_Farmers - .4byte sub_StateChange_HyruleField_Farmers - .4byte gUnk_additional_8_HyruleField_Farmers - .4byte gUnk_additional_9_HyruleField_Farmers + .4byte sub_unk3_HyruleField_EasternHillsNorth + .4byte sub_StateChange_HyruleField_EasternHillsNorth + .4byte gUnk_additional_8_HyruleField_EasternHillsNorth + .4byte gUnk_additional_9_HyruleField_EasternHillsNorth Entities_HyruleField_LonLonRanch_0:: @ 080F7720 manager subtype=0x16, paramA=0xb @@ -20125,7 +20125,7 @@ Entities_HyruleField_OutsideCastle_1West:: @ 080F808C entity_list_end .endif -Enemies_HyruleField_OutsideCastleWest:: @ 080F80EC +Enemies_HyruleField_TrilbyHighlands:: @ 080F80EC enemy_raw subtype=0x0, x=0x168, y=0x78, paramB=0x80c0000, paramC=0x400130 enemy_raw subtype=0x30, x=0x178, y=0x208, paramB=0x10120000, paramC=0x1900120 enemy_raw subtype=0x0, x=0xd8, y=0x148, paramB=0x4160000, paramC=0x1400080 @@ -20138,7 +20138,7 @@ Enemies_HyruleField_OutsideCastleWest:: @ 080F80EC enemy_raw subtype=0x65, x=0x160, y=0x250, paramA=0x2 entity_list_end -TileEntities_HyruleField_OutsideCastleWest:: @ 080F819C +TileEntities_HyruleField_TrilbyHighlands:: @ 080F819C .ifdef EU_JP tile_entity type=0xc, paramA=0x6 tile_entity type=0x4, paramA=0x8e, paramB=0x1, paramC=0x88, paramD=0x228 @@ -20153,26 +20153,26 @@ TileEntities_HyruleField_OutsideCastleWest:: @ 080F819C tile_entity_list_end .endif -gUnk_additional_8_HyruleField_OutsideCastleWest:: @ 080F81C4 +gUnk_additional_8_HyruleField_TrilbyHighlands:: @ 080F81C4 exit_region_raw centerX=0x28, centerY=0x52, halfWidth=0x4, halfHeight=0x2, exitIndex=0x9, bitfield=0x1 exit_region_list_end -gUnk_additional_9_HyruleField_OutsideCastleWest:: @ 080F81D4 +gUnk_additional_9_HyruleField_TrilbyHighlands:: @ 080F81D4 exit_raw transition=0x1, destX=0x78, destY=0x78, destArea=0x20, destRoom=0x22, unknownA=0x1 -Room_HyruleField_OutsideCastleWest:: @ 080F81E8 +Room_HyruleField_TrilbyHighlands:: @ 080F81E8 .4byte Entities_HyruleField_OutsideCastle_0West .4byte Entities_HyruleField_OutsideCastle_1West - .4byte Enemies_HyruleField_OutsideCastleWest - .4byte TileEntities_HyruleField_OutsideCastleWest + .4byte Enemies_HyruleField_TrilbyHighlands + .4byte TileEntities_HyruleField_TrilbyHighlands .4byte 0x00000000 .4byte 0x00000000 - .4byte sub_unk3_HyruleField_OutsideCastleWest - .4byte sub_StateChange_HyruleField_OutsideCastleWest - .4byte gUnk_additional_8_HyruleField_OutsideCastleWest - .4byte gUnk_additional_9_HyruleField_OutsideCastleWest + .4byte sub_unk3_HyruleField_TrilbyHighlands + .4byte sub_StateChange_HyruleField_TrilbyHighlands + .4byte gUnk_additional_8_HyruleField_TrilbyHighlands + .4byte gUnk_additional_9_HyruleField_TrilbyHighlands -Entities_HyruleField_TrilbyHighlands_0:: @ 080F8210 +Entities_HyruleField_WesternWoodsNorth_0:: @ 080F8210 .ifdef EU_JP manager subtype=0x20, x=0x198, y=0x1a8, paramB=0x11a82e00, paramC=0x9211a8 object_raw subtype=0x0, x=0xb8, y=0x28, collision=1, paramA=0x57, paramB=0x700, paramC=0x930000 @@ -20205,11 +20205,11 @@ gUnk_080F82E0:: @ 080F82E0 object_raw subtype=0x69, unknown=0x4f, paramC=script_Object69Takeover entity_list_end -Entities_HyruleField_TrilbyHighlands_1:: @ 080F8300 +Entities_HyruleField_WesternWoodsNorth_1:: @ 080F8300 manager subtype=0x18 entity_list_end -Enemies_HyruleField_TrilbyHighlands:: @ 080F8320 +Enemies_HyruleField_WesternWoodsNorth:: @ 080F8320 enemy_raw subtype=0x31, x=0x118, y=0x78, paramB=0x20300000, paramC=0x600060 enemy_raw subtype=0x31, x=0x118, y=0xb8, paramB=0x20300000, paramC=0x600060 enemy_raw subtype=0x31, x=0x198, y=0x168, paramB=0x20300000, paramC=0x600080 @@ -20223,7 +20223,7 @@ Enemies_HyruleField_TrilbyHighlands:: @ 080F8320 enemy_raw subtype=0x65, x=0x1a0, y=0x170, paramA=0x1 entity_list_end -TileEntities_HyruleField_TrilbyHighlands:: @ 080F83E0 +TileEntities_HyruleField_WesternWoodsNorth:: @ 080F83E0 .ifdef EU_JP tile_entity type=0xc, paramA=0x7 tile_entity type=0x2, paramA=0x9c, paramB=0x643f, paramC=0x3ce @@ -20236,29 +20236,29 @@ TileEntities_HyruleField_TrilbyHighlands:: @ 080F83E0 tile_entity_list_end .endif -Room_HyruleField_TrilbyHighlands:: @ 080F8400 - .4byte Entities_HyruleField_TrilbyHighlands_0 - .4byte Entities_HyruleField_TrilbyHighlands_1 - .4byte Enemies_HyruleField_TrilbyHighlands - .4byte TileEntities_HyruleField_TrilbyHighlands +Room_HyruleField_WesternWoodsNorth:: @ 080F8400 + .4byte Entities_HyruleField_WesternWoodsNorth_0 + .4byte Entities_HyruleField_WesternWoodsNorth_1 + .4byte Enemies_HyruleField_WesternWoodsNorth + .4byte TileEntities_HyruleField_WesternWoodsNorth .4byte 0x00000000 .4byte 0x00000000 - .4byte sub_unk3_HyruleField_TrilbyHighlands - .4byte sub_StateChange_HyruleField_TrilbyHighlands + .4byte sub_unk3_HyruleField_WesternWoodsNorth + .4byte sub_StateChange_HyruleField_WesternWoodsNorth -Entities_HyruleField_PercysHouse_0:: @ 080F8420 +Entities_HyruleField_WesternWoodsCenter_0:: @ 080F8420 entity_list_end gUnk_080F8430:: @ 080F8430 npc_raw subtype=0x3a, x=0x68, y=0x58, paramB=0x2, script=script_PercyOutside entity_list_end -Entities_HyruleField_PercysHouse_1:: @ 080F8450 +Entities_HyruleField_WesternWoodsCenter_1:: @ 080F8450 object_raw subtype=0x19, x=0x90, y=0x53, collision=1, paramA=0x2, paramB=0x2 manager subtype=0x18 entity_list_end -Enemies_HyruleField_PercysHouse:: @ 080F8480 +Enemies_HyruleField_WesternWoodsCenter:: @ 080F8480 .ifdef EU enemy_raw subtype=0x15, x=0x108, y=0x68, paramB=0xc180000, paramC=0x2000f0 enemy_raw subtype=0x46, x=0x1a8, y=0x78, paramB=0xc180000, paramC=0x2000f0 @@ -20269,20 +20269,20 @@ Enemies_HyruleField_PercysHouse:: @ 080F8480 entity_list_end .endif -TileEntities_HyruleField_PercysHouse:: @ 080F84B0 +TileEntities_HyruleField_WesternWoodsCenter:: @ 080F84B0 tile_entity type=0xc, paramA=0x7 tile_entity type=0x5, paramB=0x1400, paramC=0x147, paramD=0x614 tile_entity_list_end -Room_HyruleField_PercysHouse:: @ 080F84C8 - .4byte Entities_HyruleField_PercysHouse_0 - .4byte Entities_HyruleField_PercysHouse_1 - .4byte Enemies_HyruleField_PercysHouse - .4byte TileEntities_HyruleField_PercysHouse +Room_HyruleField_WesternWoodsCenter:: @ 080F84C8 + .4byte Entities_HyruleField_WesternWoodsCenter_0 + .4byte Entities_HyruleField_WesternWoodsCenter_1 + .4byte Enemies_HyruleField_WesternWoodsCenter + .4byte TileEntities_HyruleField_WesternWoodsCenter .4byte 0x00000000 .4byte 0x00000000 - .4byte sub_unk3_HyruleField_PercysHouse - .4byte sub_StateChange_HyruleField_PercysHouse + .4byte sub_unk3_HyruleField_WesternWoodsCenter + .4byte sub_StateChange_HyruleField_WesternWoodsCenter Entities_Caves_Boomerang_0:: @ 080F84E8 object_raw subtype=0x41, x=0x48, y=0x78, paramA=0x1 @@ -20458,10 +20458,10 @@ Room_Caves_6:: @ 080F88BC .4byte sub_unk3_Caves_6 .4byte sub_StateChange_Caves_6 -Entities_Caves_KeeseChest_0:: @ 080F88DC +Entities_Caves_TrilbyKeeseChest_0:: @ 080F88DC entity_list_end -Enemies_Caves_KeeseChest:: @ 080F88EC +Enemies_Caves_TrilbyKeeseChest:: @ 080F88EC enemy_raw subtype=0x8, x=0x68, y=0x38, paramB=0x6080000, paramC=0x300050 enemy_raw subtype=0x8, x=0x78, y=0x48, paramB=0x6080000, paramC=0x300050 enemy_raw subtype=0x8, x=0x88, y=0x38, paramB=0x6080000, paramC=0x300050 @@ -20470,65 +20470,65 @@ Enemies_Caves_KeeseChest:: @ 080F88EC enemy_raw subtype=0x8, x=0xb8, y=0x58 entity_list_end -TileEntities_Caves_KeeseChest:: @ 080F895C +TileEntities_Caves_TrilbyKeeseChest:: @ 080F895C tile_entity type=0x2, paramA=0xd, paramB=0x705c, paramC=0x107 tile_entity_list_end -Room_Caves_KeeseChest:: @ 080F896C - .4byte Entities_Caves_KeeseChest_0 +Room_Caves_TrilbyKeeseChest:: @ 080F896C + .4byte Entities_Caves_TrilbyKeeseChest_0 .4byte 0x00000000 - .4byte Enemies_Caves_KeeseChest - .4byte TileEntities_Caves_KeeseChest + .4byte Enemies_Caves_TrilbyKeeseChest + .4byte TileEntities_Caves_TrilbyKeeseChest .4byte 0x00000000 .4byte 0x00000000 - .4byte sub_unk3_Caves_KeeseChest - .4byte sub_StateChange_Caves_KeeseChest + .4byte sub_unk3_Caves_TrilbyKeeseChest + .4byte sub_StateChange_Caves_TrilbyKeeseChest -Entities_Caves_FairyFountainTrilbyHighlands_0:: @ 080F898C +Entities_Caves_TrilbyFairyFountain_0:: @ 080F898C object_raw subtype=0x40, x=0x58, y=0x38, paramA=0x60, paramB=0x1 object_raw subtype=0x40, x=0x88, y=0x38, paramA=0x60, paramB=0x1 object_raw subtype=0x40, x=0x78, y=0x48, paramA=0x60, paramB=0x1 entity_list_end -Enemies_Caves_FairyFountainTrilbyHighlands:: @ 080F89CC +Enemies_Caves_TrilbyFairyFountain:: @ 080F89CC entity_list_end -TileEntities_Caves_FairyFountainTrilbyHighlands:: @ 080F89DC +TileEntities_Caves_TrilbyFairyFountain:: @ 080F89DC tile_entity type=0x7, paramB=0x3a00 tile_entity_list_end -Room_Caves_FairyFountainTrilbyHighlands:: @ 080F89EC - .4byte Entities_Caves_FairyFountainTrilbyHighlands_0 +Room_Caves_TrilbyFairyFountain:: @ 080F89EC + .4byte Entities_Caves_TrilbyFairyFountain_0 .4byte 0x00000000 - .4byte Enemies_Caves_FairyFountainTrilbyHighlands - .4byte TileEntities_Caves_FairyFountainTrilbyHighlands + .4byte Enemies_Caves_TrilbyFairyFountain + .4byte TileEntities_Caves_TrilbyFairyFountain .4byte 0x00000000 .4byte 0x00000000 - .4byte sub_unk3_Caves_FairyFountainTrilbyHighlands - .4byte sub_StateChange_Caves_FairyFountainTrilbyHighlands + .4byte sub_unk3_Caves_TrilbyFairyFountain + .4byte sub_StateChange_Caves_TrilbyFairyFountain -Entities_Caves_FairyFountainLinksHouse_0:: @ 080F8A0C +Entities_Caves_SouthHyruleFieldFairyFountain_0:: @ 080F8A0C object_raw subtype=0x40, x=0x58, y=0x38, paramA=0x60, paramB=0x1 object_raw subtype=0x40, x=0x88, y=0x38, paramA=0x60, paramB=0x1 object_raw subtype=0x40, x=0x78, y=0x48, paramA=0x60, paramB=0x1 entity_list_end -Enemies_Caves_FairyFountainLinksHouse:: @ 080F8A4C +Enemies_Caves_SouthHyruleFieldFairyFountain:: @ 080F8A4C entity_list_end -TileEntities_Caves_FairyFountainLinksHouse:: @ 080F8A5C +TileEntities_Caves_SouthHyruleFieldFairyFountain:: @ 080F8A5C tile_entity type=0x7, paramB=0x3a00 tile_entity_list_end -Room_Caves_FairyFountainLinksHouse:: @ 080F8A6C - .4byte Entities_Caves_FairyFountainLinksHouse_0 +Room_Caves_SouthHyruleFieldFairyFountain:: @ 080F8A6C + .4byte Entities_Caves_SouthHyruleFieldFairyFountain_0 .4byte 0x00000000 - .4byte Enemies_Caves_FairyFountainLinksHouse - .4byte TileEntities_Caves_FairyFountainLinksHouse + .4byte Enemies_Caves_SouthHyruleFieldFairyFountain + .4byte TileEntities_Caves_SouthHyruleFieldFairyFountain .4byte 0x00000000 .4byte 0x00000000 - .4byte sub_unk3_Caves_FairyFountainLinksHouse - .4byte sub_StateChange_Caves_FairyFountainLinksHouse + .4byte sub_unk3_Caves_SouthHyruleFieldFairyFountain + .4byte sub_StateChange_Caves_SouthHyruleFieldFairyFountain Entities_Caves_A_0:: @ 080F8A8C entity_list_end @@ -20659,7 +20659,7 @@ Room_Caves_LonLonRanchWallet:: @ 080F8CD4 .4byte sub_unk3_Caves_LonLonRanchWallet .4byte sub_StateChange_Caves_LonLonRanchWallet -Entities_Caves_RupeeLinksHouse_0:: @ 080F8CF4 +Entities_Caves_SouthHyruleFieldRupee_0:: @ 080F8CF4 .ifdef EU_JP object_raw subtype=0x0, x=0x58, y=0x38, collision=1, paramA=0x55, paramB=0x400, paramC=0x150000 object_raw subtype=0x0, x=0x68, y=0x38, collision=1, paramA=0x55, paramB=0x400, paramC=0x160000 @@ -20697,23 +20697,23 @@ Entities_Caves_RupeeLinksHouse_0:: @ 080F8CF4 entity_list_end .endif -Enemies_Caves_RupeeLinksHouse:: @ 080F8E04 +Enemies_Caves_SouthHyruleFieldRupee:: @ 080F8E04 entity_list_end -TileEntities_Caves_RupeeLinksHouse:: @ 080F8E14 +TileEntities_Caves_SouthHyruleFieldRupee:: @ 080F8E14 tile_entity_list_end -Room_Caves_RupeeLinksHouse:: @ 080F8E1C - .4byte Entities_Caves_RupeeLinksHouse_0 +Room_Caves_SouthHyruleFieldRupee:: @ 080F8E1C + .4byte Entities_Caves_SouthHyruleFieldRupee_0 .4byte 0x00000000 - .4byte Enemies_Caves_RupeeLinksHouse - .4byte TileEntities_Caves_RupeeLinksHouse + .4byte Enemies_Caves_SouthHyruleFieldRupee + .4byte TileEntities_Caves_SouthHyruleFieldRupee .4byte 0x00000000 .4byte 0x00000000 - .4byte sub_unk3_Caves_RupeeLinksHouse - .4byte sub_StateChange_Caves_RupeeLinksHouse + .4byte sub_unk3_Caves_SouthHyruleFieldRupee + .4byte sub_StateChange_Caves_SouthHyruleFieldRupee -Entities_Caves_RupeeTrilbyHighlands_0:: @ 080F8E3C +Entities_Caves_TrilbyRupee_0:: @ 080F8E3C .ifdef EU_JP object_raw subtype=0x0, x=0x58, y=0x38, collision=1, paramA=0x55, paramB=0x400, paramC=0x240000 object_raw subtype=0x0, x=0x68, y=0x38, collision=1, paramA=0x55, paramB=0x400, paramC=0x250000 @@ -20751,23 +20751,23 @@ Entities_Caves_RupeeTrilbyHighlands_0:: @ 080F8E3C entity_list_end .endif -Enemies_Caves_RupeeTrilbyHighlands:: @ 080F8F4C +Enemies_Caves_TrilbyRupee:: @ 080F8F4C entity_list_end -TileEntities_Caves_RupeeTrilbyHighlands:: @ 080F8F5C +TileEntities_Caves_TrilbyRupee:: @ 080F8F5C tile_entity_list_end -Room_Caves_RupeeTrilbyHighlands:: @ 080F8F64 - .4byte Entities_Caves_RupeeTrilbyHighlands_0 +Room_Caves_TrilbyRupee:: @ 080F8F64 + .4byte Entities_Caves_TrilbyRupee_0 .4byte 0x00000000 - .4byte Enemies_Caves_RupeeTrilbyHighlands - .4byte TileEntities_Caves_RupeeTrilbyHighlands + .4byte Enemies_Caves_TrilbyRupee + .4byte TileEntities_Caves_TrilbyRupee .4byte 0x00000000 .4byte 0x00000000 - .4byte sub_unk3_Caves_RupeeTrilbyHighlands - .4byte sub_StateChange_Caves_RupeeTrilbyHighlands + .4byte sub_unk3_Caves_TrilbyRupee + .4byte sub_StateChange_Caves_TrilbyRupee -Entities_Caves_FairyFountainMoleMitts_0:: @ 080F8F84 +Entities_Caves_TrilbyMittsFairyFountain_0:: @ 080F8F84 .ifdef EU_JP object_raw subtype=0x41, x=0xb8, y=0x18 object_raw subtype=0x40, x=0x58, y=0x38, paramA=0x60, paramB=0x1 @@ -20783,44 +20783,44 @@ Entities_Caves_FairyFountainMoleMitts_0:: @ 080F8F84 entity_list_end .endif -Enemies_Caves_FairyFountainMoleMitts:: @ 080F8FE4 +Enemies_Caves_TrilbyMittsFairyFountain:: @ 080F8FE4 entity_list_end -TileEntities_Caves_FairyFountainMoleMitts:: @ 080F8FF4 +TileEntities_Caves_TrilbyMittsFairyFountain:: @ 080F8FF4 tile_entity type=0x7, paramB=0x3a00 tile_entity_list_end -Room_Caves_FairyFountainMoleMitts:: @ 080F9004 - .4byte Entities_Caves_FairyFountainMoleMitts_0 +Room_Caves_TrilbyMittsFairyFountain:: @ 080F9004 + .4byte Entities_Caves_TrilbyMittsFairyFountain_0 .4byte 0x00000000 - .4byte Enemies_Caves_FairyFountainMoleMitts - .4byte TileEntities_Caves_FairyFountainMoleMitts + .4byte Enemies_Caves_TrilbyMittsFairyFountain + .4byte TileEntities_Caves_TrilbyMittsFairyFountain .4byte 0x00000000 .4byte 0x00000000 - .4byte sub_unk3_Caves_FairyFountainMoleMitts - .4byte sub_StateChange_Caves_FairyFountainMoleMitts + .4byte sub_unk3_Caves_TrilbyMittsFairyFountain + .4byte sub_StateChange_Caves_TrilbyMittsFairyFountain -Entities_Caves_KeeseChestSoutheastHyrule_0:: @ 080F9024 +Entities_Caves_HillsKeeseChest_0:: @ 080F9024 entity_list_end -Enemies_Caves_KeeseChestSoutheastHyrule:: @ 080F9034 +Enemies_Caves_HillsKeeseChest:: @ 080F9034 enemy_raw subtype=0x8, x=0x48, y=0x48, paramB=0x141e0000 enemy_raw subtype=0x8, x=0xb8, y=0x38, paramB=0x141e0000 entity_list_end -TileEntities_Caves_KeeseChestSoutheastHyrule:: @ 080F9064 +TileEntities_Caves_HillsKeeseChest:: @ 080F9064 tile_entity type=0x2, paramA=0x33, paramB=0x143f, paramC=0x87 tile_entity_list_end -Room_Caves_KeeseChestSoutheastHyrule:: @ 080F9074 - .4byte Entities_Caves_KeeseChestSoutheastHyrule_0 +Room_Caves_HillsKeeseChest:: @ 080F9074 + .4byte Entities_Caves_HillsKeeseChest_0 .4byte 0x00000000 - .4byte Enemies_Caves_KeeseChestSoutheastHyrule - .4byte TileEntities_Caves_KeeseChestSoutheastHyrule + .4byte Enemies_Caves_HillsKeeseChest + .4byte TileEntities_Caves_HillsKeeseChest .4byte 0x00000000 .4byte 0x00000000 - .4byte sub_unk3_Caves_KeeseChestSoutheastHyrule - .4byte sub_StateChange_Caves_KeeseChestSoutheastHyrule + .4byte sub_unk3_Caves_HillsKeeseChest + .4byte sub_StateChange_Caves_HillsKeeseChest Entities_Caves_BottleBusinessScrub_0:: @ 080F9094 entity_list_end @@ -20865,7 +20865,7 @@ Room_Caves_HeartPieceHallway:: @ 080F9154 .4byte sub_unk3_Caves_HeartPieceHallway .4byte sub_StateChange_Caves_HeartPieceHallway -Entities_Caves_FairyFountainBoomerang_0:: @ 080F9174 +Entities_Caves_NorthHyruleFieldFairyFountain_0:: @ 080F9174 .ifdef EU_JP object_raw subtype=0x40, x=0x48, y=0x38, paramA=0x60, paramB=0x1 object_raw subtype=0x40, x=0x38, y=0x58, paramA=0x60, paramB=0x1 @@ -20879,22 +20879,22 @@ Entities_Caves_FairyFountainBoomerang_0:: @ 080F9174 entity_list_end .endif -Enemies_Caves_FairyFountainBoomerang:: @ 080F91C4 +Enemies_Caves_NorthHyruleFieldFairyFountain:: @ 080F91C4 entity_list_end -TileEntities_Caves_FairyFountainBoomerang:: @ 080F91D4 +TileEntities_Caves_NorthHyruleFieldFairyFountain:: @ 080F91D4 tile_entity type=0x7, paramB=0x3a00 tile_entity_list_end -Room_Caves_FairyFountainBoomerang:: @ 080F91E4 - .4byte Entities_Caves_FairyFountainBoomerang_0 +Room_Caves_NorthHyruleFieldFairyFountain:: @ 080F91E4 + .4byte Entities_Caves_NorthHyruleFieldFairyFountain_0 .4byte 0x00000000 - .4byte Enemies_Caves_FairyFountainBoomerang - .4byte TileEntities_Caves_FairyFountainBoomerang + .4byte Enemies_Caves_NorthHyruleFieldFairyFountain + .4byte TileEntities_Caves_NorthHyruleFieldFairyFountain .4byte 0x00000000 .4byte 0x00000000 - .4byte sub_unk3_Caves_FairyFountainBoomerang - .4byte sub_StateChange_Caves_FairyFountainBoomerang + .4byte sub_unk3_Caves_NorthHyruleFieldFairyFountain + .4byte sub_StateChange_Caves_NorthHyruleFieldFairyFountain Entities_Caves_KinstoneBusinessScrub_0:: @ 080F9204 entity_list_end @@ -21811,25 +21811,25 @@ Room_TreeInteriors_HeartPiece:: @ 080FA690 .4byte sub_unk3_TreeInteriors_HeartPiece .4byte sub_StateChange_TreeInteriors_HeartPiece -Entities_TreeInteriors_StairsToBladeBrother_0:: @ 080FA6B0 +Entities_TreeInteriors_Waveblade_0:: @ 080FA6B0 object_raw subtype=0x4f, x=0x78, y=0x98, paramA=0x6, paramB=0x2 entity_list_end -Enemies_TreeInteriors_StairsToBladeBrother:: @ 080FA6D0 +Enemies_TreeInteriors_Waveblade:: @ 080FA6D0 entity_list_end -TileEntities_TreeInteriors_StairsToBladeBrother:: @ 080FA6E0 +TileEntities_TreeInteriors_Waveblade:: @ 080FA6E0 tile_entity_list_end -Room_TreeInteriors_StairsToBladeBrother:: @ 080FA6E8 - .4byte Entities_TreeInteriors_StairsToBladeBrother_0 +Room_TreeInteriors_Waveblade:: @ 080FA6E8 + .4byte Entities_TreeInteriors_Waveblade_0 .4byte 0x00000000 - .4byte Enemies_TreeInteriors_StairsToBladeBrother - .4byte TileEntities_TreeInteriors_StairsToBladeBrother + .4byte Enemies_TreeInteriors_Waveblade + .4byte TileEntities_TreeInteriors_Waveblade .4byte 0x00000000 .4byte 0x00000000 - .4byte sub_unk3_TreeInteriors_StairsToBladeBrother - .4byte sub_StateChange_TreeInteriors_StairsToBladeBrother + .4byte sub_unk3_TreeInteriors_Waveblade + .4byte sub_StateChange_TreeInteriors_Waveblade Entities_TreeInteriors_14_0:: @ 080FA708 object_raw subtype=0x4f, x=0x78, y=0x98, paramA=0x6, paramB=0x2 @@ -21931,66 +21931,66 @@ Room_TreeInteriors_BoomerangSoutheast:: @ 080FA8A0 .4byte sub_unk3_TreeInteriors_BoomerangSoutheast .4byte sub_StateChange_TreeInteriors_BoomerangSoutheast -Entities_TreeInteriors_HeartPieceSouthwestField_0:: @ 080FA8C0 +Entities_TreeInteriors_WesternWoodsHeartPiece_0:: @ 080FA8C0 object_raw subtype=0x4f, x=0x78, y=0x98, paramA=0x6, paramB=0x2 object_raw subtype=0x0, x=0x78, y=0x44, collision=1, paramA=0x63, paramB=0x400, paramC=0x980000 entity_list_end -Enemies_TreeInteriors_HeartPieceSouthwestField:: @ 080FA8F0 +Enemies_TreeInteriors_WesternWoodsHeartPiece:: @ 080FA8F0 entity_list_end -TileEntities_TreeInteriors_HeartPieceSouthwestField:: @ 080FA900 +TileEntities_TreeInteriors_WesternWoodsHeartPiece:: @ 080FA900 tile_entity_list_end -Room_TreeInteriors_HeartPieceSouthwestField:: @ 080FA908 - .4byte Entities_TreeInteriors_HeartPieceSouthwestField_0 +Room_TreeInteriors_WesternWoodsHeartPiece:: @ 080FA908 + .4byte Entities_TreeInteriors_WesternWoodsHeartPiece_0 .4byte 0x00000000 - .4byte Enemies_TreeInteriors_HeartPieceSouthwestField - .4byte TileEntities_TreeInteriors_HeartPieceSouthwestField + .4byte Enemies_TreeInteriors_WesternWoodsHeartPiece + .4byte TileEntities_TreeInteriors_WesternWoodsHeartPiece .4byte 0x00000000 .4byte 0x00000000 - .4byte sub_unk3_TreeInteriors_HeartPieceSouthwestField - .4byte sub_StateChange_TreeInteriors_HeartPieceSouthwestField + .4byte sub_unk3_TreeInteriors_WesternWoodsHeartPiece + .4byte sub_StateChange_TreeInteriors_WesternWoodsHeartPiece -Entities_TreeInteriors_StairsToFairyFountain_0:: @ 080FA928 +Entities_TreeInteriors_NorthHyruleFieldFairyFountain_0:: @ 080FA928 object_raw subtype=0x4f, x=0x78, y=0x98, paramA=0x6, paramB=0x2 entity_list_end -Enemies_TreeInteriors_StairsToFairyFountain:: @ 080FA948 +Enemies_TreeInteriors_NorthHyruleFieldFairyFountain:: @ 080FA948 entity_list_end -TileEntities_TreeInteriors_StairsToFairyFountain:: @ 080FA958 +TileEntities_TreeInteriors_NorthHyruleFieldFairyFountain:: @ 080FA958 tile_entity_list_end -Room_TreeInteriors_StairsToFairyFountain:: @ 080FA960 - .4byte Entities_TreeInteriors_StairsToFairyFountain_0 +Room_TreeInteriors_NorthHyruleFieldFairyFountain:: @ 080FA960 + .4byte Entities_TreeInteriors_NorthHyruleFieldFairyFountain_0 .4byte 0x00000000 - .4byte Enemies_TreeInteriors_StairsToFairyFountain - .4byte TileEntities_TreeInteriors_StairsToFairyFountain + .4byte Enemies_TreeInteriors_NorthHyruleFieldFairyFountain + .4byte TileEntities_TreeInteriors_NorthHyruleFieldFairyFountain .4byte 0x00000000 .4byte 0x00000000 - .4byte sub_unk3_TreeInteriors_StairsToFairyFountain - .4byte sub_StateChange_TreeInteriors_StairsToFairyFountain + .4byte sub_unk3_TreeInteriors_NorthHyruleFieldFairyFountain + .4byte sub_StateChange_TreeInteriors_NorthHyruleFieldFairyFountain -Entities_TreeInteriors_StairsToWalletFairy_0:: @ 080FA980 +Entities_TreeInteriors_MinishWoodsGreatFairy_0:: @ 080FA980 object_raw subtype=0x4f, x=0x78, y=0x98, paramA=0x6, paramB=0x2 entity_list_end -Enemies_TreeInteriors_StairsToWalletFairy:: @ 080FA9A0 +Enemies_TreeInteriors_MinishWoodsGreatFairy:: @ 080FA9A0 entity_list_end -TileEntities_TreeInteriors_StairsToWalletFairy:: @ 080FA9B0 +TileEntities_TreeInteriors_MinishWoodsGreatFairy:: @ 080FA9B0 tile_entity_list_end -Room_TreeInteriors_StairsToWalletFairy:: @ 080FA9B8 - .4byte Entities_TreeInteriors_StairsToWalletFairy_0 +Room_TreeInteriors_MinishWoodsGreatFairy:: @ 080FA9B8 + .4byte Entities_TreeInteriors_MinishWoodsGreatFairy_0 .4byte 0x00000000 - .4byte Enemies_TreeInteriors_StairsToWalletFairy - .4byte TileEntities_TreeInteriors_StairsToWalletFairy + .4byte Enemies_TreeInteriors_MinishWoodsGreatFairy + .4byte TileEntities_TreeInteriors_MinishWoodsGreatFairy .4byte 0x00000000 .4byte 0x00000000 - .4byte sub_unk3_TreeInteriors_StairsToWalletFairy - .4byte sub_StateChange_TreeInteriors_StairsToWalletFairy + .4byte sub_unk3_TreeInteriors_MinishWoodsGreatFairy + .4byte sub_StateChange_TreeInteriors_MinishWoodsGreatFairy Entities_TreeInteriors_1C_0:: @ 080FA9D8 object_raw subtype=0x4f, x=0x78, y=0x98, paramA=0x6, paramB=0x2 @@ -22020,28 +22020,28 @@ Room_TreeInteriors_1C:: @ 080FAA70 .4byte sub_unk3_TreeInteriors_1C .4byte sub_StateChange_TreeInteriors_1C -Entities_TreeInteriors_StairsToBusinessScrub_0:: @ 080FAA90 +Entities_TreeInteriors_MinishWoodsBusinessScrub_0:: @ 080FAA90 object_raw subtype=0x4f, x=0x78, y=0x98, paramA=0x6, paramB=0x2 entity_list_end -Entities_TreeInteriors_StairsToBusinessScrub_1:: @ 080FAAB0 +Entities_TreeInteriors_MinishWoodsBusinessScrub_1:: @ 080FAAB0 entity_list_end -Enemies_TreeInteriors_StairsToBusinessScrub:: @ 080FAAC0 +Enemies_TreeInteriors_MinishWoodsBusinessScrub:: @ 080FAAC0 entity_list_end -TileEntities_TreeInteriors_StairsToBusinessScrub:: @ 080FAAD0 +TileEntities_TreeInteriors_MinishWoodsBusinessScrub:: @ 080FAAD0 tile_entity_list_end -Room_TreeInteriors_StairsToBusinessScrub:: @ 080FAAD8 - .4byte Entities_TreeInteriors_StairsToBusinessScrub_0 - .4byte Entities_TreeInteriors_StairsToBusinessScrub_1 - .4byte Enemies_TreeInteriors_StairsToBusinessScrub - .4byte TileEntities_TreeInteriors_StairsToBusinessScrub +Room_TreeInteriors_MinishWoodsBusinessScrub:: @ 080FAAD8 + .4byte Entities_TreeInteriors_MinishWoodsBusinessScrub_0 + .4byte Entities_TreeInteriors_MinishWoodsBusinessScrub_1 + .4byte Enemies_TreeInteriors_MinishWoodsBusinessScrub + .4byte TileEntities_TreeInteriors_MinishWoodsBusinessScrub .4byte 0x00000000 .4byte 0x00000000 - .4byte sub_unk3_TreeInteriors_StairsToBusinessScrub - .4byte sub_StateChange_TreeInteriors_StairsToBusinessScrub + .4byte sub_unk3_TreeInteriors_MinishWoodsBusinessScrub + .4byte sub_StateChange_TreeInteriors_MinishWoodsBusinessScrub Entities_TreeInteriors_1E_0:: @ 080FAAF8 object_raw subtype=0x4c, x=0x8c, y=0x28, collision=1, paramA=0x2 @@ -22072,26 +22072,26 @@ Room_TreeInteriors_1E:: @ 080FABA0 .4byte sub_unk3_TreeInteriors_1E .4byte sub_StateChange_TreeInteriors_1E -Entities_TreeInteriors_1F_0:: @ 080FABC0 +Entities_TreeInteriors_UnusedHeartContainer_0:: @ 080FABC0 object_raw subtype=0x4f, x=0x78, y=0x98, paramA=0x6, paramB=0x2 object_raw subtype=0x0, x=0x78, y=0x48, collision=1, paramA=0x62, paramB=0x400, paramC=0x990000 entity_list_end -Enemies_TreeInteriors_1F:: @ 080FABF0 +Enemies_TreeInteriors_UnusedHeartContainer:: @ 080FABF0 entity_list_end -TileEntities_TreeInteriors_1F:: @ 080FAC00 +TileEntities_TreeInteriors_UnusedHeartContainer:: @ 080FAC00 tile_entity_list_end -Room_TreeInteriors_1F:: @ 080FAC08 - .4byte Entities_TreeInteriors_1F_0 +Room_TreeInteriors_UnusedHeartContainer:: @ 080FAC08 + .4byte Entities_TreeInteriors_UnusedHeartContainer_0 .4byte 0x00000000 - .4byte Enemies_TreeInteriors_1F - .4byte TileEntities_TreeInteriors_1F + .4byte Enemies_TreeInteriors_UnusedHeartContainer + .4byte TileEntities_TreeInteriors_UnusedHeartContainer .4byte 0x00000000 .4byte 0x00000000 - .4byte sub_unk3_TreeInteriors_1F - .4byte sub_StateChange_TreeInteriors_1F + .4byte sub_unk3_TreeInteriors_UnusedHeartContainer + .4byte sub_StateChange_TreeInteriors_UnusedHeartContainer Entities_MtCrenel_MountainTop_0:: @ 080FAC28 .ifdef EU_JP @@ -22846,31 +22846,31 @@ Room_CrenelCaves_MushroomKeese:: @ 080FC12C .4byte sub_unk3_CrenelCaves_MushroomKeese .4byte sub_StateChange_CrenelCaves_MushroomKeese -Entities_CrenelCaves_LadderToGreenWater_0:: @ 080FC14C +Entities_CrenelCaves_LadderToSpringWater_0:: @ 080FC14C entity_list_end -Entities_CrenelCaves_LadderToGreenWater_1:: @ 080FC15C +Entities_CrenelCaves_LadderToSpringWater_1:: @ 080FC15C object_raw subtype=0x41, x=0x78, y=0x18 entity_list_end -Enemies_CrenelCaves_LadderToGreenWater:: @ 080FC17C +Enemies_CrenelCaves_LadderToSpringWater:: @ 080FC17C enemy_raw subtype=0x1, x=0x88, y=0x58, paramA=0x1 enemy_raw subtype=0x1, x=0x68, y=0x48, paramA=0x1 enemy_raw subtype=0x1, x=0x98, y=0x48, paramA=0x1 entity_list_end -TileEntities_CrenelCaves_LadderToGreenWater:: @ 080FC1BC +TileEntities_CrenelCaves_LadderToSpringWater:: @ 080FC1BC tile_entity_list_end -Room_CrenelCaves_LadderToGreenWater:: @ 080FC1C4 - .4byte Entities_CrenelCaves_LadderToGreenWater_0 - .4byte Entities_CrenelCaves_LadderToGreenWater_1 - .4byte Enemies_CrenelCaves_LadderToGreenWater - .4byte TileEntities_CrenelCaves_LadderToGreenWater +Room_CrenelCaves_LadderToSpringWater:: @ 080FC1C4 + .4byte Entities_CrenelCaves_LadderToSpringWater_0 + .4byte Entities_CrenelCaves_LadderToSpringWater_1 + .4byte Enemies_CrenelCaves_LadderToSpringWater + .4byte TileEntities_CrenelCaves_LadderToSpringWater .4byte 0x00000000 .4byte 0x00000000 - .4byte sub_unk3_CrenelCaves_LadderToGreenWater - .4byte sub_StateChange_CrenelCaves_LadderToGreenWater + .4byte sub_unk3_CrenelCaves_LadderToSpringWater + .4byte sub_StateChange_CrenelCaves_LadderToSpringWater Entities_CrenelCaves_BombBusinessScrub_0:: @ 080FC1E4 entity_list_end diff --git a/data/map/exit_lists.s b/data/map/exit_lists.s deleted file mode 100644 index 70921f04..00000000 --- a/data/map/exit_lists.s +++ /dev/null @@ -1,2428 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .section .rodata - .align 2 - -gExitList_NoExitList:: @ 08133FC8 - .include "exit_lists/gExitList_NoExitList.s" - -gExitLists_NoExit:: @ 08133FDC - .4byte gExitList_NoExitList - .4byte gExitList_NoExitList - .4byte gExitList_NoExitList - .4byte gExitList_NoExitList - .4byte gExitList_NoExitList - .4byte gExitList_NoExitList - .4byte gExitList_NoExitList - .4byte gExitList_NoExitList - .4byte gExitList_NoExitList - .4byte gExitList_NoExitList - .4byte gExitList_NoExitList - .4byte gExitList_NoExitList - .4byte gExitList_NoExitList - .4byte gExitList_NoExitList - .4byte gExitList_NoExitList - .4byte gExitList_NoExitList - .4byte gExitList_NoExitList - .4byte gExitList_NoExitList - .4byte gExitList_NoExitList - .4byte gExitList_NoExitList - .4byte gExitList_NoExitList - .4byte gExitList_NoExitList - .4byte gExitList_NoExitList - .4byte gExitList_NoExitList - .4byte gExitList_NoExitList - .4byte gExitList_NoExitList - .4byte gExitList_NoExitList - .4byte gExitList_NoExitList - .4byte gExitList_NoExitList - .4byte gExitList_NoExitList - .4byte gExitList_NoExitList - .4byte gExitList_NoExitList - .4byte gExitList_NoExitList - .4byte gExitList_NoExitList - .4byte gExitList_NoExitList - .4byte gExitList_NoExitList - .4byte gExitList_NoExitList - .4byte gExitList_NoExitList - .4byte gExitList_NoExitList - .4byte gExitList_NoExitList - .4byte gExitList_NoExitList - .4byte gExitList_NoExitList - .4byte gExitList_NoExitList - .4byte gExitList_NoExitList - .4byte gExitList_NoExitList - .4byte gExitList_NoExitList - .4byte gExitList_NoExitList - .4byte gExitList_NoExitList - .4byte gExitList_NoExitList - .4byte gExitList_NoExitList - .4byte gExitList_NoExitList - .4byte gExitList_NoExitList - .4byte gExitList_NoExitList - .4byte gExitList_NoExitList - .4byte gExitList_NoExitList - .4byte gExitList_NoExitList - .4byte gExitList_NoExitList - .4byte gExitList_NoExitList - .4byte gExitList_NoExitList - .4byte gExitList_NoExitList - .4byte gExitList_NoExitList - .4byte gExitList_NoExitList - .4byte gExitList_NoExitList - .4byte gExitList_NoExitList - -gExitList_MinishWoods_Main:: @ 081340DC - .include "exit_lists/gExitList_MinishWoods_Main.s" - -gExitLists_MinishWoods:: @ 08134208 - .4byte gExitList_MinishWoods_Main - -gExitList_LakeHylia_Main:: @ 0813420C - .include "exit_lists/gExitList_LakeHylia_Main.s" - -gExitList_LakeHylia_Beanstalk:: @ 081342E8 - .include "exit_lists/gExitList_LakeHylia_Beanstalk.s" - -gExitLists_LakeHylia:: @ 08134338 - .4byte gExitList_LakeHylia_Main - .4byte gExitList_LakeHylia_Beanstalk - -gExitList_CastorWilds_Main:: @ 08134340 - .include "exit_lists/gExitList_CastorWilds_Main.s" - -gExitLists_CastorWilds:: @ 08134408 - .4byte gExitList_CastorWilds_Main - -gExitList_Ruins_Entrance:: @ 0813440C - .include "exit_lists/gExitList_Ruins_Entrance.s" - -gExitList_Ruins_Beanstalk:: @ 08134448 - .include "exit_lists/gExitList_Ruins_Beanstalk.s" - -gExitList_Ruins_LadderToTektites:: @ 0813445C - .include "exit_lists/gExitList_Ruins_LadderToTektites.s" - -gExitList_Ruins_FortressEntrance:: @ 08134484 - .include "exit_lists/gExitList_Ruins_FortressEntrance.s" - -gExitLists_Ruins:: @ 081344AC - .4byte gExitList_Ruins_Entrance - .4byte gExitList_Ruins_Beanstalk - .4byte gExitList_NoExitList - .4byte gExitList_Ruins_LadderToTektites - .4byte gExitList_Ruins_FortressEntrance - .4byte gExitList_NoExitList - -gExitList_HyruleTown_0:: @ 081344C4 - .include "exit_lists/gExitList_HyruleTown_0.s" - -gExitLists_HyruleTown:: @ 08134794 - .4byte gExitList_HyruleTown_0 - -gExitList_HyruleTown_1:: @ 08134798 - .include "exit_lists/gExitList_HyruleTown_1.s" - -gExitLists_FestivalTown:: @ 081347C0 - .4byte gExitList_HyruleTown_1 - -gExitList_MtCrenel_MountainTop:: @ 081347C4 - .include "exit_lists/gExitList_MtCrenel_MountainTop.s" - -gExitList_MtCrenel_WallClimb:: @ 08134800 - .include "exit_lists/gExitList_MtCrenel_WallClimb.s" - -gExitList_MtCrenel_CaveOfFlamesEntrance:: @ 08134850 - .include "exit_lists/gExitList_MtCrenel_CaveOfFlamesEntrance.s" - -gExitList_MtCrenel_GustJarShortcut:: @ 08134904 - .include "exit_lists/gExitList_MtCrenel_GustJarShortcut.s" - -gExitList_MtCrenel_Entrance:: @ 08134968 - .include "exit_lists/gExitList_MtCrenel_Entrance.s" - -gExitLists_MtCrenel:: @ 08134A30 - .4byte gExitList_MtCrenel_MountainTop - .4byte gExitList_MtCrenel_WallClimb - .4byte gExitList_MtCrenel_CaveOfFlamesEntrance - .4byte gExitList_MtCrenel_GustJarShortcut - .4byte gExitList_MtCrenel_Entrance - -gExitList_HyruleField_WesternWoodSouth:: @ 08134A44 - .include "exit_lists/gExitList_HyruleField_WesternWoodSouth.s" - -gExitList_HyruleField_LinksHouseExterior:: @ 08134A6C - .include "exit_lists/gExitList_HyruleField_LinksHouseExterior.s" - -gExitList_HyruleField_FromMinishWoods:: @ 08134B0C - .include "exit_lists/gExitList_HyruleField_FromMinishWoods.s" - -gExitList_HyruleField_FromMinishWoodsNorth:: @ 08134B48 - .include "exit_lists/gExitList_HyruleField_FromMinishWoodsNorth.s" - -gExitList_HyruleField_Farmers:: @ 08134B70 - .include "exit_lists/gExitList_HyruleField_Farmers.s" - -gExitList_HyruleField_LonLonRanch:: @ 08134BAC - .include "exit_lists/gExitList_HyruleField_LonLonRanch.s" - -gExitList_HyruleField_OutsideCastle:: @ 08134C88 - .include "exit_lists/gExitList_HyruleField_OutsideCastle.s" - -gExitList_HyruleField_OutsideCastleWest:: @ 08134DC8 - .include "exit_lists/gExitList_HyruleField_OutsideCastleWest.s" - -gExitList_HyruleField_TrilbyHighlands:: @ 08134EA4 - .include "exit_lists/gExitList_HyruleField_TrilbyHighlands.s" - -gExitList_HyruleField_PercysHouse:: @ 08134EE0 - .include "exit_lists/gExitList_HyruleField_PercysHouse.s" - -gExitLists_HyruleField:: @ 08134F08 - .4byte gExitList_HyruleField_WesternWoodSouth - .4byte gExitList_HyruleField_LinksHouseExterior - .4byte gExitList_HyruleField_FromMinishWoods - .4byte gExitList_HyruleField_FromMinishWoodsNorth - .4byte gExitList_HyruleField_Farmers - .4byte gExitList_HyruleField_LonLonRanch - .4byte gExitList_HyruleField_OutsideCastle - .4byte gExitList_HyruleField_OutsideCastleWest - .4byte gExitList_HyruleField_TrilbyHighlands - .4byte gExitList_HyruleField_PercysHouse - -gExitList_CastleGarden_Main:: @ 08134F30 - .include "exit_lists/gExitList_CastleGarden_Main.s" - -gUnk_08134FBC:: @ 08134FBC - .incbin "data_08132B30/gUnk_08134FBC.bin" - -gUnk_08135048:: @ 08135048 - .incbin "data_08132B30/gUnk_08135048.bin" - -gExitLists_CastleGarden:: @ 08135070 - .4byte gExitList_CastleGarden_Main - -gExitList_CloudTops_House:: @ 08135074 - .include "exit_lists/gExitList_CloudTops_House.s" - -gExitLists_CloudTops:: @ 0813509C - .4byte gExitList_CloudTops_House - -gExitList_RoyalValley_Main:: @ 081350A0 -.include "exit_lists/gExitList_RoyalValley_Main.s" - -gExitList_RoyalValley_ForestMaze:: @ 08135168 - .include "exit_lists/gExitList_RoyalValley_ForestMaze.s" - -gUnk_08135190:: @ 08135190 - .incbin "data_08132B30/gUnk_08135190.bin" - -gExitLists_RoyalValley:: @ 081351CC - .4byte gExitList_RoyalValley_Main - .4byte gExitList_RoyalValley_ForestMaze - -gExitList_VeilFalls_Main:: @ 081351D4 - .include "exit_lists/gExitList_VeilFalls_Main.s" - -gExitLists_VeilFalls:: @ 081352D8 - .4byte gExitList_VeilFalls_Main - -gExitList_Beanstalks_MountCrenel:: @ 081352DC - .include "exit_lists/gExitList_Beanstalks_MountCrenel.s" - -gExitList_Beanstalks_LakeHylia:: @ 08135304 - .include "exit_lists/gExitList_Beanstalks_LakeHylia.s" - -gExitList_Beanstalks_Ruins:: @ 0813532C - .include "exit_lists/gExitList_Beanstalks_Ruins.s" - -gExitList_Beanstalks_EasternHills:: @ 08135354 - .include "exit_lists/gExitList_Beanstalks_EasternHills.s" - -gExitList_Beanstalks_WesternWoods:: @ 0813537C - .include "exit_lists/gExitList_Beanstalks_WesternWoods.s" - -gExitList_Beanstalks_MountCrenelClimb:: @ 081353A4 - .include "exit_lists/gExitList_Beanstalks_MountCrenelClimb.s" - -gExitList_Beanstalks_LakeHyliaClimb:: @ 081353E0 - .include "exit_lists/gExitList_Beanstalks_LakeHyliaClimb.s" - -gExitList_Beanstalks_RuinsClimb:: @ 0813541C - .include "exit_lists/gExitList_Beanstalks_RuinsClimb.s" - -gExitList_Beanstalks_EasternHillsClimb:: @ 08135458 - .include "exit_lists/gExitList_Beanstalks_EasternHillsClimb.s" - -gExitList_Beanstalks_WesternWoodsClimb:: @ 08135494 - .include "exit_lists/gExitList_Beanstalks_WesternWoodsClimb.s" - -gExitLists_Beanstalks:: @ 081354D0 - .4byte gExitList_Beanstalks_MountCrenel - .4byte gExitList_Beanstalks_LakeHylia - .4byte gExitList_Beanstalks_Ruins - .4byte gExitList_Beanstalks_EasternHills - .4byte gExitList_Beanstalks_WesternWoods - .4byte gExitList_NoExitList - .4byte gExitList_NoExitList - .4byte gExitList_NoExitList - .4byte gExitList_NoExitList - .4byte gExitList_NoExitList - .4byte gExitList_NoExitList - .4byte gExitList_NoExitList - .4byte gExitList_NoExitList - .4byte gExitList_NoExitList - .4byte gExitList_NoExitList - .4byte gExitList_NoExitList - .4byte gExitList_Beanstalks_MountCrenelClimb - .4byte gExitList_Beanstalks_LakeHyliaClimb - .4byte gExitList_Beanstalks_RuinsClimb - .4byte gExitList_Beanstalks_EasternHillsClimb - .4byte gExitList_Beanstalks_WesternWoodsClimb - -gExitList_LakeWoodsCave_Main:: @ 08135524 - .include "exit_lists/gExitList_LakeWoodsCave_Main.s" - -gExitLists_LakeWoodsCave:: @ 0813554C - .4byte gExitList_LakeWoodsCave_Main - -gExitList_HyruleDigCaves_Main:: @ 08135550 - .include "exit_lists/gExitList_HyruleDigCaves_Main.s" - -gExitLists_HyruleDigCaves:: @ 08135578 - .4byte gExitList_HyruleDigCaves_Main - -gExitList_MinishVillage_Main:: @ 0813557C - .include "exit_lists/gExitList_MinishVillage_Main.s" - -gExitList_MinishVillage_SideHouse:: @ 08135694 - .include "exit_lists/gExitList_MinishVillage_SideHouse.s" - -gExitLists_MinishVillage:: @ 081356BC - .4byte gExitList_MinishVillage_Main - .4byte gExitList_MinishVillage_SideHouse - .4byte gExitList_NoExitList - .4byte gExitList_NoExitList - -gExitList_MelarisMine_Main:: @ 081356CC - .include "exit_lists/gExitList_MelarisMine_Main.s" - -gExitLists_MelarisMine:: @ 08135744 - .4byte gExitList_MelarisMine_Main - -gExitList_MinishPaths1_ToMinishVillage:: @ 08135748 - .include "exit_lists/gExitList_MinishPaths1_ToMinishVillage.s" - -gExitList_MinishPaths1_CastorWilds:: @ 08135784 - .include "exit_lists/gExitList_MinishPaths1_CastorWilds.s" - -gExitList_MinishPaths1_HyruleTown:: @ 081357C0 - .include "exit_lists/gExitList_MinishPaths1_HyruleTown.s" - -gExitList_MinishPaths1_LonLonRanch:: @ 081357E8 - .include "exit_lists/gExitList_MinishPaths1_LonLonRanch.s" - -gExitList_MinishPaths1_MayorsCabin:: @ 08135810 - .include "exit_lists/gExitList_MinishPaths1_MayorsCabin.s" - -gExitLists_MinishPaths1:: @ 0813584C - .4byte gExitList_MinishPaths1_ToMinishVillage - .4byte gExitList_MinishPaths1_CastorWilds - .4byte gExitList_MinishPaths1_HyruleTown - .4byte gExitList_MinishPaths1_LonLonRanch - .4byte gExitList_MinishPaths1_MayorsCabin - -gExitList_CrenelMinishPaths_CrenelBean:: @ 08135860 - .include "exit_lists/gExitList_CrenelMinishPaths_CrenelBean.s" - -gExitList_CrenelMinishPaths_CrenelWater:: @ 08135888 - .include "exit_lists/gExitList_CrenelMinishPaths_CrenelWater.s" - -gExitList_CrenelMinishPaths_Rainfall:: @ 081358B0 - .include "exit_lists/gExitList_CrenelMinishPaths_Rainfall.s" - -gExitList_CrenelMinishPaths_MelarisMine:: @ 081358EC - .include "exit_lists/gExitList_CrenelMinishPaths_MelarisMine.s" - -gExitLists_CrenelMinishPaths:: @ 08135928 - .4byte gExitList_CrenelMinishPaths_CrenelBean - .4byte gExitList_CrenelMinishPaths_CrenelWater - .4byte gExitList_CrenelMinishPaths_Rainfall - .4byte gExitList_CrenelMinishPaths_MelarisMine - -gExitList_DigCaves1_TrilbyHighlands:: @ 08135938 - .include "exit_lists/gExitList_DigCaves1_TrilbyHighlands.s" - -gExitLists_DigCaves1:: @ 08135974 - .4byte gExitList_NoExitList - .4byte gExitList_NoExitList - .4byte gExitList_NoExitList - .4byte gExitList_DigCaves1_TrilbyHighlands - -gExitList_MinishHouseInteriors_GentariMain:: @ 08135984 - .include "exit_lists/gExitList_MinishHouseInteriors_GentariMain.s" - -gExitList_MinishHouseInteriors_GentariExit:: @ 081359AC - .include "exit_lists/gExitList_MinishHouseInteriors_GentariExit.s" - -gExitList_MinishHouseInteriors_Festari:: @ 081359D4 - .include "exit_lists/gExitList_MinishHouseInteriors_Festari.s" - -gExitList_MinishHouseInteriors_Red:: @ 08135A10 - .include "exit_lists/gExitList_MinishHouseInteriors_Red.s" - -gExitList_MinishHouseInteriors_Green:: @ 08135A38 - .include "exit_lists/gExitList_MinishHouseInteriors_Green.s" - -gExitList_MinishHouseInteriors_Blue:: @ 08135A60 - .include "exit_lists/gExitList_MinishHouseInteriors_Blue.s" - -gExitList_MinishHouseInteriors_SideArea:: @ 08135A88 - .include "exit_lists/gExitList_MinishHouseInteriors_SideArea.s" - -gExitList_MinishHouseInteriors_ShoeMinish:: @ 08135AB0 - .include "exit_lists/gExitList_MinishHouseInteriors_ShoeMinish.s" - -gExitList_MinishHouseInteriors_PotMinish:: @ 08135AD8 - .include "exit_lists/gExitList_MinishHouseInteriors_PotMinish.s" - -gExitList_MinishHouseInteriors_BarrelMinish:: @ 08135B00 - .include "exit_lists/gExitList_MinishHouseInteriors_BarrelMinish.s" - -gExitList_MinishHouseInteriors_NULL1:: @ 08135B3C - .include "exit_lists/gExitList_MinishHouseInteriors_NULL1.s" - -gExitList_MinishHouseInteriors_NULL2:: @ 08135B64 - .include "exit_lists/gExitList_MinishHouseInteriors_NULL2.s" - -gExitList_MinishHouseInteriors_MelariMinesSouthwest:: @ 08135B8C - .include "exit_lists/gExitList_MinishHouseInteriors_MelariMinesSouthwest.s" - -gExitList_MinishHouseInteriors_MelariMinesSoutheast:: @ 08135BB4 - .include "exit_lists/gExitList_MinishHouseInteriors_MelariMinesSoutheast.s" - -gExitList_MinishHouseInteriors_MelariMinesEast:: @ 08135BDC - .include "exit_lists/gExitList_MinishHouseInteriors_MelariMinesEast.s" - -gExitList_MinishHouseInteriors_HyruleFieldSouthwest:: @ 08135C04 - .include "exit_lists/gExitList_MinishHouseInteriors_HyruleFieldSouthwest.s" - -gExitList_MinishHouseInteriors_HyruleFieldOutsideLinksHouse:: @ 08135C2C - .include "exit_lists/gExitList_MinishHouseInteriors_HyruleFieldOutsideLinksHouse.s" - -gExitList_MinishHouseInteriors_NextToKnuckle:: @ 08135C54 - .include "exit_lists/gExitList_MinishHouseInteriors_NextToKnuckle.s" - -gExitList_MinishHouseInteriors_Librari:: @ 08135C7C - .include "exit_lists/gExitList_MinishHouseInteriors_Librari.s" - -gExitList_MinishHouseInteriors_HyruleFieldExit:: @ 08135CA4 - .include "exit_lists/gExitList_MinishHouseInteriors_HyruleFieldExit.s" - -gExitList_MinishHouseInteriors_HyruleTown:: @ 08135CCC - .include "exit_lists/gExitList_MinishHouseInteriors_HyruleTown.s" - -gExitList_MinishHouseInteriors_MinishWoodsBomb:: @ 08135CF4 - .include "exit_lists/gExitList_MinishHouseInteriors_MinishWoodsBomb.s" - -gExitList_MinishHouseInteriors_LakeHyliaOcarina:: @ 08135D1C - .include "exit_lists/gExitList_MinishHouseInteriors_LakeHyliaOcarina.s" - -gExitLists_MinishHouseInteriors:: @ 08135D44 - .4byte gExitList_MinishHouseInteriors_GentariMain - .4byte gExitList_MinishHouseInteriors_GentariExit - .4byte gExitList_MinishHouseInteriors_Festari - .4byte gExitList_MinishHouseInteriors_Red - .4byte gExitList_MinishHouseInteriors_Green - .4byte gExitList_MinishHouseInteriors_Blue - .4byte gExitList_MinishHouseInteriors_SideArea - .4byte gExitList_MinishHouseInteriors_ShoeMinish - .4byte gExitList_MinishHouseInteriors_PotMinish - .4byte gExitList_MinishHouseInteriors_BarrelMinish - .4byte gExitList_MinishHouseInteriors_NULL1 - .4byte gExitList_MinishHouseInteriors_NULL2 - .4byte gExitList_NoExitList - .4byte gExitList_NoExitList - .4byte gExitList_NoExitList - .4byte gExitList_NoExitList - .4byte gExitList_MinishHouseInteriors_MelariMinesSouthwest - .4byte gExitList_MinishHouseInteriors_MelariMinesSoutheast - .4byte gExitList_MinishHouseInteriors_MelariMinesEast - .4byte gExitList_NoExitList - .4byte gExitList_NoExitList - .4byte gExitList_NoExitList - .4byte gExitList_NoExitList - .4byte gExitList_NoExitList - .4byte gExitList_NoExitList - .4byte gExitList_NoExitList - .4byte gExitList_NoExitList - .4byte gExitList_NoExitList - .4byte gExitList_NoExitList - .4byte gExitList_NoExitList - .4byte gExitList_NoExitList - .4byte gExitList_NoExitList - .4byte gExitList_MinishHouseInteriors_HyruleFieldSouthwest - .4byte gExitList_MinishHouseInteriors_HyruleFieldOutsideLinksHouse - .4byte gExitList_MinishHouseInteriors_NextToKnuckle - .4byte gExitList_MinishHouseInteriors_Librari - .4byte gExitList_MinishHouseInteriors_HyruleFieldExit - .4byte gExitList_MinishHouseInteriors_HyruleTown - .4byte gExitList_MinishHouseInteriors_MinishWoodsBomb - .4byte gExitList_MinishHouseInteriors_LakeHyliaOcarina - -gExitList_OuterFortressOfWinds_EntranceHall:: @ 08135DE4 - .include "exit_lists/gExitList_OuterFortressOfWinds_EntranceHall.s" - -gExitList_OuterFortressOfWinds_2F:: @ 08135E70 - .include "exit_lists/gExitList_OuterFortressOfWinds_2F.s" - -gExitList_OuterFortressOfWinds_3F:: @ 08135F24 - .include "exit_lists/gExitList_OuterFortressOfWinds_3F.s" - -gExitList_OuterFortressOfWinds_MoleMitts:: @ 08135FD8 - .include "exit_lists/gExitList_OuterFortressOfWinds_MoleMitts.s" - -gExitList_OuterFortressOfWinds_SmallKey:: @ 08136000 - .include "exit_lists/gExitList_OuterFortressOfWinds_SmallKey.s" - -gExitLists_OuterFortressOfWinds:: @ 08136028 - .4byte gExitList_OuterFortressOfWinds_EntranceHall - .4byte gExitList_OuterFortressOfWinds_2F - .4byte gExitList_OuterFortressOfWinds_3F - .4byte gExitList_OuterFortressOfWinds_MoleMitts - .4byte gExitList_OuterFortressOfWinds_SmallKey - -gExitList_HyliaDigCaves_North:: @ 0813603C - .include "exit_lists/gExitList_HyliaDigCaves_North.s" - -gExitLists_HyliaDigCaves:: @ 0813608C - .4byte gExitList_NoExitList - .4byte gExitList_HyliaDigCaves_North - .4byte 00000000 - .4byte 00000000 - .4byte 00000000 - -gExitList_VeilFallsTop_Main:: @ 081360A0 - .include "exit_lists/gExitList_VeilFallsTop_Main.s" - -gExitLists_VeilFallsTop:: @ 081360C8 - .4byte gExitList_VeilFallsTop_Main - -gExitList_HouseInteriors2_Stranger:: @ 081360CC - .include "exit_lists/gExitList_HouseInteriors2_Stranger.s" - -gExitList_HouseInteriors2_WestOracle:: @ 081360F4 - .include "exit_lists/gExitList_HouseInteriors2_WestOracle.s" - -gExitList_HouseInteriors2_2:: @ 0813611C - .include "exit_lists/gExitList_HouseInteriors2_2.s" - -gExitList_HouseInteriors2_3:: @ 08136144 - .include "exit_lists/gExitList_HouseInteriors2_3.s" - -gExitList_HouseInteriors2_DrLeft:: @ 0813616C - .include "exit_lists/gExitList_HouseInteriors2_DrLeft.s" - -gExitList_HouseInteriors2_NULL1:: @ 08136194 - .include "exit_lists/gExitList_HouseInteriors2_NULL1.s" - -gExitList_HouseInteriors2_Romio:: @ 081361BC - .include "exit_lists/gExitList_HouseInteriors2_Romio.s" - -gExitList_HouseInteriors2_Julietta:: @ 081361E4 - .include "exit_lists/gExitList_HouseInteriors2_Julietta.s" - -gExitList_HouseInteriors2_Percy:: @ 0813620C - .include "exit_lists/gExitList_HouseInteriors2_Percy.s" - -gExitList_HouseInteriors2_EastOracle:: @ 08136234 - .include "exit_lists/gExitList_HouseInteriors2_EastOracle.s" - -gExitList_HouseInteriors2_A:: @ 0813625C - .include "exit_lists/gExitList_HouseInteriors2_A.s" - -gExitList_HouseInteriors2_B:: @ 08136284 - .include "exit_lists/gExitList_HouseInteriors2_B.s" - -gExitList_HouseInteriors2_Cucco:: @ 081362AC - .include "exit_lists/gExitList_HouseInteriors2_Cucco.s" - -gExitList_HouseInteriors2_LinksHouseEntrance:: @ 081362D4 - .include "exit_lists/gExitList_HouseInteriors2_LinksHouseEntrance.s" - -gExitList_HouseInteriors2_Dampe:: @ 08136310 - .include "exit_lists/gExitList_HouseInteriors2_Dampe.s" - -gExitList_HouseInteriors2_NULL2:: @ 08136338 - .include "exit_lists/gExitList_HouseInteriors2_NULL2.s" - -gExitList_HouseInteriors2_Stockwell:: @ 0813634C - .include "exit_lists/gExitList_HouseInteriors2_Stockwell.s" - -gExitList_HouseInteriors2_LinksHouseBedroom:: @ 08136374 - .include "exit_lists/gExitList_HouseInteriors2_LinksHouseBedroom.s" - -gExitLists_HouseInteriors2:: @ 0813639C - .4byte gExitList_HouseInteriors2_Stranger - .4byte gExitList_HouseInteriors2_WestOracle - .4byte gExitList_HouseInteriors2_2 - .4byte gExitList_HouseInteriors2_3 - .4byte gExitList_HouseInteriors2_DrLeft - .4byte gExitList_HouseInteriors2_NULL1 - .4byte gExitList_HouseInteriors2_Romio - .4byte gExitList_HouseInteriors2_Julietta - .4byte gExitList_HouseInteriors2_Percy - .4byte gExitList_HouseInteriors2_EastOracle - .4byte gExitList_HouseInteriors2_A - .4byte gExitList_HouseInteriors2_B - .4byte gExitList_HouseInteriors2_Cucco - .4byte gExitList_NoExitList - .4byte gExitList_NoExitList - .4byte gExitList_NoExitList - .4byte gExitList_HouseInteriors2_LinksHouseEntrance - .4byte gExitList_NoExitList - .4byte gExitList_HouseInteriors2_Dampe - .4byte gExitList_HouseInteriors2_NULL2 - .4byte gExitList_HouseInteriors2_Stockwell - .4byte gExitList_HouseInteriors2_LinksHouseBedroom - .4byte gExitList_NoExitList - .4byte gExitList_NoExitList - .4byte gExitList_NoExitList - .4byte gExitList_NoExitList - .4byte gExitList_NoExitList - .4byte gExitList_NoExitList - .4byte gExitList_NoExitList - .4byte gExitList_NoExitList - .4byte gExitList_NoExitList - .4byte gExitList_NoExitList - .4byte gExitList_NoExitList - .4byte gExitList_NoExitList - .4byte gExitList_NoExitList - .4byte gExitList_NoExitList - .4byte gExitList_NoExitList - .4byte gExitList_NoExitList - .4byte gExitList_NoExitList - .4byte gExitList_NoExitList - .4byte gExitList_NoExitList - .4byte gExitList_NoExitList - .4byte gExitList_NoExitList - .4byte gExitList_NoExitList - .4byte gExitList_NoExitList - .4byte gExitList_NoExitList - .4byte gExitList_NoExitList - .4byte gExitList_NoExitList - -gExitList_HouseInteriors4_Carpenter:: @ 0813645C - .include "exit_lists/gExitList_HouseInteriors4_Carpenter.s" - -gExitList_HouseInteriors4_Swiftblade:: @ 08136484 - .include "exit_lists/gExitList_HouseInteriors4_Swiftblade.s" - -gExitList_HouseInteriors4_RanchHouseWest:: @ 081364AC - .include "exit_lists/gExitList_HouseInteriors4_RanchHouseWest.s" - -gExitList_HouseInteriors4_RanchHouseEast:: @ 081364D4 - .include "exit_lists/gExitList_HouseInteriors4_RanchHouseEast.s" - -gExitList_HouseInteriors4_FarmHouse:: @ 081364FC - .include "exit_lists/gExitList_HouseInteriors4_FarmHouse.s" - -gExitList_HouseInteriors4_Mayor:: @ 08136524 - .include "exit_lists/gExitList_HouseInteriors4_Mayor.s" - -gExitLists_HouseInteriors4:: @ 0813654C - .4byte gExitList_HouseInteriors4_Carpenter - .4byte gExitList_HouseInteriors4_Swiftblade - .4byte gExitList_HouseInteriors4_RanchHouseWest - .4byte gExitList_HouseInteriors4_RanchHouseEast - .4byte gExitList_HouseInteriors4_FarmHouse - .4byte gExitList_HouseInteriors4_Mayor - .4byte gExitList_NoExitList - .4byte gExitList_NoExitList - .4byte gExitList_NoExitList - .4byte gExitList_NoExitList - .4byte gExitList_NoExitList - .4byte gExitList_NoExitList - .4byte gExitList_NoExitList - .4byte gExitList_NoExitList - .4byte gExitList_NoExitList - .4byte gExitList_NoExitList - -gExitList_GreatFairies_Graveyard:: @ 0813658C - .include "exit_lists/gExitList_GreatFairies_Graveyard.s" - -gExitList_GreatFairies_MinishWoods:: @ 081365B4 - .include "exit_lists/gExitList_GreatFairies_MinishWoods.s" - -gExitList_GreatFairies_MtCrenel:: @ 081365DC - .include "exit_lists/gExitList_GreatFairies_MtCrenel.s" - -gExitLists_GreatFairies:: @ 08136604 - .4byte gExitList_GreatFairies_Graveyard - .4byte gExitList_GreatFairies_MinishWoods - .4byte gExitList_GreatFairies_MtCrenel - .4byte gExitList_NoExitList - -gExitList_HouseInteriors3_StockwellShop:: @ 08136614 - .include "exit_lists/gExitList_HouseInteriors3_StockwellShop.s" - -gExitList_HouseInteriors3_Cafe:: @ 0813663C - .include "exit_lists/gExitList_HouseInteriors3_Cafe.s" - -gExitList_HouseInteriors3_RemShoeShop:: @ 08136664 - .include "exit_lists/gExitList_HouseInteriors3_RemShoeShop.s" - -gExitList_HouseInteriors3_Bakery:: @ 0813668C - .include "exit_lists/gExitList_HouseInteriors3_Bakery.s" - -gExitList_HouseInteriors3_Simon:: @ 081366B4 - .include "exit_lists/gExitList_HouseInteriors3_Simon.s" - -gExitList_HouseInteriors3_FigurineHouse:: @ 081366DC - .include "exit_lists/gExitList_HouseInteriors3_FigurineHouse.s" - -gExitList_HouseInteriors3_BorlovEntrance:: @ 08136718 - .include "exit_lists/gExitList_HouseInteriors3_BorlovEntrance.s" - -gExitList_HouseInteriors3_Carlov:: @ 08136754 - .include "exit_lists/gExitList_HouseInteriors3_Carlov.s" - -gExitList_HouseInteriors3_Borlov:: @ 0813677C - .include "exit_lists/gExitList_HouseInteriors3_Borlov.s" - -gExitLists_HouseInteriors3:: @ 081367A4 - .4byte gExitList_HouseInteriors3_StockwellShop - .4byte gExitList_HouseInteriors3_Cafe - .4byte gExitList_HouseInteriors3_RemShoeShop - .4byte gExitList_HouseInteriors3_Bakery - .4byte gExitList_HouseInteriors3_Simon - .4byte gExitList_HouseInteriors3_FigurineHouse - .4byte gExitList_HouseInteriors3_BorlovEntrance - .4byte gExitList_HouseInteriors3_Carlov - .4byte gExitList_HouseInteriors3_Borlov - .4byte gExitList_NoExitList - .4byte gExitList_NoExitList - .4byte gExitList_NoExitList - .4byte gExitList_NoExitList - .4byte gExitList_NoExitList - .4byte gExitList_NoExitList - .4byte gExitList_NoExitList - -gExitList_HouseInteriors1_Mayor:: @ 081367E4 - .include "exit_lists/gExitList_HouseInteriors1_Mayor.s" - -gExitList_HouseInteriors1_PostOffice:: @ 08136820 - .include "exit_lists/gExitList_HouseInteriors1_PostOffice.s" - -gExitList_HouseInteriors1_Library2F:: @ 08136848 - .include "exit_lists/gExitList_HouseInteriors1_Library2F.s" - -gExitList_HouseInteriors1_Library1F:: @ 08136884 - .include "exit_lists/gExitList_HouseInteriors1_Library1F.s" - -gExitList_HouseInteriors1_Inn1F:: @ 081368C0 - .include "exit_lists/gExitList_HouseInteriors1_Inn1F.s" - -gExitList_HouseInteriors1_InnWestRoom:: @ 08136938 - .include "exit_lists/gExitList_HouseInteriors1_InnWestRoom.s" - -gExitList_HouseInteriors1_InnMiddleRoom:: @ 08136960 - .include "exit_lists/gExitList_HouseInteriors1_InnMiddleRoom.s" - -gExitList_HouseInteriors1_InnEastRoom:: @ 08136988 - .include "exit_lists/gExitList_HouseInteriors1_InnEastRoom.s" - -gExitList_HouseInteriors1_InnWest2F:: @ 081369B0 - .include "exit_lists/gExitList_HouseInteriors1_InnWest2F.s" - -gExitList_HouseInteriors1_InnEast2F:: @ 081369D8 - .include "exit_lists/gExitList_HouseInteriors1_InnEast2F.s" - -gExitList_HouseInteriors1_SchoolWest:: @ 08136A14 - .include "exit_lists/gExitList_HouseInteriors1_SchoolWest.s" - -gExitList_HouseInteriors1_SchoolEast:: @ 08136A50 - .include "exit_lists/gExitList_HouseInteriors1_SchoolEast.s" - -gExitLists_HouseInteriors1:: @ 08136A78 - .4byte gExitList_HouseInteriors1_Mayor - .4byte gExitList_HouseInteriors1_PostOffice - .4byte gExitList_HouseInteriors1_Library2F - .4byte gExitList_HouseInteriors1_Library1F - .4byte gExitList_HouseInteriors1_Inn1F - .4byte gExitList_HouseInteriors1_InnWestRoom - .4byte gExitList_HouseInteriors1_InnMiddleRoom - .4byte gExitList_HouseInteriors1_InnEastRoom - .4byte gExitList_HouseInteriors1_InnWest2F - .4byte gExitList_HouseInteriors1_InnEast2F - .4byte gExitList_NoExitList - .4byte gExitList_HouseInteriors1_SchoolWest - .4byte gExitList_HouseInteriors1_SchoolEast - .4byte gExitList_NoExitList - .4byte gExitList_NoExitList - .4byte gExitList_NoExitList - .4byte gExitList_NoExitList - .4byte gExitList_NoExitList - .4byte gExitList_NoExitList - .4byte gExitList_NoExitList - .4byte gExitList_NoExitList - .4byte gExitList_NoExitList - .4byte gExitList_NoExitList - .4byte gExitList_NoExitList - .4byte gExitList_NoExitList - .4byte gExitList_NoExitList - .4byte gExitList_NoExitList - .4byte gExitList_NoExitList - .4byte gExitList_NoExitList - .4byte gExitList_NoExitList - .4byte gExitList_NoExitList - .4byte gExitList_NoExitList - -gExitList_TreeInteriors_WitchHut:: @ 08136AF8 - .include "exit_lists/gExitList_TreeInteriors_WitchHut.s" - -gExitList_TreeInteriors_StairsToCarlov:: @ 08136B20 - .include "exit_lists/gExitList_TreeInteriors_StairsToCarlov.s" - -gExitList_TreeInteriors_PercysTreehouse:: @ 08136B5C - .include "exit_lists/gExitList_TreeInteriors_PercysTreehouse.s" - -gExitList_TreeInteriors_HeartPiece:: @ 08136B84 - .include "exit_lists/gExitList_TreeInteriors_HeartPiece.s" - -gExitList_TreeInteriors_StairsToBladeBrother:: @ 08136BAC - .include "exit_lists/gExitList_TreeInteriors_StairsToBladeBrother.s" - -gExitList_TreeInteriors_14:: @ 08136BE8 - .include "exit_lists/gExitList_TreeInteriors_14.s" - -gExitList_TreeInteriors_BoomerangNorthwest:: @ 08136C10 - .include "exit_lists/gExitList_TreeInteriors_BoomerangNorthwest.s" - -gExitList_TreeInteriors_BoomerangNortheast:: @ 08136C4C - .include "exit_lists/gExitList_TreeInteriors_BoomerangNortheast.s" - -gExitList_TreeInteriors_BoomerangSouthwest:: @ 08136C88 - .include "exit_lists/gExitList_TreeInteriors_BoomerangSouthwest.s" - -gExitList_TreeInteriors_BoomerangSoutheast:: @ 08136CC4 - .include "exit_lists/gExitList_TreeInteriors_BoomerangSoutheast.s" - -gExitList_TreeInteriors_HeartPieceSouthwestField:: @ 08136D00 - .include "exit_lists/gExitList_TreeInteriors_HeartPieceSouthwestField.s" - -gExitList_TreeInteriors_StairsToFairyFountain:: @ 08136D28 - .include "exit_lists/gExitList_TreeInteriors_StairsToFairyFountain.s" - -gExitList_TreeInteriors_StairsToWalletFairy:: @ 08136D64 - .include "exit_lists/gExitList_TreeInteriors_StairsToWalletFairy.s" - -gExitList_TreeInteriors_1C:: @ 08136DA0 - .include "exit_lists/gExitList_TreeInteriors_1C.s" - -gExitList_TreeInteriors_StairsToBusinessScrub:: @ 08136DC8 - .include "exit_lists/gExitList_TreeInteriors_StairsToBusinessScrub.s" - -gExitList_TreeInteriors_1E:: @ 08136E04 - .include "exit_lists/gExitList_TreeInteriors_1E.s" - -gExitList_TreeInteriors_1F:: @ 08136E18 - .include "exit_lists/gExitList_TreeInteriors_1F.s" - -gExitLists_TreeInteriors:: @ 08136E40 - .4byte gExitList_TreeInteriors_WitchHut - .4byte gExitList_NoExitList - .4byte gExitList_NoExitList - .4byte gExitList_NoExitList - .4byte gExitList_NoExitList - .4byte gExitList_NoExitList - .4byte gExitList_NoExitList - .4byte gExitList_NoExitList - .4byte gExitList_NoExitList - .4byte gExitList_NoExitList - .4byte gExitList_NoExitList - .4byte gExitList_NoExitList - .4byte gExitList_NoExitList - .4byte gExitList_NoExitList - .4byte gExitList_NoExitList - .4byte gExitList_NoExitList - .4byte gExitList_TreeInteriors_StairsToCarlov - .4byte gExitList_TreeInteriors_PercysTreehouse - .4byte gExitList_TreeInteriors_HeartPiece - .4byte gExitList_TreeInteriors_StairsToBladeBrother - .4byte gExitList_TreeInteriors_14 - .4byte gExitList_TreeInteriors_BoomerangNorthwest - .4byte gExitList_TreeInteriors_BoomerangNortheast - .4byte gExitList_TreeInteriors_BoomerangSouthwest - .4byte gExitList_TreeInteriors_BoomerangSoutheast - .4byte gExitList_TreeInteriors_HeartPieceSouthwestField - .4byte gExitList_TreeInteriors_StairsToFairyFountain - .4byte gExitList_TreeInteriors_StairsToWalletFairy - .4byte gExitList_TreeInteriors_1C - .4byte gExitList_TreeInteriors_StairsToBusinessScrub - .4byte gExitList_TreeInteriors_1E - .4byte gExitList_TreeInteriors_1F - -gExitList_Dojos_Grayblade:: @ 08136EC0 - .include "exit_lists/gExitList_Dojos_Grayblade.s" - -gExitList_Dojos_Swiftblade:: @ 08136EE8 - .include "exit_lists/gExitList_Dojos_Swiftblade.s" - -gExitList_Dojos_Waveblade:: @ 08136F10 - .include "exit_lists/gExitList_Dojos_Waveblade.s" - -gExitList_Dojos_ToGrimblade:: @ 08136F38 - .include "exit_lists/gExitList_Dojos_ToGrimblade.s" - -gExitList_Dojos_ToSplitblade:: @ 08136F60 - .include "exit_lists/gExitList_Dojos_ToSplitblade.s" - -gExitList_Dojos_ToGreatblade:: @ 08136F88 - .include "exit_lists/gExitList_Dojos_ToGreatblade.s" - -gExitList_Dojos_ToScarblade:: @ 08136FB0 - .include "exit_lists/gExitList_Dojos_ToScarblade.s" - -gExitLists_Dojos:: @ 08136FD8 - .4byte gExitList_Dojos_Grayblade - .4byte gExitList_NoExitList - .4byte gExitList_NoExitList - .4byte gExitList_NoExitList - .4byte gExitList_Dojos_Swiftblade - .4byte gExitList_NoExitList - .4byte gExitList_Dojos_Waveblade - .4byte gExitList_NoExitList - .4byte gExitList_NoExitList - .4byte gExitList_NoExitList - .4byte gExitList_Dojos_ToGrimblade - .4byte gExitList_Dojos_ToSplitblade - .4byte gExitList_Dojos_ToGreatblade - .4byte gExitList_Dojos_ToScarblade - .4byte gExitList_NoExitList - .4byte gExitList_NoExitList - -gExitList_MinishCracks_LonLonRanchNorth:: @ 08137018 - .include "exit_lists/gExitList_MinishCracks_LonLonRanchNorth.s" - -gExitList_MinishCracks_LakeHyliaEast:: @ 08137040 - .include "exit_lists/gExitList_MinishCracks_LakeHyliaEast.s" - -gExitList_MinishCracks_HyruleCastleGarden:: @ 08137068 - .include "exit_lists/gExitList_MinishCracks_HyruleCastleGarden.s" - -gExitList_MinishCracks_MtCrenel:: @ 08137090 - .include "exit_lists/gExitList_MinishCracks_MtCrenel.s" - -gExitList_MinishCracks_EastHyruleCastle:: @ 081370B8 - .include "exit_lists/gExitList_MinishCracks_EastHyruleCastle.s" - -gExitList_MinishCracks_5:: @ 081370E0 - .include "exit_lists/gExitList_MinishCracks_5.s" - -gExitList_MinishCracks_CastleWildsBowHole:: @ 081370F4 - .include "exit_lists/gExitList_MinishCracks_CastleWildsBowHole.s" - -gExitList_MinishCracks_RuinsEntrance:: @ 0813711C - .include "exit_lists/gExitList_MinishCracks_RuinsEntrance.s" - -gExitList_MinishCracks_MinishWoodsSouth:: @ 08137144 - .include "exit_lists/gExitList_MinishCracks_MinishWoodsSouth.s" - -gExitList_MinishCracks_CastorWildsNorth:: @ 0813716C - .include "exit_lists/gExitList_MinishCracks_CastorWildsNorth.s" - -gExitList_MinishCracks_CastorWildsWest:: @ 08137194 - .include "exit_lists/gExitList_MinishCracks_CastorWildsWest.s" - -gExitList_MinishCracks_CastorWildsMiddle:: @ 081371BC - .include "exit_lists/gExitList_MinishCracks_CastorWildsMiddle.s" - -gExitList_MinishCracks_RuinsTektite:: @ 081371E4 - .include "exit_lists/gExitList_MinishCracks_RuinsTektite.s" - -gExitList_MinishCracks_CastorWildsNextToBow:: @ 0813720C - .include "exit_lists/gExitList_MinishCracks_CastorWildsNextToBow.s" - -gExitList_MinishCracks_11:: @ 08137234 - .include "exit_lists/gExitList_MinishCracks_11.s" - -gExitLists_MinishCracks:: @ 08137248 - .4byte gExitList_MinishCracks_LonLonRanchNorth - .4byte gExitList_MinishCracks_LakeHyliaEast - .4byte gExitList_MinishCracks_HyruleCastleGarden - .4byte gExitList_MinishCracks_MtCrenel - .4byte gExitList_MinishCracks_EastHyruleCastle - .4byte gExitList_MinishCracks_5 - .4byte gExitList_MinishCracks_CastleWildsBowHole - .4byte gExitList_MinishCracks_RuinsEntrance - .4byte gExitList_MinishCracks_MinishWoodsSouth - .4byte gExitList_MinishCracks_CastorWildsNorth - .4byte gExitList_MinishCracks_CastorWildsWest - .4byte gExitList_MinishCracks_CastorWildsMiddle - .4byte gExitList_MinishCracks_RuinsTektite - .4byte gExitList_MinishCracks_CastorWildsNextToBow - .4byte gExitList_NoExitList - .4byte gExitList_NoExitList - .4byte gExitList_NoExitList - .4byte gExitList_MinishCracks_11 - .4byte gExitList_NoExitList - .4byte gExitList_NoExitList - .4byte gExitList_NoExitList - .4byte gExitList_NoExitList - .4byte gExitList_NoExitList - .4byte gExitList_NoExitList - -gExitList_CrenelCaves_BlockPushing:: @ 081372A8 - .include "exit_lists/gExitList_CrenelCaves_BlockPushing.s" - -gExitList_CrenelCaves_PillarCave:: @ 0813730C - .include "exit_lists/gExitList_CrenelCaves_PillarCave.s" - -gExitList_CrenelCaves_BridgeSwitch:: @ 08137348 - .include "exit_lists/gExitList_CrenelCaves_BridgeSwitch.s" - -gExitList_CrenelCaves_ExitToMines:: @ 08137384 - .include "exit_lists/gExitList_CrenelCaves_ExitToMines.s" - -gExitList_CrenelCaves_GripRing:: @ 081373C0 - .include "exit_lists/gExitList_CrenelCaves_GripRing.s" - -gExitList_CrenelCaves_FairyFountain:: @ 081373E8 - .include "exit_lists/gExitList_CrenelCaves_FairyFountain.s" - -gExitList_CrenelCaves_SpinyChuPuzzle:: @ 08137410 - .include "exit_lists/gExitList_CrenelCaves_SpinyChuPuzzle.s" - -gExitList_CrenelCaves_ChuchuPotChest:: @ 0813744C - .include "exit_lists/gExitList_CrenelCaves_ChuchuPotChest.s" - -gExitList_CrenelCaves_WaterHeartPiece:: @ 08137488 - .include "exit_lists/gExitList_CrenelCaves_WaterHeartPiece.s" - -gExitList_CrenelCaves_RupeeFairyFountain:: @ 081374B0 - .include "exit_lists/gExitList_CrenelCaves_RupeeFairyFountain.s" - -gExitList_CrenelCaves_HelmasaurHallway:: @ 081374D8 - .include "exit_lists/gExitList_CrenelCaves_HelmasaurHallway.s" - -gExitList_CrenelCaves_MushroomKeese:: @ 08137514 - .include "exit_lists/gExitList_CrenelCaves_MushroomKeese.s" - -gExitList_CrenelCaves_LadderToGreenWater:: @ 08137550 - .include "exit_lists/gExitList_CrenelCaves_LadderToGreenWater.s" - -gExitList_CrenelCaves_BombBusinessScrub:: @ 0813758C - .include "exit_lists/gExitList_CrenelCaves_BombBusinessScrub.s" - -gExitList_CrenelCaves_Hermit:: @ 081375B4 - .include "exit_lists/gExitList_CrenelCaves_Hermit.s" - -gExitList_CrenelCaves_HintScrub:: @ 081375DC - .include "exit_lists/gExitList_CrenelCaves_HintScrub.s" - -gExitList_CrenelCaves_ToGrayblade:: @ 08137604 - .include "exit_lists/gExitList_CrenelCaves_ToGrayblade.s" - -gExitLists_CrenelCaves:: @ 08137640 - .4byte gExitList_CrenelCaves_BlockPushing - .4byte gExitList_CrenelCaves_PillarCave - .4byte gExitList_CrenelCaves_BridgeSwitch - .4byte gExitList_CrenelCaves_ExitToMines - .4byte gExitList_CrenelCaves_GripRing - .4byte gExitList_CrenelCaves_FairyFountain - .4byte gExitList_CrenelCaves_SpinyChuPuzzle - .4byte gExitList_CrenelCaves_ChuchuPotChest - .4byte gExitList_CrenelCaves_WaterHeartPiece - .4byte gExitList_CrenelCaves_RupeeFairyFountain - .4byte gExitList_CrenelCaves_HelmasaurHallway - .4byte gExitList_CrenelCaves_MushroomKeese - .4byte gExitList_CrenelCaves_LadderToGreenWater - .4byte gExitList_CrenelCaves_BombBusinessScrub - .4byte gExitList_CrenelCaves_Hermit - .4byte gExitList_CrenelCaves_HintScrub - .4byte gExitList_CrenelCaves_ToGrayblade - -gExitList_CastorCaves_South:: @ 08137684 - .include "exit_lists/gExitList_CastorCaves_South.s" - -gExitList_CastorCaves_North:: @ 081376AC - .include "exit_lists/gExitList_CastorCaves_North.s" - -gExitList_CastorCaves_WindRuins:: @ 081376E8 - .include "exit_lists/gExitList_CastorCaves_WindRuins.s" - -gExitList_CastorCaves_Darknut:: @ 08137710 - .include "exit_lists/gExitList_CastorCaves_Darknut.s" - -gExitList_CastorCaves_HeartPiece:: @ 0813774C - .include "exit_lists/gExitList_CastorCaves_HeartPiece.s" - -gExitLists_CastorCaves:: @ 08137774 - .4byte gExitList_CastorCaves_South - .4byte gExitList_CastorCaves_North - .4byte gExitList_CastorCaves_WindRuins - .4byte gExitList_CastorCaves_Darknut - .4byte gExitList_CastorCaves_HeartPiece - .4byte gExitList_NoExitList - .4byte gExitList_NoExitList - .4byte gExitList_NoExitList - -gExitList_CastorDarknut_Main:: @ 08137794 - .include "exit_lists/gExitList_CastorDarknut_Main.s" - -gExitList_CastorDarknut_Hall:: @ 081377A8 - .include "exit_lists/gExitList_CastorDarknut_Hall.s" - -gExitLists_CastorDarknut:: @ 081377D0 - .4byte gExitList_CastorDarknut_Main - .4byte gExitList_CastorDarknut_Hall - .4byte 00000000 - .4byte 00000000 - -gExitList_ArmosInteriors_RuinsEntranceNorth:: @ 081377E0 - .include "exit_lists/gExitList_ArmosInteriors_RuinsEntranceNorth.s" - -gExitList_ArmosInteriors_RuinsEntranceSouth:: @ 08137808 - .include "exit_lists/gExitList_ArmosInteriors_RuinsEntranceSouth.s" - -gExitList_ArmosInteriors_RuinsLeft:: @ 08137830 - .include "exit_lists/gExitList_ArmosInteriors_RuinsLeft.s" - -gExitList_ArmosInteriors_RuinsMiddleLeft:: @ 08137858 - .include "exit_lists/gExitList_ArmosInteriors_RuinsMiddleLeft.s" - -gExitList_ArmosInteriors_RuinsMiddleRight:: @ 08137880 - .include "exit_lists/gExitList_ArmosInteriors_RuinsMiddleRight.s" - -gExitList_ArmosInteriors_RuinsRight:: @ 081378A8 - .include "exit_lists/gExitList_ArmosInteriors_RuinsRight.s" - -gExitList_ArmosInteriors_6:: @ 081378D0 - .include "exit_lists/gExitList_ArmosInteriors_6.s" - -gExitList_ArmosInteriors_RuinsGrassPath:: @ 081378F8 - .include "exit_lists/gExitList_ArmosInteriors_RuinsGrassPath.s" - -gExitList_ArmosInteriors_8:: @ 08137920 - .include "exit_lists/gExitList_ArmosInteriors_8.s" - -gExitList_ArmosInteriors_FortressOfWindsLeft:: @ 08137948 - .include "exit_lists/gExitList_ArmosInteriors_FortressOfWindsLeft.s" - -gExitList_ArmosInteriors_FortressOfWindsRight:: @ 08137970 - .include "exit_lists/gExitList_ArmosInteriors_FortressOfWindsRight.s" - -gExitLists_ArmosInteriors:: @ 08137998 - .4byte gExitList_ArmosInteriors_RuinsEntranceNorth - .4byte gExitList_ArmosInteriors_RuinsEntranceSouth - .4byte gExitList_ArmosInteriors_RuinsLeft - .4byte gExitList_ArmosInteriors_RuinsMiddleLeft - .4byte gExitList_ArmosInteriors_RuinsMiddleRight - .4byte gExitList_ArmosInteriors_RuinsRight - .4byte gExitList_ArmosInteriors_6 - .4byte gExitList_ArmosInteriors_RuinsGrassPath - .4byte gExitList_ArmosInteriors_8 - .4byte gExitList_ArmosInteriors_FortressOfWindsLeft - .4byte gExitList_ArmosInteriors_FortressOfWindsRight - -gExitList_TownMinishHoles_MayorsHouse:: @ 081379C4 - .include "exit_lists/gExitList_TownMinishHoles_MayorsHouse.s" - -gExitList_TownMinishHoles_WestOracle:: @ 081379EC - .include "exit_lists/gExitList_TownMinishHoles_WestOracle.s" - -gExitList_TownMinishHoles_DrLeft:: @ 08137A14 - .include "exit_lists/gExitList_TownMinishHoles_DrLeft.s" - -gExitList_TownMinishHoles_Carpenter:: @ 08137A3C - .include "exit_lists/gExitList_TownMinishHoles_Carpenter.s" - -gExitList_TownMinishHoles_Cafe:: @ 08137A64 - .include "exit_lists/gExitList_TownMinishHoles_Cafe.s" - -gExitList_TownMinishHoles_LibraryBookshelf:: @ 08137A8C - .include "exit_lists/gExitList_TownMinishHoles_LibraryBookshelf.s" - -gExitList_TownMinishHoles_LibrariBookHouse:: @ 08137ADC - .include "exit_lists/gExitList_TownMinishHoles_LibrariBookHouse.s" - -gExitList_TownMinishHoles_RemShoeShop:: @ 08137B04 - .include "exit_lists/gExitList_TownMinishHoles_RemShoeShop.s" - -gExitLists_TownMinishHoles:: @ 08137B2C - .4byte gExitList_TownMinishHoles_MayorsHouse - .4byte gExitList_TownMinishHoles_WestOracle - .4byte gExitList_TownMinishHoles_DrLeft - .4byte gExitList_TownMinishHoles_Carpenter - .4byte gExitList_TownMinishHoles_Cafe - .4byte gExitList_NoExitList - .4byte gExitList_NoExitList - .4byte gExitList_NoExitList - .4byte gExitList_NoExitList - .4byte gExitList_NoExitList - .4byte gExitList_NoExitList - .4byte gExitList_NoExitList - .4byte gExitList_NoExitList - .4byte gExitList_NoExitList - .4byte gExitList_NoExitList - .4byte gExitList_NoExitList - .4byte gExitList_TownMinishHoles_LibraryBookshelf - .4byte gExitList_TownMinishHoles_LibrariBookHouse - .4byte gExitList_TownMinishHoles_RemShoeShop - .4byte gExitList_NoExitList - -gExitList_MinishRafters_Cafe:: @ 08137B7C - .include "exit_lists/gExitList_MinishRafters_Cafe.s" - -gExitList_MinishRafters_Stockwell:: @ 08137BB8 - .include "exit_lists/gExitList_MinishRafters_Stockwell.s" - -gExitList_MinishRafters_DrLeft:: @ 08137BF4 - .include "exit_lists/gExitList_MinishRafters_DrLeft.s" - -gExitList_MinishRafters_Bakery:: @ 08137C1C - .include "exit_lists/gExitList_MinishRafters_Bakery.s" - -gExitLists_MinishRafters:: @ 08137C58 - .4byte gExitList_MinishRafters_Cafe - .4byte gExitList_MinishRafters_Stockwell - .4byte gExitList_MinishRafters_DrLeft - .4byte gExitList_MinishRafters_Bakery - -gExitList_GoronCave_StairsToCave:: @ 08137C68 - .include "exit_lists/gExitList_GoronCave_StairsToCave.s" - -gExitList_GoronCave_Main:: @ 08137CA4 - .include "exit_lists/gExitList_GoronCave_Main.s" - -gExitLists_GoronCave:: @ 08137CCC - .4byte gExitList_GoronCave_StairsToCave - .4byte gExitList_GoronCave_Main - -gExitList_WindTribeTower_Entrance:: @ 08137CD4 - .include "exit_lists/gExitList_WindTribeTower_Entrance.s" - -gExitList_WindTribeTower_Floor2:: @ 08137D10 - .include "exit_lists/gExitList_WindTribeTower_Floor2.s" - -gExitList_WindTribeTower_Floor3:: @ 08137D4C - .include "exit_lists/gExitList_WindTribeTower_Floor3.s" - -gExitList_WindTribeTower_Floor4:: @ 08137D88 - .include "exit_lists/gExitList_WindTribeTower_Floor4.s" - -gExitLists_WindTribeTower:: @ 08137DC4 - .4byte gExitList_WindTribeTower_Entrance - .4byte gExitList_WindTribeTower_Floor2 - .4byte gExitList_WindTribeTower_Floor3 - .4byte gExitList_WindTribeTower_Floor4 - -gExitList_WindTribeTowerRoof_Main:: @ 08137DD4 - .include "exit_lists/gExitList_WindTribeTowerRoof_Main.s" - -gExitLists_WindTribeTowerRoof:: @ 08137DFC - .4byte gExitList_WindTribeTowerRoof_Main - -gExitList_Caves_Boomerang:: @ 08137E00 - .include "exit_lists/gExitList_Caves_Boomerang.s" - -gExitList_Caves_ToGraveyard:: @ 08137E78 - .include "exit_lists/gExitList_Caves_ToGraveyard.s" - -gExitList_Caves_2:: @ 08137EDC - .include "exit_lists/gExitList_Caves_2.s" - -gExitList_Caves_3:: @ 08137F04 - .include "exit_lists/gExitList_Caves_3.s" - -gExitList_Caves_4:: @ 08137F18 - .include "exit_lists/gExitList_Caves_4.s" - -gExitList_Caves_5:: @ 08137F2C - .include "exit_lists/gExitList_Caves_5.s" - -gExitList_Caves_KeeseChest:: @ 08137F40 - .include "exit_lists/gExitList_Caves_KeeseChest.s" - -gExitList_Caves_FairyFountainTrilbyHighlands:: @ 08137F68 - .include "exit_lists/gExitList_Caves_FairyFountainTrilbyHighlands.s" - -gExitList_Caves_FairyFountainLinksHouse:: @ 08137F90 - .include "exit_lists/gExitList_Caves_FairyFountainLinksHouse.s" - -gExitList_Caves_A:: @ 08137FB8 - .include "exit_lists/gExitList_Caves_A.s" - -gExitList_Caves_HyruleTownWaterfall:: @ 08137FCC - .include "exit_lists/gExitList_Caves_HyruleTownWaterfall.s" - -gExitList_Caves_LonLonRanch:: @ 08137FF4 - .include "exit_lists/gExitList_Caves_LonLonRanch.s" - -gExitList_Caves_TrilbyHighlands:: @ 08138030 - .include "exit_lists/gExitList_Caves_TrilbyHighlands.s" - -gExitList_Caves_LonLonRanchWallet:: @ 0813806C - .include "exit_lists/gExitList_Caves_LonLonRanchWallet.s" - -gExitList_Caves_RupeeLinksHouse:: @ 08138094 - .include "exit_lists/gExitList_Caves_RupeeLinksHouse.s" - -gExitList_Caves_RupeeTrilbyHighlands:: @ 081380BC - .include "exit_lists/gExitList_Caves_RupeeTrilbyHighlands.s" - -gExitList_Caves_FairyFountainMoleMitts:: @ 081380E4 - .include "exit_lists/gExitList_Caves_FairyFountainMoleMitts.s" - -gExitList_Caves_KeeseChestSoutheastHyrule:: @ 0813810C - .include "exit_lists/gExitList_Caves_KeeseChestSoutheastHyrule.s" - -gExitList_Caves_BottleBusinessScrub:: @ 08138134 - .include "exit_lists/gExitList_Caves_BottleBusinessScrub.s" - -gExitList_Caves_HeartPieceHallway:: @ 08138148 - .include "exit_lists/gExitList_Caves_HeartPieceHallway.s" - -gExitList_Caves_FairyFountainBoomerang:: @ 08138184 - .include "exit_lists/gExitList_Caves_FairyFountainBoomerang.s" - -gExitList_Caves_KinstoneBusinessScrub:: @ 081381AC - .include "exit_lists/gExitList_Caves_KinstoneBusinessScrub.s" - -gExitLists_Caves:: @ 081381D4 - .4byte gExitList_Caves_Boomerang - .4byte gExitList_Caves_ToGraveyard - .4byte gExitList_Caves_2 - .4byte gExitList_Caves_3 - .4byte gExitList_Caves_4 - .4byte gExitList_Caves_5 - .4byte gExitList_NoExitList - .4byte gExitList_Caves_KeeseChest - .4byte gExitList_Caves_FairyFountainTrilbyHighlands - .4byte gExitList_Caves_FairyFountainLinksHouse - .4byte gExitList_Caves_A - .4byte gExitList_Caves_HyruleTownWaterfall - .4byte gExitList_Caves_LonLonRanch - .4byte gExitList_NoExitList - .4byte gExitList_Caves_TrilbyHighlands - .4byte gExitList_Caves_LonLonRanchWallet - .4byte gExitList_Caves_RupeeLinksHouse - .4byte gExitList_Caves_RupeeTrilbyHighlands - .4byte gExitList_Caves_FairyFountainMoleMitts - .4byte gExitList_Caves_KeeseChestSoutheastHyrule - .4byte gExitList_Caves_BottleBusinessScrub - .4byte gExitList_Caves_HeartPieceHallway - .4byte gExitList_Caves_FairyFountainBoomerang - .4byte gExitList_Caves_KinstoneBusinessScrub - -gExitList_VeilFallsCaves_Hallway2F:: @ 08138234 - .include "exit_lists/gExitList_VeilFallsCaves_Hallway2F.s" - -gExitList_VeilFallsCaves_Hallway1F:: @ 08138284 - .include "exit_lists/gExitList_VeilFallsCaves_Hallway1F.s" - -gExitList_VeilFallsCaves_Entrance:: @ 081382E8 - .include "exit_lists/gExitList_VeilFallsCaves_Entrance.s" - -gExitList_VeilFallsCaves_Exit:: @ 08138324 - .include "exit_lists/gExitList_VeilFallsCaves_Exit.s" - -gExitList_VeilFallsCaves_SecretChest:: @ 08138360 - .include "exit_lists/gExitList_VeilFallsCaves_SecretChest.s" - -gExitList_VeilFallsCaves_SecretStaircases:: @ 08138388 - .include "exit_lists/gExitList_VeilFallsCaves_SecretStaircases.s" - -gExitList_VeilFallsCaves_BlockPuzzle:: @ 081383C4 - .include "exit_lists/gExitList_VeilFallsCaves_BlockPuzzle.s" - -gExitList_VeilFallsCaves_RupeePath:: @ 08138400 - .include "exit_lists/gExitList_VeilFallsCaves_RupeePath.s" - -gExitList_VeilFallsCaves_HeartPiece:: @ 0813843C - .include "exit_lists/gExitList_VeilFallsCaves_HeartPiece.s" - -gExitLists_VeilFallsCaves:: @ 08138464 - .4byte gExitList_VeilFallsCaves_Hallway2F - .4byte gExitList_VeilFallsCaves_Hallway1F - .4byte gExitList_NoExitList - .4byte gExitList_VeilFallsCaves_Entrance - .4byte gExitList_VeilFallsCaves_Exit - .4byte gExitList_VeilFallsCaves_SecretChest - .4byte gExitList_VeilFallsCaves_SecretStaircases - .4byte gExitList_VeilFallsCaves_BlockPuzzle - .4byte gExitList_VeilFallsCaves_RupeePath - .4byte gExitList_VeilFallsCaves_HeartPiece - .4byte gExitList_NoExitList - .4byte gExitList_NoExitList - .4byte gExitList_NoExitList - .4byte gExitList_NoExitList - .4byte gExitList_NoExitList - .4byte gExitList_NoExitList - -gExitList_RoyalValleyGraves_HeartPiece:: @ 081384A4 - .include "exit_lists/gExitList_RoyalValleyGraves_HeartPiece.s" - -gExitList_RoyalValleyGraves_Gina:: @ 081384CC - .include "exit_lists/gExitList_RoyalValleyGraves_Gina.s" - -gExitLists_RoyalValleyGraves:: @ 081384F4 - .4byte gExitList_RoyalValleyGraves_HeartPiece - .4byte gExitList_RoyalValleyGraves_Gina - -gExitList_MinishCaves_BeanPesto:: @ 081384FC - .include "exit_lists/gExitList_MinishCaves_BeanPesto.s" - -gExitList_MinishCaves_SoutheastWater1:: @ 08138524 - .include "exit_lists/gExitList_MinishCaves_SoutheastWater1.s" - -gExitList_MinishCaves_Ruins:: @ 0813854C - .include "exit_lists/gExitList_MinishCaves_Ruins.s" - -gExitList_MinishCaves_OutsideLinksHouse:: @ 08138574 - .include "exit_lists/gExitList_MinishCaves_OutsideLinksHouse.s" - -gExitList_MinishCaves_MinishWoodsNorth1:: @ 0813859C - .include "exit_lists/gExitList_MinishCaves_MinishWoodsNorth1.s" - -gExitList_MinishCaves_LakeHyliaNorth:: @ 081385C4 - .include "exit_lists/gExitList_MinishCaves_LakeHyliaNorth.s" - -gExitList_MinishCaves_LakeHyliaLibrari:: @ 081385EC - .include "exit_lists/gExitList_MinishCaves_LakeHyliaLibrari.s" - -gExitList_MinishCaves_MinishWoodsSouthwest:: @ 08138628 - .include "exit_lists/gExitList_MinishCaves_MinishWoodsSouthwest.s" - -gExitLists_MinishCaves:: @ 08138678 - .4byte gExitList_MinishCaves_BeanPesto - .4byte gExitList_MinishCaves_SoutheastWater1 - .4byte gExitList_NoExitList - .4byte gExitList_MinishCaves_Ruins - .4byte gExitList_MinishCaves_OutsideLinksHouse - .4byte gExitList_MinishCaves_MinishWoodsNorth1 - .4byte gExitList_NoExitList - .4byte gExitList_MinishCaves_LakeHyliaNorth - .4byte gExitList_MinishCaves_LakeHyliaLibrari - .4byte gExitList_MinishCaves_MinishWoodsSouthwest - -gExitList_CastleGardenMinishHoles_East:: @ 081386A0 - .include "exit_lists/gExitList_CastleGardenMinishHoles_East.s" - -gExitList_CastleGardenMinishHoles_West:: @ 081386C8 - .include "exit_lists/gExitList_CastleGardenMinishHoles_West.s" - -gExitLists_CastleGardenMinishHoles:: @ 081386F0 - .4byte gExitList_CastleGardenMinishHoles_East - .4byte gExitList_CastleGardenMinishHoles_West - -gExitList_37_0:: @ 081386F8 - .include "exit_lists/gExitList_37_0.s" - -gExitList_37_1:: @ 08138720 - .include "exit_lists/gExitList_37_1.s" - -gExitLists_37:: @ 08138748 - .4byte gExitList_37_0 - .4byte gExitList_37_1 - -gExitList_HyruleTownUnderground_Main:: @ 08138750 - .include "exit_lists/gExitList_HyruleTownUnderground_Main.s" - -gExitList_HyruleTownUnderground_Well:: @ 081387B4 - .include "exit_lists/gExitList_HyruleTownUnderground_Well.s" - -gExitLists_HyruleTownUnderground:: @ 081387F0 - .4byte gExitList_HyruleTownUnderground_Main - .4byte gExitList_HyruleTownUnderground_Well - -gExitList_HyruleTownMinishCaves_Entrance:: @ 081387F8 - .include "exit_lists/gExitList_HyruleTownMinishCaves_Entrance.s" - -gExitList_HyruleTownMinishCaves_Entrance2:: @ 08138820 - .include "exit_lists/gExitList_HyruleTownMinishCaves_Entrance2.s" - -gExitLists_HyruleTownMinishCaves:: @ 08138848 - .4byte gExitList_HyruleTownMinishCaves_Entrance - .4byte gExitList_NoExitList - .4byte gExitList_NoExitList - .4byte gExitList_NoExitList - .4byte gExitList_NoExitList - .4byte gExitList_NoExitList - .4byte gExitList_NoExitList - .4byte gExitList_NoExitList - .4byte gExitList_NoExitList - .4byte gExitList_NoExitList - .4byte gExitList_NoExitList - .4byte gExitList_NoExitList - .4byte gExitList_NoExitList - .4byte gExitList_NoExitList - .4byte gExitList_NoExitList - .4byte gExitList_NoExitList - .4byte gExitList_NoExitList - .4byte gExitList_NoExitList - .4byte gExitList_NoExitList - .4byte gExitList_NoExitList - .4byte gExitList_NoExitList - .4byte gExitList_HyruleTownMinishCaves_Entrance2 - .4byte gExitList_NoExitList - .4byte gExitList_NoExitList - -gExitList_GardenFountains_East:: @ 081388A8 - .include "exit_lists/gExitList_GardenFountains_East.s" - -gExitList_GardenFountains_West:: @ 081388D0 - .include "exit_lists/gExitList_GardenFountains_West.s" - -gExitLists_GardenFountains:: @ 081388F8 - .4byte gExitList_GardenFountains_East - .4byte gExitList_GardenFountains_West - -gExitList_GreatFairies_Entrance:: @ 08138900 - .include "exit_lists/gExitList_GreatFairies_Entrance.s" - -gExitList_GreatFairies_Exit:: @ 08138928 - .include "exit_lists/gExitList_GreatFairies_Exit.s" - -gExitLists_HyruleCastleCellar:: @ 08138950 - .4byte gExitList_GreatFairies_Entrance - .4byte gExitList_GreatFairies_Exit - -gExitLists_40:: @ 08138958 - .4byte gExitList_NoExitList - .4byte gExitList_NoExitList - .4byte gExitList_NoExitList - .4byte gExitList_NoExitList - .4byte gExitList_NoExitList - .4byte gExitList_NoExitList - .4byte gExitList_NoExitList - .4byte gExitList_NoExitList - .4byte gExitList_NoExitList - -gExitList_DeepwoodShrine_StairsToB1:: @ 0813897C - .include "exit_lists/gExitList_DeepwoodShrine_StairsToB1.s" - -gExitList_DeepwoodShrine_BluePortal:: @ 081389A4 - .include "exit_lists/gExitList_DeepwoodShrine_BluePortal.s" - -gExitList_DeepwoodShrine_Map:: @ 081389B8 - .include "exit_lists/gExitList_DeepwoodShrine_Map.s" - -gExitList_DeepwoodShrine_Button:: @ 081389CC - .include "exit_lists/gExitList_DeepwoodShrine_Button.s" - -gExitList_DeepwoodShrine_Lever:: @ 081389E0 - .include "exit_lists/gExitList_DeepwoodShrine_Lever.s" - -gExitList_DeepwoodShrine_Barrel:: @ 081389F4 - .include "exit_lists/gExitList_DeepwoodShrine_Barrel.s" - -gExitList_DeepwoodShrine_Entrance:: @ 08138A58 - .include "exit_lists/gExitList_DeepwoodShrine_Entrance.s" - -gExitList_DeepwoodShrine_Compass:: @ 08138AA8 - .include "exit_lists/gExitList_DeepwoodShrine_Compass.s" - -gExitList_DeepwoodShrineBoss_Main:: @ 08138AD0 - .include "exit_lists/gExitList_DeepwoodShrineBoss_Main.s" - -gExitList_DeepwoodShrine_PreBoss:: @ 08138AF8 - .include "exit_lists/gExitList_DeepwoodShrine_PreBoss.s" - -gExitLists_DeepwoodShrine:: @ 08138B48 - .4byte gExitList_NoExitList - .4byte gExitList_DeepwoodShrine_BluePortal - .4byte gExitList_DeepwoodShrine_StairsToB1 - .4byte gExitList_NoExitList - .4byte gExitList_NoExitList - .4byte gExitList_DeepwoodShrine_Map - .4byte gExitList_DeepwoodShrine_Barrel - .4byte gExitList_DeepwoodShrine_Button - .4byte gExitList_NoExitList - .4byte gExitList_NoExitList - .4byte gExitList_DeepwoodShrine_Lever - .4byte gExitList_DeepwoodShrine_Entrance - .4byte gExitList_NoExitList - .4byte gExitList_NoExitList - .4byte gExitList_NoExitList - .4byte gExitList_NoExitList - .4byte gExitList_NoExitList - .4byte gExitList_NoExitList - .4byte gExitList_DeepwoodShrine_Compass - .4byte gExitList_NoExitList - .4byte gExitList_NoExitList - .4byte gExitList_NoExitList - .4byte gExitList_NoExitList - .4byte gExitList_DeepwoodShrine_PreBoss - .4byte gExitList_NoExitList - .4byte gExitList_NoExitList - .4byte gExitList_NoExitList - .4byte gExitList_NoExitList - .4byte gExitList_NoExitList - .4byte gExitList_NoExitList - .4byte gExitList_NoExitList - .4byte gExitList_NoExitList - .4byte gExitList_NoExitList - -gExitLists_DeepwoodShrineBoss:: @ 08138BCC - .4byte gExitList_DeepwoodShrineBoss_Main - -gExitList_DeepwoodShrineEntry_Main:: @ 08138BD0 - .include "exit_lists/gExitList_DeepwoodShrineEntry_Main.s" - -gExitLists_DeepwoodShrineEntry:: @ 08138C34 - .4byte gExitList_DeepwoodShrineEntry_Main - -gExitList_CaveOfFlames_AfterCane:: @ 08138C38 - .include "exit_lists/gExitList_CaveOfFlames_AfterCane.s" - -gExitList_CaveOfFlames_Entrance:: @ 08138C60 - .include "exit_lists/gExitList_CaveOfFlames_Entrance.s" - -gExitList_CaveOfFlames_MainCart:: @ 08138C88 - .include "exit_lists/gExitList_CaveOfFlames_MainCart.s" - -gExitList_CaveOfFlames_NorthEntrance:: @ 08138CB0 - .include "exit_lists/gExitList_CaveOfFlames_NorthEntrance.s" - -gExitList_CaveOfFlames_MinishSpikes:: @ 08138CD8 - .include "exit_lists/gExitList_CaveOfFlames_MinishSpikes.s" - -gExitList_CaveOfFlames_BeforeGleerok:: @ 08138D00 - .include "exit_lists/gExitList_CaveOfFlames_BeforeGleerok.s" - -gExitList_CaveOfFlames_BossDoor:: @ 08138D28 - .include "exit_lists/gExitList_CaveOfFlames_BossDoor.s" - -gExitLists_CaveOfFlames:: @ 08138D50 - .4byte gExitList_CaveOfFlames_AfterCane - .4byte gExitList_NoExitList - .4byte gExitList_NoExitList - .4byte gExitList_CaveOfFlames_Entrance - .4byte gExitList_CaveOfFlames_MainCart - .4byte gExitList_CaveOfFlames_NorthEntrance - .4byte gExitList_NoExitList - .4byte gExitList_NoExitList - .4byte gExitList_NoExitList - .4byte gExitList_NoExitList - .4byte gExitList_NoExitList - .4byte gExitList_NoExitList - .4byte gExitList_NoExitList - .4byte gExitList_NoExitList - .4byte gExitList_NoExitList - .4byte gExitList_NoExitList - .4byte gExitList_CaveOfFlames_MinishSpikes - .4byte gExitList_NoExitList - .4byte gExitList_CaveOfFlames_BeforeGleerok - .4byte gExitList_NoExitList - .4byte gExitList_NoExitList - .4byte gExitList_NoExitList - .4byte gExitList_NoExitList - .4byte gExitList_CaveOfFlames_BossDoor - .4byte gExitList_NoExitList - .4byte gExitList_NoExitList - .4byte gExitList_NoExitList - .4byte gExitList_NoExitList - .4byte gExitList_NoExitList - .4byte gExitList_NoExitList - .4byte gExitList_NoExitList - .4byte gExitList_NoExitList - .4byte gExitList_NoExitList - -gExitList_FortressOfWinds_BeforeMazaal:: @ 08138DD4 - .include "exit_lists/gExitList_FortressOfWinds_BeforeMazaal.s" - -gExitList_FortressOfWinds_EastKeyLever:: @ 08138DFC - .include "exit_lists/gExitList_FortressOfWinds_EastKeyLever.s" - -gExitList_FortressOfWinds_PitPlatforms:: @ 08138E38 - .include "exit_lists/gExitList_FortressOfWinds_PitPlatforms.s" - -gExitList_FortressOfWinds_WestKeyLever:: @ 08138E60 - .include "exit_lists/gExitList_FortressOfWinds_WestKeyLever.s" - -gExitList_FortressOfWinds_Mazaal:: @ 08138E9C - .include "exit_lists/gExitList_FortressOfWinds_Mazaal.s" - -gExitList_FortressOfWinds_Stalfos:: @ 08138EC4 - .include "exit_lists/gExitList_FortressOfWinds_Stalfos.s" - -gExitList_FortressOfWinds_EntranceMoleMitts:: @ 08138EEC - .include "exit_lists/gExitList_FortressOfWinds_EntranceMoleMitts.s" - -gExitList_FortressOfWinds_Main2F:: @ 08138F14 - .include "exit_lists/gExitList_FortressOfWinds_Main2F.s" - -gExitList_FortressOfWinds_MinishHole:: @ 08138F50 - .include "exit_lists/gExitList_FortressOfWinds_MinishHole.s" - -gExitList_FortressOfWinds_BossKey:: @ 08138F78 - .include "exit_lists/gExitList_FortressOfWinds_BossKey.s" - -gExitList_FortressOfWinds_WestStairs2F:: @ 08138FA0 - .include "exit_lists/gExitList_FortressOfWinds_WestStairs2F.s" - -gExitList_FortressOfWinds_EastStairs2F:: @ 08138FC8 - .include "exit_lists/gExitList_FortressOfWinds_EastStairs2F.s" - -gExitList_FortressOfWinds_WestStairs1F:: @ 08139004 - .include "exit_lists/gExitList_FortressOfWinds_WestStairs1F.s" - -gExitList_FortressOfWinds_CenterStairs1F:: @ 08139040 - .include "exit_lists/gExitList_FortressOfWinds_CenterStairs1F.s" - -gExitList_FortressOfWinds_EastStairs1F:: @ 0813907C - .include "exit_lists/gExitList_FortressOfWinds_EastStairs1F.s" - -gExitList_FortressOfWinds_Wizzrobe:: @ 081390B8 - .include "exit_lists/gExitList_FortressOfWinds_Wizzrobe.s" - -gExitList_FortressOfWinds_HeartPiece:: @ 081390E0 - .include "exit_lists/gExitList_FortressOfWinds_HeartPiece.s" - -gExitLists_FortressOfWinds:: @ 08139108 - .4byte gExitList_NoExitList - .4byte gExitList_FortressOfWinds_BeforeMazaal - .4byte gExitList_FortressOfWinds_EastKeyLever - .4byte gExitList_FortressOfWinds_PitPlatforms - .4byte gExitList_FortressOfWinds_WestKeyLever - .4byte gExitList_NoExitList - .4byte gExitList_NoExitList - .4byte gExitList_NoExitList - .4byte gExitList_NoExitList - .4byte gExitList_NoExitList - .4byte gExitList_NoExitList - .4byte gExitList_NoExitList - .4byte gExitList_NoExitList - .4byte gExitList_NoExitList - .4byte gExitList_NoExitList - .4byte gExitList_NoExitList - .4byte gExitList_NoExitList - .4byte gExitList_NoExitList - .4byte gExitList_NoExitList - .4byte gExitList_NoExitList - .4byte gExitList_NoExitList - .4byte gExitList_NoExitList - .4byte gExitList_FortressOfWinds_Mazaal - .4byte gExitList_FortressOfWinds_Stalfos - .4byte gExitList_FortressOfWinds_EntranceMoleMitts - .4byte gExitList_FortressOfWinds_Main2F - .4byte gExitList_FortressOfWinds_MinishHole - .4byte gExitList_FortressOfWinds_BossKey - .4byte gExitList_FortressOfWinds_WestStairs2F - .4byte gExitList_FortressOfWinds_EastStairs2F - .4byte gExitList_NoExitList - .4byte gExitList_NoExitList - .4byte gExitList_FortressOfWinds_WestStairs1F - .4byte gExitList_FortressOfWinds_CenterStairs1F - .4byte gExitList_FortressOfWinds_EastStairs1F - .4byte gExitList_FortressOfWinds_Wizzrobe - .4byte gExitList_FortressOfWinds_HeartPiece - .4byte gExitList_NoExitList - .4byte gExitList_NoExitList - .4byte gExitList_NoExitList - -gExitList_FortressOfWindsTop_Main:: @ 081391A8 - .include "exit_lists/gExitList_FortressOfWindsTop_Main.s" - -gExitLists_FortressOfWindsTop:: @ 081391D0 - .4byte gExitList_FortressOfWindsTop_Main - -gExitList_InnerMazaal_Main:: @ 081391D4 - .include "exit_lists/gExitList_InnerMazaal_Main.s" - -gExitLists_InnerMazaal:: @ 081391FC - .4byte gExitList_InnerMazaal_Main - .4byte gExitList_InnerMazaal_Main - -gExitList_TempleOfDroplets_WestHole:: @ 08139204 - .include "exit_lists/gExitList_TempleOfDroplets_WestHole.s" - -gExitList_TempleOfDroplets_EastHole:: @ 0813922C - .include "exit_lists/gExitList_TempleOfDroplets_EastHole.s" - -gExitList_TempleOfDroplets_HoleToBlueChuchu:: @ 08139254 - .include "exit_lists/gExitList_TempleOfDroplets_HoleToBlueChuchu.s" - -gExitList_TempleOfDroplets_BigBlueChuchu:: @ 08139290 - .include "exit_lists/gExitList_TempleOfDroplets_BigBlueChuchu.s" - -gExitList_TempleOfDroplets_BigBlueChuchuKey:: @ 081392B8 - .include "exit_lists/gExitList_TempleOfDroplets_BigBlueChuchuKey.s" - -gExitList_TempleOfDroplets_BossKey:: @ 081392E0 - .include "exit_lists/gExitList_TempleOfDroplets_BossKey.s" - -gExitList_TempleOfDroplets_NorthSmallKey:: @ 08139308 - .include "exit_lists/gExitList_TempleOfDroplets_NorthSmallKey.s" - -gExitList_TempleOfDroplets_BlueChuchuKeyLever:: @ 08139330 - .include "exit_lists/gExitList_TempleOfDroplets_BlueChuchuKeyLever.s" - -gExitList_TempleOfDroplets_Entrance:: @ 0813936C - .include "exit_lists/gExitList_TempleOfDroplets_Entrance.s" - -gExitList_TempleOfDroplets_WaterfallNortheast:: @ 08139394 - .include "exit_lists/gExitList_TempleOfDroplets_WaterfallNortheast.s" - -gExitList_TempleOfDroplets_Element:: @ 081393BC - .include "exit_lists/gExitList_TempleOfDroplets_Element.s" - -gExitList_TempleOfDroplets_IceCorner:: @ 08139434 - .include "exit_lists/gExitList_TempleOfDroplets_IceCorner.s" - -gExitList_TempleOfDroplets_BigOcto:: @ 0813945C - .include "exit_lists/gExitList_TempleOfDroplets_BigOcto.s" - -gExitList_TempleOfDroplets_NorthwestStairs:: @ 08139484 - .include "exit_lists/gExitList_TempleOfDroplets_NorthwestStairs.s" - -gExitList_TempleOfDroplets_ScissorsMiniboss:: @ 081394AC - .include "exit_lists/gExitList_TempleOfDroplets_ScissorsMiniboss.s" - -gExitList_TempleOfDroplets_WaterfallSouthwest:: @ 081394D4 - .include "exit_lists/gExitList_TempleOfDroplets_WaterfallSouthwest.s" - -gExitList_TempleOfDroplets_ToBigBlueChuchu:: @ 081394FC - .include "exit_lists/gExitList_TempleOfDroplets_ToBigBlueChuchu.s" - -gExitList_TempleOfDroplets_BlockCloneIceBridge:: @ 08139538 - .include "exit_lists/gExitList_TempleOfDroplets_BlockCloneIceBridge.s" - -gExitList_TempleOfDroplets_StairsToScissorsMiniboss:: @ 08139560 - .include "exit_lists/gExitList_TempleOfDroplets_StairsToScissorsMiniboss.s" - -gExitList_TempleOfDroplets_LilypadWestB2:: @ 08139588 - .include "exit_lists/gExitList_TempleOfDroplets_LilypadWestB2.s" - -gExitList_TempleOfDroplets_CompassRoom:: @ 081395B0 - .include "exit_lists/gExitList_TempleOfDroplets_CompassRoom.s" - -gExitLists_TempleOfDroplets:: @ 081395D8 - .4byte gExitList_TempleOfDroplets_WestHole - .4byte gExitList_NoExitList - .4byte gExitList_TempleOfDroplets_EastHole - .4byte gExitList_TempleOfDroplets_Entrance - .4byte gExitList_TempleOfDroplets_NorthwestStairs - .4byte gExitList_TempleOfDroplets_ScissorsMiniboss - .4byte gExitList_NoExitList - .4byte gExitList_TempleOfDroplets_WaterfallNortheast - .4byte gExitList_TempleOfDroplets_Element - .4byte gExitList_TempleOfDroplets_IceCorner - .4byte gExitList_NoExitList - .4byte gExitList_TempleOfDroplets_HoleToBlueChuchu - .4byte gExitList_NoExitList - .4byte gExitList_TempleOfDroplets_WaterfallSouthwest - .4byte gExitList_TempleOfDroplets_BigOcto - .4byte gExitList_TempleOfDroplets_ToBigBlueChuchu - .4byte gExitList_TempleOfDroplets_BigBlueChuchu - .4byte gExitList_TempleOfDroplets_BigBlueChuchuKey - .4byte gExitList_NoExitList - .4byte gExitList_NoExitList - .4byte gExitList_NoExitList - .4byte gExitList_NoExitList - .4byte gExitList_NoExitList - .4byte gExitList_NoExitList - .4byte gExitList_NoExitList - .4byte gExitList_NoExitList - .4byte gExitList_NoExitList - .4byte gExitList_NoExitList - .4byte gExitList_NoExitList - .4byte gExitList_NoExitList - .4byte gExitList_NoExitList - .4byte gExitList_NoExitList - .4byte gExitList_TempleOfDroplets_BossKey - .4byte gExitList_TempleOfDroplets_NorthSmallKey - .4byte gExitList_NoExitList - .4byte gExitList_NoExitList - .4byte gExitList_TempleOfDroplets_BlockCloneIceBridge - .4byte gExitList_TempleOfDroplets_StairsToScissorsMiniboss - .4byte gExitList_NoExitList - .4byte gExitList_NoExitList - .4byte gExitList_NoExitList - .4byte gExitList_NoExitList - .4byte gExitList_NoExitList - .4byte gExitList_NoExitList - .4byte gExitList_NoExitList - .4byte gExitList_NoExitList - .4byte gExitList_TempleOfDroplets_BlueChuchuKeyLever - .4byte gExitList_NoExitList - .4byte gExitList_NoExitList - .4byte gExitList_TempleOfDroplets_LilypadWestB2 - .4byte gExitList_TempleOfDroplets_CompassRoom - .4byte gExitList_NoExitList - .4byte gExitList_NoExitList - .4byte gExitList_NoExitList - .4byte gExitList_NoExitList - .4byte gExitList_NoExitList - .4byte gExitList_NoExitList - .4byte gExitList_NoExitList - .4byte gExitList_NoExitList - .4byte gExitList_NoExitList - .4byte gExitList_NoExitList - .4byte gExitList_NoExitList - .4byte gExitList_NoExitList - .4byte gExitList_NoExitList - -gExitList_61_0:: @ 081396D8 - .include "exit_lists/gExitList_61_0.s" - -gExitLists_61:: @ 08139714 - .4byte gExitList_61_0 - -gExitList_RoyalCrypt_WaterRope:: @ 08139718 - .include "exit_lists/gExitList_RoyalCrypt_WaterRope.s" - -gExitList_RoyalCrypt_Gibdo:: @ 0813972C - .include "exit_lists/gExitList_RoyalCrypt_Gibdo.s" - -gExitList_RoyalCrypt_KeyBlock:: @ 08139754 - .include "exit_lists/gExitList_RoyalCrypt_KeyBlock.s" - -gExitList_RoyalCrypt_MushroomPit:: @ 08139790 - .include "exit_lists/gExitList_RoyalCrypt_MushroomPit.s" - -gExitList_RoyalCrypt_Entrance:: @ 081397B8 - .include "exit_lists/gExitList_RoyalCrypt_Entrance.s" - -gExitLists_RoyalCrypt:: @ 081397E0 - .4byte gExitList_NoExitList - .4byte gExitList_RoyalCrypt_WaterRope - .4byte gExitList_RoyalCrypt_Gibdo - .4byte gExitList_NoExitList - .4byte gExitList_RoyalCrypt_KeyBlock - .4byte gExitList_NoExitList - .4byte gExitList_NoExitList - .4byte gExitList_RoyalCrypt_MushroomPit - .4byte gExitList_RoyalCrypt_Entrance - -gExitList_PalaceOfWinds_0:: @ 08139804 - .include "exit_lists/gExitList_PalaceOfWinds_0.s" - -gExitList_PalaceOfWinds_3:: @ 0813982C - .include "exit_lists/gExitList_PalaceOfWinds_3.s" - -gExitList_PalaceOfWinds_8:: @ 08139854 - .include "exit_lists/gExitList_PalaceOfWinds_8.s" - -gExitList_PalaceOfWinds_9:: @ 0813987C - .include "exit_lists/gExitList_PalaceOfWinds_9.s" - -gExitList_PalaceOfWinds_10:: @ 081398A4 - .include "exit_lists/gExitList_PalaceOfWinds_10.s" - -gExitList_PalaceOfWinds_11:: @ 081398CC - .include "exit_lists/gExitList_PalaceOfWinds_11.s" - -gExitList_PalaceOfWinds_13:: @ 08139908 - .include "exit_lists/gExitList_PalaceOfWinds_13.s" - -gExitList_PalaceOfWinds_14:: @ 08139944 - .include "exit_lists/gExitList_PalaceOfWinds_14.s" - -gExitList_PalaceOfWinds_16:: @ 08139980 - .include "exit_lists/gExitList_PalaceOfWinds_16.s" - -gExitList_PalaceOfWinds_18:: @ 081399A8 - .include "exit_lists/gExitList_PalaceOfWinds_18.s" - -gExitList_PalaceOfWinds_21:: @ 081399D0 - .include "exit_lists/gExitList_PalaceOfWinds_21.s" - -gExitList_PalaceOfWinds_23:: @ 08139A34 - .include "exit_lists/gExitList_PalaceOfWinds_23.s" - -gExitList_PalaceOfWinds_26:: @ 08139A5C - .include "exit_lists/gExitList_PalaceOfWinds_26.s" - -gExitList_PalaceOfWinds_30:: @ 08139A84 - .include "exit_lists/gExitList_PalaceOfWinds_30.s" - -gExitList_PalaceOfWinds_32:: @ 08139AAC - .include "exit_lists/gExitList_PalaceOfWinds_32.s" - -gExitList_PalaceOfWinds_35:: @ 08139AFC - .include "exit_lists/gExitList_PalaceOfWinds_35.s" - -gExitList_PalaceOfWinds_36:: @ 08139B24 - .include "exit_lists/gExitList_PalaceOfWinds_36.s" - -gExitList_PalaceOfWinds_40:: @ 08139B4C - .include "exit_lists/gExitList_PalaceOfWinds_40.s" - -gExitList_PalaceOfWinds_42:: @ 08139B88 - .include "exit_lists/gExitList_PalaceOfWinds_42.s" - -gExitList_PalaceOfWinds_47:: @ 08139BC4 - .include "exit_lists/gExitList_PalaceOfWinds_47.s" - -gExitList_PalaceOfWinds_50:: @ 08139BEC - .include "exit_lists/gExitList_PalaceOfWinds_50.s" - -gExitLists_PalaceOfWinds:: @ 08139C28 - .4byte gExitList_PalaceOfWinds_0 - .4byte gExitList_NoExitList - .4byte gExitList_NoExitList - .4byte gExitList_PalaceOfWinds_3 - .4byte gExitList_NoExitList - .4byte gExitList_NoExitList - .4byte gExitList_NoExitList - .4byte gExitList_NoExitList - .4byte gExitList_PalaceOfWinds_8 - .4byte gExitList_PalaceOfWinds_9 - .4byte gExitList_PalaceOfWinds_10 - .4byte gExitList_PalaceOfWinds_11 - .4byte gExitList_NoExitList - .4byte gExitList_PalaceOfWinds_13 - .4byte gExitList_PalaceOfWinds_14 - .4byte gExitList_NoExitList - .4byte gExitList_PalaceOfWinds_16 - .4byte gExitList_NoExitList - .4byte gExitList_PalaceOfWinds_18 - .4byte gExitList_NoExitList - .4byte gExitList_NoExitList - .4byte gExitList_PalaceOfWinds_21 - .4byte gExitList_NoExitList - .4byte gExitList_PalaceOfWinds_23 - .4byte gExitList_NoExitList - .4byte gExitList_NoExitList - .4byte gExitList_PalaceOfWinds_26 - .4byte gExitList_NoExitList - .4byte gExitList_NoExitList - .4byte gExitList_NoExitList - .4byte gExitList_PalaceOfWinds_30 - .4byte gExitList_NoExitList - .4byte gExitList_PalaceOfWinds_32 - .4byte gExitList_NoExitList - .4byte gExitList_NoExitList - .4byte gExitList_PalaceOfWinds_35 - .4byte gExitList_PalaceOfWinds_36 - .4byte gExitList_NoExitList - .4byte gExitList_NoExitList - .4byte gExitList_NoExitList - .4byte gExitList_PalaceOfWinds_40 - .4byte gExitList_NoExitList - .4byte gExitList_PalaceOfWinds_42 - .4byte gExitList_NoExitList - .4byte gExitList_NoExitList - .4byte gExitList_NoExitList - .4byte gExitList_NoExitList - .4byte gExitList_PalaceOfWinds_47 - .4byte gExitList_NoExitList - .4byte gExitList_NoExitList - .4byte gExitList_PalaceOfWinds_50 - .4byte gExitList_NoExitList - .4byte 0x0000ffff - .4byte 00000000 - .4byte 00000000 - .4byte 00000000 - .4byte 00000000 - -gExitList_DarkHyruleCastle_0:: @ 08139D0C - .include "exit_lists/gExitList_DarkHyruleCastle_0.s" - -gExitList_DarkHyruleCastle_1:: @ 08139D5C - .include "exit_lists/gExitList_DarkHyruleCastle_1.s" - -gExitList_DarkHyruleCastle_2:: @ 08139D84 - .include "exit_lists/gExitList_DarkHyruleCastle_2.s" - -gExitList_DarkHyruleCastle_3:: @ 08139DAC - .include "exit_lists/gExitList_DarkHyruleCastle_3.s" - -gExitList_DarkHyruleCastle_4:: @ 08139DD4 - .include "exit_lists/gExitList_DarkHyruleCastle_4.s" - -gExitList_DarkHyruleCastle_5:: @ 08139DFC - .include "exit_lists/gExitList_DarkHyruleCastle_5.s" - -gExitList_DarkHyruleCastle_6:: @ 08139E38 - .include "exit_lists/gExitList_DarkHyruleCastle_6.s" - -gExitList_DarkHyruleCastle_7:: @ 08139E74 - .include "exit_lists/gExitList_DarkHyruleCastle_7.s" - -gExitList_DarkHyruleCastle_13:: @ 08139EC4 - .include "exit_lists/gExitList_DarkHyruleCastle_13.s" - -gExitList_DarkHyruleCastle_18:: @ 08139F14 - .include "exit_lists/gExitList_DarkHyruleCastle_18.s" - -gExitList_DarkHyruleCastle_20:: @ 08139F50 - .include "exit_lists/gExitList_DarkHyruleCastle_20.s" - -gExitList_DarkHyruleCastle_23:: @ 08139F78 - .include "exit_lists/gExitList_DarkHyruleCastle_23.s" - -gExitList_DarkHyruleCastle_25:: @ 08139FA0 - .include "exit_lists/gExitList_DarkHyruleCastle_25.s" - -gExitList_DarkHyruleCastle_26:: @ 08139FF0 - .include "exit_lists/gExitList_DarkHyruleCastle_26.s" - -gExitList_DarkHyruleCastle_28:: @ 0813A018 - .include "exit_lists/gExitList_DarkHyruleCastle_28.s" - -gExitList_DarkHyruleCastle_29:: @ 0813A040 - .include "exit_lists/gExitList_DarkHyruleCastle_29.s" - -gExitList_DarkHyruleCastle_30:: @ 0813A090 - .include "exit_lists/gExitList_DarkHyruleCastle_30.s" - -gExitList_DarkHyruleCastle_31:: @ 0813A0B8 - .include "exit_lists/gExitList_DarkHyruleCastle_31.s" - -gExitList_DarkHyruleCastle_32:: @ 0813A0E0 - .include "exit_lists/gExitList_DarkHyruleCastle_32.s" - -gExitList_DarkHyruleCastle_33:: @ 0813A108 - .include "exit_lists/gExitList_DarkHyruleCastle_33.s" - -gExitList_DarkHyruleCastle_34:: @ 0813A130 - .include "exit_lists/gExitList_DarkHyruleCastle_34.s" - -gExitList_DarkHyruleCastle_43:: @ 0813A158 - .include "exit_lists/gExitList_DarkHyruleCastle_43.s" - -gExitList_DarkHyruleCastle_44:: @ 0813A180 - .include "exit_lists/gExitList_DarkHyruleCastle_44.s" - -gExitList_DarkHyruleCastle_45:: @ 0813A1A8 - .include "exit_lists/gExitList_DarkHyruleCastle_45.s" - -gExitList_DarkHyruleCastle_46:: @ 0813A1D0 - .include "exit_lists/gExitList_DarkHyruleCastle_46.s" - -gExitList_DarkHyruleCastle_47:: @ 0813A1F8 - .include "exit_lists/gExitList_DarkHyruleCastle_47.s" - -gExitList_DarkHyruleCastle_48:: @ 0813A220 - .include "exit_lists/gExitList_DarkHyruleCastle_48.s" - -gExitList_DarkHyruleCastle_55:: @ 0813A248 - .include "exit_lists/gExitList_DarkHyruleCastle_55.s" - -gExitList_DarkHyruleCastle_56:: @ 0813A284 - .include "exit_lists/gExitList_DarkHyruleCastle_56.s" - -gExitLists_DarkHyruleCastle:: @ 0813A2AC - .4byte gExitList_DarkHyruleCastle_0 - .4byte gExitList_DarkHyruleCastle_1 - .4byte gExitList_DarkHyruleCastle_2 - .4byte gExitList_DarkHyruleCastle_3 - .4byte gExitList_DarkHyruleCastle_4 - .4byte gExitList_DarkHyruleCastle_5 - .4byte gExitList_DarkHyruleCastle_6 - .4byte gExitList_DarkHyruleCastle_7 - .4byte gExitList_NoExitList - .4byte gExitList_NoExitList - .4byte gExitList_NoExitList - .4byte gExitList_NoExitList - .4byte gExitList_NoExitList - .4byte gExitList_DarkHyruleCastle_13 - .4byte gExitList_NoExitList - .4byte gExitList_NoExitList - .4byte gExitList_NoExitList - .4byte gExitList_NoExitList - .4byte gExitList_DarkHyruleCastle_18 - .4byte gExitList_NoExitList - .4byte gExitList_DarkHyruleCastle_20 - .4byte gExitList_NoExitList - .4byte gExitList_NoExitList - .4byte gExitList_DarkHyruleCastle_23 - .4byte gExitList_NoExitList - .4byte gExitList_DarkHyruleCastle_25 - .4byte gExitList_DarkHyruleCastle_26 - .4byte gExitList_NoExitList - .4byte gExitList_DarkHyruleCastle_28 - .4byte gExitList_DarkHyruleCastle_29 - .4byte gExitList_DarkHyruleCastle_30 - .4byte gExitList_DarkHyruleCastle_31 - .4byte gExitList_DarkHyruleCastle_32 - .4byte gExitList_DarkHyruleCastle_33 - .4byte gExitList_DarkHyruleCastle_34 - .4byte gExitList_NoExitList - .4byte gExitList_NoExitList - .4byte gExitList_NoExitList - .4byte gExitList_NoExitList - .4byte gExitList_NoExitList - .4byte gExitList_NoExitList - .4byte gExitList_NoExitList - .4byte gExitList_NoExitList - .4byte gExitList_DarkHyruleCastle_43 - .4byte gExitList_DarkHyruleCastle_44 - .4byte gExitList_DarkHyruleCastle_45 - .4byte gExitList_DarkHyruleCastle_46 - .4byte gExitList_DarkHyruleCastle_47 - .4byte gExitList_DarkHyruleCastle_48 - .4byte gExitList_NoExitList - .4byte gExitList_NoExitList - .4byte gExitList_NoExitList - .4byte gExitList_NoExitList - .4byte gExitList_NoExitList - .4byte gExitList_NoExitList - .4byte gExitList_DarkHyruleCastle_55 - .4byte gExitList_DarkHyruleCastle_56 - .4byte gExitList_NoExitList - .4byte gExitList_NoExitList - .4byte gExitList_NoExitList - .4byte gExitList_NoExitList - .4byte gExitList_NoExitList - .4byte gExitList_NoExitList - .4byte gExitList_NoExitList - .4byte 0x0000ffff - .4byte 00000000 - .4byte 00000000 - .4byte 00000000 - .4byte 00000000 - -gExitList_DarkHyruleCastleOutside_ZeldaStatuePlatform:: @ 0813A3C0 - .include "exit_lists/gExitList_DarkHyruleCastleOutside_ZeldaStatuePlatform.s" - -gExitList_DarkHyruleCastleOutside_Garden:: @ 0813A3E8 - .include "exit_lists/gExitList_DarkHyruleCastleOutside_Garden.s" - -gExitList_DarkHyruleCastleOutside_OutsideNorthwest:: @ 0813A424 - .include "exit_lists/gExitList_DarkHyruleCastleOutside_OutsideNorthwest.s" - -gExitList_DarkHyruleCastleOutside_OutsideNortheast:: @ 0813A44C - .include "exit_lists/gExitList_DarkHyruleCastleOutside_OutsideNortheast.s" - -gExitList_DarkHyruleCastleOutside_OutsideEast:: @ 0813A474 - .include "exit_lists/gExitList_DarkHyruleCastleOutside_OutsideEast.s" - -gExitList_DarkHyruleCastleOutside_OutsideSouthwest:: @ 0813A4B0 - .include "exit_lists/gExitList_DarkHyruleCastleOutside_OutsideSouthwest.s" - -gExitList_DarkHyruleCastleOutside_OutsideSouth:: @ 0813A4D8 - .include "exit_lists/gExitList_DarkHyruleCastleOutside_OutsideSouth.s" - -gExitList_DarkHyruleCastleOutside_OutsideSoutheast:: @ 0813A514 - .include "exit_lists/gExitList_DarkHyruleCastleOutside_OutsideSoutheast.s" - -gExitLists_DarkHyruleCastleOutside:: @ 0813A53C - .4byte gExitList_DarkHyruleCastleOutside_ZeldaStatuePlatform - .4byte gExitList_DarkHyruleCastleOutside_Garden - .4byte gExitList_DarkHyruleCastleOutside_OutsideNorthwest - .4byte gExitList_DarkHyruleCastleOutside_OutsideNortheast - .4byte gExitList_DarkHyruleCastleOutside_OutsideEast - .4byte gExitList_DarkHyruleCastleOutside_OutsideSouthwest - .4byte gExitList_DarkHyruleCastleOutside_OutsideSouth - .4byte gExitList_DarkHyruleCastleOutside_OutsideSoutheast - -gExitList_VaatisArms_First:: @ 0813A55C - .include "exit_lists/gExitList_VaatisArms_First.s" - -gExitList_VaatisArms_Second:: @ 0813A584 - .include "exit_lists/gExitList_VaatisArms_Second.s" - -gExitLists_VaatisArms:: @ 0813A5AC - .4byte gExitList_VaatisArms_First - .4byte gExitList_VaatisArms_Second - -gExitList_DarkHyruleCastleBridge_Main:: @ 0813A5B4 - .include "exit_lists/gExitList_DarkHyruleCastleBridge_Main.s" - -gExitLists_DarkHyruleCastleBridge:: @ 0813A5F0 - .4byte gExitList_DarkHyruleCastleBridge_Main - -gExitList_HyruleCastle_0:: @ 0813A5F4 - .include "exit_lists/gExitList_HyruleCastle_0.s" - -gExitList_HyruleCastle_1:: @ 0813A630 - .include "exit_lists/gExitList_HyruleCastle_1.s" - -gExitList_HyruleCastle_3:: @ 0813A66C - .include "exit_lists/gExitList_HyruleCastle_3.s" - -gExitLists_HyruleCastle:: @ 0813A6E4 - .4byte gExitList_HyruleCastle_0 - .4byte gExitList_HyruleCastle_1 - .4byte gExitList_NoExitList - .4byte gExitList_HyruleCastle_3 - .4byte gExitList_NoExitList - .4byte gExitList_NoExitList - .4byte gExitList_NoExitList - .4byte gExitList_NoExitList - -gExitList_SanctuaryEntrance_Main:: @ 0813A704 - .include "exit_lists/gExitList_SanctuaryEntrance_Main.s" - -gExitLists_SanctuaryEntrance:: @ 0813A740 - .4byte gExitList_SanctuaryEntrance_Main - -gExitList_Sanctuary_Hall:: @ 0813A744 - .include "exit_lists/gExitList_Sanctuary_Hall.s" - -gUnk_0813A76C:: @ 0813A76C - .incbin "data_08132B30/gUnk_0813A76C.bin" - -gExitList_Sanctuary_Main:: @ 0813A794 - .include "exit_lists/gExitList_Sanctuary_Main.s" - -gExitList_Sanctuary_StainedGlass:: @ 0813A7BC - .include "exit_lists/gExitList_Sanctuary_StainedGlass.s" - -gExitLists_Sanctuary:: @ 0813A7E4 - .4byte gExitList_Sanctuary_Hall - .4byte gExitList_Sanctuary_Main - .4byte gExitList_Sanctuary_StainedGlass - -gExitLists:: @ 0813A7F0 - .4byte gExitLists_MinishWoods - .4byte gExitLists_MinishVillage - .4byte gExitLists_HyruleTown - .4byte gExitLists_HyruleField - .4byte gExitLists_CastorWilds - .4byte gExitLists_Ruins - .4byte gExitLists_MtCrenel - .4byte gExitLists_CastleGarden - .4byte gExitLists_CloudTops - .4byte gExitLists_RoyalValley - .4byte gExitLists_VeilFalls - .4byte gExitLists_LakeHylia - .4byte gExitLists_LakeWoodsCave - .4byte gExitLists_Beanstalks - .4byte gExitLists_NoExit - .4byte gExitLists_HyruleDigCaves - .4byte gExitLists_MelarisMine - .4byte gExitLists_MinishPaths1 - .4byte gExitLists_CrenelMinishPaths - .4byte gExitLists_DigCaves1 - .4byte gExitLists_NoExit - .4byte gExitLists_FestivalTown - .4byte gExitLists_NoExit - .4byte gExitLists_NoExit - .4byte gExitLists_OuterFortressOfWinds - .4byte gExitLists_HyliaDigCaves - .4byte gExitLists_VeilFallsTop - .4byte gExitLists_NoExit - .4byte gExitLists_NoExit - .4byte gExitLists_NoExit - .4byte gExitLists_NoExit - .4byte gExitLists_NoExit - .4byte gExitLists_MinishHouseInteriors - .4byte gExitLists_HouseInteriors1 - .4byte gExitLists_HouseInteriors2 - .4byte gExitLists_HouseInteriors3 - .4byte gExitLists_TreeInteriors - .4byte gExitLists_Dojos - .4byte gExitLists_CrenelCaves - .4byte gExitLists_MinishCracks - .4byte gExitLists_HouseInteriors4 - .4byte gExitLists_GreatFairies - .4byte gExitLists_CastorCaves - .4byte gExitLists_CastorDarknut - .4byte gExitLists_ArmosInteriors - .4byte gExitLists_TownMinishHoles - .4byte gExitLists_MinishRafters - .4byte gExitLists_GoronCave - .4byte gExitLists_WindTribeTower - .4byte gExitLists_WindTribeTowerRoof - .4byte gExitLists_Caves - .4byte gExitLists_VeilFallsCaves - .4byte gExitLists_RoyalValleyGraves - .4byte gExitLists_MinishCaves - .4byte gExitLists_CastleGardenMinishHoles - .4byte gExitLists_37 - .4byte gExitLists_NoExit - .4byte gExitLists_NoExit - .4byte gExitLists_NoExit - .4byte gExitLists_NoExit - .4byte gExitLists_NoExit - .4byte gExitLists_NoExit - .4byte gExitLists_NoExit - .4byte gExitLists_NoExit - .4byte gExitLists_40 - .4byte gExitLists_HyruleTownUnderground - .4byte gExitLists_GardenFountains - .4byte gExitLists_HyruleCastleCellar - .4byte gExitLists_NoExit - .4byte gExitLists_NoExit - .4byte gExitLists_40 - .4byte gExitLists_NoExit - .4byte gExitLists_DeepwoodShrine - .4byte gExitLists_DeepwoodShrineBoss - .4byte gExitLists_DeepwoodShrineEntry - .4byte gExitLists_NoExit - .4byte gExitLists_NoExit - .4byte gExitLists_NoExit - .4byte gExitLists_NoExit - .4byte gExitLists_NoExit - .4byte gExitLists_CaveOfFlames - .4byte gExitLists_NoExit - .4byte gExitLists_NoExit - .4byte gExitLists_NoExit - .4byte gExitLists_NoExit - .4byte gExitLists_NoExit - .4byte gExitLists_NoExit - .4byte gExitLists_NoExit - .ifndef DEMO_USA - .4byte gExitLists_FortressOfWinds - .4byte gExitLists_FortressOfWindsTop - .4byte gExitLists_InnerMazaal - .4byte gExitLists_NoExit - .4byte gExitLists_NoExit - .4byte gExitLists_NoExit - .4byte gExitLists_NoExit - .4byte gExitLists_NoExit - .endif - .4byte gExitLists_TempleOfDroplets - .4byte gExitLists_61 - .4byte gExitLists_HyruleTownMinishCaves - .4byte gExitLists_NoExit - .4byte gExitLists_NoExit - .4byte gExitLists_NoExit - .4byte gExitLists_NoExit - .4byte gExitLists_NoExit - .4byte gExitLists_RoyalCrypt - .4byte gExitLists_NoExit - .4byte gExitLists_NoExit - .4byte gExitLists_NoExit - .4byte gExitLists_NoExit - .4byte gExitLists_NoExit - .4byte gExitLists_NoExit - .4byte gExitLists_NoExit - .4byte gExitLists_PalaceOfWinds - .4byte gExitLists_NoExit - .4byte gExitLists_NoExit - .4byte gExitLists_NoExit - .4byte gExitLists_NoExit - .4byte gExitLists_NoExit - .4byte gExitLists_NoExit - .4byte gExitLists_NoExit - .4byte gExitLists_Sanctuary - .4byte gExitLists_NoExit - .4byte gExitLists_NoExit - .4byte gExitLists_NoExit - .4byte gExitLists_NoExit - .4byte gExitLists_NoExit - .4byte gExitLists_NoExit - .4byte gExitLists_NoExit - .4byte gExitLists_HyruleCastle - .4byte gExitLists_SanctuaryEntrance - .4byte gExitLists_NoExit - .4byte gExitLists_NoExit - .4byte gExitLists_NoExit - .4byte gExitLists_NoExit - .4byte gExitLists_NoExit - .4byte gExitLists_NoExit - .4byte gExitLists_DarkHyruleCastle - .4byte gExitLists_DarkHyruleCastleOutside - .4byte gExitLists_VaatisArms - .4byte gExitLists_NoExit - .4byte gExitLists_NoExit - .4byte gExitLists_DarkHyruleCastleBridge - .4byte gExitLists_NoExit - .4byte gExitLists_NoExit - .4byte gExitLists_NoExit - .4byte gExitLists_NoExit - .4byte gExitLists_NoExit - .4byte gExitLists_NoExit - .4byte gExitLists_NoExit - .4byte gExitLists_NoExit - .4byte gExitLists_NoExit - .4byte gExitLists_NoExit - .4byte gExitLists_NoExit diff --git a/data/map/map_data.s b/data/map/map_data.s index 1ec18483..dcffdb56 100644 --- a/data/map/map_data.s +++ b/data/map/map_data.s @@ -1275,29 +1275,29 @@ gAreaRoomMap_MelarisMine_0_0:: gAreaRoomMap_MelarisMine_0_1:: .incbin "assets/gAreaRoomMap_MelarisMine_0_1.bin" .align 2 -gAreaTileset_MinishPaths1_2_0:: - .incbin "tilesets/gAreaTileset_MinishPaths1_2_0.4bpp.lz" -gAreaTileset_MinishPaths1_2_1:: - .incbin "tilesets/gAreaTileset_MinishPaths1_2_1.4bpp.lz" +gAreaTileset_MinishPaths_2_0:: + .incbin "tilesets/gAreaTileset_MinishPaths_2_0.4bpp.lz" +gAreaTileset_MinishPaths_2_1:: + .incbin "tilesets/gAreaTileset_MinishPaths_2_1.4bpp.lz" .align 2 gAreaMetatiles_MnishPaths1_0:: .incbin "assets/gAreaMetatiles_MnishPaths1_0.bin" .align 2 gAreaMetatiles_MnishPaths1_1:: .incbin "assets/gAreaMetatiles_MnishPaths1_1.bin" -gAreaRoomMap_MinishPaths1_0_0:: - .incbin "assets/gAreaRoomMap_MinishPaths1_0_0.bin" +gAreaRoomMap_MinishPaths_0_0:: + .incbin "assets/gAreaRoomMap_MinishPaths_0_0.bin" .align 2 -gAreaRoomMap_MinishPaths1_1_0:: - .incbin "assets/gAreaRoomMap_MinishPaths1_1_0.bin" +gAreaRoomMap_MinishPaths_1_0:: + .incbin "assets/gAreaRoomMap_MinishPaths_1_0.bin" .align 2 -gAreaRoomMap_MinishPaths1_2_0:: - .incbin "assets/gAreaRoomMap_MinishPaths1_2_0.bin" +gAreaRoomMap_MinishPaths_2_0:: + .incbin "assets/gAreaRoomMap_MinishPaths_2_0.bin" .align 2 -gAreaRoomMap_MinishPaths1_3_0:: - .incbin "assets/gAreaRoomMap_MinishPaths1_3_0.bin" -gAreaRoomMap_MinishPaths1_4_0:: - .incbin "assets/gAreaRoomMap_MinishPaths1_4_0.bin" +gAreaRoomMap_MinishPaths_3_0:: + .incbin "assets/gAreaRoomMap_MinishPaths_3_0.bin" +gAreaRoomMap_MinishPaths_4_0:: + .incbin "assets/gAreaRoomMap_MinishPaths_4_0.bin" .align 2 gAreaTileset_CrenelMinishPaths_0_0:: .incbin "tilesets/gAreaTileset_CrenelMinishPaths_0_0.4bpp.lz" @@ -3526,26 +3526,26 @@ gAreaRoomMap_RoyalCrypt_8_0:: gAreaRoomMap_RoyalCrypt_8_1:: .incbin "assets/gAreaRoomMap_RoyalCrypt_8_1.bin" .align 2 -gAreaTileset_PalaceOfWinds_0_0:: - .incbin "tilesets/gAreaTileset_PalaceOfWinds_0_0.4bpp.lz" -gAreaTileset_PalaceOfWinds_0_1:: - .incbin "tilesets/gAreaTileset_PalaceOfWinds_0_1.4bpp.lz" +gAreaTileset_PalaceOfWinds_GyorgTornado_0:: + .incbin "tilesets/gAreaTileset_PalaceOfWinds_GyorgTornado_0.4bpp.lz" +gAreaTileset_PalaceOfWinds_GyorgTornado_1:: + .incbin "tilesets/gAreaTileset_PalaceOfWinds_GyorgTornado_1.4bpp.lz" .align 2 -gAreaTileset_PalaceOfWinds_0_2:: - .incbin "tilesets/gAreaTileset_PalaceOfWinds_0_2.4bpp.lz" +gAreaTileset_PalaceOfWinds_GyorgTornado_2:: + .incbin "tilesets/gAreaTileset_PalaceOfWinds_GyorgTornado_2.4bpp.lz" .align 2 -gAreaMetatiles_PalaceOfWinds_0:: - .incbin "assets/gAreaMetatiles_PalaceOfWinds_0.bin" +gAreaMetatiles_PalaceOfWinds_GyorgTornado:: + .incbin "assets/gAreaMetatiles_PalaceOfWinds_GyorgTornado.bin" .align 2 -gAreaMetatiles_PalaceOfWinds_1:: - .incbin "assets/gAreaMetatiles_PalaceOfWinds_1.bin" -gAreaMetatiles_PalaceOfWinds_2:: - .incbin "assets/gAreaMetatiles_PalaceOfWinds_2.bin" -gAreaMetatiles_PalaceOfWinds_3:: - .incbin "assets/gAreaMetatiles_PalaceOfWinds_3.bin" +gAreaMetatiles_PalaceOfWinds_BossKey:: + .incbin "assets/gAreaMetatiles_PalaceOfWinds_BossKey.bin" +gAreaMetatiles_PalaceOfWinds_BeforeBallAndChainSoldiers:: + .incbin "assets/gAreaMetatiles_PalaceOfWinds_BeforeBallAndChainSoldiers.bin" +gAreaMetatiles_PalaceOfWinds_GyorgBossDoor:: + .incbin "assets/gAreaMetatiles_PalaceOfWinds_GyorgBossDoor.bin" .align 2 -gAreaTileset_PalaceOfWinds_0_3:: - .incbin "assets/gAreaTileset_PalaceOfWinds_0_3.bin" +gAreaTileset_PalaceOfWinds_GyorgTornado_3:: + .incbin "assets/gAreaTileset_PalaceOfWinds_GyorgTornado_3.bin" gAreaTileset_PalaceOfWindsBoss_0_0:: .incbin "tilesets/gAreaTileset_PalaceOfWindsBoss_0_0.4bpp.lz" .align 2 @@ -3562,403 +3562,403 @@ unknown_134:: .incbin "assets/unknown_134.bin" gAreaTileset_PalaceOfWindsBoss_0_2:: .incbin "assets/gAreaTileset_PalaceOfWindsBoss_0_2.bin" -gAreaRoomMap_PalaceOfWinds_0_0:: - .incbin "assets/gAreaRoomMap_PalaceOfWinds_0_0.bin" +gAreaRoomMap_PalaceOfWinds_GyorgTornado_0:: + .incbin "assets/gAreaRoomMap_PalaceOfWinds_GyorgTornado_0.bin" .align 2 -gAreaRoomMap_PalaceOfWinds_0_1:: - .incbin "assets/gAreaRoomMap_PalaceOfWinds_0_1.bin" +gAreaRoomMap_PalaceOfWinds_GyorgTornado_1:: + .incbin "assets/gAreaRoomMap_PalaceOfWinds_GyorgTornado_1.bin" .align 2 unknown_135:: .incbin "assets/unknown_135.bin" -gAreaRoomMap_PalaceOfWinds_1_0:: - .incbin "assets/gAreaRoomMap_PalaceOfWinds_1_0.bin" +gAreaRoomMap_PalaceOfWinds_BossKey_0:: + .incbin "assets/gAreaRoomMap_PalaceOfWinds_BossKey_0.bin" .align 2 -gAreaRoomMap_PalaceOfWinds_1_1:: - .incbin "assets/gAreaRoomMap_PalaceOfWinds_1_1.bin" +gAreaRoomMap_PalaceOfWinds_BossKey_1:: + .incbin "assets/gAreaRoomMap_PalaceOfWinds_BossKey_1.bin" .align 2 unknown_136:: .incbin "assets/unknown_136.bin" -gAreaRoomMap_PalaceOfWinds_2_0:: - .incbin "assets/gAreaRoomMap_PalaceOfWinds_2_0.bin" -gAreaRoomMap_PalaceOfWinds_2_1:: - .incbin "assets/gAreaRoomMap_PalaceOfWinds_2_1.bin" +gAreaRoomMap_PalaceOfWinds_BeforeBallAndChainSoldiers_0:: + .incbin "assets/gAreaRoomMap_PalaceOfWinds_BeforeBallAndChainSoldiers_0.bin" +gAreaRoomMap_PalaceOfWinds_BeforeBallAndChainSoldiers_1:: + .incbin "assets/gAreaRoomMap_PalaceOfWinds_BeforeBallAndChainSoldiers_1.bin" .align 2 unknown_137:: .incbin "assets/unknown_137.bin" -gAreaRoomMap_PalaceOfWinds_3_0:: - .incbin "assets/gAreaRoomMap_PalaceOfWinds_3_0.bin" +gAreaRoomMap_PalaceOfWinds_GyorgBossDoor_0:: + .incbin "assets/gAreaRoomMap_PalaceOfWinds_GyorgBossDoor_0.bin" .align 2 -gAreaRoomMap_PalaceOfWinds_3_1:: - .incbin "assets/gAreaRoomMap_PalaceOfWinds_3_1.bin" +gAreaRoomMap_PalaceOfWinds_GyorgBossDoor_1:: + .incbin "assets/gAreaRoomMap_PalaceOfWinds_GyorgBossDoor_1.bin" .align 2 unknown_138:: .incbin "assets/unknown_138.bin" -gAreaRoomMap_PalaceOfWinds_4_0:: - .incbin "assets/gAreaRoomMap_PalaceOfWinds_4_0.bin" +gAreaRoomMap_PalaceOfWinds_EastChestFromGyorgBossDoor_0:: + .incbin "assets/gAreaRoomMap_PalaceOfWinds_EastChestFromGyorgBossDoor_0.bin" .align 2 -gAreaRoomMap_PalaceOfWinds_4_1:: - .incbin "assets/gAreaRoomMap_PalaceOfWinds_4_1.bin" +gAreaRoomMap_PalaceOfWinds_EastChestFromGyorgBossDoor_1:: + .incbin "assets/gAreaRoomMap_PalaceOfWinds_EastChestFromGyorgBossDoor_1.bin" .align 2 unknown_139:: .incbin "assets/unknown_139.bin" -gAreaRoomMap_PalaceOfWinds_5_0:: - .incbin "assets/gAreaRoomMap_PalaceOfWinds_5_0.bin" +gAreaRoomMap_PalaceOfWinds_MoblinAndWizzrobeFight_0:: + .incbin "assets/gAreaRoomMap_PalaceOfWinds_MoblinAndWizzrobeFight_0.bin" .align 2 -gAreaRoomMap_PalaceOfWinds_5_1:: - .incbin "assets/gAreaRoomMap_PalaceOfWinds_5_1.bin" +gAreaRoomMap_PalaceOfWinds_MoblinAndWizzrobeFight_1:: + .incbin "assets/gAreaRoomMap_PalaceOfWinds_MoblinAndWizzrobeFight_1.bin" .align 2 unknown_140:: .incbin "assets/unknown_140.bin" -gAreaRoomMap_PalaceOfWinds_6_0:: - .incbin "assets/gAreaRoomMap_PalaceOfWinds_6_0.bin" +gAreaRoomMap_PalaceOfWinds_FourButtonStalfos_0:: + .incbin "assets/gAreaRoomMap_PalaceOfWinds_FourButtonStalfos_0.bin" .align 2 -gAreaRoomMap_PalaceOfWinds_6_1:: - .incbin "assets/gAreaRoomMap_PalaceOfWinds_6_1.bin" +gAreaRoomMap_PalaceOfWinds_FourButtonStalfos_1:: + .incbin "assets/gAreaRoomMap_PalaceOfWinds_FourButtonStalfos_1.bin" .align 2 unknown_141:: .incbin "assets/unknown_141.bin" -gAreaRoomMap_PalaceOfWinds_7_0:: - .incbin "assets/gAreaRoomMap_PalaceOfWinds_7_0.bin" +gAreaRoomMap_PalaceOfWinds_FanAndKeyToBossKey_0:: + .incbin "assets/gAreaRoomMap_PalaceOfWinds_FanAndKeyToBossKey_0.bin" .align 2 -gAreaRoomMap_PalaceOfWinds_7_1:: - .incbin "assets/gAreaRoomMap_PalaceOfWinds_7_1.bin" +gAreaRoomMap_PalaceOfWinds_FanAndKeyToBossKey_1:: + .incbin "assets/gAreaRoomMap_PalaceOfWinds_FanAndKeyToBossKey_1.bin" .align 2 unknown_142:: .incbin "assets/unknown_142.bin" -gAreaRoomMap_PalaceOfWinds_8_0:: - .incbin "assets/gAreaRoomMap_PalaceOfWinds_8_0.bin" +gAreaRoomMap_PalaceOfWinds_BallAndChainSoldiers_0:: + .incbin "assets/gAreaRoomMap_PalaceOfWinds_BallAndChainSoldiers_0.bin" .align 2 -gAreaRoomMap_PalaceOfWinds_8_1:: - .incbin "assets/gAreaRoomMap_PalaceOfWinds_8_1.bin" +gAreaRoomMap_PalaceOfWinds_BallAndChainSoldiers_1:: + .incbin "assets/gAreaRoomMap_PalaceOfWinds_BallAndChainSoldiers_1.bin" .align 2 unknown_143:: .incbin "assets/unknown_143.bin" -gAreaRoomMap_PalaceOfWinds_9_0:: - .incbin "assets/gAreaRoomMap_PalaceOfWinds_9_0.bin" +gAreaRoomMap_PalaceOfWinds_BombarossaPath_0:: + .incbin "assets/gAreaRoomMap_PalaceOfWinds_BombarossaPath_0.bin" .align 2 -gAreaRoomMap_PalaceOfWinds_9_1:: - .incbin "assets/gAreaRoomMap_PalaceOfWinds_9_1.bin" +gAreaRoomMap_PalaceOfWinds_BombarossaPath_1:: + .incbin "assets/gAreaRoomMap_PalaceOfWinds_BombarossaPath_1.bin" .align 2 unknown_144:: .incbin "assets/unknown_144.bin" -gAreaRoomMap_PalaceOfWinds_10_0:: - .incbin "assets/gAreaRoomMap_PalaceOfWinds_10_0.bin" +gAreaRoomMap_PalaceOfWinds_HoleToDarknut_0:: + .incbin "assets/gAreaRoomMap_PalaceOfWinds_HoleToDarknut_0.bin" .align 2 -gAreaRoomMap_PalaceOfWinds_10_1:: - .incbin "assets/gAreaRoomMap_PalaceOfWinds_10_1.bin" +gAreaRoomMap_PalaceOfWinds_HoleToDarknut_1:: + .incbin "assets/gAreaRoomMap_PalaceOfWinds_HoleToDarknut_1.bin" .align 2 unknown_145:: .incbin "assets/unknown_145.bin" -gAreaRoomMap_PalaceOfWinds_11_0:: - .incbin "assets/gAreaRoomMap_PalaceOfWinds_11_0.bin" +gAreaRoomMap_PalaceOfWinds_ToBombarossaPath_0:: + .incbin "assets/gAreaRoomMap_PalaceOfWinds_ToBombarossaPath_0.bin" .align 2 -gAreaRoomMap_PalaceOfWinds_11_1:: - .incbin "assets/gAreaRoomMap_PalaceOfWinds_11_1.bin" +gAreaRoomMap_PalaceOfWinds_ToBombarossaPath_1:: + .incbin "assets/gAreaRoomMap_PalaceOfWinds_ToBombarossaPath_1.bin" .align 2 unknown_146:: .incbin "assets/unknown_146.bin" -gAreaRoomMap_PalaceOfWinds_12_0:: - .incbin "assets/gAreaRoomMap_PalaceOfWinds_12_0.bin" +gAreaRoomMap_PalaceOfWinds_DarknutMiniboss_0:: + .incbin "assets/gAreaRoomMap_PalaceOfWinds_DarknutMiniboss_0.bin" .align 2 -gAreaRoomMap_PalaceOfWinds_12_1:: - .incbin "assets/gAreaRoomMap_PalaceOfWinds_12_1.bin" +gAreaRoomMap_PalaceOfWinds_DarknutMiniboss_1:: + .incbin "assets/gAreaRoomMap_PalaceOfWinds_DarknutMiniboss_1.bin" .align 2 unknown_147:: .incbin "assets/unknown_147.bin" -gAreaRoomMap_PalaceOfWinds_13_0:: - .incbin "assets/gAreaRoomMap_PalaceOfWinds_13_0.bin" +gAreaRoomMap_PalaceOfWinds_BombWallInside_0:: + .incbin "assets/gAreaRoomMap_PalaceOfWinds_BombWallInside_0.bin" .align 2 -gAreaRoomMap_PalaceOfWinds_13_1:: - .incbin "assets/gAreaRoomMap_PalaceOfWinds_13_1.bin" +gAreaRoomMap_PalaceOfWinds_BombWallInside_1:: + .incbin "assets/gAreaRoomMap_PalaceOfWinds_BombWallInside_1.bin" .align 2 unknown_148:: .incbin "assets/unknown_148.bin" -gAreaRoomMap_PalaceOfWinds_14_0:: - .incbin "assets/gAreaRoomMap_PalaceOfWinds_14_0.bin" -gAreaRoomMap_PalaceOfWinds_14_1:: - .incbin "assets/gAreaRoomMap_PalaceOfWinds_14_1.bin" +gAreaRoomMap_PalaceOfWinds_BombWallOutside_0:: + .incbin "assets/gAreaRoomMap_PalaceOfWinds_BombWallOutside_0.bin" +gAreaRoomMap_PalaceOfWinds_BombWallOutside_1:: + .incbin "assets/gAreaRoomMap_PalaceOfWinds_BombWallOutside_1.bin" .align 2 unknown_149:: .incbin "assets/unknown_149.bin" -gAreaRoomMap_PalaceOfWinds_15_0:: - .incbin "assets/gAreaRoomMap_PalaceOfWinds_15_0.bin" +gAreaRoomMap_PalaceOfWinds_CloudJumps_0:: + .incbin "assets/gAreaRoomMap_PalaceOfWinds_CloudJumps_0.bin" .align 2 -gAreaRoomMap_PalaceOfWinds_15_1:: - .incbin "assets/gAreaRoomMap_PalaceOfWinds_15_1.bin" +gAreaRoomMap_PalaceOfWinds_CloudJumps_1:: + .incbin "assets/gAreaRoomMap_PalaceOfWinds_CloudJumps_1.bin" .align 2 unknown_150:: .incbin "assets/unknown_150.bin" -gAreaRoomMap_PalaceOfWinds_16_0:: - .incbin "assets/gAreaRoomMap_PalaceOfWinds_16_0.bin" +gAreaRoomMap_PalaceOfWinds_BlockMazeToBossDoor_0:: + .incbin "assets/gAreaRoomMap_PalaceOfWinds_BlockMazeToBossDoor_0.bin" .align 2 -gAreaRoomMap_PalaceOfWinds_16_1:: - .incbin "assets/gAreaRoomMap_PalaceOfWinds_16_1.bin" +gAreaRoomMap_PalaceOfWinds_BlockMazeToBossDoor_1:: + .incbin "assets/gAreaRoomMap_PalaceOfWinds_BlockMazeToBossDoor_1.bin" .align 2 unknown_151:: .incbin "assets/unknown_151.bin" -gAreaRoomMap_PalaceOfWinds_17_0:: - .incbin "assets/gAreaRoomMap_PalaceOfWinds_17_0.bin" +gAreaRoomMap_PalaceOfWinds_CrackedFloorLakitu_0:: + .incbin "assets/gAreaRoomMap_PalaceOfWinds_CrackedFloorLakitu_0.bin" .align 2 -gAreaRoomMap_PalaceOfWinds_17_1:: - .incbin "assets/gAreaRoomMap_PalaceOfWinds_17_1.bin" +gAreaRoomMap_PalaceOfWinds_CrackedFloorLakitu_1:: + .incbin "assets/gAreaRoomMap_PalaceOfWinds_CrackedFloorLakitu_1.bin" .align 2 unknown_152:: .incbin "assets/unknown_152.bin" -gAreaRoomMap_PalaceOfWinds_18_0:: - .incbin "assets/gAreaRoomMap_PalaceOfWinds_18_0.bin" +gAreaRoomMap_PalaceOfWinds_HeartPieceBridge_0:: + .incbin "assets/gAreaRoomMap_PalaceOfWinds_HeartPieceBridge_0.bin" .align 2 -gAreaRoomMap_PalaceOfWinds_18_1:: - .incbin "assets/gAreaRoomMap_PalaceOfWinds_18_1.bin" +gAreaRoomMap_PalaceOfWinds_HeartPieceBridge_1:: + .incbin "assets/gAreaRoomMap_PalaceOfWinds_HeartPieceBridge_1.bin" .align 2 unknown_153:: .incbin "assets/unknown_153.bin" -gAreaRoomMap_PalaceOfWinds_19_0:: - .incbin "assets/gAreaRoomMap_PalaceOfWinds_19_0.bin" +gAreaRoomMap_PalaceOfWinds_FanBridge_0:: + .incbin "assets/gAreaRoomMap_PalaceOfWinds_FanBridge_0.bin" .align 2 -gAreaRoomMap_PalaceOfWinds_19_1:: - .incbin "assets/gAreaRoomMap_PalaceOfWinds_19_1.bin" +gAreaRoomMap_PalaceOfWinds_FanBridge_1:: + .incbin "assets/gAreaRoomMap_PalaceOfWinds_FanBridge_1.bin" .align 2 unknown_154:: .incbin "assets/unknown_154.bin" -gAreaRoomMap_PalaceOfWinds_20_0:: - .incbin "assets/gAreaRoomMap_PalaceOfWinds_20_0.bin" +gAreaRoomMap_PalaceOfWinds_ToFanBridge_0:: + .incbin "assets/gAreaRoomMap_PalaceOfWinds_ToFanBridge_0.bin" .align 2 -gAreaRoomMap_PalaceOfWinds_20_1:: - .incbin "assets/gAreaRoomMap_PalaceOfWinds_20_1.bin" +gAreaRoomMap_PalaceOfWinds_ToFanBridge_1:: + .incbin "assets/gAreaRoomMap_PalaceOfWinds_ToFanBridge_1.bin" .align 2 unknown_155:: .incbin "assets/unknown_155.bin" -gAreaRoomMap_PalaceOfWinds_21_0:: - .incbin "assets/gAreaRoomMap_PalaceOfWinds_21_0.bin" +gAreaRoomMap_PalaceOfWinds_RedWarpHall_0:: + .incbin "assets/gAreaRoomMap_PalaceOfWinds_RedWarpHall_0.bin" .align 2 -gAreaRoomMap_PalaceOfWinds_21_1:: - .incbin "assets/gAreaRoomMap_PalaceOfWinds_21_1.bin" +gAreaRoomMap_PalaceOfWinds_RedWarpHall_1:: + .incbin "assets/gAreaRoomMap_PalaceOfWinds_RedWarpHall_1.bin" .align 2 unknown_156:: .incbin "assets/unknown_156.bin" -gAreaRoomMap_PalaceOfWinds_22_0:: - .incbin "assets/gAreaRoomMap_PalaceOfWinds_22_0.bin" -gAreaRoomMap_PalaceOfWinds_22_1:: - .incbin "assets/gAreaRoomMap_PalaceOfWinds_22_1.bin" +gAreaRoomMap_PalaceOfWinds_PlatformCloneRide_0:: + .incbin "assets/gAreaRoomMap_PalaceOfWinds_PlatformCloneRide_0.bin" +gAreaRoomMap_PalaceOfWinds_PlatformCloneRide_1:: + .incbin "assets/gAreaRoomMap_PalaceOfWinds_PlatformCloneRide_1.bin" .align 2 unknown_157:: .incbin "assets/unknown_157.bin" -gAreaRoomMap_PalaceOfWinds_23_0:: - .incbin "assets/gAreaRoomMap_PalaceOfWinds_23_0.bin" +gAreaRoomMap_PalaceOfWinds_PitCornerAfterKey_0:: + .incbin "assets/gAreaRoomMap_PalaceOfWinds_PitCornerAfterKey_0.bin" .align 2 -gAreaRoomMap_PalaceOfWinds_23_1:: - .incbin "assets/gAreaRoomMap_PalaceOfWinds_23_1.bin" +gAreaRoomMap_PalaceOfWinds_PitCornerAfterKey_1:: + .incbin "assets/gAreaRoomMap_PalaceOfWinds_PitCornerAfterKey_1.bin" .align 2 unknown_158:: .incbin "assets/unknown_158.bin" -gAreaRoomMap_PalaceOfWinds_24_0:: - .incbin "assets/gAreaRoomMap_PalaceOfWinds_24_0.bin" +gAreaRoomMap_PalaceOfWinds_CrowRide_0:: + .incbin "assets/gAreaRoomMap_PalaceOfWinds_CrowRide_0.bin" .align 2 -gAreaRoomMap_PalaceOfWinds_24_1:: - .incbin "assets/gAreaRoomMap_PalaceOfWinds_24_1.bin" +gAreaRoomMap_PalaceOfWinds_CrowRide_1:: + .incbin "assets/gAreaRoomMap_PalaceOfWinds_CrowRide_1.bin" .align 2 unknown_159:: .incbin "assets/unknown_159.bin" -gAreaRoomMap_PalaceOfWinds_25_0:: - .incbin "assets/gAreaRoomMap_PalaceOfWinds_25_0.bin" +gAreaRoomMap_PalaceOfWinds_GratePlatformRide_0:: + .incbin "assets/gAreaRoomMap_PalaceOfWinds_GratePlatformRide_0.bin" .align 2 -gAreaRoomMap_PalaceOfWinds_25_1:: - .incbin "assets/gAreaRoomMap_PalaceOfWinds_25_1.bin" +gAreaRoomMap_PalaceOfWinds_GratePlatformRide_1:: + .incbin "assets/gAreaRoomMap_PalaceOfWinds_GratePlatformRide_1.bin" .align 2 unknown_160:: .incbin "assets/unknown_160.bin" -gAreaRoomMap_PalaceOfWinds_26_0:: - .incbin "assets/gAreaRoomMap_PalaceOfWinds_26_0.bin" -gAreaRoomMap_PalaceOfWinds_26_1:: - .incbin "assets/gAreaRoomMap_PalaceOfWinds_26_1.bin" +gAreaRoomMap_PalaceOfWinds_PotPush_0:: + .incbin "assets/gAreaRoomMap_PalaceOfWinds_PotPush_0.bin" +gAreaRoomMap_PalaceOfWinds_PotPush_1:: + .incbin "assets/gAreaRoomMap_PalaceOfWinds_PotPush_1.bin" .align 2 unknown_161:: .incbin "assets/unknown_161.bin" -gAreaRoomMap_PalaceOfWinds_27_0:: - .incbin "assets/gAreaRoomMap_PalaceOfWinds_27_0.bin" +gAreaRoomMap_PalaceOfWinds_FloormasterLever_0:: + .incbin "assets/gAreaRoomMap_PalaceOfWinds_FloormasterLever_0.bin" .align 2 -gAreaRoomMap_PalaceOfWinds_27_1:: - .incbin "assets/gAreaRoomMap_PalaceOfWinds_27_1.bin" +gAreaRoomMap_PalaceOfWinds_FloormasterLever_1:: + .incbin "assets/gAreaRoomMap_PalaceOfWinds_FloormasterLever_1.bin" .align 2 unknown_162:: .incbin "assets/unknown_162.bin" -gAreaRoomMap_PalaceOfWinds_28_0:: - .incbin "assets/gAreaRoomMap_PalaceOfWinds_28_0.bin" -gAreaRoomMap_PalaceOfWinds_28_1:: - .incbin "assets/gAreaRoomMap_PalaceOfWinds_28_1.bin" +gAreaRoomMap_PalaceOfWinds_Map_0:: + .incbin "assets/gAreaRoomMap_PalaceOfWinds_Map_0.bin" +gAreaRoomMap_PalaceOfWinds_Map_1:: + .incbin "assets/gAreaRoomMap_PalaceOfWinds_Map_1.bin" .align 2 unknown_163:: .incbin "assets/unknown_163.bin" -gAreaRoomMap_PalaceOfWinds_29_0:: - .incbin "assets/gAreaRoomMap_PalaceOfWinds_29_0.bin" +gAreaRoomMap_PalaceOfWinds_CornerToMap_0:: + .incbin "assets/gAreaRoomMap_PalaceOfWinds_CornerToMap_0.bin" .align 2 -gAreaRoomMap_PalaceOfWinds_29_1:: - .incbin "assets/gAreaRoomMap_PalaceOfWinds_29_1.bin" +gAreaRoomMap_PalaceOfWinds_CornerToMap_1:: + .incbin "assets/gAreaRoomMap_PalaceOfWinds_CornerToMap_1.bin" .align 2 unknown_164:: .incbin "assets/unknown_164.bin" -gAreaRoomMap_PalaceOfWinds_30_0:: - .incbin "assets/gAreaRoomMap_PalaceOfWinds_30_0.bin" +gAreaRoomMap_PalaceOfWinds_StairsAfterFloormaster_0:: + .incbin "assets/gAreaRoomMap_PalaceOfWinds_StairsAfterFloormaster_0.bin" .align 2 -gAreaRoomMap_PalaceOfWinds_30_1:: - .incbin "assets/gAreaRoomMap_PalaceOfWinds_30_1.bin" +gAreaRoomMap_PalaceOfWinds_StairsAfterFloormaster_1:: + .incbin "assets/gAreaRoomMap_PalaceOfWinds_StairsAfterFloormaster_1.bin" .align 2 unknown_165:: .incbin "assets/unknown_165.bin" -gAreaRoomMap_PalaceOfWinds_31_0:: - .incbin "assets/gAreaRoomMap_PalaceOfWinds_31_0.bin" +gAreaRoomMap_PalaceOfWinds_HoleToKinstoneWizzrobe_0:: + .incbin "assets/gAreaRoomMap_PalaceOfWinds_HoleToKinstoneWizzrobe_0.bin" .align 2 -gAreaRoomMap_PalaceOfWinds_31_1:: - .incbin "assets/gAreaRoomMap_PalaceOfWinds_31_1.bin" +gAreaRoomMap_PalaceOfWinds_HoleToKinstoneWizzrobe_1:: + .incbin "assets/gAreaRoomMap_PalaceOfWinds_HoleToKinstoneWizzrobe_1.bin" .align 2 unknown_166:: .incbin "assets/unknown_166.bin" -gAreaRoomMap_PalaceOfWinds_32_0:: - .incbin "assets/gAreaRoomMap_PalaceOfWinds_32_0.bin" +gAreaRoomMap_PalaceOfWinds_KeyArrowButton_0:: + .incbin "assets/gAreaRoomMap_PalaceOfWinds_KeyArrowButton_0.bin" .align 2 -gAreaRoomMap_PalaceOfWinds_32_1:: - .incbin "assets/gAreaRoomMap_PalaceOfWinds_32_1.bin" +gAreaRoomMap_PalaceOfWinds_KeyArrowButton_1:: + .incbin "assets/gAreaRoomMap_PalaceOfWinds_KeyArrowButton_1.bin" .align 2 unknown_167:: .incbin "assets/unknown_167.bin" -gAreaRoomMap_PalaceOfWinds_33_0:: - .incbin "assets/gAreaRoomMap_PalaceOfWinds_33_0.bin" -gAreaRoomMap_PalaceOfWinds_33_1:: - .incbin "assets/gAreaRoomMap_PalaceOfWinds_33_1.bin" +gAreaRoomMap_PalaceOfWinds_GratesTo3F_0:: + .incbin "assets/gAreaRoomMap_PalaceOfWinds_GratesTo3F_0.bin" +gAreaRoomMap_PalaceOfWinds_GratesTo3F_1:: + .incbin "assets/gAreaRoomMap_PalaceOfWinds_GratesTo3F_1.bin" .align 2 unknown_168:: .incbin "assets/unknown_168.bin" -gAreaRoomMap_PalaceOfWinds_34_0:: - .incbin "assets/gAreaRoomMap_PalaceOfWinds_34_0.bin" +gAreaRoomMap_PalaceOfWinds_SpinyFight_0:: + .incbin "assets/gAreaRoomMap_PalaceOfWinds_SpinyFight_0.bin" .align 2 -gAreaRoomMap_PalaceOfWinds_34_1:: - .incbin "assets/gAreaRoomMap_PalaceOfWinds_34_1.bin" +gAreaRoomMap_PalaceOfWinds_SpinyFight_1:: + .incbin "assets/gAreaRoomMap_PalaceOfWinds_SpinyFight_1.bin" .align 2 unknown_169:: .incbin "assets/unknown_169.bin" -gAreaRoomMap_PalaceOfWinds_35_0:: - .incbin "assets/gAreaRoomMap_PalaceOfWinds_35_0.bin" +gAreaRoomMap_PalaceOfWinds_PeahatSwitch_0:: + .incbin "assets/gAreaRoomMap_PalaceOfWinds_PeahatSwitch_0.bin" .align 2 -gAreaRoomMap_PalaceOfWinds_35_1:: - .incbin "assets/gAreaRoomMap_PalaceOfWinds_35_1.bin" +gAreaRoomMap_PalaceOfWinds_PeahatSwitch_1:: + .incbin "assets/gAreaRoomMap_PalaceOfWinds_PeahatSwitch_1.bin" .align 2 unknown_170:: .incbin "assets/unknown_170.bin" -gAreaRoomMap_PalaceOfWinds_36_0:: - .incbin "assets/gAreaRoomMap_PalaceOfWinds_36_0.bin" +gAreaRoomMap_PalaceOfWinds_WhirlwindBombarossa_0:: + .incbin "assets/gAreaRoomMap_PalaceOfWinds_WhirlwindBombarossa_0.bin" .align 2 -gAreaRoomMap_PalaceOfWinds_36_1:: - .incbin "assets/gAreaRoomMap_PalaceOfWinds_36_1.bin" +gAreaRoomMap_PalaceOfWinds_WhirlwindBombarossa_1:: + .incbin "assets/gAreaRoomMap_PalaceOfWinds_WhirlwindBombarossa_1.bin" .align 2 unknown_171:: .incbin "assets/unknown_171.bin" -gAreaRoomMap_PalaceOfWinds_37_0:: - .incbin "assets/gAreaRoomMap_PalaceOfWinds_37_0.bin" +gAreaRoomMap_PalaceOfWinds_DoorToStalfosFirebar_0:: + .incbin "assets/gAreaRoomMap_PalaceOfWinds_DoorToStalfosFirebar_0.bin" .align 2 -gAreaRoomMap_PalaceOfWinds_37_1:: - .incbin "assets/gAreaRoomMap_PalaceOfWinds_37_1.bin" +gAreaRoomMap_PalaceOfWinds_DoorToStalfosFirebar_1:: + .incbin "assets/gAreaRoomMap_PalaceOfWinds_DoorToStalfosFirebar_1.bin" .align 2 unknown_172:: .incbin "assets/unknown_172.bin" -gAreaRoomMap_PalaceOfWinds_38_0:: - .incbin "assets/gAreaRoomMap_PalaceOfWinds_38_0.bin" +gAreaRoomMap_PalaceOfWinds_StalfosFireborHole_0:: + .incbin "assets/gAreaRoomMap_PalaceOfWinds_StalfosFireborHole_0.bin" .align 2 -gAreaRoomMap_PalaceOfWinds_38_1:: - .incbin "assets/gAreaRoomMap_PalaceOfWinds_38_1.bin" +gAreaRoomMap_PalaceOfWinds_StalfosFireborHole_1:: + .incbin "assets/gAreaRoomMap_PalaceOfWinds_StalfosFireborHole_1.bin" .align 2 unknown_173:: .incbin "assets/unknown_173.bin" -gAreaRoomMap_PalaceOfWinds_39_0:: - .incbin "assets/gAreaRoomMap_PalaceOfWinds_39_0.bin" -gAreaRoomMap_PalaceOfWinds_39_1:: - .incbin "assets/gAreaRoomMap_PalaceOfWinds_39_1.bin" +gAreaRoomMap_PalaceOfWinds_ShortcutDoorButtons_0:: + .incbin "assets/gAreaRoomMap_PalaceOfWinds_ShortcutDoorButtons_0.bin" +gAreaRoomMap_PalaceOfWinds_ShortcutDoorButtons_1:: + .incbin "assets/gAreaRoomMap_PalaceOfWinds_ShortcutDoorButtons_1.bin" .align 2 unknown_174:: .incbin "assets/unknown_174.bin" -gAreaRoomMap_PalaceOfWinds_40_0:: - .incbin "assets/gAreaRoomMap_PalaceOfWinds_40_0.bin" +gAreaRoomMap_PalaceOfWinds_ToPeahatSwitch_0:: + .incbin "assets/gAreaRoomMap_PalaceOfWinds_ToPeahatSwitch_0.bin" .align 2 -gAreaRoomMap_PalaceOfWinds_40_1:: - .incbin "assets/gAreaRoomMap_PalaceOfWinds_40_1.bin" +gAreaRoomMap_PalaceOfWinds_ToPeahatSwitch_1:: + .incbin "assets/gAreaRoomMap_PalaceOfWinds_ToPeahatSwitch_1.bin" .align 2 unknown_175:: .incbin "assets/unknown_175.bin" -gAreaRoomMap_PalaceOfWinds_41_0:: - .incbin "assets/gAreaRoomMap_PalaceOfWinds_41_0.bin" +gAreaRoomMap_PalaceOfWinds_KinstoneWizzrobeFight_0:: + .incbin "assets/gAreaRoomMap_PalaceOfWinds_KinstoneWizzrobeFight_0.bin" .align 2 -gAreaRoomMap_PalaceOfWinds_41_1:: - .incbin "assets/gAreaRoomMap_PalaceOfWinds_41_1.bin" +gAreaRoomMap_PalaceOfWinds_KinstoneWizzrobeFight_1:: + .incbin "assets/gAreaRoomMap_PalaceOfWinds_KinstoneWizzrobeFight_1.bin" .align 2 unknown_176:: .incbin "assets/unknown_176.bin" -gAreaRoomMap_PalaceOfWinds_42_0:: - .incbin "assets/gAreaRoomMap_PalaceOfWinds_42_0.bin" +gAreaRoomMap_PalaceOfWinds_GibdoStairs_0:: + .incbin "assets/gAreaRoomMap_PalaceOfWinds_GibdoStairs_0.bin" .align 2 -gAreaRoomMap_PalaceOfWinds_42_1:: - .incbin "assets/gAreaRoomMap_PalaceOfWinds_42_1.bin" +gAreaRoomMap_PalaceOfWinds_GibdoStairs_1:: + .incbin "assets/gAreaRoomMap_PalaceOfWinds_GibdoStairs_1.bin" .align 2 unknown_177:: .incbin "assets/unknown_177.bin" -gAreaRoomMap_PalaceOfWinds_43_0:: - .incbin "assets/gAreaRoomMap_PalaceOfWinds_43_0.bin" +gAreaRoomMap_PalaceOfWinds_SpikeBarSmallKey_0:: + .incbin "assets/gAreaRoomMap_PalaceOfWinds_SpikeBarSmallKey_0.bin" .align 2 -gAreaRoomMap_PalaceOfWinds_43_1:: - .incbin "assets/gAreaRoomMap_PalaceOfWinds_43_1.bin" +gAreaRoomMap_PalaceOfWinds_SpikeBarSmallKey_1:: + .incbin "assets/gAreaRoomMap_PalaceOfWinds_SpikeBarSmallKey_1.bin" .align 2 unknown_178:: .incbin "assets/unknown_178.bin" -gAreaRoomMap_PalaceOfWinds_44_0:: - .incbin "assets/gAreaRoomMap_PalaceOfWinds_44_0.bin" +gAreaRoomMap_PalaceOfWinds_RocCape_0:: + .incbin "assets/gAreaRoomMap_PalaceOfWinds_RocCape_0.bin" .align 2 -gAreaRoomMap_PalaceOfWinds_44_1:: - .incbin "assets/gAreaRoomMap_PalaceOfWinds_44_1.bin" +gAreaRoomMap_PalaceOfWinds_RocCape_1:: + .incbin "assets/gAreaRoomMap_PalaceOfWinds_RocCape_1.bin" .align 2 unknown_179:: .incbin "assets/unknown_179.bin" -gAreaRoomMap_PalaceOfWinds_45_0:: - .incbin "assets/gAreaRoomMap_PalaceOfWinds_45_0.bin" +gAreaRoomMap_PalaceOfWinds_FireBarGrates_0:: + .incbin "assets/gAreaRoomMap_PalaceOfWinds_FireBarGrates_0.bin" .align 2 -gAreaRoomMap_PalaceOfWinds_45_1:: - .incbin "assets/gAreaRoomMap_PalaceOfWinds_45_1.bin" +gAreaRoomMap_PalaceOfWinds_FireBarGrates_1:: + .incbin "assets/gAreaRoomMap_PalaceOfWinds_FireBarGrates_1.bin" .align 2 unknown_180:: .incbin "assets/unknown_180.bin" -gAreaRoomMap_PalaceOfWinds_46_0:: - .incbin "assets/gAreaRoomMap_PalaceOfWinds_46_0.bin" +gAreaRoomMap_PalaceOfWinds_PlatformRideBombarossas_0:: + .incbin "assets/gAreaRoomMap_PalaceOfWinds_PlatformRideBombarossas_0.bin" .align 2 -gAreaRoomMap_PalaceOfWinds_46_1:: - .incbin "assets/gAreaRoomMap_PalaceOfWinds_46_1.bin" +gAreaRoomMap_PalaceOfWinds_PlatformRideBombarossas_1:: + .incbin "assets/gAreaRoomMap_PalaceOfWinds_PlatformRideBombarossas_1.bin" .align 2 unknown_181:: .incbin "assets/unknown_181.bin" -gAreaRoomMap_PalaceOfWinds_47_0:: - .incbin "assets/gAreaRoomMap_PalaceOfWinds_47_0.bin" +gAreaRoomMap_PalaceOfWinds_BridgeAfterDarknut_0:: + .incbin "assets/gAreaRoomMap_PalaceOfWinds_BridgeAfterDarknut_0.bin" .align 2 -gAreaRoomMap_PalaceOfWinds_47_1:: - .incbin "assets/gAreaRoomMap_PalaceOfWinds_47_1.bin" +gAreaRoomMap_PalaceOfWinds_BridgeAfterDarknut_1:: + .incbin "assets/gAreaRoomMap_PalaceOfWinds_BridgeAfterDarknut_1.bin" .align 2 unknown_182:: .incbin "assets/unknown_182.bin" -gAreaRoomMap_PalaceOfWinds_48_0:: - .incbin "assets/gAreaRoomMap_PalaceOfWinds_48_0.bin" -gAreaRoomMap_PalaceOfWinds_48_1:: - .incbin "assets/gAreaRoomMap_PalaceOfWinds_48_1.bin" +gAreaRoomMap_PalaceOfWinds_BridgeSwitchesCloneBlock_0:: + .incbin "assets/gAreaRoomMap_PalaceOfWinds_BridgeSwitchesCloneBlock_0.bin" +gAreaRoomMap_PalaceOfWinds_BridgeSwitchesCloneBlock_1:: + .incbin "assets/gAreaRoomMap_PalaceOfWinds_BridgeSwitchesCloneBlock_1.bin" .align 2 unknown_183:: .incbin "assets/unknown_183.bin" -gAreaRoomMap_PalaceOfWinds_49_0:: - .incbin "assets/gAreaRoomMap_PalaceOfWinds_49_0.bin" +gAreaRoomMap_PalaceOfWinds_EntranceRoom_0:: + .incbin "assets/gAreaRoomMap_PalaceOfWinds_EntranceRoom_0.bin" .align 2 -gAreaRoomMap_PalaceOfWinds_49_1:: - .incbin "assets/gAreaRoomMap_PalaceOfWinds_49_1.bin" +gAreaRoomMap_PalaceOfWinds_EntranceRoom_1:: + .incbin "assets/gAreaRoomMap_PalaceOfWinds_EntranceRoom_1.bin" .align 2 unknown_184:: .incbin "assets/unknown_184.bin" -gAreaRoomMap_PalaceOfWinds_50_0:: - .incbin "assets/gAreaRoomMap_PalaceOfWinds_50_0.bin" +gAreaRoomMap_PalaceOfWinds_DarkCompassHall_0:: + .incbin "assets/gAreaRoomMap_PalaceOfWinds_DarkCompassHall_0.bin" .align 2 -gAreaRoomMap_PalaceOfWinds_50_1:: - .incbin "assets/gAreaRoomMap_PalaceOfWinds_50_1.bin" +gAreaRoomMap_PalaceOfWinds_DarkCompassHall_1:: + .incbin "assets/gAreaRoomMap_PalaceOfWinds_DarkCompassHall_1.bin" .align 2 unknown_185:: .incbin "assets/unknown_185.bin" @@ -4092,25 +4092,25 @@ gAreaRoomMap_SanctuaryEntrance_0_0:: gAreaRoomMap_SanctuaryEntrance_0_1:: .incbin "assets/gAreaRoomMap_SanctuaryEntrance_0_1.bin" .align 2 -gAreaTileset_DarkHyruleCastle_0_0:: - .incbin "tilesets/gAreaTileset_DarkHyruleCastle_0_0.4bpp.lz" +gAreaTileset_DarkHyruleCastle_1FEntrance_0:: + .incbin "tilesets/gAreaTileset_DarkHyruleCastle_1FEntrance_0.4bpp.lz" .align 2 -gAreaTileset_DarkHyruleCastle_0_1:: - .incbin "tilesets/gAreaTileset_DarkHyruleCastle_0_1.4bpp.lz" +gAreaTileset_DarkHyruleCastle_1FEntrance_1:: + .incbin "tilesets/gAreaTileset_DarkHyruleCastle_1FEntrance_1.4bpp.lz" .align 2 -gAreaTileset_DarkHyruleCastle_0_2:: - .incbin "tilesets/gAreaTileset_DarkHyruleCastle_0_2.4bpp.lz" +gAreaTileset_DarkHyruleCastle_1FEntrance_2:: + .incbin "tilesets/gAreaTileset_DarkHyruleCastle_1FEntrance_2.4bpp.lz" .align 2 -gAreaMetatiles_DarkHyruleCastle_0:: - .incbin "assets/gAreaMetatiles_DarkHyruleCastle_0.bin" +gAreaMetatiles_DarkHyruleCastle_1FEntrance:: + .incbin "assets/gAreaMetatiles_DarkHyruleCastle_1FEntrance.bin" .align 2 -gAreaMetatiles_DarkHyruleCastle_1:: - .incbin "assets/gAreaMetatiles_DarkHyruleCastle_1.bin" -gAreaMetatiles_DarkHyruleCastle_2:: - .incbin "assets/gAreaMetatiles_DarkHyruleCastle_2.bin" +gAreaMetatiles_DarkHyruleCastle_3FTopLeftTower:: + .incbin "assets/gAreaMetatiles_DarkHyruleCastle_3FTopLeftTower.bin" +gAreaMetatiles_DarkHyruleCastle_3FTopRightTower:: + .incbin "assets/gAreaMetatiles_DarkHyruleCastle_3FTopRightTower.bin" .align 2 -gAreaMetatiles_DarkHyruleCastle_3:: - .incbin "assets/gAreaMetatiles_DarkHyruleCastle_3.bin" +gAreaMetatiles_DarkHyruleCastle_3FBottomLeftTower:: + .incbin "assets/gAreaMetatiles_DarkHyruleCastle_3FBottomLeftTower.bin" .align 2 gAreaTileset_DarkHyruleCastleBridge_0_0:: .incbin "tilesets/gAreaTileset_DarkHyruleCastleBridge_0_0.4bpp.lz" @@ -4191,464 +4191,464 @@ gAreaMetatiles_VaatisArms_2:: .align 2 gAreaMetatiles_VaatisArms_3:: .incbin "assets/gAreaMetatiles_VaatisArms_3.bin" -gAreaRoomMap_DarkHyruleCastle_0_0:: - .incbin "assets/gAreaRoomMap_DarkHyruleCastle_0_0.bin" +gAreaRoomMap_DarkHyruleCastle_1FEntrance_0:: + .incbin "assets/gAreaRoomMap_DarkHyruleCastle_1FEntrance_0.bin" .align 2 -gAreaRoomMap_DarkHyruleCastle_0_1:: - .incbin "assets/gAreaRoomMap_DarkHyruleCastle_0_1.bin" +gAreaRoomMap_DarkHyruleCastle_1FEntrance_1:: + .incbin "assets/gAreaRoomMap_DarkHyruleCastle_1FEntrance_1.bin" .align 2 unknown_188:: .incbin "assets/unknown_188.bin" -gAreaRoomMap_DarkHyruleCastle_1_0:: - .incbin "assets/gAreaRoomMap_DarkHyruleCastle_1_0.bin" +gAreaRoomMap_DarkHyruleCastle_3FTopLeftTower_0:: + .incbin "assets/gAreaRoomMap_DarkHyruleCastle_3FTopLeftTower_0.bin" .align 2 -gAreaRoomMap_DarkHyruleCastle_1_1:: - .incbin "assets/gAreaRoomMap_DarkHyruleCastle_1_1.bin" +gAreaRoomMap_DarkHyruleCastle_3FTopLeftTower_1:: + .incbin "assets/gAreaRoomMap_DarkHyruleCastle_3FTopLeftTower_1.bin" .align 2 unknown_189:: .incbin "assets/unknown_189.bin" -gAreaRoomMap_DarkHyruleCastle_2_0:: - .incbin "assets/gAreaRoomMap_DarkHyruleCastle_2_0.bin" +gAreaRoomMap_DarkHyruleCastle_3FTopRightTower_0:: + .incbin "assets/gAreaRoomMap_DarkHyruleCastle_3FTopRightTower_0.bin" .align 2 -gAreaRoomMap_DarkHyruleCastle_2_1:: - .incbin "assets/gAreaRoomMap_DarkHyruleCastle_2_1.bin" +gAreaRoomMap_DarkHyruleCastle_3FTopRightTower_1:: + .incbin "assets/gAreaRoomMap_DarkHyruleCastle_3FTopRightTower_1.bin" .align 2 unknown_190:: .incbin "assets/unknown_190.bin" -gAreaRoomMap_DarkHyruleCastle_3_0:: - .incbin "assets/gAreaRoomMap_DarkHyruleCastle_3_0.bin" +gAreaRoomMap_DarkHyruleCastle_3FBottomLeftTower_0:: + .incbin "assets/gAreaRoomMap_DarkHyruleCastle_3FBottomLeftTower_0.bin" .align 2 -gAreaRoomMap_DarkHyruleCastle_3_1:: - .incbin "assets/gAreaRoomMap_DarkHyruleCastle_3_1.bin" +gAreaRoomMap_DarkHyruleCastle_3FBottomLeftTower_1:: + .incbin "assets/gAreaRoomMap_DarkHyruleCastle_3FBottomLeftTower_1.bin" .align 2 unknown_191:: .incbin "assets/unknown_191.bin" -gAreaRoomMap_DarkHyruleCastle_4_0:: - .incbin "assets/gAreaRoomMap_DarkHyruleCastle_4_0.bin" -gAreaRoomMap_DarkHyruleCastle_4_1:: - .incbin "assets/gAreaRoomMap_DarkHyruleCastle_4_1.bin" +gAreaRoomMap_DarkHyruleCastle_3FBottomRightTower_0:: + .incbin "assets/gAreaRoomMap_DarkHyruleCastle_3FBottomRightTower_0.bin" +gAreaRoomMap_DarkHyruleCastle_3FBottomRightTower_1:: + .incbin "assets/gAreaRoomMap_DarkHyruleCastle_3FBottomRightTower_1.bin" .align 2 unknown_192:: .incbin "assets/unknown_192.bin" -gAreaRoomMap_DarkHyruleCastle_5_0:: - .incbin "assets/gAreaRoomMap_DarkHyruleCastle_5_0.bin" +gAreaRoomMap_DarkHyruleCastle_3FKeatonHallToVaati_0:: + .incbin "assets/gAreaRoomMap_DarkHyruleCastle_3FKeatonHallToVaati_0.bin" .align 2 -gAreaRoomMap_DarkHyruleCastle_5_1:: - .incbin "assets/gAreaRoomMap_DarkHyruleCastle_5_1.bin" +gAreaRoomMap_DarkHyruleCastle_3FKeatonHallToVaati_1:: + .incbin "assets/gAreaRoomMap_DarkHyruleCastle_3FKeatonHallToVaati_1.bin" .align 2 unknown_193:: .incbin "assets/unknown_193.bin" -gAreaRoomMap_DarkHyruleCastle_6_0:: - .incbin "assets/gAreaRoomMap_DarkHyruleCastle_6_0.bin" -gAreaRoomMap_DarkHyruleCastle_6_1:: - .incbin "assets/gAreaRoomMap_DarkHyruleCastle_6_1.bin" +gAreaRoomMap_DarkHyruleCastle_3FTripleDarknut_0:: + .incbin "assets/gAreaRoomMap_DarkHyruleCastle_3FTripleDarknut_0.bin" +gAreaRoomMap_DarkHyruleCastle_3FTripleDarknut_1:: + .incbin "assets/gAreaRoomMap_DarkHyruleCastle_3FTripleDarknut_1.bin" .align 2 unknown_194:: .incbin "assets/unknown_194.bin" -gAreaRoomMap_DarkHyruleCastle_7_0:: - .incbin "assets/gAreaRoomMap_DarkHyruleCastle_7_0.bin" +gAreaRoomMap_DarkHyruleCastle_2FTopLeftTower_0:: + .incbin "assets/gAreaRoomMap_DarkHyruleCastle_2FTopLeftTower_0.bin" .align 2 -gAreaRoomMap_DarkHyruleCastle_7_1:: - .incbin "assets/gAreaRoomMap_DarkHyruleCastle_7_1.bin" +gAreaRoomMap_DarkHyruleCastle_2FTopLeftTower_1:: + .incbin "assets/gAreaRoomMap_DarkHyruleCastle_2FTopLeftTower_1.bin" .align 2 unknown_195:: .incbin "assets/unknown_195.bin" -gAreaRoomMap_DarkHyruleCastle_8_0:: - .incbin "assets/gAreaRoomMap_DarkHyruleCastle_8_0.bin" +gAreaRoomMap_DarkHyruleCastle_2FTopLeftCorner_0:: + .incbin "assets/gAreaRoomMap_DarkHyruleCastle_2FTopLeftCorner_0.bin" .align 2 -gAreaRoomMap_DarkHyruleCastle_8_1:: - .incbin "assets/gAreaRoomMap_DarkHyruleCastle_8_1.bin" +gAreaRoomMap_DarkHyruleCastle_2FTopLeftCorner_1:: + .incbin "assets/gAreaRoomMap_DarkHyruleCastle_2FTopLeftCorner_1.bin" .align 2 unknown_196:: .incbin "assets/unknown_196.bin" -gAreaRoomMap_DarkHyruleCastle_9_0:: - .incbin "assets/gAreaRoomMap_DarkHyruleCastle_9_0.bin" +gAreaRoomMap_DarkHyruleCastle_2FBossKey_0:: + .incbin "assets/gAreaRoomMap_DarkHyruleCastle_2FBossKey_0.bin" .align 2 -gAreaRoomMap_DarkHyruleCastle_9_1:: - .incbin "assets/gAreaRoomMap_DarkHyruleCastle_9_1.bin" +gAreaRoomMap_DarkHyruleCastle_2FBossKey_1:: + .incbin "assets/gAreaRoomMap_DarkHyruleCastle_2FBossKey_1.bin" .align 2 unknown_197:: .incbin "assets/unknown_197.bin" -gAreaRoomMap_DarkHyruleCastle_10_0:: - .incbin "assets/gAreaRoomMap_DarkHyruleCastle_10_0.bin" +gAreaRoomMap_DarkHyruleCastle_2FBlueWarp_0:: + .incbin "assets/gAreaRoomMap_DarkHyruleCastle_2FBlueWarp_0.bin" .align 2 -gAreaRoomMap_DarkHyruleCastle_10_1:: - .incbin "assets/gAreaRoomMap_DarkHyruleCastle_10_1.bin" +gAreaRoomMap_DarkHyruleCastle_2FBlueWarp_1:: + .incbin "assets/gAreaRoomMap_DarkHyruleCastle_2FBlueWarp_1.bin" .align 2 unknown_198:: .incbin "assets/unknown_198.bin" -gAreaRoomMap_DarkHyruleCastle_11_0:: - .incbin "assets/gAreaRoomMap_DarkHyruleCastle_11_0.bin" +gAreaRoomMap_DarkHyruleCastle_2FTopRightCornerGhini_0:: + .incbin "assets/gAreaRoomMap_DarkHyruleCastle_2FTopRightCornerGhini_0.bin" .align 2 -gAreaRoomMap_DarkHyruleCastle_11_1:: - .incbin "assets/gAreaRoomMap_DarkHyruleCastle_11_1.bin" +gAreaRoomMap_DarkHyruleCastle_2FTopRightCornerGhini_1:: + .incbin "assets/gAreaRoomMap_DarkHyruleCastle_2FTopRightCornerGhini_1.bin" .align 2 unknown_199:: .incbin "assets/unknown_199.bin" -gAreaRoomMap_DarkHyruleCastle_12_0:: - .incbin "assets/gAreaRoomMap_DarkHyruleCastle_12_0.bin" +gAreaRoomMap_DarkHyruleCastle_2FTopRightCornerTorches_0:: + .incbin "assets/gAreaRoomMap_DarkHyruleCastle_2FTopRightCornerTorches_0.bin" .align 2 -gAreaRoomMap_DarkHyruleCastle_12_1:: - .incbin "assets/gAreaRoomMap_DarkHyruleCastle_12_1.bin" +gAreaRoomMap_DarkHyruleCastle_2FTopRightCornerTorches_1:: + .incbin "assets/gAreaRoomMap_DarkHyruleCastle_2FTopRightCornerTorches_1.bin" .align 2 unknown_200:: .incbin "assets/unknown_200.bin" -gAreaRoomMap_DarkHyruleCastle_13_0:: - .incbin "assets/gAreaRoomMap_DarkHyruleCastle_13_0.bin" +gAreaRoomMap_DarkHyruleCastle_2FTopRightTower_0:: + .incbin "assets/gAreaRoomMap_DarkHyruleCastle_2FTopRightTower_0.bin" .align 2 -gAreaRoomMap_DarkHyruleCastle_13_1:: - .incbin "assets/gAreaRoomMap_DarkHyruleCastle_13_1.bin" +gAreaRoomMap_DarkHyruleCastle_2FTopRightTower_1:: + .incbin "assets/gAreaRoomMap_DarkHyruleCastle_2FTopRightTower_1.bin" .align 2 unknown_201:: .incbin "assets/unknown_201.bin" -gAreaRoomMap_DarkHyruleCastle_14_0:: - .incbin "assets/gAreaRoomMap_DarkHyruleCastle_14_0.bin" +gAreaRoomMap_DarkHyruleCastle_2FTopLeftDarknut_0:: + .incbin "assets/gAreaRoomMap_DarkHyruleCastle_2FTopLeftDarknut_0.bin" .align 2 -gAreaRoomMap_DarkHyruleCastle_14_1:: - .incbin "assets/gAreaRoomMap_DarkHyruleCastle_14_1.bin" +gAreaRoomMap_DarkHyruleCastle_2FTopLeftDarknut_1:: + .incbin "assets/gAreaRoomMap_DarkHyruleCastle_2FTopLeftDarknut_1.bin" .align 2 unknown_202:: .incbin "assets/unknown_202.bin" -gAreaRoomMap_DarkHyruleCastle_15_0:: - .incbin "assets/gAreaRoomMap_DarkHyruleCastle_15_0.bin" -gAreaRoomMap_DarkHyruleCastle_15_1:: - .incbin "assets/gAreaRoomMap_DarkHyruleCastle_15_1.bin" +gAreaRoomMap_DarkHyruleCastle_2FSparks_0:: + .incbin "assets/gAreaRoomMap_DarkHyruleCastle_2FSparks_0.bin" +gAreaRoomMap_DarkHyruleCastle_2FSparks_1:: + .incbin "assets/gAreaRoomMap_DarkHyruleCastle_2FSparks_1.bin" .align 2 unknown_203:: .incbin "assets/unknown_203.bin" -gAreaRoomMap_DarkHyruleCastle_16_0:: - .incbin "assets/gAreaRoomMap_DarkHyruleCastle_16_0.bin" +gAreaRoomMap_DarkHyruleCastle_2FTopRightDarknuts_0:: + .incbin "assets/gAreaRoomMap_DarkHyruleCastle_2FTopRightDarknuts_0.bin" .align 2 -gAreaRoomMap_DarkHyruleCastle_16_1:: - .incbin "assets/gAreaRoomMap_DarkHyruleCastle_16_1.bin" +gAreaRoomMap_DarkHyruleCastle_2FTopRightDarknuts_1:: + .incbin "assets/gAreaRoomMap_DarkHyruleCastle_2FTopRightDarknuts_1.bin" .align 2 unknown_204:: .incbin "assets/unknown_204.bin" -gAreaRoomMap_DarkHyruleCastle_17_0:: - .incbin "assets/gAreaRoomMap_DarkHyruleCastle_17_0.bin" +gAreaRoomMap_DarkHyruleCastle_2FLeft_0:: + .incbin "assets/gAreaRoomMap_DarkHyruleCastle_2FLeft_0.bin" .align 2 -gAreaRoomMap_DarkHyruleCastle_17_1:: - .incbin "assets/gAreaRoomMap_DarkHyruleCastle_17_1.bin" +gAreaRoomMap_DarkHyruleCastle_2FLeft_1:: + .incbin "assets/gAreaRoomMap_DarkHyruleCastle_2FLeft_1.bin" .align 2 unknown_205:: .incbin "assets/unknown_205.bin" -gAreaRoomMap_DarkHyruleCastle_18_0:: - .incbin "assets/gAreaRoomMap_DarkHyruleCastle_18_0.bin" -gAreaRoomMap_DarkHyruleCastle_18_1:: - .incbin "assets/gAreaRoomMap_DarkHyruleCastle_18_1.bin" +gAreaRoomMap_DarkHyruleCastle_2FRight_0:: + .incbin "assets/gAreaRoomMap_DarkHyruleCastle_2FRight_0.bin" +gAreaRoomMap_DarkHyruleCastle_2FRight_1:: + .incbin "assets/gAreaRoomMap_DarkHyruleCastle_2FRight_1.bin" .align 2 unknown_206:: .incbin "assets/unknown_206.bin" -gAreaRoomMap_DarkHyruleCastle_19_0:: - .incbin "assets/gAreaRoomMap_DarkHyruleCastle_19_0.bin" +gAreaRoomMap_DarkHyruleCastle_2FBottomLeftDarknuts_0:: + .incbin "assets/gAreaRoomMap_DarkHyruleCastle_2FBottomLeftDarknuts_0.bin" .align 2 -gAreaRoomMap_DarkHyruleCastle_19_1:: - .incbin "assets/gAreaRoomMap_DarkHyruleCastle_19_1.bin" +gAreaRoomMap_DarkHyruleCastle_2FBottomLeftDarknuts_1:: + .incbin "assets/gAreaRoomMap_DarkHyruleCastle_2FBottomLeftDarknuts_1.bin" .align 2 unknown_207:: .incbin "assets/unknown_207.bin" -gAreaRoomMap_DarkHyruleCastle_20_0:: - .incbin "assets/gAreaRoomMap_DarkHyruleCastle_20_0.bin" +gAreaRoomMap_DarkHyruleCastle_2FBossDoor_0:: + .incbin "assets/gAreaRoomMap_DarkHyruleCastle_2FBossDoor_0.bin" .align 2 -gAreaRoomMap_DarkHyruleCastle_20_1:: - .incbin "assets/gAreaRoomMap_DarkHyruleCastle_20_1.bin" +gAreaRoomMap_DarkHyruleCastle_2FBossDoor_1:: + .incbin "assets/gAreaRoomMap_DarkHyruleCastle_2FBossDoor_1.bin" .align 2 unknown_208:: .incbin "assets/unknown_208.bin" -gAreaRoomMap_DarkHyruleCastle_21_0:: - .incbin "assets/gAreaRoomMap_DarkHyruleCastle_21_0.bin" -gAreaRoomMap_DarkHyruleCastle_21_1:: - .incbin "assets/gAreaRoomMap_DarkHyruleCastle_21_1.bin" +gAreaRoomMap_DarkHyruleCastle_2FBottomRightDarknut_0:: + .incbin "assets/gAreaRoomMap_DarkHyruleCastle_2FBottomRightDarknut_0.bin" +gAreaRoomMap_DarkHyruleCastle_2FBottomRightDarknut_1:: + .incbin "assets/gAreaRoomMap_DarkHyruleCastle_2FBottomRightDarknut_1.bin" .align 2 unknown_209:: .incbin "assets/unknown_209.bin" -gAreaRoomMap_DarkHyruleCastle_22_0:: - .incbin "assets/gAreaRoomMap_DarkHyruleCastle_22_0.bin" +gAreaRoomMap_DarkHyruleCastle_2FBottomLeftCornerPuzzle_0:: + .incbin "assets/gAreaRoomMap_DarkHyruleCastle_2FBottomLeftCornerPuzzle_0.bin" .align 2 -gAreaRoomMap_DarkHyruleCastle_22_1:: - .incbin "assets/gAreaRoomMap_DarkHyruleCastle_22_1.bin" +gAreaRoomMap_DarkHyruleCastle_2FBottomLeftCornerPuzzle_1:: + .incbin "assets/gAreaRoomMap_DarkHyruleCastle_2FBottomLeftCornerPuzzle_1.bin" .align 2 unknown_210:: .incbin "assets/unknown_210.bin" -gAreaRoomMap_DarkHyruleCastle_23_0:: - .incbin "assets/gAreaRoomMap_DarkHyruleCastle_23_0.bin" +gAreaRoomMap_DarkHyruleCastle_2FEntrance_0:: + .incbin "assets/gAreaRoomMap_DarkHyruleCastle_2FEntrance_0.bin" .align 2 -gAreaRoomMap_DarkHyruleCastle_23_1:: - .incbin "assets/gAreaRoomMap_DarkHyruleCastle_23_1.bin" +gAreaRoomMap_DarkHyruleCastle_2FEntrance_1:: + .incbin "assets/gAreaRoomMap_DarkHyruleCastle_2FEntrance_1.bin" .align 2 unknown_211:: .incbin "assets/unknown_211.bin" -gAreaRoomMap_DarkHyruleCastle_24_0:: - .incbin "assets/gAreaRoomMap_DarkHyruleCastle_24_0.bin" +gAreaRoomMap_DarkHyruleCastle_2FBottomLeftCorner_0:: + .incbin "assets/gAreaRoomMap_DarkHyruleCastle_2FBottomLeftCorner_0.bin" .align 2 -gAreaRoomMap_DarkHyruleCastle_24_1:: - .incbin "assets/gAreaRoomMap_DarkHyruleCastle_24_1.bin" +gAreaRoomMap_DarkHyruleCastle_2FBottomLeftCorner_1:: + .incbin "assets/gAreaRoomMap_DarkHyruleCastle_2FBottomLeftCorner_1.bin" .align 2 unknown_212:: .incbin "assets/unknown_212.bin" -gAreaRoomMap_DarkHyruleCastle_25_0:: - .incbin "assets/gAreaRoomMap_DarkHyruleCastle_25_0.bin" -gAreaRoomMap_DarkHyruleCastle_25_1:: - .incbin "assets/gAreaRoomMap_DarkHyruleCastle_25_1.bin" +gAreaRoomMap_DarkHyruleCastle_2FBottomLeftTower_0:: + .incbin "assets/gAreaRoomMap_DarkHyruleCastle_2FBottomLeftTower_0.bin" +gAreaRoomMap_DarkHyruleCastle_2FBottomLeftTower_1:: + .incbin "assets/gAreaRoomMap_DarkHyruleCastle_2FBottomLeftTower_1.bin" .align 2 unknown_213:: .incbin "assets/unknown_213.bin" -gAreaRoomMap_DarkHyruleCastle_26_0:: - .incbin "assets/gAreaRoomMap_DarkHyruleCastle_26_0.bin" +gAreaRoomMap_DarkHyruleCastle_2FBottomLeftGhini_0:: + .incbin "assets/gAreaRoomMap_DarkHyruleCastle_2FBottomLeftGhini_0.bin" .align 2 -gAreaRoomMap_DarkHyruleCastle_26_1:: - .incbin "assets/gAreaRoomMap_DarkHyruleCastle_26_1.bin" +gAreaRoomMap_DarkHyruleCastle_2FBottomLeftGhini_1:: + .incbin "assets/gAreaRoomMap_DarkHyruleCastle_2FBottomLeftGhini_1.bin" .align 2 unknown_214:: .incbin "assets/unknown_214.bin" -gAreaRoomMap_DarkHyruleCastle_27_0:: - .incbin "assets/gAreaRoomMap_DarkHyruleCastle_27_0.bin" -gAreaRoomMap_DarkHyruleCastle_27_1:: - .incbin "assets/gAreaRoomMap_DarkHyruleCastle_27_1.bin" +gAreaRoomMap_DarkHyruleCastle_3FTopRightTower7_0:: + .incbin "assets/gAreaRoomMap_DarkHyruleCastle_3FTopRightTower7_0.bin" +gAreaRoomMap_DarkHyruleCastle_3FTopRightTower7_1:: + .incbin "assets/gAreaRoomMap_DarkHyruleCastle_3FTopRightTower7_1.bin" .align 2 unknown_215:: .incbin "assets/unknown_215.bin" -gAreaRoomMap_DarkHyruleCastle_28_0:: - .incbin "assets/gAreaRoomMap_DarkHyruleCastle_28_0.bin" +gAreaRoomMap_DarkHyruleCastle_B1Entrance_0:: + .incbin "assets/gAreaRoomMap_DarkHyruleCastle_B1Entrance_0.bin" .align 2 -gAreaRoomMap_DarkHyruleCastle_28_1:: - .incbin "assets/gAreaRoomMap_DarkHyruleCastle_28_1.bin" +gAreaRoomMap_DarkHyruleCastle_B1Entrance_1:: + .incbin "assets/gAreaRoomMap_DarkHyruleCastle_B1Entrance_1.bin" .align 2 unknown_216:: .incbin "assets/unknown_216.bin" -gAreaRoomMap_DarkHyruleCastle_29_0:: - .incbin "assets/gAreaRoomMap_DarkHyruleCastle_29_0.bin" +gAreaRoomMap_DarkHyruleCastle_2FBottomRightTower_0:: + .incbin "assets/gAreaRoomMap_DarkHyruleCastle_2FBottomRightTower_0.bin" .align 2 -gAreaRoomMap_DarkHyruleCastle_29_1:: - .incbin "assets/gAreaRoomMap_DarkHyruleCastle_29_1.bin" +gAreaRoomMap_DarkHyruleCastle_2FBottomRightTower_1:: + .incbin "assets/gAreaRoomMap_DarkHyruleCastle_2FBottomRightTower_1.bin" .align 2 unknown_217:: .incbin "assets/unknown_217.bin" -gAreaRoomMap_DarkHyruleCastle_30_0:: - .incbin "assets/gAreaRoomMap_DarkHyruleCastle_30_0.bin" -gAreaRoomMap_DarkHyruleCastle_30_1:: - .incbin "assets/gAreaRoomMap_DarkHyruleCastle_30_1.bin" +gAreaRoomMap_DarkHyruleCastle_1FTopLeftTower_0:: + .incbin "assets/gAreaRoomMap_DarkHyruleCastle_1FTopLeftTower_0.bin" +gAreaRoomMap_DarkHyruleCastle_1FTopLeftTower_1:: + .incbin "assets/gAreaRoomMap_DarkHyruleCastle_1FTopLeftTower_1.bin" .align 2 unknown_218:: .incbin "assets/unknown_218.bin" -gAreaRoomMap_DarkHyruleCastle_31_0:: - .incbin "assets/gAreaRoomMap_DarkHyruleCastle_31_0.bin" +gAreaRoomMap_DarkHyruleCastle_1FThroneRoom_0:: + .incbin "assets/gAreaRoomMap_DarkHyruleCastle_1FThroneRoom_0.bin" .align 2 -gAreaRoomMap_DarkHyruleCastle_31_1:: - .incbin "assets/gAreaRoomMap_DarkHyruleCastle_31_1.bin" +gAreaRoomMap_DarkHyruleCastle_1FThroneRoom_1:: + .incbin "assets/gAreaRoomMap_DarkHyruleCastle_1FThroneRoom_1.bin" .align 2 unknown_219:: .incbin "assets/unknown_219.bin" -gAreaRoomMap_DarkHyruleCastle_32_0:: - .incbin "assets/gAreaRoomMap_DarkHyruleCastle_32_0.bin" +gAreaRoomMap_DarkHyruleCastle_1FCompass_0:: + .incbin "assets/gAreaRoomMap_DarkHyruleCastle_1FCompass_0.bin" .align 2 -gAreaRoomMap_DarkHyruleCastle_32_1:: - .incbin "assets/gAreaRoomMap_DarkHyruleCastle_32_1.bin" +gAreaRoomMap_DarkHyruleCastle_1FCompass_1:: + .incbin "assets/gAreaRoomMap_DarkHyruleCastle_1FCompass_1.bin" .align 2 unknown_220:: .incbin "assets/unknown_220.bin" -gAreaRoomMap_DarkHyruleCastle_33_0:: - .incbin "assets/gAreaRoomMap_DarkHyruleCastle_33_0.bin" +gAreaRoomMap_DarkHyruleCastle_1FTopRightTower_0:: + .incbin "assets/gAreaRoomMap_DarkHyruleCastle_1FTopRightTower_0.bin" .align 2 -gAreaRoomMap_DarkHyruleCastle_33_1:: - .incbin "assets/gAreaRoomMap_DarkHyruleCastle_33_1.bin" +gAreaRoomMap_DarkHyruleCastle_1FTopRightTower_1:: + .incbin "assets/gAreaRoomMap_DarkHyruleCastle_1FTopRightTower_1.bin" .align 2 unknown_221:: .incbin "assets/unknown_221.bin" -gAreaRoomMap_DarkHyruleCastle_34_0:: - .incbin "assets/gAreaRoomMap_DarkHyruleCastle_34_0.bin" +gAreaRoomMap_DarkHyruleCastle_1FBeforeThrone_0:: + .incbin "assets/gAreaRoomMap_DarkHyruleCastle_1FBeforeThrone_0.bin" .align 2 -gAreaRoomMap_DarkHyruleCastle_34_1:: - .incbin "assets/gAreaRoomMap_DarkHyruleCastle_34_1.bin" +gAreaRoomMap_DarkHyruleCastle_1FBeforeThrone_1:: + .incbin "assets/gAreaRoomMap_DarkHyruleCastle_1FBeforeThrone_1.bin" .align 2 unknown_222:: .incbin "assets/unknown_222.bin" -gAreaRoomMap_DarkHyruleCastle_35_0:: - .incbin "assets/gAreaRoomMap_DarkHyruleCastle_35_0.bin" -gAreaRoomMap_DarkHyruleCastle_35_1:: - .incbin "assets/gAreaRoomMap_DarkHyruleCastle_35_1.bin" +gAreaRoomMap_DarkHyruleCastle_1FLoopTopLeft_0:: + .incbin "assets/gAreaRoomMap_DarkHyruleCastle_1FLoopTopLeft_0.bin" +gAreaRoomMap_DarkHyruleCastle_1FLoopTopLeft_1:: + .incbin "assets/gAreaRoomMap_DarkHyruleCastle_1FLoopTopLeft_1.bin" .align 2 unknown_223:: .incbin "assets/unknown_223.bin" -gAreaRoomMap_DarkHyruleCastle_36_0:: - .incbin "assets/gAreaRoomMap_DarkHyruleCastle_36_0.bin" -gAreaRoomMap_DarkHyruleCastle_36_1:: - .incbin "assets/gAreaRoomMap_DarkHyruleCastle_36_1.bin" +gAreaRoomMap_DarkHyruleCastle_1FLoopTop_0:: + .incbin "assets/gAreaRoomMap_DarkHyruleCastle_1FLoopTop_0.bin" +gAreaRoomMap_DarkHyruleCastle_1FLoopTop_1:: + .incbin "assets/gAreaRoomMap_DarkHyruleCastle_1FLoopTop_1.bin" .align 2 unknown_224:: .incbin "assets/unknown_224.bin" -gAreaRoomMap_DarkHyruleCastle_37_0:: - .incbin "assets/gAreaRoomMap_DarkHyruleCastle_37_0.bin" -gAreaRoomMap_DarkHyruleCastle_37_1:: - .incbin "assets/gAreaRoomMap_DarkHyruleCastle_37_1.bin" +gAreaRoomMap_DarkHyruleCastle_1FLoopTopRight_0:: + .incbin "assets/gAreaRoomMap_DarkHyruleCastle_1FLoopTopRight_0.bin" +gAreaRoomMap_DarkHyruleCastle_1FLoopTopRight_1:: + .incbin "assets/gAreaRoomMap_DarkHyruleCastle_1FLoopTopRight_1.bin" .align 2 unknown_225:: .incbin "assets/unknown_225.bin" -gAreaRoomMap_DarkHyruleCastle_38_0:: - .incbin "assets/gAreaRoomMap_DarkHyruleCastle_38_0.bin" -gAreaRoomMap_DarkHyruleCastle_38_1:: - .incbin "assets/gAreaRoomMap_DarkHyruleCastle_38_1.bin" +gAreaRoomMap_DarkHyruleCastle_1FLoopLeft_0:: + .incbin "assets/gAreaRoomMap_DarkHyruleCastle_1FLoopLeft_0.bin" +gAreaRoomMap_DarkHyruleCastle_1FLoopLeft_1:: + .incbin "assets/gAreaRoomMap_DarkHyruleCastle_1FLoopLeft_1.bin" .align 2 unknown_226:: .incbin "assets/unknown_226.bin" -gAreaRoomMap_DarkHyruleCastle_39_0:: - .incbin "assets/gAreaRoomMap_DarkHyruleCastle_39_0.bin" +gAreaRoomMap_DarkHyruleCastle_1FLoopRight_0:: + .incbin "assets/gAreaRoomMap_DarkHyruleCastle_1FLoopRight_0.bin" .align 2 -gAreaRoomMap_DarkHyruleCastle_39_1:: - .incbin "assets/gAreaRoomMap_DarkHyruleCastle_39_1.bin" +gAreaRoomMap_DarkHyruleCastle_1FLoopRight_1:: + .incbin "assets/gAreaRoomMap_DarkHyruleCastle_1FLoopRight_1.bin" .align 2 unknown_227:: .incbin "assets/unknown_227.bin" -gAreaRoomMap_DarkHyruleCastle_40_0:: - .incbin "assets/gAreaRoomMap_DarkHyruleCastle_40_0.bin" +gAreaRoomMap_DarkHyruleCastle_1FLoopBottomLeft_0:: + .incbin "assets/gAreaRoomMap_DarkHyruleCastle_1FLoopBottomLeft_0.bin" .align 2 -gAreaRoomMap_DarkHyruleCastle_40_1:: - .incbin "assets/gAreaRoomMap_DarkHyruleCastle_40_1.bin" +gAreaRoomMap_DarkHyruleCastle_1FLoopBottomLeft_1:: + .incbin "assets/gAreaRoomMap_DarkHyruleCastle_1FLoopBottomLeft_1.bin" .align 2 unknown_228:: .incbin "assets/unknown_228.bin" -gAreaRoomMap_DarkHyruleCastle_41_0:: - .incbin "assets/gAreaRoomMap_DarkHyruleCastle_41_0.bin" +gAreaRoomMap_DarkHyruleCastle_1FLoopBottom_0:: + .incbin "assets/gAreaRoomMap_DarkHyruleCastle_1FLoopBottom_0.bin" .align 2 -gAreaRoomMap_DarkHyruleCastle_41_1:: - .incbin "assets/gAreaRoomMap_DarkHyruleCastle_41_1.bin" +gAreaRoomMap_DarkHyruleCastle_1FLoopBottom_1:: + .incbin "assets/gAreaRoomMap_DarkHyruleCastle_1FLoopBottom_1.bin" .align 2 unknown_229:: .incbin "assets/unknown_229.bin" -gAreaRoomMap_DarkHyruleCastle_42_0:: - .incbin "assets/gAreaRoomMap_DarkHyruleCastle_42_0.bin" +gAreaRoomMap_DarkHyruleCastle_1FLoopBottomRight_0:: + .incbin "assets/gAreaRoomMap_DarkHyruleCastle_1FLoopBottomRight_0.bin" .align 2 -gAreaRoomMap_DarkHyruleCastle_42_1:: - .incbin "assets/gAreaRoomMap_DarkHyruleCastle_42_1.bin" +gAreaRoomMap_DarkHyruleCastle_1FLoopBottomRight_1:: + .incbin "assets/gAreaRoomMap_DarkHyruleCastle_1FLoopBottomRight_1.bin" .align 2 unknown_230:: .incbin "assets/unknown_230.bin" -gAreaRoomMap_DarkHyruleCastle_43_0:: - .incbin "assets/gAreaRoomMap_DarkHyruleCastle_43_0.bin" +gAreaRoomMap_DarkHyruleCastle_1FBottomLeftTower_0:: + .incbin "assets/gAreaRoomMap_DarkHyruleCastle_1FBottomLeftTower_0.bin" .align 2 -gAreaRoomMap_DarkHyruleCastle_43_1:: - .incbin "assets/gAreaRoomMap_DarkHyruleCastle_43_1.bin" +gAreaRoomMap_DarkHyruleCastle_1FBottomLeftTower_1:: + .incbin "assets/gAreaRoomMap_DarkHyruleCastle_1FBottomLeftTower_1.bin" .align 2 unknown_231:: .incbin "assets/unknown_231.bin" -gAreaRoomMap_DarkHyruleCastle_44_0:: - .incbin "assets/gAreaRoomMap_DarkHyruleCastle_44_0.bin" -gAreaRoomMap_DarkHyruleCastle_44_1:: - .incbin "assets/gAreaRoomMap_DarkHyruleCastle_44_1.bin" +gAreaRoomMap_DarkHyruleCastle_1FBottomRightTower_0:: + .incbin "assets/gAreaRoomMap_DarkHyruleCastle_1FBottomRightTower_0.bin" +gAreaRoomMap_DarkHyruleCastle_1FBottomRightTower_1:: + .incbin "assets/gAreaRoomMap_DarkHyruleCastle_1FBottomRightTower_1.bin" .align 2 unknown_232:: .incbin "assets/unknown_232.bin" -gAreaRoomMap_DarkHyruleCastle_45_0:: - .incbin "assets/gAreaRoomMap_DarkHyruleCastle_45_0.bin" -gAreaRoomMap_DarkHyruleCastle_45_1:: - .incbin "assets/gAreaRoomMap_DarkHyruleCastle_45_1.bin" +gAreaRoomMap_DarkHyruleCastle_B1BelowThrone_0:: + .incbin "assets/gAreaRoomMap_DarkHyruleCastle_B1BelowThrone_0.bin" +gAreaRoomMap_DarkHyruleCastle_B1BelowThrone_1:: + .incbin "assets/gAreaRoomMap_DarkHyruleCastle_B1BelowThrone_1.bin" .align 2 unknown_233:: .incbin "assets/unknown_233.bin" -gAreaRoomMap_DarkHyruleCastle_46_0:: - .incbin "assets/gAreaRoomMap_DarkHyruleCastle_46_0.bin" +gAreaRoomMap_DarkHyruleCastle_B1BelowCompass_0:: + .incbin "assets/gAreaRoomMap_DarkHyruleCastle_B1BelowCompass_0.bin" .align 2 -gAreaRoomMap_DarkHyruleCastle_46_1:: - .incbin "assets/gAreaRoomMap_DarkHyruleCastle_46_1.bin" +gAreaRoomMap_DarkHyruleCastle_B1BelowCompass_1:: + .incbin "assets/gAreaRoomMap_DarkHyruleCastle_B1BelowCompass_1.bin" .align 2 unknown_234:: .incbin "assets/unknown_234.bin" -gAreaRoomMap_DarkHyruleCastle_47_0:: - .incbin "assets/gAreaRoomMap_DarkHyruleCastle_47_0.bin" -gAreaRoomMap_DarkHyruleCastle_47_1:: - .incbin "assets/gAreaRoomMap_DarkHyruleCastle_47_1.bin" +gAreaRoomMap_DarkHyruleCastle_B1BeforeThrone_0:: + .incbin "assets/gAreaRoomMap_DarkHyruleCastle_B1BeforeThrone_0.bin" +gAreaRoomMap_DarkHyruleCastle_B1BeforeThrone_1:: + .incbin "assets/gAreaRoomMap_DarkHyruleCastle_B1BeforeThrone_1.bin" .align 2 unknown_235:: .incbin "assets/unknown_235.bin" -gAreaRoomMap_DarkHyruleCastle_48_0:: - .incbin "assets/gAreaRoomMap_DarkHyruleCastle_48_0.bin" -gAreaRoomMap_DarkHyruleCastle_48_1:: - .incbin "assets/gAreaRoomMap_DarkHyruleCastle_48_1.bin" +gAreaRoomMap_DarkHyruleCastle_B1ToPrison_0:: + .incbin "assets/gAreaRoomMap_DarkHyruleCastle_B1ToPrison_0.bin" +gAreaRoomMap_DarkHyruleCastle_B1ToPrison_1:: + .incbin "assets/gAreaRoomMap_DarkHyruleCastle_B1ToPrison_1.bin" .align 2 unknown_236:: .incbin "assets/unknown_236.bin" -gAreaRoomMap_DarkHyruleCastle_49_0:: - .incbin "assets/gAreaRoomMap_DarkHyruleCastle_49_0.bin" -gAreaRoomMap_DarkHyruleCastle_49_1:: - .incbin "assets/gAreaRoomMap_DarkHyruleCastle_49_1.bin" +gAreaRoomMap_DarkHyruleCastle_B1BombWall_0:: + .incbin "assets/gAreaRoomMap_DarkHyruleCastle_B1BombWall_0.bin" +gAreaRoomMap_DarkHyruleCastle_B1BombWall_1:: + .incbin "assets/gAreaRoomMap_DarkHyruleCastle_B1BombWall_1.bin" .align 2 unknown_237:: .incbin "assets/unknown_237.bin" -gAreaRoomMap_DarkHyruleCastle_50_0:: - .incbin "assets/gAreaRoomMap_DarkHyruleCastle_50_0.bin" -gAreaRoomMap_DarkHyruleCastle_50_1:: - .incbin "assets/gAreaRoomMap_DarkHyruleCastle_50_1.bin" +gAreaRoomMap_DarkHyruleCastle_B1Keatons_0:: + .incbin "assets/gAreaRoomMap_DarkHyruleCastle_B1Keatons_0.bin" +gAreaRoomMap_DarkHyruleCastle_B1Keatons_1:: + .incbin "assets/gAreaRoomMap_DarkHyruleCastle_B1Keatons_1.bin" .align 2 unknown_238:: .incbin "assets/unknown_238.bin" -gAreaRoomMap_DarkHyruleCastle_51_0:: - .incbin "assets/gAreaRoomMap_DarkHyruleCastle_51_0.bin" +gAreaRoomMap_DarkHyruleCastle_B1ToPrisonFirebar_0:: + .incbin "assets/gAreaRoomMap_DarkHyruleCastle_B1ToPrisonFirebar_0.bin" .align 2 -gAreaRoomMap_DarkHyruleCastle_51_1:: - .incbin "assets/gAreaRoomMap_DarkHyruleCastle_51_1.bin" +gAreaRoomMap_DarkHyruleCastle_B1ToPrisonFirebar_1:: + .incbin "assets/gAreaRoomMap_DarkHyruleCastle_B1ToPrisonFirebar_1.bin" .align 2 unknown_239:: .incbin "assets/unknown_239.bin" -gAreaRoomMap_DarkHyruleCastle_52_0:: - .incbin "assets/gAreaRoomMap_DarkHyruleCastle_52_0.bin" +gAreaRoomMap_DarkHyruleCastle_B1Cannons_0:: + .incbin "assets/gAreaRoomMap_DarkHyruleCastle_B1Cannons_0.bin" .align 2 -gAreaRoomMap_DarkHyruleCastle_52_1:: - .incbin "assets/gAreaRoomMap_DarkHyruleCastle_52_1.bin" +gAreaRoomMap_DarkHyruleCastle_B1Cannons_1:: + .incbin "assets/gAreaRoomMap_DarkHyruleCastle_B1Cannons_1.bin" .align 2 unknown_240:: .incbin "assets/unknown_240.bin" -gAreaRoomMap_DarkHyruleCastle_53_0:: - .incbin "assets/gAreaRoomMap_DarkHyruleCastle_53_0.bin" +gAreaRoomMap_DarkHyruleCastle_B1Left_0:: + .incbin "assets/gAreaRoomMap_DarkHyruleCastle_B1Left_0.bin" .align 2 -gAreaRoomMap_DarkHyruleCastle_53_1:: - .incbin "assets/gAreaRoomMap_DarkHyruleCastle_53_1.bin" +gAreaRoomMap_DarkHyruleCastle_B1Left_1:: + .incbin "assets/gAreaRoomMap_DarkHyruleCastle_B1Left_1.bin" .align 2 unknown_241:: .incbin "assets/unknown_241.bin" -gAreaRoomMap_DarkHyruleCastle_54_0:: - .incbin "assets/gAreaRoomMap_DarkHyruleCastle_54_0.bin" +gAreaRoomMap_DarkHyruleCastle_B1Right_0:: + .incbin "assets/gAreaRoomMap_DarkHyruleCastle_B1Right_0.bin" .align 2 -gAreaRoomMap_DarkHyruleCastle_54_1:: - .incbin "assets/gAreaRoomMap_DarkHyruleCastle_54_1.bin" +gAreaRoomMap_DarkHyruleCastle_B1Right_1:: + .incbin "assets/gAreaRoomMap_DarkHyruleCastle_B1Right_1.bin" .align 2 unknown_242:: .incbin "assets/unknown_242.bin" -gAreaRoomMap_DarkHyruleCastle_55_0:: - .incbin "assets/gAreaRoomMap_DarkHyruleCastle_55_0.bin" +gAreaRoomMap_DarkHyruleCastle_B1Map_0:: + .incbin "assets/gAreaRoomMap_DarkHyruleCastle_B1Map_0.bin" .align 2 -gAreaRoomMap_DarkHyruleCastle_55_1:: - .incbin "assets/gAreaRoomMap_DarkHyruleCastle_55_1.bin" +gAreaRoomMap_DarkHyruleCastle_B1Map_1:: + .incbin "assets/gAreaRoomMap_DarkHyruleCastle_B1Map_1.bin" .align 2 unknown_243:: .incbin "assets/unknown_243.bin" -gAreaRoomMap_DarkHyruleCastle_56_0:: - .incbin "assets/gAreaRoomMap_DarkHyruleCastle_56_0.bin" +gAreaRoomMap_DarkHyruleCastle_B2ToPrison_0:: + .incbin "assets/gAreaRoomMap_DarkHyruleCastle_B2ToPrison_0.bin" .align 2 -gAreaRoomMap_DarkHyruleCastle_56_1:: - .incbin "assets/gAreaRoomMap_DarkHyruleCastle_56_1.bin" +gAreaRoomMap_DarkHyruleCastle_B2ToPrison_1:: + .incbin "assets/gAreaRoomMap_DarkHyruleCastle_B2ToPrison_1.bin" .align 2 unknown_244:: .incbin "assets/unknown_244.bin" -gAreaRoomMap_DarkHyruleCastle_57_0:: - .incbin "assets/gAreaRoomMap_DarkHyruleCastle_57_0.bin" +gAreaRoomMap_DarkHyruleCastle_B2Prison_0:: + .incbin "assets/gAreaRoomMap_DarkHyruleCastle_B2Prison_0.bin" .align 2 -gAreaRoomMap_DarkHyruleCastle_57_1:: - .incbin "assets/gAreaRoomMap_DarkHyruleCastle_57_1.bin" +gAreaRoomMap_DarkHyruleCastle_B2Prison_1:: + .incbin "assets/gAreaRoomMap_DarkHyruleCastle_B2Prison_1.bin" .align 2 unknown_245:: .incbin "assets/unknown_245.bin" -gAreaRoomMap_DarkHyruleCastle_58_0:: - .incbin "assets/gAreaRoomMap_DarkHyruleCastle_58_0.bin" +gAreaRoomMap_DarkHyruleCastle_B2Dropdown_0:: + .incbin "assets/gAreaRoomMap_DarkHyruleCastle_B2Dropdown_0.bin" .align 2 -gAreaRoomMap_DarkHyruleCastle_58_1:: - .incbin "assets/gAreaRoomMap_DarkHyruleCastle_58_1.bin" +gAreaRoomMap_DarkHyruleCastle_B2Dropdown_1:: + .incbin "assets/gAreaRoomMap_DarkHyruleCastle_B2Dropdown_1.bin" .align 2 unknown_246:: .incbin "assets/unknown_246.bin" -gAreaRoomMap_DarkHyruleCastle_59_0:: - .incbin "assets/gAreaRoomMap_DarkHyruleCastle_59_0.bin" -gAreaRoomMap_DarkHyruleCastle_59_1:: - .incbin "assets/gAreaRoomMap_DarkHyruleCastle_59_1.bin" +gAreaRoomMap_DarkHyruleCastle_3FKeatonHallToVaati9_0:: + .incbin "assets/gAreaRoomMap_DarkHyruleCastle_3FKeatonHallToVaati9_0.bin" +gAreaRoomMap_DarkHyruleCastle_3FKeatonHallToVaati9_1:: + .incbin "assets/gAreaRoomMap_DarkHyruleCastle_3FKeatonHallToVaati9_1.bin" .align 2 unknown_247:: .incbin "assets/unknown_247.bin" diff --git a/data/map/map_headers.s b/data/map/map_headers.s index 5ff387e7..25643f08 100755 --- a/data/map/map_headers.s +++ b/data/map/map_headers.s @@ -502,27 +502,27 @@ gAreaRoomMap_MelarisMine_0:: @ 08103C88 gAreaRoomMaps_MelarisMine:: @ 08103CA0 .4byte gAreaRoomMap_MelarisMine_0 -gAreaRoomMap_MinishPaths1_0:: @ 08103CA4 - map_bottom offset_gAreaRoomMap_MinishPaths1_0_0, 0x5DC, 1, 1 +gAreaRoomMap_MinishPaths_0:: @ 08103CA4 + map_bottom offset_gAreaRoomMap_MinishPaths_0_0, 0x5DC, 1, 1 -gAreaRoomMap_MinishPaths1_1:: @ 08103CB0 - map_bottom offset_gAreaRoomMap_MinishPaths1_1_0, 0x5DC, 1, 1 +gAreaRoomMap_MinishPaths_1:: @ 08103CB0 + map_bottom offset_gAreaRoomMap_MinishPaths_1_0, 0x5DC, 1, 1 -gAreaRoomMap_MinishPaths1_2:: @ 08103CBC - map_bottom offset_gAreaRoomMap_MinishPaths1_2_0, 0x5DC, 1, 1 +gAreaRoomMap_MinishPaths_2:: @ 08103CBC + map_bottom offset_gAreaRoomMap_MinishPaths_2_0, 0x5DC, 1, 1 -gAreaRoomMap_MinishPaths1_3:: @ 08103CC8 - map_bottom offset_gAreaRoomMap_MinishPaths1_3_0, 0x5DC, 1, 1 +gAreaRoomMap_MinishPaths_3:: @ 08103CC8 + map_bottom offset_gAreaRoomMap_MinishPaths_3_0, 0x5DC, 1, 1 -gAreaRoomMap_MinishPaths1_4:: @ 08103CD4 - map_bottom offset_gAreaRoomMap_MinishPaths1_4_0, 0x5DC, 1, 1 +gAreaRoomMap_MinishPaths_4:: @ 08103CD4 + map_bottom offset_gAreaRoomMap_MinishPaths_4_0, 0x5DC, 1, 1 -gAreaRoomMaps_MinishPaths1:: @ 08103CE0 - .4byte gAreaRoomMap_MinishPaths1_0 - .4byte gAreaRoomMap_MinishPaths1_1 - .4byte gAreaRoomMap_MinishPaths1_2 - .4byte gAreaRoomMap_MinishPaths1_3 - .4byte gAreaRoomMap_MinishPaths1_4 +gAreaRoomMaps_MinishPaths:: @ 08103CE0 + .4byte gAreaRoomMap_MinishPaths_0 + .4byte gAreaRoomMap_MinishPaths_1 + .4byte gAreaRoomMap_MinishPaths_2 + .4byte gAreaRoomMap_MinishPaths_3 + .4byte gAreaRoomMap_MinishPaths_4 gAreaRoomMap_CrenelMinishPaths_0:: @ 08103CF4 map_bottom offset_gAreaRoomMap_CrenelMinishPaths_0_0, 0x5DC, 1, 1 @@ -2364,262 +2364,262 @@ gAreaRoomMaps_RoyalCrypt:: @ 081062CC .4byte 0x0 .4byte 0x0 -gAreaRoomMap_PalaceOfWinds_0:: @ 0810630C - map_bottom offset_gAreaRoomMap_PalaceOfWinds_0_0, 0xA8C, 1 - map_top offset_gAreaRoomMap_PalaceOfWinds_0_1, 0xA8C, 1, 1 +gAreaRoomMap_PalaceOfWinds_GyorgTornado:: @ 0810630C + map_bottom offset_gAreaRoomMap_PalaceOfWinds_GyorgTornado_0, 0xA8C, 1 + map_top offset_gAreaRoomMap_PalaceOfWinds_GyorgTornado_1, 0xA8C, 1, 1 -gAreaRoomMap_PalaceOfWinds_1:: @ 08106324 - map_bottom offset_gAreaRoomMap_PalaceOfWinds_1_0, 0x12C, 1 - map_top offset_gAreaRoomMap_PalaceOfWinds_1_1, 0x12C, 1, 1 +gAreaRoomMap_PalaceOfWinds_BossKey:: @ 08106324 + map_bottom offset_gAreaRoomMap_PalaceOfWinds_BossKey_0, 0x12C, 1 + map_top offset_gAreaRoomMap_PalaceOfWinds_BossKey_1, 0x12C, 1, 1 -gAreaRoomMap_PalaceOfWinds_2:: @ 0810633C - map_bottom offset_gAreaRoomMap_PalaceOfWinds_2_0, 0x1A4, 1 - map_top offset_gAreaRoomMap_PalaceOfWinds_2_1, 0x1A4, 1, 1 +gAreaRoomMap_PalaceOfWinds_BeforeBallAndChainSoldiers:: @ 0810633C + map_bottom offset_gAreaRoomMap_PalaceOfWinds_BeforeBallAndChainSoldiers_0, 0x1A4, 1 + map_top offset_gAreaRoomMap_PalaceOfWinds_BeforeBallAndChainSoldiers_1, 0x1A4, 1, 1 -gAreaRoomMap_PalaceOfWinds_3:: @ 08106354 - map_bottom offset_gAreaRoomMap_PalaceOfWinds_3_0, 0x384, 1 - map_top offset_gAreaRoomMap_PalaceOfWinds_3_1, 0x384, 1, 1 +gAreaRoomMap_PalaceOfWinds_GyorgBossDoor:: @ 08106354 + map_bottom offset_gAreaRoomMap_PalaceOfWinds_GyorgBossDoor_0, 0x384, 1 + map_top offset_gAreaRoomMap_PalaceOfWinds_GyorgBossDoor_1, 0x384, 1, 1 -gAreaRoomMap_PalaceOfWinds_4:: @ 0810636C - map_bottom offset_gAreaRoomMap_PalaceOfWinds_4_0, 0x12C, 1 - map_top offset_gAreaRoomMap_PalaceOfWinds_4_1, 0x12C, 1, 1 +gAreaRoomMap_PalaceOfWinds_EastChestFromGyorgBossDoor:: @ 0810636C + map_bottom offset_gAreaRoomMap_PalaceOfWinds_EastChestFromGyorgBossDoor_0, 0x12C, 1 + map_top offset_gAreaRoomMap_PalaceOfWinds_EastChestFromGyorgBossDoor_1, 0x12C, 1, 1 -gAreaRoomMap_PalaceOfWinds_5:: @ 08106384 - map_bottom offset_gAreaRoomMap_PalaceOfWinds_5_0, 0x384, 1 - map_top offset_gAreaRoomMap_PalaceOfWinds_5_1, 0x384, 1, 1 +gAreaRoomMap_PalaceOfWinds_MoblinAndWizzrobeFight:: @ 08106384 + map_bottom offset_gAreaRoomMap_PalaceOfWinds_MoblinAndWizzrobeFight_0, 0x384, 1 + map_top offset_gAreaRoomMap_PalaceOfWinds_MoblinAndWizzrobeFight_1, 0x384, 1, 1 -gAreaRoomMap_PalaceOfWinds_6:: @ 0810639C - map_bottom offset_gAreaRoomMap_PalaceOfWinds_6_0, 0x384, 1 - map_top offset_gAreaRoomMap_PalaceOfWinds_6_1, 0x384, 1, 1 +gAreaRoomMap_PalaceOfWinds_FourButtonStalfos:: @ 0810639C + map_bottom offset_gAreaRoomMap_PalaceOfWinds_FourButtonStalfos_0, 0x384, 1 + map_top offset_gAreaRoomMap_PalaceOfWinds_FourButtonStalfos_1, 0x384, 1, 1 -gAreaRoomMap_PalaceOfWinds_7:: @ 081063B4 - map_bottom offset_gAreaRoomMap_PalaceOfWinds_7_0, 0x384, 1 - map_top offset_gAreaRoomMap_PalaceOfWinds_7_1, 0x384, 1, 1 +gAreaRoomMap_PalaceOfWinds_FanAndKeyToBossKey:: @ 081063B4 + map_bottom offset_gAreaRoomMap_PalaceOfWinds_FanAndKeyToBossKey_0, 0x384, 1 + map_top offset_gAreaRoomMap_PalaceOfWinds_FanAndKeyToBossKey_1, 0x384, 1, 1 -gAreaRoomMap_PalaceOfWinds_8:: @ 081063CC - map_bottom offset_gAreaRoomMap_PalaceOfWinds_8_0, 0x258, 1 - map_top offset_gAreaRoomMap_PalaceOfWinds_8_1, 0x258, 1, 1 +gAreaRoomMap_PalaceOfWinds_BallAndChainSoldiers:: @ 081063CC + map_bottom offset_gAreaRoomMap_PalaceOfWinds_BallAndChainSoldiers_0, 0x258, 1 + map_top offset_gAreaRoomMap_PalaceOfWinds_BallAndChainSoldiers_1, 0x258, 1, 1 -gAreaRoomMap_PalaceOfWinds_9:: @ 081063E4 - map_bottom offset_gAreaRoomMap_PalaceOfWinds_9_0, 0x12C, 1 - map_top offset_gAreaRoomMap_PalaceOfWinds_9_1, 0x12C, 1, 1 +gAreaRoomMap_PalaceOfWinds_BombarossaPath:: @ 081063E4 + map_bottom offset_gAreaRoomMap_PalaceOfWinds_BombarossaPath_0, 0x12C, 1 + map_top offset_gAreaRoomMap_PalaceOfWinds_BombarossaPath_1, 0x12C, 1, 1 -gAreaRoomMap_PalaceOfWinds_10:: @ 081063FC - map_bottom offset_gAreaRoomMap_PalaceOfWinds_10_0, 0x186, 1 - map_top offset_gAreaRoomMap_PalaceOfWinds_10_1, 0x186, 1, 1 +gAreaRoomMap_PalaceOfWinds_HoleToDarknut:: @ 081063FC + map_bottom offset_gAreaRoomMap_PalaceOfWinds_HoleToDarknut_0, 0x186, 1 + map_top offset_gAreaRoomMap_PalaceOfWinds_HoleToDarknut_1, 0x186, 1, 1 -gAreaRoomMap_PalaceOfWinds_11:: @ 08106414 - map_bottom offset_gAreaRoomMap_PalaceOfWinds_11_0, 0x12C, 1 - map_top offset_gAreaRoomMap_PalaceOfWinds_11_1, 0x12C, 1, 1 +gAreaRoomMap_PalaceOfWinds_ToBombarossaPath:: @ 08106414 + map_bottom offset_gAreaRoomMap_PalaceOfWinds_ToBombarossaPath_0, 0x12C, 1 + map_top offset_gAreaRoomMap_PalaceOfWinds_ToBombarossaPath_1, 0x12C, 1, 1 -gAreaRoomMap_PalaceOfWinds_12:: @ 0810642C - map_bottom offset_gAreaRoomMap_PalaceOfWinds_12_0, 0x1E0, 1 - map_top offset_gAreaRoomMap_PalaceOfWinds_12_1, 0x1E0, 1, 1 +gAreaRoomMap_PalaceOfWinds_DarknutMiniboss:: @ 0810642C + map_bottom offset_gAreaRoomMap_PalaceOfWinds_DarknutMiniboss_0, 0x1E0, 1 + map_top offset_gAreaRoomMap_PalaceOfWinds_DarknutMiniboss_1, 0x1E0, 1, 1 -gAreaRoomMap_PalaceOfWinds_13:: @ 08106444 - map_bottom offset_gAreaRoomMap_PalaceOfWinds_13_0, 0x12C, 1 - map_top offset_gAreaRoomMap_PalaceOfWinds_13_1, 0x12C, 1, 1 +gAreaRoomMap_PalaceOfWinds_BombWallInside:: @ 08106444 + map_bottom offset_gAreaRoomMap_PalaceOfWinds_BombWallInside_0, 0x12C, 1 + map_top offset_gAreaRoomMap_PalaceOfWinds_BombWallInside_1, 0x12C, 1, 1 -gAreaRoomMap_PalaceOfWinds_14:: @ 0810645C - map_bottom offset_gAreaRoomMap_PalaceOfWinds_14_0, 0x258, 1 - map_top offset_gAreaRoomMap_PalaceOfWinds_14_1, 0x258, 1, 1 +gAreaRoomMap_PalaceOfWinds_BombWallOutside:: @ 0810645C + map_bottom offset_gAreaRoomMap_PalaceOfWinds_BombWallOutside_0, 0x258, 1 + map_top offset_gAreaRoomMap_PalaceOfWinds_BombWallOutside_1, 0x258, 1, 1 -gAreaRoomMap_PalaceOfWinds_15:: @ 08106474 - map_bottom offset_gAreaRoomMap_PalaceOfWinds_15_0, 0x708, 1 - map_top offset_gAreaRoomMap_PalaceOfWinds_15_1, 0x708, 1, 1 +gAreaRoomMap_PalaceOfWinds_CloudJumps:: @ 08106474 + map_bottom offset_gAreaRoomMap_PalaceOfWinds_CloudJumps_0, 0x708, 1 + map_top offset_gAreaRoomMap_PalaceOfWinds_CloudJumps_1, 0x708, 1, 1 -gAreaRoomMap_PalaceOfWinds_16:: @ 0810648C - map_bottom offset_gAreaRoomMap_PalaceOfWinds_16_0, 0xA8C, 1 - map_top offset_gAreaRoomMap_PalaceOfWinds_16_1, 0xA8C, 1, 1 +gAreaRoomMap_PalaceOfWinds_BlockMazeToBossDoor:: @ 0810648C + map_bottom offset_gAreaRoomMap_PalaceOfWinds_BlockMazeToBossDoor_0, 0xA8C, 1 + map_top offset_gAreaRoomMap_PalaceOfWinds_BlockMazeToBossDoor_1, 0xA8C, 1, 1 -gAreaRoomMap_PalaceOfWinds_17:: @ 081064A4 - map_bottom offset_gAreaRoomMap_PalaceOfWinds_17_0, 0x384, 1 - map_top offset_gAreaRoomMap_PalaceOfWinds_17_1, 0x384, 1, 1 +gAreaRoomMap_PalaceOfWinds_CrackedFloorLakitu:: @ 081064A4 + map_bottom offset_gAreaRoomMap_PalaceOfWinds_CrackedFloorLakitu_0, 0x384, 1 + map_top offset_gAreaRoomMap_PalaceOfWinds_CrackedFloorLakitu_1, 0x384, 1, 1 -gAreaRoomMap_PalaceOfWinds_18:: @ 081064BC - map_bottom offset_gAreaRoomMap_PalaceOfWinds_18_0, 0x258, 1 - map_top offset_gAreaRoomMap_PalaceOfWinds_18_1, 0x258, 1, 1 +gAreaRoomMap_PalaceOfWinds_HeartPieceBridge:: @ 081064BC + map_bottom offset_gAreaRoomMap_PalaceOfWinds_HeartPieceBridge_0, 0x258, 1 + map_top offset_gAreaRoomMap_PalaceOfWinds_HeartPieceBridge_1, 0x258, 1, 1 -gAreaRoomMap_PalaceOfWinds_19:: @ 081064D4 - map_bottom offset_gAreaRoomMap_PalaceOfWinds_19_0, 0x4B0, 1 - map_top offset_gAreaRoomMap_PalaceOfWinds_19_1, 0x4B0, 1, 1 +gAreaRoomMap_PalaceOfWinds_FanBridge:: @ 081064D4 + map_bottom offset_gAreaRoomMap_PalaceOfWinds_FanBridge_0, 0x4B0, 1 + map_top offset_gAreaRoomMap_PalaceOfWinds_FanBridge_1, 0x4B0, 1, 1 -gAreaRoomMap_PalaceOfWinds_20:: @ 081064EC - map_bottom offset_gAreaRoomMap_PalaceOfWinds_20_0, 0x258, 1 - map_top offset_gAreaRoomMap_PalaceOfWinds_20_1, 0x258, 1, 1 +gAreaRoomMap_PalaceOfWinds_ToFanBridge:: @ 081064EC + map_bottom offset_gAreaRoomMap_PalaceOfWinds_ToFanBridge_0, 0x258, 1 + map_top offset_gAreaRoomMap_PalaceOfWinds_ToFanBridge_1, 0x258, 1, 1 -gAreaRoomMap_PalaceOfWinds_21:: @ 08106504 - map_bottom offset_gAreaRoomMap_PalaceOfWinds_21_0, 0x708, 1 - map_top offset_gAreaRoomMap_PalaceOfWinds_21_1, 0x708, 1, 1 +gAreaRoomMap_PalaceOfWinds_RedWarpHall:: @ 08106504 + map_bottom offset_gAreaRoomMap_PalaceOfWinds_RedWarpHall_0, 0x708, 1 + map_top offset_gAreaRoomMap_PalaceOfWinds_RedWarpHall_1, 0x708, 1, 1 -gAreaRoomMap_PalaceOfWinds_22:: @ 0810651C - map_bottom offset_gAreaRoomMap_PalaceOfWinds_22_0, 0x4B0, 1 - map_top offset_gAreaRoomMap_PalaceOfWinds_22_1, 0x4B0, 1, 1 +gAreaRoomMap_PalaceOfWinds_PlatformCloneRide:: @ 0810651C + map_bottom offset_gAreaRoomMap_PalaceOfWinds_PlatformCloneRide_0, 0x4B0, 1 + map_top offset_gAreaRoomMap_PalaceOfWinds_PlatformCloneRide_1, 0x4B0, 1, 1 -gAreaRoomMap_PalaceOfWinds_23:: @ 08106534 - map_bottom offset_gAreaRoomMap_PalaceOfWinds_23_0, 0x258, 1 - map_top offset_gAreaRoomMap_PalaceOfWinds_23_1, 0x258, 1, 1 +gAreaRoomMap_PalaceOfWinds_PitCornerAfterKey:: @ 08106534 + map_bottom offset_gAreaRoomMap_PalaceOfWinds_PitCornerAfterKey_0, 0x258, 1 + map_top offset_gAreaRoomMap_PalaceOfWinds_PitCornerAfterKey_1, 0x258, 1, 1 -gAreaRoomMap_PalaceOfWinds_24:: @ 0810654C - map_bottom offset_gAreaRoomMap_PalaceOfWinds_24_0, 0x4B0, 1 - map_top offset_gAreaRoomMap_PalaceOfWinds_24_1, 0x4B0, 1, 1 +gAreaRoomMap_PalaceOfWinds_CrowRide:: @ 0810654C + map_bottom offset_gAreaRoomMap_PalaceOfWinds_CrowRide_0, 0x4B0, 1 + map_top offset_gAreaRoomMap_PalaceOfWinds_CrowRide_1, 0x4B0, 1, 1 -gAreaRoomMap_PalaceOfWinds_25:: @ 08106564 - map_bottom offset_gAreaRoomMap_PalaceOfWinds_25_0, 0x4B0, 1 - map_top offset_gAreaRoomMap_PalaceOfWinds_25_1, 0x4B0, 1, 1 +gAreaRoomMap_PalaceOfWinds_GratePlatformRide:: @ 08106564 + map_bottom offset_gAreaRoomMap_PalaceOfWinds_GratePlatformRide_0, 0x4B0, 1 + map_top offset_gAreaRoomMap_PalaceOfWinds_GratePlatformRide_1, 0x4B0, 1, 1 -gAreaRoomMap_PalaceOfWinds_26:: @ 0810657C - map_bottom offset_gAreaRoomMap_PalaceOfWinds_26_0, 0x4B0, 1 - map_top offset_gAreaRoomMap_PalaceOfWinds_26_1, 0x4B0, 1, 1 +gAreaRoomMap_PalaceOfWinds_PotPush:: @ 0810657C + map_bottom offset_gAreaRoomMap_PalaceOfWinds_PotPush_0, 0x4B0, 1 + map_top offset_gAreaRoomMap_PalaceOfWinds_PotPush_1, 0x4B0, 1, 1 -gAreaRoomMap_PalaceOfWinds_27:: @ 08106594 - map_bottom offset_gAreaRoomMap_PalaceOfWinds_27_0, 0x12C, 1 - map_top offset_gAreaRoomMap_PalaceOfWinds_27_1, 0x12C, 1, 1 +gAreaRoomMap_PalaceOfWinds_FloormasterLever:: @ 08106594 + map_bottom offset_gAreaRoomMap_PalaceOfWinds_FloormasterLever_0, 0x12C, 1 + map_top offset_gAreaRoomMap_PalaceOfWinds_FloormasterLever_1, 0x12C, 1, 1 -gAreaRoomMap_PalaceOfWinds_28:: @ 081065AC - map_bottom offset_gAreaRoomMap_PalaceOfWinds_28_0, 0x12C, 1 - map_top offset_gAreaRoomMap_PalaceOfWinds_28_1, 0x12C, 1, 1 +gAreaRoomMap_PalaceOfWinds_Map:: @ 081065AC + map_bottom offset_gAreaRoomMap_PalaceOfWinds_Map_0, 0x12C, 1 + map_top offset_gAreaRoomMap_PalaceOfWinds_Map_1, 0x12C, 1, 1 -gAreaRoomMap_PalaceOfWinds_29:: @ 081065C4 - map_bottom offset_gAreaRoomMap_PalaceOfWinds_29_0, 0x12C, 1 - map_top offset_gAreaRoomMap_PalaceOfWinds_29_1, 0x12C, 1, 1 +gAreaRoomMap_PalaceOfWinds_CornerToMap:: @ 081065C4 + map_bottom offset_gAreaRoomMap_PalaceOfWinds_CornerToMap_0, 0x12C, 1 + map_top offset_gAreaRoomMap_PalaceOfWinds_CornerToMap_1, 0x12C, 1, 1 -gAreaRoomMap_PalaceOfWinds_30:: @ 081065DC - map_bottom offset_gAreaRoomMap_PalaceOfWinds_30_0, 0x12C, 1 - map_top offset_gAreaRoomMap_PalaceOfWinds_30_1, 0x12C, 1, 1 +gAreaRoomMap_PalaceOfWinds_StairsAfterFloormaster:: @ 081065DC + map_bottom offset_gAreaRoomMap_PalaceOfWinds_StairsAfterFloormaster_0, 0x12C, 1 + map_top offset_gAreaRoomMap_PalaceOfWinds_StairsAfterFloormaster_1, 0x12C, 1, 1 -gAreaRoomMap_PalaceOfWinds_31:: @ 081065F4 - map_bottom offset_gAreaRoomMap_PalaceOfWinds_31_0, 0x12C, 1 - map_top offset_gAreaRoomMap_PalaceOfWinds_31_1, 0x12C, 1, 1 +gAreaRoomMap_PalaceOfWinds_HoleToKinstoneWizzrobe:: @ 081065F4 + map_bottom offset_gAreaRoomMap_PalaceOfWinds_HoleToKinstoneWizzrobe_0, 0x12C, 1 + map_top offset_gAreaRoomMap_PalaceOfWinds_HoleToKinstoneWizzrobe_1, 0x12C, 1, 1 -gAreaRoomMap_PalaceOfWinds_32:: @ 0810660C - map_bottom offset_gAreaRoomMap_PalaceOfWinds_32_0, 0x12C, 1 - map_top offset_gAreaRoomMap_PalaceOfWinds_32_1, 0x12C, 1, 1 +gAreaRoomMap_PalaceOfWinds_KeyArrowButton:: @ 0810660C + map_bottom offset_gAreaRoomMap_PalaceOfWinds_KeyArrowButton_0, 0x12C, 1 + map_top offset_gAreaRoomMap_PalaceOfWinds_KeyArrowButton_1, 0x12C, 1, 1 -gAreaRoomMap_PalaceOfWinds_33:: @ 08106624 - map_bottom offset_gAreaRoomMap_PalaceOfWinds_33_0, 0xA8C, 1 - map_top offset_gAreaRoomMap_PalaceOfWinds_33_1, 0xA8C, 1, 1 +gAreaRoomMap_PalaceOfWinds_GratesTo3F:: @ 08106624 + map_bottom offset_gAreaRoomMap_PalaceOfWinds_GratesTo3F_0, 0xA8C, 1 + map_top offset_gAreaRoomMap_PalaceOfWinds_GratesTo3F_1, 0xA8C, 1, 1 -gAreaRoomMap_PalaceOfWinds_34:: @ 0810663C - map_bottom offset_gAreaRoomMap_PalaceOfWinds_34_0, 0x708, 1 - map_top offset_gAreaRoomMap_PalaceOfWinds_34_1, 0x708, 1, 1 +gAreaRoomMap_PalaceOfWinds_SpinyFight:: @ 0810663C + map_bottom offset_gAreaRoomMap_PalaceOfWinds_SpinyFight_0, 0x708, 1 + map_top offset_gAreaRoomMap_PalaceOfWinds_SpinyFight_1, 0x708, 1, 1 -gAreaRoomMap_PalaceOfWinds_35:: @ 08106654 - map_bottom offset_gAreaRoomMap_PalaceOfWinds_35_0, 0x258, 1 - map_top offset_gAreaRoomMap_PalaceOfWinds_35_1, 0x258, 1, 1 +gAreaRoomMap_PalaceOfWinds_PeahatSwitch:: @ 08106654 + map_bottom offset_gAreaRoomMap_PalaceOfWinds_PeahatSwitch_0, 0x258, 1 + map_top offset_gAreaRoomMap_PalaceOfWinds_PeahatSwitch_1, 0x258, 1, 1 -gAreaRoomMap_PalaceOfWinds_36:: @ 0810666C - map_bottom offset_gAreaRoomMap_PalaceOfWinds_36_0, 0x4B0, 1 - map_top offset_gAreaRoomMap_PalaceOfWinds_36_1, 0x4B0, 1, 1 +gAreaRoomMap_PalaceOfWinds_WhirlwindBombarossa:: @ 0810666C + map_bottom offset_gAreaRoomMap_PalaceOfWinds_WhirlwindBombarossa_0, 0x4B0, 1 + map_top offset_gAreaRoomMap_PalaceOfWinds_WhirlwindBombarossa_1, 0x4B0, 1, 1 -gAreaRoomMap_PalaceOfWinds_37:: @ 08106684 - map_bottom offset_gAreaRoomMap_PalaceOfWinds_37_0, 0x12C, 1 - map_top offset_gAreaRoomMap_PalaceOfWinds_37_1, 0x12C, 1, 1 +gAreaRoomMap_PalaceOfWinds_DoorToStalfosFirebar:: @ 08106684 + map_bottom offset_gAreaRoomMap_PalaceOfWinds_DoorToStalfosFirebar_0, 0x12C, 1 + map_top offset_gAreaRoomMap_PalaceOfWinds_DoorToStalfosFirebar_1, 0x12C, 1, 1 -gAreaRoomMap_PalaceOfWinds_38:: @ 0810669C - map_bottom offset_gAreaRoomMap_PalaceOfWinds_38_0, 0x12C, 1 - map_top offset_gAreaRoomMap_PalaceOfWinds_38_1, 0x12C, 1, 1 +gAreaRoomMap_PalaceOfWinds_StalfosFireborHole:: @ 0810669C + map_bottom offset_gAreaRoomMap_PalaceOfWinds_StalfosFireborHole_0, 0x12C, 1 + map_top offset_gAreaRoomMap_PalaceOfWinds_StalfosFireborHole_1, 0x12C, 1, 1 -gAreaRoomMap_PalaceOfWinds_39:: @ 081066B4 - map_bottom offset_gAreaRoomMap_PalaceOfWinds_39_0, 0x12C, 1 - map_top offset_gAreaRoomMap_PalaceOfWinds_39_1, 0x12C, 1, 1 +gAreaRoomMap_PalaceOfWinds_ShortcutDoorButtons:: @ 081066B4 + map_bottom offset_gAreaRoomMap_PalaceOfWinds_ShortcutDoorButtons_0, 0x12C, 1 + map_top offset_gAreaRoomMap_PalaceOfWinds_ShortcutDoorButtons_1, 0x12C, 1, 1 -gAreaRoomMap_PalaceOfWinds_40:: @ 081066CC - map_bottom offset_gAreaRoomMap_PalaceOfWinds_40_0, 0x12C, 1 - map_top offset_gAreaRoomMap_PalaceOfWinds_40_1, 0x12C, 1, 1 +gAreaRoomMap_PalaceOfWinds_ToPeahatSwitch:: @ 081066CC + map_bottom offset_gAreaRoomMap_PalaceOfWinds_ToPeahatSwitch_0, 0x12C, 1 + map_top offset_gAreaRoomMap_PalaceOfWinds_ToPeahatSwitch_1, 0x12C, 1, 1 -gAreaRoomMap_PalaceOfWinds_41:: @ 081066E4 - map_bottom offset_gAreaRoomMap_PalaceOfWinds_41_0, 0x12C, 1 - map_top offset_gAreaRoomMap_PalaceOfWinds_41_1, 0x12C, 1, 1 +gAreaRoomMap_PalaceOfWinds_KinstoneWizzrobeFight:: @ 081066E4 + map_bottom offset_gAreaRoomMap_PalaceOfWinds_KinstoneWizzrobeFight_0, 0x12C, 1 + map_top offset_gAreaRoomMap_PalaceOfWinds_KinstoneWizzrobeFight_1, 0x12C, 1, 1 -gAreaRoomMap_PalaceOfWinds_42:: @ 081066FC - map_bottom offset_gAreaRoomMap_PalaceOfWinds_42_0, 0x12C, 1 - map_top offset_gAreaRoomMap_PalaceOfWinds_42_1, 0x12C, 1, 1 +gAreaRoomMap_PalaceOfWinds_GibdoStairs:: @ 081066FC + map_bottom offset_gAreaRoomMap_PalaceOfWinds_GibdoStairs_0, 0x12C, 1 + map_top offset_gAreaRoomMap_PalaceOfWinds_GibdoStairs_1, 0x12C, 1, 1 -gAreaRoomMap_PalaceOfWinds_43:: @ 08106714 - map_bottom offset_gAreaRoomMap_PalaceOfWinds_43_0, 0x258, 1 - map_top offset_gAreaRoomMap_PalaceOfWinds_43_1, 0x258, 1, 1 +gAreaRoomMap_PalaceOfWinds_SpikeBarSmallKey:: @ 08106714 + map_bottom offset_gAreaRoomMap_PalaceOfWinds_SpikeBarSmallKey_0, 0x258, 1 + map_top offset_gAreaRoomMap_PalaceOfWinds_SpikeBarSmallKey_1, 0x258, 1, 1 -gAreaRoomMap_PalaceOfWinds_44:: @ 0810672C - map_bottom offset_gAreaRoomMap_PalaceOfWinds_44_0, 0x708, 1 - map_top offset_gAreaRoomMap_PalaceOfWinds_44_1, 0x708, 1, 1 +gAreaRoomMap_PalaceOfWinds_RocCape:: @ 0810672C + map_bottom offset_gAreaRoomMap_PalaceOfWinds_RocCape_0, 0x708, 1 + map_top offset_gAreaRoomMap_PalaceOfWinds_RocCape_1, 0x708, 1, 1 -gAreaRoomMap_PalaceOfWinds_45:: @ 08106744 - map_bottom offset_gAreaRoomMap_PalaceOfWinds_45_0, 0x708, 1 - map_top offset_gAreaRoomMap_PalaceOfWinds_45_1, 0x708, 1, 1 +gAreaRoomMap_PalaceOfWinds_FireBarGrates:: @ 08106744 + map_bottom offset_gAreaRoomMap_PalaceOfWinds_FireBarGrates_0, 0x708, 1 + map_top offset_gAreaRoomMap_PalaceOfWinds_FireBarGrates_1, 0x708, 1, 1 -gAreaRoomMap_PalaceOfWinds_46:: @ 0810675C - map_bottom offset_gAreaRoomMap_PalaceOfWinds_46_0, 0x550, 1 - map_top offset_gAreaRoomMap_PalaceOfWinds_46_1, 0x550, 1, 1 +gAreaRoomMap_PalaceOfWinds_PlatformRideBombarossas:: @ 0810675C + map_bottom offset_gAreaRoomMap_PalaceOfWinds_PlatformRideBombarossas_0, 0x550, 1 + map_top offset_gAreaRoomMap_PalaceOfWinds_PlatformRideBombarossas_1, 0x550, 1, 1 -gAreaRoomMap_PalaceOfWinds_47:: @ 08106774 - map_bottom offset_gAreaRoomMap_PalaceOfWinds_47_0, 0x12C, 1 - map_top offset_gAreaRoomMap_PalaceOfWinds_47_1, 0x12C, 1, 1 +gAreaRoomMap_PalaceOfWinds_BridgeAfterDarknut:: @ 08106774 + map_bottom offset_gAreaRoomMap_PalaceOfWinds_BridgeAfterDarknut_0, 0x12C, 1 + map_top offset_gAreaRoomMap_PalaceOfWinds_BridgeAfterDarknut_1, 0x12C, 1, 1 -gAreaRoomMap_PalaceOfWinds_48:: @ 0810678C - map_bottom offset_gAreaRoomMap_PalaceOfWinds_48_0, 0x500, 1 - map_top offset_gAreaRoomMap_PalaceOfWinds_48_1, 0x500, 1, 1 +gAreaRoomMap_PalaceOfWinds_BridgeSwitchesCloneBlock:: @ 0810678C + map_bottom offset_gAreaRoomMap_PalaceOfWinds_BridgeSwitchesCloneBlock_0, 0x500, 1 + map_top offset_gAreaRoomMap_PalaceOfWinds_BridgeSwitchesCloneBlock_1, 0x500, 1, 1 -gAreaRoomMap_PalaceOfWinds_49:: @ 081067A4 - map_bottom offset_gAreaRoomMap_PalaceOfWinds_49_0, 0x3DE, 1 - map_top offset_gAreaRoomMap_PalaceOfWinds_49_1, 0x3DE, 1, 1 +gAreaRoomMap_PalaceOfWinds_EntranceRoom:: @ 081067A4 + map_bottom offset_gAreaRoomMap_PalaceOfWinds_EntranceRoom_0, 0x3DE, 1 + map_top offset_gAreaRoomMap_PalaceOfWinds_EntranceRoom_1, 0x3DE, 1, 1 -gAreaRoomMap_PalaceOfWinds_50:: @ 081067BC - map_bottom offset_gAreaRoomMap_PalaceOfWinds_50_0, 0x708, 1 - map_top offset_gAreaRoomMap_PalaceOfWinds_50_1, 0x708, 1, 1 +gAreaRoomMap_PalaceOfWinds_DarkCompassHall:: @ 081067BC + map_bottom offset_gAreaRoomMap_PalaceOfWinds_DarkCompassHall_0, 0x708, 1 + map_top offset_gAreaRoomMap_PalaceOfWinds_DarkCompassHall_1, 0x708, 1, 1 gAreaRoomMaps_PalaceOfWinds:: @ 081067D4 - .4byte gAreaRoomMap_PalaceOfWinds_0 - .4byte gAreaRoomMap_PalaceOfWinds_1 - .4byte gAreaRoomMap_PalaceOfWinds_2 - .4byte gAreaRoomMap_PalaceOfWinds_3 - .4byte gAreaRoomMap_PalaceOfWinds_4 - .4byte gAreaRoomMap_PalaceOfWinds_5 - .4byte gAreaRoomMap_PalaceOfWinds_6 - .4byte gAreaRoomMap_PalaceOfWinds_7 - .4byte gAreaRoomMap_PalaceOfWinds_8 - .4byte gAreaRoomMap_PalaceOfWinds_9 - .4byte gAreaRoomMap_PalaceOfWinds_10 - .4byte gAreaRoomMap_PalaceOfWinds_11 - .4byte gAreaRoomMap_PalaceOfWinds_12 - .4byte gAreaRoomMap_PalaceOfWinds_13 - .4byte gAreaRoomMap_PalaceOfWinds_14 - .4byte gAreaRoomMap_PalaceOfWinds_15 - .4byte gAreaRoomMap_PalaceOfWinds_16 - .4byte gAreaRoomMap_PalaceOfWinds_17 - .4byte gAreaRoomMap_PalaceOfWinds_18 - .4byte gAreaRoomMap_PalaceOfWinds_19 - .4byte gAreaRoomMap_PalaceOfWinds_20 - .4byte gAreaRoomMap_PalaceOfWinds_21 - .4byte gAreaRoomMap_PalaceOfWinds_22 - .4byte gAreaRoomMap_PalaceOfWinds_23 - .4byte gAreaRoomMap_PalaceOfWinds_24 - .4byte gAreaRoomMap_PalaceOfWinds_25 - .4byte gAreaRoomMap_PalaceOfWinds_26 - .4byte gAreaRoomMap_PalaceOfWinds_27 - .4byte gAreaRoomMap_PalaceOfWinds_28 - .4byte gAreaRoomMap_PalaceOfWinds_29 - .4byte gAreaRoomMap_PalaceOfWinds_30 - .4byte gAreaRoomMap_PalaceOfWinds_31 - .4byte gAreaRoomMap_PalaceOfWinds_32 - .4byte gAreaRoomMap_PalaceOfWinds_33 - .4byte gAreaRoomMap_PalaceOfWinds_34 - .4byte gAreaRoomMap_PalaceOfWinds_35 - .4byte gAreaRoomMap_PalaceOfWinds_36 - .4byte gAreaRoomMap_PalaceOfWinds_37 - .4byte gAreaRoomMap_PalaceOfWinds_38 - .4byte gAreaRoomMap_PalaceOfWinds_39 - .4byte gAreaRoomMap_PalaceOfWinds_40 - .4byte gAreaRoomMap_PalaceOfWinds_41 - .4byte gAreaRoomMap_PalaceOfWinds_42 - .4byte gAreaRoomMap_PalaceOfWinds_43 - .4byte gAreaRoomMap_PalaceOfWinds_44 - .4byte gAreaRoomMap_PalaceOfWinds_45 - .4byte gAreaRoomMap_PalaceOfWinds_46 - .4byte gAreaRoomMap_PalaceOfWinds_47 - .4byte gAreaRoomMap_PalaceOfWinds_48 - .4byte gAreaRoomMap_PalaceOfWinds_49 - .4byte gAreaRoomMap_PalaceOfWinds_50 + .4byte gAreaRoomMap_PalaceOfWinds_GyorgTornado + .4byte gAreaRoomMap_PalaceOfWinds_BossKey + .4byte gAreaRoomMap_PalaceOfWinds_BeforeBallAndChainSoldiers + .4byte gAreaRoomMap_PalaceOfWinds_GyorgBossDoor + .4byte gAreaRoomMap_PalaceOfWinds_EastChestFromGyorgBossDoor + .4byte gAreaRoomMap_PalaceOfWinds_MoblinAndWizzrobeFight + .4byte gAreaRoomMap_PalaceOfWinds_FourButtonStalfos + .4byte gAreaRoomMap_PalaceOfWinds_FanAndKeyToBossKey + .4byte gAreaRoomMap_PalaceOfWinds_BallAndChainSoldiers + .4byte gAreaRoomMap_PalaceOfWinds_BombarossaPath + .4byte gAreaRoomMap_PalaceOfWinds_HoleToDarknut + .4byte gAreaRoomMap_PalaceOfWinds_ToBombarossaPath + .4byte gAreaRoomMap_PalaceOfWinds_DarknutMiniboss + .4byte gAreaRoomMap_PalaceOfWinds_BombWallInside + .4byte gAreaRoomMap_PalaceOfWinds_BombWallOutside + .4byte gAreaRoomMap_PalaceOfWinds_CloudJumps + .4byte gAreaRoomMap_PalaceOfWinds_BlockMazeToBossDoor + .4byte gAreaRoomMap_PalaceOfWinds_CrackedFloorLakitu + .4byte gAreaRoomMap_PalaceOfWinds_HeartPieceBridge + .4byte gAreaRoomMap_PalaceOfWinds_FanBridge + .4byte gAreaRoomMap_PalaceOfWinds_ToFanBridge + .4byte gAreaRoomMap_PalaceOfWinds_RedWarpHall + .4byte gAreaRoomMap_PalaceOfWinds_PlatformCloneRide + .4byte gAreaRoomMap_PalaceOfWinds_PitCornerAfterKey + .4byte gAreaRoomMap_PalaceOfWinds_CrowRide + .4byte gAreaRoomMap_PalaceOfWinds_GratePlatformRide + .4byte gAreaRoomMap_PalaceOfWinds_PotPush + .4byte gAreaRoomMap_PalaceOfWinds_FloormasterLever + .4byte gAreaRoomMap_PalaceOfWinds_Map + .4byte gAreaRoomMap_PalaceOfWinds_CornerToMap + .4byte gAreaRoomMap_PalaceOfWinds_StairsAfterFloormaster + .4byte gAreaRoomMap_PalaceOfWinds_HoleToKinstoneWizzrobe + .4byte gAreaRoomMap_PalaceOfWinds_KeyArrowButton + .4byte gAreaRoomMap_PalaceOfWinds_GratesTo3F + .4byte gAreaRoomMap_PalaceOfWinds_SpinyFight + .4byte gAreaRoomMap_PalaceOfWinds_PeahatSwitch + .4byte gAreaRoomMap_PalaceOfWinds_WhirlwindBombarossa + .4byte gAreaRoomMap_PalaceOfWinds_DoorToStalfosFirebar + .4byte gAreaRoomMap_PalaceOfWinds_StalfosFireborHole + .4byte gAreaRoomMap_PalaceOfWinds_ShortcutDoorButtons + .4byte gAreaRoomMap_PalaceOfWinds_ToPeahatSwitch + .4byte gAreaRoomMap_PalaceOfWinds_KinstoneWizzrobeFight + .4byte gAreaRoomMap_PalaceOfWinds_GibdoStairs + .4byte gAreaRoomMap_PalaceOfWinds_SpikeBarSmallKey + .4byte gAreaRoomMap_PalaceOfWinds_RocCape + .4byte gAreaRoomMap_PalaceOfWinds_FireBarGrates + .4byte gAreaRoomMap_PalaceOfWinds_PlatformRideBombarossas + .4byte gAreaRoomMap_PalaceOfWinds_BridgeAfterDarknut + .4byte gAreaRoomMap_PalaceOfWinds_BridgeSwitchesCloneBlock + .4byte gAreaRoomMap_PalaceOfWinds_EntranceRoom + .4byte gAreaRoomMap_PalaceOfWinds_DarkCompassHall gAreaRoomMap_PalaceOfWindsBoss_0:: @ 081068A0 map_top offset_gAreaRoomMap_PalaceOfWindsBoss_0_0, 0x1F80, 1, 1 @@ -2701,307 +2701,307 @@ gAreaRoomMap_SanctuaryEntrance_0:: @ 08106A00 gAreaRoomMaps_SanctuaryEntrance:: @ 08106A18 .4byte gAreaRoomMap_SanctuaryEntrance_0 -gAreaRoomMap_DarkHyruleCastle_0:: @ 08106A1C - map_bottom offset_gAreaRoomMap_DarkHyruleCastle_0_0, 0xE58, 1 - map_top offset_gAreaRoomMap_DarkHyruleCastle_0_1, 0xE58, 1, 1 +gAreaRoomMap_DarkHyruleCastle_1FEntrance:: @ 08106A1C + map_bottom offset_gAreaRoomMap_DarkHyruleCastle_1FEntrance_0, 0xE58, 1 + map_top offset_gAreaRoomMap_DarkHyruleCastle_1FEntrance_1, 0xE58, 1, 1 -gAreaRoomMap_DarkHyruleCastle_1:: @ 08106A34 - map_bottom offset_gAreaRoomMap_DarkHyruleCastle_1_0, 0x1BA, 1 - map_top offset_gAreaRoomMap_DarkHyruleCastle_1_1, 0x1BA, 1, 1 +gAreaRoomMap_DarkHyruleCastle_3FTopLeftTower:: @ 08106A34 + map_bottom offset_gAreaRoomMap_DarkHyruleCastle_3FTopLeftTower_0, 0x1BA, 1 + map_top offset_gAreaRoomMap_DarkHyruleCastle_3FTopLeftTower_1, 0x1BA, 1, 1 -gAreaRoomMap_DarkHyruleCastle_2:: @ 08106A4C - map_bottom offset_gAreaRoomMap_DarkHyruleCastle_2_0, 0x1BA, 1 - map_top offset_gAreaRoomMap_DarkHyruleCastle_2_1, 0x1BA, 1, 1 +gAreaRoomMap_DarkHyruleCastle_3FTopRightTower:: @ 08106A4C + map_bottom offset_gAreaRoomMap_DarkHyruleCastle_3FTopRightTower_0, 0x1BA, 1 + map_top offset_gAreaRoomMap_DarkHyruleCastle_3FTopRightTower_1, 0x1BA, 1, 1 -gAreaRoomMap_DarkHyruleCastle_3:: @ 08106A64 - map_bottom offset_gAreaRoomMap_DarkHyruleCastle_3_0, 0x1BA, 1 - map_top offset_gAreaRoomMap_DarkHyruleCastle_3_1, 0x1BA, 1, 1 +gAreaRoomMap_DarkHyruleCastle_3FBottomLeftTower:: @ 08106A64 + map_bottom offset_gAreaRoomMap_DarkHyruleCastle_3FBottomLeftTower_0, 0x1BA, 1 + map_top offset_gAreaRoomMap_DarkHyruleCastle_3FBottomLeftTower_1, 0x1BA, 1, 1 -gAreaRoomMap_DarkHyruleCastle_4:: @ 08106A7C - map_bottom offset_gAreaRoomMap_DarkHyruleCastle_4_0, 0x1BA, 1 - map_top offset_gAreaRoomMap_DarkHyruleCastle_4_1, 0x1BA, 1, 1 +gAreaRoomMap_DarkHyruleCastle_3FBottomRightTower:: @ 08106A7C + map_bottom offset_gAreaRoomMap_DarkHyruleCastle_3FBottomRightTower_0, 0x1BA, 1 + map_top offset_gAreaRoomMap_DarkHyruleCastle_3FBottomRightTower_1, 0x1BA, 1, 1 -gAreaRoomMap_DarkHyruleCastle_5:: @ 08106A94 - map_bottom offset_gAreaRoomMap_DarkHyruleCastle_5_0, 0x444, 1 - map_top offset_gAreaRoomMap_DarkHyruleCastle_5_1, 0x444, 1, 1 +gAreaRoomMap_DarkHyruleCastle_3FKeatonHallToVaati:: @ 08106A94 + map_bottom offset_gAreaRoomMap_DarkHyruleCastle_3FKeatonHallToVaati_0, 0x444, 1 + map_top offset_gAreaRoomMap_DarkHyruleCastle_3FKeatonHallToVaati_1, 0x444, 1, 1 -gAreaRoomMap_DarkHyruleCastle_6:: @ 08106AAC - map_bottom offset_gAreaRoomMap_DarkHyruleCastle_6_0, 0x2A0, 1 - map_top offset_gAreaRoomMap_DarkHyruleCastle_6_1, 0x2A0, 1, 1 +gAreaRoomMap_DarkHyruleCastle_3FTripleDarknut:: @ 08106AAC + map_bottom offset_gAreaRoomMap_DarkHyruleCastle_3FTripleDarknut_0, 0x2A0, 1 + map_top offset_gAreaRoomMap_DarkHyruleCastle_3FTripleDarknut_1, 0x2A0, 1, 1 -gAreaRoomMap_DarkHyruleCastle_7:: @ 08106AC4 - map_bottom offset_gAreaRoomMap_DarkHyruleCastle_7_0, 0x374, 1 - map_top offset_gAreaRoomMap_DarkHyruleCastle_7_1, 0x374, 1, 1 +gAreaRoomMap_DarkHyruleCastle_2FTopLeftTower:: @ 08106AC4 + map_bottom offset_gAreaRoomMap_DarkHyruleCastle_2FTopLeftTower_0, 0x374, 1 + map_top offset_gAreaRoomMap_DarkHyruleCastle_2FTopLeftTower_1, 0x374, 1, 1 -gAreaRoomMap_DarkHyruleCastle_8:: @ 08106ADC - map_bottom offset_gAreaRoomMap_DarkHyruleCastle_8_0, 0x374, 1 - map_top offset_gAreaRoomMap_DarkHyruleCastle_8_1, 0x374, 1, 1 +gAreaRoomMap_DarkHyruleCastle_2FTopLeftCorner:: @ 08106ADC + map_bottom offset_gAreaRoomMap_DarkHyruleCastle_2FTopLeftCorner_0, 0x374, 1 + map_top offset_gAreaRoomMap_DarkHyruleCastle_2FTopLeftCorner_1, 0x374, 1, 1 -gAreaRoomMap_DarkHyruleCastle_9:: @ 08106AF4 - map_bottom offset_gAreaRoomMap_DarkHyruleCastle_9_0, 0x1FE, 1 - map_top offset_gAreaRoomMap_DarkHyruleCastle_9_1, 0x1FE, 1, 1 +gAreaRoomMap_DarkHyruleCastle_2FBossKey:: @ 08106AF4 + map_bottom offset_gAreaRoomMap_DarkHyruleCastle_2FBossKey_0, 0x1FE, 1 + map_top offset_gAreaRoomMap_DarkHyruleCastle_2FBossKey_1, 0x1FE, 1, 1 -gAreaRoomMap_DarkHyruleCastle_10:: @ 08106B0C - map_bottom offset_gAreaRoomMap_DarkHyruleCastle_10_0, 0x1BA, 1 - map_top offset_gAreaRoomMap_DarkHyruleCastle_10_1, 0x1BA, 1, 1 +gAreaRoomMap_DarkHyruleCastle_2FBlueWarp:: @ 08106B0C + map_bottom offset_gAreaRoomMap_DarkHyruleCastle_2FBlueWarp_0, 0x1BA, 1 + map_top offset_gAreaRoomMap_DarkHyruleCastle_2FBlueWarp_1, 0x1BA, 1, 1 -gAreaRoomMap_DarkHyruleCastle_11:: @ 08106B24 - map_bottom offset_gAreaRoomMap_DarkHyruleCastle_11_0, 0x1BA, 1 - map_top offset_gAreaRoomMap_DarkHyruleCastle_11_1, 0x1BA, 1, 1 +gAreaRoomMap_DarkHyruleCastle_2FTopRightCornerGhini:: @ 08106B24 + map_bottom offset_gAreaRoomMap_DarkHyruleCastle_2FTopRightCornerGhini_0, 0x1BA, 1 + map_top offset_gAreaRoomMap_DarkHyruleCastle_2FTopRightCornerGhini_1, 0x1BA, 1, 1 -gAreaRoomMap_DarkHyruleCastle_12:: @ 08106B3C - map_bottom offset_gAreaRoomMap_DarkHyruleCastle_12_0, 0x1BA, 1 - map_top offset_gAreaRoomMap_DarkHyruleCastle_12_1, 0x1BA, 1, 1 +gAreaRoomMap_DarkHyruleCastle_2FTopRightCornerTorches:: @ 08106B3C + map_bottom offset_gAreaRoomMap_DarkHyruleCastle_2FTopRightCornerTorches_0, 0x1BA, 1 + map_top offset_gAreaRoomMap_DarkHyruleCastle_2FTopRightCornerTorches_1, 0x1BA, 1, 1 -gAreaRoomMap_DarkHyruleCastle_13:: @ 08106B54 - map_bottom offset_gAreaRoomMap_DarkHyruleCastle_13_0, 0x1BA, 1 - map_top offset_gAreaRoomMap_DarkHyruleCastle_13_1, 0x1BA, 1, 1 +gAreaRoomMap_DarkHyruleCastle_2FTopRightTower:: @ 08106B54 + map_bottom offset_gAreaRoomMap_DarkHyruleCastle_2FTopRightTower_0, 0x1BA, 1 + map_top offset_gAreaRoomMap_DarkHyruleCastle_2FTopRightTower_1, 0x1BA, 1, 1 -gAreaRoomMap_DarkHyruleCastle_14:: @ 08106B6C - map_bottom offset_gAreaRoomMap_DarkHyruleCastle_14_0, 0x1BA, 1 - map_top offset_gAreaRoomMap_DarkHyruleCastle_14_1, 0x1BA, 1, 1 +gAreaRoomMap_DarkHyruleCastle_2FTopLeftDarknut:: @ 08106B6C + map_bottom offset_gAreaRoomMap_DarkHyruleCastle_2FTopLeftDarknut_0, 0x1BA, 1 + map_top offset_gAreaRoomMap_DarkHyruleCastle_2FTopLeftDarknut_1, 0x1BA, 1, 1 -gAreaRoomMap_DarkHyruleCastle_15:: @ 08106B84 - map_bottom offset_gAreaRoomMap_DarkHyruleCastle_15_0, 0x1BA, 1 - map_top offset_gAreaRoomMap_DarkHyruleCastle_15_1, 0x1BA, 1, 1 +gAreaRoomMap_DarkHyruleCastle_2FSparks:: @ 08106B84 + map_bottom offset_gAreaRoomMap_DarkHyruleCastle_2FSparks_0, 0x1BA, 1 + map_top offset_gAreaRoomMap_DarkHyruleCastle_2FSparks_1, 0x1BA, 1, 1 -gAreaRoomMap_DarkHyruleCastle_16:: @ 08106B9C - map_bottom offset_gAreaRoomMap_DarkHyruleCastle_16_0, 0x1BA, 1 - map_top offset_gAreaRoomMap_DarkHyruleCastle_16_1, 0x1BA, 1, 1 +gAreaRoomMap_DarkHyruleCastle_2FTopRightDarknuts:: @ 08106B9C + map_bottom offset_gAreaRoomMap_DarkHyruleCastle_2FTopRightDarknuts_0, 0x1BA, 1 + map_top offset_gAreaRoomMap_DarkHyruleCastle_2FTopRightDarknuts_1, 0x1BA, 1, 1 -gAreaRoomMap_DarkHyruleCastle_17:: @ 08106BB4 - map_bottom offset_gAreaRoomMap_DarkHyruleCastle_17_0, 0x2A8, 1 - map_top offset_gAreaRoomMap_DarkHyruleCastle_17_1, 0x2A8, 1, 1 +gAreaRoomMap_DarkHyruleCastle_2FLeft:: @ 08106BB4 + map_bottom offset_gAreaRoomMap_DarkHyruleCastle_2FLeft_0, 0x2A8, 1 + map_top offset_gAreaRoomMap_DarkHyruleCastle_2FLeft_1, 0x2A8, 1, 1 -gAreaRoomMap_DarkHyruleCastle_18:: @ 08106BCC - map_bottom offset_gAreaRoomMap_DarkHyruleCastle_18_0, 0x2A8, 1 - map_top offset_gAreaRoomMap_DarkHyruleCastle_18_1, 0x2A8, 1, 1 +gAreaRoomMap_DarkHyruleCastle_2FRight:: @ 08106BCC + map_bottom offset_gAreaRoomMap_DarkHyruleCastle_2FRight_0, 0x2A8, 1 + map_top offset_gAreaRoomMap_DarkHyruleCastle_2FRight_1, 0x2A8, 1, 1 -gAreaRoomMap_DarkHyruleCastle_19:: @ 08106BE4 - map_bottom offset_gAreaRoomMap_DarkHyruleCastle_19_0, 0x1BA, 1 - map_top offset_gAreaRoomMap_DarkHyruleCastle_19_1, 0x1BA, 1, 1 +gAreaRoomMap_DarkHyruleCastle_2FBottomLeftDarknuts:: @ 08106BE4 + map_bottom offset_gAreaRoomMap_DarkHyruleCastle_2FBottomLeftDarknuts_0, 0x1BA, 1 + map_top offset_gAreaRoomMap_DarkHyruleCastle_2FBottomLeftDarknuts_1, 0x1BA, 1, 1 -gAreaRoomMap_DarkHyruleCastle_20:: @ 08106BFC - map_bottom offset_gAreaRoomMap_DarkHyruleCastle_20_0, 0x1BA, 1 - map_top offset_gAreaRoomMap_DarkHyruleCastle_20_1, 0x1BA, 1, 1 +gAreaRoomMap_DarkHyruleCastle_2FBossDoor:: @ 08106BFC + map_bottom offset_gAreaRoomMap_DarkHyruleCastle_2FBossDoor_0, 0x1BA, 1 + map_top offset_gAreaRoomMap_DarkHyruleCastle_2FBossDoor_1, 0x1BA, 1, 1 -gAreaRoomMap_DarkHyruleCastle_21:: @ 08106C14 - map_bottom offset_gAreaRoomMap_DarkHyruleCastle_21_0, 0x1BA, 1 - map_top offset_gAreaRoomMap_DarkHyruleCastle_21_1, 0x1BA, 1, 1 +gAreaRoomMap_DarkHyruleCastle_2FBottomRightDarknut:: @ 08106C14 + map_bottom offset_gAreaRoomMap_DarkHyruleCastle_2FBottomRightDarknut_0, 0x1BA, 1 + map_top offset_gAreaRoomMap_DarkHyruleCastle_2FBottomRightDarknut_1, 0x1BA, 1, 1 -gAreaRoomMap_DarkHyruleCastle_22:: @ 08106C2C - map_bottom offset_gAreaRoomMap_DarkHyruleCastle_22_0, 0x1BA, 1 - map_top offset_gAreaRoomMap_DarkHyruleCastle_22_1, 0x1BA, 1, 1 +gAreaRoomMap_DarkHyruleCastle_2FBottomLeftCornerPuzzle:: @ 08106C2C + map_bottom offset_gAreaRoomMap_DarkHyruleCastle_2FBottomLeftCornerPuzzle_0, 0x1BA, 1 + map_top offset_gAreaRoomMap_DarkHyruleCastle_2FBottomLeftCornerPuzzle_1, 0x1BA, 1, 1 -gAreaRoomMap_DarkHyruleCastle_23:: @ 08106C44 - map_bottom offset_gAreaRoomMap_DarkHyruleCastle_23_0, 0x374, 1 - map_top offset_gAreaRoomMap_DarkHyruleCastle_23_1, 0x374, 1, 1 +gAreaRoomMap_DarkHyruleCastle_2FEntrance:: @ 08106C44 + map_bottom offset_gAreaRoomMap_DarkHyruleCastle_2FEntrance_0, 0x374, 1 + map_top offset_gAreaRoomMap_DarkHyruleCastle_2FEntrance_1, 0x374, 1, 1 -gAreaRoomMap_DarkHyruleCastle_24:: @ 08106C5C - map_bottom offset_gAreaRoomMap_DarkHyruleCastle_24_0, 0x374, 1 - map_top offset_gAreaRoomMap_DarkHyruleCastle_24_1, 0x374, 1, 1 +gAreaRoomMap_DarkHyruleCastle_2FBottomLeftCorner:: @ 08106C5C + map_bottom offset_gAreaRoomMap_DarkHyruleCastle_2FBottomLeftCorner_0, 0x374, 1 + map_top offset_gAreaRoomMap_DarkHyruleCastle_2FBottomLeftCorner_1, 0x374, 1, 1 -gAreaRoomMap_DarkHyruleCastle_25:: @ 08106C74 - map_bottom offset_gAreaRoomMap_DarkHyruleCastle_25_0, 0x1BA, 1 - map_top offset_gAreaRoomMap_DarkHyruleCastle_25_1, 0x1BA, 1, 1 +gAreaRoomMap_DarkHyruleCastle_2FBottomLeftTower:: @ 08106C74 + map_bottom offset_gAreaRoomMap_DarkHyruleCastle_2FBottomLeftTower_0, 0x1BA, 1 + map_top offset_gAreaRoomMap_DarkHyruleCastle_2FBottomLeftTower_1, 0x1BA, 1, 1 -gAreaRoomMap_DarkHyruleCastle_26:: @ 08106C8C - map_bottom offset_gAreaRoomMap_DarkHyruleCastle_26_0, 0x1BA, 1 - map_top offset_gAreaRoomMap_DarkHyruleCastle_26_1, 0x1BA, 1, 1 +gAreaRoomMap_DarkHyruleCastle_2FBottomLeftGhini:: @ 08106C8C + map_bottom offset_gAreaRoomMap_DarkHyruleCastle_2FBottomLeftGhini_0, 0x1BA, 1 + map_top offset_gAreaRoomMap_DarkHyruleCastle_2FBottomLeftGhini_1, 0x1BA, 1, 1 -gAreaRoomMap_DarkHyruleCastle_27:: @ 08106CA4 - map_bottom offset_gAreaRoomMap_DarkHyruleCastle_27_0, 0x1BA, 1 - map_top offset_gAreaRoomMap_DarkHyruleCastle_27_1, 0x1BA, 1, 1 +gAreaRoomMap_DarkHyruleCastle_3FTopRightTower7:: @ 08106CA4 + map_bottom offset_gAreaRoomMap_DarkHyruleCastle_3FTopRightTower7_0, 0x1BA, 1 + map_top offset_gAreaRoomMap_DarkHyruleCastle_3FTopRightTower7_1, 0x1BA, 1, 1 -gAreaRoomMap_DarkHyruleCastle_28:: @ 08106CBC - map_bottom offset_gAreaRoomMap_DarkHyruleCastle_28_0, 0x1BA, 1 - map_top offset_gAreaRoomMap_DarkHyruleCastle_28_1, 0x1BA, 1, 1 +gAreaRoomMap_DarkHyruleCastle_B1Entrance:: @ 08106CBC + map_bottom offset_gAreaRoomMap_DarkHyruleCastle_B1Entrance_0, 0x1BA, 1 + map_top offset_gAreaRoomMap_DarkHyruleCastle_B1Entrance_1, 0x1BA, 1, 1 -gAreaRoomMap_DarkHyruleCastle_29:: @ 08106CD4 - map_bottom offset_gAreaRoomMap_DarkHyruleCastle_29_0, 0x374, 1 - map_top offset_gAreaRoomMap_DarkHyruleCastle_29_1, 0x374, 1, 1 +gAreaRoomMap_DarkHyruleCastle_2FBottomRightTower:: @ 08106CD4 + map_bottom offset_gAreaRoomMap_DarkHyruleCastle_2FBottomRightTower_0, 0x374, 1 + map_top offset_gAreaRoomMap_DarkHyruleCastle_2FBottomRightTower_1, 0x374, 1, 1 -gAreaRoomMap_DarkHyruleCastle_30:: @ 08106CEC - map_bottom offset_gAreaRoomMap_DarkHyruleCastle_30_0, 0x1BA, 1 - map_top offset_gAreaRoomMap_DarkHyruleCastle_30_1, 0x1BA, 1, 1 +gAreaRoomMap_DarkHyruleCastle_1FTopLeftTower:: @ 08106CEC + map_bottom offset_gAreaRoomMap_DarkHyruleCastle_1FTopLeftTower_0, 0x1BA, 1 + map_top offset_gAreaRoomMap_DarkHyruleCastle_1FTopLeftTower_1, 0x1BA, 1, 1 -gAreaRoomMap_DarkHyruleCastle_31:: @ 08106D04 - map_bottom offset_gAreaRoomMap_DarkHyruleCastle_31_0, 0x1BA, 1 - map_top offset_gAreaRoomMap_DarkHyruleCastle_31_1, 0x1BA, 1, 1 +gAreaRoomMap_DarkHyruleCastle_1FThroneRoom:: @ 08106D04 + map_bottom offset_gAreaRoomMap_DarkHyruleCastle_1FThroneRoom_0, 0x1BA, 1 + map_top offset_gAreaRoomMap_DarkHyruleCastle_1FThroneRoom_1, 0x1BA, 1, 1 -gAreaRoomMap_DarkHyruleCastle_32:: @ 08106D1C - map_bottom offset_gAreaRoomMap_DarkHyruleCastle_32_0, 0x1BA, 1 - map_top offset_gAreaRoomMap_DarkHyruleCastle_32_1, 0x1BA, 1, 1 +gAreaRoomMap_DarkHyruleCastle_1FCompass:: @ 08106D1C + map_bottom offset_gAreaRoomMap_DarkHyruleCastle_1FCompass_0, 0x1BA, 1 + map_top offset_gAreaRoomMap_DarkHyruleCastle_1FCompass_1, 0x1BA, 1, 1 -gAreaRoomMap_DarkHyruleCastle_33:: @ 08106D34 - map_bottom offset_gAreaRoomMap_DarkHyruleCastle_33_0, 0x1BA, 1 - map_top offset_gAreaRoomMap_DarkHyruleCastle_33_1, 0x1BA, 1, 1 +gAreaRoomMap_DarkHyruleCastle_1FTopRightTower:: @ 08106D34 + map_bottom offset_gAreaRoomMap_DarkHyruleCastle_1FTopRightTower_0, 0x1BA, 1 + map_top offset_gAreaRoomMap_DarkHyruleCastle_1FTopRightTower_1, 0x1BA, 1, 1 -gAreaRoomMap_DarkHyruleCastle_34:: @ 08106D4C - map_bottom offset_gAreaRoomMap_DarkHyruleCastle_34_0, 0x1BA, 1 - map_top offset_gAreaRoomMap_DarkHyruleCastle_34_1, 0x1BA, 1, 1 +gAreaRoomMap_DarkHyruleCastle_1FBeforeThrone:: @ 08106D4C + map_bottom offset_gAreaRoomMap_DarkHyruleCastle_1FBeforeThrone_0, 0x1BA, 1 + map_top offset_gAreaRoomMap_DarkHyruleCastle_1FBeforeThrone_1, 0x1BA, 1, 1 -gAreaRoomMap_DarkHyruleCastle_35:: @ 08106D64 - map_bottom offset_gAreaRoomMap_DarkHyruleCastle_35_0, 0x1BA, 1 - map_top offset_gAreaRoomMap_DarkHyruleCastle_35_1, 0x1BA, 1, 1 +gAreaRoomMap_DarkHyruleCastle_1FLoopTopLeft:: @ 08106D64 + map_bottom offset_gAreaRoomMap_DarkHyruleCastle_1FLoopTopLeft_0, 0x1BA, 1 + map_top offset_gAreaRoomMap_DarkHyruleCastle_1FLoopTopLeft_1, 0x1BA, 1, 1 -gAreaRoomMap_DarkHyruleCastle_36:: @ 08106D7C - map_bottom offset_gAreaRoomMap_DarkHyruleCastle_36_0, 0x1BA, 1 - map_top offset_gAreaRoomMap_DarkHyruleCastle_36_1, 0x1BA, 1, 1 +gAreaRoomMap_DarkHyruleCastle_1FLoopTop:: @ 08106D7C + map_bottom offset_gAreaRoomMap_DarkHyruleCastle_1FLoopTop_0, 0x1BA, 1 + map_top offset_gAreaRoomMap_DarkHyruleCastle_1FLoopTop_1, 0x1BA, 1, 1 -gAreaRoomMap_DarkHyruleCastle_37:: @ 08106D94 - map_bottom offset_gAreaRoomMap_DarkHyruleCastle_37_0, 0x1BA, 1 - map_top offset_gAreaRoomMap_DarkHyruleCastle_37_1, 0x1BA, 1, 1 +gAreaRoomMap_DarkHyruleCastle_1FLoopTopRight:: @ 08106D94 + map_bottom offset_gAreaRoomMap_DarkHyruleCastle_1FLoopTopRight_0, 0x1BA, 1 + map_top offset_gAreaRoomMap_DarkHyruleCastle_1FLoopTopRight_1, 0x1BA, 1, 1 -gAreaRoomMap_DarkHyruleCastle_38:: @ 08106DAC - map_bottom offset_gAreaRoomMap_DarkHyruleCastle_38_0, 0x2A8, 1 - map_top offset_gAreaRoomMap_DarkHyruleCastle_38_1, 0x2A8, 1, 1 +gAreaRoomMap_DarkHyruleCastle_1FLoopLeft:: @ 08106DAC + map_bottom offset_gAreaRoomMap_DarkHyruleCastle_1FLoopLeft_0, 0x2A8, 1 + map_top offset_gAreaRoomMap_DarkHyruleCastle_1FLoopLeft_1, 0x2A8, 1, 1 -gAreaRoomMap_DarkHyruleCastle_39:: @ 08106DC4 - map_bottom offset_gAreaRoomMap_DarkHyruleCastle_39_0, 0x2A8, 1 - map_top offset_gAreaRoomMap_DarkHyruleCastle_39_1, 0x2A8, 1, 1 +gAreaRoomMap_DarkHyruleCastle_1FLoopRight:: @ 08106DC4 + map_bottom offset_gAreaRoomMap_DarkHyruleCastle_1FLoopRight_0, 0x2A8, 1 + map_top offset_gAreaRoomMap_DarkHyruleCastle_1FLoopRight_1, 0x2A8, 1, 1 -gAreaRoomMap_DarkHyruleCastle_40:: @ 08106DDC - map_bottom offset_gAreaRoomMap_DarkHyruleCastle_40_0, 0x1BA, 1 - map_top offset_gAreaRoomMap_DarkHyruleCastle_40_1, 0x1BA, 1, 1 +gAreaRoomMap_DarkHyruleCastle_1FLoopBottomLeft:: @ 08106DDC + map_bottom offset_gAreaRoomMap_DarkHyruleCastle_1FLoopBottomLeft_0, 0x1BA, 1 + map_top offset_gAreaRoomMap_DarkHyruleCastle_1FLoopBottomLeft_1, 0x1BA, 1, 1 -gAreaRoomMap_DarkHyruleCastle_41:: @ 08106DF4 - map_bottom offset_gAreaRoomMap_DarkHyruleCastle_41_0, 0x1BA, 1 - map_top offset_gAreaRoomMap_DarkHyruleCastle_41_1, 0x1BA, 1, 1 +gAreaRoomMap_DarkHyruleCastle_1FLoopBottom:: @ 08106DF4 + map_bottom offset_gAreaRoomMap_DarkHyruleCastle_1FLoopBottom_0, 0x1BA, 1 + map_top offset_gAreaRoomMap_DarkHyruleCastle_1FLoopBottom_1, 0x1BA, 1, 1 -gAreaRoomMap_DarkHyruleCastle_42:: @ 08106E0C - map_bottom offset_gAreaRoomMap_DarkHyruleCastle_42_0, 0x1BA, 1 - map_top offset_gAreaRoomMap_DarkHyruleCastle_42_1, 0x1BA, 1, 1 +gAreaRoomMap_DarkHyruleCastle_1FLoopBottomRight:: @ 08106E0C + map_bottom offset_gAreaRoomMap_DarkHyruleCastle_1FLoopBottomRight_0, 0x1BA, 1 + map_top offset_gAreaRoomMap_DarkHyruleCastle_1FLoopBottomRight_1, 0x1BA, 1, 1 -gAreaRoomMap_DarkHyruleCastle_43:: @ 08106E24 - map_bottom offset_gAreaRoomMap_DarkHyruleCastle_43_0, 0x1BA, 1 - map_top offset_gAreaRoomMap_DarkHyruleCastle_43_1, 0x1BA, 1, 1 +gAreaRoomMap_DarkHyruleCastle_1FBottomLeftTower:: @ 08106E24 + map_bottom offset_gAreaRoomMap_DarkHyruleCastle_1FBottomLeftTower_0, 0x1BA, 1 + map_top offset_gAreaRoomMap_DarkHyruleCastle_1FBottomLeftTower_1, 0x1BA, 1, 1 -gAreaRoomMap_DarkHyruleCastle_44:: @ 08106E3C - map_bottom offset_gAreaRoomMap_DarkHyruleCastle_44_0, 0x1BA, 1 - map_top offset_gAreaRoomMap_DarkHyruleCastle_44_1, 0x1BA, 1, 1 +gAreaRoomMap_DarkHyruleCastle_1FBottomRightTower:: @ 08106E3C + map_bottom offset_gAreaRoomMap_DarkHyruleCastle_1FBottomRightTower_0, 0x1BA, 1 + map_top offset_gAreaRoomMap_DarkHyruleCastle_1FBottomRightTower_1, 0x1BA, 1, 1 -gAreaRoomMap_DarkHyruleCastle_45:: @ 08106E54 - map_bottom offset_gAreaRoomMap_DarkHyruleCastle_45_0, 0x1BA, 1 - map_top offset_gAreaRoomMap_DarkHyruleCastle_45_1, 0x1BA, 1, 1 +gAreaRoomMap_DarkHyruleCastle_B1BelowThrone:: @ 08106E54 + map_bottom offset_gAreaRoomMap_DarkHyruleCastle_B1BelowThrone_0, 0x1BA, 1 + map_top offset_gAreaRoomMap_DarkHyruleCastle_B1BelowThrone_1, 0x1BA, 1, 1 -gAreaRoomMap_DarkHyruleCastle_46:: @ 08106E6C - map_bottom offset_gAreaRoomMap_DarkHyruleCastle_46_0, 0x1BA, 1 - map_top offset_gAreaRoomMap_DarkHyruleCastle_46_1, 0x1BA, 1, 1 +gAreaRoomMap_DarkHyruleCastle_B1BelowCompass:: @ 08106E6C + map_bottom offset_gAreaRoomMap_DarkHyruleCastle_B1BelowCompass_0, 0x1BA, 1 + map_top offset_gAreaRoomMap_DarkHyruleCastle_B1BelowCompass_1, 0x1BA, 1, 1 -gAreaRoomMap_DarkHyruleCastle_47:: @ 08106E84 - map_bottom offset_gAreaRoomMap_DarkHyruleCastle_47_0, 0x1BA, 1 - map_top offset_gAreaRoomMap_DarkHyruleCastle_47_1, 0x1BA, 1, 1 +gAreaRoomMap_DarkHyruleCastle_B1BeforeThrone:: @ 08106E84 + map_bottom offset_gAreaRoomMap_DarkHyruleCastle_B1BeforeThrone_0, 0x1BA, 1 + map_top offset_gAreaRoomMap_DarkHyruleCastle_B1BeforeThrone_1, 0x1BA, 1, 1 -gAreaRoomMap_DarkHyruleCastle_48:: @ 08106E9C - map_bottom offset_gAreaRoomMap_DarkHyruleCastle_48_0, 0x1BA, 1 - map_top offset_gAreaRoomMap_DarkHyruleCastle_48_1, 0x1BA, 1, 1 +gAreaRoomMap_DarkHyruleCastle_B1ToPrison:: @ 08106E9C + map_bottom offset_gAreaRoomMap_DarkHyruleCastle_B1ToPrison_0, 0x1BA, 1 + map_top offset_gAreaRoomMap_DarkHyruleCastle_B1ToPrison_1, 0x1BA, 1, 1 -gAreaRoomMap_DarkHyruleCastle_49:: @ 08106EB4 - map_bottom offset_gAreaRoomMap_DarkHyruleCastle_49_0, 0x1BA, 1 - map_top offset_gAreaRoomMap_DarkHyruleCastle_49_1, 0x1BA, 1, 1 +gAreaRoomMap_DarkHyruleCastle_B1BombWall:: @ 08106EB4 + map_bottom offset_gAreaRoomMap_DarkHyruleCastle_B1BombWall_0, 0x1BA, 1 + map_top offset_gAreaRoomMap_DarkHyruleCastle_B1BombWall_1, 0x1BA, 1, 1 -gAreaRoomMap_DarkHyruleCastle_50:: @ 08106ECC - map_bottom offset_gAreaRoomMap_DarkHyruleCastle_50_0, 0x1BA, 1 - map_top offset_gAreaRoomMap_DarkHyruleCastle_50_1, 0x1BA, 1, 1 +gAreaRoomMap_DarkHyruleCastle_B1Keatons:: @ 08106ECC + map_bottom offset_gAreaRoomMap_DarkHyruleCastle_B1Keatons_0, 0x1BA, 1 + map_top offset_gAreaRoomMap_DarkHyruleCastle_B1Keatons_1, 0x1BA, 1, 1 -gAreaRoomMap_DarkHyruleCastle_51:: @ 08106EE4 - map_bottom offset_gAreaRoomMap_DarkHyruleCastle_51_0, 0x2A8, 1 - map_top offset_gAreaRoomMap_DarkHyruleCastle_51_1, 0x2A8, 1, 1 +gAreaRoomMap_DarkHyruleCastle_B1ToPrisonFirebar:: @ 08106EE4 + map_bottom offset_gAreaRoomMap_DarkHyruleCastle_B1ToPrisonFirebar_0, 0x2A8, 1 + map_top offset_gAreaRoomMap_DarkHyruleCastle_B1ToPrisonFirebar_1, 0x2A8, 1, 1 -gAreaRoomMap_DarkHyruleCastle_52:: @ 08106EFC - map_bottom offset_gAreaRoomMap_DarkHyruleCastle_52_0, 0x2A8, 1 - map_top offset_gAreaRoomMap_DarkHyruleCastle_52_1, 0x2A8, 1, 1 +gAreaRoomMap_DarkHyruleCastle_B1Cannons:: @ 08106EFC + map_bottom offset_gAreaRoomMap_DarkHyruleCastle_B1Cannons_0, 0x2A8, 1 + map_top offset_gAreaRoomMap_DarkHyruleCastle_B1Cannons_1, 0x2A8, 1, 1 -gAreaRoomMap_DarkHyruleCastle_53:: @ 08106F14 - map_bottom offset_gAreaRoomMap_DarkHyruleCastle_53_0, 0x1BA, 1 - map_top offset_gAreaRoomMap_DarkHyruleCastle_53_1, 0x1BA, 1, 1 +gAreaRoomMap_DarkHyruleCastle_B1Left:: @ 08106F14 + map_bottom offset_gAreaRoomMap_DarkHyruleCastle_B1Left_0, 0x1BA, 1 + map_top offset_gAreaRoomMap_DarkHyruleCastle_B1Left_1, 0x1BA, 1, 1 -gAreaRoomMap_DarkHyruleCastle_54:: @ 08106F2C - map_bottom offset_gAreaRoomMap_DarkHyruleCastle_54_0, 0x1BA, 1 - map_top offset_gAreaRoomMap_DarkHyruleCastle_54_1, 0x1BA, 1, 1 +gAreaRoomMap_DarkHyruleCastle_B1Right:: @ 08106F2C + map_bottom offset_gAreaRoomMap_DarkHyruleCastle_B1Right_0, 0x1BA, 1 + map_top offset_gAreaRoomMap_DarkHyruleCastle_B1Right_1, 0x1BA, 1, 1 -gAreaRoomMap_DarkHyruleCastle_55:: @ 08106F44 - map_bottom offset_gAreaRoomMap_DarkHyruleCastle_55_0, 0xA5C, 1 - map_top offset_gAreaRoomMap_DarkHyruleCastle_55_1, 0xA5C, 1, 1 +gAreaRoomMap_DarkHyruleCastle_B1Map:: @ 08106F44 + map_bottom offset_gAreaRoomMap_DarkHyruleCastle_B1Map_0, 0xA5C, 1 + map_top offset_gAreaRoomMap_DarkHyruleCastle_B1Map_1, 0xA5C, 1, 1 -gAreaRoomMap_DarkHyruleCastle_56:: @ 08106F5C - map_bottom offset_gAreaRoomMap_DarkHyruleCastle_56_0, 0x1FE, 1 - map_top offset_gAreaRoomMap_DarkHyruleCastle_56_1, 0x1FE, 1, 1 +gAreaRoomMap_DarkHyruleCastle_B2ToPrison:: @ 08106F5C + map_bottom offset_gAreaRoomMap_DarkHyruleCastle_B2ToPrison_0, 0x1FE, 1 + map_top offset_gAreaRoomMap_DarkHyruleCastle_B2ToPrison_1, 0x1FE, 1, 1 -gAreaRoomMap_DarkHyruleCastle_57:: @ 08106F74 - map_bottom offset_gAreaRoomMap_DarkHyruleCastle_57_0, 0x3FC, 1 - map_top offset_gAreaRoomMap_DarkHyruleCastle_57_1, 0x3FC, 1, 1 +gAreaRoomMap_DarkHyruleCastle_B2Prison:: @ 08106F74 + map_bottom offset_gAreaRoomMap_DarkHyruleCastle_B2Prison_0, 0x3FC, 1 + map_top offset_gAreaRoomMap_DarkHyruleCastle_B2Prison_1, 0x3FC, 1, 1 -gAreaRoomMap_DarkHyruleCastle_58:: @ 08106F8C - map_bottom offset_gAreaRoomMap_DarkHyruleCastle_58_0, 0x264, 1 - map_top offset_gAreaRoomMap_DarkHyruleCastle_58_1, 0x264, 1, 1 +gAreaRoomMap_DarkHyruleCastle_B2Dropdown:: @ 08106F8C + map_bottom offset_gAreaRoomMap_DarkHyruleCastle_B2Dropdown_0, 0x264, 1 + map_top offset_gAreaRoomMap_DarkHyruleCastle_B2Dropdown_1, 0x264, 1, 1 -gAreaRoomMap_DarkHyruleCastle_59:: @ 08106FA4 - map_bottom offset_gAreaRoomMap_DarkHyruleCastle_59_0, 0x1BA, 1 - map_top offset_gAreaRoomMap_DarkHyruleCastle_59_1, 0x1BA, 1, 1 +gAreaRoomMap_DarkHyruleCastle_3FKeatonHallToVaati9:: @ 08106FA4 + map_bottom offset_gAreaRoomMap_DarkHyruleCastle_3FKeatonHallToVaati9_0, 0x1BA, 1 + map_top offset_gAreaRoomMap_DarkHyruleCastle_3FKeatonHallToVaati9_1, 0x1BA, 1, 1 gAreaRoomMaps_DarkHyruleCastle:: @ 08106FBC - .4byte gAreaRoomMap_DarkHyruleCastle_0 - .4byte gAreaRoomMap_DarkHyruleCastle_1 - .4byte gAreaRoomMap_DarkHyruleCastle_2 - .4byte gAreaRoomMap_DarkHyruleCastle_3 - .4byte gAreaRoomMap_DarkHyruleCastle_4 - .4byte gAreaRoomMap_DarkHyruleCastle_5 - .4byte gAreaRoomMap_DarkHyruleCastle_6 - .4byte gAreaRoomMap_DarkHyruleCastle_7 - .4byte gAreaRoomMap_DarkHyruleCastle_8 - .4byte gAreaRoomMap_DarkHyruleCastle_9 - .4byte gAreaRoomMap_DarkHyruleCastle_10 - .4byte gAreaRoomMap_DarkHyruleCastle_11 - .4byte gAreaRoomMap_DarkHyruleCastle_12 - .4byte gAreaRoomMap_DarkHyruleCastle_13 - .4byte gAreaRoomMap_DarkHyruleCastle_14 - .4byte gAreaRoomMap_DarkHyruleCastle_15 - .4byte gAreaRoomMap_DarkHyruleCastle_16 - .4byte gAreaRoomMap_DarkHyruleCastle_17 - .4byte gAreaRoomMap_DarkHyruleCastle_18 - .4byte gAreaRoomMap_DarkHyruleCastle_19 - .4byte gAreaRoomMap_DarkHyruleCastle_20 - .4byte gAreaRoomMap_DarkHyruleCastle_21 - .4byte gAreaRoomMap_DarkHyruleCastle_22 - .4byte gAreaRoomMap_DarkHyruleCastle_23 - .4byte gAreaRoomMap_DarkHyruleCastle_24 - .4byte gAreaRoomMap_DarkHyruleCastle_25 - .4byte gAreaRoomMap_DarkHyruleCastle_26 - .4byte gAreaRoomMap_DarkHyruleCastle_27 - .4byte gAreaRoomMap_DarkHyruleCastle_28 - .4byte gAreaRoomMap_DarkHyruleCastle_29 - .4byte gAreaRoomMap_DarkHyruleCastle_30 - .4byte gAreaRoomMap_DarkHyruleCastle_31 - .4byte gAreaRoomMap_DarkHyruleCastle_32 - .4byte gAreaRoomMap_DarkHyruleCastle_33 - .4byte gAreaRoomMap_DarkHyruleCastle_34 - .4byte gAreaRoomMap_DarkHyruleCastle_35 - .4byte gAreaRoomMap_DarkHyruleCastle_36 - .4byte gAreaRoomMap_DarkHyruleCastle_37 - .4byte gAreaRoomMap_DarkHyruleCastle_38 - .4byte gAreaRoomMap_DarkHyruleCastle_39 - .4byte gAreaRoomMap_DarkHyruleCastle_40 - .4byte gAreaRoomMap_DarkHyruleCastle_41 - .4byte gAreaRoomMap_DarkHyruleCastle_42 - .4byte gAreaRoomMap_DarkHyruleCastle_43 - .4byte gAreaRoomMap_DarkHyruleCastle_44 - .4byte gAreaRoomMap_DarkHyruleCastle_45 - .4byte gAreaRoomMap_DarkHyruleCastle_46 - .4byte gAreaRoomMap_DarkHyruleCastle_47 - .4byte gAreaRoomMap_DarkHyruleCastle_48 - .4byte gAreaRoomMap_DarkHyruleCastle_49 - .4byte gAreaRoomMap_DarkHyruleCastle_50 - .4byte gAreaRoomMap_DarkHyruleCastle_51 - .4byte gAreaRoomMap_DarkHyruleCastle_52 - .4byte gAreaRoomMap_DarkHyruleCastle_53 - .4byte gAreaRoomMap_DarkHyruleCastle_54 - .4byte gAreaRoomMap_DarkHyruleCastle_55 - .4byte gAreaRoomMap_DarkHyruleCastle_56 - .4byte gAreaRoomMap_DarkHyruleCastle_57 - .4byte gAreaRoomMap_DarkHyruleCastle_58 - .4byte gAreaRoomMap_DarkHyruleCastle_59 + .4byte gAreaRoomMap_DarkHyruleCastle_1FEntrance + .4byte gAreaRoomMap_DarkHyruleCastle_3FTopLeftTower + .4byte gAreaRoomMap_DarkHyruleCastle_3FTopRightTower + .4byte gAreaRoomMap_DarkHyruleCastle_3FBottomLeftTower + .4byte gAreaRoomMap_DarkHyruleCastle_3FBottomRightTower + .4byte gAreaRoomMap_DarkHyruleCastle_3FKeatonHallToVaati + .4byte gAreaRoomMap_DarkHyruleCastle_3FTripleDarknut + .4byte gAreaRoomMap_DarkHyruleCastle_2FTopLeftTower + .4byte gAreaRoomMap_DarkHyruleCastle_2FTopLeftCorner + .4byte gAreaRoomMap_DarkHyruleCastle_2FBossKey + .4byte gAreaRoomMap_DarkHyruleCastle_2FBlueWarp + .4byte gAreaRoomMap_DarkHyruleCastle_2FTopRightCornerGhini + .4byte gAreaRoomMap_DarkHyruleCastle_2FTopRightCornerTorches + .4byte gAreaRoomMap_DarkHyruleCastle_2FTopRightTower + .4byte gAreaRoomMap_DarkHyruleCastle_2FTopLeftDarknut + .4byte gAreaRoomMap_DarkHyruleCastle_2FSparks + .4byte gAreaRoomMap_DarkHyruleCastle_2FTopRightDarknuts + .4byte gAreaRoomMap_DarkHyruleCastle_2FLeft + .4byte gAreaRoomMap_DarkHyruleCastle_2FRight + .4byte gAreaRoomMap_DarkHyruleCastle_2FBottomLeftDarknuts + .4byte gAreaRoomMap_DarkHyruleCastle_2FBossDoor + .4byte gAreaRoomMap_DarkHyruleCastle_2FBottomRightDarknut + .4byte gAreaRoomMap_DarkHyruleCastle_2FBottomLeftCornerPuzzle + .4byte gAreaRoomMap_DarkHyruleCastle_2FEntrance + .4byte gAreaRoomMap_DarkHyruleCastle_2FBottomLeftCorner + .4byte gAreaRoomMap_DarkHyruleCastle_2FBottomLeftTower + .4byte gAreaRoomMap_DarkHyruleCastle_2FBottomLeftGhini + .4byte gAreaRoomMap_DarkHyruleCastle_3FTopRightTower7 + .4byte gAreaRoomMap_DarkHyruleCastle_B1Entrance + .4byte gAreaRoomMap_DarkHyruleCastle_2FBottomRightTower + .4byte gAreaRoomMap_DarkHyruleCastle_1FTopLeftTower + .4byte gAreaRoomMap_DarkHyruleCastle_1FThroneRoom + .4byte gAreaRoomMap_DarkHyruleCastle_1FCompass + .4byte gAreaRoomMap_DarkHyruleCastle_1FTopRightTower + .4byte gAreaRoomMap_DarkHyruleCastle_1FBeforeThrone + .4byte gAreaRoomMap_DarkHyruleCastle_1FLoopTopLeft + .4byte gAreaRoomMap_DarkHyruleCastle_1FLoopTop + .4byte gAreaRoomMap_DarkHyruleCastle_1FLoopTopRight + .4byte gAreaRoomMap_DarkHyruleCastle_1FLoopLeft + .4byte gAreaRoomMap_DarkHyruleCastle_1FLoopRight + .4byte gAreaRoomMap_DarkHyruleCastle_1FLoopBottomLeft + .4byte gAreaRoomMap_DarkHyruleCastle_1FLoopBottom + .4byte gAreaRoomMap_DarkHyruleCastle_1FLoopBottomRight + .4byte gAreaRoomMap_DarkHyruleCastle_1FBottomLeftTower + .4byte gAreaRoomMap_DarkHyruleCastle_1FBottomRightTower + .4byte gAreaRoomMap_DarkHyruleCastle_B1BelowThrone + .4byte gAreaRoomMap_DarkHyruleCastle_B1BelowCompass + .4byte gAreaRoomMap_DarkHyruleCastle_B1BeforeThrone + .4byte gAreaRoomMap_DarkHyruleCastle_B1ToPrison + .4byte gAreaRoomMap_DarkHyruleCastle_B1BombWall + .4byte gAreaRoomMap_DarkHyruleCastle_B1Keatons + .4byte gAreaRoomMap_DarkHyruleCastle_B1ToPrisonFirebar + .4byte gAreaRoomMap_DarkHyruleCastle_B1Cannons + .4byte gAreaRoomMap_DarkHyruleCastle_B1Left + .4byte gAreaRoomMap_DarkHyruleCastle_B1Right + .4byte gAreaRoomMap_DarkHyruleCastle_B1Map + .4byte gAreaRoomMap_DarkHyruleCastle_B2ToPrison + .4byte gAreaRoomMap_DarkHyruleCastle_B2Prison + .4byte gAreaRoomMap_DarkHyruleCastle_B2Dropdown + .4byte gAreaRoomMap_DarkHyruleCastle_3FKeatonHallToVaati9 gAreaRoomMap_DarkHyruleCastleOutside_0:: @ 081070AC map_bottom offset_gAreaRoomMap_DarkHyruleCastleOutside_0_0, 0x2EE, 1 @@ -3472,7 +3472,7 @@ gAreaRoomMaps:: @ 08107988 .4byte gAreaRoomMaps_Empty @ 0xE .4byte gAreaRoomMaps_HyruleDigCaves @ 0xF .4byte gAreaRoomMaps_MelarisMine @ 0x10 - .4byte gAreaRoomMaps_MinishPaths1 @ 0x11 + .4byte gAreaRoomMaps_MinishPaths @ 0x11 .4byte gAreaRoomMaps_CrenelMinishPaths @ 0x12 .4byte gAreaRoomMaps_DigCaves1 @ 0x13 .4byte gAreaRoomMaps_CrenelDigCave @ 0x14 diff --git a/data/map/metatile_headers.s b/data/map/metatile_headers.s index 7414c84a..d5fbf8ff 100755 --- a/data/map/metatile_headers.s +++ b/data/map/metatile_headers.s @@ -265,10 +265,10 @@ gAreaMetatiles_RoyalCrypt:: @ 08102E74 metatile_types_top offset_gAreaMetatiles_RoyalCrypt_3, 0xD84, 1, 1 gAreaMetatiles_PalaceOfWinds:: @ 08102EA4 - metatiles_bottom offset_gAreaMetatiles_PalaceOfWinds_0, 0x3620, 1 - metatiles_top offset_gAreaMetatiles_PalaceOfWinds_1, 0x3620, 1 - metatile_types_bottom offset_gAreaMetatiles_PalaceOfWinds_2, 0xD88, 1 - metatile_types_top offset_gAreaMetatiles_PalaceOfWinds_3, 0xD88, 1, 1 + metatiles_bottom offset_gAreaMetatiles_PalaceOfWinds_GyorgTornado, 0x3620, 1 + metatiles_top offset_gAreaMetatiles_PalaceOfWinds_BossKey, 0x3620, 1 + metatile_types_bottom offset_gAreaMetatiles_PalaceOfWinds_BeforeBallAndChainSoldiers, 0xD88, 1 + metatile_types_top offset_gAreaMetatiles_PalaceOfWinds_GyorgBossDoor, 0xD88, 1, 1 gAreaMetatiles_PalaceOfWindsBoss:: @ 08102ED4 metatiles_top offset_gAreaMetatiles_PalaceOfWindsBoss_0, 0x108, 1 @@ -293,10 +293,10 @@ gAreaMetatiles_SanctuaryEntrance:: @ 08102F4C metatile_types_top offset_gAreaMetatiles_SanctuaryEntrance_3, 0x3FC, 1, 1 gAreaMetatiles_DarkHyruleCastle:: @ 08102F7C - metatiles_bottom offset_gAreaMetatiles_DarkHyruleCastle_0, 0x3FD8, 1 - metatiles_top offset_gAreaMetatiles_DarkHyruleCastle_1, 0x37C0, 1 - metatile_types_bottom offset_gAreaMetatiles_DarkHyruleCastle_2, 0xFF6, 1 - metatile_types_top offset_gAreaMetatiles_DarkHyruleCastle_3, 0xDF0, 1, 1 + metatiles_bottom offset_gAreaMetatiles_DarkHyruleCastle_1FEntrance, 0x3FD8, 1 + metatiles_top offset_gAreaMetatiles_DarkHyruleCastle_3FTopLeftTower, 0x37C0, 1 + metatile_types_bottom offset_gAreaMetatiles_DarkHyruleCastle_3FTopRightTower, 0xFF6, 1 + metatile_types_top offset_gAreaMetatiles_DarkHyruleCastle_3FBottomLeftTower, 0xDF0, 1, 1 gAreaMetatiles_DarkHyruleCastleOutside:: @ 08102FAC metatiles_bottom offset_gAreaMetatiles_DarkHyruleCastleOutside_0, 0x3340, 1 diff --git a/data/map/room_headers.s b/data/map/room_headers.s index 498e6067..e17d0b16 100755 --- a/data/map/room_headers.s +++ b/data/map/room_headers.s @@ -119,7 +119,7 @@ gAreaRoomHeaders_MelarisMine:: @ 0811C6F6 room_header 0x00, 0x00, 0x2d0, 0x270, 0 .2byte 0xFFFF -gAreaRoomHeaders_MinishPaths1:: @ 0811C702 +gAreaRoomHeaders_MinishPaths:: @ 0811C702 room_header 0x02, 0x04, 0xf0, 0x320, 0 room_header 0x16, 0x04, 0xf0, 0x320, 1 room_header 0x2a, 0x04, 0xf0, 0x320, 2 @@ -1040,7 +1040,7 @@ gAreaRoomHeaders:: @ 0811E214 .4byte gAreaRoomHeaders_Empty @ 0xE .4byte gAreaRoomHeaders_HyruleDigCaves @ 0xF .4byte gAreaRoomHeaders_MelarisMine @ 0x10 - .4byte gAreaRoomHeaders_MinishPaths1 @ 0x11 + .4byte gAreaRoomHeaders_MinishPaths @ 0x11 .4byte gAreaRoomHeaders_CrenelMinishPaths @ 0x12 .4byte gAreaRoomHeaders_DigCaves1 @ 0x13 .4byte gAreaRoomHeaders_CrenelDigCave @ 0x14 diff --git a/data/map/tileset_headers.s b/data/map/tileset_headers.s index ee0b2bb7..e213fadd 100755 --- a/data/map/tileset_headers.s +++ b/data/map/tileset_headers.s @@ -311,25 +311,25 @@ gAreaTileset_MelarisMine_0:: @ 08101430 gAreaTilesets_MelarisMine:: @ 08101460 .4byte gAreaTileset_MelarisMine_0 -gAreaTileset_MinishPaths1_0:: @ 08101464 - tileset_tiles offset_gAreaTileset_MinishPaths1_2_0, 0x6000000, 0x4000, 1 - tileset_tiles offset_gAreaTileset_MinishPaths1_2_1, 0x6004000, 0x4000, 1 +gAreaTileset_MinishPaths_0:: @ 08101464 + tileset_tiles offset_gAreaTileset_MinishPaths_2_0, 0x6000000, 0x4000, 1 + tileset_tiles offset_gAreaTileset_MinishPaths_2_1, 0x6004000, 0x4000, 1 tileset_palette_set 18, 1 -gAreaTileset_MinishPaths1_1:: @ 08101488 - tileset_tiles offset_gAreaTileset_MinishPaths1_2_0, 0x6000000, 0x4000, 1 - tileset_tiles offset_gAreaTileset_MinishPaths1_2_1, 0x6004000, 0x4000, 1 +gAreaTileset_MinishPaths_1:: @ 08101488 + tileset_tiles offset_gAreaTileset_MinishPaths_2_0, 0x6000000, 0x4000, 1 + tileset_tiles offset_gAreaTileset_MinishPaths_2_1, 0x6004000, 0x4000, 1 tileset_palette_set 63, 1 -gAreaTileset_MinishPaths1_2:: @ 081014AC - tileset_tiles offset_gAreaTileset_MinishPaths1_2_0, 0x6000000, 0x4000, 1 - tileset_tiles offset_gAreaTileset_MinishPaths1_2_1, 0x6004000, 0x4000, 1 +gAreaTileset_MinishPaths_2:: @ 081014AC + tileset_tiles offset_gAreaTileset_MinishPaths_2_0, 0x6000000, 0x4000, 1 + tileset_tiles offset_gAreaTileset_MinishPaths_2_1, 0x6004000, 0x4000, 1 tileset_palette_set 64, 1 -gAreaTilesets_MinishPaths1:: @ 081014D0 - .4byte gAreaTileset_MinishPaths1_0 - .4byte gAreaTileset_MinishPaths1_1 - .4byte gAreaTileset_MinishPaths1_2 +gAreaTilesets_MinishPaths:: @ 081014D0 + .4byte gAreaTileset_MinishPaths_0 + .4byte gAreaTileset_MinishPaths_1 + .4byte gAreaTileset_MinishPaths_2 gAreaTileset_CrenelMinishPaths_0:: @ 081014DC tileset_tiles offset_gAreaTileset_CrenelMinishPaths_0_0, 0x6000000, 0x4000, 1 @@ -857,15 +857,15 @@ gAreaTileset_RoyalCrypt_0:: @ 081020E0 gAreaTilesets_RoyalCrypt:: @ 08102110 .4byte gAreaTileset_RoyalCrypt_0 -gAreaTileset_PalaceOfWinds_0:: @ 08102114 - tileset_tiles offset_gAreaTileset_PalaceOfWinds_0_0, 0x6000000, 0x4000, 1 - tileset_tiles offset_gAreaTileset_PalaceOfWinds_0_1, 0x6004000, 0x4000, 1 - tileset_tiles offset_gAreaTileset_PalaceOfWinds_0_2, 0x6008000, 0x4000, 1 - tileset_tiles offset_gAreaTileset_PalaceOfWinds_0_3, 0x600F000, 0x800, 1 +gAreaTileset_PalaceOfWinds_GyorgTornado:: @ 08102114 + tileset_tiles offset_gAreaTileset_PalaceOfWinds_GyorgTornado_0, 0x6000000, 0x4000, 1 + tileset_tiles offset_gAreaTileset_PalaceOfWinds_GyorgTornado_1, 0x6004000, 0x4000, 1 + tileset_tiles offset_gAreaTileset_PalaceOfWinds_GyorgTornado_2, 0x6008000, 0x4000, 1 + tileset_tiles offset_gAreaTileset_PalaceOfWinds_GyorgTornado_3, 0x600F000, 0x800, 1 tileset_palette_set 56, 1 gAreaTilesets_PalaceOfWinds:: @ 08102150 - .4byte gAreaTileset_PalaceOfWinds_0 + .4byte gAreaTileset_PalaceOfWinds_GyorgTornado gAreaTileset_PalaceOfWindsBoss_0:: @ 08102154 tileset_tiles offset_gAreaTileset_PalaceOfWindsBoss_0_0, 0x6000000, 0x4000, 1 @@ -903,14 +903,14 @@ gAreaTileset_SanctuaryEntrance_0:: @ 081021F0 gAreaTilesets_SanctuaryEntrance:: @ 08102220 .4byte gAreaTileset_SanctuaryEntrance_0 -gAreaTileset_DarkHyruleCastle_0:: @ 08102224 - tileset_tiles offset_gAreaTileset_DarkHyruleCastle_0_0, 0x6000000, 0x4000, 1 - tileset_tiles offset_gAreaTileset_DarkHyruleCastle_0_1, 0x6004000, 0x4000, 1 - tileset_tiles offset_gAreaTileset_DarkHyruleCastle_0_2, 0x6008000, 0x4000, 1 +gAreaTileset_DarkHyruleCastle_1FEntrance:: @ 08102224 + tileset_tiles offset_gAreaTileset_DarkHyruleCastle_1FEntrance_0, 0x6000000, 0x4000, 1 + tileset_tiles offset_gAreaTileset_DarkHyruleCastle_1FEntrance_1, 0x6004000, 0x4000, 1 + tileset_tiles offset_gAreaTileset_DarkHyruleCastle_1FEntrance_2, 0x6008000, 0x4000, 1 tileset_palette_set 59, 1 gAreaTilesets_DarkHyruleCastle:: @ 08102254 - .4byte gAreaTileset_DarkHyruleCastle_0 + .4byte gAreaTileset_DarkHyruleCastle_1FEntrance gAreaTileset_DarkHyruleCastleOutside_0:: @ 08102258 tileset_tiles offset_gAreaTileset_DarkHyruleCastleOutside_0_0, 0x6000000, 0x4000, 1 @@ -1021,7 +1021,7 @@ gAreaTilesets:: @ 0810246C .4byte gAreaTilesets_MinishWoods @ 0xE .4byte gAreaTilesets_HyruleDigCaves @ 0xF .4byte gAreaTilesets_MelarisMine @ 0x10 - .4byte gAreaTilesets_MinishPaths1 @ 0x11 + .4byte gAreaTilesets_MinishPaths @ 0x11 .4byte gAreaTilesets_CrenelMinishPaths @ 0x12 .4byte gAreaTilesets_DigCaves1 @ 0x13 .4byte gAreaTilesets_CrenelDigCave @ 0x14 diff --git a/data/scripts/hyruleTown/script_Anju.inc b/data/scripts/hyruleTown/script_Anju.inc index 627bc9b1..b6cb6bb4 100644 --- a/data/scripts/hyruleTown/script_Anju.inc +++ b/data/scripts/hyruleTown/script_Anju.inc @@ -19,7 +19,7 @@ script_0801015A: Call sub_080A1608 WaitUntilTextboxCloses EnablePlayerControl - CallWithArg sub_080A1550, script_080101AC + CallWithArg CuccoMinigame_Init, script_080101AC JumpIfNot script_0801015A PlayBgm BGM_CUCCO_MINIGAME SetRoomFlag 0x0001 @@ -49,7 +49,7 @@ script_080101AC: Call sub_0807FB74 _0807E8E4_1 Call SetPlayerCollisionLayer1 - Call sub_080A1388 + Call CuccoMinigame_Cleanup Call sub_0806EC38 BeginBlock MoveEntityToPlayer diff --git a/include/area.h b/include/area.h index 90f7dcc3..e1648f8c 100644 --- a/include/area.h +++ b/include/area.h @@ -2,6 +2,7 @@ #define AREA_H #include "global.h" +#include "transitions.h" #define MAX_ROOMS 64 @@ -14,7 +15,7 @@ typedef struct { void* map; void* metatiles; void* bg_anim; - void* exits; + const Transition* exits; void** properties; } RoomResInfo; static_assert(sizeof(RoomResInfo) == 0x20); @@ -93,9 +94,9 @@ typedef enum { AREA_EMPTY, AREA_HYRULE_DIG_CAVES, AREA_MELARIS_MINE, - AREA_MINISH_PATHS_1, + AREA_MINISH_PATHS, AREA_CRENEL_MINISH_PATHS, - AREA_DIG_CAVES_1, + AREA_DIG_CAVES, AREA_CRENEL_DIG_CAVE, AREA_FESTIVAL_TOWN, AREA_VEIL_FALLS_DIG_CAVE, @@ -220,6 +221,15 @@ typedef enum { AREA_DARK_HYRULE_CASTLE_BRIDGE, AREA_NULL_8E, AREA_8F, + AREA_90, + AREA_91, + AREA_92, + AREA_93, + AREA_94, + AREA_95, + AREA_96, + AREA_97, + AREA_98, } AreaID; #endif diff --git a/include/collision.h b/include/collision.h new file mode 100644 index 00000000..d57258a6 --- /dev/null +++ b/include/collision.h @@ -0,0 +1,33 @@ + +#ifndef COLLISION_H +#define COLLISION_H + +#include "global.h" +#include "entity.h" + +/** Collisions. */ +typedef enum { + COL_NONE = 0x0, + COL_NORTH_WEST = 0x2, + COL_NORTH_EAST = 0x4, + COL_NORTH_FULL = 0x6, + COL_NORTH_ANY = 0xe, + COL_SOUTH_WEST = 0x20, + COL_SOUTH_EAST = 0x40, + COL_SOUTH_FULL = 0x60, + COL_SOUTH_ANY = 0xe0, + COL_WEST_SOUTH = 0x200, + COL_WEST_NORTH = 0x400, + COL_WEST_FULL = 0x600, + COL_WEST_ANY = 0xe00, + COL_EAST_SOUTH = 0x2000, + COL_EAST_NORTH = 0x4000, + COL_EAST_FULL = 0x6000, + COL_EAST_ANY = 0xe000, +} Collisions; + +bool32 IsTileCollision(const u8*, s32, s32, u32); +void CalculateEntityTileCollisions(Entity*, u32, u32); +bool32 ProcessMovementInternal(Entity*, s32, s32, u32); + +#endif diff --git a/include/fileselect.h b/include/fileselect.h index 31d75ea5..066e3e88 100644 --- a/include/fileselect.h +++ b/include/fileselect.h @@ -23,21 +23,16 @@ static_assert(sizeof(ChooseFileState) == 0x30); // TODO: This occupies the same memory region as gMenu extern ChooseFileState gChooseFileState; -typedef struct { - u8 filler0[0x1]; - u8 unk1; - u8 charColor; - u8 bgColor; - u16 unk4; - u16 unk6; - u8* unk8; -} struct_02036540; - -typedef struct { - u8 filler0[0x10]; - u16 unk10; - u8 filler12[0x6]; -} struct_080FC844; +// typedef struct { +// u8 unk00 : 4; +// u8 unk04 : 4; +// u8 unk1; +// u8 charColor; +// u8 bgColor; +// u16 unk4; +// u16 unk6; +// u8* unk8; +// } struct_02036540; extern struct_020227E8 gUnk_020227E8[]; @@ -57,18 +52,19 @@ extern struct_02019EE0 gMapDataBottomSpecial; // TODO size: 0x8000 from ClearTilemaps? extern void sub_08056FEC(u32, struct_020227E8*); -extern void sub_0805F46C(u32, void*); +extern u32 sub_0805F46C(u32, Font*); extern void RecoverUI(u32 bottomPt, u32 topPt); extern void ClearTilemaps(void); extern void sub_0805194C(u32); -extern struct_02036540* sub_0805F2C8(void); -extern void sub_0805F7DC(u32, struct_02036540*); -extern void sub_0805F300(struct_02036540*); +extern WStruct* sub_0805F2C8(void); +extern u32 sub_0805F7DC(u32, WStruct*); +extern void sub_0805F300(WStruct*); extern void sub_08050A64(u32); extern void sub_08050AFC(u32); extern void sub_08050384(); +extern void CreateDialogBox(u32, u32); -extern const struct_080FC844 gUnk_080FC844; +extern const Font gUnk_080FC844; extern const u16 gUnk_080FC85C[][3]; extern void (*const gUnk_080FC908[])(void); extern const u8 gGlobalGfxAndPalettes[]; diff --git a/include/functions.h b/include/functions.h index 75ffb477..64e15113 100644 --- a/include/functions.h +++ b/include/functions.h @@ -52,7 +52,7 @@ extern void LoadResources(void); extern bool32 LoadSwapGFX(Entity*, u16, u32); extern void MenuFadeIn(u32, u32); extern void ModBombs(s32); -extern u32 PlayerInRange(Entity*, u32, u32); +extern bool32 PlayerInRange(Entity*, u32, s32); extern bool32 ProcessMovement1(Entity*); extern bool32 ProcessMovement12(Entity*); extern bool32 ProcessMovement2(Entity*); @@ -130,15 +130,16 @@ extern void sub_0803C0AC(Entity*); extern void sub_08049CF4(Entity*); extern Entity* sub_08049DF4(u32); extern u32 sub_08049EE4(Entity*); -extern u32 sub_08049F1C(Entity*, Entity*, u32); -extern u32 sub_08049F84(Entity*, u32); -extern u32 sub_08049FA0(Entity*); -extern u32 sub_08049FDC(Entity*, u32); +extern bool32 sub_08049F1C(Entity*, Entity*, s32); +extern bool32 sub_08049F84(Entity*, s32); +extern bool32 sub_08049FA0(Entity*); +extern bool32 sub_08049FDC(Entity*, u32); extern u32 sub_0804A024(Entity*, u32, u32); extern u32 sub_0804A044(Entity*, Entity*, u32); +extern void sub_0804A4E4(Entity*, Entity*); extern void sub_0804A720(Entity*); extern void sub_0804AA1C(Entity*); -extern void sub_0804C128(); +extern void sub_0804C128(void); extern u32 sub_080542AC(u32); extern void sub_08054564(); extern void sub_08054570(void); @@ -163,7 +164,7 @@ extern void sub_08060158(Entity*); extern void sub_0806D02C(Entity*); extern void sub_0806D0B0(Entity*); extern void sub_0806F4E8(Entity*); -extern u32 sub_0806F520(); +extern bool32 sub_0806F520(Entity*); extern u32 sub_0806F5B0(u32); extern u32 sub_0806F824(Entity*, Entity*, s32, s32); extern u32 sub_0806F948(Entity*); @@ -214,7 +215,7 @@ extern u32 sub_08079B24(void); extern void sub_08079BD8(Entity*); extern u32 sub_08079D48(); extern void sub_08079D84(void); -extern u32 sub_08079F8C(void); +extern bool32 sub_08079F8C(void); extern u32 sub_08079FC4(u32); extern void sub_0807A050(void); extern void sub_0807A5B8(u32); diff --git a/include/manager.h b/include/manager.h index 4835a712..131e9967 100644 --- a/include/manager.h +++ b/include/manager.h @@ -141,7 +141,7 @@ typedef struct { DiggingCaveEntrance* unk_00; u16 unk_04; u16 unk_06; - u8 unk_08; + u8 isDiggingCave; u8 unk_09; u8 unk_0a; u8 unk_0b; diff --git a/include/message.h b/include/message.h index c0164810..4a450767 100644 --- a/include/message.h +++ b/include/message.h @@ -17,7 +17,7 @@ typedef struct { u16 textIndex; u16 unk2; // HI? u32 field_0xc; - u32 field_0x10; + u32 rupees; u32 field_0x14; u32 field_0x18; u32 field_0x1c; @@ -25,14 +25,17 @@ typedef struct { extern Message gMessage; typedef struct { - u8 flags; + u8 unk00 : 1; + u8 unk01 : 4; + u8 unk05 : 2; + u8 unk06 : 1; u8 code; // first byte read u16 param; // second byte read u16 extended; // ascii adjusted for jp chars u16 _6; u16 textIndex; void* _c; - u8 buf[32]; + const u8* buf[8]; } Token; typedef struct { diff --git a/include/object.h b/include/object.h index 5d6cb713..7164e413 100644 --- a/include/object.h +++ b/include/object.h @@ -20,7 +20,7 @@ extern void sub_080787B4(Entity*); extern void sub_0808C650(Entity*, u32); extern u32 sub_0808C67C(void); extern void sub_0808C688(void); -extern void sub_080A2BE4(Entity*, u32); +extern void sub_080A2BE4(Entity*, bool32); void CreateDust(Entity* parent); void CreateDustAt(s32, s32, u32); @@ -215,7 +215,7 @@ typedef enum { OBJECT_B6, WELL, WIND_TRIBE_TELEPORTER, - OBJECT_B9, + CUCCO_MINIGAME, GYORG_BOSS_OBJECT, WINDCREST, LIT_AREA, diff --git a/include/projectile/winder.h b/include/projectile/winder.h new file mode 100644 index 00000000..1fe479ff --- /dev/null +++ b/include/projectile/winder.h @@ -0,0 +1,12 @@ +#ifndef PROJECTILE_WINDER_H +#define PROJECTILE_WINDER_H +#include "enemy.h" + +#define WINDER_NUM_SEGMENTS 8 + +typedef struct { + Entity base; + s16 positions[2 * WINDER_NUM_SEGMENTS]; +} WinderEntity; + +#endif diff --git a/include/room.h b/include/room.h index 5f71a07d..3ab02772 100644 --- a/include/room.h +++ b/include/room.h @@ -83,6 +83,16 @@ typedef struct { static_assert(sizeof(RoomVars) == 0xCC); extern RoomVars gRoomVars; +typedef struct { + u8 area; + u8 room; + u16 unk_02; + u32 unk_04; +} RoomMemory; + +extern RoomMemory* gUnk_020354B0; +extern RoomMemory gRoomMemory[]; + // Packets used to store which entities to load in a room typedef struct { u8 kind; @@ -96,10 +106,10 @@ typedef struct { } EntityData; typedef struct { - u16 field_0x0; + u16 tilePos; u16 field_0x2; - u8 field_0x4; - u8 field_0x5; + u8 room; + u8 animationState; u8 field_0x6; u8 field_0x7; } struct_030010EC; diff --git a/include/roomid.h b/include/roomid.h new file mode 100644 index 00000000..db520bdd --- /dev/null +++ b/include/roomid.h @@ -0,0 +1,993 @@ +#ifndef TMC_ROOMID_H +#define TMC_ROOMID_H + +typedef enum { + // AREA_MINISH_WOODS + ROOM_MINISH_WOODS_MAIN = 0, + // AREA_MINISH_VILLAGE + ROOM_MINISH_VILLAGE_MAIN = 0, + ROOM_MINISH_VILLAGE_SIDE_HOUSE_AREA, + ROOM_MINISH_VILLAGE_2, + ROOM_MINISH_VILLAGE_3, + // AREA_HYRULE_TOWN + ROOM_HYRULE_TOWN_MAIN = 0, + // AREA_HYRULE_FIELD + ROOM_HYRULE_FIELD_WESTERN_WOODS_SOUTH = 0, + ROOM_HYRULE_FIELD_SOUTH_HYRULE_FIELD, + ROOM_HYRULE_FIELD_EASTERN_HILLLS_SOUTH, + ROOM_HYRULE_FIELD_EASTERN_HILLLS_CENTER, + ROOM_HYRULE_FIELD_EASTERN_HILLLS_NORTH, + ROOM_HYRULE_FIELD_LON_LON_RANCH, + ROOM_HYRULE_FIELD_NORTH_HYRULE_FIELD, + ROOM_HYRULE_FIELD_TRILBY_HIGHLANDS, + ROOM_HYRULE_FIELD_WESTERN_WOODS_NORTH, + ROOM_HYRULE_FIELD_WESTERN_WOODS_CENTER, + // AREA_CASTOR_WILDS + ROOM_CASTOR_WILDS_MAIN = 0, + // AREA_RUINS + ROOM_RUINS_ENTRANCE = 0, + ROOM_RUINS_BEANSTALK, + ROOM_RUINS_TEKTITES, + ROOM_RUINS_LADDER_TO_TEKTITES, + ROOM_RUINS_FORTRESS_ENTRANCE, + ROOM_RUINS_BELOW_FORTRESS_ENTRANCE, + // AREA_MT_CRENEL + ROOM_MT_CRENEL_TOP = 0, + ROOM_MT_CRENEL_WALL_CLIMB, + ROOM_MT_CRENEL_CAVERN_OF_FLAMES_ENTRANCE, + ROOM_MT_CRENEL_CENTER, + ROOM_MT_CRENEL_ENTRANCE, + // AREA_CASTLE_GARDEN + ROOM_CASTLE_GARDEN_MAIN = 0, + // AREA_CLOUD_TOPS + ROOM_CLOUD_TOPS_CLOUD_TOPS = 0, + ROOM_CLOUD_TOPS_CLOUD_MIDDLES, + ROOM_CLOUD_TOPS_CLOUD_BOTTOMS, + // AREA_ROYAL_VALLEY + ROOM_ROYAL_VALLEY_MAIN = 0, + ROOM_ROYAL_VALLEY_FOREST_MAZE, + // AREA_VEIL_FALLS + ROOM_VEIL_FALLS_MAIN = 0, + // AREA_LAKE_HYLIA + ROOM_LAKE_HYLIA_MAIN = 0, + ROOM_LAKE_HYLIA_BEANSTALK, + // AREA_LAKE_WOODS_CAVE + ROOM_LAKE_WOODS_CAVE_MAIN = 0, + // AREA_BEANSTALKS + ROOM_BEANSTALKS_CRENEL = 0, + ROOM_BEANSTALKS_LAKE_HYLIA, + ROOM_BEANSTALKS_RUINS, + ROOM_BEANSTALKS_EASTERN_HILLS, + ROOM_BEANSTALKS_WESTERN_WOODS, + ROOM_BEANSTALKS_5, + ROOM_BEANSTALKS_6, + ROOM_BEANSTALKS_7, + ROOM_BEANSTALKS_8, + ROOM_BEANSTALKS_9, + ROOM_BEANSTALKS_a, + ROOM_BEANSTALKS_b, + ROOM_BEANSTALKS_c, + ROOM_BEANSTALKS_d, + ROOM_BEANSTALKS_e, + ROOM_BEANSTALKS_f, + ROOM_BEANSTALKS_CRENEL_CLIMB, + ROOM_BEANSTALKS_LAKE_HYLIA_CLIMB, + ROOM_BEANSTALKS_RUINS_CLIMB, + ROOM_BEANSTALKS_EASTERN_HILLS_CLIMB, + ROOM_BEANSTALKS_WESTERN_WOODS_CLIMB, + // AREA_EMPTY + ROOM_EMPTY_0 = 0, + // AREA_HYRULE_DIG_CAVES + ROOM_HYRULE_DIG_CAVES_TOWN = 0, + // AREA_MELARIS_MINE + ROOM_MELARIS_MINE_MAIN = 0, + // AREA_MINISH_PATHS + ROOM_MINISH_PATHS_MINISH_VILLAGE = 0, + ROOM_MINISH_PATHS_BOW, + ROOM_MINISH_PATHS_SCHOOLYARD, + ROOM_MINISH_PATHS_LON_LON_RANCH, + ROOM_MINISH_PATHS_LAKE_HYLIA, + // AREA_CRENEL_MINISH_PATHS + ROOM_CRENEL_MINISH_PATHS_BEAN = 0, + ROOM_CRENEL_MINISH_PATHS_SPRING_WATER, + ROOM_CRENEL_MINISH_PATHS_RAIN, + ROOM_CRENEL_MINISH_PATHS_MELARI, + // AREA_DIG_CAVES + ROOM_DIG_CAVES_EASTERN_HILLS = 0, + ROOM_DIG_CAVES_1, + ROOM_DIG_CAVES_2, + ROOM_DIG_CAVES_TRILBY_HIGHLANDS, + // AREA_CRENEL_DIG_CAVE + ROOM_CRENEL_DIG_CAVE_0 = 0, + // AREA_FESTIVAL_TOWN + ROOM_FESTIVAL_TOWN_MAIN = 0, + // AREA_VEIL_FALLS_DIG_CAVE + ROOM_VEIL_FALLS_DIG_CAVE_0 = 0, + // AREA_CASTOR_WILDS_DIG_CAVE + ROOM_CASTOR_WILDS_DIG_CAVE_0 = 0, + // AREA_OUTER_FORTRESS_OF_WINDS + ROOM_OUTER_FORTRESS_OF_WINDS_ENTRANCE_HALL = 0, + ROOM_OUTER_FORTRESS_OF_WINDS_2F, + ROOM_OUTER_FORTRESS_OF_WINDS_3F, + ROOM_OUTER_FORTRESS_OF_WINDS_MOLE_MITTS, + ROOM_OUTER_FORTRESS_OF_WINDS_SMALL_KEY, + // AREA_HYLIA_DIG_CAVES + ROOM_HYLIA_DIG_CAVES_0 = 0, + ROOM_HYLIA_DIG_CAVES_1, + // AREA_VEIL_FALLS_TOP + ROOM_VEIL_FALLS_TOP_0 = 0, + // AREA_NULL_1B + ROOM_NULL_1B_0 = 0, + // AREA_NULL_1C + ROOM_NULL_1C_0 = 0, + // AREA_NULL_1D + ROOM_NULL_1D_0 = 0, + // AREA_NULL_1E + ROOM_NULL_1E_0 = 0, + // AREA_NULL_1F + ROOM_NULL_1F_0 = 0, + // AREA_MINISH_HOUSE_INTERIORS + ROOM_MINISH_HOUSE_INTERIORS_GENTARI_MAIN = 0, + ROOM_MINISH_HOUSE_INTERIORS_GENTARI_EXIT, + ROOM_MINISH_HOUSE_INTERIORS_FESTARI, + ROOM_MINISH_HOUSE_INTERIORS_RED, + ROOM_MINISH_HOUSE_INTERIORS_GREEN, + ROOM_MINISH_HOUSE_INTERIORS_BLUE, + ROOM_MINISH_HOUSE_INTERIORS_SIDE_AREA, + ROOM_MINISH_HOUSE_INTERIORS_SHOE_MINISH, + ROOM_MINISH_HOUSE_INTERIORS_POT_MINISH, + ROOM_MINISH_HOUSE_INTERIORS_BARREL_MINISH, + ROOM_MINISH_HOUSE_INTERIORS_NULL1, + ROOM_MINISH_HOUSE_INTERIORS_NULL2, + ROOM_MINISH_HOUSE_INTERIORS_c, + ROOM_MINISH_HOUSE_INTERIORS_d, + ROOM_MINISH_HOUSE_INTERIORS_e, + ROOM_MINISH_HOUSE_INTERIORS_f, + ROOM_MINISH_HOUSE_INTERIORS_MELARI_MINES_SOUTHWEST, + ROOM_MINISH_HOUSE_INTERIORS_MELARI_MINES_SOUTHEAST, + ROOM_MINISH_HOUSE_INTERIORS_MELARI_MINES_EAST, + ROOM_MINISH_HOUSE_INTERIORS_13, + ROOM_MINISH_HOUSE_INTERIORS_14, + ROOM_MINISH_HOUSE_INTERIORS_15, + ROOM_MINISH_HOUSE_INTERIORS_16, + ROOM_MINISH_HOUSE_INTERIORS_17, + ROOM_MINISH_HOUSE_INTERIORS_18, + ROOM_MINISH_HOUSE_INTERIORS_19, + ROOM_MINISH_HOUSE_INTERIORS_1a, + ROOM_MINISH_HOUSE_INTERIORS_1b, + ROOM_MINISH_HOUSE_INTERIORS_1c, + ROOM_MINISH_HOUSE_INTERIORS_1d, + ROOM_MINISH_HOUSE_INTERIORS_1e, + ROOM_MINISH_HOUSE_INTERIORS_1f, + ROOM_MINISH_HOUSE_INTERIORS_HYRULE_FIELD_SOUTHWEST, + ROOM_MINISH_HOUSE_INTERIORS_SOUTH_HYRULE_FIELD, + ROOM_MINISH_HOUSE_INTERIORS_NEXT_TO_KNUCKLE, + ROOM_MINISH_HOUSE_INTERIORS_LIBRARI, + ROOM_MINISH_HOUSE_INTERIORS_HYRULE_FIELD_EXIT, + ROOM_MINISH_HOUSE_INTERIORS_HYRULE_TOWN, + ROOM_MINISH_HOUSE_INTERIORS_MINISH_WOODS_BOMB, + ROOM_MINISH_HOUSE_INTERIORS_LAKE_HYLIA_OCARINA, + // AREA_HOUSE_INTERIORS_1 + ROOM_HOUSE_INTERIORS_1_MAYOR = 0, + ROOM_HOUSE_INTERIORS_1_POST_OFFICE, + ROOM_HOUSE_INTERIORS_1_LIBRARY_2F, + ROOM_HOUSE_INTERIORS_1_LIBRARY_1F, + ROOM_HOUSE_INTERIORS_1_INN_1F, + ROOM_HOUSE_INTERIORS_1_INN_WEST_ROOM, + ROOM_HOUSE_INTERIORS_1_INN_MIDDLE_ROOM, + ROOM_HOUSE_INTERIORS_1_INN_EAST_ROOM, + ROOM_HOUSE_INTERIORS_1_INN_WEST_2F, + ROOM_HOUSE_INTERIORS_1_INN_EAST_2F, + ROOM_HOUSE_INTERIORS_1_INN_MINISH_HEART_PIECE, + ROOM_HOUSE_INTERIORS_1_SCHOOL_WEST, + ROOM_HOUSE_INTERIORS_1_SCHOOL_EAST, + ROOM_HOUSE_INTERIORS_1_d, + ROOM_HOUSE_INTERIORS_1_e, + ROOM_HOUSE_INTERIORS_1_f, + ROOM_HOUSE_INTERIORS_1_10, + ROOM_HOUSE_INTERIORS_1_11, + ROOM_HOUSE_INTERIORS_1_12, + ROOM_HOUSE_INTERIORS_1_13, + ROOM_HOUSE_INTERIORS_1_14, + ROOM_HOUSE_INTERIORS_1_15, + ROOM_HOUSE_INTERIORS_1_16, + ROOM_HOUSE_INTERIORS_1_17, + ROOM_HOUSE_INTERIORS_1_18, + ROOM_HOUSE_INTERIORS_1_19, + ROOM_HOUSE_INTERIORS_1_1a, + ROOM_HOUSE_INTERIORS_1_1b, + ROOM_HOUSE_INTERIORS_1_1c, + ROOM_HOUSE_INTERIORS_1_1d, + ROOM_HOUSE_INTERIORS_1_1e, + ROOM_HOUSE_INTERIORS_1_1f, + // AREA_HOUSE_INTERIORS_2 + ROOM_HOUSE_INTERIORS_2_STRANGER = 0, + ROOM_HOUSE_INTERIORS_2_WEST_ORACLE, + ROOM_HOUSE_INTERIORS_2_2, + ROOM_HOUSE_INTERIORS_2_3, + ROOM_HOUSE_INTERIORS_2_DR_LEFT, + ROOM_HOUSE_INTERIORS_2_5, + ROOM_HOUSE_INTERIORS_2_ROMIO, + ROOM_HOUSE_INTERIORS_2_JULIETTA, + ROOM_HOUSE_INTERIORS_2_PERCY, + ROOM_HOUSE_INTERIORS_2_EAST_ORACLE, + ROOM_HOUSE_INTERIORS_2_a, + ROOM_HOUSE_INTERIORS_2_b, + ROOM_HOUSE_INTERIORS_2_CUCCO, + ROOM_HOUSE_INTERIORS_2_d, + ROOM_HOUSE_INTERIORS_2_e, + ROOM_HOUSE_INTERIORS_2_f, + ROOM_HOUSE_INTERIORS_2_LINKS_HOUSE_ENTRANCE, + ROOM_HOUSE_INTERIORS_2_LINKS_HOUSE_SMITH, + ROOM_HOUSE_INTERIORS_2_DAMPE, + ROOM_HOUSE_INTERIORS_2_13, + ROOM_HOUSE_INTERIORS_2_STOCKWELL_LAKE_HOUSE, + ROOM_HOUSE_INTERIORS_2_LINKS_HOUSE_BEDROOM, + ROOM_HOUSE_INTERIORS_2_16, + ROOM_HOUSE_INTERIORS_2_17, + ROOM_HOUSE_INTERIORS_2_18, + ROOM_HOUSE_INTERIORS_2_19, + ROOM_HOUSE_INTERIORS_2_1a, + ROOM_HOUSE_INTERIORS_2_1b, + ROOM_HOUSE_INTERIORS_2_1c, + ROOM_HOUSE_INTERIORS_2_1d, + ROOM_HOUSE_INTERIORS_2_1e, + ROOM_HOUSE_INTERIORS_2_1f, + ROOM_HOUSE_INTERIORS_2_20, + ROOM_HOUSE_INTERIORS_2_21, + ROOM_HOUSE_INTERIORS_2_22, + ROOM_HOUSE_INTERIORS_2_23, + ROOM_HOUSE_INTERIORS_2_24, + ROOM_HOUSE_INTERIORS_2_25, + ROOM_HOUSE_INTERIORS_2_26, + ROOM_HOUSE_INTERIORS_2_27, + ROOM_HOUSE_INTERIORS_2_28, + ROOM_HOUSE_INTERIORS_2_29, + ROOM_HOUSE_INTERIORS_2_2a, + ROOM_HOUSE_INTERIORS_2_2b, + ROOM_HOUSE_INTERIORS_2_2c, + ROOM_HOUSE_INTERIORS_2_2d, + ROOM_HOUSE_INTERIORS_2_2e, + ROOM_HOUSE_INTERIORS_2_2f, + // AREA_HOUSE_INTERIORS_3 + ROOM_HOUSE_INTERIORS_3_STOCKWELL_SHOP = 0, + ROOM_HOUSE_INTERIORS_3_CAFE, + ROOM_HOUSE_INTERIORS_3_REM_SHOE_SHOP, + ROOM_HOUSE_INTERIORS_3_BAKERY, + ROOM_HOUSE_INTERIORS_3_SIMON, + ROOM_HOUSE_INTERIORS_3_FIGURINE_HOUSE, + ROOM_HOUSE_INTERIORS_3_BORLOV_ENTRANCE, + ROOM_HOUSE_INTERIORS_3_CARLOV, + ROOM_HOUSE_INTERIORS_3_BORLOV, + ROOM_HOUSE_INTERIORS_3_9, + ROOM_HOUSE_INTERIORS_3_a, + ROOM_HOUSE_INTERIORS_3_b, + ROOM_HOUSE_INTERIORS_3_c, + ROOM_HOUSE_INTERIORS_3_d, + ROOM_HOUSE_INTERIORS_3_e, + ROOM_HOUSE_INTERIORS_3_f, + // AREA_TREE_INTERIORS + ROOM_TREE_INTERIORS_WITCH_HUT = 0, + ROOM_TREE_INTERIORS_1, + ROOM_TREE_INTERIORS_2, + ROOM_TREE_INTERIORS_3, + ROOM_TREE_INTERIORS_4, + ROOM_TREE_INTERIORS_5, + ROOM_TREE_INTERIORS_6, + ROOM_TREE_INTERIORS_7, + ROOM_TREE_INTERIORS_8, + ROOM_TREE_INTERIORS_9, + ROOM_TREE_INTERIORS_a, + ROOM_TREE_INTERIORS_b, + ROOM_TREE_INTERIORS_c, + ROOM_TREE_INTERIORS_d, + ROOM_TREE_INTERIORS_e, + ROOM_TREE_INTERIORS_f, + ROOM_TREE_INTERIORS_STAIRS_TO_CARLOV, + ROOM_TREE_INTERIORS_PERCYS_TREEHOUSE, + ROOM_TREE_INTERIORS_SOUTH_HYRULE_FIELD_HEART_PIECE, + ROOM_TREE_INTERIORS_WAVEBLADE, + ROOM_TREE_INTERIORS_14, + ROOM_TREE_INTERIORS_BOOMERANG_NORTHWEST, + ROOM_TREE_INTERIORS_BOOMERANG_NORTHEAST, + ROOM_TREE_INTERIORS_BOOMERANG_SOUTHWEST, + ROOM_TREE_INTERIORS_BOOMERANG_SOUTHEAST, + ROOM_TREE_INTERIORS_WESTERN_WOODS_HEART_PIECE, + ROOM_TREE_INTERIORS_NORTH_HYRULE_FIELD_FAIRY_FOUNTAIN, + ROOM_TREE_INTERIORS_MINISH_WOODS_GREAT_FAIRY, + ROOM_TREE_INTERIORS_1c, + ROOM_TREE_INTERIORS_MINISH_WOODS_BUSINESS_SCRUB, + ROOM_TREE_INTERIORS_1e, + ROOM_TREE_INTERIORS_UNUSED_HEART_CONTAINER, + // AREA_DOJOS + ROOM_DOJOS_GRAYBLADE = 0, + ROOM_DOJOS_SPLITBLADE, + ROOM_DOJOS_GREATBLADE, + ROOM_DOJOS_SCARBLADE, + ROOM_DOJOS_SWIFTBLADE_I, + ROOM_DOJOS_GRIMBLADE, + ROOM_DOJOS_WAVEBLADE, + ROOM_DOJOS_7, + ROOM_DOJOS_8, + ROOM_DOJOS_9, + ROOM_DOJOS_TO_GRIMBLADE, + ROOM_DOJOS_TO_SPLITBLADE, + ROOM_DOJOS_TO_GREATBLADE, + ROOM_DOJOS_TO_SCARBLADE, + ROOM_DOJOS_e, + ROOM_DOJOS_f, + // AREA_CRENEL_CAVES + ROOM_CRENEL_CAVES_BLOCK_PUSHING = 0, + ROOM_CRENEL_CAVES_PILLAR_CAVE, + ROOM_CRENEL_CAVES_BRIDGE_SWITCH, + ROOM_CRENEL_CAVES_EXIT_TO_MINES, + ROOM_CRENEL_CAVES_GRIP_RING, + ROOM_CRENEL_CAVES_FAIRY_FOUNTAIN, + ROOM_CRENEL_CAVES_SPINY_CHU_PUZZLE, + ROOM_CRENEL_CAVES_CHUCHU_POT_CHEST, + ROOM_CRENEL_CAVES_WATER_HEART_PIECE, + ROOM_CRENEL_CAVES_RUPEE_FAIRY_FOUINTAIN, + ROOM_CRENEL_CAVES_HELMASAUR_HALLWAY, + ROOM_CRENEL_CAVES_MUSHROOM_KEESE, + ROOM_CRENEL_CAVES_LADDER_TO_SPRING_WATER, + ROOM_CRENEL_CAVES_BOMB_BUSINESS_SCRUB, + ROOM_CRENEL_CAVES_HERMIT, + ROOM_CRENEL_CAVES_HINT_SCRUB, + ROOM_CRENEL_CAVES_TO_GRAYBLADE, + // AREA_MINISH_CRACKS + ROOM_MINISH_CRACKS_LON_LON_RANCH_NORTH = 0, + ROOM_MINISH_CRACKS_LAKE_HYLIA_EAST, + ROOM_MINISH_CRACKS_HYRULE_CASTLE_GARDEN, + ROOM_MINISH_CRACKS_MT_CRENEL, + ROOM_MINISH_CRACKS_EAST_HYRULE_CASTLE, + ROOM_MINISH_CRACKS_5, + ROOM_MINISH_CRACKS_CASTOR_WILDS_BOW, + ROOM_MINISH_CRACKS_RUINS_ENTRANCE, + ROOM_MINISH_CRACKS_MINISH_WOODS_SOUTH, + ROOM_MINISH_CRACKS_CASTOR_WILDS_NORTH, + ROOM_MINISH_CRACKS_CASTOR_WILDS_WEST, + ROOM_MINISH_CRACKS_CASTOR_WILDS_MIDDLE, + ROOM_MINISH_CRACKS_RUINS_TEKTITE, + ROOM_MINISH_CRACKS_CASTOR_WILDS_NEXT_TO_BOW, + ROOM_MINISH_CRACKS_e, + ROOM_MINISH_CRACKS_f, + ROOM_MINISH_CRACKS_10, + ROOM_MINISH_CRACKS_11, + ROOM_MINISH_CRACKS_12, + ROOM_MINISH_CRACKS_13, + ROOM_MINISH_CRACKS_14, + ROOM_MINISH_CRACKS_15, + ROOM_MINISH_CRACKS_16, + ROOM_MINISH_CRACKS_17, + // AREA_HOUSE_INTERIORS_4 + ROOM_HOUSE_INTERIORS_4_CARPENTER = 0, + ROOM_HOUSE_INTERIORS_4_SWIFTBLADE, + ROOM_HOUSE_INTERIORS_4_RANCH_HOUSE_WEST, + ROOM_HOUSE_INTERIORS_4_RANCH_HOUSE_EAST, + ROOM_HOUSE_INTERIORS_4_FARM_HOUSE, + ROOM_HOUSE_INTERIORS_4_MAYOR_LAKE_CABIN, + ROOM_HOUSE_INTERIORS_4_6, + ROOM_HOUSE_INTERIORS_4_7, + ROOM_HOUSE_INTERIORS_4_8, + ROOM_HOUSE_INTERIORS_4_9, + ROOM_HOUSE_INTERIORS_4_a, + ROOM_HOUSE_INTERIORS_4_b, + ROOM_HOUSE_INTERIORS_4_c, + ROOM_HOUSE_INTERIORS_4_d, + ROOM_HOUSE_INTERIORS_4_e, + ROOM_HOUSE_INTERIORS_4_f, + // AREA_GREAT_FAIRIES + ROOM_GREAT_FAIRIES_GRAVEYARD = 0, + ROOM_GREAT_FAIRIES_MINISH_WOODS, + ROOM_GREAT_FAIRIES_CRENEL, + ROOM_GREAT_FAIRIES_NOT_IMPLEMENTED, + // AREA_CASTOR_CAVES + ROOM_CASTOR_CAVES_SOUTH = 0, + ROOM_CASTOR_CAVES_NORTH, + ROOM_CASTOR_CAVES_WIND_RUINS, + ROOM_CASTOR_CAVES_DARKNUT, + ROOM_CASTOR_CAVES_HEART_PIECE, + ROOM_CASTOR_CAVES_5, + ROOM_CASTOR_CAVES_6, + ROOM_CASTOR_CAVES_7, + // AREA_CASTOR_DARKNUT + ROOM_CASTOR_DARKNUT_MAIN = 0, + ROOM_CASTOR_DARKNUT_HALL, + // AREA_ARMOS_INTERIORS + ROOM_ARMOS_INTERIORS_RUINS_ENTRANCE_NORTH = 0, + ROOM_ARMOS_INTERIORS_RUINS_ENTRANCE_SOUTH, + ROOM_ARMOS_INTERIORS_RUINS_LEFT, + ROOM_ARMOS_INTERIORS_RUINS_MIDDLE_LEFT, + ROOM_ARMOS_INTERIORS_RUINS_MIDDLE_RIGHT, + ROOM_ARMOS_INTERIORS_RUINS_RIGHT, + ROOM_ARMOS_INTERIORS_6, + ROOM_ARMOS_INTERIORS_RUINS_GRASS_PATH, + ROOM_ARMOS_INTERIORS_8, + ROOM_ARMOS_INTERIORS_FORTRESS_LEFT, + ROOM_ARMOS_INTERIORS_FORTRESS_RIGHT, + // AREA_TOWN_MINISH_HOLES + ROOM_TOWN_MINISH_HOLES_MAYORS_HOUSE = 0, + ROOM_TOWN_MINISH_HOLES_WEST_ORACLE, + ROOM_TOWN_MINISH_HOLES_DR_LEFT, + ROOM_TOWN_MINISH_HOLES_CARPENTER, + ROOM_TOWN_MINISH_HOLES_CAFE, + ROOM_TOWN_MINISH_HOLES_5, + ROOM_TOWN_MINISH_HOLES_6, + ROOM_TOWN_MINISH_HOLES_7, + ROOM_TOWN_MINISH_HOLES_8, + ROOM_TOWN_MINISH_HOLES_9, + ROOM_TOWN_MINISH_HOLES_a, + ROOM_TOWN_MINISH_HOLES_b, + ROOM_TOWN_MINISH_HOLES_c, + ROOM_TOWN_MINISH_HOLES_d, + ROOM_TOWN_MINISH_HOLES_e, + ROOM_TOWN_MINISH_HOLES_f, + ROOM_TOWN_MINISH_HOLES_LIBRARY_BOOKSHELF, + ROOM_TOWN_MINISH_HOLES_LIBRARY_BOOKS_HOUSE, + ROOM_TOWN_MINISH_HOLES_REM_SHOE_SHOP, + ROOM_TOWN_MINISH_HOLES_13, + // AREA_MINISH_RAFTERS + ROOM_MINISH_RAFTERS_CAFE = 0, + ROOM_MINISH_RAFTERS_STOCKWELL, + ROOM_MINISH_RAFTERS_DR_LEFT, + ROOM_MINISH_RAFTERS_BAKERY, + // AREA_GORON_CAVE + ROOM_GORON_CAVE_STAIRS = 0, + ROOM_GORON_CAVE_MAIN, + // AREA_WIND_TRIBE_TOWER + ROOM_WIND_TRIBE_TOWER_ENTRANCE = 0, + ROOM_WIND_TRIBE_TOWER_FLOOR_1, + ROOM_WIND_TRIBE_TOWER_FLOOR_2, + ROOM_WIND_TRIBE_TOWER_FLOOR_3, + // AREA_WIND_TRIBE_TOWER_ROOF + ROOM_WIND_TRIBE_TOWER_ROOF_0 = 0, + // AREA_CAVES + ROOM_CAVES_BOOMERANG = 0, + ROOM_CAVES_TO_GRAVEYARD, + ROOM_CAVES_2, + ROOM_CAVES_3, + ROOM_CAVES_4, + ROOM_CAVES_5, + ROOM_CAVES_6, + ROOM_CAVES_TRILBY_KEESE_CHEST, + ROOM_CAVES_TRILBY_FAIRY_FOUNTAIN, + ROOM_CAVES_SOUTH_HYRULE_FIELD_FAIRY_FOUNTAIN, + ROOM_CAVES_a, + ROOM_CAVES_HYRULE_TOWN_WATERFALL, + ROOM_CAVES_LON_LON_RANCH, + ROOM_CAVES_LON_LON_RANCH_SECRET, + ROOM_CAVES_TRILBY_HIGHLANDS, + ROOM_CAVES_LON_LON_RANCH_WALLET, + ROOM_CAVES_SOUTH_HYRULE_FIELD_RUPEE, + ROOM_CAVES_TRILBY_RUPEE, + ROOM_CAVES_TRILBY_MITTS_FAIRY_FOUNTAIN, + ROOM_CAVES_HILLS_KEESE_CHEST, + ROOM_CAVES_BOTTLE_BUSINESS_SCRUB, + ROOM_CAVES_HEART_PIECE_HALLWAY, + ROOM_CAVES_NORTH_HYRULE_FIELD_FAIRY_FOUNTAIN, + ROOM_CAVES_KINSTONE_BUSINESS_SCRUB, + // AREA_VEIL_FALLS_CAVES + ROOM_VEIL_FALLS_CAVES_HALLWAY_2F = 0, + ROOM_VEIL_FALLS_CAVES_HALLWAY_1F, + ROOM_VEIL_FALLS_CAVES_HALLWAY_SECRET_ROOM, + ROOM_VEIL_FALLS_CAVES_ENTRANCE, + ROOM_VEIL_FALLS_CAVES_EXIT, + ROOM_VEIL_FALLS_CAVES_SECRET_CHEST, + ROOM_VEIL_FALLS_CAVES_HALLWAY_SECRET_STAIRCASE, + ROOM_VEIL_FALLS_CAVES_HALLWAY_BLOCK_PUZZLE, + ROOM_VEIL_FALLS_CAVES_HALLWAY_RUPEE_PATH, + ROOM_VEIL_FALLS_CAVES_HALLWAY_HEART_PIECE, + ROOM_VEIL_FALLS_CAVES_a, + ROOM_VEIL_FALLS_CAVES_b, + ROOM_VEIL_FALLS_CAVES_c, + ROOM_VEIL_FALLS_CAVES_d, + ROOM_VEIL_FALLS_CAVES_e, + ROOM_VEIL_FALLS_CAVES_f, + // AREA_ROYAL_VALLEY_GRAVES + ROOM_ROYAL_VALLEY_GRAVES_HEART_PIECE = 0, + ROOM_ROYAL_VALLEY_GRAVES_GINA, + // AREA_MINISH_CAVES + ROOM_MINISH_CAVES_BEAN_PESTO = 0, + ROOM_MINISH_CAVES_SOUTHEAST_WATER_1, + ROOM_MINISH_CAVES_2, + ROOM_MINISH_CAVES_RUINS, + ROOM_MINISH_CAVES_OUTSIDE_LINKS_HOUSE, + ROOM_MINISH_CAVES_MINISH_WOODS_NORTH_1, + ROOM_MINISH_CAVES_6, + ROOM_MINISH_CAVES_LAKE_HYLIA_NORTH, + ROOM_MINISH_CAVES_LAKE_HYLIA_LIBRARI, + ROOM_MINISH_CAVES_MINISH_WOODS_SOUTHWEST, + // AREA_CASTLE_GARDEN_MINISH_HOLES + ROOM_CASTLE_GARDEN_MINISH_HOLES_0 = 0, + ROOM_CASTLE_GARDEN_MINISH_HOLES_1, + // AREA_37 + ROOM_37_0 = 0, + ROOM_37_1, + // AREA_EZLO_CUTSCENE + ROOM_EZLO_CUTSCENE_0 = 0, + // AREA_NULL_39 + ROOM_NULL_39_0 = 0, + // AREA_NULL_3A + ROOM_NULL_3A_0 = 0, + // AREA_NULL_3B + ROOM_NULL_3B_0 = 0, + // AREA_NULL_3C + ROOM_NULL_3C_0 = 0, + // AREA_NULL_3D + ROOM_NULL_3D_0 = 0, + // AREA_NULL_3E + ROOM_NULL_3E_0 = 0, + // AREA_NULL_3F + ROOM_NULL_3F_0 = 0, + // AREA_40 + ROOM_40_0 = 0, + // AREA_HYRULE_TOWN_UNDERGROUND + ROOM_HYRULE_TOWN_UNDERGROUND_0 = 0, + ROOM_HYRULE_TOWN_UNDERGROUND_1, + // AREA_GARDEN_FOUNTAINS + ROOM_GARDEN_FOUNTAINS_EAST = 0, + ROOM_GARDEN_FOUNTAINS_WEST, + // AREA_HYRULE_CASTLE_CELLAR + ROOM_HYRULE_CASTLE_CELLAR_0 = 0, + ROOM_HYRULE_CASTLE_CELLAR_1, + // AREA_SIMONS_SIMULATION + ROOM_SIMONS_SIMULATION_0 = 0, + // AREA_45 + ROOM_45_0 = 0, + // AREA_NULL_46 + ROOM_NULL_46_0 = 0, + // AREA_47 + ROOM_47_0 = 0, + // AREA_DEEPWOOD_SHRINE + ROOM_DEEPWOOD_SHRINE_MADDERPILLAR = 0, + ROOM_DEEPWOOD_SHRINE_BLUE_PORTAL, + ROOM_DEEPWOOD_SHRINE_STAIRS_TO_B1, + ROOM_DEEPWOOD_SHRINE_POT_BRIDGE, + ROOM_DEEPWOOD_SHRINE_DOUBLE_STATUE, + ROOM_DEEPWOOD_SHRINE_MAP, + ROOM_DEEPWOOD_SHRINE_BARREL, + ROOM_DEEPWOOD_SHRINE_BUTTON, + ROOM_DEEPWOOD_SHRINE_MULLDOZER, + ROOM_DEEPWOOD_SHRINE_PILLARS, + ROOM_DEEPWOOD_SHRINE_LEVER, + ROOM_DEEPWOOD_SHRINE_ENTRANCE, + ROOM_DEEPWOOD_SHRINE_c, + ROOM_DEEPWOOD_SHRINE_d, + ROOM_DEEPWOOD_SHRINE_e, + ROOM_DEEPWOOD_SHRINE_f, + ROOM_DEEPWOOD_SHRINE_TORCHES, + ROOM_DEEPWOOD_SHRINE_BOSS_KEY, + ROOM_DEEPWOOD_SHRINE_COMPASS, + ROOM_DEEPWOOD_SHRINE_13, + ROOM_DEEPWOOD_SHRINE_LILY_PAD_WEST, + ROOM_DEEPWOOD_SHRINE_LILY_PAD_EAST, + ROOM_DEEPWOOD_SHRINE_16, + ROOM_DEEPWOOD_SHRINE_BOSS_DOOR, + ROOM_DEEPWOOD_SHRINE_18, + ROOM_DEEPWOOD_SHRINE_19, + ROOM_DEEPWOOD_SHRINE_1a, + ROOM_DEEPWOOD_SHRINE_1b, + ROOM_DEEPWOOD_SHRINE_1c, + ROOM_DEEPWOOD_SHRINE_1d, + ROOM_DEEPWOOD_SHRINE_1e, + ROOM_DEEPWOOD_SHRINE_1f, + ROOM_DEEPWOOD_SHRINE_INSIDE_BARREL, + // AREA_DEEPWOOD_SHRINE_BOSS + ROOM_DEEPWOOD_SHRINE_BOSS_MAIN = 0, + // AREA_DEEPWOOD_SHRINE_ENTRY + ROOM_DEEPWOOD_SHRINE_ENTRY_MAIN = 0, + // AREA_NULL_4B + ROOM_NULL_4B_0 = 0, + // AREA_NULL_4C + ROOM_NULL_4C_0 = 0, + // AREA_4D + ROOM_4D_0 = 0, + // AREA_NULL_4E + ROOM_NULL_4E_0 = 0, + // AREA_NULL_4F + ROOM_NULL_4F_0 = 0, + // AREA_CAVE_OF_FLAMES + ROOM_CAVE_OF_FLAMES_AFTER_CANE = 0, + ROOM_CAVE_OF_FLAMES_SPINY_CHU, + ROOM_CAVE_OF_FLAMES_CART_TO_SPINY_CHU, + ROOM_CAVE_OF_FLAMES_ENTRANCE, + ROOM_CAVE_OF_FLAMES_MAIN_CART, + ROOM_CAVE_OF_FLAMES_NORTH_ENTRANCE, + ROOM_CAVE_OF_FLAMES_CART_WEST, + ROOM_CAVE_OF_FLAMES_HELMASAUR_FIGHT, + ROOM_CAVE_OF_FLAMES_ROLLOBITE_LAVA_ROOM, + ROOM_CAVE_OF_FLAMES_MINISH_LAVA_ROOM, + ROOM_CAVE_OF_FLAMES_a, + ROOM_CAVE_OF_FLAMES_b, + ROOM_CAVE_OF_FLAMES_c, + ROOM_CAVE_OF_FLAMES_d, + ROOM_CAVE_OF_FLAMES_e, + ROOM_CAVE_OF_FLAMES_f, + ROOM_CAVE_OF_FLAMES_MINISH_SPIKES, + ROOM_CAVE_OF_FLAMES_TOMPAS_DOOM, + ROOM_CAVE_OF_FLAMES_BEFORE_GLEEROK, + ROOM_CAVE_OF_FLAMES_BOSSKEY_PATH1, + ROOM_CAVE_OF_FLAMES_BOSSKEY_PATH2, + ROOM_CAVE_OF_FLAMES_COMPASS, + ROOM_CAVE_OF_FLAMES_BOB_OMB_WALL, + ROOM_CAVE_OF_FLAMES_BOSS_DOOR, + ROOM_CAVE_OF_FLAMES_18, + ROOM_CAVE_OF_FLAMES_19, + ROOM_CAVE_OF_FLAMES_1a, + ROOM_CAVE_OF_FLAMES_1b, + ROOM_CAVE_OF_FLAMES_1c, + ROOM_CAVE_OF_FLAMES_1d, + ROOM_CAVE_OF_FLAMES_1e, + ROOM_CAVE_OF_FLAMES_1f, + ROOM_CAVE_OF_FLAMES_20, + // AREA_CAVE_OF_FLAMES_BOSS + ROOM_CAVE_OF_FLAMES_BOSS_0 = 0, + // AREA_NULL_52 + ROOM_NULL_52_0 = 0, + // AREA_NULL_53 + ROOM_NULL_53_0 = 0, + // AREA_NULL_54 + ROOM_NULL_54_0 = 0, + // AREA_NULL_55 + ROOM_NULL_55_0 = 0, + // AREA_NULL_56 + ROOM_NULL_56_0 = 0, + // AREA_57 + ROOM_57_0 = 0, + // AREA_FORTRESS_OF_WINDS + ROOM_FORTRESS_OF_WINDS_DOUBLE_EYEGORE = 0, + ROOM_FORTRESS_OF_WINDS_BEFORE_MAZAAL, + ROOM_FORTRESS_OF_WINDS_EAST_KEY_LEVER, + ROOM_FORTRESS_OF_WINDS_PIT_PLATFORMS, + ROOM_FORTRESS_OF_WINDS_WEST_KEY_LEVER, + ROOM_FORTRESS_OF_WINDS_5, + ROOM_FORTRESS_OF_WINDS_6, + ROOM_FORTRESS_OF_WINDS_7, + ROOM_FORTRESS_OF_WINDS_8, + ROOM_FORTRESS_OF_WINDS_9, + ROOM_FORTRESS_OF_WINDS_a, + ROOM_FORTRESS_OF_WINDS_b, + ROOM_FORTRESS_OF_WINDS_c, + ROOM_FORTRESS_OF_WINDS_d, + ROOM_FORTRESS_OF_WINDS_e, + ROOM_FORTRESS_OF_WINDS_f, + ROOM_FORTRESS_OF_WINDS_DARKNUT_ROOM, + ROOM_FORTRESS_OF_WINDS_ARROW_EYE_BRIDGE, + ROOM_FORTRESS_OF_WINDS_NORTH_SPLIT_PATH_PIT, + ROOM_FORTRESS_OF_WINDS_WALLMASTER_MINISH_PORTAL, + ROOM_FORTRESS_OF_WINDS_PILLAR_CLONE_BUTTONS, + ROOM_FORTRESS_OF_WINDS_ROTATING_SPIKE_TRAPS, + ROOM_FORTRESS_OF_WINDS_MAZAAL, + ROOM_FORTRESS_OF_WINDS_STALFOS, + ROOM_FORTRESS_OF_WINDS_ENTRANCE_MOLE_MITTS, + ROOM_FORTRESS_OF_WINDS_MAIN_2F, + ROOM_FORTRESS_OF_WINDS_MINISH_HOLE, + ROOM_FORTRESS_OF_WINDS_BOSS_KEY, + ROOM_FORTRESS_OF_WINDS_WEST_STAIRS_2F, + ROOM_FORTRESS_OF_WINDS_EAST_STAIRS_2F, + ROOM_FORTRESS_OF_WINDS_1e, + ROOM_FORTRESS_OF_WINDS_1f, + ROOM_FORTRESS_OF_WINDS_WEST_STAIRS_1F, + ROOM_FORTRESS_OF_WINDS_CENTER_STAIRS_1F, + ROOM_FORTRESS_OF_WINDS_EAST_STAIRS_1F, + ROOM_FORTRESS_OF_WINDS_WIZZROBE, + ROOM_FORTRESS_OF_WINDS_HEART_PIECE, + ROOM_FORTRESS_OF_WINDS_25, + ROOM_FORTRESS_OF_WINDS_26, + ROOM_FORTRESS_OF_WINDS_27, + // AREA_FORTRESS_OF_WINDS_TOP + ROOM_FORTRESS_OF_WINDS_TOP_MAIN = 0, + // AREA_INNER_MAZAAL + ROOM_INNER_MAZAAL_MAIN = 0, + ROOM_INNER_MAZAAL_PHASE_1, + // AREA_NULL_5B + ROOM_NULL_5B_0 = 0, + // AREA_NULL_5C + ROOM_NULL_5C_0 = 0, + // AREA_NULL_5D + ROOM_NULL_5D_0 = 0, + // AREA_NULL_5E + ROOM_NULL_5E_0 = 0, + // AREA_5F + ROOM_5F_0 = 0, + // AREA_TEMPLE_OF_DROPLETS + ROOM_TEMPLE_OF_DROPLETS_WEST_HOLE = 0, + ROOM_TEMPLE_OF_DROPLETS_NORTH_SPLIT_ROOM, + ROOM_TEMPLE_OF_DROPLETS_EAST_HOLE, + ROOM_TEMPLE_OF_DROPLETS_ENTRANCE, + ROOM_TEMPLE_OF_DROPLETS_NORTHWEST_STAIRS, + ROOM_TEMPLE_OF_DROPLETS_SCISSORS_MINIBOSS, + ROOM_TEMPLE_OF_DROPLETS_WATERFALL_NORTHWEST, + ROOM_TEMPLE_OF_DROPLETS_WATERFALL_NORTHEAST, + ROOM_TEMPLE_OF_DROPLETS_ELEMENT, + ROOM_TEMPLE_OF_DROPLETS_ICE_CORNER, + ROOM_TEMPLE_OF_DROPLETS_ICE_PIT_MAZE, + ROOM_TEMPLE_OF_DROPLETS_HOLE_TO_BLUE_CHU_KEY, + ROOM_TEMPLE_OF_DROPLETS_WEST_WATERFALL_SOUTHEAST, + ROOM_TEMPLE_OF_DROPLETS_WEST_WATERFALL_SOUTHWEST, + ROOM_TEMPLE_OF_DROPLETS_BIG_OCTO, + ROOM_TEMPLE_OF_DROPLETS_TO_BLUE_CHU, + ROOM_TEMPLE_OF_DROPLETS_BLUE_CHU, + ROOM_TEMPLE_OF_DROPLETS_BLUE_CHU_KEY, + ROOM_TEMPLE_OF_DROPLETS_12, + ROOM_TEMPLE_OF_DROPLETS_13, + ROOM_TEMPLE_OF_DROPLETS_14, + ROOM_TEMPLE_OF_DROPLETS_15, + ROOM_TEMPLE_OF_DROPLETS_16, + ROOM_TEMPLE_OF_DROPLETS_17, + ROOM_TEMPLE_OF_DROPLETS_18, + ROOM_TEMPLE_OF_DROPLETS_19, + ROOM_TEMPLE_OF_DROPLETS_1a, + ROOM_TEMPLE_OF_DROPLETS_1b, + ROOM_TEMPLE_OF_DROPLETS_1c, + ROOM_TEMPLE_OF_DROPLETS_1d, + ROOM_TEMPLE_OF_DROPLETS_1e, + ROOM_TEMPLE_OF_DROPLETS_1f, + ROOM_TEMPLE_OF_DROPLETS_BOSS_KEY, + ROOM_TEMPLE_OF_DROPLETS_NORTH_SMALL_KEY, + ROOM_TEMPLE_OF_DROPLETS_BLOCK_CLONE_BUTTON_PUZZLE, + ROOM_TEMPLE_OF_DROPLETS_BLOCK_CLONE_PUZZLE, + ROOM_TEMPLE_OF_DROPLETS_BLOCK_CLONE_ICE_BRIDGE, + ROOM_TEMPLE_OF_DROPLETS_STAIRS_TO_SCISSORS_MINIBOSS, + ROOM_TEMPLE_OF_DROPLETS_SPIKE_BAR_FLIPPER_ROOM, + ROOM_TEMPLE_OF_DROPLETS_9_LANTERNS, + ROOM_TEMPLE_OF_DROPLETS_LILYPAD_ICE_BLOCKS, + ROOM_TEMPLE_OF_DROPLETS_29, + ROOM_TEMPLE_OF_DROPLETS_MULLDOZERS_FIRE_BARS, + ROOM_TEMPLE_OF_DROPLETS_DARK_MAZE, + ROOM_TEMPLE_OF_DROPLETS_TWIN_MADDERPILLARS, + ROOM_TEMPLE_OF_DROPLETS_AFTER_TWIN_MADDERPILLARS, + ROOM_TEMPLE_OF_DROPLETS_BLUE_CHU_KEY_LEVER, + ROOM_TEMPLE_OF_DROPLETS_MULLDOZER_KEY, + ROOM_TEMPLE_OF_DROPLETS_BEFORE_TWIN_MADDERPILLARS, + ROOM_TEMPLE_OF_DROPLETS_LILYPAD_B2_WEST, + ROOM_TEMPLE_OF_DROPLETS_COMPASS, + ROOM_TEMPLE_OF_DROPLETS_DARK_SCISSOR_BEETLES, + ROOM_TEMPLE_OF_DROPLETS_LILYPAD_B2_MIDDLE, + ROOM_TEMPLE_OF_DROPLETS_ICE_MADDERPILLAR, + ROOM_TEMPLE_OF_DROPLETS_FLAMEBAR_BLOCK_PUZZLE, + ROOM_TEMPLE_OF_DROPLETS_37, + ROOM_TEMPLE_OF_DROPLETS_38, + ROOM_TEMPLE_OF_DROPLETS_39, + ROOM_TEMPLE_OF_DROPLETS_3a, + ROOM_TEMPLE_OF_DROPLETS_3b, + ROOM_TEMPLE_OF_DROPLETS_3c, + ROOM_TEMPLE_OF_DROPLETS_3d, + ROOM_TEMPLE_OF_DROPLETS_3e, + ROOM_TEMPLE_OF_DROPLETS_3f, + // AREA_NULL_61 + ROOM_NULL_61_0 = 0, + // AREA_HYRULE_TOWN_MINISH_CAVES + ROOM_HYRULE_TOWN_MINISH_CAVES_0 = 0, + // AREA_NULL_63 + ROOM_NULL_63_0 = 0, + // AREA_NULL_64 + ROOM_NULL_64_0 = 0, + // AREA_NULL_65 + ROOM_NULL_65_0 = 0, + // AREA_NULL_66 + ROOM_NULL_66_0 = 0, + // AREA_67 + ROOM_67_0 = 0, + // AREA_ROYAL_CRYPT + ROOM_ROYAL_CRYPT_0 = 0, + ROOM_ROYAL_CRYPT_WATER_ROPE, + ROOM_ROYAL_CRYPT_GIBDO, + ROOM_ROYAL_CRYPT_3, + ROOM_ROYAL_CRYPT_KEY_BLOCK, + ROOM_ROYAL_CRYPT_5, + ROOM_ROYAL_CRYPT_6, + ROOM_ROYAL_CRYPT_MUSHROOM_PIT, + ROOM_ROYAL_CRYPT_ENTRANCE, + // AREA_NULL_69 + ROOM_NULL_69_0 = 0, + // AREA_NULL_6A + ROOM_NULL_6A_0 = 0, + // AREA_NULL_6B + ROOM_NULL_6B_0 = 0, + // AREA_NULL_6C + ROOM_NULL_6C_0 = 0, + // AREA_NULL_6D + ROOM_NULL_6D_0 = 0, + // AREA_NULL_6E + ROOM_NULL_6E_0 = 0, + // AREA_6F + ROOM_6F_0 = 0, + // AREA_PALACE_OF_WINDS + ROOM_PALACE_OF_WINDS_GYORG_TORNADO = 0, + ROOM_PALACE_OF_WINDS_BOSS_KEY, + ROOM_PALACE_OF_WINDS_BEFORE_BALL_AND_CHAIN_SOLDIERS, + ROOM_PALACE_OF_WINDS_GYORG_BOSS_DOOR, + ROOM_PALACE_OF_WINDS_EAST_CHEST_FROM_GYORG_BOSS_DOOR, + ROOM_PALACE_OF_WINDS_MOBLIN_AND_WIZZROBE_FIGHT, + ROOM_PALACE_OF_WINDS_FOUR_BUTTON_STALFOS, + ROOM_PALACE_OF_WINDS_FAN_AND_KEY_TO_BOSS_KEY, + ROOM_PALACE_OF_WINDS_BALL_AND_CHAIN_SOLDIERS, + ROOM_PALACE_OF_WINDS_BOMBAROSSA_PATH, + ROOM_PALACE_OF_WINDS_HOLE_TO_DARKNUT, + ROOM_PALACE_OF_WINDS_TO_BOMBAROSSA_PATH, + ROOM_PALACE_OF_WINDS_DARKNUT_MINIBOSS, + ROOM_PALACE_OF_WINDS_BOMB_WALL_INSIDE, + ROOM_PALACE_OF_WINDS_BOMB_WALL_OUTSIDE, + ROOM_PALACE_OF_WINDS_CLOUD_JUMPS, + ROOM_PALACE_OF_WINDS_BLOCK_MAZE_TO_BOSS_DOOR, + ROOM_PALACE_OF_WINDS_CRACKED_FLOOR_LAKITU, + ROOM_PALACE_OF_WINDS_HEART_PIECE_BRIDGE, + ROOM_PALACE_OF_WINDS_FAN_BRIDGE, + ROOM_PALACE_OF_WINDS_TO_FAN_BRIDGE, + ROOM_PALACE_OF_WINDS_RED_WARP_HALL, + ROOM_PALACE_OF_WINDS_PLATFORM_CLONE_RIDE, + ROOM_PALACE_OF_WINDS_PIT_CORNER_AFTER_KEY, + ROOM_PALACE_OF_WINDS_PLATFORM_CROW_RIDE, + ROOM_PALACE_OF_WINDS_GRATE_PLATFORM_RIDE, + ROOM_PALACE_OF_WINDS_POT_PUSH, + ROOM_PALACE_OF_WINDS_FLOORMASTER_LEVER, + ROOM_PALACE_OF_WINDS_MAP, + ROOM_PALACE_OF_WINDS_CORNER_TO_MAP, + ROOM_PALACE_OF_WINDS_STAIRS_AFTER_FLOORMASTER, + ROOM_PALACE_OF_WINDS_HOLE_TO_KINSTONE_WIZZROBE, + ROOM_PALACE_OF_WINDS_KEY_ARROW_BUTTON, + ROOM_PALACE_OF_WINDS_GRATES_TO_3F, + ROOM_PALACE_OF_WINDS_SPINY_FIGHT, + ROOM_PALACE_OF_WINDS_PEAHAT_SWITCH, + ROOM_PALACE_OF_WINDS_WHIRLWIND_BOMBAROSSA, + ROOM_PALACE_OF_WINDS_DOOR_TO_STALFOS_FIREBAR, + ROOM_PALACE_OF_WINDS_STALFOS_FIREBAR_HOLE, + ROOM_PALACE_OF_WINDS_SHORTCUT_DOOR_BUTTONS, + ROOM_PALACE_OF_WINDS_TO_PEAHAT_SWITCH, + ROOM_PALACE_OF_WINDS_KINSTONE_WIZZROBE_FIGHT, + ROOM_PALACE_OF_WINDS_GIBDO_STAIRS, + ROOM_PALACE_OF_WINDS_SPIKE_BAR_SMALL_KEY, + ROOM_PALACE_OF_WINDS_ROC_CAPE, + ROOM_PALACE_OF_WINDS_FIRE_BAR_GRATES, + ROOM_PALACE_OF_WINDS_PLATFORM_RIDE_BOMBAROSSAS, + ROOM_PALACE_OF_WINDS_BRIDGE_AFTER_DARKNUT, + ROOM_PALACE_OF_WINDS_BRIDGE_SWITCHES_CLONE_BLOCK, + ROOM_PALACE_OF_WINDS_ENTRANCE_ROOM, + ROOM_PALACE_OF_WINDS_DARK_COMPASS_HALL, + ROOM_PALACE_OF_WINDS_33, + // AREA_PALACE_OF_WINDS_BOSS + ROOM_PALACE_OF_WINDS_BOSS_0 = 0, + // AREA_NULL_72 + ROOM_NULL_72_0 = 0, + // AREA_NULL_73 + ROOM_NULL_73_0 = 0, + // AREA_NULL_74 + ROOM_NULL_74_0 = 0, + // AREA_NULL_75 + ROOM_NULL_75_0 = 0, + // AREA_NULL_76 + ROOM_NULL_76_0 = 0, + // AREA_77 + ROOM_77_0 = 0, + // AREA_SANCTUARY + ROOM_SANCTUARY_HALL = 0, + ROOM_SANCTUARY_MAIN, + ROOM_SANCTUARY_STAINED_GLASS, + // AREA_NULL_79 + ROOM_NULL_79_0 = 0, + // AREA_NULL_7A + ROOM_NULL_7A_0 = 0, + // AREA_NULL_7B + ROOM_NULL_7B_0 = 0, + // AREA_NULL_7C + ROOM_NULL_7C_0 = 0, + // AREA_NULL_7D + ROOM_NULL_7D_0 = 0, + // AREA_NULL_7E + ROOM_NULL_7E_0 = 0, + // AREA_7F + ROOM_7F_0 = 0, + // AREA_HYRULE_CASTLE + ROOM_HYRULE_CASTLE_0 = 0, + ROOM_HYRULE_CASTLE_1, + ROOM_HYRULE_CASTLE_2, + ROOM_HYRULE_CASTLE_3, + ROOM_HYRULE_CASTLE_4, + ROOM_HYRULE_CASTLE_5, + ROOM_HYRULE_CASTLE_6, + ROOM_HYRULE_CASTLE_7, + // AREA_SANCTUARY_ENTRANCE + ROOM_SANCTUARY_ENTRANCE_MAIN = 0, + // AREA_NULL_82 + ROOM_NULL_82_0 = 0, + // AREA_NULL_83 + ROOM_NULL_83_0 = 0, + // AREA_NULL_84 + ROOM_NULL_84_0 = 0, + // AREA_NULL_85 + ROOM_NULL_85_0 = 0, + // AREA_NULL_86 + ROOM_NULL_86_0 = 0, + // AREA_87 + ROOM_87_0 = 0, + // AREA_DARK_HYRULE_CASTLE + ROOM_DARK_HYRULE_CASTLE_1F_ENTRANCE = 0, + ROOM_DARK_HYRULE_CASTLE_3F_TOP_LEFT_TOWER, + ROOM_DARK_HYRULE_CASTLE_3F_TOP_RIGHT_TOWER, + ROOM_DARK_HYRULE_CASTLE_3F_BOTTOM_LEFT_TOWER, + ROOM_DARK_HYRULE_CASTLE_3F_BOTTOM_RIGHT_TOWER, + ROOM_DARK_HYRULE_CASTLE_3F_KEATON_HALL_TO_VAATI, + ROOM_DARK_HYRULE_CASTLE_3F_TRIPLE_DARKNUT, + ROOM_DARK_HYRULE_CASTLE_2F_TOP_LEFT_TOWER, + ROOM_DARK_HYRULE_CASTLE_2F_TOP_LEFT_CORNER, + ROOM_DARK_HYRULE_CASTLE_2F_BOSS_KEY, + ROOM_DARK_HYRULE_CASTLE_2F_BLUE_WARP, + ROOM_DARK_HYRULE_CASTLE_2F_TOP_RIGHT_CORNER_GHINI, + ROOM_DARK_HYRULE_CASTLE_2F_TOP_RIGHT_CORNER_TORCHES, + ROOM_DARK_HYRULE_CASTLE_2F_TOP_RIGHT_TOWER, + ROOM_DARK_HYRULE_CASTLE_2F_TOP_LEFT_DARKNUT, + ROOM_DARK_HYRULE_CASTLE_2F_SPARKS, + ROOM_DARK_HYRULE_CASTLE_2F_TOP_RIGHT_DARKNUTS, + ROOM_DARK_HYRULE_CASTLE_2F_LEFT, + ROOM_DARK_HYRULE_CASTLE_2F_RIGHT, + ROOM_DARK_HYRULE_CASTLE_2F_BOTTOM_LEFT_DARKNUTS, + ROOM_DARK_HYRULE_CASTLE_2F_BOSS_DOOR, + ROOM_DARK_HYRULE_CASTLE_2F_BOTTOM_RIGHT_DARKNUT, + ROOM_DARK_HYRULE_CASTLE_2F_BOTTOM_LEFT_CORNER_PUZZLE, + ROOM_DARK_HYRULE_CASTLE_2F_ENTRANCE, + ROOM_DARK_HYRULE_CASTLE_2F_BOTTOM_RIGHT_CORNER, + ROOM_DARK_HYRULE_CASTLE_2F_BOTTOM_LEFT_TOWER, + ROOM_DARK_HYRULE_CASTLE_2F_BOTTOM_LEFT_GHINI, + ROOM_DARK_HYRULE_CASTLE_1b, + ROOM_DARK_HYRULE_CASTLE_B1_ENTRANCE, + ROOM_DARK_HYRULE_CASTLE_2F_BOTTOM_RIGHT_TOWER, + ROOM_DARK_HYRULE_CASTLE_1F_TOP_LEFT_TOWER, + ROOM_DARK_HYRULE_CASTLE_1F_THRONE_ROOM, + ROOM_DARK_HYRULE_CASTLE_1F_COMPASS, + ROOM_DARK_HYRULE_CASTLE_1F_TOP_RIGHT_TOWER, + ROOM_DARK_HYRULE_CASTLE_1F_BEFORE_THRONE, + ROOM_DARK_HYRULE_CASTLE_1F_LOOP_TOP_LEFT, + ROOM_DARK_HYRULE_CASTLE_1F_LOOP_TOP, + ROOM_DARK_HYRULE_CASTLE_1F_LOOP_TOP_RIGHT, + ROOM_DARK_HYRULE_CASTLE_1F_LOOP_LEFT, + ROOM_DARK_HYRULE_CASTLE_1F_LOOP_RIGHT, + ROOM_DARK_HYRULE_CASTLE_1F_LOOP_BOTTOM_LEFT, + ROOM_DARK_HYRULE_CASTLE_1F_LOOP_BOTTOM, + ROOM_DARK_HYRULE_CASTLE_1F_LOOP_BOTTOM_RIGHT, + ROOM_DARK_HYRULE_CASTLE_1F_BOTTOM_LEFT_TOWER, + ROOM_DARK_HYRULE_CASTLE_1F_BOTTOM_RIGHT_TOWER, + ROOM_DARK_HYRULE_CASTLE_B1_BELOW_THRONE, + ROOM_DARK_HYRULE_CASTLE_B1_BELOW_COMPASS, + ROOM_DARK_HYRULE_CASTLE_B1_BEFORE_THRONE, + ROOM_DARK_HYRULE_CASTLE_B1_TO_PRISON, + ROOM_DARK_HYRULE_CASTLE_B1_BOMB_WALL, + ROOM_DARK_HYRULE_CASTLE_B1_KEATONS, + ROOM_DARK_HYRULE_CASTLE_B1_TO_PRISON_FIREBAR, + ROOM_DARK_HYRULE_CASTLE_B1_CANNONS, + ROOM_DARK_HYRULE_CASTLE_B1_LEFT, + ROOM_DARK_HYRULE_CASTLE_B1_RIGHT, + ROOM_DARK_HYRULE_CASTLE_B1_MAP, + ROOM_DARK_HYRULE_CASTLE_B2_TO_PRISON, + ROOM_DARK_HYRULE_CASTLE_B2_PRISON, + ROOM_DARK_HYRULE_CASTLE_B2_DROPDOWN, + ROOM_DARK_HYRULE_CASTLE_3b, + ROOM_DARK_HYRULE_CASTLE_3c, + ROOM_DARK_HYRULE_CASTLE_3d, + ROOM_DARK_HYRULE_CASTLE_3e, + ROOM_DARK_HYRULE_CASTLE_3f, + // AREA_DARK_HYRULE_CASTLE_OUTSIDE + ROOM_DARK_HYRULE_CASTLE_OUTSIDE_ZELDA_STATUE_PLATFORM = 0, + ROOM_DARK_HYRULE_CASTLE_OUTSIDE_GARDEN, + ROOM_DARK_HYRULE_CASTLE_OUTSIDE_NORTHWEST, + ROOM_DARK_HYRULE_CASTLE_OUTSIDE_NORTHEAST, + ROOM_DARK_HYRULE_CASTLE_OUTSIDE_EAST, + ROOM_DARK_HYRULE_CASTLE_OUTSIDE_SOUTHWEST, + ROOM_DARK_HYRULE_CASTLE_OUTSIDE_SOUTH, + ROOM_DARK_HYRULE_CASTLE_OUTSIDE_SOUTHEAST, + // AREA_VAATIS_ARMS + ROOM_VAATIS_ARMS_FIRST = 0, + ROOM_VAATIS_ARMS_SECOND, + // AREA_VAATI_3 + ROOM_VAATI_3_0 = 0, + // AREA_VAATI_2 + ROOM_VAATI_2_0 = 0, + // AREA_DARK_HYRULE_CASTLE_BRIDGE + ROOM_DARK_HYRULE_CASTLE_BRIDGE_MAIN = 0, + // AREA_NULL_8E + ROOM_NULL_8E_0 = 0, + // AREA_8F + ROOM_8F_0 = 0, +} RoomID; + +#endif // TMC_ROOMID_H diff --git a/include/structures.h b/include/structures.h index 12d15690..00e83b72 100644 --- a/include/structures.h +++ b/include/structures.h @@ -222,15 +222,19 @@ extern struct { static_assert(sizeof(gUnk_02034490) == 0x18); typedef struct { - u8 unk0; + u8 unk00 : 1; + u8 unk01 : 3; + u8 unk04 : 4; u8 unk1; - u8 unk2; - u8 unk3; + u8 charColor; + u8 bgColor; u16 unk4; u16 unk6; void* unk8; } WStruct; +static_assert(sizeof(WStruct) == 12); + typedef struct { u8 unk0; u8 unk1; @@ -296,4 +300,22 @@ typedef struct { extern SpritePtr gSpritePtrs[]; +typedef struct { + u16* dest; + void* gfx_dest; + void* buffer_loc; + u32 _c; + u16 gfx_src; + u8 width; + u8 right_align : 1; + u8 sm_border : 1; + u8 unused : 1; + u8 draw_border : 1; + u8 border_type : 4; + u8 fill_type; + u8 _15; + u8 _16; + u8 stylized; +} Font; + #endif diff --git a/include/transitions.h b/include/transitions.h new file mode 100644 index 00000000..0d536e5a --- /dev/null +++ b/include/transitions.h @@ -0,0 +1,54 @@ +#ifndef TMC_TRANSITIONS_H +#define TMC_TRANSITIONS_H +#include "global.h" +#include "roomid.h" + +typedef enum { + WARP_TYPE_BORDER, + WARP_TYPE_AREA, + WARP_TYPE_END_OF_LIST = -1, +} WarpType; + +typedef enum { + TRANSITION_TYPE_NORMAL, + TRANSITION_TYPE_INSTANT_MINISH, + TRANSITION_TYPE_DROP_IN, + TRANSITION_TYPE_INSTANT, + TRANSITION_TYPE_STEP_FORWARD, + TRANSITION_TYPE_5, + TRANSITION_TYPE_DROP_IN_MINISH, + TRANSITION_TYPE_STAIR_EXIT, + TRANSITION_TYPE_8, + TRANSITION_TYPE_9, + TRANSITION_TYPE_HOP_IN_FORWARD, + TRANSITION_TYPE_HOP_IN, + TRANSITION_TYPE_FLY_IN, +} TransitionType; + +typedef struct Transition { + WarpType warp_type : 8; + u8 subtype; + u16 startX; + u16 startY; + u16 endX; + u16 endY; + u8 shape; + u8 area; + RoomID room : 8; + u8 height; + TransitionType transition_type : 8; + u8 facing_direction; // 0-4 + u8 unk0; + u8 unk1; + u8 unk2; + u8 unk3; +} Transition; + +extern const Transition gExitList_RoyalValley_ForestMaze[]; +extern const Transition gUnk_08134FBC[]; +extern const Transition gUnk_08135048[]; +extern const Transition gUnk_08135190[]; +extern const Transition gUnk_0813A76C[]; +extern const Transition* const* const gExitLists[]; + +#endif // TMC_TRANSITIONS_H diff --git a/linker.ld b/linker.ld index 3d1852ad..d9790a4b 100644 --- a/linker.ld +++ b/linker.ld @@ -381,7 +381,7 @@ SECTIONS { src/enemy/mazaalMacro.o(.text); src/enemy/mazaalHand.o(.text); src/enemy/octorokBoss.o(.text); - asm/enemy/flyingPot.o(.text); + src/enemy/flyingPot.o(.text); src/enemy/gibdo.o(.text); src/enemy/octorokGolden.o(.text); src/enemy/tektiteGolden.o(.text); @@ -428,7 +428,7 @@ SECTIONS { src/enemy/enemy66.o(.text); /* END enemies */ src/code_08049CD4.o(.text); /* enemyUtils.c */ - asm/code_08049D30.o(.text); + src/code_08049DF4.o(.text); src/enemyUtils.o(.text); src/createEnemy.o(.text); src/enterPortalSubtask.o(.text); @@ -501,7 +501,6 @@ SECTIONS { src/manager/manager39.o(.text); src/entity.o(.text); src/code_0805EC04.o(.text); /* objaffine? */ - asm/text.o(.text); src/text.o(.text); src/debug.o(.text); src/playerItem/playerItem14.o(.text); @@ -711,7 +710,6 @@ SECTIONS { src/object/object53.o(.text); src/object/pullableLever.o(.text); src/object/minecart.o(.text); - asm/object/minecart.o(.text); src/object/thoughtBubble.o(.text); src/object/hiddenLadderDown.o(.text); src/object/gentariCurtains.o(.text); @@ -721,7 +719,7 @@ SECTIONS { src/object/mask.o(.text); src/object/houseDoorInterior.o(.text); src/object/whirlwind.o(.text); - asm/object/objectBlockingStairs.o(.text); + src/object/objectBlockingStairs.o(.text); src/object/swordsmanNewsletter.o(.text); src/object/object61.o(.text); src/object/giantTwig.o(.text); @@ -751,7 +749,7 @@ SECTIONS { src/object/macroShoes.o(.text); src/object/objectOnSpinyBeetle.o(.text); src/object/object7E.o(.text); - asm/object/picoBloom.o(.text); + src/object/picoBloom.o(.text); src/object/board.o(.text); src/object/object81.o(.text); src/object/bigVortex.o(.text); @@ -761,7 +759,7 @@ SECTIONS { src/object/object86.o(.text); src/object/octorokBossObject.o(.text); src/object/macroBook.o(.text); - asm/object/mazaalBossObject.o(.text); + src/object/mazaalBossObject.o(.text); src/object/cabinFurniture.o(.text); src/object/doubleBookshelf.o(.text); src/object/book.o(.text); @@ -774,11 +772,10 @@ SECTIONS { src/object/lamp.o(.text); src/object/windTribeFlag.o(.text); src/object/bird.o(.text); - asm/object/bird.o(.text); - asm/object/object96.o(.text); + src/object/object96.o(.text); src/object/keyStealingTakkuri.o(.text); - asm/object/object98.o(.text); - asm/object/object99.o(.text); + src/object/object98.o(.text); + src/object/object99.o(.text); src/object/macroAcorn.o(.text); src/object/object9B.o(.text); src/object/treeHidingPortal.o(.text); @@ -790,27 +787,27 @@ SECTIONS { src/object/objectA2.o(.text); src/object/cloud.o(.text); src/object/minishLight.o(.text); - asm/object/fireballChain.o(.text); - asm/object/objectA6.o(.text); + src/object/fireballChain.o(.text); + src/object/objectA6.o(.text); src/object/objectA7.o(.text); src/object/objectA8.o(.text); - asm/object/objectA9.o(.text); + src/object/objectA9.o(.text); src/object/waterfallOpening.o(.text); - asm/object/objectAB.o(.text); + src/object/objectAB.o(.text); src/object/fourElements.o(.text); - asm/object/objectAD.o(.text); + src/object/objectAD.o(.text); src/object/floatingBlock.o(.text); src/object/objectAF.o(.text); src/object/metalDoor.o(.text); src/object/jailBars.o(.text); src/object/objectB2.o(.text); src/object/objectB3.o(.text); - asm/object/objectB4.o(.text); + src/object/objectB4.o(.text); src/object/objectB5.o(.text); src/object/objectB6.o(.text); src/object/well.o(.text); src/object/windTribeTeleporter.o(.text); - asm/object/objectB9.o(.text); + src/object/cuccoMinigame.o(.text); src/object/gyorgBossObject.o(.text); src/object/windcrest.o(.text); src/object/litArea.o(.text); @@ -827,7 +824,7 @@ SECTIONS { src/demo.o(.text); #endif src/sound.o(.text); - asm/staffroll.o(.text); + src/staffroll.o(.text); src/menu/kinstone_menu.o(.text); src/menu/figurine_menu.o(.text); src/menu/pause_menu.o(.text); @@ -998,7 +995,7 @@ SECTIONS { data/const/enemy/rope.o(.rodata); data/animations/enemy/rope.o(.rodata); data/const/enemy/smallPesto.o(.rodata); - data/const/enemy/acroBandits.o(.rodata); + src/enemy/acroBandits.o(.rodata); data/animations/enemy/acroBandits.o(.rodata); data/const/enemy/keaton.o(.rodata); data/animations/enemy/keaton.o(.rodata); @@ -1020,7 +1017,7 @@ SECTIONS { data/animations/enemy/mazaalHand.o(.rodata); src/enemy/octorokBoss.o(.rodata); data/animations/enemy/octorokBoss.o(.rodata); - data/const/enemy/flyingPot.o(.rodata); + src/enemy/flyingPot.o(.rodata); src/enemy/gibdo.o(.rodata); data/animations/enemy/gibdo.o(.rodata); src/enemy/octorokGolden.o(.rodata); @@ -1332,6 +1329,7 @@ SECTIONS { src/flags.o(.rodata); src/save.o(.rodata); src/script.o(.rodata); + src/scroll.o(.rodata); data/data_0811E750.o(.rodata); data/const/object/itemOnGround.o(.rodata); src/object/deathFx.o(.rodata); @@ -1446,7 +1444,7 @@ SECTIONS { src/object/object53.o(.rodata); src/object/pullableLever.o(.rodata); data/animations/object/pullableLever.o(.rodata); - data/const/object/minecart.o(.rodata); + src/object/minecart.o(.rodata); data/animations/object/minecart.o(.rodata); data/const/object/thoughtBubble.o(.rodata); data/animations/object/thoughtBubble.o(.rodata); @@ -1461,7 +1459,7 @@ SECTIONS { src/object/houseDoorInterior.o(.rodata); src/object/whirlwind.o(.rodata); data/animations/object/whirlwind.o(.rodata); - data/const/object/objectBlockingStairs.o(.rodata); + src/object/objectBlockingStairs.o(.rodata); data/const/object/swordsmanNewsletter.o(.rodata); src/object/object61.o(.rodata); src/object/giantTwig.o(.rodata); @@ -1494,7 +1492,7 @@ SECTIONS { data/animations/object/pushableLever.o(.rodata); src/object/macroShoes.o(.rodata); src/object/objectOnSpinyBeetle.o(.rodata); - data/const/object/picoBloom.o(.rodata); + src/object/picoBloom.o(.rodata); data/animations/object/picoBloom.o(.rodata); src/object/board.o(.rodata); src/object/object81.o(.rodata); @@ -1511,7 +1509,7 @@ SECTIONS { src/object/octorokBossObject.o(.rodata); src/object/macroBook.o(.rodata); data/animations/object/macroBook.o(.rodata); - data/const/object/mazaalBossObject.o(.rodata); + src/object/mazaalBossObject.o(.rodata); src/object/cabinFurniture.o(.rodata); src/object/doubleBookshelf.o(.rodata); src/object/book.o(.rodata); @@ -1524,11 +1522,11 @@ SECTIONS { data/animations/object/bakerOven.o(.rodata); src/object/lamp.o(.rodata); data/animations/object/lamp.o(.rodata); - data/const/object/bird.o(.rodata); + src/object/bird.o(.rodata); data/animations/object/bird.o(.rodata); - data/const/object/object96.o(.rodata); + src/object/object96.o(.rodata); src/object/keyStealingTakkuri.o(.rodata); - data/const/object/object98.o(.rodata); + src/object/object98.o(.rodata); data/animations/object/object98.o(.rodata); src/object/macroAcorn.o(.rodata); src/object/object9B.o(.rodata); @@ -1544,15 +1542,15 @@ SECTIONS { data/animations/object/objectA2.o(.rodata); data/const/object/cloud.o(.rodata); data/const/object/minishLight.o(.rodata); - data/const/object/objectA6.o(.rodata); + src/object/objectA6.o(.rodata); data/animations/object/objectA6.o(.rodata); src/object/objectA8.o(.rodata); - data/const/object/objectA9.o(.rodata); + src/object/objectA9.o(.rodata); src/object/waterfallOpening.o(.rodata); - data/const/object/objectAB.o(.rodata); + src/object/objectAB.o(.rodata); data/animations/object/objectAB.o(.rodata); src/object/fourElements.o(.rodata); - data/const/object/objectAD.o(.rodata); + src/object/objectAD.o(.rodata); data/const/object/objectAF.o(.rodata); data/animations/object/objectAF.o(.rodata); data/const/object/metalDoor.o(.rodata); @@ -1561,11 +1559,11 @@ SECTIONS { data/animations/object/objectB2.o(.rodata); src/object/objectB3.o(.rodata); data/animations/object/objectB3.o(.rodata); - data/const/object/objectB4.o(.rodata); + src/object/objectB4.o(.rodata); data/animations/object/objectB4.o(.rodata); data/const/object/well.o(.rodata); src/object/windTribeTeleporter.o(.rodata); - data/const/object/objectB9.o(.rodata); + src/object/cuccoMinigame.o(.rodata); src/object/gyorgBossObject.o(.rodata); data/const/object/windcrest.o(.rodata); src/object/objectBD.o(.rodata); @@ -1580,6 +1578,7 @@ SECTIONS { #ifdef DEMO_USA data/const/demo.o(.rodata); #endif + src/staffroll.o(.rodata); data/data_08127280.o(.rodata); src/menu/kinstone_menu.o(.rodata); src/menu/figurine_menu.o(.rodata); @@ -1656,7 +1655,7 @@ SECTIONS { data/gfx/fixed_type_gfx.o(.rodata); data/const/movement.o(.rodata); src/movement.o(.rodata); - data/map/exit_lists.o(.rodata); + src/data/transitions.o(.rodata); data/gfx_0813AA54.o(.rodata); data/gfx/sprite_gfx.o(.rodata); data/gfx/frame_obj_lists.o(.rodata); diff --git a/src/code_08049CD4.c b/src/code_08049CD4.c index a773306d..c98323d1 100644 --- a/src/code_08049CD4.c +++ b/src/code_08049CD4.c @@ -1,25 +1,76 @@ +#define NENT_DEPRECATED #include "global.h" - -extern u32* gUnk_020354B0; -extern u32 gRoomMemory; +#include "room.h" extern void MemFill32(u32, void*, u32); +void sub_08049DCC(RoomMemory*); +RoomMemory* sub_08049D88(void); + void ClearRoomMemory(void) { - MemFill32(0xFFFFFFFF, &gRoomMemory, 0x40); - gUnk_020354B0 = &gRoomMemory; + MemFill32(0xFFFFFFFF, gRoomMemory, 0x40); + gUnk_020354B0 = gRoomMemory; } -void sub_08049CF4(u8* arg0) { - u8 field_0x6c = *(arg0 + 0x6c); +void sub_08049CF4(GenericEntity* ent) { + u8 field_0x6c = ent->field_0x6c.HALF.LO; if (field_0x6c & 0x80) { - *(gUnk_020354B0 + 1) |= 1 << (field_0x6c & 0x1f); + gUnk_020354B0->unk_04 |= 1 << (field_0x6c & 0x1f); } } u32 sub_08049D1C(u32 arg0) { - u32 bitmask = *(gUnk_020354B0 + 1) >> arg0; + u32 bitmask = gUnk_020354B0->unk_04 >> arg0; u32 output = 1; output &= ~bitmask; return output; } + +void UpdateRoomTracker(void) { + gUnk_020354B0 = gRoomMemory; + + do { + if (gUnk_020354B0->area == gRoomControls.area && gUnk_020354B0->room == gRoomControls.room) { + sub_08049DCC(gUnk_020354B0); + return; + } + gUnk_020354B0++; + + } while (gUnk_020354B0 < gRoomMemory + 8); + gUnk_020354B0 = sub_08049D88(); +} + +RoomMemory* sub_08049D88(void) { + RoomMemory* rm = gRoomMemory; + RoomMemory* r1 = rm + 1; + + do { + if (r1->unk_02 > rm->unk_02) { + rm = r1; + } + r1++; + } while (r1 < gRoomMemory + 8); + + rm->area = gRoomControls.area; + rm->room = gRoomControls.room; + + rm->unk_02 = 0xFFFF; + rm->unk_04 = 0; + + sub_08049DCC(rm); + + return rm; +} + +void sub_08049DCC(RoomMemory* rm) { + RoomMemory* r1 = gRoomMemory; + + do { + if (r1->unk_02 < rm->unk_02) { + r1->unk_02++; + } + r1++; + } while (r1 < gRoomMemory + 8); + + rm->unk_02 = 0; +} diff --git a/src/code_08049DF4.c b/src/code_08049DF4.c new file mode 100644 index 00000000..06b77524 --- /dev/null +++ b/src/code_08049DF4.c @@ -0,0 +1,324 @@ +#define NENT_DEPRECATED +#include "asm.h" +#include "global.h" +#include "entity.h" +#include "functions.h" +#include "map.h" +#include "player.h" +#include "room.h" + +extern Entity* gUnk_020000B0; +extern Entity* (*const gUnk_080D3BE8[])(void); + +extern void ReplaceMonitoredEntity(Entity*, Entity*); + +Entity* sub_08049DF4(u32 arg0) { + if (gUnk_020000B0 != NULL) { + return gUnk_020000B0; + } + return gUnk_080D3BE8[arg0](); +} + +Entity* sub_08049E18(void) { + if ((gPlayerState.field_0x3c[0] == 0) && !(gPlayerState.flags & 0x22189b75)) { + gUnk_020000B0 = &gPlayerEntity; + return &gPlayerEntity; + } + return NULL; +} + +Entity* sub_08049E4C(void) { + if ((gPlayerState.field_0x3c[0] == 0) && !(gPlayerState.flags & 0x22189bf5)) { + gUnk_020000B0 = &gPlayerEntity; + return &gPlayerEntity; + } + return NULL; +} + +Entity* sub_08049E80(void) { + if ((gPlayerState.field_0x3c[0] != 0) || !(gPlayerState.flags & 0x80)) { + return NULL; + } + gUnk_020000B0 = &gPlayerEntity; + return &gPlayerEntity; +} + +Entity* sub_08049EB0(void) { + if ((gPlayerState.field_0x3c[0] == 0) && !(gPlayerState.flags & 0x80190)) { + gUnk_020000B0 = &gPlayerEntity; + return &gPlayerEntity; + } + return NULL; +} + +u32 sub_08049EE4(Entity* ent) { + GenericEntity* genEnt = (GenericEntity*)ent; + u16 tempLO = genEnt->field_0x70.HALF.LO + 4 * genEnt->field_0x6e.HALF.LO; + u16 tempHI = genEnt->field_0x70.HALF.HI + 4 * genEnt->field_0x6e.HALF.HI; + + return CalculateDirectionTo(genEnt->base.x.HALF.HI, genEnt->base.y.HALF.HI, tempLO, tempHI); +} + +bool32 sub_08049F1C(Entity* entA, Entity* entB, s32 maxDist) { + if ((entA->collisionLayer & entB->collisionLayer) != 0) { + s32 xDiff = entB->x.HALF.HI - entA->x.HALF.HI; + s32 yDiff = entB->y.HALF.HI - entA->y.HALF.HI; + s32 maxDistSq = maxDist * maxDist; + s32 distSq = xDiff * xDiff + yDiff * yDiff; + + if (maxDistSq >= distSq) { + return TRUE; + } + } + return FALSE; +} + +bool32 PlayerInRange(Entity* ent, u32 arg1, s32 maxDist) { + Entity* tempEnt = sub_08049DF4(arg1); + if (tempEnt == NULL) { + return FALSE; + } else { + return sub_08049F1C(ent, tempEnt, maxDist); + } +} + +u32 sub_08049F84(Entity* ent, s32 arg2) { + Entity* target = sub_08049DF4(arg2); + + if (target == NULL) { + return 0xFF; + } else { + return GetFacingDirection(ent, target); + } +} + +bool32 sub_08049FA0(Entity* ent) { + GenericEntity* genEnt = (GenericEntity*)ent; + u32 temp = 8 * genEnt->field_0x6e.HALF.LO; + + if (temp >= genEnt->base.x.HALF.HI - genEnt->field_0x70.HALF_U.LO) { + temp = 8 * genEnt->field_0x6e.HALF.HI; + if (temp >= genEnt->base.y.HALF.HI - genEnt->field_0x70.HALF_U.HI) { + return TRUE; + } + } + return FALSE; +} + +bool32 sub_08049FDC(Entity* ent, u32 arg1) { + u32 temp; + GenericEntity* genEnt = (GenericEntity*)ent; + GenericEntity* tempEnt = (GenericEntity*)sub_08049DF4(arg1); + + if (tempEnt != NULL) { + temp = 8 * genEnt->field_0x6e.HALF.LO; + if (temp >= tempEnt->base.x.HALF.HI - genEnt->field_0x70.HALF_U.LO) { + temp = 8 * genEnt->field_0x6e.HALF.HI; + if (temp >= tempEnt->base.y.HALF.HI - genEnt->field_0x70.HALF_U.HI) { + return TRUE; + } + } + } + return FALSE; +} + +u32 sub_0804A024(Entity* ent, u32 arg1, u32 arg2) { + Entity* tempEnt = sub_08049DF4(arg1); + if (tempEnt == NULL) { + return 0xFF; + } else { + return sub_0804A044(ent, tempEnt, arg2); + } +} + +u32 sub_0804A168(Entity*, Entity*, LayerStruct*); +u32 sub_0804A318(Entity*, Entity*, LayerStruct*); + +u32 sub_0804A044(Entity* entA, Entity* entB, u32 arg2) { + LayerStruct* layer; + s32 ret; + s32 yDiff; + s32 xDiff; + s32 flags; + + if ((entB->collisionLayer & entA->collisionLayer) != 0) { + flags = 0; + xDiff = entB->x.HALF.HI + entB->hitbox->offset_x - entA->x.HALF.HI - entA->hitbox->offset_x; + + if (arg2 >= xDiff + (arg2 >> 1)) { + flags |= 1; + } + if (arg2 << 1 >= xDiff + arg2) { + flags |= 2; + } + + yDiff = entB->y.HALF.HI + entB->hitbox->offset_y - entA->y.HALF.HI - entA->hitbox->offset_y; + if (arg2 >= yDiff + (arg2 >> 1)) { + flags |= 4; + } + if (arg2 << 1 >= yDiff + arg2) { + flags |= 8; + } + + //! @bug flags & 5 can never equal 0xA + if (flags && ((flags & 5) != 0xA)) { + layer = GetLayerByIndex(entA->collisionLayer); + if (xDiff < 0) { + xDiff = -xDiff; + } + if (yDiff < 0) { + yDiff = -yDiff; + } + if (xDiff < yDiff) { + if (flags & 1) { + ret = sub_0804A168(entA, entB, layer); + if (ret != 0xFF) { + return ret; + } + } + if (!(flags & 4)) { + return 0xFF; + } + ret = sub_0804A318(entA, entB, layer); + } else { + if (flags & 4) { + ret = sub_0804A318(entA, entB, layer); + if (ret != 0xFF) { + return ret; + } + } + if (!(flags & 1)) { + return 0xFF; + } + ret = sub_0804A168(entA, entB, layer); + } + if (ret != 0xFF) { + return ret; + } + } + } + return 0xFF; +} + +bool32 sub_0804A4BC(u8* arg0, u8* arg1, s32 arg2, u32 arg3); + +u32 sub_0804A168(Entity* entA, Entity* entB, LayerStruct* layer) { + u32 uVar2; + u32 uVar3; + u32 tile1; + u32 tile2; + + if (entB->y.HALF.HI > entA->y.HALF.HI) { + uVar2 = entA->x.HALF.HI - 4; + uVar3 = ((uVar2 & 0xF) < 8) ? 10 : 5; + tile1 = TILE(uVar2, entA->y.HALF.HI + 10); + tile2 = TILE(uVar2, entB->y.HALF.HI); + + if (sub_0804A4BC(&layer->collisionData[tile1], &layer->collisionData[tile2], 0x40, uVar3)) { + uVar2 = entA->x.HALF.HI + 4; + uVar3 ^= 0xF; + tile1 = TILE(uVar2, entA->y.HALF.HI + 10); + tile2 = TILE(uVar2, entB->y.HALF.HI); + + if (sub_0804A4BC(&layer->collisionData[tile1], &layer->collisionData[tile2], 0x40, uVar3)) { + return 0x10; + } + } + } else { + uVar2 = entA->x.HALF.HI - 4; + uVar3 = ((uVar2 & 0xF) < 8) ? 10 : 5; + tile1 = TILE(uVar2, entA->y.HALF.HI - 10); + tile2 = TILE(uVar2, entB->y.HALF.HI); + + if (sub_0804A4BC(&layer->collisionData[tile1], &layer->collisionData[tile2], -0x40, uVar3)) { + uVar2 = entA->x.HALF.HI + 4; + uVar3 ^= 0xF; + tile1 = TILE(uVar2, entA->y.HALF.HI - 10); + tile2 = TILE(uVar2, entB->y.HALF.HI); + + if (sub_0804A4BC(&layer->collisionData[tile1], &layer->collisionData[tile2], -0x40, uVar3)) { + return 0; + } + } + } + return 0xFF; +} + +u32 sub_0804A318(Entity* entA, Entity* entB, LayerStruct* layer) { + u32 uVar2; + u32 uVar3; + u32 tile1; + u32 tile2; + + if (entB->x.HALF.HI > entA->x.HALF.HI) { + uVar2 = entA->y.HALF.HI - 4; + uVar3 = ((uVar2 & 0xF) < 8) ? 0xC : 3; + tile1 = TILE(entA->x.HALF.HI + 10, uVar2); + tile2 = TILE(entB->x.HALF.HI, uVar2); + + if (sub_0804A4BC(&layer->collisionData[tile1], &layer->collisionData[tile2], 1, uVar3)) { + uVar2 = entA->y.HALF.HI + 4; + uVar3 ^= 0xF; + tile1 = TILE(entA->x.HALF.HI + 10, uVar2); + tile2 = TILE(entB->x.HALF.HI, uVar2); + + if (sub_0804A4BC(&layer->collisionData[tile1], &layer->collisionData[tile2], 1, uVar3)) { + return 8; + } + } + } else { + uVar2 = entA->y.HALF.HI - 4; + uVar3 = ((uVar2 & 0xF) < 8) ? 0xC : 3; + tile1 = TILE(entA->x.HALF.HI - 10, uVar2); + tile2 = TILE(entB->x.HALF.HI, uVar2); + + if (sub_0804A4BC(&layer->collisionData[tile1], &layer->collisionData[tile2], -1, uVar3)) { + uVar2 = entA->y.HALF.HI + 4; + uVar3 ^= 0xF; + tile1 = TILE(entA->x.HALF.HI - 10, uVar2); + tile2 = TILE(entB->x.HALF.HI, uVar2); + if (sub_0804A4BC(&layer->collisionData[tile1], &layer->collisionData[tile2], -1, uVar3)) { + return 0x18; + } + } + } + return 0xFF; +} + +bool32 sub_0804A4BC(u8* arg0, u8* arg1, s32 arg2, u32 arg3) { + while (arg0 != arg1) { + u8 r0 = *arg0; + + if (r0 != 0) { + if (r0 > 0xF) { + return FALSE; + } + + r0 &= arg3; + if (r0 != 0) { + return FALSE; + } + } + arg0 += arg2; + } + + return TRUE; +} + +void sub_0804A4E4(Entity* entA, Entity* entB) { + GenericEntity* r5 = (GenericEntity*)entA; + GenericEntity* r6 = (GenericEntity*)entB; + + r6->field_0x6c.HALF.HI = (r5->field_0x6c.HALF.HI & 0x40) | 4; + r6->field_0x6c.HALF.LO = r5->field_0x6c.HALF.LO; + r6->field_0x70.HALF.LO = r5->field_0x70.HALF.LO; + r6->field_0x70.HALF.HI = r5->field_0x70.HALF.HI; + r6->field_0x6e.HALF.LO = r5->field_0x6e.HALF.LO; + r6->field_0x6e.HALF.HI = r5->field_0x6e.HALF.HI; + + CopyPositionAndSpriteOffset(&r5->base, &r6->base); + + if (r5->field_0x6c.HALF.HI & 0x40) { + ReplaceMonitoredEntity(&r5->base, &r6->base); + } +} diff --git a/src/collision.c b/src/collision.c index 52bd8d27..6c4f9a5b 100644 --- a/src/collision.c +++ b/src/collision.c @@ -61,7 +61,7 @@ void CollisionMain(void) { prio = gPriorityHandler.ent_priority; // if any priority is set, dont do collision - if (prio) + if (prio != 0) return; doCollision = &ram_CollideAll; diff --git a/src/coord.c b/src/coord.c index 629f700a..98f3f65e 100644 --- a/src/coord.c +++ b/src/coord.c @@ -1,6 +1,8 @@ +#define NENT_DEPRECATED #include "asm.h" #include "area.h" #include "player.h" +#include "new_player.h" #include "coord.h" #include "common.h" #include "sound.h" @@ -38,7 +40,7 @@ void sub_0806F38C(void) { u32 sub_0806F39C(Entity* ent) { s32 dist; - if (gPlayerEntity.animationState & 2) { + if (gNewPlayerEntity.base.animationState & 2) { dist = ent->x.HALF.HI - gPlayerEntity.x.HALF.HI; } else { dist = ent->y.HALF.HI - gPlayerEntity.y.HALF.HI; @@ -55,7 +57,7 @@ u32 sub_0806F39C(Entity* ent) { } bool32 sub_0806F3E4(Entity* ent) { - Entity tmp_ent; + GenericEntity tmp_ent; s8* p; if ((gPlayerState.field_0x1c & 0x7F) != 1) @@ -74,15 +76,15 @@ bool32 sub_0806F3E4(Entity* ent) { if (ent->knockbackSpeed > 0x500) ent->knockbackSpeed = 0x500; p = &gUnk_08126EE4[gPlayerEntity.animationState & 0xE]; - tmp_ent.x.HALF.HI = p[0] + gPlayerEntity.x.HALF.HI; - tmp_ent.y.HALF.HI = p[1] + gPlayerEntity.y.HALF.HI; - LinearMoveDirection(ent, ent->knockbackSpeed, GetFacingDirection(ent, &tmp_ent)); - if (sub_0800419C(&tmp_ent, ent, 4, 4)) { + tmp_ent.base.x.HALF.HI = p[0] + gPlayerEntity.x.HALF.HI; + tmp_ent.base.y.HALF.HI = p[1] + gPlayerEntity.y.HALF.HI; + LinearMoveDirection(ent, ent->knockbackSpeed, GetFacingDirection(ent, &tmp_ent.base)); + if (sub_0800419C(&tmp_ent.base, ent, 4, 4)) { u32 state = ent->field_0x1c & 0xF; if (state == 2) { Entity* item; ent->subAction = 3; - (Entity*)gPlayerEntity.field_0x70.WORD = ent; + gNewPlayerEntity.unk_70 = ent; gPlayerState.field_0x1c = 7; item = CreatePlayerItem(0x11, 0, 0, 0); if (item != NULL) { @@ -116,7 +118,7 @@ void sub_0806F4E8(Entity* ent) { } } -u32 sub_0806F520(Entity* ent) { +bool32 sub_0806F520(Entity* ent) { if (ent->bitfield == 0x93) return 1; ent->field_0x3a &= ~4; @@ -336,38 +338,38 @@ void SortEntityBelow(Entity* above_ent, Entity* below_ent) { below_ent->spritePriority.b0 = gSpriteSortBelowTable[above_ent->spritePriority.b0]; } -void sub_0806FB00(Entity* ent, u32 param_1, u32 param_2, u32 param_3) { +void sub_0806FB00(GenericEntity* ent, u32 param_1, u32 param_2, u32 param_3) { if (param_3 == 0) { param_3 = 1; } ent->field_0x7c.BYTES.byte2 = 0; ent->field_0x7c.BYTES.byte3 = param_3; - ent->field_0x80.HWORD = ent->x.HALF.HI; - ent->field_0x82.HWORD = ent->y.HALF.HI; + ent->field_0x80.HWORD = ent->base.x.HALF.HI; + ent->field_0x82.HWORD = ent->base.y.HALF.HI; ent->cutsceneBeh.HWORD = param_1; ent->field_0x86.HWORD = param_2; } -bool32 sub_0806FB38(Entity* ent) { +bool32 sub_0806FB38(GenericEntity* ent) { s32 val; u32 rv; if (ent->field_0x7c.BYTES.byte2 < ent->field_0x7c.BYTES.byte3) { ent->field_0x7c.BYTES.byte2++; - ent->x.HALF.HI = + ent->base.x.HALF.HI = ((((((s16)ent->cutsceneBeh.HWORD - (s16)ent->field_0x80.HWORD) * ent->field_0x7c.BYTES.byte2) << 8) / ent->field_0x7c.BYTES.byte3) >> 8) + ent->field_0x80.HWORD; - ent->y.HALF.HI = + ent->base.y.HALF.HI = (((((((s16)ent->field_0x86.HWORD - (s16)ent->field_0x82.HWORD) * ent->field_0x7c.BYTES.byte2) << 8) / ent->field_0x7c.BYTES.byte3) >> 8)) + ent->field_0x82.HWORD; rv = 0; } else { - ent->x.HALF.HI = ent->cutsceneBeh.HWORD; - ent->y.HALF.HI = ent->field_0x86.HWORD; + ent->base.x.HALF.HI = ent->cutsceneBeh.HWORD; + ent->base.y.HALF.HI = ent->field_0x86.HWORD; rv = 1; } return rv; diff --git a/src/data/transitions.c b/src/data/transitions.c new file mode 100644 index 00000000..5787352d --- /dev/null +++ b/src/data/transitions.c @@ -0,0 +1,3958 @@ +#include "transitions.h" +#include "area.h" +#include "roomid.h" + +// clang-format off + +// this terminates a list of Transitions +#define TransitionListEnd { WARP_TYPE_END_OF_LIST, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } + +const Transition gExitList_NoExitList[] = { TransitionListEnd }; +const Transition* const gExitLists_NoExit[] = { + gExitList_NoExitList, gExitList_NoExitList, gExitList_NoExitList, gExitList_NoExitList, gExitList_NoExitList, + gExitList_NoExitList, gExitList_NoExitList, gExitList_NoExitList, gExitList_NoExitList, gExitList_NoExitList, + gExitList_NoExitList, gExitList_NoExitList, gExitList_NoExitList, gExitList_NoExitList, gExitList_NoExitList, + gExitList_NoExitList, gExitList_NoExitList, gExitList_NoExitList, gExitList_NoExitList, gExitList_NoExitList, + gExitList_NoExitList, gExitList_NoExitList, gExitList_NoExitList, gExitList_NoExitList, gExitList_NoExitList, + gExitList_NoExitList, gExitList_NoExitList, gExitList_NoExitList, gExitList_NoExitList, gExitList_NoExitList, + gExitList_NoExitList, gExitList_NoExitList, gExitList_NoExitList, gExitList_NoExitList, gExitList_NoExitList, + gExitList_NoExitList, gExitList_NoExitList, gExitList_NoExitList, gExitList_NoExitList, gExitList_NoExitList, + gExitList_NoExitList, gExitList_NoExitList, gExitList_NoExitList, gExitList_NoExitList, gExitList_NoExitList, + gExitList_NoExitList, gExitList_NoExitList, gExitList_NoExitList, gExitList_NoExitList, gExitList_NoExitList, + gExitList_NoExitList, gExitList_NoExitList, gExitList_NoExitList, gExitList_NoExitList, gExitList_NoExitList, + gExitList_NoExitList, gExitList_NoExitList, gExitList_NoExitList, gExitList_NoExitList, gExitList_NoExitList, + gExitList_NoExitList, gExitList_NoExitList, gExitList_NoExitList, gExitList_NoExitList, +}; + +const Transition gExitList_MinishWoods_Main[] = { + { WARP_TYPE_AREA, 0x00, 0x0138, 0x0318, 0x0078, 0x0078, 0x00, AREA_MINISH_HOUSE_INTERIORS, + ROOM_MINISH_HOUSE_INTERIORS_MINISH_WOODS_BOMB, 1, TRANSITION_TYPE_NORMAL, 0x00, 0x00, 0x00, 0x00, 0x00 }, + { WARP_TYPE_AREA, 0x00, 0x01c8, 0x0258, 0x00a8, 0x00d8, 0x00, AREA_DEEPWOOD_SHRINE, ROOM_DEEPWOOD_SHRINE_ENTRANCE, + 1, TRANSITION_TYPE_NORMAL, 0x00, 0x00, 0x00, 0x00, 0x00 }, + { WARP_TYPE_AREA, 0x00, 0x03a8, 0x0010, 0x0078, 0x0088, 0x02, AREA_BEANSTALKS, ROOM_BEANSTALKS_EASTERN_HILLS, + 1, TRANSITION_TYPE_NORMAL, 0x00, 0x00, 0x00, 0x00, 0x00 }, + { WARP_TYPE_AREA, 0x00, 0x0210, 0x01c8, 0x0078, 0x0078, 0x02, AREA_TREE_INTERIORS, + ROOM_TREE_INTERIORS_MINISH_WOODS_BUSINESS_SCRUB, 1, TRANSITION_TYPE_NORMAL, 0x00, 0x00, 0x00, 0x00, 0x00 }, + { WARP_TYPE_AREA, 0x00, 0x0070, 0x0048, 0x0078, 0x0078, 0x02, AREA_TREE_INTERIORS, + ROOM_TREE_INTERIORS_MINISH_WOODS_GREAT_FAIRY, 1, TRANSITION_TYPE_NORMAL, 0x00, 0x00, 0x00, 0x00, 0x00 }, + { WARP_TYPE_AREA, 0x00, 0x02c0, 0x0048, 0x0078, 0x0088, 0x02, AREA_TREE_INTERIORS, ROOM_TREE_INTERIORS_WITCH_HUT, + 1, TRANSITION_TYPE_NORMAL, 0x00, 0x00, 0x00, 0x00, 0x00 }, + { WARP_TYPE_AREA, 0x00, 0x03b8, 0x0038, 0x0078, 0x0108, 0x00, AREA_MINISH_CAVES, + ROOM_MINISH_CAVES_MINISH_WOODS_NORTH_1, 1, TRANSITION_TYPE_NORMAL, 0x00, 0x00, 0x00, 0x00, 0x00 }, + { WARP_TYPE_AREA, 0x00, 0x0048, 0x0218, 0x0058, 0x0118, 0x00, AREA_MINISH_CAVES, + ROOM_MINISH_CAVES_MINISH_WOODS_SOUTHWEST, 1, TRANSITION_TYPE_NORMAL, 0x00, 0x00, 0x00, 0x00, 0x00 }, + { WARP_TYPE_AREA, 0x00, 0x0068, 0x0218, 0x0138, 0x0118, 0x00, AREA_MINISH_CAVES, + ROOM_MINISH_CAVES_MINISH_WOODS_SOUTHWEST, 1, TRANSITION_TYPE_NORMAL, 0x00, 0x00, 0x00, 0x00, 0x00 }, + { WARP_TYPE_AREA, 0x00, 0x0088, 0x0218, 0x0218, 0x0118, 0x00, AREA_MINISH_CAVES, + ROOM_MINISH_CAVES_MINISH_WOODS_SOUTHWEST, 1, TRANSITION_TYPE_NORMAL, 0x00, 0x00, 0x00, 0x00, 0x00 }, + { WARP_TYPE_BORDER, 0x00, 0x0000, 0x0000, 0x01d8, 0x0fff, 0x40, AREA_HYRULE_FIELD, + ROOM_HYRULE_FIELD_EASTERN_HILLLS_NORTH, 1, TRANSITION_TYPE_NORMAL, 0x06, 0x00, 0x00, 0x00, 0x00 }, + { WARP_TYPE_BORDER, 0x00, 0x0000, 0x0000, 0x01d8, 0x00a0, 0x80, AREA_HYRULE_FIELD, + ROOM_HYRULE_FIELD_EASTERN_HILLLS_SOUTH, 1, TRANSITION_TYPE_NORMAL, 0x06, 0x00, 0x00, 0x00, 0x00 }, + { WARP_TYPE_BORDER, 0x00, 0x0000, 0x0000, 0x0fff, 0x03b8, 0x01, AREA_LAKE_HYLIA, ROOM_LAKE_HYLIA_MAIN, 1, + TRANSITION_TYPE_NORMAL, 0x00, 0x00, 0x00, 0x00, 0x00 }, + { WARP_TYPE_BORDER, 0x00, 0x0000, 0x0000, 0x0fff, 0x03ac, 0x02, AREA_LAKE_HYLIA, ROOM_LAKE_HYLIA_MAIN, 1, + TRANSITION_TYPE_INSTANT_MINISH, 0x00, 0x00, 0x00, 0x00, 0x00 }, + TransitionListEnd, +}; +const Transition* const gExitLists_MinishWoods[] = { + [ROOM_MINISH_WOODS_MAIN] = gExitList_MinishWoods_Main, +}; + +const Transition gExitList_LakeHylia_Main[] = { + { WARP_TYPE_AREA, 0, 0x02a0, 0x0378, 0x0078, 0x00a0, 0x02, AREA_HOUSE_INTERIORS_4, + ROOM_HOUSE_INTERIORS_4_MAYOR_LAKE_CABIN, 1, TRANSITION_TYPE_NORMAL, 0x00, 0x00, 0x00, 0x00, 0x00 }, + { WARP_TYPE_AREA, 0, 0x0120, 0x0038, 0x0078, 0x0078, 0x02, AREA_HOUSE_INTERIORS_2, + ROOM_HOUSE_INTERIORS_2_STOCKWELL_LAKE_HOUSE, 1, TRANSITION_TYPE_NORMAL, 0x00, 0x00, 0x00, 0x00, 0x00 }, + { WARP_TYPE_AREA, 0, 0x0100, 0x02b8, 0x0078, 0x0078, 0x02, AREA_TREE_INTERIORS, ROOM_TREE_INTERIORS_WAVEBLADE, + 1, TRANSITION_TYPE_NORMAL, 0x00, 0x00, 0x00, 0x00, 0x00 }, + { WARP_TYPE_AREA, 0, 0x00c8, 0x0198, 0x0078, 0x0078, 0x00, AREA_MINISH_HOUSE_INTERIORS, + ROOM_MINISH_HOUSE_INTERIORS_LAKE_HYLIA_OCARINA, 1, TRANSITION_TYPE_NORMAL, 0x00, 0x00, 0x00, 0x00, 0x00 }, + { WARP_TYPE_AREA, 0, 0x01e8, 0x01a8, 0x0078, 0x0078, 0x00, AREA_MINISH_HOUSE_INTERIORS, + ROOM_MINISH_HOUSE_INTERIORS_LIBRARI, 1, TRANSITION_TYPE_NORMAL, 0x00, 0x00, 0x00, 0x00, 0x00 }, + { WARP_TYPE_AREA, 0, 0x02b8, 0x0058, 0x0188, 0x01a8, 0x00, AREA_MINISH_CAVES, ROOM_MINISH_CAVES_LAKE_HYLIA_NORTH, + 1, TRANSITION_TYPE_NORMAL, 0x00, 0x00, 0x00, 0x00, 0x00 }, + { WARP_TYPE_AREA, 0, 0x0148, 0x0374, 0x0248, 0x01a8, 0x00, AREA_LAKE_WOODS_CAVE, ROOM_LAKE_WOODS_CAVE_MAIN, + 1, TRANSITION_TYPE_NORMAL, 0x00, 0x00, 0x00, 0x00, 0x00 }, + { WARP_TYPE_BORDER, 0, 0x0000, 0x0000, 0x02c8, 0x0fff, 0xc0, AREA_HYRULE_FIELD, ROOM_HYRULE_FIELD_LON_LON_RANCH, + 1, TRANSITION_TYPE_NORMAL, 0x06, 0x00, 0x00, 0x00, 0x00 }, + { WARP_TYPE_BORDER, 0, 0x0000, 0x0000, 0x0fff, 0x0010, 0x10, AREA_MINISH_WOODS, ROOM_MINISH_WOODS_MAIN, + 1, TRANSITION_TYPE_NORMAL, 0x04, 0x00, 0x00, 0x00, 0x00 }, + { WARP_TYPE_BORDER, 0, 0x0000, 0x0000, 0x0fff, 0x0024, 0x20, AREA_MINISH_WOODS, ROOM_MINISH_WOODS_MAIN, + 1, TRANSITION_TYPE_INSTANT_MINISH, 0x04, 0x00, 0x00, 0x00, 0x00 }, + TransitionListEnd, +}; +const Transition gExitList_LakeHylia_Beanstalk[] = { + { WARP_TYPE_AREA, 0, 0x0208, 0x94, 0x248, 0x88, 0, AREA_HYLIA_DIG_CAVES, ROOM_HYLIA_DIG_CAVES_1, 1, TRANSITION_TYPE_NORMAL, + 0, 0, 0, 0, 0 }, + { WARP_TYPE_AREA, 0, 0x0308, 0x94, 0x308, 0x88, 0, AREA_HYLIA_DIG_CAVES, ROOM_HYLIA_DIG_CAVES_1, 1, TRANSITION_TYPE_NORMAL, + 0, 0, 0, 0, 0 }, + { WARP_TYPE_AREA, 0, 0x0388, 0x64, 0x398, 0x68, 0, AREA_HYLIA_DIG_CAVES, ROOM_HYLIA_DIG_CAVES_1, 1, TRANSITION_TYPE_NORMAL, + 0, 0, 0, 0, 0 }, + TransitionListEnd, +}; +const Transition* const gExitLists_LakeHylia[] = { + [ROOM_LAKE_HYLIA_MAIN] = gExitList_LakeHylia_Main, + [ROOM_LAKE_HYLIA_BEANSTALK] = gExitList_LakeHylia_Beanstalk, +}; + +const Transition gExitList_CastorWilds_Main[] = { + { WARP_TYPE_AREA, 0, 0x0248, 0x0032, 0x0038, 0x0078, 0x00, AREA_CASTOR_CAVES, ROOM_CASTOR_CAVES_NORTH, + 1, TRANSITION_TYPE_NORMAL, 0, 0, 0, 0, 0 }, + { WARP_TYPE_AREA, 0, 0x0288, 0x0032, 0x0128, 0x0078, 0x00, AREA_CASTOR_CAVES, ROOM_CASTOR_CAVES_NORTH, + 1, TRANSITION_TYPE_NORMAL, 0, 0, 0, 0, 0 }, + { WARP_TYPE_AREA, 0, 0x01a8, 0x01a2, 0x0088, 0x0078, 0x00, AREA_CASTOR_CAVES, ROOM_CASTOR_CAVES_DARKNUT, + 1, TRANSITION_TYPE_NORMAL, 0, 0, 0, 0, 0 }, + { WARP_TYPE_AREA, 0, 0x02d8, 0x0382, 0x0078, 0x0098, 0x00, AREA_CASTOR_CAVES, ROOM_CASTOR_CAVES_SOUTH, + 1, TRANSITION_TYPE_NORMAL, 0, 0, 0, 0, 0 }, + { WARP_TYPE_AREA, 0, 0x03c8, 0x0038, 0x0078, 0x0078, 0x00, AREA_CASTOR_CAVES, ROOM_CASTOR_CAVES_HEART_PIECE, + 1, TRANSITION_TYPE_NORMAL, 0, 0, 0, 0, 0 }, + { WARP_TYPE_AREA, 0, 0x0038, 0x02d4, 0x0078, 0x0088, 0x00, AREA_DOJOS, ROOM_DOJOS_SWIFTBLADE_I, 1, TRANSITION_TYPE_NORMAL, + 0, 0, 0, 0, 0 }, + { WARP_TYPE_AREA, 0, 0x03b8, 0x02f8, 0x0078, 0x01f8, 0x00, AREA_MINISH_CAVES, ROOM_MINISH_CAVES_SOUTHEAST_WATER_1, + 1, TRANSITION_TYPE_NORMAL, 0, 0, 0, 0, 0 }, + { WARP_TYPE_BORDER, 0, 0x0000, 0x0000, 0x0008, 0x0fff, 0x08, AREA_HYRULE_FIELD, ROOM_HYRULE_FIELD_WESTERN_WOODS_NORTH, + 1, TRANSITION_TYPE_NORMAL, 2, 0, 0, 0, 0 }, + { WARP_TYPE_BORDER, 0, 0x0000, 0x0000, 0x0fff, 0x0010, 0x10, AREA_RUINS, ROOM_RUINS_ENTRANCE, 1, TRANSITION_TYPE_NORMAL, 4, 0, + 0, 0, 0 }, + TransitionListEnd, +}; +const Transition* const gExitLists_CastorWilds[] = { + [ROOM_CASTOR_WILDS_MAIN] = gExitList_CastorWilds_Main, +}; + +const Transition gExitList_Ruins_Entrance[] = { + { WARP_TYPE_BORDER, 0, 0x00, 0x00, 0x0fff, 0x3b8, 0x01, AREA_CASTOR_WILDS, ROOM_CASTOR_WILDS_MAIN, 1, TRANSITION_TYPE_NORMAL, + 0, 0, 0, 0, 0 }, + { WARP_TYPE_AREA, 0, 0xc8, 0x38, 0x0078, 0x078, 0x00, AREA_CASTOR_CAVES, ROOM_CASTOR_CAVES_WIND_RUINS, + 1, TRANSITION_TYPE_NORMAL, 0, 0, 0, 0, 0 }, + TransitionListEnd, +}; +const Transition gExitList_Ruins_Beanstalk[] = { + TransitionListEnd, +}; +const Transition gExitList_Ruins_LadderToTektites[] = { + { WARP_TYPE_AREA, 0, 0x38, 0x08, 0x148, 0xb8, 0, AREA_MINISH_CAVES, ROOM_MINISH_CAVES_RUINS, 1, TRANSITION_TYPE_NORMAL, 0, + 0, 0, 0, 0 }, + TransitionListEnd, +}; +const Transition gExitList_Ruins_FortressEntrance[] = { + { WARP_TYPE_BORDER, 0, 0, 0, 0x1d8, 0xb0, 3, AREA_OUTER_FORTRESS_OF_WINDS, ROOM_OUTER_FORTRESS_OF_WINDS_ENTRANCE_HALL, + 1, TRANSITION_TYPE_NORMAL, 0, 0, 0, 0, 0 }, + TransitionListEnd, +}; +const Transition* const gExitLists_Ruins[] = { + [ROOM_RUINS_ENTRANCE] = gExitList_Ruins_Entrance, + [ROOM_RUINS_BEANSTALK] = gExitList_Ruins_Beanstalk, + [ROOM_RUINS_TEKTITES] = gExitList_NoExitList, + [ROOM_RUINS_LADDER_TO_TEKTITES] = gExitList_Ruins_LadderToTektites, + [ROOM_RUINS_FORTRESS_ENTRANCE] = gExitList_Ruins_FortressEntrance, + [ROOM_RUINS_BELOW_FORTRESS_ENTRANCE] = gExitList_NoExitList, +}; + +const Transition gExitList_HyruleTown_0[] = { + { WARP_TYPE_AREA, 0x00, 0x02c8, 0x0138, 0x0068, 0x0098, 0x00, AREA_HOUSE_INTERIORS_1, ROOM_HOUSE_INTERIORS_1_MAYOR, + 1, TRANSITION_TYPE_NORMAL, 0x00, 0x00, 0x00, 0x00, 0x00 }, + { WARP_TYPE_AREA, 0x00, 0x0308, 0x0120, 0x00e8, 0x0070, 0x01, AREA_HOUSE_INTERIORS_1, ROOM_HOUSE_INTERIORS_1_MAYOR, + 1, TRANSITION_TYPE_NORMAL, 0x06, 0x00, 0x00, 0x00, 0x00 }, + { WARP_TYPE_AREA, 0x00, 0x0048, 0x00a8, 0x0078, 0x0090, 0x00, AREA_HOUSE_INTERIORS_1, + ROOM_HOUSE_INTERIORS_1_POST_OFFICE, 1, TRANSITION_TYPE_NORMAL, 0x00, 0x00, 0x00, 0x00, 0x00 }, + { WARP_TYPE_AREA, 0x00, 0x0138, 0x0048, 0x0078, 0x0088, 0x00, AREA_HOUSE_INTERIORS_1, + ROOM_HOUSE_INTERIORS_1_LIBRARY_2F, 1, TRANSITION_TYPE_NORMAL, 0x00, 0x00, 0x00, 0x00, 0x00 }, + { WARP_TYPE_AREA, 0x00, 0x0168, 0x00a8, 0x00e8, 0x00d8, 0x00, AREA_HOUSE_INTERIORS_1, + ROOM_HOUSE_INTERIORS_1_LIBRARY_1F, 1, TRANSITION_TYPE_NORMAL, 0x00, 0x00, 0x00, 0x00, 0x00 }, + { WARP_TYPE_AREA, 0x00, 0x0388, 0x0258, 0x0068, 0x0078, 0x00, AREA_HOUSE_INTERIORS_1, ROOM_HOUSE_INTERIORS_1_INN_1F, + 1, TRANSITION_TYPE_NORMAL, 0x00, 0x00, 0x00, 0x00, 0x00 }, + { WARP_TYPE_AREA, 0x00, 0x0368, 0x01b8, 0x0068, 0x0078, 0x00, AREA_HOUSE_INTERIORS_1, + ROOM_HOUSE_INTERIORS_1_INN_WEST_2F, 1, TRANSITION_TYPE_NORMAL, 0x00, 0x00, 0x00, 0x00, 0x00 }, + { WARP_TYPE_AREA, 0x00, 0x03a8, 0x0218, 0x0048, 0x01a8, 0x00, AREA_HOUSE_INTERIORS_1, + ROOM_HOUSE_INTERIORS_1_INN_EAST_2F, 1, TRANSITION_TYPE_NORMAL, 0x00, 0x00, 0x00, 0x00, 0x00 }, + { WARP_TYPE_AREA, 0x00, 0x02c8, 0x0098, 0x0078, 0x00c8, 0x00, AREA_HOUSE_INTERIORS_1, + ROOM_HOUSE_INTERIORS_1_SCHOOL_WEST, 1, TRANSITION_TYPE_NORMAL, 0x00, 0x00, 0x00, 0x00, 0x00 }, + { WARP_TYPE_AREA, 0x00, 0x0328, 0x0068, 0x00d8, 0x0088, 0x00, AREA_HOUSE_INTERIORS_1, + ROOM_HOUSE_INTERIORS_1_SCHOOL_EAST, 1, TRANSITION_TYPE_NORMAL, 0x00, 0x00, 0x00, 0x00, 0x00 }, + { WARP_TYPE_AREA, 0x00, 0x0258, 0x02e8, 0x0078, 0x00a8, 0x00, AREA_HOUSE_INTERIORS_3, + ROOM_HOUSE_INTERIORS_3_STOCKWELL_SHOP, 1, TRANSITION_TYPE_NORMAL, 0x00, 0x00, 0x00, 0x00, 0x00 }, + { WARP_TYPE_AREA, 0x00, 0x0198, 0x02e8, 0x0078, 0x00a8, 0x00, AREA_HOUSE_INTERIORS_3, ROOM_HOUSE_INTERIORS_3_CAFE, + 1, TRANSITION_TYPE_NORMAL, 0x00, 0x00, 0x00, 0x00, 0x00 }, + { WARP_TYPE_AREA, 0x00, 0x0178, 0x0210, 0x00c8, 0x0060, 0x01, AREA_HOUSE_INTERIORS_3, + ROOM_HOUSE_INTERIORS_3_REM_SHOE_SHOP, 1, TRANSITION_TYPE_NORMAL, 0x06, 0x00, 0x00, 0x00, 0x00 }, + { WARP_TYPE_AREA, 0x00, 0x0278, 0x01f0, 0x0028, 0x0090, 0x01, AREA_HOUSE_INTERIORS_3, ROOM_HOUSE_INTERIORS_3_BAKERY, + 1, TRANSITION_TYPE_NORMAL, 0x02, 0x00, 0x00, 0x00, 0x00 }, + { WARP_TYPE_AREA, 0x00, 0x0178, 0x0250, 0x00c8, 0x0070, 0x01, AREA_HOUSE_INTERIORS_3, ROOM_HOUSE_INTERIORS_3_SIMON, + 1, TRANSITION_TYPE_NORMAL, 0x06, 0x00, 0x00, 0x00, 0x00 }, + { WARP_TYPE_AREA, 0x00, 0x0178, 0x0290, 0x00c8, 0x0060, 0x01, AREA_HOUSE_INTERIORS_3, + ROOM_HOUSE_INTERIORS_3_FIGURINE_HOUSE, 1, TRANSITION_TYPE_NORMAL, 0x06, 0x00, 0x00, 0x00, 0x00 }, + { WARP_TYPE_AREA, 0x00, 0x0138, 0x0290, 0x0028, 0x0060, 0x01, AREA_HOUSE_INTERIORS_3, + ROOM_HOUSE_INTERIORS_3_FIGURINE_HOUSE, 1, TRANSITION_TYPE_NORMAL, 0x02, 0x00, 0x00, 0x00, 0x00 }, + { WARP_TYPE_AREA, 0x00, 0x0298, 0x0258, 0x0078, 0x0088, 0x00, AREA_HOUSE_INTERIORS_3, + ROOM_HOUSE_INTERIORS_3_BORLOV_ENTRANCE, 1, TRANSITION_TYPE_NORMAL, 0x00, 0x00, 0x00, 0x00, 0x00 }, + { WARP_TYPE_AREA, 0x00, 0x0090, 0x02c8, 0x0078, 0x0098, 0x02, AREA_HOUSE_INTERIORS_4, ROOM_HOUSE_INTERIORS_4_CARPENTER, + 1, TRANSITION_TYPE_NORMAL, 0x00, 0x00, 0x00, 0x00, 0x00 }, + { WARP_TYPE_AREA, 0x00, 0x0098, 0x0168, 0x0078, 0x0078, 0x00, AREA_HOUSE_INTERIORS_2, ROOM_HOUSE_INTERIORS_2_STRANGER, + 1, TRANSITION_TYPE_NORMAL, 0x00, 0x00, 0x00, 0x00, 0x00 }, + { WARP_TYPE_AREA, 0x00, 0x0038, 0x0248, 0x0078, 0x0098, 0x00, AREA_HOUSE_INTERIORS_2, ROOM_HOUSE_INTERIORS_2_DR_LEFT, + 1, TRANSITION_TYPE_NORMAL, 0x00, 0x00, 0x00, 0x00, 0x00 }, + { WARP_TYPE_AREA, 0x00, 0x02e8, 0x02f0, 0x0078, 0x0078, 0x00, AREA_HOUSE_INTERIORS_2, ROOM_HOUSE_INTERIORS_2_ROMIO, + 1, TRANSITION_TYPE_NORMAL, 0x00, 0x00, 0x00, 0x00, 0x00 }, + { WARP_TYPE_AREA, 0x00, 0x0348, 0x02f8, 0x0078, 0x0098, 0x00, AREA_HOUSE_INTERIORS_2, ROOM_HOUSE_INTERIORS_2_JULIETTA, + 1, TRANSITION_TYPE_NORMAL, 0x00, 0x00, 0x00, 0x00, 0x00 }, + { WARP_TYPE_AREA, 0x00, 0x03b8, 0x0358, 0x0078, 0x0078, 0x00, AREA_HOUSE_INTERIORS_2, ROOM_HOUSE_INTERIORS_2_CUCCO, + 1, TRANSITION_TYPE_NORMAL, 0x00, 0x00, 0x00, 0x00, 0x00 }, + { WARP_TYPE_AREA, 0x00, 0x0138, 0x0388, 0x0078, 0x0098, 0x00, AREA_HOUSE_INTERIORS_4, + ROOM_HOUSE_INTERIORS_4_SWIFTBLADE, 1, TRANSITION_TYPE_NORMAL, 0x00, 0x00, 0x00, 0x00, 0x00 }, + { WARP_TYPE_AREA, 0x00, 0x0038, 0x01a8, 0x0078, 0x0078, 0x00, AREA_MINISH_HOUSE_INTERIORS, + ROOM_MINISH_HOUSE_INTERIORS_HYRULE_TOWN, 1, TRANSITION_TYPE_NORMAL, 0x00, 0x00, 0x00, 0x00, 0x00 }, + { WARP_TYPE_AREA, 0x00, 0x0050, 0x0378, 0x0078, 0x0078, 0x02, AREA_TREE_INTERIORS, + ROOM_TREE_INTERIORS_STAIRS_TO_CARLOV, 1, TRANSITION_TYPE_NORMAL, 0x00, 0x00, 0x00, 0x00, 0x00 }, + { WARP_TYPE_AREA, 0x00, 0x00f0, 0x0188, 0x0078, 0x0078, 0x02, AREA_CAVES, ROOM_CAVES_HYRULE_TOWN_WATERFALL, + 1, TRANSITION_TYPE_NORMAL, 0x00, 0x00, 0x00, 0x00, 0x00 }, + { WARP_TYPE_AREA, 0x00, 0x0040, 0x01b8, 0x0078, 0x0098, 0x02, AREA_HOUSE_INTERIORS_2, + ROOM_HOUSE_INTERIORS_2_WEST_ORACLE, 1, TRANSITION_TYPE_NORMAL, 0x00, 0x00, 0x00, 0x00, 0x00 }, + { WARP_TYPE_AREA, 0x00, 0x02b8, 0x0360, 0x0078, 0x0078, 0x00, AREA_HOUSE_INTERIORS_2, + ROOM_HOUSE_INTERIORS_2_EAST_ORACLE, 1, TRANSITION_TYPE_NORMAL, 0x00, 0x00, 0x00, 0x00, 0x00 }, + { WARP_TYPE_AREA, 0x00, 0x0338, 0x0134, 0x0288, 0x0118, 0x00, AREA_HYRULE_TOWN_UNDERGROUND, + ROOM_HYRULE_TOWN_UNDERGROUND_0, 1, TRANSITION_TYPE_NORMAL, 0x00, 0x00, 0x00, 0x00, 0x00 }, + { WARP_TYPE_BORDER, 0x00, 0x0000, 0x0000, 0x01f8, 0x0318, 0x03, AREA_HYRULE_FIELD, ROOM_HYRULE_FIELD_NORTH_HYRULE_FIELD, + 1, TRANSITION_TYPE_NORMAL, 0x00, 0x00, 0x00, 0x00, 0x00 }, + { WARP_TYPE_BORDER, 0x00, 0x0000, 0x0000, 0x01d8, 0x0230, 0x40, AREA_HYRULE_FIELD, ROOM_HYRULE_FIELD_TRILBY_HIGHLANDS, + 1, TRANSITION_TYPE_NORMAL, 0x06, 0x00, 0x00, 0x00, 0x00 }, + { WARP_TYPE_BORDER, 0x00, 0x0000, 0x0000, 0x0008, 0x0230, 0x04, AREA_HYRULE_FIELD, ROOM_HYRULE_FIELD_LON_LON_RANCH, + 1, TRANSITION_TYPE_NORMAL, 0x02, 0x00, 0x00, 0x00, 0x00 }, + { WARP_TYPE_BORDER, 0x00, 0x0000, 0x0000, 0x01f8, 0x0010, 0x30, AREA_HYRULE_FIELD, ROOM_HYRULE_FIELD_SOUTH_HYRULE_FIELD, + 1, TRANSITION_TYPE_NORMAL, 0x04, 0x00, 0x00, 0x00, 0x00 }, + TransitionListEnd, +}; +const Transition* const gExitLists_HyruleTown[] = { + [ROOM_HYRULE_TOWN_MAIN] = gExitList_HyruleTown_0, +}; + +const Transition gExitList_HyruleTown_1[] = { + { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0xfff, 0x318, 0x3, AREA_HYRULE_FIELD, ROOM_HYRULE_FIELD_NORTH_HYRULE_FIELD, + 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0, 0x0 }, + TransitionListEnd, +}; +const Transition* const gExitLists_FestivalTown[] = { + [ROOM_FESTIVAL_TOWN_MAIN] = gExitList_HyruleTown_1, +}; + +const Transition gExitList_MtCrenel_MountainTop[] = { + { WARP_TYPE_AREA, 0x0, 0x328, 0x34, 0x1a8, 0x28, 0x0, AREA_CRENEL_CAVES, ROOM_CRENEL_CAVES_BLOCK_PUSHING, + 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0xfff, 0x18, 0x30, AREA_MT_CRENEL, ROOM_MT_CRENEL_WALL_CLIMB, 1, TRANSITION_TYPE_NORMAL, + 0x0, 0x0, 0x0, 0x0, 0x0 }, + TransitionListEnd, +}; +const Transition gExitList_MtCrenel_WallClimb[] = { + { WARP_TYPE_AREA, 0x0, 0xa8, 0x58, 0x78, 0x78, 0x0, AREA_CRENEL_CAVES, ROOM_CRENEL_CAVES_HERMIT, 1, + TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x0, 0x148, 0x1e8, 0x78, 0xf8, 0x0, AREA_GREAT_FAIRIES, ROOM_GREAT_FAIRIES_CRENEL, 1, + TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0xfff, 0xd8, 0x3, AREA_MT_CRENEL, ROOM_MT_CRENEL_TOP, 1, TRANSITION_TYPE_NORMAL, 0x0, + 0x0, 0x0, 0x0, 0x0 }, + TransitionListEnd, +}; +const Transition gExitList_MtCrenel_CaveOfFlamesEntrance[] = { + { WARP_TYPE_AREA, 0x0, 0x128, 0x18, 0x58, 0x1b8, 0x0, AREA_CRENEL_CAVES, ROOM_CRENEL_CAVES_BLOCK_PUSHING, + 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x0, 0x208, 0x18, 0x298, 0x1b8, 0x0, AREA_CRENEL_CAVES, ROOM_CRENEL_CAVES_BLOCK_PUSHING, + 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x0, 0x1d8, 0xb8, 0xb8, 0x88, 0x0, AREA_CRENEL_CAVES, ROOM_CRENEL_CAVES_PILLAR_CAVE, + 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x0, 0x238, 0xb8, 0x48, 0x1c8, 0x0, AREA_CRENEL_CAVES, ROOM_CRENEL_CAVES_BRIDGE_SWITCH, + 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x0, 0x188, 0xf8, 0xb8, 0x98, 0x0, AREA_CRENEL_CAVES, ROOM_CRENEL_CAVES_EXIT_TO_MINES, + 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x0, 0x208, 0x148, 0x78, 0xf0, 0x0, AREA_CRENEL_CAVES, ROOM_CRENEL_CAVES_TO_GRAYBLADE, + 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x0, 0x1e8, 0x1d8, 0x78, 0x78, 0x0, AREA_CRENEL_CAVES, ROOM_CRENEL_CAVES_GRIP_RING, + 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x0, 0x68, 0x72, 0x88, 0xa8, 0x0, AREA_CAVE_OF_FLAMES, ROOM_CAVE_OF_FLAMES_ENTRANCE, + 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0, 0x0 }, + TransitionListEnd, +}; +const Transition gExitList_MtCrenel_GustJarShortcut[] = { + { WARP_TYPE_AREA, 0x0, 0xa8, 0x48, 0x78, 0x78, 0x0, AREA_CRENEL_CAVES, ROOM_CRENEL_CAVES_FAIRY_FOUNTAIN, + 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x0, 0x2f8, 0x28, 0x38, 0x98, 0x0, AREA_CRENEL_CAVES, ROOM_CRENEL_CAVES_SPINY_CHU_PUZZLE, + 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x0, 0x348, 0x58, 0xb8, 0x88, 0x0, AREA_CRENEL_CAVES, ROOM_CRENEL_CAVES_CHUCHU_POT_CHEST, + 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x0, 0x38, 0x108, 0x78, 0x118, 0x0, AREA_CRENEL_CAVES, ROOM_CRENEL_CAVES_WATER_HEART_PIECE, + 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0, 0x0 }, + TransitionListEnd, +}; +const Transition gExitList_MtCrenel_Entrance[] = { + { WARP_TYPE_AREA, 0x0, 0x298, 0x28, 0x78, 0x78, 0x0, AREA_CRENEL_CAVES, ROOM_CRENEL_CAVES_RUPEE_FAIRY_FOUINTAIN, + 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x0, 0x198, 0xd8, 0x1f8, 0x78, 0x0, AREA_CRENEL_CAVES, ROOM_CRENEL_CAVES_HELMASAUR_HALLWAY, + 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x0, 0x138, 0x138, 0xb8, 0x138, 0x0, AREA_CRENEL_CAVES, ROOM_CRENEL_CAVES_MUSHROOM_KEESE, + 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x0, 0x2d8, 0x188, 0x78, 0x88, 0x0, AREA_CRENEL_CAVES, ROOM_CRENEL_CAVES_LADDER_TO_SPRING_WATER, + 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x0, 0xb8, 0x198, 0x78, 0x78, 0x0, AREA_CRENEL_CAVES, ROOM_CRENEL_CAVES_BOMB_BUSINESS_SCRUB, + 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x0, 0x3b8, 0x168, 0x78, 0x78, 0x0, AREA_CRENEL_CAVES, ROOM_CRENEL_CAVES_HINT_SCRUB, + 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x0, 0x1c8, 0x18, 0x98, 0x1a8, 0x0, AREA_MINISH_CAVES, ROOM_MINISH_CAVES_BEAN_PESTO, + 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x0, 0x2d8, 0x154, 0x78, 0x38, 0x0, AREA_CRENEL_CAVES, ROOM_CRENEL_CAVES_LADDER_TO_SPRING_WATER, + 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x8, 0xfff, 0x8, AREA_HYRULE_FIELD, ROOM_HYRULE_FIELD_TRILBY_HIGHLANDS, + 1, TRANSITION_TYPE_NORMAL, 0x2, 0x0, 0x0, 0x0, 0x0 }, + TransitionListEnd, +}; +const Transition* const gExitLists_MtCrenel[] = { + [ROOM_MT_CRENEL_TOP] = gExitList_MtCrenel_MountainTop, + [ROOM_MT_CRENEL_WALL_CLIMB] = gExitList_MtCrenel_WallClimb, + [ROOM_MT_CRENEL_CAVERN_OF_FLAMES_ENTRANCE] = gExitList_MtCrenel_CaveOfFlamesEntrance, + [ROOM_MT_CRENEL_CENTER] = gExitList_MtCrenel_GustJarShortcut, + [ROOM_MT_CRENEL_ENTRANCE] = gExitList_MtCrenel_Entrance, +}; + +const Transition gExitList_HyruleField_WesternWoodSouth[] = { + { WARP_TYPE_AREA, 0x0, 0xb8, 0x28, 0x78, 0x78, 0x0, AREA_MINISH_HOUSE_INTERIORS, + ROOM_MINISH_HOUSE_INTERIORS_HYRULE_FIELD_SOUTHWEST, 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0, 0x0 }, + TransitionListEnd, +}; +const Transition gExitList_HyruleField_SouthHyruleField[] = { + { WARP_TYPE_AREA, 0x0, 0x290, 0x188, 0x78, 0x78, 0x2, AREA_HOUSE_INTERIORS_2, + ROOM_HOUSE_INTERIORS_2_LINKS_HOUSE_ENTRANCE, 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x0, 0x3a0, 0x228, 0x78, 0x78, 0x2, AREA_TREE_INTERIORS, + ROOM_TREE_INTERIORS_SOUTH_HYRULE_FIELD_HEART_PIECE, 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x0, 0x118, 0xa8, 0x78, 0x78, 0x0, AREA_CAVES, ROOM_CAVES_SOUTH_HYRULE_FIELD_FAIRY_FOUNTAIN, + 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x0, 0x58, 0x118, 0x78, 0x78, 0x0, AREA_CAVES, ROOM_CAVES_SOUTH_HYRULE_FIELD_RUPEE, + 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x0, 0x178, 0xd8, 0x78, 0xb8, 0x0, AREA_MINISH_CAVES, ROOM_MINISH_CAVES_OUTSIDE_LINKS_HOUSE, + 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x0, 0x48, 0x1c8, 0x78, 0x78, 0x0, AREA_MINISH_HOUSE_INTERIORS, + ROOM_MINISH_HOUSE_INTERIORS_SOUTH_HYRULE_FIELD, 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x1f8, 0x3b8, 0x3, AREA_HYRULE_TOWN, ROOM_HYRULE_TOWN_MAIN, 1, TRANSITION_TYPE_NORMAL, + 0x0, 0x0, 0x0, 0x0, 0x0 }, + TransitionListEnd, +}; +const Transition gExitList_HyruleField_EasternHillsSouth[] = { + { WARP_TYPE_AREA, 0x0, 0x38, 0x28, 0x78, 0x78, 0x0, AREA_MINISH_HOUSE_INTERIORS, + ROOM_MINISH_HOUSE_INTERIORS_HYRULE_FIELD_EXIT, 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x8, 0x3c8, 0x8, AREA_MINISH_WOODS, ROOM_MINISH_WOODS_MAIN, 1, TRANSITION_TYPE_NORMAL, + 0x2, 0x0, 0x0, 0x0, 0x0 }, + TransitionListEnd, +}; +const Transition gExitList_HyruleField_EasternHillsCenter[] = { + { WARP_TYPE_AREA, 0x0, 0xa8, 0x98, 0x78, 0x78, 0x0, AREA_CAVES, ROOM_CAVES_HILLS_KEESE_CHEST, 1, TRANSITION_TYPE_NORMAL, + 0x0, 0x0, 0x0, 0x0, 0x0 }, + TransitionListEnd, +}; +const Transition gExitList_HyruleField_EasternHillsNorth[] = { + { WARP_TYPE_AREA, 0x0, 0x40, 0x48, 0x78, 0x88, 0x2, AREA_HOUSE_INTERIORS_4, ROOM_HOUSE_INTERIORS_4_FARM_HOUSE, + 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x8, 0xfff, 0xc, AREA_MINISH_WOODS, ROOM_MINISH_WOODS_MAIN, 1, TRANSITION_TYPE_NORMAL, + 0x2, 0x0, 0x0, 0x0, 0x0 }, + TransitionListEnd, +}; +const Transition gExitList_HyruleField_LonLonRanch[] = { + { WARP_TYPE_AREA, 0x0, 0x158, 0x278, 0x68, 0x78, 0x0, AREA_HOUSE_INTERIORS_4, ROOM_HOUSE_INTERIORS_4_RANCH_HOUSE_WEST, + 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x0, 0x188, 0x278, 0x78, 0x78, 0x0, AREA_HOUSE_INTERIORS_4, ROOM_HOUSE_INTERIORS_4_RANCH_HOUSE_EAST, + 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x0, 0xe8, 0x1b4, 0xa8, 0xd8, 0x0, AREA_CAVES, ROOM_CAVES_LON_LON_RANCH, 1, TRANSITION_TYPE_NORMAL, 0x0, + 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x0, 0x1f8, 0x208, 0x78, 0x78, 0x0, AREA_CAVES, ROOM_CAVES_LON_LON_RANCH_WALLET, 1, + TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x0, 0x88, 0x354, 0x78, 0x78, 0x0, AREA_GORON_CAVE, ROOM_GORON_CAVE_STAIRS, 1, TRANSITION_TYPE_NORMAL, + 0x0, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x0, 0xb8, 0x154, 0x38, 0x28, 0x0, AREA_CAVES, ROOM_CAVES_LON_LON_RANCH, 1, TRANSITION_TYPE_NORMAL, 0x0, + 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0xfff, 0x3e8, 0x1, AREA_VEIL_FALLS, ROOM_VEIL_FALLS_MAIN, 1, TRANSITION_TYPE_NORMAL, 0x0, + 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x1c8, 0x3e8, 0x2, AREA_VEIL_FALLS, ROOM_VEIL_FALLS_MAIN, 1, TRANSITION_TYPE_NORMAL, 0x0, + 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x8, 0xfff, 0xc, AREA_LAKE_HYLIA, ROOM_LAKE_HYLIA_MAIN, 1, TRANSITION_TYPE_NORMAL, 0x2, + 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x3e8, 0xf0, 0x80, AREA_HYRULE_TOWN, ROOM_HYRULE_TOWN_MAIN, 1, TRANSITION_TYPE_NORMAL, + 0x6, 0x0, 0x0, 0x0, 0x0 }, + TransitionListEnd, +}; +const Transition gExitList_HyruleField_NorthHyruleField[] = { + { WARP_TYPE_AREA, 0x0, 0x1f8, 0x38, 0x1f8, 0x208, 0x3, AREA_CASTLE_GARDEN, ROOM_CASTLE_GARDEN_MAIN, 1, + TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x0, 0x1b0, 0x128, 0x78, 0x78, 0x2, AREA_TREE_INTERIORS, ROOM_TREE_INTERIORS_BOOMERANG_NORTHWEST, + 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x0, 0x240, 0x128, 0x78, 0x78, 0x2, AREA_TREE_INTERIORS, ROOM_TREE_INTERIORS_BOOMERANG_NORTHEAST, + 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x0, 0x1b0, 0x188, 0x78, 0x78, 0x2, AREA_TREE_INTERIORS, ROOM_TREE_INTERIORS_BOOMERANG_SOUTHWEST, + 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x0, 0x240, 0x188, 0x78, 0x78, 0x2, AREA_TREE_INTERIORS, ROOM_TREE_INTERIORS_BOOMERANG_SOUTHEAST, + 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x0, 0x2f0, 0x138, 0x78, 0x78, 0x2, AREA_TREE_INTERIORS, + ROOM_TREE_INTERIORS_NORTH_HYRULE_FIELD_FAIRY_FOUNTAIN, 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x0, 0x1f8, 0x154, 0xa8, 0xd8, 0x0, AREA_CAVES, ROOM_CAVES_BOOMERANG, 1, TRANSITION_TYPE_NORMAL, 0x4, + 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x0, 0x108, 0x138, 0x108, 0xd8, 0x0, AREA_CAVES, ROOM_CAVES_TO_GRAVEYARD, 1, TRANSITION_TYPE_NORMAL, + 0x0, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x0, 0x138, 0x1e8, 0x78, 0xc8, 0x0, AREA_CAVES, ROOM_CAVES_HEART_PIECE_HALLWAY, 1, + TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x0, 0x88, 0xf4, 0x38, 0x58, 0x0, AREA_CAVES, ROOM_CAVES_TO_GRAVEYARD, 1, TRANSITION_TYPE_NORMAL, 0x0, + 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x0, 0x118, 0xf4, 0x118, 0x58, 0x0, AREA_CAVES, ROOM_CAVES_TO_GRAVEYARD, 1, TRANSITION_TYPE_NORMAL, 0x0, + 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0xfff, 0x208, 0x3, AREA_CASTLE_GARDEN, ROOM_CASTLE_GARDEN_MAIN, 1, + TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x1f8, 0x18, 0x30, AREA_HYRULE_TOWN, ROOM_HYRULE_TOWN_MAIN, 1, TRANSITION_TYPE_NORMAL, + 0x4, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x8, 0xfff, 0x4, AREA_VEIL_FALLS, ROOM_VEIL_FALLS_MAIN, 1, TRANSITION_TYPE_NORMAL, 0x2, + 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x1d8, 0x260, 0x40, AREA_ROYAL_VALLEY, ROOM_ROYAL_VALLEY_MAIN, 1, TRANSITION_TYPE_NORMAL, + 0x6, 0x0, 0x0, 0x0, 0x0 }, + TransitionListEnd, +}; +const Transition gExitList_HyruleField_TrilbyHighlands[] = { + { WARP_TYPE_AREA, 0x0, 0x40, 0x388, 0x78, 0x78, 0x2, AREA_TREE_INTERIORS, ROOM_TREE_INTERIORS_PERCYS_TREEHOUSE, + 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x0, 0x88, 0x222, 0x78, 0x78, 0x0, AREA_CAVES, ROOM_CAVES_TRILBY_KEESE_CHEST, 1, TRANSITION_TYPE_NORMAL, + 0x0, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x0, 0x38, 0x2a8, 0x78, 0x78, 0x0, AREA_CAVES, ROOM_CAVES_TRILBY_RUPEE, 1, TRANSITION_TYPE_NORMAL, 0x0, + 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x0, 0x198, 0x2b2, 0x78, 0x78, 0x0, AREA_CAVES, ROOM_CAVES_TRILBY_FAIRY_FOUNTAIN, 1, + TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x0, 0x88, 0x94, 0x88, 0x68, 0x0, AREA_DIG_CAVES, ROOM_DIG_CAVES_TRILBY_HIGHLANDS, 1, + TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x0, 0x98, 0x284, 0x38, 0x38, 0x0, AREA_CAVES, ROOM_CAVES_TRILBY_HIGHLANDS, 1, TRANSITION_TYPE_NORMAL, + 0x0, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x0, 0x118, 0x284, 0x128, 0x38, 0x0, AREA_CAVES, ROOM_CAVES_TRILBY_HIGHLANDS, 1, TRANSITION_TYPE_NORMAL, + 0x0, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0xfff, 0x3e8, 0x1, AREA_ROYAL_VALLEY, ROOM_ROYAL_VALLEY_MAIN, 1, TRANSITION_TYPE_NORMAL, + 0x0, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x8, 0xf0, 0x8, AREA_HYRULE_TOWN, ROOM_HYRULE_TOWN_MAIN, 1, TRANSITION_TYPE_NORMAL, 0x2, + 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x3e8, 0xfff, 0x40, AREA_MT_CRENEL, ROOM_MT_CRENEL_ENTRANCE, 1, TRANSITION_TYPE_NORMAL, + 0x6, 0x0, 0x0, 0x0, 0x0 }, + TransitionListEnd, +}; +const Transition gExitList_HyruleField_WesternWoodsNorth[] = { + { WARP_TYPE_AREA, 0x0, 0xa0, 0x1e8, 0x78, 0x78, 0x2, AREA_TREE_INTERIORS, + ROOM_TREE_INTERIORS_WESTERN_WOODS_HEART_PIECE, 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x3e8, 0xfff, 0x40, AREA_CASTOR_WILDS, ROOM_CASTOR_WILDS_MAIN, 1, TRANSITION_TYPE_NORMAL, + 0x6, 0x0, 0x0, 0x0, 0x0 }, + TransitionListEnd, +}; +const Transition gExitList_HyruleField_WesternWoodsCenter[] = { + { WARP_TYPE_AREA, 0x0, 0x90, 0x48, 0x78, 0x88, 0x2, AREA_HOUSE_INTERIORS_2, ROOM_HOUSE_INTERIORS_2_PERCY, + 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0, 0x0 }, + TransitionListEnd, +}; +const Transition* const gExitLists_HyruleField[] = { + [ROOM_HYRULE_FIELD_WESTERN_WOODS_SOUTH] = gExitList_HyruleField_WesternWoodSouth, + [ROOM_HYRULE_FIELD_SOUTH_HYRULE_FIELD] = gExitList_HyruleField_SouthHyruleField, + [ROOM_HYRULE_FIELD_EASTERN_HILLLS_SOUTH] = gExitList_HyruleField_EasternHillsSouth, + [ROOM_HYRULE_FIELD_EASTERN_HILLLS_CENTER] = gExitList_HyruleField_EasternHillsCenter, + [ROOM_HYRULE_FIELD_EASTERN_HILLLS_NORTH] = gExitList_HyruleField_EasternHillsNorth, + [ROOM_HYRULE_FIELD_LON_LON_RANCH] = gExitList_HyruleField_LonLonRanch, + [ROOM_HYRULE_FIELD_NORTH_HYRULE_FIELD] = gExitList_HyruleField_NorthHyruleField, + [ROOM_HYRULE_FIELD_TRILBY_HIGHLANDS] = gExitList_HyruleField_TrilbyHighlands, + [ROOM_HYRULE_FIELD_WESTERN_WOODS_NORTH] = gExitList_HyruleField_WesternWoodsNorth, + [ROOM_HYRULE_FIELD_WESTERN_WOODS_CENTER] = gExitList_HyruleField_WesternWoodsCenter, +}; + +// TODO this is one table +const Transition gExitList_CastleGarden_Main[] = { + { WARP_TYPE_AREA, 0x0, 0x1f8, 0x28, 0xd8, 0x208, 0x2, AREA_HYRULE_CASTLE, ROOM_HYRULE_CASTLE_0, 1, TRANSITION_TYPE_NORMAL, + 0x0, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x0, 0x308, 0x48, 0x78, 0x78, 0x0, AREA_GARDEN_FOUNTAINS, ROOM_GARDEN_FOUNTAINS_EAST, + 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x0, 0xe8, 0x48, 0x78, 0x78, 0x0, AREA_GARDEN_FOUNTAINS, ROOM_GARDEN_FOUNTAINS_WEST, + 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x0, 0x68, 0x74, 0x68, 0x1a8, 0x0, AREA_HYRULE_CASTLE_CELLAR, ROOM_HYRULE_CASTLE_CELLAR_0, + 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x0, 0x3a8, 0x184, 0x78, 0x68, 0x0, AREA_DOJOS, ROOM_DOJOS_TO_GRIMBLADE, 1, TRANSITION_TYPE_NORMAL, 0x0, + 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x1f8, 0x48, 0x30, AREA_HYRULE_FIELD, ROOM_HYRULE_FIELD_NORTH_HYRULE_FIELD, + 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, + TransitionListEnd, +}; +const Transition gUnk_08134FBC[] = { + { WARP_TYPE_AREA, 0x0, 0x1f8, 0x28, 0x198, 0x1f0, 0x2, AREA_DARK_HYRULE_CASTLE, ROOM_DARK_HYRULE_CASTLE_1F_ENTRANCE, + 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x0, 0x308, 0x48, 0x78, 0x78, 0x0, AREA_GARDEN_FOUNTAINS, ROOM_GARDEN_FOUNTAINS_EAST, + 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x0, 0xe8, 0x48, 0x78, 0x78, 0x0, AREA_GARDEN_FOUNTAINS, ROOM_GARDEN_FOUNTAINS_WEST, + 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x0, 0x68, 0x74, 0x68, 0x1a8, 0x0, AREA_HYRULE_CASTLE_CELLAR, ROOM_HYRULE_CASTLE_CELLAR_0, + 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x0, 0x3a8, 0x184, 0x78, 0x68, 0x0, AREA_DOJOS, ROOM_DOJOS_TO_GRIMBLADE, 1, TRANSITION_TYPE_NORMAL, 0x0, + 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x1f8, 0x48, 0x30, AREA_HYRULE_FIELD, ROOM_HYRULE_FIELD_NORTH_HYRULE_FIELD, + 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, + TransitionListEnd, +}; +const Transition gUnk_08135048[] = { + { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0xfff, 0x8, 0x30, AREA_HYRULE_FIELD, ROOM_HYRULE_FIELD_NORTH_HYRULE_FIELD, + 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, + TransitionListEnd, +}; +const Transition* const gExitLists_CastleGarden[] = { + [ROOM_CASTLE_GARDEN_MAIN] = gExitList_CastleGarden_Main, +}; + +const Transition gExitList_CloudTops_House[] = { + { WARP_TYPE_AREA, 0x0, 0x1e8, 0x158, 0x78, 0x138, 0x0, AREA_WIND_TRIBE_TOWER, ROOM_WIND_TRIBE_TOWER_ENTRANCE, + 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0, 0x0 }, + TransitionListEnd, +}; +const Transition* const gExitLists_CloudTops[] = { + [ROOM_CLOUD_TOPS_CLOUD_TOPS] = gExitList_CloudTops_House, +}; + +const Transition gExitList_RoyalValley_Main[] = { + { WARP_TYPE_AREA, 0x0, 0xf0, 0x28, 0x88, 0x78, 0x2, AREA_ROYAL_CRYPT, ROOM_ROYAL_CRYPT_ENTRANCE, 1, + TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x0, 0x1a0, 0x198, 0x78, 0x78, 0x2, AREA_HOUSE_INTERIORS_2, ROOM_HOUSE_INTERIORS_2_DAMPE, + 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x0, 0x198, 0x2a8, 0x78, 0xf8, 0x0, AREA_GREAT_FAIRIES, ROOM_GREAT_FAIRIES_GRAVEYARD, + 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x0, 0x58, 0x84, 0x78, 0x78, 0x0, AREA_ROYAL_VALLEY_GRAVES, ROOM_ROYAL_VALLEY_GRAVES_HEART_PIECE, + 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x0, 0x188, 0x84, 0x78, 0x118, 0x0, AREA_ROYAL_VALLEY_GRAVES, ROOM_ROYAL_VALLEY_GRAVES_GINA, + 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0xfff, 0x10, 0x10, AREA_HYRULE_FIELD, ROOM_HYRULE_FIELD_TRILBY_HIGHLANDS, + 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x8, 0x50, 0x8, AREA_HYRULE_FIELD, ROOM_HYRULE_FIELD_NORTH_HYRULE_FIELD, + 1, TRANSITION_TYPE_NORMAL, 0x2, 0x0, 0x0, 0x0, 0x0 }, +#ifndef EU + { WARP_TYPE_AREA, 0x0, 0x78, 0x28c, 0x78, 0x18, 0x0, AREA_ROYAL_VALLEY, ROOM_ROYAL_VALLEY_FOREST_MAZE, + 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, +#else + { WARP_TYPE_AREA, 0x0, 0x78, 0x288, 0x78, 0x18, 0x0, AREA_ROYAL_VALLEY, ROOM_ROYAL_VALLEY_FOREST_MAZE, + 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, +#endif + { WARP_TYPE_AREA, 0x0, 0x78, 0x328, 0x78, 0x98, 0x0, AREA_ROYAL_VALLEY, ROOM_ROYAL_VALLEY_FOREST_MAZE, + 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0, 0x0 }, + TransitionListEnd, +}; +const Transition gExitList_RoyalValley_ForestMaze[] = { + { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x78, 0x338, 0x30, AREA_ROYAL_VALLEY, ROOM_ROYAL_VALLEY_MAIN, 1, TRANSITION_TYPE_NORMAL, + 0x4, 0x0, 0x0, 0x0, 0x0 }, + TransitionListEnd, +}; +const Transition gUnk_08135190[] = { + { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x78, 0x278, 0x3, AREA_ROYAL_VALLEY, ROOM_ROYAL_VALLEY_MAIN, 1, TRANSITION_TYPE_NORMAL, + 0x0, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x78, 0x338, 0x30, AREA_ROYAL_VALLEY, ROOM_ROYAL_VALLEY_MAIN, 1, TRANSITION_TYPE_NORMAL, + 0x4, 0x0, 0x0, 0x0, 0x0 }, + TransitionListEnd, +}; +const Transition* const gExitLists_RoyalValley[] = { + [ROOM_ROYAL_VALLEY_MAIN] = gExitList_RoyalValley_Main, + [ROOM_ROYAL_VALLEY_FOREST_MAZE] = gExitList_RoyalValley_ForestMaze, +}; + +const Transition gExitList_VeilFalls_Main[] = { + { WARP_TYPE_AREA, 0x0, 0xa8, 0x22, 0x38, 0x78, 0x0, AREA_VEIL_FALLS_CAVES, ROOM_VEIL_FALLS_CAVES_HALLWAY_2F, + 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x0, 0x158, 0x22, 0x118, 0x78, 0x0, AREA_VEIL_FALLS_CAVES, ROOM_VEIL_FALLS_CAVES_HALLWAY_2F, + 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x0, 0x118, 0x42, 0xb8, 0x78, 0x0, AREA_VEIL_FALLS_CAVES, ROOM_VEIL_FALLS_CAVES_HALLWAY_1F, + 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x0, 0x38, 0x1e2, 0x38, 0x78, 0x0, AREA_VEIL_FALLS_CAVES, ROOM_VEIL_FALLS_CAVES_ENTRANCE, + 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x0, 0xd8, 0x1c2, 0x98, 0x78, 0x0, AREA_VEIL_FALLS_CAVES, ROOM_VEIL_FALLS_CAVES_EXIT, + 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x0, 0xd8, 0x142, 0x98, 0x118, 0x0, AREA_VEIL_FALLS_CAVES, + ROOM_VEIL_FALLS_CAVES_HALLWAY_BLOCK_PUZZLE, 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x0, 0xa8, 0xc2, 0xb8, 0x118, 0x0, AREA_VEIL_FALLS_CAVES, ROOM_VEIL_FALLS_CAVES_HALLWAY_RUPEE_PATH, + 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x0, 0x38, 0x28, 0x78, 0x78, 0x0, AREA_VEIL_FALLS_CAVES, ROOM_VEIL_FALLS_CAVES_HALLWAY_HEART_PIECE, + 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x0, 0xc8, 0x74, 0x38, 0x108, 0x0, AREA_VEIL_FALLS_CAVES, ROOM_VEIL_FALLS_CAVES_HALLWAY_1F, + 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0xfff, 0x10, 0x30, AREA_HYRULE_FIELD, ROOM_HYRULE_FIELD_LON_LON_RANCH, + 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0xfff, 0xb8, 0x3, AREA_VEIL_FALLS_TOP, ROOM_VEIL_FALLS_TOP_0, 1, TRANSITION_TYPE_NORMAL, + 0x0, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x3e8, 0xfff, 0xc0, AREA_HYRULE_FIELD, ROOM_HYRULE_FIELD_NORTH_HYRULE_FIELD, + 1, TRANSITION_TYPE_NORMAL, 0x6, 0x0, 0x0, 0x0, 0x0 }, + TransitionListEnd, +}; +const Transition* const gExitLists_VeilFalls[] = { + [ROOM_VEIL_FALLS_MAIN] = gExitList_VeilFalls_Main, +}; + +const Transition gExitList_Beanstalks_MountCrenel[] = { + { WARP_TYPE_AREA, 0x0, 0x58, 0x88, 0x78, 0x18, 0x2, AREA_BEANSTALKS, ROOM_BEANSTALKS_CRENEL_CLIMB, 1, + TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0, 0x0 }, + TransitionListEnd, +}; +const Transition gExitList_Beanstalks_LakeHylia[] = { + { WARP_TYPE_AREA, 0x0, 0x58, 0x88, 0x78, 0x18, 0x2, AREA_BEANSTALKS, ROOM_BEANSTALKS_LAKE_HYLIA_CLIMB, + 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0, 0x0 }, + TransitionListEnd, +}; +const Transition gExitList_Beanstalks_Ruins[] = { + { WARP_TYPE_AREA, 0x0, 0x58, 0x88, 0x78, 0x18, 0x2, AREA_BEANSTALKS, ROOM_BEANSTALKS_RUINS_CLIMB, 1, + TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0, 0x0 }, + TransitionListEnd, +}; +const Transition gExitList_Beanstalks_EasternHills[] = { + { WARP_TYPE_AREA, 0x0, 0x58, 0x88, 0x78, 0x18, 0x2, AREA_BEANSTALKS, ROOM_BEANSTALKS_EASTERN_HILLS_CLIMB, + 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0, 0x0 }, + TransitionListEnd, +}; +const Transition gExitList_Beanstalks_WesternWoods[] = { + { WARP_TYPE_AREA, 0x0, 0x58, 0x88, 0x78, 0x18, 0x2, AREA_BEANSTALKS, ROOM_BEANSTALKS_WESTERN_WOODS_CLIMB, + 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0, 0x0 }, + TransitionListEnd, +}; +const Transition gExitList_Beanstalks_MountCrenelClimb[] = { + { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x58, 0x68, 0x3, AREA_BEANSTALKS, ROOM_BEANSTALKS_CRENEL, 1, TRANSITION_TYPE_NORMAL, 0x0, + 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x98, 0x18, 0x30, AREA_MT_CRENEL, ROOM_MT_CRENEL_TOP, 1, TRANSITION_TYPE_NORMAL, 0x0, + 0x0, 0x0, 0x0, 0x0 }, + TransitionListEnd, +}; +const Transition gExitList_Beanstalks_LakeHyliaClimb[] = { + { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x58, 0x68, 0x3, AREA_BEANSTALKS, ROOM_BEANSTALKS_LAKE_HYLIA, 1, TRANSITION_TYPE_NORMAL, + 0x0, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x228, 0x18, 0x30, AREA_LAKE_HYLIA, ROOM_LAKE_HYLIA_BEANSTALK, 1, TRANSITION_TYPE_NORMAL, + 0x0, 0x0, 0x0, 0x0, 0x0 }, + TransitionListEnd, +}; +const Transition gExitList_Beanstalks_RuinsClimb[] = { + { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x58, 0x68, 0x3, AREA_BEANSTALKS, ROOM_BEANSTALKS_RUINS, 1, TRANSITION_TYPE_NORMAL, 0x0, + 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x48, 0x18, 0x30, AREA_RUINS, ROOM_RUINS_BEANSTALK, 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, + 0x0, 0x0, 0x0 }, + TransitionListEnd, +}; +const Transition gExitList_Beanstalks_EasternHillsClimb[] = { + { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x58, 0x68, 0x3, AREA_BEANSTALKS, ROOM_BEANSTALKS_EASTERN_HILLS, 1, + TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x48, 0x18, 0x30, AREA_HYRULE_FIELD, ROOM_HYRULE_FIELD_EASTERN_HILLLS_CENTER, + 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0, 0x0 }, + TransitionListEnd, +}; +const Transition gExitList_Beanstalks_WesternWoodsClimb[] = { + { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x58, 0x68, 0x3, AREA_BEANSTALKS, ROOM_BEANSTALKS_WESTERN_WOODS, 1, + TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x38, 0x18, 0x30, AREA_HYRULE_FIELD, ROOM_HYRULE_FIELD_WESTERN_WOODS_SOUTH, + 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0, 0x0 }, + TransitionListEnd, +}; +const Transition* const gExitLists_Beanstalks[] = { + [ROOM_BEANSTALKS_CRENEL] = gExitList_Beanstalks_MountCrenel, + [ROOM_BEANSTALKS_LAKE_HYLIA] = gExitList_Beanstalks_LakeHylia, + [ROOM_BEANSTALKS_RUINS] = gExitList_Beanstalks_Ruins, + [ROOM_BEANSTALKS_EASTERN_HILLS] = gExitList_Beanstalks_EasternHills, + [ROOM_BEANSTALKS_WESTERN_WOODS] = gExitList_Beanstalks_WesternWoods, + [ROOM_BEANSTALKS_5] = gExitList_NoExitList, + [ROOM_BEANSTALKS_6] = gExitList_NoExitList, + [ROOM_BEANSTALKS_7] = gExitList_NoExitList, + [ROOM_BEANSTALKS_8] = gExitList_NoExitList, + [ROOM_BEANSTALKS_9] = gExitList_NoExitList, + [ROOM_BEANSTALKS_a] = gExitList_NoExitList, + [ROOM_BEANSTALKS_b] = gExitList_NoExitList, + [ROOM_BEANSTALKS_c] = gExitList_NoExitList, + [ROOM_BEANSTALKS_d] = gExitList_NoExitList, + [ROOM_BEANSTALKS_e] = gExitList_NoExitList, + [ROOM_BEANSTALKS_f] = gExitList_NoExitList, + [ROOM_BEANSTALKS_CRENEL_CLIMB] = gExitList_Beanstalks_MountCrenelClimb, + [ROOM_BEANSTALKS_LAKE_HYLIA_CLIMB] = gExitList_Beanstalks_LakeHyliaClimb, + [ROOM_BEANSTALKS_RUINS_CLIMB] = gExitList_Beanstalks_RuinsClimb, + [ROOM_BEANSTALKS_EASTERN_HILLS_CLIMB] = gExitList_Beanstalks_EasternHillsClimb, + [ROOM_BEANSTALKS_WESTERN_WOODS_CLIMB] = gExitList_Beanstalks_WesternWoodsClimb, +}; + +const Transition gExitList_LakeWoodsCave_Main[] = { + { WARP_TYPE_AREA, 0x0, 0x248, 0x188, 0x148, 0x358, 0x0, AREA_LAKE_HYLIA, ROOM_LAKE_HYLIA_MAIN, 1, TRANSITION_TYPE_NORMAL, + 0x0, 0x0, 0x0, 0x0, 0x0 }, + TransitionListEnd, +}; +const Transition* const gExitLists_LakeWoodsCave[] = { + [ROOM_LAKE_WOODS_CAVE_MAIN] = gExitList_LakeWoodsCave_Main, +}; + +const Transition gExitList_HyruleDigCaves_Main[] = { + { WARP_TYPE_AREA, 0x0, 0x188, 0x218, 0x48, 0x118, 0x0, AREA_HYRULE_TOWN_UNDERGROUND, ROOM_HYRULE_TOWN_UNDERGROUND_0, + 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, + TransitionListEnd, +}; +const Transition* const gExitLists_HyruleDigCaves[] = { + [ROOM_HYRULE_DIG_CAVES_TOWN] = gExitList_HyruleDigCaves_Main, +}; + +const Transition gExitList_MinishVillage_Main[] = { + { WARP_TYPE_AREA, 0x0, 0x78, 0x88, 0x78, 0x78, 0x0, AREA_MINISH_HOUSE_INTERIORS, + ROOM_MINISH_HOUSE_INTERIORS_GENTARI_MAIN, 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x0, 0x38, 0x70, 0x68, 0x50, 0x1, AREA_MINISH_HOUSE_INTERIORS, + ROOM_MINISH_HOUSE_INTERIORS_GENTARI_EXIT, 1, TRANSITION_TYPE_NORMAL, 0x2, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x0, 0x258, 0x58, 0xe8, 0xb8, 0x0, AREA_MINISH_HOUSE_INTERIORS, ROOM_MINISH_HOUSE_INTERIORS_FESTARI, + 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x0, 0x128, 0x228, 0x80, 0x78, 0x0, AREA_MINISH_HOUSE_INTERIORS, ROOM_MINISH_HOUSE_INTERIORS_RED, + 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x0, 0x168, 0x1d8, 0x80, 0x78, 0x0, AREA_MINISH_HOUSE_INTERIORS, ROOM_MINISH_HOUSE_INTERIORS_GREEN, + 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x0, 0x1a8, 0x208, 0x80, 0x78, 0x0, AREA_MINISH_HOUSE_INTERIORS, ROOM_MINISH_HOUSE_INTERIORS_BLUE, + 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x0, 0x1e8, 0x2d8, 0x78, 0x78, 0x0, AREA_MINISH_HOUSE_INTERIORS, + ROOM_MINISH_HOUSE_INTERIORS_SHOE_MINISH, 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x0, 0x48, 0x248, 0x78, 0xc8, 0x0, AREA_MINISH_HOUSE_INTERIORS, + ROOM_MINISH_HOUSE_INTERIORS_POT_MINISH, 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x0, 0x378, 0x288, 0x78, 0x140, 0x0, AREA_MINISH_HOUSE_INTERIORS, + ROOM_MINISH_HOUSE_INTERIORS_BARREL_MINISH, 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x0, 0x368, 0x234, 0x58, 0x100, 0x0, AREA_MINISH_HOUSE_INTERIORS, + ROOM_MINISH_HOUSE_INTERIORS_BARREL_MINISH, 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x78, 0x18, 0x30, AREA_MINISH_PATHS, ROOM_MINISH_PATHS_MINISH_VILLAGE, + 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x1c8, 0x338, 0x1, AREA_MINISH_WOODS, ROOM_MINISH_WOODS_MAIN, 1, TRANSITION_TYPE_NORMAL, + 0x0, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x1a8, 0x348, 0x40, AREA_MINISH_WOODS, ROOM_MINISH_WOODS_MAIN, 1, TRANSITION_TYPE_INSTANT_MINISH, + 0x6, 0x0, 0x0, 0x0, 0x0 }, + TransitionListEnd, +}; +const Transition gExitList_MinishVillage_SideHouse[] = { + { WARP_TYPE_AREA, 0x0, 0x138, 0x68, 0x80, 0x78, 0x0, AREA_MINISH_HOUSE_INTERIORS, + ROOM_MINISH_HOUSE_INTERIORS_SIDE_AREA, 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0, 0x0 }, + TransitionListEnd, +}; +const Transition* const gExitLists_MinishVillage[] = { + [ROOM_MINISH_VILLAGE_MAIN] = gExitList_MinishVillage_Main, + [ROOM_MINISH_VILLAGE_SIDE_HOUSE_AREA] = gExitList_MinishVillage_SideHouse, + [ROOM_MINISH_VILLAGE_2] = gExitList_NoExitList, + [ROOM_MINISH_VILLAGE_3] = gExitList_NoExitList, +}; + +const Transition gExitList_MelarisMine_Main[] = { + { WARP_TYPE_AREA, 0x0, 0x78, 0x38, 0x78, 0xa8, 0x0, AREA_CRENEL_MINISH_PATHS, ROOM_CRENEL_MINISH_PATHS_MELARI, + 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x0, 0x70, 0x12c, 0xbc, 0x138, 0x0, AREA_MT_CRENEL, ROOM_MT_CRENEL_CAVERN_OF_FLAMES_ENTRANCE, + 1, TRANSITION_TYPE_INSTANT_MINISH, 0x6, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x0, 0xa8, 0x220, 0x78, 0x28, 0x0, AREA_MINISH_HOUSE_INTERIORS, + ROOM_MINISH_HOUSE_INTERIORS_MELARI_MINES_SOUTHWEST, 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x0, 0x228, 0x220, 0x78, 0x28, 0x0, AREA_MINISH_HOUSE_INTERIORS, + ROOM_MINISH_HOUSE_INTERIORS_MELARI_MINES_SOUTHEAST, 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x0, 0x280, 0x11c, 0x24, 0x56, 0x0, AREA_MINISH_HOUSE_INTERIORS, + ROOM_MINISH_HOUSE_INTERIORS_MELARI_MINES_EAST, 1, TRANSITION_TYPE_NORMAL, 0x2, 0x0, 0x0, 0x0, 0x0 }, + TransitionListEnd, +}; +const Transition* const gExitLists_MelarisMine[] = { + [ROOM_MELARIS_MINE_MAIN] = gExitList_MelarisMine_Main, +}; + +const Transition gExitList_MinishPaths_ToMinishVillage[] = { + { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x208, 0x3e0, 0x3, AREA_MINISH_VILLAGE, ROOM_MINISH_VILLAGE_MAIN, 1, + TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x1d8, 0x398, 0x30, AREA_MINISH_WOODS, ROOM_MINISH_WOODS_MAIN, 1, TRANSITION_TYPE_INSTANT_MINISH, + 0x4, 0x0, 0x0, 0x0, 0x0 }, + TransitionListEnd, +}; +const Transition gExitList_MinishPaths_CastorWilds[] = { + { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x28, 0x68, 0x3, AREA_CASTOR_WILDS, ROOM_CASTOR_WILDS_MAIN, 1, TRANSITION_TYPE_INSTANT_MINISH, + 0x0, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x28, 0xa8, 0x30, AREA_CASTOR_WILDS, ROOM_CASTOR_WILDS_MAIN, 1, TRANSITION_TYPE_INSTANT_MINISH, + 0x4, 0x0, 0x0, 0x0, 0x0 }, + TransitionListEnd, +}; +const Transition gExitList_MinishPaths_HyruleTown[] = { + { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x398, 0x68, 0x30, AREA_HYRULE_TOWN, ROOM_HYRULE_TOWN_MAIN, 1, TRANSITION_TYPE_INSTANT_MINISH, + 0x4, 0x0, 0x0, 0x0, 0x0 }, + TransitionListEnd, +}; +const Transition gExitList_MinishPaths_LonLonRanch[] = { + { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x1e0, 0x174, 0x30, AREA_HYRULE_FIELD, ROOM_HYRULE_FIELD_LON_LON_RANCH, + 1, TRANSITION_TYPE_INSTANT_MINISH, 0x4, 0x0, 0x0, 0x0, 0x0 }, + TransitionListEnd, +}; +const Transition gExitList_MinishPaths_MayorsCabin[] = { + { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x2a8, 0x31a, 0x3, AREA_LAKE_HYLIA, ROOM_LAKE_HYLIA_MAIN, 1, TRANSITION_TYPE_INSTANT_MINISH, 0x0, + 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0xb8, 0x48, 0x30, AREA_HOUSE_INTERIORS_4, ROOM_HOUSE_INTERIORS_4_MAYOR_LAKE_CABIN, + 1, TRANSITION_TYPE_INSTANT_MINISH, 0x4, 0x0, 0x0, 0x0, 0x0 }, + TransitionListEnd, +}; +const Transition* const gExitLists_MinishPaths[] = { + [ROOM_MINISH_PATHS_MINISH_VILLAGE] = gExitList_MinishPaths_ToMinishVillage, + [ROOM_MINISH_PATHS_BOW] = gExitList_MinishPaths_CastorWilds, + [ROOM_MINISH_PATHS_SCHOOLYARD] = gExitList_MinishPaths_HyruleTown, + [ROOM_MINISH_PATHS_LON_LON_RANCH] = gExitList_MinishPaths_LonLonRanch, + [ROOM_MINISH_PATHS_LAKE_HYLIA] = gExitList_MinishPaths_MayorsCabin, +}; + +const Transition gExitList_CrenelMinishPaths_CrenelBean[] = { + { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0xd2, 0x60, 0x30, AREA_MT_CRENEL, ROOM_MT_CRENEL_ENTRANCE, 1, TRANSITION_TYPE_INSTANT_MINISH, + 0x4, 0x0, 0x0, 0x0, 0x0 }, + TransitionListEnd, +}; +const Transition gExitList_CrenelMinishPaths_CrenelWater[] = { + { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x372, 0xf5, 0x30, AREA_MT_CRENEL, ROOM_MT_CRENEL_ENTRANCE, 1, TRANSITION_TYPE_INSTANT_MINISH, + 0x4, 0x0, 0x0, 0x0, 0x0 }, + TransitionListEnd, +}; +const Transition gExitList_CrenelMinishPaths_Rainfall[] = { + { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x2cc, 0x98, 0xc0, AREA_MT_CRENEL, ROOM_MT_CRENEL_TOP, 1, TRANSITION_TYPE_INSTANT_MINISH, 0x6, + 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x2f4, 0x98, 0xc, AREA_MT_CRENEL, ROOM_MT_CRENEL_TOP, 1, TRANSITION_TYPE_INSTANT_MINISH, 0x2, + 0x0, 0x0, 0x0, 0x0 }, + TransitionListEnd, +}; +const Transition gExitList_CrenelMinishPaths_MelarisMine[] = { + { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0xf4, 0x108, 0xc, AREA_MT_CRENEL, ROOM_MT_CRENEL_CAVERN_OF_FLAMES_ENTRANCE, + 1, TRANSITION_TYPE_INSTANT_MINISH, 0x2, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x78, 0x48, 0x30, AREA_MELARIS_MINE, ROOM_MELARIS_MINE_MAIN, 1, TRANSITION_TYPE_NORMAL, + 0x4, 0x0, 0x0, 0x0, 0x0 }, + TransitionListEnd, +}; +const Transition* const gExitLists_CrenelMinishPaths[] = { + [ROOM_CRENEL_MINISH_PATHS_BEAN] = gExitList_CrenelMinishPaths_CrenelBean, + [ROOM_CRENEL_MINISH_PATHS_SPRING_WATER] = gExitList_CrenelMinishPaths_CrenelWater, + [ROOM_CRENEL_MINISH_PATHS_RAIN] = gExitList_CrenelMinishPaths_Rainfall, + [ROOM_CRENEL_MINISH_PATHS_MELARI] = gExitList_CrenelMinishPaths_MelarisMine, +}; + +const Transition gExitList_DigCaves1_TrilbyHighlands[] = { + { WARP_TYPE_AREA, 0x0, 0x88, 0x44, 0x88, 0x78, 0x0, AREA_HYRULE_FIELD, ROOM_HYRULE_FIELD_TRILBY_HIGHLANDS, + 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x0, 0x1a8, 0x78, 0xb8, 0x28, 0x0, AREA_CAVES, ROOM_CAVES_TRILBY_MITTS_FAIRY_FOUNTAIN, + 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, + TransitionListEnd, +}; +const Transition* const gExitLists_DigCaves1[] = { + [ROOM_DIG_CAVES_EASTERN_HILLS] = gExitList_NoExitList, + [ROOM_DIG_CAVES_1] = gExitList_NoExitList, + [ROOM_DIG_CAVES_2] = gExitList_NoExitList, + [ROOM_DIG_CAVES_TRILBY_HIGHLANDS] = gExitList_DigCaves1_TrilbyHighlands, +}; + +const Transition gExitList_MinishHouseInteriors_GentariMain[] = { + { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x78, 0x98, 0x30, AREA_MINISH_VILLAGE, ROOM_MINISH_VILLAGE_MAIN, 1, + TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, + TransitionListEnd, +}; +const Transition gExitList_MinishHouseInteriors_GentariExit[] = { + { WARP_TYPE_AREA, 0x0, 0x48, 0x50, 0x28, 0x70, 0x1, AREA_MINISH_VILLAGE, ROOM_MINISH_VILLAGE_MAIN, 1, + TRANSITION_TYPE_NORMAL, 0x6, 0x0, 0x0, 0x0, 0x0 }, + TransitionListEnd, +}; +const Transition gExitList_MinishHouseInteriors_Festari[] = { + { WARP_TYPE_AREA, 0x0, 0xe8, 0xe8, 0x258, 0x68, 0x0, AREA_MINISH_VILLAGE, ROOM_MINISH_VILLAGE_MAIN, 1, + TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x0, 0xe8, 0x18, 0x1d0, 0x33c, 0x0, AREA_MINISH_WOODS, ROOM_MINISH_WOODS_MAIN, 1, + TRANSITION_TYPE_INSTANT_MINISH, 0x0, 0x0, 0x0, 0x0, 0x0 }, + TransitionListEnd, +}; +const Transition gExitList_MinishHouseInteriors_Red[] = { + { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x128, 0x238, 0x30, AREA_MINISH_VILLAGE, ROOM_MINISH_VILLAGE_MAIN, 1, + TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, + TransitionListEnd, +}; +const Transition gExitList_MinishHouseInteriors_Green[] = { + { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x168, 0x1e8, 0x30, AREA_MINISH_VILLAGE, ROOM_MINISH_VILLAGE_MAIN, 1, + TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, + TransitionListEnd, +}; +const Transition gExitList_MinishHouseInteriors_Blue[] = { + { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x1a8, 0x218, 0x30, AREA_MINISH_VILLAGE, ROOM_MINISH_VILLAGE_MAIN, 1, + TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, + TransitionListEnd, +}; +const Transition gExitList_MinishHouseInteriors_SideArea[] = { + { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x138, 0x78, 0x30, AREA_MINISH_VILLAGE, ROOM_MINISH_VILLAGE_SIDE_HOUSE_AREA, + 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, + TransitionListEnd, +}; +const Transition gExitList_MinishHouseInteriors_ShoeMinish[] = { + { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x1e8, 0x2e8, 0x30, AREA_MINISH_VILLAGE, ROOM_MINISH_VILLAGE_MAIN, 1, + TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, + TransitionListEnd, +}; +const Transition gExitList_MinishHouseInteriors_PotMinish[] = { + { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x48, 0x258, 0x30, AREA_MINISH_VILLAGE, ROOM_MINISH_VILLAGE_MAIN, 1, + TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, + TransitionListEnd, +}; +const Transition gExitList_MinishHouseInteriors_BarrelMinish[] = { + { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x378, 0x298, 0x30, AREA_MINISH_VILLAGE, ROOM_MINISH_VILLAGE_MAIN, 1, + TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x0, 0x58, 0xd0, 0x368, 0x218, 0x0, AREA_MINISH_VILLAGE, ROOM_MINISH_VILLAGE_MAIN, 1, + TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0, 0x0 }, + TransitionListEnd, +}; +const Transition gExitList_MinishHouseInteriors_NULL1[] = { + { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x378, 0x290, 0x30, AREA_MINISH_VILLAGE, ROOM_MINISH_VILLAGE_SIDE_HOUSE_AREA, + 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, + TransitionListEnd, +}; +const Transition gExitList_MinishHouseInteriors_NULL2[] = { + { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x138, 0x70, 0x30, AREA_MINISH_VILLAGE, ROOM_MINISH_VILLAGE_SIDE_HOUSE_AREA, + 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, + TransitionListEnd, +}; +const Transition gExitList_MinishHouseInteriors_MelariMinesSouthwest[] = { + { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0xa8, 0x208, 0x3, AREA_MELARIS_MINE, ROOM_MELARIS_MINE_MAIN, 1, TRANSITION_TYPE_NORMAL, + 0x0, 0x0, 0x0, 0x0, 0x0 }, + TransitionListEnd, +}; +const Transition gExitList_MinishHouseInteriors_MelariMinesSoutheast[] = { + { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x228, 0x208, 0x3, AREA_MELARIS_MINE, ROOM_MELARIS_MINE_MAIN, 1, TRANSITION_TYPE_NORMAL, + 0x0, 0x0, 0x0, 0x0, 0x0 }, + TransitionListEnd, +}; +const Transition gExitList_MinishHouseInteriors_MelariMinesEast[] = { + { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x270, 0x11e, 0xc0, AREA_MELARIS_MINE, ROOM_MELARIS_MINE_MAIN, 1, TRANSITION_TYPE_NORMAL, + 0x6, 0x0, 0x0, 0x0, 0x0 }, + TransitionListEnd, +}; +const Transition gExitList_MinishHouseInteriors_HyruleFieldSouthwest[] = { + { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0xb8, 0x35, 0x30, AREA_HYRULE_FIELD, ROOM_HYRULE_FIELD_WESTERN_WOODS_SOUTH, + 1, TRANSITION_TYPE_INSTANT_MINISH, 0x4, 0x0, 0x0, 0x0, 0x0 }, + TransitionListEnd, +}; +const Transition gExitList_MinishHouseInteriors_SouthHyruleField[] = { + { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x48, 0x1d4, 0x30, AREA_HYRULE_FIELD, ROOM_HYRULE_FIELD_SOUTH_HYRULE_FIELD, + 1, TRANSITION_TYPE_INSTANT_MINISH, 0x4, 0x0, 0x0, 0x0, 0x0 }, + TransitionListEnd, +}; +const Transition gExitList_MinishHouseInteriors_NextToKnuckle[] = { + { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x28, 0x55, 0x30, AREA_HYRULE_FIELD, ROOM_HYRULE_FIELD_TRILBY_HIGHLANDS, + 1, TRANSITION_TYPE_INSTANT_MINISH, 0x4, 0x0, 0x0, 0x0, 0x0 }, + TransitionListEnd, +}; +const Transition gExitList_MinishHouseInteriors_Librari[] = { + { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x1e8, 0x1b4, 0x30, AREA_LAKE_HYLIA, ROOM_LAKE_HYLIA_MAIN, 1, TRANSITION_TYPE_INSTANT_MINISH, + 0x4, 0x0, 0x0, 0x0, 0x0 }, + TransitionListEnd, +}; +const Transition gExitList_MinishHouseInteriors_HyruleFieldExit[] = { + { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x38, 0x35, 0x30, AREA_HYRULE_FIELD, ROOM_HYRULE_FIELD_EASTERN_HILLLS_SOUTH, + 1, TRANSITION_TYPE_INSTANT_MINISH, 0x4, 0x0, 0x0, 0x0, 0x0 }, + TransitionListEnd, +}; +const Transition gExitList_MinishHouseInteriors_HyruleTown[] = { + { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x38, 0x1b5, 0x30, AREA_HYRULE_TOWN, ROOM_HYRULE_TOWN_MAIN, 1, TRANSITION_TYPE_INSTANT_MINISH, + 0x4, 0x0, 0x0, 0x0, 0x0 }, + TransitionListEnd, +}; +const Transition gExitList_MinishHouseInteriors_MinishWoodsBomb[] = { + { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x138, 0x325, 0x30, AREA_MINISH_WOODS, ROOM_MINISH_WOODS_MAIN, 1, TRANSITION_TYPE_INSTANT_MINISH, + 0x4, 0x0, 0x0, 0x0, 0x0 }, + TransitionListEnd, +}; +const Transition gExitList_MinishHouseInteriors_LakeHyliaOcarina[] = { + { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0xc8, 0x1a4, 0x30, AREA_LAKE_HYLIA, ROOM_LAKE_HYLIA_MAIN, 1, TRANSITION_TYPE_INSTANT_MINISH, 0x4, + 0x0, 0x0, 0x0, 0x0 }, + TransitionListEnd, +}; +const Transition* const gExitLists_MinishHouseInteriors[] = { + [ROOM_MINISH_HOUSE_INTERIORS_GENTARI_MAIN] = gExitList_MinishHouseInteriors_GentariMain, + [ROOM_MINISH_HOUSE_INTERIORS_GENTARI_EXIT] = gExitList_MinishHouseInteriors_GentariExit, + [ROOM_MINISH_HOUSE_INTERIORS_FESTARI] = gExitList_MinishHouseInteriors_Festari, + [ROOM_MINISH_HOUSE_INTERIORS_RED] = gExitList_MinishHouseInteriors_Red, + [ROOM_MINISH_HOUSE_INTERIORS_GREEN] = gExitList_MinishHouseInteriors_Green, + [ROOM_MINISH_HOUSE_INTERIORS_BLUE] = gExitList_MinishHouseInteriors_Blue, + [ROOM_MINISH_HOUSE_INTERIORS_SIDE_AREA] = gExitList_MinishHouseInteriors_SideArea, + [ROOM_MINISH_HOUSE_INTERIORS_SHOE_MINISH] = gExitList_MinishHouseInteriors_ShoeMinish, + [ROOM_MINISH_HOUSE_INTERIORS_POT_MINISH] = gExitList_MinishHouseInteriors_PotMinish, + [ROOM_MINISH_HOUSE_INTERIORS_BARREL_MINISH] = gExitList_MinishHouseInteriors_BarrelMinish, + [ROOM_MINISH_HOUSE_INTERIORS_NULL1] = gExitList_MinishHouseInteriors_NULL1, + [ROOM_MINISH_HOUSE_INTERIORS_NULL2] = gExitList_MinishHouseInteriors_NULL2, + [ROOM_MINISH_HOUSE_INTERIORS_c] = gExitList_NoExitList, + [ROOM_MINISH_HOUSE_INTERIORS_d] = gExitList_NoExitList, + [ROOM_MINISH_HOUSE_INTERIORS_e] = gExitList_NoExitList, + [ROOM_MINISH_HOUSE_INTERIORS_f] = gExitList_NoExitList, + [ROOM_MINISH_HOUSE_INTERIORS_MELARI_MINES_SOUTHWEST] = gExitList_MinishHouseInteriors_MelariMinesSouthwest, + [ROOM_MINISH_HOUSE_INTERIORS_MELARI_MINES_SOUTHEAST] = gExitList_MinishHouseInteriors_MelariMinesSoutheast, + [ROOM_MINISH_HOUSE_INTERIORS_MELARI_MINES_EAST] = gExitList_MinishHouseInteriors_MelariMinesEast, + [ROOM_MINISH_HOUSE_INTERIORS_13] = gExitList_NoExitList, + [ROOM_MINISH_HOUSE_INTERIORS_14] = gExitList_NoExitList, + [ROOM_MINISH_HOUSE_INTERIORS_15] = gExitList_NoExitList, + [ROOM_MINISH_HOUSE_INTERIORS_16] = gExitList_NoExitList, + [ROOM_MINISH_HOUSE_INTERIORS_17] = gExitList_NoExitList, + [ROOM_MINISH_HOUSE_INTERIORS_18] = gExitList_NoExitList, + [ROOM_MINISH_HOUSE_INTERIORS_19] = gExitList_NoExitList, + [ROOM_MINISH_HOUSE_INTERIORS_1a] = gExitList_NoExitList, + [ROOM_MINISH_HOUSE_INTERIORS_1b] = gExitList_NoExitList, + [ROOM_MINISH_HOUSE_INTERIORS_1c] = gExitList_NoExitList, + [ROOM_MINISH_HOUSE_INTERIORS_1d] = gExitList_NoExitList, + [ROOM_MINISH_HOUSE_INTERIORS_1e] = gExitList_NoExitList, + [ROOM_MINISH_HOUSE_INTERIORS_1f] = gExitList_NoExitList, + [ROOM_MINISH_HOUSE_INTERIORS_HYRULE_FIELD_SOUTHWEST] = gExitList_MinishHouseInteriors_HyruleFieldSouthwest, + [ROOM_MINISH_HOUSE_INTERIORS_SOUTH_HYRULE_FIELD] = gExitList_MinishHouseInteriors_SouthHyruleField, + [ROOM_MINISH_HOUSE_INTERIORS_NEXT_TO_KNUCKLE] = gExitList_MinishHouseInteriors_NextToKnuckle, + [ROOM_MINISH_HOUSE_INTERIORS_LIBRARI] = gExitList_MinishHouseInteriors_Librari, + [ROOM_MINISH_HOUSE_INTERIORS_HYRULE_FIELD_EXIT] = gExitList_MinishHouseInteriors_HyruleFieldExit, + [ROOM_MINISH_HOUSE_INTERIORS_HYRULE_TOWN] = gExitList_MinishHouseInteriors_HyruleTown, + [ROOM_MINISH_HOUSE_INTERIORS_MINISH_WOODS_BOMB] = gExitList_MinishHouseInteriors_MinishWoodsBomb, + [ROOM_MINISH_HOUSE_INTERIORS_LAKE_HYLIA_OCARINA] = gExitList_MinishHouseInteriors_LakeHyliaOcarina, +}; + +const Transition gExitList_OuterFortressOfWinds_EntranceHall[] = { + { WARP_TYPE_AREA, 0x0, 0x78, 0x22, 0x78, 0xb0, 0x0, AREA_FORTRESS_OF_WINDS, ROOM_FORTRESS_OF_WINDS_WIZZROBE, + 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x0, 0x128, 0x22, 0x68, 0xb0, 0x0, AREA_FORTRESS_OF_WINDS, ROOM_FORTRESS_OF_WINDS_WEST_STAIRS_1F, + 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x0, 0x1d8, 0x22, 0x78, 0xb0, 0x0, AREA_FORTRESS_OF_WINDS, ROOM_FORTRESS_OF_WINDS_CENTER_STAIRS_1F, + 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x0, 0x288, 0x22, 0x68, 0xb0, 0x0, AREA_FORTRESS_OF_WINDS, ROOM_FORTRESS_OF_WINDS_EAST_STAIRS_1F, + 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x0, 0x338, 0x22, 0x88, 0xb0, 0x0, AREA_FORTRESS_OF_WINDS, ROOM_FORTRESS_OF_WINDS_HEART_PIECE, + 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x198, 0x28, 0x30, AREA_RUINS, ROOM_RUINS_FORTRESS_ENTRANCE, 1, TRANSITION_TYPE_NORMAL, + 0x4, 0x0, 0x0, 0x0, 0x0 }, + TransitionListEnd, +}; +const Transition gExitList_OuterFortressOfWinds_2F[] = { + { WARP_TYPE_AREA, 0x0, 0x78, 0x22, 0x88, 0xb0, 0x0, AREA_FORTRESS_OF_WINDS, ROOM_FORTRESS_OF_WINDS_STALFOS, + 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x0, 0x1d8, 0x92, 0x88, 0x170, 0x0, AREA_FORTRESS_OF_WINDS, ROOM_FORTRESS_OF_WINDS_MAIN_2F, + 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x0, 0x288, 0x92, 0x88, 0xa0, 0x0, AREA_FORTRESS_OF_WINDS, ROOM_FORTRESS_OF_WINDS_EAST_STAIRS_2F, + 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x0, 0x338, 0x22, 0x28, 0xb0, 0x0, AREA_FORTRESS_OF_WINDS, ROOM_FORTRESS_OF_WINDS_BOSS_KEY, + 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x0, 0x128, 0xd8, 0x128, 0x68, 0x0, AREA_OUTER_FORTRESS_OF_WINDS, ROOM_OUTER_FORTRESS_OF_WINDS_3F, + 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x0, 0x1d8, 0xd8, 0x1d8, 0x68, 0x0, AREA_OUTER_FORTRESS_OF_WINDS, ROOM_OUTER_FORTRESS_OF_WINDS_3F, + 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x0, 0x288, 0xd8, 0x288, 0x68, 0x0, AREA_OUTER_FORTRESS_OF_WINDS, ROOM_OUTER_FORTRESS_OF_WINDS_3F, + 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x0, 0x338, 0xd8, 0x338, 0x68, 0x0, AREA_OUTER_FORTRESS_OF_WINDS, ROOM_OUTER_FORTRESS_OF_WINDS_3F, + 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0, 0x0 }, + TransitionListEnd, +}; +const Transition gExitList_OuterFortressOfWinds_3F[] = { + { WARP_TYPE_AREA, 0x0, 0x68, 0x22, 0x78, 0xa0, 0x0, AREA_FORTRESS_OF_WINDS, ROOM_FORTRESS_OF_WINDS_PIT_PLATFORMS, + 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x0, 0x1d8, 0x22, 0x198, 0xa0, 0x0, AREA_FORTRESS_OF_WINDS, ROOM_FORTRESS_OF_WINDS_WEST_KEY_LEVER, + 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x0, 0x2e8, 0x22, 0x198, 0x178, 0x0, AREA_FORTRESS_OF_WINDS, ROOM_FORTRESS_OF_WINDS_EAST_KEY_LEVER, + 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x0, 0x338, 0x22, 0x1f8, 0x178, 0x0, AREA_FORTRESS_OF_WINDS, ROOM_FORTRESS_OF_WINDS_EAST_KEY_LEVER, + 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x0, 0x1d8, 0x84, 0x1d8, 0xf8, 0x0, AREA_OUTER_FORTRESS_OF_WINDS, ROOM_OUTER_FORTRESS_OF_WINDS_2F, + 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x0, 0x288, 0x84, 0x288, 0xf8, 0x0, AREA_OUTER_FORTRESS_OF_WINDS, ROOM_OUTER_FORTRESS_OF_WINDS_2F, + 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x0, 0x338, 0x84, 0x338, 0xf8, 0x0, AREA_OUTER_FORTRESS_OF_WINDS, ROOM_OUTER_FORTRESS_OF_WINDS_2F, + 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x0, 0x128, 0x84, 0x128, 0xf8, 0x0, AREA_OUTER_FORTRESS_OF_WINDS, ROOM_OUTER_FORTRESS_OF_WINDS_2F, + 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, + TransitionListEnd, +}; +const Transition gExitList_OuterFortressOfWinds_MoleMitts[] = { + { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x88, 0x22, 0x30, AREA_FORTRESS_OF_WINDS, ROOM_FORTRESS_OF_WINDS_ENTRANCE_MOLE_MITTS, + 2, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, + TransitionListEnd, +}; +const Transition gExitList_OuterFortressOfWinds_SmallKey[] = { + { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x78, 0x22, 0x30, AREA_FORTRESS_OF_WINDS, ROOM_FORTRESS_OF_WINDS_MINISH_HOLE, + 2, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, + TransitionListEnd, +}; +const Transition* const gExitLists_OuterFortressOfWinds[] = { + [ROOM_OUTER_FORTRESS_OF_WINDS_ENTRANCE_HALL] = gExitList_OuterFortressOfWinds_EntranceHall, + [ROOM_OUTER_FORTRESS_OF_WINDS_2F] = gExitList_OuterFortressOfWinds_2F, + [ROOM_OUTER_FORTRESS_OF_WINDS_3F] = gExitList_OuterFortressOfWinds_3F, + [ROOM_OUTER_FORTRESS_OF_WINDS_MOLE_MITTS] = gExitList_OuterFortressOfWinds_MoleMitts, + [ROOM_OUTER_FORTRESS_OF_WINDS_SMALL_KEY] = gExitList_OuterFortressOfWinds_SmallKey, +}; + +const Transition gExitList_HyliaDigCaves_North[] = { + { WARP_TYPE_AREA, 0x0, 0x248, 0x62, 0x208, 0x78, 0x0, AREA_LAKE_HYLIA, ROOM_LAKE_HYLIA_BEANSTALK, 1, + TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x0, 0x308, 0x62, 0x308, 0x78, 0x0, AREA_LAKE_HYLIA, ROOM_LAKE_HYLIA_BEANSTALK, 1, + TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x0, 0x398, 0x52, 0x388, 0x48, 0x0, AREA_LAKE_HYLIA, ROOM_LAKE_HYLIA_BEANSTALK, 1, + TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0, 0x0 }, + TransitionListEnd, +}; +const Transition* const gExitLists_HyliaDigCaves[] = { + [ROOM_HYLIA_DIG_CAVES_0] = gExitList_NoExitList, + [ROOM_HYLIA_DIG_CAVES_1] = gExitList_HyliaDigCaves_North, + NULL, + NULL, + NULL, +}; + +const Transition gExitList_VeilFallsTop_Main[] = { + { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0xfff, 0x10, 0x30, AREA_VEIL_FALLS, ROOM_VEIL_FALLS_MAIN, 1, TRANSITION_TYPE_NORMAL, 0x4, + 0x0, 0x0, 0x0, 0x0 }, + TransitionListEnd, +}; +const Transition* const gExitLists_VeilFallsTop[] = { + [ROOM_VEIL_FALLS_TOP_0] = gExitList_VeilFallsTop_Main, +}; + +const Transition gExitList_HouseInteriors2_Stranger[] = { + { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x98, 0x17c, 0x30, AREA_HYRULE_TOWN, ROOM_HYRULE_TOWN_MAIN, 1, TRANSITION_TYPE_NORMAL, + 0x4, 0x0, 0x0, 0x0, 0x0 }, + TransitionListEnd, +}; +const Transition gExitList_HouseInteriors2_WestOracle[] = { + { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x40, 0x1cc, 0x30, AREA_HYRULE_TOWN, ROOM_HYRULE_TOWN_MAIN, 1, TRANSITION_TYPE_NORMAL, + 0x4, 0x0, 0x0, 0x0, 0x0 }, + TransitionListEnd, +}; +const Transition gExitList_HouseInteriors2_2[] = { + { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x40, 0x1cc, 0x30, AREA_HYRULE_TOWN, ROOM_HYRULE_TOWN_MAIN, 1, TRANSITION_TYPE_NORMAL, + 0x4, 0x0, 0x0, 0x0, 0x0 }, + TransitionListEnd, +}; +const Transition gExitList_HouseInteriors2_3[] = { + { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x40, 0x1cc, 0x30, AREA_HYRULE_TOWN, ROOM_HYRULE_TOWN_MAIN, 1, TRANSITION_TYPE_NORMAL, + 0x4, 0x0, 0x0, 0x0, 0x0 }, + TransitionListEnd, +}; +const Transition gExitList_HouseInteriors2_DrLeft[] = { + { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x38, 0x25c, 0x30, AREA_HYRULE_TOWN, ROOM_HYRULE_TOWN_MAIN, 1, TRANSITION_TYPE_NORMAL, + 0x4, 0x0, 0x0, 0x0, 0x0 }, + TransitionListEnd, +}; +const Transition gExitList_HouseInteriors2_NULL1[] = { + { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x40, 0x5c, 0x30, AREA_HYRULE_FIELD, ROOM_HYRULE_FIELD_EASTERN_HILLLS_NORTH, + 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, + TransitionListEnd, +}; +const Transition gExitList_HouseInteriors2_Romio[] = { + { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x2e8, 0x304, 0x30, AREA_HYRULE_TOWN, ROOM_HYRULE_TOWN_MAIN, 1, TRANSITION_TYPE_NORMAL, + 0x4, 0x0, 0x0, 0x0, 0x0 }, + TransitionListEnd, +}; +const Transition gExitList_HouseInteriors2_Julietta[] = { + { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x348, 0x30c, 0x30, AREA_HYRULE_TOWN, ROOM_HYRULE_TOWN_MAIN, 1, TRANSITION_TYPE_NORMAL, + 0x4, 0x0, 0x0, 0x0, 0x0 }, + TransitionListEnd, +}; +const Transition gExitList_HouseInteriors2_Percy[] = { + { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x90, 0x5c, 0x30, AREA_HYRULE_FIELD, ROOM_HYRULE_FIELD_WESTERN_WOODS_CENTER, + 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, + TransitionListEnd, +}; +const Transition gExitList_HouseInteriors2_EastOracle[] = { + { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x2b8, 0x374, 0x30, AREA_HYRULE_TOWN, ROOM_HYRULE_TOWN_MAIN, 1, TRANSITION_TYPE_NORMAL, + 0x4, 0x0, 0x0, 0x0, 0x0 }, + TransitionListEnd, +}; +const Transition gExitList_HouseInteriors2_A[] = { + { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x2b8, 0x374, 0x30, AREA_HYRULE_TOWN, ROOM_HYRULE_TOWN_MAIN, 1, TRANSITION_TYPE_NORMAL, + 0x4, 0x0, 0x0, 0x0, 0x0 }, + TransitionListEnd, +}; +const Transition gExitList_HouseInteriors2_B[] = { + { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x2b8, 0x374, 0x30, AREA_HYRULE_TOWN, ROOM_HYRULE_TOWN_MAIN, 1, TRANSITION_TYPE_NORMAL, + 0x4, 0x0, 0x0, 0x0, 0x0 }, + TransitionListEnd, +}; +const Transition gExitList_HouseInteriors2_Cucco[] = { + { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x3b8, 0x36c, 0x30, AREA_HYRULE_TOWN, ROOM_HYRULE_TOWN_MAIN, 1, TRANSITION_TYPE_NORMAL, + 0x4, 0x0, 0x0, 0x0, 0x0 }, + TransitionListEnd, +}; +const Transition gExitList_HouseInteriors2_LinksHouseEntrance[] = { + { WARP_TYPE_AREA, 0x0, 0x58, 0x18, 0x58, 0x28, 0x0, AREA_HOUSE_INTERIORS_2, ROOM_HOUSE_INTERIORS_2_LINKS_HOUSE_BEDROOM, + 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x290, 0x19c, 0x30, AREA_HYRULE_FIELD, ROOM_HYRULE_FIELD_SOUTH_HYRULE_FIELD, + 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, + TransitionListEnd, +}; +const Transition gExitList_HouseInteriors2_Dampe[] = { + { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x1a0, 0x1ac, 0x30, AREA_ROYAL_VALLEY, ROOM_ROYAL_VALLEY_MAIN, 1, TRANSITION_TYPE_NORMAL, + 0x4, 0x0, 0x0, 0x0, 0x0 }, + TransitionListEnd, +}; +const Transition gExitList_HouseInteriors2_NULL2[] = { + TransitionListEnd, +}; +const Transition gExitList_HouseInteriors2_StockwellLakeHouse[] = { + { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x120, 0x4c, 0x30, AREA_LAKE_HYLIA, ROOM_LAKE_HYLIA_MAIN, 1, TRANSITION_TYPE_NORMAL, 0x4, + 0x0, 0x0, 0x0, 0x0 }, + TransitionListEnd, +}; +const Transition gExitList_HouseInteriors2_LinksHouseBedroom[] = { + { WARP_TYPE_AREA, 0x0, 0x58, 0x18, 0x58, 0x28, 0x0, AREA_HOUSE_INTERIORS_2, + ROOM_HOUSE_INTERIORS_2_LINKS_HOUSE_ENTRANCE, 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, + TransitionListEnd, +}; +const Transition* const gExitLists_HouseInteriors2[] = { + [ROOM_HOUSE_INTERIORS_2_STRANGER] = gExitList_HouseInteriors2_Stranger, + [ROOM_HOUSE_INTERIORS_2_WEST_ORACLE] = gExitList_HouseInteriors2_WestOracle, + [ROOM_HOUSE_INTERIORS_2_2] = gExitList_HouseInteriors2_2, + [ROOM_HOUSE_INTERIORS_2_3] = gExitList_HouseInteriors2_3, + [ROOM_HOUSE_INTERIORS_2_DR_LEFT] = gExitList_HouseInteriors2_DrLeft, + [ROOM_HOUSE_INTERIORS_2_5] = gExitList_HouseInteriors2_NULL1, + [ROOM_HOUSE_INTERIORS_2_ROMIO] = gExitList_HouseInteriors2_Romio, + [ROOM_HOUSE_INTERIORS_2_JULIETTA] = gExitList_HouseInteriors2_Julietta, + [ROOM_HOUSE_INTERIORS_2_PERCY] = gExitList_HouseInteriors2_Percy, + [ROOM_HOUSE_INTERIORS_2_EAST_ORACLE] = gExitList_HouseInteriors2_EastOracle, + [ROOM_HOUSE_INTERIORS_2_a] = gExitList_HouseInteriors2_A, + [ROOM_HOUSE_INTERIORS_2_b] = gExitList_HouseInteriors2_B, + [ROOM_HOUSE_INTERIORS_2_CUCCO] = gExitList_HouseInteriors2_Cucco, + [ROOM_HOUSE_INTERIORS_2_d] = gExitList_NoExitList, + [ROOM_HOUSE_INTERIORS_2_e] = gExitList_NoExitList, + [ROOM_HOUSE_INTERIORS_2_f] = gExitList_NoExitList, + [ROOM_HOUSE_INTERIORS_2_LINKS_HOUSE_ENTRANCE] = gExitList_HouseInteriors2_LinksHouseEntrance, + [ROOM_HOUSE_INTERIORS_2_LINKS_HOUSE_SMITH] = gExitList_NoExitList, + [ROOM_HOUSE_INTERIORS_2_DAMPE] = gExitList_HouseInteriors2_Dampe, + [ROOM_HOUSE_INTERIORS_2_13] = gExitList_HouseInteriors2_NULL2, + [ROOM_HOUSE_INTERIORS_2_STOCKWELL_LAKE_HOUSE] = gExitList_HouseInteriors2_StockwellLakeHouse, + [ROOM_HOUSE_INTERIORS_2_LINKS_HOUSE_BEDROOM] = gExitList_HouseInteriors2_LinksHouseBedroom, + [ROOM_HOUSE_INTERIORS_2_16] = gExitList_NoExitList, + [ROOM_HOUSE_INTERIORS_2_17] = gExitList_NoExitList, + [ROOM_HOUSE_INTERIORS_2_18] = gExitList_NoExitList, + [ROOM_HOUSE_INTERIORS_2_19] = gExitList_NoExitList, + [ROOM_HOUSE_INTERIORS_2_1a] = gExitList_NoExitList, + [ROOM_HOUSE_INTERIORS_2_1b] = gExitList_NoExitList, + [ROOM_HOUSE_INTERIORS_2_1c] = gExitList_NoExitList, + [ROOM_HOUSE_INTERIORS_2_1d] = gExitList_NoExitList, + [ROOM_HOUSE_INTERIORS_2_1e] = gExitList_NoExitList, + [ROOM_HOUSE_INTERIORS_2_1f] = gExitList_NoExitList, + [ROOM_HOUSE_INTERIORS_2_20] = gExitList_NoExitList, + [ROOM_HOUSE_INTERIORS_2_21] = gExitList_NoExitList, + [ROOM_HOUSE_INTERIORS_2_22] = gExitList_NoExitList, + [ROOM_HOUSE_INTERIORS_2_23] = gExitList_NoExitList, + [ROOM_HOUSE_INTERIORS_2_24] = gExitList_NoExitList, + [ROOM_HOUSE_INTERIORS_2_25] = gExitList_NoExitList, + [ROOM_HOUSE_INTERIORS_2_26] = gExitList_NoExitList, + [ROOM_HOUSE_INTERIORS_2_27] = gExitList_NoExitList, + [ROOM_HOUSE_INTERIORS_2_28] = gExitList_NoExitList, + [ROOM_HOUSE_INTERIORS_2_29] = gExitList_NoExitList, + [ROOM_HOUSE_INTERIORS_2_2a] = gExitList_NoExitList, + [ROOM_HOUSE_INTERIORS_2_2b] = gExitList_NoExitList, + [ROOM_HOUSE_INTERIORS_2_2c] = gExitList_NoExitList, + [ROOM_HOUSE_INTERIORS_2_2d] = gExitList_NoExitList, + [ROOM_HOUSE_INTERIORS_2_2e] = gExitList_NoExitList, + [ROOM_HOUSE_INTERIORS_2_2f] = gExitList_NoExitList, +}; + +const Transition gExitList_HouseInteriors4_Carpenter[] = { + { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x90, 0x2dc, 0x30, AREA_HYRULE_TOWN, ROOM_HYRULE_TOWN_MAIN, 1, TRANSITION_TYPE_NORMAL, + 0x4, 0x0, 0x0, 0x0, 0x0 }, + TransitionListEnd, +}; +const Transition gExitList_HouseInteriors4_Swiftblade[] = { + { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x138, 0x39c, 0x30, AREA_HYRULE_TOWN, ROOM_HYRULE_TOWN_MAIN, 1, TRANSITION_TYPE_NORMAL, + 0x4, 0x0, 0x0, 0x0, 0x0 }, + TransitionListEnd, +}; +const Transition gExitList_HouseInteriors4_RanchHouseWest[] = { + { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x158, 0x28c, 0x30, AREA_HYRULE_FIELD, ROOM_HYRULE_FIELD_LON_LON_RANCH, + 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, + TransitionListEnd, +}; +const Transition gExitList_HouseInteriors4_RanchHouseEast[] = { + { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x188, 0x28c, 0x30, AREA_HYRULE_FIELD, ROOM_HYRULE_FIELD_LON_LON_RANCH, + 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, + TransitionListEnd, +}; +const Transition gExitList_HouseInteriors4_FarmHouse[] = { + { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x40, 0x5c, 0x30, AREA_HYRULE_FIELD, ROOM_HYRULE_FIELD_EASTERN_HILLLS_NORTH, + 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, + TransitionListEnd, +}; +const Transition gExitList_HouseInteriors4_MayorLakeCabin[] = { + { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x2a0, 0x38c, 0x30, AREA_LAKE_HYLIA, ROOM_LAKE_HYLIA_MAIN, 1, TRANSITION_TYPE_NORMAL, + 0x4, 0x0, 0x0, 0x0, 0x0 }, + TransitionListEnd, +}; +const Transition* const gExitLists_HouseInteriors4[] = { + [ROOM_HOUSE_INTERIORS_4_CARPENTER] = gExitList_HouseInteriors4_Carpenter, + [ROOM_HOUSE_INTERIORS_4_SWIFTBLADE] = gExitList_HouseInteriors4_Swiftblade, + [ROOM_HOUSE_INTERIORS_4_RANCH_HOUSE_WEST] = gExitList_HouseInteriors4_RanchHouseWest, + [ROOM_HOUSE_INTERIORS_4_RANCH_HOUSE_EAST] = gExitList_HouseInteriors4_RanchHouseEast, + [ROOM_HOUSE_INTERIORS_4_FARM_HOUSE] = gExitList_HouseInteriors4_FarmHouse, + [ROOM_HOUSE_INTERIORS_4_MAYOR_LAKE_CABIN] = gExitList_HouseInteriors4_MayorLakeCabin, + [ROOM_HOUSE_INTERIORS_4_6] = gExitList_NoExitList, + [ROOM_HOUSE_INTERIORS_4_7] = gExitList_NoExitList, + [ROOM_HOUSE_INTERIORS_4_8] = gExitList_NoExitList, + [ROOM_HOUSE_INTERIORS_4_9] = gExitList_NoExitList, + [ROOM_HOUSE_INTERIORS_4_a] = gExitList_NoExitList, + [ROOM_HOUSE_INTERIORS_4_b] = gExitList_NoExitList, + [ROOM_HOUSE_INTERIORS_4_c] = gExitList_NoExitList, + [ROOM_HOUSE_INTERIORS_4_d] = gExitList_NoExitList, + [ROOM_HOUSE_INTERIORS_4_e] = gExitList_NoExitList, + [ROOM_HOUSE_INTERIORS_4_f] = gExitList_NoExitList, +}; + +const Transition gExitList_GreatFairies_Graveyard[] = { + { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x198, 0x2b8, 0x30, AREA_ROYAL_VALLEY, ROOM_ROYAL_VALLEY_MAIN, 1, TRANSITION_TYPE_NORMAL, + 0x4, 0x0, 0x0, 0x0, 0x0 }, + TransitionListEnd, +}; +const Transition gExitList_GreatFairies_MinishWoods[] = { + { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x78, 0x58, 0x30, AREA_TREE_INTERIORS, ROOM_TREE_INTERIORS_MINISH_WOODS_GREAT_FAIRY, + 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, + TransitionListEnd, +}; +const Transition gExitList_GreatFairies_MtCrenel[] = { + { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x148, 0x1f8, 0x30, AREA_MT_CRENEL, ROOM_MT_CRENEL_WALL_CLIMB, 1, TRANSITION_TYPE_NORMAL, + 0x4, 0x0, 0x0, 0x0, 0x0 }, + TransitionListEnd, +}; +const Transition* const gExitLists_GreatFairies[] = { + [ROOM_GREAT_FAIRIES_GRAVEYARD] = gExitList_GreatFairies_Graveyard, + [ROOM_GREAT_FAIRIES_MINISH_WOODS] = gExitList_GreatFairies_MinishWoods, + [ROOM_GREAT_FAIRIES_CRENEL] = gExitList_GreatFairies_MtCrenel, + [ROOM_GREAT_FAIRIES_NOT_IMPLEMENTED] = gExitList_NoExitList, +}; + +const Transition gExitList_HouseInteriors3_StockwellShop[] = { + { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x258, 0x2fc, 0x30, AREA_HYRULE_TOWN, ROOM_HYRULE_TOWN_MAIN, 1, TRANSITION_TYPE_NORMAL, + 0x4, 0x0, 0x0, 0x0, 0x0 }, + TransitionListEnd, +}; +const Transition gExitList_HouseInteriors3_Cafe[] = { + { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x198, 0x2fc, 0x30, AREA_HYRULE_TOWN, ROOM_HYRULE_TOWN_MAIN, 1, TRANSITION_TYPE_NORMAL, + 0x4, 0x0, 0x0, 0x0, 0x0 }, + TransitionListEnd, +}; +const Transition gExitList_HouseInteriors3_RemShoeShop[] = { + { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x188, 0x210, 0xc, AREA_HYRULE_TOWN, ROOM_HYRULE_TOWN_MAIN, 1, TRANSITION_TYPE_NORMAL, + 0x2, 0x0, 0x0, 0x0, 0x0 }, + TransitionListEnd, +}; +const Transition gExitList_HouseInteriors3_Bakery[] = { + { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x268, 0x1f0, 0xc0, AREA_HYRULE_TOWN, ROOM_HYRULE_TOWN_MAIN, 1, TRANSITION_TYPE_NORMAL, + 0x6, 0x0, 0x0, 0x0, 0x0 }, + TransitionListEnd, +}; +const Transition gExitList_HouseInteriors3_Simon[] = { + { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x188, 0x250, 0xc, AREA_HYRULE_TOWN, ROOM_HYRULE_TOWN_MAIN, 1, TRANSITION_TYPE_NORMAL, + 0x2, 0x0, 0x0, 0x0, 0x0 }, + TransitionListEnd, +}; +const Transition gExitList_HouseInteriors3_FigurineHouse[] = { + { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x188, 0x290, 0xc, AREA_HYRULE_TOWN, ROOM_HYRULE_TOWN_MAIN, 1, TRANSITION_TYPE_NORMAL, + 0x2, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x128, 0x290, 0xc0, AREA_HYRULE_TOWN, ROOM_HYRULE_TOWN_MAIN, 1, TRANSITION_TYPE_NORMAL, + 0x6, 0x0, 0x0, 0x0, 0x0 }, + TransitionListEnd, +}; +const Transition gExitList_HouseInteriors3_BorlovEntrance[] = { + { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x298, 0x26c, 0x30, AREA_HYRULE_TOWN, ROOM_HYRULE_TOWN_MAIN, 1, TRANSITION_TYPE_NORMAL, + 0x4, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0xb8, 0x78, 0x3, AREA_HOUSE_INTERIORS_3, ROOM_HOUSE_INTERIORS_3_BORLOV, + 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0, 0x0 }, + TransitionListEnd, +}; +const Transition gExitList_HouseInteriors3_Carlov[] = { + { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x78, 0x60, 0x30, AREA_TREE_INTERIORS, ROOM_TREE_INTERIORS_STAIRS_TO_CARLOV, + 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, + TransitionListEnd, +}; +const Transition gExitList_HouseInteriors3_Borlov[] = { + { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x78, 0x68, 0x30, AREA_HOUSE_INTERIORS_3, ROOM_HOUSE_INTERIORS_3_BORLOV_ENTRANCE, + 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0, 0x0 }, + TransitionListEnd, +}; +const Transition* const gExitLists_HouseInteriors3[] = { + [ROOM_HOUSE_INTERIORS_3_STOCKWELL_SHOP] = gExitList_HouseInteriors3_StockwellShop, + [ROOM_HOUSE_INTERIORS_3_CAFE] = gExitList_HouseInteriors3_Cafe, + [ROOM_HOUSE_INTERIORS_3_REM_SHOE_SHOP] = gExitList_HouseInteriors3_RemShoeShop, + [ROOM_HOUSE_INTERIORS_3_BAKERY] = gExitList_HouseInteriors3_Bakery, + [ROOM_HOUSE_INTERIORS_3_SIMON] = gExitList_HouseInteriors3_Simon, + [ROOM_HOUSE_INTERIORS_3_FIGURINE_HOUSE] = gExitList_HouseInteriors3_FigurineHouse, + [ROOM_HOUSE_INTERIORS_3_BORLOV_ENTRANCE] = gExitList_HouseInteriors3_BorlovEntrance, + [ROOM_HOUSE_INTERIORS_3_CARLOV] = gExitList_HouseInteriors3_Carlov, + [ROOM_HOUSE_INTERIORS_3_BORLOV] = gExitList_HouseInteriors3_Borlov, + [ROOM_HOUSE_INTERIORS_3_9] = gExitList_NoExitList, + [ROOM_HOUSE_INTERIORS_3_a] = gExitList_NoExitList, + [ROOM_HOUSE_INTERIORS_3_b] = gExitList_NoExitList, + [ROOM_HOUSE_INTERIORS_3_c] = gExitList_NoExitList, + [ROOM_HOUSE_INTERIORS_3_d] = gExitList_NoExitList, + [ROOM_HOUSE_INTERIORS_3_e] = gExitList_NoExitList, + [ROOM_HOUSE_INTERIORS_3_f] = gExitList_NoExitList, +}; + +const Transition gExitList_HouseInteriors1_Mayor[] = { + { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x2c8, 0x14c, 0x30, AREA_HYRULE_TOWN, ROOM_HYRULE_TOWN_MAIN, 1, TRANSITION_TYPE_NORMAL, + 0x4, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x318, 0x120, 0xc, AREA_HYRULE_TOWN, ROOM_HYRULE_TOWN_MAIN, 1, TRANSITION_TYPE_NORMAL, + 0x2, 0x0, 0x0, 0x0, 0x0 }, + TransitionListEnd, +}; +const Transition gExitList_HouseInteriors1_PostOffice[] = { + { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x48, 0xb8, 0x30, AREA_HYRULE_TOWN, ROOM_HYRULE_TOWN_MAIN, 1, TRANSITION_TYPE_NORMAL, + 0x4, 0x0, 0x0, 0x0, 0x0 }, + TransitionListEnd, +}; +const Transition gExitList_HouseInteriors1_Library2F[] = { + { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x138, 0x58, 0x30, AREA_HYRULE_TOWN, ROOM_HYRULE_TOWN_MAIN, 2, TRANSITION_TYPE_NORMAL, + 0x4, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x0, 0x78, 0x18, 0x68, 0x28, 0x0, AREA_HOUSE_INTERIORS_1, ROOM_HOUSE_INTERIORS_1_LIBRARY_1F, + 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, + TransitionListEnd, +}; +const Transition gExitList_HouseInteriors1_Library1F[] = { + { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x168, 0xb8, 0x30, AREA_HYRULE_TOWN, ROOM_HYRULE_TOWN_MAIN, 1, TRANSITION_TYPE_NORMAL, + 0x4, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x0, 0x68, 0x18, 0x78, 0x28, 0x0, AREA_HOUSE_INTERIORS_1, ROOM_HOUSE_INTERIORS_1_LIBRARY_2F, + 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, + TransitionListEnd, +}; +const Transition gExitList_HouseInteriors1_Inn1F[] = { + { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x388, 0x268, 0x10, AREA_HYRULE_TOWN, ROOM_HYRULE_TOWN_MAIN, 1, TRANSITION_TYPE_NORMAL, + 0x4, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x0, 0x78, 0x18, 0x98, 0x78, 0x0, AREA_HOUSE_INTERIORS_1, ROOM_HOUSE_INTERIORS_1_INN_WEST_ROOM, + 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x0, 0xb8, 0x18, 0x78, 0x78, 0x0, AREA_HOUSE_INTERIORS_1, ROOM_HOUSE_INTERIORS_1_INN_MIDDLE_ROOM, + 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x0, 0xf8, 0x18, 0x78, 0x78, 0x0, AREA_HOUSE_INTERIORS_1, ROOM_HOUSE_INTERIORS_1_INN_EAST_ROOM, + 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x0, 0x118, 0x38, 0xb8, 0x168, 0x0, AREA_HOUSE_INTERIORS_1, ROOM_HOUSE_INTERIORS_1_INN_EAST_2F, + 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0, 0x0 }, + TransitionListEnd, +}; +const Transition gExitList_HouseInteriors1_InnWestRoom[] = { + { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x78, 0x28, 0x30, AREA_HOUSE_INTERIORS_1, ROOM_HOUSE_INTERIORS_1_INN_1F, + 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, + TransitionListEnd, +}; +const Transition gExitList_HouseInteriors1_InnMiddleRoom[] = { + { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0xb8, 0x28, 0x30, AREA_HOUSE_INTERIORS_1, ROOM_HOUSE_INTERIORS_1_INN_1F, + 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, + TransitionListEnd, +}; +const Transition gExitList_HouseInteriors1_InnEastRoom[] = { + { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0xf8, 0x28, 0x30, AREA_HOUSE_INTERIORS_1, ROOM_HOUSE_INTERIORS_1_INN_1F, + 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, + TransitionListEnd, +}; +const Transition gExitList_HouseInteriors1_InnWest2F[] = { + { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x368, 0x1c8, 0x30, AREA_HYRULE_TOWN, ROOM_HYRULE_TOWN_MAIN, 1, TRANSITION_TYPE_NORMAL, + 0x4, 0x0, 0x0, 0x0, 0x0 }, + TransitionListEnd, +}; +const Transition gExitList_HouseInteriors1_InnEast2F[] = { + { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x3a8, 0x230, 0x10, AREA_HYRULE_TOWN, ROOM_HYRULE_TOWN_MAIN, 2, TRANSITION_TYPE_NORMAL, + 0x4, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x0, 0xb8, 0x178, 0x118, 0x48, 0x0, AREA_HOUSE_INTERIORS_1, ROOM_HOUSE_INTERIORS_1_INN_1F, + 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, + TransitionListEnd, +}; +const Transition gExitList_HouseInteriors1_SchoolWest[] = { + { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x2c8, 0xa8, 0x30, AREA_HYRULE_TOWN, ROOM_HYRULE_TOWN_MAIN, 1, TRANSITION_TYPE_NORMAL, + 0x4, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x0, 0x78, 0x48, 0x168, 0x28, 0x0, AREA_HYRULE_TOWN_UNDERGROUND, ROOM_HYRULE_TOWN_UNDERGROUND_0, + 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, + TransitionListEnd, +}; +const Transition gExitList_HouseInteriors1_SchoolEast[] = { + { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x328, 0x78, 0x30, AREA_HYRULE_TOWN, ROOM_HYRULE_TOWN_MAIN, 1, TRANSITION_TYPE_NORMAL, + 0x4, 0x0, 0x0, 0x0, 0x0 }, + TransitionListEnd, +}; +const Transition* const gExitLists_HouseInteriors1[] = { + [ROOM_HOUSE_INTERIORS_1_MAYOR] = gExitList_HouseInteriors1_Mayor, + [ROOM_HOUSE_INTERIORS_1_POST_OFFICE] = gExitList_HouseInteriors1_PostOffice, + [ROOM_HOUSE_INTERIORS_1_LIBRARY_2F] = gExitList_HouseInteriors1_Library2F, + [ROOM_HOUSE_INTERIORS_1_LIBRARY_1F] = gExitList_HouseInteriors1_Library1F, + [ROOM_HOUSE_INTERIORS_1_INN_1F] = gExitList_HouseInteriors1_Inn1F, + [ROOM_HOUSE_INTERIORS_1_INN_WEST_ROOM] = gExitList_HouseInteriors1_InnWestRoom, + [ROOM_HOUSE_INTERIORS_1_INN_MIDDLE_ROOM] = gExitList_HouseInteriors1_InnMiddleRoom, + [ROOM_HOUSE_INTERIORS_1_INN_EAST_ROOM] = gExitList_HouseInteriors1_InnEastRoom, + [ROOM_HOUSE_INTERIORS_1_INN_WEST_2F] = gExitList_HouseInteriors1_InnWest2F, + [ROOM_HOUSE_INTERIORS_1_INN_EAST_2F] = gExitList_HouseInteriors1_InnEast2F, + [ROOM_HOUSE_INTERIORS_1_INN_MINISH_HEART_PIECE] = gExitList_NoExitList, + [ROOM_HOUSE_INTERIORS_1_SCHOOL_WEST] = gExitList_HouseInteriors1_SchoolWest, + [ROOM_HOUSE_INTERIORS_1_SCHOOL_EAST] = gExitList_HouseInteriors1_SchoolEast, + [ROOM_HOUSE_INTERIORS_1_d] = gExitList_NoExitList, + [ROOM_HOUSE_INTERIORS_1_e] = gExitList_NoExitList, + [ROOM_HOUSE_INTERIORS_1_f] = gExitList_NoExitList, + [ROOM_HOUSE_INTERIORS_1_10] = gExitList_NoExitList, + [ROOM_HOUSE_INTERIORS_1_11] = gExitList_NoExitList, + [ROOM_HOUSE_INTERIORS_1_12] = gExitList_NoExitList, + [ROOM_HOUSE_INTERIORS_1_13] = gExitList_NoExitList, + [ROOM_HOUSE_INTERIORS_1_14] = gExitList_NoExitList, + [ROOM_HOUSE_INTERIORS_1_15] = gExitList_NoExitList, + [ROOM_HOUSE_INTERIORS_1_16] = gExitList_NoExitList, + [ROOM_HOUSE_INTERIORS_1_17] = gExitList_NoExitList, + [ROOM_HOUSE_INTERIORS_1_18] = gExitList_NoExitList, + [ROOM_HOUSE_INTERIORS_1_19] = gExitList_NoExitList, + [ROOM_HOUSE_INTERIORS_1_1a] = gExitList_NoExitList, + [ROOM_HOUSE_INTERIORS_1_1b] = gExitList_NoExitList, + [ROOM_HOUSE_INTERIORS_1_1c] = gExitList_NoExitList, + [ROOM_HOUSE_INTERIORS_1_1d] = gExitList_NoExitList, + [ROOM_HOUSE_INTERIORS_1_1e] = gExitList_NoExitList, + [ROOM_HOUSE_INTERIORS_1_1f] = gExitList_NoExitList, +}; + +const Transition gExitList_TreeInteriors_WitchHut[] = { + { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x2c0, 0x58, 0x30, AREA_MINISH_WOODS, ROOM_MINISH_WOODS_MAIN, 1, TRANSITION_TYPE_NORMAL, + 0x4, 0x0, 0x0, 0x0, 0x0 }, + TransitionListEnd, +}; +const Transition gExitList_TreeInteriors_StairsToCarlov[] = { + { WARP_TYPE_AREA, 0x0, 0x78, 0x48, 0x78, 0x78, 0x0, AREA_HOUSE_INTERIORS_3, ROOM_HOUSE_INTERIORS_3_CARLOV, + 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x50, 0x388, 0x30, AREA_HYRULE_TOWN, ROOM_HYRULE_TOWN_MAIN, 1, TRANSITION_TYPE_NORMAL, + 0x4, 0x0, 0x0, 0x0, 0x0 }, + TransitionListEnd, +}; +const Transition gExitList_TreeInteriors_PercysTreehouse[] = { + { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x40, 0x398, 0x30, AREA_HYRULE_FIELD, ROOM_HYRULE_FIELD_TRILBY_HIGHLANDS, + 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, + TransitionListEnd, +}; +const Transition gExitList_TreeInteriors_HeartPiece[] = { + { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x3a0, 0x238, 0x30, AREA_HYRULE_FIELD, ROOM_HYRULE_FIELD_SOUTH_HYRULE_FIELD, + 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, + TransitionListEnd, +}; +const Transition gExitList_TreeInteriors_Waveblade[] = { + { WARP_TYPE_AREA, 0x0, 0x78, 0x48, 0x78, 0x98, 0x0, AREA_DOJOS, ROOM_DOJOS_WAVEBLADE, 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, + 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x100, 0x2c8, 0x30, AREA_LAKE_HYLIA, ROOM_LAKE_HYLIA_MAIN, 1, TRANSITION_TYPE_NORMAL, + 0x4, 0x0, 0x0, 0x0, 0x0 }, + TransitionListEnd, +}; +const Transition gExitList_TreeInteriors_14[] = { + { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x210, 0x1d8, 0x30, AREA_MINISH_WOODS, ROOM_MINISH_WOODS_MAIN, 1, TRANSITION_TYPE_NORMAL, + 0x4, 0x0, 0x0, 0x0, 0x0 }, + TransitionListEnd, +}; +const Transition gExitList_TreeInteriors_BoomerangNorthwest[] = { + { WARP_TYPE_AREA, 0x0, 0x78, 0x54, 0x48, 0x88, 0x0, AREA_CAVES, ROOM_CAVES_BOOMERANG, 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, + 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x1b0, 0x138, 0x30, AREA_HYRULE_FIELD, ROOM_HYRULE_FIELD_NORTH_HYRULE_FIELD, + 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, + TransitionListEnd, +}; +const Transition gExitList_TreeInteriors_BoomerangNortheast[] = { + { WARP_TYPE_AREA, 0x0, 0x78, 0x54, 0x108, 0x88, 0x0, AREA_CAVES, ROOM_CAVES_BOOMERANG, 1, TRANSITION_TYPE_NORMAL, 0x0, + 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x240, 0x138, 0x30, AREA_HYRULE_FIELD, ROOM_HYRULE_FIELD_NORTH_HYRULE_FIELD, + 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, + TransitionListEnd, +}; +const Transition gExitList_TreeInteriors_BoomerangSouthwest[] = { + { WARP_TYPE_AREA, 0x0, 0x78, 0x54, 0x48, 0xf8, 0x0, AREA_CAVES, ROOM_CAVES_BOOMERANG, 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, + 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x1b0, 0x198, 0x30, AREA_HYRULE_FIELD, ROOM_HYRULE_FIELD_NORTH_HYRULE_FIELD, + 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, + TransitionListEnd, +}; +const Transition gExitList_TreeInteriors_BoomerangSoutheast[] = { + { WARP_TYPE_AREA, 0x0, 0x78, 0x54, 0x108, 0xf8, 0x0, AREA_CAVES, ROOM_CAVES_BOOMERANG, 1, TRANSITION_TYPE_NORMAL, 0x0, + 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x240, 0x198, 0x30, AREA_HYRULE_FIELD, ROOM_HYRULE_FIELD_NORTH_HYRULE_FIELD, + 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, + TransitionListEnd, +}; +const Transition gExitList_TreeInteriors_WesternWoodsHeartPiece[] = { + { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0xa0, 0x1f8, 0x30, AREA_HYRULE_FIELD, ROOM_HYRULE_FIELD_WESTERN_WOODS_NORTH, + 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, + TransitionListEnd, +}; +const Transition gExitList_TreeInteriors_NorthHyruleFieldFairyFountain[] = { + { WARP_TYPE_AREA, 0x0, 0x78, 0x48, 0x78, 0x78, 0x0, AREA_CAVES, ROOM_CAVES_NORTH_HYRULE_FIELD_FAIRY_FOUNTAIN, + 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x2f0, 0x148, 0x30, AREA_HYRULE_FIELD, ROOM_HYRULE_FIELD_NORTH_HYRULE_FIELD, + 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, + TransitionListEnd, +}; +const Transition gExitList_TreeInteriors_MinishWoodsGreatFairy[] = { + { WARP_TYPE_AREA, 0x0, 0x78, 0x48, 0x78, 0xf8, 0x0, AREA_GREAT_FAIRIES, ROOM_GREAT_FAIRIES_MINISH_WOODS, + 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x70, 0x58, 0x30, AREA_MINISH_WOODS, ROOM_MINISH_WOODS_MAIN, 1, TRANSITION_TYPE_NORMAL, + 0x4, 0x0, 0x0, 0x0, 0x0 }, + TransitionListEnd, +}; +const Transition gExitList_TreeInteriors_1C[] = { + { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x50, 0x298, 0x30, AREA_HYRULE_FIELD, ROOM_HYRULE_FIELD_TRILBY_HIGHLANDS, + 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, + TransitionListEnd, +}; +const Transition gExitList_TreeInteriors_MinishWoodsBusinessScrub[] = { + { WARP_TYPE_AREA, 0x0, 0x78, 0x48, 0x78, 0x78, 0x0, AREA_CAVES, ROOM_CAVES_KINSTONE_BUSINESS_SCRUB, 1, + TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x210, 0x1d8, 0x30, AREA_MINISH_WOODS, ROOM_MINISH_WOODS_MAIN, 1, TRANSITION_TYPE_NORMAL, + 0x4, 0x0, 0x0, 0x0, 0x0 }, + TransitionListEnd, +}; +const Transition gExitList_TreeInteriors_1E[] = { + TransitionListEnd, +}; +const Transition gExitList_TreeInteriors_UnusedHeartContainer[] = { + { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x1e0, 0x1b8, 0x30, AREA_LAKE_HYLIA, ROOM_LAKE_HYLIA_MAIN, 1, TRANSITION_TYPE_NORMAL, + 0x4, 0x0, 0x0, 0x0, 0x0 }, + TransitionListEnd, +}; +const Transition* const gExitLists_TreeInteriors[] = { + [ROOM_TREE_INTERIORS_WITCH_HUT] = gExitList_TreeInteriors_WitchHut, + [ROOM_TREE_INTERIORS_1] = gExitList_NoExitList, + [ROOM_TREE_INTERIORS_2] = gExitList_NoExitList, + [ROOM_TREE_INTERIORS_3] = gExitList_NoExitList, + [ROOM_TREE_INTERIORS_4] = gExitList_NoExitList, + [ROOM_TREE_INTERIORS_5] = gExitList_NoExitList, + [ROOM_TREE_INTERIORS_6] = gExitList_NoExitList, + [ROOM_TREE_INTERIORS_7] = gExitList_NoExitList, + [ROOM_TREE_INTERIORS_8] = gExitList_NoExitList, + [ROOM_TREE_INTERIORS_9] = gExitList_NoExitList, + [ROOM_TREE_INTERIORS_a] = gExitList_NoExitList, + [ROOM_TREE_INTERIORS_b] = gExitList_NoExitList, + [ROOM_TREE_INTERIORS_c] = gExitList_NoExitList, + [ROOM_TREE_INTERIORS_d] = gExitList_NoExitList, + [ROOM_TREE_INTERIORS_e] = gExitList_NoExitList, + [ROOM_TREE_INTERIORS_f] = gExitList_NoExitList, + [ROOM_TREE_INTERIORS_STAIRS_TO_CARLOV] = gExitList_TreeInteriors_StairsToCarlov, + [ROOM_TREE_INTERIORS_PERCYS_TREEHOUSE] = gExitList_TreeInteriors_PercysTreehouse, + [ROOM_TREE_INTERIORS_SOUTH_HYRULE_FIELD_HEART_PIECE] = gExitList_TreeInteriors_HeartPiece, + [ROOM_TREE_INTERIORS_WAVEBLADE] = gExitList_TreeInteriors_Waveblade, + [ROOM_TREE_INTERIORS_14] = gExitList_TreeInteriors_14, + [ROOM_TREE_INTERIORS_BOOMERANG_NORTHWEST] = gExitList_TreeInteriors_BoomerangNorthwest, + [ROOM_TREE_INTERIORS_BOOMERANG_NORTHEAST] = gExitList_TreeInteriors_BoomerangNortheast, + [ROOM_TREE_INTERIORS_BOOMERANG_SOUTHWEST] = gExitList_TreeInteriors_BoomerangSouthwest, + [ROOM_TREE_INTERIORS_BOOMERANG_SOUTHEAST] = gExitList_TreeInteriors_BoomerangSoutheast, + [ROOM_TREE_INTERIORS_WESTERN_WOODS_HEART_PIECE] = gExitList_TreeInteriors_WesternWoodsHeartPiece, + [ROOM_TREE_INTERIORS_NORTH_HYRULE_FIELD_FAIRY_FOUNTAIN] = gExitList_TreeInteriors_NorthHyruleFieldFairyFountain, + [ROOM_TREE_INTERIORS_MINISH_WOODS_GREAT_FAIRY] = gExitList_TreeInteriors_MinishWoodsGreatFairy, + [ROOM_TREE_INTERIORS_1c] = gExitList_TreeInteriors_1C, + [ROOM_TREE_INTERIORS_MINISH_WOODS_BUSINESS_SCRUB] = gExitList_TreeInteriors_MinishWoodsBusinessScrub, + [ROOM_TREE_INTERIORS_1e] = gExitList_TreeInteriors_1E, + [ROOM_TREE_INTERIORS_UNUSED_HEART_CONTAINER] = gExitList_TreeInteriors_UnusedHeartContainer, +}; + +const Transition gExitList_Dojos_Grayblade[] = { + { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x78, 0x20, 0x30, AREA_CRENEL_CAVES, ROOM_CRENEL_CAVES_TO_GRAYBLADE, + 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, + TransitionListEnd, +}; +const Transition gExitList_Dojos_Swiftblade[] = { + { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x38, 0x2e8, 0x30, AREA_CASTOR_WILDS, ROOM_CASTOR_WILDS_MAIN, 1, TRANSITION_TYPE_NORMAL, + 0x4, 0x0, 0x0, 0x0, 0x0 }, + TransitionListEnd, +}; +const Transition gExitList_Dojos_Waveblade[] = { + { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x78, 0x58, 0x30, AREA_TREE_INTERIORS, ROOM_TREE_INTERIORS_WAVEBLADE, + 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, + TransitionListEnd, +}; +const Transition gExitList_Dojos_ToGrimblade[] = { + { WARP_TYPE_AREA, 0x0, 0x78, 0x48, 0x3a8, 0x168, 0x0, AREA_CASTLE_GARDEN, ROOM_CASTLE_GARDEN_MAIN, 1, + TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0, 0x0 }, + TransitionListEnd, +}; +const Transition gExitList_Dojos_ToSplitblade[] = { + { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0xf8, 0x358, 0x30, AREA_VEIL_FALLS, ROOM_VEIL_FALLS_MAIN, 1, TRANSITION_TYPE_NORMAL, 0x4, + 0x0, 0x0, 0x0, 0x0 }, + TransitionListEnd, +}; +const Transition gExitList_Dojos_ToGreatblade[] = { + { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0xc8, 0x1f8, 0x30, AREA_HYRULE_FIELD, ROOM_HYRULE_FIELD_NORTH_HYRULE_FIELD, + 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, + TransitionListEnd, +}; +const Transition gExitList_Dojos_ToScarblade[] = { + { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x398, 0x48, 0x30, AREA_CASTOR_WILDS, ROOM_CASTOR_WILDS_MAIN, 1, TRANSITION_TYPE_NORMAL, + 0x4, 0x0, 0x0, 0x0, 0x0 }, + TransitionListEnd, +}; +const Transition* const gExitLists_Dojos[] = { + [ROOM_DOJOS_GRAYBLADE] = gExitList_Dojos_Grayblade, + [ROOM_DOJOS_SPLITBLADE] = gExitList_NoExitList, + [ROOM_DOJOS_GREATBLADE] = gExitList_NoExitList, + [ROOM_DOJOS_SCARBLADE] = gExitList_NoExitList, + [ROOM_DOJOS_SWIFTBLADE_I] = gExitList_Dojos_Swiftblade, + [ROOM_DOJOS_GRIMBLADE] = gExitList_NoExitList, + [ROOM_DOJOS_WAVEBLADE] = gExitList_Dojos_Waveblade, + [ROOM_DOJOS_7] = gExitList_NoExitList, + [ROOM_DOJOS_8] = gExitList_NoExitList, + [ROOM_DOJOS_9] = gExitList_NoExitList, + [ROOM_DOJOS_TO_GRIMBLADE] = gExitList_Dojos_ToGrimblade, + [ROOM_DOJOS_TO_SPLITBLADE] = gExitList_Dojos_ToSplitblade, + [ROOM_DOJOS_TO_GREATBLADE] = gExitList_Dojos_ToGreatblade, + [ROOM_DOJOS_TO_SCARBLADE] = gExitList_Dojos_ToScarblade, + [ROOM_DOJOS_e] = gExitList_NoExitList, + [ROOM_DOJOS_f] = gExitList_NoExitList, +}; + +const Transition gExitList_MinishCracks_LonLonRanchNorth[] = { + { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x232, 0x18, 0x3, AREA_HYRULE_FIELD, ROOM_HYRULE_FIELD_LON_LON_RANCH, + 1, TRANSITION_TYPE_INSTANT_MINISH, 0x6, 0x0, 0x0, 0x0, 0x0 }, + TransitionListEnd, +}; +const Transition gExitList_MinishCracks_LakeHyliaEast[] = { + { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x2d8, 0x114, 0x3, AREA_LAKE_HYLIA, ROOM_LAKE_HYLIA_MAIN, 1, TRANSITION_TYPE_INSTANT_MINISH, 0x4, + 0x0, 0x0, 0x0, 0x0 }, + TransitionListEnd, +}; +const Transition gExitList_MinishCracks_HyruleCastleGarden[] = { + { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x3a8, 0x40, 0x3, AREA_CASTLE_GARDEN, ROOM_CASTLE_GARDEN_MAIN, 1, TRANSITION_TYPE_INSTANT_MINISH, + 0x4, 0x0, 0x0, 0x0, 0x0 }, + TransitionListEnd, +}; +const Transition gExitList_MinishCracks_MtCrenel[] = { + { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x158, 0x54, 0x3, AREA_MT_CRENEL, ROOM_MT_CRENEL_ENTRANCE, 1, TRANSITION_TYPE_INSTANT_MINISH, + 0x2, 0x0, 0x0, 0x0, 0x0 }, + TransitionListEnd, +}; +const Transition gExitList_MinishCracks_EastHyruleCastle[] = { + { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x3c8, 0x184, 0x3, AREA_HYRULE_FIELD, ROOM_HYRULE_FIELD_NORTH_HYRULE_FIELD, + 1, TRANSITION_TYPE_INSTANT_MINISH, 0x0, 0x0, 0x0, 0x0, 0x0 }, + TransitionListEnd, +}; +const Transition gExitList_MinishCracks_5[] = { + TransitionListEnd, +}; +const Transition gExitList_MinishCracks_CastorWildsBow[] = { + { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x28, 0x54, 0x3, AREA_CASTOR_WILDS, ROOM_CASTOR_WILDS_MAIN, 1, TRANSITION_TYPE_INSTANT_MINISH, + 0x4, 0x0, 0x0, 0x0, 0x0 }, + TransitionListEnd, +}; +const Transition gExitList_MinishCracks_RuinsEntrance[] = { + { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x48, 0x17c, 0x3, AREA_RUINS, ROOM_RUINS_ENTRANCE, 1, TRANSITION_TYPE_INSTANT_MINISH, 0x4, 0x0, + 0x0, 0x0, 0x0 }, + TransitionListEnd, +}; +const Transition gExitList_MinishCracks_MinishWoodsSouth[] = { + { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x218, 0x3c4, 0x3, AREA_MINISH_WOODS, ROOM_MINISH_WOODS_MAIN, 1, TRANSITION_TYPE_INSTANT_MINISH, + 0x0, 0x0, 0x0, 0x0, 0x0 }, + TransitionListEnd, +}; +const Transition gExitList_MinishCracks_CastorWildsNorth[] = { + { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0xc8, 0x44, 0x3, AREA_CASTOR_WILDS, ROOM_CASTOR_WILDS_MAIN, 1, TRANSITION_TYPE_INSTANT_MINISH, + 0x0, 0x0, 0x0, 0x0, 0x0 }, + TransitionListEnd, +}; +const Transition gExitList_MinishCracks_CastorWildsWest[] = { + { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x38, 0x134, 0x3, AREA_CASTOR_WILDS, ROOM_CASTOR_WILDS_MAIN, 1, TRANSITION_TYPE_INSTANT_MINISH, + 0x0, 0x0, 0x0, 0x0, 0x0 }, + TransitionListEnd, +}; +const Transition gExitList_MinishCracks_CastorWildsMiddle[] = { + { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x168, 0x2d4, 0x3, AREA_CASTOR_WILDS, ROOM_CASTOR_WILDS_MAIN, 1, TRANSITION_TYPE_INSTANT_MINISH, + 0x0, 0x0, 0x0, 0x0, 0x0 }, + TransitionListEnd, +}; +const Transition gExitList_MinishCracks_RuinsTektite[] = { + { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0xc8, 0x54, 0x3, AREA_RUINS, ROOM_RUINS_TEKTITES, 1, TRANSITION_TYPE_INSTANT_MINISH, 0x0, 0x0, + 0x0, 0x0, 0x0 }, + TransitionListEnd, +}; +const Transition gExitList_MinishCracks_CastorWildsNextToBow[] = { + { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x18, 0x54, 0x3, AREA_CASTOR_WILDS, ROOM_CASTOR_WILDS_MAIN, 1, TRANSITION_TYPE_INSTANT_MINISH, + 0x0, 0x0, 0x0, 0x0, 0x0 }, + TransitionListEnd, +}; +const Transition gExitList_MinishCracks_11[] = { + TransitionListEnd, +}; +const Transition* const gExitLists_MinishCracks[] = { + [ROOM_MINISH_CRACKS_LON_LON_RANCH_NORTH] = gExitList_MinishCracks_LonLonRanchNorth, + [ROOM_MINISH_CRACKS_LAKE_HYLIA_EAST] = gExitList_MinishCracks_LakeHyliaEast, + [ROOM_MINISH_CRACKS_HYRULE_CASTLE_GARDEN] = gExitList_MinishCracks_HyruleCastleGarden, + [ROOM_MINISH_CRACKS_MT_CRENEL] = gExitList_MinishCracks_MtCrenel, + [ROOM_MINISH_CRACKS_EAST_HYRULE_CASTLE] = gExitList_MinishCracks_EastHyruleCastle, + [ROOM_MINISH_CRACKS_5] = gExitList_MinishCracks_5, + [ROOM_MINISH_CRACKS_CASTOR_WILDS_BOW] = gExitList_MinishCracks_CastorWildsBow, + [ROOM_MINISH_CRACKS_RUINS_ENTRANCE] = gExitList_MinishCracks_RuinsEntrance, + [ROOM_MINISH_CRACKS_MINISH_WOODS_SOUTH] = gExitList_MinishCracks_MinishWoodsSouth, + [ROOM_MINISH_CRACKS_CASTOR_WILDS_NORTH] = gExitList_MinishCracks_CastorWildsNorth, + [ROOM_MINISH_CRACKS_CASTOR_WILDS_WEST] = gExitList_MinishCracks_CastorWildsWest, + [ROOM_MINISH_CRACKS_CASTOR_WILDS_MIDDLE] = gExitList_MinishCracks_CastorWildsMiddle, + [ROOM_MINISH_CRACKS_RUINS_TEKTITE] = gExitList_MinishCracks_RuinsTektite, + [ROOM_MINISH_CRACKS_CASTOR_WILDS_NEXT_TO_BOW] = gExitList_MinishCracks_CastorWildsNextToBow, + [ROOM_MINISH_CRACKS_e] = gExitList_NoExitList, + [ROOM_MINISH_CRACKS_f] = gExitList_NoExitList, + [ROOM_MINISH_CRACKS_10] = gExitList_NoExitList, + [ROOM_MINISH_CRACKS_11] = gExitList_MinishCracks_11, + [ROOM_MINISH_CRACKS_12] = gExitList_NoExitList, + [ROOM_MINISH_CRACKS_13] = gExitList_NoExitList, + [ROOM_MINISH_CRACKS_14] = gExitList_NoExitList, + [ROOM_MINISH_CRACKS_15] = gExitList_NoExitList, + [ROOM_MINISH_CRACKS_16] = gExitList_NoExitList, + [ROOM_MINISH_CRACKS_17] = gExitList_NoExitList, +}; + +const Transition gExitList_CrenelCaves_BlockPushing[] = { + { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x328, 0x18, 0x3, AREA_MT_CRENEL, ROOM_MT_CRENEL_TOP, 1, TRANSITION_TYPE_NORMAL, 0x0, + 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x128, 0x28, 0x10, AREA_MT_CRENEL, ROOM_MT_CRENEL_CAVERN_OF_FLAMES_ENTRANCE, + 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x208, 0x28, 0x20, AREA_MT_CRENEL, ROOM_MT_CRENEL_CAVERN_OF_FLAMES_ENTRANCE, + 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x0, 0x238, 0xb8, 0x38, 0x38, 0x0, AREA_CRENEL_CAVES, ROOM_CRENEL_CAVES_BRIDGE_SWITCH, + 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, + TransitionListEnd, +}; +const Transition gExitList_CrenelCaves_PillarCave[] = { + { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x1d8, 0xc8, 0x30, AREA_MT_CRENEL, ROOM_MT_CRENEL_CAVERN_OF_FLAMES_ENTRANCE, + 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x0, 0x38, 0x28, 0xb8, 0x48, 0x0, AREA_CRENEL_CAVES, ROOM_CRENEL_CAVES_EXIT_TO_MINES, + 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, + TransitionListEnd, +}; +const Transition gExitList_CrenelCaves_BridgeSwitch[] = { + { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x238, 0xc8, 0x30, AREA_MT_CRENEL, ROOM_MT_CRENEL_CAVERN_OF_FLAMES_ENTRANCE, + 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x0, 0x38, 0x28, 0x238, 0xc8, 0x0, AREA_CRENEL_CAVES, ROOM_CRENEL_CAVES_BLOCK_PUSHING, + 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, + TransitionListEnd, +}; +const Transition gExitList_CrenelCaves_ExitToMines[] = { + { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x188, 0x108, 0x30, AREA_MT_CRENEL, ROOM_MT_CRENEL_CAVERN_OF_FLAMES_ENTRANCE, + 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x0, 0xb8, 0x38, 0x38, 0x38, 0x0, AREA_CRENEL_CAVES, ROOM_CRENEL_CAVES_PILLAR_CAVE, + 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, + TransitionListEnd, +}; +const Transition gExitList_CrenelCaves_GripRing[] = { + { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x1e8, 0x1e8, 0x30, AREA_MT_CRENEL, ROOM_MT_CRENEL_CAVERN_OF_FLAMES_ENTRANCE, + 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, + TransitionListEnd, +}; +const Transition gExitList_CrenelCaves_FairyFountain[] = { + { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0xa8, 0x58, 0x30, AREA_MT_CRENEL, ROOM_MT_CRENEL_CENTER, 1, TRANSITION_TYPE_NORMAL, 0x4, + 0x0, 0x0, 0x0, 0x0 }, + TransitionListEnd, +}; +const Transition gExitList_CrenelCaves_SpinyChuPuzzle[] = { + { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x2f8, 0x38, 0x30, AREA_MT_CRENEL, ROOM_MT_CRENEL_CENTER, 1, TRANSITION_TYPE_NORMAL, 0x4, + 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x0, 0xb8, 0x38, 0x38, 0x38, 0x0, AREA_CRENEL_CAVES, ROOM_CRENEL_CAVES_CHUCHU_POT_CHEST, + 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, + TransitionListEnd, +}; +const Transition gExitList_CrenelCaves_ChuchuPotChest[] = { + { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x348, 0x68, 0x30, AREA_MT_CRENEL, ROOM_MT_CRENEL_CENTER, 1, TRANSITION_TYPE_NORMAL, 0x4, + 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x0, 0x38, 0x28, 0xb8, 0x48, 0x0, AREA_CRENEL_CAVES, ROOM_CRENEL_CAVES_SPINY_CHU_PUZZLE, + 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, + TransitionListEnd, +}; +const Transition gExitList_CrenelCaves_WaterHeartPiece[] = { + { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x38, 0x118, 0x30, AREA_MT_CRENEL, ROOM_MT_CRENEL_CENTER, 1, TRANSITION_TYPE_NORMAL, 0x4, + 0x0, 0x0, 0x0, 0x0 }, + TransitionListEnd, +}; +const Transition gExitList_CrenelCaves_RupeeFairyFountain[] = { + { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x298, 0x38, 0x30, AREA_MT_CRENEL, ROOM_MT_CRENEL_ENTRANCE, 1, TRANSITION_TYPE_NORMAL, + 0x4, 0x0, 0x0, 0x0, 0x0 }, + TransitionListEnd, +}; +const Transition gExitList_CrenelCaves_HelmasaurHallway[] = { + { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x198, 0xe8, 0x30, AREA_MT_CRENEL, ROOM_MT_CRENEL_ENTRANCE, 1, TRANSITION_TYPE_NORMAL, + 0x4, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x0, 0x68, 0x18, 0xb8, 0x48, 0x0, AREA_CRENEL_CAVES, ROOM_CRENEL_CAVES_MUSHROOM_KEESE, + 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, + TransitionListEnd, +}; +const Transition gExitList_CrenelCaves_MushroomKeese[] = { + { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x138, 0x148, 0x30, AREA_MT_CRENEL, ROOM_MT_CRENEL_ENTRANCE, 1, TRANSITION_TYPE_NORMAL, + 0x4, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x0, 0xb8, 0x38, 0x68, 0x28, 0x0, AREA_CRENEL_CAVES, ROOM_CRENEL_CAVES_HELMASAUR_HALLWAY, + 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, + TransitionListEnd, +}; +const Transition gExitList_CrenelCaves_LadderToSpringWater[] = { + { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x2d8, 0x198, 0x30, AREA_MT_CRENEL, ROOM_MT_CRENEL_ENTRANCE, 1, TRANSITION_TYPE_NORMAL, + 0x4, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x2d8, 0x138, 0x3, AREA_MT_CRENEL, ROOM_MT_CRENEL_ENTRANCE, 1, TRANSITION_TYPE_NORMAL, + 0x0, 0x0, 0x0, 0x0, 0x0 }, + TransitionListEnd, +}; +const Transition gExitList_CrenelCaves_BombBusinessScrub[] = { + { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0xb8, 0x1a8, 0x30, AREA_MT_CRENEL, ROOM_MT_CRENEL_ENTRANCE, 1, TRANSITION_TYPE_NORMAL, + 0x4, 0x0, 0x0, 0x0, 0x0 }, + TransitionListEnd, +}; +const Transition gExitList_CrenelCaves_Hermit[] = { + { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0xa8, 0x68, 0x30, AREA_MT_CRENEL, ROOM_MT_CRENEL_WALL_CLIMB, 1, TRANSITION_TYPE_NORMAL, + 0x4, 0x0, 0x0, 0x0, 0x0 }, + TransitionListEnd, +}; +const Transition gExitList_CrenelCaves_HintScrub[] = { + { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x3b8, 0x178, 0x30, AREA_MT_CRENEL, ROOM_MT_CRENEL_ENTRANCE, 1, TRANSITION_TYPE_NORMAL, + 0x4, 0x0, 0x0, 0x0, 0x0 }, + TransitionListEnd, +}; +const Transition gExitList_CrenelCaves_ToGrayblade[] = { + { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x78, 0xa0, 0x3, AREA_DOJOS, ROOM_DOJOS_GRAYBLADE, 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, + 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x208, 0x158, 0x30, AREA_MT_CRENEL, ROOM_MT_CRENEL_CAVERN_OF_FLAMES_ENTRANCE, + 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, + TransitionListEnd, +}; +const Transition* const gExitLists_CrenelCaves[] = { + [ROOM_CRENEL_CAVES_BLOCK_PUSHING] = gExitList_CrenelCaves_BlockPushing, + [ROOM_CRENEL_CAVES_PILLAR_CAVE] = gExitList_CrenelCaves_PillarCave, + [ROOM_CRENEL_CAVES_BRIDGE_SWITCH] = gExitList_CrenelCaves_BridgeSwitch, + [ROOM_CRENEL_CAVES_EXIT_TO_MINES] = gExitList_CrenelCaves_ExitToMines, + [ROOM_CRENEL_CAVES_GRIP_RING] = gExitList_CrenelCaves_GripRing, + [ROOM_CRENEL_CAVES_FAIRY_FOUNTAIN] = gExitList_CrenelCaves_FairyFountain, + [ROOM_CRENEL_CAVES_SPINY_CHU_PUZZLE] = gExitList_CrenelCaves_SpinyChuPuzzle, + [ROOM_CRENEL_CAVES_CHUCHU_POT_CHEST] = gExitList_CrenelCaves_ChuchuPotChest, + [ROOM_CRENEL_CAVES_WATER_HEART_PIECE] = gExitList_CrenelCaves_WaterHeartPiece, + [ROOM_CRENEL_CAVES_RUPEE_FAIRY_FOUINTAIN] = gExitList_CrenelCaves_RupeeFairyFountain, + [ROOM_CRENEL_CAVES_HELMASAUR_HALLWAY] = gExitList_CrenelCaves_HelmasaurHallway, + [ROOM_CRENEL_CAVES_MUSHROOM_KEESE] = gExitList_CrenelCaves_MushroomKeese, + [ROOM_CRENEL_CAVES_LADDER_TO_SPRING_WATER] = gExitList_CrenelCaves_LadderToSpringWater, + [ROOM_CRENEL_CAVES_BOMB_BUSINESS_SCRUB] = gExitList_CrenelCaves_BombBusinessScrub, + [ROOM_CRENEL_CAVES_HERMIT] = gExitList_CrenelCaves_Hermit, + [ROOM_CRENEL_CAVES_HINT_SCRUB] = gExitList_CrenelCaves_HintScrub, + [ROOM_CRENEL_CAVES_TO_GRAYBLADE] = gExitList_CrenelCaves_ToGrayblade, +}; + +const Transition gExitList_CastorCaves_South[] = { + { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x2d8, 0x398, 0x30, AREA_CASTOR_WILDS, ROOM_CASTOR_WILDS_MAIN, 1, TRANSITION_TYPE_NORMAL, + 0x4, 0x0, 0x0, 0x0, 0x0 }, + TransitionListEnd, +}; +const Transition gExitList_CastorCaves_North[] = { + { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x248, 0x48, 0x10, AREA_CASTOR_WILDS, ROOM_CASTOR_WILDS_MAIN, 1, TRANSITION_TYPE_NORMAL, + 0x4, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x288, 0x48, 0x20, AREA_CASTOR_WILDS, ROOM_CASTOR_WILDS_MAIN, 1, TRANSITION_TYPE_NORMAL, + 0x4, 0x0, 0x0, 0x0, 0x0 }, + TransitionListEnd, +}; +const Transition gExitList_CastorCaves_WindRuins[] = { + { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0xc8, 0x48, 0x30, AREA_RUINS, ROOM_RUINS_ENTRANCE, 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, + 0x0, 0x0, 0x0 }, + TransitionListEnd, +}; +const Transition gExitList_CastorCaves_Darknut[] = { + { WARP_TYPE_AREA, 0x0, 0x68, 0x18, 0x188, 0x28, 0x0, AREA_CASTOR_DARKNUT, ROOM_CASTOR_DARKNUT_HALL, 1, + TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x1a8, 0x1b8, 0x30, AREA_CASTOR_WILDS, ROOM_CASTOR_WILDS_MAIN, 1, TRANSITION_TYPE_NORMAL, + 0x4, 0x0, 0x0, 0x0, 0x0 }, + TransitionListEnd, +}; +const Transition gExitList_CastorCaves_HeartPiece[] = { + { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x3c8, 0x48, 0x30, AREA_CASTOR_WILDS, ROOM_CASTOR_WILDS_MAIN, 1, TRANSITION_TYPE_NORMAL, + 0x4, 0x0, 0x0, 0x0, 0x0 }, + TransitionListEnd, +}; +const Transition* const gExitLists_CastorCaves[] = { + [ROOM_CASTOR_CAVES_SOUTH] = gExitList_CastorCaves_South, + [ROOM_CASTOR_CAVES_NORTH] = gExitList_CastorCaves_North, + [ROOM_CASTOR_CAVES_WIND_RUINS] = gExitList_CastorCaves_WindRuins, + [ROOM_CASTOR_CAVES_DARKNUT] = gExitList_CastorCaves_Darknut, + [ROOM_CASTOR_CAVES_HEART_PIECE] = gExitList_CastorCaves_HeartPiece, + [ROOM_CASTOR_CAVES_5] = gExitList_NoExitList, + [ROOM_CASTOR_CAVES_6] = gExitList_NoExitList, + [ROOM_CASTOR_CAVES_7] = gExitList_NoExitList, +}; + +const Transition gExitList_CastorDarknut_Main[] = { + TransitionListEnd, +}; +const Transition gExitList_CastorDarknut_Hall[] = { + { WARP_TYPE_AREA, 0x0, 0x188, 0x18, 0x68, 0x28, 0x0, AREA_CASTOR_CAVES, ROOM_CASTOR_CAVES_DARKNUT, 1, + TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, + TransitionListEnd, +}; +const Transition* const gExitLists_CastorDarknut[] = { + [ROOM_CASTOR_DARKNUT_MAIN] = gExitList_CastorDarknut_Main, + [ROOM_CASTOR_DARKNUT_HALL] = gExitList_CastorDarknut_Hall, + NULL, + NULL, +}; + +const Transition gExitList_ArmosInteriors_RuinsEntranceNorth[] = { + { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x78, 0xf8, 0x30, AREA_RUINS, ROOM_RUINS_ENTRANCE, 1, TRANSITION_TYPE_INSTANT_MINISH, 0x4, 0x0, + 0x0, 0x0, 0x0 }, + TransitionListEnd, +}; +const Transition gExitList_ArmosInteriors_RuinsEntranceSouth[] = { + { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x88, 0x1a8, 0x30, AREA_RUINS, ROOM_RUINS_ENTRANCE, 1, TRANSITION_TYPE_INSTANT_MINISH, 0x4, 0x0, + 0x0, 0x0, 0x0 }, + TransitionListEnd, +}; +const Transition gExitList_ArmosInteriors_RuinsLeft[] = { + { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x48, 0x68, 0x30, AREA_RUINS, ROOM_RUINS_BELOW_FORTRESS_ENTRANCE, 1, + TRANSITION_TYPE_INSTANT_MINISH, 0x4, 0x0, 0x0, 0x0, 0x0 }, + TransitionListEnd, +}; +const Transition gExitList_ArmosInteriors_RuinsMiddleLeft[] = { + { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x78, 0x68, 0x30, AREA_RUINS, ROOM_RUINS_BELOW_FORTRESS_ENTRANCE, 1, + TRANSITION_TYPE_INSTANT_MINISH, 0x4, 0x0, 0x0, 0x0, 0x0 }, + TransitionListEnd, +}; +const Transition gExitList_ArmosInteriors_RuinsMiddleRight[] = { + { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0xa8, 0x68, 0x30, AREA_RUINS, ROOM_RUINS_BELOW_FORTRESS_ENTRANCE, 1, + TRANSITION_TYPE_INSTANT_MINISH, 0x4, 0x0, 0x0, 0x0, 0x0 }, + TransitionListEnd, +}; +const Transition gExitList_ArmosInteriors_RuinsRight[] = { + { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0xd8, 0x68, 0x30, AREA_RUINS, ROOM_RUINS_BELOW_FORTRESS_ENTRANCE, 1, + TRANSITION_TYPE_INSTANT_MINISH, 0x4, 0x0, 0x0, 0x0, 0x0 }, + TransitionListEnd, +}; +const Transition gExitList_ArmosInteriors_6[] = { + { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x108, 0x68, 0x30, AREA_RUINS, ROOM_RUINS_BELOW_FORTRESS_ENTRANCE, 1, + TRANSITION_TYPE_INSTANT_MINISH, 0x4, 0x0, 0x0, 0x0, 0x0 }, + TransitionListEnd, +}; +const Transition gExitList_ArmosInteriors_RuinsGrassPath[] = { + { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0xa8, 0xa8, 0x30, AREA_RUINS, ROOM_RUINS_FORTRESS_ENTRANCE, 1, TRANSITION_TYPE_INSTANT_MINISH, + 0x4, 0x0, 0x0, 0x0, 0x0 }, + TransitionListEnd, +}; +const Transition gExitList_ArmosInteriors_8[] = { + { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0xc8, 0x58, 0x30, AREA_RUINS, ROOM_RUINS_ENTRANCE, 1, TRANSITION_TYPE_INSTANT_MINISH, 0x4, 0x0, + 0x0, 0x0, 0x0 }, + TransitionListEnd, +}; +const Transition gExitList_ArmosInteriors_FortressOfWindsLeft[] = { + { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0xc8, 0x58, 0x30, AREA_FORTRESS_OF_WINDS, ROOM_FORTRESS_OF_WINDS_EAST_KEY_LEVER, + 1, TRANSITION_TYPE_INSTANT_MINISH, 0x4, 0x0, 0x0, 0x0, 0x0 }, + TransitionListEnd, +}; +const Transition gExitList_ArmosInteriors_FortressOfWindsRight[] = { + { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0xc8, 0x58, 0x30, AREA_FORTRESS_OF_WINDS, ROOM_FORTRESS_OF_WINDS_EAST_KEY_LEVER, + 1, TRANSITION_TYPE_INSTANT_MINISH, 0x4, 0x0, 0x0, 0x0, 0x0 }, + TransitionListEnd, +}; +const Transition* const gExitLists_ArmosInteriors[] = { + [ROOM_ARMOS_INTERIORS_RUINS_ENTRANCE_NORTH] = gExitList_ArmosInteriors_RuinsEntranceNorth, + [ROOM_ARMOS_INTERIORS_RUINS_ENTRANCE_SOUTH] = gExitList_ArmosInteriors_RuinsEntranceSouth, + [ROOM_ARMOS_INTERIORS_RUINS_LEFT] = gExitList_ArmosInteriors_RuinsLeft, + [ROOM_ARMOS_INTERIORS_RUINS_MIDDLE_LEFT] = gExitList_ArmosInteriors_RuinsMiddleLeft, + [ROOM_ARMOS_INTERIORS_RUINS_MIDDLE_RIGHT] = gExitList_ArmosInteriors_RuinsMiddleRight, + [ROOM_ARMOS_INTERIORS_RUINS_RIGHT] = gExitList_ArmosInteriors_RuinsRight, + [ROOM_ARMOS_INTERIORS_6] = gExitList_ArmosInteriors_6, + [ROOM_ARMOS_INTERIORS_RUINS_GRASS_PATH] = gExitList_ArmosInteriors_RuinsGrassPath, + [ROOM_ARMOS_INTERIORS_8] = gExitList_ArmosInteriors_8, + [ROOM_ARMOS_INTERIORS_FORTRESS_LEFT] = gExitList_ArmosInteriors_FortressOfWindsLeft, + [ROOM_ARMOS_INTERIORS_FORTRESS_RIGHT] = gExitList_ArmosInteriors_FortressOfWindsRight, +}; + +const Transition gExitList_TownMinishHoles_MayorsHouse[] = { + { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x38, 0x2c, 0x30, AREA_HOUSE_INTERIORS_1, ROOM_HOUSE_INTERIORS_1_MAYOR, + 1, TRANSITION_TYPE_INSTANT_MINISH, 0x4, 0x0, 0x0, 0x0, 0x0 }, + TransitionListEnd, +}; +const Transition gExitList_TownMinishHoles_WestOracle[] = { + { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0xc, 0x38, 0xc, AREA_HOUSE_INTERIORS_2, ROOM_HOUSE_INTERIORS_2_WEST_ORACLE, + 1, TRANSITION_TYPE_INSTANT_MINISH, 0x2, 0x0, 0x0, 0x0, 0x0 }, + TransitionListEnd, +}; +const Transition gExitList_TownMinishHoles_DrLeft[] = { + { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0xa8, 0x44, 0x30, AREA_HOUSE_INTERIORS_2, ROOM_HOUSE_INTERIORS_2_DR_LEFT, + 1, TRANSITION_TYPE_INSTANT_MINISH, 0x4, 0x0, 0x0, 0x0, 0x0 }, + TransitionListEnd, +}; +const Transition gExitList_TownMinishHoles_Carpenter[] = { + { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0xc, 0x68, 0xc, AREA_HOUSE_INTERIORS_4, ROOM_HOUSE_INTERIORS_4_CARPENTER, + 1, TRANSITION_TYPE_INSTANT_MINISH, 0x2, 0x0, 0x0, 0x0, 0x0 }, + TransitionListEnd, +}; +const Transition gExitList_TownMinishHoles_Cafe[] = { + { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0xcc, 0x48, 0xc0, AREA_HOUSE_INTERIORS_3, ROOM_HOUSE_INTERIORS_3_CAFE, + 1, TRANSITION_TYPE_INSTANT_MINISH, 0x6, 0x0, 0x0, 0x0, 0x0 }, + TransitionListEnd, +}; +const Transition gExitList_TownMinishHoles_LibraryBookshelf[] = { + { WARP_TYPE_AREA, 0x0, 0x100, 0xc8, 0x78, 0xc0, 0x0, AREA_TOWN_MINISH_HOLES, + ROOM_TOWN_MINISH_HOLES_LIBRARY_BOOKS_HOUSE, 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x3e, 0x3c, 0x10, AREA_HOUSE_INTERIORS_1, ROOM_HOUSE_INTERIORS_1_LIBRARY_2F, + 1, TRANSITION_TYPE_INSTANT_MINISH, 0x4, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x54, 0x3c, 0x20, AREA_HOUSE_INTERIORS_1, ROOM_HOUSE_INTERIORS_1_LIBRARY_2F, + 1, TRANSITION_TYPE_INSTANT_MINISH, 0x4, 0x0, 0x0, 0x0, 0x0 }, + TransitionListEnd, +}; +const Transition gExitList_TownMinishHoles_LibrariBookHouse[] = { + { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0xf8, 0xd8, 0x30, AREA_TOWN_MINISH_HOLES, ROOM_TOWN_MINISH_HOLES_LIBRARY_BOOKSHELF, + 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, + TransitionListEnd, +}; +const Transition gExitList_TownMinishHoles_RemShoeShop[] = { + { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x74, 0x64, 0x30, AREA_HOUSE_INTERIORS_3, ROOM_HOUSE_INTERIORS_3_REM_SHOE_SHOP, + 1, TRANSITION_TYPE_INSTANT_MINISH, 0x4, 0x0, 0x0, 0x0, 0x0 }, + TransitionListEnd, +}; +const Transition* const gExitLists_TownMinishHoles[] = { + [ROOM_TOWN_MINISH_HOLES_MAYORS_HOUSE] = gExitList_TownMinishHoles_MayorsHouse, + [ROOM_TOWN_MINISH_HOLES_WEST_ORACLE] = gExitList_TownMinishHoles_WestOracle, + [ROOM_TOWN_MINISH_HOLES_DR_LEFT] = gExitList_TownMinishHoles_DrLeft, + [ROOM_TOWN_MINISH_HOLES_CARPENTER] = gExitList_TownMinishHoles_Carpenter, + [ROOM_TOWN_MINISH_HOLES_CAFE] = gExitList_TownMinishHoles_Cafe, + [ROOM_TOWN_MINISH_HOLES_5] = gExitList_NoExitList, + [ROOM_TOWN_MINISH_HOLES_6] = gExitList_NoExitList, + [ROOM_TOWN_MINISH_HOLES_7] = gExitList_NoExitList, + [ROOM_TOWN_MINISH_HOLES_8] = gExitList_NoExitList, + [ROOM_TOWN_MINISH_HOLES_9] = gExitList_NoExitList, + [ROOM_TOWN_MINISH_HOLES_a] = gExitList_NoExitList, + [ROOM_TOWN_MINISH_HOLES_b] = gExitList_NoExitList, + [ROOM_TOWN_MINISH_HOLES_c] = gExitList_NoExitList, + [ROOM_TOWN_MINISH_HOLES_d] = gExitList_NoExitList, + [ROOM_TOWN_MINISH_HOLES_e] = gExitList_NoExitList, + [ROOM_TOWN_MINISH_HOLES_f] = gExitList_NoExitList, + [ROOM_TOWN_MINISH_HOLES_LIBRARY_BOOKSHELF] = gExitList_TownMinishHoles_LibraryBookshelf, + [ROOM_TOWN_MINISH_HOLES_LIBRARY_BOOKS_HOUSE] = gExitList_TownMinishHoles_LibrariBookHouse, + [ROOM_TOWN_MINISH_HOLES_REM_SHOE_SHOP] = gExitList_TownMinishHoles_RemShoeShop, + [ROOM_TOWN_MINISH_HOLES_13] = gExitList_NoExitList, +}; + +const Transition gExitList_MinishRafters_Cafe[] = { + { WARP_TYPE_AREA, 0x0, 0x38, 0x18, 0x48, 0x2c, 0x0, AREA_HOUSE_INTERIORS_3, ROOM_HOUSE_INTERIORS_3_CAFE, + 1, TRANSITION_TYPE_INSTANT_MINISH, 0x4, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x1bc, 0x2b4, 0xc, AREA_HYRULE_TOWN, ROOM_HYRULE_TOWN_MAIN, 2, TRANSITION_TYPE_INSTANT_MINISH, + 0x2, 0x0, 0x0, 0x0, 0x0 }, + TransitionListEnd, +}; +const Transition gExitList_MinishRafters_Stockwell[] = { + { WARP_TYPE_AREA, 0x0, 0x198, 0x18, 0xac, 0x2c, 0x0, AREA_HOUSE_INTERIORS_3, ROOM_HOUSE_INTERIORS_3_STOCKWELL_SHOP, + 1, TRANSITION_TYPE_INSTANT_MINISH, 0x4, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x238, 0x2b4, 0xc0, AREA_HYRULE_TOWN, ROOM_HYRULE_TOWN_MAIN, 2, TRANSITION_TYPE_INSTANT_MINISH, + 0x6, 0x0, 0x0, 0x0, 0x0 }, + TransitionListEnd, +}; +const Transition gExitList_MinishRafters_DrLeft[] = { + { WARP_TYPE_AREA, 0x0, 0xe8, 0x18, 0x88, 0x2c, 0x0, AREA_HOUSE_INTERIORS_2, ROOM_HOUSE_INTERIORS_2_DR_LEFT, + 1, TRANSITION_TYPE_INSTANT_MINISH, 0x4, 0x0, 0x0, 0x0, 0x0 }, + TransitionListEnd, +}; +const Transition gExitList_MinishRafters_Bakery[] = { + { WARP_TYPE_AREA, 0x0, 0x48, 0x18, 0x48, 0x2c, 0x0, AREA_HOUSE_INTERIORS_3, ROOM_HOUSE_INTERIORS_3_BAKERY, + 1, TRANSITION_TYPE_INSTANT_MINISH, 0x4, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x0, 0x148, 0x18, 0x88, 0x2c, 0x0, AREA_HOUSE_INTERIORS_3, ROOM_HOUSE_INTERIORS_3_BAKERY, + 1, TRANSITION_TYPE_INSTANT_MINISH, 0x4, 0x0, 0x0, 0x0, 0x0 }, + TransitionListEnd, +}; +const Transition* const gExitLists_MinishRafters[] = { + [ROOM_MINISH_RAFTERS_CAFE] = gExitList_MinishRafters_Cafe, + [ROOM_MINISH_RAFTERS_STOCKWELL] = gExitList_MinishRafters_Stockwell, + [ROOM_MINISH_RAFTERS_DR_LEFT] = gExitList_MinishRafters_DrLeft, + [ROOM_MINISH_RAFTERS_BAKERY] = gExitList_MinishRafters_Bakery, +}; + +const Transition gExitList_GoronCave_Stairs[] = { + { WARP_TYPE_AREA, 0x0, 0x78, 0x38, 0x78, 0x278, 0x0, AREA_GORON_CAVE, ROOM_GORON_CAVE_MAIN, 1, TRANSITION_TYPE_NORMAL, + 0x0, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x88, 0x368, 0x30, AREA_HYRULE_FIELD, ROOM_HYRULE_FIELD_LON_LON_RANCH, + 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, + TransitionListEnd, +}; +const Transition gExitList_GoronCave_Main[] = { + { WARP_TYPE_AREA, 0x0, 0x78, 0x288, 0x78, 0x48, 0x0, AREA_GORON_CAVE, ROOM_GORON_CAVE_STAIRS, 1, TRANSITION_TYPE_NORMAL, + 0x4, 0x0, 0x0, 0x0, 0x0 }, + TransitionListEnd, +}; +const Transition* const gExitLists_GoronCave[] = { + [ROOM_GORON_CAVE_STAIRS] = gExitList_GoronCave_Stairs, + [ROOM_GORON_CAVE_MAIN] = gExitList_GoronCave_Main, +}; + +const Transition gExitList_WindTribeTower_Entrance[] = { + { WARP_TYPE_AREA, 0x0, 0x88, 0xe8, 0xb8, 0xf8, 0x0, AREA_WIND_TRIBE_TOWER, ROOM_WIND_TRIBE_TOWER_FLOOR_1, + 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x1e8, 0x168, 0x30, AREA_CLOUD_TOPS, ROOM_CLOUD_TOPS_CLOUD_TOPS, 1, + TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, + TransitionListEnd, +}; +const Transition gExitList_WindTribeTower_Floor2[] = { + { WARP_TYPE_AREA, 0x0, 0xb8, 0xe8, 0x88, 0xf8, 0x0, AREA_WIND_TRIBE_TOWER, ROOM_WIND_TRIBE_TOWER_ENTRANCE, + 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x0, 0x88, 0xe8, 0xb8, 0xf8, 0x0, AREA_WIND_TRIBE_TOWER, ROOM_WIND_TRIBE_TOWER_FLOOR_2, + 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, + TransitionListEnd, +}; +const Transition gExitList_WindTribeTower_Floor3[] = { + { WARP_TYPE_AREA, 0x0, 0xb8, 0xe8, 0x88, 0xf8, 0x0, AREA_WIND_TRIBE_TOWER, ROOM_WIND_TRIBE_TOWER_FLOOR_1, + 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x0, 0x88, 0xe8, 0xb8, 0xf8, 0x0, AREA_WIND_TRIBE_TOWER, ROOM_WIND_TRIBE_TOWER_FLOOR_3, + 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, + TransitionListEnd, +}; +const Transition gExitList_WindTribeTower_Floor4[] = { + { WARP_TYPE_AREA, 0x0, 0xb8, 0xe8, 0x88, 0xf8, 0x0, AREA_WIND_TRIBE_TOWER, ROOM_WIND_TRIBE_TOWER_FLOOR_2, + 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x0, 0x88, 0xe8, 0xb8, 0x148, 0x0, AREA_WIND_TRIBE_TOWER_ROOF, ROOM_WIND_TRIBE_TOWER_ROOF_0, + 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, + TransitionListEnd, +}; +const Transition* const gExitLists_WindTribeTower[] = { + [ROOM_WIND_TRIBE_TOWER_ENTRANCE] = gExitList_WindTribeTower_Entrance, + [ROOM_WIND_TRIBE_TOWER_FLOOR_1] = gExitList_WindTribeTower_Floor2, + [ROOM_WIND_TRIBE_TOWER_FLOOR_2] = gExitList_WindTribeTower_Floor3, + [ROOM_WIND_TRIBE_TOWER_FLOOR_3] = gExitList_WindTribeTower_Floor4, +}; + +const Transition gExitList_WindTribeTowerRoof_Main[] = { + { WARP_TYPE_AREA, 0x0, 0xb8, 0x138, 0x88, 0xf8, 0x0, AREA_WIND_TRIBE_TOWER, ROOM_WIND_TRIBE_TOWER_FLOOR_3, + 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, + TransitionListEnd, +}; +const Transition* const gExitLists_WindTribeTowerRoof[] = { + [ROOM_WIND_TRIBE_TOWER_ROOF_0] = gExitList_WindTribeTowerRoof_Main, +}; + +const Transition gExitList_Caves_Boomerang[] = { + { WARP_TYPE_AREA, 0x0, 0x48, 0x68, 0x78, 0x38, 0x0, AREA_TREE_INTERIORS, ROOM_TREE_INTERIORS_BOOMERANG_NORTHWEST, + 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x0, 0x108, 0x68, 0x78, 0x38, 0x0, AREA_TREE_INTERIORS, ROOM_TREE_INTERIORS_BOOMERANG_NORTHEAST, + 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x0, 0x48, 0xd8, 0x78, 0x38, 0x0, AREA_TREE_INTERIORS, ROOM_TREE_INTERIORS_BOOMERANG_SOUTHWEST, + 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x0, 0x108, 0xd8, 0x78, 0x38, 0x0, AREA_TREE_INTERIORS, ROOM_TREE_INTERIORS_BOOMERANG_SOUTHEAST, + 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x0, 0xa8, 0xb8, 0x1f8, 0x138, 0x0, AREA_HYRULE_FIELD, ROOM_HYRULE_FIELD_NORTH_HYRULE_FIELD, + 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0, 0x0 }, + TransitionListEnd, +}; +const Transition gExitList_Caves_ToGraveyard[] = { + { WARP_TYPE_AREA, 0x0, 0x38, 0x38, 0x88, 0xd8, 0x0, AREA_HYRULE_FIELD, ROOM_HYRULE_FIELD_NORTH_HYRULE_FIELD, + 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x0, 0x118, 0x38, 0x118, 0xd8, 0x0, AREA_HYRULE_FIELD, ROOM_HYRULE_FIELD_NORTH_HYRULE_FIELD, + 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x0, 0x138, 0x98, 0x78, 0x48, 0x0, AREA_CAVES, ROOM_CAVES_HEART_PIECE_HALLWAY, 1, + TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x108, 0x148, 0x20, AREA_HYRULE_FIELD, ROOM_HYRULE_FIELD_NORTH_HYRULE_FIELD, + 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, + TransitionListEnd, +}; +const Transition gExitList_Caves_2[] = { + { WARP_TYPE_AREA, 0x0, 0x48, 0x28, 0x308, 0x98, 0x0, AREA_CASTLE_GARDEN, ROOM_CASTLE_GARDEN_MAIN, 1, + TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0, 0x0 }, + TransitionListEnd, +}; +const Transition gExitList_Caves_3[] = { + TransitionListEnd, +}; +const Transition gExitList_Caves_4[] = { + TransitionListEnd, +}; +const Transition gExitList_Caves_5[] = { + TransitionListEnd, +}; +const Transition gExitList_Caves_TrilbyKeeseChest[] = { + { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x88, 0x238, 0x30, AREA_HYRULE_FIELD, ROOM_HYRULE_FIELD_TRILBY_HIGHLANDS, + 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, + TransitionListEnd, +}; +const Transition gExitList_Caves_TrilbyFairyFountain[] = { + { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x198, 0x2c8, 0x30, AREA_HYRULE_FIELD, ROOM_HYRULE_FIELD_TRILBY_HIGHLANDS, + 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, + TransitionListEnd, +}; +const Transition gExitList_Caves_SouthHyruleFieldFairyFountain[] = { + { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x118, 0xb8, 0x30, AREA_HYRULE_FIELD, ROOM_HYRULE_FIELD_SOUTH_HYRULE_FIELD, + 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, + TransitionListEnd, +}; +const Transition gExitList_Caves_A[] = { + TransitionListEnd, +}; +const Transition gExitList_Caves_HyruleTownWaterfall[] = { + { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0xf0, 0x198, 0x30, AREA_HYRULE_TOWN, ROOM_HYRULE_TOWN_MAIN, 1, TRANSITION_TYPE_NORMAL, + 0x4, 0x0, 0x0, 0x0, 0x0 }, + TransitionListEnd, +}; +const Transition gExitList_Caves_LonLonRanch[] = { + { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0xe8, 0x1c8, 0x30, AREA_HYRULE_FIELD, ROOM_HYRULE_FIELD_LON_LON_RANCH, + 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0xb8, 0x138, 0x3, AREA_HYRULE_FIELD, ROOM_HYRULE_FIELD_LON_LON_RANCH, + 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0, 0x0 }, + TransitionListEnd, +}; +const Transition gExitList_Caves_TrilbyHighlands[] = { + { WARP_TYPE_AREA, 0x0, 0x38, 0x18, 0x98, 0x268, 0x0, AREA_HYRULE_FIELD, ROOM_HYRULE_FIELD_TRILBY_HIGHLANDS, + 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x0, 0x128, 0x18, 0x118, 0x268, 0x0, AREA_HYRULE_FIELD, ROOM_HYRULE_FIELD_TRILBY_HIGHLANDS, + 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0, 0x0 }, + TransitionListEnd, +}; +const Transition gExitList_Caves_LonLonRanchWallet[] = { + { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x1f8, 0x218, 0x30, AREA_HYRULE_FIELD, ROOM_HYRULE_FIELD_LON_LON_RANCH, + 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, + TransitionListEnd, +}; +const Transition gExitList_Caves_SouthHyruleFieldRupee[] = { + { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x58, 0x128, 0x30, AREA_HYRULE_FIELD, ROOM_HYRULE_FIELD_SOUTH_HYRULE_FIELD, + 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, + TransitionListEnd, +}; +const Transition gExitList_Caves_TrilbyRupee[] = { + { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x38, 0x2b8, 0x30, AREA_HYRULE_FIELD, ROOM_HYRULE_FIELD_TRILBY_HIGHLANDS, + 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, + TransitionListEnd, +}; +const Transition gExitList_Caves_TrilbyMittsFairyFountain[] = { + { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x1a8, 0x68, 0x3, AREA_DIG_CAVES, ROOM_DIG_CAVES_TRILBY_HIGHLANDS, 1, + TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0, 0x0 }, + TransitionListEnd, +}; +const Transition gExitList_Caves_HillsKeeseChest[] = { + { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0xa8, 0xa8, 0x30, AREA_HYRULE_FIELD, ROOM_HYRULE_FIELD_EASTERN_HILLLS_CENTER, + 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, + TransitionListEnd, +}; +const Transition gExitList_Caves_BottleBusinessScrub[] = { + TransitionListEnd, +}; +const Transition gExitList_Caves_HeartPieceHallway[] = { + { WARP_TYPE_AREA, 0x0, 0x78, 0x38, 0x138, 0x88, 0x0, AREA_CAVES, ROOM_CAVES_TO_GRAVEYARD, 1, TRANSITION_TYPE_NORMAL, 0x0, + 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x138, 0x1f8, 0x30, AREA_HYRULE_FIELD, ROOM_HYRULE_FIELD_NORTH_HYRULE_FIELD, + 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, + TransitionListEnd, +}; +const Transition gExitList_Caves_NorthHyruleFieldFairyFountain[] = { + { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x78, 0x58, 0x30, AREA_TREE_INTERIORS, + ROOM_TREE_INTERIORS_NORTH_HYRULE_FIELD_FAIRY_FOUNTAIN, 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, + TransitionListEnd, +}; +const Transition gExitList_Caves_KinstoneBusinessScrub[] = { + { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x78, 0x58, 0x30, AREA_TREE_INTERIORS, + ROOM_TREE_INTERIORS_MINISH_WOODS_BUSINESS_SCRUB, 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, + TransitionListEnd, +}; +const Transition* const gExitLists_Caves[] = { + [ROOM_CAVES_BOOMERANG] = gExitList_Caves_Boomerang, + [ROOM_CAVES_TO_GRAVEYARD] = gExitList_Caves_ToGraveyard, + [ROOM_CAVES_2] = gExitList_Caves_2, + [ROOM_CAVES_3] = gExitList_Caves_3, + [ROOM_CAVES_4] = gExitList_Caves_4, + [ROOM_CAVES_5] = gExitList_Caves_5, + [ROOM_CAVES_6] = gExitList_NoExitList, + [ROOM_CAVES_TRILBY_KEESE_CHEST] = gExitList_Caves_TrilbyKeeseChest, + [ROOM_CAVES_TRILBY_FAIRY_FOUNTAIN] = gExitList_Caves_TrilbyFairyFountain, + [ROOM_CAVES_SOUTH_HYRULE_FIELD_FAIRY_FOUNTAIN] = gExitList_Caves_SouthHyruleFieldFairyFountain, + [ROOM_CAVES_a] = gExitList_Caves_A, + [ROOM_CAVES_HYRULE_TOWN_WATERFALL] = gExitList_Caves_HyruleTownWaterfall, + [ROOM_CAVES_LON_LON_RANCH] = gExitList_Caves_LonLonRanch, + [ROOM_CAVES_LON_LON_RANCH_SECRET] = gExitList_NoExitList, + [ROOM_CAVES_TRILBY_HIGHLANDS] = gExitList_Caves_TrilbyHighlands, + [ROOM_CAVES_LON_LON_RANCH_WALLET] = gExitList_Caves_LonLonRanchWallet, + [ROOM_CAVES_SOUTH_HYRULE_FIELD_RUPEE] = gExitList_Caves_SouthHyruleFieldRupee, + [ROOM_CAVES_TRILBY_RUPEE] = gExitList_Caves_TrilbyRupee, + [ROOM_CAVES_TRILBY_MITTS_FAIRY_FOUNTAIN] = gExitList_Caves_TrilbyMittsFairyFountain, + [ROOM_CAVES_HILLS_KEESE_CHEST] = gExitList_Caves_HillsKeeseChest, + [ROOM_CAVES_BOTTLE_BUSINESS_SCRUB] = gExitList_Caves_BottleBusinessScrub, + [ROOM_CAVES_HEART_PIECE_HALLWAY] = gExitList_Caves_HeartPieceHallway, + [ROOM_CAVES_NORTH_HYRULE_FIELD_FAIRY_FOUNTAIN] = gExitList_Caves_NorthHyruleFieldFairyFountain, + [ROOM_CAVES_KINSTONE_BUSINESS_SCRUB] = gExitList_Caves_KinstoneBusinessScrub, +}; + +const Transition gExitList_VeilFallsCaves_Hallway2F[] = { + { WARP_TYPE_AREA, 0x0, 0xd8, 0x28, 0x78, 0x28, 0x0, AREA_VEIL_FALLS_CAVES, ROOM_VEIL_FALLS_CAVES_HALLWAY_1F, + 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0xa8, 0x38, 0x10, AREA_VEIL_FALLS, ROOM_VEIL_FALLS_MAIN, 1, TRANSITION_TYPE_NORMAL, 0x4, + 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x158, 0x38, 0x20, AREA_VEIL_FALLS, ROOM_VEIL_FALLS_MAIN, 1, TRANSITION_TYPE_NORMAL, 0x4, + 0x0, 0x0, 0x0, 0x0 }, + TransitionListEnd, +}; +const Transition gExitList_VeilFallsCaves_Hallway1F[] = { + { WARP_TYPE_AREA, 0x0, 0x38, 0x18, 0x98, 0x28, 0x0, AREA_VEIL_FALLS_CAVES, ROOM_VEIL_FALLS_CAVES_HALLWAY_RUPEE_PATH, + 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x0, 0x78, 0x18, 0xd8, 0x38, 0x0, AREA_VEIL_FALLS_CAVES, ROOM_VEIL_FALLS_CAVES_HALLWAY_2F, + 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x0, 0xb8, 0x8c, 0x118, 0x58, 0x0, AREA_VEIL_FALLS, ROOM_VEIL_FALLS_MAIN, 1, TRANSITION_TYPE_NORMAL, + 0x4, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x0, 0x38, 0xe8, 0xc8, 0x58, 0x0, AREA_VEIL_FALLS, ROOM_VEIL_FALLS_MAIN, 1, TRANSITION_TYPE_NORMAL, 0x0, + 0x0, 0x0, 0x0, 0x0 }, + TransitionListEnd, +}; +const Transition gExitList_VeilFallsCaves_Entrance[] = { + { WARP_TYPE_AREA, 0x0, 0x128, 0x18, 0x58, 0x28, 0x0, AREA_VEIL_FALLS_CAVES, ROOM_VEIL_FALLS_CAVES_EXIT, + 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x38, 0x1f8, 0x30, AREA_VEIL_FALLS, ROOM_VEIL_FALLS_MAIN, 1, TRANSITION_TYPE_NORMAL, 0x4, + 0x0, 0x0, 0x0, 0x0 }, + TransitionListEnd, +}; +const Transition gExitList_VeilFallsCaves_Exit[] = { + { WARP_TYPE_AREA, 0x0, 0x58, 0x18, 0x128, 0x28, 0x0, AREA_VEIL_FALLS_CAVES, ROOM_VEIL_FALLS_CAVES_ENTRANCE, + 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0xd8, 0x1d8, 0x30, AREA_VEIL_FALLS, ROOM_VEIL_FALLS_MAIN, 1, TRANSITION_TYPE_NORMAL, 0x4, + 0x0, 0x0, 0x0, 0x0 }, + TransitionListEnd, +}; +const Transition gExitList_VeilFallsCaves_SecretChest[] = { + { WARP_TYPE_AREA, 0x0, 0x58, 0x38, 0x98, 0x48, 0x0, AREA_VEIL_FALLS_CAVES, + ROOM_VEIL_FALLS_CAVES_HALLWAY_SECRET_STAIRCASE, 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, + TransitionListEnd, +}; +const Transition gExitList_VeilFallsCaves_SecretStaircases[] = { + { WARP_TYPE_AREA, 0x0, 0x58, 0x38, 0x98, 0x48, 0x0, AREA_VEIL_FALLS_CAVES, ROOM_VEIL_FALLS_CAVES_HALLWAY_BLOCK_PUZZLE, + 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x0, 0x98, 0x38, 0x58, 0x48, 0x0, AREA_VEIL_FALLS_CAVES, ROOM_VEIL_FALLS_CAVES_SECRET_CHEST, + 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, + TransitionListEnd, +}; +const Transition gExitList_VeilFallsCaves_BlockPuzzle[] = { + { WARP_TYPE_AREA, 0x0, 0x98, 0x38, 0x58, 0x48, 0x0, AREA_VEIL_FALLS_CAVES, + ROOM_VEIL_FALLS_CAVES_HALLWAY_SECRET_STAIRCASE, 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0xd8, 0x158, 0x30, AREA_VEIL_FALLS, ROOM_VEIL_FALLS_MAIN, 1, TRANSITION_TYPE_NORMAL, 0x4, + 0x0, 0x0, 0x0, 0x0 }, + TransitionListEnd, +}; +const Transition gExitList_VeilFallsCaves_RupeePath[] = { + { WARP_TYPE_AREA, 0x0, 0x98, 0x18, 0x38, 0x28, 0x0, AREA_VEIL_FALLS_CAVES, ROOM_VEIL_FALLS_CAVES_HALLWAY_1F, + 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0xa8, 0xd8, 0x30, AREA_VEIL_FALLS, ROOM_VEIL_FALLS_MAIN, 1, TRANSITION_TYPE_NORMAL, 0x4, + 0x0, 0x0, 0x0, 0x0 }, + TransitionListEnd, +}; +const Transition gExitList_VeilFallsCaves_HeartPiece[] = { + { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x38, 0x38, 0x30, AREA_VEIL_FALLS, ROOM_VEIL_FALLS_MAIN, 1, TRANSITION_TYPE_NORMAL, 0x4, + 0x0, 0x0, 0x0, 0x0 }, + TransitionListEnd, +}; +const Transition* const gExitLists_VeilFallsCaves[] = { + [ROOM_VEIL_FALLS_CAVES_HALLWAY_2F] = gExitList_VeilFallsCaves_Hallway2F, + [ROOM_VEIL_FALLS_CAVES_HALLWAY_1F] = gExitList_VeilFallsCaves_Hallway1F, + [ROOM_VEIL_FALLS_CAVES_HALLWAY_SECRET_ROOM] = gExitList_NoExitList, + [ROOM_VEIL_FALLS_CAVES_ENTRANCE] = gExitList_VeilFallsCaves_Entrance, + [ROOM_VEIL_FALLS_CAVES_EXIT] = gExitList_VeilFallsCaves_Exit, + [ROOM_VEIL_FALLS_CAVES_SECRET_CHEST] = gExitList_VeilFallsCaves_SecretChest, + [ROOM_VEIL_FALLS_CAVES_HALLWAY_SECRET_STAIRCASE] = gExitList_VeilFallsCaves_SecretStaircases, + [ROOM_VEIL_FALLS_CAVES_HALLWAY_BLOCK_PUZZLE] = gExitList_VeilFallsCaves_BlockPuzzle, + [ROOM_VEIL_FALLS_CAVES_HALLWAY_RUPEE_PATH] = gExitList_VeilFallsCaves_RupeePath, + [ROOM_VEIL_FALLS_CAVES_HALLWAY_HEART_PIECE] = gExitList_VeilFallsCaves_HeartPiece, + [ROOM_VEIL_FALLS_CAVES_a] = gExitList_NoExitList, + [ROOM_VEIL_FALLS_CAVES_b] = gExitList_NoExitList, + [ROOM_VEIL_FALLS_CAVES_c] = gExitList_NoExitList, + [ROOM_VEIL_FALLS_CAVES_d] = gExitList_NoExitList, + [ROOM_VEIL_FALLS_CAVES_e] = gExitList_NoExitList, + [ROOM_VEIL_FALLS_CAVES_f] = gExitList_NoExitList, +}; + +const Transition gExitList_RoyalValleyGraves_HeartPiece[] = { + { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x58, 0x98, 0x30, AREA_ROYAL_VALLEY, ROOM_ROYAL_VALLEY_MAIN, 1, TRANSITION_TYPE_NORMAL, + 0x4, 0x0, 0x0, 0x0, 0x0 }, + TransitionListEnd, +}; +const Transition gExitList_RoyalValleyGraves_Gina[] = { + { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x188, 0x98, 0x30, AREA_ROYAL_VALLEY, ROOM_ROYAL_VALLEY_MAIN, 1, TRANSITION_TYPE_NORMAL, + 0x4, 0x0, 0x0, 0x0, 0x0 }, + TransitionListEnd, +}; +const Transition* const gExitLists_RoyalValleyGraves[] = { + [ROOM_ROYAL_VALLEY_GRAVES_HEART_PIECE] = gExitList_RoyalValleyGraves_HeartPiece, + [ROOM_ROYAL_VALLEY_GRAVES_GINA] = gExitList_RoyalValleyGraves_Gina, +}; + +const Transition gExitList_MinishCaves_BeanPesto[] = { + { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x1c8, 0x28, 0x30, AREA_MT_CRENEL, ROOM_MT_CRENEL_ENTRANCE, 1, TRANSITION_TYPE_INSTANT_MINISH, + 0x4, 0x0, 0x0, 0x0, 0x0 }, + TransitionListEnd, +}; +const Transition gExitList_MinishCaves_SoutheastWater1[] = { + { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x3b8, 0x308, 0x30, AREA_CASTOR_WILDS, ROOM_CASTOR_WILDS_MAIN, 1, TRANSITION_TYPE_INSTANT_MINISH, + 0x4, 0x0, 0x0, 0x0, 0x0 }, + TransitionListEnd, +}; +const Transition gExitList_MinishCaves_Ruins[] = { + { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x38, 0x14, 0x30, AREA_RUINS, ROOM_RUINS_LADDER_TO_TEKTITES, 1, TRANSITION_TYPE_INSTANT_MINISH, + 0x4, 0x0, 0x0, 0x0, 0x0 }, + TransitionListEnd, +}; +const Transition gExitList_MinishCaves_OutsideLinksHouse[] = { + { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x178, 0xe8, 0x30, AREA_HYRULE_FIELD, ROOM_HYRULE_FIELD_SOUTH_HYRULE_FIELD, + 1, TRANSITION_TYPE_INSTANT_MINISH, 0x4, 0x0, 0x0, 0x0, 0x0 }, + TransitionListEnd, +}; +const Transition gExitList_MinishCaves_MinishWoodsNorth1[] = { + { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x3b8, 0x48, 0x30, AREA_MINISH_WOODS, ROOM_MINISH_WOODS_MAIN, 1, TRANSITION_TYPE_INSTANT_MINISH, + 0x4, 0x0, 0x0, 0x0, 0x0 }, + TransitionListEnd, +}; +const Transition gExitList_MinishCaves_LakeHyliaNorth[] = { + { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x2b8, 0x68, 0x30, AREA_LAKE_HYLIA, ROOM_LAKE_HYLIA_MAIN, 1, TRANSITION_TYPE_INSTANT_MINISH, 0x4, + 0x0, 0x0, 0x0, 0x0 }, + TransitionListEnd, +}; +const Transition gExitList_MinishCaves_LakeHyliaLibrari[] = { + { WARP_TYPE_AREA, 0x0, 0x48, 0x38, 0x98, 0x204, 0x0, AREA_LAKE_HYLIA, ROOM_LAKE_HYLIA_MAIN, 1, TRANSITION_TYPE_INSTANT_MINISH, + 0x0, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x0, 0x378, 0x38, 0x1b8, 0x1c4, 0x0, AREA_LAKE_HYLIA, ROOM_LAKE_HYLIA_MAIN, 1, TRANSITION_TYPE_INSTANT_MINISH, + 0x0, 0x0, 0x0, 0x0, 0x0 }, + TransitionListEnd, +}; +const Transition gExitList_MinishCaves_MinishWoodsSouthwest[] = { + { WARP_TYPE_AREA, 0x0, 0x58, 0x138, 0x48, 0x224, 0x0, AREA_MINISH_WOODS, ROOM_MINISH_WOODS_MAIN, 1, + TRANSITION_TYPE_INSTANT_MINISH, 0x4, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x0, 0x138, 0x138, 0x68, 0x224, 0x0, AREA_MINISH_WOODS, ROOM_MINISH_WOODS_MAIN, 1, + TRANSITION_TYPE_INSTANT_MINISH, 0x4, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x0, 0x218, 0x138, 0x88, 0x224, 0x0, AREA_MINISH_WOODS, ROOM_MINISH_WOODS_MAIN, 1, + TRANSITION_TYPE_INSTANT_MINISH, 0x4, 0x0, 0x0, 0x0, 0x0 }, + TransitionListEnd, +}; +const Transition* const gExitLists_MinishCaves[] = { + [ROOM_MINISH_CAVES_BEAN_PESTO] = gExitList_MinishCaves_BeanPesto, + [ROOM_MINISH_CAVES_SOUTHEAST_WATER_1] = gExitList_MinishCaves_SoutheastWater1, + [ROOM_MINISH_CAVES_2] = gExitList_NoExitList, + [ROOM_MINISH_CAVES_RUINS] = gExitList_MinishCaves_Ruins, + [ROOM_MINISH_CAVES_OUTSIDE_LINKS_HOUSE] = gExitList_MinishCaves_OutsideLinksHouse, + [ROOM_MINISH_CAVES_MINISH_WOODS_NORTH_1] = gExitList_MinishCaves_MinishWoodsNorth1, + [ROOM_MINISH_CAVES_6] = gExitList_NoExitList, + [ROOM_MINISH_CAVES_LAKE_HYLIA_NORTH] = gExitList_MinishCaves_LakeHyliaNorth, + [ROOM_MINISH_CAVES_LAKE_HYLIA_LIBRARI] = gExitList_MinishCaves_LakeHyliaLibrari, + [ROOM_MINISH_CAVES_MINISH_WOODS_SOUTHWEST] = gExitList_MinishCaves_MinishWoodsSouthwest, +}; + +const Transition gExitList_CastleGardenMinishHoles_East[] = { + { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x308, 0x2c, 0x30, AREA_CASTLE_GARDEN, ROOM_CASTLE_GARDEN_MAIN, 1, + TRANSITION_TYPE_INSTANT_MINISH, 0x4, 0x0, 0x0, 0x0, 0x0 }, + TransitionListEnd, +}; +const Transition gExitList_CastleGardenMinishHoles_West[] = { + { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0xe8, 0x2c, 0x30, AREA_CASTLE_GARDEN, ROOM_CASTLE_GARDEN_MAIN, 1, TRANSITION_TYPE_INSTANT_MINISH, + 0x4, 0x0, 0x0, 0x0, 0x0 }, + TransitionListEnd, +}; +const Transition* const gExitLists_CastleGardenMinishHoles[] = { + [ROOM_CASTLE_GARDEN_MINISH_HOLES_0] = gExitList_CastleGardenMinishHoles_East, + [ROOM_CASTLE_GARDEN_MINISH_HOLES_1] = gExitList_CastleGardenMinishHoles_West, +}; + +const Transition gExitList_37_0[] = { + { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x308, 0x2c, 0x30, AREA_CASTLE_GARDEN, ROOM_CASTLE_GARDEN_MAIN, 1, + TRANSITION_TYPE_INSTANT_MINISH, 0x4, 0x0, 0x0, 0x0, 0x0 }, + TransitionListEnd, +}; +const Transition gExitList_37_1[] = { + { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0xe8, 0x2c, 0x30, AREA_CASTLE_GARDEN, ROOM_CASTLE_GARDEN_MAIN, 1, TRANSITION_TYPE_INSTANT_MINISH, + 0x4, 0x0, 0x0, 0x0, 0x0 }, + TransitionListEnd, +}; +const Transition* const gExitLists_37[] = { + [ROOM_37_0] = gExitList_37_0, + [ROOM_37_1] = gExitList_37_1, +}; + +const Transition gExitList_HyruleTownUnderground_Main[] = { + { WARP_TYPE_AREA, 0x0, 0x288, 0xf8, 0x338, 0x118, 0x0, AREA_HYRULE_TOWN, ROOM_HYRULE_TOWN_MAIN, 1, TRANSITION_TYPE_NORMAL, + 0x0, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x0, 0x168, 0x18, 0x78, 0x38, 0x0, AREA_HOUSE_INTERIORS_1, ROOM_HOUSE_INTERIORS_1_SCHOOL_WEST, + 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x0, 0x48, 0xf8, 0x188, 0x208, 0x0, AREA_HYRULE_DIG_CAVES, ROOM_HYRULE_DIG_CAVES_TOWN, + 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x0, 0x138, 0x238, 0x88, 0x50, 0x1, AREA_HYRULE_TOWN_UNDERGROUND, ROOM_HYRULE_TOWN_UNDERGROUND_1, + 1, TRANSITION_TYPE_NORMAL, 0x6, 0x0, 0x0, 0x0, 0x0 }, + TransitionListEnd, +}; +const Transition gExitList_HyruleTownUnderground_Well[] = { + { WARP_TYPE_AREA, 0x0, 0x98, 0x50, 0x148, 0x23c, 0x1, AREA_HYRULE_TOWN_UNDERGROUND, ROOM_HYRULE_TOWN_UNDERGROUND_0, + 1, TRANSITION_TYPE_NORMAL, 0x2, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x0, 0x78, 0x28, 0x2f8, 0x26c, 0x0, AREA_HYRULE_TOWN, ROOM_HYRULE_TOWN_MAIN, 1, TRANSITION_TYPE_NORMAL, + 0x0, 0x0, 0x0, 0x0, 0x0 }, + TransitionListEnd, +}; +const Transition* const gExitLists_HyruleTownUnderground[] = { + [ROOM_HYRULE_TOWN_UNDERGROUND_0] = gExitList_HyruleTownUnderground_Main, + [ROOM_HYRULE_TOWN_UNDERGROUND_1] = gExitList_HyruleTownUnderground_Well, +}; + +const Transition gExitList_HyruleTownMinishCaves_Entrance[] = { + { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x174, 0x196, 0x30, AREA_HYRULE_TOWN, ROOM_HYRULE_TOWN_MAIN, 1, TRANSITION_TYPE_INSTANT_MINISH, + 0x4, 0x0, 0x0, 0x0, 0x0 }, + TransitionListEnd, +}; +const Transition gExitList_HyruleTownMinishCaves_Entrance2[] = { + { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0xe2, 0x58, 0x30, AREA_HYRULE_TOWN, ROOM_HYRULE_TOWN_MAIN, 1, TRANSITION_TYPE_INSTANT_MINISH, + 0x4, 0x0, 0x0, 0x0, 0x0 }, + TransitionListEnd, +}; +const Transition* const gExitLists_HyruleTownMinishCaves[] = { + gExitList_HyruleTownMinishCaves_Entrance, + gExitList_NoExitList, + gExitList_NoExitList, + gExitList_NoExitList, + gExitList_NoExitList, + gExitList_NoExitList, + gExitList_NoExitList, + gExitList_NoExitList, + gExitList_NoExitList, + gExitList_NoExitList, + gExitList_NoExitList, + gExitList_NoExitList, + gExitList_NoExitList, + gExitList_NoExitList, + gExitList_NoExitList, + gExitList_NoExitList, + gExitList_NoExitList, + gExitList_NoExitList, + gExitList_NoExitList, + gExitList_NoExitList, + gExitList_NoExitList, + gExitList_HyruleTownMinishCaves_Entrance2, + gExitList_NoExitList, + gExitList_NoExitList, +}; + +const Transition gExitList_GardenFountains_East[] = { + { WARP_TYPE_AREA, 0x0, 0x78, 0x88, 0x308, 0x58, 0x0, AREA_CASTLE_GARDEN, ROOM_CASTLE_GARDEN_MAIN, 1, + TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, + TransitionListEnd, +}; +const Transition gExitList_GardenFountains_West[] = { + { WARP_TYPE_AREA, 0x0, 0x78, 0x88, 0xe8, 0x58, 0x0, AREA_CASTLE_GARDEN, ROOM_CASTLE_GARDEN_MAIN, 1, + TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, + TransitionListEnd, +}; +const Transition* const gExitLists_GardenFountains[] = { + [ROOM_GARDEN_FOUNTAINS_EAST] = gExitList_GardenFountains_East, + [ROOM_GARDEN_FOUNTAINS_WEST] = gExitList_GardenFountains_West, +}; + +const Transition gExitList_GreatFairies_Entrance[] = { + { WARP_TYPE_AREA, 0x0, 0x68, 0x188, 0x68, 0x58, 0x0, AREA_CASTLE_GARDEN, ROOM_CASTLE_GARDEN_MAIN, 1, + TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0, 0x0 }, + TransitionListEnd, +}; +const Transition gExitList_GreatFairies_Exit[] = { + { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x52, 0x29c, 0xc, AREA_HYRULE_CASTLE, ROOM_HYRULE_CASTLE_3, 1, TRANSITION_TYPE_NORMAL, + 0x2, 0x0, 0x0, 0x0, 0x0 }, + TransitionListEnd, +}; +const Transition* const gExitLists_HyruleCastleCellar[] = { + [ROOM_HYRULE_CASTLE_CELLAR_0] = gExitList_GreatFairies_Entrance, + [ROOM_HYRULE_CASTLE_CELLAR_1] = gExitList_GreatFairies_Exit, +}; + +const Transition* const gExitLists_40[] = { + gExitList_NoExitList, gExitList_NoExitList, gExitList_NoExitList, gExitList_NoExitList, gExitList_NoExitList, + gExitList_NoExitList, gExitList_NoExitList, gExitList_NoExitList, gExitList_NoExitList, +}; + +const Transition gExitList_DeepwoodShrine_StairsToB1[] = { + { WARP_TYPE_AREA, 0x0, 0xc8, 0x28, 0xc8, 0x38, 0x0, AREA_DEEPWOOD_SHRINE, ROOM_DEEPWOOD_SHRINE_COMPASS, + 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, + TransitionListEnd, +}; +const Transition gExitList_DeepwoodShrine_BluePortal[] = { +#ifdef EU + { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0xfff, 0x38, 0x30, AREA_DEEPWOOD_SHRINE, ROOM_DEEPWOOD_SHRINE_BARREL, + 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, +#endif + TransitionListEnd, +}; +const Transition gExitList_DeepwoodShrine_Map[] = { +#ifdef EU + { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x18, 0xfff, 0xc, AREA_DEEPWOOD_SHRINE, ROOM_DEEPWOOD_SHRINE_BARREL, + 1, TRANSITION_TYPE_NORMAL, 0x2, 0x0, 0x0, 0x0, 0x0 }, +#endif + TransitionListEnd, +}; +const Transition gExitList_DeepwoodShrine_Button[] = { +#ifdef EU + { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x1b8, 0xfff, 0xc0, AREA_DEEPWOOD_SHRINE, ROOM_DEEPWOOD_SHRINE_BARREL, + 1, TRANSITION_TYPE_NORMAL, 0x6, 0x0, 0x0, 0x0, 0x0 }, +#endif + TransitionListEnd, +}; +const Transition gExitList_DeepwoodShrine_Lever[] = { +#ifdef EU + { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0xfff, 0x168, 0x3, AREA_DEEPWOOD_SHRINE, ROOM_DEEPWOOD_SHRINE_BARREL, + 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0, 0x0 }, +#endif + TransitionListEnd, +}; +const Transition gExitList_DeepwoodShrine_Barrel[] = { + { WARP_TYPE_AREA, 0x0, 0xb8, 0x88, 0x50, 0x38, 0x0, AREA_DEEPWOOD_SHRINE, ROOM_DEEPWOOD_SHRINE_INSIDE_BARREL, + 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x0, 0x118, 0x88, 0xa0, 0x38, 0x0, AREA_DEEPWOOD_SHRINE, ROOM_DEEPWOOD_SHRINE_INSIDE_BARREL, + 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x0, 0xb8, 0x108, 0x50, 0x70, 0x0, AREA_DEEPWOOD_SHRINE, ROOM_DEEPWOOD_SHRINE_INSIDE_BARREL, + 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x0, 0x118, 0x108, 0xa0, 0x70, 0x0, AREA_DEEPWOOD_SHRINE, ROOM_DEEPWOOD_SHRINE_INSIDE_BARREL, + 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0, 0x0 }, +#ifdef EU + { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0xfff, 0xc8, 0x3, AREA_DEEPWOOD_SHRINE, ROOM_DEEPWOOD_SHRINE_BLUE_PORTAL, + 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x28, 0xfff, 0xc, AREA_DEEPWOOD_SHRINE, ROOM_DEEPWOOD_SHRINE_BUTTON, + 1, TRANSITION_TYPE_NORMAL, 0x2, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0xfff, 0x38, 0x30, AREA_DEEPWOOD_SHRINE, ROOM_DEEPWOOD_SHRINE_LEVER, + 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0xe8, 0xfff, 0xc0, AREA_DEEPWOOD_SHRINE, ROOM_DEEPWOOD_SHRINE_MAP, 1, + TRANSITION_TYPE_NORMAL, 0x6, 0x0, 0x0, 0x0, 0x0 }, +#endif + TransitionListEnd, +}; +const Transition gExitList_DeepwoodShrine_Entrance[] = { + { WARP_TYPE_AREA, 0x0, 0x48, 0x68, 0x48, 0x78, 0x0, AREA_DEEPWOOD_SHRINE, ROOM_DEEPWOOD_SHRINE_BOSS_DOOR, + 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x0, 0x108, 0x68, 0x108, 0x78, 0x0, AREA_DEEPWOOD_SHRINE, ROOM_DEEPWOOD_SHRINE_BOSS_DOOR, + 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x78, 0x64, 0x30, AREA_DEEPWOOD_SHRINE_ENTRY, ROOM_DEEPWOOD_SHRINE_ENTRY_MAIN, + 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, + TransitionListEnd, +}; +const Transition gExitList_DeepwoodShrine_Compass[] = { + { WARP_TYPE_AREA, 0x0, 0xc8, 0x28, 0xc8, 0x38, 0x0, AREA_DEEPWOOD_SHRINE, ROOM_DEEPWOOD_SHRINE_STAIRS_TO_B1, + 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, + TransitionListEnd, +}; +const Transition gExitList_DeepwoodShrineBoss_Main[] = { + { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0xa8, 0x8, 0x30, AREA_DEEPWOOD_SHRINE, ROOM_DEEPWOOD_SHRINE_BOSS_DOOR, + 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, + TransitionListEnd, +}; +const Transition gExitList_DeepwoodShrine_PreBoss[] = { + { WARP_TYPE_AREA, 0x0, 0x48, 0x68, 0x48, 0x78, 0x0, AREA_DEEPWOOD_SHRINE, ROOM_DEEPWOOD_SHRINE_ENTRANCE, + 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x0, 0x108, 0x68, 0x108, 0x78, 0x0, AREA_DEEPWOOD_SHRINE, ROOM_DEEPWOOD_SHRINE_ENTRANCE, + 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x88, 0xd8, 0x3, AREA_DEEPWOOD_SHRINE_BOSS, ROOM_DEEPWOOD_SHRINE_BOSS_MAIN, + 1, TRANSITION_TYPE_INSTANT, 0x0, 0x0, 0x0, 0x0, 0x0 }, + TransitionListEnd, +}; +const Transition* const gExitLists_DeepwoodShrine[] = { + [ROOM_DEEPWOOD_SHRINE_MADDERPILLAR] = gExitList_NoExitList, + [ROOM_DEEPWOOD_SHRINE_BLUE_PORTAL] = gExitList_DeepwoodShrine_BluePortal, + [ROOM_DEEPWOOD_SHRINE_STAIRS_TO_B1] = gExitList_DeepwoodShrine_StairsToB1, + [ROOM_DEEPWOOD_SHRINE_POT_BRIDGE] = gExitList_NoExitList, + [ROOM_DEEPWOOD_SHRINE_DOUBLE_STATUE] = gExitList_NoExitList, + [ROOM_DEEPWOOD_SHRINE_MAP] = gExitList_DeepwoodShrine_Map, + [ROOM_DEEPWOOD_SHRINE_BARREL] = gExitList_DeepwoodShrine_Barrel, + [ROOM_DEEPWOOD_SHRINE_BUTTON] = gExitList_DeepwoodShrine_Button, + [ROOM_DEEPWOOD_SHRINE_MULLDOZER] = gExitList_NoExitList, + [ROOM_DEEPWOOD_SHRINE_PILLARS] = gExitList_NoExitList, + [ROOM_DEEPWOOD_SHRINE_LEVER] = gExitList_DeepwoodShrine_Lever, + [ROOM_DEEPWOOD_SHRINE_ENTRANCE] = gExitList_DeepwoodShrine_Entrance, + [ROOM_DEEPWOOD_SHRINE_c] = gExitList_NoExitList, + [ROOM_DEEPWOOD_SHRINE_d] = gExitList_NoExitList, + [ROOM_DEEPWOOD_SHRINE_e] = gExitList_NoExitList, + [ROOM_DEEPWOOD_SHRINE_f] = gExitList_NoExitList, + [ROOM_DEEPWOOD_SHRINE_TORCHES] = gExitList_NoExitList, + [ROOM_DEEPWOOD_SHRINE_BOSS_KEY] = gExitList_NoExitList, + [ROOM_DEEPWOOD_SHRINE_COMPASS] = gExitList_DeepwoodShrine_Compass, + [ROOM_DEEPWOOD_SHRINE_13] = gExitList_NoExitList, + [ROOM_DEEPWOOD_SHRINE_LILY_PAD_WEST] = gExitList_NoExitList, + [ROOM_DEEPWOOD_SHRINE_LILY_PAD_EAST] = gExitList_NoExitList, + [ROOM_DEEPWOOD_SHRINE_16] = gExitList_NoExitList, + [ROOM_DEEPWOOD_SHRINE_BOSS_DOOR] = gExitList_DeepwoodShrine_PreBoss, + [ROOM_DEEPWOOD_SHRINE_18] = gExitList_NoExitList, + [ROOM_DEEPWOOD_SHRINE_19] = gExitList_NoExitList, + [ROOM_DEEPWOOD_SHRINE_1a] = gExitList_NoExitList, + [ROOM_DEEPWOOD_SHRINE_1b] = gExitList_NoExitList, + [ROOM_DEEPWOOD_SHRINE_1c] = gExitList_NoExitList, + [ROOM_DEEPWOOD_SHRINE_1d] = gExitList_NoExitList, + [ROOM_DEEPWOOD_SHRINE_1e] = gExitList_NoExitList, + [ROOM_DEEPWOOD_SHRINE_1f] = gExitList_NoExitList, + [ROOM_DEEPWOOD_SHRINE_INSIDE_BARREL] = gExitList_NoExitList, +}; + +const Transition* const gExitLists_DeepwoodShrineBoss[] = { + [ROOM_DEEPWOOD_SHRINE_BOSS_MAIN] = gExitList_DeepwoodShrineBoss_Main, +}; + +const Transition gExitList_DeepwoodShrineEntry_Main[] = { + { WARP_TYPE_AREA, 0x0, 0x78, 0x58, 0xa8, 0xd8, 0x0, AREA_DEEPWOOD_SHRINE, ROOM_DEEPWOOD_SHRINE_ENTRANCE, + 1, TRANSITION_TYPE_NORMAL, 0x0, 0x88, 0x1, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x1c8, 0x272, 0x30, AREA_MINISH_WOODS, ROOM_MINISH_WOODS_MAIN, 1, TRANSITION_TYPE_INSTANT_MINISH, + 0x4, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x1d8, 0x272, 0xc, AREA_MINISH_WOODS, ROOM_MINISH_WOODS_MAIN, 1, TRANSITION_TYPE_INSTANT_MINISH, + 0x2, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x1b8, 0x272, 0xc0, AREA_MINISH_WOODS, ROOM_MINISH_WOODS_MAIN, 1, TRANSITION_TYPE_INSTANT_MINISH, + 0x6, 0x0, 0x0, 0x0, 0x0 }, + TransitionListEnd, +}; +const Transition* const gExitLists_DeepwoodShrineEntry[] = { + [ROOM_DEEPWOOD_SHRINE_ENTRY_MAIN] = gExitList_DeepwoodShrineEntry_Main, +}; + +const Transition gExitList_CaveOfFlames_AfterCane[] = { + { WARP_TYPE_AREA, 0x0, 0x88, 0x38, 0x1a8, 0x38, 0x0, AREA_CAVE_OF_FLAMES, ROOM_CAVE_OF_FLAMES_MINISH_SPIKES, + 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, + TransitionListEnd, +}; +const Transition gExitList_CaveOfFlames_Entrance[] = { + { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x68, 0x88, 0x30, AREA_MT_CRENEL, ROOM_MT_CRENEL_CAVERN_OF_FLAMES_ENTRANCE, + 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, + TransitionListEnd, +}; +const Transition gExitList_CaveOfFlames_MainCart[] = { + { WARP_TYPE_AREA, 0x0, 0x1f8, 0x38, 0x88, 0x28, 0x0, AREA_CAVE_OF_FLAMES, ROOM_CAVE_OF_FLAMES_NORTH_ENTRANCE, + 2, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, + TransitionListEnd, +}; +const Transition gExitList_CaveOfFlames_NorthEntrance[] = { + { WARP_TYPE_AREA, 0x0, 0x88, 0x18, 0x1f8, 0x48, 0x0, AREA_CAVE_OF_FLAMES, ROOM_CAVE_OF_FLAMES_MAIN_CART, + 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, + TransitionListEnd, +}; +const Transition gExitList_CaveOfFlames_MinishSpikes[] = { + { WARP_TYPE_AREA, 0x0, 0x1a8, 0x28, 0x88, 0x48, 0x0, AREA_CAVE_OF_FLAMES, ROOM_CAVE_OF_FLAMES_AFTER_CANE, + 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, + TransitionListEnd, +}; +const Transition gExitList_CaveOfFlames_BeforeGleerok[] = { + { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0xfff, 0x28, 0x30, AREA_CAVE_OF_FLAMES, ROOM_CAVE_OF_FLAMES_BOSS_DOOR, + 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, + TransitionListEnd, +}; +const Transition gExitList_CaveOfFlames_BossDoor[] = { + { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0xfff, 0xc0, 0x1, AREA_CAVE_OF_FLAMES, ROOM_CAVE_OF_FLAMES_BEFORE_GLEEROK, + 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0, 0x0 }, + TransitionListEnd, +}; +const Transition* const gExitLists_CaveOfFlames[] = { + [ROOM_CAVE_OF_FLAMES_AFTER_CANE] = gExitList_CaveOfFlames_AfterCane, + [ROOM_CAVE_OF_FLAMES_SPINY_CHU] = gExitList_NoExitList, + [ROOM_CAVE_OF_FLAMES_CART_TO_SPINY_CHU] = gExitList_NoExitList, + [ROOM_CAVE_OF_FLAMES_ENTRANCE] = gExitList_CaveOfFlames_Entrance, + [ROOM_CAVE_OF_FLAMES_MAIN_CART] = gExitList_CaveOfFlames_MainCart, + [ROOM_CAVE_OF_FLAMES_NORTH_ENTRANCE] = gExitList_CaveOfFlames_NorthEntrance, + [ROOM_CAVE_OF_FLAMES_CART_WEST] = gExitList_NoExitList, + [ROOM_CAVE_OF_FLAMES_HELMASAUR_FIGHT] = gExitList_NoExitList, + [ROOM_CAVE_OF_FLAMES_ROLLOBITE_LAVA_ROOM] = gExitList_NoExitList, + [ROOM_CAVE_OF_FLAMES_MINISH_LAVA_ROOM] = gExitList_NoExitList, + [ROOM_CAVE_OF_FLAMES_a] = gExitList_NoExitList, + [ROOM_CAVE_OF_FLAMES_b] = gExitList_NoExitList, + [ROOM_CAVE_OF_FLAMES_c] = gExitList_NoExitList, + [ROOM_CAVE_OF_FLAMES_d] = gExitList_NoExitList, + [ROOM_CAVE_OF_FLAMES_e] = gExitList_NoExitList, + [ROOM_CAVE_OF_FLAMES_f] = gExitList_NoExitList, + [ROOM_CAVE_OF_FLAMES_MINISH_SPIKES] = gExitList_CaveOfFlames_MinishSpikes, + [ROOM_CAVE_OF_FLAMES_TOMPAS_DOOM] = gExitList_NoExitList, + [ROOM_CAVE_OF_FLAMES_BEFORE_GLEEROK] = gExitList_CaveOfFlames_BeforeGleerok, + [ROOM_CAVE_OF_FLAMES_BOSSKEY_PATH1] = gExitList_NoExitList, + [ROOM_CAVE_OF_FLAMES_BOSSKEY_PATH2] = gExitList_NoExitList, + [ROOM_CAVE_OF_FLAMES_COMPASS] = gExitList_NoExitList, + [ROOM_CAVE_OF_FLAMES_BOB_OMB_WALL] = gExitList_NoExitList, + [ROOM_CAVE_OF_FLAMES_BOSS_DOOR] = gExitList_CaveOfFlames_BossDoor, + [ROOM_CAVE_OF_FLAMES_18] = gExitList_NoExitList, + [ROOM_CAVE_OF_FLAMES_19] = gExitList_NoExitList, + [ROOM_CAVE_OF_FLAMES_1a] = gExitList_NoExitList, + [ROOM_CAVE_OF_FLAMES_1b] = gExitList_NoExitList, + [ROOM_CAVE_OF_FLAMES_1c] = gExitList_NoExitList, + [ROOM_CAVE_OF_FLAMES_1d] = gExitList_NoExitList, + [ROOM_CAVE_OF_FLAMES_1e] = gExitList_NoExitList, + [ROOM_CAVE_OF_FLAMES_1f] = gExitList_NoExitList, + [ROOM_CAVE_OF_FLAMES_20] = gExitList_NoExitList, +}; + +const Transition gExitList_FortressOfWinds_BeforeMazaal[] = { + { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0xfff, 0x18, 0x30, AREA_FORTRESS_OF_WINDS, ROOM_FORTRESS_OF_WINDS_WEST_KEY_LEVER, + 1, TRANSITION_TYPE_INSTANT, 0x4, 0x0, 0x0, 0x0, 0x0 }, + TransitionListEnd, +}; +const Transition gExitList_FortressOfWinds_EastKeyLever[] = { + { WARP_TYPE_AREA, 0x0, 0x198, 0x198, 0x2e8, 0x38, 0x0, AREA_OUTER_FORTRESS_OF_WINDS, ROOM_OUTER_FORTRESS_OF_WINDS_3F, + 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x0, 0x1f8, 0x198, 0x338, 0x38, 0x0, AREA_OUTER_FORTRESS_OF_WINDS, ROOM_OUTER_FORTRESS_OF_WINDS_3F, + 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, + TransitionListEnd, +}; +const Transition gExitList_FortressOfWinds_PitPlatforms[] = { + { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x68, 0x38, 0x30, AREA_OUTER_FORTRESS_OF_WINDS, ROOM_OUTER_FORTRESS_OF_WINDS_3F, + 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, + TransitionListEnd, +}; +const Transition gExitList_FortressOfWinds_WestKeyLever[] = { + { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0xfff, 0xc8, 0x3, AREA_FORTRESS_OF_WINDS, ROOM_FORTRESS_OF_WINDS_BEFORE_MAZAAL, + 1, TRANSITION_TYPE_INSTANT, 0x0, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x1d8, 0x38, 0x30, AREA_OUTER_FORTRESS_OF_WINDS, ROOM_OUTER_FORTRESS_OF_WINDS_3F, + 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, + TransitionListEnd, +}; +const Transition gExitList_FortressOfWinds_Mazaal[] = { + { WARP_TYPE_AREA, 0x0, 0xb8, 0x18, 0xa0, 0x18c, 0x0, AREA_FORTRESS_OF_WINDS_TOP, ROOM_FORTRESS_OF_WINDS_TOP_MAIN, + 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0, 0x0 }, + TransitionListEnd, +}; +const Transition gExitList_FortressOfWinds_Stalfos[] = { + { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x78, 0x38, 0x30, AREA_OUTER_FORTRESS_OF_WINDS, ROOM_OUTER_FORTRESS_OF_WINDS_2F, + 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, + TransitionListEnd, +}; +const Transition gExitList_FortressOfWinds_EntranceMoleMitts[] = { + { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x88, 0xb0, 0x3, AREA_OUTER_FORTRESS_OF_WINDS, + ROOM_OUTER_FORTRESS_OF_WINDS_MOLE_MITTS, 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, + TransitionListEnd, +}; +const Transition gExitList_FortressOfWinds_Main2F[] = { + { WARP_TYPE_AREA, 0x0, 0x88, 0xf8, 0x78, 0x38, 0x0, AREA_FORTRESS_OF_WINDS, ROOM_FORTRESS_OF_WINDS_CENTER_STAIRS_1F, + 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x1d8, 0xa8, 0x30, AREA_OUTER_FORTRESS_OF_WINDS, ROOM_OUTER_FORTRESS_OF_WINDS_2F, + 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, + TransitionListEnd, +}; +const Transition gExitList_FortressOfWinds_MinishHole[] = { + { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x68, 0xb0, 0x3, AREA_OUTER_FORTRESS_OF_WINDS, ROOM_OUTER_FORTRESS_OF_WINDS_SMALL_KEY, + 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, + TransitionListEnd, +}; +const Transition gExitList_FortressOfWinds_BossKey[] = { + { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x338, 0x38, 0x30, AREA_OUTER_FORTRESS_OF_WINDS, ROOM_OUTER_FORTRESS_OF_WINDS_2F, + 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, + TransitionListEnd, +}; +const Transition gExitList_FortressOfWinds_WestStairs2F[] = { + { WARP_TYPE_AREA, 0x0, 0x88, 0x28, 0x68, 0x38, 0x0, AREA_FORTRESS_OF_WINDS, ROOM_FORTRESS_OF_WINDS_WEST_STAIRS_1F, + 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, + TransitionListEnd, +}; +const Transition gExitList_FortressOfWinds_EastStairs2F[] = { + { WARP_TYPE_AREA, 0x0, 0x88, 0x28, 0x68, 0x38, 0x0, AREA_FORTRESS_OF_WINDS, ROOM_FORTRESS_OF_WINDS_EAST_STAIRS_1F, + 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x288, 0xa8, 0x30, AREA_OUTER_FORTRESS_OF_WINDS, ROOM_OUTER_FORTRESS_OF_WINDS_2F, + 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, + TransitionListEnd, +}; +const Transition gExitList_FortressOfWinds_WestStairs1F[] = { + { WARP_TYPE_AREA, 0x0, 0x68, 0x28, 0x88, 0x38, 0x0, AREA_FORTRESS_OF_WINDS, ROOM_FORTRESS_OF_WINDS_WEST_STAIRS_2F, + 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x128, 0x38, 0x30, AREA_OUTER_FORTRESS_OF_WINDS, + ROOM_OUTER_FORTRESS_OF_WINDS_ENTRANCE_HALL, 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, + TransitionListEnd, +}; +const Transition gExitList_FortressOfWinds_CenterStairs1F[] = { + { WARP_TYPE_AREA, 0x0, 0x78, 0x28, 0x88, 0x108, 0x0, AREA_FORTRESS_OF_WINDS, ROOM_FORTRESS_OF_WINDS_MAIN_2F, + 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x1d8, 0x38, 0x30, AREA_OUTER_FORTRESS_OF_WINDS, + ROOM_OUTER_FORTRESS_OF_WINDS_ENTRANCE_HALL, 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, + TransitionListEnd, +}; +const Transition gExitList_FortressOfWinds_EastStairs1F[] = { + { WARP_TYPE_AREA, 0x0, 0x68, 0x28, 0x88, 0x38, 0x0, AREA_FORTRESS_OF_WINDS, ROOM_FORTRESS_OF_WINDS_EAST_STAIRS_2F, + 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x288, 0x38, 0x30, AREA_OUTER_FORTRESS_OF_WINDS, + ROOM_OUTER_FORTRESS_OF_WINDS_ENTRANCE_HALL, 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, + TransitionListEnd, +}; +const Transition gExitList_FortressOfWinds_Wizzrobe[] = { + { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x78, 0x38, 0x30, AREA_OUTER_FORTRESS_OF_WINDS, + ROOM_OUTER_FORTRESS_OF_WINDS_ENTRANCE_HALL, 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, + TransitionListEnd, +}; +const Transition gExitList_FortressOfWinds_HeartPiece[] = { + { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x338, 0x38, 0x30, AREA_OUTER_FORTRESS_OF_WINDS, + ROOM_OUTER_FORTRESS_OF_WINDS_ENTRANCE_HALL, 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, + TransitionListEnd, +}; +const Transition* const gExitLists_FortressOfWinds[] = { + [ROOM_FORTRESS_OF_WINDS_DOUBLE_EYEGORE] = gExitList_NoExitList, + [ROOM_FORTRESS_OF_WINDS_BEFORE_MAZAAL] = gExitList_FortressOfWinds_BeforeMazaal, + [ROOM_FORTRESS_OF_WINDS_EAST_KEY_LEVER] = gExitList_FortressOfWinds_EastKeyLever, + [ROOM_FORTRESS_OF_WINDS_PIT_PLATFORMS] = gExitList_FortressOfWinds_PitPlatforms, + [ROOM_FORTRESS_OF_WINDS_WEST_KEY_LEVER] = gExitList_FortressOfWinds_WestKeyLever, + [ROOM_FORTRESS_OF_WINDS_5] = gExitList_NoExitList, + [ROOM_FORTRESS_OF_WINDS_6] = gExitList_NoExitList, + [ROOM_FORTRESS_OF_WINDS_7] = gExitList_NoExitList, + [ROOM_FORTRESS_OF_WINDS_8] = gExitList_NoExitList, + [ROOM_FORTRESS_OF_WINDS_9] = gExitList_NoExitList, + [ROOM_FORTRESS_OF_WINDS_a] = gExitList_NoExitList, + [ROOM_FORTRESS_OF_WINDS_b] = gExitList_NoExitList, + [ROOM_FORTRESS_OF_WINDS_c] = gExitList_NoExitList, + [ROOM_FORTRESS_OF_WINDS_d] = gExitList_NoExitList, + [ROOM_FORTRESS_OF_WINDS_e] = gExitList_NoExitList, + [ROOM_FORTRESS_OF_WINDS_f] = gExitList_NoExitList, + [ROOM_FORTRESS_OF_WINDS_DARKNUT_ROOM] = gExitList_NoExitList, + [ROOM_FORTRESS_OF_WINDS_ARROW_EYE_BRIDGE] = gExitList_NoExitList, + [ROOM_FORTRESS_OF_WINDS_NORTH_SPLIT_PATH_PIT] = gExitList_NoExitList, + [ROOM_FORTRESS_OF_WINDS_WALLMASTER_MINISH_PORTAL] = gExitList_NoExitList, + [ROOM_FORTRESS_OF_WINDS_PILLAR_CLONE_BUTTONS] = gExitList_NoExitList, + [ROOM_FORTRESS_OF_WINDS_ROTATING_SPIKE_TRAPS] = gExitList_NoExitList, + [ROOM_FORTRESS_OF_WINDS_MAZAAL] = gExitList_FortressOfWinds_Mazaal, + [ROOM_FORTRESS_OF_WINDS_STALFOS] = gExitList_FortressOfWinds_Stalfos, + [ROOM_FORTRESS_OF_WINDS_ENTRANCE_MOLE_MITTS] = gExitList_FortressOfWinds_EntranceMoleMitts, + [ROOM_FORTRESS_OF_WINDS_MAIN_2F] = gExitList_FortressOfWinds_Main2F, + [ROOM_FORTRESS_OF_WINDS_MINISH_HOLE] = gExitList_FortressOfWinds_MinishHole, + [ROOM_FORTRESS_OF_WINDS_BOSS_KEY] = gExitList_FortressOfWinds_BossKey, + [ROOM_FORTRESS_OF_WINDS_WEST_STAIRS_2F] = gExitList_FortressOfWinds_WestStairs2F, + [ROOM_FORTRESS_OF_WINDS_EAST_STAIRS_2F] = gExitList_FortressOfWinds_EastStairs2F, + [ROOM_FORTRESS_OF_WINDS_1e] = gExitList_NoExitList, + [ROOM_FORTRESS_OF_WINDS_1f] = gExitList_NoExitList, + [ROOM_FORTRESS_OF_WINDS_WEST_STAIRS_1F] = gExitList_FortressOfWinds_WestStairs1F, + [ROOM_FORTRESS_OF_WINDS_CENTER_STAIRS_1F] = gExitList_FortressOfWinds_CenterStairs1F, + [ROOM_FORTRESS_OF_WINDS_EAST_STAIRS_1F] = gExitList_FortressOfWinds_EastStairs1F, + [ROOM_FORTRESS_OF_WINDS_WIZZROBE] = gExitList_FortressOfWinds_Wizzrobe, + [ROOM_FORTRESS_OF_WINDS_HEART_PIECE] = gExitList_FortressOfWinds_HeartPiece, + [ROOM_FORTRESS_OF_WINDS_25] = gExitList_NoExitList, + [ROOM_FORTRESS_OF_WINDS_26] = gExitList_NoExitList, + [ROOM_FORTRESS_OF_WINDS_27] = gExitList_NoExitList, +}; + +const Transition gExitList_FortressOfWindsTop_Main[] = { + { WARP_TYPE_AREA, 0x0, 0xa0, 0x1a0, 0xb8, 0x28, 0x0, AREA_FORTRESS_OF_WINDS, ROOM_FORTRESS_OF_WINDS_MAZAAL, + 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, + TransitionListEnd, +}; +const Transition* const gExitLists_FortressOfWindsTop[] = { + [ROOM_FORTRESS_OF_WINDS_TOP_MAIN] = gExitList_FortressOfWindsTop_Main, +}; + +const Transition gExitList_InnerMazaal_Main[] = { + { WARP_TYPE_AREA, 0x0, 0x88, 0x11c, 0xb8, 0x5c, 0x0, AREA_FORTRESS_OF_WINDS, ROOM_FORTRESS_OF_WINDS_MAZAAL, + 1, TRANSITION_TYPE_INSTANT_MINISH, 0x4, 0x0, 0x0, 0x0, 0x0 }, + TransitionListEnd, +}; +const Transition* const gExitLists_InnerMazaal[] = { + [ROOM_INNER_MAZAAL_MAIN] = gExitList_InnerMazaal_Main, + [ROOM_INNER_MAZAAL_PHASE_1] = gExitList_InnerMazaal_Main, +}; + +const Transition gExitList_TempleOfDroplets_WestHole[] = { + { WARP_TYPE_AREA, 0x0, 0x58, 0x28, 0x58, 0x38, 0x0, AREA_TEMPLE_OF_DROPLETS, ROOM_TEMPLE_OF_DROPLETS_BOSS_KEY, + 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, + TransitionListEnd, +}; +const Transition gExitList_TempleOfDroplets_EastHole[] = { + { WARP_TYPE_AREA, 0x0, 0xd8, 0x28, 0xd8, 0x38, 0x0, AREA_TEMPLE_OF_DROPLETS, ROOM_TEMPLE_OF_DROPLETS_NORTH_SMALL_KEY, + 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, + TransitionListEnd, +}; +const Transition gExitList_TempleOfDroplets_HoleToBlueChuchu[] = { + { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x208, 0xfff, 0xc0, AREA_TEMPLE_OF_DROPLETS, ROOM_TEMPLE_OF_DROPLETS_ELEMENT, + 1, TRANSITION_TYPE_NORMAL, 0x6, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x0, 0xc8, 0x28, 0x88, 0x28, 0x0, AREA_TEMPLE_OF_DROPLETS, + ROOM_TEMPLE_OF_DROPLETS_BLUE_CHU_KEY_LEVER, 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, + TransitionListEnd, +}; +const Transition gExitList_TempleOfDroplets_BigBlueChuchu[] = { + { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0xfff, 0xb8, 0x3, AREA_TEMPLE_OF_DROPLETS, ROOM_TEMPLE_OF_DROPLETS_TO_BLUE_CHU, + 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0, 0x0 }, + TransitionListEnd, +}; +const Transition gExitList_TempleOfDroplets_BigBlueChuchuKey[] = { + { WARP_TYPE_AREA, 0x0, 0x58, 0x28, 0xc8, 0x28, 0x0, AREA_TEMPLE_OF_DROPLETS, + ROOM_TEMPLE_OF_DROPLETS_BLUE_CHU_KEY_LEVER, 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, + TransitionListEnd, +}; +const Transition gExitList_TempleOfDroplets_BossKey[] = { + { WARP_TYPE_AREA, 0x0, 0x58, 0x28, 0x58, 0x38, 0x0, AREA_TEMPLE_OF_DROPLETS, ROOM_TEMPLE_OF_DROPLETS_WEST_HOLE, + 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, + TransitionListEnd, +}; +const Transition gExitList_TempleOfDroplets_NorthSmallKey[] = { + { WARP_TYPE_AREA, 0x0, 0xd8, 0x28, 0xd8, 0x38, 0x0, AREA_TEMPLE_OF_DROPLETS, ROOM_TEMPLE_OF_DROPLETS_EAST_HOLE, + 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, + TransitionListEnd, +}; +const Transition gExitList_TempleOfDroplets_BlueChuchuKeyLever[] = { + { WARP_TYPE_AREA, 0x0, 0x88, 0x18, 0xc8, 0x38, 0x0, AREA_TEMPLE_OF_DROPLETS, + ROOM_TEMPLE_OF_DROPLETS_HOLE_TO_BLUE_CHU_KEY, 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x0, 0xc8, 0x18, 0x58, 0x38, 0x0, AREA_TEMPLE_OF_DROPLETS, ROOM_TEMPLE_OF_DROPLETS_BLUE_CHU_KEY, + 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, + TransitionListEnd, +}; +const Transition gExitList_TempleOfDroplets_Entrance[] = { + { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0xfff, 0x18, 0x30, AREA_TEMPLE_OF_DROPLETS, ROOM_TEMPLE_OF_DROPLETS_ELEMENT, + 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, + TransitionListEnd, +}; +const Transition gExitList_TempleOfDroplets_WaterfallNortheast[] = { + { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x18, 0xfff, 0xc, AREA_TEMPLE_OF_DROPLETS, ROOM_TEMPLE_OF_DROPLETS_ELEMENT, + 1, TRANSITION_TYPE_NORMAL, 0x2, 0x0, 0x0, 0x0, 0x0 }, + TransitionListEnd, +}; +const Transition gExitList_TempleOfDroplets_Element[] = { + { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0xf8, 0xfff, 0xc0, AREA_TEMPLE_OF_DROPLETS, + ROOM_TEMPLE_OF_DROPLETS_WATERFALL_NORTHEAST, 1, TRANSITION_TYPE_NORMAL, 0x6, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x8, 0xfff, 0x4, AREA_TEMPLE_OF_DROPLETS, ROOM_TEMPLE_OF_DROPLETS_ICE_CORNER, + 1, TRANSITION_TYPE_NORMAL, 0x2, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x8, 0xfff, 0x8, AREA_TEMPLE_OF_DROPLETS, + ROOM_TEMPLE_OF_DROPLETS_HOLE_TO_BLUE_CHU_KEY, 1, TRANSITION_TYPE_NORMAL, 0x2, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0xfff, 0x178, 0x3, AREA_TEMPLE_OF_DROPLETS, ROOM_TEMPLE_OF_DROPLETS_ENTRANCE, + 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0xfff, 0x28, 0x30, AREA_TEMPLE_OF_DROPLETS, ROOM_TEMPLE_OF_DROPLETS_BIG_OCTO, + 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, + TransitionListEnd, +}; +const Transition gExitList_TempleOfDroplets_IceCorner[] = { + { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x208, 0xfff, 0xc0, AREA_TEMPLE_OF_DROPLETS, ROOM_TEMPLE_OF_DROPLETS_ELEMENT, + 1, TRANSITION_TYPE_NORMAL, 0x6, 0x0, 0x0, 0x0, 0x0 }, + TransitionListEnd, +}; +const Transition gExitList_TempleOfDroplets_BigOcto[] = { + { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0xfff, 0x178, 0x3, AREA_TEMPLE_OF_DROPLETS, ROOM_TEMPLE_OF_DROPLETS_ELEMENT, + 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0, 0x0 }, + TransitionListEnd, +}; +const Transition gExitList_TempleOfDroplets_NorthwestStairs[] = { + { WARP_TYPE_AREA, 0x0, 0x88, 0x18, 0x88, 0x28, 0x0, AREA_TEMPLE_OF_DROPLETS, + ROOM_TEMPLE_OF_DROPLETS_BLOCK_CLONE_ICE_BRIDGE, 2, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, + TransitionListEnd, +}; +const Transition gExitList_TempleOfDroplets_ScissorsMiniboss[] = { + { WARP_TYPE_AREA, 0x0, 0xc8, 0x18, 0xc8, 0x28, 0x0, AREA_TEMPLE_OF_DROPLETS, + ROOM_TEMPLE_OF_DROPLETS_STAIRS_TO_SCISSORS_MINIBOSS, 2, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, + TransitionListEnd, +}; +const Transition gExitList_TempleOfDroplets_WaterfallSouthwest[] = { + { WARP_TYPE_AREA, 0x0, 0x38, 0x170, 0x38, 0x18, 0x0, AREA_TEMPLE_OF_DROPLETS, ROOM_TEMPLE_OF_DROPLETS_LILYPAD_B2_WEST, + 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0, 0x0 }, + TransitionListEnd, +}; +const Transition gExitList_TempleOfDroplets_ToBigBlueChuchu[] = { + { WARP_TYPE_AREA, 0x0, 0x58, 0x58, 0x58, 0x68, 0x0, AREA_TEMPLE_OF_DROPLETS, ROOM_TEMPLE_OF_DROPLETS_COMPASS, + 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0xfff, 0x8, 0x30, AREA_TEMPLE_OF_DROPLETS, ROOM_TEMPLE_OF_DROPLETS_BLUE_CHU, + 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, + TransitionListEnd, +}; +const Transition gExitList_TempleOfDroplets_BlockCloneIceBridge[] = { + { WARP_TYPE_AREA, 0x0, 0x88, 0x18, 0x88, 0x28, 0x0, AREA_TEMPLE_OF_DROPLETS, ROOM_TEMPLE_OF_DROPLETS_NORTHWEST_STAIRS, + 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, + TransitionListEnd, +}; +const Transition gExitList_TempleOfDroplets_StairsToScissorsMiniboss[] = { + { WARP_TYPE_AREA, 0x0, 0xc8, 0x18, 0xc8, 0x28, 0x0, AREA_TEMPLE_OF_DROPLETS, ROOM_TEMPLE_OF_DROPLETS_SCISSORS_MINIBOSS, + 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, + TransitionListEnd, +}; +const Transition gExitList_TempleOfDroplets_LilypadWestB2[] = { + { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x38, 0x168, 0x3, AREA_TEMPLE_OF_DROPLETS, + ROOM_TEMPLE_OF_DROPLETS_WEST_WATERFALL_SOUTHWEST, 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0, 0x0 }, + TransitionListEnd, +}; +const Transition gExitList_TempleOfDroplets_CompassRoom[] = { + { WARP_TYPE_AREA, 0x0, 0x58, 0x58, 0x58, 0x68, 0x0, AREA_TEMPLE_OF_DROPLETS, ROOM_TEMPLE_OF_DROPLETS_TO_BLUE_CHU, + 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, + TransitionListEnd, +}; +const Transition* const gExitLists_TempleOfDroplets[] = { + [ROOM_TEMPLE_OF_DROPLETS_WEST_HOLE] = gExitList_TempleOfDroplets_WestHole, + [ROOM_TEMPLE_OF_DROPLETS_NORTH_SPLIT_ROOM] = gExitList_NoExitList, + [ROOM_TEMPLE_OF_DROPLETS_EAST_HOLE] = gExitList_TempleOfDroplets_EastHole, + [ROOM_TEMPLE_OF_DROPLETS_ENTRANCE] = gExitList_TempleOfDroplets_Entrance, + [ROOM_TEMPLE_OF_DROPLETS_NORTHWEST_STAIRS] = gExitList_TempleOfDroplets_NorthwestStairs, + [ROOM_TEMPLE_OF_DROPLETS_SCISSORS_MINIBOSS] = gExitList_TempleOfDroplets_ScissorsMiniboss, + [ROOM_TEMPLE_OF_DROPLETS_WATERFALL_NORTHWEST] = gExitList_NoExitList, + [ROOM_TEMPLE_OF_DROPLETS_WATERFALL_NORTHEAST] = gExitList_TempleOfDroplets_WaterfallNortheast, + [ROOM_TEMPLE_OF_DROPLETS_ELEMENT] = gExitList_TempleOfDroplets_Element, + [ROOM_TEMPLE_OF_DROPLETS_ICE_CORNER] = gExitList_TempleOfDroplets_IceCorner, + [ROOM_TEMPLE_OF_DROPLETS_ICE_PIT_MAZE] = gExitList_NoExitList, + [ROOM_TEMPLE_OF_DROPLETS_HOLE_TO_BLUE_CHU_KEY] = gExitList_TempleOfDroplets_HoleToBlueChuchu, + [ROOM_TEMPLE_OF_DROPLETS_WEST_WATERFALL_SOUTHEAST] = gExitList_NoExitList, + [ROOM_TEMPLE_OF_DROPLETS_WEST_WATERFALL_SOUTHWEST] = gExitList_TempleOfDroplets_WaterfallSouthwest, + [ROOM_TEMPLE_OF_DROPLETS_BIG_OCTO] = gExitList_TempleOfDroplets_BigOcto, + [ROOM_TEMPLE_OF_DROPLETS_TO_BLUE_CHU] = gExitList_TempleOfDroplets_ToBigBlueChuchu, + [ROOM_TEMPLE_OF_DROPLETS_BLUE_CHU] = gExitList_TempleOfDroplets_BigBlueChuchu, + [ROOM_TEMPLE_OF_DROPLETS_BLUE_CHU_KEY] = gExitList_TempleOfDroplets_BigBlueChuchuKey, + [ROOM_TEMPLE_OF_DROPLETS_12] = gExitList_NoExitList, + [ROOM_TEMPLE_OF_DROPLETS_13] = gExitList_NoExitList, + [ROOM_TEMPLE_OF_DROPLETS_14] = gExitList_NoExitList, + [ROOM_TEMPLE_OF_DROPLETS_15] = gExitList_NoExitList, + [ROOM_TEMPLE_OF_DROPLETS_16] = gExitList_NoExitList, + [ROOM_TEMPLE_OF_DROPLETS_17] = gExitList_NoExitList, + [ROOM_TEMPLE_OF_DROPLETS_18] = gExitList_NoExitList, + [ROOM_TEMPLE_OF_DROPLETS_19] = gExitList_NoExitList, + [ROOM_TEMPLE_OF_DROPLETS_1a] = gExitList_NoExitList, + [ROOM_TEMPLE_OF_DROPLETS_1b] = gExitList_NoExitList, + [ROOM_TEMPLE_OF_DROPLETS_1c] = gExitList_NoExitList, + [ROOM_TEMPLE_OF_DROPLETS_1d] = gExitList_NoExitList, + [ROOM_TEMPLE_OF_DROPLETS_1e] = gExitList_NoExitList, + [ROOM_TEMPLE_OF_DROPLETS_1f] = gExitList_NoExitList, + [ROOM_TEMPLE_OF_DROPLETS_BOSS_KEY] = gExitList_TempleOfDroplets_BossKey, + [ROOM_TEMPLE_OF_DROPLETS_NORTH_SMALL_KEY] = gExitList_TempleOfDroplets_NorthSmallKey, + [ROOM_TEMPLE_OF_DROPLETS_BLOCK_CLONE_BUTTON_PUZZLE] = gExitList_NoExitList, + [ROOM_TEMPLE_OF_DROPLETS_BLOCK_CLONE_PUZZLE] = gExitList_NoExitList, + [ROOM_TEMPLE_OF_DROPLETS_BLOCK_CLONE_ICE_BRIDGE] = gExitList_TempleOfDroplets_BlockCloneIceBridge, + [ROOM_TEMPLE_OF_DROPLETS_STAIRS_TO_SCISSORS_MINIBOSS] = gExitList_TempleOfDroplets_StairsToScissorsMiniboss, + [ROOM_TEMPLE_OF_DROPLETS_SPIKE_BAR_FLIPPER_ROOM] = gExitList_NoExitList, + [ROOM_TEMPLE_OF_DROPLETS_9_LANTERNS] = gExitList_NoExitList, + [ROOM_TEMPLE_OF_DROPLETS_LILYPAD_ICE_BLOCKS] = gExitList_NoExitList, + [ROOM_TEMPLE_OF_DROPLETS_29] = gExitList_NoExitList, + [ROOM_TEMPLE_OF_DROPLETS_MULLDOZERS_FIRE_BARS] = gExitList_NoExitList, + [ROOM_TEMPLE_OF_DROPLETS_DARK_MAZE] = gExitList_NoExitList, + [ROOM_TEMPLE_OF_DROPLETS_TWIN_MADDERPILLARS] = gExitList_NoExitList, + [ROOM_TEMPLE_OF_DROPLETS_AFTER_TWIN_MADDERPILLARS] = gExitList_NoExitList, + [ROOM_TEMPLE_OF_DROPLETS_BLUE_CHU_KEY_LEVER] = gExitList_TempleOfDroplets_BlueChuchuKeyLever, + [ROOM_TEMPLE_OF_DROPLETS_MULLDOZER_KEY] = gExitList_NoExitList, + [ROOM_TEMPLE_OF_DROPLETS_BEFORE_TWIN_MADDERPILLARS] = gExitList_NoExitList, + [ROOM_TEMPLE_OF_DROPLETS_LILYPAD_B2_WEST] = gExitList_TempleOfDroplets_LilypadWestB2, + [ROOM_TEMPLE_OF_DROPLETS_COMPASS] = gExitList_TempleOfDroplets_CompassRoom, + [ROOM_TEMPLE_OF_DROPLETS_DARK_SCISSOR_BEETLES] = gExitList_NoExitList, + [ROOM_TEMPLE_OF_DROPLETS_LILYPAD_B2_MIDDLE] = gExitList_NoExitList, + [ROOM_TEMPLE_OF_DROPLETS_ICE_MADDERPILLAR] = gExitList_NoExitList, + [ROOM_TEMPLE_OF_DROPLETS_FLAMEBAR_BLOCK_PUZZLE] = gExitList_NoExitList, + [ROOM_TEMPLE_OF_DROPLETS_37] = gExitList_NoExitList, + [ROOM_TEMPLE_OF_DROPLETS_38] = gExitList_NoExitList, + [ROOM_TEMPLE_OF_DROPLETS_39] = gExitList_NoExitList, + [ROOM_TEMPLE_OF_DROPLETS_3a] = gExitList_NoExitList, + [ROOM_TEMPLE_OF_DROPLETS_3b] = gExitList_NoExitList, + [ROOM_TEMPLE_OF_DROPLETS_3c] = gExitList_NoExitList, + [ROOM_TEMPLE_OF_DROPLETS_3d] = gExitList_NoExitList, + [ROOM_TEMPLE_OF_DROPLETS_3e] = gExitList_NoExitList, + [ROOM_TEMPLE_OF_DROPLETS_3f] = gExitList_NoExitList, +}; + +const Transition gExitList_61_0[] = { + { WARP_TYPE_AREA, 0x0, 0x78, 0x58, 0xa8, 0xd8, 0x0, AREA_DEEPWOOD_SHRINE, ROOM_DEEPWOOD_SHRINE_ENTRANCE, + 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x118, 0x174, 0x30, AREA_LAKE_HYLIA, ROOM_LAKE_HYLIA_MAIN, 1, TRANSITION_TYPE_INSTANT_MINISH, + 0x4, 0x0, 0x0, 0x0, 0x0 }, + TransitionListEnd, +}; +const Transition* const gExitLists_61[] = { + [ROOM_NULL_61_0] = gExitList_61_0, +}; + +const Transition gExitList_RoyalCrypt_WaterRope[] = { + TransitionListEnd, +}; +const Transition gExitList_RoyalCrypt_Gibdo[] = { + { WARP_TYPE_AREA, 0x0, 0xa8, 0x12e, 0x128, 0x48, 0x0, AREA_ROYAL_CRYPT, ROOM_ROYAL_CRYPT_KEY_BLOCK, 1, + TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, + TransitionListEnd, +}; +const Transition gExitList_RoyalCrypt_KeyBlock[] = { + { WARP_TYPE_AREA, 0x0, 0x128, 0x38, 0xa8, 0x118, 0x0, AREA_ROYAL_CRYPT, ROOM_ROYAL_CRYPT_GIBDO, 1, TRANSITION_TYPE_NORMAL, + 0x0, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x0, 0x128, 0x16e, 0x88, 0x48, 0x0, AREA_ROYAL_CRYPT, ROOM_ROYAL_CRYPT_MUSHROOM_PIT, + 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, + TransitionListEnd, +}; +const Transition gExitList_RoyalCrypt_MushroomPit[] = { + { WARP_TYPE_AREA, 0x0, 0x88, 0x38, 0x128, 0x158, 0x0, AREA_ROYAL_CRYPT, ROOM_ROYAL_CRYPT_KEY_BLOCK, 1, + TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0, 0x0 }, + TransitionListEnd, +}; +const Transition gExitList_RoyalCrypt_Entrance[] = { + { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0xf0, 0x3c, 0x30, AREA_ROYAL_VALLEY, ROOM_ROYAL_VALLEY_MAIN, 1, TRANSITION_TYPE_NORMAL, + 0x4, 0x0, 0x0, 0x0, 0x0 }, + TransitionListEnd, +}; +const Transition* const gExitLists_RoyalCrypt[] = { + [ROOM_ROYAL_CRYPT_0] = gExitList_NoExitList, + [ROOM_ROYAL_CRYPT_WATER_ROPE] = gExitList_RoyalCrypt_WaterRope, + [ROOM_ROYAL_CRYPT_GIBDO] = gExitList_RoyalCrypt_Gibdo, + [ROOM_ROYAL_CRYPT_3] = gExitList_NoExitList, + [ROOM_ROYAL_CRYPT_KEY_BLOCK] = gExitList_RoyalCrypt_KeyBlock, + [ROOM_ROYAL_CRYPT_5] = gExitList_NoExitList, + [ROOM_ROYAL_CRYPT_6] = gExitList_NoExitList, + [ROOM_ROYAL_CRYPT_MUSHROOM_PIT] = gExitList_RoyalCrypt_MushroomPit, + [ROOM_ROYAL_CRYPT_ENTRANCE] = gExitList_RoyalCrypt_Entrance, +}; + +const Transition gExitList_PalaceOfWinds_GyorgTornado[] = { + { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0xfff, 0x18, 0x30, AREA_PALACE_OF_WINDS, ROOM_PALACE_OF_WINDS_GYORG_BOSS_DOOR, + 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, + TransitionListEnd, +}; +const Transition gExitList_PalaceOfWinds_GyorgBossDoor[] = { + { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0xfff, 0x1c8, 0x3, AREA_PALACE_OF_WINDS, ROOM_PALACE_OF_WINDS_GYORG_TORNADO, + 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0, 0x0 }, + TransitionListEnd, +}; +const Transition gExitList_PalaceOfWinds_BallAndChainSoldiers[] = { + { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0xfff, 0x18, 0x30, AREA_PALACE_OF_WINDS, ROOM_PALACE_OF_WINDS_HOLE_TO_DARKNUT, + 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, + TransitionListEnd, +}; +const Transition gExitList_PalaceOfWinds_BombarossaPath[] = { + { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0xfff, 0x18, 0x30, AREA_PALACE_OF_WINDS, ROOM_PALACE_OF_WINDS_TO_BOMBAROSSA_PATH, + 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, + TransitionListEnd, +}; +const Transition gExitList_PalaceOfWinds_HoleToDarknut[] = { + { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0xfff, 0x128, 0x3, AREA_PALACE_OF_WINDS, ROOM_PALACE_OF_WINDS_BALL_AND_CHAIN_SOLDIERS, + 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0, 0x0 }, + TransitionListEnd, +}; +const Transition gExitList_PalaceOfWinds_ToBombarossaPath[] = { + { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0xfff, 0x88, 0x3, AREA_PALACE_OF_WINDS, ROOM_PALACE_OF_WINDS_BOMBAROSSA_PATH, + 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x18, 0xfff, 0xc, AREA_PALACE_OF_WINDS, ROOM_PALACE_OF_WINDS_BOMB_WALL_OUTSIDE, + 1, TRANSITION_TYPE_NORMAL, 0x2, 0x0, 0x0, 0x0, 0x0 }, + TransitionListEnd, +}; +const Transition gExitList_PalaceOfWinds_BombWallInside[] = { + { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x18, 0xfff, 0xc, AREA_PALACE_OF_WINDS, ROOM_PALACE_OF_WINDS_BOMB_WALL_OUTSIDE, + 1, TRANSITION_TYPE_NORMAL, 0x2, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x0, 0x38, 0x38, 0x218, 0xe8, 0x0, AREA_PALACE_OF_WINDS, ROOM_PALACE_OF_WINDS_RED_WARP_HALL, + 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, + TransitionListEnd, +}; +const Transition gExitList_PalaceOfWinds_BombWallOutside[] = { + { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0xc8, 0xfff, 0x40, AREA_PALACE_OF_WINDS, ROOM_PALACE_OF_WINDS_TO_BOMBAROSSA_PATH, + 1, TRANSITION_TYPE_NORMAL, 0x6, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0xc8, 0xfff, 0x80, AREA_PALACE_OF_WINDS, ROOM_PALACE_OF_WINDS_BOMB_WALL_INSIDE, + 1, TRANSITION_TYPE_NORMAL, 0x6, 0x0, 0x0, 0x0, 0x0 }, + TransitionListEnd, +}; +const Transition gExitList_PalaceOfWinds_BlockMazeToBossDoor[] = { + { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0xfff, 0x18, 0x30, AREA_PALACE_OF_WINDS, ROOM_PALACE_OF_WINDS_RED_WARP_HALL, + 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, + TransitionListEnd, +}; +const Transition gExitList_PalaceOfWinds_HeartPieceBridge[] = { + { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0xfff, 0x18, 0x30, AREA_PALACE_OF_WINDS, ROOM_PALACE_OF_WINDS_RED_WARP_HALL, + 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, + TransitionListEnd, +}; +const Transition gExitList_PalaceOfWinds_RedWarpHall[] = { + { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0xfff, 0x88, 0x1, AREA_PALACE_OF_WINDS, ROOM_PALACE_OF_WINDS_HEART_PIECE_BRIDGE, + 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0xfff, 0x1c8, 0x2, AREA_PALACE_OF_WINDS, ROOM_PALACE_OF_WINDS_BLOCK_MAZE_TO_BOSS_DOOR, + 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x0, 0xb8, 0xd8, 0xb8, 0x48, 0x0, AREA_PALACE_OF_WINDS, + ROOM_PALACE_OF_WINDS_STAIRS_AFTER_FLOORMASTER, 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x0, 0x218, 0xd8, 0x38, 0x48, 0x0, AREA_PALACE_OF_WINDS, ROOM_PALACE_OF_WINDS_BOMB_WALL_INSIDE, + 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, + TransitionListEnd, +}; +const Transition gExitList_PalaceOfWinds_PitCornerAfterKey[] = { + { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0xd8, 0xfff, 0xc0, AREA_PALACE_OF_WINDS, ROOM_PALACE_OF_WINDS_KEY_ARROW_BUTTON, + 1, TRANSITION_TYPE_NORMAL, 0x6, 0x0, 0x0, 0x0, 0x0 }, + TransitionListEnd, +}; +const Transition gExitList_PalaceOfWinds_PotPush[] = { + { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0xfff, 0x78, 0x1, AREA_PALACE_OF_WINDS, ROOM_PALACE_OF_WINDS_KEY_ARROW_BUTTON, + 1, TRANSITION_TYPE_INSTANT_MINISH, 0x0, 0x0, 0x0, 0x0, 0x0 }, + TransitionListEnd, +}; +const Transition gExitList_PalaceOfWinds_StairsAfterFloormaster[] = { + { WARP_TYPE_AREA, 0x0, 0xb8, 0x38, 0xb8, 0xe8, 0x0, AREA_PALACE_OF_WINDS, ROOM_PALACE_OF_WINDS_RED_WARP_HALL, + 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, + TransitionListEnd, +}; +const Transition gExitList_PalaceOfWinds_KeyArrowButton[] = { + { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x10, 0xfff, 0xc, AREA_PALACE_OF_WINDS, ROOM_PALACE_OF_WINDS_PIT_CORNER_AFTER_KEY, + 1, TRANSITION_TYPE_NORMAL, 0x2, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0xfff, 0x28, 0x30, AREA_PALACE_OF_WINDS, ROOM_PALACE_OF_WINDS_POT_PUSH, + 1, TRANSITION_TYPE_INSTANT_MINISH, 0x4, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x0, 0x38, 0x38, 0x38, 0x48, 0x0, AREA_PALACE_OF_WINDS, ROOM_PALACE_OF_WINDS_GIBDO_STAIRS, + 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, + TransitionListEnd, +}; +const Transition gExitList_PalaceOfWinds_PeahatSwitch[] = { + { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0xfff, 0x88, 0x3, AREA_PALACE_OF_WINDS, ROOM_PALACE_OF_WINDS_TO_PEAHAT_SWITCH, + 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0, 0x0 }, + TransitionListEnd, +}; +const Transition gExitList_PalaceOfWinds_WhirlwindBombarossa[] = { + { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0xfff, 0x88, 0x3, AREA_PALACE_OF_WINDS, ROOM_PALACE_OF_WINDS_GIBDO_STAIRS, + 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0, 0x0 }, + TransitionListEnd, +}; +const Transition gExitList_PalaceOfWinds_ToPeahatSwitch[] = { + { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0xfff, 0x18, 0x30, AREA_PALACE_OF_WINDS, ROOM_PALACE_OF_WINDS_PEAHAT_SWITCH, + 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x0, 0xb8, 0x38, 0xb8, 0xe8, 0x0, AREA_PALACE_OF_WINDS, ROOM_PALACE_OF_WINDS_DARK_COMPASS_HALL, + 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, + TransitionListEnd, +}; +const Transition gExitList_PalaceOfWinds_GibdoStairs[] = { + { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0xfff, 0x18, 0x30, AREA_PALACE_OF_WINDS, ROOM_PALACE_OF_WINDS_WHIRLWIND_BOMBAROSSA, + 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x0, 0x38, 0x38, 0x38, 0x48, 0x0, AREA_PALACE_OF_WINDS, ROOM_PALACE_OF_WINDS_KEY_ARROW_BUTTON, + 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, + TransitionListEnd, +}; +const Transition gExitList_PalaceOfWinds_BridgeAfterDarknut[] = { + { WARP_TYPE_AREA, 0x0, 0x78, 0x18, 0x168, 0x118, 0x0, AREA_PALACE_OF_WINDS, ROOM_PALACE_OF_WINDS_DARK_COMPASS_HALL, + 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0, 0x0 }, + TransitionListEnd, +}; +const Transition gExitList_PalaceOfWinds_DarkCompassHall[] = { + { WARP_TYPE_AREA, 0x0, 0x168, 0x130, 0x78, 0x28, 0x0, AREA_PALACE_OF_WINDS, ROOM_PALACE_OF_WINDS_BRIDGE_AFTER_DARKNUT, + 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x0, 0xb8, 0xd8, 0xb8, 0x48, 0x0, AREA_PALACE_OF_WINDS, ROOM_PALACE_OF_WINDS_TO_PEAHAT_SWITCH, + 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, + TransitionListEnd, +}; +const Transition* const gExitLists_PalaceOfWinds[] = { + [ROOM_PALACE_OF_WINDS_GYORG_TORNADO] = gExitList_PalaceOfWinds_GyorgTornado, + [ROOM_PALACE_OF_WINDS_BOSS_KEY] = gExitList_NoExitList, + [ROOM_PALACE_OF_WINDS_BEFORE_BALL_AND_CHAIN_SOLDIERS] = gExitList_NoExitList, + [ROOM_PALACE_OF_WINDS_GYORG_BOSS_DOOR] = gExitList_PalaceOfWinds_GyorgBossDoor, + [ROOM_PALACE_OF_WINDS_EAST_CHEST_FROM_GYORG_BOSS_DOOR] = gExitList_NoExitList, + [ROOM_PALACE_OF_WINDS_MOBLIN_AND_WIZZROBE_FIGHT] = gExitList_NoExitList, + [ROOM_PALACE_OF_WINDS_FOUR_BUTTON_STALFOS] = gExitList_NoExitList, + [ROOM_PALACE_OF_WINDS_FAN_AND_KEY_TO_BOSS_KEY] = gExitList_NoExitList, + [ROOM_PALACE_OF_WINDS_BALL_AND_CHAIN_SOLDIERS] = gExitList_PalaceOfWinds_BallAndChainSoldiers, + [ROOM_PALACE_OF_WINDS_BOMBAROSSA_PATH] = gExitList_PalaceOfWinds_BombarossaPath, + [ROOM_PALACE_OF_WINDS_HOLE_TO_DARKNUT] = gExitList_PalaceOfWinds_HoleToDarknut, + [ROOM_PALACE_OF_WINDS_TO_BOMBAROSSA_PATH] = gExitList_PalaceOfWinds_ToBombarossaPath, + [ROOM_PALACE_OF_WINDS_DARKNUT_MINIBOSS] = gExitList_NoExitList, + [ROOM_PALACE_OF_WINDS_BOMB_WALL_INSIDE] = gExitList_PalaceOfWinds_BombWallInside, + [ROOM_PALACE_OF_WINDS_BOMB_WALL_OUTSIDE] = gExitList_PalaceOfWinds_BombWallOutside, + [ROOM_PALACE_OF_WINDS_CLOUD_JUMPS] = gExitList_NoExitList, + [ROOM_PALACE_OF_WINDS_BLOCK_MAZE_TO_BOSS_DOOR] = gExitList_PalaceOfWinds_BlockMazeToBossDoor, + [ROOM_PALACE_OF_WINDS_CRACKED_FLOOR_LAKITU] = gExitList_NoExitList, + [ROOM_PALACE_OF_WINDS_HEART_PIECE_BRIDGE] = gExitList_PalaceOfWinds_HeartPieceBridge, + [ROOM_PALACE_OF_WINDS_FAN_BRIDGE] = gExitList_NoExitList, + [ROOM_PALACE_OF_WINDS_TO_FAN_BRIDGE] = gExitList_NoExitList, + [ROOM_PALACE_OF_WINDS_RED_WARP_HALL] = gExitList_PalaceOfWinds_RedWarpHall, + [ROOM_PALACE_OF_WINDS_PLATFORM_CLONE_RIDE] = gExitList_NoExitList, + [ROOM_PALACE_OF_WINDS_PIT_CORNER_AFTER_KEY] = gExitList_PalaceOfWinds_PitCornerAfterKey, + [ROOM_PALACE_OF_WINDS_PLATFORM_CROW_RIDE] = gExitList_NoExitList, + [ROOM_PALACE_OF_WINDS_GRATE_PLATFORM_RIDE] = gExitList_NoExitList, + [ROOM_PALACE_OF_WINDS_POT_PUSH] = gExitList_PalaceOfWinds_PotPush, + [ROOM_PALACE_OF_WINDS_FLOORMASTER_LEVER] = gExitList_NoExitList, + [ROOM_PALACE_OF_WINDS_MAP] = gExitList_NoExitList, + [ROOM_PALACE_OF_WINDS_CORNER_TO_MAP] = gExitList_NoExitList, + [ROOM_PALACE_OF_WINDS_STAIRS_AFTER_FLOORMASTER] = gExitList_PalaceOfWinds_StairsAfterFloormaster, + [ROOM_PALACE_OF_WINDS_HOLE_TO_KINSTONE_WIZZROBE] = gExitList_NoExitList, + [ROOM_PALACE_OF_WINDS_KEY_ARROW_BUTTON] = gExitList_PalaceOfWinds_KeyArrowButton, + [ROOM_PALACE_OF_WINDS_GRATES_TO_3F] = gExitList_NoExitList, + [ROOM_PALACE_OF_WINDS_SPINY_FIGHT] = gExitList_NoExitList, + [ROOM_PALACE_OF_WINDS_PEAHAT_SWITCH] = gExitList_PalaceOfWinds_PeahatSwitch, + [ROOM_PALACE_OF_WINDS_WHIRLWIND_BOMBAROSSA] = gExitList_PalaceOfWinds_WhirlwindBombarossa, + [ROOM_PALACE_OF_WINDS_DOOR_TO_STALFOS_FIREBAR] = gExitList_NoExitList, + [ROOM_PALACE_OF_WINDS_STALFOS_FIREBAR_HOLE] = gExitList_NoExitList, + [ROOM_PALACE_OF_WINDS_SHORTCUT_DOOR_BUTTONS] = gExitList_NoExitList, + [ROOM_PALACE_OF_WINDS_TO_PEAHAT_SWITCH] = gExitList_PalaceOfWinds_ToPeahatSwitch, + [ROOM_PALACE_OF_WINDS_KINSTONE_WIZZROBE_FIGHT] = gExitList_NoExitList, + [ROOM_PALACE_OF_WINDS_GIBDO_STAIRS] = gExitList_PalaceOfWinds_GibdoStairs, + [ROOM_PALACE_OF_WINDS_SPIKE_BAR_SMALL_KEY] = gExitList_NoExitList, + [ROOM_PALACE_OF_WINDS_ROC_CAPE] = gExitList_NoExitList, + [ROOM_PALACE_OF_WINDS_FIRE_BAR_GRATES] = gExitList_NoExitList, + [ROOM_PALACE_OF_WINDS_PLATFORM_RIDE_BOMBAROSSAS] = gExitList_NoExitList, + [ROOM_PALACE_OF_WINDS_BRIDGE_AFTER_DARKNUT] = gExitList_PalaceOfWinds_BridgeAfterDarknut, + [ROOM_PALACE_OF_WINDS_BRIDGE_SWITCHES_CLONE_BLOCK] = gExitList_NoExitList, + [ROOM_PALACE_OF_WINDS_ENTRANCE_ROOM] = gExitList_NoExitList, + [ROOM_PALACE_OF_WINDS_DARK_COMPASS_HALL] = gExitList_PalaceOfWinds_DarkCompassHall, + [ROOM_PALACE_OF_WINDS_33] = gExitList_NoExitList, +}; + +const Transition gExitList_Unused1[] = { + TransitionListEnd, +}; + +const Transition gExitList_DarkHyruleCastle_1FEntrance[] = { + { WARP_TYPE_AREA, 0x0, 0x108, 0xd8, 0x108, 0xe8, 0x0, AREA_DARK_HYRULE_CASTLE, ROOM_DARK_HYRULE_CASTLE_B1_MAP, + 2, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x0, 0x228, 0xd8, 0x228, 0xe8, 0x0, AREA_DARK_HYRULE_CASTLE, ROOM_DARK_HYRULE_CASTLE_B1_MAP, + 2, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x0, 0x198, 0x220, 0x1f8, 0x38, 0x2, AREA_CASTLE_GARDEN, ROOM_CASTLE_GARDEN_MAIN, 1, + TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, + TransitionListEnd, +}; +const Transition gExitList_DarkHyruleCastle_3FTopLeftTower[] = { + { WARP_TYPE_AREA, 0x0, 0xa8, 0x38, 0x68, 0x48, 0x0, AREA_DARK_HYRULE_CASTLE, ROOM_DARK_HYRULE_CASTLE_2F_TOP_LEFT_TOWER, + 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, + TransitionListEnd, +}; +const Transition gExitList_DarkHyruleCastle_3FTopRightTower[] = { + { WARP_TYPE_AREA, 0x0, 0xa8, 0x38, 0x68, 0x48, 0x0, AREA_DARK_HYRULE_CASTLE, + ROOM_DARK_HYRULE_CASTLE_2F_TOP_RIGHT_TOWER, 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, + TransitionListEnd, +}; +const Transition gExitList_DarkHyruleCastle_3FBottomLeftTower[] = { + { WARP_TYPE_AREA, 0x0, 0xa8, 0x38, 0x68, 0x48, 0x0, AREA_DARK_HYRULE_CASTLE, + ROOM_DARK_HYRULE_CASTLE_2F_BOTTOM_LEFT_TOWER, 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, + TransitionListEnd, +}; +const Transition gExitList_DarkHyruleCastle_3FBottomRightTower[] = { + { WARP_TYPE_AREA, 0x0, 0xa8, 0x38, 0x68, 0x118, 0x0, AREA_DARK_HYRULE_CASTLE, + ROOM_DARK_HYRULE_CASTLE_2F_BOTTOM_RIGHT_TOWER, 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, + TransitionListEnd, +}; +const Transition gExitList_DarkHyruleCastle_3FKeatonHallToVaati[] = { + { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0xa8, 0xe8, 0x3, AREA_DARK_HYRULE_CASTLE, ROOM_DARK_HYRULE_CASTLE_3F_TRIPLE_DARKNUT, + 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x0, 0xa8, 0x190, 0x88, 0x28, 0x0, AREA_DARK_HYRULE_CASTLE_BRIDGE, + ROOM_DARK_HYRULE_CASTLE_BRIDGE_MAIN, 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, + TransitionListEnd, +}; +const Transition gExitList_DarkHyruleCastle_3FTripleDarknut[] = { + { WARP_TYPE_AREA, 0x0, 0xa8, 0x28, 0x78, 0x168, 0x0, AREA_DARK_HYRULE_CASTLE_OUTSIDE, + ROOM_DARK_HYRULE_CASTLE_OUTSIDE_ZELDA_STATUE_PLATFORM, 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0xb8, 0x18, 0x30, AREA_DARK_HYRULE_CASTLE, + ROOM_DARK_HYRULE_CASTLE_3F_KEATON_HALL_TO_VAATI, 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, + TransitionListEnd, +}; +const Transition gExitList_DarkHyruleCastle_2FTopLeftTower[] = { + { WARP_TYPE_AREA, 0x0, 0x68, 0x38, 0xa8, 0x48, 0x0, AREA_DARK_HYRULE_CASTLE, ROOM_DARK_HYRULE_CASTLE_3F_TOP_LEFT_TOWER, + 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x0, 0xa8, 0x38, 0x68, 0x48, 0x0, AREA_DARK_HYRULE_CASTLE, ROOM_DARK_HYRULE_CASTLE_1F_TOP_LEFT_TOWER, + 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x0, 0x88, 0xc0, 0x88, 0xd8, 0x0, AREA_DARK_HYRULE_CASTLE_OUTSIDE, + ROOM_DARK_HYRULE_CASTLE_OUTSIDE_NORTHWEST, 2, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, + TransitionListEnd, +}; +const Transition gExitList_DarkHyruleCastle_2FTopRightTower[] = { + { WARP_TYPE_AREA, 0x0, 0x68, 0x38, 0xa8, 0x48, 0x0, AREA_DARK_HYRULE_CASTLE, + ROOM_DARK_HYRULE_CASTLE_3F_TOP_RIGHT_TOWER, 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x0, 0xa8, 0x38, 0x68, 0x48, 0x0, AREA_DARK_HYRULE_CASTLE, + ROOM_DARK_HYRULE_CASTLE_1F_TOP_RIGHT_TOWER, 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x0, 0x88, 0xc0, 0x88, 0xd8, 0x0, AREA_DARK_HYRULE_CASTLE_OUTSIDE, + ROOM_DARK_HYRULE_CASTLE_OUTSIDE_NORTHEAST, 2, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, + TransitionListEnd, +}; +const Transition gExitList_DarkHyruleCastle_2FRight[] = { + { WARP_TYPE_AREA, 0x0, 0xf0, 0x5c, 0x44, 0x5e, 0x0, AREA_DARK_HYRULE_CASTLE_OUTSIDE, + ROOM_DARK_HYRULE_CASTLE_OUTSIDE_EAST, 2, TRANSITION_TYPE_NORMAL, 0x2, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x0, 0xf0, 0xec, 0x44, 0xee, 0x0, AREA_DARK_HYRULE_CASTLE_OUTSIDE, + ROOM_DARK_HYRULE_CASTLE_OUTSIDE_EAST, 2, TRANSITION_TYPE_NORMAL, 0x2, 0x0, 0x0, 0x0, 0x0 }, + TransitionListEnd, +}; +const Transition gExitList_DarkHyruleCastle_2FBossDoor[] = { + { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x88, 0x118, 0x3, AREA_DARK_HYRULE_CASTLE_BRIDGE, ROOM_DARK_HYRULE_CASTLE_BRIDGE_MAIN, + 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0, 0x0 }, + TransitionListEnd, +}; +const Transition gExitList_DarkHyruleCastle_2FEntrance[] = { + { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x198, 0xd8, 0x30, AREA_DARK_HYRULE_CASTLE_OUTSIDE, + ROOM_DARK_HYRULE_CASTLE_OUTSIDE_SOUTH, 2, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, + TransitionListEnd, +}; +const Transition gExitList_DarkHyruleCastle_2FBottomLeftTower[] = { + { WARP_TYPE_AREA, 0x0, 0x68, 0x38, 0xa8, 0x48, 0x0, AREA_DARK_HYRULE_CASTLE, + ROOM_DARK_HYRULE_CASTLE_3F_BOTTOM_LEFT_TOWER, 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x0, 0xa8, 0x38, 0x68, 0x48, 0x0, AREA_DARK_HYRULE_CASTLE, + ROOM_DARK_HYRULE_CASTLE_1F_BOTTOM_LEFT_TOWER, 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x0, 0x88, 0xc0, 0x78, 0xe8, 0x0, AREA_DARK_HYRULE_CASTLE_OUTSIDE, + ROOM_DARK_HYRULE_CASTLE_OUTSIDE_SOUTHWEST, 2, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, + TransitionListEnd, +}; +const Transition gExitList_DarkHyruleCastle_2FBottomLeftGhini[] = { + { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x88, 0xd8, 0x30, AREA_DARK_HYRULE_CASTLE_OUTSIDE, + ROOM_DARK_HYRULE_CASTLE_OUTSIDE_SOUTH, 2, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, + TransitionListEnd, +}; +const Transition gExitList_DarkHyruleCastle_B1Entrance[] = { + { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x88, 0x188, 0x3, AREA_DARK_HYRULE_CASTLE_OUTSIDE, + ROOM_DARK_HYRULE_CASTLE_OUTSIDE_GARDEN, 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0, 0x0 }, + TransitionListEnd, +}; +const Transition gExitList_DarkHyruleCastle_2FBottomRightTower[] = { + { WARP_TYPE_AREA, 0x0, 0x68, 0x108, 0xa8, 0x48, 0x0, AREA_DARK_HYRULE_CASTLE, + ROOM_DARK_HYRULE_CASTLE_3F_BOTTOM_RIGHT_TOWER, 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x0, 0xa8, 0x108, 0x68, 0x48, 0x0, AREA_DARK_HYRULE_CASTLE, + ROOM_DARK_HYRULE_CASTLE_1F_BOTTOM_RIGHT_TOWER, 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x0, 0x88, 0x190, 0x88, 0x288, 0x0, AREA_DARK_HYRULE_CASTLE_OUTSIDE, + ROOM_DARK_HYRULE_CASTLE_OUTSIDE_SOUTHEAST, 2, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, + TransitionListEnd, +}; +const Transition gExitList_DarkHyruleCastle_1FTopLeftTower[] = { + { WARP_TYPE_AREA, 0x0, 0x68, 0x38, 0xa8, 0x48, 0x0, AREA_DARK_HYRULE_CASTLE, ROOM_DARK_HYRULE_CASTLE_2F_TOP_LEFT_TOWER, + 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, + TransitionListEnd, +}; +const Transition gExitList_DarkHyruleCastle_1FThroneRoom[] = { + { WARP_TYPE_AREA, 0x0, 0x88, 0x48, 0x88, 0x38, 0x0, AREA_DARK_HYRULE_CASTLE, ROOM_DARK_HYRULE_CASTLE_B1_BELOW_THRONE, + 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0, 0x0 }, + TransitionListEnd, +}; +const Transition gExitList_DarkHyruleCastle_1FCompass[] = { + { WARP_TYPE_AREA, 0x0, 0xb8, 0x38, 0xb8, 0x48, 0x0, AREA_DARK_HYRULE_CASTLE, ROOM_DARK_HYRULE_CASTLE_B1_BELOW_COMPASS, + 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, + TransitionListEnd, +}; +const Transition gExitList_DarkHyruleCastle_1FTopRightTower[] = { + { WARP_TYPE_AREA, 0x0, 0x68, 0x38, 0xa8, 0x48, 0x0, AREA_DARK_HYRULE_CASTLE, + ROOM_DARK_HYRULE_CASTLE_2F_TOP_RIGHT_TOWER, 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, + TransitionListEnd, +}; +const Transition gExitList_DarkHyruleCastle_1FBeforeThrone[] = { + { WARP_TYPE_AREA, 0x0, 0x88, 0x68, 0x88, 0x78, 0x0, AREA_DARK_HYRULE_CASTLE, ROOM_DARK_HYRULE_CASTLE_B1_BEFORE_THRONE, + 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, + TransitionListEnd, +}; +const Transition gExitList_DarkHyruleCastle_1FBottomLeftTower[] = { + { WARP_TYPE_AREA, 0x0, 0x68, 0x38, 0xa8, 0x48, 0x0, AREA_DARK_HYRULE_CASTLE, + ROOM_DARK_HYRULE_CASTLE_2F_BOTTOM_LEFT_TOWER, 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, + TransitionListEnd, +}; +const Transition gExitList_DarkHyruleCastle_1FBottomRightTower[] = { + { WARP_TYPE_AREA, 0x0, 0x68, 0x38, 0xa8, 0x118, 0x0, AREA_DARK_HYRULE_CASTLE, + ROOM_DARK_HYRULE_CASTLE_2F_BOTTOM_RIGHT_TOWER, 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, + TransitionListEnd, +}; +const Transition gExitList_DarkHyruleCastle_B1BelowThrone[] = { + { WARP_TYPE_AREA, 0x0, 0x88, 0x48, 0x88, 0x58, 0x0, AREA_DARK_HYRULE_CASTLE, ROOM_DARK_HYRULE_CASTLE_1F_THRONE_ROOM, + 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, + TransitionListEnd, +}; +const Transition gExitList_DarkHyruleCastle_B1BelowCompass[] = { + { WARP_TYPE_AREA, 0x0, 0xb8, 0x38, 0xb8, 0x48, 0x0, AREA_DARK_HYRULE_CASTLE, ROOM_DARK_HYRULE_CASTLE_1F_COMPASS, + 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, + TransitionListEnd, +}; +const Transition gExitList_DarkHyruleCastle_B1BeforeThrone[] = { + { WARP_TYPE_AREA, 0x0, 0x88, 0x68, 0x88, 0x58, 0x0, AREA_DARK_HYRULE_CASTLE, ROOM_DARK_HYRULE_CASTLE_1F_BEFORE_THRONE, + 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0, 0x0 }, + TransitionListEnd, +}; +const Transition gExitList_DarkHyruleCastle_B1ToPrison[] = { + { WARP_TYPE_AREA, 0x0, 0x58, 0x28, 0x58, 0x28, 0x0, AREA_DARK_HYRULE_CASTLE, ROOM_DARK_HYRULE_CASTLE_B2_TO_PRISON, + 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, + TransitionListEnd, +}; +const Transition gExitList_DarkHyruleCastle_B1Map[] = { + { WARP_TYPE_AREA, 0x0, 0x108, 0xd8, 0x108, 0xe8, 0x0, AREA_DARK_HYRULE_CASTLE, ROOM_DARK_HYRULE_CASTLE_1F_ENTRANCE, + 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x0, 0x228, 0xd8, 0x228, 0xe8, 0x0, AREA_DARK_HYRULE_CASTLE, ROOM_DARK_HYRULE_CASTLE_1F_ENTRANCE, + 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, + TransitionListEnd, +}; +const Transition gExitList_DarkHyruleCastle_B2ToPrison[] = { + { WARP_TYPE_AREA, 0x0, 0x58, 0x18, 0x58, 0x38, 0x0, AREA_DARK_HYRULE_CASTLE, ROOM_DARK_HYRULE_CASTLE_B1_TO_PRISON, + 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, + TransitionListEnd, +}; +const Transition* const gExitLists_DarkHyruleCastle[] = { + [ROOM_DARK_HYRULE_CASTLE_1F_ENTRANCE] = gExitList_DarkHyruleCastle_1FEntrance, + [ROOM_DARK_HYRULE_CASTLE_3F_TOP_LEFT_TOWER] = gExitList_DarkHyruleCastle_3FTopLeftTower, + [ROOM_DARK_HYRULE_CASTLE_3F_TOP_RIGHT_TOWER] = gExitList_DarkHyruleCastle_3FTopRightTower, + [ROOM_DARK_HYRULE_CASTLE_3F_BOTTOM_LEFT_TOWER] = gExitList_DarkHyruleCastle_3FBottomLeftTower, + [ROOM_DARK_HYRULE_CASTLE_3F_BOTTOM_RIGHT_TOWER] = gExitList_DarkHyruleCastle_3FBottomRightTower, + [ROOM_DARK_HYRULE_CASTLE_3F_KEATON_HALL_TO_VAATI] = gExitList_DarkHyruleCastle_3FKeatonHallToVaati, + [ROOM_DARK_HYRULE_CASTLE_3F_TRIPLE_DARKNUT] = gExitList_DarkHyruleCastle_3FTripleDarknut, + [ROOM_DARK_HYRULE_CASTLE_2F_TOP_LEFT_TOWER] = gExitList_DarkHyruleCastle_2FTopLeftTower, + [ROOM_DARK_HYRULE_CASTLE_2F_TOP_LEFT_CORNER] = gExitList_NoExitList, + [ROOM_DARK_HYRULE_CASTLE_2F_BOSS_KEY] = gExitList_NoExitList, + [ROOM_DARK_HYRULE_CASTLE_2F_BLUE_WARP] = gExitList_NoExitList, + [ROOM_DARK_HYRULE_CASTLE_2F_TOP_RIGHT_CORNER_GHINI] = gExitList_NoExitList, + [ROOM_DARK_HYRULE_CASTLE_2F_TOP_RIGHT_CORNER_TORCHES] = gExitList_NoExitList, + [ROOM_DARK_HYRULE_CASTLE_2F_TOP_RIGHT_TOWER] = gExitList_DarkHyruleCastle_2FTopRightTower, + [ROOM_DARK_HYRULE_CASTLE_2F_TOP_LEFT_DARKNUT] = gExitList_NoExitList, + [ROOM_DARK_HYRULE_CASTLE_2F_SPARKS] = gExitList_NoExitList, + [ROOM_DARK_HYRULE_CASTLE_2F_TOP_RIGHT_DARKNUTS] = gExitList_NoExitList, + [ROOM_DARK_HYRULE_CASTLE_2F_LEFT] = gExitList_NoExitList, + [ROOM_DARK_HYRULE_CASTLE_2F_RIGHT] = gExitList_DarkHyruleCastle_2FRight, + [ROOM_DARK_HYRULE_CASTLE_2F_BOTTOM_LEFT_DARKNUTS] = gExitList_NoExitList, + [ROOM_DARK_HYRULE_CASTLE_2F_BOSS_DOOR] = gExitList_DarkHyruleCastle_2FBossDoor, + [ROOM_DARK_HYRULE_CASTLE_2F_BOTTOM_RIGHT_DARKNUT] = gExitList_NoExitList, + [ROOM_DARK_HYRULE_CASTLE_2F_BOTTOM_LEFT_CORNER_PUZZLE] = gExitList_NoExitList, + [ROOM_DARK_HYRULE_CASTLE_2F_ENTRANCE] = gExitList_DarkHyruleCastle_2FEntrance, + [ROOM_DARK_HYRULE_CASTLE_2F_BOTTOM_RIGHT_CORNER] = gExitList_NoExitList, + [ROOM_DARK_HYRULE_CASTLE_2F_BOTTOM_LEFT_TOWER] = gExitList_DarkHyruleCastle_2FBottomLeftTower, + [ROOM_DARK_HYRULE_CASTLE_2F_BOTTOM_LEFT_GHINI] = gExitList_DarkHyruleCastle_2FBottomLeftGhini, + [ROOM_DARK_HYRULE_CASTLE_1b] = gExitList_NoExitList, + [ROOM_DARK_HYRULE_CASTLE_B1_ENTRANCE] = gExitList_DarkHyruleCastle_B1Entrance, + [ROOM_DARK_HYRULE_CASTLE_2F_BOTTOM_RIGHT_TOWER] = gExitList_DarkHyruleCastle_2FBottomRightTower, + [ROOM_DARK_HYRULE_CASTLE_1F_TOP_LEFT_TOWER] = gExitList_DarkHyruleCastle_1FTopLeftTower, + [ROOM_DARK_HYRULE_CASTLE_1F_THRONE_ROOM] = gExitList_DarkHyruleCastle_1FThroneRoom, + [ROOM_DARK_HYRULE_CASTLE_1F_COMPASS] = gExitList_DarkHyruleCastle_1FCompass, + [ROOM_DARK_HYRULE_CASTLE_1F_TOP_RIGHT_TOWER] = gExitList_DarkHyruleCastle_1FTopRightTower, + [ROOM_DARK_HYRULE_CASTLE_1F_BEFORE_THRONE] = gExitList_DarkHyruleCastle_1FBeforeThrone, + [ROOM_DARK_HYRULE_CASTLE_1F_LOOP_TOP_LEFT] = gExitList_NoExitList, + [ROOM_DARK_HYRULE_CASTLE_1F_LOOP_TOP] = gExitList_NoExitList, + [ROOM_DARK_HYRULE_CASTLE_1F_LOOP_TOP_RIGHT] = gExitList_NoExitList, + [ROOM_DARK_HYRULE_CASTLE_1F_LOOP_LEFT] = gExitList_NoExitList, + [ROOM_DARK_HYRULE_CASTLE_1F_LOOP_RIGHT] = gExitList_NoExitList, + [ROOM_DARK_HYRULE_CASTLE_1F_LOOP_BOTTOM_LEFT] = gExitList_NoExitList, + [ROOM_DARK_HYRULE_CASTLE_1F_LOOP_BOTTOM] = gExitList_NoExitList, + [ROOM_DARK_HYRULE_CASTLE_1F_LOOP_BOTTOM_RIGHT] = gExitList_NoExitList, + [ROOM_DARK_HYRULE_CASTLE_1F_BOTTOM_LEFT_TOWER] = gExitList_DarkHyruleCastle_1FBottomLeftTower, + [ROOM_DARK_HYRULE_CASTLE_1F_BOTTOM_RIGHT_TOWER] = gExitList_DarkHyruleCastle_1FBottomRightTower, + [ROOM_DARK_HYRULE_CASTLE_B1_BELOW_THRONE] = gExitList_DarkHyruleCastle_B1BelowThrone, + [ROOM_DARK_HYRULE_CASTLE_B1_BELOW_COMPASS] = gExitList_DarkHyruleCastle_B1BelowCompass, + [ROOM_DARK_HYRULE_CASTLE_B1_BEFORE_THRONE] = gExitList_DarkHyruleCastle_B1BeforeThrone, + [ROOM_DARK_HYRULE_CASTLE_B1_TO_PRISON] = gExitList_DarkHyruleCastle_B1ToPrison, + [ROOM_DARK_HYRULE_CASTLE_B1_BOMB_WALL] = gExitList_NoExitList, + [ROOM_DARK_HYRULE_CASTLE_B1_KEATONS] = gExitList_NoExitList, + [ROOM_DARK_HYRULE_CASTLE_B1_TO_PRISON_FIREBAR] = gExitList_NoExitList, + [ROOM_DARK_HYRULE_CASTLE_B1_CANNONS] = gExitList_NoExitList, + [ROOM_DARK_HYRULE_CASTLE_B1_LEFT] = gExitList_NoExitList, + [ROOM_DARK_HYRULE_CASTLE_B1_RIGHT] = gExitList_NoExitList, + [ROOM_DARK_HYRULE_CASTLE_B1_MAP] = gExitList_DarkHyruleCastle_B1Map, + [ROOM_DARK_HYRULE_CASTLE_B2_TO_PRISON] = gExitList_DarkHyruleCastle_B2ToPrison, + [ROOM_DARK_HYRULE_CASTLE_B2_PRISON] = gExitList_NoExitList, + [ROOM_DARK_HYRULE_CASTLE_B2_DROPDOWN] = gExitList_NoExitList, + [ROOM_DARK_HYRULE_CASTLE_3b] = gExitList_NoExitList, + [ROOM_DARK_HYRULE_CASTLE_3c] = gExitList_NoExitList, + [ROOM_DARK_HYRULE_CASTLE_3d] = gExitList_NoExitList, + [ROOM_DARK_HYRULE_CASTLE_3e] = gExitList_NoExitList, + [ROOM_DARK_HYRULE_CASTLE_3f] = gExitList_NoExitList, +}; + +const Transition gExitList_Unused2[] = { + TransitionListEnd, +}; + +const Transition gExitList_DarkHyruleCastleOutside_ZeldaStatuePlatform[] = { + { WARP_TYPE_AREA, 0x0, 0x78, 0x178, 0xa8, 0x38, 0x0, AREA_DARK_HYRULE_CASTLE, + ROOM_DARK_HYRULE_CASTLE_3F_TRIPLE_DARKNUT, 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, + TransitionListEnd, +}; +const Transition gExitList_DarkHyruleCastleOutside_Garden[] = { + { WARP_TYPE_AREA, 0x0, 0x88, 0x38, 0xc8, 0x1e8, 0x0, AREA_SANCTUARY, ROOM_SANCTUARY_HALL, 1, TRANSITION_TYPE_NORMAL, 0x0, + 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x88, 0x18, 0x30, AREA_DARK_HYRULE_CASTLE, ROOM_DARK_HYRULE_CASTLE_B1_ENTRANCE, + 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, + TransitionListEnd, +}; +const Transition gExitList_DarkHyruleCastleOutside_OutsideNorthwest[] = { + { WARP_TYPE_AREA, 0x0, 0x88, 0xc8, 0x88, 0xa8, 0x0, AREA_DARK_HYRULE_CASTLE, ROOM_DARK_HYRULE_CASTLE_2F_TOP_LEFT_TOWER, + 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0, 0x0 }, + TransitionListEnd, +}; +const Transition gExitList_DarkHyruleCastleOutside_OutsideNortheast[] = { + { WARP_TYPE_AREA, 0x0, 0x88, 0xc8, 0x88, 0xb0, 0x0, AREA_DARK_HYRULE_CASTLE, + ROOM_DARK_HYRULE_CASTLE_2F_TOP_RIGHT_TOWER, 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0, 0x0 }, + TransitionListEnd, +}; +const Transition gExitList_DarkHyruleCastleOutside_OutsideEast[] = { + { WARP_TYPE_AREA, 0x0, 0x38, 0x5c, 0xde, 0x5e, 0x0, AREA_DARK_HYRULE_CASTLE, ROOM_DARK_HYRULE_CASTLE_2F_RIGHT, + 1, TRANSITION_TYPE_NORMAL, 0x6, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x0, 0x38, 0xec, 0xde, 0xee, 0x0, AREA_DARK_HYRULE_CASTLE, ROOM_DARK_HYRULE_CASTLE_2F_RIGHT, + 1, TRANSITION_TYPE_NORMAL, 0x6, 0x0, 0x0, 0x0, 0x0 }, + TransitionListEnd, +}; +const Transition gExitList_DarkHyruleCastleOutside_OutsideSouthwest[] = { + { WARP_TYPE_AREA, 0x0, 0x78, 0xd8, 0x88, 0xb0, 0x0, AREA_DARK_HYRULE_CASTLE, + ROOM_DARK_HYRULE_CASTLE_2F_BOTTOM_LEFT_TOWER, 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0, 0x0 }, + TransitionListEnd, +}; +const Transition gExitList_DarkHyruleCastleOutside_OutsideSouth[] = { + { WARP_TYPE_AREA, 0x0, 0x198, 0xc8, 0x88, 0x170, 0x0, AREA_DARK_HYRULE_CASTLE, ROOM_DARK_HYRULE_CASTLE_2F_ENTRANCE, + 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x0, 0x88, 0xc8, 0x88, 0xa0, 0x0, AREA_DARK_HYRULE_CASTLE, + ROOM_DARK_HYRULE_CASTLE_2F_BOTTOM_LEFT_GHINI, 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0, 0x0 }, + TransitionListEnd, +}; +const Transition gExitList_DarkHyruleCastleOutside_OutsideSoutheast[] = { + { WARP_TYPE_AREA, 0x0, 0x88, 0x278, 0x88, 0x178, 0x0, AREA_DARK_HYRULE_CASTLE, + ROOM_DARK_HYRULE_CASTLE_2F_BOTTOM_RIGHT_TOWER, 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0, 0x0 }, + TransitionListEnd, +}; +const Transition* const gExitLists_DarkHyruleCastleOutside[] = { + [ROOM_DARK_HYRULE_CASTLE_OUTSIDE_ZELDA_STATUE_PLATFORM] = gExitList_DarkHyruleCastleOutside_ZeldaStatuePlatform, + [ROOM_DARK_HYRULE_CASTLE_OUTSIDE_GARDEN] = gExitList_DarkHyruleCastleOutside_Garden, + [ROOM_DARK_HYRULE_CASTLE_OUTSIDE_NORTHWEST] = gExitList_DarkHyruleCastleOutside_OutsideNorthwest, + [ROOM_DARK_HYRULE_CASTLE_OUTSIDE_NORTHEAST] = gExitList_DarkHyruleCastleOutside_OutsideNortheast, + [ROOM_DARK_HYRULE_CASTLE_OUTSIDE_EAST] = gExitList_DarkHyruleCastleOutside_OutsideEast, + [ROOM_DARK_HYRULE_CASTLE_OUTSIDE_SOUTHWEST] = gExitList_DarkHyruleCastleOutside_OutsideSouthwest, + [ROOM_DARK_HYRULE_CASTLE_OUTSIDE_SOUTH] = gExitList_DarkHyruleCastleOutside_OutsideSouth, + [ROOM_DARK_HYRULE_CASTLE_OUTSIDE_SOUTHEAST] = gExitList_DarkHyruleCastleOutside_OutsideSoutheast, +}; + +const Transition gExitList_VaatisArms_First[] = { + { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0xb0, 0x88, 0x30, AREA_VAATI_3, ROOM_VAATI_3_0, 1, TRANSITION_TYPE_INSTANT_MINISH, 0x4, 0x0, 0x0, + 0x0, 0x0 }, + TransitionListEnd, +}; +const Transition gExitList_VaatisArms_Second[] = { + { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0xb0, 0x88, 0x30, AREA_VAATI_3, ROOM_VAATI_3_0, 1, TRANSITION_TYPE_INSTANT_MINISH, 0x4, 0x0, 0x0, + 0x0, 0x0 }, + TransitionListEnd, +}; +const Transition* const gExitLists_VaatisArms[] = { + [ROOM_VAATIS_ARMS_FIRST] = gExitList_VaatisArms_First, + [ROOM_VAATIS_ARMS_SECOND] = gExitList_VaatisArms_Second, +}; + +const Transition gExitList_DarkHyruleCastleBridge_Main[] = { + { WARP_TYPE_AREA, 0x0, 0x88, 0x18, 0xa8, 0x178, 0x0, AREA_DARK_HYRULE_CASTLE, + ROOM_DARK_HYRULE_CASTLE_3F_KEATON_HALL_TO_VAATI, 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x88, 0x28, 0x30, AREA_DARK_HYRULE_CASTLE, ROOM_DARK_HYRULE_CASTLE_2F_BOSS_DOOR, + 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, + TransitionListEnd, +}; +const Transition* const gExitLists_DarkHyruleCastleBridge[] = { + [ROOM_DARK_HYRULE_CASTLE_BRIDGE_MAIN] = gExitList_DarkHyruleCastleBridge_Main, +}; + +const Transition gExitList_HyruleCastle_0[] = { + { WARP_TYPE_AREA, 0x0, 0x48, 0xd8, 0x88, 0x288, 0x0, AREA_HYRULE_CASTLE, ROOM_HYRULE_CASTLE_3, 1, TRANSITION_TYPE_NORMAL, + 0x4, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x1f8, 0x38, 0x30, AREA_CASTLE_GARDEN, ROOM_CASTLE_GARDEN_MAIN, 1, + TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, + TransitionListEnd, +}; +const Transition gExitList_HyruleCastle_1[] = { + { WARP_TYPE_AREA, 0x0, 0x58, 0x28, 0x68, 0x28, 0x0, AREA_HYRULE_CASTLE, ROOM_HYRULE_CASTLE_3, 1, TRANSITION_TYPE_NORMAL, + 0x4, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x0, 0x198, 0x28, 0x1c8, 0x28, 0x0, AREA_HYRULE_CASTLE, ROOM_HYRULE_CASTLE_3, 1, TRANSITION_TYPE_NORMAL, + 0x4, 0x0, 0x0, 0x0, 0x0 }, + TransitionListEnd, +}; +const Transition gExitList_HyruleCastle_3[] = { + { WARP_TYPE_AREA, 0x0, 0x68, 0x18, 0x58, 0x38, 0x0, AREA_HYRULE_CASTLE, ROOM_HYRULE_CASTLE_1, 1, TRANSITION_TYPE_NORMAL, + 0x4, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x0, 0x1c8, 0x18, 0x198, 0x38, 0x0, AREA_HYRULE_CASTLE, ROOM_HYRULE_CASTLE_1, 1, TRANSITION_TYPE_NORMAL, + 0x4, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x0, 0x88, 0x278, 0x48, 0xe8, 0x0, AREA_HYRULE_CASTLE, ROOM_HYRULE_CASTLE_0, 1, TRANSITION_TYPE_NORMAL, + 0x4, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_AREA, 0x0, 0x118, 0x1c8, 0x88, 0x180, 0x0, AREA_SANCTUARY_ENTRANCE, ROOM_SANCTUARY_ENTRANCE_MAIN, + 1, TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0xd2, 0x5c, 0xc0, AREA_HYRULE_CASTLE_CELLAR, ROOM_HYRULE_CASTLE_CELLAR_1, + 1, TRANSITION_TYPE_NORMAL, 0x6, 0x0, 0x0, 0x0, 0x0 }, + TransitionListEnd, +}; +const Transition* const gExitLists_HyruleCastle[] = { + [ROOM_HYRULE_CASTLE_0] = gExitList_HyruleCastle_0, + [ROOM_HYRULE_CASTLE_1] = gExitList_HyruleCastle_1, + [ROOM_HYRULE_CASTLE_2] = gExitList_NoExitList, + [ROOM_HYRULE_CASTLE_3] = gExitList_HyruleCastle_3, + [ROOM_HYRULE_CASTLE_4] = gExitList_NoExitList, + [ROOM_HYRULE_CASTLE_5] = gExitList_NoExitList, + [ROOM_HYRULE_CASTLE_6] = gExitList_NoExitList, + [ROOM_HYRULE_CASTLE_7] = gExitList_NoExitList, +}; + +const Transition gExitList_SanctuaryEntrance_Main[] = { + { WARP_TYPE_AREA, 0x0, 0x88, 0x38, 0xc8, 0x1e8, 0x0, AREA_SANCTUARY, ROOM_SANCTUARY_HALL, 1, TRANSITION_TYPE_NORMAL, 0x0, + 0x0, 0x0, 0x0, 0x0 }, + { WARP_TYPE_BORDER, 0x0, 0x0, 0x0, 0x118, 0x1e8, 0x30, AREA_HYRULE_CASTLE, ROOM_HYRULE_CASTLE_3, 1, TRANSITION_TYPE_NORMAL, + 0x4, 0x0, 0x0, 0x0, 0x0 }, + TransitionListEnd, +}; +const Transition* const gExitLists_SanctuaryEntrance[] = { + [ROOM_SANCTUARY_ENTRANCE_MAIN] = gExitList_SanctuaryEntrance_Main, +}; + +const Transition gExitList_Sanctuary_Hall[] = { + { WARP_TYPE_AREA, 0x0, 0xc8, 0x1fc, 0x88, 0x48, 0x0, AREA_SANCTUARY_ENTRANCE, ROOM_SANCTUARY_ENTRANCE_MAIN, + 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, + TransitionListEnd, +}; +const Transition gUnk_0813A76C[] = { + { WARP_TYPE_AREA, 0x0, 0xc8, 0x1fc, 0x88, 0x48, 0x0, AREA_DARK_HYRULE_CASTLE_OUTSIDE, + ROOM_DARK_HYRULE_CASTLE_OUTSIDE_GARDEN, 1, TRANSITION_TYPE_NORMAL, 0x4, 0x0, 0x0, 0x0, 0x0 }, + TransitionListEnd, +}; +const Transition gExitList_Sanctuary_Main[] = { + { WARP_TYPE_AREA, 0x0, 0xe8, 0x28, 0x98, 0x130, 0x0, AREA_SANCTUARY, ROOM_SANCTUARY_STAINED_GLASS, 2, + TRANSITION_TYPE_NORMAL, 0x0, 0x0, 0x0, 0x0, 0x0 }, + TransitionListEnd, +}; +const Transition gExitList_Sanctuary_StainedGlass[] = { + { WARP_TYPE_AREA, 0x0, 0x98, 0x140, 0xe8, 0x38, 0x0, AREA_SANCTUARY, ROOM_SANCTUARY_MAIN, 2, TRANSITION_TYPE_NORMAL, 0x4, + 0x0, 0x0, 0x0, 0x0 }, + TransitionListEnd, +}; +const Transition* const gExitLists_Sanctuary[] = { + [ROOM_SANCTUARY_HALL] = gExitList_Sanctuary_Hall, + [ROOM_SANCTUARY_MAIN] = gExitList_Sanctuary_Main, + [ROOM_SANCTUARY_STAINED_GLASS] = gExitList_Sanctuary_StainedGlass, +}; + +const Transition* const* const gExitLists[] = { + /*AREA_MINISH_WOODS*/ gExitLists_MinishWoods, + /*AREA_MINISH_VILLAGE*/ gExitLists_MinishVillage, + /*AREA_HYRULE_TOWN*/ gExitLists_HyruleTown, + /*AREA_HYRULE_FIELD*/ gExitLists_HyruleField, + /*AREA_CASTOR_WILDS*/ gExitLists_CastorWilds, + /*AREA_RUINS*/ gExitLists_Ruins, + /*AREA_MT_CRENEL*/ gExitLists_MtCrenel, + /*AREA_CASTLE_GARDEN*/ gExitLists_CastleGarden, + /*AREA_CLOUD_TOPS*/ gExitLists_CloudTops, + /*AREA_ROYAL_VALLEY*/ gExitLists_RoyalValley, + /*AREA_VEIL_FALLS*/ gExitLists_VeilFalls, + /*AREA_LAKE_HYLIA*/ gExitLists_LakeHylia, + /*AREA_LAKE_WOODS_CAVE*/ gExitLists_LakeWoodsCave, + /*AREA_BEANSTALKS*/ gExitLists_Beanstalks, + /*AREA_EMPTY*/ gExitLists_NoExit, + /*AREA_HYRULE_DIG_CAVES*/ gExitLists_HyruleDigCaves, + /*AREA_MELARIS_MINE*/ gExitLists_MelarisMine, + /*AREA_MINISH_PATHS*/ gExitLists_MinishPaths, + /*AREA_CRENEL_MINISH_PATHS*/ gExitLists_CrenelMinishPaths, + /*AREA_DIG_CAVES*/ gExitLists_DigCaves1, + /*AREA_CRENEL_DIG_CAVE*/ gExitLists_NoExit, + /*AREA_FESTIVAL_TOWN*/ gExitLists_FestivalTown, + /*AREA_VEIL_FALLS_DIG_CAVE*/ gExitLists_NoExit, + /*AREA_CASTOR_WILDS_DIG_CAVE*/ gExitLists_NoExit, + /*AREA_OUTER_FORTRESS_OF_WINDS*/ gExitLists_OuterFortressOfWinds, + /*AREA_HYLIA_DIG_CAVES*/ gExitLists_HyliaDigCaves, + /*AREA_VEIL_FALLS_TOP*/ gExitLists_VeilFallsTop, + /*AREA_NULL_1B*/ gExitLists_NoExit, + /*AREA_NULL_1C*/ gExitLists_NoExit, + /*AREA_NULL_1D*/ gExitLists_NoExit, + /*AREA_NULL_1E*/ gExitLists_NoExit, + /*AREA_NULL_1F*/ gExitLists_NoExit, + /*AREA_MINISH_HOUSE_INTERIORS*/ gExitLists_MinishHouseInteriors, + /*AREA_HOUSE_INTERIORS_1*/ gExitLists_HouseInteriors1, + /*AREA_HOUSE_INTERIORS_2*/ gExitLists_HouseInteriors2, + /*AREA_HOUSE_INTERIORS_3*/ gExitLists_HouseInteriors3, + /*AREA_TREE_INTERIORS*/ gExitLists_TreeInteriors, + /*AREA_DOJOS*/ gExitLists_Dojos, + /*AREA_CRENEL_CAVES*/ gExitLists_CrenelCaves, + /*AREA_MINISH_CRACKS*/ gExitLists_MinishCracks, + /*AREA_HOUSE_INTERIORS_4*/ gExitLists_HouseInteriors4, + /*AREA_GREAT_FAIRIES*/ gExitLists_GreatFairies, + /*AREA_CASTOR_CAVES*/ gExitLists_CastorCaves, + /*AREA_CASTOR_DARKNUT*/ gExitLists_CastorDarknut, + /*AREA_ARMOS_INTERIORS*/ gExitLists_ArmosInteriors, + /*AREA_TOWN_MINISH_HOLES*/ gExitLists_TownMinishHoles, + /*AREA_MINISH_RAFTERS*/ gExitLists_MinishRafters, + /*AREA_GORON_CAVE*/ gExitLists_GoronCave, + /*AREA_WIND_TRIBE_TOWER*/ gExitLists_WindTribeTower, + /*AREA_WIND_TRIBE_TOWER_ROOF*/ gExitLists_WindTribeTowerRoof, + /*AREA_CAVES*/ gExitLists_Caves, + /*AREA_VEIL_FALLS_CAVES*/ gExitLists_VeilFallsCaves, + /*AREA_ROYAL_VALLEY_GRAVES*/ gExitLists_RoyalValleyGraves, + /*AREA_MINISH_CAVES*/ gExitLists_MinishCaves, + /*AREA_CASTLE_GARDEN_MINISH_HOLES*/ gExitLists_CastleGardenMinishHoles, + /*AREA_37*/ gExitLists_37, + /*AREA_EZLO_CUTSCENE*/ gExitLists_NoExit, + /*AREA_NULL_39*/ gExitLists_NoExit, + /*AREA_NULL_3A*/ gExitLists_NoExit, + /*AREA_NULL_3B*/ gExitLists_NoExit, + /*AREA_NULL_3C*/ gExitLists_NoExit, + /*AREA_NULL_3D*/ gExitLists_NoExit, + /*AREA_NULL_3E*/ gExitLists_NoExit, + /*AREA_NULL_3F*/ gExitLists_NoExit, + /*AREA_40*/ gExitLists_40, + /*AREA_HYRULE_TOWN_UNDERGROUND*/ gExitLists_HyruleTownUnderground, + /*AREA_GARDEN_FOUNTAINS*/ gExitLists_GardenFountains, + /*AREA_HYRULE_CASTLE_CELLAR*/ gExitLists_HyruleCastleCellar, + /*AREA_SIMONS_SIMULATION*/ gExitLists_NoExit, + /*AREA_45*/ gExitLists_NoExit, + /*AREA_NULL_46*/ gExitLists_40, + /*AREA_47*/ gExitLists_NoExit, + /*AREA_DEEPWOOD_SHRINE*/ gExitLists_DeepwoodShrine, + /*AREA_DEEPWOOD_SHRINE_BOSS*/ gExitLists_DeepwoodShrineBoss, + /*AREA_DEEPWOOD_SHRINE_ENTRY*/ gExitLists_DeepwoodShrineEntry, + /*AREA_NULL_4B*/ gExitLists_NoExit, + /*AREA_NULL_4C*/ gExitLists_NoExit, + /*AREA_4D*/ gExitLists_NoExit, + /*AREA_NULL_4E*/ gExitLists_NoExit, + /*AREA_NULL_4F*/ gExitLists_NoExit, + /*AREA_CAVE_OF_FLAMES*/ gExitLists_CaveOfFlames, + /*AREA_CAVE_OF_FLAMES_BOSS*/ gExitLists_NoExit, + /*AREA_NULL_52*/ gExitLists_NoExit, + /*AREA_NULL_53*/ gExitLists_NoExit, + /*AREA_NULL_54*/ gExitLists_NoExit, + /*AREA_NULL_55*/ gExitLists_NoExit, + /*AREA_NULL_56*/ gExitLists_NoExit, + /*AREA_57*/ gExitLists_NoExit, +#ifndef DEMO_USA + /*AREA_FORTRESS_OF_WINDS*/ gExitLists_FortressOfWinds, + /*AREA_FORTRESS_OF_WINDS_TOP*/ gExitLists_FortressOfWindsTop, + /*AREA_INNER_MAZAAL*/ gExitLists_InnerMazaal, + /*AREA_NULL_5B*/ gExitLists_NoExit, + /*AREA_NULL_5C*/ gExitLists_NoExit, + /*AREA_NULL_5D*/ gExitLists_NoExit, + /*AREA_NULL_5E*/ gExitLists_NoExit, + /*AREA_5F*/ gExitLists_NoExit, +#endif + /*AREA_TEMPLE_OF_DROPLETS*/ gExitLists_TempleOfDroplets, + /*AREA_NULL_61*/ gExitLists_61, + /*AREA_HYRULE_TOWN_MINISH_CAVES*/ gExitLists_HyruleTownMinishCaves, + /*AREA_NULL_63*/ gExitLists_NoExit, + /*AREA_NULL_64*/ gExitLists_NoExit, + /*AREA_NULL_65*/ gExitLists_NoExit, + /*AREA_NULL_66*/ gExitLists_NoExit, + /*AREA_67*/ gExitLists_NoExit, + /*AREA_ROYAL_CRYPT*/ gExitLists_RoyalCrypt, + /*AREA_NULL_69*/ gExitLists_NoExit, + /*AREA_NULL_6A*/ gExitLists_NoExit, + /*AREA_NULL_6B*/ gExitLists_NoExit, + /*AREA_NULL_6C*/ gExitLists_NoExit, + /*AREA_NULL_6D*/ gExitLists_NoExit, + /*AREA_NULL_6E*/ gExitLists_NoExit, + /*AREA_6F*/ gExitLists_NoExit, + /*AREA_PALACE_OF_WINDS*/ gExitLists_PalaceOfWinds, + /*AREA_PALACE_OF_WINDS_BOSS*/ gExitLists_NoExit, + /*AREA_NULL_72*/ gExitLists_NoExit, + /*AREA_NULL_73*/ gExitLists_NoExit, + /*AREA_NULL_74*/ gExitLists_NoExit, + /*AREA_NULL_75*/ gExitLists_NoExit, + /*AREA_NULL_76*/ gExitLists_NoExit, + /*AREA_77*/ gExitLists_NoExit, + /*AREA_SANCTUARY*/ gExitLists_Sanctuary, + /*AREA_NULL_79*/ gExitLists_NoExit, + /*AREA_NULL_7A*/ gExitLists_NoExit, + /*AREA_NULL_7B*/ gExitLists_NoExit, + /*AREA_NULL_7C*/ gExitLists_NoExit, + /*AREA_NULL_7D*/ gExitLists_NoExit, + /*AREA_NULL_7E*/ gExitLists_NoExit, + /*AREA_7F*/ gExitLists_NoExit, + /*AREA_HYRULE_CASTLE*/ gExitLists_HyruleCastle, + /*AREA_SANCTUARY_ENTRANCE*/ gExitLists_SanctuaryEntrance, + /*AREA_NULL_82*/ gExitLists_NoExit, + /*AREA_NULL_83*/ gExitLists_NoExit, + /*AREA_NULL_84*/ gExitLists_NoExit, + /*AREA_NULL_85*/ gExitLists_NoExit, + /*AREA_NULL_86*/ gExitLists_NoExit, + /*AREA_87*/ gExitLists_NoExit, + /*AREA_DARK_HYRULE_CASTLE*/ gExitLists_DarkHyruleCastle, + /*AREA_DARK_HYRULE_CASTLE_OUTSIDE*/ gExitLists_DarkHyruleCastleOutside, + /*AREA_VAATIS_ARMS*/ gExitLists_VaatisArms, + /*AREA_VAATI_3*/ gExitLists_NoExit, + /*AREA_VAATI_2*/ gExitLists_NoExit, + /*AREA_DARK_HYRULE_CASTLE_BRIDGE*/ gExitLists_DarkHyruleCastleBridge, + /*AREA_NULL_8E*/ gExitLists_NoExit, + /*AREA_8F*/ gExitLists_NoExit, + /*AREA_90*/ gExitLists_NoExit, + /*AREA_91*/ gExitLists_NoExit, + /*AREA_92*/ gExitLists_NoExit, + /*AREA_93*/ gExitLists_NoExit, + /*AREA_94*/ gExitLists_NoExit, + /*AREA_95*/ gExitLists_NoExit, + /*AREA_96*/ gExitLists_NoExit, + /*AREA_97*/ gExitLists_NoExit, + /*AREA_98*/ gExitLists_NoExit, +}; +// clang-format on diff --git a/src/demo.c b/src/demo.c index 04d7baff..9b7b4356 100644 --- a/src/demo.c +++ b/src/demo.c @@ -216,7 +216,7 @@ void sub_080A3198(u32 param_1, u32 param_2) { MemClear(gUnk_08127C98 - 0x1e, 0x180); if (r4 != 0) { - sub_0805F46C(r4, &gUnk_08127C98); + sub_0805F46C(r4, (Font*)&gUnk_08127C98); // TODO } gScreen.bg0.updated = 1; diff --git a/src/enemy/acroBandits.c b/src/enemy/acroBandits.c index 34d0ea7c..d240ecab 100644 --- a/src/enemy/acroBandits.c +++ b/src/enemy/acroBandits.c @@ -10,15 +10,39 @@ extern Entity* gUnk_020000B0; extern void (*const gUnk_080012C8[])(Entity*); -extern void (*const AcroBandit_Functions[])(Entity*); -extern void (*const gUnk_080CE584[])(Entity*); -extern void (*const gUnk_080CE58C[])(Entity*); -extern void (*const gUnk_080CE5C8[])(Entity*); -extern u8 gUnk_080CE5B0[8]; -extern u8 gUnk_080CE5B8[8]; -extern s8 gUnk_080CE5C0[8]; -extern u16 gUnk_080CE5F0[5]; -extern u8 gUnk_080CE5FA[20]; // Directions + +void AcroBandit_OnTick(Entity* this); +void AcroBandit_OnCollision(Entity* this); +void AcroBandit_OnKnockback(Entity* this); +void GenericDeath(Entity* this); +void GenericConfused(Entity* this); +void AcroBandit_OnGrabbed(Entity* this); +void AcroBandit_Type0(Entity* this); +void AcroBandit_Type1(Entity* this); +void AcroBandit_Type0Action0(Entity* this); +void AcroBandit_Type0Action1(Entity* this); +void AcroBandit_Type0Action2(Entity* this); +void AcroBandit_Type0Action3(Entity* this); +void AcroBandit_Type0Action4(Entity* this); +void AcroBandit_Type0Action5(Entity* this); +void AcroBandit_Type0Action6(Entity* this); +void AcroBandit_Type0Action7(Entity* this); +void AcroBandit_Type0Action8(Entity* this); +void AcroBandit_Type1Init(Entity* this); +void AcroBandit_Type1Action1(Entity* this); +void AcroBandit_Type1Action2(Entity* this); +void AcroBandit_Type1Action3(Entity* this); +void AcroBandit_Type1Action4(Entity* this); +void AcroBandit_Type1Action5(Entity* this); +void AcroBandit_Type1Action6(Entity* this); +void AcroBandit_Type1Action7(Entity* this); +void AcroBandit_Type1Action8(Entity* this); +void AcroBandit_Type1Action9(Entity* this); + +static void (*const AcroBandit_Functions[])(Entity*) = { + AcroBandit_OnTick, AcroBandit_OnCollision, AcroBandit_OnKnockback, + GenericDeath, GenericConfused, AcroBandit_OnGrabbed, +}; void AcroBandit(Entity* this) { s32 index; @@ -37,7 +61,11 @@ void AcroBandit(Entity* this) { } void AcroBandit_OnTick(Entity* this) { - gUnk_080CE584[this->type](this); + static void (*const typeFuncs[])(Entity*) = { + AcroBandit_Type0, + AcroBandit_Type1, + }; + typeFuncs[this->type](this); } void AcroBandit_OnCollision(Entity* this) { @@ -47,7 +75,7 @@ void AcroBandit_OnCollision(Entity* this) { if (this->type == 1) { if (this->action < 7 && this->knockbackDuration != 0) { brother = this->child; - if (brother) { + if (brother != NULL) { brother->parent = this->parent; do { brother->action = 5; @@ -56,10 +84,10 @@ void AcroBandit_OnCollision(Entity* this) { brother->iframes = -12; } while (brother = brother->child, brother != NULL); } - if (this->parent) { + if (this->parent != NULL) { this->parent->child = this->child; } else { - if (this->child) + if (this->child != NULL) this->parent = this; } @@ -109,25 +137,27 @@ void AcroBandit_OnKnockback(Entity* this) { GenericKnockback(this); } -void AcroBandit_OnGrabbed(void) { - /* ... */ +void AcroBandit_OnGrabbed(Entity* this) { } -void sub_08031A88(Entity* this) { - gUnk_080CE58C[this->action](this); +void AcroBandit_Type0(Entity* this) { + static void (*const actionFuncs[])(Entity*) = { + AcroBandit_Type0Action0, AcroBandit_Type0Action1, AcroBandit_Type0Action2, + AcroBandit_Type0Action3, AcroBandit_Type0Action4, AcroBandit_Type0Action5, + AcroBandit_Type0Action6, AcroBandit_Type0Action7, AcroBandit_Type0Action8, + }; + actionFuncs[this->action](this); } -void sub_08031AA0(Entity* this) { +void AcroBandit_Type0Action0(Entity* this) { sub_0804A720(this); - this->action = '\x01'; + this->action = 1; this->field_0x74.HWORD = this->x.HALF.HI; this->field_0x76.HWORD = this->y.HALF.HI; this->field_0x78.HALF.HI = Random(); } -void sub_08031AC8(Entity* this) - -{ +void AcroBandit_Type0Action1(Entity* this) { u32 rand; s32 x, y; @@ -149,7 +179,9 @@ void sub_08031AC8(Entity* this) } } -void sub_08031B48(Entity* this) { +void AcroBandit_Type0Action2(Entity* this) { + static const u8 actionDelays[] = { 2, 2, 2, 3, 3, 3, 3, 4 }; + GetNextFrame(this); if (this->frame & 1) { this->frame = 0; @@ -157,13 +189,13 @@ void sub_08031B48(Entity* this) { } else { if (this->frame & ANIM_DONE) { this->action = 0x3; - this->actionDelay = gUnk_080CE5B0[Random() & 7]; + this->actionDelay = actionDelays[Random() & 7]; InitializeAnimation(this, 1); } } } -void sub_08031B98(Entity* this) { +void AcroBandit_Type0Action3(Entity* this) { if (sub_08031E04(this)) { this->action = 5; if (this->x.HALF.HI > gUnk_020000B0->x.HALF.HI) { @@ -186,21 +218,22 @@ void sub_08031B98(Entity* this) { } } -void sub_08031C1C(Entity* this) { +void AcroBandit_Type0Action4(Entity* this) { + static const u8 actionDelays[] = { 60, 60, 90, 120, 120, 120, 120, 150 }; GetNextFrame(this); if (this->frame & ANIM_DONE) { - this->action = '\x01'; - this->actionDelay = gUnk_080CE5B8[Random() & 7]; + this->action = 1; + this->actionDelay = actionDelays[Random() & 7]; this->spriteSettings.draw = 0; } } -void sub_08031C58(Entity* this) { +void AcroBandit_Type0Action5(Entity* this) { Entity *a, *b; GetNextFrame(this); if (this->frame & ANIM_DONE) { - if (gEntCount < 0x43) { + if (gEntCount < MAX_ENTITIES - 4) { u32 tmp = Random(); tmp &= 3; @@ -252,7 +285,7 @@ void sub_08031C58(Entity* this) { } } -void sub_08031D70(Entity* this) { +void AcroBandit_Type0Action6(Entity* this) { GetNextFrame(this); if (--this->actionDelay == 0) { this->action = 7; @@ -262,7 +295,7 @@ void sub_08031D70(Entity* this) { } } -void sub_08031DA0(Entity* this) { +void AcroBandit_Type0Action7(Entity* this) { if ((this->actionDelay & 0xf) == 0) { if (this->actionDelay == 0x50) { DeleteEntity(this); @@ -273,7 +306,7 @@ void sub_08031DA0(Entity* this) { } } -void sub_08031DC4(Entity* this) { +void AcroBandit_Type0Action8(Entity* this) { if (this->frame & ANIM_DONE) { this->action = 1; this->actionDelay = 0xb4; @@ -286,13 +319,14 @@ void sub_08031DC4(Entity* this) { } } -u32 sub_08031E04(Entity* this) { +bool32 sub_08031E04(Entity* this) { + static const s8 gUnk_080CE5C0[] = { -32, 0, 0, 32, 32, 0, 0, 0 }; Entity* ent; - s8* tmp; + const s8* tmp; ent = sub_08049DF4(1); if (ent == NULL) - return 0; + return FALSE; tmp = &gUnk_080CE5C0[this->frame & 6]; return EntityWithinDistance(this, ent->x.HALF.HI + tmp[0], ent->y.HALF.HI + tmp[1], 0x50); @@ -308,11 +342,16 @@ void sub_08031E48(Entity* this, Entity* child) { child->field_0x7c.WORD = (s32)this; } -void sub_08031E90(Entity* this) { - gUnk_080CE5C8[this->action](this); +void AcroBandit_Type1(Entity* this) { + static void (*const actionFuncs[])(Entity*) = { + AcroBandit_Type1Init, AcroBandit_Type1Action1, AcroBandit_Type1Action2, AcroBandit_Type1Action3, + AcroBandit_Type1Action4, AcroBandit_Type1Action5, AcroBandit_Type1Action6, AcroBandit_Type1Action7, + AcroBandit_Type1Action8, AcroBandit_Type1Action9, + }; + actionFuncs[this->action](this); } -void sub_08031EA8(Entity* this) { +void AcroBandit_Type1Init(Entity* this) { this->action = 1; this->spritePriority.b1 = 1; this->zVelocity = Q_16_16(4.0); @@ -321,7 +360,7 @@ void sub_08031EA8(Entity* this) { InitializeAnimation(this, 4); } -void sub_08031EE8(Entity* this) { +void AcroBandit_Type1Action1(Entity* this) { int draw; this->z.WORD -= this->zVelocity; @@ -346,8 +385,10 @@ void sub_08031EE8(Entity* this) { } } -void sub_08031F54(Entity* this) { - GravityUpdate(this, gUnk_080CE5F0[this->type2]); +void AcroBandit_Type1Action2(Entity* this) { + static const u16 banditGravity[] = { 0x1600, 0x1300, 0x1000, 0xD00, 0xB00 }; + + GravityUpdate(this, banditGravity[this->type2]); if (this->type2 * -0xe <= this->z.HALF.HI) { this->action = 3; this->actionDelay = 20; @@ -358,13 +399,13 @@ void sub_08031F54(Entity* this) { } } -void sub_08031FB0(Entity* this) { +void AcroBandit_Type1Action3(Entity* this) { GetNextFrame(this); - if ((this->frame & ANIM_DONE) && (this->parent || --this->actionDelay == 0)) { + if ((this->frame & ANIM_DONE) && ((this->parent != NULL) || (--this->actionDelay == 0))) { this->action = 4; this->direction = sub_08049F84(this, 1); *(u8*)&this->field_0x76 = 0; - if (this->child) { + if (this->child != NULL) { InitializeAnimation(this, 9); } else { InitializeAnimation(this, 8); @@ -372,12 +413,12 @@ void sub_08031FB0(Entity* this) { } } -void sub_08032008(Entity* this) { +void AcroBandit_Type1Action4(Entity* this) { Entity* parent; - if (sub_080322A4(this) == 0) { + if (!sub_080322A4(this)) { parent = this->parent; - if (parent == 0) { + if (parent == NULL) { if (sub_08049FDC(this, 1)) { if ((++this->field_0x78.HALF.HI & 7) == 0) { sub_08004596(this, GetFacingDirection(this, gUnk_020000B0)); @@ -421,20 +462,22 @@ void sub_08032008(Entity* this) { } } -void sub_08032148(Entity* this) { +void AcroBandit_Type1Action5(Entity* this) { if (GravityUpdate(this, 0x2000)) return; sub_08032290(this); } -void sub_08032160(Entity* this) { +void AcroBandit_Type1Action6(Entity* this) { + static const u8 fallDirections[] = { 0x8, 0x1c, 0x11, 0x2, 0x15, 0xc, 0x0, 0x15, 0x6, 0x19, + 0x10, 0x4, 0x19, 0xa, 0x1d, 0x14, 0x8, 0x1d, 0xe, 0x1 }; Entity* tmp; u32 dir; if (this->actionDelay == 0) { this->action = 7; - dir = gUnk_080CE5FA[this->field_0x74.HALF.LO * 5 + this->type2]; + dir = fallDirections[this->field_0x74.HALF.LO * 5 + this->type2]; this->direction = dir; if (dir >= 0x10) { this->spriteSettings.flipX = 1; @@ -456,14 +499,14 @@ void sub_08032160(Entity* this) { } } -void sub_080321E8(Entity* this) { +void AcroBandit_Type1Action7(Entity* this) { ProcessMovement2(this); if (sub_080044EC(this, 0x2000) == 0) this->action = 8; } -void sub_08032204(Entity* this) { +void AcroBandit_Type1Action8(Entity* this) { GetNextFrame(this); if (this->frame & 1) { this->frame = 0; @@ -476,7 +519,7 @@ void sub_08032204(Entity* this) { } } -void sub_08032248(Entity* this) { +void AcroBandit_Type1Action9(Entity* this) { if (GravityUpdate(this, Q_8_8(24.0)) == 0) { if (this->frame & ANIM_DONE) { ((Entity*)this->field_0x7c.WORD)->actionDelay--; @@ -497,30 +540,29 @@ void sub_08032290(Entity* this) { InitializeAnimation(this, 11); } -u32 sub_080322A4(Entity* this) { +bool32 sub_080322A4(Entity* this) { if (this->child != NULL && (this->child->z.HALF.HI + 8) >= this->z.HALF.HI) { if (this->z.HALF.HI) { this->action = 5; this->z.HALF.HI = this->child->z.HALF.HI + 8; InitializeAnimation(this, 11); - return 1; + return TRUE; } else { sub_08032290(this); - return 1; + return TRUE; } } - return 0; + return FALSE; } void sub_080322E8(Entity* this) { - u8 tmp; if (this->field_0x78.HALF.LO) { if (--this->field_0x78.HALF.LO == 0) { u32 flipX = this->spriteSettings.flipX; this->spriteSettings.flipX = flipX ^ 1; } } else { - tmp = this->direction; + u8 tmp = this->direction; if (tmp & 0xF) { tmp >>= 4; tmp ^= 1; diff --git a/src/enemy/armos.c b/src/enemy/armos.c index 0fd596a2..09c732e7 100644 --- a/src/enemy/armos.c +++ b/src/enemy/armos.c @@ -306,12 +306,12 @@ bool32 sub_08030650(ArmosEntity* this) { return 1; } } else if (this->unk_80 != 2) { - if ((sub_08049FDC(super, 1) == 0) || (0x20 < (gUnk_020000B0->x.HALF.HI - super->x.HALF.HI) + 0x10U)) { + if (!sub_08049FDC(super, 1) || (0x20 < (gUnk_020000B0->x.HALF.HI - super->x.HALF.HI) + 0x10U)) { return FALSE; } return TRUE; } else { - if (sub_08049FDC(super, 1) == 0) { + if (!sub_08049FDC(super, 1)) { return FALSE; } if (gUnk_020000B0->x.HALF.HI >= (s32)(gRoomControls.origin_x + 0xa8)) { diff --git a/src/enemy/beetle.c b/src/enemy/beetle.c index 25e104c8..dc15be53 100644 --- a/src/enemy/beetle.c +++ b/src/enemy/beetle.c @@ -60,7 +60,7 @@ void Beetle_OnDeath(Entity* this) { GenericDeath(this); } else { Entity* ent = this->parent; - if (ent) { + if (ent != NULL) { ent->field_0xf--; this->parent = NULL; } diff --git a/src/enemy/bobomb.c b/src/enemy/bobomb.c index 7e214b63..e47bf4e4 100644 --- a/src/enemy/bobomb.c +++ b/src/enemy/bobomb.c @@ -6,6 +6,7 @@ */ #include "asm.h" +#include "collision.h" #include "sound.h" #include "enemy.h" #include "object.h" @@ -160,7 +161,7 @@ void sub_0802C91C(Entity* this) { GetNextFrame(this); ProcessMovement0(this); if (this->field_0x82.HALF.LO) { - if (this->collisions) { + if (this->collisions != COL_NONE) { sub_0800417E(this, this->collisions); InitializeAnimation(this, (this->direction >> 4) | 2); } @@ -173,7 +174,7 @@ void sub_0802C91C(Entity* this) { sub_0802CC18(this); } } else { - if (this->collisions) { + if (this->collisions != COL_NONE) { sub_0800417E(this, this->collisions); InitializeAnimation(this, this->direction >> 4); } @@ -289,7 +290,7 @@ void sub_0802CBC4(Entity* this) { FreeCarryEntity(this); ent = CreateObjectWithParent(this, OBJECT_20, 0, 0); - if (ent) { + if (ent != NULL) { ent->collisionLayer = this->collisionLayer; } } diff --git a/src/enemy/bombPeahat.c b/src/enemy/bombPeahat.c index 5c327b91..5cb6e1db 100644 --- a/src/enemy/bombPeahat.c +++ b/src/enemy/bombPeahat.c @@ -92,7 +92,6 @@ void sub_0802A8FC(Entity* this) { } void nullsub_143(Entity* this) { - /* ... */ } void sub_0802A91C(Entity* this) { @@ -167,7 +166,7 @@ void sub_0802AA40(Entity* this) { this->actionDelay--; } else { Entity* ent = this->child; - if (ent) { + if (ent != NULL) { if (ent->next == NULL) { this->child = NULL; } else { @@ -212,7 +211,7 @@ void sub_0802AAC0(Entity* this) { } } #else - } else if (ent->actionDelay == 0 && ent->field_0xf < 0x51) { + } else if ((ent->actionDelay == 0) && (ent->field_0xf <= 0x50)) { this->field_0x80.HALF.HI = 0; } #endif @@ -304,7 +303,7 @@ void sub_0802AC40(Entity* this) { GetNextFrame(this); LinearMoveUpdate(this); if (this->field_0x7a.HALF.LO) { - if (sub_0802B234(this) == 0) { + if (!sub_0802B234(this)) { this->field_0x7a.HALF.LO = 0; this->spritePriority.b1 = 0; #ifndef EU @@ -349,7 +348,7 @@ void sub_0802ACDC(Entity* this, u32 param_2) { void sub_0802AD1C(Entity* this, u32 param_2) { Entity* ent = sub_08049DF4(1); - if (ent) { + if (ent != NULL) { u32 y = ent->y.HALF.HI - 0x18; u32 x = ent->x.HALF.HI; sub_08004596(this, sub_080045B4(this, x, y)); @@ -416,7 +415,7 @@ void sub_0802AE24(Entity* this) { #ifdef EU void sub_0802AE68(Entity* this) { Entity* ent = this->parent; - if (ent == 0) { + if (ent == NULL) { this->action = 3; this->spriteSettings.draw = 1; this->field_0x80.HALF.LO = 1; @@ -441,7 +440,7 @@ void sub_0802AE68(Entity* this) { #else void sub_0802AE68(Entity* this) { Entity* ent = sub_0802B250(this); - if (ent == 0) { + if (ent == NULL) { this->action = 3; this->field_0x80.HALF.LO = 1; sub_0802B264(this); @@ -559,7 +558,7 @@ void sub_0802B048(Entity* this) { } ent = this->parent; - if (ent && this->action == 1) { + if ((ent != NULL) && this->action == 1) { this->spriteRendering.b3 = ent->spriteRendering.b3; this->spritePriority.b0 = ent->spritePriority.b0; this->spriteOrientation.flipY = ent->spriteOrientation.flipY; @@ -588,7 +587,7 @@ void sub_0802B048(Entity* this) { COLLISION_ON(this); this->field_0x7a.HALF.HI = 0; FreeCarryEntity(this); - if (this->parent->next) { + if (this->parent->next != NULL) { this->parent->field_0x80.HALF.HI = 0; } ent = CreateObjectWithParent(this, OBJECT_20, 0, 0); @@ -622,7 +621,7 @@ void sub_0802B1BC(Entity* this) { } ent = this->parent; - if (ent == 0) { + if (ent == NULL) { this->action = 2; this->spriteSettings.draw = 1; } @@ -651,7 +650,7 @@ void sub_0802B1BC(Entity* this) { } ent = sub_0802B250(this); - if (ent == 0) { + if (ent == NULL) { this->action = 2; sub_0802B264(this); } else { @@ -668,7 +667,7 @@ void sub_0802B1BC(Entity* this) { void sub_0802B204(Entity* this) { if (sub_080044EC(this, 0x2800) == 1) { Entity* ent = CreateEnemy(BOBOMB, 1); - if (ent) { + if (ent != NULL) { CopyPosition(this, ent); ent->parent = this->parent; } @@ -686,7 +685,7 @@ bool32 sub_0802B234(Entity* this) { #ifndef EU Entity* sub_0802B250(Entity* this) { Entity* parent = this->parent; - if (parent && parent->next == NULL) { + if ((parent != NULL) && (parent->next == NULL)) { parent = NULL; } return parent; diff --git a/src/enemy/bombarossa.c b/src/enemy/bombarossa.c index 4004edb5..2119c5e0 100644 --- a/src/enemy/bombarossa.c +++ b/src/enemy/bombarossa.c @@ -44,7 +44,7 @@ void Bombarossa_OnCollision(BombarossaEntity* this) { switch (super->bitfield & 0x7f) { default: ent = CreateObject(OBJECT_20, 0, 0); - if (ent) { + if (ent != NULL) { CopyPosition(super, ent); } DeleteThisEntity(); diff --git a/src/enemy/bowMoblin.c b/src/enemy/bowMoblin.c index b65f1ea3..35d3b011 100644 --- a/src/enemy/bowMoblin.c +++ b/src/enemy/bowMoblin.c @@ -230,7 +230,7 @@ void sub_0803C400(BowMoblinEntity* this) { } sub_0803C6DC(this); - if (super->child) { + if (super->child != NULL) { sub_0803C714(this); } } @@ -271,7 +271,7 @@ void sub_0803C4B0(BowMoblinEntity* this) { u32 sub_0803C568(BowMoblinEntity* this) { if (this->unk_0x81 == 0) { Entity* ent = sub_08049DF4(1); - if (ent) { + if (ent != NULL) { if (this->unk_0x82 == 2) { if (sub_0806FC80(super, ent, 0x30)) { return 1; diff --git a/src/enemy/businessScrub.c b/src/enemy/businessScrub.c index 8283894b..45cf55b8 100644 --- a/src/enemy/businessScrub.c +++ b/src/enemy/businessScrub.c @@ -384,7 +384,7 @@ void sub_08028F0C(Entity* this) { SetPlayerControl(1); } MessageFromTarget(dialog); - gMessage.field_0x10 = offer->price; + gMessage.rupees = offer->price; } } diff --git a/src/enemy/businessScrubPrologue.c b/src/enemy/businessScrubPrologue.c index b4dd50e1..4366c0ab 100644 --- a/src/enemy/businessScrubPrologue.c +++ b/src/enemy/businessScrubPrologue.c @@ -48,7 +48,7 @@ void BusinessScrubPrologue_OnCollision(BusinessScrubPrologueEntity* this) { super->flags &= ~ENT_COLLIDE; sub_08046030(this, 4); ent = CreateFx(super, FX_BUSH, 0); - if (ent) { + if (ent != NULL) { ent->z.HALF.HI -= 8; } @@ -123,7 +123,7 @@ void sub_08045CE0(BusinessScrubPrologueEntity* this) { sub_0804604C(this); if (super->frame & 1) { ent = CreateProjectileWithParent(super, DEKU_SEED_PROJECTILE, 0); - if (ent) { + if (ent != NULL) { ent->parent = super; ent->direction = super->direction; super->frame &= 0xfe; @@ -186,7 +186,7 @@ void sub_08045E14(BusinessScrubPrologueEntity* this) { super->subAction = 0; sub_08046030(this, 0); ent = Create0x68FX(super, FX_STARS); - if (ent) { + if (ent != NULL) { ent->spritePriority.b0 = 3; ent->z.HALF.HI -= 0xc; SetDefaultPriority(ent, PRIO_MESSAGE); @@ -299,7 +299,7 @@ void sub_08046078(BusinessScrubPrologueEntity* this) { for (index = 0; index <= 4; index++) { ent = CreateFx(super, FX_DEATH, 0x40); - if (ent) { + if (ent != NULL) { ent->x.HALF.HI = gRoomControls.origin_x + *ptr; ptr++; ent->y.HALF.HI = gRoomControls.origin_y + *ptr; @@ -315,12 +315,12 @@ void sub_08046078(BusinessScrubPrologueEntity* this) { RestorePrevTileEntity(0x7a7, 1); ent = CreateFx(super, FX_BIG_EXPLOSION2, 0x40); - if (ent) { + if (ent != NULL) { CopyPosition(super, ent); EnqueueSFX(SFX_184); } - if (super->child) { + if (super->child != NULL) { super->child->action = 0xff; } diff --git a/src/enemy/chuchu.c b/src/enemy/chuchu.c index 9f23dd3b..856acda5 100644 --- a/src/enemy/chuchu.c +++ b/src/enemy/chuchu.c @@ -123,7 +123,7 @@ void Chuchu_OnCollision(Entity* this) { } void Chuchu_OnGrabbed(Entity* this) { - if (sub_0806F520(this) == 0 && this->confusedTime) { + if (!sub_0806F520(this) && this->confusedTime) { Create0x68FX(this, FX_STARS); InitializeAnimation(this, 6); } else { @@ -552,7 +552,7 @@ void sub_0801F884(Entity* this) { this->field_0xf--; } else { Entity* ent = Create0x68FX(this, FX_LIGHTNING_STRIKE); - if (ent) { + if (ent != NULL) { ent->type2 = 64; this->action = 4; this->hitType = 165; diff --git a/src/enemy/cloudPiranha.c b/src/enemy/cloudPiranha.c index 6922958c..e1075af3 100644 --- a/src/enemy/cloudPiranha.c +++ b/src/enemy/cloudPiranha.c @@ -7,6 +7,7 @@ #define NENT_DEPRECATED #include "global.h" +#include "collision.h" #include "enemy.h" #include "functions.h" #include "coord.h" @@ -259,7 +260,7 @@ void sub_080387F0(CloudPiranhaEntity* this) { if ((iVar4 == 0xf) || (iVar4 == 0x2a)) { super->direction = (super->direction + 0x10) & 0x1f; } else { - if (super->collisions != 0) { + if (super->collisions != COL_NONE) { sub_0800417E(super, super->collisions); } } diff --git a/src/enemy/cuccoAggr.c b/src/enemy/cuccoAggr.c index 28b32be5..5d2631df 100644 --- a/src/enemy/cuccoAggr.c +++ b/src/enemy/cuccoAggr.c @@ -295,7 +295,7 @@ void sub_080391B4(CuccoAggrEntity* this) { if (this->unk_7a) { if ((this->unk_7b++ & 0x1f) == 0) { Entity* ent = CreateEnemy(CUCCO_AGGR, 2); - if (ent) { + if (ent != NULL) { u32 rand = (Random() & 0x17); const PosOffset* ptr = &gCuccoAggrSpawnPoints[rand]; ent->x.HALF.HI = gRoomControls.scroll_x + ptr->x; @@ -321,7 +321,7 @@ void sub_08039218(CuccoAggrEntity* this) { void CuccoAggr_CreateFx(CuccoAggrEntity* this) { Entity* ent = CreateFx(super, gCuccoAggrFx[super->type], 0); - if (ent) { + if (ent != NULL) { ent->x.HALF.HI += gCuccoAggrFxHorizontalOffsets[super->spriteSettings.flipX]; } } diff --git a/src/enemy/darkNut.c b/src/enemy/darkNut.c index 7fae4b0b..3d91e7f4 100644 --- a/src/enemy/darkNut.c +++ b/src/enemy/darkNut.c @@ -312,7 +312,7 @@ void sub_080210E4(Entity* this) { this->frame &= ~1; ent = CreateProjectileWithParent(this, DARK_NUT_SWORD_SLASH, 2); - if (ent) { + if (ent != NULL) { ent->parent = this; this->child = ent; } @@ -558,7 +558,7 @@ void sub_08021540(Entity* this) { } void sub_08021588(Entity* this) { - if (this->child) { + if (this->child != NULL) { this->child->parent = NULL; this->child = NULL; } @@ -571,7 +571,7 @@ void sub_0802159C(Entity* this) { this->frame = 0; this->hitType = 0x51; ent = CreateProjectileWithParent(this, DARK_NUT_SWORD_SLASH, 3); - if (ent) { + if (ent != NULL) { ent->parent = this; this->child = ent; } @@ -592,7 +592,7 @@ void sub_08021600(Entity* this) { this->frame = 0; this->hitType = 0x51; ent = CreateProjectileWithParent(this, DARK_NUT_SWORD_SLASH, 4); - if (ent) { + if (ent != NULL) { ent->parent = this; this->child = ent; } @@ -610,8 +610,6 @@ void sub_08021644(Entity* this) { } } -extern u32 sub_08049F1C(Entity*, Entity*, u32); - u32 sub_08021664(Entity* this, Entity* ent) { switch (this->animationState) { case 0: diff --git a/src/enemy/enemy50.c b/src/enemy/enemy50.c index 2811e901..40bd1fde 100644 --- a/src/enemy/enemy50.c +++ b/src/enemy/enemy50.c @@ -154,7 +154,7 @@ void sub_08040D30(Enemy50Entity* this) { } void sub_08040D90(Enemy50Entity* this) { - if (sub_0806F520()) { + if (sub_0806F520(super)) { Enemy50_SubActions[super->subAction](this); } else { sub_08041128(this); diff --git a/src/enemy/fallingBoulder.c b/src/enemy/fallingBoulder.c index 4928bf84..828b3670 100644 --- a/src/enemy/fallingBoulder.c +++ b/src/enemy/fallingBoulder.c @@ -97,7 +97,7 @@ NONMATCH("asm/non_matching/fallingBoulder/sub_0802C334.inc", void sub_0802C334(E s32 i; for (i = 1; i > -1; i--) { Entity* ent = CreateFx(this, FX_ROCK2, 0); - if (ent) { + if (ent != NULL) { ent->x.HALF.HI += 12; ent->x.HALF.HI -= diff; } diff --git a/src/enemy/fireballGuy.c b/src/enemy/fireballGuy.c index 43ceb90c..6e140df5 100644 --- a/src/enemy/fireballGuy.c +++ b/src/enemy/fireballGuy.c @@ -91,7 +91,7 @@ void sub_08045454(Entity* this) { } ent = CreateFx(this, FX_DEATH, 0); - if (ent) + if (ent != NULL) CopyPosition(this, ent); DeleteEntity(this); diff --git a/src/enemy/flyingPot.c b/src/enemy/flyingPot.c new file mode 100644 index 00000000..1736979d --- /dev/null +++ b/src/enemy/flyingPot.c @@ -0,0 +1,265 @@ +/** + * @file flyingPot.c + * @ingroup Enemies + * + * @brief Flying pot enemy + */ +#define NENT_DEPRECATED +#include "collision.h" +#include "functions.h" +#include "enemy.h" +#include "player.h" +#include "room.h" + +extern void (*const gUnk_080012C8[])(Entity*); +extern Hitbox gUnk_080FD34C; + +typedef struct { + /* 0x00 */ Entity base; + /* 0x68 */ u8 filler[0xC]; + /* 0x74 */ u16 tileIndex; +} FlyingPotEntity; + +enum FlyingPotActions { + /* 0 */ FLYING_POT_ACTION_0, + /* 1 */ FLYING_POT_ACTION_1, + /* 2 */ FLYING_POT_ACTION_2, + /* 3 */ FLYING_POT_ACTION_3, + /* 4 */ FLYING_POT_ACTION_4, + /* 5 */ FLYING_POT_ACTION_5, + /* 6 */ FLYING_POT_ACTION_6, +}; + +enum FlyingPotSubActions { + /* 0 */ FLYING_POT_SUBACTION_0, + /* 1 */ FLYING_POT_SUBACTION_1, + /* 2 */ FLYING_POT_SUBACTION_2, + /* 3 */ FLYING_POT_SUBACTION_3, + /* 4 */ FLYING_POT_SUBACTION_DO_NOTHING, + /* 5 */ FLYING_POT_SUBACTION_5, +}; + +// Functions +void FlyingPot_OnTick(FlyingPotEntity*); // 0803708C +void FlyingPot_OnCollision(FlyingPotEntity*); // 080370A4 +void FlyingPot_OnGrabbed(FlyingPotEntity*); // 0803712C + +// Subactions +void FlyingPot_SubAction0(FlyingPotEntity*); // 08037144 +void FlyingPot_SubAction1(FlyingPotEntity*); // 0803715C +void FlyingPot_SubAction2(FlyingPotEntity*); // 0803718C +void FlyingPot_SubAction3(FlyingPotEntity*); // 080371F8 +void FlyingPot_SubActionDoNothing(FlyingPotEntity*); +void FlyingPot_SubAction5(FlyingPotEntity*); // 08037218 + +// Actions +void FlyingPot_Init(FlyingPotEntity*); // ? // 08037220 +void FlyingPot_Action1(FlyingPotEntity*); // 08037280 +void FlyingPot_Action2(FlyingPotEntity*); // 080372E8 +void FlyingPot_Action3(FlyingPotEntity*); // 0803737C +void FlyingPot_Action4(FlyingPotEntity*); // 080373B0 +void FlyingPot_Action5(FlyingPotEntity*); // 080373C8 +void FlyingPot_Action6(FlyingPotEntity*); // 080373E0 + +void sub_08037408(FlyingPotEntity*); +void sub_08037418(FlyingPotEntity*); + +void (*const FlyingPot_Functions[])(Entity*) = { + (EntityActionPtr)FlyingPot_OnTick, + (EntityActionPtr)FlyingPot_OnCollision, + GenericKnockback, + GenericDeath, + GenericConfused, + (EntityActionPtr)FlyingPot_OnGrabbed, +}; + +void FlyingPot(Entity* thisx) { + s32 index = sub_080012DC(thisx); + + if (index != 0) { + gUnk_080012C8[index](thisx); + } else { + FlyingPot_Functions[GetNextFunction(thisx)](thisx); + } +} + +void FlyingPot_OnTick(FlyingPotEntity* this) { + static void (*const FlyingPot_Actions[])(FlyingPotEntity*) = { + FlyingPot_Init, FlyingPot_Action1, FlyingPot_Action2, FlyingPot_Action3, + FlyingPot_Action4, FlyingPot_Action5, FlyingPot_Action6, + }; + + FlyingPot_Actions[super->action](this); +} + +void FlyingPot_OnCollision(FlyingPotEntity* this) { + sub_08037418(this); + + if (super->bitfield == 0x9D) { + super->action = FLYING_POT_ACTION_6; + COLLISION_OFF(super); + super->zVelocity = 0x2A000; + super->spritePriority.b1 = 1; + + SetTile(this->tileIndex, TILE(super->x.HALF.HI, super->y.HALF.HI), super->collisionLayer); + } else if (super->z.HALF.HI != 0) { + sub_08037408(this); + } + + EnemyFunctionHandlerAfterCollision(super, FlyingPot_Functions); +} + +void FlyingPot_OnGrabbed(FlyingPotEntity* this) { + static void (*const FlyingPot_SubActions[])(FlyingPotEntity*) = { + FlyingPot_SubAction0, FlyingPot_SubAction1, FlyingPot_SubAction2, + FlyingPot_SubAction3, FlyingPot_SubActionDoNothing, FlyingPot_SubAction5, + }; + + FlyingPot_SubActions[super->subAction](this); +} + +void FlyingPot_SubAction0(FlyingPotEntity* this) { + sub_08037418(this); + + super->subAction = FLYING_POT_SUBACTION_1; + super->actionDelay = 0; + super->field_0x1d = 0x30; +} + +void FlyingPot_SubAction1(FlyingPotEntity* this) { + sub_08037418(this); + + if (sub_0806F520(super)) { + sub_0806F4E8(super); + } else { + super->spriteOffsetX = 0; + + if (super->z.HALF.HI != 0) { + sub_08037408(this); + } + } +} + +void FlyingPot_SubAction2(FlyingPotEntity* this) { + if (super->actionDelay == 0) { + sub_08037418(this); + super->actionDelay = 1; + COLLISION_OFF(super); + super->spriteOffsetX = 0; + + SetTile(this->tileIndex, TILE(super->x.HALF.HI, super->y.HALF.HI), super->collisionLayer); + } + + if (sub_0806F520(super)) { + sub_0806F3E4(super); + } else { + sub_08037408(this); + } +} + +void FlyingPot_SubAction3(FlyingPotEntity* this) { + if (!(gPlayerState.field_0x1c & 0xF)) { + sub_08037408(this); + } +} + +void FlyingPot_SubActionDoNothing(FlyingPotEntity* this) { +} + +void FlyingPot_SubAction5(FlyingPotEntity* this) { + sub_08037408(this); +} + +void FlyingPot_Init(FlyingPotEntity* this) { + u32 tile; + + super->action = FLYING_POT_ACTION_1; + super->field_0x1c = 2; + super->y.HALF.HI += 3; + + tile = TILE(super->x.HALF.HI, super->y.HALF.HI); + this->tileIndex = GetTileIndex(tile, super->collisionLayer); + SetTile(0x4000, tile, super->collisionLayer); + InitializeAnimation(super, 5); +} + +void FlyingPot_Action1(FlyingPotEntity* this) { + sub_08037418(this); + + if (GetTileTypeByEntity(super) != 0x4000) { + SetTile(this->tileIndex, TILE(super->x.HALF.HI, super->y.HALF.HI), super->collisionLayer); + sub_08037408(this); + } + + if (PlayerInRange(super, 1, 0x40)) { + super->action = FLYING_POT_ACTION_2; + super->actionDelay = 30; + } +} + +void FlyingPot_Action2(FlyingPotEntity* this) { + static const u8 offsets[] = { -1, 1, 1, -1 }; + + sub_08037418(this); + + super->spriteOffsetX += offsets[super->actionDelay & 3]; + + if (--super->actionDelay == 0) { + super->action = FLYING_POT_ACTION_3; + super->spritePriority.b1 = 1; + super->spriteOffsetX = 0; + super->hitType = 0xA0; + super->flags2 = 0xF; + super->hitbox = &gUnk_080FD34C; + + SetTile(this->tileIndex, TILE(super->x.HALF.HI, super->y.HALF.HI), super->collisionLayer); + } +} + +void FlyingPot_Action3(FlyingPotEntity* this) { + super->z.WORD -= 0x10000; + + if (super->z.HALF.HI <= -6) { + super->action = FLYING_POT_ACTION_4; + super->actionDelay = 10; + super->direction = GetFacingDirection(super, &gPlayerEntity); + } +} + +void FlyingPot_Action4(FlyingPotEntity* this) { + if (--super->actionDelay == 0) { + super->action = FLYING_POT_ACTION_5; + } +} + +void FlyingPot_Action5(FlyingPotEntity* this) { + ProcessMovement2(super); + + if (super->collisions != COL_NONE) { + sub_08037408(this); + } +} + +void FlyingPot_Action6(FlyingPotEntity* this) { + if (super->zVelocity < 0) { + super->spriteSettings.flipY = 1; + } + + if (!GravityUpdate(super, 0x2000)) { + sub_08037408(this); + } +} + +void sub_08037408(FlyingPotEntity* this) { + CreateFx(super, FX_POT_SHATTER, 0); + DeleteThisEntity(); +} + +void sub_08037418(FlyingPotEntity* this) { + u32 tile = COORD_TO_TILE(super); + + if (GetTileIndex(tile, super->collisionLayer) == 0x4067) { + SetTile(this->tileIndex, tile, super->collisionLayer); + DeleteThisEntity(); + } +} diff --git a/src/enemy/flyingSkull.c b/src/enemy/flyingSkull.c index 262781bb..0374b579 100644 --- a/src/enemy/flyingSkull.c +++ b/src/enemy/flyingSkull.c @@ -1,4 +1,5 @@ #define NENT_DEPRECATED +#include "collision.h" #include "entity.h" #include "enemy.h" #include "functions.h" @@ -140,7 +141,7 @@ void sub_08039DD8(FlyingSkullEntity* this) { super->actionDelay = 0x1e; } else { ent = CreateEnemy(STALFOS, super->type - 2); - if (ent) { + if (ent != NULL) { ent->type2 = 1; CopyPosition(super, ent); SetTile(this->unk_0x74, COORD_TO_TILE(super), super->collisionLayer); @@ -159,7 +160,7 @@ void sub_08039ECC(FlyingSkullEntity* this) { void sub_08039EE4(FlyingSkullEntity* this) { super->subAction = 1; COLLISION_OFF(super); - super->collisions = 0; + super->collisions = COL_NONE; super->hitbox = (Hitbox*)&gUnk_080FD340; gPlayerEntity.animationState; this->unk_0x76 = gPlayerEntity.animationState; @@ -175,7 +176,7 @@ void sub_08039F4C(FlyingSkullEntity* this) { void sub_08039F78(FlyingSkullEntity* this) { super->spritePriority.b1 = 1; - if (super->z.HALF.HI == 0 || super->collisions) { + if (super->z.HALF.HI == 0 || (super->collisions != COL_NONE)) { sub_0803A0E0(this); } } @@ -222,7 +223,7 @@ void sub_0803A09C(FlyingSkullEntity* this) { GetNextFrame(super); ProcessMovement2(super); - if (super->collisions) { + if (super->collisions != COL_NONE) { sub_0803A0E0(this); } } diff --git a/src/enemy/ghini.c b/src/enemy/ghini.c index 7bd4179b..ab807ba0 100644 --- a/src/enemy/ghini.c +++ b/src/enemy/ghini.c @@ -113,7 +113,7 @@ void Ghini_OnConfused(GhiniEntity* this) { } void Ghini_OnGrabbed(GhiniEntity* this) { - if (sub_0806F520()) { + if (sub_0806F520(super)) { Ghini_SubActions[super->subAction](this); } else { sub_0803F51C(this); diff --git a/src/enemy/gibdo.c b/src/enemy/gibdo.c index 4e18f26e..611e2fcc 100644 --- a/src/enemy/gibdo.c +++ b/src/enemy/gibdo.c @@ -42,9 +42,6 @@ void sub_08037ACC(GibdoEntity*); void Gibdo_CreateObjects(GibdoEntity*); void sub_08037A14(GibdoEntity*); -extern void sub_0804A4E4(Entity*, Entity*); -u32 sub_0804A044(Entity*, Entity*, u32); - void (*const Gibdo_Functions[6])(Entity*); void (*const gUnk_080CF2AC[9])(GibdoEntity*); extern Entity* gUnk_020000B0; diff --git a/src/enemy/gleerok.c b/src/enemy/gleerok.c index 0577eec7..95c2232c 100644 --- a/src/enemy/gleerok.c +++ b/src/enemy/gleerok.c @@ -283,7 +283,7 @@ NONMATCH("asm/non_matching/gleerok/sub_0802D3B8.inc", void sub_0802D3B8(GleerokE do { ent = CreateEnemy(GLEEROK, 1); super->child = ent; - if (ent) { + if (ent != NULL) { ent->type2 = uvar1 + 1; super->child->collisionLayer = super->collisionLayer; super->child->x.HALF.HI = super->x.HALF.HI; @@ -301,7 +301,7 @@ NONMATCH("asm/non_matching/gleerok/sub_0802D3B8.inc", void sub_0802D3B8(GleerokE ent = CreateEnemy(GLEEROK, 2); super->child = ent; - if (ent) { + if (ent != NULL) { super->child->collisionLayer = super->collisionLayer; super->child->x.HALF.HI = super->x.HALF.HI; super->child->y.HALF.HI = super->y.HALF.HI + ((uvar1 + 1) * 12); @@ -760,7 +760,7 @@ void sub_0802DCE0(GleerokEntity* this) { if (this->unk_84->ent2->field_0xf == 0) { super->child = CreateProjectileWithParent(super, GLEEROK_PROJECTILE, 0); - if (super->child) { + if (super->child != NULL) { super->child->direction = this->unk_84->filler[0x15]; super->child->type2 = this->unk_84->ent2->frame & 0xf; super->child->parent = this->unk_84->ent2; @@ -827,7 +827,7 @@ void sub_0802DDD8(GleerokEntity* this) { if (this->unk_84->ent2->field_0xf == 1) { super->child = CreateProjectileWithParent(super, GLEEROK_PROJECTILE, r2); - if (super->child) { + if (super->child != NULL) { super->child->direction = this->unk_84->filler[0x15]; super->child->type2 = this->unk_84->ent2->frame & 0xf; super->child->parent = this->unk_84->ent2; @@ -1094,7 +1094,7 @@ void sub_0802E300(GleerokEntity* this) { InitializeAnimation(super, 0x4d); ent = CreateEnemy(GLEEROK, 5); super->child = ent; - if (super->child) { + if (super->child != NULL) { super->child->parent = super; heap->ent = super->child; ((GleerokEntity*)super->child)->unk_84 = heap; diff --git a/src/enemy/gyorgChild.c b/src/enemy/gyorgChild.c index 698ad03a..84bd4e6e 100644 --- a/src/enemy/gyorgChild.c +++ b/src/enemy/gyorgChild.c @@ -56,7 +56,7 @@ void GyorgChild_OnGrabbed(GyorgChildEntity* this) { GyorgChild_OnGrabbed_Action1, GyorgChild_OnGrabbed_Action3, }; - if (sub_0806F520()) { + if (sub_0806F520(super)) { GyorgChild_OnGrabbed_Actions[super->subAction](this); } } diff --git a/src/enemy/helmasaur.c b/src/enemy/helmasaur.c index 5d34065a..731e24bb 100644 --- a/src/enemy/helmasaur.c +++ b/src/enemy/helmasaur.c @@ -98,7 +98,7 @@ void sub_0802BCA8(Entity* this) { this->field_0x3a = this->field_0x3a & 0xfb; this->field_0x1c = 0x12; ent = CreateEnemy(HELMASAUR, 1); - if (ent) { + if (ent != NULL) { ent->animationState = this->animationState; CopyPosition(this, ent); } @@ -356,7 +356,7 @@ void sub_0802C18C(Entity* this) { this->field_0x78.HALF.LO--; if ((this->field_0x78.HALF.LO & 7) == 0) { Entity* ent = CreateObject(SPECIAL_FX, 0x11, 0x40); - if (ent) { + if (ent != NULL) { PositionRelative(this, ent, 0, Q_16_16(1.0)); } } diff --git a/src/enemy/lakituCloud.c b/src/enemy/lakituCloud.c index 25616556..1c311f6c 100644 --- a/src/enemy/lakituCloud.c +++ b/src/enemy/lakituCloud.c @@ -34,7 +34,7 @@ void LakituCloud_OnKnockback(Entity* this) { } void LakituCloud_OnGrabbed(Entity* this) { - if (sub_0806F520(this) == 0) { + if (!sub_0806F520(this)) { if (this->subAction == 2) { sub_0803CE3C(this); } diff --git a/src/enemy/mazaalMacro.c b/src/enemy/mazaalMacro.c index 6140e2e5..24cca8a9 100644 --- a/src/enemy/mazaalMacro.c +++ b/src/enemy/mazaalMacro.c @@ -144,7 +144,7 @@ void sub_08034E68(Entity* this) { sub_08035120(this); } if (gRoomTransition.field_0x39 == 0) { - if (sub_08079F8C() != 0) { + if (sub_08079F8C()) { this->action = 3; scriptExecutionContext = StartCutscene(this, (u16*)script_MazaalMacroDefeated); *(ScriptExecutionContext**)&this->cutsceneBeh = scriptExecutionContext; diff --git a/src/enemy/miniSlime.c b/src/enemy/miniSlime.c index 7c82d1d6..aba4510e 100644 --- a/src/enemy/miniSlime.c +++ b/src/enemy/miniSlime.c @@ -34,7 +34,7 @@ void MiniSlime_OnCollision(Entity* this) { void MiniSlime_OnDeath(Entity* this) { Entity* parent = this->parent; - if (this != parent && parent) { + if ((this != parent) && (parent != NULL)) { this->field_0x6c.HALF.LO &= 0x7f; this->parent->child = this->child; this->child->parent = this->parent; diff --git a/src/enemy/moldorm.c b/src/enemy/moldorm.c index 7a5ab69c..2e7597ee 100644 --- a/src/enemy/moldorm.c +++ b/src/enemy/moldorm.c @@ -6,6 +6,7 @@ */ #include "enemy.h" +#include "collision.h" #include "functions.h" void sub_08022EAC(Entity*); @@ -103,7 +104,7 @@ void sub_08022D40(Entity* this) { sub_08022F14(this); ProcessMovement0(this); - if (this->collisions) { + if (this->collisions != COL_NONE) { sub_0800417E(this, this->collisions); this->animationState = ((this->direction + 2) & 0x1c) >> 2; this->frameIndex = this->animationState; @@ -112,7 +113,7 @@ void sub_08022D40(Entity* this) { } void sub_08022D90(Entity* this) { - if (this->parent->next) { + if (this->parent->next != NULL) { Entity* parent; gUnk_080CBBBC[this->action](this); diff --git a/src/enemy/moldworm.c b/src/enemy/moldworm.c index 03f29e2a..96a3ada3 100644 --- a/src/enemy/moldworm.c +++ b/src/enemy/moldworm.c @@ -42,7 +42,7 @@ NONMATCH("asm/non_matching/moldworm/Moldworm.inc", void Moldworm(Entity* this)) this->field_0x7c.BYTES.byte1 = this->field_0x7c.BYTES.byte0; EnemyFunctionHandler(this, Moldworm_Functions); } else { - if (this->parent->next) { + if (this->parent->next != NULL) { if (this->type != 8) { sub_080235BC(this); } else { @@ -191,7 +191,7 @@ void sub_08023AB0(Entity*); void sub_08023398(Entity* this) { this->field_0x7c.BYTES.byte0++; - if (this->field_0x7c.BYTES.byte3 && sub_08049FDC(this, 1) == 0) { + if (this->field_0x7c.BYTES.byte3 && !sub_08049FDC(this, 1)) { this->field_0x78.HWORD = 1; } @@ -258,7 +258,7 @@ void sub_080234D8(Entity* this) { } void sub_0802351C(Entity* this) { - if (this->actionDelay != 0 && (this->type2 == 1 || gPlayerEntity.frameIndex == 0xff)) { + if ((this->actionDelay != 0) && ((this->type2 == 1) || (gPlayerEntity.frameIndex == 0xff))) { this->actionDelay = 0; this->child->action = 3; this->child->field_0xf = this->field_0x80.HALF.LO; @@ -377,8 +377,8 @@ void sub_0802376C(Entity* this) { void sub_080237D8(Entity* this) { Entity* parent = this->parent; - if (parent->animIndex == 0x17 && this->actionDelay != 0 && this->x.HALF.HI == parent->x.HALF.HI && - this->y.HALF.HI == parent->y.HALF.HI) { + if ((parent->animIndex == 0x17) && (this->actionDelay != 0) && (this->x.HALF.HI == parent->x.HALF.HI) && + (this->y.HALF.HI == parent->y.HALF.HI)) { this->action = 1; COLLISION_OFF(this); this->spriteSettings.draw = 0; @@ -501,7 +501,7 @@ void sub_08023AB0(Entity* this) { if (this->field_0x7a.HALF.HI == 8) { if (this->field_0x7c.BYTES.byte2) { this->field_0x7c.BYTES.byte2--; - } else if (!sub_08023B38(this) || 0x1d >= this->field_0x78.HWORD) { + } else if (!sub_08023B38(this) || (this->field_0x78.HWORD <= 0x1D)) { this->hitType = 0x85; this->field_0x7a.HALF.HI = 0; this->field_0x7c.BYTES.byte2 = 30; diff --git a/src/enemy/mulldozer.c b/src/enemy/mulldozer.c index 6a6a79de..1550c4d1 100644 --- a/src/enemy/mulldozer.c +++ b/src/enemy/mulldozer.c @@ -7,6 +7,7 @@ #define NENT_DEPRECATED #include "global.h" +#include "collision.h" #include "enemy.h" #include "functions.h" @@ -63,11 +64,11 @@ void sub_08032CAC(MulldozerEntity* this) { case 2: case 3: super->action = 6; - super->actionDelay = super->type != 0 ? 0x5a : 200; + super->actionDelay = (super->type != 0) ? 0x5a : 200; super->field_0xf = 2; this->unk_80 = 3; super->direction = super->knockbackDirection; - super->direction = (super->direction + ((Random() & 0x40) != 0 ? 4 : 0x1c)); + super->direction += ((Random() & 0x40) != 0) ? 4 : 0x1c; super->direction &= 0x1f; super->speed = 0; break; @@ -102,7 +103,7 @@ void Mulldozer_Action1(MulldozerEntity* this) { if (--super->actionDelay == 0) { sub_080330C0(this); } else { - if (sub_08033364(this) != 0) { + if (sub_08033364(this)) { sub_08033100(this); } } @@ -200,7 +201,7 @@ void sub_08032F48(MulldozerEntity* this) { } void sub_08032F64(MulldozerEntity* this) { - if (super->collisions != 0) { + if (super->collisions != COL_NONE) { sub_0800417E(super, super->collisions); super->animationState = super->direction >> 2; sub_08032F24(this); diff --git a/src/enemy/octorok.c b/src/enemy/octorok.c index a205d1d6..85ed9aaa 100644 --- a/src/enemy/octorok.c +++ b/src/enemy/octorok.c @@ -129,7 +129,7 @@ void Octorok_ShootNut(Entity* this) { GetNextFrame(this); if (this->frame & 1) { Entity* ent = CreateProjectileWithParent(this, ROCK_PROJECTILE, 0); - if (ent) { + if (ent != NULL) { const s8* off; ent->direction = this->direction; off = &gOctorokNutOffset[this->direction / 4]; diff --git a/src/enemy/octorokBoss.c b/src/enemy/octorokBoss.c index 49ca9525..d69fefd0 100644 --- a/src/enemy/octorokBoss.c +++ b/src/enemy/octorokBoss.c @@ -6,6 +6,7 @@ */ #define NENT_DEPRECATED #include "enemy/octorokBoss.h" +#include "collision.h" #include "functions.h" #include "game.h" #include "object.h" @@ -494,7 +495,7 @@ void OctorokBoss_Action1(OctorokBossEntity* this) { sub_08036914(super, angle, radius); this->angle.HALF.HI = -((OctorokBossEntity*)super->parent)->angle.HALF.HI; } - if (IS_FROZEN((OctorokBossEntity*)super->parent) == 0) { + if (!IS_FROZEN((OctorokBossEntity*)super->parent)) { super->spriteSettings.draw |= 1; } break; @@ -639,14 +640,15 @@ void OctorokBoss_Action1_ChargeAttack(OctorokBossEntity* this) { if (this->timer == 0) { ProcessMovement0(super); - knockbackCondition = 0; + knockbackCondition = FALSE; if ((super->direction != 0) && (super->direction != 0x10)) { - knockbackCondition = ((u32)super->collisions & 0xee00) != 0; + knockbackCondition = ((super->collisions & (COL_EAST_ANY | COL_WEST_ANY)) != COL_NONE); } - if (((super->direction != 0x18) && (super->direction != 8)) && ((super->collisions & 0xee) != 0)) { - knockbackCondition = 1; + if (((super->direction != 0x18) && (super->direction != 8)) && + (super->collisions & (COL_NORTH_ANY | COL_SOUTH_ANY))) { + knockbackCondition = TRUE; } - if (knockbackCondition != 0) { + if (knockbackCondition) { super->knockbackDuration = 0x20; super->knockbackSpeed = 0x200; super->knockbackDirection = super->direction ^ 0x10; @@ -911,7 +913,7 @@ void OctorokBoss_Burning(OctorokBossEntity* this) { void OctorokBoss_Burning_SubAction0(OctorokBossEntity* this) { super->subAction = 1; super->speed = 0x200; - super->collisions = 0; + super->collisions = COL_NONE; super->direction = (u8)(-this->angle.HALF.HI ^ 0x80U) >> 3; this->timer = 0x78; this->angularSpeed.HWORD = 0x180; @@ -922,13 +924,13 @@ void OctorokBoss_Burning_SubAction0(OctorokBossEntity* this) { void OctorokBoss_Burning_SubAction1(OctorokBossEntity* this) { ProcessMovement0(super); - if (super->collisions != 0) { + if (super->collisions != COL_NONE) { super->subAction = 2; this->heap->targetAngle = this->angle.HALF.HI; - if ((super->collisions & 0xee00) != 0) { + if ((super->collisions & (COL_EAST_ANY | COL_WEST_ANY)) != COL_NONE) { this->heap->targetAngle = -this->heap->targetAngle; } - if ((super->collisions & 0xee) != 0) { + if ((super->collisions & (COL_NORTH_ANY | COL_SOUTH_ANY)) != COL_NONE) { this->heap->targetAngle = -this->heap->targetAngle ^ 0x80; } super->knockbackDuration = 0x18; @@ -951,10 +953,10 @@ void OctorokBoss_Burning_SubAction2(OctorokBossEntity* this) { if ((u32)(this->heap->targetAngle - this->angle.HALF.HI + 7) < 0xf) { super->subAction = 1; super->direction = ((u8) - this->angle.HALF.HI ^ 0x80) >> 3; - super->collisions = 0; + super->collisions = COL_NONE; ProcessMovement0(super); } else { - if ((u8)(this->heap->targetAngle - this->angle.HALF.HI) >= 0x81) { + if ((u8)(this->heap->targetAngle - this->angle.HALF.HI) > 0x80) { this->angle.HWORD -= this->angularSpeed.HWORD; } else { this->angle.HWORD += this->angularSpeed.HWORD; @@ -1161,7 +1163,7 @@ void OctorokBoss_StartRegularAttack(OctorokBossEntity* this) { super->subAction = ACTION1_SUBACTION2; super->speed = 0x200; this->timer = 0x3c; - super->collisions = 0; + super->collisions = COL_NONE; this->heap->unk_0 = 4; SoundReq(SFX_159); return; diff --git a/src/enemy/octorokGolden.c b/src/enemy/octorokGolden.c index 4bdac449..a2fcfab6 100644 --- a/src/enemy/octorokGolden.c +++ b/src/enemy/octorokGolden.c @@ -8,9 +8,6 @@ extern void (*const gUnk_080012C8[])(Entity*); const s8 gUnk_080CF490[]; const u8 gUnk_080CF498[]; -extern s32 sub_080012DC(Entity*); -extern u32 sub_0804A044(Entity*, Entity*, u32); - void sub_08037E14(Entity* this); bool32 sub_08037E90(Entity* this); diff --git a/src/enemy/peahat.c b/src/enemy/peahat.c index c6051ba0..93452e64 100644 --- a/src/enemy/peahat.c +++ b/src/enemy/peahat.c @@ -19,9 +19,6 @@ extern const s8 gUnk_080CA5D4[]; void sub_080205F8(Entity*); void sub_08020604(Entity*); -extern u32 sub_08049F1C(Entity*, Entity*, u32); -extern void sub_0804AA1C(Entity*); - extern Entity* gUnk_020000B0; enum { @@ -57,7 +54,7 @@ void Peahat_OnCollision(Entity* this) { if (this->field_0x82.HALF.LO) { if (this->bitfield == 0x94) { Entity* ent = CreateEnemy(PEAHAT, PeahatForm_Propeller); - if (ent) { + if (ent != NULL) { CopyPosition(this, ent); ent->z.HALF.HI -= 8; } diff --git a/src/enemy/pesto.c b/src/enemy/pesto.c index f7f8baf1..210d8b41 100644 --- a/src/enemy/pesto.c +++ b/src/enemy/pesto.c @@ -6,6 +6,7 @@ */ #include "enemy.h" +#include "collision.h" #include "object.h" #include "game.h" #include "functions.h" @@ -170,7 +171,7 @@ void sub_080240B8(Entity* this) { this->field_0x82.HALF.HI = 0; ent = CreateProjectileWithParent(this, DIRT_BALL_PROJECTILE, this->field_0x82.HALF.HI); - if (ent) { + if (ent != NULL) { this->child = ent; ent->parent = this; ent->y.HALF.HI += 0x10; @@ -413,7 +414,7 @@ void sub_080244E8(Entity* this) { this->field_0x78.HWORD -= 0xe; ent = CreateProjectileWithParent(this, DIRT_BALL_PROJECTILE, this->field_0x82.HALF.HI); - if (ent) { + if (ent != NULL) { ent->parent = this; ent->z.HALF.HI += 0xe; ent->child = this->child; @@ -436,7 +437,7 @@ void sub_080244E8(Entity* this) { this->field_0x78.HWORD -= 0xe; ent = CreateProjectileWithParent(this, DIRT_BALL_PROJECTILE, this->field_0x82.HALF.HI); - if (ent) { + if (ent != NULL) { ent->parent = this; ent->z.HALF.HI += 0xe; this->child = ent; @@ -525,7 +526,7 @@ void sub_080244E8(Entity* this) { void sub_08024940(Entity* this) { u32 random = Random() & 0x70; - if (this->collisions != 0) { + if (this->collisions != COL_NONE) { sub_0800417E(this, this->collisions); sub_080249F4(this); } @@ -661,7 +662,7 @@ bool32 sub_08024B38(Entity* this) { } ent = FindEntityByID(PLAYER_ITEM, PLAYER_ITEM_BOMB, 2); - if (ent) { + if (ent != NULL) { do { if (ent->action != 2 && ent->z.HALF.HI == 0 && sub_08049F1C(this, ent, 0xa0)) { iVar4 = 1; @@ -678,7 +679,7 @@ bool32 sub_08024B38(Entity* this) { } ent = FindEntityByID(OBJECT, POT, 6); - if (ent) { + if (ent != NULL) { do { if (ent->action == 1 && sub_08049F1C(this, ent, 0xa0)) { iVar4 = 1; diff --git a/src/enemy/puffstool.c b/src/enemy/puffstool.c index 18838cf6..3b080dd8 100644 --- a/src/enemy/puffstool.c +++ b/src/enemy/puffstool.c @@ -6,6 +6,7 @@ */ #include "enemy.h" +#include "collision.h" #include "object.h" #include "functions.h" @@ -156,7 +157,7 @@ void sub_08025230(Entity* this) { this->direction = sub_08025C60(this); } - if (this->collisions != 0) { + if (this->collisions != COL_NONE) { if (--this->field_0xf == 0) { sub_0800417E(this, this->collisions); } @@ -528,12 +529,12 @@ void sub_08025AE8(Entity* this) { Entity* ent; ent = CreateFx(this, FX_BROWN_SMOKE, 0); - if (ent) { + if (ent != NULL) { ent->y.WORD--; } ent = CreateFx(this, FX_BROWN_SMOKE_LARGE, 0); - if (ent) { + if (ent != NULL) { ent->y.WORD++; } } @@ -552,7 +553,7 @@ void sub_08025B18(Entity* this) { sub_08025AB8((((x + offset[0]) >> 4) & 0x3fU) | ((((y + offset[1]) >> 4) & 0x3fU) << 6), layer); ent = CreateObject(OBJECT_21, 2, 0); - if (ent) { + if (ent != NULL) { PositionRelative(this, ent, Q_16_16(offset[0]), Q_16_16(offset[1])); ent->x.HALF.HI &= -0x10; ent->x.HALF.HI += 8; @@ -566,7 +567,7 @@ void sub_08025B18(Entity* this) { void sub_08025BD4(Entity* this) { if (this->field_0x82.HALF.LO && (this->frame & 1) == 0) { Entity* ent = CreateObject(OBJECT_21, 0, 0); - if (ent) { + if (ent != NULL) { PositionRelative(this, ent, Q_16_16(gUnk_080CC0BA[this->animationState * 2 + 0]), Q_16_16(gUnk_080CC0BA[this->animationState * 2 + 1])); ent->z.HALF.HI = -10; diff --git a/src/enemy/rockChuchu.c b/src/enemy/rockChuchu.c index f1d8bad4..9f118b2b 100644 --- a/src/enemy/rockChuchu.c +++ b/src/enemy/rockChuchu.c @@ -8,8 +8,6 @@ #include "enemy.h" #include "functions.h" -extern void sub_0804A4E4(Entity*, Entity*); - extern void (*const RockChuchu_Functions[])(Entity*); extern void (*const gUnk_080CB960[])(Entity*); @@ -47,7 +45,7 @@ void RockChuchu_OnCollision(Entity* this) { case 0x1c: CreateFx(this, FX_ROCK, 0); ent = CreateEnemy(CHUCHU, 1); - if (ent) { + if (ent != NULL) { ent->type2 = 1; #ifndef EU ent->iframes = -8; @@ -102,7 +100,7 @@ void sub_080223E4(Entity* this) { Entity* ent; ent = this->child; - if (ent) { + if (ent != NULL) { ent->bitfield = 0x94; ent->iframes = 0x10; #ifndef EU diff --git a/src/enemy/rope.c b/src/enemy/rope.c index 8d728a03..37c63337 100644 --- a/src/enemy/rope.c +++ b/src/enemy/rope.c @@ -12,7 +12,6 @@ extern void (*const Rope_Functions[6])(Entity*); extern void (*const gUnk_080CE460[4])(Entity*); extern void (*const gUnk_080CE470[3])(Entity*); extern Entity* gUnk_020000B0; -extern u32 sub_0804A044(Entity*, Entity*, u32); void sub_08031600(Entity*); u32 sub_0803163C(Entity*); @@ -39,7 +38,7 @@ void Rope_OnCollision(Entity* this) { } void Rope_OnGrabbed(Entity* this) { - if (sub_0806F520()) { + if (sub_0806F520(this)) { gUnk_080CE470[this->subAction](this); } } diff --git a/src/enemy/ropeGolden.c b/src/enemy/ropeGolden.c index ca3a57c7..a4a6fc99 100644 --- a/src/enemy/ropeGolden.c +++ b/src/enemy/ropeGolden.c @@ -14,9 +14,6 @@ extern void (*const gUnk_080012C8[])(Entity*); extern void (*const RopeGolden_Functions[6])(Entity*); extern void (*const gUnk_080CF4E0[4])(Entity*); -extern s32 sub_080012DC(Entity*); -extern u32 sub_0804A044(Entity*, Entity*, u32); - void sub_080383AC(Entity*); void sub_080383E4(Entity*); diff --git a/src/enemy/scissorsBeetle.c b/src/enemy/scissorsBeetle.c index 28ce9d57..66914591 100644 --- a/src/enemy/scissorsBeetle.c +++ b/src/enemy/scissorsBeetle.c @@ -1,4 +1,5 @@ #define NENT_DEPRECATED +#include "collision.h" #include "entity.h" #include "enemy.h" #include "functions.h" @@ -63,7 +64,7 @@ void ScissorsBeetle_OnGrabbed(ScissorsBeetleEntity* this) { void ScissorsBeetle_Init(ScissorsBeetleEntity* this) { Entity* ent = CreateProjectile(MANDIBLES_PROJECTILE); - if (!ent) + if (ent == NULL) return; sub_0804A720(super); @@ -92,7 +93,7 @@ void sub_080389E8(ScissorsBeetleEntity* this) { sub_08038C2C((ScissorsBeetleEntity*)child); } else if (super->actionDelay) { super->actionDelay--; - } else if (super->collisions) { + } else if (super->collisions != COL_NONE) { super->actionDelay = 0xc; if ((child->animationState & 1) == 0) { child->animationState += Random() & 0x20 ? 1 : 7; diff --git a/src/enemy/slime.c b/src/enemy/slime.c index 3c88ae1c..ddae5cb9 100644 --- a/src/enemy/slime.c +++ b/src/enemy/slime.c @@ -15,8 +15,6 @@ typedef struct { void sub_08044FF8(Entity*); void sub_08045178(Entity*, Entity*, int, int); -extern void sub_0804A4E4(Entity*, Entity*); - extern void (*const gUnk_080D16BC[])(Entity*); extern void (*const Slime_Functions[])(Entity*); extern u8 gUnk_080D16D0[4]; // Entity count per form @@ -116,7 +114,7 @@ void sub_080450A8(Entity* this) { } ent = CreateFx(this, FX_DEATH, 0); - if (ent) + if (ent != NULL) CopyPosition(this, ent); DeleteEntity(this); diff --git a/src/enemy/sluggula.c b/src/enemy/sluggula.c index 5405cf71..759a3c5c 100644 --- a/src/enemy/sluggula.c +++ b/src/enemy/sluggula.c @@ -8,13 +8,9 @@ #include "enemy.h" #include "functions.h" -extern s32 sub_080012DC(Entity*); -bool32 PlayerInRange(Entity*, u32, u32); - void sub_08023E10(Entity*); void sub_08023E54(Entity*); void sub_08023E9C(Entity*); -void sub_0804A4E4(Entity*, Entity*); extern void (*const gUnk_080012C8[])(Entity*); @@ -136,7 +132,7 @@ void sub_08023CE0(Entity* this) { if (this->frame) { if (this->frame & ANIM_DONE) { Entity* ent = CreateEnemy(SLUGGULA, 1); - if (ent) { + if (ent != NULL) { sub_0804A4E4(this, ent); DeleteThisEntity(); } @@ -167,7 +163,7 @@ void sub_08023E54(Entity* this) { if (this->field_0xf++ > 27) { this->field_0xf = 0; ent = CreateEnemy(SLUGGULA, 2); - if (ent) { + if (ent != NULL) { const s8* ptr = &gUnk_080CBDF7[this->animationState * 2]; PositionRelative(this, ent, Q_16_16(ptr[0]), Q_16_16(ptr[1])); } @@ -178,7 +174,7 @@ extern Entity* gUnk_020000B0; void sub_08023E9C(Entity* this) { u32 uVar3 = Random(); - if (sub_08049FA0(this) == 0 && (uVar3 & 1)) { + if (!sub_08049FA0(this) && (uVar3 & 1)) { this->direction = DirectionRoundUp(sub_08049EE4(this)); } else if (sub_08049FDC(this, 1) && (uVar3 & 6)) { u32 uVar3 = GetFacingDirection(this, gUnk_020000B0) - this->direction; diff --git a/src/enemy/spark.c b/src/enemy/spark.c index f6f9325d..32cb9345 100644 --- a/src/enemy/spark.c +++ b/src/enemy/spark.c @@ -5,6 +5,7 @@ * @brief Spark enemy */ +#include "collision.h" #include "enemy.h" #include "object.h" #include "functions.h" @@ -30,7 +31,7 @@ void Spark_OnCollision(Entity* this) { this->spriteSettings.draw = 0; this->action = 2; ent = CreateFx(this, FX_DEATH, 0); - if (ent) { + if (ent != NULL) { this->child = ent; this->actionDelay = 14; CopyPosition(this, ent); @@ -40,7 +41,6 @@ void Spark_OnCollision(Entity* this) { } void Spark_OnGrabbed(Entity* this) { - /* ... */ } void sub_0802B33C(Entity* this) { @@ -57,7 +57,7 @@ void sub_0802B35C(Entity* this) { GetNextFrame(this); ProcessMovement0(this); is_head = this->type == 0; - if (this->collisions == 0) { + if (this->collisions == COL_NONE) { if (--this->field_0xf == 0) { this->field_0xf = 0x78; @@ -68,49 +68,49 @@ void sub_0802B35C(Entity* this) { this->field_0xf = 0x78; switch (DirectionRound(this->direction)) { case DirectionNorth: - if (this->collisions & 0xe) { + if ((this->collisions & COL_NORTH_ANY) != COL_NONE) { this->direction = is_head ? DirectionWest : DirectionEast; } else { - if ((this->collisions & 0xe000) == 0x4000 && is_head) { + if (((this->collisions & COL_EAST_ANY) == COL_EAST_NORTH) && is_head) { this->direction = DirectionEast; } - if ((this->collisions & 0xe00) == 0x400 && !is_head) { + if (((this->collisions & COL_WEST_ANY) == COL_WEST_NORTH) && !is_head) { this->direction = DirectionWest; } } break; case DirectionSouth: - if (this->collisions & 0xe0) { + if ((this->collisions & COL_SOUTH_ANY) != COL_NONE) { this->direction = is_head ? DirectionEast : DirectionWest; } else { - if ((this->collisions & 0xe000) == 0x2000 && !is_head) { + if (((this->collisions & COL_EAST_ANY) == COL_EAST_SOUTH) && !is_head) { this->direction = DirectionEast; } - if ((this->collisions & 0xe00) == 0x200 && is_head) { + if (((this->collisions & COL_WEST_ANY) == COL_WEST_SOUTH) && is_head) { this->direction = DirectionWest; } } break; case DirectionWest: - if (this->collisions & 0xe00) { + if ((this->collisions & COL_WEST_ANY) != COL_NONE) { this->direction = is_head ? DirectionSouth : DirectionNorth; } else { - if ((this->collisions & 0xe) == 4 && is_head) { + if (((this->collisions & COL_NORTH_ANY) == COL_NORTH_EAST) && is_head) { this->direction = DirectionNorth; } - if ((this->collisions & 0xe0) == 0x40 && !is_head) { + if (((this->collisions & COL_SOUTH_ANY) == COL_SOUTH_EAST) && !is_head) { this->direction = DirectionSouth; } } break; case DirectionEast: - if (this->collisions & 0xe000) { + if ((this->collisions & COL_EAST_ANY) != COL_NONE) { this->direction = is_head ? DirectionNorth : DirectionSouth; } else { - if ((this->collisions & 0xe) == 2 && !is_head) { + if (((this->collisions & COL_NORTH_ANY) == COL_NORTH_WEST) && !is_head) { this->direction = DirectionNorth; } - if ((this->collisions & 0xe0) == 0x20 && is_head) { + if (((this->collisions & COL_SOUTH_ANY) == COL_SOUTH_WEST) && is_head) { this->direction = DirectionSouth; } } @@ -122,7 +122,7 @@ void sub_0802B35C(Entity* this) { void sub_0802B4A8(Entity* this) { if (--this->actionDelay == 0) { Entity* ent = CreateObjectWithParent(this, GROUND_ITEM, 0x60, 0); - if (ent) { + if (ent != NULL) { ent->y.HALF.HI -= 4; } DeleteEntity(this); diff --git a/src/enemy/spearMoblin.c b/src/enemy/spearMoblin.c index 53412903..a824b803 100644 --- a/src/enemy/spearMoblin.c +++ b/src/enemy/spearMoblin.c @@ -380,7 +380,7 @@ bool32 sub_080288A4(Entity* this) { void sub_080288C0(Entity* this) { Entity* ent = this->child; - if (ent && (ent->bitfield & 0x80)) { + if ((ent != NULL) && (ent->bitfield & 0x80)) { this->knockbackDirection = ent->knockbackDirection; this->iframes = -ent->iframes; this->knockbackSpeed = ent->knockbackSpeed; diff --git a/src/enemy/spinyChuchu.c b/src/enemy/spinyChuchu.c index 7d49e0d2..7499234b 100644 --- a/src/enemy/spinyChuchu.c +++ b/src/enemy/spinyChuchu.c @@ -9,11 +9,6 @@ #include "functions.h" #include "hitbox.h" -extern void sub_08001318(Entity*); -extern u32 PlayerInRange(Entity*, u32, u32); -extern void sub_0804A4E4(Entity*, Entity*); -extern void sub_0804AA1C(Entity*); - u32 sub_080228CC(Entity*); u32 sub_080228F0(Entity*); diff --git a/src/enemy/stalfos.c b/src/enemy/stalfos.c index 67f6b6e1..31086dc1 100644 --- a/src/enemy/stalfos.c +++ b/src/enemy/stalfos.c @@ -7,6 +7,7 @@ #define NENT_DEPRECATED #include "global.h" +#include "collision.h" #include "enemy.h" #include "functions.h" @@ -123,7 +124,7 @@ void sub_08039418(StalfosEntity* this) { } void sub_08039438(StalfosEntity* this) { - if (sub_0806F520()) { + if (sub_0806F520(super)) { Stalfos_SubActions[super->subAction](this); } } @@ -366,7 +367,7 @@ void sub_0803992C(StalfosEntity* this) { super->direction = super->animationState << 3; this->unk_78 = (u16)gUnk_080CF900[Random() & 0xf]; CalculateEntityTileCollisions(super, super->direction, 0); - if ((gUnk_080CF910[super->animationState] & super->collisions) != 0) { + if ((gUnk_080CF910[super->animationState] & super->collisions) != COL_NONE) { InitAnimationForceUpdate(super, super->animationState); } else { InitAnimationForceUpdate(super, super->animationState + 4); diff --git a/src/enemy/takkuri.c b/src/enemy/takkuri.c index dc28b862..64c61158 100644 --- a/src/enemy/takkuri.c +++ b/src/enemy/takkuri.c @@ -74,7 +74,7 @@ void Takkuri_OnCollision(TakkuriEntity* this) { void Takkuri_OnGrabbed(TakkuriEntity* this) { gUnk_080CFF6C[super->subAction](this); GetNextFrame(super); - if (sub_0806F520(super) == 0) { + if (!sub_0806F520(super)) { super->action = 2; super->subAction = 0; this->unk_0x84 = 2; @@ -132,7 +132,7 @@ void sub_0803BD08(TakkuriEntity* this) { sub_0803BEE8(this); GetNextFrame(super); ent = sub_08049DF4(1); - if (ent) { + if (ent != NULL) { if (EntityInRectRadius(super, gUnk_020000B0, 0x88, 0x50)) { if (gUnk_020000B0->y.HALF.HI > super->y.HALF.HI + 8) { super->action = 2; @@ -306,7 +306,7 @@ void sub_0803C0AC(Entity* this) { u32 index, rupeeType, rupees; Entity* ent; ent = sub_08049DF4(1); - if (!ent) + if (ent == NULL) return; rupees = gSave.stats.rupees; diff --git a/src/enemy/tektite.c b/src/enemy/tektite.c index db461a94..776f08e5 100644 --- a/src/enemy/tektite.c +++ b/src/enemy/tektite.c @@ -5,6 +5,7 @@ * @brief Tektite enemy */ +#include "collision.h" #include "enemy.h" #include "functions.h" @@ -135,7 +136,7 @@ void sub_0802F300(Entity* this) { this->field_0xf = 0; InitializeAnimation(this, 3); return; - } else if (this->collisions != 0) { + } else if (this->collisions != COL_NONE) { sub_0800417E(this, this->collisions); } else if ((GetTileUnderEntity(this) & 0xf0) == 0x50) { this->direction = (this->direction + 0x10) & 0x1f; diff --git a/src/enemy/tektiteGolden.c b/src/enemy/tektiteGolden.c index af71db25..f8862aa8 100644 --- a/src/enemy/tektiteGolden.c +++ b/src/enemy/tektiteGolden.c @@ -5,6 +5,7 @@ * @brief Golden Tektite enemy */ +#include "collision.h" #include "enemy.h" #include "functions.h" @@ -114,7 +115,7 @@ void sub_08038048(Entity* this) { this->actionDelay = 0x14; InitializeAnimation(this, 3); return; - } else if (this->collisions != 0) { + } else if (this->collisions != COL_NONE) { sub_0800417E(this, this->collisions); } else if ((GetTileUnderEntity(this) & 0xf0) == 0x50) { this->direction = (this->direction + 0x10) & 0x1f; diff --git a/src/enemy/vaatiWrath.c b/src/enemy/vaatiWrath.c index 2d8c3619..f2c8c769 100644 --- a/src/enemy/vaatiWrath.c +++ b/src/enemy/vaatiWrath.c @@ -561,7 +561,7 @@ void VaatiWrathType0ActionD(Entity* this) { void sub_08041BE8(Entity* this) { Entity* entity; - if (sub_08079F8C() != 0) { + if (sub_08079F8C()) { this->subAction = 1; this->actionDelay = 120; this->updatePriority = PRIO_NO_BLOCK; diff --git a/src/enemy/waterDrop.c b/src/enemy/waterDrop.c index 629c54cd..2b390879 100644 --- a/src/enemy/waterDrop.c +++ b/src/enemy/waterDrop.c @@ -34,7 +34,7 @@ void sub_0802A250(Entity* this) { UpdateSpriteForCollisionLayer(this); ent = CreateObject(OBJECT_66, 0, 0); - if (ent) { + if (ent != NULL) { ent->parent = this; } } diff --git a/src/enemy/wisp.c b/src/enemy/wisp.c index 94943d52..73f82457 100644 --- a/src/enemy/wisp.c +++ b/src/enemy/wisp.c @@ -5,6 +5,7 @@ * @brief Wisp enemy */ +#include "collision.h" #include "enemy.h" #include "save.h" #include "object.h" @@ -69,7 +70,7 @@ void Wisp_OnCollision(Entity* this) { } void Wisp_OnGrabbed(Entity* this) { - if (sub_0806F520() != 0) { + if (sub_0806F520(this)) { gUnk_080CEB98[this->subAction](this); } } @@ -102,7 +103,7 @@ void sub_08033674(Entity* this) { void sub_080336A8(Entity* this) { if (--this->actionDelay == 0) { sub_08033744(this); - } else if (this->collisions != 0) { + } else if (this->collisions != COL_NONE) { sub_0800417E(this, this->collisions); } ProcessMovement0(this); diff --git a/src/enemy/wizzrobeWind.c b/src/enemy/wizzrobeWind.c index 4ea7da19..4fce3d5a 100644 --- a/src/enemy/wizzrobeWind.c +++ b/src/enemy/wizzrobeWind.c @@ -7,6 +7,7 @@ #define NENT_DEPRECATED #include "global.h" +#include "collision.h" #include "enemy.h" #include "enemy/wizzrobe.h" #include "functions.h" @@ -262,7 +263,7 @@ void sub_0802F9C8(WizzrobeEntity* this) { } else { if (super->type2 != 0) { ProcessMovement0(super); - if (super->collisions != 0) { + if (super->collisions != COL_NONE) { super->flags &= 0x7f; this->timer1 = 0x28; } diff --git a/src/entity.c b/src/entity.c index d696050c..7345650f 100644 --- a/src/entity.c +++ b/src/entity.c @@ -339,7 +339,7 @@ void DeleteEntityAny(Entity* ent) { } void DeleteEntity(Entity* ent) { - if (ent->next) { + if (ent->next != NULL) { UnloadGFXSlots(ent); UnloadOBJPalette(ent); UnloadOBJPalette2(ent); @@ -418,7 +418,7 @@ Manager* GetEmptyManager(void) { void DeleteManager(void* ent) { Manager* manager = (Manager*)ent; - if (!manager->next) + if (manager->next == NULL) return; ReleaseTransitionManager(manager); diff --git a/src/fileselect.c b/src/fileselect.c index 93355380..b0ce954b 100644 --- a/src/fileselect.c +++ b/src/fileselect.c @@ -106,12 +106,12 @@ void sub_08051458(void); void CreateDialogBox(u32 arg0, u32 arg1) { u32 sfx; - struct_080FC844 var0; + Font var0; sub_08050384(); MemCopy(&gUnk_080FC844, &var0, sizeof(gUnk_080FC844)); sub_08056FEC(arg1, gUnk_020227E8); - var0.unk10 |= gUnk_080FC85C[arg0][0] << 0xC; + var0.gfx_src |= gUnk_080FC85C[arg0][0] << 0xC; sub_0805F46C(gUnk_080FC85C[arg0][1], &var0); sfx = gUnk_080FC85C[arg0][2]; if (sfx) { @@ -296,7 +296,7 @@ static void sub_0805066C(void) { void sub_0805070C(void) { u32 i; int j; - struct_02036540* var0; + WStruct* var0; char* name; var0 = sub_0805F2C8(); @@ -322,7 +322,7 @@ void sub_0805070C(void) { void sub_08050790(void) { u32 i, j; - struct_02036540* var0; + WStruct* var0; u32 var1; var0 = sub_0805F2C8(); diff --git a/src/game.c b/src/game.c index b4465752..7baf9d5c 100644 --- a/src/game.c +++ b/src/game.c @@ -30,6 +30,8 @@ #include "subtask.h" #include "itemMetaData.h" #include "player.h" +#include "transitions.h" +#include "roomid.h" // Game task @@ -82,10 +84,8 @@ extern void** gAreaTilesets[]; extern void** gAreaRoomMaps[]; extern void* gAreaMetatiles[]; extern void* gUnk_080B755C[]; -extern void** gExitLists[]; extern void** gAreaTable[]; -extern void CreateDialogBox(u32, u32); extern void FinalizeSave(void); extern void ClearArmosData(void); extern void ClearRoomMemory(void); @@ -168,24 +168,6 @@ typedef struct { } struct_08127F94; extern struct_08127F94 gUnk_08127F94[]; -typedef struct { - u16* dest; - void* gfx_dest; - void* buffer_loc; - u32 _c; - u16 gfx_src; - u8 width; - u8 right_align : 1; - u8 sm_border : 1; - u8 unused : 1; - u8 draw_border : 1; - u8 border_type : 4; - u8 fill_type; - u8 _15; - u8 _16; - u8 stylized; -} Font; - typedef struct { u8 dest_off[8]; u8 _8; @@ -195,7 +177,7 @@ typedef struct { typedef struct { u8 area; - u8 room; + RoomID room : 8; u8 _2; u8 _3; u16 x; @@ -1438,7 +1420,7 @@ static void InitRoomResInfo(RoomResInfo* info, RoomHeader* r_hdr, u32 area, u32 info->map = *(gAreaRoomMaps[area] + room); info->metatiles = gAreaMetatiles[area]; info->bg_anim = gUnk_080B755C[area]; - info->exits = *(gExitLists[area] + room); + info->exits = gExitLists[area][room]; if (gAreaTable[area] != NULL) { info->properties = *(gAreaTable[area] + room); } diff --git a/src/manager/manager4.c b/src/manager/manager4.c index 7568960d..7ed53807 100644 --- a/src/manager/manager4.c +++ b/src/manager/manager4.c @@ -12,7 +12,7 @@ void Manager4_Main(Manager* this) { gUnk_08107C70[this->action](this); } -extern void sub_080805F8(void); +extern void UpdateIsDiggingCave(void); extern DiggingCaveEntrance* sub_08057AA8(DiggingCaveEntrance*, int); @@ -21,8 +21,8 @@ void sub_0805786C(Manager* this) { u8 room; u8 area; u16 uVar = 0x81 << 7; - sub_080805F8(); - if (gUnk_03004030.unk_08 != 0) { + UpdateIsDiggingCave(); + if (gUnk_03004030.isDiggingCave != 0) { if (gUnk_03004030.unk_00 == 0) { gUnk_03004030.unk_0a = 0xFF; room = gRoomControls.room; @@ -66,7 +66,7 @@ void sub_08057A18(Manager*, DiggingCaveEntrance*); u32 sub_0805795C(Manager* this, DiggingCaveEntrance* entr) { u16 offsetX, offsetY, offsetX2, offsetY2; u32 tmp, tmp2; - if (gUnk_03004030.unk_08) { + if (gUnk_03004030.isDiggingCave) { offsetX = gPlayerEntity.x.HALF.HI - gRoomControls.origin_x; offsetY = gPlayerEntity.y.HALF.HI - gRoomControls.origin_y; offsetX2 = (entr->unk_00 & 0x3F) * 16 + 8; @@ -105,10 +105,10 @@ void sub_08057A18(Manager* this, DiggingCaveEntrance* entr) { gUnk_03004030.unk_06 = gPlayerEntity.y.HALF.HI - gRoomControls.origin_y - ((entr->unk_00 & 0xFC0) >> 2); #ifndef EU - tmp = gUnk_03004030.unk_08; + tmp = gUnk_03004030.isDiggingCave; if (!tmp) { if ((entr->target_room | 0x80) != gUnk_03004030.unk_0b) { - gUnk_02034480.unk_00 = gUnk_03004030.unk_08; + gUnk_02034480.unk_00 = gUnk_03004030.isDiggingCave; } gUnk_03004030.unk_0b = entr->target_room | 0x80; } diff --git a/src/manager/managerB.c b/src/manager/managerB.c index a54ae310..1e49669f 100644 --- a/src/manager/managerB.c +++ b/src/manager/managerB.c @@ -62,8 +62,9 @@ void ManagerB_WaitForFlag(ManagerB* this) { void ManagerB_WaitForDone(ManagerB* this) { // check if all helpers are done - if (this->manager.unk_0e) + if (this->manager.unk_0e) { return; + } // set the completion flag for the fight SetFlag(this->unk_3e); // restore music (if it was set, which apparently is only possible if there's a flag the fight waited for) @@ -87,25 +88,28 @@ void ManagerB_LoadFight(Manager* this) { EntityData* prop; Entity* ent; u32 counter; + this->action = 2; this->unk_0e = 0; counter = 0; // Create a helper to keep track of the created entities. monitor = CreateHelper(this); - if (!monitor) + if (monitor == NULL) { DeleteThisEntity(); + } + prop = (EntityData*)GetCurrentRoomProperty(this->unk_0b); - if (prop) { - while (*((u8*)prop) != 0xFF) { + if (prop != NULL) { + while (prop->kind != 0xFF) { ent = LoadRoomEntity(prop++); - if (ent && (ent->kind == ENEMY)) { + if ((ent != NULL) && (ent->kind == ENEMY)) { ent->field_0x6c.HALF.HI |= 0x40; ManagerBHelper_Monitor(monitor, ent, counter++); } if (counter >= 7) { counter = 0; monitor = CreateHelper(this); - if (!monitor) + if (monitor == NULL) return; } } @@ -139,27 +143,31 @@ void ManagerBHelper_Monitor(ManagerBHelper* this, Entity* ent, u32 index) { // case volumeMasterTarget is 1: The manager is a helper void ManagerBHelper_Main(Manager* this) { - u8 i, anyRemaining; + u8 i; + bool32 anyRemaining; Entity* current; + if (this->action == 0) { this->action = 1; SetDefaultPriority((Entity*)this, PRIO_NO_BLOCK); } // go through and check all monitored enemies. - anyRemaining = 0; + anyRemaining = FALSE; for (i = 0; i < 8; i++) { - if ((current = ((ManagerBHelper*)this)->enemies[i])) { - if (!current->next) { + current = ((ManagerBHelper*)this)->enemies[i]; + if (current != NULL) { + if (current->next == NULL) { ((ManagerBHelper*)this)->enemies[i] = 0; } else { - anyRemaining = 1; + anyRemaining = TRUE; } } } if (!anyRemaining) { // inform the parent that we're done - if (((ManagerB*)this->parent)->manager.unk_0e) { - ((ManagerB*)this->parent)->manager.unk_0e--; + ManagerB* parent = (ManagerB*)this->parent; + if (parent->manager.unk_0e != 0) { + parent->manager.unk_0e--; } DeleteThisEntity(); } @@ -174,8 +182,9 @@ void ReplaceMonitoredEntity(Entity* old, Entity* new) { u32 i; for (current = (ManagerBHelper*)end->next; (Manager*)current != end; current = (ManagerBHelper*)current->manager.next) { - if (current->manager.type != 0x9 || current->manager.subtype != 0xB) + if (current->manager.type != 0x9 || current->manager.subtype != 0xB) { continue; + } for (i = 0; i < 8; i++) { if (old == current->enemies[i]) { current->enemies[i] = new; diff --git a/src/menu/kinstone_menu.c b/src/menu/kinstone_menu.c index 2643eb57..13d95850 100644 --- a/src/menu/kinstone_menu.c +++ b/src/menu/kinstone_menu.c @@ -15,16 +15,6 @@ #include "enemy.h" #include "functions.h" -typedef struct { - u8 filler0[0x1]; - u8 unk1; - u8 charColor; - u8 bgColor; - u16 unk4; - u16 unk6; - u8* unk8; -} struct_02036540; - extern u32 sub_08000E44(u32); extern void sub_080A3B74(void); extern s32 sub_080A3B48(void); @@ -32,9 +22,9 @@ extern void sub_0805ECEC(u32, u32, u32, u32); extern void sub_0801C2F0(u32, u32); extern void sub_0801E6C8(u32); extern void sub_0801E798(u32); -extern struct_02036540* sub_0805F2C8(void); -extern void sub_0805F300(struct_02036540*); -extern u32 sub_0805F76C(u8*, struct_02036540*); +extern WStruct* sub_0805F2C8(void); +extern void sub_0805F300(WStruct*); +extern u32 sub_0805F76C(u8*, WStruct*); typedef struct { void* sourceAddress; @@ -55,7 +45,7 @@ extern const u8 gGlobalGfxAndPalettes[]; extern u8 gTextGfxBuffer[]; extern u8 gUnk_02002AC0[]; -u32 sub_080A44E0(struct_02036540*, u8*, u32); +u32 sub_080A44E0(WStruct*, u8*, u32); u32 sub_080A4418(u32, u32); u32 sub_080A43DC(u32); u32 sub_080A43A8(u32); @@ -74,6 +64,13 @@ Subtask KinstoneMenu_Type2; Subtask KinstoneMenu_Type3; Subtask KinstoneMenu_Type4; Subtask KinstoneMenu_Type5; + +ASM_FUNC("asm/non_matching/menu/kinstone_menu/sub_080A3B48.inc", s32 sub_080A3B48(void)) + +void sub_080A3B74(void) { + gKinstoneMenu.unk2f = 0; +} + void Subtask_KinstoneMenu(void) { static Subtask* const kinstoneMenuTypes[] = { KinstoneMenu_Type0, KinstoneMenu_Type1, KinstoneMenu_Type2, @@ -594,7 +591,7 @@ void KinstoneMenu_080A4468(void) { } u32 KinstoneMenu_080A4494(void) { - struct_02036540* psVar1; + WStruct* psVar1; u8* r1; u32 ret; @@ -617,7 +614,7 @@ u32 KinstoneMenu_080A4494(void) { return ret; } -u32 sub_080A44E0(struct_02036540* param_1, u8* param_2, u32 param_3) { +u32 sub_080A44E0(WStruct* param_1, u8* param_2, u32 param_3) { u32 uVar1; u32 size; diff --git a/src/message.c b/src/message.c index b10d00a1..e4db0a1e 100644 --- a/src/message.c +++ b/src/message.c @@ -31,17 +31,17 @@ enum { }; extern void WriteBit(u32*, u32); -extern void sub_0805EF40(Token* tok, const u8*); +extern bool32 sub_0805EF40(Token* tok, const u8*); extern void RecoverUI(u32 bottomPt, u32 topPt); extern void RefreshUI(void); -extern void sub_0805F918(u32, u32, u32); +extern void sub_0805F918(u32, u32, void*); extern u32 DecToHex(u32, u8*, u32); u32 sub_08056FEC(u32, u8*); u32 GetCharacter(Token* tok); extern void sub_0805EEB4(Token* tok, u32 textIdx); -u16 sub_0805F7DC(u32, u8*); -u32 GetFontStrWith(u8*, u32); +u32 sub_0805F7DC(u32, WStruct*); +u32 GetFontStrWith(Token*, u32); static void StatusUpdate(u32 status); @@ -270,7 +270,7 @@ END_NONMATCH if (gTextRender.renderStatus == RENDER_INIT) { gTextRender.renderStatus = RENDER_UPDATE; gTextRender._98.bytes.b1 = 1; - sub_08056F88(gTextRender.message.unk3, gTextRender._50.unk3); + sub_08056F88(gTextRender.message.unk3, gTextRender._50.bgColor); SoundReq(SFX_TEXTBOX_OPEN); } @@ -315,7 +315,7 @@ static u32 MsgUpdate(void) { } static void TextDispInit(TextRender* this) { - if ((gTextRender.curToken.flags & 1) == 0) { + if (gTextRender.curToken.unk00 == 0) { if (gTextRender._98.bytes.b1 == 0) { StatusUpdate(MSG_DIE); } @@ -398,7 +398,7 @@ NONMATCH("asm/non_matching/textbox/RunTextCommand.inc", /*static*/ u16 RunTextCo StatusUpdate(MSG_CLOSE); break; case 4: - this->_50.unk6 += (this->_50.unk4 - this->_50.unk6 - GetFontStrWith(&this->curToken.flags, 0)) / 2; + this->_50.unk6 += (this->_50.unk4 - this->_50.unk6 - GetFontStrWith(&this->curToken, 0)) / 2; break; case 5: gMessage.unk = this->curToken.param; @@ -427,7 +427,7 @@ NONMATCH("asm/non_matching/textbox/RunTextCommand.inc", /*static*/ u16 RunTextCo break; case 9: gTextRender.message.unk3 = this->curToken.param; - sub_08056F88(this->curToken.param, this->_50.unk3); + sub_08056F88(this->curToken.param, this->_50.bgColor); break; case 10: this->message.textWindowPosY = this->curToken.param; @@ -488,14 +488,14 @@ NONMATCH("asm/non_matching/textbox/RunTextCommand.inc", /*static*/ u16 RunTextCo PaletteChange(this, palette); } } - return sub_0805F7DC(chr, &this->_50.unk0); + return sub_0805F7DC(chr, &this->_50); } END_NONMATCH /*static*/ void PaletteChange(TextRender* this, u32 id) { u32 temp = id % 8; this->_8f = temp; - this->_50.unk2 = temp; + this->_50.charColor = temp; } const u8 gUnk_08107C0F[] = { 0x8, 0x1e, 0x4, 0x12, 0x0 }; @@ -813,12 +813,12 @@ void sub_08056F88(u32 unk_1, u32 unk_2) { uVar1 = unk_1 << 4 | unk_2; if (gTextRender._9c != uVar1) { gTextRender._9c = uVar1; - sub_0805F918(unk_1, unk_2, 0x0600CF60); + sub_0805F918(unk_1, unk_2, (void*)0x0600CF60); } } static void sub_08056FBC(TextRender* ctb) { - sub_08056FEC(ctb->message.field_0x10, &ctb->_66[0x2]); + sub_08056FEC(ctb->message.rupees, &ctb->_66[0x2]); sub_08056FEC(ctb->message.field_0x14, &ctb->_66[0xa]); sub_08056FEC(ctb->message.field_0x18, &ctb->_77[0x1]); sub_08056FEC(ctb->message.field_0x1c, &ctb->_77[0x9]); diff --git a/src/movement.c b/src/movement.c index 29eeb5a9..1e54b3c5 100644 --- a/src/movement.c +++ b/src/movement.c @@ -1,4 +1,5 @@ #include "global.h" +#include "collision.h" #include "entity.h" #include "room.h" #include "area.h" @@ -6,38 +7,9 @@ #include "asm.h" #include "item.h" #include "coord.h" +#include "transitions.h" #include "functions.h" -/** Collisions. */ -typedef enum { - COL_NONE = 0x0, - COL_NORTH_WEST = 0x2, - COL_NORTH_EAST = 0x4, - COL_NORTH_FULL = 0x6, - COL_NORTH_ANY = 0xe, - COL_SOUTH_WEST = 0x20, - COL_SOUTH_EAST = 0x40, - COL_SOUTH_FULL = 0x60, - COL_SOUTH_ANY = 0xe0, - COL_WEST_SOUTH = 0x200, - COL_WEST_NORTH = 0x400, - COL_WEST_FULL = 0x600, - COL_WEST_ANY = 0xe00, - COL_EAST_SOUTH = 0x2000, - COL_EAST_NORTH = 0x4000, - COL_EAST_FULL = 0x6000, - COL_EAST_ANY = 0xe000, -} Collisions; - -extern u8 gExitList_RoyalValley_ForestMaze[]; -extern u8 gUnk_08135190[]; -extern u8 gUnk_08134FBC[]; -extern u8 gUnk_08135048[]; -extern u8 gUnk_0813A76C[]; - -bool32 IsTileCollision(const u8*, s32, s32, u32); -void CalculateEntityTileCollisions(Entity*, u32, u32); -bool32 ProcessMovementInternal(Entity*, s32, s32, u32); bool32 sub_080AF0C8(Entity*); /** The type of the movement/collision? that is done. */ @@ -117,7 +89,8 @@ bool32 TileCollisionFunction2(s32 x, s32 y) { 0b1111111111111110, 0b1111111111111111, */ - 32768, 49152, 57344, 61440, 63488, 64512, 65024, 65280, 65408, 65472, 65504, 65520, 65528, 65532, 65534, 65535, + 0x8000, 0xC000, 0xE000, 0xF000, 0xF800, 0xFC00, 0xFE00, 0xFF00, + 0xFF80, 0xFFC0, 0xFFE0, 0xFFF0, 0xFFF8, 0xFFFC, 0xFFFE, 0xFFFF, }; return gUnk_08133918[y & 0xf] >> (x & 0xf) & 1; @@ -127,24 +100,24 @@ bool32 TileCollisionFunction2(s32 x, s32 y) { bool32 TileCollisionFunction3(s32 x, s32 y) { static const u16 gUnk_08133938[] = { /* - 0b1, - 0b11, - 0b111, - 0b1111, - 0b11111, - 0b111111, - 0b1111111, - 0b11111111, - 0b111111111, - 0b1111111111, - 0b11111111111, - 0b111111111111, - 0b1111111111111, - 0b11111111111111, - 0b111111111111111, + 0b0000000000000001, + 0b0000000000000011, + 0b0000000000000111, + 0b0000000000001111, + 0b0000000000011111, + 0b0000000000111111, + 0b0000000001111111, + 0b0000000011111111, + 0b0000000111111111, + 0b0000001111111111, + 0b0000011111111111, + 0b0000111111111111, + 0b0001111111111111, + 0b0011111111111111, + 0b0111111111111111, 0b1111111111111111, */ - 1, 3, 7, 15, 31, 63, 127, 255, 511, 1023, 2047, 4095, 8191, 16383, 32767, 65535, + 0x1, 0x3, 0x7, 0xF, 0x1F, 0x3F, 0x7F, 0xFF, 0x1FF, 0x3FF, 0x7FF, 0xFFF, 0x1FFF, 0x3FFF, 0x7FFF, 0xFFFF, }; return gUnk_08133938[y & 0xf] >> (x & 0xf) & 1; } @@ -170,7 +143,8 @@ bool32 TileCollisionFunction4(s32 x, s32 y) { 0b1100000000000000, 0b1000000000000000, */ - 65535, 65534, 65532, 65528, 65520, 65504, 65472, 65408, 65280, 65024, 64512, 63488, 61440, 57344, 49152, 32768, + 0xFFFF, 0xFFFE, 0xFFFC, 0xFFF8, 0xFFF0, 0xFFE0, 0xFFC0, 0xFF80, + 0xFF00, 0xFE00, 0xFC00, 0xF800, 0xF000, 0xE000, 0xC000, 0x8000, }; return gUnk_08133958[y & 0xf] >> (x & 0xf) & 1; } @@ -180,23 +154,23 @@ bool32 TileCollisionFunction5(s32 x, s32 y) { static const u16 gUnk_08133978[] = { /* 0b1111111111111111, - 0b111111111111111, - 0b11111111111111, - 0b1111111111111, - 0b111111111111, - 0b11111111111, - 0b1111111111, - 0b111111111, - 0b11111111, - 0b1111111, - 0b111111, - 0b11111, - 0b1111, - 0b111, - 0b11, - 0b1, + 0b0111111111111111, + 0b0011111111111111, + 0b0001111111111111, + 0b0000111111111111, + 0b0000011111111111, + 0b0000001111111111, + 0b0000000111111111, + 0b0000000011111111, + 0b0000000001111111, + 0b0000000000111111, + 0b0000000000011111, + 0b0000000000001111, + 0b0000000000000111, + 0b0000000000000011, + 0b0000000000000001, */ - 65535, 32767, 16383, 8191, 4095, 2047, 1023, 511, 255, 127, 63, 31, 15, 7, 3, 1, + 0xFFFF, 0x7FFF, 0x3FFF, 0x1FFF, 0xFFF, 0x7FF, 0x3FF, 0x1FF, 0xFF, 0x7F, 0x3F, 0x1F, 0xF, 0x7, 0x3, 0x1, }; return gUnk_08133978[y & 0xf] >> (x & 0xf) & 1; } @@ -215,14 +189,14 @@ bool32 TileCollisionFunction6(s32 x, s32 y) { 0b1111111111111111, 0b1111111111111111, 0b1111111111111111, - 0b0, - 0b0, - 0b0, - 0b0, - 0b0, - 0b0, + 0b0000000000000000, + 0b0000000000000000, + 0b0000000000000000, + 0b0000000000000000, + 0b0000000000000000, + 0b0000000000000000, */ - 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 0, 0, 0, 0, 0, 0, + 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, }; return gUnk_08133998[y & 0xf] >> (x & 0xf) & 1; @@ -232,12 +206,12 @@ bool32 TileCollisionFunction6(s32 x, s32 y) { bool32 TileCollisionFunction7(s32 x, s32 y) { static const u16 gUnk_081339B8[] = { /* - 0b0, - 0b0, - 0b0, - 0b0, - 0b0, - 0b0, + 0b0000000000000000, + 0b0000000000000000, + 0b0000000000000000, + 0b0000000000000000, + 0b0000000000000000, + 0b0000000000000000, 0b1111111111111111, 0b1111111111111111, 0b1111111111111111, @@ -249,7 +223,7 @@ bool32 TileCollisionFunction7(s32 x, s32 y) { 0b1111111111111111, 0b1111111111111111, */ - 0, 0, 0, 0, 0, 0, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, }; return gUnk_081339B8[y & 0xf] >> (x & 0xf) & 1; } @@ -275,7 +249,8 @@ bool32 TileCollisionFunction8(s32 x, s32 y) { 0b1111111111000000, 0b1111111111000000, */ - 65472, 65472, 65472, 65472, 65472, 65472, 65472, 65472, 65472, 65472, 65472, 65472, 65472, 65472, 65472, 65472, + 0xFFC0, 0xFFC0, 0xFFC0, 0xFFC0, 0xFFC0, 0xFFC0, 0xFFC0, 0xFFC0, + 0xFFC0, 0xFFC0, 0xFFC0, 0xFFC0, 0xFFC0, 0xFFC0, 0xFFC0, 0xFFC0, }; return gUnk_081339D8[y & 0xf] >> (x & 0xf) & 1; } @@ -284,24 +259,24 @@ bool32 TileCollisionFunction8(s32 x, s32 y) { bool32 TileCollisionFunction9(s32 x, s32 y) { static const u16 gUnk_081339F8[] = { /* - 0b1111111111, - 0b1111111111, - 0b1111111111, - 0b1111111111, - 0b1111111111, - 0b1111111111, - 0b1111111111, - 0b1111111111, - 0b1111111111, - 0b1111111111, - 0b1111111111, - 0b1111111111, - 0b1111111111, - 0b1111111111, - 0b1111111111, - 0b1111111111, + 0b[000001111111111, + 0b0000001111111111, + 0b0000001111111111, + 0b0000001111111111, + 0b0000001111111111, + 0b0000001111111111, + 0b0000001111111111, + 0b0000001111111111, + 0b0000001111111111, + 0b0000001111111111, + 0b0000001111111111, + 0b0000001111111111, + 0b0000001111111111, + 0b0000001111111111, + 0b0000001111111111, + 0b0000001111111111, */ - 1023, 1023, 1023, 1023, 1023, 1023, 1023, 1023, 1023, 1023, 1023, 1023, 1023, 1023, 1023, 1023, + 0x3FF, 0x3FF, 0x3FF, 0x3FF, 0x3FF, 0x3FF, 0x3FF, 0x3FF, 0x3FF, 0x3FF, 0x3FF, 0x3FF, 0x3FF, 0x3FF, 0x3FF, 0x3FF, }; return gUnk_081339F8[y & 0xf] >> (x & 0xf) & 1; } @@ -2269,28 +2244,27 @@ void ProcessMovementInternal2(Entity* this, u32 direction, u32 speed) { void sub_080AF250(s32 param_1) { gArea.pCurrentRoomInfo = GetCurrentRoomInfo(); if (param_1 != 0) { - (gArea.pCurrentRoomInfo)->exits = gUnk_08135190; + gArea.pCurrentRoomInfo->exits = gUnk_08135190; } else { - (gArea.pCurrentRoomInfo)->exits = gExitList_RoyalValley_ForestMaze; + gArea.pCurrentRoomInfo->exits = gExitList_RoyalValley_ForestMaze; } } void sub_080AF284(void) { if (CheckPlayerInRegion(0x78, gRoomControls.height - 0x50, 0x78, 0x50)) { gArea.pCurrentRoomInfo = GetCurrentRoomInfo(); - (gArea.pCurrentRoomInfo)->exits = gUnk_08135048; + gArea.pCurrentRoomInfo->exits = gUnk_08135048; } else { - if (GetInventoryValue(ITEM_FOURSWORD) == 0) { - return; + if (GetInventoryValue(ITEM_FOURSWORD) != 0) { + gArea.pCurrentRoomInfo = GetCurrentRoomInfo(); + gArea.pCurrentRoomInfo->exits = gUnk_08134FBC; } - gArea.pCurrentRoomInfo = GetCurrentRoomInfo(); - (gArea.pCurrentRoomInfo)->exits = gUnk_08134FBC; } } void sub_080AF2E4(void) { if (GetInventoryValue(ITEM_FOURSWORD)) { gArea.pCurrentRoomInfo = GetCurrentRoomInfo(); - (gArea.pCurrentRoomInfo)->exits = gUnk_0813A76C; + gArea.pCurrentRoomInfo->exits = gUnk_0813A76C; } } diff --git a/src/npc/castorWildsStatue.c b/src/npc/castorWildsStatue.c index d12e9b28..92cd3358 100644 --- a/src/npc/castorWildsStatue.c +++ b/src/npc/castorWildsStatue.c @@ -127,7 +127,7 @@ void sub_080675D4(Entity* this) { for (i = 0; i < 9; i++, gUnk++) { Entity* ent = CreateFx(this, FX_DEATH, 0); - if (ent) { + if (ent != NULL) { ent->x.HALF.HI += gUnk->x; ent->y.HALF.HI += gUnk->y; ent->z.HALF.HI = subAction; @@ -140,7 +140,7 @@ void sub_080675D4(Entity* this) { gUnk = gUnk_08110E8A; for (i = 0; i < 4; i++, gUnk++) { Entity* ent = CreateFx(this, FX_ROCK, 0); - if (ent) { + if (ent != NULL) { ent->x.HALF.HI = gUnk->x + ent->x.HALF.HI; ent->y.HALF.HI = gUnk->y + ent->y.HALF.HI; ent->z.HALF.HI = subAction; diff --git a/src/npc/dog.c b/src/npc/dog.c index 0f9f3f12..9a6364ec 100644 --- a/src/npc/dog.c +++ b/src/npc/dog.c @@ -1,4 +1,5 @@ #include "entity.h" +#include "collision.h" #include "functions.h" #include "npc.h" #include "item.h" @@ -143,17 +144,17 @@ void sub_08069D54(Entity* this) { if (this->x.HALF.HI < this->field_0x6e.HWORD) { this->x.HALF.HI = this->field_0x6e.HWORD + 1; - collisions = 0xe00; + collisions = COL_WEST_ANY; } else if (this->x.HALF.HI > this->field_0x6c.HWORD) { this->x.HALF.HI = this->field_0x6c.HWORD - 1; - collisions = 0xe000; + collisions = COL_EAST_ANY; } if (this->y.HALF.HI < this->field_0x70.HALF_U.LO) { this->y.HALF.HI = this->field_0x70.HALF_U.LO + 1; - collisions = 0xe; + collisions = COL_NORTH_ANY; } else if (this->y.HALF.HI > this->field_0x70.HALF_U.HI) { this->y.HALF.HI = this->field_0x70.HALF_U.HI - 1; - collisions = 0xe0; + collisions = COL_SOUTH_ANY; } sub_0800417E(this, collisions); sub_08069F6C(this); diff --git a/src/npc/goronMerchant.c b/src/npc/goronMerchant.c index 9a0cf266..3cb1a668 100644 --- a/src/npc/goronMerchant.c +++ b/src/npc/goronMerchant.c @@ -77,7 +77,7 @@ void sub_08069654(Entity* this) { void sub_08069660(Entity* this) { MessageNoOverlap(0x2c1c, this); - gMessage.field_0x10 = (u16)GoronMerchant_GetSalePrice(this); + gMessage.rupees = (u16)GoronMerchant_GetSalePrice(this); } void sub_08069684(void) { diff --git a/src/npc/kid.c b/src/npc/kid.c index 911dc22c..79cb7a89 100644 --- a/src/npc/kid.c +++ b/src/npc/kid.c @@ -270,15 +270,18 @@ void sub_080627E8(Entity* this, ScriptExecutionContext* context) { RestorePrevTileEntity(0x64d, 1); } -NONMATCH("asm/non_matching/kid/Kid_Head.inc", void Kid_Head(Entity* this)) { - s32 iVar1; +void Kid_Head(Entity* this) { + u32 uVar1; u32 uVar2; u32 uVar3; u32 uVar4; + u32 uVar5; + u8* ptr; - iVar1 = (u32)this->type * 4; - uVar3 = ((u8)this->frame & 0x1f) + (u32)gUnk_0810C0A0[iVar1]; - uVar4 = (this->frameIndex & 0x1f) + (u32)gUnk_0810C0A0[iVar1 + 1]; + uVar1 = this->type * 4; + ptr = &gUnk_0810C0A0[uVar1]; + uVar3 = ((u8)this->frame & 0x1f) + ptr[0]; + uVar4 = (this->frameIndex & 0x1f) + ptr[1]; switch (this->type) { case 0: case 1: @@ -290,19 +293,20 @@ NONMATCH("asm/non_matching/kid/Kid_Head.inc", void Kid_Head(Entity* this)) { if (uVar2 != 0) { uVar2 = uVar2 + 0x50; } + uVar2--; SetExtraSpriteFrame(this, 0, uVar3); SetExtraSpriteFrame(this, 1, uVar4); - SetExtraSpriteFrame(this, 2, uVar2 - 1); + SetExtraSpriteFrame(this, 2, uVar2); SetSpriteSubEntryOffsetData1(this, 1, 0); SetSpriteSubEntryOffsetData2(this, 1, 2); sub_0807000C(this); break; case 6: - uVar2 = this->frameSpriteSettings & 0xf; + uVar5 = this->frameSpriteSettings & 0xf; if ((this->frameSpriteSettings & 0xf) != 0) { - uVar2 = uVar2 + 0x93; + uVar5 = uVar5 + 0x93; } - SetExtraSpriteFrame(this, 0, uVar2 - 1); + SetExtraSpriteFrame(this, 0, uVar5 - 1); SetExtraSpriteFrame(this, 1, uVar3); SetExtraSpriteFrame(this, 2, uVar4); SetSpriteSubEntryOffsetData1(this, 2, 1); @@ -320,10 +324,9 @@ NONMATCH("asm/non_matching/kid/Kid_Head.inc", void Kid_Head(Entity* this)) { break; } } -END_NONMATCH -NONMATCH("asm/non_matching/kid/sub_08062948.inc", void sub_08062948(Entity* this, ScriptExecutionContext* context)) { - u8 bVar1; +void sub_08062948(Entity* this, ScriptExecutionContext* context) { + s32 bVar1; u16 uVar2; u32 uVar3; s32 iVar4; @@ -332,64 +335,60 @@ NONMATCH("asm/non_matching/kid/sub_08062948.inc", void sub_08062948(Entity* this context->unk_18 += 1; context->unk_12 = (Random() & 0x3f) + 0x20; uVar3 = Random() & 0x18; - bVar1 = this->direction; - if (bVar1 != 8) { - if (bVar1 >= 9) { - if (bVar1 == 0x10) { - if (uVar3 == 0) { - uVar3 = 0x18; - } - } else { - if ((bVar1 == 0x18) && (uVar3 == 8)) { - uVar3 = 0; - } - } - } else { - if ((bVar1 == 0) && (uVar3 == 0x10)) { + switch (this->direction) { + case 0: + if (uVar3 == 0x10) { uVar3 = 8; } - } - } else { - if (uVar3 == 0x18) { - uVar3 = 0x10; - } + break; + case 0x8: + if (uVar3 == 0x18) { + uVar3 = 0x10; + } + break; + case 0x10: + if (uVar3 == 0) { + uVar3 = 0x18; + } + break; + case 0x18: + if ((uVar3 == 8)) { + uVar3 = 0; + } } + this->direction = (u8)uVar3; - uVar3 = sub_0806F5B0(uVar3); - this->animationState = (u8)uVar3; + this->animationState = sub_0806F5B0(uVar3); this->speed = 0x80; } uVar3 = (this->animationState >> 1) + 4; if (uVar3 != this->animIndex) { InitializeAnimation(this, uVar3); - this->field_0x80.HALF.LO = (u16)this->animIndex; + this->field_0x80.HWORD = (u16)this->animIndex; } ProcessMovement0(this); - iVar4 = this->x.HALF.HI - this->field_0x6c.HALF.LO; + iVar4 = this->x.HALF.HI - (s16)this->field_0x6c.HWORD; if (0x10 < iVar4) { - this->x.HALF.HI = this->field_0x6c.HALF.LO + 0x10; + this->x.HALF.HI = this->field_0x6c.HWORD + 0x10; context->unk_12 = 1; } if (iVar4 < -0x10) { - this->x.HALF.HI = this->field_0x6c.HALF.LO + -0x10; + this->x.HALF.HI = this->field_0x6c.HWORD - 0x10; context->unk_12 = 1; } - iVar4 = this->y.HALF.HI - this->field_0x6e.HALF.LO; + iVar4 = this->y.HALF.HI - (s16)this->field_0x6e.HWORD; if (0x10 < iVar4) { - this->y.HALF.HI = this->field_0x6e.HALF.LO + 0x10; + this->y.HALF.HI = this->field_0x6e.HWORD + 0x10; context->unk_12 = 1; } if (iVar4 < -0x10) { - this->y.HALF.HI = this->field_0x6e.HALF.LO + -0x10; + this->y.HALF.HI = this->field_0x6e.HWORD - 0x10; context->unk_12 = 1; } - uVar2 = context->unk_12 - 1; - context->unk_12 = uVar2; - if (uVar2 != 0) { + if (--context->unk_12 != 0) { gActiveScriptInfo.commandSize = 0; } } -END_NONMATCH void sub_08062A48(Entity* this, ScriptExecutionContext* context) { this->field_0x6a.HALF.LO = sub_0801E99C(this); diff --git a/src/npc/phonograph.c b/src/npc/phonograph.c index dd731979..8643cf95 100644 --- a/src/npc/phonograph.c +++ b/src/npc/phonograph.c @@ -12,7 +12,7 @@ void sub_0806EABC(Entity* this); void sub_0806EABC(Entity* this, u32 param); #endif -extern u32 gUnk_081146B8; +extern Font gUnk_081146B8; extern s8 gUnk_081145E4[]; void Phonograph(Entity* this) { diff --git a/src/npc/picolyteBottle.c b/src/npc/picolyteBottle.c index 6dbf5010..dec3e542 100644 --- a/src/npc/picolyteBottle.c +++ b/src/npc/picolyteBottle.c @@ -175,7 +175,7 @@ void sub_0806E140(PicolyteBottleEntity* this, ScriptExecutionContext* context) { MessageFromTarget(0x421b); } else { MessageFromTarget(0x4218); - gMessage.field_0x10 = this->unk76; + gMessage.rupees = this->unk76; } } else { context->condition = 0; @@ -201,7 +201,7 @@ void sub_0806E1FC(PicolyteBottleEntity* this) { void sub_0806E20C(void) { if (gRoomTransition.field_0x6 != 0) { MessageFromTarget(0x421f); - gMessage.field_0x10 = gRoomTransition.field_0x6; + gMessage.rupees = gRoomTransition.field_0x6; } else { MessageFromTarget(0x4220); } diff --git a/src/npc/stockwell.c b/src/npc/stockwell.c index e72cb9c0..d305d835 100644 --- a/src/npc/stockwell.c +++ b/src/npc/stockwell.c @@ -66,7 +66,7 @@ void sub_080650CC(Entity* this) { MessageNoOverlap(confirmMsgId, this); //! @bug itemPrice (r8) is not initialized if gRoomVars.shopItemType == 0 - gMessage.field_0x10 = (u16)itemPrice; + gMessage.rupees = (u16)itemPrice; } else if ((this->frame & 0x40)) { InitializeAnimation(this, gUnk_0810FDB8[Random() & 0xf]); } else { diff --git a/src/npc/tingleSiblings.c b/src/npc/tingleSiblings.c index 82eb9ee2..32d6ab05 100644 --- a/src/npc/tingleSiblings.c +++ b/src/npc/tingleSiblings.c @@ -117,7 +117,7 @@ void sub_08064EE8(Entity* this) { } fxEnt = CreateFx(this, confettiFx, 0); - if (fxEnt && bVar1 == 2) { + if ((fxEnt != NULL) && (bVar1 == 2)) { fxEnt->spriteSettings.flipX = 1; } } @@ -171,7 +171,7 @@ void sub_08064F28(Entity* this, ScriptExecutionContext* context) { } MessageNoOverlap(TingleSiblings_MessageIndices[this->type][uVar5], this); if (iVar4 > 0) { - gMessage.field_0x10 = (u16)iVar4; + gMessage.rupees = (u16)iVar4; } if (CheckRoomFlag(roomFlag) == 0) { diff --git a/src/npcUtils.c b/src/npcUtils.c index 2bd9564a..09906e44 100644 --- a/src/npcUtils.c +++ b/src/npcUtils.c @@ -138,7 +138,7 @@ u32 sub_0806EE20(Entity* ent) { u32 v3; if (!ent->interactType) { - if (ent->child) + if (ent->child != NULL) return gUnk_08114EFC[ent->field_0x16](ent); } else { ent->knockbackSpeed = 8; diff --git a/src/object.c b/src/object.c index da1eb312..060876d7 100644 --- a/src/object.c +++ b/src/object.c @@ -187,7 +187,7 @@ void (*const gObjectFunctions[])(Entity*) = { [OBJECT_B6] = ObjectB6, [WELL] = Well, [WIND_TRIBE_TELEPORTER] = WindTribeTeleporter, - [OBJECT_B9] = ObjectB9, + [CUCCO_MINIGAME] = ObjectB9, [GYORG_BOSS_OBJECT] = GyorgBossObject, [WINDCREST] = Windcrest, [LIT_AREA] = LitArea, diff --git a/src/object/bakerOven.c b/src/object/bakerOven.c index fd2b80aa..d4b26c28 100644 --- a/src/object/bakerOven.c +++ b/src/object/bakerOven.c @@ -22,7 +22,7 @@ void sub_0809CC74(Entity* this) { /* Create steam clouds */ for (i = 0; i < 3; i++) { ent = CreateObject(BAKER_OVEN, 1, i); - if (ent) { + if (ent != NULL) { ent->parent = this; PositionRelative(this, ent, 16 * Q_16_16((i + 1) / 2) - Q_16_16(8.0), Q_16_16(-14.0)); } diff --git a/src/object/bigBarrel.c b/src/object/bigBarrel.c index af09b0f4..77e6ff6a 100644 --- a/src/object/bigBarrel.c +++ b/src/object/bigBarrel.c @@ -105,7 +105,7 @@ void sub_08088BE0(BigBarrelEntity* this) { if (CheckLocalFlag(0x15) == 0) { sub_08088C78(this, 2, 0, 0xffffff88); ent = sub_08088C78(this, 4, 0x15, 0); - if (ent) { + if (ent != NULL) { ent->x.HALF.HI = gRoomControls.origin_x + 0x48; ent->y.HALF.HI = gRoomControls.origin_y + 200; } @@ -114,7 +114,7 @@ void sub_08088BE0(BigBarrelEntity* this) { if (CheckLocalFlag(0x16) == 0) { sub_08088C78(this, 2, 1, 0x78); ent = sub_08088C78(this, 4, 0x16, 0); - if (ent) { + if (ent != NULL) { ent->x.HALF.HI = gRoomControls.origin_x + 0x188; ent->y.HALF.HI = gRoomControls.origin_y + 200; } @@ -249,7 +249,7 @@ void sub_08088E74(BigBarrelEntity* this) { } else { if ((gRoomTransition.frameCount & 7U) == 0) { ent = CreateObjectWithParent(super, OBJECT_2A, 0, 0x1e); - if (ent) { + if (ent != NULL) { ent->updatePriority = 3; ent->spriteRendering.b3 = 0; ent->spritePriority.b0 = 0; diff --git a/src/object/bird.c b/src/object/bird.c index f16d46b5..3cb75c4b 100644 --- a/src/object/bird.c +++ b/src/object/bird.c @@ -2,22 +2,45 @@ #include "object.h" #include "functions.h" #include "item.h" +#include "message.h" +#include "game.h" -extern void (*const gUnk_08123EC0[])(Entity*); -extern void (*const gUnk_08123EEC[])(Entity*); -extern void (*const gUnk_08123EF4[])(Entity*); -extern void (*const gUnk_08123EFC[])(Entity*); -extern void (*const gUnk_08123F04[])(Entity*); +extern u16 script_EzloTalkOcarina[]; + +void Bird_Type0(Entity*); +void Bird_Type1(Entity*); +void Bird_Type2(Entity*); +void Bird_Type3(Entity*); +void Bird_Type8(Entity*); +void Bird_Type9(Entity*); +void Bird_Type10(Entity*); +void Bird_Type0_Init(Entity*); +void Bird_Type0_Action1(Entity*); +void Bird_Type1_Init(Entity*); +void Bird_Type1_Action1(Entity*); +void Bird_Type1_Action1_Subaction0(Entity*); +void Bird_Type1_Action1_Subaction1(Entity*); +void Bird_Type2_Init(Entity*); +void Bird_Type2_Action1(Entity*); void Bird(Entity* this) { - gUnk_08123EC0[this->type](this); + static void (*const typeFuncs[])(Entity*) = { + Bird_Type0, Bird_Type1, Bird_Type2, Bird_Type3, Bird_Type3, Bird_Type3, + Bird_Type3, Bird_Type3, Bird_Type8, Bird_Type9, Bird_Type10, + }; + typeFuncs[this->type](this); } -void sub_0809CF3C(Entity* this) { - gUnk_08123EEC[this->action](this); +void Bird_Type0(Entity* this) { + static void (*const actionFuncs[])(Entity*) = { + Bird_Type0_Init, + Bird_Type0_Action1, + }; + + actionFuncs[this->action](this); } -void sub_0809CF54(Entity* this) { +void Bird_Type0_Init(Entity* this) { Entity* target; this->action++; @@ -42,8 +65,7 @@ void sub_0809CF54(Entity* this) { } } -void sub_0809CFEC(Entity* this) { - +void Bird_Type0_Action1(Entity* this) { LinearMoveUpdate(this); GravityUpdate(this, *(s16*)&this->field_0x68.HWORD); if (this->actionDelay != 0) { @@ -56,22 +78,30 @@ void sub_0809CFEC(Entity* this) { UpdateAnimationSingleFrame(this); } -void sub_0809D030(Entity* this) { - gUnk_08123EF4[this->action](this); +void Bird_Type1(Entity* this) { + static void (*const actionFuncs[])(Entity*) = { + Bird_Type1_Init, + Bird_Type1_Action1, + }; + actionFuncs[this->action](this); } -void sub_0809D048(Entity* this) { +void Bird_Type1_Init(Entity* this) { this->action++; this->collisionLayer = 1; UpdateSpriteForCollisionLayer(this); InitAnimationForceUpdate(this, 0x17); } -void sub_0809D06C(Entity* this) { - gUnk_08123EFC[this->subAction](this); +void Bird_Type1_Action1(Entity* this) { + static void (*const subActionFuncs[])(Entity*) = { + Bird_Type1_Action1_Subaction0, + Bird_Type1_Action1_Subaction1, + }; + subActionFuncs[this->subAction](this); } -void sub_0809D084(Entity* this) { +void Bird_Type1_Action1_Subaction0(Entity* this) { u32 temp; if (this->parent != NULL) { @@ -85,7 +115,7 @@ void sub_0809D084(Entity* this) { } } -void sub_0809D0AC(Entity* this) { +void Bird_Type1_Action1_Subaction1(Entity* this) { Entity* fx; if (sub_080044EC(this, 0x1800) < 2) { @@ -102,28 +132,32 @@ void sub_0809D0AC(Entity* this) { } } -void sub_0809D0F4(Entity* this) { - gUnk_08123F04[this->action](this); +void Bird_Type2(Entity* this) { + static void (*const actionFuncs[])(Entity*) = { + Bird_Type2_Init, + Bird_Type2_Action1, + }; + actionFuncs[this->action](this); } -void sub_0809D10C(Entity* this) { +void Bird_Type2_Init(Entity* this) { this->action++; this->collisionLayer = 1; UpdateSpriteForCollisionLayer(this); InitAnimationForceUpdate(this, 0x17); } -void sub_0809D130(Entity* this) { +void Bird_Type2_Action1(Entity* this) { if ((gPlayerState.flags & PL_MINISH) != 0) { sub_0800445C(this); } else if (IsCollidingPlayer(this) != 0) { - CreateItemEntity(0x17, 0, 0); + CreateItemEntity(ITEM_OCARINA, 0, 0); gSave.windcrests |= 0x10000000; DeleteThisEntity(); } } -void sub_0809D178(Entity* this) { +void Bird_Type3(Entity* this) { if (this->action == 0) { this->action++; @@ -131,6 +165,7 @@ void sub_0809D178(Entity* this) { UpdateSpriteForCollisionLayer(this); this->frame = 0x80; } + if ((this->frame & ANIM_DONE) != 0) { InitializeAnimation(this, Random() & 3); this->frameDuration = (Random() & 0xf) + 0x10; @@ -142,3 +177,225 @@ void sub_0809D178(Entity* this) { GetNextFrame(this); } } + +void Bird_Type8(Entity* this) { + Entity* pEVar5; + + switch (this->action) { + case 0: + if (this->actionDelay != 0) { + this->frameIndex = 0xff; + this->actionDelay--; + return; + } + this->action = 1; + this->zVelocity = 0; + this->z.WORD = Q_16_16(-20.0); + this->speed = 0x180; + this->direction = 8; + this->collisionLayer = 1; + this->spritePriority.b0 = 0; + this->spriteRendering.b3 = 0; + this->spriteOrientation.flipY = 1; + this->x.HALF.HI = gRoomControls.scroll_x; + this->y.HALF.HI = gPlayerEntity.y.HALF.HI; + this->child = NULL; + SetDefaultPriority(this, 6); + InitAnimationForceUpdate(this, 0); + SoundReq(0x123); + break; + case 1: + this->collisionLayer = gPlayerEntity.collisionLayer; + this->speed += 8; + if (this->speed > 0x300) { + this->speed = 0x300; + } + + if ((gPlayerEntity.flags & 0x80) != 0 && (gMessage.doTextBox & 0x7f) == 0 && gPlayerEntity.action != 28 && + gPlayerEntity.action != 6 && gPlayerEntity.action != 9 && gPlayerState.framestate != 24 && + gPlayerState.framestate != 11 && gPlayerState.framestate != 8 && sub_08079F8C() && + (EntityInRectRadius(this, &gPlayerEntity, 0xe, 0xe))) { + s32 z = gPlayerEntity.z.HALF.HI - this->z.HALF.HI - 8; + if ((u16)z < 0x20 && gPlayerEntity.health != 0) { + pEVar5 = CreateObject(0x95, 10, 0); + if (pEVar5 != NULL) { + this->child = pEVar5; + this->action = 2; + this->actionDelay = 8; + this->speed = 0x300; + this->field_0x68.HWORD = 0xe000; + sub_08079184(); + sub_08078B48(); + ResetPlayerAnimationAndAction(); + sub_08077B20(); + gPlayerState.swim_state = 0; + gPlayerState.jump_status = 0; + gPlayerEntity.flags &= 0x7f; + gPlayerEntity.spriteSettings.draw = 0; + gPriorityHandler.sys_priority = 6; + gUnk_02034490.unk0 = 1; + } + } + } + break; + default: + sub_08078B48(); + gPlayerEntity.spriteSettings.draw = 0; + break; + } + LinearMoveUpdate(this); + GravityUpdate(this, (s16)this->field_0x68.HWORD); + UpdateAnimationSingleFrame(this); + pEVar5 = this->child; + if (pEVar5 != NULL) { + if (gPlayerEntity.x.HALF.HI < this->x.HALF.HI - 8) { + this->actionDelay = 0; + } + + if (this->actionDelay == 0) { + PositionRelative(this, pEVar5, 0xfff80000, 0); + pEVar5->z.HALF.HI += 0x18; + pEVar5->spritePriority.b0 = this->spritePriority.b0; + pEVar5->spriteRendering.b3 = this->spriteRendering.b3; + pEVar5->spriteOrientation.flipY = this->spriteOrientation.flipY; + } else { + this->actionDelay--; + CopyPosition(&gPlayerEntity, pEVar5); + } + } + + if (CheckOnScreen(this) == 0) { + if (this->action == 2) { + gSave.windcrests |= 0x10000000; + MenuFadeIn(9, 0); + } + pEVar5 = this->child; + if (pEVar5 != NULL) { + DeleteEntityAny(pEVar5); + } + DeleteThisEntity(); + } +} + +void Bird_Type9(Entity* this) { + Entity* pEVar1; + Entity* child; + + if (this->action == 0) { + this->action = 1; + this->spriteSettings.draw = 1; + this->zVelocity = -0x28000; + this->z.WORD = 0xffb4c000; + this->field_0x68.HWORD = 0xf000; + this->speed = 0x300; + this->direction = 8; + this->collisionLayer = 1; + this->spritePriority.b0 = 0; + this->spriteRendering.b3 = 0; + this->spriteOrientation.flipY = 1; + ; + SetDefaultPriority(this, 6); + this->x.HALF.HI = gRoomControls.scroll_x; + this->y.HALF.HI = gPlayerEntity.y.HALF.HI; + SoundReq(SFX_123); + this->spritePriority.b1 = 2; + InitAnimationForceUpdate(this, 0); + sub_08078B48(); + } else if (this->action == 1) { + gPlayerEntity.spriteSettings.draw = 0; + child = this->child; + if (child != NULL) { + PositionRelative(this, child, Q_16_16(-8), 0); + child->z.HALF.HI += 0x18; + child->spritePriority.b0 = this->spritePriority.b0; + child->spriteRendering.b3 = this->spriteRendering.b3; + child->spriteOrientation.flipY = this->spriteOrientation.flipY; + } + sub_08078B48(); + if (gRoomControls.scroll_x + 0x78 < this->x.HALF.HI) { + this->action++; + this->spritePriority.b1 = 1; + if (child != NULL) { + child->action++; + } + gRoomControls.camera_target = &gPlayerEntity; + gPlayerEntity.spriteSettings.draw = 1; + ResetPlayerAnimationAndAction(); + ResetPlayerEventPriority(); + gUnk_02034490.unk0 = 0; + if (!CheckGlobalFlag(WARP_1ST)) { + pEVar1 = CreateObject(OBJECT_69, 0, 0); + if (pEVar1 != NULL) { + *(ScriptExecutionContext**)&pEVar1->cutsceneBeh = StartCutscene(pEVar1, script_EzloTalkOcarina); + SetGlobalFlag(WARP_1ST); + } + } + } + } + LinearMoveUpdate(this); + GravityUpdate(this, (short)this->field_0x68.HWORD); + UpdateAnimationSingleFrame(this); + if (!CheckOnScreen(this)) { + DeleteThisEntity(); + } +} + +void Bird_Type10(Entity* this) { + this->palette.b.b0 = gPlayerEntity.palette.b.b0; + switch (this->action) { + case 0: + this->action = 1; + this->spriteSettings.draw = 1; + this->collisionLayer = 1; + this->spritePriority.b0 = 0; + this->spriteRendering.b3 = 0; + this->spriteOrientation.flipY = 1; + SetDefaultPriority(this, 6); + InitAnimationForceUpdate(this, 0xe0); + case 1: + UpdateAnimationSingleFrame(this); + break; + case 2: + this->action = 3; + break; + case 3: + DeleteThisEntity(); + break; + } +} + +void CreateBird(void) { + Entity* birdEnt; + +#ifndef EU + if (AreaAllowsWarp()) { +#else + if (AreaIsOverworld()) { +#endif + if (!FindEntity(OBJECT, BIRD, 6, 8, 0)) { + birdEnt = CreateObject(BIRD, 8, 0); + if (birdEnt != NULL) { + birdEnt->actionDelay = 0; + } + } + } +} + +void sub_0809D738(void) { + Entity* pEVar1; + Entity* pEVar2; + + pEVar1 = CreateObject(BIRD, 9, 0); + if (pEVar1 != NULL) { + gRoomControls.camera_target = NULL; + SetDefaultPriority(pEVar1, 6); + SetPlayerEventPriority(); + pEVar2 = CreateObject(BIRD, 10, 0); + if (pEVar2 != NULL) { + pEVar1->child = pEVar2; + } + gUnk_02034490.unk0 = 1; + } else { + ResetPlayerAnimationAndAction(); + } +} diff --git a/src/object/book.c b/src/object/book.c index f42b2f1d..3c9e12b5 100644 --- a/src/object/book.c +++ b/src/object/book.c @@ -15,11 +15,9 @@ void Book(Entity* this) { } void sub_0809B3C4(Entity* this) { - u32 obtained; - - obtained = GetInventoryValue(this->type + ITEM_QST_BOOK1); + u32 obtained = GetInventoryValue(this->type + ITEM_QST_BOOK1); if (this->type2 != 3) { - if (obtained) { + if (obtained != 0) { DeleteThisEntity(); } } else { @@ -42,7 +40,7 @@ void sub_0809B3C4(Entity* this) { } UpdateSpriteForCollisionLayer(this); - InitAnimationForceUpdate(this, this->type + 0x39); + InitAnimationForceUpdate(this, this->type + ITEM_QST_BOOK1); switch (this->type2) { case 0: @@ -55,22 +53,23 @@ void sub_0809B3C4(Entity* this) { case 1: { u32 scroll; u32 height; + this->action = 3; scroll = (u16)gRoomControls.scroll_y - 0x10; height = (u16)this->y.HALF.HI - scroll; this->z.HALF.HI -= height; - return; + break; } case 2: this->action = 4; - return; + break; case 3: this->action = 5; this->subAction = 0; this->spritePriority.b0 = 3; break; default: - return; + break; } } @@ -89,10 +88,10 @@ void sub_0809B4A8(Entity* this) { this->action = 2; this->actionDelay = 30; - this->speed = 64; - this->direction = 16; + this->speed = 0x40; + this->direction = 0x10; - gPlayerState.pushedObject = 0x9e; + gPlayerState.pushedObject = TREE_THORNS; gPlayerState.queued_action = PLAYER_PUSH; gPlayerState.flags |= PL_BUSY; @@ -101,7 +100,7 @@ void sub_0809B4A8(Entity* this) { gPlayerEntity.direction = gPlayerEntity.animationState << 2; EnqueueSFX(SFX_10F); } else { - this->actionDelay = 0x16; + this->actionDelay = 22; } } @@ -109,12 +108,12 @@ void sub_0809B524(Entity* this) { if (--this->actionDelay == 0) { if (--this->field_0xf == 0) { this->action = 3; - this->y.HALF.HI += 32; - this->z.HALF.HI -= 32; + this->y.HALF.HI += 0x20; + this->z.HALF.HI -= 0x20; } else { this->action = 1; this->actionDelay = 22; - this->field_0x80.HALF.LO = 24; + this->field_0x80.HALF.LO = 0x18; } } @@ -134,7 +133,7 @@ void sub_0809B56C(Entity* this) { SetFlag(this->field_0x86.HWORD); fx = CreateFx(this, FX_DEATH, 0); - if (fx) { + if (fx != NULL) { SortEntityAbove(this, fx); } } @@ -143,7 +142,7 @@ void sub_0809B5B4(Entity* this) { if (gPlayerState.flags & PL_MINISH) { sub_0800445C(this); } else if (IsCollidingPlayer(this)) { - CreateItemEntity(this->type + 0x39, 0, 0); + CreateItemEntity(this->type + ITEM_QST_BOOK1, 0, 0); DeleteThisEntity(); } } @@ -152,9 +151,8 @@ void sub_0809B5EC(Entity* this) { if (this->spriteSettings.draw == 1) { switch (this->subAction) { case 0: { - Entity* parent; - parent = FindEntityByID(NPC, STURGEON, 7); - if (!parent) { + Entity* parent = FindEntityByID(NPC, STURGEON, 7); + if (parent == NULL) { return; } if (parent->x.HALF.HI < this->x.HALF.HI) { @@ -170,7 +168,7 @@ void sub_0809B5EC(Entity* this) { break; } case 1: { - if (!this->parent || !this->parent->next) { + if ((this->parent == NULL) || (this->parent->next == NULL)) { DeleteThisEntity(); return; } @@ -206,9 +204,8 @@ void sub_0809B5EC(Entity* this) { } u32 sub_0809B688(Entity* this) { - u32 ret; + u32 ret = EntityInRectRadius(this, &gPlayerEntity, 6, 12); - ret = EntityInRectRadius(this, &gPlayerEntity, 6, 12); if (ret == 1 && gPlayerState.field_0xd != 16) { ret = 0; } @@ -217,8 +214,7 @@ u32 sub_0809B688(Entity* this) { } void sub_0809B6B0(Entity* parent, Entity* this) { - s32 offset; - offset = (s32)gUnk_08123D94[parent->animationState >> 1] << 16; + s32 offset = (s32)gUnk_08123D94[parent->animationState >> 1] << 16; PositionRelative(parent, this, 0, offset); diff --git a/src/object/button.c b/src/object/button.c index 5a29e636..d4f602ba 100644 --- a/src/object/button.c +++ b/src/object/button.c @@ -242,7 +242,7 @@ u32 sub_08081F7C(Entity* this, u32 r7) { if (this->actionDelay == 0) return 1; if (--this->actionDelay > 6) { - if (this->child) + if (this->child != NULL) this->child->spriteOffsetY = -4; } else { if (this->actionDelay == 6) { diff --git a/src/object/cuccoMinigame.c b/src/object/cuccoMinigame.c new file mode 100644 index 00000000..19f63c3f --- /dev/null +++ b/src/object/cuccoMinigame.c @@ -0,0 +1,358 @@ +#define NENT_DEPRECATED +#include "entity.h" +#include "script.h" +#include "npc.h" +#include "fileselect.h" +#include "functions.h" +#include "object.h" +#include "enemy.h" + +typedef struct { + Entity base; + s16 unk68; + s16 unk6a; + s16 unk6c; + u16 unk6e; + u8 unk70[0x18]; +} ObjectB9Entity; + +typedef Entity* ObjectB9Heap[10]; + +u32 sub_080A1514(); + +const u16 gUnk_08124C20[] = { + 25, 0x2, 25, 0x3, 30, 0x4, 45, 0x5, 50, 0x5, 45, 0x5, 50, 0x6, 60, 0x7, 55, 0x2, 55, 0x3, +}; + +static const u16 pObjectB9_MinigameCuccoDefs[][30] = { + { 0x0001, 0x02E9, 0x0318, 0x0001, 0x0280, 0x0380, 0x0002, 0x0277, 0x0314, 0x0001, + 0x0332, 0x0248, 0x0001, 0x0257, 0x028C, 0x0001, 0x0199, 0x031B, 0x0001, 0x0321, + 0x01B4, 0x0002, 0x02DF, 0x01D8, 0x0001, 0x03AD, 0x02DE, 0x0001, 0x0216, 0x01CC }, + { 0x0001, 0x02E9, 0x0318, 0x0001, 0x0280, 0x0380, 0x0002, 0x0277, 0x0314, 0x0001, + 0x0332, 0x0248, 0x0001, 0x0257, 0x028C, 0x0001, 0x0199, 0x031B, 0x0001, 0x0321, + 0x01B4, 0x0002, 0x02DF, 0x01D8, 0x0001, 0x03AD, 0x02DE, 0x0001, 0x0216, 0x01CC }, + { 0x0001, 0x02E9, 0x0318, 0x0001, 0x0280, 0x0380, 0x0002, 0x0277, 0x0314, 0x0001, + 0x0332, 0x0248, 0x0001, 0x0257, 0x028C, 0x0001, 0x0199, 0x031B, 0x0001, 0x0321, + 0x01B4, 0x0002, 0x02DF, 0x01D8, 0x0001, 0x03AD, 0x02DE, 0x0001, 0x0216, 0x01CC }, + { + 0x0002, 0x02F6, 0x0346, 0x0001, 0x0266, 0x033C, 0x0001, 0x0319, 0x0296, 0x0001, + 0x0284, 0x0284, 0x0002, 0x0216, 0x0284, 0x0001, 0x0142, 0x0330, 0x0002, 0x0179, + 0x039F, 0x0001, 0x03A6, 0x0280, 0x0001, 0x039A, 0x015D, 0x0001, 0x031E, 0x01E5, + }, + { 0x0001, 0x0296, 0x0314, 0x0001, 0x02E6, 0x0231, 0x0001, 0x0254, 0x0290, 0x0001, + 0x01F8, 0x0325, 0x0001, 0x0185, 0x0367, 0x0001, 0x0320, 0x01D6, 0x0002, 0x01F8, + 0x0287, 0x0002, 0x029D, 0x01B1, 0x0002, 0x01F9, 0x022D, 0x0002, 0x0114, 0x0321 }, + { 0x0002, 0x02F6, 0x0346, 0x0001, 0x0266, 0x033C, 0x0001, 0x0319, 0x0296, 0x0001, + 0x0284, 0x0284, 0x0002, 0x0216, 0x0284, 0x0001, 0x0142, 0x0330, 0x0002, 0x0179, + 0x039F, 0x0002, 0x022D, 0x01CB, 0x0001, 0x039A, 0x015D, 0x0001, 0x031E, 0x01E5 }, + { 0x0001, 0x02E9, 0x0318, 0x0001, 0x0280, 0x0380, 0x0002, 0x0277, 0x0314, 0x0001, + 0x0332, 0x0248, 0x0001, 0x0257, 0x028C, 0x0001, 0x0199, 0x031B, 0x0001, 0x0321, + 0x01B4, 0x0002, 0x02DF, 0x01D8, 0x0001, 0x03AD, 0x02DE, 0x0001, 0x0216, 0x01CC }, + { 0x0001, 0x02E9, 0x0318, 0x0002, 0x0280, 0x0380, 0x0002, 0x0277, 0x0314, 0x0001, + 0x0332, 0x0248, 0x0001, 0x0257, 0x028C, 0x0001, 0x0199, 0x031B, 0x0001, 0x0321, + 0x01B4, 0x0002, 0x02DF, 0x01D8, 0x0002, 0x03AD, 0x02DE, 0x0001, 0x0216, 0x01CC }, + { 0x0001, 0x004D, 0x00F3, 0x0001, 0x011A, 0x0247, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000 }, + { 0x0001, 0x0051, 0x0328, 0x0002, 0x0114, 0x0321, 0x0002, 0x0332, 0x0248, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000 } +}; + +static const u8 gUnk_08124EA0[] = { 0x3F, 0x0A, 0x01, 0x00, 0x3F, 0x0A, 0x01, 0x00, 0x3F, 0x14, 0x01, 0x00, 0x3F, 0x14, + 0x01, 0x00, 0x3F, 0x1E, 0x01, 0x00, 0x3F, 0x1E, 0x01, 0x00, 0x5C, 0x6E, 0x01, 0x00, + 0x5C, 0x6F, 0x01, 0x00, 0x5C, 0x70, 0x01, 0x00, 0x63, 0x00, 0x01, 0x00 }; + +static const u16 CuccoMinigame_Sounds[] = { SFX_VO_CUCCO5, SFX_VO_CUCCO_CALL }; + +static const u8 CuccoMinigameRupees[] = { 0, 10, 50, 0 }; + +void ObjectB9(ObjectB9Entity* this) { + int index; + u32 val; + u8* puVar2; + const u16* ptr; + + if (super->action == 0) { + super->action++; + ptr = gUnk_08124C20 + sub_080A1514() * 2; + this->unk68 = ptr[0] * 0x3c; + this->unk6a = 0; + this->unk6c = ptr[1]; + this->unk6e = 1; + + for (puVar2 = this->unk70, val = 0, index = 9; index >= 0; index--) { + *puVar2++ = val; + } + sub_0807DD64(super); + sub_0806EC20(super); + } + sub_0807DD94(super, 0); +} + +NONMATCH("asm/non_matching/objectB9/sub_080A1270.inc", void sub_080A1270(ObjectB9Entity* this)) { + s32 iVar1; + int iVar2; + s32 iVar4; + s32 sVar6; + int iVar7; + s8* ptr; + s32 val; + Entity* pEnt; + Entity** entArray; + + sVar6 = 0; + entArray = ((Entity**)super->myHeap); + ptr = this->unk70; + iVar1 = (gRoomControls.origin_x + 0x360); + iVar4 = (gRoomControls.origin_y + 0x350); + iVar1 = (iVar1 << 16) >> 16; + iVar4 = (iVar4 << 16) >> 16; + val = -1; + + for (iVar7 = 0; iVar7 < 9; iVar7++) { + pEnt = entArray[iVar7]; + if (((s8*)ptr)[iVar7] == 0) { + if (pEnt->next != NULL && pEnt != NULL) { + if ((iVar1 <= pEnt->x.HALF.HI) && (iVar4 <= pEnt->y.HALF.HI)) { + ptr[iVar7] = pEnt->type + 1; + pEnt->type2 = 1; + sVar6++; + SoundReq(CuccoMinigame_Sounds[pEnt->type]); + } + } else { + ((s8*)ptr)[iVar7] = val; + } + } else if (0 < (s8)ptr[iVar7]) { + sVar6++; + if (pEnt->next != NULL && pEnt != NULL) { + iVar2 = iVar1 + 4; + if (iVar2 > pEnt->x.HALF.HI) { + pEnt->x.HALF.HI = iVar2; + } + iVar2 = iVar4 + 4; + if (iVar2 > pEnt->y.HALF.HI) { + pEnt->y.HALF.HI = iVar2; + } + } else { + ((s8*)ptr)[iVar7] = val; + } + } + } + + this->unk6a = sVar6; + gPlayerState.field_0x27[0] = 0xff; + if (--this->unk68 < 1) { + SoundReq(SFX_CUCCO_MINIGAME_BELL); + sub_08050384(); + } else { + gActiveScriptInfo.commandSize = 0; + } +} +END_NONMATCH + +void CuccoMinigame_Cleanup(ObjectB9Entity* this) { + Entity** puVar1; + s8* pcVar2; + int index; + + pcVar2 = this->unk70; + puVar1 = super->myHeap; + + for (index = 9; index >= 0; index--, pcVar2++, puVar1++) { + Entity* pEnt = *puVar1; + if (*pcVar2 >= 0 && pEnt != NULL) { + DeleteEntityAny(pEnt); + } + } +} + +void sub_080A13B4(ObjectB9Entity* this, ScriptExecutionContext* context) { + if (this->unk6a >= this->unk6c) { + MessageFromTarget(0x300c); + context->condition = 1; + } else { + MessageFromTarget(0x3005); + context->condition = 0; + } +} + +void sub_080A13E8(ObjectB9Entity* this) { + bool32 bVar2; + const u8* ptr = &gUnk_08124EA0[sub_080A1514() * 4]; + + bVar2 = 0; + switch (ptr[0]) { + case 0x3f: + if (gSave.stats.hasAllFigurines) { + bVar2 = 1; + } + break; + case 0x5c: + if (gSave.didAllFusions) { + bVar2 = 1; + } + break; + case 0x63: + if (!CheckGlobalFlag(0x4f)) { + SetGlobalFlag(0x4f); + break; + } + bVar2 = 1; + break; + } + + if (!bVar2) { + sub_080A7C18(ptr[0], ptr[1], 0); + } else { + this->unk6e = 2; + } +} + +void sub_080A1460(ObjectB9Entity* this) { + s8* pcVar1; + int iVar2; + s32 rupees; + const u8* ptr; + + sub_080A1514(); + pcVar1 = this->unk70; + rupees = 0; + ptr = CuccoMinigameRupees; + + for (iVar2 = 9; iVar2 >= 0; iVar2--) { + // Weird register addition + // ptr[*pcVar1] translates to add r0,r3,r0 but should be add r0,r3 + u32 temp = *pcVar1; + temp += (int)ptr; + rupees += *(u8*)temp; + pcVar1++; + } + ModRupees(rupees); + MessageNoOverlap(0x3007, super); + gMessage.rupees = (u16)rupees; +} + +void sub_080A14A8(void) { + int iVar1; + + iVar1 = sub_080A1514(); + iVar1++; + if (iVar1 > 9) { + iVar1 = 9; + } + + if (iVar1 & 1) { + SetGlobalFlag(0x4b); + } else { + ClearGlobalFlag(0x4b); + } + + if (iVar1 & 2) { + SetGlobalFlag(0x4c); + } else { + ClearGlobalFlag(0x4c); + } + + if (iVar1 & 4) { + SetGlobalFlag(0x4d); + } else { + ClearGlobalFlag(0x4d); + } + + if (iVar1 & 8) { + SetGlobalFlag(0x4e); + } else { + ClearGlobalFlag(0x4e); + } +} + +u32 sub_080A1514(void) { + u32 rv = 0; + + if (CheckGlobalFlag(0x4b)) { + rv = 1; + } + + if (CheckGlobalFlag(0x4c)) { + rv |= 2; + } + + if (CheckGlobalFlag(0x4d)) { + rv |= 4; + } + + if (CheckGlobalFlag(0x4e)) { + rv |= 8; + } + return rv; +} + +void CuccoMinigame_Init(Entity* this, ScriptExecutionContext* context) { + Entity* pEnt; + const short* pCuccoMinigameDef; + int index; + Entity** ppEVar5; + RoomControls* room; + + context->condition = 0; + pEnt = CreateObject(CUCCO_MINIGAME, 0, 0); + if (pEnt != NULL) { + pEnt->myHeap = (u32*)zMalloc(sizeof(ObjectB9Heap)); + if (pEnt->myHeap == NULL) { + DeleteEntityAny(pEnt); + } else { + *(ScriptExecutionContext**)&((GenericEntity*)pEnt)->cutsceneBeh = + (ScriptExecutionContext*)StartCutscene(pEnt, (u16*)context->intVariable); + pCuccoMinigameDef = pObjectB9_MinigameCuccoDefs[sub_080A1514()]; + ppEVar5 = (Entity**)pEnt->myHeap; + room = &gRoomControls; + for (index = 9; index >= 0; index--, pCuccoMinigameDef += 3) { + if (pCuccoMinigameDef[0] < 1) { + pEnt = NULL; + } else { + pEnt = (Entity*)CreateEnemy(CUCCO_AGGR, pCuccoMinigameDef[0] - 1); + if (pEnt != NULL) { + pEnt->x.HALF.HI = room->origin_x + pCuccoMinigameDef[1]; + pEnt->y.HALF.HI = room->origin_y + pCuccoMinigameDef[2]; + pEnt->collisionLayer = 1; + } + } + *ppEVar5++ = pEnt; + } + context->condition = 1; + } + } +} + +void sub_080A1608(void) { + u16 messageIndex; + const u16* ptr; + + messageIndex = 0x3002; + if (CheckRoomFlag(1)) { + messageIndex = 0x3006; + } + MessageFromTarget(messageIndex); + gMessage.textWindowPosX = 1; + gMessage.textWindowPosY = 0; + ptr = &gUnk_08124C20[sub_080A1514() * 2]; + gMessage.rupees = ptr[0]; + gMessage.field_0x14 = ptr[1]; +} + +void sub_080A1648(void) { + SetTileType(0x407f, 0xd36, 1); + SetTileType(0x407f, 0xd37, 1); + SetTileType(0x407f, 0xd38, 1); + SetTileType(0x407e, 0xd75, 1); + SetTileType(0x407e, 0xe75, 1); +} + +void sub_080A169C(void) { + sub_0807BA8C(0xd36, 1); + sub_0807BA8C(0xd37, 1); + sub_0807BA8C(0xd38, 1); + sub_0807BA8C(0xd75, 1); + sub_0807BA8C(0xe75, 1); +} diff --git a/src/object/figurineDevice.c b/src/object/figurineDevice.c index df7dbdc5..a9efe80c 100644 --- a/src/object/figurineDevice.c +++ b/src/object/figurineDevice.c @@ -303,7 +303,7 @@ void FigurineDevice_Action4(FigurineDeviceEntity* this) { gMessage.textWindowPosX = 1; gMessage.textWindowPosY = 0xc; #endif - gMessage.field_0x10 = this->unk_81; + gMessage.rupees = this->unk_81; break; } } @@ -417,9 +417,9 @@ void sub_080882A8(FigurineDeviceEntity* this) { sub_08057044(this->unk_83, &gUnk_020227E8[1], 0x202020); ptr = (u8*)0x02000000; if (ptr[7] == 0) { - sub_0805F46C((u32)gUnk_08120AE4[super->type2], &gUnk_08120AB4); + sub_0805F46C((u32)gUnk_08120AE4[super->type2], (Font*)&gUnk_08120AB4); // TODO convert data } else { - sub_0805F46C((u32)gUnk_08120AE4[super->type2], &gUnk_08120ACC); + sub_0805F46C((u32)gUnk_08120AE4[super->type2], (Font*)&gUnk_08120ACC); // TODO convert data } gScreen.bg0.updated = 1; } @@ -477,7 +477,7 @@ void sub_08088478(void) { gMessage.textWindowPosX = 1; gMessage.textWindowPosY = 0xc; if (set0x10) { - gMessage.field_0x10 = 5; + gMessage.rupees = 5; } #ifndef EU gPlayerEntity.animationState = 6; diff --git a/src/object/fileScreenObjects.c b/src/object/fileScreenObjects.c index 7d2a295f..c7cac4e7 100644 --- a/src/object/fileScreenObjects.c +++ b/src/object/fileScreenObjects.c @@ -252,7 +252,7 @@ void sub_0808EABC(Entity* this) { void sub_0808EB74(Entity* this) { Entity* entity = sub_0808EC80(gMapDataBottomSpecial.unk6); - if (entity) { + if (entity != NULL) { this->x.WORD = entity->x.WORD; this->y.WORD = entity->y.WORD; this->spriteRendering.b3 = entity->spriteRendering.b3; @@ -305,7 +305,7 @@ void sub_0808EBB8(Entity* this) { // Fall through default: entity = sub_0808EC80(var0); - if (entity) { + if (entity != NULL) { SortEntityBelow(entity, this); this->spriteRendering.b3 = entity->spriteRendering.b3; x = entity->x.HALF.HI; diff --git a/src/object/fireballChain.c b/src/object/fireballChain.c new file mode 100644 index 00000000..ac5322b7 --- /dev/null +++ b/src/object/fireballChain.c @@ -0,0 +1,41 @@ +#define NENT_DEPRECATED +#include "global.h" +#include "entity.h" +#include "functions.h" +#include "projectile.h" +#include "projectile/winder.h" + +void FireballChain(Entity* thisx) { + WinderEntity* newSegment; + Entity* parent; + Entity* child; + s32 i; + s32 j; + + if (gEntCount > 0x42) { + return; + } + + for (i = 0; i < 5; i++) { + u16* tmp; + + newSegment = (WinderEntity*)CreateProjectile(WINDER); + if (i == 0) { + child = parent = &newSegment->base; + } + + newSegment->base.type = i; + newSegment->base.parent = parent; + newSegment->base.child = child; + CopyPosition(thisx, &newSegment->base); + + for (j = 0, tmp = newSegment->positions; j < WINDER_NUM_SEGMENTS; j++) { + *tmp++ = thisx->x.HALF.HI; + *tmp++ = thisx->y.HALF.HI; + } + + child = &newSegment->base; + } + + DeleteThisEntity(); +} diff --git a/src/object/floatingPlatform.c b/src/object/floatingPlatform.c index d62d7603..9701ba66 100644 --- a/src/object/floatingPlatform.c +++ b/src/object/floatingPlatform.c @@ -33,12 +33,11 @@ void sub_080860D8(FloatingPlatformEntity* this) { } void sub_0808611C(FloatingPlatformEntity* this) { - int iVar2; + bool32 iVar2 = sub_08086168(this); - iVar2 = sub_08086168(this); if (super->actionDelay != 0 && super->parent->actionDelay == 0) { - if (iVar2 != 0) { + if (iVar2) { super->parent->actionDelay++; } @@ -46,7 +45,7 @@ void sub_0808611C(FloatingPlatformEntity* this) { } else if (super->actionDelay == 0) { sub_080A2BE4(super, iVar2); } else { - sub_080A2BE4(super, 0); + sub_080A2BE4(super, FALSE); } if (--this->unk70 == 0) { diff --git a/src/object/gyorgBossObject.c b/src/object/gyorgBossObject.c index b63b8d81..ebbec424 100644 --- a/src/object/gyorgBossObject.c +++ b/src/object/gyorgBossObject.c @@ -10,7 +10,6 @@ extern const ScreenTransitionData gUnk_0813ABD0; -extern u32 sub_08079F8C(void); struct GyorgChildSpawns { s16 offsetX; s16 offsetY; diff --git a/src/object/houseDoorExterior.c b/src/object/houseDoorExterior.c index 1627c7e8..baadd362 100644 --- a/src/object/houseDoorExterior.c +++ b/src/object/houseDoorExterior.c @@ -53,7 +53,7 @@ void sub_080866D8(Entity* this) { if ((*((u32*)(&this->field_0x68)) & mask) == 0 && sub_080867CC(prop->unk5) && CheckRegionOnScreen(prop->unk0, prop->unk2, 32, 32)) { entity = CreateObject(HOUSE_DOOR_EXT, prop->unk7, prop->unk6); - if (entity) { + if (entity != NULL) { entity->field_0x6c.HALF.LO = i; entity->x.HALF.HI = gRoomControls.origin_x + prop->unk0 + 16; entity->y.HALF.HI = gRoomControls.origin_y + prop->unk2 + 32; @@ -157,7 +157,7 @@ static void sub_080868EC(Entity* entity, unk_80868EC* arg1) { void sub_0808692C(Entity* this) { this->flags &= ~ENT_SCRIPTED; this->type2 = 2; - this->action = this->frameIndex == 0 ? 1 : 2; + this->action = (this->frameIndex == 0) ? 1 : 2; this->subAction = 0; this->actionDelay = 8; } diff --git a/src/object/lilypadSmall.c b/src/object/lilypadSmall.c index ce03ff99..eed1578f 100644 --- a/src/object/lilypadSmall.c +++ b/src/object/lilypadSmall.c @@ -4,7 +4,7 @@ extern u16 gUnk_08123318[]; static void sub_08097B24(Entity* this); -static u32 sub_08097ADC(Entity* this); +static bool32 sub_08097ADC(Entity* this); void LilypadSmall(Entity* this) { u32 rand; @@ -29,19 +29,19 @@ void LilypadSmall(Entity* this) { } } -static u32 sub_08097ADC(Entity* this) { - if ((gPlayerState.flags & PL_MINISH) == 0) { - return 0; +static bool32 sub_08097ADC(Entity* this) { + if (!(gPlayerState.flags & PL_MINISH)) { + return FALSE; } else if (EntityInRectRadius(this, &gPlayerEntity, 8, 8) == 0) { - return 0; - } else if (sub_08079F8C() == 0) { - return 0; + return FALSE; + } else if (!sub_08079F8C()) { + return FALSE; } else { gPlayerState.field_0x14 = 1; if (gPlayerEntity.z.HALF.HI != 0) { - return 0; + return FALSE; } else { - return 1; + return TRUE; } } } @@ -52,7 +52,7 @@ static void sub_08097B24(Entity* this) { u16* temp3; if (--this->actionDelay == 0) { - this->actionDelay = 0x5a; + this->actionDelay = 90; this->frameIndex = (this->frameIndex + 1) & 3; } temp3 = gUnk_08123318; diff --git a/src/object/mazaalBossObject.c b/src/object/mazaalBossObject.c new file mode 100644 index 00000000..adc3ab6d --- /dev/null +++ b/src/object/mazaalBossObject.c @@ -0,0 +1,207 @@ +#define NENT_DEPRECATED +#include "global.h" +#include "entity.h" +#include "enemy.h" +#include "functions.h" +#include "item.h" +#include "object.h" +#include "player.h" +#include "new_player.h" +#include "room.h" +#include "screen.h" +#include "sound.h" + +extern u16 script_Object89Mazaal[]; + +typedef struct { + /* 0x00 */ Entity base; + /* 0x68 */ u8 unk_68[0x1C]; + /* 0x84 */ ScriptExecutionContext* cutsceneBeh; +} MazaalBossObjectEntity; + +enum MazaalBossObjectActions { + /* 0 */ MAZAAL_BOSS_OBJECT_ACTION_0, + /* 1 */ MAZAAL_BOSS_OBJECT_ACTION_1, + /* 2 */ MAZAAL_BOSS_OBJECT_ACTION_2, + /* 3 */ MAZAAL_BOSS_OBJECT_ACTION_3, + /* 4 */ MAZAAL_BOSS_OBJECT_ACTION_4, + /* 5 */ MAZAAL_BOSS_OBJECT_ACTION_5, + /* 6 */ MAZAAL_BOSS_OBJECT_ACTION_6, + /* 7 */ MAZAAL_BOSS_OBJECT_ACTION_7, + /* 8 */ MAZAAL_BOSS_OBJECT_ACTION_8, +}; + +void MazaalBossObject_Action0(MazaalBossObjectEntity* this); // 0809AB04 +void MazaalBossObject_Action1(MazaalBossObjectEntity* this); // 0809ABA4 +void MazaalBossObject_Action2(MazaalBossObjectEntity* this); // 0809ABB0 +void MazaalBossObject_Action3(MazaalBossObjectEntity* this); // 0809ABD4 +void MazaalBossObject_Action4(MazaalBossObjectEntity* this); // 0809ABF4 +void MazaalBossObject_Action5(MazaalBossObjectEntity* this); // 0809AC3C +void MazaalBossObject_Action6(MazaalBossObjectEntity* this); // 0809ACA0 +void MazaalBossObject_Action7(MazaalBossObjectEntity* this); // 0809ACCC +void MazaalBossObject_Action8(MazaalBossObjectEntity* this); // 0809ACE8 +void sub_0809AD68(MazaalBossObjectEntity* this); // 0809AD68 +void sub_0809AD8C(MazaalBossObjectEntity* this); // 0809AD8C + +void MazaalBossObject(Entity* thisx) { + static void (*const MazaalBossObject_Actions[])(MazaalBossObjectEntity*) = { + MazaalBossObject_Action0, MazaalBossObject_Action1, MazaalBossObject_Action2, + MazaalBossObject_Action3, MazaalBossObject_Action4, MazaalBossObject_Action5, + MazaalBossObject_Action6, MazaalBossObject_Action7, MazaalBossObject_Action8, + }; + + MazaalBossObject_Actions[thisx->action]((MazaalBossObjectEntity*)thisx); +} + +void MazaalBossObject_Action0(MazaalBossObjectEntity* this) { + Entity* mazaalHead; + + if (CheckFlags(0x31)) { + sub_0809AD68(this); + sub_0809AD8C(this); + DeleteThisEntity(); + } + + mazaalHead = CreateEnemy(MAZAAL_HEAD, 0); + if (mazaalHead == NULL) { + return; + } + + CopyPosition(super, mazaalHead); + super->child = mazaalHead; + + if (gRoomTransition.field_0x38 != 0) { + if (gRoomTransition.field_0x39 != 0) { + DeleteThisEntity(); + } + + super->action = MAZAAL_BOSS_OBJECT_ACTION_7; + super->spriteSettings.draw = 0; + gRoomControls.camera_target = super; + sub_080809D4(); + } else { + super->action = MAZAAL_BOSS_OBJECT_ACTION_1; + super->actionDelay = 30; + super->frameIndex = gRoomTransition.field_0x38; + super->spritePriority.b0 = 7; + super->spriteOffsetY = 0x20; + + this->cutsceneBeh = StartCutscene(super, script_Object89Mazaal); + } +} + +void MazaalBossObject_Action1(MazaalBossObjectEntity* this) { + ExecuteScriptForEntity(super, NULL); +} + +void MazaalBossObject_Action2(MazaalBossObjectEntity* this) { + if (--super->actionDelay == 0) { + super->action = MAZAAL_BOSS_OBJECT_ACTION_3; + super->actionDelay = 120; + gRoomControls.camera_target = super->child; + } +} + +void MazaalBossObject_Action3(MazaalBossObjectEntity* this) { + if (--super->actionDelay == 0) { + super->action = MAZAAL_BOSS_OBJECT_ACTION_4; + super->actionDelay = 90; + super->child->subAction = 1; + } +} + +void MazaalBossObject_Action4(MazaalBossObjectEntity* this) { + if (super->child->subAction > 2) { + if (--super->actionDelay == 0) { + super->action = MAZAAL_BOSS_OBJECT_ACTION_5; + super->actionDelay = 8; + super->field_0xf = 0; + super->spriteRendering.alphaBlend = BLDALPHA_BLEND(1, 0); + + gScreen.controls.layerFXControl = + BLDCNT_TGT2_BG3 | BLDCNT_TGT2_BG2 | BLDCNT_TGT2_BG1 | BLDCNT_TGT2_BG0 | BLDCNT_EFFECT_BLEND; + gScreen.controls.alphaBlend = BLDALPHA_BLEND(0x10, 0); + } + } +} + +void MazaalBossObject_Action5(MazaalBossObjectEntity* this) { + u32 tmp; + + if (--super->actionDelay == 0) { + super->actionDelay = 8; + + tmp = ++super->field_0xf; + tmp &= 0xFF; + gScreen.controls.alphaBlend = BLDALPHA_BLEND((0x10 - tmp) & 0xFF, tmp); + + if (super->field_0xf > 15) { + super->spriteRendering.alphaBlend = BLDALPHA_BLEND(4, 0); + gScreen.controls.layerFXControl = 0; + super->action = MAZAAL_BOSS_OBJECT_ACTION_6; + super->actionDelay = 15; + super->spriteSettings.draw = 0; + } + } +} + +void MazaalBossObject_Action6(MazaalBossObjectEntity* this) { + if (--super->actionDelay == 0) { + super->child->subAction = 6; + gRoomTransition.field_0x38 = 0xF1; + + DeleteEntity(super); + } +} + +void MazaalBossObject_Action7(MazaalBossObjectEntity* this) { + if (super->child->actionDelay == 1) { + super->action = MAZAAL_BOSS_OBJECT_ACTION_8; + super->subAction = 0; + super->actionDelay = 180; + } +} + +void MazaalBossObject_Action8(MazaalBossObjectEntity* this) { + switch (super->subAction) { + default: + if (--super->actionDelay == 0) { + super->actionDelay = 90; + super->subAction = 1; + SoundReq(SFX_SECRET_BIG); + SetFlag(0x31); + sub_0809AD8C(this); + } + break; + case 1: + if (--super->actionDelay == 0) { + super->actionDelay = 120; + super->subAction = 2; + sub_0809AD68(this); + } + break; + case 2: + if (--super->actionDelay == 0) { + gRoomControls.camera_target = &gNewPlayerEntity.base; + gPlayerState.controlMode = CONTROL_1; + DeleteThisEntity(); + } + break; + } +} + +void sub_0809AD68(MazaalBossObjectEntity* this) { + LoadRoomEntityList(GetCurrentRoomProperty(super->type)); + if (GetInventoryValue(ITEM_OCARINA) != 0) { + LoadRoomEntityList(GetCurrentRoomProperty(super->type2)); + } +} + +void sub_0809AD8C(MazaalBossObjectEntity* this) { + Entity* archway = CreateObject(ARCHWAY, 0x22, 0); + + if (archway != NULL) { + archway->x.HALF.HI = gRoomControls.origin_x + 0xB8; + archway->y.HALF.HI = gRoomControls.origin_y + 8; + } +} diff --git a/src/object/minecart.c b/src/object/minecart.c index ddd5d8f1..608c7e51 100644 --- a/src/object/minecart.c +++ b/src/object/minecart.c @@ -1,67 +1,82 @@ +#define NENT_DEPRECATED #include "object.h" #include "functions.h" #include "hitbox.h" -extern u32 sub_08091DDC(Entity*); +typedef struct { + Entity base; + u8 filler[0x1C]; + struct_030010EC* minecartData; +} MinecartEntity; + extern u32 sub_08007DD6(u32, u32); extern void sub_08017744(Entity*); -extern void sub_08091C0C(Entity*); -extern void (*const gUnk_081223A8[])(Entity*); +u32 sub_08091DDC(MinecartEntity*); +void sub_080916EC(MinecartEntity*); +void sub_080917DC(MinecartEntity*); +void sub_080918A4(MinecartEntity*); +void sub_080919AC(MinecartEntity*); +void sub_08091C0C(MinecartEntity*); +void sub_08091C98(MinecartEntity*); +void sub_08091CC8(MinecartEntity*); +void sub_08091D90(MinecartEntity*); -extern const s8 gUnk_081223C8[]; extern const u32 gUnk_081223D8[]; void Minecart(Entity* this) { - gUnk_081223A8[this->action](this); + static void (*const actionFuncs[])(MinecartEntity*) = { + sub_080916EC, sub_080917DC, sub_080918A4, sub_080919AC, sub_08091C0C, sub_08091C98, sub_08091CC8, sub_08091D90, + }; + actionFuncs[this->action]((MinecartEntity*)this); this->bitfield = 0; } -void sub_080916EC(Entity* this) { - struct_030010EC* unk = &gRoomTransition.minecart_data[this->actionDelay]; +void sub_080916EC(MinecartEntity* this) { + struct_030010EC* unk = &gRoomTransition.minecart_data[super->actionDelay]; - *(struct_030010EC**)&this->cutsceneBeh.HWORD = unk; - if ((gRoomControls.room != unk->field_0x4) || (gPlayerState.flags & PL_IN_MINECART) != 0) { + this->minecartData = unk; + if ((gRoomControls.room != unk->room) || (gPlayerState.flags & PL_IN_MINECART) != 0) { DeleteThisEntity(); } - this->x.HALF.HI = gRoomControls.origin_x + ((unk->field_0x0 & 0x3f) << 4) + 8; - this->y.HALF.HI = gRoomControls.origin_y + ((unk->field_0x0 & 0xfc << 4) >> 2) + 8; - this->animationState = unk->field_0x5; - this->type2 = unk->field_0x6; - this->action = 1; - this->hitbox = (Hitbox*)&gUnk_080FD310; - COLLISION_ON(this); - this->hitType = 1; - this->field_0x3c = 0x47; - this->hurtType = 0x44; - this->flags2 = 0x80; - this->direction = DirectionFromAnimationState(this->animationState); - this->speed = 0x700; - this->spritePriority.b1 = 3; - InitAnimationForceUpdate(this, this->type2 + 4 + this->animationState); - SetTile(0x4022, COORD_TO_TILE(this), this->collisionLayer); + super->x.HALF.HI = gRoomControls.origin_x + ((unk->tilePos & 0x3f) << 4) + 8; + super->y.HALF.HI = gRoomControls.origin_y + ((unk->tilePos & 0xfc << 4) >> 2) + 8; + super->animationState = unk->animationState; + super->type2 = unk->field_0x6; + super->action = 1; + super->hitbox = (Hitbox*)&gUnk_080FD310; + COLLISION_ON(super); + super->hitType = 1; + super->field_0x3c = 0x47; + super->hurtType = 0x44; + super->flags2 = 0x80; + super->direction = DirectionFromAnimationState(super->animationState); + super->speed = 0x700; + super->spritePriority.b1 = 3; + InitAnimationForceUpdate(super, super->type2 + 4 + super->animationState); + SetTile(0x4022, COORD_TO_TILE(super), super->collisionLayer); } -void sub_080917DC(Entity* this) { - if ((this->bitfield & 0x7f) == 0x1d) { - this->zVelocity = Q_16_16(2.625); - this->action = 7; - InitAnimationForceUpdate(this, this->type2 + 4 + this->animationState); +void sub_080917DC(MinecartEntity* this) { + if ((super->bitfield & 0x7f) == 0x1d) { + super->zVelocity = Q_16_16(2.625); + super->action = 7; + InitAnimationForceUpdate(super, super->type2 + 4 + super->animationState); SoundReq(SFX_13B); } else { - if (sub_0800445C(this) != 0) { + if (sub_0800445C(super) != 0) { if (!((gPlayerState.flags & (PL_MINISH | PL_ROLLING)) || gPlayerState.field_0x1c || gPlayerState.heldObject || gPlayerState.jump_status)) { - this->actionDelay++; + super->actionDelay++; } else { - this->actionDelay = 0; + super->actionDelay = 0; } } else { - this->actionDelay = 0; + super->actionDelay = 0; } - if (this->type2 == 0) { - if (this->actionDelay > 8) { - this->action++; + if (super->type2 == 0) { + if (super->actionDelay > 8) { + super->action++; gPlayerState.jump_status = 0x81; gPlayerState.flags |= PL_ENTER_MINECART; gPlayerEntity.zVelocity = Q_16_16(2.0); @@ -72,100 +87,102 @@ void sub_080917DC(Entity* this) { SoundReq(SFX_PLY_JUMP); } } else { - this->actionDelay = 0; + super->actionDelay = 0; } } } -void sub_080918A4(Entity* this) { - if (EntityInRectRadius(this, &gPlayerEntity, 2, 2) != 0) { - gPlayerEntity.x.HALF.HI = this->x.HALF.HI; - gPlayerEntity.y.HALF.HI = this->y.HALF.HI; +void sub_080918A4(MinecartEntity* this) { + if (EntityInRectRadius(super, &gPlayerEntity, 2, 2) != 0) { + gPlayerEntity.x.HALF.HI = super->x.HALF.HI; + gPlayerEntity.y.HALF.HI = super->y.HALF.HI; if (gPlayerEntity.z.HALF.HI > -0x10) { if (gPlayerEntity.zVelocity >= 0) { return; } - gPlayerEntity.animationState = this->animationState << 1; + gPlayerEntity.animationState = super->animationState << 1; gPlayerState.flags = (gPlayerState.flags ^ PL_ENTER_MINECART) | PL_IN_MINECART; - this->action++; - this->field_0xf = 1; - this->flags |= ENT_PERSIST; - this->hitType = 0x97; - this->field_0x3c = (gPlayerEntity.field_0x3c + 1) | 0x20; - this->flags2 = gPlayerEntity.flags2; - this->hurtType = 0x18; - this->damage = 8; - sub_0801766C(this); - RestorePrevTileEntity(COORD_TO_TILE(this), this->collisionLayer); + super->action++; + super->field_0xf = 1; + super->flags |= ENT_PERSIST; + super->hitType = 0x97; + super->field_0x3c = (gPlayerEntity.field_0x3c + 1) | 0x20; + super->flags2 = gPlayerEntity.flags2; + super->hurtType = 0x18; + super->damage = 8; + sub_0801766C(super); + RestorePrevTileEntity(COORD_TO_TILE(super), super->collisionLayer); SoundReq(SFX_137); } } else { - gPlayerEntity.direction = GetFacingDirection(&gPlayerEntity, this); + gPlayerEntity.direction = GetFacingDirection(&gPlayerEntity, super); } if (gPlayerEntity.zVelocity < 0) { - gPlayerEntity.spritePriority.b0 = this->spritePriority.b0 - 1; + gPlayerEntity.spritePriority.b0 = super->spritePriority.b0 - 1; } } -void sub_080919AC(Entity* this) { +void sub_080919AC(MinecartEntity* this) { + static const s8 gUnk_081223C8[] = { 0, -7, 7, 0, 0, 7, -7, 0 }; + u32 iVar2; u32 uVar3; gRoomControls.unk5 = 7; if ((gPlayerState.flags & PL_IN_MINECART) == 0) { - this->action = 1; + super->action = 1; return; } if ((gPlayerEntity.frame & 0xf) == 0) { - COLLISION_OFF(this); - CopyPosition(this, &gPlayerEntity); + COLLISION_OFF(super); + CopyPosition(super, &gPlayerEntity); if ((gPlayerEntity.frame & 0xf0) == 0x10) { - this->spriteOffsetY = 1; + super->spriteOffsetY = 1; } else { - this->spriteOffsetY = 0; + super->spriteOffsetY = 0; } } else { - COLLISION_ON(this); + COLLISION_ON(super); gPlayerEntity.speed = 0; - LinearMoveUpdate(this); - CopyPosition(this, &gPlayerEntity); - gPlayerEntity.spritePriority.b0 = this->spritePriority.b0 - 1; + LinearMoveUpdate(super); + CopyPosition(super, &gPlayerEntity); + gPlayerEntity.spritePriority.b0 = super->spritePriority.b0 - 1; if (!sub_08091DDC(this)) { if ((gRoomTransition.frameCount & 0xf) == 0) { SoundReq(SFX_138); } - if (--this->field_0xf == 0xff) { + if (--super->field_0xf == 0xff) { SoundReq(SFX_PLY_VO7); - this->field_0xf = 0x3c; + super->field_0xf = 0x3c; } - uVar3 = GetRelativeCollisionTile(this, gUnk_081223C8[this->animationState * 2], - gUnk_081223C8[this->animationState * 2 + 1]); - iVar2 = sub_08007DD6(uVar3, gUnk_081223D8[this->animationState]); + uVar3 = GetRelativeCollisionTile(super, gUnk_081223C8[super->animationState * 2], + gUnk_081223C8[super->animationState * 2 + 1]); + iVar2 = sub_08007DD6(uVar3, gUnk_081223D8[super->animationState]); if (iVar2 == 0) { - this->direction = DirectionTurnAround(this->direction); - this->animationState = AnimationStateFlip90(this->animationState); + super->direction = DirectionTurnAround(super->direction); + super->animationState = AnimationStateFlip90(super->animationState); } else { switch (uVar3) { case 0x64: - this->flags &= ~ENT_PERSIST; - this->hitType = 1; - this->field_0x3c = 0x47; - this->hurtType = 0x44; - this->flags2 = 0x80; - this->action = 6; - sub_08017744(this); + super->flags &= ~ENT_PERSIST; + super->hitType = 1; + super->field_0x3c = 0x47; + super->hurtType = 0x44; + super->flags2 = 0x80; + super->action = 6; + sub_08017744(super); gPlayerState.jump_status = 0x41; gPlayerState.flags = (gPlayerState.flags ^ PL_IN_MINECART) | PL_ENTER_MINECART; gPlayerEntity.zVelocity = Q_16_16(2.0); gPlayerEntity.speed = 0x200; - gPlayerEntity.animationState = this->animationState << 1; - gPlayerEntity.direction = this->direction; + gPlayerEntity.animationState = super->animationState << 1; + gPlayerEntity.direction = super->direction; gPlayerEntity.flags |= PL_MINISH; - sub_08004168(this); - InitAnimationForceUpdate(this, this->animationState + 0xc); + sub_08004168(super); + InitAnimationForceUpdate(super, super->animationState + 0xc); SoundReq(SFX_PLY_VO4); SoundReq(SFX_139); return; @@ -177,21 +194,135 @@ void sub_080919AC(Entity* this) { case 0x6d: case 0x6e: case 0x6f: - if (uVar3 == GetTileUnderEntity(this)) { + if (uVar3 == GetTileUnderEntity(super)) { sub_08091C0C(this); - gPlayerEntity.animationState = this->animationState << 1; + gPlayerEntity.animationState = super->animationState << 1; return; } break; } } - gPlayerEntity.animationState = this->animationState << 1; - if (this->animIndex == this->animationState) { - UpdateAnimationSingleFrame(this); + gPlayerEntity.animationState = super->animationState << 1; + if (super->animIndex == super->animationState) { + UpdateAnimationSingleFrame(super); } else { - InitAnimationForceUpdate(this, this->animationState); + InitAnimationForceUpdate(super, super->animationState); } } } } + +void sub_08091C0C(MinecartEntity* this) { + sub_08004168(super); + CopyPosition(super, &gPlayerEntity); + switch (GetTileUnderEntity(super)) { + case 0x67: + if (super->direction == DirectionWest) { + super->direction = DirectionNorth; + super->animationState = 0; + } else { + super->direction = DirectionEast; + super->animationState = 1; + } + break; + case 0x68: + if (super->direction == DirectionEast) { + super->direction = DirectionSouth; + super->animationState = 2; + } else { + super->direction = DirectionWest; + super->animationState = 3; + } + break; + case 0x69: + if (super->direction == DirectionEast) { + super->direction = DirectionNorth; + super->animationState = 0; + } else { + super->direction = DirectionWest; + super->animationState = 3; + } + break; + case 0x6a: + if (super->direction == DirectionWest) { + super->direction = DirectionSouth; + super->animationState = 2; + } else { + super->direction = DirectionEast; + super->animationState = 1; + } + break; + default: + super->action = 3; + return; + } + + super->action = 3; + gPlayerEntity.animationState = super->animationState << 1; +} + +void sub_08091C98(MinecartEntity* this) { + LinearMoveUpdate(super); + CopyPosition(super, &gPlayerEntity); + if (gRoomControls.reload_flags == 0) { + super->action = 3; + super->speed = 0x700; + gRoomControls.camera_target = &gPlayerEntity; + } +} + +void sub_08091CC8(MinecartEntity* this) { + struct_030010EC* minecartData; + + if (gPlayerState.jump_status == 0) { + super->action = 1; + super->direction = DirectionTurnAround(super->direction); + super->animationState ^= 2; + gPlayerState.flags ^= PL_ENTER_MINECART; + minecartData = this->minecartData; + minecartData->tilePos = COORD_TO_TILE(super); + minecartData->room = gRoomControls.room; + minecartData->animationState = super->animationState; + InitAnimationForceUpdate(super, super->animationState + 0x10); + SetTile(0x4022, COORD_TO_TILE(super), super->collisionLayer); + } else { + UpdateAnimationSingleFrame(super); + gPlayerEntity.spritePriority.b0 = super->spritePriority.b0 - 1; + } +} + +void sub_08091D90(MinecartEntity* this) { + if (super->zVelocity < 0) { + UpdateAnimationSingleFrame(super); + } + if (((super->frame & 0x7f) == 0) && GravityUpdate(super, 0x2000) == 0) { + super->type2 ^= 4; + super->action = 1; + this->minecartData->field_0x6 = super->type2; + SoundReq(SFX_13C); + } +} + +bool32 sub_08091DDC(MinecartEntity* this) { + static const s8 gUnk_081223D0[] = { 0, -8, 8, 0, 0, 8, -8, 0 }; + if ((sub_080B1AF0(super, gUnk_081223D0[super->animationState * 2], gUnk_081223D0[super->animationState * 2 + 1]) == + 0xff) && + (sub_0807BD14(&gPlayerEntity, super->animationState))) { + super->updatePriority = 6; + super->action = 5; + switch (super->direction) { + case 0: + case 8: + case 0x10: + case 0x18: + super->speed = 0xa0; + break; + } + gPlayerEntity.direction = super->direction; + gRoomControls.camera_target = super; + return 1; + } else { + return 0; + } +} diff --git a/src/object/object49.c b/src/object/object49.c index 1b74b298..4eca5e6e 100644 --- a/src/object/object49.c +++ b/src/object/object49.c @@ -195,7 +195,7 @@ void sub_0808F3DC(Entity* this) { if (this->type == 5 && (this->frame & 1)) { Entity* entity = CreateObjectWithParent(this->child, 0x49, 8, 0); - if (entity) { + if (entity != NULL) { entity->parent = this->parent; entity->child = this->parent->parent; } @@ -262,19 +262,19 @@ void sub_0808F554(Entity* this) { void sub_0808F5EC(Entity* this) { Entity* entity = CreateObjectWithParent(this->child, 0x49, 5, 0); - if (entity) { + if (entity != NULL) { entity->parent = this; entity->child = this->child; } entity = CreateObjectWithParent(this->child, 0x49, 6, 0); - if (entity) { + if (entity != NULL) { entity->parent = this; entity->child = this->child; } entity = CreateObjectWithParent(this->child, 0x49, 7, 0); - if (entity) { + if (entity != NULL) { entity->parent = this; entity->child = this->child; } diff --git a/src/object/object96.c b/src/object/object96.c new file mode 100644 index 00000000..2ffac509 --- /dev/null +++ b/src/object/object96.c @@ -0,0 +1,181 @@ +#define NENT_DEPRECATED +#include "entity.h" +#include "player.h" +#include "asm.h" +#include "functions.h" +#include "sound.h" +#include "item.h" +#include "flags.h" +#include "effects.h" + +typedef struct _struct_gUnk_08123FB0 { + void (*const funcEnt)(Entity*); + bool32 (*const func)(Entity*, const struct _struct_gUnk_08123FB0*); + s8 unk08; + s8 unk09; + u8 unk0a; + u8 unk0b; + u8 unk0c; + u8 type; + u8 unk0e; + u8 unk0f; + s32 zVelocity; + u32 unk14; + s16 speed; + s16 y; + u16 flag; + u8 actionDelay; + u8 unk1f; +} struct_gUnk_08123FB0; + +static_assert(sizeof(struct_gUnk_08123FB0) == 0x20); + +void sub_0809D91C(Entity*); +bool32 sub_0809D93C(Entity*, const struct_gUnk_08123FB0*); +void Object96_Init(Entity*, const struct_gUnk_08123FB0*); +void Object96_Action1(Entity*, const struct_gUnk_08123FB0*); +void Object96_Action2(Entity*, const struct_gUnk_08123FB0*); +void Object96_Action3(Entity*, const struct_gUnk_08123FB0*); + +static const struct_gUnk_08123FB0 gUnk_08123FB0[] = { + { sub_0809D91C, sub_0809D93C, 0, 0, 0x30, 0x30, 0x1, 0x3c, 0x3c, 0x13, 0x10000, 0x1800, 0x60, 0x40, 0x4021, 0x1, + 0x0 }, + { sub_0809D91C, NULL, 0, 0, 0, 0, 0, 0x63, 0x63, 0x10, 0, 0x1800, 0, 0x18, +#if defined(JP) || defined(DEMO_JP) || defined(EU) + 0xCD, +#else + 0xd0, +#endif + 0, 0 }, + { sub_0809D91C, NULL, 0, 0, 0, 0, 0, 0x3c, 0x3c, 0xf, 0x10000, 0x1800, 0x60, 0x40, 0x4021, 0x1, 0x0 }, + { sub_0809D91C, NULL, 0, 0, 0, 0, 0, 0x3c, 0x3c, 0x2, 0x10000, 0x1800, 0x140, 0x40, 0x4021, 0x1, 0x0 }, + { sub_0809D91C, NULL, 0, 0, 0, 0, 0x0, 0x3c, 0x3c, 0xd, 0x10000, 0x1800, 0x60, 0x40, 0x4021, 0x1, 0x0 }, + { sub_0809D91C, NULL, 0, 0, 0, 0, 0x0, 0x3c, 0x3c, 0x1a, 0x10000, 0x1800, 0x100, 0x40, 0x4021, 0x1, 0x0 }, + { sub_0809D91C, NULL, 0, 0, 0, 0, 0x0, 0x3c, 0x3c, 0x13, 0x10000, 0x1800, 0x60, 0x40, 0x4021, 0x1, 0x0 }, + { NULL, NULL, 0, 0, 0, 0, 0x0, 0x5c, 0x5c, 0x81, 0, 0x1800, 0x100, 0x20, 0x0, 0x1, 0x0 }, +}; + +void Object96(Entity* this) { + static void (*const actionFuncs[])(Entity*, const struct_gUnk_08123FB0*) = { + Object96_Init, + Object96_Action1, + Object96_Action2, + Object96_Action3, + }; + actionFuncs[this->action](this, &gUnk_08123FB0[this->type]); +} + +void Object96_Init(Entity* this, const struct_gUnk_08123FB0* param_2) { + u32 type; + u32 dir; + + this->action++; + this->collisionLayer = 2; + this->spriteRendering.b3 = 1; + this->zVelocity = param_2->zVelocity; + this->direction = param_2->unk0f; + this->speed = param_2->speed; + this->y.HALF.HI -= param_2->y; + this->z.WORD = 0; + this->actionDelay = param_2->actionDelay; + if ((this->direction & 0x80)) { + dir = this->direction; + if (dir == 0x81) { + this->direction = (((gPlayerEntity.animationState * 4 + (Random() & 3)) - 2) & 0x1f) ^ 0x10; + } + } + UpdateSpriteForCollisionLayer(this); + type = this->type; + sub_08080CB4(this); + this->type = type; +} + +void Object96_Action1(Entity* this, const struct_gUnk_08123FB0* param_2) { + u32 type; + s32 iVar3; + + iVar3 = 1; + if (param_2->func != NULL) { + iVar3 = param_2->func(this, param_2); + } + if (iVar3 != 0) { + this->action++; + this->y.HALF.HI += param_2->y; + this->z.HALF.HI -= param_2->y; + } + type = this->type; + this->type = param_2->type; + sub_08080CB4(this); + this->type = type; +} + +void Object96_Action2(Entity* this, const struct_gUnk_08123FB0* param_2) { + u8 type; + + LinearMoveUpdate(this); + if (sub_080044EC(this, param_2->unk14) < 2) { + if (this->actionDelay) { + this->actionDelay--; + this->zVelocity = param_2->unk14 << 3; + } else { + this->action++; + this->collisionLayer = gPlayerEntity.collisionLayer; + UpdateSpriteForCollisionLayer(this); + if (param_2->funcEnt != NULL) { + param_2->funcEnt(this); + } + } + SoundReq(SFX_RUPEE_BOUNCE); + } + type = this->type; + this->type = param_2->type; + sub_08080CB4(this); + this->type = type; +} + +void Object96_Action3(Entity* this, const struct_gUnk_08123FB0* param_2) { + u8 type; + + if (gPlayerState.flags & 0x80) { + sub_0800445C(this); + } else { + if (IsCollidingPlayer(this)) { + CreateItemEntity(param_2->type, this->type2, 0); + if (param_2->flag) { + SetFlag(param_2->flag); + } + DeleteThisEntity(); + } + } + type = this->type; + this->type = param_2->type; + sub_08080CB4(this); + this->type = type; +} + +void sub_0809D91C(Entity* this) { + Entity* fxEnt; + + fxEnt = CreateFx(this, FX_DASH, 0); + if (fxEnt != NULL) { + SortEntityBelow(this, fxEnt); + } + SoundReq(SFX_SECRET); +} + +bool32 sub_0809D93C(Entity* this, const struct_gUnk_08123FB0* param_2) { + u32 uVar1; + + if (gPlayerEntity.action == 6 && ((param_2->unk0c >> gPlayerEntity.animationState & 1) != 0)) { + uVar1 = (gPlayerEntity.x.HALF.HI - this->x.HALF.HI) + param_2->unk08 + param_2->unk0a; + if (param_2->unk0a * 2 <= (u16)uVar1) { + return 0; + } + + uVar1 = (gPlayerEntity.y.HALF.HI - (this->y.HALF.HI + param_2->y)) + param_2->unk09 + param_2->unk0b; + if (param_2->unk0b * 2 > (u16)uVar1) { + return 1; + } + } + return 0; +} diff --git a/src/object/object98.c b/src/object/object98.c new file mode 100644 index 00000000..798836dc --- /dev/null +++ b/src/object/object98.c @@ -0,0 +1,68 @@ +#define NENT_DEPRECATED +#include "entity.h" +#include "projectile.h" +#include "room.h" +#include "functions.h" + +typedef struct { + Entity base; + u8 filler[0xC]; + u16 unk74; + u16 unk76; + u8 filler2[0x6]; + u8 unk7e; +} Object98Entity; + +void sub_0809E360(Object98Entity*); +void sub_0809E3E4(Object98Entity*); + +void Object98(Entity* this) { + static void (*const actionFuncs[])(Object98Entity*) = { + sub_0809E360, + sub_0809E3E4, + }; + + actionFuncs[this->action]((Object98Entity*)this); +} + +void sub_0809E360(Object98Entity* this) { + u32 bVar1; + Entity* projEnt; + u32 index; + + if (8 < super->actionDelay) { + super->actionDelay = 8; + } + + if (0x48 - super->actionDelay > gEntCount) { + for (index = 0; index < super->actionDelay; index++) { + projEnt = CreateProjectile(GURUGURU_BAR_PROJECTILE); + projEnt->actionDelay = 14 + 12 * index; + projEnt->parent = super; + } + + super->action = 1; + bVar1 = this->unk7e; + this->unk76 = bVar1 << 8; + super->animationState = bVar1 << 6; + SetDefaultPriority(super, 0); + if (super->type != 0) { + super->child = (Entity*)GetCurrentRoomProperty(super->type); + sub_080A2CC0(super, (u16**)&super->child, &this->unk74); + } + } +} + +void sub_0809E3E4(Object98Entity* this) { + this->unk76 += super->type2; + super->animationState = this->unk76 >> 2; + if (super->type != 0) { + if ((super->direction & 0x80) == 0) { + LinearMoveUpdate(super); + } + + if (--this->unk74 == 0) { + sub_080A2CC0(super, (u16**)&super->child, &this->unk74); + } + } +} diff --git a/src/object/object99.c b/src/object/object99.c new file mode 100644 index 00000000..e8bf6a33 --- /dev/null +++ b/src/object/object99.c @@ -0,0 +1,39 @@ +#include "entity.h" +#include "coord.h" + +void Object99(Entity* this) { + Entity* parent; + + parent = this->parent; + if (parent->next == NULL) { + DeleteThisEntity(); + } + + if (this->action == 0) { + this->action = 1; + this->field_0x76.HALF.LO = parent->animationState; + this->field_0x74.HALF.LO = this->spriteOffsetX; + this->field_0x74.HALF.HI = this->spriteOffsetY; + InitializeAnimation(this, this->animationState); + } + + if (parent->animationState != this->field_0x76.HALF.LO) { + DeleteThisEntity(); + } + this->spriteSettings.draw = parent->spriteSettings.draw; + CopyPositionAndSpriteOffset(parent, this); + this->spriteOffsetX += this->field_0x74.HALF.LO; + this->spriteOffsetY += this->field_0x74.HALF.HI; + if (this->animationState != 2) { + this->y.HALF.HI++; + this->spriteOffsetY--; + } else { + this->y.HALF.HI--; + this->spriteOffsetY++; + } + + GetNextFrame(this); + if (this->frame & 0x80) { + DeleteThisEntity(); + } +} diff --git a/src/object/objectA6.c b/src/object/objectA6.c new file mode 100644 index 00000000..fc77a54e --- /dev/null +++ b/src/object/objectA6.c @@ -0,0 +1,51 @@ +#define NENT_DEPRECATED +#include "entity.h" +#include "flags.h" +#include "hitbox.h" +#include "effects.h" + +typedef struct { + Entity base; + u8 filler[0x1E]; + u16 objFlags; +} ObjectA6Entity; + +void sub_0809F920(ObjectA6Entity*); +void sub_0809F964(ObjectA6Entity*); + +void ObjectA6(Entity* this) { + static void (*const actionFuncs[])(ObjectA6Entity*) = { + sub_0809F920, + sub_0809F964, + }; + + actionFuncs[this->action]((ObjectA6Entity*)this); +} + +void sub_0809F920(ObjectA6Entity* this) { + if (CheckFlags(this->objFlags)) { + DeleteThisEntity(); + } + + super->action = 1; + COLLISION_ON(super); + super->field_0x3c = 7; + super->hurtType = 0x48; + super->hitType = 1; + super->flags2 = 2; + super->hitbox = (Hitbox*)&gHitbox_0; +} + +void sub_0809F964(ObjectA6Entity* this) { + Entity* fxEnt; + + if (super->bitfield == 0xa1) { + fxEnt = CreateFx(super, FX_MAGIC_STORM, 0); + if (fxEnt != NULL) { + fxEnt->spritePriority.b0 = 3; + fxEnt->spriteOffsetY = -5; + } + SetFlag(this->objFlags); + DeleteThisEntity(); + } +} diff --git a/src/object/objectA9.c b/src/object/objectA9.c new file mode 100644 index 00000000..6d9981ba --- /dev/null +++ b/src/object/objectA9.c @@ -0,0 +1,37 @@ +#define NENT_DEPRECATED +#include "entity.h" +#include "sound.h" + +void sub_0809FEF8(Entity*); +void sub_0809FF28(Entity*); + +void ObjectA9(Entity* this) { + static void (*const actionFuncs[])(Entity*) = { + sub_0809FEF8, + sub_0809FF28, + DeleteEntity, + }; + + actionFuncs[this->action]((Entity*)this); +} + +void sub_0809FEF8(Entity* this) { + static const u8 typeAnimationStates[] = { 0x2, 0x0, 0x43, 0x0 }; + static const u16 typeSounds[] = { SFX_124, SFX_197, SFX_11D, SFX_NONE }; + this->action = 1; + InitializeAnimation(this, typeAnimationStates[this->type]); + SoundReq(typeSounds[this->type]); +} + +void sub_0809FF28(Entity* this) { + Entity* pEVar1; + + GetNextFrame(this); + if (this->frame & 0x80) { + this->action = 2; + pEVar1 = this->parent; + pEVar1->flags = this->actionDelay; + pEVar1->spriteSettings.draw = this->field_0xf; + ((GenericEntity*)pEVar1)->field_0x6c.HALF.HI &= 0xef; + } +} diff --git a/src/object/objectAB.c b/src/object/objectAB.c new file mode 100644 index 00000000..767c5238 --- /dev/null +++ b/src/object/objectAB.c @@ -0,0 +1,59 @@ +#define NENT_DEPRECATED +#include "entity.h" +#include "flags.h" +#include "asm.h" +#include "player.h" +#include "coord.h" + +extern void sub_0805B390(u32); + +void ObjectAB_Init(Entity*); +void ObjectAB_Action1(Entity*); +void ObjectAB_Action2(Entity*); +void sub_080A0190(Entity*); + +void ObjectAB(Entity* this) { + static void (*const actionFuncs[])(Entity*) = { + ObjectAB_Init, + ObjectAB_Action1, + ObjectAB_Action2, + }; + + actionFuncs[this->action]((Entity*)this); +} + +void ObjectAB_Init(Entity* this) { + this->action++; + this->collisionLayer = 1; + this->spriteRendering.b3 = 3; + this->spritePriority.b0 = 7; + this->subAction = 0; + InitializeAnimation(this, 0); +} + +void ObjectAB_Action1(Entity* this) { + if (CheckRoomFlag(0)) { + GetNextFrame(this); + if (this->frame & 0x80) { + this->action++; + } + } +} + +void ObjectAB_Action2(Entity* this) { + if (CheckRoomFlag(1)) { + sub_080A0190(this); + RequestPriorityDuration(this, 0x1e); + if (EntityInRectRadius(this, &gPlayerEntity, 0x10, 0x10)) { + sub_0805B390(0x37); + } + } +} + +void sub_080A0190(Entity* this) { + this->subAction = 1; + CopyPosition(this, &gPlayerEntity); + gPlayerState.queued_action = 3; + gPlayerState.field_0x38 = 0; + gPlayerState.flags |= PL_PIT_IS_EXIT; +} diff --git a/src/object/objectAD.c b/src/object/objectAD.c new file mode 100644 index 00000000..ca73277e --- /dev/null +++ b/src/object/objectAD.c @@ -0,0 +1,54 @@ +#define NENT_DEPRECATED +#include "entity.h" +#include "functions.h" +#include "screen.h" + +void sub_080A04A4(Entity*); +void sub_080A04E0(Entity*); +void sub_080A04E8(); + +void ObjectAD(Entity* this) { + static void (*const actionFuncs[])(Entity*) = { + sub_080A04A4, + sub_080A04E0, + }; + + actionFuncs[this->action]((Entity*)this); +} + +void sub_080A04A4(Entity* this) { + this->action = 1; + this->frameIndex = 4; + this->actionDelay = 0; + this->spriteRendering.b3 = 3; + this->spritePriority.b0 = 7; + this->z.WORD = 0; + this->spriteRendering.alphaBlend = 1; + sub_080A04E8(); +} + +void sub_080A04E0(Entity* this) { + sub_080A04E8(); +} + +void sub_080A04E8(Entity* this) { + int iVar2; + u32 uVar3; + + iVar2 = (this->parent->z.HALF.HI < 0 ? -this->parent->z.HALF.HI : this->parent->z.HALF.HI) + 0x100; + SetAffineInfo(this, iVar2, iVar2, 0); + iVar2 = ((0x1c0 - iVar2) * 10) / iVar2; + if (this->parent->type == 0x41) { + uVar3 = iVar2 * 2; + if (0xc < uVar3) { + uVar3 = 0xc; + } + iVar2 = (0x10 - iVar2) * 0x100; + iVar2 |= uVar3; + iVar2 &= 0xffff; + } else { + iVar2 |= (0x10 - iVar2) * 0x100; + iVar2 &= 0xffff; + } + gScreen.controls.alphaBlend = iVar2; +} diff --git a/src/object/objectB.c b/src/object/objectB.c index f0cfc4e5..fbf4ef50 100644 --- a/src/object/objectB.c +++ b/src/object/objectB.c @@ -124,7 +124,7 @@ void ObjectB_Action2(ObjectBEntity* this) { break; } MessageFromTarget(messageIndex); - gMessage.field_0x10 = super->type2; + gMessage.rupees = super->type2; } } } diff --git a/src/object/objectB4.c b/src/object/objectB4.c new file mode 100644 index 00000000..90c3b287 --- /dev/null +++ b/src/object/objectB4.c @@ -0,0 +1,135 @@ +#define NENT_DEPRECATED +#include "entity.h" +#include "menu.h" +#include "coord.h" +#include "object.h" + +extern void sub_0806FB00(Entity*, u32, u32, u32); +extern bool32 sub_0806FB38(Entity*); + +void ObjectB4_Type0(Entity*); +void ObjectB4_Type1(Entity*); +void ObjectB4_Type2(Entity*); +void ObjectB4_Type3(Entity*); + +const u16 gUnk_08124B10[] = { 0x40, 0x58, 0x68, 0x80, 0x94, 0xA8, 0xB0, 0x0 }; + +void ObjectB4(Entity* this) { + static void (*const typeFuncs[])(Entity*) = { + ObjectB4_Type0, + ObjectB4_Type1, + ObjectB4_Type2, + ObjectB4_Type3, + }; + + typeFuncs[this->type]((Entity*)this); +} + +void ObjectB4_Type0(Entity* this) { + Entity* pEVar3; + + switch (this->action) { + case 0: + this->action = 1; + this->spriteSettings.draw = 2; + this->frameIndex = 9; + this->actionDelay = 8; + this->field_0xf = 0; + this->spriteRendering.b3 = 1; + this->spritePriority.b0 = 4; + this->spriteOrientation.flipY = 1; + sub_0806FB00(this, 0xbf, 0x48, 0x1e); + break; + case 1: + if ((this->field_0xf < 7) && (--this->actionDelay == 0)) { + this->actionDelay = 1; + pEVar3 = CreateObject(OBJECT_B4, 1, this->field_0xf); + if (pEVar3 != NULL) { + CopyPosition(this, pEVar3); + pEVar3->y.HALF.HI = 0x68; + SortEntityBelow(this, pEVar3); + } + this->field_0xf++; + } + + if (sub_0806FB38(this) || (1 < gMenu.menuType)) { + this->x.HALF.HI = 0xbf; + this->y.HALF.HI = 0x48; + this->frameIndex = 10; + this->action = 2; + while (this->field_0xf < 7) { + pEVar3 = CreateObject(OBJECT_B4, 1, this->field_0xf); + if (pEVar3 != NULL) { + CopyPosition(this, pEVar3); + pEVar3->y.HALF.HI = 0x68; + SortEntityBelow(this, pEVar3); + } + this->field_0xf++; + } + + pEVar3 = CreateObject(OBJECT_B4, 2, 0); + if (pEVar3 != NULL) { + pEVar3->x.HALF.HI = 0xc4; + pEVar3->y.HALF.HI = 0x2c; + SortEntityAbove(this, pEVar3); + } + + pEVar3 = CreateObject(OBJECT_B4, 3, 0); + if (pEVar3 != NULL) { + pEVar3->x.HALF.HI = 0xb4; + pEVar3->y.HALF.HI = 0x19; + SortEntityAbove(this, pEVar3); + } + } + } +} + +void ObjectB4_Type1(Entity* this) { + switch (this->action) { + case 0: + this->action = 1; + this->spriteSettings.draw = 2; + this->frameIndex = this->type2 + 2; + sub_0806FB00(this, gUnk_08124B10[this->type2], 0x68, 0x14); + break; + case 1: + if (sub_0806FB38(this) || 1 < gMenu.menuType) { + this->x.HALF.HI = gUnk_08124B10[this->type2]; + this->y.HALF.HI = 0x68; + this->spritePriority.b0 = 7 - this->type2; + this->action = 2; + } + break; + } +} + +void ObjectB4_Type2(Entity* this) { + static const u8 gUnk_08124B30[] = { 9, 10, 11, 12, 11, 10, 9, -1 }; + if (this->action == 0) { + this->action = 1; + this->spriteSettings.draw = 2; + this->spriteRendering.b3 = 1; + this->spritePriority.b0 = 0; + this->spriteOrientation.flipY = 1; + this->frameIndex = 11; + this->actionDelay = (Random() & 0x3f) + 0x40; + this->field_0xf = 0; + } + + if (--this->actionDelay == 0) { + this->actionDelay = 4; + this->frameIndex = gUnk_08124B30[this->field_0xf++] + 2; + if (gUnk_08124B30[this->field_0xf] == 0xff) { + this->actionDelay = (Random() & 0x3f) + 0x40; + this->field_0xf = 0; + } + } +} + +void ObjectB4_Type3(Entity* this) { + if (this->action == 0) { + this->action = 1; + this->spriteSettings.draw = 2; + this->frameIndex = 15; + } +} diff --git a/src/object/objectBlockingStairs.c b/src/object/objectBlockingStairs.c new file mode 100644 index 00000000..f9aa6a1b --- /dev/null +++ b/src/object/objectBlockingStairs.c @@ -0,0 +1,350 @@ +#define NENT_DEPRECATED +#include "entity.h" +#include "flags.h" +#include "sound.h" +#include "functions.h" +#include "asm.h" +#include "object.h" +#include "effects.h" + +typedef struct { + Entity base; + u8 filler[0x10]; + u16 tilePos; + u8 unk7a; + u8 unk7b; + u8 filler2[0xA]; + u16 objFlags; +} ObjectBlockingStairsEntity; + +extern const Hitbox gUnk_080FD288; + +void ObjectBlockingStairs_Init(ObjectBlockingStairsEntity*); +void ObjectBlockingStairs_Action1(ObjectBlockingStairsEntity*); +void ObjectBlockingStairs_Action2(ObjectBlockingStairsEntity*); +void ObjectBlockingStairs_Action3(ObjectBlockingStairsEntity*); +void sub_080932A8(ObjectBlockingStairsEntity*); +void sub_08093248(ObjectBlockingStairsEntity*); +void sub_08093280(ObjectBlockingStairsEntity*); +void sub_08093334(ObjectBlockingStairsEntity*); +void sub_08093364(ObjectBlockingStairsEntity*); +void ObjectBlockingStairs_Action4(ObjectBlockingStairsEntity*); +u32 sub_080932D8(u32); +void sub_080931A4(ObjectBlockingStairsEntity*, u32); + +void ObjectBlockingStairs(Entity* this) { + static void (*const actionFuncs[])(ObjectBlockingStairsEntity*) = { + ObjectBlockingStairs_Init, ObjectBlockingStairs_Action1, ObjectBlockingStairs_Action2, + ObjectBlockingStairs_Action3, ObjectBlockingStairs_Action4, + }; + + actionFuncs[this->action]((ObjectBlockingStairsEntity*)this); +} + +void ObjectBlockingStairs_Init(ObjectBlockingStairsEntity* this) { + int iVar1; + u32 uVar2; + + switch (sub_080932D8(super->type)) { + case 1: + super->action = 4; + super->x.HALF.HI -= 0x20; + uVar2 = 2; + break; + case 2: + super->action = 4; + super->x.HALF.HI += 0x20; + uVar2 = 3; + break; + default: + super->action = 1; + super->speed = 0x80; + super->field_0x16 = 1; + super->actionDelay = 0; + super->field_0xf = 0; + this->unk7a = 0x20; + this->unk7b = 0x80; + if (super->type == 0) { + super->hitbox = (Hitbox*)&gUnk_080FD288; + } + uVar2 = 0; + if ((this->objFlags) && !CheckFlags(this->objFlags)) { + uVar2 = 1; + } + break; + } + + sub_080931A4(this, uVar2); +} + +void ObjectBlockingStairs_Action1(ObjectBlockingStairsEntity* this) { + u32 tileType; + int xDist; + Entity* ent; + + xDist = (int)gPlayerEntity.x.HALF.HI - super->x.HALF.HI; + + if (this->objFlags) { + if (!CheckFlags(this->objFlags)) { + return; + } + if (this->unk7a != 0) { + sub_080932A8(this); + return; + } + } + + if ((this->unk7b & 0x3f) == 0) { + this->unk7b |= 0xf; + sub_080931A4(this, 0); + if (xDist < 0) { + this->unk7b |= 0x40; + } + } + + if (this->unk7b & 0x40) { + tileType = (u32)GetTileType(this->tilePos - 1, super->collisionLayer); + } else { + tileType = (u32)GetTileType(this->tilePos + 1, super->collisionLayer); + } + + switch (tileType) { + case 0x4030: + case 0x4031: + super->action = 3; + super->direction = Direction8FromAnimationState(gPlayerEntity.animationState); + super->speed = 0x80; + super->actionDelay = 0x40; + RequestPriorityDuration(super, 0x50); + EnqueueSFX(SFX_10F); + sub_08093248(this); + return; + } + + if ((gPlayerEntity.animationState & 2) == 0) { + return; + } + RegisterCarryEntity(super); + + if (this->unk7b & 0x80) { + this->unk7b &= ~0x80; + if ((this->unk7b & 0x40) != 0) { + SetTile(0x402c, this->tilePos - 1, super->collisionLayer); + SetTile(0x403d, this->tilePos + 1, super->collisionLayer); + } else { + SetTile(0x403d, this->tilePos - 1, super->collisionLayer); + SetTile(0x402d, this->tilePos + 1, super->collisionLayer); + } + } else if (this->unk7b & 0x40) { + if (xDist >= 5) { + this->unk7b &= ~(0x40 | 0x80); + SetTile(0x403d, this->tilePos - 1, super->collisionLayer); + SetTile(0x402d, this->tilePos + 1, super->collisionLayer); + } + } else { + if (-xDist > 4) { + this->unk7b |= 0x40; + SetTile(0x402c, this->tilePos - 1, super->collisionLayer); + SetTile(0x403d, this->tilePos + 1, super->collisionLayer); + } + } +} + +void ObjectBlockingStairs_Action2(ObjectBlockingStairsEntity* this) { + if (super->actionDelay) { + sub_08093280(this); + } else { + if (gPlayerState.heldObject == 0x12) { + if ((gPlayerEntity.frame & 2) != 0 && ++super->field_0xf > 8) { + gPlayerState.queued_action = 16; + gPlayerState.field_0x38 = 0x40; + gPlayerState.flags |= PL_BUSY; + gPlayerEntity.x.HALF.LO = 0; + gPlayerEntity.y.HALF.LO = 0; + super->direction = (gPlayerEntity.animationState ^ 4) << 2; + super->actionDelay = 0x40; + EnqueueSFX(SFX_10F); + sub_08093248(this); + } + } else if (super->subAction == 6) { + super->action = 1; + super->field_0xf = 0; + } + } +} + +void ObjectBlockingStairs_Action3(ObjectBlockingStairsEntity* this) { + sub_0800445C(super); + LinearMoveUpdate(super); + if (--super->actionDelay == 0) { + sub_08093334(this); + } + sub_08093364(this); +} + +void ObjectBlockingStairs_Action4(ObjectBlockingStairsEntity* this) { +} + +void sub_080931A4(ObjectBlockingStairsEntity* this, u32 param_2) { + static const u16 gUnk_08122850[] = { 0x4027, 0x4023, 0x4028, 0x402c, 0x402b, 0x402d, 0x4029, 0x4026, 0x402a }; + static const u16 gUnk_08122862[] = { 0x4027, 0x4023, 0x4028, 0x4024, 0x4022, 0x4025, 0x4029, 0x4026, 0x402a }; + static const u16 gUnk_08122874[] = { 0x4027, 0x4023, 0x4023, 0x4024, 0x4022, 0x4022, 0x4029, 0x4026, 0x4026 }; + static const u16 gUnk_08122886[] = { 0x4023, 0x4023, 0x4028, 0x4022, 0x4022, 0x4025, 0x4026, 0x4026, 0x402a }; + + u32 collisionLayer; + const u16* pTileTypes; + u32 index; + u32 tilePos; + int iVar5; + + this->tilePos = COORD_TO_TILE(super); + tilePos = this->tilePos - 0x40; + collisionLayer = super->collisionLayer; + + switch (param_2) { + case 1: + pTileTypes = gUnk_08122862; + break; + case 2: + pTileTypes = gUnk_08122874; + break; + case 3: + pTileTypes = gUnk_08122886; + break; + default: + case 0: + pTileTypes = gUnk_08122850; + break; + } + + for (index = 0, iVar5 = 0; index < 9; index++) { + u32 pos = tilePos + iVar5 + index - 1; + SetTile(pTileTypes[index], pos, collisionLayer); + switch (index) { + case 2: + iVar5 = 0x3d; + break; + case 5: + iVar5 = 0x7a; + break; + } + } +} + +void sub_08093248(ObjectBlockingStairsEntity* this) { + u32 collisionLayer; + u32 tilePos; + u32 index; + int iVar4; + + tilePos = this->tilePos - 0x40; + collisionLayer = super->collisionLayer; + for (index = 0, iVar4 = 0; index < 9; index++) { + sub_0807BA8C(tilePos + iVar4 + index - 1, collisionLayer); + switch (index) { + case 2: + iVar4 = 0x3d; + break; + case 5: + iVar4 = 0x7a; + break; + } + } +} + +void sub_08093280(ObjectBlockingStairsEntity* this) { + sub_0800445C(super); + LinearMoveUpdate(super); + if (--super->actionDelay == 0) { + sub_08093334(this); + } + sub_08093364(this); +} + +void sub_080932A8(ObjectBlockingStairsEntity* this) { + this->unk7a--; + switch (this->unk7a & 3) { + case 1: + super->spriteOffsetX = 1; + break; + case 3: + super->spriteOffsetX = -1; + break; + default: + super->spriteOffsetX = 0; + break; + } +} + +typedef struct { + u32 flagBank; + u16 unk4; + u16 unk6; +} struct_gUnk_08122898; + +const struct_gUnk_08122898 gUnk_08122898[] = { + { 0x200, 0xa1, 0xa2 }, + { 0x8c0, 0x6f, 0x70 }, +}; + +u32 sub_080932D8(u32 param_1) { + const struct_gUnk_08122898* ptr = gUnk_08122898 + param_1; + + if (CheckLocalFlagByBank(ptr->flagBank, ptr->unk4)) { + return 1; + } else { + if (CheckLocalFlagByBank(ptr->flagBank, ptr->unk6)) { + return 2; + } else { + return 0; + } + } +} + +void sub_08093308(u32 param_1, u32 param_2) { + const struct_gUnk_08122898* ptr = gUnk_08122898 + param_1; + if (param_2 == 1) { + SetLocalFlagByBank(ptr->flagBank, ptr->unk4); + } else if (param_2 == 2) { + SetLocalFlagByBank(ptr->flagBank, ptr->unk6); + } +} + +void sub_08093334(ObjectBlockingStairsEntity* this) { + u32 uVar1; + + super->action = 4; + if (super->direction & 0x10) { + uVar1 = 1; + } else { + uVar1 = 2; + } + sub_080931A4(this, uVar1 + 1); + sub_08093308(super->type, uVar1); + EnqueueSFX(SFX_SECRET); +} + +void sub_08093364(ObjectBlockingStairsEntity* this) { + s32 sVar1; + Entity* dashEffectEnt; + + if ((super->actionDelay & 3) == 0) { + dashEffectEnt = CreateObject(SPECIAL_FX, FX_DASH, 0); + if (dashEffectEnt != NULL) { + dashEffectEnt->parent = super; + CopyPosition(super, dashEffectEnt); + if (super->direction & 0x10) { + dashEffectEnt->x.HALF.HI += 0x12; + } else { + dashEffectEnt->x.HALF.HI -= 0x12; + } + + sVar1 = dashEffectEnt->y.HALF.HI; + if (super->actionDelay & 8) { + dashEffectEnt->y.HALF.HI = sVar1 + 8; + } else { + dashEffectEnt->y.HALF.HI = sVar1 - 8; + } + } + } +} diff --git a/src/object/picoBloom.c b/src/object/picoBloom.c new file mode 100644 index 00000000..de912b8a --- /dev/null +++ b/src/object/picoBloom.c @@ -0,0 +1,47 @@ +#define NENT_DEPRECATED +#include "entity.h" +#include "asm.h" +#include "sound.h" + +void PicoBloom_Init(Entity*); +void PicoBloom_Action1(Entity*); +void PicoBloom_Action2(Entity*); + +void PicoBloom(Entity* this) { + static void (*const actionFuncs[])(Entity*) = { + PicoBloom_Init, + PicoBloom_Action1, + PicoBloom_Action2, + }; + + actionFuncs[this->action](this); +} + +void PicoBloom_Init(Entity* this) { + static const u8 typeAnimationStates[] = { 3, 0, 3, 3, 3, 3 }; + u32 nextAction; + + nextAction = this->type2; + if (nextAction != 1) { + nextAction = 2; + } + this->action = nextAction; + this->actionDelay = (Random() & 0x7f) + 0x7f; + this->collisionLayer = 1; + UpdateSpriteForCollisionLayer(this); + InitializeAnimation(this, typeAnimationStates[this->type] + this->type2); +} + +void PicoBloom_Action1(Entity* this) { + if (--this->actionDelay == 0) { + this->action++; + } +} + +void PicoBloom_Action2(Entity* this) { + GetNextFrame(this); + if (this->frame & 1) { + this->frame &= ~1; + EnqueueSFX(SFX_21B); + } +} diff --git a/src/object/playerClone.c b/src/object/playerClone.c index 4de97df9..3e7eadab 100644 --- a/src/object/playerClone.c +++ b/src/object/playerClone.c @@ -1,5 +1,6 @@ #define NENT_DEPRECATED #include "entity.h" +#include "collision.h" #include "room.h" #include "asm.h" #include "sound.h" @@ -49,7 +50,12 @@ void PlayerClone_Init(PlayerCloneEntity* this) { SoundReq(SFX_112); } -const u16 PlayerCloneCollisions[] = { 0x2206, 0x6044, 0x4460, 0x622 }; +const u16 PlayerCloneCollisions[] = { + COL_NORTH_FULL | COL_WEST_SOUTH | COL_EAST_SOUTH, + COL_NORTH_EAST | COL_SOUTH_EAST | COL_EAST_FULL, + COL_SOUTH_FULL | COL_WEST_NORTH | COL_EAST_NORTH, + COL_NORTH_WEST | COL_SOUTH_WEST | COL_WEST_FULL, +}; void PlayerClone_Action1(PlayerCloneEntity* this) { static const Hitbox PlayerCloneHitbox = { 0, -3, { 5, 3, 3, 5 }, 6, 6 }; @@ -104,7 +110,8 @@ void PlayerClone_Action2(PlayerCloneEntity* this) { super->y.HALF.HI = gPlayerEntity.y.HALF.HI + this->unk7a; sub_08084CAC(this); sub_080085B0(super); - if ((super->collisions & 0x6666) != 0x6666) { + if ((super->collisions & (COL_NORTH_FULL | COL_SOUTH_FULL | COL_EAST_FULL | COL_WEST_FULL)) != + (COL_NORTH_FULL | COL_SOUTH_FULL | COL_EAST_FULL | COL_WEST_FULL)) { for (index = 0; index <= 3; index++) { if (PlayerCloneCollisions[index] == (PlayerCloneCollisions[index] & super->collisions)) { break; diff --git a/src/object/pot.c b/src/object/pot.c index 22ee8ce0..a11c6d4d 100644 --- a/src/object/pot.c +++ b/src/object/pot.c @@ -283,7 +283,7 @@ u32 sub_0808288C(Entity* this, u32 form, u32 arg2, u32 arg3) { break; default: entity = CreateObjectWithParent(this, GROUND_ITEM, form, arg2); - if (entity) { + if (entity != NULL) { if (arg3 == 2) { entity->actionDelay = 5; entity->field_0x86.HWORD = this->field_0x86.HWORD; diff --git a/src/object/smallIceBlock.c b/src/object/smallIceBlock.c index 1b821625..e9689baf 100644 --- a/src/object/smallIceBlock.c +++ b/src/object/smallIceBlock.c @@ -7,6 +7,7 @@ #define NENT_DEPRECATED #include "global.h" +#include "collision.h" #include "object.h" #include "functions.h" #include "hitbox.h" @@ -204,7 +205,7 @@ bool32 sub_0809953C(SmallIceBlockEntity* this) { uVar3 = sub_0800442E(super); if (uVar3 != 0) { - return 0; + return FALSE; } ProcessMovement2(super); sub_0800445C(super); @@ -216,17 +217,17 @@ bool32 sub_0809953C(SmallIceBlockEntity* this) { } switch (super->direction >> 3) { case 0: - if ((super->collisions & 0xe) == 0) { - return 0; + if ((super->collisions & COL_NORTH_ANY) == COL_NONE) { + return FALSE; } if ((u32)(super->y.HALF.HI & 0xf) - 7 < 3) { super->y.HALF.HI = (super->y.HALF.HI & 0xfff0) + 8; - return 1; + return TRUE; } sub_0809969C(this); break; case 1: - if ((super->collisions & 0xe000) == 0) { + if ((super->collisions & COL_EAST_ANY) == COL_NONE) { return FALSE; } if ((u32)(super->x.HALF.HI & 0xf) - 7 < 3) { @@ -236,7 +237,7 @@ bool32 sub_0809953C(SmallIceBlockEntity* this) { sub_0809969C(this); break; case 2: - if ((super->collisions & 0xe0) == 0) { + if ((super->collisions & COL_SOUTH_ANY) == COL_NONE) { return FALSE; } if ((u32)(super->y.HALF.HI & 0xf) - 7 < 3) { @@ -246,7 +247,7 @@ bool32 sub_0809953C(SmallIceBlockEntity* this) { sub_0809969C(this); break; default: - if ((super->collisions & 0xe00) != 0) { + if ((super->collisions & COL_WEST_ANY) != COL_NONE) { if ((u32)(super->x.HALF.HI & 0xf) - 7 < 3) { super->x.HALF.HI = (super->x.HALF.HI & 0xfff0) + 8; return TRUE; diff --git a/src/object/specialFx.c b/src/object/specialFx.c index c5262d9c..dc51b4c4 100644 --- a/src/object/specialFx.c +++ b/src/object/specialFx.c @@ -144,6 +144,7 @@ void sub_080844E0(SpecialFxObject* this) { static const u8 gUnk_0811FAC8[] = { 0x03, 0x37, 0x38, 0x39 }; static const u8 gUnk_0811FACC[] = { 0x17, 0x3e, 0x3f, 0x40 }; const struct_0811F960* ptr; + super->action = 1; super->flags &= ~0x80; super->spriteSettings.draw = 1; @@ -219,7 +220,7 @@ void sub_08084680(SpecialFxObject* this) { } void sub_08084694(SpecialFxObject* this) { - if (!super->parent || !super->parent->next) { + if ((super->parent == NULL) || (super->parent->next == NULL)) { DeleteThisEntity(); } GetNextFrame(super); @@ -253,12 +254,15 @@ void sub_080846B0(SpecialFxObject* this) { void sub_0808471C(SpecialFxObject* this) { static const s8 gUnk_0811FB08[] = { -8, -8, 8, -8, -8, 8, 8, 8 }; + GetNextFrame(super); if (super->frame & ANIM_DONE) { u32 i; + for (i = 0; i < 4; i++) { Entity* fx = CreateFx(super, 0x24, 0); - if (fx) { + + if (fx != NULL) { const s8* ptr = &gUnk_0811FB08[2 * i]; fx->x.HALF.HI += ptr[0]; fx->y.HALF.HI += ptr[1]; @@ -280,7 +284,7 @@ void sub_08084784(SpecialFxObject* this) { void sub_08084798(SpecialFxObject* this) { GetNextFrame(super); - if ((super->frame & ANIM_DONE) || !super->child->next) { + if ((super->frame & ANIM_DONE) || (super->child->next == NULL)) { DeleteThisEntity(); } } diff --git a/src/objectUtils.c b/src/objectUtils.c index 6fdbe902..c4a93c17 100644 --- a/src/objectUtils.c +++ b/src/objectUtils.c @@ -264,7 +264,7 @@ void CreateSparkle(Entity* entity) { } } -NONMATCH("asm/non_matching/objectUtils/sub_080A2BE4.inc", void sub_080A2BE4(Entity* this, u32 param_2)) { +NONMATCH("asm/non_matching/objectUtils/sub_080A2BE4.inc", void sub_080A2BE4(Entity* this, bool32 param_2)) { s16 oldValue; s32 diff; u16 newValue; diff --git a/src/player.c b/src/player.c index d39d30ba..ace9b023 100644 --- a/src/player.c +++ b/src/player.c @@ -6,6 +6,7 @@ */ #include "global.h" +#include "collision.h" #include "asm.h" #include "sound.h" #include "entity.h" @@ -3018,7 +3019,7 @@ static void sub_080739EC(Entity* this) { if ((gPlayerState.jump_status & 0xC0) != 0) { gPlayerState.field_0xd = this->direction; if (gPlayerState.jump_status & 0x80) - this->collisions = 0; + this->collisions = COL_NONE; v = GRAVITY_RATE; } else { if ((u16)sub_0806F854(this, 0, -12)) { @@ -3414,7 +3415,7 @@ void SurfaceAction_7(Entity* this) { void SurfaceAction_MinishDoorFront(Entity* this) { if ((this->y.HALF.HI & 0xF) <= 0xD) { - this->collisions = 0x6600; + this->collisions = COL_EAST_FULL | COL_WEST_FULL; hide(this); } else { EnablePlayerDraw(this); @@ -3423,7 +3424,7 @@ void SurfaceAction_MinishDoorFront(Entity* this) { void SurfaceAction_MinishDoorBack(Entity* this) { if ((this->y.HALF.HI & 0xF) > 1) { - this->collisions = 0x6600; + this->collisions = COL_EAST_FULL | COL_WEST_FULL; hide(this); } else { EnablePlayerDraw(this); @@ -3432,7 +3433,7 @@ void SurfaceAction_MinishDoorBack(Entity* this) { void SurfaceAction_A(Entity* this) { if ((this->x.HALF.HI & 0xF) < 12) { - this->collisions = 0x66; + this->collisions = COL_NORTH_FULL | COL_SOUTH_FULL; hide(this); } else { EnablePlayerDraw(this); @@ -3441,7 +3442,7 @@ void SurfaceAction_A(Entity* this) { void SurfaceAction_B(Entity* this) { if ((this->x.HALF.HI & 0xF) > 4) { - this->collisions = 0x66; + this->collisions = COL_NORTH_FULL | COL_SOUTH_FULL; hide(this); } else { EnablePlayerDraw(this); diff --git a/src/projectile/arrowProjectile.c b/src/projectile/arrowProjectile.c index 91567d8b..755ee6f8 100644 --- a/src/projectile/arrowProjectile.c +++ b/src/projectile/arrowProjectile.c @@ -1,4 +1,5 @@ #include "entity.h" +#include "collision.h" #include "enemy.h" #include "functions.h" #include "object.h" @@ -66,7 +67,7 @@ void ArrowProjectile_Action1(Entity* this) { } void ArrowProjectile_Action2(Entity* this) { - if (this->collisions != 0) { + if (this->collisions != COL_NONE) { this->action = 3; COLLISION_OFF(this); this->actionDelay = 0x20; diff --git a/src/projectile/boneProjectile.c b/src/projectile/boneProjectile.c index 3f9858a9..429a94c9 100644 --- a/src/projectile/boneProjectile.c +++ b/src/projectile/boneProjectile.c @@ -1,4 +1,5 @@ #include "entity.h" +#include "collision.h" #include "enemy.h" #include "functions.h" @@ -25,15 +26,15 @@ void sub_080A81C4(Entity* this) { void BoneProjectile_Init(Entity* this) { this->action = 1; - this->actionDelay = 0x3c; - this->z.HALF.HI = 0xfffe; + this->actionDelay = 60; + this->z.HALF.HI = -2; InitializeAnimation(this, 0); } void BoneProjectile_Action1(Entity* this) { GetNextFrame(this); ProcessMovement3(this); - if (this->collisions == 0) { + if (this->collisions == COL_NONE) { if (IsProjectileOffScreen(this)) { DeleteEntity(this); } else { diff --git a/src/projectile/cannonballProjectile.c b/src/projectile/cannonballProjectile.c index acf5ccd7..18e79a67 100644 --- a/src/projectile/cannonballProjectile.c +++ b/src/projectile/cannonballProjectile.c @@ -1,4 +1,5 @@ #include "entity.h" +#include "collision.h" #include "enemy.h" #include "functions.h" @@ -49,7 +50,7 @@ void CannonballProjectile_Action1(Entity* this) { void CannonballProjectile_Action2(Entity* this) { GetNextFrame(this); ProcessMovement3(this); - if ((sub_080AB634(this) == 0) && (this->collisions != 0)) { + if ((sub_080AB634(this) == 0) && (this->collisions != COL_NONE)) { CreateFx(this, FX_DEATH, 0); DeleteThisEntity(); } diff --git a/src/projectile/dekuSeedProjectile.c b/src/projectile/dekuSeedProjectile.c index 94eb1e59..86fce52a 100644 --- a/src/projectile/dekuSeedProjectile.c +++ b/src/projectile/dekuSeedProjectile.c @@ -91,7 +91,7 @@ void DekuSeedProjectile_Action2(Entity* this) { COLLISION_ON(this); } } else { - sub_0800417E(this, (u32)this->collisions); + sub_0800417E(this, this->collisions); sub_08016AD2(this); InitializeAnimation(this, 0x19); sub_080A86A0(this); diff --git a/src/projectile/lakituCloudProjectile.c b/src/projectile/lakituCloudProjectile.c index f66dd20e..a766f97b 100644 --- a/src/projectile/lakituCloudProjectile.c +++ b/src/projectile/lakituCloudProjectile.c @@ -24,7 +24,7 @@ void nullsub_539(Entity* this) { } void sub_080A9CF0(Entity* this) { - if (sub_0806F520() == 0) { + if (!sub_0806F520(this)) { CreateFx(this, FX_DEATH, 0); DeleteThisEntity(); } diff --git a/src/projectile/lakituLightning.c b/src/projectile/lakituLightning.c index 1f366e0f..171be05c 100644 --- a/src/projectile/lakituLightning.c +++ b/src/projectile/lakituLightning.c @@ -1,4 +1,5 @@ #include "entity.h" +#include "collision.h" #include "enemy.h" #include "functions.h" @@ -32,7 +33,7 @@ void LakituLightning_Init(Entity* this) { void LakituLightning_Action1(Entity* this) { GetNextFrame(this); ProcessMovement3(this); - if ((this->collisions != 0) || (--this->actionDelay == 0)) { + if ((this->collisions != COL_NONE) || (--this->actionDelay == 0)) { CreateFx(this, FX_BLUE_EFC, 0); DeleteThisEntity(); } diff --git a/src/projectile/moblinSpear.c b/src/projectile/moblinSpear.c index 9d84ccbf..039eaa1d 100644 --- a/src/projectile/moblinSpear.c +++ b/src/projectile/moblinSpear.c @@ -9,16 +9,23 @@ typedef struct { u8 height; } HitboxChange; -extern void (*const MoblinSpear_Functions[])(Entity*); -extern void (*const MoblinSpear_Actions[])(Entity*); - -extern const HitboxChange gUnk_0812966C[]; +void MoblinSpear_OnTick(Entity* this); +void sub_080A832C(Entity* this); +void MoblinSpear_Init(Entity* this); +void MoblinSpear_Action1(Entity* this); void MoblinSpear(Entity* this) { + static void (*const MoblinSpear_Functions[])(Entity*) = { + MoblinSpear_OnTick, sub_080A832C, DeleteEntity, DeleteEntity, DeleteEntity, + }; MoblinSpear_Functions[GetNextFunction(this)](this); } void MoblinSpear_OnTick(Entity* this) { + static void (*const MoblinSpear_Actions[])(Entity*) = { + MoblinSpear_Init, + MoblinSpear_Action1, + }; MoblinSpear_Actions[this->action](this); } @@ -50,6 +57,16 @@ void MoblinSpear_Init(Entity* this) { } void MoblinSpear_Action1(Entity* this) { + static const HitboxChange gUnk_0812966C[] = { + { 6, 11, 2, 4 }, { -12, 2, 3, 3 }, { -13, -15, 1, 2 }, { 5, 12, 1, 3 }, { 7, 10, 1, 2 }, + { 8, 9, 1, 3 }, { 7, 10, 1, 2 }, { -22, 1, 4, 2 }, { -12, 1, 3, 2 }, { -6, 2, 4, 2 }, + { -12, 1, 3, 2 }, { -1, -19, 1, 1 }, { -4, -19, 1, 1 }, { -4, -20, 1, 1 }, { -4, -19, 1, 1 }, + { 6, 9, 1, 2 }, { 6, 10, 1, 2 }, { 6, 9, 1, 2 }, { 6, 10, 1, 2 }, { -29, -11, 3, 2 }, + { -29, -9, 3, 2 }, { -29, -11, 3, 2 }, { -29, -9, 3, 2 }, { -5, -25, 1, 2 }, { -5, -24, 1, 2 }, + { -5, -25, 1, 2 }, { -5, -24, 1, 2 }, { 7, 12, 1, 2 }, { 7, 11, 1, 2 }, { -12, 3, 3, 1 }, + { -12, 2, 3, 1 }, { -13, -16, 1, 2 }, { -13, -15, 1, 2 }, + }; + u8 frames; Entity* parent; u32 tmp; @@ -86,20 +103,3 @@ void MoblinSpear_Action1(Entity* this) { } } } - -void (*const MoblinSpear_Functions[])(Entity*) = { - MoblinSpear_OnTick, sub_080A832C, DeleteEntity, DeleteEntity, DeleteEntity, -}; -void (*const MoblinSpear_Actions[])(Entity*) = { - MoblinSpear_Init, - MoblinSpear_Action1, -}; - -const HitboxChange gUnk_0812966C[] = { - { 6, 11, 2, 4 }, { -12, 2, 3, 3 }, { -13, -15, 1, 2 }, { 5, 12, 1, 3 }, { 7, 10, 1, 2 }, { 8, 9, 1, 3 }, - { 7, 10, 1, 2 }, { -22, 1, 4, 2 }, { -12, 1, 3, 2 }, { -6, 2, 4, 2 }, { -12, 1, 3, 2 }, { -1, -19, 1, 1 }, - { -4, -19, 1, 1 }, { -4, -20, 1, 1 }, { -4, -19, 1, 1 }, { 6, 9, 1, 2 }, { 6, 10, 1, 2 }, { 6, 9, 1, 2 }, - { 6, 10, 1, 2 }, { -29, -11, 3, 2 }, { -29, -9, 3, 2 }, { -29, -11, 3, 2 }, { -29, -9, 3, 2 }, { -5, -25, 1, 2 }, - { -5, -24, 1, 2 }, { -5, -25, 1, 2 }, { -5, -24, 1, 2 }, { 7, 12, 1, 2 }, { 7, 11, 1, 2 }, { -12, 3, 3, 1 }, - { -12, 2, 3, 1 }, { -13, -16, 1, 2 }, { -13, -15, 1, 2 }, -}; diff --git a/src/projectile/octorokBossProjectile.c b/src/projectile/octorokBossProjectile.c index 659f748c..54ac6c32 100644 --- a/src/projectile/octorokBossProjectile.c +++ b/src/projectile/octorokBossProjectile.c @@ -1,4 +1,5 @@ #include "entity.h" +#include "collision.h" #include "enemy.h" #include "functions.h" #include "projectile.h" @@ -114,10 +115,10 @@ void OctorokBossProjectile_Action1(Entity* this) { this->field_0x78.HWORD--; LinearMoveAngle(this, this->speed, this->direction); CalculateEntityTileCollisions(this, this->direction >> 3, 0); - if ((this->collisions & 0xee00) != 0) { + if ((this->collisions & (COL_WEST_ANY | COL_EAST_ANY)) != COL_NONE) { this->direction = -this->direction; } - if ((this->collisions & 0xee) != 0) { + if ((this->collisions & (COL_NORTH_ANY | COL_SOUTH_ANY)) != COL_NONE) { this->direction = -this->direction ^ 0x80; } if (this->direction == this->field_0xf) { @@ -151,7 +152,7 @@ void OctorokBossProjectile_Action1(Entity* this) { GetNextFrame(this); if (GravityUpdate(this, 0x1800) != 0) { CalculateEntityTileCollisions(this, this->direction >> 3, 0); - if (this->collisions == 0) { + if (this->collisions == COL_NONE) { LinearMoveAngle(this, (s32)this->speed, (u32)this->direction); } else { OctorokBossProjectile_Action2(this); diff --git a/src/projectile/spiderWeb.c b/src/projectile/spiderWeb.c index acfaeac7..52df2d19 100644 --- a/src/projectile/spiderWeb.c +++ b/src/projectile/spiderWeb.c @@ -9,51 +9,61 @@ typedef struct { u8 direction; } PACKED Struct_0812A074; -extern void (*const SpiderWeb_Functions[])(Entity*); -extern void (*const SpiderWeb_Actions[])(Entity*); -extern const u8 gUnk_0812A03C[]; -extern const Hitbox* const gUnk_0812A04C[]; -extern void (*const SpiderWeb_SubActions[])(Entity*); -extern const s8 gUnk_0812A064[]; -extern const s8 gUnk_0812A06C[]; -extern const Struct_0812A074 gUnk_0812A074[]; -extern const u16 gUnk_0812A084[]; - +void SpiderWeb_OnTick(Entity*); void sub_080AA6C0(Entity*); void sub_080AAAA8(Entity*); void sub_080AAA68(Entity*); void sub_080AA9E0(Entity*); +void sub_080AA78C(Entity*); +void SpiderWeb_Init(Entity*); +void SpiderWeb_Action1(Entity*); +void SpiderWeb_Action2(Entity*); +void SpiderWeb_Action3(Entity*); +void SpiderWeb_SubAction0(Entity*); +void SpiderWeb_SubAction1(Entity*); void SpiderWeb(Entity* this) { + static void (*const SpiderWeb_Functions[])(Entity*) = { + SpiderWeb_OnTick, sub_080AA6C0, DeleteEntity, DeleteEntity, DeleteEntity, sub_080AA78C, + }; SpiderWeb_Functions[GetNextFunction(this)](this); } void SpiderWeb_OnTick(Entity* this) { + static void (*const SpiderWeb_Actions[])(Entity*) = { + SpiderWeb_Init, + SpiderWeb_Action1, + SpiderWeb_Action2, + SpiderWeb_Action3, + }; SpiderWeb_Actions[this->action](this); } void sub_080AA6C0(Entity* this) { + static const s8 typeSpritOffsets[] = { + -8, -4, 6, 1, 4, -11, -3, 3, -7, -3, 6, 4, -4, -11, 3, 3, + }; Entity* object; if (this->bitfield == 0x87) { this->action = 3; - this->actionDelay = 0x5a; + this->actionDelay = 90; COLLISION_OFF(this); InitAnimationForceUpdate(this, this->type + 0x10); object = CreateObject(OBJECT_2A, 3, 0); if (object != NULL) { object->type2 = 0x5a; object->spritePriority.b0 = 3; - object->spriteOffsetX = gUnk_0812A03C[this->type * 4]; - object->spriteOffsetY = gUnk_0812A03C[this->type * 4 + 1]; + object->spriteOffsetX = typeSpritOffsets[this->type * 4]; + object->spriteOffsetY = typeSpritOffsets[this->type * 4 + 1]; object->parent = this; } object = CreateObject(OBJECT_2A, 3, 0); if (object != NULL) { object->type2 = 0x5a; object->spritePriority.b0 = 3; - object->spriteOffsetX = gUnk_0812A03C[this->type * 4 + 2]; - object->spriteOffsetY = gUnk_0812A03C[this->type * 4 + 3]; + object->spriteOffsetX = typeSpritOffsets[this->type * 4 + 2]; + object->spriteOffsetY = typeSpritOffsets[this->type * 4 + 3]; object->parent = this; } } else { @@ -79,10 +89,10 @@ void sub_080AA78C(Entity* this) { this->subAction = 1; InitAnimationForceUpdate(this, animationState + 8); } - if (sub_0806F520(this) != 0) { + if (sub_0806F520(this)) { UpdateAnimationSingleFrame(this); if ((this->frame & 0x10) != 0) { - this->frame &= 0xef; + this->frame &= ~0x10; EnqueueSFX(SFX_100); } if ((this->frame & ANIM_DONE) != 0) { @@ -98,13 +108,19 @@ void sub_080AA78C(Entity* this) { } void SpiderWeb_Init(Entity* this) { + static const Hitbox* const typeHitboxes[] = { + &gUnk_080FD41C, + &gUnk_080FD424, + &gUnk_080FD42C, + &gUnk_080FD434, + }; if (CheckFlags(this->field_0x86.HWORD) != 0) { DeleteThisEntity(); } this->action = 1; this->field_0x1c = 1; this->field_0x16 = 1; - this->hitbox = (Hitbox*)gUnk_0812A04C[this->type]; + this->hitbox = (Hitbox*)typeHitboxes[this->type]; this->cutsceneBeh.HALF.LO = 0; InitAnimationForceUpdate(this, this->type); sub_080AAA68(this); @@ -118,11 +134,18 @@ void SpiderWeb_Action1(Entity* this) { } void SpiderWeb_Action2(Entity* this) { + static void (*const SpiderWeb_SubActions[])(Entity*) = { + SpiderWeb_SubAction0, + SpiderWeb_SubAction1, + }; sub_0806FBB4(this); SpiderWeb_SubActions[this->subAction - 5](this); } void SpiderWeb_SubAction0(Entity* this) { + static const s8 gUnk_0812A064[] = { 0, 17, -15, 4, 0, -11, 15, 4 }; + static const s8 gUnk_0812A06C[] = { 0, 2, -2, 0, 0, -2, 2, 0 }; + u32 tmp; u16 x; u16 y; @@ -169,6 +192,8 @@ void SpiderWeb_Action3(Entity* this) { } void sub_080AA9E0(Entity* this) { + static const Struct_0812A074 gUnk_0812A074[] = { { 4, 0 }, { 5, 16 }, { 3, 8 }, { 5, 24 }, + { 3, 16 }, { 5, 0 }, { 3, 24 }, { 5, 8 } }; s32 diff; const Struct_0812A074* ptr; @@ -200,7 +225,8 @@ void sub_080AA9E0(Entity* this) { } void sub_080AAA68(Entity* this) { - SetTile(gUnk_0812A084[this->type], TILE(this->x.HALF.HI, this->y.HALF.HI), this->collisionLayer); + static const u16 typeTiles[] = { 16419, 16421, 16422, 16420 }; + SetTile(typeTiles[this->type], TILE(this->x.HALF.HI, this->y.HALF.HI), this->collisionLayer); } void sub_080AAAA8(Entity* this) { @@ -208,32 +234,3 @@ void sub_080AAAA8(Entity* this) { RestorePrevTileEntity(TILE(this->x.HALF.HI, this->y.HALF.HI), this->collisionLayer); DeleteThisEntity(); } - -void (*const SpiderWeb_Functions[])(Entity*) = { - SpiderWeb_OnTick, sub_080AA6C0, DeleteEntity, DeleteEntity, DeleteEntity, sub_080AA78C, -}; -void (*const SpiderWeb_Actions[])(Entity*) = { - SpiderWeb_Init, - SpiderWeb_Action1, - SpiderWeb_Action2, - SpiderWeb_Action3, -}; -const u8 gUnk_0812A03C[] = { - 248, 252, 6, 1, 4, 245, 253, 3, 249, 253, 6, 4, 252, 245, 3, 3, -}; - -const Hitbox* const gUnk_0812A04C[] = { - &gUnk_080FD41C, - &gUnk_080FD424, - &gUnk_080FD42C, - &gUnk_080FD434, -}; -void (*const SpiderWeb_SubActions[])(Entity*) = { - SpiderWeb_SubAction0, - SpiderWeb_SubAction1, -}; -const s8 gUnk_0812A064[] = { 0, 17, -15, 4, 0, -11, 15, 4 }; -const s8 gUnk_0812A06C[] = { 0, 2, -2, 0, 0, -2, 2, 0 }; -const Struct_0812A074 gUnk_0812A074[] = { { 4, 0 }, { 5, 16 }, { 3, 8 }, { 5, 24 }, - { 3, 16 }, { 5, 0 }, { 3, 24 }, { 5, 8 } }; -const u16 gUnk_0812A084[] = { 16419, 16421, 16422, 16420 }; diff --git a/src/projectile/stalfosProjectile.c b/src/projectile/stalfosProjectile.c index 841a68e3..3f8f679d 100644 --- a/src/projectile/stalfosProjectile.c +++ b/src/projectile/stalfosProjectile.c @@ -38,7 +38,7 @@ void sub_080A9A34(Entity* this) { } void sub_080A9A64(Entity* this) { - if ((this->subAction < 3) && (sub_0806F520(this) == 0)) { + if ((this->subAction < 3) && !sub_0806F520(this)) { sub_080A9BA8(this); } StalfosProjectile_SubActions[this->subAction](this); diff --git a/src/projectile/torchTrapProjectile.c b/src/projectile/torchTrapProjectile.c index 5ff167c0..38503e89 100644 --- a/src/projectile/torchTrapProjectile.c +++ b/src/projectile/torchTrapProjectile.c @@ -1,4 +1,5 @@ #include "entity.h" +#include "collision.h" #include "enemy.h" #include "functions.h" @@ -39,7 +40,7 @@ void TorchTrapProjectile_Action1(Entity* this) { void TorchTrapProjectile_Action2(Entity* this) { GetNextFrame(this); ProcessMovement3(this); - if (this->collisions != 0) { + if (this->collisions != COL_NONE) { DeleteThisEntity(); } if (IsProjectileOffScreen(this)) { diff --git a/src/projectile/v1DarkMagicProjectile.c b/src/projectile/v1DarkMagicProjectile.c index aeca2aa3..8131c3d7 100644 --- a/src/projectile/v1DarkMagicProjectile.c +++ b/src/projectile/v1DarkMagicProjectile.c @@ -87,7 +87,7 @@ void sub_080AACE0(Entity* this) { } void sub_080AAD70(Entity* this) { - if (sub_0806F520() == 0) { + if (!sub_0806F520(this)) { this->health = 0; } V1DarkMagicProjectile_SubActions[this->subAction](this); diff --git a/src/projectile/v2Projectile.c b/src/projectile/v2Projectile.c index 3733945d..e2c86b53 100644 --- a/src/projectile/v2Projectile.c +++ b/src/projectile/v2Projectile.c @@ -62,7 +62,7 @@ void sub_080ABBF4(Entity* this) { } void sub_080ABC54(Entity* this) { - if (sub_0806F520() == 0) { + if (!sub_0806F520(this)) { CreateFx(this, FX_DEATH, 0); DeleteThisEntity(); } diff --git a/src/projectile/v3ElectricProjectile.c b/src/projectile/v3ElectricProjectile.c index c52258cd..77308f1e 100644 --- a/src/projectile/v3ElectricProjectile.c +++ b/src/projectile/v3ElectricProjectile.c @@ -1,4 +1,5 @@ #include "entity.h" +#include "collision.h" #include "enemy.h" #include "player.h" #include "coord.h" @@ -96,7 +97,7 @@ void V3ElectricProjectile_Action2(Entity* this) { this->z.HALF.HI += 3; } ProcessMovement3(this); - if (this->collisions != 0) { + if (this->collisions != COL_NONE) { DeleteThisEntity(); } GetNextFrame(this); diff --git a/src/projectile/v3HandProjectile.c b/src/projectile/v3HandProjectile.c index 4d4c55bf..ce11e1ef 100644 --- a/src/projectile/v3HandProjectile.c +++ b/src/projectile/v3HandProjectile.c @@ -1,4 +1,5 @@ #include "entity.h" +#include "collision.h" #include "enemy.h" #include "player.h" #include "functions.h" @@ -20,7 +21,7 @@ void V3HandProjectile_OnTick(Entity* this) { this->z.HALF.HI += 2; } ProcessMovement3(this); - if (this->collisions != 0) { + if (this->collisions != COL_NONE) { DeleteThisEntity(); } GetNextFrame(this); diff --git a/src/projectile/v3TennisBallProjectile.c b/src/projectile/v3TennisBallProjectile.c index 455f67af..c487be01 100644 --- a/src/projectile/v3TennisBallProjectile.c +++ b/src/projectile/v3TennisBallProjectile.c @@ -1,4 +1,5 @@ #include "entity.h" +#include "collision.h" #include "enemy.h" #include "functions.h" @@ -62,7 +63,7 @@ void V3TennisBallProjectile_Action1(Entity* this) { void V3TennisBallProjectile_Action2(Entity* this) { ProcessMovement3(this); - if (this->collisions != 0) { + if (this->collisions != COL_NONE) { DeleteThisEntity(); } GetNextFrame(this); @@ -78,28 +79,28 @@ bool32 sub_080ACB40(Entity* this) { Entity* tmp = ((Entity**)(r1_grandparent->myHeap))[7]->child; if (tmp != this && child == tmp->child) { - return 0; + return FALSE; } tmp = ((Entity**)(r1_grandparent->myHeap))[8]->child; if (tmp != this && child == tmp->child) { - return 0; + return FALSE; } tmp = ((Entity**)(r1_grandparent->myHeap))[9]->child; if (tmp != this && child == tmp->child) { - return 0; + return FALSE; } tmp = ((Entity**)(r1_grandparent->myHeap))[10]->child; if (tmp != this && child == tmp->child) { - return 0; + return FALSE; } - return 1; + return TRUE; } void sub_080ACB90(Entity* this) { diff --git a/src/projectile/winder.c b/src/projectile/winder.c index ae1cb901..d15ce8a0 100644 --- a/src/projectile/winder.c +++ b/src/projectile/winder.c @@ -1,118 +1,133 @@ +#define NENT_DEPRECATED +#include "collision.h" #include "entity.h" #include "asm.h" #include "functions.h" #include "common.h" #include "projectile.h" +#include "projectile/winder.h" -extern void (*const Winder_Actions[])(Entity*); extern s16 gUnk_080B4488[]; -static const u8 gUnk_0812A6BC[]; -static const u16 gUnk_0812A6C4[]; -void sub_080AB9DC(Entity*); -bool32 sub_080AB9FC(Entity* this, u32 param_1); +typedef enum { + /* 0 */ WINDER_TYPE_HEAD, + /* 4 */ WINDER_TYPE_TAIL = 4, +} WinderType; -void Winder(Entity* this) { - Winder_Actions[this->action](this); - sub_080AB9DC(this); +void Winder_Init(WinderEntity* this); +void Winder_Move(WinderEntity* this); + +void Winder_SetPositions(WinderEntity*); +bool32 Winder_CheckForRailings(WinderEntity* this, u32 dir); + +void Winder(Entity* thisx) { + static void (*const Winder_Actions[])(WinderEntity*) = { + Winder_Init, + Winder_Move, + }; + WinderEntity* this = (WinderEntity*)thisx; + + Winder_Actions[super->action](this); + Winder_SetPositions(this); } -void Winder_Init(Entity* this) { - Entity* entity; - u16* puVar3; - s32 index; +void Winder_Init(WinderEntity* this) { + Entity* nextSegment; + u16* posPtr; + s32 i; - this->action += 1; - this->speed = 0x140; - this->z.WORD = 0; - if (this->type == 0) { - this->direction = Random() & 0x18; - this->parent = this; + super->action++; + super->speed = 0x140; + super->z.WORD = 0; + if (super->type == 0) { + super->direction = Random() & 0x18; + super->parent = super; } - InitializeAnimation(this, 0); - if (this->type < 4) { - entity = CreateProjectile(WINDER); - entity->type = this->type + 1; - entity->parent = this->parent; - entity->child = this; - CopyPosition(this, entity); + InitializeAnimation(super, 0); + if (super->type < WINDER_TYPE_TAIL) { + nextSegment = CreateProjectile(WINDER); + nextSegment->type = super->type + 1; + nextSegment->parent = super->parent; + nextSegment->child = super; + CopyPosition(super, nextSegment); } - puVar3 = &this->field_0x68.HWORD; - for (index = 7; index >= 0; --index) { - *puVar3 = this->x.HALF.HI; - puVar3 += 1; - *puVar3 = this->y.HALF.HI; - puVar3 += 1; + posPtr = this->positions; + for (i = 0; i < WINDER_NUM_SEGMENTS; i++) { + *posPtr++ = super->x.HALF.HI; + *posPtr++ = super->y.HALF.HI; } } -void sub_080AB950(Entity* this) { - if (this->type == 0) { +void Winder_Move(WinderEntity* this) { + static const u8 nextDirections[][2] = { + { DirectionEast, DirectionWest }, + { DirectionNorth, DirectionSouth }, + { DirectionEast, DirectionWest }, + { DirectionNorth, DirectionSouth }, + }; + static const u16 collisionChecks[] = { COL_NORTH_ANY, COL_EAST_ANY, COL_SOUTH_ANY, COL_WEST_ANY }; + + if (super->type == WINDER_TYPE_HEAD) { u8 dir; - ProcessMovement0(this); - dir = this->direction >> 3; - if (((gUnk_0812A6C4)[dir] & this->collisions) || sub_080AB9FC(this, this->direction)) { - this->direction = gUnk_0812A6BC[(Random() & 0x1) + (dir << 1)]; + + ProcessMovement0(super); + + dir = super->direction >> 3; + if ((collisionChecks[dir] & super->collisions) || Winder_CheckForRailings(this, super->direction)) { + super->direction = nextDirections[dir][Random() & 0x1]; } } else { - Entity* child; + WinderEntity* child; - if (this->parent == NULL) { + if (super->parent == NULL) { DeleteThisEntity(); } - if (this->parent->next == NULL) { + if (super->parent->next == NULL) { DeleteThisEntity(); } - child = this->child; - if (child && child->next) { - this->x.HALF.HI = child->field_0x68.HWORD; - this->y.HALF.HI = child->field_0x6a.HWORD; + child = (WinderEntity*)super->child; + if ((child != NULL) && (child->base.next != NULL)) { + super->x.HALF.HI = child->positions[0]; + super->y.HALF.HI = child->positions[1]; } else { DeleteThisEntity(); } } - GetNextFrame(this); + GetNextFrame(super); } -void sub_080AB9DC(Entity* this) { - MemCopy(&this->field_0x6c, &this->field_0x68, 0x1c); - this->cutsceneBeh.HWORD = this->x.HALF.HI; - this->field_0x86.HWORD = this->y.HALF.HI; +void Winder_SetPositions(WinderEntity* this) { + //! @bug Undefined behaviour for source and destination to overlap in a memcpy. In this case it is okay because the + //! copy will always be sequential, incremental and in chunks of <= 4 bytes, so it will copy the contents of + //! positions[0] and positions[1] to positions[2] and positions[3], then that of positions[2] and positions[3] to + //! positions[4] and positions[5], and so on. A safer way to do this would be a manual loop as in Winder_Move. + MemCopy(&this->positions[2], &this->positions[0], sizeof(u16) * (ARRAY_COUNT(this->positions) - 2)); + + this->positions[2 * (WINDER_NUM_SEGMENTS - 1)] = super->x.HALF.HI; + this->positions[2 * (WINDER_NUM_SEGMENTS - 1) + 1] = super->y.HALF.HI; } -bool32 sub_080AB9FC(Entity* this, u32 dir) { +bool32 Winder_CheckForRailings(WinderEntity* this, u32 dir) { + u32 tile; u32 val; - LayerStruct* layer = GetLayerByIndex(this->collisionLayer); - u32 tmp; - val = (((this->x.HALF.HI - gRoomControls.origin_x) >> 4) & 0x3f) | - ((((this->y.HALF.HI - gRoomControls.origin_y) >> 4) & 0x3f) << 6); - val += gUnk_080B4488[dir >> 3]; - tmp = layer->collisionData[val]; - if (tmp <= 0x1f) { - return 0; + LayerStruct* layer = GetLayerByIndex(super->collisionLayer); + u32 collisionData; + + tile = TILE(super->x.HALF.HI, super->y.HALF.HI); + tile += gUnk_080B4488[dir >> 3]; + collisionData = layer->collisionData[tile]; + + if (collisionData <= 0x1F) { + return FALSE; } - if (tmp > 0x3f) { - return 0; + if (collisionData > 0x3F) { + return FALSE; } - return 1; + return TRUE; } - -void (*const Winder_Actions[])(Entity*) = { - Winder_Init, - sub_080AB950, -}; -const u8 gUnk_0812A6BC[] = { - 8, 24, 0, 16, 8, 24, 0, 16, -}; -const u16 gUnk_0812A6C4[] = { - 0xe, - 0xe000, - 0xe0, - 0xe00, -}; diff --git a/src/room.c b/src/room.c index b12dbea4..babc3f02 100644 --- a/src/room.c +++ b/src/room.c @@ -68,7 +68,7 @@ NONMATCH("asm/non_matching/LoadRoomEntity.inc", Entity* LoadRoomEntity(EntityDat if (kind == 9) return v5; sub_0804AF0C(v5, dat); - if (!v5->next) + if (v5->next == NULL) return v5; if ((dat->kind & 0x10) == 0) { if ((dat->kind & 0x20) != 0) { diff --git a/src/roomInit.c b/src/roomInit.c index d0136ac0..709cbcff 100644 --- a/src/roomInit.c +++ b/src/roomInit.c @@ -177,69 +177,69 @@ void sub_unk1_CrenelMinishPaths_MelarisMine(void) { sub_080580B0(34); } -u32 sub_unk3_MinishPaths1_ToMinishVillage(void) { +u32 sub_unk3_MinishPaths_ToMinishVillage(void) { return 1; } -void sub_StateChange_MinishPaths1_ToMinishVillage(void) { +void sub_StateChange_MinishPaths_ToMinishVillage(void) { sub_080575C8(30); } -void sub_unk1_MinishPaths1_ToMinishVillage(void) { +void sub_unk1_MinishPaths_ToMinishVillage(void) { sub_080575C8(30); } -u32 sub_unk3_MinishPaths1_CastorWilds(void) { +u32 sub_unk3_MinishPaths_CastorWilds(void) { return 1; } -void sub_StateChange_MinishPaths1_CastorWilds(void) { +void sub_StateChange_MinishPaths_CastorWilds(void) { sub_080575C8(33); } -void sub_unk1_MinishPaths1_CastorWilds(void) { +void sub_unk1_MinishPaths_CastorWilds(void) { sub_080575C8(33); } -u32 sub_unk3_MinishPaths1_HyruleTown(void) { +u32 sub_unk3_MinishPaths_HyruleTown(void) { return 1; } -void sub_StateChange_MinishPaths1_HyruleTown(void) { +void sub_StateChange_MinishPaths_HyruleTown(void) { sub_080575C8(31); } -void sub_unk1_MinishPaths1_HyruleTown(void) { +void sub_unk1_MinishPaths_HyruleTown(void) { sub_080575C8(31); } -u32 sub_unk3_MinishPaths1_LonLonRanch(void) { +u32 sub_unk3_MinishPaths_LonLonRanch(void) { return 1; } -void sub_StateChange_MinishPaths1_LonLonRanch(void) { +void sub_StateChange_MinishPaths_LonLonRanch(void) { sub_080575C8(32); } -void sub_unk1_MinishPaths1_LonLonRanch(void) { +void sub_unk1_MinishPaths_LonLonRanch(void) { sub_080575C8(32); } -u32 sub_unk3_MinishPaths1_MayorsCabin(void) { +u32 sub_unk3_MinishPaths_MayorsCabin(void) { return 1; } -extern EntityData Entities_MinishPaths1_MayorsCabin_gUnk_080D6138; +extern EntityData Entities_MinishPaths_MayorsCabin_gUnk_080D6138; -void sub_StateChange_MinishPaths1_MayorsCabin(void) { +void sub_StateChange_MinishPaths_MayorsCabin(void) { sub_080575C8(0x20); if (gPlayerEntity.y.HALF.HI - gRoomControls.origin_y > 0x40) - LoadRoomEntityList(&Entities_MinishPaths1_MayorsCabin_gUnk_080D6138); + LoadRoomEntityList(&Entities_MinishPaths_MayorsCabin_gUnk_080D6138); } -void sub_unk1_MinishPaths1_MayorsCabin(void) { +void sub_unk1_MinishPaths_MayorsCabin(void) { sub_080575C8(32); } @@ -921,11 +921,11 @@ u32 sub_unk3_Dojos_ToScarblade(void) { void sub_StateChange_Dojos_ToScarblade(void) { } -u32 sub_unk3_GoronCave_StairsToCave(void) { +u32 sub_unk3_GoronCave_Stairs(void) { return 1; } -void sub_StateChange_GoronCave_StairsToCave(void) { +void sub_StateChange_GoronCave_Stairs(void) { } u32 sub_unk3_GoronCave_Main(void) { @@ -1515,11 +1515,11 @@ void sub_StateChange_MinishHouseInteriors_HyruleFieldSouthwest(void) { sub_0801AFE4(); } -u32 sub_unk3_MinishHouseInteriors_HyruleFieldOutsideLinksHouse(void) { +u32 sub_unk3_MinishHouseInteriors_SouthHyruleField(void) { return 1; } -void sub_StateChange_MinishHouseInteriors_HyruleFieldOutsideLinksHouse(void) { +void sub_StateChange_MinishHouseInteriors_SouthHyruleField(void) { sub_0801AFE4(); } @@ -1891,13 +1891,13 @@ u32 sub_unk3_MinishCracks_5(void) { void sub_StateChange_MinishCracks_5(void) { } -u32 sub_unk3_MinishCracks_CastleWildsBowHole(void) { +u32 sub_unk3_MinishCracks_CastorWildsBow(void) { return 1; } extern EntityData gUnk_080DCB10; -void sub_StateChange_MinishCracks_CastleWildsBowHole(void) { +void sub_StateChange_MinishCracks_CastorWildsBow(void) { if (!GetInventoryValue(ITEM_BOW)) { LoadRoomEntityList(&gUnk_080DCB10); } @@ -3174,18 +3174,18 @@ void sub_StateChange_RoyalCrypt_Entrance(void) { } } -u32 sub_unk3_PalaceOfWinds_0(void) { +u32 sub_unk3_PalaceOfWinds_GyorgTornado(void) { return 1; } -extern EntityData gUnk_additional_9_PalaceOfWinds_0; +extern EntityData gUnk_additional_9_PalaceOfWinds_GyorgTornado; extern EntityData gUnk_080E72C4; -extern EntityData gUnk_additional_8_PalaceOfWinds_0; +extern EntityData gUnk_additional_8_PalaceOfWinds_GyorgTornado; -void sub_StateChange_PalaceOfWinds_0(void) { +void sub_StateChange_PalaceOfWinds_GyorgTornado(void) { Manager19_Main(NULL); if (CheckGlobalFlag(LV5_CLEAR)) { - LoadRoomEntityList(&gUnk_additional_9_PalaceOfWinds_0); + LoadRoomEntityList(&gUnk_additional_9_PalaceOfWinds_GyorgTornado); } if (!CheckLocalFlag(0x7b)) { LoadRoomEntityList(&gUnk_080E72C4); @@ -3193,402 +3193,402 @@ void sub_StateChange_PalaceOfWinds_0(void) { SetGlobalFlag(LV5_CLEAR); if (!GetInventoryValue(ITEM_WIND_ELEMENT)) { SetPlayerControl(3); - LoadRoomEntityList(&gUnk_additional_8_PalaceOfWinds_0); + LoadRoomEntityList(&gUnk_additional_8_PalaceOfWinds_GyorgTornado); gArea.bgm = gArea.queued_bgm; SoundReq(SONG_STOP_BGM); } } } -u32 sub_unk3_PalaceOfWinds_1(void) { +u32 sub_unk3_PalaceOfWinds_BossKey(void) { return 1; } -void sub_StateChange_PalaceOfWinds_1(void) { +void sub_StateChange_PalaceOfWinds_BossKey(void) { Manager19_Main(NULL); } -u32 sub_unk3_PalaceOfWinds_2(void) { +u32 sub_unk3_PalaceOfWinds_BeforeBallAndChainSoldiers(void) { return 1; } -void sub_StateChange_PalaceOfWinds_2(void) { +void sub_StateChange_PalaceOfWinds_BeforeBallAndChainSoldiers(void) { Manager19_Main(NULL); } -u32 sub_unk3_PalaceOfWinds_3(void) { +u32 sub_unk3_PalaceOfWinds_GyorgBossDoor(void) { return 1; } -void sub_StateChange_PalaceOfWinds_3(void) { +void sub_StateChange_PalaceOfWinds_GyorgBossDoor(void) { Manager19_Main(NULL); } -u32 sub_unk3_PalaceOfWinds_4(void) { +u32 sub_unk3_PalaceOfWinds_EastChestFromGyorgBossDoor(void) { return 1; } -void sub_StateChange_PalaceOfWinds_4(void) { +void sub_StateChange_PalaceOfWinds_EastChestFromGyorgBossDoor(void) { Manager19_Main(NULL); } -u32 sub_unk3_PalaceOfWinds_5(void) { +u32 sub_unk3_PalaceOfWinds_MoblinAndWizzrobeFight(void) { return 1; } -void sub_StateChange_PalaceOfWinds_5(void) { +void sub_StateChange_PalaceOfWinds_MoblinAndWizzrobeFight(void) { Manager19_Main(NULL); } -u32 sub_unk3_PalaceOfWinds_6(void) { +u32 sub_unk3_PalaceOfWinds_FourButtonStalfos(void) { return 1; } -void sub_StateChange_PalaceOfWinds_6(void) { +void sub_StateChange_PalaceOfWinds_FourButtonStalfos(void) { Manager19_Main(NULL); } -u32 sub_unk3_PalaceOfWinds_7(void) { +u32 sub_unk3_PalaceOfWinds_FanAndKeyToBossKey(void) { return 1; } -void sub_StateChange_PalaceOfWinds_7(void) { +void sub_StateChange_PalaceOfWinds_FanAndKeyToBossKey(void) { Manager19_Main(NULL); } -u32 sub_unk3_PalaceOfWinds_8(void) { +u32 sub_unk3_PalaceOfWinds_BallAndChainSoldiers(void) { return 1; } -void sub_StateChange_PalaceOfWinds_8(void) { +void sub_StateChange_PalaceOfWinds_BallAndChainSoldiers(void) { Manager19_Main(NULL); } -u32 sub_unk3_PalaceOfWinds_9(void) { +u32 sub_unk3_PalaceOfWinds_BombarossaPath(void) { return 1; } -void sub_StateChange_PalaceOfWinds_9(void) { +void sub_StateChange_PalaceOfWinds_BombarossaPath(void) { Manager19_Main(NULL); } -u32 sub_unk3_PalaceOfWinds_10(void) { +u32 sub_unk3_PalaceOfWinds_HoleToDarknut(void) { return 1; } -void sub_StateChange_PalaceOfWinds_10(void) { +void sub_StateChange_PalaceOfWinds_HoleToDarknut(void) { Manager19_Main(NULL); } -u32 sub_unk3_PalaceOfWinds_11(void) { +u32 sub_unk3_PalaceOfWinds_ToBombarossaPath(void) { return 1; } -void sub_StateChange_PalaceOfWinds_11(void) { +void sub_StateChange_PalaceOfWinds_ToBombarossaPath(void) { Manager19_Main(NULL); } -u32 sub_unk3_PalaceOfWinds_12(void) { +u32 sub_unk3_PalaceOfWinds_DarknutMiniboss(void) { return 1; } -void sub_StateChange_PalaceOfWinds_12(void) { +void sub_StateChange_PalaceOfWinds_DarknutMiniboss(void) { Manager19_Main(NULL); } -u32 sub_unk3_PalaceOfWinds_13(void) { +u32 sub_unk3_PalaceOfWinds_BombWallInside(void) { return 1; } -void sub_StateChange_PalaceOfWinds_13(void) { +void sub_StateChange_PalaceOfWinds_BombWallInside(void) { Manager19_Main(NULL); } -u32 sub_unk3_PalaceOfWinds_14(void) { +u32 sub_unk3_PalaceOfWinds_BombWallOutside(void) { return 1; } -void sub_StateChange_PalaceOfWinds_14(void) { +void sub_StateChange_PalaceOfWinds_BombWallOutside(void) { Manager19_Main(NULL); } -u32 sub_unk3_PalaceOfWinds_15(void) { +u32 sub_unk3_PalaceOfWinds_CloudJumps(void) { return 1; } -void sub_StateChange_PalaceOfWinds_15(void) { +void sub_StateChange_PalaceOfWinds_CloudJumps(void) { Manager19_Main(NULL); } -u32 sub_unk3_PalaceOfWinds_16(void) { +u32 sub_unk3_PalaceOfWinds_BlockMazeToBossDoor(void) { return 1; } -void sub_StateChange_PalaceOfWinds_16(void) { +void sub_StateChange_PalaceOfWinds_BlockMazeToBossDoor(void) { Manager19_Main(NULL); } -u32 sub_unk3_PalaceOfWinds_17(void) { +u32 sub_unk3_PalaceOfWinds_CrackedFloorLakitu(void) { return 1; } -void sub_StateChange_PalaceOfWinds_17(void) { +void sub_StateChange_PalaceOfWinds_CrackedFloorLakitu(void) { Manager19_Main(NULL); } -u32 sub_unk3_PalaceOfWinds_18(void) { +u32 sub_unk3_PalaceOfWinds_HeartPieceBridge(void) { return 1; } -void sub_StateChange_PalaceOfWinds_18(void) { +void sub_StateChange_PalaceOfWinds_HeartPieceBridge(void) { Manager19_Main(NULL); } -u32 sub_unk3_PalaceOfWinds_19(void) { +u32 sub_unk3_PalaceOfWinds_FanBridge(void) { return 1; } -void sub_StateChange_PalaceOfWinds_19(void) { +void sub_StateChange_PalaceOfWinds_FanBridge(void) { Manager19_Main(NULL); } -u32 sub_unk3_PalaceOfWinds_20(void) { +u32 sub_unk3_PalaceOfWinds_ToFanBridge(void) { return 1; } -void sub_StateChange_PalaceOfWinds_20(void) { +void sub_StateChange_PalaceOfWinds_ToFanBridge(void) { Manager19_Main(NULL); } -u32 sub_unk3_PalaceOfWinds_21(void) { +u32 sub_unk3_PalaceOfWinds_RedWarpHall(void) { return 1; } -void sub_StateChange_PalaceOfWinds_21(void) { +void sub_StateChange_PalaceOfWinds_RedWarpHall(void) { } -u32 sub_unk3_PalaceOfWinds_22(void) { +u32 sub_unk3_PalaceOfWinds_PlatformCloneRide(void) { return 1; } -void sub_StateChange_PalaceOfWinds_22(void) { +void sub_StateChange_PalaceOfWinds_PlatformCloneRide(void) { Manager19_Main(NULL); } -u32 sub_unk3_PalaceOfWinds_23(void) { +u32 sub_unk3_PalaceOfWinds_PitCornerAfterKey(void) { return 1; } -void sub_StateChange_PalaceOfWinds_23(void) { +void sub_StateChange_PalaceOfWinds_PitCornerAfterKey(void) { Manager19_Main(NULL); } -u32 sub_unk3_PalaceOfWinds_24(void) { +u32 sub_unk3_PalaceOfWinds_CrowRide(void) { return 1; } -void sub_StateChange_PalaceOfWinds_24(void) { +void sub_StateChange_PalaceOfWinds_CrowRide(void) { Manager19_Main(NULL); } -u32 sub_unk3_PalaceOfWinds_25(void) { +u32 sub_unk3_PalaceOfWinds_GratePlatformRide(void) { return 1; } -void sub_StateChange_PalaceOfWinds_25(void) { +void sub_StateChange_PalaceOfWinds_GratePlatformRide(void) { Manager19_Main(NULL); } -u32 sub_unk3_PalaceOfWinds_26(void) { +u32 sub_unk3_PalaceOfWinds_PotPush(void) { return 1; } -void sub_StateChange_PalaceOfWinds_26(void) { +void sub_StateChange_PalaceOfWinds_PotPush(void) { Manager19_Main(NULL); } -u32 sub_unk3_PalaceOfWinds_27(void) { +u32 sub_unk3_PalaceOfWinds_FloormasterLever(void) { return 1; } -void sub_StateChange_PalaceOfWinds_27(void) { +void sub_StateChange_PalaceOfWinds_FloormasterLever(void) { } -u32 sub_unk3_PalaceOfWinds_28(void) { +u32 sub_unk3_PalaceOfWinds_Map(void) { return 1; } -void sub_StateChange_PalaceOfWinds_28(void) { +void sub_StateChange_PalaceOfWinds_Map(void) { } -u32 sub_unk3_PalaceOfWinds_29(void) { +u32 sub_unk3_PalaceOfWinds_CornerToMap(void) { return 1; } -void sub_StateChange_PalaceOfWinds_29(void) { +void sub_StateChange_PalaceOfWinds_CornerToMap(void) { } -u32 sub_unk3_PalaceOfWinds_30(void) { +u32 sub_unk3_PalaceOfWinds_StairsAfterFloormaster(void) { return 1; } -void sub_StateChange_PalaceOfWinds_30(void) { +void sub_StateChange_PalaceOfWinds_StairsAfterFloormaster(void) { } -u32 sub_unk3_PalaceOfWinds_31(void) { +u32 sub_unk3_PalaceOfWinds_HoleToKinstoneWizzrobe(void) { return 1; } -void sub_StateChange_PalaceOfWinds_31(void) { +void sub_StateChange_PalaceOfWinds_HoleToKinstoneWizzrobe(void) { } -u32 sub_unk3_PalaceOfWinds_32(void) { +u32 sub_unk3_PalaceOfWinds_KeyArrowButton(void) { return 1; } -void sub_StateChange_PalaceOfWinds_32(void) { +void sub_StateChange_PalaceOfWinds_KeyArrowButton(void) { } -u32 sub_unk3_PalaceOfWinds_33(void) { +u32 sub_unk3_PalaceOfWinds_GratesTo3F(void) { return 1; } -void sub_StateChange_PalaceOfWinds_33(void) { +void sub_StateChange_PalaceOfWinds_GratesTo3F(void) { Manager19_Main(NULL); } -u32 sub_unk3_PalaceOfWinds_34(void) { +u32 sub_unk3_PalaceOfWinds_SpinyFight(void) { return 1; } -void sub_StateChange_PalaceOfWinds_34(void) { +void sub_StateChange_PalaceOfWinds_SpinyFight(void) { Manager19_Main(NULL); } -u32 sub_unk3_PalaceOfWinds_35(void) { +u32 sub_unk3_PalaceOfWinds_PeahatSwitch(void) { return 1; } -void sub_StateChange_PalaceOfWinds_35(void) { +void sub_StateChange_PalaceOfWinds_PeahatSwitch(void) { Manager19_Main(NULL); } -u32 sub_unk3_PalaceOfWinds_36(void) { +u32 sub_unk3_PalaceOfWinds_WhirlwindBombarossa(void) { return 1; } -void sub_StateChange_PalaceOfWinds_36(void) { +void sub_StateChange_PalaceOfWinds_WhirlwindBombarossa(void) { Manager19_Main(NULL); } -u32 sub_unk3_PalaceOfWinds_37(void) { +u32 sub_unk3_PalaceOfWinds_DoorToStalfosFirebar(void) { return 1; } -void sub_StateChange_PalaceOfWinds_37(void) { +void sub_StateChange_PalaceOfWinds_DoorToStalfosFirebar(void) { } -u32 sub_unk3_PalaceOfWinds_38(void) { +u32 sub_unk3_PalaceOfWinds_StalfosFireborHole(void) { return 1; } -void sub_StateChange_PalaceOfWinds_38(void) { +void sub_StateChange_PalaceOfWinds_StalfosFireborHole(void) { } -u32 sub_unk3_PalaceOfWinds_39(void) { +u32 sub_unk3_PalaceOfWinds_ShortcutDoorButtons(void) { return 1; } -void sub_StateChange_PalaceOfWinds_39(void) { +void sub_StateChange_PalaceOfWinds_ShortcutDoorButtons(void) { } -u32 sub_unk3_PalaceOfWinds_40(void) { +u32 sub_unk3_PalaceOfWinds_ToPeahatSwitch(void) { return 1; } -void sub_StateChange_PalaceOfWinds_40(void) { +void sub_StateChange_PalaceOfWinds_ToPeahatSwitch(void) { } -u32 sub_unk3_PalaceOfWinds_41(void) { +u32 sub_unk3_PalaceOfWinds_KinstoneWizzrobeFight(void) { return 1; } -void sub_StateChange_PalaceOfWinds_41(void) { +void sub_StateChange_PalaceOfWinds_KinstoneWizzrobeFight(void) { } -u32 sub_unk3_PalaceOfWinds_42(void) { +u32 sub_unk3_PalaceOfWinds_GibdoStairs(void) { return 1; } -void sub_StateChange_PalaceOfWinds_42(void) { +void sub_StateChange_PalaceOfWinds_GibdoStairs(void) { } -u32 sub_unk3_PalaceOfWinds_43(void) { +u32 sub_unk3_PalaceOfWinds_SpikeBarSmallKey(void) { return 1; } -void sub_StateChange_PalaceOfWinds_43(void) { +void sub_StateChange_PalaceOfWinds_SpikeBarSmallKey(void) { Manager19_Main(NULL); } -u32 sub_unk3_PalaceOfWinds_44(void) { +u32 sub_unk3_PalaceOfWinds_RocCape(void) { return 1; } extern EntityData gUnk_080EA09C; -void sub_StateChange_PalaceOfWinds_44(void) { +void sub_StateChange_PalaceOfWinds_RocCape(void) { Manager19_Main(NULL); if (!CheckLocalFlag(0x70)) { LoadRoomEntityList(&gUnk_080EA09C); } } -u32 sub_unk3_PalaceOfWinds_45(void) { +u32 sub_unk3_PalaceOfWinds_FireBarGrates(void) { return 1; } -void sub_StateChange_PalaceOfWinds_45(void) { +void sub_StateChange_PalaceOfWinds_FireBarGrates(void) { Manager19_Main(NULL); } -u32 sub_unk3_PalaceOfWinds_46(void) { +u32 sub_unk3_PalaceOfWinds_PlatformRideBombarossas(void) { return 1; } -void sub_StateChange_PalaceOfWinds_46(void) { +void sub_StateChange_PalaceOfWinds_PlatformRideBombarossas(void) { Manager19_Main(NULL); } -u32 sub_unk3_PalaceOfWinds_47(void) { +u32 sub_unk3_PalaceOfWinds_BridgeAfterDarknut(void) { return 1; } -void sub_StateChange_PalaceOfWinds_47(void) { +void sub_StateChange_PalaceOfWinds_BridgeAfterDarknut(void) { Manager19_Main(NULL); } -u32 sub_unk3_PalaceOfWinds_48(void) { +u32 sub_unk3_PalaceOfWinds_BridgeSwitchesCloneBlock(void) { return 1; } -void sub_StateChange_PalaceOfWinds_48(void) { +void sub_StateChange_PalaceOfWinds_BridgeSwitchesCloneBlock(void) { Manager19_Main(NULL); } -u32 sub_unk3_PalaceOfWinds_49(void) { +u32 sub_unk3_PalaceOfWinds_EntranceRoom(void) { return 1; } -void sub_StateChange_PalaceOfWinds_49(void) { +void sub_StateChange_PalaceOfWinds_EntranceRoom(void) { Manager19_Main(NULL); } -u32 sub_unk3_PalaceOfWinds_50(void) { +u32 sub_unk3_PalaceOfWinds_DarkCompassHall(void) { return 1; } -void sub_StateChange_PalaceOfWinds_50(void) { +void sub_StateChange_PalaceOfWinds_DarkCompassHall(void) { } u32 sub_unk3_PalaceOfWindsBoss_Main(void) { @@ -3779,7 +3779,7 @@ void sub_StateChange_Dojos_ToGrimblade6(void) { extern u32 gUnk_080EB604; extern u32 gUnk_080EB5D4; -u32 sub_unk3_DarkHyruleCastle_0(void) { +u32 sub_unk3_DarkHyruleCastle_1FEntrance(void) { if (CheckGlobalFlag(ENDING)) { gRoomVars.field_0x6c[0] = &gUnk_080EB604; gRoomVars.field_0x6c[2] = 0; @@ -3796,7 +3796,7 @@ u32 sub_unk3_DarkHyruleCastle_0(void) { return 1; } -void sub_StateChange_DarkHyruleCastle_0(void) { +void sub_StateChange_DarkHyruleCastle_1FEntrance(void) { if (CheckGlobalFlag(ENDING)) { gArea.queued_bgm = gArea.bgm; } @@ -3816,42 +3816,42 @@ static void sub_0804D9B0(void) { gArea.queued_bgm = gArea.bgm; } -u32 sub_unk3_DarkHyruleCastle_1(void) { +u32 sub_unk3_DarkHyruleCastle_3FTopLeftTower(void) { return 1; } void sub_StateChange_Dojos_ToGrimblade7(void) { } -u32 sub_unk3_DarkHyruleCastle_2(void) { +u32 sub_unk3_DarkHyruleCastle_3FTopRightTower(void) { return 1; } void sub_StateChange_Dojos_ToGrimblade8(void) { } -u32 sub_unk3_DarkHyruleCastle_3(void) { +u32 sub_unk3_DarkHyruleCastle_3FBottomLeftTower(void) { return 1; } void sub_StateChange_Dojos_ToGrimblade9(void) { } -u32 sub_unk3_DarkHyruleCastle_4(void) { +u32 sub_unk3_DarkHyruleCastle_3FBottomRightTower(void) { return 1; } void sub_StateChange_Dojos_ToSplitblade0(void) { } -u32 sub_unk3_DarkHyruleCastle_5(void) { +u32 sub_unk3_DarkHyruleCastle_3FKeatonHallToVaati(void) { return 1; } void sub_StateChange_Dojos_ToSplitblade1(void) { } -u32 sub_unk3_DarkHyruleCastle_6(void) { +u32 sub_unk3_DarkHyruleCastle_3FTripleDarknut(void) { if (!CheckLocalFlag(0x77)) { gRoomVars.field_0x6c[0] = 0; gRoomVars.field_0x6c[2] = 0; @@ -3863,7 +3863,7 @@ extern EntityData gUnk_080EB9F4; extern EntityData gUnk_080EBAA4; extern EntityData gUnk_080EBAF4; -void sub_StateChange_DarkHyruleCastle_6(void) { +void sub_StateChange_DarkHyruleCastle_3FTripleDarknut(void) { if (!CheckLocalFlag(0x77)) { LoadRoomEntityList(&gUnk_080EB9F4); } else { @@ -3878,173 +3878,173 @@ void sub_StateChange_DarkHyruleCastle_6(void) { } } -u32 sub_unk3_DarkHyruleCastle_7(void) { +u32 sub_unk3_DarkHyruleCastle_2FTopLeftTower(void) { return 1; } void sub_StateChange_Dojos_ToSplitblade2(void) { } -u32 sub_unk3_DarkHyruleCastle_8(void) { +u32 sub_unk3_DarkHyruleCastle_2FTopLeftCorner(void) { return 1; } void sub_StateChange_Dojos_ToSplitblade3(void) { } -u32 sub_unk3_DarkHyruleCastle_9(void) { +u32 sub_unk3_DarkHyruleCastle_2FBossKey(void) { return 1; } void sub_StateChange_Dojos_ToSplitblade4(void) { } -u32 sub_unk3_DarkHyruleCastle_10(void) { +u32 sub_unk3_DarkHyruleCastle_2FBlueWarp(void) { return 1; } void sub_StateChange_Dojos_ToSplitblade5(void) { } -u32 sub_unk3_DarkHyruleCastle_11(void) { +u32 sub_unk3_DarkHyruleCastle_2FTopRightCornerGhini(void) { return 1; } void sub_StateChange_Dojos_ToSplitblade6(void) { } -u32 sub_unk3_DarkHyruleCastle_12(void) { +u32 sub_unk3_DarkHyruleCastle_2FTopRightCornerTorches(void) { return 1; } void sub_StateChange_Dojos_ToSplitblade7(void) { } -u32 sub_unk3_DarkHyruleCastle_13(void) { +u32 sub_unk3_DarkHyruleCastle_2FTopRightTower(void) { return 1; } void sub_StateChange_Dojos_ToSplitblade8(void) { } -u32 sub_unk3_DarkHyruleCastle_14(void) { +u32 sub_unk3_DarkHyruleCastle_2FTopLeftDarknut(void) { return 1; } extern EntityData gUnk_080EC2CC; -void sub_StateChange_DarkHyruleCastle_14(void) { +void sub_StateChange_DarkHyruleCastle_2FTopLeftDarknut(void) { if (CheckLocalFlag(0x86) && !CheckLocalFlag(0x4c)) { LoadRoomEntityList(&gUnk_080EC2CC); } } -u32 sub_unk3_DarkHyruleCastle_15(void) { +u32 sub_unk3_DarkHyruleCastle_2FSparks(void) { return 1; } void sub_StateChange_Dojos_ToSplitblade9(void) { } -u32 sub_unk3_DarkHyruleCastle_16(void) { +u32 sub_unk3_DarkHyruleCastle_2FTopRightDarknuts(void) { return 1; } extern EntityData gUnk_080EC4E8; -void sub_StateChange_DarkHyruleCastle_16(void) { +void sub_StateChange_DarkHyruleCastle_2FTopRightDarknuts(void) { if (CheckLocalFlag(0x86) && !CheckLocalFlag(0x4d)) { LoadRoomEntityList(&gUnk_080EC4E8); } } -u32 sub_unk3_DarkHyruleCastle_17(void) { +u32 sub_unk3_DarkHyruleCastle_2FLeft(void) { return 1; } void sub_StateChange_Dojos_ToGreatblade0(void) { } -u32 sub_unk3_DarkHyruleCastle_18(void) { +u32 sub_unk3_DarkHyruleCastle_2FRight(void) { return 1; } void sub_StateChange_Dojos_ToGreatblade1(void) { } -u32 sub_unk3_DarkHyruleCastle_19(void) { +u32 sub_unk3_DarkHyruleCastle_2FBottomLeftDarknuts(void) { return 1; } extern EntityData gUnk_080EC820; -void sub_StateChange_DarkHyruleCastle_19(void) { +void sub_StateChange_DarkHyruleCastle_2FBottomLeftDarknuts(void) { if (CheckLocalFlag(0x86) && !CheckLocalFlag(0x53)) { LoadRoomEntityList(&gUnk_080EC820); } } -u32 sub_unk3_DarkHyruleCastle_20(void) { +u32 sub_unk3_DarkHyruleCastle_2FBossDoor(void) { return 1; } void sub_StateChange_Dojos_ToGreatblade2(void) { } -u32 sub_unk3_DarkHyruleCastle_21(void) { +u32 sub_unk3_DarkHyruleCastle_2FBottomRightDarknut(void) { return 1; } extern EntityData gUnk_080ECA60; -void sub_StateChange_DarkHyruleCastle_21(void) { +void sub_StateChange_DarkHyruleCastle_2FBottomRightDarknut(void) { if (CheckLocalFlag(0x86) && !CheckLocalFlag(0x56)) { LoadRoomEntityList(&gUnk_080ECA60); } } -u32 sub_unk3_DarkHyruleCastle_22(void) { +u32 sub_unk3_DarkHyruleCastle_2FBottomLeftCornerPuzzle(void) { return 1; } void sub_StateChange_Dojos_ToGreatblade3(void) { } -u32 sub_unk3_DarkHyruleCastle_23(void) { +u32 sub_unk3_DarkHyruleCastle_2FEntrance(void) { return 1; } void sub_StateChange_Dojos_ToGreatblade4(void) { } -u32 sub_unk3_DarkHyruleCastle_24(void) { +u32 sub_unk3_DarkHyruleCastle_2FBottomLeftCorner(void) { return 1; } void sub_StateChange_Dojos_ToGreatblade5(void) { } -u32 sub_unk3_DarkHyruleCastle_25(void) { +u32 sub_unk3_DarkHyruleCastle_2FBottomLeftTower(void) { return 1; } void sub_StateChange_Dojos_ToGreatblade6(void) { } -u32 sub_unk3_DarkHyruleCastle_26(void) { +u32 sub_unk3_DarkHyruleCastle_2FBottomLeftGhini(void) { return 1; } void sub_StateChange_Dojos_ToGreatblade7(void) { } -u32 sub_unk3_DarkHyruleCastle_27(void) { +u32 sub_unk3_DarkHyruleCastle_3FTopRightTower7(void) { return 1; } void sub_StateChange_Dojos_ToGreatblade8(void) { } -u32 sub_unk3_DarkHyruleCastle_28(void) { +u32 sub_unk3_DarkHyruleCastle_B1Entrance(void) { if (CheckLocalFlag(0x79)) { gRoomVars.field_0x6c[2] = 0; } @@ -4053,7 +4053,7 @@ u32 sub_unk3_DarkHyruleCastle_28(void) { extern EntityData gUnk_080ECFCC; -void sub_StateChange_DarkHyruleCastle_28(void) { +void sub_StateChange_DarkHyruleCastle_B1Entrance(void) { if (CheckLocalFlag(0x79)) { sub_0807BB98(0x90, 1, 1, 5); LoadRoomEntityList(&gUnk_080ECFCC); @@ -4061,14 +4061,14 @@ void sub_StateChange_DarkHyruleCastle_28(void) { } } -u32 sub_unk3_DarkHyruleCastle_29(void) { +u32 sub_unk3_DarkHyruleCastle_2FBottomRightTower(void) { return 1; } void sub_StateChange_Dojos_ToGreatblade9(void) { } -u32 sub_unk3_DarkHyruleCastle_30(void) { +u32 sub_unk3_DarkHyruleCastle_1FTopLeftTower(void) { return 1; } @@ -4077,7 +4077,7 @@ void sub_StateChange_Dojos_ToScarblade0(void) { extern u32 gUnk_080ED1E4; -u32 sub_unk3_DarkHyruleCastle_31(void) { +u32 sub_unk3_DarkHyruleCastle_1FThroneRoom(void) { if (CheckGlobalFlag(ENDING)) { gRoomVars.field_0x6c[0] = &gUnk_080ED1E4; gRoomVars.field_0x6c[2] = 0; @@ -4085,160 +4085,160 @@ u32 sub_unk3_DarkHyruleCastle_31(void) { return 1; } -void sub_StateChange_DarkHyruleCastle_31(void) { +void sub_StateChange_DarkHyruleCastle_1FThroneRoom(void) { if (CheckGlobalFlag(ENDING)) { gArea.queued_bgm = gArea.bgm; } } -u32 sub_unk3_DarkHyruleCastle_32(void) { +u32 sub_unk3_DarkHyruleCastle_1FCompass(void) { return 1; } void sub_StateChange_Dojos_ToScarblade1(void) { } -u32 sub_unk3_DarkHyruleCastle_33(void) { +u32 sub_unk3_DarkHyruleCastle_1FTopRightTower(void) { return 1; } void sub_StateChange_Dojos_ToScarblade2(void) { } -u32 sub_unk3_DarkHyruleCastle_34(void) { +u32 sub_unk3_DarkHyruleCastle_1FBeforeThrone(void) { return 1; } void sub_StateChange_Dojos_ToScarblade3(void) { } -u32 sub_unk3_DarkHyruleCastle_35(void) { +u32 sub_unk3_DarkHyruleCastle_1FLoopTopLeft(void) { return 1; } void sub_StateChange_Dojos_ToScarblade4(void) { } -u32 sub_unk3_DarkHyruleCastle_36(void) { +u32 sub_unk3_DarkHyruleCastle_1FLoopTop(void) { return 1; } void sub_StateChange_Dojos_ToScarblade5(void) { } -u32 sub_unk3_DarkHyruleCastle_37(void) { +u32 sub_unk3_DarkHyruleCastle_1FLoopTopRight(void) { return 1; } void sub_StateChange_Dojos_ToScarblade6(void) { } -u32 sub_unk3_DarkHyruleCastle_38(void) { +u32 sub_unk3_DarkHyruleCastle_1FLoopLeft(void) { return 1; } void sub_StateChange_Dojos_ToScarblade7(void) { } -u32 sub_unk3_DarkHyruleCastle_39(void) { +u32 sub_unk3_DarkHyruleCastle_1FLoopRight(void) { return 1; } void sub_StateChange_Dojos_ToScarblade8(void) { } -u32 sub_unk3_DarkHyruleCastle_40(void) { +u32 sub_unk3_DarkHyruleCastle_1FLoopBottomLeft(void) { return 1; } void sub_StateChange_Dojos_ToScarblade9(void) { } -u32 sub_unk3_DarkHyruleCastle_41(void) { +u32 sub_unk3_DarkHyruleCastle_1FLoopBottom(void) { return 1; } -void sub_StateChange_GoronCave_StairsToCave0(void) { +void sub_StateChange_GoronCave_Stairs0(void) { } -u32 sub_unk3_DarkHyruleCastle_42(void) { +u32 sub_unk3_DarkHyruleCastle_1FLoopBottomRight(void) { return 1; } -void sub_StateChange_GoronCave_StairsToCave1(void) { +void sub_StateChange_GoronCave_Stairs1(void) { } -u32 sub_unk3_DarkHyruleCastle_43(void) { +u32 sub_unk3_DarkHyruleCastle_1FBottomLeftTower(void) { return 1; } -void sub_StateChange_GoronCave_StairsToCave2(void) { +void sub_StateChange_GoronCave_Stairs2(void) { } -u32 sub_unk3_DarkHyruleCastle_44(void) { +u32 sub_unk3_DarkHyruleCastle_1FBottomRightTower(void) { return 1; } -void sub_StateChange_GoronCave_StairsToCave3(void) { +void sub_StateChange_GoronCave_Stairs3(void) { } -u32 sub_unk3_DarkHyruleCastle_45(void) { +u32 sub_unk3_DarkHyruleCastle_B1BelowThrone(void) { return 1; } -void sub_StateChange_GoronCave_StairsToCave4(void) { +void sub_StateChange_GoronCave_Stairs4(void) { } -u32 sub_unk3_DarkHyruleCastle_46(void) { +u32 sub_unk3_DarkHyruleCastle_B1BelowCompass(void) { return 1; } -void sub_StateChange_GoronCave_StairsToCave5(void) { +void sub_StateChange_GoronCave_Stairs5(void) { } -u32 sub_unk3_DarkHyruleCastle_47(void) { +u32 sub_unk3_DarkHyruleCastle_B1BeforeThrone(void) { return 1; } -void sub_StateChange_GoronCave_StairsToCave6(void) { +void sub_StateChange_GoronCave_Stairs6(void) { } -u32 sub_unk3_DarkHyruleCastle_48(void) { +u32 sub_unk3_DarkHyruleCastle_B1ToPrison(void) { return 1; } -void sub_StateChange_GoronCave_StairsToCave7(void) { +void sub_StateChange_GoronCave_Stairs7(void) { } -u32 sub_unk3_DarkHyruleCastle_49(void) { +u32 sub_unk3_DarkHyruleCastle_B1BombWall(void) { return 1; } -void sub_StateChange_GoronCave_StairsToCave8(void) { +void sub_StateChange_GoronCave_Stairs8(void) { } -u32 sub_unk3_DarkHyruleCastle_50(void) { +u32 sub_unk3_DarkHyruleCastle_B1Keatons(void) { return 1; } -void sub_StateChange_GoronCave_StairsToCave9(void) { +void sub_StateChange_GoronCave_Stairs9(void) { } -u32 sub_unk3_DarkHyruleCastle_51(void) { +u32 sub_unk3_DarkHyruleCastle_B1ToPrisonFirebar(void) { return 1; } void sub_StateChange_Ruins_Beanstalk0(void) { } -u32 sub_unk3_DarkHyruleCastle_52(void) { +u32 sub_unk3_DarkHyruleCastle_B1Cannons(void) { return 1; } void sub_StateChange_Ruins_Beanstalk1(void) { } -u32 sub_unk3_DarkHyruleCastle_53(void) { +u32 sub_unk3_DarkHyruleCastle_B1Left(void) { if (CheckLocalFlag(0x79)) { gRoomVars.field_0x6c[2] = 0; gRoomVars.field_0x6c[0] = 0; @@ -4248,7 +4248,7 @@ u32 sub_unk3_DarkHyruleCastle_53(void) { extern EntityData gUnk_080EE314; -void sub_StateChange_DarkHyruleCastle_53(void) { +void sub_StateChange_DarkHyruleCastle_B1Left(void) { if (CheckLocalFlag(0x79)) { sub_0807BB98(3, 2, 5, 1); LoadRoomEntityList(&gUnk_080EE314); @@ -4256,14 +4256,14 @@ void sub_StateChange_DarkHyruleCastle_53(void) { } } -u32 sub_unk3_DarkHyruleCastle_54(void) { +u32 sub_unk3_DarkHyruleCastle_B1Right(void) { return 1; } void sub_StateChange_Ruins_Beanstalk2(void) { } -u32 sub_unk3_DarkHyruleCastle_55(void) { +u32 sub_unk3_DarkHyruleCastle_B1Map(void) { if (CheckLocalFlag(0x79)) { gRoomVars.field_0x6c[2] = 0; } @@ -4272,7 +4272,7 @@ u32 sub_unk3_DarkHyruleCastle_55(void) { extern EntityData gUnk_080EE5DC; -void sub_StateChange_DarkHyruleCastle_55(void) { +void sub_StateChange_DarkHyruleCastle_B1Map(void) { if (CheckLocalFlag(0x79)) { sub_0807BB98(0x392, 2, 2, 5); LoadRoomEntityList(&gUnk_080EE5DC); @@ -4280,26 +4280,26 @@ void sub_StateChange_DarkHyruleCastle_55(void) { } } -u32 sub_unk3_DarkHyruleCastle_56(void) { +u32 sub_unk3_DarkHyruleCastle_B2ToPrison(void) { return 1; } void sub_StateChange_Ruins_Beanstalk3(void) { } -u32 sub_unk3_DarkHyruleCastle_57(void) { +u32 sub_unk3_DarkHyruleCastle_B2Prison(void) { return 1; } extern EntityData gUnk_080EE71C; -void sub_StateChange_DarkHyruleCastle_57(void) { +void sub_StateChange_DarkHyruleCastle_B2Prison(void) { if (CheckLocalFlag(1)) { LoadRoomEntityList(&gUnk_080EE71C); } } -u32 sub_unk3_DarkHyruleCastle_58(void) { +u32 sub_unk3_DarkHyruleCastle_B2Dropdown(void) { return 1; } @@ -4950,13 +4950,13 @@ void sub_StateChange_HouseInteriors2_Dampe(void) { } } -u32 sub_unk3_HouseInteriors2_Stockwell(void) { +u32 sub_unk3_HouseInteriors2_StockwellLakeHouse(void) { return 1; } extern EntityData gUnk_080F30CC; -void sub_StateChange_HouseInteriors2_Stockwell(void) { +void sub_StateChange_HouseInteriors2_StockwellLakeHouse(void) { if ((GetInventoryValue(ITEM_QST_DOGFOOD) == 1) && !CheckGlobalFlag(BIN_DOGFOOD) && (gPlayerState.flags & PL_MINISH) == 0) { LoadRoomEntityList(&gUnk_080F30CC); @@ -5053,13 +5053,13 @@ u32 sub_unk3_HouseInteriors4_FarmHouse(void) { void sub_StateChange_Ruins_LadderToTektites0(void) { } -u32 sub_unk3_HouseInteriors4_Mayor(void) { +u32 sub_unk3_HouseInteriors4_MayorLakeCabin(void) { return 1; } extern EntityData gUnk_080F3A48; -void sub_StateChange_HouseInteriors4_Mayor(void) { +void sub_StateChange_HouseInteriors4_MayorLakeCabin(void) { if (!GetInventoryValue(ITEM_FLIPPERS) && CheckGlobalFlag(MIZUKAKI_START) && !GetInventoryValue(ITEM_QST_BOOK3)) { LoadRoomEntityList(&gUnk_080F3A48); } @@ -5703,7 +5703,7 @@ void sub_StateChange_HyruleField_WesternWoodSouth(void) { Manager18_Main(0); } -u32 sub_unk3_HyruleField_LinksHouseExterior(void) { +u32 sub_unk3_HyruleField_SouthHyruleField(void) { #if defined(JP) || defined(EU) || defined(DEMO_JP) if (!CheckLocalFlag(0x6b)) { #else @@ -5719,7 +5719,7 @@ extern EntityData gUnk_080F70A8; extern EntityData gUnk_080F70D8; extern EntityData gUnk_080F7088; -void sub_StateChange_HyruleField_LinksHouseExterior(void) { +void sub_StateChange_HyruleField_SouthHyruleField(void) { Manager18_Main(NULL); #if defined(JP) || defined(EU) || defined(DEMO_JP) if (!CheckLocalFlag(0x6b)) { @@ -5740,31 +5740,31 @@ void sub_StateChange_HyruleField_LinksHouseExterior(void) { } } -void sub_unk1_HyruleField_LinksHouseExterior(void) { +void sub_unk1_HyruleField_SouthHyruleField(void) { if ((gSave.windcrests & 0x40000000) == 0) { LoadRoomEntityList(&gUnk_080F70D8); } } -u32 sub_unk3_HyruleField_FromMinishWoods(void) { +u32 sub_unk3_HyruleField_EasternHillsSouth(void) { return 1; } -void sub_StateChange_HyruleField_FromMinishWoods(void) { +void sub_StateChange_HyruleField_EasternHillsSouth(void) { Manager18_Main(NULL); } -u32 sub_unk3_HyruleField_FromMinishWoodsNorth(void) { +u32 sub_unk3_HyruleField_EasternHillsCenter(void) { return 1; } -void sub_StateChange_HyruleField_FromMinishWoodsNorth(void) { +void sub_StateChange_HyruleField_EasternHillsCenter(void) { Manager18_Main(NULL); } extern u32 gUnk_080F7680; -u32 sub_unk3_HyruleField_Farmers(void) { +u32 sub_unk3_HyruleField_EasternHillsNorth(void) { if (GetInventoryValue(ITEM_GUST_JAR) && !GetInventoryValue(ITEM_PACCI_CANE)) { gRoomVars.field_0x6c[2] = &gUnk_080F7680; } @@ -5774,7 +5774,7 @@ u32 sub_unk3_HyruleField_Farmers(void) { extern EntityData gUnk_080F7500; extern EntityData gUnk_080F7550; -void sub_StateChange_HyruleField_Farmers(void) { +void sub_StateChange_HyruleField_EasternHillsNorth(void) { Manager18_Main(NULL); if (gSave.global_progress > 3) { LoadRoomEntityList(&gUnk_080F7500); @@ -6030,26 +6030,26 @@ void sub_0804F9C8(void) { RestorePrevTileEntity(0x4d9, 1); } -u32 sub_unk3_HyruleField_OutsideCastleWest(void) { +u32 sub_unk3_HyruleField_TrilbyHighlands(void) { return 1; } extern EntityData gUnk_080F806C; -void sub_StateChange_HyruleField_OutsideCastleWest(void) { +void sub_StateChange_HyruleField_TrilbyHighlands(void) { Manager18_Main(NULL); if ((gSave.global_progress > 3) && CheckGlobalFlag(TINGLE_TALK1ST)) { LoadRoomEntityList(&gUnk_080F806C); } } -u32 sub_unk3_HyruleField_TrilbyHighlands(void) { +u32 sub_unk3_HyruleField_WesternWoodsNorth(void) { return 1; } extern EntityData gUnk_080F82E0; -void sub_StateChange_HyruleField_TrilbyHighlands(void) { +void sub_StateChange_HyruleField_WesternWoodsNorth(void) { Manager18_Main(NULL); #if defined(JP) || defined(EU) || defined(DEMO_JP) if (CheckGlobalFlag(LV2_CLEAR) && GetInventoryValue(ITEM_RED_SWORD) && !CheckLocalFlag(0x9b)) { @@ -6060,13 +6060,13 @@ void sub_StateChange_HyruleField_TrilbyHighlands(void) { } } -u32 sub_unk3_HyruleField_PercysHouse(void) { +u32 sub_unk3_HyruleField_WesternWoodsCenter(void) { return 1; } extern EntityData gUnk_080F8430; -void sub_StateChange_HyruleField_PercysHouse(void) { +void sub_StateChange_HyruleField_WesternWoodsCenter(void) { Manager18_Main(NULL); if (CheckKinstoneFused(0x21) && !CheckLocalFlagByBank(0x200, 0x42)) { LoadRoomEntityList(&gUnk_080F8430); @@ -6133,25 +6133,25 @@ u32 sub_unk3_Caves_6(void) { void sub_StateChange_Caves_6(void) { } -u32 sub_unk3_Caves_KeeseChest(void) { +u32 sub_unk3_Caves_TrilbyKeeseChest(void) { return 1; } -void sub_StateChange_Caves_KeeseChest(void) { +void sub_StateChange_Caves_TrilbyKeeseChest(void) { } -u32 sub_unk3_Caves_FairyFountainTrilbyHighlands(void) { +u32 sub_unk3_Caves_TrilbyFairyFountain(void) { return 1; } -void sub_StateChange_Caves_FairyFountainTrilbyHighlands(void) { +void sub_StateChange_Caves_TrilbyFairyFountain(void) { } -u32 sub_unk3_Caves_FairyFountainLinksHouse(void) { +u32 sub_unk3_Caves_SouthHyruleFieldFairyFountain(void) { return 1; } -void sub_StateChange_Caves_FairyFountainLinksHouse(void) { +void sub_StateChange_Caves_SouthHyruleFieldFairyFountain(void) { } u32 sub_unk3_Caves_A(void) { @@ -6204,31 +6204,31 @@ u32 sub_unk3_Caves_LonLonRanchWallet(void) { void sub_StateChange_Caves_LonLonRanchWallet(void) { } -u32 sub_unk3_Caves_RupeeLinksHouse(void) { +u32 sub_unk3_Caves_SouthHyruleFieldRupee(void) { return 1; } -void sub_StateChange_Caves_RupeeLinksHouse(void) { +void sub_StateChange_Caves_SouthHyruleFieldRupee(void) { } -u32 sub_unk3_Caves_RupeeTrilbyHighlands(void) { +u32 sub_unk3_Caves_TrilbyRupee(void) { return 1; } -void sub_StateChange_Caves_RupeeTrilbyHighlands(void) { +void sub_StateChange_Caves_TrilbyRupee(void) { } -u32 sub_unk3_Caves_FairyFountainMoleMitts(void) { +u32 sub_unk3_Caves_TrilbyMittsFairyFountain(void) { return 1; } -void sub_StateChange_Caves_FairyFountainMoleMitts(void) { +void sub_StateChange_Caves_TrilbyMittsFairyFountain(void) { } -u32 sub_unk3_Caves_KeeseChestSoutheastHyrule(void) { +u32 sub_unk3_Caves_HillsKeeseChest(void) { return 1; } -void sub_StateChange_Caves_KeeseChestSoutheastHyrule(void) { +void sub_StateChange_Caves_HillsKeeseChest(void) { } u32 sub_unk3_Caves_BottleBusinessScrub(void) { @@ -6245,11 +6245,11 @@ u32 sub_unk3_Caves_HeartPieceHallway(void) { void sub_StateChange_Caves_HeartPieceHallway(void) { } -u32 sub_unk3_Caves_FairyFountainBoomerang(void) { +u32 sub_unk3_Caves_NorthHyruleFieldFairyFountain(void) { return 1; } -void sub_StateChange_Caves_FairyFountainBoomerang(void) { +void sub_StateChange_Caves_NorthHyruleFieldFairyFountain(void) { } u32 sub_unk3_Caves_KinstoneBusinessScrub(void) { @@ -6542,11 +6542,11 @@ u32 sub_unk3_TreeInteriors_HeartPiece(void) { void sub_StateChange_TreeInteriors_HeartPiece(void) { } -u32 sub_unk3_TreeInteriors_StairsToBladeBrother(void) { +u32 sub_unk3_TreeInteriors_Waveblade(void) { return 1; } -void sub_StateChange_TreeInteriors_StairsToBladeBrother(void) { +void sub_StateChange_TreeInteriors_Waveblade(void) { } u32 sub_unk3_TreeInteriors_14(void) { @@ -6584,25 +6584,25 @@ u32 sub_unk3_TreeInteriors_BoomerangSoutheast(void) { void sub_StateChange_TreeInteriors_BoomerangSoutheast(void) { } -u32 sub_unk3_TreeInteriors_HeartPieceSouthwestField(void) { +u32 sub_unk3_TreeInteriors_WesternWoodsHeartPiece(void) { return 1; } -void sub_StateChange_TreeInteriors_HeartPieceSouthwestField(void) { +void sub_StateChange_TreeInteriors_WesternWoodsHeartPiece(void) { } -u32 sub_unk3_TreeInteriors_StairsToFairyFountain(void) { +u32 sub_unk3_TreeInteriors_NorthHyruleFieldFairyFountain(void) { return 1; } -void sub_StateChange_TreeInteriors_StairsToFairyFountain(void) { +void sub_StateChange_TreeInteriors_NorthHyruleFieldFairyFountain(void) { } -u32 sub_unk3_TreeInteriors_StairsToWalletFairy(void) { +u32 sub_unk3_TreeInteriors_MinishWoodsGreatFairy(void) { return 1; } -void sub_StateChange_TreeInteriors_StairsToWalletFairy(void) { +void sub_StateChange_TreeInteriors_MinishWoodsGreatFairy(void) { } u32 sub_unk3_TreeInteriors_1C(void) { @@ -6612,11 +6612,11 @@ u32 sub_unk3_TreeInteriors_1C(void) { void sub_StateChange_TreeInteriors_1C(void) { } -u32 sub_unk3_TreeInteriors_StairsToBusinessScrub(void) { +u32 sub_unk3_TreeInteriors_MinishWoodsBusinessScrub(void) { return 1; } -void sub_StateChange_TreeInteriors_StairsToBusinessScrub(void) { +void sub_StateChange_TreeInteriors_MinishWoodsBusinessScrub(void) { } u32 sub_unk3_TreeInteriors_1E(void) { @@ -6626,11 +6626,11 @@ u32 sub_unk3_TreeInteriors_1E(void) { void sub_StateChange_TreeInteriors_1E(void) { } -u32 sub_unk3_TreeInteriors_1F(void) { +u32 sub_unk3_TreeInteriors_UnusedHeartContainer(void) { return 1; } -void sub_StateChange_TreeInteriors_1F(void) { +void sub_StateChange_TreeInteriors_UnusedHeartContainer(void) { } extern u32 gUnk_080FAD48; @@ -6793,11 +6793,11 @@ u32 sub_unk3_CrenelCaves_MushroomKeese(void) { void sub_StateChange_CrenelCaves_MushroomKeese(void) { } -u32 sub_unk3_CrenelCaves_LadderToGreenWater(void) { +u32 sub_unk3_CrenelCaves_LadderToSpringWater(void) { return 1; } -void sub_StateChange_CrenelCaves_LadderToGreenWater(void) { +void sub_StateChange_CrenelCaves_LadderToSpringWater(void) { } u32 sub_unk3_CrenelCaves_BombBusinessScrub(void) { diff --git a/src/script.c b/src/script.c index a6a4e36c..1bdf1468 100644 --- a/src/script.c +++ b/src/script.c @@ -349,7 +349,7 @@ void ExecuteScriptForEntity(Entity* entity, void (*postScriptCallback)(Entity*, } else { HandlePostScriptActions(entity, *piVar1); } - if (!entity->next) { + if (entity->next == NULL) { DeleteThisEntity(); } } @@ -1884,7 +1884,7 @@ void sub_0807F78C(Entity* entity, ScriptExecutionContext* context) { msg = GetSaleItemConfirmMessageID(item); price = GetItemPrice(item); MessageNoOverlap(msg, entity); - gMessage.field_0x10 = (u16)price; + gMessage.rupees = (u16)price; } void sub_0807F7C4(Entity* entity, ScriptExecutionContext* context) { @@ -1929,7 +1929,7 @@ void sub_0807F854(Entity* entity, ScriptExecutionContext* context) { switch (idx) { case 0: case 1: - gMessage.field_0x10 = value; + gMessage.rupees = value; break; case 2: gMessage.field_0x14 = value; diff --git a/src/scroll.c b/src/scroll.c index e751a412..ba5986e4 100644 --- a/src/scroll.c +++ b/src/scroll.c @@ -7,23 +7,58 @@ #include "asm.h" #include "common.h" #include "fileselect.h" +#include "screen.h" extern void sub_08080BC4(void); +extern void sub_080197D4(const void*); +extern void sub_0807C8B0(u8*, u32, u32); +extern void sub_0801AB08(u8*, u8*); +extern void sub_0807C810(); +extern void DeleteSleepingEntities(void); +extern void sub_0807BBE4(); +extern void sub_0807BC84(); +extern void sub_0805E248(); extern u8 gUpdateVisibleTiles; +extern u16 gUnk_0200B640; +extern u32** gUnk_08109194[]; +extern u8 gMapDataTop[]; +extern u8 gMapDataBottom[]; +extern u8 gUnk_02022830[]; +extern u8 gUnk_020246B0[]; -extern void (*const gUnk_0811E768[])(RoomControls*); - +void sub_0807FC64(RoomControls*); void sub_0807FC7C(RoomControls*); -void sub_080805F8(void); +void sub_0807FDB0(RoomControls*); +void sub_0807FEF0(RoomControls*); +void sub_0807FF54(RoomControls*); +void sub_0807FDC8(RoomControls*); +void sub_0807FDE4(RoomControls*); +void sub_0807FDF8(RoomControls*); +void sub_0807FEC8(RoomControls*); +void sub_0807FF08(RoomControls*); +void sub_0807FF1C(RoomControls*); -extern void (*const gUnk_0811E780[])(RoomControls*); - -extern void (*const gUnk_0811E794[])(RoomControls*); +void sub_0807FF6C(RoomControls*); +void sub_0807FFE4(RoomControls*); +void sub_08080040(RoomControls*); +void sub_08080108(RoomControls*); +void sub_08080198(RoomControls*); +void sub_080801BC(RoomControls*); +void UpdateIsDiggingCave(void); +u32 sub_080803D0(); +u32 sub_08080278(); +void sub_08080C80(u32*); +void sub_08080368(); +void sub_08080B60(u8*); extern u8 gMapDataTopSpecial[]; void UpdateScroll(void) { + static void (*const gUnk_0811E768[])(RoomControls*) = { + sub_0807FC64, sub_0807FC7C, sub_0807FDB0, NULL, sub_0807FEF0, sub_0807FF54, + }; + gRoomControls.scroll_flags &= 0xfb; gUnk_0811E768[gRoomControls.unk3](&gRoomControls); } @@ -33,12 +68,17 @@ void sub_0807FC64(RoomControls* controls) { controls->reload_flags = 0; controls->unk5 = 4; sub_0807FC7C(controls); - sub_080805F8(); + UpdateIsDiggingCave(); } ASM_FUNC("asm/non_matching/scroll/sub_0807FC7C.inc", void sub_0807FC7C(RoomControls* controls)) void sub_0807FDB0(RoomControls* controls) { + static void (*const gUnk_0811E780[])(RoomControls*) = { + sub_0807FDC8, + sub_0807FDE4, + sub_0807FDF8, + }; gUnk_0811E780[controls->unk4](controls); } @@ -55,17 +95,70 @@ void sub_0807FDE4(RoomControls* controls) { gUpdateVisibleTiles = 2; } -ASM_FUNC("asm/non_matching/scroll/sub_0807FDF8.inc", void sub_0807FDF8()) +void sub_0807FDF8(RoomControls* controls) { + u32 bVar1; + Entity* pEVar2; + int iVar3; + + gUpdateVisibleTiles = 2; + controls->filler2[0]++; + switch (controls->scroll_direction) { + case 0: + controls->scroll_y -= 4; + pEVar2 = controls->camera_target; + if (pEVar2 == &gPlayerEntity) { + pEVar2->y.WORD = gPlayerEntity.y.WORD - 0x6000; + } + if (controls->filler2[0] == 0x28) { + sub_0807FEC8(controls); + } + break; + case 1: + controls->scroll_x = controls->scroll_x + 4; + if (controls->camera_target == &gPlayerEntity) { + gPlayerEntity.x.WORD += 0x4000; + } + if (controls->filler2[0] == 0x3c) { + sub_0807FEC8(controls); + } + break; + case 2: + controls->scroll_y = controls->scroll_y + 4; + pEVar2 = controls->camera_target; + if (pEVar2 == &gPlayerEntity) { + pEVar2->y.WORD = gPlayerEntity.y.WORD + 0x6000; + } + if (controls->filler2[0] == 0x28) { + sub_0807FEC8(controls); + } + break; + case 3: + controls->scroll_x -= 4; + if (controls->camera_target == &gPlayerEntity) { + gPlayerEntity.x.WORD -= 0x4000; + } + if (controls->filler2[0] == 0x3c) { + sub_0807FEC8(controls); + } + break; + } + + controls->shake_duration = 0; + sub_08080BC4(); +} void sub_0807FEC8(RoomControls* this) { this->unk3 = 0; - MemFill32(0xffffffff, gPlayerState.path_memory, 0x40); + MemFill32(0xffffffff, gPlayerState.path_memory, sizeof(gPlayerState.path_memory)); gPlayerState.startPosX = this->camera_target->x.HALF.HI; gPlayerState.startPosY = this->camera_target->y.HALF.HI; } void sub_0807FEF0(RoomControls* controls) { - extern void (*const gUnk_0811E78C[])(RoomControls*); + static void (*const gUnk_0811E78C[])(RoomControls*) = { + sub_0807FF08, + sub_0807FF1C, + }; gUnk_0811E78C[controls->unk4](controls); } @@ -86,16 +179,95 @@ void sub_0807FF1C(RoomControls* controls) { } void sub_0807FF54(RoomControls* controls) { + static void (*const gUnk_0811E794[])(RoomControls*) = { + sub_0807FF6C, sub_0807FFE4, sub_08080040, sub_08080108, sub_08080198, sub_080801BC, + }; gUnk_0811E794[controls->unk4](controls); } -ASM_FUNC("asm/non_matching/scroll/sub_0807FF6C.inc", void sub_0807FF6C()) +void sub_0807FF6C(RoomControls* controls) { + controls->unk4 = 1; + gScreen.lcd.displayControl |= DISPCNT_WIN1_ON; + gScreen.controls.windowInsideControl = (u8)gScreen.controls.windowInsideControl | 0x1700; + gScreen.controls.windowOutsideControl = (gScreen.controls.windowOutsideControl & 0xff00) | 7; + gScreen.controls.window1HorizontalDimensions = 0xf0; + gScreen.controls.window1VerticalDimensions = 0xf0; + ResetPlayer(); + ResetPlayerAnimationAndAction(); + if (gUnk_03004030.isDiggingCave) { + gPlayerEntity.animationState = 4; + } else { + gPlayerEntity.animationState = 0; + } + sub_080809D4(); +} -ASM_FUNC("asm/non_matching/scroll/sub_0807FFE4.inc", void sub_0807FFE4()) +void sub_0807FFE4(RoomControls* controls) { + controls->unk4 = 2; + controls->filler2[0] = sub_080803D0() + 6; + gUnk_0200B640 = sub_08080278(); + sub_080197D4(*gUnk_08109194[gUnk_03004030.unk_00->unk_03]); + sub_0807C8B0(gMapDataTop, controls->width >> 4, controls->height >> 4); + sub_0801AB08(gMapDataTopSpecial, gMapDataTop - 4); +} -ASM_FUNC("asm/non_matching/scroll/sub_08080040.inc", void sub_08080040()) +void sub_08080040(RoomControls* controls) { + int iVar2; + int iVar3; + int uVar5; + int uVar6; + int iVar7; + int temp; -ASM_FUNC("asm/non_matching/scroll/sub_08080108.inc", void sub_08080108()) + controls->filler2[0] -= 6; + controls->filler2[1] = (controls->filler2[0] << 1) / 3; + if (0x2a < controls->filler2[0]) { + iVar2 = controls->camera_target->x.HALF.HI - controls->scroll_x; + uVar6 = (iVar2 - controls->filler2[0]) + 8; + if (uVar6 < 0) { + uVar6 = 0; + } + iVar7 = iVar2 + controls->filler2[0] - 8; + if (0xf0 < iVar7) { + iVar7 = 0xf0; + } + temp = controls->camera_target->y.HALF.HI - controls->scroll_y; + uVar5 = (temp - controls->filler2[1]) + 8; + if (uVar5 < 0) { + uVar5 = 0; + } + iVar3 = temp + controls->filler2[1] - 8; + if (0xa0 < iVar3) { + iVar3 = 0xa0; + } + gScreen.controls.window1HorizontalDimensions = ((uVar6 & 0xff) << 8) | (iVar7 & 0xff); + gScreen.controls.window1VerticalDimensions = ((uVar5 & 0xff) << 8) | (iVar3 & 0xff); + } + if (controls->filler2[0] == 0) { + controls->unk4 = 3; + DeleteSleepingEntities(); + sub_0807C810(); + sub_08080C80(*(gUnk_08109194[gUnk_03004030.unk_00->unk_03] + 1)); + } else { + gUpdateVisibleTiles = 4; + } +} + +void sub_08080108(RoomControls* controls) { + controls->unk4 = 4; + MemCopy(gMapDataBottom, gMapDataBottom + 0x3000, 0x2000); + MemCopy(gMapDataTop, gMapDataTop + 0x3000, 0x2000); + sub_08080368(); + gUnk_02034480.unk_00 = gUnk_0200B640; + MemCopy(gUnk_02022830, gUnk_020246B0, 0x1800); + sub_08080B60(gMapDataBottom - 4); + sub_08080B60(gMapDataTop - 4); + sub_0807BBE4(); + sub_0807BC84(); + sub_0805E248(); + sub_0801AB08((u8*)&gMapDataBottomSpecial, gMapDataBottom - 4); + sub_0801AB08(gMapDataTopSpecial, gMapDataTop - 4); +} void sub_08080198(RoomControls* controls) { controls->unk4 = 5; @@ -103,35 +275,79 @@ void sub_08080198(RoomControls* controls) { LoadRoom(); CallRoomProp5And7(); gUpdateVisibleTiles = 0; - sub_080805F8(); + UpdateIsDiggingCave(); } -ASM_FUNC("asm/non_matching/scroll/sub_080801BC.inc", void sub_080801BC()) +void sub_080801BC(RoomControls* controls) { + int iVar2; + int iVar3; + int uVar5; + int uVar6; + int iVar7; + int temp; -ASM_FUNC("asm/non_matching/scroll/sub_08080278.inc", void sub_08080278()) + controls->filler2[0] += 6; + controls->filler2[1] = (controls->filler2[0] << 1) / 3; + if (0x1e < controls->filler2[0]) { + iVar2 = controls->camera_target->x.HALF.HI - controls->scroll_x; + uVar6 = (iVar2 - controls->filler2[0]); + if (uVar6 < 0) { + uVar6 = 0; + } + iVar7 = iVar2 + controls->filler2[0]; + if (0xf0 < iVar7) { + iVar7 = 0xf0; + } + temp = controls->camera_target->y.HALF.HI - controls->scroll_y; + uVar5 = (temp - controls->filler2[1]); + if (uVar5 < 0) { + uVar5 = 0; + } + iVar3 = temp + controls->filler2[1]; + if (0xa0 < iVar3) { + iVar3 = 0xa0; + } + gScreen.controls.window1HorizontalDimensions = ((uVar6 & 0xff) << 8) | (iVar7 & 0xff); + gScreen.controls.window1VerticalDimensions = ((uVar5 & 0xff) << 8) | (iVar3 & 0xff); + } + if (controls->filler2[2] == 0) { + controls->unk3 = 0; + controls->reload_flags = 0; + ResetSystemPriority(); + gScreen.lcd.displayControl &= ~DISPCNT_WIN1_ON; + gScreen.controls.windowInsideControl &= 0xff; + gScreen.controls.windowOutsideControl &= 0xff00; + } else { + gUpdateVisibleTiles = 4; + controls->filler2[2] = 0; + } +} + +ASM_FUNC("asm/non_matching/scroll/sub_08080278.inc", u32 sub_08080278()) ASM_FUNC("asm/non_matching/scroll/sub_08080368.inc", void sub_08080368()) -ASM_FUNC("asm/non_matching/scroll/sub_080803D0.inc", void sub_080803D0()) +ASM_FUNC("asm/non_matching/scroll/sub_080803D0.inc", u32 sub_080803D0()) -void sub_080805F8(void) { +void UpdateIsDiggingCave(void) { switch (gRoomControls.area) { - case 0xc: - case 0x0f: - case 0x13: - case 0x14: - case 0x16: - case 0x17: - case 0x19: - gUnk_03004030.unk_08 = 1; + case AREA_LAKE_WOODS_CAVE: + case AREA_HYRULE_DIG_CAVES: + case AREA_DIG_CAVES: + case AREA_CRENEL_DIG_CAVE: + case AREA_VEIL_FALLS_DIG_CAVE: + case AREA_CASTOR_WILDS_DIG_CAVE: + case AREA_HYLIA_DIG_CAVES: + gUnk_03004030.isDiggingCave = 1; return; } - gUnk_03004030.unk_08 = 0; + gUnk_03004030.isDiggingCave = 0; } void ClearTilemaps(void) { + // Is gRoomControls 4 bytes bigger? MemClear(&gRoomControls, 0x38); - MemClear(&gUnk_03004030, 0xc); + MemClear(&gUnk_03004030, sizeof(gUnk_03004030)); gRoomControls.filler3 = 0xffff; gUnk_03004030.unk_0a = 0xff; gUnk_02034480.unk_00 = 0; @@ -265,10 +481,10 @@ void sub_080809D4(void) { ASM_FUNC("asm/non_matching/scroll/UpdateDoorTransition.inc", void UpdateDoorTransition()) -ASM_FUNC("asm/non_matching/scroll/sub_08080B60.inc", void sub_08080B60()) +ASM_FUNC("asm/non_matching/scroll/sub_08080B60.inc", void sub_08080B60(u8* param_1)) ASM_FUNC("asm/non_matching/scroll/sub_08080BC4.inc", void sub_08080BC4()) -ASM_FUNC("asm/non_matching/scroll/sub_08080C80.inc", void sub_08080C80()) +ASM_FUNC("asm/non_matching/scroll/sub_08080C80.inc", void sub_08080C80(u32* param_1)) ASM_FUNC("asm/non_matching/scroll/sub_08080CB4.inc", void sub_08080CB4(Entity* a)) diff --git a/src/staffroll.c b/src/staffroll.c new file mode 100644 index 00000000..2a9077b4 --- /dev/null +++ b/src/staffroll.c @@ -0,0 +1,326 @@ +#include "global.h" +#include "room.h" +#include "main.h" +#include "save.h" +#include "flags.h" +#include "fileselect.h" +#include "screen.h" +#include "common.h" +#include "menu.h" +#include "game.h" +#include "subtask.h" + +typedef struct { + /*0x00*/ Menu base; + s16 unk_10; + u16 unk_12; + u16 unk_14; + u8 unk_16; + u8 unk_17; + u8 unk_18; + u8 unk_19; + u8 bgmMusicStarted; + u8 unk_1b[0x14]; + u8 unk_2f; +} StaffrollMenu; +#define gStaffrollMenu (*(StaffrollMenu*)&gMenu) + +const Font gUnk_08127280 = { + (u16*)0x02021f72, (void*)0x0600c400, gTextGfxBuffer, 0, 61472, 240, 0, 0, 0, 0, 0, 5, 0, 1, 0 +}; +const Font gUnk_08127298 = { + (u16*)0x02021f90, (void*)0x0600c400, gTextGfxBuffer, 0, 61472, 240, 0, 0, 0, 0, 0, 5, 0, 1, 0 +}; +const Font gUnk_081272B0 = { + (u16*)0x0202204e, (void*)0x0600c400, gTextGfxBuffer, 0, 61472, 240, 1, 0, 0, 0, 0, 5, 0, 1, 0 +}; +const Font gUnk_081272C8 = { + (u16*)0x020222ce, (void*)0x0600c400, gTextGfxBuffer, 0, 61472, 240, 1, 0, 0, 0, 0, 5, 0, 1, 0 +}; + +const Font* const gUnk_081272E0[] = { + &gUnk_08127280, + &gUnk_08127298, + &gUnk_081272B0, + &gUnk_081272C8, +}; + +// TODO figure out structure of gStaffrollMenu.base.field_0xc +extern u8 gUnk_081272F0[]; +extern u8 gUnk_08127644[]; +extern u8 gUnk_08127998[]; +extern const u8 gUnk_08127CEC[]; +extern void (*const gUnk_08127D00[])(void); +extern void (*const gUnk_08127D10[])(void); + +void sub_080A3954(void); + +void StaffrollTask(void) { + gRoomTransition.frameCount += 1; + gUnk_08127D00[gMain.state](); +} + +void StaffrollTask_State0(void) { + gSave.unk6 = 1; + SetGlobalFlag(GAMECLEAR); + gMain.state = 1; + gStaffrollMenu.base.menuType = 0; + gStaffrollMenu.base.transitionTimer = 0xb4; + gStaffrollMenu.unk_16 = 5; + gStaffrollMenu.unk_17 = 4; + gStaffrollMenu.bgmMusicStarted = 0; + if (gSaveHeader->language >= 2) { + gStaffrollMenu.base.field_0xc = gUnk_08127998; + } else { + if (gSaveHeader->language == 1) { + gStaffrollMenu.base.field_0xc = gUnk_08127644; + } else { + gStaffrollMenu.base.field_0xc = gUnk_081272F0; + } + } + DispReset(0); + LoadPaletteGroup(0xb); + LoadPaletteGroup(0xc); + SetColor(0, 0); + gScreen.lcd.displayControl = 0x640; + gScreen.controls.layerFXControl = 0x2442; + gScreen.controls.alphaBlend = 0x1000; + gScreen.bg1.control = 0x1e4d; + gScreen.bg2.control = 0x1dc3; + InitSoundPlayingInfo(); + ResetSystemPriority(); + SetFade(5, 0x100); +} + +void StaffrollTask_State1(void) { + gUnk_08127D10[gMenu.menuType](); +} + +void StaffrollTask_State1MenuType0(void) { + gMenu.transitionTimer -= 1; + if (gMenu.transitionTimer == 0) { + sub_080A3954(); + } +} + +void StaffrollTask_State1MenuType1(void) { + if (gFadeControl.active == 0) { + const u8* ptr = &gUnk_08127CEC[gStaffrollMenu.unk_10 * 2]; + LoadPaletteGroup(ptr[0]); + LoadGfxGroup(ptr[1]); + MemClear(&gBG1Buffer, 0x800); + gScreen.bg1.updated = 1; + gScreen.bg2.xOffset = gStaffrollMenu.unk_12; + gScreen.controls.alphaBlend = 0x1000; + gStaffrollMenu.base.menuType = 0; + if (gStaffrollMenu.bgmMusicStarted == 0) { + gStaffrollMenu.bgmMusicStarted = 1; + SoundReq(BGM_CREDITS); + } + SetFade(4, 8); + } +} + +void StaffrollTask_State1MenuType2(void) { + u8 tmp; + switch (gStaffrollMenu.base.overlayType) { + case 0: + MemClear(&gBG1Buffer, 0x800); + sub_0805F46C(gStaffrollMenu.unk_10, (Font*)gUnk_081272E0[gStaffrollMenu.unk_19]); + gScreen.bg1.updated = 1; + gStaffrollMenu.base.overlayType++; + gStaffrollMenu.unk_18 = 0; + break; + case 1: + if (gFadeControl.active != 0) { + return; + } + if ((gRoomTransition.frameCount & 1) != 0) { + return; + } + tmp = ++gStaffrollMenu.unk_18; + gScreen.controls.alphaBlend = (0x10 - tmp) * 0x100 | tmp; + if (gStaffrollMenu.unk_18 >= 0x10) { + gStaffrollMenu.base.overlayType++; + } + break; + case 2: + gStaffrollMenu.base.transitionTimer--; + if (gStaffrollMenu.base.transitionTimer == 0) { + gStaffrollMenu.base.overlayType++; + } + break; + case 3: + if ((gRoomTransition.frameCount & 1) != 0) { + return; + } + tmp = --gStaffrollMenu.unk_18; + gScreen.controls.alphaBlend = (0x10 - tmp) * 0x100 | tmp; + if (gStaffrollMenu.unk_18 == 0) { + gStaffrollMenu.base.overlayType++; + } + break; + default: + if (gFadeControl.active == 0) { + gFadeControl.mask = 0xffffffff; + sub_080A3954(); + } + break; + } +} + +void StaffrollTask_State1MenuType3(void) { + gMenu.transitionTimer--; + if (gMenu.transitionTimer == 0) { + sub_080A3954(); + SetFade(5, 8); + } +} + +void StaffrollTask_State1MenuType4(void) { + gFadeControl.mask = 0xffff7fff; + SetFade(5, 4); + SetFadeProgress(gMenu.transitionTimer); + sub_080A3954(); +} + +void StaffrollTask_State1MenuType5(void) { + SetFade(4, 4); + SetFadeProgress(gMenu.transitionTimer); + sub_080A3954(); +} + +void StaffrollTask_State1MenuType6(void) { + if (gFadeControl.active == 0) { + MemClear(&gBG1Buffer, 0x800); + gScreen.bg1.updated = 1; + MemClear(&gBG2Buffer, 0x800); + gScreen.bg2.updated = 1; + gScreen.controls.alphaBlend = 0x1000; + gMenu.menuType = 0; + SetFade(4, 8); + } +} + +void StaffrollTask_State1MenuType7(void) { + if (gFadeControl.active == 0) { + SetFade(7, 8); + gMain.state = 2; + } +} + +void sub_080A3954(void) { + u16* puVar1; + u16* puVar2; + u16* puVar3; + u8* pbVar4; + + puVar1 = (u16*)(gStaffrollMenu.base.field_0xc + 6); + puVar2 = (u16*)(gStaffrollMenu.base.field_0xc + 8); + puVar3 = (u16*)(gStaffrollMenu.base.field_0xc + 10); + pbVar4 = gStaffrollMenu.base.field_0xc + 1; + gStaffrollMenu.base.menuType = *gStaffrollMenu.base.field_0xc; + gStaffrollMenu.base.overlayType = 0; + gStaffrollMenu.unk_10 = *puVar1; + gStaffrollMenu.base.transitionTimer = *(u16*)(gStaffrollMenu.base.field_0xc + 4); + gStaffrollMenu.unk_12 = *puVar2; + gStaffrollMenu.unk_14 = *puVar3; + gStaffrollMenu.unk_19 = *pbVar4; + gStaffrollMenu.base.field_0xc += 0xc; +} + +void StaffrollTask_State3(void) { + if (gFadeControl.active == 0) { + DoSoftReset(); + } +} + +void StaffrollTask_State2(void) { + SaveResult saveResult; + u32 choice; + u32 tmp; + switch (gStaffrollMenu.base.overlayType) { + case 0: + gStaffrollMenu.base.overlayType = 1; + gStaffrollMenu.base.transitionTimer = 0x1e; + gStaffrollMenu.base.field_0x3 = 0; + DispReset(1); + InitSoundPlayingInfo(); + sub_080A4D34(); + LoadPaletteGroup(10); + SetColor(0, 0); + LoadGfxGroup(4); + MemClear((void*)VRAM, 0x20); + SetPopupState(0, 0); + gScreen.lcd.displayControl |= 0x600; + gScreen.bg1.control = 0x1c01; + gScreen.bg2.control = 0x1d05; + gScreen.bg2.updated = 1; + SetFade(4, 8); + break; + case 1: + if (gFadeControl.active == 0) { + if (gStaffrollMenu.base.transitionTimer != 0) { + gStaffrollMenu.base.transitionTimer--; + } else { + choice = gStaffrollMenu.base.field_0x3; + switch (gInput.newKeys) { + case 0x40: + choice = 0; + break; + case 0x80: + choice = 1; + break; + case 1: + if (choice != 0) { + tmp = 4; + } else { + CreateDialogBox(8, 0); + tmp = 2; + } + gStaffrollMenu.base.overlayType = tmp; + gStaffrollMenu.base.transitionTimer = 0x3c; + SoundReq(SFX_TEXTBOX_SELECT); + break; + } + if (gStaffrollMenu.base.field_0x3 != choice) { + gStaffrollMenu.base.field_0x3 = choice; + SetPopupState(0, choice); + SoundReq(SFX_TEXTBOX_CHOICE); + } + } + } + break; + case 2: + saveResult = HandleSave(0); + gStaffrollMenu.base.field_0x0 = saveResult; + switch (saveResult) { + case SAVE_OK: + gStaffrollMenu.base.overlayType = 4; + break; + case SAVE_ERROR: + gStaffrollMenu.base.transitionTimer = 0x3c; + CreateDialogBox(9, 0); + gStaffrollMenu.base.overlayType = 3; + break; + } + break; + case 3: + if (gStaffrollMenu.base.transitionTimer != 0) { + gStaffrollMenu.base.transitionTimer--; + } else { + if ((gInput.newKeys & 0xb) != 0) { + gStaffrollMenu.base.overlayType = 1; + } + } + break; + case 4: + default: + gScreen.lcd.displayControl &= 0xfdff; + sub_08050384(); + SetFade(7, 8); + gMain.state = 3; + gStaffrollMenu.base.overlayType = 0; + break; + } +} diff --git a/src/subtask2.c b/src/subtask2.c index 47542862..f27faf5e 100644 --- a/src/subtask2.c +++ b/src/subtask2.c @@ -11,8 +11,6 @@ #include "main.h" #include "message.h" -extern void CreateDialogBox(u32, u32); - extern u8 gUnk_08128D38[]; extern u8 gUnk_08128D43[]; diff --git a/src/text.c b/src/text.c index 01f8ab2e..10b504f8 100644 --- a/src/text.c +++ b/src/text.c @@ -4,6 +4,8 @@ #include "functions.h" #include "asm.h" #include "enemy.h" +#include "message.h" +#include "fileselect.h" extern u16 gUnk_081092D4; extern u8 gUnk_081094CE; @@ -17,6 +19,8 @@ typedef struct { extern VStruct gUnk_0810942E[]; extern u32 gUnk_0810926C[]; +extern u32* Translations[]; +extern u32 gUnk_08109244; typedef struct { u8 unk0; @@ -24,6 +28,599 @@ typedef struct { } UStruct; void sub_0805F820(WStruct* r0, u32* r1); +bool32 sub_0805EF40(Token* tok, const u8*); +void sub_0805F440(Token*, u8*); +u32 sub_0805F6A4(Token*, WStruct*); +u32 GetCharacter(Token* tok); +u32 GetFontStrWith(Token*, u32); +int sub_0805F67C(short*, int, int); +void sub_0805F918(u32, u32, void*); +bool32 sub_0805F5CC(Font*, Token*, WStruct*); +void sub_0805EEB4(Token*, u32); +u32 sub_0805EF8C(Token*); +u32 sub_0805EFB4(Token*); +u32 sub_0805F9A0(u32); + +typedef struct { + u16 unk0; + s8 unk2; + s8 unk3; + u8 filler[0x4]; + u16 unk8[4]; + u16 unk10[4]; +} struct_gUnk_02034330; + +extern struct_gUnk_02034330 gUnk_02034330; +extern WStruct gUnk_02036540[4]; +extern u32* gUnk_08109248[]; +extern u8* gUnk_08109230[]; +extern u32* gTranslations[]; +extern u32 gUnk_08109244; + +void sub_0805EEB4(Token* token, u32 textIndex) { + u32 langIndex; + u32* puVar2; + u8* puVar5; + int iVar3; + u32 uVar4; + u32 uVar6; + u32 uVar7; + + token->textIndex = (u16)textIndex; + langIndex = gSaveHeader->language; + if (((1 < langIndex) && (textIndex >> 8 == 1)) && (textIndex < 0x119)) { + langIndex = 3; + } + puVar2 = gTranslations[langIndex]; + iVar3 = puVar2[(u8)(textIndex >> 8)]; + puVar2 = (u32*)((int)puVar2 + iVar3); + iVar3 = puVar2[(u8)textIndex]; + uVar6 = *(gTranslations[langIndex]) >> 2; + uVar7 = *puVar2 >> 2; + uVar4 = 0; + if (((token->textIndex >> 8) >= uVar6) || ((u8)token->textIndex >= uVar7)) { + uVar4 = 1; + } else { + if (*(char*)((int)puVar2 + iVar3) == 0) { + uVar4 = 2; + } + } + switch (uVar4) { + case 1: + case 2: + puVar2 = &gUnk_08109244; + iVar3 = 0; + break; + } + puVar2 = (u32*)((int)puVar2 + iVar3); + sub_0805EF40(token, (u8*)puVar2); +} + +bool32 sub_0805EF40(Token* token, const u8* param_2) { + if (token->unk00 != 0) { + if (6 < token->unk01) { + return 0; + } + token->unk01++; + } + token->buf[token->unk01] = param_2; + token->unk00 = 1; + return 1; +} + +u32 sub_0805EF8C(Token* token) { + if (token->unk00 == 0) { + return 0; + } + return (token->buf[token->unk01]++)[0]; +} + +u32 sub_0805EFB4(Token* token) { + u32 rv = token->unk01; + + if (token->unk01 != 0) { + token->unk01--; + } else { + token->unk00 = 0; + } + return rv; +} + +u32 GetCharacter(Token* token) { + u32 uVar3; + u32 code; + u32 uVar6; + u8** ppuVar7; + int iVar8; + + do { + code = sub_0805EF8C(token); + token->code = (u8)code; + iVar8 = 0; + switch (code) { + case 0: + iVar8 = sub_0805EFB4(token); + code = 0; + break; + case 1: + uVar6 = sub_0805EF8C(token); + token->param = (u16)uVar6; + code = 6; + if (uVar6 < 0xb) { + code = 5; + } + break; + case 2: + uVar3 = sub_0805EF8C(token); + token->param = uVar3; + code = 7; + break; + case 3: + uVar6 = sub_0805EF8C(token) << 8; + uVar6 += sub_0805EF8C(token); + token->param = uVar6; + code = 8; + break; + case 4: + uVar6 = sub_0805EF8C(token); + switch (uVar6) { + case 0: + case 1: + case 2: + case 3: + case 4: + case 5: + case 6: + case 7: + case 8: + case 9: + case 10: + case 0xb: + case 0xc: + case 0xd: + case 0xe: + case 0xf: + code = 9; + break; + case 0x10: + uVar6 = sub_0805EF8C(token); + code = 10; + break; + case 0x11: + code = 2; + break; + case 0x12: + code = 3; + break; + case 0x13: + code = 4; + break; + case 0x14: + case 0x15: + code = 0xb; + // This is a comparison to 0 but couldn't make it do the bit trick + uVar6 = (-(uVar6 ^ 0x14) | (uVar6 ^ 0x14)) >> 0x1f; + } + token->param = (u16)uVar6; + break; + case 5: + uVar6 = sub_0805EF8C(token); + if (uVar6 == 0xff) { + uVar6 = 0; + } else { + uVar6 <<= 8; + uVar6 += sub_0805EF8C(token); + } + token->_6 = uVar6; + code = 0xc; + break; + case 6: + uVar6 = sub_0805EF8C(token); + switch (uVar6) { + case 0 ... 4: + ppuVar7 = (u8**)token->_c; + if (ppuVar7 == NULL) { + ppuVar7 = gUnk_08109230; + } + sub_0805EF40(token, ppuVar7[uVar6]); + break; + case 5: + uVar6 = sub_0805EF8C(token) << 8; + uVar6 += sub_0805EF8C(token); + sub_0805EEB4(token, uVar6); + break; + default: + break; + } + iVar8 = 1; + break; + case 7: + uVar6 = sub_0805EF8C(token) << 8; + uVar6 += sub_0805EF8C(token); + token->unk00 = 0; + token->unk01 = 0; + sub_0805EEB4(token, uVar6); + iVar8 = 1; + break; + case 8: + uVar3 = sub_0805EF8C(token); + token->param = uVar3; + code = 0xd; + break; + case 9: + uVar3 = sub_0805EF8C(token); + token->param = uVar3; + code = 0xe; + break; + case 10: + code = 1; + break; + case 0xb: + code = sub_0805EF8C(token); + code |= 0x400; + break; + case 0xc: + code = sub_0805EF8C(token); + code |= 0x700; + break; + case 0xd: + code = sub_0805EF8C(token); + code |= 0x500; + break; + case 0xe: + code = sub_0805EF8C(token); + code |= 0x600; + break; + case 0xf: + code = sub_0805EF8C(token); + code |= 0x300; + break; + default: + code += 0x100; + break; + } + } while (iVar8); + + if (code >> 8 != 0) { + switch (token->unk05) { + case 0: + break; + case 1: + code = sub_0805F9A0(code); + break; + } + token->extended = (u16)code; + } + return code; +} + +u32* sub_0805F25C(u32 param_1) { + u32 uVar1; + + uVar1 = param_1 >> 8 & 0xf; + param_1 = param_1 & 0xff; + switch (uVar1) { + case 0: + case 1: + if (0x7f < param_1 && gSaveHeader->language != 0) { + param_1 = param_1 - 0x80; + uVar1 = 2; + } + break; + case 2: + case 3: + case 4: + break; + case 5: + case 6: + case 7: + case 8: + param_1 = param_1 << 1; + break; + } + return gUnk_08109248[uVar1] + param_1 * 0x10; +} + +WStruct* sub_0805F2C8(void) { + u32 uVar2; + + for (uVar2 = 0; uVar2 < ARRAY_COUNT(gUnk_02036540); uVar2++) { + if ((gUnk_02036540[uVar2].unk00) == 0) { + MemClear(&gUnk_02036540[uVar2], sizeof(WStruct)); + gUnk_02036540[uVar2].unk00 = 1; + return &gUnk_02036540[uVar2]; + } + } + + return NULL; +} + +void sub_0805F300(WStruct* param_1) { + u32 uVar2; + + for (uVar2 = 0; uVar2 < ARRAY_COUNT(gUnk_02036540); uVar2++) { + if (&gUnk_02036540[uVar2] == param_1) { + MemClear(&gUnk_02036540[uVar2], sizeof(WStruct)); + return; + } + } +} + +u32 GetFontStrWith(Token* param_1, u32 param_2) { + u32 character; + u32* puVar2; + u32 uVar3; + u32 uVar4; + u16 uVar5; + u32 rv; + u32 r9; + Token token; + int local_28; + int local_24; + + MemCopy(param_1, &token, sizeof(Token)); + local_24 = 0; + local_28 = 0; + rv = 0; + uVar5 = 0; + do { + uVar4 = 0; + r9 = 1; + while (r9) { + character = GetCharacter(&token); + switch (character) { + case 0xc: + uVar4 += 8; + break; + case 0xb: + uVar5 = token.param; + break; + case 0: + case 1: + r9 = 0; + break; + case 2 ... 10: + case 0xd: + case 0xe: + break; + default: + if (uVar5 == 0) { + puVar2 = (u32*)sub_0805F25C(character); + if (4 < character >> 8) { + uVar3 = sub_0805F7A0(puVar2[0x10]); + uVar4 += (uVar3 >> 8); + } + uVar3 = sub_0805F7A0(*puVar2); + uVar4 += (uVar3 >> 8); + } else if (character >> 8 >= 5) { + uVar4 += 0x10; + } else { + uVar4 += 8; + } + if (token.unk05 == 1 && uVar4 > 1) { + uVar4--; + } + } + } + if (uVar4 > rv) { + rv = uVar4; + } + if (uVar4 != 0) { + local_28++; + } else { + local_24++; + } + } while ((param_2 != 0) && (character != 0)); + + if (param_2 != 0) { + return local_24 << 0x18 | local_28 << 0x10 | rv; + } + return rv; +} + +void sub_0805F440(Token* param_1, u8* param_2) { + MemClear(param_1, sizeof(Token)); + if ((u32)param_2 >= 0x10000) { + sub_0805EF40(param_1, param_2); + } else { + sub_0805EEB4(param_1, (u32)param_2); + } +} + +u32 sub_0805F46C(u32 param_1, Font* param_2) { + u32 uVar1; + WStruct* pWVar4; + u32 uVar5; + u16* puVar6; + u32 uVar7; + u32 uVar8; + u16* puVar9; + u32 iVar10; + Token token; + Font font; + u32 fontStr; + u32 temp2; + u32 temp3; + + pWVar4 = sub_0805F2C8(); + if (pWVar4 != NULL) { + MemCopy(param_2, &font, sizeof(Font)); + sub_0805F440(&token, (u8*)param_1); + token.unk05 = font.stylized & 3; + pWVar4->unk04 = font.stylized; + pWVar4->unk4 = font.width; + pWVar4->unk8 = font.buffer_loc; + pWVar4->charColor = font._15; + pWVar4->bgColor = font.fill_type; + if (font.draw_border) { + sub_0805F918(font.border_type, font.fill_type, font.gfx_dest); + font.gfx_dest = (void*)((int)font.gfx_dest + 0xe0); + fontStr = GetFontStrWith(&token, 1); + iVar10 = (fontStr >> 0x18) * (u32)font._16 + ((u8)((int)fontStr >> 0x10) << 1); + uVar8 = (u16)fontStr; + temp3 = uVar8; + if (font.width < (s32)temp3) { + temp3 = font.width; + } + uVar8 = (temp3 + 7); + temp2 = ~7; + uVar8 = font.sm_border ? uVar8 & temp2 : font.width; + + puVar9 = font.dest; + font.dest += 0x20; + + if (font.right_align) { + uVar8 = (uVar8 + 0xf) & ~0xf; + puVar9 -= (uVar8 >> 4) + 1; + } else { + font.dest += 1; + } + uVar8 = uVar8 >> 3; + param_1 = font.gfx_src; + DispMessageFrame(puVar9, uVar8, iVar10, param_1); + puVar9 = puVar9 + 1; + font.gfx_src = font.gfx_src + 7; + param_1 = font.gfx_src - 1; + while (iVar10-- > 0) { + puVar9 += 0x20; + puVar6 = puVar9; + for (uVar5 = uVar8; (int)uVar5-- > 0;) { + *puVar6++ = param_1; + } + } + } + MemClear(&gUnk_02034330, sizeof(gUnk_02034330)); + while ((s16)sub_0805F5CC(&font, &token, pWVar4) != 0) {} + sub_0805F300(pWVar4); + } + return 0; +} + +bool32 sub_0805F5CC(Font* param_1, Token* param_2, WStruct* param_3) { + u16 uVar2; + u32 uVar3; + int iVar4; + u16* puVar5; + u32 fontStr; + + uVar3 = sub_0805F8F8(param_1->fill_type); + MemFill32(uVar3, param_1->buffer_loc, ((param_1->width + 7) & 0x1f8) << 3); + fontStr = GetFontStrWith(param_2, 0); + param_3->unk6 = param_1->right_align ? ((8 - ((fontStr + 1) >> 1)) & 7) : 0; + + puVar5 = (u16*)sub_0805F6A4(param_2, param_3); + if (puVar5) { + iVar4 = (int)(param_3->unk6 + 7) / 8; + puVar5 = param_1->dest; + if (param_1->right_align) { + puVar5 -= (iVar4 + 1U) >> 1; + } + param_1->gfx_src = sub_0805F67C(puVar5, param_1->gfx_src, iVar4); + param_1->dest += 0x40; + iVar4 *= 0x40; + MemCopy(param_1->buffer_loc, param_1->gfx_dest, iVar4); + param_1->gfx_dest = (void*)((int)param_1->gfx_dest + iVar4); + } else { + if (param_2->code == 10) { + param_1->dest += param_1->_16 * 0x20; + } + } + return param_2->code > 0; +} + +int sub_0805F67C(short* param_1, int param_2, int param_3) { + for (param_3--; param_3 != -1; param_3--) { + param_1[0] = param_2++; + param_1[0x20] = param_2++; + param_1++; + } + return param_2; +} + +u32 sub_0805F6A4(Token* param_1, WStruct* param_2) { + u32 uVar1; + u32 uVar3; + int iVar4; + u32 r7; + + iVar4 = 0; + r7 = 1; + do { + uVar1 = GetCharacter(param_1); + r7 = 1; + switch (uVar1) { + case 7: + if (param_1->param < 0xe) { + param_2->charColor = param_1->param; + } + break; + case 0: + case 1: + r7 = 0; + break; + case 2: + case 3: + case 4: + case 5: + case 6: + case 8: + case 9: + case 10: + case 0xd: + case 0xe: + break; + + case 0xc: + uVar3 = gUnk_02034330.unk2; + if (uVar3 < 4) { + gUnk_02034330.unk2 = uVar3 + 1; + gUnk_02034330.unk10[uVar3] = param_1->_6; + gUnk_02034330.unk8[uVar3] = param_2->unk6; + } + param_2->unk6 += 8; + iVar4 += 8; + break; + case 0xb: + param_2->unk1 = param_1->param; + break; + default: + iVar4 += sub_0805F7DC(uVar1, param_2); + if ((param_1->unk05 == 1) && (1 < param_2->unk6)) { + iVar4--; + param_2->unk6 = param_2->unk6 - 1; + } + break; + } + } while (r7); + + return iVar4; +} + +u32 sub_0805F76C(u8* param_1, WStruct* param_2) { + u32 uVar1; + Token local_38; + + sub_0805F440(&local_38, param_1); + local_38.unk05 = param_2->unk04 & 3; + uVar1 = sub_0805F6A4(&local_38, param_2); + return uVar1; +} + +u32 sub_0805F7A0(u32 param_1) { + u32 uVar1; + u32 uVar2; + u32 uVar3; + + uVar1 = 0xf; + for (uVar2 = 0; uVar2 < 8; uVar2++) { + if (uVar1 != (param_1 & uVar1)) + break; + uVar1 <<= 4; + } + for (uVar3 = uVar2; (uVar2 < 8 && (uVar1 != (param_1 & uVar1))); uVar1 <<= 4, uVar2++) {} + uVar2 -= uVar3; + return (uVar2 << 8) | uVar3; +} u32 sub_0805F7DC(u32 r0, WStruct* r1) { u32 temp; @@ -59,6 +656,7 @@ void sub_0805F820(WStruct* r0, u32* r1) { u8* temp; void* temp2; VStruct* temp3; + u32 temp4; if (r0->unk4 - r0->unk6 > 0) { sub_08002724(r1, &gUnk_02036A58); @@ -81,11 +679,12 @@ void sub_0805F820(WStruct* r0, u32* r1) { puVar8 = &gUnk_02036A58 + uVar6; temp2 = r0->unk8; - temp = gUnk_0810942E[r0->unk3].filler0[r0->unk2 * 2]; + temp = gUnk_0810942E[r0->bgColor].filler0[r0->charColor * 2]; uVar7 = r0->unk6; r0->unk6 += uVar3; - if (r0->unk0 / 16 != 1) { + temp4 = r0->unk04; + if (temp4 != 1) { while (uVar3-- > 0) { sub_080026C4(puVar8, temp2, temp, uVar7); puVar8++; diff --git a/src/title.c b/src/title.c index f9c63410..3329f80e 100644 --- a/src/title.c +++ b/src/title.c @@ -79,7 +79,7 @@ static const SaveFile gDemoSave = { .name = "\x97\x7f\xdd", .saved_status = { .area_next = AREA_DEEPWOOD_SHRINE, - .room_next = 0xb, + .room_next = ROOM_DEEPWOOD_SHRINE_ENTRANCE, .start_pos_x = 0xa8, .start_pos_y = 0xc8, .layer = 1, diff --git a/src/ui.c b/src/ui.c index 8927154d..eb4407d8 100644 --- a/src/ui.c +++ b/src/ui.c @@ -124,7 +124,7 @@ void DrawUIElements(void) { } } -NONMATCH("asm/non_matching/ui/sub_0801C25C.inc", void sub_0801C25C(void)) { +void sub_0801C25C(void) { u32 uVar1; s32 index; u8 tmp; @@ -133,8 +133,8 @@ NONMATCH("asm/non_matching/ui/sub_0801C25C.inc", void sub_0801C25C(void)) { for (index = 0; index < MAX_UI_ELEMENTS; index++) { element = &gUnk_0200AF00.elements[index]; if (((element->used) == 1) && ((element->unk_0_1) == 1)) { - // TODO wrong bitfield access here - if (element->unk_0_2 == 1) { + u8 temp = element->unk_0_2; + if (temp == 1) { element->unk_0_2 = 2; DmaSet(3, element->firstTile, element->unk_1a * 0x20 + 0x6010000, element->numTiles << 3 | 0x84000000); } @@ -151,7 +151,6 @@ NONMATCH("asm/non_matching/ui/sub_0801C25C.inc", void sub_0801C25C(void)) { sub_0801C2F0(0x126, tmp); } } -END_NONMATCH ASM_FUNC("asm/non_matching/ui/sub_0801C2F0.inc", void sub_0801C2F0(u32 a, u32 b)) @@ -354,7 +353,7 @@ u32 sub_0801CC80(UIElement* element) { ASM_FUNC("asm/non_matching/ui/ItemUIElement.inc", void ItemUIElement()) -NONMATCH("asm/non_matching/ui/TextUIElement.inc", void TextUIElement(UIElement* element)) { +void TextUIElement(UIElement* element) { UIElement* buttonUIElement; u32 tmp; extern struct_0200AF00* ptr; @@ -362,25 +361,27 @@ NONMATCH("asm/non_matching/ui/TextUIElement.inc", void TextUIElement(UIElement* UIElement* ptr2; if (element->type2 == 9) { - if (gUnk_0200AF00.unk_2f == 0) { + tmp = gUnk_0200AF00.unk_2f; + if (tmp == 0) { switch (gArea.field_0x18) { case 2: - tmp1 = 0xb; + tmp = 0xb; break; case 3: - tmp1 = 0xa; + tmp = 0xa; break; default: - tmp1 = gUnk_0200AF00.unk_2c; + tmp = gUnk_0200AF00.unk_2c; break; } - gUnk_0200AF00.unk_32 = tmp1; } + gUnk_0200AF00.unk_32 = tmp; } tmp = gUnk_0200AF00.unk_30[element->buttonElementId]; element->unk_0_1 = 0; if (tmp != 0) { - sub_0801CAFC(element, tmp + gUnk_080C9044[((SaveHeader*)0x2000000)->language]); + tmp += gUnk_080C9044[((SaveHeader*)0x2000000)->language]; + sub_0801CAFC(element, tmp); buttonUIElement = FindUIElement(element->buttonElementId); if (buttonUIElement != NULL) { element->x = buttonUIElement->x; @@ -389,7 +390,6 @@ NONMATCH("asm/non_matching/ui/TextUIElement.inc", void TextUIElement(UIElement* } } } -END_NONMATCH UIElement* FindUIElement(u32 type) { UIElement* element; diff --git a/tools/src/asset_processor/assets/exitlist.cpp b/tools/src/asset_processor/assets/exitlist.cpp deleted file mode 100644 index 85051fd1..00000000 --- a/tools/src/asset_processor/assets/exitlist.cpp +++ /dev/null @@ -1,43 +0,0 @@ -#include "exitlist.h" -#include "reader.h" -#include -#include - -void ExitListAsset::convertToHumanReadable(const std::vector& baserom) { - Reader reader(baserom, start, size); - auto file = util::open_file(assetPath, "w"); - while (reader.cursor < size) { - u16 transition_type = reader.read_u16(); - u16 x_pos = reader.read_u16(); - u16 y_pos = reader.read_u16(); - u16 dest_x = reader.read_u16(); - u16 dest_y = reader.read_u16(); - u8 screen_edge = reader.read_u8(); - u8 dest_area = reader.read_u8(); - u8 dest_room = reader.read_u8(); - u8 unknown_2 = reader.read_u8(); - u8 unknown_3 = reader.read_u8(); - u8 unknown_4 = reader.read_u8(); - u16 unknown_5 = reader.read_u16(); - u16 padding_1 = reader.read_u16(); - if (transition_type == 0xffff) { - std::fputs("\texit_list_end\n", file.get()); - break; - } - auto line = fmt::format("\texit transition={}", transition_type); - line += opt_param(", x={:#x}", 0, x_pos); - line += opt_param(", y={:#x}", 0, y_pos); - line += opt_param(", destX={:#x}", 0, dest_x); - line += opt_param(", destY={:#x}", 0, dest_y); - line += opt_param(", screenEdge={:#x}", 0, screen_edge); - line += opt_param(", destArea={:#x}", 0, dest_area); - line += opt_param(", destRoom={:#x}", 0, dest_room); - line += opt_param(", unknown={:#x}", 0, unknown_2); - line += opt_param(", unknown2={:#x}", 0, unknown_3); - line += opt_param(", unknown3={:#x}", 0, unknown_4); - line += opt_param(", unknown4={:#x}", 0, unknown_5); - line += opt_param(", padding={:#x}", 0, padding_1); - std::fputs(line.c_str(), file.get()); - std::fputc('\n', file.get()); - } -} \ No newline at end of file diff --git a/tools/src/asset_processor/assets/exitlist.h b/tools/src/asset_processor/assets/exitlist.h deleted file mode 100644 index 2b039124..00000000 --- a/tools/src/asset_processor/assets/exitlist.h +++ /dev/null @@ -1,7 +0,0 @@ -#include "macroasm.h" - -class ExitListAsset : public BaseMacroAsmAsset { - public: - using BaseMacroAsmAsset::BaseMacroAsmAsset; - virtual void convertToHumanReadable(const std::vector& baserom); -}; \ No newline at end of file diff --git a/tools/src/asset_processor/main.cpp b/tools/src/asset_processor/main.cpp index 1e6df2a0..2e6da1d1 100644 --- a/tools/src/asset_processor/main.cpp +++ b/tools/src/asset_processor/main.cpp @@ -1,7 +1,6 @@ #include "main.h" #include "assets/aif.h" #include "assets/animation.h" -#include "assets/exitlist.h" #include "assets/frameobjlists.h" #include "assets/gfx.h" #include "assets/midi.h" @@ -267,8 +266,6 @@ std::unique_ptr getAssetHandlerByType(const std::filesystem::path& pa assetHandler = std::make_unique(path, start, size, asset); } else if (type == "sprite_frame") { assetHandler = std::make_unique(path, start, size, asset); - } else if (type == "exit_list") { - assetHandler = std::make_unique(path, start, size, asset); } else if (type == "frame_obj_lists") { assetHandler = std::make_unique(path, start, size, asset); } else if (type == "midi") {