From f26b2e286a7f462947b395da259e185fc8ecfa7f Mon Sep 17 00:00:00 2001 From: theo3 Date: Mon, 3 Jan 2022 20:16:58 -0800 Subject: [PATCH 1/4] more game.c --- asm/fileScreen.s | 1032 -------------------------- include/asm.h | 1 + include/common.h | 2 + include/main.h | 3 +- include/player.h | 1 + include/room.h | 4 + linker.ld | 1 - src/game.c | 488 +++++++++++- src/npc/npc5.c | 12 + src/npc/postman.c | 12 - src/player.c | 21 + src/playerItem/playerItemPacciCane.c | 20 - 12 files changed, 530 insertions(+), 1067 deletions(-) delete mode 100755 asm/fileScreen.s diff --git a/asm/fileScreen.s b/asm/fileScreen.s deleted file mode 100755 index 699cf86a..00000000 --- a/asm/fileScreen.s +++ /dev/null @@ -1,1032 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .syntax unified - - .text - -.ifdef DEMO_USA - thumb_func_start HandleGameplayScreen -HandleGameplayScreen: @ 08051A28 - push {r4, lr} - ldr r1, _08051A68 @ =0x030010A0 - ldr r0, [r1, #0x00] - adds r0, #0x01 - str r0, [r1, #0x00] - ldr r1, _08051A6C @ =0x080FC55C - ldr r4, _08051A70x @ =0x03001000 - ldrb r0, [r4, #0x03] - lsls r0, r0, #0x02 - adds r0, r0, r1 - ldr r0, [r0, #0x00] - bl _call_via_r0 - ldr r0, _08051A74x @ =0x02002A40 - movs r2, #0x95 - lsls r2, r2, #0x03 - adds r1, r0, r2 - ldr r0, [r1, #0x00] - cmp r0, #0x00 - beq _08051A64 - subs r0, #0x01 - str r0, [r1, #0x00] - cmp r0, #0x00 - bne _08051A64 - movs r0, #0x07 - movs r1, #0x02 - bl DoFade - movs r0, #0x03 - strb r0, [r4, #0x03] -_08051A64: - pop {r4, pc} - .byte 0x00, 0x00 -_08051A68: .4byte gScreenTransition -_08051A6C: .4byte gUnk_080FC9D8 -_08051A70x: .4byte gMain -_08051A74x: .4byte gSave -.else - thumb_func_start HandleGameplayScreen -HandleGameplayScreen: @ 0x08051988 - push {lr} - ldr r1, _080519A4 @ =gScreenTransition - ldr r0, [r1] - adds r0, #1 - str r0, [r1] - ldr r1, _080519A8 @ =gUnk_080FC9D8 - ldr r0, _080519AC @ =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 -_080519A4: .4byte gScreenTransition -_080519A8: .4byte gUnk_080FC9D8 -_080519AC: .4byte gMain -.endif - - - thumb_func_start sub_080519B0 -sub_080519B0: @ 0x080519B0 - push {r4, r5, lr} - ldr r0, _08051A04 @ =gFadeControl - ldrb r5, [r0] - cmp r5, #0 - bne _08051A02 - movs r0, #1 - bl DispReset - bl InitSoundPlayingInfo - bl zMallocInit - bl sub_080A7124 - bl sub_0807059C - ldr r4, _08051A08 @ =gScreenTransition - adds r0, r4, #0 - movs r1, #0xb0 - bl MemClear - bl sub_08049CD4 - bl sub_080300AC - bl sub_0807CA18 - ldr r0, _08051A0C @ =gUnk_02002AC8 - adds r1, r4, #0 - adds r1, #0xc - movs r2, #0x20 - bl MemCopy - movs r0, #4 - strb r0, [r4, #9] - bl sub_08053518 - ldr r1, _08051A10 @ =gMain - movs r0, #1 - strb r0, [r1, #3] - strb r5, [r1, #4] -_08051A02: - pop {r4, r5, pc} - .align 2, 0 -_08051A04: .4byte gFadeControl -_08051A08: .4byte gScreenTransition -_08051A0C: .4byte gUnk_02002AC8 -_08051A10: .4byte gMain - - thumb_func_start sub_08051A14 -sub_08051A14: @ 0x08051A14 - push {lr} - movs r0, #1 - bl DispReset - ldr r1, _08051A70 @ =gFadeControl - movs r0, #1 - rsbs r0, r0, #0 - str r0, [r1, #4] - ldr r0, _08051A74 @ =gUnk_03000000 - ldr r1, _08051A78 @ =0x00000B74 - bl MemClear - ldr r0, _08051A7C @ =gUnk_02032EC0 - movs r1, #0xed - lsls r1, r1, #2 - bl MemClear - bl EraseAllEntities - bl sub_080197AC - bl sub_08080668 - bl ResetPalettes - movs r0, #1 - bl sub_0801CFA8 - bl sub_0806FD8C - ldr r2, _08051A80 @ =gRoomControls - ldr r1, _08051A84 @ =gScreenTransition - ldrb r0, [r1, #0xc] - strb r0, [r2, #4] - ldrb r0, [r1, #0xd] - strb r0, [r2, #5] - bl sub_08053320 - ldr r1, _08051A88 @ =gGFXSlots - movs r0, #1 - strb r0, [r1] - ldr r1, _08051A8C @ =gMain - movs r0, #2 - strb r0, [r1, #3] - pop {pc} - .align 2, 0 -_08051A70: .4byte gFadeControl -_08051A74: .4byte gUnk_03000000 -_08051A78: .4byte 0x00000B74 -_08051A7C: .4byte gUnk_02032EC0 -_08051A80: .4byte gRoomControls -_08051A84: .4byte gScreenTransition -_08051A88: .4byte gGFXSlots -_08051A8C: .4byte gMain - - thumb_func_start sub_08051A90 -sub_08051A90: @ 0x08051A90 - push {lr} - ldr r1, _08051AA4 @ =gUnk_080FC9E8 - ldr r0, _08051AA8 @ =gMain - ldrb r0, [r0, #4] - lsls r0, r0, #2 - adds r0, r0, r1 - ldr r0, [r0] - bl _call_via_r0 - pop {pc} - .align 2, 0 -_08051AA4: .4byte gUnk_080FC9E8 -_08051AA8: .4byte gMain - - thumb_func_start InitializeNewRoom -InitializeNewRoom: @ 0x08051AAC - push {lr} - bl SetInitializationPriority - ldr r1, _08051AE4 @ =gScreen - movs r2, #0 - movs r0, #0xba - lsls r0, r0, #5 - strh r0, [r1] - ldr r1, _08051AE8 @ =gMain - movs r0, #1 - strb r0, [r1, #4] - ldr r0, _08051AEC @ =gScreenTransition - strb r2, [r0, #8] - strb r2, [r0, #4] - strb r2, [r0, #5] - bl MessageInitialize - bl sub_08052CFC - movs r0, #0 - bl sub_0801C370 - bl InitializeEntities -.ifndef EU - bl sub_0801855C -.endif - pop {pc} - .align 2, 0 -_08051AE4: .4byte gScreen -_08051AE8: .4byte gMain -_08051AEC: .4byte gScreenTransition - - thumb_func_start sub_08051AF0 -sub_08051AF0: @ 0x08051AF0 -.ifdef EU - push {r4, lr} - bl UpdateEntities - bl sub_0805BBBC - cmp r0, #0 - bne _0805173E - bl UpdateScroll -_0805173E: - bl UpdateBgAnim - bl sub_08000108 - bl sub_0801C344 - bl UpdateManagers - bl FlushSprites - bl sub_0801C208 - bl sub_08078CB4 - bl sub_080AD9B0 - bl sub_080AD918 - ldr r0, _080517E0 @ =gFadeControl - ldrb r0, [r0] - cmp r0, #0 - bne _080517DC - ldr r0, _080517E4 @ =gRoomControls - ldrh r0, [r0] - cmp r0, #0 - bne _080517DC - bl sub_08052F1C - ldr r0, _080517E8 @ =gArea - movs r1, #0x86 - lsls r1, r1, #4 - adds r3, r0, r1 - adds r1, #4 - adds r0, r0, r1 - ldr r1, [r3] - ldr r2, [r0] - cmp r1, r2 - beq _08051796 - str r2, [r3] - ldr r0, _080517EC @ =0x800B0000 - orrs r2, r0 - adds r0, r2, #0 - bl SoundReq -_08051796: - bl DeleteSleepingEntities - bl sub_0805BC04 - adds r4, r0, #0 - cmp r4, #0 - bne _080517DC - bl sub_08052C5C - bl ResetSystemPriority - bl sub_08051E04 - bl sub_080300C4 - ldr r1, _080517F0 @ =gMain - movs r0, #2 - strb r0, [r1, #4] - movs r0, #0 - bl SetPlayerControl - ldr r0, _080517F4 @ =gUnk_02034490 - strb r4, [r0] - bl sub_08053178 - bl sub_0801855C - ldr r0, _080517F8 @ =gRoomVars - ldrb r0, [r0] - cmp r0, #0 - bne _080517DC - movs r0, #0 - movs r1, #1 - bl RequestPriorityDuration -_080517DC: - pop {r4, pc} - .align 2, 0 -_080517E0: .4byte gFadeControl -_080517E4: .4byte gRoomControls -_080517E8: .4byte gArea -_080517EC: .4byte 0x800B0000 -_080517F0: .4byte gMain -_080517F4: .4byte gUnk_02034490 -_080517F8: .4byte gRoomVars - -.else - push {r4, r5, lr} - bl UpdateEntities - bl sub_0805BBBC - cmp r0, #0 - bne _08051B02 - bl UpdateScroll -_08051B02: - bl UpdateBgAnim - bl sub_08000108 - bl sub_0801C344 - bl UpdateManagers - bl FlushSprites - bl sub_0801C208 - bl sub_08078CB4 - bl sub_080AD9B0 - bl sub_080AD918 - ldr r0, _08051BB0 @ =gFadeControl - ldrb r0, [r0] - cmp r0, #0 - bne _08051BAE - ldr r0, _08051BB4 @ =gRoomControls - ldrh r0, [r0] - cmp r0, #0 - bne _08051BAE - bl sub_08052F1C - ldr r5, _08051BB8 @ =gArea - movs r0, #0x86 - lsls r0, r0, #4 - adds r3, r5, r0 -.ifdef EU - adds r1, 4 -.else - ldr r1, _08051BBC @ =0x00000864 -.endif - adds r0, r5, r1 - ldr r1, [r3] - ldr r2, [r0] - cmp r1, r2 - beq _08051B5A - str r2, [r3] - ldr r0, _08051BC0 @ =0x800B0000 - orrs r2, r0 - adds r0, r2, #0 - bl SoundReq -_08051B5A: - bl DeleteSleepingEntities - bl sub_0805BC04 - adds r4, r0, #0 - cmp r4, #0 - bne _08051BAE - bl sub_08052C5C - bl ResetSystemPriority - bl sub_08051E04 - bl sub_080300C4 - ldr r1, _08051BC4 @ =gMain - movs r0, #2 - strb r0, [r1, #4] - movs r0, #0 - bl SetPlayerControl - ldr r0, _08051BC8 @ =gUnk_02034490 - strb r4, [r0] -.ifdef DEMO_JP - ldr r0, _08051C30 @ =gScreenTransition - adds r0,#0x31 - ldrb r0,[r0,#0x0] - cmp r0,#0x0 - beq _08051bee - - bl sub_08053178 -_08051bee: - adds r0,r5,#0x0 - adds r0,#0x28 - ldrb r0,[r0,#0x0] - cmp r0,#0xff - beq _08051bfc - bl sub_0801855C -_08051bfc: - bl sub_08052BF8 - -.else - -.ifdef JP - bl sub_08053178 -.endif - -.ifndef EU - adds r0, r5, #0 - adds r0, #0x28 - ldrb r0, [r0] - cmp r0, #0xff - beq _08051B96 - bl sub_0801855C -.endif -_08051B96: -.ifdef EU - bl sub_08053178 @ TODO fix addresses - bl sub_08053178 -.else -.ifdef DEMO_JP - bl sub_08053178 @ TODO fix addresses - bl sub_08053178 -.else -.ifndef JP - bl sub_08052BF8 - bl sub_08053178 -.endif -.endif -.endif -.endif - ldr r0, _08051BCC @ =gRoomVars - ldrb r0, [r0] - cmp r0, #0 - bne _08051BAE - movs r0, #0 - movs r1, #1 - bl RequestPriorityDuration -_08051BAE: - pop {r4, r5, pc} - .align 2, 0 -_08051BB0: .4byte gFadeControl -_08051BB4: .4byte gRoomControls -_08051BB8: .4byte gArea -.ifndef EU -_08051BBC: .4byte 0x00000864 -.endif -_08051BC0: .4byte 0x800B0000 -_08051BC4: .4byte gMain -_08051BC8: .4byte gUnk_02034490 -.ifdef DEMO_JP -_08051C30: .4byte gScreenTransition -.endif -_08051BCC: .4byte gRoomVars -.endif - - thumb_func_start sub_08051BD0 -sub_08051BD0: @ 0x08051BD0 - push {lr} - bl sub_080705AC - cmp r0, #0 - bne _08051C9C - bl sub_0804AA84 - cmp r0, #0 - bne _08051C9C - bl sub_0805340C - ldr r0, _08051C5C @ =gMain - ldrb r0, [r0, #4] - cmp r0, #2 - bne _08051C9C - ldr r0, _08051C60 @ =gMessage - ldrb r1, [r0] - movs r0, #0x7f - ands r0, r1 - cmp r0, #0 - bne _08051C02 - ldr r0, _08051C64 @ =gPriorityHandler - ldrh r0, [r0, #8] - cmp r0, #0 - beq _08051C06 -_08051C02: - bl sub_08078B48 -_08051C06: - bl FlushSprites - bl UpdateEntities - bl sub_08080A40 - bl CollisionMain - bl UpdateScroll - bl UpdateBgAnim - bl sub_08000108 - bl sub_08052C3C - bl sub_0801C344 - bl UpdateManagers - bl sub_0801C208 - bl sub_08078CB4 - bl sub_080AD9B0 - bl HandleRoomExit - bl sub_08052C5C - bl sub_080528B4 - bl sub_080185F8 - bl sub_080AD918 - ldr r0, _08051C68 @ =gRoomControls - ldrh r2, [r0] - cmp r2, #1 - beq _08051C6C - cmp r2, #2 - beq _08051C88 - b _08051C9C - .align 2, 0 -_08051C5C: .4byte gMain -_08051C60: .4byte gMessage -_08051C64: .4byte gPriorityHandler -_08051C68: .4byte gRoomControls -_08051C6C: - ldr r0, _08051C80 @ =gPlayerState - movs r1, #0x17 - strb r1, [r0, #0xc] - ldr r0, _08051C84 @ =gMain - strb r2, [r0, #4] - bl SetRoomReloadPriority - bl sub_08051D98 - b _08051C9C - .align 2, 0 -_08051C80: .4byte gPlayerState -_08051C84: .4byte gMain -_08051C88: - ldr r1, _08051CA0 @ =gPlayerState - movs r0, #0x17 - strb r0, [r1, #0xc] - ldr r1, _08051CA4 @ =gMain - movs r0, #1 - strb r0, [r1, #4] - bl SetRoomReloadPriority - bl sub_08051DCC -_08051C9C: - pop {pc} - .align 2, 0 -_08051CA0: .4byte gPlayerState -_08051CA4: .4byte gMain - - thumb_func_start sub_08051CA8 -sub_08051CA8: @ 0x08051CA8 - push {lr} - bl sub_080705AC - cmp r0, #0 - bne _08051CEA - bl UpdateEntities - bl CollisionMain - bl sub_0801C344 - bl UpdateManagers - bl FlushSprites - bl sub_0801C208 - bl sub_08078CB4 - bl sub_080AD9B0 - bl HandleRoomExit - bl sub_080528B4 - bl sub_080AD918 - ldr r0, _08051CEC @ =gFadeControl - ldrb r0, [r0] - cmp r0, #0 - bne _08051CEA - bl ResetSystemPriority -_08051CEA: - pop {pc} - .align 2, 0 -_08051CEC: .4byte gFadeControl - - thumb_func_start sub_08051CF0 -sub_08051CF0: @ 0x08051CF0 - push {r4, r5, r6, lr} - bl FlushSprites - bl sub_0801C208 - bl sub_080AD9B0 - ldr r5, _08051D20 @ =gMain - movs r6, #1 - strb r6, [r5, #0xb] - bl sub_080AD918 - ldr r0, _08051D24 @ =gFadeControl - ldrb r4, [r0] - cmp r4, #0 - bne _08051D1E - movs r0, #1 - bl DispReset - strb r6, [r5, #3] - strb r4, [r5, #4] - ldr r0, _08051D28 @ =gScreenTransition - strb r6, [r0, #8] -_08051D1E: - pop {r4, r5, r6, pc} - .align 2, 0 -_08051D20: .4byte gMain -_08051D24: .4byte gFadeControl -_08051D28: .4byte gScreenTransition - - thumb_func_start sub_08051D2C -sub_08051D2C: @ 0x08051D2C -.ifdef DEMO_USA - push {lr} - ldr r0, _08051E04 @ =0x03000FD0 - ldrb r0, [r0] - cmp r0, #0 - bne _08051E02 - bl DoSoftReset -_08051E02: - pop {pc} - .align 2, 0 -_08051E04: .4byte 0x03000FD0 -.else - push {lr} - movs r0, #7 - movs r1, #8 - bl DoFade - movs r0, #3 - bl InitScreen - pop {pc} - .align 2, 0 -.endif - - thumb_func_start InitializeEntities -InitializeEntities: @ 0x08051D40 - push {lr} - bl sub_08052EA0 - bl sub_0804AF90 - bl sub_0804AFDC - bl InitializePlayer - ldr r1, _08051D90 @ =gUnk_03004030 - movs r0, #0 - str r0, [r1] - bl sub_0807C740 - ldr r1, _08051D94 @ =gUpdateVisibleTiles - movs r0, #1 - strb r0, [r1] - bl sub_0805283C - movs r0, #0 - movs r1, #0 - bl SetColor - bl LoadRoom - bl CreateZeldaFollower - bl sub_0804AFF4 - bl sub_0805329C - bl sub_08000108 - movs r0, #1 - rsbs r0, r0, #0 - bl sub_0805BB74 - bl sub_080531F8 - pop {pc} - .align 2, 0 -_08051D90: .4byte gUnk_03004030 -_08051D94: .4byte gUpdateVisibleTiles - - thumb_func_start sub_08051D98 -sub_08051D98: @ 0x08051D98 - push {lr} - bl sub_08052EA0 - ldr r1, _08051DC8 @ =gRoomVars - movs r0, #1 - strb r0, [r1] - bl sub_0805E9A8 - bl sub_0804AF90 - bl sub_0804AFDC - bl sub_0807C0DC - bl sub_0805283C - bl LoadRoom - bl sub_0804AFF4 - movs r0, #1 - bl SetPlayerControl - pop {pc} - .align 2, 0 -_08051DC8: .4byte gRoomVars - - thumb_func_start sub_08051DCC -sub_08051DCC: @ 0x08051DCC - push {r4, lr} - ldr r1, _08051DFC @ =gRoomControls - ldr r4, _08051E00 @ =gScreenTransition - ldrb r0, [r4, #0xc] - strb r0, [r1, #4] - ldrb r0, [r4, #0xd] - strb r0, [r1, #5] - bl RoomExitCallback - movs r0, #3 - strb r0, [r4, #9] - bl sub_08052CFC - bl sub_08052EA0 - bl sub_0805E9A8 - bl sub_0804AF90 - bl sub_0804AFDC - bl sub_0805283C - pop {r4, pc} - .align 2, 0 -_08051DFC: .4byte gRoomControls -_08051E00: .4byte gScreenTransition - - thumb_func_start sub_08051E04 -sub_08051E04: @ 0x08051E04 - push {lr} - bl CheckIsOverworld - cmp r0, #0 - beq _08051E60 - ldr r1, _08051E2C @ =gPlayerEntity - movs r2, #0x2e - ldrsh r0, [r1, r2] - cmp r0, #0 - bge _08051E1A - adds r0, #0xf -_08051E1A: - asrs r2, r0, #4 - movs r3, #0x32 - ldrsh r0, [r1, r3] - cmp r0, #0 - bge _08051E26 - adds r0, #0xf -_08051E26: - asrs r1, r0, #4 - ldr r3, _08051E30 @ =gUnk_08127F94 - b _08051E36 - .align 2, 0 -_08051E2C: .4byte gPlayerEntity -_08051E30: .4byte gUnk_08127F94 -_08051E34: - adds r3, #8 -_08051E36: - ldrb r0, [r3] - cmp r0, #0xff - beq _08051E60 - cmp r0, r2 - bhi _08051E34 - ldrb r0, [r3, #2] - cmp r0, r2 - blo _08051E34 - ldrb r0, [r3, #1] - cmp r0, r1 - bhi _08051E34 - ldrb r0, [r3, #3] - cmp r0, r1 - blo _08051E34 - ldr r2, _08051E64 @ =gSave - movs r1, #1 - ldrb r3, [r3, #4] - lsls r1, r3 - ldr r0, [r2, #0x40] - orrs r0, r1 - str r0, [r2, #0x40] -_08051E60: - pop {pc} - .align 2, 0 -_08051E64: .4byte gSave - - thumb_func_start sub_08051E68 -sub_08051E68: @ 0x08051E68 - push {lr} - ldr r1, _08051E7C @ =gUnk_080FCA08 - ldr r0, _08051E80 @ =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 -_08051E7C: .4byte gUnk_080FCA08 -_08051E80: .4byte gMenu - - thumb_func_start sub_08051E84 -sub_08051E84: @ 0x08051E84 - push {r4, r5, r6, lr} - ldr r0, _08051EF0 @ =gUnk_02032EC0 - ldrb r4, [r0, #3] - lsls r4, r4, #3 - ldr r0, _08051EF4 @ =gUnk_080FCA20 - adds r4, r4, r0 - ldr r5, _08051EF8 @ =gRoomControls - ldrb r0, [r4] - strb r0, [r5, #4] - ldrb r0, [r4, #1] - strb r0, [r5, #5] - bl sub_08053320 - ldrb r0, [r5, #4] - bl GetFlagBankOffset - ldr r1, _08051EFC @ =gArea - movs r6, #0 - strh r0, [r1, #4] - ldrb r0, [r4] - ldrb r1, [r4, #1] - bl SetCurrentRoomPropertyList - ldrb r0, [r4] - ldrb r1, [r4, #1] - bl sub_08052FD8 - ldrh r0, [r4, #4] - ldrh r1, [r5, #6] - adds r0, r0, r1 - strh r0, [r5, #0xa] - ldrh r0, [r4, #6] - ldrh r1, [r5, #8] - adds r0, r0, r1 - strh r0, [r5, #0xc] - ldr r1, _08051F00 @ =gMenu - ldrb r0, [r4, #2] - strb r0, [r1] - ldrb r2, [r4, #3] - movs r0, #0xf - ands r0, r2 - strb r0, [r1, #3] - str r4, [r1, #0xc] - ldrb r0, [r1, #5] - adds r0, #1 - strb r0, [r1, #5] - strb r6, [r1, #6] - movs r0, #0x96 - lsls r0, r0, #1 - strh r0, [r1, #8] - bl sub_08051F04 - pop {r4, r5, r6, pc} - .align 2, 0 -_08051EF0: .4byte gUnk_02032EC0 -_08051EF4: .4byte gUnk_080FCA20 -_08051EF8: .4byte gRoomControls -_08051EFC: .4byte gArea -_08051F00: .4byte gMenu - - thumb_func_start sub_08051F04 -sub_08051F04: @ 0x08051F04 - push {lr} - ldr r1, _08051F38 @ =gUnk_080FCA14 - ldr r0, _08051F3C @ =gMenu - ldrb r0, [r0] - lsls r0, r0, #2 - adds r0, r0, r1 - ldr r0, [r0] - bl _call_via_r0 - bl FlushSprites - bl UpdateEntities - bl sub_080AD9B0 - bl sub_080AD918 - bl UpdateScroll - bl UpdateBgAnim - bl UpdateManagers - bl sub_08000108 - pop {pc} - .align 2, 0 -_08051F38: .4byte gUnk_080FCA14 -_08051F3C: .4byte gMenu - - thumb_func_start sub_08051F40 -sub_08051F40: @ 0x08051F40 - push {lr} - ldr r0, _08051F60 @ =gUnk_080FCA20 - ldr r2, _08051F64 @ =gUnk_02032EC0 - ldrb r1, [r2, #3] - lsls r1, r1, #3 - adds r1, r1, r0 - ldrb r1, [r1, #3] - movs r0, #0xf0 - ands r0, r1 - cmp r0, #0 - beq _08051F68 - lsrs r1, r1, #4 - movs r0, #2 - bl MenuFadeIn - b _08051F76 - .align 2, 0 -_08051F60: .4byte gUnk_080FCA20 -_08051F64: .4byte gUnk_02032EC0 -_08051F68: - movs r0, #3 - strb r0, [r2] - movs r0, #0x10 - bl sub_080500F4 - bl MessageInitialize -_08051F76: - pop {pc} - - thumb_func_start sub_08051F78 -sub_08051F78: @ 0x08051F78 - push {lr} - ldr r0, _08051F94 @ =gUnk_02032EC0 - ldrb r3, [r0, #3] - lsls r3, r3, #3 - ldr r0, _08051F98 @ =gUnk_080FCA20 - adds r3, r3, r0 - ldrb r0, [r3] - ldrb r1, [r3, #1] - ldrh r2, [r3, #4] - ldrh r3, [r3, #6] - bl sub_08051F9C - pop {pc} - .align 2, 0 -_08051F94: .4byte gUnk_02032EC0 -_08051F98: .4byte gUnk_080FCA20 - - thumb_func_start sub_08051F9C -sub_08051F9C: @ 0x08051F9C - push {r4, r5, r6, lr} - mov r6, r8 - push {r6} - adds r6, r2, #0 - mov r8, r3 - ldr r5, _08051FE0 @ =gScreen - ldrh r2, [r5] - movs r4, #0xc0 - lsls r4, r4, #7 - ands r4, r2 - bl sub_08052FF4 - ldr r1, _08051FE4 @ =gRoomControls - ldrh r0, [r1, #6] - adds r0, r0, r6 - movs r6, #0 - strh r0, [r1, #0xa] - ldrh r0, [r1, #8] - add r0, r8 - strh r0, [r1, #0xc] - bl sub_0807C740 - ldr r1, _08051FE8 @ =gUpdateVisibleTiles - movs r0, #1 - strb r0, [r1] - ldr r0, _08051FEC @ =gUsedPalettes - str r6, [r0] - ldrh r0, [r5] - orrs r4, r0 - strh r4, [r5] - pop {r3} - mov r8, r3 - pop {r4, r5, r6, pc} - .align 2, 0 -_08051FE0: .4byte gScreen -_08051FE4: .4byte gRoomControls -_08051FE8: .4byte gUpdateVisibleTiles -_08051FEC: .4byte gUsedPalettes - - thumb_func_start sub_08051FF0 -sub_08051FF0: @ 0x08051FF0 - push {lr} - ldr r0, _08052000 @ =gMenu - ldr r1, [r0, #0xc] - ldrb r0, [r1] - ldrb r1, [r1, #1] - bl sub_0804B0B0 - pop {pc} - .align 2, 0 -_08052000: .4byte gMenu - - thumb_func_start sub_08052004 -sub_08052004: @ 0x08052004 - ldr r1, _0805200C @ =gMenu - movs r0, #2 - strb r0, [r1, #5] - bx lr - .align 2, 0 -_0805200C: .4byte gMenu - - thumb_func_start sub_08052010 -sub_08052010: @ 0x08052010 - push {r4, lr} - bl InitSoundPlayingInfo - bl MessageInitialize - movs r0, #1 - bl DispReset - ldr r0, _0805207C @ =gBG1Buffer - movs r4, #0x80 - lsls r4, r4, #4 - adds r1, r4, #0 - bl MemClear - ldr r0, _08052080 @ =gBG2Buffer - adds r1, r4, #0 - bl MemClear - 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 - ldr r0, _08052084 @ =gMenu - movs r1, #0x30 - bl MemClear - ldr r1, _08052088 @ =gScreen - ldrh r2, [r1] - movs r3, #0x80 - lsls r3, r3, #5 - adds r0, r3, #0 - orrs r0, r2 - strh r0, [r1] - ldr r0, _0805208C @ =0x00001C01 - strh r0, [r1, #0x14] - ldr r0, _08052090 @ =0x00001D05 - strh r0, [r1, #0x20] - movs r0, #1 - strh r0, [r1, #0x1a] - strh r0, [r1, #0x26] - pop {r4, pc} - .align 2, 0 -_0805207C: .4byte gBG1Buffer -_08052080: .4byte gBG2Buffer -_08052084: .4byte gMenu -_08052088: .4byte gScreen -_0805208C: .4byte 0x00001C01 -_08052090: .4byte 0x00001D05 - - thumb_func_start HandleGameOverScreen -HandleGameOverScreen: @ 0x08052094 - push {r4, lr} - ldr r1, _080520BC @ =gUnk_080FCA70 - ldr r4, _080520C0 @ =gMain - ldrb r0, [r4, #3] - lsls r0, r0, #2 - adds r0, r0, r1 - ldr r0, [r0] - bl _call_via_r0 - ldrb r0, [r4, #3] - cmp r0, #0 - beq _080520B8 - bl FlushSprites - bl DrawGameOverText - bl sub_080AD918 -_080520B8: - pop {r4, pc} - .align 2, 0 -_080520BC: .4byte gUnk_080FCA70 -_080520C0: .4byte gMain - - thumb_func_start sub_080520C4 -sub_080520C4: @ 0x080520C4 - push {lr} - ldr r1, _080520D4 @ =gMain - strb r0, [r1, #3] - movs r0, #0 - bl sub_080A7114 - pop {pc} - .align 2, 0 -_080520D4: .4byte gMain - - thumb_func_start sub_080520D8 -sub_080520D8: @ 0x080520D8 - push {r4, lr} - ldr r4, _08052118 @ =gFadeControl - ldrb r0, [r4] - cmp r0, #0 - bne _08052114 - bl sub_08052010 - ldr r1, _0805211C @ =gMenu - movs r0, #0x50 - strb r0, [r1, #0x10] - movs r2, #0x3c - movs r0, #0x3c - strh r0, [r1, #8] - ldr r0, _08052120 @ =gSave - adds r0, #0xaa - movs r1, #0x18 - strb r1, [r0] - ldr r0, _08052124 @ =gMain - strb r2, [r0, #5] - movs r0, #0xa - bl SoundReq - movs r0, #4 - bl sub_080500F4 - ldr r0, _08052128 @ =0xFFFF0001 - str r0, [r4, #4] - movs r0, #1 - bl sub_080520C4 -_08052114: - pop {r4, pc} - .align 2, 0 -_08052118: .4byte gFadeControl -_0805211C: .4byte gMenu -_08052120: .4byte gSave -_08052124: .4byte gMain -_08052128: .4byte 0xFFFF0001 - diff --git a/include/asm.h b/include/asm.h index f250ebb1..5fe8a9e0 100644 --- a/include/asm.h +++ b/include/asm.h @@ -9,6 +9,7 @@ extern u32 GetTileTypeByEntity(struct Entity_*); extern u32 GetTileTypeByPos(s32 x, s32 y, u32 layer); extern u32 GetTileType(u32 pos, u32 layer); extern void SetTile(u32 index, u32 position, u32 layer); +extern void sub_08000108(void); extern u32 sub_080002D0(struct Entity_*); extern void LoadResourceAsync(const void*, u32, u32); extern void sub_08001242(struct Entity_*); diff --git a/include/common.h b/include/common.h index a971ed21..e46df918 100644 --- a/include/common.h +++ b/include/common.h @@ -43,6 +43,8 @@ void MemCopy(const void* src, void* dest, u32 size); */ void ReadKeyInput(void); +void zMallocInit(void); + /** * Allocate memory on heap. * diff --git a/include/main.h b/include/main.h index eda7676c..0e830bab 100644 --- a/include/main.h +++ b/include/main.h @@ -55,7 +55,8 @@ typedef struct { } Main; typedef struct { - /*0x00*/ u16 nextToLoad; + /*0x00*/ u8 nextToLoad; + /*0x01*/ u8 _1; /*0x02*/ u8 lastState; /*0x03*/ u8 field_0x3; /*0x04*/ u8 state; diff --git a/include/player.h b/include/player.h index 2a09e2e2..36fd7303 100644 --- a/include/player.h +++ b/include/player.h @@ -280,6 +280,7 @@ extern u16 gWalletSizes[]; extern PlayerState gPlayerState; extern Entity gPlayerEntity; +u32 sub_080705AC(void); void SetPlayerControl(PlayerControlMode mode); void ResetPlayer(void); void ResetPlayerVelocity(void); diff --git a/include/room.h b/include/room.h index fb2e8398..bb09730f 100644 --- a/include/room.h +++ b/include/room.h @@ -192,9 +192,13 @@ typedef enum { extern void SetTileType(u32, u32, u32); extern void InitScreenShake(u32 time, u32 magnitude); +void sub_0804AFF4(void); +void LoadRoom(void); +void SetCurrentRoomPropertyList(u32 area, u32 room); extern void* GetCurrentRoomProperty(u32); extern void LoadRoomTileEntities(); void sub_0804B3C4(void*); +void sub_0804B0B0(u32 arg0, u32 arg1); #endif diff --git a/linker.ld b/linker.ld index fc7f630c..9b1bf7e4 100644 --- a/linker.ld +++ b/linker.ld @@ -437,7 +437,6 @@ SECTIONS { src/roomInit.o(.text); src/fade.o(.text); src/fileScreen.o(.text); - asm/fileScreen.o(.text); src/game.o(.text); asm/code_080526F8.o(.text); asm/modBombs.o(.text); diff --git a/src/game.c b/src/game.c index fee68b34..9b5616e4 100644 --- a/src/game.c +++ b/src/game.c @@ -1,4 +1,5 @@ #include "global.h" +#include "asm.h" #include "sound.h" #include "screen.h" #include "entity.h" @@ -15,6 +16,8 @@ #include "message.h" #include "game.h" +extern u8 gUpdateVisibleTiles; + extern u8 gUnk_080FCA84[]; extern u8 gUnk_080FCAC8[]; extern u8 gUnk_02024090[]; @@ -30,6 +33,39 @@ extern void** gAreaTable[]; extern u8 gUnk_080FCAF8[]; extern u16 gUnk_020178E0[]; +extern void (*gUnk_080FC9D8[])(); +extern void (*gUnk_080FC9E8[])(); +extern void (*gUnk_080FCA08[])(); +extern void (*gUnk_080FCA14[])(); +extern void (*gUnk_080FCA70[])(void); + +void sub_0807CA18(void); +void sub_080300AC(void); +void sub_08049CD4(void); +void sub_0807059C(void); +void sub_080A7124(void); +void sub_0806FD8C(void); +void sub_080300C4(void); +u32 sub_0805BC04(void); +void DeleteSleepingEntities(void); +u32 sub_0805BBBC(void); +void sub_080185F8(void); +void sub_08080A40(void); +u32 sub_0804AA84(void); +void sub_08078CB4(void); +void sub_0801C344(); +u32 sub_080705AC(); +void CollisionMain(); +void sub_0805BB74(); +void CreateZeldaFollower(void); +void sub_0807C0DC(); +void sub_0805E9A8(); +void sub_0804AF90(); +void sub_0804AFDC(); +void sub_0805283C(); +void UpdateScroll(); +void UpdateBgAnim(); +void sub_08052010(); void sub_080520C4(); void CleanUpGFXSlots(); void sub_080ADE24(); @@ -48,6 +84,25 @@ void sub_0807C740(void); void sub_080197AC(void); void sub_08053390(void); +static void sub_08053518(void); +static void InitializeEntities(void); +static void sub_08053178(void); +static void sub_08052BF8(void); +static void sub_08051E04(void); +static void sub_08052F1C(void); +/* static */ void sub_08052C5C(void); +static void sub_08052C3C(void); +static void sub_0805340C(void); +static void sub_08051D98(void); +static void sub_08051DCC(void); +/* static */ u32 sub_080528B4(void); +/* static */ u32 HandleRoomExit(void); +static void sub_080531F8(void); +static void sub_0805329C(void); +static void InitializePlayer(void); +/* static */ void sub_08051F04(void); +/* static */ void sub_08051F9C(u32 a1, u32 a2, u32 a3, u32 a4); +static void DrawGameOverText(void); static u32 StairsAreValid(); static void ClearFlagArray(const u16*); static void DummyHandler(u32* a1); @@ -58,6 +113,26 @@ static void InitRoomResInfo(RoomResInfo* info, RoomHeader* hdr, u32 area, u32 ro static void sub_080532E4(void); static void sub_08053460(void); +typedef struct { + u8 _0; + u8 _1; + u8 _2; + u8 _3; + u8 _4; + u16 _6; +} struct_08127F94; +extern struct_08127F94 gUnk_08127F94[]; + +typedef struct { + u8 _0; + u8 _1; + u8 _2; + u8 _3; + u16 _4; + u16 _6; +} struct_080FCA20; +extern struct_080FCA20 gUnk_080FCA20[]; + typedef struct { u16* dest; void* gfx_dest; @@ -85,6 +160,417 @@ typedef struct { extern void CreateDialogBox(); +void HandleGameplayScreen(void) { + gScreenTransition.frameCount++; + gUnk_080FC9D8[gMain.funcIndex](); +#ifdef DEMO_USA + if (gSave.unk48C[7] != 0) { + if (--gSave.unk48C[7] == 0) { + DoFade(7, 2); + gMain.funcIndex = 3; + } + } +#endif +} + +void sub_080519B0(void) { + if (gFadeControl.active) + return; + + DispReset(1); + InitSoundPlayingInfo(); + zMallocInit(); + sub_080A7124(); + sub_0807059C(); + MemClear(&gScreenTransition, 0xB0); + sub_08049CD4(); + sub_080300AC(); + sub_0807CA18(); + MemCopy(&gSave.saved_status, &gScreenTransition.player_status, 0x20); + gScreenTransition.transitionType = 4; + sub_08053518(); + gMain.funcIndex = 1; + gMain.transition = 0; +} + +void sub_08051A14(void) { + DispReset(1); + gFadeControl.mask = 0xffffffff; + MemClear(&gUnk_03000000, 0xB74); + MemClear(&gUnk_02032EC0, 0x3B4); + EraseAllEntities(); + sub_080197AC(); + sub_08080668(); + ResetPalettes(); + sub_0801CFA8(1); + sub_0806FD8C(); + gRoomControls.areaID = gScreenTransition.player_status.area_next; + gRoomControls.roomID = gScreenTransition.player_status.room_next; + sub_08053320(); + gGFXSlots.unk0 = 1; + gMain.funcIndex = 2; +} + +void sub_08051A90(void) { + gUnk_080FC9E8[gMain.transition](); +} + +void InitializeNewRoom(void) { + SetInitializationPriority(); + gScreen.lcd.displayControl = 0x1740; + gMain.transition = 1; + gScreenTransition.transitioningOut = 0; + gScreenTransition.field_0x4[0] = 0; + gScreenTransition.field_0x4[1] = 0; + MessageInitialize(); + sub_08052CFC(); + sub_0801C370(0); + InitializeEntities(); +#ifndef EU + sub_0801855C(); +#endif +} + +void sub_08051AF0(void) { + UpdateEntities(); + if (!sub_0805BBBC()) + UpdateScroll(); + UpdateBgAnim(); + sub_08000108(); + sub_0801C344(); + UpdateManagers(); + FlushSprites(); + sub_0801C208(); + sub_08078CB4(); + sub_080AD9B0(); + sub_080AD918(); + + if (gFadeControl.active || gRoomControls.unk2 != 0) + return; + + sub_08052F1C(); + if (gArea.musicIndex != gArea.pMusicIndex) { + gArea.musicIndex = gArea.pMusicIndex; + SoundReq(gArea.pMusicIndex | 0x800B0000); + } + + DeleteSleepingEntities(); + + if (sub_0805BC04()) + return; + + sub_08052C5C(); + ResetSystemPriority(); + sub_08051E04(); + sub_080300C4(); + gMain.transition = 2; + SetPlayerControl(0); + gUnk_02034490[0] = 0; +#if defined(USA) || defined(DEMO_USA) + if (gArea.inventoryGfxIdx != 0xff) { + sub_0801855C(); + } + sub_08052BF8(); + sub_08053178(); +#elif defined(EU) + sub_08053178(); + sub_0801855C(); +#elif defined(JP) + sub_08053178(); + if (gArea.inventoryGfxIdx != 0xff) { + sub_0801855C(); + } +#elif defined(DEMO_JP) + if (gScreenTransition.field_0x2c[5]) + sub_08053178(); + if (gArea.inventoryGfxIdx != 0xff) { + sub_0801855C(); + } + sub_08052BF8(); +#endif + if (!gRoomVars.field_0x0) { + RequestPriorityDuration(NULL, 1); + } +} + +void sub_08051BD0(void) { + if (sub_080705AC() || sub_0804AA84()) { + return; + } + sub_0805340C(); + + if (gMain.transition != 2) { + return; + } + + if ((gMessage.doTextBox & 0x7f) || gPriorityHandler.priority_timer != 0) + sub_08078B48(); + + FlushSprites(); + UpdateEntities(); + sub_08080A40(); + CollisionMain(); + UpdateScroll(); + UpdateBgAnim(); + sub_08000108(); + sub_08052C3C(); + sub_0801C344(); + UpdateManagers(); + sub_0801C208(); + sub_08078CB4(); + sub_080AD9B0(); + HandleRoomExit(); + sub_08052C5C(); + sub_080528B4(); + sub_080185F8(); + sub_080AD918(); + switch (gRoomControls.unk2) { + case 1: + gPlayerState.queued_action = 0x17; + gMain.transition = 1; + SetRoomReloadPriority(); + sub_08051D98(); + break; + case 2: + gPlayerState.queued_action = 0x17; + gMain.transition = 1; + SetRoomReloadPriority(); + sub_08051DCC(); + break; + } +} + +void sub_08051CA8(void) { + if (sub_080705AC()) + return; + + UpdateEntities(); + CollisionMain(); + sub_0801C344(); + UpdateManagers(); + FlushSprites(); + sub_0801C208(); + sub_08078CB4(); + sub_080AD9B0(); + HandleRoomExit(); + sub_080528B4(); + sub_080AD918(); + if (!gFadeControl.active) + ResetSystemPriority(); +} + +void sub_08051CF0(void) { + FlushSprites(); + sub_0801C208(); + sub_080AD9B0(); + gMain.pad = 1; + sub_080AD918(); + if (!gFadeControl.active) { + DispReset(1); + gMain.funcIndex = 1; + gMain.transition = 0; + gScreenTransition.transitioningOut = 1; + } +} + +void sub_08051D2C(void) { +#ifdef DEMO_USA + if (!gFadeControl.active) + DoSoftReset(); +#else + DoFade(7, 8); + InitScreen(3); +#endif +} + +static void InitializeEntities(void) { + sub_08052EA0(); + sub_0804AF90(); + sub_0804AFDC(); + InitializePlayer(); + gUnk_03004030.unk_00 = NULL; + sub_0807C740(); + gUpdateVisibleTiles = 1; + sub_0805283C(); + SetColor(0, 0); + LoadRoom(); + CreateZeldaFollower(); + sub_0804AFF4(); + sub_0805329C(); + sub_08000108(); + sub_0805BB74(0xffffffff); + sub_080531F8(); +} + +void sub_08051D98(void) { + sub_08052EA0(); + gRoomVars.field_0x0 = 1; + sub_0805E9A8(); + sub_0804AF90(); + sub_0804AFDC(); + sub_0807C0DC(); + sub_0805283C(); + LoadRoom(); + sub_0804AFF4(); + SetPlayerControl(1); +} + +void sub_08051DCC(void) { + gRoomControls.areaID = gScreenTransition.player_status.area_next; + gRoomControls.roomID = gScreenTransition.player_status.room_next; + RoomExitCallback(); + gScreenTransition.transitionType = 3; + sub_08052CFC(); + sub_08052EA0(); + sub_0805E9A8(); + sub_0804AF90(); + sub_0804AFDC(); + sub_0805283C(); +} + +void sub_08051E04() { + if (CheckIsOverworld()) { + struct_08127F94* i; + u32 hi_x, hi_y; + s32 x, y; + + x = gPlayerEntity.x.HALF.HI; + if (x < 0) + x += 0xf; + hi_x = x >> 4; + + y = gPlayerEntity.y.HALF.HI; + if (y < 0) + y += 0xf; + hi_y = y >> 4; + + for (i = gUnk_08127F94; i->_0 != 0xFF; i++) { + if (i->_0 <= hi_x && i->_2 >= hi_x && i->_1 <= hi_y && i->_3 >= hi_y) { + gSave.windcrests |= 1 << i->_4; + break; + } + } + } +} + +void sub_08051E68() { + gUnk_080FCA08[gMenu.menuType](); +} + +void sub_08051E84() { + struct_080FCA20* p = &gUnk_080FCA20[gUnk_02032EC0.field_0x3]; + gRoomControls.areaID = p->_0; + gRoomControls.roomID = p->_1; + sub_08053320(); + gArea.localFlagOffset = GetFlagBankOffset(gRoomControls.areaID); + SetCurrentRoomPropertyList(p->_0, p->_1); + sub_08052FD8(p->_0, p->_1); + gRoomControls.roomScrollX = gRoomControls.roomOriginX + p->_4; + gRoomControls.roomScrollY = gRoomControls.roomOriginY + p->_6; + gMenu.field_0x0 = p->_2; + gMenu.field_0x3 = p->_3 & 0xf; + gMenu.field_0xc = (void*)p; + gMenu.menuType++; + gMenu.overlayType = 0; + gMenu.transitionTimer = 300; + sub_08051F04(); +} + +void sub_08051F04(void) { + gUnk_080FCA14[gMenu.field_0x0](); + FlushSprites(); + UpdateEntities(); + sub_080AD9B0(); + sub_080AD918(); + UpdateScroll(); + UpdateBgAnim(); + UpdateManagers(); + sub_08000108(); +} + +void sub_08051F40(u32 a1, u32 a2, u32 a3, u32 a4) { + u32 flag = gUnk_080FCA20[gUnk_02032EC0.field_0x3]._3; + if (flag & 0xF0) { + MenuFadeIn(2, flag >> 4); + } else { + gUnk_02032EC0.nextToLoad = 3; + sub_080500F4(0x10); + MessageInitialize(); + } +} + +void sub_08051F78(u32 a1, u32 a2, u32 a3, u32 a4) { + u32 idx = gUnk_02032EC0.field_0x3; + struct_080FCA20* p = &gUnk_080FCA20[idx]; + sub_08051F9C(p->_0, p->_1, p->_4, p->_6); +} + +void sub_08051F9C(u32 a1, u32 a2, u32 a3, u32 a4) { + u32 tmp = gScreen.lcd.displayControl & 0x6000; + sub_08052FF4(a1, a2); + gRoomControls.roomScrollX = gRoomControls.roomOriginX + a3; + gRoomControls.roomScrollY = gRoomControls.roomOriginY + a4; + sub_0807C740(); + gUpdateVisibleTiles = 1; + gUsedPalettes = 0; + gScreen.lcd.displayControl |= tmp; +} + +void sub_08051FF0() { + sub_0804B0B0(gMenu.field_0xc[0], gMenu.field_0xc[1]); +} + +void sub_08052004() { + gMenu.menuType = 2; +} + +void sub_08052010() { + InitSoundPlayingInfo(); + MessageInitialize(); + DispReset(1); + MemClear(gBG1Buffer, 0x800); + MemClear(gBG2Buffer, 0x800); + sub_080A4D34(); + LoadPaletteGroup(0xA); + SetColor(0, 0); + LoadGfxGroup(4); + MemClear((void*)0x06000000, 0x20); + MemClear(&gMenu, 0x30); + gScreen.lcd.displayControl |= 0x1000; + gScreen.bg1.control = 0x1C01; + gScreen.bg2.control = 0x1D05; + gScreen.bg1.updated = 1; + gScreen.bg2.updated = 1; +} + +void HandleGameOverScreen() { + gUnk_080FCA70[gMain.funcIndex](); + if (gMain.funcIndex != 0) { + FlushSprites(); + DrawGameOverText(); + sub_080AD918(); + } +} + +void sub_080520C4(u32 idx) { + gMain.funcIndex = idx; + sub_080A7114(0); +} + +void sub_080520D8(void) { + if (gFadeControl.active) + return; + sub_08052010(); + gMenu.focusCoords[0] = 80; + gMenu.transitionTimer = 60; + gSave.stats.health = 24; + gMain.field_0x5 = 60; + SoundReq(BGM_GAMEOVER); + sub_080500F4(4); + gFadeControl.mask = 0xFFFF0001; + sub_080520C4(1); +} + void sub_0805212C(void) { if (gFadeControl.active) return; @@ -251,7 +737,7 @@ void sub_080522F4(void) { void nullsub_107(void) { } -void DrawGameOverText(void) { +static void DrawGameOverText(void) { static const u8 sOffsets[] = { 48, 68, 88, 108, 137, 156, 174, 192, }; diff --git a/src/npc/npc5.c b/src/npc/npc5.c index 900d3e79..4a620dcd 100644 --- a/src/npc/npc5.c +++ b/src/npc/npc5.c @@ -80,6 +80,18 @@ void sub_08061AFC(Entity*); extern u16* gUnk_0810B660[8]; +void CreateZeldaFollower(void) { + Entity* npc; + if (CheckGlobalFlag(0x1c) != 0) { + npc = CreateNPC(0x2e, 0, 0); + if (npc != NULL) { + CopyPosition(&gPlayerEntity, npc); + npc->flags |= 0x20; + npc->animationState = GetAnimationState(npc); + } + } +} + // UNUSED zelda follower, probably because it was too resource heavy void NPC5(Entity* this) { gUnk_0810AC1C[this->type](this); diff --git a/src/npc/postman.c b/src/npc/postman.c index f72ec6d3..1f958c09 100644 --- a/src/npc/postman.c +++ b/src/npc/postman.c @@ -205,15 +205,3 @@ void Postman_Fusion(Entity* this) { UpdateAnimationSingleFrame(this); } } - -void CreateZeldaFollower(void) { - Entity* npc; - if (CheckGlobalFlag(0x1c) != 0) { - npc = CreateNPC(0x2e, 0, 0); - if (npc != NULL) { - CopyPosition(&gPlayerEntity, npc); - npc->flags |= 0x20; - npc->animationState = GetAnimationState(npc); - } - } -} diff --git a/src/player.c b/src/player.c index 61cafe8c..ff9826fb 100644 --- a/src/player.c +++ b/src/player.c @@ -256,6 +256,7 @@ void SurfaceAction_Water(Entity*); void SurfaceAction_Ladder(Entity*); void SurfaceAction_AutoLadder(Entity*); +extern void sub_080A4D88(void); extern void RespawnPlayer(); extern void sub_080797EC(); extern void UpdatePlayerMovement(); @@ -319,6 +320,26 @@ extern u16 script_BedAtSimons; extern Entity* gPlayerClones[]; extern ScriptExecutionContext gPlayerScriptExecutionContext; +NONMATCH("asm/non_matching/playerItemPacciCane/sub_080705AC.inc", u32 sub_080705AC(void)) { + if (!((gInput.newKeys & START_BUTTON) == 0 || gFadeControl.active || gUnk_02034490[0] || + (gMessage.doTextBox & 0x7F) || gSave.stats.health == 0 || !gSave.fillerD0[34] || + gPlayerState.controlMode != 0 || gPriorityHandler.priority_timer != 0)) { + u32 tmp = gPlayerState.framestate ? gPlayerState.framestate : gPlayerState.framestate_last; + switch (tmp) { + case PL_STATE_DIE: + case PL_STATE_TALKEZLO: + case PL_STATE_ITEMGET: + case PL_STATE_DROWN: + case PL_STATE_STAIRS: + return 0; + } + sub_080A4D88(); + return 1; + } + return 0; +} +END_NONMATCH + void DoPlayerAction(Entity* this) { static void (*const sPlayerActions[])(Entity*) = { [PLAYER_INIT] = PlayerInit, diff --git a/src/playerItem/playerItemPacciCane.c b/src/playerItem/playerItemPacciCane.c index 471f180e..580d65a5 100644 --- a/src/playerItem/playerItemPacciCane.c +++ b/src/playerItem/playerItemPacciCane.c @@ -8,7 +8,6 @@ extern void (*const gUnk_0811B9D8[])(Entity*); void sub_080704FC(Entity*); -extern void sub_080A4D88(void); extern u8 gUnk_02034490[0x18]; @@ -29,22 +28,3 @@ ASM_FUNC("asm/non_matching/playerItemPacciCane/sub_080704FC.inc", void sub_08070 void sub_0807059C() { MemClear(gUnk_02034490, sizeof(gUnk_02034490)); } - -NONMATCH("asm/non_matching/playerItemPacciCane/sub_080705AC.inc", u32 sub_080705AC(void)) { - if (!((gInput.newKeys & 8) == 0 || gFadeControl.active || gUnk_02034490[0] || (gMessage.doTextBox & 0x7F) != 0 || - !gSave.stats.health || !gSave.fillerD0[34] || gPlayerState.controlMode || gPriorityHandler.priority_timer)) { - u32 tmp = gPlayerState.framestate ? gPlayerState.framestate : gPlayerState.framestate_last; - switch (tmp) { - case 18: - case 19: - case 21: - case 22: - case 28: - return 0; - } - sub_080A4D88(); - return 1; - } - return 0; -} -END_NONMATCH From 52db70bb9d63a801f76b2fe6b359bd402a2c5b2a Mon Sep 17 00:00:00 2001 From: theo3 Date: Mon, 3 Jan 2022 23:58:02 -0800 Subject: [PATCH 2/4] naming work --- asm/beanstalkSubtask.s | 26 +- asm/code_08049D30.s | 12 +- asm/code_080526F8.s | 18 +- asm/code_0805436C.s | 8 +- asm/code_08054C04.s | 4 +- asm/code_0805EC04.s | 4 +- asm/code_08078778.s | 24 +- asm/code_0807B9B8.s | 20 +- asm/code_0808091C.s | 12 +- asm/coord.s | 4 +- asm/enemy/armos.s | 6 +- asm/enemy/chuchuBoss.s | 14 +- asm/enemy/code_080300AC.s | 12 +- asm/enemy/gleerok.s | 20 +- asm/enemy/gyorgChild.s | 4 +- asm/enemyUtils.s | 4 +- asm/enterPortalSubtask.s | 10 +- asm/intr.s | 12 +- asm/kinstone.s | 4 +- asm/non_matching/color/sub_0801D000.inc | 4 +- asm/non_matching/common/DrawDungeonMap.inc | 8 +- asm/non_matching/eu/HandlePlayerLife.inc | 4 +- asm/non_matching/eu/sub_08057A18.inc | 4 +- .../guardWithSpear/sub_08064198.inc | 4 +- .../guardWithSpear/sub_080642B8.inc | 4 +- asm/non_matching/itemSword/sub_08075900.inc | 4 +- asm/non_matching/manager1/sub_080573AC.inc | 4 +- asm/non_matching/manager1/sub_08057450.inc | 4 +- asm/non_matching/manager22/Manager22_Main.inc | 4 +- .../picolyteBottles/sub_0806E140.inc | 4 +- asm/non_matching/player/PlayerNormal.inc | 4 +- asm/non_matching/player/sub_08074678.inc | 4 +- .../playerItemSword/sub_080A78B8.inc | 4 +- asm/non_matching/rem/sub_0806A674.inc | 8 +- asm/non_matching/sub_0804C258.inc | 4 +- asm/non_matching/sub_08054524.inc | 4 +- asm/non_matching/sub_0805EC9C.inc | 4 +- asm/non_matching/sub_unk3_HyruleTown_0.inc | 6 +- asm/non_matching/vaati/sub_08043770.inc | 4 +- asm/non_matching/vram/sub_080AD918.inc | 8 +- asm/object/bigBarrel.s | 4 +- asm/object/bossDoor.s | 4 +- asm/object/gyorgBossObject.s | 12 +- asm/object/lilypadLarge.s | 8 +- asm/object/mazaalBossObject.s | 8 +- asm/object/object17.s | 4 +- asm/object/object3D.s | 6 +- asm/object/object3E.s | 12 +- asm/object/object43.s | 8 +- asm/object/object8E.s | 20 +- asm/object/object91.s | 16 +- asm/object/objectA8.s | 4 +- asm/object/windTribeTeleporter.s | 52 +- asm/scroll.s | 16 +- asm/staffroll.s | 16 +- asm/subtask.s | 32 +- asm/subtask2.s | 100 ++-- asm/ui.s | 16 +- asm/veneer.s | 4 +- asm/vram.s | 6 +- data/data_080FC8A4.s | 20 +- data/data_08128BF4.s | 32 +- include/asm.h | 2 +- include/color.h | 2 +- include/entity.h | 8 +- include/{fileScreen.h => fileselect.h} | 2 +- include/functions.h | 8 +- include/game.h | 22 +- include/main.h | 20 +- include/manager.h | 6 +- include/message.h | 2 +- include/player.h | 2 +- include/room.h | 175 +++--- include/save.h | 19 +- include/structures.h | 31 +- linker.ld | 10 +- src/affine.c | 34 +- src/code_08049CD4.c | 8 +- src/code_0805436C.c | 4 +- src/code_0805EC04.c | 10 +- src/color.c | 2 +- src/common.c | 12 +- src/coord.c | 12 +- src/debugScreen.c | 14 +- src/demoScreen.c | 26 +- src/enemy/bombPeahat.c | 22 +- src/enemy/code_080300AC.c | 12 +- src/enemy/fallingBoulder.c | 4 +- src/enemy/gyorgMale.c | 88 +-- src/enemy/mazaalBracelet.c | 8 +- src/enemy/mazaalHead.c | 24 +- src/enemy/mazaalMacro.c | 32 +- src/enemy/moldworm.c | 2 +- src/enemy/octorokBoss.c | 48 +- src/enemy/peahat.c | 2 +- src/enemy/puffstool.c | 24 +- src/enemy/slime.c | 4 +- src/enemy/vaatiArm.c | 92 +-- src/enemy/vaatiEyesMacro.c | 14 +- src/enemy/vaatiProjectile.c | 6 +- src/enemy/vaatiRebornEnemy.c | 10 +- src/enemy/vaatiTransfigured.c | 16 +- src/enemy/vaatiWrath.c | 42 +- src/enemy/vaatiWrathEye.c | 4 +- src/enemy/waterDrop.c | 8 +- src/enterPortalSubtask.c | 12 +- src/entity.c | 22 +- src/fade.c | 6 +- src/{fileScreen.c => fileselect.c} | 94 +-- src/game.c | 533 +++++++++--------- src/interrupts.c | 8 +- src/item/itemTryPickupObject.c | 2 +- src/main.c | 76 +-- src/manager/manager10.c | 8 +- src/manager/manager12.c | 6 +- src/manager/manager13.c | 6 +- src/manager/manager14.c | 4 +- src/manager/manager15.c | 32 +- src/manager/manager17.c | 4 +- src/manager/manager18.c | 8 +- src/manager/manager19.c | 8 +- src/manager/manager1A.c | 68 +-- src/manager/manager1B.c | 16 +- src/manager/manager1C.c | 4 +- src/manager/manager1D.c | 8 +- src/manager/manager2.c | 8 +- src/manager/manager20.c | 4 +- src/manager/manager21.c | 4 +- src/manager/manager22.c | 2 +- src/manager/manager23.c | 4 +- src/manager/manager24.c | 40 +- src/manager/manager26.c | 6 +- src/manager/manager27.c | 4 +- src/manager/manager28.c | 4 +- src/manager/manager2B.c | 4 +- src/manager/manager2C.c | 24 +- src/manager/manager2D.c | 4 +- src/manager/manager2F.c | 8 +- src/manager/manager3.c | 6 +- src/manager/manager31.c | 4 +- src/manager/manager32.c | 8 +- src/manager/manager33.c | 8 +- src/manager/manager34.c | 2 +- src/manager/manager35.c | 10 +- src/manager/manager37.c | 28 +- src/manager/manager39.c | 4 +- src/manager/manager4.c | 58 +- src/manager/manager7.c | 2 +- src/manager/manager8.c | 16 +- src/manager/manager9.c | 6 +- src/manager/managerC.c | 38 +- src/manager/managerF.c | 24 +- src/message.c | 16 +- src/npc.c | 4 +- src/npc/bigGoron.c | 4 +- src/npc/bladeBrothers.c | 4 +- src/npc/castorWildsStatue.c | 2 +- src/npc/dampe.c | 4 +- src/npc/goronMerchant.c | 4 +- src/npc/guard.c | 2 +- src/npc/kid.c | 4 +- src/npc/npc23.c | 2 +- src/npc/npc4E.c | 4 +- src/npc/npc5.c | 8 +- src/npc/phonograph.c | 2 +- src/npc/picolyteBottle.c | 10 +- src/npc/postman.c | 4 +- src/npc/rem.c | 6 +- src/npc/simon.c | 4 +- src/npc/sturgeon.c | 2 +- src/npc/syrup.c | 2 +- src/npc/vaati.c | 2 +- src/npc/zelda.c | 6 +- src/npcUtils.c | 4 +- src/object/backgroundCloud.c | 4 +- src/object/bakerOven.c | 4 +- src/object/bird.c | 2 +- src/object/book.c | 2 +- src/object/button.c | 4 +- src/object/cloud.c | 20 +- src/object/fileScreenObjects.c | 12 +- src/object/giantLeaf.c | 4 +- src/object/greatFairy.c | 8 +- src/object/houseDoorExterior.c | 4 +- src/object/lockedDoor.c | 2 +- src/object/mask.c | 2 +- src/object/minecart.c | 14 +- src/object/object49.c | 2 +- src/object/object6A.c | 24 +- src/object/objectA.c | 2 +- src/object/objectA2.c | 2 +- src/object/objectB5.c | 2 +- src/object/octorokBossObject.c | 6 +- src/object/treeHidingPortal.c | 2 +- src/object/warpPoint.c | 20 +- src/objectUtils.c | 4 +- src/player.c | 46 +- src/playerItem/playerItem10.c | 4 +- src/playerItem/playerItemPacciCane.c | 2 +- src/projectile/gleerokProjectile.c | 2 +- src/projectile/v1FireProjectile.c | 2 +- src/projectileUtils.c | 4 +- src/room.c | 16 +- src/roomInit.c | 84 +-- src/save.c | 4 +- src/script.c | 94 +-- src/scroll.c | 50 +- src/sub_08055E08.c | 2 +- src/sub_0807CA18.c | 24 +- src/subtask.c | 12 +- src/text.c | 2 +- src/title.c | 40 +- 212 files changed, 1762 insertions(+), 1736 deletions(-) rename include/{fileScreen.h => fileselect.h} (98%) rename src/{fileScreen.c => fileselect.c} (93%) diff --git a/asm/beanstalkSubtask.s b/asm/beanstalkSubtask.s index 4fc5e17c..5efd2b1a 100644 --- a/asm/beanstalkSubtask.s +++ b/asm/beanstalkSubtask.s @@ -50,7 +50,7 @@ sub_08019698: @ 0x08019698 ldr r1, _08019730 @ =gUpdateVisibleTiles movs r0, #1 strb r0, [r1] - bl sub_08000108 + bl UpdateScrollVram ldr r2, _08019734 @ =gScreen ldrh r1, [r2] ldr r0, _08019738 @ =0x0000FEFF @@ -75,8 +75,8 @@ _08019700: movs r0, #0x11 bl LoadGfxGroup bl FlushSprites - bl sub_080AD9B0 - bl sub_080AD918 + bl DrawEntities + bl CopyOAM movs r0, #4 movs r1, #8 bl DoFade @@ -119,8 +119,8 @@ sub_08019764: @ 0x08019764 push {lr} bl FlushSprites bl UpdateEntities - bl sub_080AD9B0 - bl sub_080AD918 + bl DrawEntities + bl CopyOAM ldr r2, _08019798 @ =gUnk_02018EB0 ldrh r0, [r2, #4] subs r0, #1 @@ -152,8 +152,8 @@ sub_080197A0: @ 0x080197A0 bl MenuFadeIn pop {pc} - thumb_func_start sub_080197AC -sub_080197AC: @ 0x080197AC + thumb_func_start SetBGDefaults +SetBGDefaults: @ 0x080197AC ldr r0, _080197C4 @ =gUnk_02025EB0 ldr r1, _080197C8 @ =gBGAffSettings str r1, [r0] @@ -3178,11 +3178,11 @@ sub_0801AE44: @ 0x0801AE44 bl sub_0807BFD0 cmp r4, #0 beq _0801AE5A - bl sub_0807C0DC + bl LoadRoomGfx _0801AE5A: bl sub_080809D4 bl sub_080805F8 - ldr r0, _0801AEE4 @ =gScreenTransition + ldr r0, _0801AEE4 @ =gRoomTransition adds r0, #0x2d ldrb r0, [r0] cmp r0, #0 @@ -3244,7 +3244,7 @@ _0801AED0: b _0801AF10 .align 2, 0 _0801AEE0: .4byte gRoomControls -_0801AEE4: .4byte gScreenTransition +_0801AEE4: .4byte gRoomTransition _0801AEE8: .4byte gArea _0801AEEC: .4byte 0x0600F000 _0801AEF0: .4byte gUnk_03004030 @@ -3257,7 +3257,7 @@ _0801AF08: .4byte gMapDataTopSpecial _0801AF0C: bl sub_0807C4F8 _0801AF10: - bl sub_08000108 + bl UpdateScrollVram pop {r4, pc} .align 2, 0 @@ -3298,7 +3298,7 @@ sub_0801AF48: @ 0x0801AF48 ldr r0, _0801AF7C @ =0x00003FFF cmp r4, r0 bhi _0801AF7A - ldr r0, _0801AF80 @ =gScreenTransition + ldr r0, _0801AF80 @ =gRoomTransition adds r0, #0x30 ldrb r0, [r0] cmp r0, #0 @@ -3320,7 +3320,7 @@ _0801AF7A: pop {r4, r5, r6, pc} .align 2, 0 _0801AF7C: .4byte 0x00003FFF -_0801AF80: .4byte gScreenTransition +_0801AF80: .4byte gRoomTransition _0801AF84: .4byte gRoomVars _0801AF88: .4byte gUnk_0200B240 diff --git a/asm/code_08049D30.s b/asm/code_08049D30.s index 77b661aa..c15be316 100644 --- a/asm/code_08049D30.s +++ b/asm/code_08049D30.s @@ -10,7 +10,7 @@ UpdateRoomTracker: @ 0x08049D30 push {r4, r5, r6, lr} ldr r1, _08049D58 @ =gUnk_020354B0 - ldr r0, _08049D5C @ =gUnk_02024050 + ldr r0, _08049D5C @ =gRoomMemory str r0, [r1] adds r5, r1, #0 ldr r6, _08049D60 @ =gRoomControls @@ -30,7 +30,7 @@ _08049D3E: b _08049D7C .align 2, 0 _08049D58: .4byte gUnk_020354B0 -_08049D5C: .4byte gUnk_02024050 +_08049D5C: .4byte gRoomMemory _08049D60: .4byte gRoomControls _08049D64: .4byte 0x0000FFFF _08049D68: @@ -52,7 +52,7 @@ _08049D84: .4byte gUnk_020354B0 thumb_func_start sub_08049D88 sub_08049D88: @ 0x08049D88 push {r4, r5, lr} - ldr r4, _08049DC0 @ =gUnk_02024050 + ldr r4, _08049DC0 @ =gRoomMemory adds r1, r4, #0 adds r1, #8 ldr r3, _08049DC4 @ =gRoomControls @@ -81,7 +81,7 @@ _08049DA0: adds r0, r4, #0 pop {r4, r5, pc} .align 2, 0 -_08049DC0: .4byte gUnk_02024050 +_08049DC0: .4byte gRoomMemory _08049DC4: .4byte gRoomControls _08049DC8: .4byte 0x0000FFFF @@ -89,7 +89,7 @@ _08049DC8: .4byte 0x0000FFFF sub_08049DCC: @ 0x08049DCC push {r4, lr} adds r2, r0, #0 - ldr r1, _08049DF0 @ =gUnk_02024050 + ldr r1, _08049DF0 @ =gRoomMemory adds r3, r1, #0 adds r3, #0x40 _08049DD6: @@ -107,7 +107,7 @@ _08049DE2: strh r0, [r2, #2] pop {r4, pc} .align 2, 0 -_08049DF0: .4byte gUnk_02024050 +_08049DF0: .4byte gRoomMemory thumb_func_start sub_08049DF4 sub_08049DF4: @ 0x08049DF4 diff --git a/asm/code_080526F8.s b/asm/code_080526F8.s index 402a840e..7843be88 100644 --- a/asm/code_080526F8.s +++ b/asm/code_080526F8.s @@ -409,7 +409,7 @@ sub_08053894: @ 0x08053894 _080538B4: .4byte gFadeControl _080538B8: .4byte gMenu _080538BC: - ldr r0, _080538FC @ =gScreenTransition + ldr r0, _080538FC @ =gRoomTransition ldr r0, [r0] movs r1, #1 ands r0, r1 @@ -442,7 +442,7 @@ _080538E4: _080538F8: pop {r4, pc} .align 2, 0 -_080538FC: .4byte gScreenTransition +_080538FC: .4byte gRoomTransition _08053900: .4byte gScreen thumb_func_start sub_08053904 @@ -467,7 +467,7 @@ sub_08053904: @ 0x08053904 _08053924: .4byte gFadeControl _08053928: .4byte gMenu _0805392C: - ldr r0, _0805396C @ =gScreenTransition + ldr r0, _0805396C @ =gRoomTransition ldr r0, [r0] movs r1, #1 ands r0, r1 @@ -500,7 +500,7 @@ _08053954: _08053968: pop {r4, pc} .align 2, 0 -_0805396C: .4byte gScreenTransition +_0805396C: .4byte gRoomTransition _08053970: .4byte gScreen thumb_func_start sub_08053974 @@ -513,7 +513,7 @@ sub_08053974: @ 0x08053974 bl InitFade movs r0, #1 bl DispReset - bl sub_080197AC + bl SetBGDefaults bl sub_08051F78 ldr r0, _080539B0 @ =gUnk_080FCBC4 bl LoadRoomEntityList @@ -540,7 +540,7 @@ nullsub_482: @ 0x080539B8 thumb_func_start sub_080539BC sub_080539BC: @ 0x080539BC push {lr} - bl sub_080197AC + bl SetBGDefaults bl DeleteAllEntities movs r0, #0x22 movs r1, #0x11 @@ -652,7 +652,7 @@ sub_08053A90: @ 0x08053A90 ldr r1, _08053AAC @ =gUnk_02032EC0 movs r0, #3 strb r0, [r1] - bl sub_080197AC + bl SetBGDefaults _08053AA4: pop {pc} .align 2, 0 @@ -887,7 +887,7 @@ sub_08053C60: @ 0x08053C60 ldr r0, _08053C80 @ =0x80100000 bl SoundReq movs r0, #3 - bl InitScreen + bl SetTask pop {pc} .align 2, 0 _08053C80: .4byte 0x80100000 @@ -1537,7 +1537,7 @@ _080541AA: movs r0, #0x63 bl ModBombs _080541B0: - bl sub_08053390 + bl LoadItemGfx b _0805427C _080541B6: cmp r5, #0 diff --git a/asm/code_0805436C.s b/asm/code_0805436C.s index f8afffbf..6f49c29e 100644 --- a/asm/code_0805436C.s +++ b/asm/code_0805436C.s @@ -59,11 +59,11 @@ sub_080548E8: @ 0x080548E8 bl _call_via_r0 bl FlushSprites bl UpdateEntities - bl sub_080AD9B0 - bl sub_080AD918 + bl DrawEntities + bl CopyOAM bl UpdateScroll bl UpdateBgAnim - bl sub_08000108 + bl UpdateScrollVram pop {pc} .align 2, 0 _08054918: .4byte gUnk_080FE2AC @@ -129,7 +129,7 @@ sub_08054974: @ 0x08054974 strb r0, [r4, #4] ldrb r0, [r6, #3] strb r0, [r4, #5] - bl sub_08053320 + bl LoadGfxGroups ldrb r0, [r4, #4] bl GetFlagBankOffset ldr r1, _080549B8 @ =gArea diff --git a/asm/code_08054C04.s b/asm/code_08054C04.s index 8cf1ccc5..82cf774f 100644 --- a/asm/code_08054C04.s +++ b/asm/code_08054C04.s @@ -853,7 +853,7 @@ sub_0805524C: @ 0x0805524C .align 2, 0 _08055270: .4byte gMenu _08055274: - ldr r0, _080552A4 @ =gScreenTransition + ldr r0, _080552A4 @ =gRoomTransition ldr r0, [r0] movs r1, #7 ands r0, r1 @@ -877,7 +877,7 @@ _08055274: strh r0, [r1] b _080552D6 .align 2, 0 -_080552A4: .4byte gScreenTransition +_080552A4: .4byte gRoomTransition _080552A8: .4byte gUnk_080FF204 _080552AC: .4byte 0x0000FFFF _080552B0: .4byte gScreen diff --git a/asm/code_0805EC04.s b/asm/code_0805EC04.s index 58307ec8..a4fecfbf 100644 --- a/asm/code_0805EC04.s +++ b/asm/code_0805EC04.s @@ -200,7 +200,7 @@ _0805EE82: thumb_func_start sub_0805EE88 sub_0805EE88: @ 0x0805EE88 push {lr} - ldr r1, _0805EEB0 @ =gScreenTransition + ldr r1, _0805EEB0 @ =gRoomTransition adds r0, r1, #0 adds r0, #0x2f ldrb r0, [r0] @@ -219,5 +219,5 @@ sub_0805EE88: @ 0x0805EE88 _0805EEAC: pop {pc} .align 2, 0 -_0805EEB0: .4byte gScreenTransition +_0805EEB0: .4byte gRoomTransition diff --git a/asm/code_08078778.s b/asm/code_08078778.s index ebd35258..266d4bdc 100644 --- a/asm/code_08078778.s +++ b/asm/code_08078778.s @@ -310,7 +310,7 @@ CreateEzloHint: @ 0x08078AA8 ldr r3, _08078AB8 @ =gPlayerState movs r2, #0x16 strb r2, [r3, #0xc] - ldr r2, _08078ABC @ =gScreenTransition + ldr r2, _08078ABC @ =gRoomTransition strh r0, [r2, #0x36] .ifdef JP adds r2, #0x34 @@ -325,7 +325,7 @@ CreateEzloHint: @ 0x08078AA8 bx lr .align 2, 0 _08078AB8: .4byte gPlayerState -_08078ABC: .4byte gScreenTransition +_08078ABC: .4byte gRoomTransition thumb_func_start sub_08078AC0 sub_08078AC0: @ 0x08078AC0 @@ -556,8 +556,8 @@ sub_08078C24: @ 0x08078C24 _08078CAC: .4byte gPlayerState _08078CB0: .4byte gUnk_03003DF0 - thumb_func_start sub_08078CB4 -sub_08078CB4: @ 0x08078CB4 + thumb_func_start UpdateCarriedObject +UpdateCarriedObject: @ 0x08078CB4 push {lr} ldr r0, _08078CCC @ =gPlayerState ldrb r0, [r0, #5] @@ -744,7 +744,7 @@ _08078DE0: ands r0, r1 cmp r0, #2 bne _08078E82 - ldr r0, _08078E38 @ =gScreenTransition + ldr r0, _08078E38 @ =gRoomTransition ldr r1, [r0] movs r0, #3 ands r1, r0 @@ -755,7 +755,7 @@ _08078DE0: b _08078E82 .align 2, 0 _08078E34: .4byte gPlayerState -_08078E38: .4byte gScreenTransition +_08078E38: .4byte gRoomTransition _08078E3C: ldrh r0, [r4, #0x2e] adds r0, #1 @@ -5105,7 +5105,7 @@ _0807AEA8: ands r0, r1 cmp r0, #0 beq _0807AECC - ldr r0, _0807AEC8 @ =gScreenTransition + ldr r0, _0807AEC8 @ =gRoomTransition ldr r0, [r0] movs r1, #0xf ands r0, r1 @@ -5116,9 +5116,9 @@ _0807AEA8: bl sub_080A2A84 b _0807AEDE .align 2, 0 -_0807AEC8: .4byte gScreenTransition +_0807AEC8: .4byte gRoomTransition _0807AECC: - ldr r0, _0807AEE0 @ =gScreenTransition + ldr r0, _0807AEE0 @ =gRoomTransition ldr r0, [r0] movs r1, #7 ands r0, r1 @@ -5129,7 +5129,7 @@ _0807AECC: _0807AEDE: pop {r4, pc} .align 2, 0 -_0807AEE0: .4byte gScreenTransition +_0807AEE0: .4byte gRoomTransition thumb_func_start UpdatePlayerSkills UpdatePlayerSkills: @ 0x0807AEE4 @@ -5518,7 +5518,7 @@ sub_0807B1A8: @ 0x0807B1A8 ldr r1, [r0] adds r0, r4, #0 bl _call_via_r1 - ldr r0, _0807B1D8 @ =gScreenTransition + ldr r0, _0807B1D8 @ =gRoomTransition ldr r0, [r0] movs r1, #7 ands r0, r1 @@ -5530,7 +5530,7 @@ _0807B1D0: pop {r4, pc} .align 2, 0 _0807B1D4: .4byte gUnk_0811C298 -_0807B1D8: .4byte gScreenTransition +_0807B1D8: .4byte gRoomTransition thumb_func_start sub_0807B1DC sub_0807B1DC: @ 0x0807B1DC diff --git a/asm/code_0807B9B8.s b/asm/code_0807B9B8.s index 5a9cf42e..33b19f0b 100644 --- a/asm/code_0807B9B8.s +++ b/asm/code_0807B9B8.s @@ -931,8 +931,8 @@ _0807C0D0: .4byte gPaletteBuffer _0807C0D4: .4byte gUsedPalettes _0807C0D8: .4byte 0x000007FF - thumb_func_start sub_0807C0DC -sub_0807C0DC: @ 0x0807C0DC + thumb_func_start LoadRoomGfx +LoadRoomGfx: @ 0x0807C0DC push {r4, r5, r6, r7, lr} mov r7, sb mov r6, r8 @@ -1003,7 +1003,7 @@ _0807C178: movs r3, #1 mov sb, r3 _0807C184: - ldr r0, _0807C1B0 @ =gScreenTransition + ldr r0, _0807C1B0 @ =gRoomTransition adds r0, #0x2d ldrb r0, [r0] cmp r0, #0 @@ -1024,7 +1024,7 @@ _0807C184: bl MemCopy b _0807C26C .align 2, 0 -_0807C1B0: .4byte gScreenTransition +_0807C1B0: .4byte gRoomTransition _0807C1B4: .4byte gMapDataBottom _0807C1B8: .4byte gMapDataTop _0807C1BC: @@ -1710,7 +1710,7 @@ _0807C736: sub_0807C740: @ 0x0807C740 push {r4, r5, lr} bl sub_0807BFD0 - bl sub_0807C0DC + bl LoadRoomGfx ldr r4, _0807C780 @ =gRoomControls ldr r2, [r4, #0x30] cmp r2, #0 @@ -1859,7 +1859,7 @@ _0807C85C: .4byte gUpdateVisibleTiles thumb_func_start sub_0807C860 sub_0807C860: @ 0x0807C860 push {r4, lr} - ldr r0, _0807C88C @ =gScreenTransition + ldr r0, _0807C88C @ =gRoomTransition adds r0, #0x2d movs r1, #1 strb r1, [r0] @@ -1879,23 +1879,23 @@ sub_0807C860: @ 0x0807C860 bl MemCopy pop {r4, pc} .align 2, 0 -_0807C88C: .4byte gScreenTransition +_0807C88C: .4byte gRoomTransition _0807C890: .4byte gMapDataBottom _0807C894: .4byte gMapDataTop thumb_func_start sub_0807C898 sub_0807C898: @ 0x0807C898 push {r4, r5, lr} - ldr r4, _0807C8AC @ =gScreenTransition + ldr r4, _0807C8AC @ =gRoomTransition adds r4, #0x2d movs r5, #0 movs r0, #2 strb r0, [r4] - bl sub_0807C0DC + bl LoadRoomGfx strb r5, [r4] pop {r4, r5, pc} .align 2, 0 -_0807C8AC: .4byte gScreenTransition +_0807C8AC: .4byte gRoomTransition thumb_func_start sub_0807C8B0 sub_0807C8B0: @ 0x0807C8B0 diff --git a/asm/code_0808091C.s b/asm/code_0808091C.s index b89bd1db..c0d02198 100755 --- a/asm/code_0808091C.s +++ b/asm/code_0808091C.s @@ -6,8 +6,8 @@ .text - thumb_func_start sub_08080A40 -sub_08080A40: @ 0x08080A40 + thumb_func_start UpdateDoorTransition +UpdateDoorTransition: @ 0x08080A40 push {r4, r5, r6, r7, lr} ldr r7, _08080A70 @ =gRoomControls ldr r1, [r7, #0x30] @@ -100,7 +100,7 @@ _08080AFA: adds r0, r5, #0 adds r1, r6, #0 bl sub_080002A8 - ldr r1, _08080B48 @ =gScreenTransition + ldr r1, _08080B48 @ =gRoomTransition strh r0, [r1, #0xa] cmp r4, #0x3f beq _08080B50 @@ -112,7 +112,7 @@ _08080AFA: blo _08080B5C b _08080B50 .align 2, 0 -_08080B48: .4byte gScreenTransition +_08080B48: .4byte gRoomTransition _08080B4C: cmp r4, #0xf1 bne _08080B5C @@ -422,7 +422,7 @@ _08080DB4: bl ResolveEntityOnTop b _08080E00 _08080DEE: - ldr r0, _08080E04 @ =gScreenTransition + ldr r0, _08080E04 @ =gRoomTransition ldr r0, [r0] movs r1, #0xf ands r0, r1 @@ -433,4 +433,4 @@ _08080DEE: _08080E00: pop {r4, r5, pc} .align 2, 0 -_08080E04: .4byte gScreenTransition +_08080E04: .4byte gRoomTransition diff --git a/asm/coord.s b/asm/coord.s index 361f5d37..60061063 100644 --- a/asm/coord.s +++ b/asm/coord.s @@ -106,7 +106,7 @@ _0806FBB2: sub_0806FBB4: @ 0x0806FBB4 push {lr} adds r1, r0, #0 - ldr r0, _0806FBD0 @ =gScreenTransition + ldr r0, _0806FBD0 @ =gRoomTransition ldrb r0, [r0, #5] cmp r0, #0 bne _0806FBC8 @@ -120,7 +120,7 @@ _0806FBC8: _0806FBCC: pop {pc} .align 2, 0 -_0806FBD0: .4byte gScreenTransition +_0806FBD0: .4byte gRoomTransition _0806FBD4: .4byte gPlayerState thumb_func_start AllocMutableHitbox diff --git a/asm/enemy/armos.s b/asm/enemy/armos.s index c6f036f6..51aea16b 100644 --- a/asm/enemy/armos.s +++ b/asm/enemy/armos.s @@ -150,7 +150,7 @@ sub_0803026C: @ 0x0803026C str r0, [r2] b _080302BA .align 2, 0 -_080302A8: .4byte gScreenTransition + 0x6c +_080302A8: .4byte gRoomTransition + 0x6c _080302AC: adds r0, r4, #0 adds r0, #0x84 @@ -1014,7 +1014,7 @@ _0803088E: strb r0, [r2] ldr r0, [r5, #0x7c] bl DoExitTransition - ldr r0, _08030938 @ =gScreenTransition + ldr r0, _08030938 @ =gRoomTransition adds r1, r5, #0 adds r1, #0x80 ldrb r1, [r1] @@ -1027,7 +1027,7 @@ _08030928: .4byte gPlayerState _0803092C: .4byte gRoomControls _08030930: .4byte 0x00004049 _08030934: .4byte gPlayerEntity -_08030938: .4byte gScreenTransition +_08030938: .4byte gRoomTransition _0803093C: ldr r0, _0803094C @ =0x00004022 mov r3, r8 diff --git a/asm/enemy/chuchuBoss.s b/asm/enemy/chuchuBoss.s index b2b3b1d9..12f1451d 100644 --- a/asm/enemy/chuchuBoss.s +++ b/asm/enemy/chuchuBoss.s @@ -1333,7 +1333,7 @@ _080266B0: strh r0, [r4, #0x24] b _08026742 _080266D6: - ldr r0, _08026700 @ =gScreenTransition + ldr r0, _08026700 @ =gRoomTransition ldr r0, [r0] movs r1, #0x7f ands r0, r1 @@ -1354,7 +1354,7 @@ _080266EC: lsls r0, r0, #1 b _0802670A .align 2, 0 -_08026700: .4byte gScreenTransition +_08026700: .4byte gRoomTransition _08026704: .4byte gPlayerEntity _08026708: movs r0, #0xc0 @@ -1363,7 +1363,7 @@ _0802670A: ldrb r0, [r4, #0xe] cmp r0, #0 beq _0802672C - ldr r0, _0802674C @ =gScreenTransition + ldr r0, _0802674C @ =gRoomTransition ldr r0, [r0] movs r1, #7 ands r0, r1 @@ -1394,7 +1394,7 @@ _08026748: add sp, #4 pop {r4, r5, pc} .align 2, 0 -_0802674C: .4byte gScreenTransition +_0802674C: .4byte gRoomTransition thumb_func_start sub_08026750 sub_08026750: @ 0x08026750 @@ -2885,7 +2885,7 @@ sub_08027064: @ 0x08027064 ldrb r0, [r0] cmp r0, #0xa beq _08027098 - ldr r0, _080270C8 @ =gScreenTransition + ldr r0, _080270C8 @ =gRoomTransition ldr r0, [r0] movs r1, #0xf ands r0, r1 @@ -2908,7 +2908,7 @@ _08027098: ldrsh r2, [r0, r1] cmp r4, r2 beq _080270E0 - ldr r0, _080270C8 @ =gScreenTransition + ldr r0, _080270C8 @ =gRoomTransition ldr r1, [r0] movs r0, #0xf ands r1, r0 @@ -2919,7 +2919,7 @@ _08027098: strb r1, [r3, #0xc] b _080270D4 .align 2, 0 -_080270C8: .4byte gScreenTransition +_080270C8: .4byte gRoomTransition _080270CC: .4byte gPlayerEntity _080270D0: movs r0, #0x10 diff --git a/asm/enemy/code_080300AC.s b/asm/enemy/code_080300AC.s index 2b7e1ec0..c288eea4 100644 --- a/asm/enemy/code_080300AC.s +++ b/asm/enemy/code_080300AC.s @@ -9,7 +9,7 @@ thumb_func_start sub_080300E8 sub_080300E8: @ 0x080300E8 push {lr} - ldr r1, _08030110 @ =gScreenTransition + ldr r1, _08030110 @ =gRoomTransition adds r3, r1, #0 adds r3, #0xae ldrh r0, [r3] @@ -29,14 +29,14 @@ sub_080300E8: @ 0x080300E8 _0803010C: pop {pc} .align 2, 0 -_08030110: .4byte gScreenTransition +_08030110: .4byte gRoomTransition _08030114: .4byte gPlayerEntity thumb_func_start sub_08030118 sub_08030118: @ 0x08030118 push {lr} adds r2, r0, #0 - ldr r0, _0803013C @ =gScreenTransition + ldr r0, _0803013C @ =gRoomTransition adds r0, #0xac ldrh r0, [r0] asrs r0, r2 @@ -51,7 +51,7 @@ sub_08030118: @ 0x08030118 bl SetLocalFlagByBank b _0803014C .align 2, 0 -_0803013C: .4byte gScreenTransition +_0803013C: .4byte gRoomTransition _08030140: movs r0, #0xc0 lsls r0, r0, #2 @@ -66,7 +66,7 @@ _0803014C: sub_08030150: @ 0x08030150 push {r4, r5, lr} mov ip, r0 - ldr r2, _08030194 @ =gScreenTransition + ldr r2, _08030194 @ =gRoomTransition adds r5, r2, #0 adds r5, #0xac mov r3, ip @@ -98,4 +98,4 @@ sub_08030150: @ 0x08030150 strh r1, [r0] pop {r4, r5, pc} .align 2, 0 -_08030194: .4byte gScreenTransition +_08030194: .4byte gRoomTransition diff --git a/asm/enemy/gleerok.s b/asm/enemy/gleerok.s index bd9d72e9..308afc87 100644 --- a/asm/enemy/gleerok.s +++ b/asm/enemy/gleerok.s @@ -364,7 +364,7 @@ _0802D2D0: movs r2, #0x40 bl sub_0802EA68 _0802D2E4: - ldr r5, _0802D338 @ =gScreenTransition + ldr r5, _0802D338 @ =gRoomTransition ldr r0, [r5] movs r1, #0x1f ands r0, r1 @@ -405,7 +405,7 @@ _0802D32E: _0802D334: pop {r4, r5, pc} .align 2, 0 -_0802D338: .4byte gScreenTransition +_0802D338: .4byte gRoomTransition thumb_func_start sub_0802D33C sub_0802D33C: @ 0x0802D33C @@ -964,7 +964,7 @@ _0802D77A: sub_0802D77C: @ 0x0802D77C push {r4, r5, lr} adds r5, r0, #0 - ldr r0, _0802D7B0 @ =gScreenTransition + ldr r0, _0802D7B0 @ =gRoomTransition ldr r4, [r0] movs r0, #1 ands r4, r0 @@ -988,7 +988,7 @@ sub_0802D77C: @ 0x0802D77C _0802D7AC: pop {r4, r5, pc} .align 2, 0 -_0802D7B0: .4byte gScreenTransition +_0802D7B0: .4byte gRoomTransition thumb_func_start sub_0802D7B4 sub_0802D7B4: @ 0x0802D7B4 @@ -1325,7 +1325,7 @@ _0802D99C: bl DeleteThisEntity b _0802DB7E _0802D9A2: - ldr r0, _0802D9F4 @ =gScreenTransition + ldr r0, _0802D9F4 @ =gRoomTransition ldr r0, [r0] movs r1, #1 ands r0, r1 @@ -1367,9 +1367,9 @@ _0802D9CE: str r1, [r0] b _0802D99C .align 2, 0 -_0802D9F4: .4byte gScreenTransition +_0802D9F4: .4byte gRoomTransition _0802D9F8: - ldr r0, _0802DA50 @ =gScreenTransition + ldr r0, _0802DA50 @ =gRoomTransition ldr r0, [r0] movs r1, #1 ands r0, r1 @@ -1414,7 +1414,7 @@ _0802DA24: str r1, [r0] b _0802D99C .align 2, 0 -_0802DA50: .4byte gScreenTransition +_0802DA50: .4byte gRoomTransition _0802DA54: adds r0, r4, #0 adds r0, #0x74 @@ -2702,7 +2702,7 @@ _0802E400: .align 2, 0 _0802E408: .4byte gPlayerEntity _0802E40C: - ldr r0, _0802E42C @ =gScreenTransition + ldr r0, _0802E42C @ =gRoomTransition ldr r0, [r0] movs r1, #0xf ands r0, r1 @@ -2718,7 +2718,7 @@ _0802E422: _0802E428: pop {r4, r5, r6, pc} .align 2, 0 -_0802E42C: .4byte gScreenTransition +_0802E42C: .4byte gRoomTransition thumb_func_start sub_0802E430 sub_0802E430: @ 0x0802E430 diff --git a/asm/enemy/gyorgChild.s b/asm/enemy/gyorgChild.s index 44b4fa64..4eae2a9a 100644 --- a/asm/enemy/gyorgChild.s +++ b/asm/enemy/gyorgChild.s @@ -11,7 +11,7 @@ GyorgChild: @ 0x08048640 push {r4, r5, lr} adds r5, r0, #0 - ldr r0, _0804867C @ =gScreenTransition + ldr r0, _0804867C @ =gRoomTransition adds r0, #0x39 ldrb r2, [r0] cmp r2, #0 @@ -38,7 +38,7 @@ _08048664: bl _call_via_r1 pop {r4, r5, pc} .align 2, 0 -_0804867C: .4byte gScreenTransition +_0804867C: .4byte gRoomTransition _08048680: .4byte gUnk_080D1E6C thumb_func_start sub_08048684 diff --git a/asm/enemyUtils.s b/asm/enemyUtils.s index 480ab1df..87d302b2 100644 --- a/asm/enemyUtils.s +++ b/asm/enemyUtils.s @@ -162,7 +162,7 @@ _0804A81C: ldrb r0, [r5, #9] cmp r0, #0x37 bne _0804A84A - ldr r0, _0804A85C @ =gScreenTransition + ldr r0, _0804A85C @ =gRoomTransition adds r0, #0x39 ldrb r0, [r0] cmp r0, #0 @@ -175,7 +175,7 @@ _0804A84A: bl DeleteThisEntity b _0804A982 .align 2, 0 -_0804A85C: .4byte gScreenTransition +_0804A85C: .4byte gRoomTransition _0804A860: .4byte 0x80100000 _0804A864: adds r4, r5, #0 diff --git a/asm/enterPortalSubtask.s b/asm/enterPortalSubtask.s index 0f934d58..5a9688cb 100644 --- a/asm/enterPortalSubtask.s +++ b/asm/enterPortalSubtask.s @@ -121,8 +121,8 @@ _0804AC5E: ldrh r0, [r1, #0xc] strh r0, [r2, #0x18] bl FlushSprites - bl sub_080AD9B0 - bl sub_080AD918 + bl DrawEntities + bl CopyOAM ldr r0, _0804AC98 @ =gUnk_02018EB0 ldrb r0, [r0, #0x1b] cmp r0, #0 @@ -248,7 +248,7 @@ sub_0804AD6C: @ 0x0804AD6C push {r4, r5, r6, lr} mov r6, r8 push {r6} - ldr r3, _0804ADD0 @ =gScreenTransition + ldr r3, _0804ADD0 @ =gRoomTransition movs r1, #0 movs r6, #1 strb r6, [r3, #8] @@ -287,12 +287,12 @@ sub_0804AD6C: @ 0x0804AD6C strb r0, [r3, #0xd] mov r0, r8 strb r0, [r3, #0x14] - bl sub_080300AC + bl ClearArmosData bl sub_080300C4 pop {r3} mov r8, r3 pop {r4, r5, r6, pc} .align 2, 0 -_0804ADD0: .4byte gScreenTransition +_0804ADD0: .4byte gRoomTransition _0804ADD4: .4byte gArea _0804ADD8: .4byte gUnk_080D4140 diff --git a/asm/intr.s b/asm/intr.s index e2da5340..4e926b62 100644 --- a/asm/intr.s +++ b/asm/intr.s @@ -835,7 +835,7 @@ _080B23EC: .4byte gUnk_0800464E sub_080B23F0: @ 0x080B23F0 .ifdef EU push {r4, r5, r6, r7, r8, sb, sl, fp, lr} - ldr fp, _080B2A30 @ =gUnk_03000000 + ldr fp, _080B2A30 @ =gOAMControls ldrb r2, [fp, #3] cmp r2, #0x80 bhs _080B19C0EU @@ -885,7 +885,7 @@ sub_080B19C8: @ 0x080B19C8 .else .ifdef DEMO_JP @ TODO deduplicate same as EU push {r4, r5, r6, r7, r8, sb, sl, fp, lr} - ldr fp, _080B2A30 @ =gUnk_03000000 + ldr fp, _080B2A30 @ =gOAMControls ldrb r2, [fp, #3] cmp r2, #0x80 bhs _080B19C0EU @@ -934,7 +934,7 @@ sub_080B19C8: @ 0x080B19C8 b _080B1C40EU .else push {r4, r5, r6, r7, r8, sb, sl, fp, lr} - ldr fp, _080B2A30 @ =gUnk_03000000 + ldr fp, _080B2A30 @ =gOAMControls ldrb r2, [fp, #3] cmp r2, #0x80 bhs _080B2440 @@ -1527,7 +1527,7 @@ sub_080B280C: @ 0x080B280C cmp r2, #0 bxeq lr push {r4, r5, r6, r7, r8, sb, sl, fp, lr} - ldr fp, _080B2A64 @ =gUnk_03000000 + ldr fp, _080B2A64 @ =gOAMControls ldrb r3, [fp, #3] cmp r3, #0x80 bhs _080B286C @@ -1898,7 +1898,7 @@ _080B2144: .4byte gUnk_0300689C .endif -_080B2A30: .4byte gUnk_03000000 +_080B2A30: .4byte gOAMControls .ifdef EU _080B2154: .4byte 0x03006958 @TODO make pointer? .endif @@ -1917,7 +1917,7 @@ _080B2A54: .4byte gUnk_0300694C _080B2A58: .4byte gUnk_020000C0 _080B2A5C: .4byte gFrameObjLists _080B2A60: .4byte gFrameObjLists -_080B2A64: .4byte gUnk_03000000 +_080B2A64: .4byte gOAMControls _080B2A68: .4byte gUnk_0300695C _080B2A6C: .4byte 0x3E003F00 .ifdef EU diff --git a/asm/kinstone.s b/asm/kinstone.s index 0e2026d7..adc9fdf8 100644 --- a/asm/kinstone.s +++ b/asm/kinstone.s @@ -167,7 +167,7 @@ GenerateAreaHint: @ 0x0801862C movs r2, #0 movs r0, #0x16 strb r0, [r1, #0xc] - ldr r5, _08018650 @ =gScreenTransition + ldr r5, _08018650 @ =gRoomTransition adds r0, r5, #0 .ifdef JP adds r0, #0x34 @@ -188,7 +188,7 @@ GenerateAreaHint: @ 0x0801862C b _0801868C .align 2, 0 _0801864C: .4byte gPlayerState -_08018650: .4byte gScreenTransition +_08018650: .4byte gRoomTransition _08018654: .4byte gUnk_02033AB8 _08018658: ldrb r0, [r4, #2] diff --git a/asm/non_matching/color/sub_0801D000.inc b/asm/non_matching/color/sub_0801D000.inc index 5fb7e436..e4f3e757 100644 --- a/asm/non_matching/color/sub_0801D000.inc +++ b/asm/non_matching/color/sub_0801D000.inc @@ -1,7 +1,7 @@ .syntax unified push {lr} adds r2, r0, #0 - ldr r0, _0801D024 @ =gScreenTransition + ldr r0, _0801D024 @ =gRoomTransition movs r1, #0 cmp r2, #0 beq _0801D00E @@ -16,7 +16,7 @@ _0801D00E: bl sub_0801CFD0 b _0801D03A .align 2, 0 -_0801D024: .4byte gScreenTransition +_0801D024: .4byte gRoomTransition _0801D028: ldr r3, _0801D03C @ =gUnk_02001A3C ldrb r1, [r3] diff --git a/asm/non_matching/common/DrawDungeonMap.inc b/asm/non_matching/common/DrawDungeonMap.inc index 8d218546..d71568a1 100644 --- a/asm/non_matching/common/DrawDungeonMap.inc +++ b/asm/non_matching/common/DrawDungeonMap.inc @@ -11,7 +11,7 @@ bl MemClear movs r0, #1 strb r0, [r5] - ldr r2, _0801DBE4 @ =gScreenTransition + ldr r2, _0801DBE4 @ =gRoomTransition ldrh r0, [r2, #0x1c] lsrs r0, r0, #4 movs r1, #0x7f @@ -33,7 +33,7 @@ ldr r6, [r4] b _0801DD3A .align 2, 0 -_0801DBE4: .4byte gScreenTransition +_0801DBE4: .4byte gRoomTransition _0801DBE8: .4byte gUnk_080C9C50 _0801DBEC: .4byte gArea _0801DBF0: @@ -184,7 +184,7 @@ _0801DCF8: strb r0, [r5, #2] adds r5, #3 _0801DD16: - ldr r2, _0801DD54 @ =gScreenTransition + ldr r2, _0801DD54 @ =gRoomTransition ldrh r0, [r6] ldrh r1, [r2, #0x16] cmp r0, r1 @@ -217,5 +217,5 @@ _0801DD42: .align 2, 0 _0801DD4C: .4byte gArea _0801DD50: .4byte gAreaRoomHeaders -_0801DD54: .4byte gScreenTransition +_0801DD54: .4byte gRoomTransition .syntax divided diff --git a/asm/non_matching/eu/HandlePlayerLife.inc b/asm/non_matching/eu/HandlePlayerLife.inc index c1f4727b..3054b708 100644 --- a/asm/non_matching/eu/HandlePlayerLife.inc +++ b/asm/non_matching/eu/HandlePlayerLife.inc @@ -111,7 +111,7 @@ _08017112: ldrb r0, [r0, #1] cmp r0, #0 bne _0801714E - ldr r0, _08017168 @ =gScreenTransition + ldr r0, _08017168 @ =gRoomTransition ldr r0, [r0] movs r1, #0x5a bl __modsi3 @@ -150,7 +150,7 @@ _0801714E: .align 2, 0 _08017160: .4byte gMessage _08017164: .4byte gUnk_0200AF00 -_08017168: .4byte gScreenTransition +_08017168: .4byte gRoomTransition _0801716C: .4byte gSave _08017170: .4byte 0x0000011F _08017174: diff --git a/asm/non_matching/eu/sub_08057A18.inc b/asm/non_matching/eu/sub_08057A18.inc index 3787ba7e..e5c40648 100644 --- a/asm/non_matching/eu/sub_08057A18.inc +++ b/asm/non_matching/eu/sub_08057A18.inc @@ -11,7 +11,7 @@ ldr r3, _080575EC @ =gRoomControls ldrb r0, [r3, #4] strb r0, [r5, #9] - ldr r1, _080575F0 @ =gScreenTransition + ldr r1, _080575F0 @ =gRoomTransition ldrb r0, [r4, #4] strb r0, [r1, #0xc] ldrb r0, [r4, #5] @@ -51,6 +51,6 @@ .align 2, 0 _080575E8: .4byte gUnk_03004030 _080575EC: .4byte gRoomControls -_080575F0: .4byte gScreenTransition +_080575F0: .4byte gRoomTransition _080575F4: .4byte gPlayerEntity .syntax divided diff --git a/asm/non_matching/guardWithSpear/sub_08064198.inc b/asm/non_matching/guardWithSpear/sub_08064198.inc index 40e2c114..89fc6a7f 100644 --- a/asm/non_matching/guardWithSpear/sub_08064198.inc +++ b/asm/non_matching/guardWithSpear/sub_08064198.inc @@ -63,7 +63,7 @@ _080641E6: lsls r0, r0, #1 cmp r1, r0 ble _08064222 - ldr r0, _080642B4 @ =gScreenTransition + ldr r0, _080642B4 @ =gRoomTransition ldr r0, [r0] movs r1, #6 bl __modsi3 @@ -140,5 +140,5 @@ _080642AC: pop {r4, r5, r6, pc} .align 2, 0 _080642B0: .4byte gPlayerEntity -_080642B4: .4byte gScreenTransition +_080642B4: .4byte gRoomTransition .syntax divided diff --git a/asm/non_matching/guardWithSpear/sub_080642B8.inc b/asm/non_matching/guardWithSpear/sub_080642B8.inc index 108c643e..cf29a63e 100644 --- a/asm/non_matching/guardWithSpear/sub_080642B8.inc +++ b/asm/non_matching/guardWithSpear/sub_080642B8.inc @@ -63,7 +63,7 @@ _08064306: lsls r0, r0, #1 cmp r1, r0 ble _08064342 - ldr r0, _080643D4 @ =gScreenTransition + ldr r0, _080643D4 @ =gRoomTransition ldr r0, [r0] movs r1, #6 bl __modsi3 @@ -140,5 +140,5 @@ _080643CC: pop {r4, r5, r6, pc} .align 2, 0 _080643D0: .4byte gPlayerEntity -_080643D4: .4byte gScreenTransition +_080643D4: .4byte gRoomTransition .syntax divided diff --git a/asm/non_matching/itemSword/sub_08075900.inc b/asm/non_matching/itemSword/sub_08075900.inc index bf48f659..d10ea4ab 100644 --- a/asm/non_matching/itemSword/sub_08075900.inc +++ b/asm/non_matching/itemSword/sub_08075900.inc @@ -55,7 +55,7 @@ _08075962: lsls r0, r0, #2 strh r0, [r4, #0x24] bl UpdatePlayerMovement - ldr r0, _08075994 @ =gScreenTransition + ldr r0, _08075994 @ =gRoomTransition ldr r0, [r0] movs r1, #3 ands r0, r1 @@ -68,7 +68,7 @@ _08075962: b _080759B2 .align 2, 0 _08075990: .4byte gPlayerEntity -_08075994: .4byte gScreenTransition +_08075994: .4byte gRoomTransition _08075998: ldrb r1, [r4, #0xe] adds r0, r2, #0 diff --git a/asm/non_matching/manager1/sub_080573AC.inc b/asm/non_matching/manager1/sub_080573AC.inc index e38472fe..fe845fce 100644 --- a/asm/non_matching/manager1/sub_080573AC.inc +++ b/asm/non_matching/manager1/sub_080573AC.inc @@ -28,7 +28,7 @@ adds r0, r0, r2 strh r0, [r5, #0x30] ldr r2, _08057444 @ =gSineTable - ldr r4, _08057448 @ =gScreenTransition + ldr r4, _08057448 @ =gRoomTransition ldr r1, [r4] ldrb r0, [r4] adds r0, #0x40 @@ -72,6 +72,6 @@ _08057438: .4byte 0xFFFFE000 _0805743C: .4byte 0xFFFFF000 _08057440: .4byte gScreen _08057444: .4byte gSineTable -_08057448: .4byte gScreenTransition +_08057448: .4byte gRoomTransition _0805744C: .4byte gUnk_08107C30 .syntax divided diff --git a/asm/non_matching/manager1/sub_08057450.inc b/asm/non_matching/manager1/sub_08057450.inc index 62143543..2ce93081 100644 --- a/asm/non_matching/manager1/sub_08057450.inc +++ b/asm/non_matching/manager1/sub_08057450.inc @@ -33,7 +33,7 @@ _0805748A: adds r0, r3, #0 adds r0, #0x22 ldrb r0, [r0] - ldr r5, _08057510 @ =gScreenTransition + ldr r5, _08057510 @ =gRoomTransition cmp r0, #0 bne _080574BE ldr r0, [r5] @@ -96,7 +96,7 @@ _08057502: _08057504: .4byte gScreen _08057508: .4byte gRoomControls _0805750C: .4byte gBG3Buffer -_08057510: .4byte gScreenTransition +_08057510: .4byte gRoomTransition _08057514: .4byte gUnk_08107C30 _08057518: .4byte gUnk_085B4180 .syntax divided diff --git a/asm/non_matching/manager22/Manager22_Main.inc b/asm/non_matching/manager22/Manager22_Main.inc index 2c07a5d9..7ff6c934 100644 --- a/asm/non_matching/manager22/Manager22_Main.inc +++ b/asm/non_matching/manager22/Manager22_Main.inc @@ -121,7 +121,7 @@ _0805B9EC: .4byte 0x0000DFFF _0805B9F0: .4byte gPlayerState _0805B9F4: .4byte gArea _0805B9F8: - ldr r0, _0805BA24 @ =gScreenTransition + ldr r0, _0805BA24 @ =gRoomTransition ldr r0, [r0] movs r1, #3 ands r0, r1 @@ -142,7 +142,7 @@ _0805B9F8: bl sub_0801E154 b _0805BA42 .align 2, 0 -_0805BA24: .4byte gScreenTransition +_0805BA24: .4byte gRoomTransition _0805BA28: .4byte gSineTable _0805BA2C: movs r0, #0 diff --git a/asm/non_matching/picolyteBottles/sub_0806E140.inc b/asm/non_matching/picolyteBottles/sub_0806E140.inc index e67e3237..019b2b3d 100644 --- a/asm/non_matching/picolyteBottles/sub_0806E140.inc +++ b/asm/non_matching/picolyteBottles/sub_0806E140.inc @@ -62,7 +62,7 @@ _0806E1AC: ldr r0, _0806E1D4 @ =0x0000421C bl MessageFromTarget _0806E1C0: - ldr r1, _0806E1D8 @ =gScreenTransition + ldr r1, _0806E1D8 @ =gRoomTransition ldrh r0, [r4] strh r0, [r1, #6] ldr r2, _0806E1DC @ =gActiveScriptInfo @@ -73,6 +73,6 @@ _0806E1C0: pop {r4, r5, pc} .align 2, 0 _0806E1D4: .4byte 0x0000421C -_0806E1D8: .4byte gScreenTransition +_0806E1D8: .4byte gRoomTransition _0806E1DC: .4byte gActiveScriptInfo .syntax divided diff --git a/asm/non_matching/player/PlayerNormal.inc b/asm/non_matching/player/PlayerNormal.inc index 7cf020f9..fb4b93a2 100644 --- a/asm/non_matching/player/PlayerNormal.inc +++ b/asm/non_matching/player/PlayerNormal.inc @@ -529,7 +529,7 @@ _08070BC8: ldrb r0, [r0] cmp r0, #0 beq _08070BE4 - ldr r0, _08070BE8 @ =gScreenTransition + ldr r0, _08070BE8 @ =gRoomTransition ldr r0, [r0] movs r1, #7 ands r0, r1 @@ -540,5 +540,5 @@ _08070BC8: _08070BE4: pop {r4, r5, r6, r7, pc} .align 2, 0 -_08070BE8: .4byte gScreenTransition +_08070BE8: .4byte gRoomTransition .syntax divided diff --git a/asm/non_matching/player/sub_08074678.inc b/asm/non_matching/player/sub_08074678.inc index 3a3206b0..24b96bf6 100644 --- a/asm/non_matching/player/sub_08074678.inc +++ b/asm/non_matching/player/sub_08074678.inc @@ -85,7 +85,7 @@ _08074714: .align 2, 0 _0807471C: .4byte 0x00000161 _08074720: - ldr r0, _08074760 @ =gScreenTransition + ldr r0, _08074760 @ =gRoomTransition ldr r0, [r0] movs r1, #0xf ands r0, r1 @@ -118,7 +118,7 @@ _08074732: strb r0, [r1] b _08074792 .align 2, 0 -_08074760: .4byte gScreenTransition +_08074760: .4byte gRoomTransition _08074764: .4byte 0x00000161 _08074768: .4byte gPlayerState _0807476C: diff --git a/asm/non_matching/playerItemSword/sub_080A78B8.inc b/asm/non_matching/playerItemSword/sub_080A78B8.inc index c4d52960..e2ea0ab8 100644 --- a/asm/non_matching/playerItemSword/sub_080A78B8.inc +++ b/asm/non_matching/playerItemSword/sub_080A78B8.inc @@ -13,7 +13,7 @@ ldrb r0, [r6, #0x1e] subs r0, #0x6a strb r0, [r4, #0x1e] - ldr r0, _080A78EC @ =gScreenTransition + ldr r0, _080A78EC @ =gRoomTransition ldr r0, [r0] movs r1, #4 ands r0, r1 @@ -25,7 +25,7 @@ b _080A78F2 .align 2, 0 _080A78E8: .4byte gPlayerState -_080A78EC: .4byte gScreenTransition +_080A78EC: .4byte gRoomTransition _080A78F0: ldrb r1, [r4, #0x1e] _080A78F2: diff --git a/asm/non_matching/rem/sub_0806A674.inc b/asm/non_matching/rem/sub_0806A674.inc index d95609e6..21b97e01 100644 --- a/asm/non_matching/rem/sub_0806A674.inc +++ b/asm/non_matching/rem/sub_0806A674.inc @@ -89,7 +89,7 @@ _0806A6E4: strb r1, [r0] b _0806A75A _0806A724: - ldr r0, _0806A780 @ =gScreenTransition + ldr r0, _0806A780 @ =gRoomTransition ldr r0, [r0] movs r1, #3 ands r0, r1 @@ -137,9 +137,9 @@ _0806A75A: strb r1, [r0] b _0806A82A .align 2, 0 -_0806A780: .4byte gScreenTransition +_0806A780: .4byte gRoomTransition _0806A784: - ldr r0, _0806A7C4 @ =gScreenTransition + ldr r0, _0806A7C4 @ =gRoomTransition ldr r0, [r0] lsrs r0, r0, #4 movs r1, #3 @@ -174,7 +174,7 @@ _0806A7BA: strb r0, [r3] b _0806A82A .align 2, 0 -_0806A7C4: .4byte gScreenTransition +_0806A7C4: .4byte gRoomTransition _0806A7C8: adds r2, r4, #0 adds r2, #0x29 diff --git a/asm/non_matching/sub_0804C258.inc b/asm/non_matching/sub_0804C258.inc index f0ef6329..46510ccd 100644 --- a/asm/non_matching/sub_0804C258.inc +++ b/asm/non_matching/sub_0804C258.inc @@ -10,7 +10,7 @@ movs r0, #0xf ands r2, r0 strb r2, [r3, #0xd] - ldr r0, _0804C28C @ =gScreenTransition + ldr r0, _0804C28C @ =gRoomTransition ldrb r0, [r0, #0xe] cmp r0, #4 bne _0804C284 @@ -24,5 +24,5 @@ _0804C284: pop {pc} .align 2, 0 _0804C288: .4byte gArea -_0804C28C: .4byte gScreenTransition +_0804C28C: .4byte gRoomTransition .syntax divided diff --git a/asm/non_matching/sub_08054524.inc b/asm/non_matching/sub_08054524.inc index 90a65e1f..79c2b1a1 100644 --- a/asm/non_matching/sub_08054524.inc +++ b/asm/non_matching/sub_08054524.inc @@ -4,7 +4,7 @@ ldrb r1, [r0, #1] cmp r1, #0 bne _08054534 - ldr r0, _08054554 @ =gScreenTransition + ldr r0, _08054554 @ =gRoomTransition adds r0, #0x2e ldrb r1, [r0] _08054534: @@ -24,7 +24,7 @@ _0805453A: pop {pc} .align 2, 0 _08054550: .4byte gArea -_08054554: .4byte gScreenTransition +_08054554: .4byte gRoomTransition _08054558: .4byte gUnk_080FE1C6 _0805455C: .4byte gUnk_080015BC _08054560: .4byte gUnk_02034398 diff --git a/asm/non_matching/sub_0805EC9C.inc b/asm/non_matching/sub_0805EC9C.inc index 7c876fec..ae3e7a77 100644 --- a/asm/non_matching/sub_0805EC9C.inc +++ b/asm/non_matching/sub_0805EC9C.inc @@ -16,7 +16,7 @@ movs r0, #0 b _0805ECE0 _0805ECBE: - ldr r1, _0805ECE4 @ =gUnk_03000000 + ldr r1, _0805ECE4 @ =gOAMControls ldr r0, _0805ECE8 @ =0x00000427 adds r2, r1, r0 movs r0, #1 @@ -36,6 +36,6 @@ _0805ECBE: _0805ECE0: pop {r4, r5, r6, r7, pc} .align 2, 0 -_0805ECE4: .4byte gUnk_03000000 +_0805ECE4: .4byte gOAMControls _0805ECE8: .4byte 0x00000427 .syntax divided diff --git a/asm/non_matching/sub_unk3_HyruleTown_0.inc b/asm/non_matching/sub_unk3_HyruleTown_0.inc index b2cdc19e..0dc72abe 100644 --- a/asm/non_matching/sub_unk3_HyruleTown_0.inc +++ b/asm/non_matching/sub_unk3_HyruleTown_0.inc @@ -52,7 +52,7 @@ _0804DE5C: movs r0, #0x15 strb r0, [r1, #4] strb r2, [r1, #5] - bl sub_08052CFC + bl InitRoom ldr r0, [r4] movs r1, #0x98 lsls r1, r1, #1 @@ -60,7 +60,7 @@ _0804DE5C: strh r5, [r0, #4] ldr r0, [r4] strh r6, [r0, #6] - ldr r1, _0804DEC0 @ =gScreenTransition + ldr r1, _0804DEC0 @ =gRoomTransition ldr r0, [r4] ldrh r0, [r0] lsrs r0, r0, #1 @@ -92,7 +92,7 @@ _0804DE5C: _0804DEB4: .4byte gArea _0804DEB8: .4byte 0x0000085C _0804DEBC: .4byte gRoomControls -_0804DEC0: .4byte gScreenTransition +_0804DEC0: .4byte gRoomTransition _0804DEC4: movs r0, #6 movs r1, #0x10 diff --git a/asm/non_matching/vaati/sub_08043770.inc b/asm/non_matching/vaati/sub_08043770.inc index 7858154d..b053185b 100644 --- a/asm/non_matching/vaati/sub_08043770.inc +++ b/asm/non_matching/vaati/sub_08043770.inc @@ -10,7 +10,7 @@ bne _080437D8 ldr r0, [r2, #0x64] ldr r3, [r0, #0x14] - ldr r0, _080437AC @ =gScreenTransition + ldr r0, _080437AC @ =gRoomTransition adds r5, r0, #0 adds r5, #0x39 ldrb r1, [r5] @@ -30,7 +30,7 @@ _0804379A: movs r0, #0xfe b _080437B8 .align 2, 0 -_080437AC: .4byte gScreenTransition +_080437AC: .4byte gRoomTransition _080437B0: ldr r0, [r3, #0x64] str r4, [r0, #0x18] diff --git a/asm/non_matching/vram/sub_080AD918.inc b/asm/non_matching/vram/sub_080AD918.inc index 6b2c5705..d9213f65 100644 --- a/asm/non_matching/vram/sub_080AD918.inc +++ b/asm/non_matching/vram/sub_080AD918.inc @@ -5,7 +5,7 @@ adds r2, r0, #0 cmp r2, #0 bne _080AD958 - ldr r1, _080AD94C @ =gUnk_03000000 + ldr r1, _080AD94C @ =gOAMControls movs r3, #0xa4 lsls r3, r3, #3 adds r0, r1, r3 @@ -24,13 +24,13 @@ b _080AD95E .align 2, 0 _080AD948: .4byte gMain -_080AD94C: .4byte gUnk_03000000 +_080AD94C: .4byte gOAMControls _080AD950: .4byte 0x00000664 _080AD954: .4byte 0x000008EC _080AD958: subs r0, #1 strb r0, [r1, #0xb] - ldr r4, _080AD9A8 @ =gUnk_03000000 + ldr r4, _080AD9A8 @ =gOAMControls _080AD95E: ldrb r1, [r4, #3] movs r0, #0x80 @@ -71,6 +71,6 @@ _080AD9A0: strb r0, [r4] pop {r4, pc} .align 2, 0 -_080AD9A8: .4byte gUnk_03000000 +_080AD9A8: .4byte gOAMControls _080AD9AC: .4byte 0x00000427 .syntax divided diff --git a/asm/object/bigBarrel.s b/asm/object/bigBarrel.s index 237d053a..f22fefa0 100644 --- a/asm/object/bigBarrel.s +++ b/asm/object/bigBarrel.s @@ -586,7 +586,7 @@ _08088E94: .align 2, 0 _08088EB0: .4byte gRoomVars _08088EB4: - ldr r0, _08088F18 @ =gScreenTransition + ldr r0, _08088F18 @ =gRoomTransition ldr r0, [r0] movs r1, #7 ands r0, r1 @@ -635,7 +635,7 @@ _08088EB4: _08088F14: pop {r4, pc} .align 2, 0 -_08088F18: .4byte gScreenTransition +_08088F18: .4byte gRoomTransition _08088F1C: .4byte gUnk_08120C52 thumb_func_start sub_08088F20 diff --git a/asm/object/bossDoor.s b/asm/object/bossDoor.s index 44e5991b..0f95c9f3 100644 --- a/asm/object/bossDoor.s +++ b/asm/object/bossDoor.s @@ -196,7 +196,7 @@ sub_0808C348: @ 0x0808C348 ands r0, r1 cmp r0, #0 bne _0808C37C - ldr r0, _0808C374 @ =gScreenTransition + ldr r0, _0808C374 @ =gRoomTransition ldr r0, [r0] movs r1, #3 ands r0, r1 @@ -209,7 +209,7 @@ _0808C36A: bl GetNextFrame b _0808C382 .align 2, 0 -_0808C374: .4byte gScreenTransition +_0808C374: .4byte gRoomTransition _0808C378: .4byte 0x00000185 _0808C37C: adds r0, r4, #0 diff --git a/asm/object/gyorgBossObject.s b/asm/object/gyorgBossObject.s index 92dafc65..4066ef56 100644 --- a/asm/object/gyorgBossObject.s +++ b/asm/object/gyorgBossObject.s @@ -135,7 +135,7 @@ _080A0F5A: strh r1, [r0] adds r0, #2 strh r1, [r0] - ldr r0, _080A1060 @ =gScreenTransition + ldr r0, _080A1060 @ =gRoomTransition adds r0, #0x39 mov r2, sb strb r2, [r0] @@ -165,7 +165,7 @@ _080A1050: .4byte gEntCount _080A1054: .4byte gRoomControls _080A1058: .4byte gScreen _080A105C: .4byte 0x00001E07 -_080A1060: .4byte gScreenTransition +_080A1060: .4byte gRoomTransition _080A1064: .4byte gPlayerState .else @@ -274,7 +274,7 @@ _080A171E: strh r1, [r0] adds r0, #2 strh r1, [r0] - ldr r0, _080A1838 @ =gScreenTransition + ldr r0, _080A1838 @ =gRoomTransition adds r0, #0x39 mov r2, sb strb r2, [r0] @@ -314,7 +314,7 @@ _080A1828: .4byte gEntCount _080A182C: .4byte gRoomControls _080A1830: .4byte gScreen _080A1834: .4byte 0x00001E07 -_080A1838: .4byte gScreenTransition +_080A1838: .4byte gRoomTransition _080A183C: .4byte gPlayerState _080A1840: .4byte 0x80100000 _080A1844: .4byte gArea @@ -740,7 +740,7 @@ sub_080A1B4C: @ 0x080A1B4C _080A1B80: movs r6, #0 strh r7, [r5] - ldr r0, _080A1BF0 @ =gScreenTransition + ldr r0, _080A1BF0 @ =gRoomTransition adds r0, #0x39 strb r6, [r0] bl sub_08079F8C @@ -792,7 +792,7 @@ _080A1BD0: strh r0, [r2, #0x18] pop {r4, r5, r6, r7, pc} .align 2, 0 -_080A1BF0: .4byte gScreenTransition +_080A1BF0: .4byte gRoomTransition _080A1BF4: .4byte gPlayerEntity _080A1BF8: .4byte gPlayerState _080A1BFC: .4byte 0xFFFDFFFF diff --git a/asm/object/lilypadLarge.s b/asm/object/lilypadLarge.s index e2e96fc6..c178744a 100644 --- a/asm/object/lilypadLarge.s +++ b/asm/object/lilypadLarge.s @@ -417,7 +417,7 @@ _080857F6: _08085806: str r1, [r7, #0x6c] _08085808: - ldr r0, _080858B0 @ =gScreenTransition + ldr r0, _080858B0 @ =gRoomTransition ldr r0, [r0] movs r1, #0xf ands r0, r1 @@ -495,7 +495,7 @@ _08085884: .align 2, 0 _080858A8: .4byte gSineTable _080858AC: .4byte 0xFFFF0000 -_080858B0: .4byte gScreenTransition +_080858B0: .4byte gRoomTransition _080858B4: .4byte 0x00000FFF _080858B8: movs r0, #0 @@ -679,7 +679,7 @@ _080859E6: bl sub_08085D60 b _08085A0A _080859F4: - ldr r0, _08085A18 @ =gScreenTransition + ldr r0, _08085A18 @ =gRoomTransition ldr r0, [r0] movs r1, #0x1f ands r0, r1 @@ -696,7 +696,7 @@ _08085A0A: mov r8, r3 pop {r4, r5, r6, r7, pc} .align 2, 0 -_08085A18: .4byte gScreenTransition +_08085A18: .4byte gRoomTransition thumb_func_start sub_08085A1C sub_08085A1C: @ 0x08085A1C diff --git a/asm/object/mazaalBossObject.s b/asm/object/mazaalBossObject.s index 1a02086b..ffe7e4a1 100644 --- a/asm/object/mazaalBossObject.s +++ b/asm/object/mazaalBossObject.s @@ -44,7 +44,7 @@ _0809AB22: adds r1, r4, #0 bl CopyPosition str r4, [r5, #0x54] - ldr r2, _0809AB68 @ =gScreenTransition + ldr r2, _0809AB68 @ =gRoomTransition adds r0, r2, #0 adds r0, #0x38 ldrb r1, [r0] @@ -67,7 +67,7 @@ _0809AB52: bl sub_080809D4 b _0809AB9C .align 2, 0 -_0809AB68: .4byte gScreenTransition +_0809AB68: .4byte gRoomTransition _0809AB6C: .4byte gRoomControls _0809AB70: movs r0, #1 @@ -253,7 +253,7 @@ sub_0809ACA0: @ 0x0809ACA0 ldr r1, [r2, #0x54] movs r0, #6 strb r0, [r1, #0xd] - ldr r0, _0809ACC8 @ =gScreenTransition + ldr r0, _0809ACC8 @ =gRoomTransition adds r0, #0x38 movs r1, #0xf1 strb r1, [r0] @@ -262,7 +262,7 @@ sub_0809ACA0: @ 0x0809ACA0 _0809ACC4: pop {pc} .align 2, 0 -_0809ACC8: .4byte gScreenTransition +_0809ACC8: .4byte gRoomTransition thumb_func_start sub_0809ACCC sub_0809ACCC: @ 0x0809ACCC diff --git a/asm/object/object17.s b/asm/object/object17.s index 23b434a2..2dee5055 100644 --- a/asm/object/object17.s +++ b/asm/object/object17.s @@ -84,7 +84,7 @@ sub_08086234: @ 0x08086234 ldrb r0, [r4, #0xa] cmp r0, #0 beq _08086258 - ldr r0, _08086254 @ =gScreenTransition + ldr r0, _08086254 @ =gRoomTransition ldr r0, [r0] movs r1, #1 ands r0, r1 @@ -94,7 +94,7 @@ sub_08086234: @ 0x08086234 bl GetNextFrame b _0808625E .align 2, 0 -_08086254: .4byte gScreenTransition +_08086254: .4byte gRoomTransition _08086258: adds r0, r4, #0 bl GetNextFrame diff --git a/asm/object/object3D.s b/asm/object/object3D.s index 3a81976a..c04687c7 100644 --- a/asm/object/object3D.s +++ b/asm/object/object3D.s @@ -88,7 +88,7 @@ _0808CF82: strh r1, [r0] bl sub_0808D030 movs r0, #0 - bl sub_0801CFA8 + bl ResetPaletteTable bl ResetPalettes ldr r0, _0808D024 @ =gGFXSlots movs r6, #1 @@ -180,14 +180,14 @@ _0808D046: subs r5, #1 cmp r5, #0 bne _0808D046 - ldr r1, _0808D060 @ =gUnk_03000000 + ldr r1, _0808D060 @ =gOAMControls movs r0, #1 strb r0, [r1] pop {r4, r5, pc} .align 2, 0 _0808D058: .4byte gUnk_03000020 _0808D05C: .4byte 0x00000B74 -_0808D060: .4byte gUnk_03000000 +_0808D060: .4byte gOAMControls thumb_func_start sub_0808D064 sub_0808D064: @ 0x0808D064 diff --git a/asm/object/object3E.s b/asm/object/object3E.s index 2345a89d..e40bcee1 100644 --- a/asm/object/object3E.s +++ b/asm/object/object3E.s @@ -171,7 +171,7 @@ _0808D1AE: _0808D1F4: .4byte 0x00004069 _0808D1F8: .4byte gRoomControls _0808D1FC: - ldr r0, _0808D274 @ =gScreenTransition + ldr r0, _0808D274 @ =gRoomTransition ldr r3, [r0] movs r0, #3 ands r3, r0 @@ -233,7 +233,7 @@ _0808D24E: _0808D272: pop {r4, r5, r6, pc} .align 2, 0 -_0808D274: .4byte gScreenTransition +_0808D274: .4byte gRoomTransition _0808D278: .4byte gScreen _0808D27C: .4byte gUnk_08121704 @@ -339,7 +339,7 @@ _0808D31C: ldrsh r0, [r4, r1] cmp r5, r0 beq _0808D350 - ldr r0, _0808D358 @ =gScreenTransition + ldr r0, _0808D358 @ =gRoomTransition ldr r0, [r0] movs r1, #8 ands r0, r1 @@ -351,7 +351,7 @@ _0808D350: pop {r4, r5, pc} .align 2, 0 _0808D354: .4byte gRoomControls -_0808D358: .4byte gScreenTransition +_0808D358: .4byte gRoomTransition _0808D35C: .4byte 0x0000010F thumb_func_start sub_0808D360 @@ -585,7 +585,7 @@ _0808D514: .4byte 0x00004069 sub_0808D518: @ 0x0808D518 push {r4, r5, r6, lr} adds r5, r0, #0 - ldr r0, _0808D58C @ =gScreenTransition + ldr r0, _0808D58C @ =gRoomTransition ldr r2, [r0] movs r0, #3 ands r2, r0 @@ -642,7 +642,7 @@ sub_0808D518: @ 0x0808D518 _0808D58A: pop {r4, r5, r6, pc} .align 2, 0 -_0808D58C: .4byte gScreenTransition +_0808D58C: .4byte gRoomTransition _0808D590: .4byte gScreen _0808D594: .4byte 0x00004069 _0808D598: .4byte gRoomControls diff --git a/asm/object/object43.s b/asm/object/object43.s index 7ad10e72..24d96cfa 100644 --- a/asm/object/object43.s +++ b/asm/object/object43.s @@ -240,7 +240,7 @@ _0808E084: ldrh r0, [r5] cmp r0, #0 beq _0808E0BC - ldr r0, _0808E0B8 @ =gScreenTransition + ldr r0, _0808E0B8 @ =gRoomTransition ldr r1, [r0] movs r0, #0x1f ands r1, r0 @@ -260,7 +260,7 @@ _0808E084: strb r1, [r0] b _0808E0E4 .align 2, 0 -_0808E0B8: .4byte gScreenTransition +_0808E0B8: .4byte gRoomTransition _0808E0BC: ldr r0, _0808E140 @ =0x00000115 bl EnqueueSFX @@ -446,7 +446,7 @@ sub_0808E208: @ 0x0808E208 ldrb r0, [r0, #0x1b] cmp r0, #0 beq _0808E248 - ldr r0, _0808E244 @ =gScreenTransition + ldr r0, _0808E244 @ =gRoomTransition ldr r0, [r0] movs r1, #3 ands r0, r1 @@ -464,7 +464,7 @@ sub_0808E208: @ 0x0808E208 b _0808E24C .align 2, 0 _0808E240: .4byte gPlayerState -_0808E244: .4byte gScreenTransition +_0808E244: .4byte gRoomTransition _0808E248: bl DeleteThisEntity _0808E24C: diff --git a/asm/object/object8E.s b/asm/object/object8E.s index 94969da8..16e40405 100644 --- a/asm/object/object8E.s +++ b/asm/object/object8E.s @@ -90,7 +90,7 @@ _0809B8D8: ldrb r0, [r4, #0xf] cmp r0, #0x1f bhi _0809B914 - ldr r5, _0809B90C @ =gScreenTransition + ldr r5, _0809B90C @ =gRoomTransition ldr r0, [r5] movs r1, #0x1f ands r0, r1 @@ -113,7 +113,7 @@ _0809B8F0: bl sub_0809B97C b _0809B972 .align 2, 0 -_0809B90C: .4byte gScreenTransition +_0809B90C: .4byte gRoomTransition _0809B910: .4byte 0x00000133 _0809B914: movs r0, #2 @@ -273,7 +273,7 @@ _0809BA40: ldrb r0, [r4, #0xf] cmp r0, #0 beq _0809BA7C - ldr r5, _0809BA74 @ =gScreenTransition + ldr r5, _0809BA74 @ =gRoomTransition ldr r0, [r5] movs r1, #0x1f ands r0, r1 @@ -296,7 +296,7 @@ _0809BA58: bl sub_0809B97C b _0809BAC2 .align 2, 0 -_0809BA74: .4byte gScreenTransition +_0809BA74: .4byte gRoomTransition _0809BA78: .4byte 0x00000133 _0809BA7C: movs r0, #2 @@ -436,7 +436,7 @@ _0809BB88: ldrh r0, [r5] cmp r0, #0xdf bhi _0809BBC4 - ldr r4, _0809BBBC @ =gScreenTransition + ldr r4, _0809BBBC @ =gRoomTransition ldr r0, [r4] movs r1, #0x1f ands r0, r1 @@ -456,7 +456,7 @@ _0809BBA6: b _0809BC68 .align 2, 0 _0809BBB8: .4byte gScreen -_0809BBBC: .4byte gScreenTransition +_0809BBBC: .4byte gRoomTransition _0809BBC0: .4byte 0x00000133 _0809BBC4: movs r0, #2 @@ -631,7 +631,7 @@ _0809BD20: ldrb r0, [r4, #0xd] cmp r0, #0 beq _0809BD64 - ldr r6, _0809BD58 @ =gScreenTransition + ldr r6, _0809BD58 @ =gRoomTransition ldr r0, [r6] movs r1, #0x1f ands r0, r1 @@ -656,7 +656,7 @@ _0809BD38: strh r0, [r1] b _0809BDAE .align 2, 0 -_0809BD58: .4byte gScreenTransition +_0809BD58: .4byte gRoomTransition _0809BD5C: .4byte 0x00000133 _0809BD60: .4byte gScreen _0809BD64: @@ -753,7 +753,7 @@ _0809BE0C: lsls r0, r0, #0x18 cmp r0, #0 beq _0809BE34 - ldr r0, _0809BE2C @ =gScreenTransition + ldr r0, _0809BE2C @ =gRoomTransition ldr r0, [r0] movs r1, #0x1f ands r0, r1 @@ -763,7 +763,7 @@ _0809BE0C: bl SoundReq b _0809BE70 .align 2, 0 -_0809BE2C: .4byte gScreenTransition +_0809BE2C: .4byte gRoomTransition _0809BE30: .4byte 0x00000133 _0809BE34: movs r0, #2 diff --git a/asm/object/object91.s b/asm/object/object91.s index 6c4c5fba..6a8d37f8 100644 --- a/asm/object/object91.s +++ b/asm/object/object91.s @@ -463,7 +463,7 @@ _0809C74A: ldrb r0, [r5, #0xf] cmp r0, #0 beq _0809C7BC - ldr r0, _0809C7AC @ =gScreenTransition + ldr r0, _0809C7AC @ =gRoomTransition ldr r0, [r0] movs r1, #7 ands r0, r1 @@ -502,7 +502,7 @@ _0809C7A0: b _0809C7BC .align 2, 0 _0809C7A8: .4byte gUnk_08123DF8 -_0809C7AC: .4byte gScreenTransition +_0809C7AC: .4byte gRoomTransition _0809C7B0: .4byte 0xFFFFD000 _0809C7B4: ldr r0, [r5, #0x50] @@ -776,7 +776,7 @@ sub_0809C988: @ 0x0809C988 strb r0, [r2, #0xb] b _0809C9DC _0809C9AC: - ldr r0, _0809C9C8 @ =gScreenTransition + ldr r0, _0809C9C8 @ =gRoomTransition ldr r0, [r0] movs r1, #8 ands r0, r1 @@ -791,7 +791,7 @@ _0809C9AC: subs r0, #4 b _0809C9DA .align 2, 0 -_0809C9C8: .4byte gScreenTransition +_0809C9C8: .4byte gRoomTransition _0809C9CC: adds r0, r2, #0 adds r0, #0x84 @@ -810,7 +810,7 @@ _0809C9DC: sub_0809C9E0: @ 0x0809C9E0 push {r4, r5, r6, r7, lr} adds r4, r0, #0 - ldr r0, _0809CA04 @ =gScreenTransition + ldr r0, _0809CA04 @ =gRoomTransition ldr r1, [r0] movs r2, #2 ands r1, r2 @@ -826,7 +826,7 @@ sub_0809C9E0: @ 0x0809C9E0 subs r0, #8 b _0809CA16 .align 2, 0 -_0809CA04: .4byte gScreenTransition +_0809CA04: .4byte gRoomTransition _0809CA08: adds r2, r4, #0 adds r2, #0x84 @@ -971,7 +971,7 @@ sub_0809CAC8: @ 0x0809CAC8 movs r0, #7 strb r0, [r5, #0xd] _0809CB26: - ldr r0, _0809CB44 @ =gScreenTransition + ldr r0, _0809CB44 @ =gRoomTransition ldr r0, [r0] movs r1, #0xf ands r0, r1 @@ -984,7 +984,7 @@ _0809CB38: .align 2, 0 _0809CB3C: .4byte gRoomControls _0809CB40: .4byte gPlayerEntity -_0809CB44: .4byte gScreenTransition +_0809CB44: .4byte gRoomTransition _0809CB48: .4byte 0x00000163 thumb_func_start sub_0809CB4C diff --git a/asm/object/objectA8.s b/asm/object/objectA8.s index 52c6a36d..c7b728bc 100644 --- a/asm/object/objectA8.s +++ b/asm/object/objectA8.s @@ -283,7 +283,7 @@ _0809FCAC: ldrb r0, [r4, #0xa] cmp r0, #0 bne _0809FCF8 - ldr r0, _0809FCFC @ =gScreenTransition + ldr r0, _0809FCFC @ =gRoomTransition ldr r0, [r0] movs r1, #1 ands r0, r1 @@ -314,7 +314,7 @@ _0809FCE0: _0809FCF8: pop {r4, r5, pc} .align 2, 0 -_0809FCFC: .4byte gScreenTransition +_0809FCFC: .4byte gRoomTransition thumb_func_start sub_0809FD00 sub_0809FD00: @ 0x0809FD00 diff --git a/asm/object/windTribeTeleporter.s b/asm/object/windTribeTeleporter.s index 15a1b7a2..34541e9e 100644 --- a/asm/object/windTribeTeleporter.s +++ b/asm/object/windTribeTeleporter.s @@ -163,12 +163,12 @@ _080A0B60: bl SoundReq b _080A0BF0 _080A0B7E: - ldr r0, _080A0B88 @ =gScreenTransition + ldr r0, _080A0B88 @ =gRoomTransition ldr r0, [r0] movs r1, #7 b _080A0BDE .align 2, 0 -_080A0B88: .4byte gScreenTransition +_080A0B88: .4byte gRoomTransition _080A0B8C: ldrb r0, [r4, #0xe] subs r0, #1 @@ -184,11 +184,11 @@ _080A0B98: strb r0, [r4, #0xe] b _080A0BF0 _080A0BA4: - ldr r0, _080A0BAC @ =gScreenTransition + ldr r0, _080A0BAC @ =gRoomTransition ldr r0, [r0] b _080A0BDE .align 2, 0 -_080A0BAC: .4byte gScreenTransition +_080A0BAC: .4byte gRoomTransition _080A0BB0: ldrb r0, [r4, #0xe] subs r0, #1 @@ -209,7 +209,7 @@ _080A0BB0: .align 2, 0 _080A0BD4: .4byte 0x0813AA10 _080A0BD8: - ldr r0, _080A0BF4 @ =gScreenTransition + ldr r0, _080A0BF4 @ =gRoomTransition ldr r0, [r0] movs r1, #1 _080A0BDE: @@ -225,7 +225,7 @@ _080A0BDE: _080A0BF0: pop {r4, pc} .align 2, 0 -_080A0BF4: .4byte gScreenTransition +_080A0BF4: .4byte gRoomTransition _080A0BF8: .4byte gPlayerEntity @@ -391,12 +391,12 @@ _080A0884: bl SoundReq b _080A0910 _080A08A2: - ldr r0, _080A08AC @ =gScreenTransition + ldr r0, _080A08AC @ =gRoomTransition ldr r0, [r0] movs r1, #7 b _080A08FE .align 2, 0 -_080A08AC: .4byte gScreenTransition +_080A08AC: .4byte gRoomTransition _080A08B0: ldrb r0, [r1, #0xe] subs r0, #1 @@ -412,12 +412,12 @@ _080A08BC: strb r0, [r1, #0xe] b _080A0910 _080A08C8: - ldr r0, _080A08D0 @ =gScreenTransition + ldr r0, _080A08D0 @ =gRoomTransition ldr r0, [r0] ands r0, r2 b _080A0900 .align 2, 0 -_080A08D0: .4byte gScreenTransition +_080A08D0: .4byte gRoomTransition _080A08D4: ldrb r0, [r1, #0xe] subs r0, #1 @@ -436,7 +436,7 @@ _080A08D4: .align 2, 0 _080A08F4: .4byte gUnk_0813ADEC _080A08F8: - ldr r0, _080A0914 @ =gScreenTransition + ldr r0, _080A0914 @ =gRoomTransition ldr r0, [r0] movs r1, #1 _080A08FE: @@ -453,7 +453,7 @@ _080A0900: _080A0910: pop {pc} .align 2, 0 -_080A0914: .4byte gScreenTransition +_080A0914: .4byte gRoomTransition _080A0918: .4byte gPlayerEntity .else @@ -504,12 +504,12 @@ _080A1038: bl SoundReq b _080A10D4 _080A1056: - ldr r0, _080A1060 @ =gScreenTransition + ldr r0, _080A1060 @ =gRoomTransition ldr r0, [r0] movs r1, #7 b _080A10C2 .align 2, 0 -_080A1060: .4byte gScreenTransition +_080A1060: .4byte gRoomTransition _080A1064: ldrb r0, [r4, #0xe] subs r0, #1 @@ -525,11 +525,11 @@ _080A1070: strb r0, [r4, #0xe] b _080A10D4 _080A107C: - ldr r0, _080A1084 @ =gScreenTransition + ldr r0, _080A1084 @ =gRoomTransition ldr r0, [r0] b _080A10C2 .align 2, 0 -_080A1084: .4byte gScreenTransition +_080A1084: .4byte gRoomTransition _080A1088: ldrb r0, [r4, #0xe] subs r0, #1 @@ -556,7 +556,7 @@ _080A10A2: _080A10B4: .4byte gRoomControls _080A10B8: .4byte gUnk_0813ADEC _080A10BC: - ldr r0, _080A10D8 @ =gScreenTransition + ldr r0, _080A10D8 @ =gRoomTransition ldr r0, [r0] movs r1, #1 _080A10C2: @@ -572,7 +572,7 @@ _080A10C2: _080A10D4: pop {r4, pc} .align 2, 0 -_080A10D8: .4byte gScreenTransition +_080A10D8: .4byte gRoomTransition _080A10DC: .4byte gPlayerEntity .endif .endif @@ -611,11 +611,11 @@ _080A110E: lsls r0, r0, #0x18 cmp r0, #0 beq _080A1130 - ldr r0, _080A1120 @ =gScreenTransition + ldr r0, _080A1120 @ =gRoomTransition ldr r0, [r0] b _080A1162 .align 2, 0 -_080A1120: .4byte gScreenTransition +_080A1120: .4byte gRoomTransition _080A1124: ldrb r0, [r2, #0xe] subs r0, #1 @@ -631,12 +631,12 @@ _080A1130: strb r0, [r2, #0xe] b _080A11BA _080A113C: - ldr r0, _080A1144 @ =gScreenTransition + ldr r0, _080A1144 @ =gRoomTransition ldr r0, [r0] movs r1, #3 b _080A1162 .align 2, 0 -_080A1144: .4byte gScreenTransition +_080A1144: .4byte gRoomTransition _080A1148: ldrb r0, [r2, #0xe] subs r0, #1 @@ -649,7 +649,7 @@ _080A1148: strb r0, [r2, #0xd] b _080A11BA _080A115C: - ldr r0, _080A1178 @ =gScreenTransition + ldr r0, _080A1178 @ =gRoomTransition ldr r0, [r0] movs r1, #7 _080A1162: @@ -664,14 +664,14 @@ _080A1162: strb r1, [r0, #0x14] b _080A11BA .align 2, 0 -_080A1178: .4byte gScreenTransition +_080A1178: .4byte gRoomTransition _080A117C: .4byte gPlayerEntity _080A1180: ldr r4, _080A11A0 @ =gPlayerEntity ldrb r3, [r4, #0x14] cmp r3, #4 beq _080A11A8 - ldr r0, _080A11A4 @ =gScreenTransition + ldr r0, _080A11A4 @ =gRoomTransition ldr r0, [r0] movs r1, #7 ands r0, r1 @@ -684,7 +684,7 @@ _080A1180: b _080A11BA .align 2, 0 _080A11A0: .4byte gPlayerEntity -_080A11A4: .4byte gScreenTransition +_080A11A4: .4byte gRoomTransition _080A11A8: movs r0, #0 movs r1, #1 diff --git a/asm/scroll.s b/asm/scroll.s index d66162ec..9401d782 100644 --- a/asm/scroll.s +++ b/asm/scroll.s @@ -228,7 +228,7 @@ sub_0807FDC8: @ 0x0807FDC8 ldr r4, _0807FDE0 @ =gUpdateVisibleTiles movs r0, #1 strb r0, [r4] - bl sub_08000108 + bl UpdateScrollVram movs r1, #0 movs r0, #1 strb r0, [r5, #3] @@ -411,7 +411,7 @@ _0807FF18: .4byte gUpdateVisibleTiles sub_0807FF1C: @ 0x0807FF1C push {lr} adds r2, r0, #0 - ldr r0, _0807FF4C @ =gScreenTransition + ldr r0, _0807FF4C @ =gRoomTransition ldr r0, [r0] movs r1, #1 ands r0, r1 @@ -433,7 +433,7 @@ sub_0807FF1C: @ 0x0807FF1C _0807FF48: pop {pc} .align 2, 0 -_0807FF4C: .4byte gScreenTransition +_0807FF4C: .4byte gRoomTransition _0807FF50: .4byte gUpdateVisibleTiles thumb_func_start sub_0807FF54 @@ -716,7 +716,7 @@ sub_08080198: @ 0x08080198 movs r1, #0xff strh r1, [r0, #0x1c] bl LoadRoom - bl sub_0804AFF4 + bl CallRoomProp5And7 ldr r0, _080801B8 @ =gUpdateVisibleTiles strb r4, [r0] bl sub_080805F8 @@ -1335,8 +1335,8 @@ _08080660: .align 2, 0 _08080664: .4byte gUnk_03004030 - thumb_func_start sub_08080668 -sub_08080668: @ 0x08080668 + thumb_func_start ClearTilemaps +ClearTilemaps: @ 0x08080668 push {r4, r5, lr} ldr r5, _080806A4 @ =gRoomControls adds r0, r5, #0 @@ -1587,7 +1587,7 @@ _0808083E: DoExitTransition: @ 0x08080840 push {r4, lr} adds r4, r0, #0 - ldr r0, _0808085C @ =gScreenTransition + ldr r0, _0808085C @ =gRoomTransition movs r1, #1 strb r1, [r0, #8] adds r2, r0, #0 @@ -1599,7 +1599,7 @@ DoExitTransition: @ 0x08080840 strh r1, [r2, #4] b _08080872 .align 2, 0 -_0808085C: .4byte gScreenTransition +_0808085C: .4byte gRoomTransition _08080860: .4byte 0x000003FF _08080864: ldr r0, _08080880 @ =gRoomControls diff --git a/asm/staffroll.s b/asm/staffroll.s index 43c751e4..cf064177 100644 --- a/asm/staffroll.s +++ b/asm/staffroll.s @@ -6,10 +6,10 @@ .text - thumb_func_start HandleCreditsScreen -HandleCreditsScreen: @ 0x080A35E0 + thumb_func_start StaffrollTask +StaffrollTask: @ 0x080A35E0 push {lr} - ldr r1, _080A35FC @ =gScreenTransition + ldr r1, _080A35FC @ =gRoomTransition ldr r0, [r1] adds r0, #1 str r0, [r1] @@ -22,7 +22,7 @@ HandleCreditsScreen: @ 0x080A35E0 bl _call_via_r0 pop {pc} .align 2, 0 -_080A35FC: .4byte gScreenTransition +_080A35FC: .4byte gRoomTransition _080A3600: .4byte gUnk_08127D00 _080A3604: .4byte gMain @@ -242,7 +242,7 @@ _080A37C4: ldrb r0, [r0] cmp r0, #0 bne _080A385E - ldr r0, _080A37FC @ =gScreenTransition + ldr r0, _080A37FC @ =gRoomTransition ldr r0, [r0] ands r0, r1 cmp r0, #0 @@ -266,7 +266,7 @@ _080A37C4: b _080A383C .align 2, 0 _080A37F8: .4byte gFadeControl -_080A37FC: .4byte gScreenTransition +_080A37FC: .4byte gRoomTransition _080A3800: .4byte gScreen _080A3804: ldrh r0, [r4, #8] @@ -277,7 +277,7 @@ _080A3804: bne _080A385E b _080A383C _080A3812: - ldr r0, _080A3844 @ =gScreenTransition + ldr r0, _080A3844 @ =gRoomTransition ldr r0, [r0] movs r1, #1 ands r0, r1 @@ -304,7 +304,7 @@ _080A383C: strb r0, [r4, #6] b _080A385E .align 2, 0 -_080A3844: .4byte gScreenTransition +_080A3844: .4byte gRoomTransition _080A3848: .4byte gScreen _080A384C: ldr r1, _080A3860 @ =gFadeControl diff --git a/asm/subtask.s b/asm/subtask.s index d6bb7811..dfec5a59 100644 --- a/asm/subtask.s +++ b/asm/subtask.s @@ -203,13 +203,13 @@ _080A3DDC: .4byte gMenu _080A3DE0: .4byte gFuseInfo _080A3DE4: .4byte gUnk_080C9CBC _080A3DE8: - bl sub_080A71DC + bl Subtask_Exit b _080A3DF8 _080A3DEE: ldr r1, _080A3DFC @ =gFuseInfo movs r0, #5 strb r0, [r1] - bl sub_080A71DC + bl Subtask_Exit _080A3DF8: pop {pc} .align 2, 0 @@ -1300,8 +1300,8 @@ _080A4576: _080A45A2: pop {r4, pc} - thumb_func_start sub_080A45A4 -sub_080A45A4: @ 0x080A45A4 + thumb_func_start Subtask_FigurineMenu +Subtask_FigurineMenu: @ 0x080A45A4 .ifdef DEMO_USA bx lr .align 2, 0 @@ -1339,10 +1339,10 @@ _080A45D0: _080A45E0: bl UpdateEntities bl sub_0801C1D4 - bl sub_0801C208 - bl sub_080AD9B0 + bl DrawOAMCmd + bl DrawEntities bl sub_080A4978 - bl sub_080AD918 + bl CopyOAM bl sub_080A4B44 pop {pc} .align 2, 0 @@ -1445,7 +1445,7 @@ sub_080A46C0: @ 0x080A46C0 bl SoundReq movs r0, #2 bl ClearRoomFlag - bl sub_080A71DC + bl Subtask_Exit pop {pc} thumb_func_start sub_080A46DC @@ -2499,7 +2499,7 @@ _080A4D2E: thumb_func_start sub_080A4D34 sub_080A4D34: @ 0x080A4D34 push {lr} - bl sub_08053320 + bl LoadGfxGroups movs r0, #0xb5 bl LoadPaletteGroup ldr r1, _080A4D50 @ =gSave @@ -2669,8 +2669,8 @@ sub_080A4E90: @ 0x080A4E90 .align 2, 0 _080A4E9C: .4byte gUnk_02034490 - thumb_func_start sub_080A4EA0 -sub_080A4EA0: @ 0x080A4EA0 + thumb_func_start Subtask_PauseMenu +Subtask_PauseMenu: @ 0x080A4EA0 push {r4, lr} ldr r4, _080A4EB8 @ =gUnk_02034490 ldrb r0, [r4, #0x11] @@ -2679,7 +2679,7 @@ sub_080A4EA0: @ 0x080A4EA0 movs r0, #0x80 lsls r0, r0, #1 bl SetBgmVolume - bl sub_080A71DC + bl Subtask_Exit b _080A4F14 .align 2, 0 _080A4EB8: .4byte gUnk_02034490 @@ -2693,7 +2693,7 @@ _080A4EBC: bl _call_via_r0 bl sub_080A5128 bl sub_0801C1D4 - bl sub_0801C208 + bl DrawOAMCmd ldrb r0, [r4, #0x11] cmp r0, #4 beq _080A4EF0 @@ -2705,7 +2705,7 @@ _080A4EBC: ldr r0, [r1] bl _call_via_r0 _080A4EF0: - bl sub_080AD918 + bl CopyOAM movs r3, #0x16 ldrsb r3, [r4, r3] movs r1, #0 @@ -2745,7 +2745,7 @@ _080A4F38: adds r1, #1 cmp r1, #0xd ble _080A4F38 - ldr r1, _080A4F94 @ =gScreenTransition + ldr r1, _080A4F94 @ =gRoomTransition ldrh r0, [r1, #0x20] ldrh r1, [r1, #0x22] bl sub_080A6A80 @@ -2779,7 +2779,7 @@ _080A4F66: pop {r4, pc} .align 2, 0 _080A4F90: .4byte gUnk_02034492 -_080A4F94: .4byte gScreenTransition +_080A4F94: .4byte gRoomTransition _080A4F98: .4byte gUnk_02034490 _080A4F9C: .4byte gUnk_08128A38 diff --git a/asm/subtask2.s b/asm/subtask2.s index ceadbd8e..da4d4861 100644 --- a/asm/subtask2.s +++ b/asm/subtask2.s @@ -2480,7 +2480,7 @@ _080A5B86: ands r0, r1 cmp r0, #0 bne _080A5BE0 - ldr r4, _080A5C20 @ =gScreenTransition + ldr r4, _080A5C20 @ =gRoomTransition ldrh r1, [r4, #0x20] lsls r0, r1, #2 adds r0, r0, r1 @@ -2538,7 +2538,7 @@ _080A5BE0: .align 2, 0 _080A5C18: .4byte gChooseFileState _080A5C1C: .4byte gOamCmd -_080A5C20: .4byte gScreenTransition +_080A5C20: .4byte gRoomTransition _080A5C24: .4byte gPlayerState _080A5C28: .4byte gUnk_08128DE8 @@ -2570,7 +2570,7 @@ _080A6392: ands r0, r1 cmp r0, #0 bne _080A63EA - ldr r4, _080A6428 @ =gScreenTransition + ldr r4, _080A6428 @ =gRoomTransition ldrh r1, [r4, #0x20] lsls r0, r1, #2 adds r0, r0, r1 @@ -2626,7 +2626,7 @@ _080A63EA: .align 2, 0 _080A6420: .4byte gMenu _080A6424: .4byte gOamCmd -_080A6428: .4byte gScreenTransition +_080A6428: .4byte gRoomTransition _080A642C: .4byte gPlayerState _080A6430: .4byte 0x000001FB _080A6434: .4byte gUnk_08128DE8 @@ -2830,8 +2830,8 @@ _080A64F4: .4byte gScreen _080A64F8: .4byte 0x00003D3F .endif - thumb_func_start sub_080A64FC -sub_080A64FC: @ 0x080A64FC + thumb_func_start Subtask_MapHint +Subtask_MapHint: @ 0x080A64FC push {r4, lr} bl FlushSprites ldr r1, _080A652C @ =gUnk_08128E70 @@ -2850,7 +2850,7 @@ sub_080A64FC: @ 0x080A64FC bl sub_080A6438 _080A6522: bl sub_080A6498 - bl sub_080AD918 + bl CopyOAM pop {r4, pc} .align 2, 0 _080A652C: .4byte gUnk_08128E70 @@ -2949,7 +2949,7 @@ _080A65EC: cmp r0, #8 bne _080A6600 _080A65FC: - bl sub_080A71DC + bl Subtask_Exit _080A6600: pop {r4, pc} .align 2, 0 @@ -3448,7 +3448,7 @@ sub_080A68D4: @ 0x080A68D4 beq _080A60DA movs r4, #0x65 _080A60DA: - ldr r1, _080A6104EU @ =gScreenTransition + ldr r1, _080A6104EU @ =gRoomTransition ldrh r0, [r1, #0x20] ldrh r1, [r1, #0x22] movs r2, #0xfd @@ -3467,7 +3467,7 @@ _080A60DA: b _080A612C .align 2, 0 _080A6100EU: .4byte gPlayerState -_080A6104EU: .4byte gScreenTransition +_080A6104EU: .4byte gRoomTransition _080A6108: .4byte gSave _080A610C: .4byte gUnk_08128F58 _080A6110: @@ -3536,7 +3536,7 @@ _080A6178EU: .4byte gUnk_080FE320 beq _080A68E6 movs r4, #0x65 _080A68E6: - ldr r1, _080A6910 @ =gScreenTransition + ldr r1, _080A6910 @ =gRoomTransition ldrh r0, [r1, #0x20] ldrh r1, [r1, #0x22] ldr r2, _080A6914 @ =0x000001FB @@ -3554,7 +3554,7 @@ _080A68E6: b _080A693A .align 2, 0 _080A690C: .4byte gPlayerState -_080A6910: .4byte gScreenTransition +_080A6910: .4byte gRoomTransition _080A6914: .4byte 0x000001FB _080A6918: .4byte gSave _080A691C: .4byte gUnk_08128F58 @@ -3776,8 +3776,8 @@ _080A6AAE: _080A6AB6: pop {pc} - thumb_func_start sub_080A6AB8 -sub_080A6AB8: @ 0x080A6AB8 + thumb_func_start Subtask_LocalMapHint +Subtask_LocalMapHint: @ 0x080A6AB8 push {r4, lr} bl FlushSprites ldr r1, _080A6AF4 @ =gUnk_08128F1C @@ -3802,7 +3802,7 @@ sub_080A6AB8: @ 0x080A6AB8 ldrh r0, [r4, #0xa] subs r0, r0, r1 strh r0, [r2, #0x24] - bl sub_080AD918 + bl CopyOAM pop {r4, pc} .align 2, 0 _080A6AF4: .4byte gUnk_08128F1C @@ -3869,7 +3869,7 @@ sub_080A6B04: @ 0x080A6B04 beq _080A6B84 movs r2, #0x65 _080A6B84: - ldr r1, _080A6C10 @ =gScreenTransition + ldr r1, _080A6C10 @ =gRoomTransition ldrh r0, [r1, #0x20] ldrh r1, [r1, #0x22] .ifdef EU @@ -3933,7 +3933,7 @@ _080A6C00: .4byte 0x0000475F _080A6C04: .4byte 0x00005001 _080A6C08: .4byte gBG3Buffer _080A6C0C: .4byte gPlayerState -_080A6C10: .4byte gScreenTransition +_080A6C10: .4byte gRoomTransition .ifndef EU _080A6C14: .4byte 0x000001FB .endif @@ -3967,7 +3967,7 @@ _080A6C3C: cmp r0, #8 bne _080A6C6A _080A6C50: - bl sub_080A71DC + bl Subtask_Exit b _080A6C6A .align 2, 0 _080A6C58: .4byte gInput @@ -3985,8 +3985,8 @@ _080A6C6A: _080A6C6C: .4byte 0x00000103 _080A6C70: .4byte gMenu - thumb_func_start sub_080A6C74 -sub_080A6C74: @ 0x080A6C74 + thumb_func_start Subtask_FastTravel +Subtask_FastTravel: @ 0x080A6C74 push {r4, lr} bl FlushSprites ldr r1, _080A6CA0 @ =gUnk_08128F24 @@ -4002,7 +4002,7 @@ sub_080A6C74: @ 0x080A6C74 bl sub_080A6E70 _080A6C94: bl sub_080A6498 - bl sub_080AD918 + bl CopyOAM pop {r4, pc} .align 2, 0 _080A6CA0: .4byte gUnk_08128F24 @@ -4241,7 +4241,7 @@ _080A6E18: ldrb r1, [r1] ldrh r2, [r0, #0x12] bl sub_080042D0 - bl sub_080A71DC + bl Subtask_Exit ldr r1, _080A6E40 @ =gUnk_02034490 movs r0, #0 strb r0, [r1] @@ -4677,8 +4677,8 @@ sub_080A7114: @ 0x080A7114 .align 2, 0 _080A7120: .4byte gMenu - thumb_func_start sub_080A7124 -sub_080A7124: @ 0x080A7124 + thumb_func_start ResetUI +ResetUI: @ 0x080A7124 push {lr} ldr r0, _080A7134 @ =gUnk_02032EC0 movs r1, #0xed @@ -4773,8 +4773,8 @@ sub_080A71C4: @ 0x080A71C4 .align 2, 0 _080A71D8: .4byte gUnk_02032EC0 - thumb_func_start sub_080A71DC -sub_080A71DC: @ 0x080A71DC + thumb_func_start Subtask_Exit +Subtask_Exit: @ 0x080A71DC push {lr} ldr r1, _080A71F0 @ =gUnk_02032EC0 movs r0, #3 @@ -4805,8 +4805,8 @@ _080A71FE: .align 2, 0 _080A7218: .4byte gMain - thumb_func_start sub_080A721C -sub_080A721C: @ 0x080A721C + thumb_func_start GameMain_Subtask +GameMain_Subtask: @ 0x080A721C push {lr} ldr r0, _080A7248 @ =gUnk_02032EC0 ldrb r1, [r0] @@ -4833,8 +4833,8 @@ _080A7238: _080A7248: .4byte gUnk_02032EC0 _080A724C: .4byte gUnk_0812901C - thumb_func_start sub_080A7250 -sub_080A7250: @ 0x080A7250 + thumb_func_start Subtask_FadeIn +Subtask_FadeIn: @ 0x080A7250 push {r4, lr} ldr r0, _080A72E8 @ =gFadeControl ldrb r0, [r0] @@ -4882,7 +4882,7 @@ sub_080A7250: @ 0x080A7250 bl sub_0805E958 adds r1, r4, #0 subs r1, #0x54 - ldr r0, _080A7314 @ =gScreenTransition + ldr r0, _080A7314 @ =gRoomTransition adds r0, #0x2f ldrb r0, [r0] strb r0, [r1, #0xd] @@ -4915,14 +4915,14 @@ _080A7304: .4byte gPaletteList _080A7308: .4byte gRoomControls _080A730C: .4byte gUnk_03000420 _080A7310: .4byte gActiveScriptInfo -_080A7314: .4byte gScreenTransition +_080A7314: .4byte gRoomTransition _080A7318: .4byte gPlayerState _080A731C: .4byte gCurrentRoomProperties _080A7320: .4byte gUnk_02025EB0 _080A7324: .4byte gUnk_0200B650 - thumb_func_start sub_080A7328 -sub_080A7328: @ 0x080A7328 + thumb_func_start Subtask_Init +Subtask_Init: @ 0x080A7328 push {r4, lr} ldr r0, _080A7388 @ =gFadeControl ldrb r0, [r0] @@ -4950,14 +4950,14 @@ sub_080A7328: @ 0x080A7328 bl MessageInitialize bl ResetPalettes movs r0, #0 - bl sub_0801CFA8 + bl ResetPaletteTable ldr r0, _080A739C @ =gGFXSlots movs r2, #1 strb r2, [r0] ldr r1, _080A73A0 @ =gUnk_02032EC0 movs r0, #2 strb r0, [r1] - ldr r0, _080A73A4 @ =gScreenTransition + ldr r0, _080A73A4 @ =gRoomTransition adds r0, #0x30 strb r2, [r0] _080A7384: @@ -4970,10 +4970,10 @@ _080A7394: .4byte gUnk_03000420 _080A7398: .4byte gActiveScriptInfo _080A739C: .4byte gGFXSlots _080A73A0: .4byte gUnk_02032EC0 -_080A73A4: .4byte gScreenTransition +_080A73A4: .4byte gRoomTransition - thumb_func_start sub_080A73A8 -sub_080A73A8: @ 0x080A73A8 + thumb_func_start Subtask_FadeOut +Subtask_FadeOut: @ 0x080A73A8 push {r4, r5, lr} ldr r0, _080A7468 @ =gFadeControl ldrb r0, [r0] @@ -5081,17 +5081,17 @@ _080A74AE: movs r2, #0 movs r0, #4 strb r0, [r1] - ldr r0, _080A74C4 @ =gScreenTransition + ldr r0, _080A74C4 @ =gRoomTransition adds r0, #0x30 strb r2, [r0] _080A74BC: pop {r4, r5, pc} .align 2, 0 _080A74C0: .4byte gUnk_02032EC0 -_080A74C4: .4byte gScreenTransition +_080A74C4: .4byte gRoomTransition - thumb_func_start sub_080A74C8 -sub_080A74C8: @ 0x080A74C8 + thumb_func_start Subtask_Die +Subtask_Die: @ 0x080A74C8 push {lr} bl sub_080A74F4 ldr r0, _080A74E8 @ =gFadeControl @@ -5122,17 +5122,17 @@ sub_080A74F4: @ 0x080A74F4 bl FlushSprites bl UpdateEntities bl UpdateManagers - bl sub_0801C344 - bl sub_0801C208 - bl sub_08078CB4 - bl sub_080AD9B0 - bl sub_080AD918 + bl DrawUI + bl DrawOAMCmd + bl UpdateCarriedObject + bl DrawEntities + bl CopyOAM pop {pc} .align 2, 0 _080A7524: .4byte gMain - thumb_func_start sub_080A7528 -sub_080A7528: @ 0x080A7528 + thumb_func_start Subtask_Update +Subtask_Update: @ 0x080A7528 push {lr} ldr r1, _080A753C @ =gUnk_08129030 ldr r0, _080A7540 @ =gUnk_02032EC0 diff --git a/asm/ui.s b/asm/ui.s index 8cb7208b..b7bd7df2 100644 --- a/asm/ui.s +++ b/asm/ui.s @@ -35,8 +35,8 @@ _0801C1F8: _0801C200: .4byte gUnk_0200AF34 _0801C204: .4byte gUnk_080C8F8C - thumb_func_start sub_0801C208 -sub_0801C208: @ 0x0801C208 + thumb_func_start DrawOAMCmd +DrawOAMCmd: @ 0x0801C208 push {r4, r5, lr} movs r5, #0 ldr r4, _0801C250 @ =gOamCmd @@ -195,8 +195,8 @@ _0801C338: .4byte gUnk_085C4620 _0801C33C: .4byte 0x84000008 _0801C340: .4byte 0x06010020 - thumb_func_start sub_0801C344 -sub_0801C344: @ 0x0801C344 + thumb_func_start DrawUI +DrawUI: @ 0x0801C344 push {r4, r5, lr} ldr r4, _0801C36C @ =gUnk_0200AF00 ldrb r1, [r4, #1] @@ -214,8 +214,8 @@ sub_0801C344: @ 0x0801C344 .align 2, 0 _0801C36C: .4byte gUnk_0200AF00 - thumb_func_start sub_0801C370 -sub_0801C370: @ 0x0801C370 + thumb_func_start InitUI +InitUI: @ 0x0801C370 push {r4, r5, r6, lr} cmp r0, #0 bne _0801C390 @@ -267,7 +267,7 @@ _0801C398: adds r0, r3, #0 orrs r0, r2 strh r0, [r1] - ldr r1, _0801C484 @ =gUnk_03000000 + ldr r1, _0801C484 @ =gOAMControls ldr r2, _0801C488 @ =0x00000427 adds r0, r1, r2 movs r2, #1 @@ -333,7 +333,7 @@ _0801C474: .4byte gSave _0801C478: .4byte gBG0Buffer _0801C47C: .4byte gScreen _0801C480: .4byte 0x00001F0C -_0801C484: .4byte gUnk_03000000 +_0801C484: .4byte gOAMControls _0801C488: .4byte 0x00000427 _0801C48C: .4byte 0x00000426 _0801C490: .4byte 0x0000042E diff --git a/asm/veneer.s b/asm/veneer.s index 34e292f2..d265b16f 100644 --- a/asm/veneer.s +++ b/asm/veneer.s @@ -79,8 +79,8 @@ _08000144EU: .endif .endif - thumb_func_start sub_08000108 -sub_08000108: @ 0x08000108 + thumb_func_start UpdateScrollVram +UpdateScrollVram: @ 0x08000108 push {r4, lr} ldr r0, _080001E8 @ =gUpdateVisibleTiles ldrb r1, [r0] diff --git a/asm/vram.s b/asm/vram.s index 79c3808f..89e66f11 100644 --- a/asm/vram.s +++ b/asm/vram.s @@ -924,7 +924,7 @@ _080AE2B4: movs r4, #0 ldr r0, _080AE318 @ =0xFFFFFC00 mov sl, r0 - ldr r5, _080AE31C @ =gUnk_03000000 + ldr r5, _080AE31C @ =gOAMControls adds r5, #0x24 ldr r1, _080AE320 @ =0x000003FF mov sb, r1 @@ -948,7 +948,7 @@ _080AE2D2: orrs r0, r1 strh r0, [r5] mov r2, r8 - ldr r1, _080AE31C @ =gUnk_03000000 + ldr r1, _080AE31C @ =gOAMControls strb r2, [r1] _080AE2F8: adds r5, #8 @@ -965,7 +965,7 @@ _080AE30C: .4byte gGFXSlots _080AE310: .4byte gUnk_020000C0 _080AE314: .4byte gPlayerEntity _080AE318: .4byte 0xFFFFFC00 -_080AE31C: .4byte gUnk_03000000 +_080AE31C: .4byte gOAMControls _080AE320: .4byte 0x000003FF thumb_func_start sub_080AE324 diff --git a/data/data_080FC8A4.s b/data/data_080FC8A4.s index ce05a4c6..77171f38 100644 --- a/data/data_080FC8A4.s +++ b/data/data_080FC8A4.s @@ -59,20 +59,20 @@ gUnk_080FC9C8:: @ 080FC9C8 .4byte sub_080518E4 gUnk_080FC9D8:: @ 080FC9D8 - .4byte sub_080519B0 - .4byte sub_08051A14 - .4byte sub_08051A90 + .4byte GameTask_Transition + .4byte GameTask_Init + .4byte GameTask_Main .4byte sub_08051D2C gUnk_080FC9E8:: @ 080FC9E8 - .4byte InitializeNewRoom - .4byte sub_08051AF0 - .4byte sub_08051BD0 - .4byte sub_08051CF0 - .4byte sub_0804AAB8 - .4byte sub_08051CA8 + .4byte GameMain_InitRoom + .4byte GameMain_ChangeRoom + .4byte GameMain_Update + .4byte GameMain_ChangeArea + .4byte GameMain_MinishPortal + .4byte GameMain_BarrelUpdate .4byte 00000000 - .4byte sub_080A721C + .4byte GameMain_Subtask gUnk_080FCA08:: @ 080FCA08 .4byte sub_08051E84 diff --git a/data/data_08128BF4.s b/data/data_08128BF4.s index 79404fac..c9612a8d 100644 --- a/data/data_08128BF4.s +++ b/data/data_08128BF4.s @@ -136,21 +136,21 @@ gUnk_08129004:: @ 08129004 .incbin "data_08127280/gUnk_08129004.bin" gUnk_0812901C:: @ 0812901C - .4byte sub_080A7250 - .4byte sub_080A7328 - .4byte sub_080A7528 - .4byte sub_080A73A8 - .4byte sub_080A74C8 + .4byte Subtask_FadeIn + .4byte Subtask_Init + .4byte Subtask_Update + .4byte Subtask_FadeOut + .4byte Subtask_Die gUnk_08129030:: @ 08129030 - .4byte sub_080A71DC - .4byte sub_080A4EA0 - .4byte sub_080A71DC - .4byte sub_080A64FC - .4byte DrawKinstoneMenu - .4byte sub_08051E68 - .4byte sub_0804AB54 - .4byte sub_080A45A4 - .4byte sub_08054870 - .4byte sub_080A6C74 - .4byte sub_080A6AB8 + .4byte Subtask_Exit + .4byte Subtask_PauseMenu + .4byte Subtask_Exit + .4byte Subtask_MapHint + .4byte Subtask_KinstoneMenu + .4byte Subtask_ChuchuCutscene + .4byte Subtask_PortalCutscene + .4byte Subtask_FigurineMenu + .4byte Subtask_WorldEvent + .4byte Subtask_FastTravel + .4byte Subtask_LocalMapHint diff --git a/include/asm.h b/include/asm.h index 5fe8a9e0..fed7a35b 100644 --- a/include/asm.h +++ b/include/asm.h @@ -9,7 +9,7 @@ extern u32 GetTileTypeByEntity(struct Entity_*); extern u32 GetTileTypeByPos(s32 x, s32 y, u32 layer); extern u32 GetTileType(u32 pos, u32 layer); extern void SetTile(u32 index, u32 position, u32 layer); -extern void sub_08000108(void); +extern void UpdateScrollVram(void); extern u32 sub_080002D0(struct Entity_*); extern void LoadResourceAsync(const void*, u32, u32); extern void sub_08001242(struct Entity_*); diff --git a/include/color.h b/include/color.h index 14ab24a9..9ff53264 100644 --- a/include/color.h +++ b/include/color.h @@ -10,7 +10,7 @@ typedef struct { } Palette; extern Palette gPaletteList[]; -void sub_0801CFA8(u32 a1); +void ResetPaletteTable(u32 a1); void sub_0801D000(u32 a1); void LoadObjPalette(struct Entity_*, u32); void UnloadOBJPalette(struct Entity_* entity); diff --git a/include/entity.h b/include/entity.h index e3fca5d4..898661f8 100644 --- a/include/entity.h +++ b/include/entity.h @@ -164,8 +164,8 @@ extern LinkedList gEntityLists[9]; enum { ENT_DID_INIT = 0x1, ENT_SCRIPTED = 0x2, - ENT_ASLEEP = 0x10, - ENT_20 = 0x20, + ENT_DELETED = 0x10, + ENT_PERSIST = 0x20, ENT_COLLIDE = 0x80, }; @@ -173,8 +173,8 @@ enum { #define COLLISION_ON(entity) ((entity)->flags |= ENT_COLLIDE) #define TILE(x, y) \ - (((((x) - gRoomControls.roomOriginX) >> 4) & 0x3F) | \ - ((((y) - gRoomControls.roomOriginY) >> 4) & 0x3F) << 6) + (((((x) - gRoomControls.origin_x) >> 4) & 0x3F) | \ + ((((y) - gRoomControls.origin_y) >> 4) & 0x3F) << 6) #define COORD_TO_TILE(entity) \ TILE((entity)->x.HALF.HI, (entity)->y.HALF.HI) diff --git a/include/fileScreen.h b/include/fileselect.h similarity index 98% rename from include/fileScreen.h rename to include/fileselect.h index 86f4e8d0..d2a2f52e 100644 --- a/include/fileScreen.h +++ b/include/fileselect.h @@ -63,7 +63,7 @@ extern struct_02019EE0 gUnk_02019EE0; extern void sub_08056FEC(u32, struct_020227E8*); extern void sub_0805F46C(u32, void*); extern void RecoverUI(u32 bottomPt, u32 topPt); -extern void sub_08080668(void); +extern void ClearTilemaps(void); extern void sub_0805194C(u32); extern struct_02036540* sub_0805F2C8(void); extern void sub_0805F7DC(u32, struct_02036540*); diff --git a/include/functions.h b/include/functions.h index 0a6c0ca9..a3716730 100644 --- a/include/functions.h +++ b/include/functions.h @@ -61,8 +61,8 @@ extern void sub_08077F50(ItemBehavior* beh, u32 arg1); extern void sub_0807AA80(Entity*); extern s32 sub_0807887C(Entity*, u32, u32); extern s32 sub_08078904(); -extern void sub_080AD9B0(void); -extern void sub_080AD918(void); +extern void DrawEntities(void); +extern void CopyOAM(void); extern void sub_0801E104(void); extern void sub_080A57F4(void); extern void sub_08030118(u32); @@ -105,7 +105,7 @@ extern void sub_0801E1B8(u32, u32); extern void sub_080A3B74(void); extern void sub_080A4054(void); extern void sub_0801C1D4(void); -extern void sub_0801C208(void); +extern void DrawOAMCmd(void); extern void sub_080A4D34(void); extern u32 sub_080A4494(void); extern void sub_080A4528(void); @@ -152,7 +152,7 @@ extern void sub_0807B7D8(u32, u32, u32); extern void sub_0800451C(Entity*); extern u32 sub_080002F0(u32, u32, u32); extern u32 sub_080040D8(Entity*, u8*, s32, s32); -extern void sub_08053320(); +extern void LoadGfxGroups(); extern void SetColor(u32, u32); extern u32 sub_0805F8F8(u32); extern void sub_08002724(void*, u8*); diff --git a/include/game.h b/include/game.h index 8fb5253f..5155376b 100644 --- a/include/game.h +++ b/include/game.h @@ -4,6 +4,24 @@ #include "global.h" #include "area.h" +enum { + GAMETASK_TRANSITION, + GAMETASK_INIT, + GAMETASK_MAIN, + GAMETASK_EXIT, +}; + +enum { + GAMEMAIN_INITROOM, + GAMEMAIN_CHANGEROOM, + GAMEMAIN_UPDATE, + GAMEMAIN_CHANGEAREA, + GAMEMAIN_MINISHPORTAL, + GAMEMAIN_BARRELUPDATE, + GAMEMAIN_RESERVED, + GAMEMAIN_SUBTASK, +}; + void ChangeLightLevel(s32); void SetPopupState(u32 type, u32 choice_idx); @@ -39,7 +57,7 @@ void DisplayEzloMessage(void); void sub_08052CA4(u32 area, u32 room, u32 x, u32 y); void sub_08052CD0(u32 area, u32 room, u32 x, u32 y); -void sub_08052CFC(void); +void InitRoom(void); /** * @brief Get bank offset for area @@ -50,7 +68,7 @@ RoomResInfo* GetCurrentRoomInfo(void); void sub_08052EA0(void); void sub_08052FD8(u32 room, u32 area); void sub_08053250(void); -void sub_08053320(void); +void LoadGfxGroups(void); void sub_080533CC(void); void sub_08053494(void); void sub_080534AC(void); diff --git a/include/main.h b/include/main.h index 0e830bab..988b4233 100644 --- a/include/main.h +++ b/include/main.h @@ -25,12 +25,12 @@ typedef enum { #endif enum { - SCREEN_INTRO, - SCREEN_CHOOSE_FILE, - SCREEN_GAMEPLAY, - SCREEN_GAME_OVER, - SCREEN_CREDITS, - SCREEN_DEBUG_TEXT, + TASK_TITLE, + TASK_FILE_SELECT, + TASK_GAME, + TASK_GAMEOVER, + TASK_STAFFROLL, + TASK_DEBUG, }; enum { @@ -41,9 +41,9 @@ enum { typedef struct { vu8 interruptFlag; u8 sleepStatus; - u8 screen; - u8 funcIndex; - u8 transition; + u8 task; + u8 state; + u8 substate; u8 field_0x5; u8 muteAudio; u8 field_0x7; @@ -75,7 +75,7 @@ extern UI gUnk_02032EC0; /** * @brief Begin a subroutine. */ -void InitScreen(u32 screen); +void SetTask(u32 screen); void InitDMA(void); diff --git a/include/manager.h b/include/manager.h index 44852146..28a27922 100644 --- a/include/manager.h +++ b/include/manager.h @@ -130,10 +130,10 @@ typedef struct Manager11 { typedef struct { u16 unk_00; - u8 source_roomID; + u8 source_room; u8 unk_03; - u8 target_areaID; - u8 target_roomID; + u8 target_area; + u8 target_room; u16 unk_06; } DiggingCaveEntrance; diff --git a/include/message.h b/include/message.h index 19d33ee4..c8d3e7b9 100644 --- a/include/message.h +++ b/include/message.h @@ -39,7 +39,7 @@ typedef struct { Message message; Token curToken; WStruct _50; - char playerName[10]; + char player_name[10]; u8 _66[0x10]; u8 _76; u8 _77[0x11]; diff --git a/include/player.h b/include/player.h index 36fd7303..bf9e151e 100644 --- a/include/player.h +++ b/include/player.h @@ -280,7 +280,7 @@ extern u16 gWalletSizes[]; extern PlayerState gPlayerState; extern Entity gPlayerEntity; -u32 sub_080705AC(void); +u32 CheckPlayerActivity(void); void SetPlayerControl(PlayerControlMode mode); void ResetPlayer(void); void ResetPlayerVelocity(void); diff --git a/include/room.h b/include/room.h index bb09730f..074cc8d5 100644 --- a/include/room.h +++ b/include/room.h @@ -4,13 +4,6 @@ #include "global.h" #include "entity.h" -/* -typedef struct { - u8 areaID; - u8 roomID; -} RoomID; -*/ - enum RoomTransition { TRANSITION_DEFAULT, TRANSITION_CUT, @@ -24,25 +17,30 @@ enum RoomTransition { TRANSITION_CUT_FAST, }; +enum RoomReloadType { + RELOAD_ALL = 1, + RELOAD_ENTITIES = 2, +}; + typedef struct { - /*0x00*/ u16 unk2; + /*0x00*/ u16 reload_flags; /*0x02*/ u8 unk3; /*0x03*/ u8 unk4; - /*0x04*/ u8 areaID; - /*0x05*/ u8 roomID; - /*0x06*/ u16 roomOriginX; - /*0x08*/ u16 roomOriginY; - /*0x0A*/ s16 roomScrollX; - /*0x0C*/ s16 roomScrollY; + /*0x04*/ u8 area; + /*0x05*/ u8 room; + /*0x06*/ u16 origin_x; + /*0x08*/ u16 origin_y; + /*0x0A*/ s16 scroll_x; + /*0x0C*/ s16 scroll_y; /*0x0E*/ u8 unk5; /*0x0F*/ u8 scroll_flags; // 0x2 = ??, 0x4 = camera scrolling - /*0x10*/ u8 unk_10; + /*0x10*/ u8 scroll_direction; /*0x11*/ s8 oam_offset_x; /*0x12*/ s8 oam_offset_y; /*0x13*/ u8 unk13; - /*0x14*/ u8 screenShakeMagnitude; + /*0x14*/ u8 shake_magnitude; /*0x15*/ u8 unk7; - /*0x16*/ u16 screenShakeTime; + /*0x16*/ u16 shake_duration; /*0x18*/ u16 filler2[3]; /*0x1E*/ u16 width; /*0x20*/ u16 height; @@ -52,33 +50,33 @@ typedef struct { /*0x26*/ u8 filler26[2]; /*0x28*/ union SplitWord bg3OffsetX; /*0x2C*/ union SplitWord bg3OffsetY; - /*0x30*/ Entity* cameraTarget; + /*0x30*/ Entity* camera_target; } RoomControls; extern RoomControls gRoomControls; typedef struct { - u8 field_0x0; - u8 filler_0x1; - u8 field_0x2; - u8 field_0x3; - u8 field_0x4; - u8 filler1[1]; - u8 shopItemType; - u8 shopItemType2; - u8 field_0x8; - u8 field_0x9; - u8 unk2; - u8 filler2; - s16 lightLevel; - u8 filler3[2]; - u8 unk_10[4]; - u32 flags; - u32 unk3; - u8 filler4[48]; - u8 filler5[28]; - u32 animFlags; - void* field_0x6c[8]; - void* field_0x8c[16]; + /* 0x00 */ u8 field_0x0; + /* 0x01 */ u8 filler_0x1; + /* 0x02 */ u8 field_0x2; + /* 0x03 */ u8 field_0x3; + /* 0x04 */ u8 field_0x4; + /* 0x05 */ u8 filler1[1]; + /* 0x06 */ u8 shopItemType; + /* 0x07 */ u8 shopItemType2; + /* 0x08 */ u8 field_0x8; + /* 0x09 */ u8 field_0x9; + /* 0x0a */ u8 unk2; + /* 0x0b */ u8 filler2; + /* 0x0c */ s16 lightLevel; + /* 0x0e */ u8 filler3[2]; + /* 0x10 */ u8 unk_10[4]; + /* 0x14 */ u32 flags; + /* 0x18 */ u32 unk3; + /* 0x1c */ u8 filler4[48]; + /* 0x4c */ u8 filler5[28]; + /* 0x68 */ u32 animFlags; + /* 0x6c */ void* field_0x6c[8]; + /* 0x8c */ void* field_0x8c[16]; } RoomVars; static_assert(sizeof(RoomVars) == 0xCC); extern RoomVars gRoomVars; @@ -112,54 +110,55 @@ typedef struct { // Status of the player's positioning within the scene. typedef struct { - u8 area_next; - u8 room_next; - u8 start_anim; - u8 spawn_type; - s16 start_pos_x; - s16 start_pos_y; - u8 layer; - u8 field_0x15; - u8 dungeon_area; - u8 dungeon_room; - s16 dungeon_x; - s16 dungeon_y; - u16 dungeon_map_x; - u16 dungeon_map_y; - s16 overworld_map_x; - s16 overworld_map_y; - u8 field_0x24[0x8]; -} PlayerWorldStatus; -static_assert(sizeof(PlayerWorldStatus) == 0x20); + /* 0x00 */ u8 area_next; + /* 0x01 */ u8 room_next; + /* 0x02 */ u8 start_anim; + /* 0x03 */ u8 spawn_type; + /* 0x04 */ s16 start_pos_x; + /* 0x06 */ s16 start_pos_y; + /* 0x08 */ u8 layer; + /* 0x09 */ u8 field_0x15; + /* 0x0a */ u8 dungeon_area; + /* 0x0b */ u8 dungeon_room; + /* 0x0c */ s16 dungeon_x; + /* 0x0e */ s16 dungeon_y; + /* 0x10 */ u16 dungeon_map_x; + /* 0x12 */ u16 dungeon_map_y; + /* 0x14 */ s16 overworld_map_x; + /* 0x16 */ s16 overworld_map_y; + /* 0x18 */ u8 field_0x24[0x8]; +} PlayerRoomStatus; +static_assert(sizeof(PlayerRoomStatus) == 0x20); typedef struct { - s32 frameCount; // regular frame count? does anything reset it? - u8 field_0x4[0x2]; - u16 field_0x6; - bool8 transitioningOut; - u8 transitionType; // transition when changing areas - u16 stairs_idx; // seems to be a tile type - PlayerWorldStatus player_status; - u8 field_0x2c[0x9]; - u8 hint_height; - u16 hint_idx; - u8 field_0x38; - u8 field_0x39; - u8 field_0x3a; - u8 field_0x3b; - u8 field_0x3c; - u8 field_0x3d; - u16 field_0x3e; - u16 hurtType; - u16 field_0x42; - u16 field_0x44; - u16 field_0x46; - u16 field_0x48; - u16 field_0x4a; - struct_030010EC minecart_data[4]; - struct_0300110C armos_data; -} ScreenTransition; -extern ScreenTransition gScreenTransition; + /* 0x00 */ s32 frameCount; // regular frame count? does anything reset it? + /* 0x04 */ u8 field_0x4[0x2]; + /* 0x06 */ u16 field_0x6; + /* 0x08 */ bool8 transitioningOut; + /* 0x09 */ u8 type; // transition when changing areas + /* 0x0a */ u16 stairs_idx; // seems to be a tile type + /* 0x0c */ PlayerRoomStatus player_status; + /* 0x2c */ u8 field_0x2c[0x9]; + /* 0x35 */ u8 hint_height; + /* 0x36 */ u16 hint_idx; + /* 0x38 */ u8 field_0x38; + /* 0x39 */ u8 field_0x39; + /* 0x3a */ u8 field_0x3a; + /* 0x3b */ u8 field_0x3b; + /* 0x3c */ u8 field_0x3c; + /* 0x3d */ u8 field_0x3d; + /* 0x3e */ u16 field_0x3e; + /* 0x40 */ u16 hurtType; + /* 0x42 */ u16 field_0x42; + /* 0x44 */ u16 field_0x44; + /* 0x46 */ u16 field_0x46; + /* 0x48 */ u16 field_0x48; + /* 0x4a */ u16 field_0x4a; + /* 0x4c */ struct_030010EC minecart_data[4]; + /* 0x6c */ struct_0300110C armos_data; +} RoomTransition; +static_assert(sizeof(RoomTransition) == 0xB0); +extern RoomTransition gRoomTransition; typedef struct { u8 type; @@ -186,13 +185,13 @@ typedef enum { DESTRUCTIBLE_TILE, GRASS_DROP_CHANGER, LOCATION_CHANGER, - TILE_ENTITY_D + TILE_ENTITY_D, } TileEntityType; extern void SetTileType(u32, u32, u32); extern void InitScreenShake(u32 time, u32 magnitude); -void sub_0804AFF4(void); +void CallRoomProp5And7(void); void LoadRoom(void); void SetCurrentRoomPropertyList(u32 area, u32 room); extern void* GetCurrentRoomProperty(u32); diff --git a/include/save.h b/include/save.h index 9dbba7ff..2e8015e1 100644 --- a/include/save.h +++ b/include/save.h @@ -23,10 +23,10 @@ typedef enum { extern SaveResult HandleSave(u32 arg0); typedef struct { - /*0x000*/ u8 unk_00; - /*0x000*/ u8 unk_01; - /*0x002*/ u8 messageSpeed; - /*0x003*/ u8 brightnessPref; + /*0x000*/ u8 invalid; + /*0x000*/ u8 initialized; + /*0x002*/ u8 msg_speed; + /*0x003*/ u8 brightness; /*0x004*/ u8 filler4[0x2]; /*0x006*/ u8 unk6; /*0x007*/ u8 unk7; @@ -37,9 +37,9 @@ typedef struct { /*0x050*/ u32 unk50; /*0x054*/ u8 filler54[0xC]; /*0x060*/ u32 areaVisitFlags[8]; - /*0x080*/ u8 playerName[FILENAME_LENGTH]; + /*0x080*/ char name[FILENAME_LENGTH]; /*0x086*/ u8 filler86[0x2]; - /*0x088*/ PlayerWorldStatus saved_status; + /*0x088*/ PlayerRoomStatus saved_status; /*0x0A8*/ Stats stats; /*0x0D0*/ u8 fillerD0[0x48]; /*0x118*/ u8 unk118[0x13]; @@ -51,7 +51,8 @@ typedef struct { /*0x25C*/ u8 flags[0x200]; /*0x45C*/ u8 unk45C[0x10]; /*0x46C*/ u8 unk46C[0x20]; - /*0x48C*/ u32 unk48C[8]; + /*0x48C*/ u32 unk48C[7]; + /*0x4A8*/ u32 demo_timer; /*0x4AC*/ u8 filler4ac[0x8]; } SaveFile; @@ -59,9 +60,9 @@ extern SaveFile gSave; u32 InitSaveData(void); -u32 Write_02000000(struct_02000000*); +u32 Write_02000000(SaveHeader*); s32 ReadSaveFile(u32, SaveFile*); -u32 Read_02000000(struct_02000000*); +u32 Read_02000000(SaveHeader*); void SetFileStatusDeleted(u32 index); extern const char gUnk_0811E470[]; diff --git a/include/structures.h b/include/structures.h index 1f368dcd..c6c8f80b 100644 --- a/include/structures.h +++ b/include/structures.h @@ -8,15 +8,15 @@ typedef struct { int signature; u8 saveFileId; - u8 messageSpeed; - u8 brightnessPref; - u8 gameLanguage; + u8 msg_speed; + u8 brightness; + u8 language; u8 name[6]; - u8 _e; + u8 invalid; u8 _f; -} struct_02000000; -#define gSaveHeader ((struct_02000000*)(0x2000000)) -// extern struct_02000000 gSaveHeader; +} SaveHeader; +#define gSaveHeader ((SaveHeader*)(0x2000000)) +// extern SaveHeader gSaveHeader; typedef struct { u8 unk_00; @@ -39,13 +39,13 @@ static_assert(sizeof(struct_02000010) == 0x20); extern struct_02000010 gUnk_02000010; typedef struct { - u16 transitionType; + u16 type; u8 field_0x2[4]; s16 playerXPos; s16 playerYPos; u8 field_0xa; - u8 areaID; - u8 roomID; + u8 area; + u8 room; u8 playerLayer; u8 field_0xe; u8 playerState; @@ -164,13 +164,8 @@ typedef struct { u16 _6; u8 _0[0x18]; struct OamData oam[0x80]; - OAMObj unk[0x100]; - u8 fill[10]; - u8 _426; - u8 _427; - u8 _428[6]; - u8 _42e; -} OAMSettings; -extern OAMSettings gUnk_03000000; + OAMObj unk[0xA0]; /* todo: affine */ +} OAMControls; +extern OAMControls gOAMControls; #endif diff --git a/linker.ld b/linker.ld index 9b1bf7e4..bd9ec0de 100644 --- a/linker.ld +++ b/linker.ld @@ -90,7 +90,7 @@ SECTIONS { . = 0x00022830; gUnk_02022830 = .; . = 0x00024030; gMessageChoices = .; . = 0x00024048; gUnk_02024048 = .; - . = 0x00024050; gUnk_02024050 = .; + . = 0x00024050; gRoomMemory = .; . = 0x00024090; gUnk_02024090 = .; . = 0x00024490; gGFXSlots = .; . = 0x00024494; gUnk_02024494 = .; @@ -158,7 +158,7 @@ SECTIONS { } >ewram iwram (NOLOAD) : ALIGN(4) { - . = 0x00000000; gUnk_03000000 = .; + . = 0x00000000; gOAMControls = .; . = 0x00000020; gUnk_03000020 = .; . = 0x00000420; gUnk_03000420 = .; . = 0x00000B80; gUnk_03000B80 = .; @@ -173,7 +173,7 @@ SECTIONS { . = 0x00001000; gMain = .; . = 0x00001010; gOamCmd = .; . = 0x00001020; gUnk_03001020 = .; - . = 0x000010A0; gScreenTransition = .; + . = 0x000010A0; gRoomTransition = .; . = 0x00001150; gRand = .; . = 0x00001160; gPlayerEntity = .; . = 0x000011E8; gUnk_030011E8 = .; @@ -436,7 +436,7 @@ SECTIONS { src/room.o(.text); src/roomInit.o(.text); src/fade.o(.text); - src/fileScreen.o(.text); + src/fileselect.o(.text); src/game.o(.text); asm/code_080526F8.o(.text); asm/modBombs.o(.text); @@ -1120,7 +1120,7 @@ SECTIONS { data/data_080D3D94.o(.rodata); data/map/entity_headers.o(.rodata); data/data_080FC3C4.o(.rodata); - src/fileScreen.o(.rodata); + src/fileselect.o(.rodata); data/data_080FC8A4.o(.rodata); src/game.o(.rodata); data/data_080FCAC8.o(.rodata); diff --git a/src/affine.c b/src/affine.c index 3339cc09..9656d7f3 100644 --- a/src/affine.c +++ b/src/affine.c @@ -21,42 +21,42 @@ NONMATCH("asm/non_matching/vram/sub_080AD8F0.inc", void* sub_080AD8F0(u32 sprite END_NONMATCH void FlushSprites(void) { - gUnk_03000000.updated = 0; + gOAMControls.updated = 0; } -NONMATCH("asm/non_matching/vram/sub_080AD918.inc", void sub_080AD918(void)) { +NONMATCH("asm/non_matching/vram/sub_080AD918.inc", void CopyOAM(void)) { s32 rem; u16* d; if (gMain.ticks.HALF.LO == 0) { - gUnk_03000000.unk[0x20].unk0 = gMain.ticks.HALF.LO; - gUnk_03000000.unk[0x48].unk4 = gMain.ticks.HALF.LO; - gUnk_03000000.unk[0x71].unk0 = gMain.ticks.HALF.LO; - gUnk_03000000.unk[0x99].unk4 = gMain.ticks.HALF.LO; + gOAMControls.unk[0x20].unk0 = gMain.ticks.HALF.LO; + gOAMControls.unk[0x48].unk4 = gMain.ticks.HALF.LO; + gOAMControls.unk[0x71].unk0 = gMain.ticks.HALF.LO; + gOAMControls.unk[0x99].unk4 = gMain.ticks.HALF.LO; } else { gMain.ticks.HALF.LO--; } - rem = 0x80 - gUnk_03000000.updated; - for (d = (u16*)&gUnk_03000000.oam[0x80 + gUnk_03000000.updated]; rem > 0; rem--) { + rem = 0x80 - gOAMControls.updated; + for (d = (u16*)&gOAMControls.oam[0x80 + gOAMControls.updated]; rem > 0; rem--) { *d = 0x2A0; (u8*)d += 6; } - if (gUnk_03000000.unk[0].unk7) { - gUnk_03000000.unk[0].unk7 = 0; - ObjAffineSet((struct ObjAffineSrcData*)gUnk_03000000.unk, &gUnk_03000000.oam[0].affineParam, 32, 8); + if (gOAMControls.unk[0].unk7) { + gOAMControls.unk[0].unk7 = 0; + ObjAffineSet((struct ObjAffineSrcData*)gOAMControls.unk, &gOAMControls.oam[0].affineParam, 32, 8); } - gUnk_03000000.field_0x0 = 1; + gOAMControls.field_0x0 = 1; } END_NONMATCH -void sub_080AD9B0(void) { +void DrawEntities(void) { void (*fn)(void); - gUnk_03000000._0[6] = gScreenTransition.field_0x2c[3] ? 15 : 0; - gUnk_03000000._4 = gRoomControls.aff_x + gRoomControls.roomScrollX; - gUnk_03000000._6 = gRoomControls.aff_y + gRoomControls.roomScrollY; - gUnk_03000000.field_0x1++; + gOAMControls._0[6] = gRoomTransition.field_0x2c[3] ? 15 : 0; + gOAMControls._4 = gRoomControls.aff_x + gRoomControls.scroll_x; + gOAMControls._6 = gRoomControls.aff_y + gRoomControls.scroll_y; + gOAMControls.field_0x1++; fn = &gUnk_03006164; fn(); } diff --git a/src/code_08049CD4.c b/src/code_08049CD4.c index c7012cfa..68f78d10 100644 --- a/src/code_08049CD4.c +++ b/src/code_08049CD4.c @@ -1,13 +1,13 @@ #include "global.h" extern u32* gUnk_020354B0; -extern u32 gUnk_02024050; +extern u32 gRoomMemory; extern void MemFill32(u32, void*, u32); -void sub_08049CD4() { - MemFill32(0xFFFFFFFF, &gUnk_02024050, 0x40); - gUnk_020354B0 = &gUnk_02024050; +void ClearRoomMemory() { + MemFill32(0xFFFFFFFF, &gRoomMemory, 0x40); + gUnk_020354B0 = &gRoomMemory; } void sub_08049CF4(u8* arg0) { diff --git a/src/code_0805436C.c b/src/code_0805436C.c index eade294e..a1ef817c 100644 --- a/src/code_0805436C.c +++ b/src/code_0805436C.c @@ -149,7 +149,7 @@ NONMATCH("asm/non_matching/sub_08054524.inc", void sub_08054524(void)) { bVar1 = gArea.locationIndex; if (gArea.locationIndex == 0) { - bVar1 = gScreenTransition.player_status.field_0x24[0xa]; + bVar1 = gRoomTransition.player_status.field_0x24[0xa]; } if (bVar1 > 0x16) { bVar1 = 0; @@ -263,7 +263,7 @@ u32 CreateItemDrop(Entity* arg0, u32 itemID, u32 itemParameter) { } */ -void sub_08054870(void) { +void Subtask_WorldEvent(void) { #if !(defined(DEMO_USA) || defined(DEMO_JP)) gUnk_080FE2A0[gMenu.menuType](); #endif diff --git a/src/code_0805EC04.c b/src/code_0805EC04.c index 1dfb2465..93b41d3f 100644 --- a/src/code_0805EC04.c +++ b/src/code_0805EC04.c @@ -4,7 +4,7 @@ bool32 sub_0805EC04(Entity* this) { u32 i = 1; - OAMSettings* temp = &gUnk_03000000; + OAMControls* temp = &gOAMControls; u32 j = 1; for (; i < 0x20; i++) { if (temp->unk[i].unk6 == 0) { @@ -19,13 +19,13 @@ bool32 sub_0805EC04(Entity* this) { void sub_0805EC60(Entity* this) { u8 temp; - OAMSettings* temp2; + OAMControls* temp2; if (this->spriteRendering.b0 != 0) { this->spriteRendering.b0 = 0; temp = this->spriteOrientation.b1; this->spriteOrientation.b1 = 0; - temp2 = &gUnk_03000000; + temp2 = &gOAMControls; temp2->unk[temp].unk6 = 0; } } @@ -35,9 +35,9 @@ ASM_FUNC("asm/non_matching/sub_0805EC9C.inc", bool32 sub_0805EC9C(Entity* ent, u void sub_0805ECEC(int param_1, u32 param_2, u32 param_3, u32 param_4) { u16* temp; - gUnk_03000000.unk[0].unk7 = 1; + gOAMControls.unk[0].unk7 = 1; - temp = &gUnk_03000000.unk[param_1].unk0; + temp = &gOAMControls.unk[param_1].unk0; temp[0] = param_2; temp[1] = param_3; temp[2] = param_4; diff --git a/src/color.c b/src/color.c index 8a69184a..4a5e0ed5 100644 --- a/src/color.c +++ b/src/color.c @@ -7,7 +7,7 @@ void LoadObjPaletteAtIndex(u32 a1, u32 a2); static void sub_0801CFD0(u32 a1); -void sub_0801CFA8(u32 a1) { +void ResetPaletteTable(u32 a1) { u32 i; MemClear(gPaletteList, 0x40); diff --git a/src/common.c b/src/common.c index 2a8fef53..ef97b516 100644 --- a/src/common.c +++ b/src/common.c @@ -6,7 +6,7 @@ #include "main.h" #include "area.h" #include "room.h" -#include "fileScreen.h" +#include "fileselect.h" #include "game.h" #include "flags.h" #include "kinstone.h" @@ -266,17 +266,17 @@ void LoadGfxGroup(u32 group) { case 0xD: return; case 0xE: - if (gSaveHeader->gameLanguage != 0 && gSaveHeader->gameLanguage != 1) { + if (gSaveHeader->language != 0 && gSaveHeader->language != 1) { loadGfx = TRUE; } break; case 0xF: - if (gSaveHeader->gameLanguage != 0) { + if (gSaveHeader->language != 0) { loadGfx = TRUE; } break; default: - if (ctrl == gSaveHeader->gameLanguage) { + if (ctrl == gSaveHeader->language) { loadGfx = TRUE; } break; @@ -350,7 +350,7 @@ void DispReset(bool32 refresh) { } void ClearOAM(void) { - u8* d = (u8*)gUnk_03000000.oam; + u8* d = (u8*)gOAMControls.oam; u8* mem = (u8*)0x07000000; u32 i; for (i = 128; i != 0; --i) { @@ -376,7 +376,7 @@ void ResetScreenRegs(void) { } u32 sub_0801DB94(void) { - return gScreenTransition.player_status.dungeon_map_y >> 11; + return gRoomTransition.player_status.dungeon_map_y >> 11; } ASM_FUNC("asm/non_matching/common/DrawDungeonMap.inc", void DrawDungeonMap(u32 floor, struct_02019EE0* data, u32 size)); diff --git a/src/coord.c b/src/coord.c index 3ee708e6..5eb5c81d 100644 --- a/src/coord.c +++ b/src/coord.c @@ -169,14 +169,14 @@ void LinearMoveUpdate(Entity* ent) { } void sub_0806F704(Entity* ent, u32 a2) { - ent->x.HALF.HI = (((16 * a2) & 0x3F0) | 8) + gRoomControls.roomOriginX; - ent->y.HALF.HI = (((a2 >> 2) & 0x3F0) | 8) + gRoomControls.roomOriginY; + ent->x.HALF.HI = (((16 * a2) & 0x3F0) | 8) + gRoomControls.origin_x; + ent->y.HALF.HI = (((a2 >> 2) & 0x3F0) | 8) + gRoomControls.origin_y; } u32 sub_0806F730(Entity* ent) { u32 tmp = 0x3F; - u32 x = ent->x.HALF.HI + ent->hitbox->offset_x - gRoomControls.roomOriginX; - u32 y = ent->y.HALF.HI + ent->hitbox->offset_y - gRoomControls.roomOriginY; + u32 x = ent->x.HALF.HI + ent->hitbox->offset_x - gRoomControls.origin_x; + u32 y = ent->y.HALF.HI + ent->hitbox->offset_y - gRoomControls.origin_y; switch (ent->animationState) { case 0: y -= ent->hitbox->unk2[3]; @@ -195,8 +195,8 @@ u32 sub_0806F730(Entity* ent) { } u32 sub_0806F798(Entity* ent) { - u32 hitboxX = ent->x.HALF.HI + ent->hitbox->offset_x - gRoomControls.roomOriginX; - u32 hitboxY = ent->y.HALF.HI + ent->hitbox->offset_y - gRoomControls.roomOriginY; + u32 hitboxX = ent->x.HALF.HI + ent->hitbox->offset_x - gRoomControls.origin_x; + u32 hitboxY = ent->y.HALF.HI + ent->hitbox->offset_y - gRoomControls.origin_y; u32 mask = 0x3f; return (mask & (hitboxX >> 4)) + ((mask & (hitboxY >> 4)) << 6); } diff --git a/src/debugScreen.c b/src/debugScreen.c index 9eded432..de141619 100644 --- a/src/debugScreen.c +++ b/src/debugScreen.c @@ -9,8 +9,8 @@ extern void (*const gUnk_08109A30[])(); -void HandleDebugTextScreen() { - gUnk_08109A30[gMain.funcIndex](); +void DebugTask() { + gUnk_08109A30[gMain.state](); } void sub_0805FA04(void) { @@ -27,10 +27,10 @@ void sub_0805FA04(void) { MessageInitialize(); MemClear((void*)&gUnk_02032EC0, sizeof(UI)); MemClear((void*)&gMenu, sizeof(Menu)); - gMenu.unk16 = gSaveHeader->gameLanguage; - sub_08053320(); + gMenu.unk16 = gSaveHeader->language; + LoadGfxGroups(); SetColor(0, 0x1144); - gMain.funcIndex = 1; + gMain.state = 1; InitSoundPlayingInfo(); sub_08050008(); } @@ -56,7 +56,7 @@ void sub_0805FA98(void) { } break; case R_BUTTON: - gSaveHeader->gameLanguage = gMenu.unk16; + gSaveHeader->language = gMenu.unk16; MessageFromTarget(gMenu.unk14 * 0x100 + gMenu.unk15); break; case B_BUTTON: @@ -91,5 +91,5 @@ void sub_0805FA98(void) { } void sub_0805FBC4() { - InitScreen(0); + SetTask(TASK_TITLE); } diff --git a/src/demoScreen.c b/src/demoScreen.c index 2f6ad402..e3185859 100644 --- a/src/demoScreen.c +++ b/src/demoScreen.c @@ -3,7 +3,7 @@ #include "main.h" #include "common.h" #include "message.h" -#include "fileScreen.h" +#include "fileselect.h" #include "screen.h" extern void (*const demoFunctions[])(void); @@ -23,11 +23,11 @@ extern u16 gUnk_08127CC8[4]; extern void* gUnk_08127C98; extern u8 gUnk_08A068BF[129]; -void HandleChooseDemoScreen(void) { +void DemoTask(void) { FlushSprites(); - demoFunctions[gMain.funcIndex](); + demoFunctions[gMain.state](); sub_080A30AC(); - sub_080AD918(); + CopyOAM(); } void sub_080A2E40(void) { @@ -37,11 +37,11 @@ void sub_080A2E40(void) { MessageInitialize(); EraseAllEntities(); ResetPalettes(); - sub_0801CFA8(0); + ResetPaletteTable(0); MemClear(&gUnk_02032EC0, sizeof gUnk_02032EC0); MemClear(&gChooseFileState, sizeof gChooseFileState); MemClear(&gBG0Buffer, sizeof gBG0Buffer); - sub_08053320(); + LoadGfxGroups(); LoadPaletteGroup(0xb5); LoadGfxGroup(0x56); MemCopy(&gUnk_089FD1B4, &gUnk_02017760[0], 0x100); @@ -65,27 +65,27 @@ void sub_080A2E40(void) { *(u8*)(addr + 4) = 0; } sub_080A3198(0, 0); - gMain.funcIndex = 1; + gMain.state = 1; SoundReq(BGM_FILE_SELECT); DoFade(4, 8); } void sub_080A2F8C(void) { if (gFadeControl.active == 0) { - switch (gMain.transition) { + switch (gMain.substate) { case 0: - gMain.transition = 1; + gMain.substate = 1; { // TODO write to 0x2000005 u32 addr = (0x80 << 0x12); *(u8*)(addr + 5) = 1; *(u8*)(addr + 6) = 1; } - gMain.funcIndex = 2; + gMain.state = 2; DoFade(5, 8); break; case 1: - InitScreen(2); + SetTask(TASK_GAME); break; } } @@ -125,8 +125,8 @@ NONMATCH("asm/non_matching/demoScreen/sub_080A2FD0.inc", void sub_080A2FD0(void) case START_BUTTON: case A_BUTTON: { if (gChooseFileState.unk_0x0 == 0) { - gMain.screen = 2; - gMain.funcIndex = gChooseFileState.unk_0x0; + gMain.task = 2; + gMain.state = gChooseFileState.unk_0x0; SoundReq(SFX_TEXTBOX_SELECT); } } diff --git a/src/enemy/bombPeahat.c b/src/enemy/bombPeahat.c index 79b485f0..3a3eddc7 100644 --- a/src/enemy/bombPeahat.c +++ b/src/enemy/bombPeahat.c @@ -136,19 +136,19 @@ void sub_0802A9A8(Entity* this) { sub_0802ACDC(this, 8); } } else { - if (gRoomControls.unk2 != 0) { + if (gRoomControls.reload_flags != 0) { return; } this->spriteSettings.draw = 1; this->field_0x82.HWORD = 1; if (this->field_0x80.HALF.LO) { - this->x.HALF.HI = gRoomControls.roomScrollX - 0x10; + this->x.HALF.HI = gRoomControls.scroll_x - 0x10; this->direction = 8; } else { - this->x.HALF.HI = gRoomControls.roomScrollX + 0x100; + this->x.HALF.HI = gRoomControls.scroll_x + 0x100; this->direction = 0x18; } - this->y.HALF.HI = gRoomControls.roomScrollY + 0x40; + this->y.HALF.HI = gRoomControls.scroll_y + 0x40; this->actionDelay = 0x80; sub_0802ADDC(this); } @@ -311,9 +311,9 @@ void sub_0802AC40(Entity* this) { void sub_0802ACDC(Entity* this, u32 param_2) { u32 x; if (this->field_0x80.HALF.LO) { - x = sub_080045B4(this, gRoomControls.roomScrollX + 0x20, gRoomControls.roomScrollY + 0x60); + x = sub_080045B4(this, gRoomControls.scroll_x + 0x20, gRoomControls.scroll_y + 0x60); } else { - x = sub_080045B4(this, gRoomControls.roomScrollX + 0xd0, gRoomControls.roomScrollY + 0x60); + x = sub_080045B4(this, gRoomControls.scroll_x + 0xd0, gRoomControls.scroll_y + 0x60); } sub_08004596(this, x); this->field_0xf = param_2; @@ -333,13 +333,13 @@ void sub_0802AD1C(Entity* this, u32 param_2) { void sub_0802AD54(Entity* this) { if (this->field_0x82.HWORD != 0) { - if (gRoomControls.unk2 != 0) { + if (gRoomControls.reload_flags != 0) { this->spriteSettings.draw = 0; DeleteEntity(this); return; } - if (gRoomControls.roomOriginY > this->y.HALF.HI || - (gRoomControls.roomOriginY + gRoomControls.height + 0x20) < this->y.HALF.HI) { + if (gRoomControls.origin_y > this->y.HALF.HI || + (gRoomControls.origin_y + gRoomControls.height + 0x20) < this->y.HALF.HI) { this->spriteSettings.draw = 0; } else { this->spriteSettings.draw = 1; @@ -504,8 +504,8 @@ void sub_0802B048(Entity* this) { u32 action; if (this->field_0x7a.HALF.HI) { - if (gRoomControls.roomOriginY > this->y.HALF.HI || - (gRoomControls.roomOriginY + gRoomControls.height + 0x20) < this->y.HALF.HI) { + if (gRoomControls.origin_y > this->y.HALF.HI || + (gRoomControls.origin_y + gRoomControls.height + 0x20) < this->y.HALF.HI) { COLLISION_OFF(this); } else { COLLISION_ON(this); diff --git a/src/enemy/code_080300AC.c b/src/enemy/code_080300AC.c index e3f5c2ef..ef851cc2 100644 --- a/src/enemy/code_080300AC.c +++ b/src/enemy/code_080300AC.c @@ -2,14 +2,14 @@ #include "common.h" #include "functions.h" -void sub_080300AC(void) { - MemClear(&gScreenTransition.armos_data, sizeof(gScreenTransition.armos_data)); - gScreenTransition.armos_data.field_0xae = 0xff; +void ClearArmosData(void) { + MemClear(&gRoomTransition.armos_data, sizeof(gRoomTransition.armos_data)); + gRoomTransition.armos_data.field_0xae = 0xff; } void sub_080300C4(void) { - if (gScreenTransition.armos_data.field_0xae == 0xff) { - gScreenTransition.armos_data.field_0xac = 0; - MemClear(&gScreenTransition.armos_data.data, sizeof(gScreenTransition.armos_data.data)); + if (gRoomTransition.armos_data.field_0xae == 0xff) { + gRoomTransition.armos_data.field_0xac = 0; + MemClear(&gRoomTransition.armos_data.data, sizeof(gRoomTransition.armos_data.data)); } } diff --git a/src/enemy/fallingBoulder.c b/src/enemy/fallingBoulder.c index e7edf50f..bac04237 100644 --- a/src/enemy/fallingBoulder.c +++ b/src/enemy/fallingBoulder.c @@ -61,7 +61,7 @@ void sub_0802C318(Entity* this) { NONMATCH("asm/non_matching/fallingBoulder/sub_0802C334.inc", void sub_0802C334(Entity* this)) { if ((u16)this->field_0x7c.HALF.LO == 0) { - u32 tmp = gRoomControls.roomOriginY; + u32 tmp = gRoomControls.origin_y; if (&gPlayerEntity == NULL) return; if (tmp - gPlayerEntity.y.HALF.HI <= 0x38) { @@ -106,7 +106,7 @@ NONMATCH("asm/non_matching/fallingBoulder/sub_0802C334.inc", void sub_0802C334(E } } - y = gRoomControls.roomOriginY + gRoomControls.height - this->y.HALF.HI; + y = gRoomControls.origin_y + gRoomControls.height - this->y.HALF.HI; if (y >= 5) { sub_080AEFB4(this); } else { diff --git a/src/enemy/gyorgMale.c b/src/enemy/gyorgMale.c index 95aac9ab..dc99d749 100644 --- a/src/enemy/gyorgMale.c +++ b/src/enemy/gyorgMale.c @@ -1,7 +1,7 @@ #include "global.h" #include "enemy.h" #include "player.h" -#include "fileScreen.h" +#include "fileselect.h" #include "functions.h" void (*const gUnk_080D1AFC[8])(Entity*); @@ -98,7 +98,7 @@ void GyorgMale(Entity* this) { this->animationState = -(this->field_0x78.HWORD >> 8); sub_08048004(this); this->field_0x7c.BYTES.byte1 = this->spriteSettings.draw; - if (this->spriteSettings.draw == 1 && (this->y.HALF.HI - gRoomControls.roomScrollY + 0x30) > 0x100u) { + if (this->spriteSettings.draw == 1 && (this->y.HALF.HI - gRoomControls.scroll_y + 0x30) > 0x100u) { this->spriteSettings.draw = 0; } this->cutsceneBeh.HWORD = gPlayerEntity.x.HALF.HI; @@ -162,7 +162,7 @@ void sub_08046930(Entity* this) { void sub_0804696C(Entity* this) { sub_08047E48(this); - if (gRoomControls.roomOriginY + 0x130 > this->y.HALF.HI) { + if (gRoomControls.origin_y + 0x130 > this->y.HALF.HI) { this->subAction = 2; this->direction = 0x80; this->speed = 0x100; @@ -174,9 +174,9 @@ void sub_0804696C(Entity* this) { } if (this->actionDelay) { #ifdef EU - if (gRoomControls.roomOriginY + 0x210 > this->y.HALF.HI) { + if (gRoomControls.origin_y + 0x210 > this->y.HALF.HI) { #else - if (gRoomControls.roomOriginY + 0x258 > this->y.HALF.HI) { + if (gRoomControls.origin_y + 0x258 > this->y.HALF.HI) { #endif this->actionDelay = 0; SoundReq(SFX_APPARATE); @@ -186,7 +186,7 @@ void sub_0804696C(Entity* this) { void sub_080469CC(Entity* this) { sub_08047E48(this); - if (gRoomControls.roomOriginY + 0x210 < this->y.HALF.HI) { + if (gRoomControls.origin_y + 0x210 < this->y.HALF.HI) { this->subAction = 3; this->direction = 0x90; } @@ -194,7 +194,7 @@ void sub_080469CC(Entity* this) { void sub_080469F4(Entity* this) { sub_08047E48(this); - if (gRoomControls.roomOriginY + 0x290 < this->y.HALF.HI) { + if (gRoomControls.origin_y + 0x290 < this->y.HALF.HI) { this->subAction = 4; this->spriteOrientation.flipY = 2; this->spriteRendering.b3 = 2; @@ -211,7 +211,7 @@ void sub_08046A30(Entity* this) { void sub_08046A54(Entity* this) { sub_08047E48(this); - if (gRoomControls.roomOriginX + 0x380 < this->x.HALF.HI) { + if (gRoomControls.origin_x + 0x380 < this->x.HALF.HI) { this->subAction = 6; } } @@ -268,8 +268,8 @@ void sub_08046B8C(Entity* this) { if (sub_0806FCB8(this, this->field_0x80.HWORD, this->field_0x82.HWORD, 4)) { this->subAction = 3; this->field_0x76.HWORD = this->direction << 8; - this->field_0x80.HWORD = gRoomControls.roomOriginX + 0x200; - this->field_0x82.HWORD = gRoomControls.roomOriginY + 0x210; + this->field_0x80.HWORD = gRoomControls.origin_x + 0x200; + this->field_0x82.HWORD = gRoomControls.origin_y + 0x210; sub_08047D88(this); } else { this->direction = @@ -331,8 +331,8 @@ void sub_08046D44(Entity* this) { this->subAction = 1; this->speed = 0x200; tmp = gUnk_080D1B60 + (((Entity*)this->myHeap)->next->animationState >> 5); - this->field_0x80.HWORD = tmp[0] + gRoomControls.roomOriginX; - this->field_0x82.HWORD = tmp[1] + gRoomControls.roomOriginY; + this->field_0x80.HWORD = tmp[0] + gRoomControls.origin_x; + this->field_0x82.HWORD = tmp[1] + gRoomControls.origin_y; this->field_0x76.HWORD = this->direction << 8; sub_08047D88(this); } @@ -440,8 +440,8 @@ void sub_08046FE8(Entity* this) { this->subAction = 1; this->speed = 0x1c0; this->field_0x7c.HALF.HI = 0x1e; - this->field_0x80.HWORD = gRoomControls.roomOriginX + 0x290; - this->field_0x82.HWORD = gRoomControls.roomOriginY + 0x190; + this->field_0x80.HWORD = gRoomControls.origin_x + 0x290; + this->field_0x82.HWORD = gRoomControls.origin_y + 0x190; sub_08047D88(this); } @@ -499,7 +499,7 @@ void sub_0804717C(Entity* this) { this->speed += 8; } sub_08047DF0(this, ((0x100 - this->direction) & 0xFF) << 8); - if (gRoomControls.roomOriginX + 0x200 > this->x.HALF.HI) { + if (gRoomControls.origin_x + 0x200 > this->x.HALF.HI) { this->subAction = 5; } } @@ -512,7 +512,7 @@ void sub_080471C8(Entity* this) { this->direction++; } sub_08047DF0(this, ((0x100 - this->direction) & 0xFF) << 8); - if (gRoomControls.roomOriginY + 0x190 <= this->y.HALF.HI) + if (gRoomControls.origin_y + 0x190 <= this->y.HALF.HI) return; if (this->field_0x74.HWORD > 0x100) { if (Random() & 1) { @@ -552,7 +552,7 @@ void sub_080472BC(Entity* this) { this->speed += 8; } sub_08047DF0(this, ((0x100 - this->direction) & 0xFF) << 8); - if (gRoomControls.roomOriginX + 0x2B0 >= this->x.HALF.HI) + if (gRoomControls.origin_x + 0x2B0 >= this->x.HALF.HI) return; this->subAction = 9; this->field_0x76.HWORD = this->direction << 8; @@ -591,8 +591,8 @@ void sub_0804736C(Entity* this) { void sub_080473B8(Entity* this) { this->subAction = 1; this->speed = 0x120; - this->field_0x80.HWORD = gRoomControls.roomOriginX + 0x200; - this->field_0x82.HWORD = gRoomControls.roomOriginY + 0x1D0; + this->field_0x80.HWORD = gRoomControls.origin_x + 0x200; + this->field_0x82.HWORD = gRoomControls.origin_y + 0x1D0; sub_08047D88(this); } @@ -645,9 +645,9 @@ void sub_08047484(Entity* this) { } void sub_08047508(Entity* this) { - if (gRoomControls.roomOriginX + 0x1A0 < this->x.HALF.HI) { + if (gRoomControls.origin_x + 0x1A0 < this->x.HALF.HI) { if (this->direction == 0) { - if (gRoomControls.roomOriginY + 0x208 >= this->y.HALF.HI) { + if (gRoomControls.origin_y + 0x208 >= this->y.HALF.HI) { this->field_0x74.HWORD = -this->field_0x74.HWORD; this->field_0x76.HWORD += this->field_0x74.HWORD; this->direction = this->field_0x76.HWORD >> 8; @@ -673,7 +673,7 @@ void sub_08047508(Entity* this) { } } sub_08047E48(this); - if (gRoomControls.roomOriginX + 0x280 < this->x.HALF.HI) { + if (gRoomControls.origin_x + 0x280 < this->x.HALF.HI) { this->subAction = 4; this->speed = 0x200; this->animationState = this->direction; @@ -700,9 +700,9 @@ void sub_080475F4(Entity* this) { } void sub_0804763C(Entity* this) { - if (gRoomControls.roomOriginX + 0x1F0 > this->x.HALF.HI) { + if (gRoomControls.origin_x + 0x1F0 > this->x.HALF.HI) { if (this->direction == 0) { - if (gRoomControls.roomOriginY + 0x208 >= this->y.HALF.HI) { + if (gRoomControls.origin_y + 0x208 >= this->y.HALF.HI) { this->field_0x74.HWORD = -this->field_0x74.HWORD; this->field_0x76.HWORD += this->field_0x74.HWORD; this->direction = this->field_0x76.HWORD >> 8; @@ -728,7 +728,7 @@ void sub_0804763C(Entity* this) { } } sub_08047E48(this); - if (gRoomControls.roomOriginX + 0x180 > this->x.HALF.HI) { + if (gRoomControls.origin_x + 0x180 > this->x.HALF.HI) { this->subAction = 6; this->speed = 0x200; this->animationState = this->direction; @@ -764,13 +764,13 @@ void sub_08047778(Entity* this) { void sub_08047798(Entity* this) { this->subAction = 1; this->speed = 0x80; - if (this->x.HALF.HI - gRoomControls.roomOriginX < 0x1F8) { + if (this->x.HALF.HI - gRoomControls.origin_x < 0x1F8) { this->field_0x80.HWORD = 0xa8; } else { this->field_0x80.HWORD = 0x348; } - this->field_0x80.HWORD += gRoomControls.roomOriginX; - this->field_0x82.HWORD = gRoomControls.roomOriginY + 0x348; + this->field_0x80.HWORD += gRoomControls.origin_x; + this->field_0x82.HWORD = gRoomControls.origin_y + 0x348; sub_08047D88(this); } @@ -790,7 +790,7 @@ void sub_080477F0(Entity* this) { this->direction = this->animationState; return; } - if (!sub_0806FCB8(this, gRoomControls.roomOriginX + 0x200, gRoomControls.roomOriginY + 0x210, 0x100)) { + if (!sub_0806FCB8(this, gRoomControls.origin_x + 0x200, gRoomControls.origin_y + 0x210, 0x100)) { this->spriteOrientation.flipY = 3; this->spriteRendering.b3 = 3; } @@ -800,7 +800,7 @@ void sub_080477F0(Entity* this) { this->field_0x74.HWORD = gUnk_080D1BF0[Random() & 1]; if (((Entity*)this->myHeap)->prev->field_0x6c.HWORD & 1) { ((Entity*)this->myHeap)->next->field_0x78.HALF.HI = - gRoomControls.roomOriginX + 0x200 > this->x.HALF.HI ? 0x81 : 0x83; + gRoomControls.origin_x + 0x200 > this->x.HALF.HI ? 0x81 : 0x83; } else { ((Entity*)this->myHeap)->next->field_0x78.HALF.HI = 0x80; } @@ -861,25 +861,25 @@ void sub_08047978(Entity* this) { this->subAction = 4; if (this->type == 0) { if ((((Entity*)this->myHeap)->next->animationState >> 6) == 1) { - this->field_0x80.HWORD = gRoomControls.roomOriginX + 0x1C0; - this->field_0x82.HWORD = gRoomControls.roomOriginY + 0x250; + this->field_0x80.HWORD = gRoomControls.origin_x + 0x1C0; + this->field_0x82.HWORD = gRoomControls.origin_y + 0x250; } else { - this->field_0x80.HWORD = gRoomControls.roomOriginX + 0x240; - this->field_0x82.HWORD = gRoomControls.roomOriginY + 0x250; + this->field_0x80.HWORD = gRoomControls.origin_x + 0x240; + this->field_0x82.HWORD = gRoomControls.origin_y + 0x250; } } else { - if (gRoomControls.roomOriginX + 0x200 < this->x.HALF.HI) { + if (gRoomControls.origin_x + 0x200 < this->x.HALF.HI) { this->field_0x80.HWORD = 0x190; } else { this->field_0x80.HWORD = 0x270; } - this->field_0x80.HWORD += gRoomControls.roomOriginX; - if (gRoomControls.roomOriginY + 0x210 < this->y.HALF.HI) { + this->field_0x80.HWORD += gRoomControls.origin_x; + if (gRoomControls.origin_y + 0x210 < this->y.HALF.HI) { this->field_0x82.HWORD = 0x1A0; } else { this->field_0x82.HWORD = 0x280; } - this->field_0x82.HWORD += gRoomControls.roomOriginY; + this->field_0x82.HWORD += gRoomControls.origin_y; } } @@ -914,7 +914,7 @@ void sub_08047BA4(Entity* this) { this->subAction = 1; this->actionDelay = 0x78; this->field_0xf = 0; - if (gRoomControls.roomOriginX + 0x200 < this->x.HALF.HI) { + if (gRoomControls.origin_x + 0x200 < this->x.HALF.HI) { this->field_0x76.HWORD = 0x78; } else { this->field_0x76.HWORD = 0x88; @@ -946,7 +946,7 @@ void sub_08047BF0(Entity* this) { this->direction = this->field_0x76.HWORD; this->speed = 0x140; sub_08047E48(this); - if (this->y.HALF.HI > gRoomControls.roomOriginY + 0x270) { + if (this->y.HALF.HI > gRoomControls.origin_y + 0x270) { this->subAction = 2; this->field_0x7c.HALF.HI = 0xAA; SoundReq(SFX_12D); @@ -1117,8 +1117,8 @@ void sub_08048004(Entity* this) { if (this->field_0x7c.BYTES.byte0 & 1) { u32 b = this->spriteRendering.b3; if (b == 3) { - s32 posX = ((gPlayerEntity.x.HALF.HI - gRoomControls.roomOriginX) >> 3); - s32 posY = ((gPlayerEntity.y.HALF.HI - gRoomControls.roomOriginY) >> 3); + s32 posX = ((gPlayerEntity.x.HALF.HI - gRoomControls.origin_x) >> 3); + s32 posY = ((gPlayerEntity.y.HALF.HI - gRoomControls.origin_y) >> 3); u16* tmp = (u16*)&gUnk_02019EE0; if (tmp[(posY << 7) + posX]) { if (!(this->field_0x7c.BYTES.byte0 & 2)) { @@ -1169,6 +1169,6 @@ const u16 gUnk_080D1C60[8] = { 0x200, 0x150, 0x290, 0x210, 0x200, 0x2D0, 0x170, void sub_08048178(Entity* this, u32 unk1) { const u16* tmp = ((((Entity*)this->myHeap)->next->animationState >> 6 & 1) ? gUnk_080D1C60 + unk1 : gUnk_080D1C50 + unk1); - this->field_0x80.HWORD = *tmp + gRoomControls.roomOriginX; - this->field_0x82.HWORD = *(tmp + 1) + gRoomControls.roomOriginY; + this->field_0x80.HWORD = *tmp + gRoomControls.origin_x; + this->field_0x82.HWORD = *(tmp + 1) + gRoomControls.origin_y; } diff --git a/src/enemy/mazaalBracelet.c b/src/enemy/mazaalBracelet.c index 2aa1f808..9f40f40c 100644 --- a/src/enemy/mazaalBracelet.c +++ b/src/enemy/mazaalBracelet.c @@ -196,7 +196,7 @@ void sub_0803A274(Entity* this) { this->spriteSettings.flipX = 1; PositionRelative(this->parent, this, -0x100000, 0x200000); } - if (gScreenTransition.field_0x38 != 0) { + if (gRoomTransition.field_0x38 != 0) { this->action = 3; COLLISION_ON(this); this->spriteSettings.draw = 1; @@ -1210,8 +1210,8 @@ void sub_0803B724(Entity* param_1) { pEVar1->type2 = 1; random_value = Random(); temp = gUnk_080CFD1B[param_1->type]; - pEVar1->x.HALF.HI = (random_value & 0x70) + temp + gRoomControls.roomOriginX; - pEVar1->y.HALF.HI = ((random_value >> 0x10) & 7) * 10 + 0x5c + gRoomControls.roomOriginY; + pEVar1->x.HALF.HI = (random_value & 0x70) + temp + gRoomControls.origin_x; + pEVar1->y.HALF.HI = ((random_value >> 0x10) & 7) * 10 + 0x5c + gRoomControls.origin_y; pEVar1->parent = param_1; ResolveCollisionLayer(pEVar1); param_1->field_0xf++; @@ -1282,7 +1282,7 @@ void sub_0803B8F8(Entity* this) { } void sub_0803B910(Entity* this) { - if (gScreenTransition.field_0x38 != 0) { + if (gRoomTransition.field_0x38 != 0) { this->action = 2; this->spriteSettings.draw = 1; *(u8*)&this->field_0x74 = 0; diff --git a/src/enemy/mazaalHead.c b/src/enemy/mazaalHead.c index 64f9b1c1..3898f0c0 100644 --- a/src/enemy/mazaalHead.c +++ b/src/enemy/mazaalHead.c @@ -119,7 +119,7 @@ void sub_08033F3C(Entity* this) { Entity* pEVar2; if (gEntCount < 0x43) { - if (gScreenTransition.field_0x38 != 0) { + if (gRoomTransition.field_0x38 != 0) { sub_08034420(this); this->field_0x80.HALF.HI = 1; } else { @@ -133,7 +133,7 @@ void sub_08033F3C(Entity* this) { pEVar1->parent = this; pEVar2 = CreateObject(OBJECT_7E, 0, 0); pEVar2->parent = this; - if (gScreenTransition.field_0x39 == 0) { + if (gRoomTransition.field_0x39 == 0) { this->action = 0xd; this->subAction = 0; this->actionDelay = 0xfc; @@ -215,7 +215,7 @@ void sub_08033FFC(Entity* this) { break; default: if (((*(Entity**)&this->field_0x74)->flags & 0x80) != 0) { - gRoomControls.cameraTarget = &gPlayerEntity; + gRoomControls.camera_target = &gPlayerEntity; sub_08034420(this); gPlayerState.controlMode = 1; ResetPlayerAnimationAndAction(); @@ -227,8 +227,8 @@ void sub_08033FFC(Entity* this) { void sub_0803414C(Entity* this) { u32 x, y; - x = gRoomControls.roomOriginX + 0xb8; - y = gRoomControls.roomOriginY + 0x48; + x = gRoomControls.origin_x + 0xb8; + y = gRoomControls.origin_y + 0x48; if (this->x.HALF.HI - x + 1 < 3 && this->y.HALF.HI - y + 1 < 3) { if (sub_080349D8(this)) { @@ -377,10 +377,10 @@ void sub_0803442C(Entity* this, u32 unk) { void sub_0803443C(Entity* this) { this->field_0x7c.BYTES.byte1 = 0; - if (gScreenTransition.field_0x39 < 0x1f) { + if (gRoomTransition.field_0x39 < 0x1f) { sub_080344BC(this); } else { - if (gScreenTransition.field_0x39 < 0x3d) { + if (gRoomTransition.field_0x39 < 0x3d) { sub_08034498(this); } else { sub_08034474(this); @@ -544,7 +544,7 @@ NONMATCH("asm/non_matching/mazaal/sub_0803473C.inc", void sub_0803473C(Entity* t } playerX = gPlayerEntity.x.HALF.HI + 0x60; } - roomX = gRoomControls.roomOriginX; + roomX = gRoomControls.origin_x; if (playerX - 4 > this->x.HALF.HI) { if (roomX + 0xe0 < this->x.HALF.HI) { return; @@ -567,7 +567,7 @@ END_NONMATCH NONMATCH("asm/non_matching/mazaal/sub_080347B4.inc", void sub_080347B4(Entity* this)) { u32 direction; u32 playerX = gPlayerEntity.x.HALF.HI; - u32 roomX = gRoomControls.roomOriginX; + u32 roomX = gRoomControls.origin_x; if (playerX - 4 > this->x.HALF.HI) { if (roomX + 0xe0 < this->x.HALF.HI) { return; @@ -810,9 +810,9 @@ void sub_08034BC8(Entity* this) { void sub_08034C00(Entity* this) { if (((gPlayerState.flags & PL_MINISH) != 0) && - CheckPlayerInRegion(this->x.HALF.HI - gRoomControls.roomOriginX, - this->y.HALF.HI - gRoomControls.roomOriginY + 0xd, 3, 3) != 0) { - if (gScreenTransition.field_0x39 >= 0x3d) { + CheckPlayerInRegion(this->x.HALF.HI - gRoomControls.origin_x, + this->y.HALF.HI - gRoomControls.origin_y + 0xd, 3, 3) != 0) { + if (gRoomTransition.field_0x39 >= 0x3d) { DoExitTransition((ScreenTransitionData*)&gUnk_080CED88); } else { DoExitTransition((ScreenTransitionData*)&gUnk_080CED9C); diff --git a/src/enemy/mazaalMacro.c b/src/enemy/mazaalMacro.c index f9977d2f..c13bea87 100644 --- a/src/enemy/mazaalMacro.c +++ b/src/enemy/mazaalMacro.c @@ -94,8 +94,8 @@ void sub_08034D4C(Entity* this) { if (--this->field_0x78.HWORD == 0) { if ((this->field_0xf < 8) && (entity = CreateEnemy(VAATI_PROJECTILE, 0), entity != (Entity*)0x0)) { entity->direction = (s32)Random() % 5 + 0xc; - entity->x.HALF.HI = (gRoomControls.width / 2) + gRoomControls.roomOriginX; - entity->y.HALF.HI = gRoomControls.roomOriginY + 8; + entity->x.HALF.HI = (gRoomControls.width / 2) + gRoomControls.origin_x; + entity->y.HALF.HI = gRoomControls.origin_y + 8; entity->collisionLayer = 3; entity->parent = this; UpdateSpriteForCollisionLayer(entity); @@ -108,7 +108,7 @@ void sub_08034D4C(Entity* this) { } void sub_08034DC8(Entity* this) { - if (gScreenTransition.field_0x39 == 0) { + if (gRoomTransition.field_0x39 == 0) { CreateFx(this, FX_GIANT_EXPLOSION4, 0); sub_0807BA8C(COORD_TO_TILE(this), this->collisionLayer); DeleteThisEntity(); @@ -136,7 +136,7 @@ void sub_08034E68(Entity* this) { this->spriteSettings.draw = 0; sub_08035120(this); } - if (gScreenTransition.field_0x39 == 0) { + if (gRoomTransition.field_0x39 == 0) { if (sub_08079F8C() != 0) { this->action = 3; scriptExecutionContext = StartCutscene(this, (u16*)script_MazaalMacroDefeated); @@ -167,8 +167,8 @@ void sub_08034EE4(Entity* this) { randomValue = Random(); entity = CreateFx(this, gUnk_080CEEC8[randomValue & 3], 0); if (entity != NULL) { - entity->x.HALF.HI = (((randomValue >> 2) & 0x77) << 1) + 1 + gRoomControls.roomScrollX; - entity->y.HALF.HI = ((randomValue >> 9) & 0x7e) + 1 + gRoomControls.roomScrollY; + entity->x.HALF.HI = (((randomValue >> 2) & 0x77) << 1) + 1 + gRoomControls.scroll_x; + entity->y.HALF.HI = ((randomValue >> 9) & 0x7e) + 1 + gRoomControls.scroll_y; entity->collisionLayer = 2; UpdateSpriteForCollisionLayer(entity); } @@ -182,10 +182,10 @@ void sub_08034F58(Entity* this) { } void sub_08034F70(Entity* this) { - this->health = gScreenTransition.field_0x39; - if (gScreenTransition.field_0x39 >= 0x3d) { + this->health = gRoomTransition.field_0x39; + if (gRoomTransition.field_0x39 >= 0x3d) { this->type2 = 0; - } else if (gScreenTransition.field_0x39 >= 0x1f) { + } else if (gRoomTransition.field_0x39 >= 0x1f) { this->type2 = 1; } else { this->type2 = 2; @@ -200,14 +200,14 @@ void sub_08034FA0(Entity* this) { switch (this->type2) { case 0: if (this->health < 0x3c) { - gScreenTransition.field_0x39 = 0x3c; + gRoomTransition.field_0x39 = 0x3c; sub_08035050(this); return; } break; case 1: if (this->health < 0x1e) { - gScreenTransition.field_0x39 = 0x1e; + gRoomTransition.field_0x39 = 0x1e; sub_08035050(this); return; } @@ -218,7 +218,7 @@ void sub_08034FA0(Entity* this) { } break; } - gScreenTransition.field_0x39 = this->health; + gRoomTransition.field_0x39 = this->health; } void sub_08035050(Entity* this) { @@ -247,16 +247,16 @@ u32 sub_08035084(Entity* this) { } do { vulnPillar = (s32)Random() % 6; - } while (vulnPillar == gScreenTransition.field_0x38 >> 4); - gScreenTransition.field_0x38 = (gScreenTransition.field_0x38 & 0xf) | (vulnPillar << 4); + } while (vulnPillar == gRoomTransition.field_0x38 >> 4); + gRoomTransition.field_0x38 = (gRoomTransition.field_0x38 & 0xf) | (vulnPillar << 4); for (i = 0, coords = gUnk_080CEECC; i < 6; i++, coords += 2) { if (i == vulnPillar) { entity = this; } else { entity = CreateEnemy(MAZAAL_MACRO, 1); } - entity->x.HALF.HI = gRoomControls.roomOriginX + *coords; - entity->y.HALF.HI = gRoomControls.roomOriginY + *(coords + 1); + entity->x.HALF.HI = gRoomControls.origin_x + *coords; + entity->y.HALF.HI = gRoomControls.origin_y + *(coords + 1); entity->collisionLayer = 1; UpdateSpriteForCollisionLayer(entity); } diff --git a/src/enemy/moldworm.c b/src/enemy/moldworm.c index f2331c1f..3eb92c55 100644 --- a/src/enemy/moldworm.c +++ b/src/enemy/moldworm.c @@ -217,7 +217,7 @@ void sub_08023398(Entity* this) { this->field_0x7c.BYTES.byte0--; } - if ((gScreenTransition.frameCount & 7) == 0) { + if ((gRoomTransition.frameCount & 7) == 0) { u32 uVar4; sub_08004596(this, sub_08049F84(this, 1)); diff --git a/src/enemy/octorokBoss.c b/src/enemy/octorokBoss.c index ee480e46..d368dc5b 100644 --- a/src/enemy/octorokBoss.c +++ b/src/enemy/octorokBoss.c @@ -167,7 +167,7 @@ Hit SubActions void OctorokBoss_Hit(Entity* this) { if (GET_BOSS_PHASE(this) == 0) { if (this->subAction != 3) { - gRoomControls.cameraTarget = GET_HELPER(this)->tailObjects[0]; + gRoomControls.camera_target = GET_HELPER(this)->tailObjects[0]; GET_HELPER(this)->field_0x7 = 0x5a; sub_08078B48(); } @@ -219,17 +219,17 @@ void OctorokBoss_Hit_SubAction1(Entity* this) { GET_HELPER(this)->tailObjects[0]->field_0x7c.BYTES.byte1--; } // Move to the center of the screen before freezing - diffX = 0x108 + gRoomControls.roomOriginX - this->x.HALF.HI + 0x4; - diffY = gRoomControls.roomOriginY - this->y.HALF.HI + 0x8c; + diffX = 0x108 + gRoomControls.origin_x - this->x.HALF.HI + 0x4; + diffY = gRoomControls.origin_y - this->y.HALF.HI + 0x8c; if (diffX > 8 || diffY > 8) { GET_HELPER(this)->field_0x2 = 1; #if defined(JP) || defined(DEMO_JP) || defined(EU) - this->direction = ((s32)sub_080045DA((((gRoomControls.roomOriginX + 0x108) << 0x10) - this->x.WORD), - (((gRoomControls.roomOriginY + 0x88) << 0x10) - this->y.WORD))) >> + this->direction = ((s32)sub_080045DA((((gRoomControls.origin_x + 0x108) << 0x10) - this->x.WORD), + (((gRoomControls.origin_y + 0x88) << 0x10) - this->y.WORD))) >> 3; #else - this->direction = ((s32)sub_080045DA(gRoomControls.roomOriginX + 0x108 - this->x.HALF.HI, - gRoomControls.roomOriginY + 0x88 - this->y.HALF.HI)) >> + this->direction = ((s32)sub_080045DA(gRoomControls.origin_x + 0x108 - this->x.HALF.HI, + gRoomControls.origin_y + 0x88 - this->y.HALF.HI)) >> 3; #endif this->speed = 0x100; @@ -253,7 +253,7 @@ void OctorokBoss_Hit_SubAction1(Entity* this) { Entity* tail = GET_HELPER(this)->tailObjects[i - 1]; tail->spriteSettings.draw |= 1; } - if ((gScreenTransition.frameCount & 2) != 0) { + if ((gRoomTransition.frameCount & 2) != 0) { CreateObjectWithParent(this, OCTOROK_BOSS_OBJECT, 6, 0); } GET_TIMER(this)--; @@ -285,7 +285,7 @@ void OctorokBoss_Hit_SubAction2(Entity* this) { } else { this->subAction = 3; GET_TIMER(this) = 0x96; - gRoomControls.cameraTarget = &gPlayerEntity; + gRoomControls.camera_target = &gPlayerEntity; } } @@ -305,7 +305,7 @@ void OctorokBoss_Hit_SubAction4(Entity* this) { this->subAction = 5; object = CreateObjectWithParent(this, OCTOROK_BOSS_OBJECT, 9, 0); if (object != NULL) { - gRoomControls.cameraTarget = object; + gRoomControls.camera_target = object; } } @@ -340,7 +340,7 @@ void OctorokBoss_Hit_SubAction6(Entity* this) { tmp = FixedDiv(tmp, 0x100); this->spriteOffsetY = -((tmp << 0x10) >> 8) >> 0x10; if (GET_TIMER(this) == 0) { - if ((gScreenTransition.frameCount & 0xfU) == 0) { + if ((gRoomTransition.frameCount & 0xfU) == 0) { // Explosion in the center CreateFx(this, FX_GIANT_EXPLOSION3, 0); // Explosion at the front right leg @@ -448,7 +448,7 @@ ASM_FUNC("asm/non_matching/octorokBoss/OctorokBoss_Init.inc", void OctorokBoss_I gPlayerEntity.spriteSettings.draw = 0; gPlayerEntity.x.HALF.HI = this->x.HALF.HI; gPlayerEntity.y.HALF.HI = this->y.HALF.HI - 0xa0; - gRoomControls.cameraTarget = this; + gRoomControls.camera_target = this; break; case LEG_BR: @@ -533,7 +533,7 @@ void OctorokBoss_Intro_SubAction2(Entity* this) { this->subAction = 3; GET_TIMER(this) = 0x3c; gPlayerEntity.spriteSettings.draw |= 1; - gRoomControls.cameraTarget = &gPlayerEntity; + gRoomControls.camera_target = &gPlayerEntity; gRoomControls.unk5 = 1; } } @@ -714,7 +714,7 @@ void OctorokBoss_Action1(Entity* this) { sub_08036F60(this); if (GET_HELPER(this)->fallingStonesTimer != 0) { GET_HELPER(this)->fallingStonesTimer--; - if ((gScreenTransition.frameCount & 3) == 0) { + if ((gRoomTransition.frameCount & 3) == 0) { // Falling stones CreateProjectileWithParent(this, OCTOROK_BOSS_PROJECTILE, 3); } @@ -892,7 +892,7 @@ void OctorokBoss_Action1_Attack_Type2_2(Entity* this) { } void OctorokBoss_Action1_Attack_Type2_3(Entity* this) { - if ((gScreenTransition.frameCount & 2) != 0) { + if ((gRoomTransition.frameCount & 2) != 0) { GET_HELPER(this)->mouthObject->field_0x76.HWORD -= 8; } else { GET_HELPER(this)->mouthObject->field_0x76.HWORD += 8; @@ -938,8 +938,8 @@ void OctorokBoss_ExecuteAttackVacuum(Entity* this) { this->field_0x80.HALF.LO = 1; GET_TIMER(this) = 2; GET_HELPER(this)->targetAngle = - sub_080045DA((gRoomControls.roomOriginX + 0x108) * 0x10000 - this->x.WORD, - (gRoomControls.roomOriginY + 0x88) * 0x10000 - this->y.WORD); + sub_080045DA((gRoomControls.origin_x + 0x108) * 0x10000 - this->x.WORD, + (gRoomControls.origin_y + 0x88) * 0x10000 - this->y.WORD); GET_HELPER(this)->targetAngle = (u8) - (GET_HELPER(this)->targetAngle + 0x80); SoundReq(SFX_ED); } @@ -949,7 +949,7 @@ void OctorokBoss_ExecuteAttackVacuum(Entity* this) { } } } - if ((gScreenTransition.frameCount & 3) == 0) { + if ((gRoomTransition.frameCount & 3) == 0) { CreateObjectWithParent(this, OCTOROK_BOSS_OBJECT, 2, 0); } } else { @@ -1012,8 +1012,8 @@ void OctorokBoss_ExecuteAttackSmoke(Entity* this) { } else { GET_TIMER(this)++; ChangeLightLevel(-1); - if ((gScreenTransition.frameCount & 3) == 0) { - if ((gScreenTransition.frameCount & 7) == 0) { + if ((gRoomTransition.frameCount & 3) == 0) { + if ((gRoomTransition.frameCount & 7) == 0) { SoundReq(SFX_124); } CreateObjectWithParent(this, OCTOROK_BOSS_OBJECT, 3, 0); @@ -1027,7 +1027,7 @@ void OctorokBoss_ExecuteAttackFreeze(Entity* this) { OctorokBoss_SetAttackTimer(this); } else { GET_TIMER(this)--; - if ((gScreenTransition.frameCount & 3) == 0) { + if ((gRoomTransition.frameCount & 3) == 0) { this->child = CreateProjectileWithParent(this, OCTOROK_BOSS_PROJECTILE, 2); if (this->child != NULL) { this->child->parent = this; @@ -1041,7 +1041,7 @@ void OctorokBoss_Burning(Entity* this) { OctorokBoss_Burning_SubActions[this->subAction](this); if (GET_HELPER(this)->fallingStonesTimer != 0) { GET_HELPER(this)->fallingStonesTimer--; - if ((gScreenTransition.frameCount & 7) == 0) { + if ((gRoomTransition.frameCount & 7) == 0) { // Falling stones CreateProjectileWithParent(this, OCTOROK_BOSS_PROJECTILE, 3); } @@ -1083,7 +1083,7 @@ void OctorokBoss_Burning_SubAction1(Entity* this) { if (GET_TIMER(this)-- == 0) { this->health = 0; } - if ((gScreenTransition.frameCount & 0x1f) == 0) { + if ((gRoomTransition.frameCount & 0x1f) == 0) { SoundReq(SFX_159); } } @@ -1410,7 +1410,7 @@ void sub_08036F60(Entity* this) { } void OctorokBoss_StepSound(Entity* this, u32 frameMask) { - if ((gScreenTransition.frameCount & frameMask) == 0) { + if ((gRoomTransition.frameCount & frameMask) == 0) { if (IS_FROZEN(this) == FALSE) { SoundReq(SFX_163); } else { diff --git a/src/enemy/peahat.c b/src/enemy/peahat.c index 08ec53a4..e8353ae5 100644 --- a/src/enemy/peahat.c +++ b/src/enemy/peahat.c @@ -195,7 +195,7 @@ void Peahat_ChargeTarget(Entity* this) { if (this->actionDelay & 1) this->speed += 4; - if ((gScreenTransition.frameCount & 3) == 0) + if ((gRoomTransition.frameCount & 3) == 0) sub_08004596(this, GetFacingDirection(this, gUnk_020000B0)); } sub_080AEFE0(this); diff --git a/src/enemy/puffstool.c b/src/enemy/puffstool.c index 93ac0dca..be5b30d0 100644 --- a/src/enemy/puffstool.c +++ b/src/enemy/puffstool.c @@ -386,8 +386,8 @@ void sub_080256B4(Entity* this) { bool32 sub_0802571C(Entity* this) { RoomControls* ctrl = &gRoomControls; - u16 xDiff = (this->x.HALF.HI - ctrl->roomOriginX + 8) & -0x10; - u16 yDiff = (this->y.HALF.HI - ctrl->roomOriginY + 8) & -0x10; + u16 xDiff = (this->x.HALF.HI - ctrl->origin_x + 8) & -0x10; + u16 yDiff = (this->y.HALF.HI - ctrl->origin_y + 8) & -0x10; u16 unk = this->field_0x7a.HALF.LO; u16 i; @@ -396,8 +396,8 @@ bool32 sub_0802571C(Entity* this) { u16 sVar4 = yDiff + gUnk_080CC020[unk + 1]; if (sub_080257EC(this, sVar3, sVar4)) { - this->field_0x7c.HALF.LO = sVar3 + ctrl->roomOriginX; - this->field_0x7c.HALF.HI = sVar4 + ctrl->roomOriginY; + this->field_0x7c.HALF.LO = sVar3 + ctrl->origin_x; + this->field_0x7c.HALF.HI = sVar4 + ctrl->origin_y; return TRUE; } @@ -472,8 +472,8 @@ NONMATCH("asm/non_matching/puffstool/sub_0802594C.inc", bool32 sub_0802594C(Enti const s8* unk = gUnk_080CC090[param_2]; u32 uVar1 = this->collisionLayer; RoomControls* ctrl = &gRoomControls; - xDiff = (this->x.HALF.HI - ctrl->roomOriginX + 8) & -0x10; - yDiff = (this->y.HALF.HI - ctrl->roomOriginY + 8) & -0x10; + xDiff = (this->x.HALF.HI - ctrl->origin_x + 8) & -0x10; + yDiff = (this->y.HALF.HI - ctrl->origin_y + 8) & -0x10; do { s16 iVar9 = xDiff + unk[0]; s16 iVar11 = yDiff + unk[1]; @@ -482,8 +482,8 @@ NONMATCH("asm/non_matching/puffstool/sub_0802594C.inc", bool32 sub_0802594C(Enti u8 bVar6 = sub_080002D4(iVar9 - 0x00, iVar11 - 0x10, uVar1); u8 bVar7 = sub_080002D4(iVar9 - 0x10, iVar11 - 0x10, uVar1); if ((bVar6 | bVar4 | bVar5 | bVar7) == 0) { - this->field_0x7c.HALF.LO = ctrl->roomOriginX + iVar9; - this->field_0x7c.HALF.HI = ctrl->roomOriginY + iVar11; + this->field_0x7c.HALF.LO = ctrl->origin_x + iVar9; + this->field_0x7c.HALF.HI = ctrl->origin_y + iVar11; return TRUE; } unk += 2; @@ -495,8 +495,8 @@ END_NONMATCH void sub_08025A54(Entity* this) { u32 layer = this->collisionLayer; - s16 x = this->x.HALF.HI - gRoomControls.roomOriginX; - s16 y = this->y.HALF.HI - gRoomControls.roomOriginY; + s16 x = this->x.HALF.HI - gRoomControls.origin_x; + s16 y = this->y.HALF.HI - gRoomControls.origin_y; const s8* offset = gUnk_080CC0A0; u32 i = 0; @@ -535,8 +535,8 @@ void sub_08025AE8(Entity* this) { void sub_08025B18(Entity* this) { Entity* ent; - s32 x = this->x.HALF.HI - gRoomControls.roomOriginX; - s32 y = this->y.HALF.HI - gRoomControls.roomOriginY; + s32 x = this->x.HALF.HI - gRoomControls.origin_x; + s32 y = this->y.HALF.HI - gRoomControls.origin_y; u32 layer = this->collisionLayer; const s8* offset = gUnk_080CC0A8; diff --git a/src/enemy/slime.c b/src/enemy/slime.c index 06297e37..2f2a18ee 100644 --- a/src/enemy/slime.c +++ b/src/enemy/slime.c @@ -127,10 +127,10 @@ void sub_08045178(Entity* this, Entity* child, int h, int v) { return; x = child->x.HALF.HI + h; - if (0 <= x && x < (gRoomControls.roomOriginX + gRoomControls.width)) + if (0 <= x && x < (gRoomControls.origin_x + gRoomControls.width)) child->x.HALF.HI = x; y = child->y.HALF.HI + v; - if (0 <= y && y < (gRoomControls.roomOriginY + gRoomControls.height)) + if (0 <= y && y < (gRoomControls.origin_y + gRoomControls.height)) child->y.HALF.HI = y; } diff --git a/src/enemy/vaatiArm.c b/src/enemy/vaatiArm.c index 27a946f5..78a49cf7 100644 --- a/src/enemy/vaatiArm.c +++ b/src/enemy/vaatiArm.c @@ -189,11 +189,11 @@ void sub_080425B4(Entity* this) { if (sub_080437DC(this)) { this->field_0x7c.BYTES.byte0 = 0; this->field_0x7c.BYTES.byte1 = 0; - if ((gScreenTransition.field_0x38 & 1) != 0) { - if (gScreenTransition.field_0x3c == this->type2) { + if ((gRoomTransition.field_0x38 & 1) != 0) { + if (gRoomTransition.field_0x3c == this->type2) { sub_08043EB8(this); sub_08043ABC(this); - if ((gScreenTransition.field_0x39 >> (this->type2 + 2) & 1U) != 0) { + if ((gRoomTransition.field_0x39 >> (this->type2 + 2) & 1U) != 0) { this->action = 7; this->subAction = 4; } else { @@ -207,7 +207,7 @@ void sub_080425B4(Entity* this) { } } else { this->action = 1; - this->subAction = gScreenTransition.field_0x38 & 1; + this->subAction = gRoomTransition.field_0x38 & 1; ((VaatiArm_HeapStruct*)this->myHeap)->s1[0].unk08 = gUnk_080D1280[this->type2]; sub_08042654(this); } @@ -528,28 +528,28 @@ void sub_08042C34(Entity* this) { temp = &gUnk_080D12F8[random]; x = gPlayerEntity.x.HALF.HI + *temp; y = gPlayerEntity.y.HALF.HI + *(temp + 1); - if ((gRoomControls.roomOriginX + 0x20) > x) { - x = gRoomControls.roomOriginX + 0x20; + if ((gRoomControls.origin_x + 0x20) > x) { + x = gRoomControls.origin_x + 0x20; } - if (gRoomControls.roomOriginX + gRoomControls.width + -0x20 < x) { - x = gRoomControls.roomOriginX + gRoomControls.width + -0x20; + if (gRoomControls.origin_x + gRoomControls.width + -0x20 < x) { + x = gRoomControls.origin_x + gRoomControls.width + -0x20; } - if ((gRoomControls.roomOriginY + 0x20) > y) { - y = gRoomControls.roomOriginY + 0x20; + if ((gRoomControls.origin_y + 0x20) > y) { + y = gRoomControls.origin_y + 0x20; } #if defined EU || defined JP || defined DEMO_JP - if (gRoomControls.roomOriginY + gRoomControls.height + -0x20 < y) { - y = gRoomControls.roomOriginY + gRoomControls.height + -0x20; + if (gRoomControls.origin_y + gRoomControls.height + -0x20 < y) { + y = gRoomControls.origin_y + gRoomControls.height + -0x20; } #else - if (gRoomControls.roomOriginY + gRoomControls.height + -0x40 < y) { - y = gRoomControls.roomOriginY + gRoomControls.height + -0x40; + if (gRoomControls.origin_y + gRoomControls.height + -0x40 < y) { + y = gRoomControls.origin_y + gRoomControls.height + -0x40; } #endif - if (((u32)((x - gRoomControls.roomOriginX) - 0x90) < 0x41) && - ((u32)((y - gRoomControls.roomOriginY) - 8) < 0x41)) { - x = gRoomControls.roomOriginX + 0xb0; - y = gRoomControls.roomOriginY + 0x40; + if (((u32)((x - gRoomControls.origin_x) - 0x90) < 0x41) && + ((u32)((y - gRoomControls.origin_y) - 8) < 0x41)) { + x = gRoomControls.origin_x + 0xb0; + y = gRoomControls.origin_y + 0x40; } for (i = 0; i < 4; i++) { entity = ((VaatiArm_HeapStruct*)this->myHeap)->entities[i]; @@ -636,8 +636,8 @@ void sub_08042E30(Entity* this) { this->actionDelay = (Random() & 0x38) + 0x28; this->speed = 0x200; this->direction = pVVar9->unk00.HALF.HI >> 3; - uVar6 = sub_080045D4(this->x.HALF.HI, this->y.HALF.HI, gRoomControls.roomOriginX + 0x110, - gRoomControls.roomOriginY + 0x60); + uVar6 = sub_080045D4(this->x.HALF.HI, this->y.HALF.HI, gRoomControls.origin_x + 0x110, + gRoomControls.origin_y + 0x60); this->field_0x78.HALF.HI = (gUnk_080D1304[Random() & 7] + uVar6) & 0x1f; } pVVar9->unk00.HWORD += pVVar9->unk08; @@ -1079,15 +1079,15 @@ NONMATCH("asm/non_matching/vaati/sub_08043770.inc", void sub_08043770(Entity* th if (--this->actionDelay == 0) { entity = ((VaatiArm_HeapStruct*)this->myHeap)->parent; - if ((gScreenTransition.field_0x39 & 0xc) == 0) { + if ((gRoomTransition.field_0x39 & 0xc) == 0) { entity->subAction = 2; } if (this->type2 == 0) { ((VaatiArm_HeapStruct*)this->myHeap)->parent = NULL; - gScreenTransition.field_0x39 &= 0xfe; + gRoomTransition.field_0x39 &= 0xfe; } else { *(u32*)((VaatiArm_HeapStruct*)this->myHeap)->s1 = 0; - gScreenTransition.field_0x39 &= 0xfd; + gRoomTransition.field_0x39 &= 0xfd; } ((VaatiArm_HeapStruct*)this->myHeap)->entities[4]->myHeap = NULL; ((VaatiArm_HeapStruct*)this->myHeap)->entities[4]->health = 0; @@ -1291,7 +1291,7 @@ u32 sub_08043C98(Entity* this) { Entity* e2 = ((VaatiArm_HeapStruct*)this->myHeap)->entities[3]; if ((e1->bitfield == 0x9d) || (e2->bitfield == 0x9d)) { sub_08043D08(this); - gScreenTransition.field_0x38 |= 2; + gRoomTransition.field_0x38 |= 2; return 1; } else { return 0; @@ -1345,33 +1345,33 @@ void sub_08043DB0(Entity* this) { if (((gPlayerState.flags & PL_MINISH) != 0)) { pEVar3 = ((VaatiArm_HeapStruct*)this->myHeap)->entities[3]; - if (CheckPlayerInRegion(pEVar3->x.HALF.HI - gRoomControls.roomOriginX, - pEVar3->y.HALF.HI - gRoomControls.roomOriginY + 2, 3, 3)) { + if (CheckPlayerInRegion(pEVar3->x.HALF.HI - gRoomControls.origin_x, + pEVar3->y.HALF.HI - gRoomControls.origin_y + 2, 3, 3)) { DoExitTransition((ScreenTransitionData*)&gUnk_080D13EC); - if ((gScreenTransition.field_0x39 & 3) != 3) { - gScreenTransition.player_status.room_next = 1; + if ((gRoomTransition.field_0x39 & 3) != 3) { + gRoomTransition.player_status.room_next = 1; } cVar1 = this->field_0x7a.HWORD; - gScreenTransition.field_0x3d = 0x1e - (cVar1 / 0x3c); - gScreenTransition.field_0x3c = this->type2; + gRoomTransition.field_0x3d = 0x1e - (cVar1 / 0x3c); + gRoomTransition.field_0x3c = this->type2; pEVar2 = ((VaatiArm_HeapStruct*)this->myHeap)->parent; - gScreenTransition.hurtType = pEVar2->x.HALF.HI; - gScreenTransition.field_0x42 = pEVar2->y.HALF.HI; + gRoomTransition.hurtType = pEVar2->x.HALF.HI; + gRoomTransition.field_0x42 = pEVar2->y.HALF.HI; pEVar4 = ((VaatiArm_HeapStruct*)pEVar2->myHeap)->parent; if (pEVar4 != NULL) { - gScreenTransition.field_0x44 = pEVar4->x.HALF.HI; - gScreenTransition.field_0x46 = pEVar4->y.HALF.HI; + gRoomTransition.field_0x44 = pEVar4->x.HALF.HI; + gRoomTransition.field_0x46 = pEVar4->y.HALF.HI; } else { - gScreenTransition.field_0x44 = gRoomControls.roomOriginX + 0x110; - gScreenTransition.field_0x46 = gRoomControls.roomOriginY + 0x60; + gRoomTransition.field_0x44 = gRoomControls.origin_x + 0x110; + gRoomTransition.field_0x46 = gRoomControls.origin_y + 0x60; } pEVar4 = (Entity*)(*(int*)((VaatiArm_HeapStruct*)pEVar2->myHeap)->s1); if (pEVar4 != NULL) { - gScreenTransition.field_0x48 = pEVar4->x.HALF.HI; - gScreenTransition.field_0x4a = pEVar4->y.HALF.HI; + gRoomTransition.field_0x48 = pEVar4->x.HALF.HI; + gRoomTransition.field_0x4a = pEVar4->y.HALF.HI; } else { - gScreenTransition.field_0x48 = gRoomControls.roomOriginX + 0x110; - gScreenTransition.field_0x4a = gRoomControls.roomOriginY + 0x60; + gRoomTransition.field_0x48 = gRoomControls.origin_x + 0x110; + gRoomTransition.field_0x4a = gRoomControls.origin_y + 0x60; } } } @@ -1399,8 +1399,8 @@ void sub_08043EB8(Entity* this) { pEVar4->flags = pEVar4->flags | 0x80; pEVar4->spriteSettings.draw = 1; pEVar4->spritePriority.b0 = 4; - pEVar4->x.HALF.HI = (this->type2 == 0) ? gScreenTransition.field_0x44 : gScreenTransition.field_0x48; - pEVar4->y.HALF.HI = (this->type2 == 0) ? gScreenTransition.field_0x46 : gScreenTransition.field_0x4a; + pEVar4->x.HALF.HI = (this->type2 == 0) ? gRoomTransition.field_0x44 : gRoomTransition.field_0x48; + pEVar4->y.HALF.HI = (this->type2 == 0) ? gRoomTransition.field_0x46 : gRoomTransition.field_0x4a; pEVar4->z.HALF.HI = 0; pEVar4->field_0x3c = pEVar4->field_0x3c & 0xef; pEVar4->hitType = 0x3a; @@ -1442,8 +1442,8 @@ void sub_08044078(Entity* this) { if (this->action == 0) { this->action = 1; if (this->type != 3 || - !(((gScreenTransition.field_0x38 & 1) == 0 || - (((VaatiArm_HeapStruct*)this->myHeap)->entities[0]->type2 != gScreenTransition.field_0x3c)))) { + !(((gRoomTransition.field_0x38 & 1) == 0 || + (((VaatiArm_HeapStruct*)this->myHeap)->entities[0]->type2 != gRoomTransition.field_0x3c)))) { InitializeAnimation(this, 0x12); } else { InitializeAnimation(this, 0x11); @@ -1455,8 +1455,8 @@ void sub_08044078(Entity* this) { void sub_080440CC(Entity* this) { if (this->action == 0) { this->action = 1; - if ((gScreenTransition.field_0x38 & 1) != 0 && - ((VaatiArm_HeapStruct*)this->myHeap)->entities[0]->type2 == gScreenTransition.field_0x3c) { + if ((gRoomTransition.field_0x38 & 1) != 0 && + ((VaatiArm_HeapStruct*)this->myHeap)->entities[0]->type2 == gRoomTransition.field_0x3c) { InitializeAnimation(this, 0x13); } else { InitializeAnimation(this, 0x11); diff --git a/src/enemy/vaatiEyesMacro.c b/src/enemy/vaatiEyesMacro.c index 89fb894f..6d187547 100644 --- a/src/enemy/vaatiEyesMacro.c +++ b/src/enemy/vaatiEyesMacro.c @@ -58,12 +58,12 @@ void VaatiEyesMacroFunction0(Entity* this) { void VaatiEyesMacroFunction1(Entity* this) { if (this->type == 0) { if (this->health == 0) { - gScreenTransition.field_0x39 &= ~(1 << (gScreenTransition.field_0x3c + 2)); + gRoomTransition.field_0x39 &= ~(1 << (gRoomTransition.field_0x3c + 2)); } - if (gRoomControls.roomID == 0) { - gScreenTransition.field_0x3a = this->health; + if (gRoomControls.room == 0) { + gRoomTransition.field_0x3a = this->health; } else { - gScreenTransition.field_0x3b = this->health; + gRoomTransition.field_0x3b = this->health; } if (this->field_0x78.HALF.HI != this->health) { EnqueueSFX(SFX_17A); @@ -102,10 +102,10 @@ void VaatiEyesMacroFunction0Type0Action0(Entity* this) { enemy = CreateEnemy(VAATI_EYES_MACRO, 2); enemy->parent = this; this->action = 1; - if (gRoomControls.roomID == 0) { - this->field_0x78.HALF.HI = this->health = gScreenTransition.field_0x3a; + if (gRoomControls.room == 0) { + this->field_0x78.HALF.HI = this->health = gRoomTransition.field_0x3a; } else { - this->field_0x78.HALF.HI = this->health = gScreenTransition.field_0x3b; + this->field_0x78.HALF.HI = this->health = gRoomTransition.field_0x3b; } this->field_0x78.HALF.LO = Random(); sub_0802EFB8(this); diff --git a/src/enemy/vaatiProjectile.c b/src/enemy/vaatiProjectile.c index 6277fc21..b770e2e6 100644 --- a/src/enemy/vaatiProjectile.c +++ b/src/enemy/vaatiProjectile.c @@ -192,7 +192,7 @@ void VaatiProjectileFunction0Action7(Entity* this) { sub_0803E444(this); LinearMoveUpdate(this); sub_0803E4D8(this); - if ((gRoomControls.roomOriginY + gRoomControls.height + -0x10) <= this->y.HALF.HI) { + if ((gRoomControls.origin_y + gRoomControls.height + -0x10) <= this->y.HALF.HI) { SetInitializationPriority(); DoExitTransition((ScreenTransitionData*)&gUnk_0813AB94); } @@ -239,7 +239,7 @@ void sub_0803E480(Entity* this) { bool32 sub_0803E4A0(Entity* this) { #ifdef EU bool32 ret; - if (gScreenTransition.field_0x39 == 0) { + if (gRoomTransition.field_0x39 == 0) { return TRUE; } else { if (this->parent == NULL) { @@ -250,7 +250,7 @@ bool32 sub_0803E4A0(Entity* this) { return ret; #else bool32 ret; - if (gScreenTransition.field_0x39 != 0) { + if (gRoomTransition.field_0x39 != 0) { if (this->parent == NULL) { return FALSE; } diff --git a/src/enemy/vaatiRebornEnemy.c b/src/enemy/vaatiRebornEnemy.c index 5891ed20..4f1770f3 100644 --- a/src/enemy/vaatiRebornEnemy.c +++ b/src/enemy/vaatiRebornEnemy.c @@ -245,8 +245,8 @@ void VaatiRebornEnemyType0Action2(Entity* this) { tmp = this->field_0x80.HALF.HI; this->field_0x80.HALF.HI = tmp % 5; ptr = &gUnk_080D04AC[this->field_0x80.HALF.HI]; - this->x.HALF.HI = gRoomControls.roomOriginX + ptr->HALF.x + 0x10; - this->y.HALF.HI = gRoomControls.roomOriginY + ptr->HALF.y + 0x10; + this->x.HALF.HI = gRoomControls.origin_x + ptr->HALF.x + 0x10; + this->y.HALF.HI = gRoomControls.origin_y + ptr->HALF.y + 0x10; } this->spriteSettings.draw = 1; this->actionDelay = 0x20; @@ -879,15 +879,15 @@ u32 sub_0803E028(Entity* this) { if (this->field_0x76.HALF.HI != 1) { return ret; } - tmp = gRoomControls.roomOriginX + 0x58; + tmp = gRoomControls.origin_x + 0x58; if (tmp > gPlayerEntity.x.HALF.HI) { return ret; } - tmp = gRoomControls.roomOriginY + 0x58; + tmp = gRoomControls.origin_y + 0x58; if (tmp > gPlayerEntity.x.HALF.HI) { return ret; } - tmp = gRoomControls.roomOriginY + 0xf8; + tmp = gRoomControls.origin_y + 0xf8; if (tmp >= gPlayerEntity.x.HALF.HI) { this->field_0x80.HALF.HI += 5; ret = 1; diff --git a/src/enemy/vaatiTransfigured.c b/src/enemy/vaatiTransfigured.c index b4fc508f..29191e73 100644 --- a/src/enemy/vaatiTransfigured.c +++ b/src/enemy/vaatiTransfigured.c @@ -856,8 +856,8 @@ void sub_080406A0(Entity* this) { uVar5 = this->field_0x86.HALF.LO; { u32 tmp; - uVar6 = gRoomControls.roomOriginX + gUnk_080D0B58[tmp = uVar5 * 2]; - uVar4 = gRoomControls.roomOriginY + gUnk_080D0B58[tmp + 1]; + uVar6 = gRoomControls.origin_x + gUnk_080D0B58[tmp = uVar5 * 2]; + uVar4 = gRoomControls.origin_y + gUnk_080D0B58[tmp + 1]; } if (sub_0806FCB8(this, uVar6, uVar4, 0x1c)) { if (uVar5 != 0) { @@ -867,8 +867,8 @@ void sub_080406A0(Entity* this) { } { u32 tmp; - uVar6 = gRoomControls.roomOriginX + gUnk_080D0B58[tmp = uVar5 * 2]; - uVar4 = gRoomControls.roomOriginY + gUnk_080D0B58[tmp + 1]; + uVar6 = gRoomControls.origin_x + gUnk_080D0B58[tmp = uVar5 * 2]; + uVar4 = gRoomControls.origin_y + gUnk_080D0B58[tmp + 1]; } } uVar3 = sub_080045D4(this->x.HALF.HI, this->y.HALF.HI, uVar6, uVar4); @@ -891,8 +891,8 @@ void sub_08040770(Entity* this) { u32 tmp5, tmp6; { u32 index; - tmp5 = gRoomControls.roomOriginX + gUnk_080D0B64[index = tmp2 * 2]; - tmp6 = gRoomControls.roomOriginY + gUnk_080D0B64[index + 1]; + tmp5 = gRoomControls.origin_x + gUnk_080D0B64[index = tmp2 * 2]; + tmp6 = gRoomControls.origin_y + gUnk_080D0B64[index + 1]; } if (sub_0806FCB8(this, tmp5, tmp6, 0x1c)) { if (this->animationState != 2) { @@ -954,8 +954,8 @@ void sub_08040770(Entity* this) { } { u32 tmp3; - tmp5 = gRoomControls.roomOriginX + gUnk_080D0B64[tmp3 = tmp2 * 2], - tmp6 = gRoomControls.roomOriginY + gUnk_080D0B64[tmp3 + 1]; + tmp5 = gRoomControls.origin_x + gUnk_080D0B64[tmp3 = tmp2 * 2], + tmp6 = gRoomControls.origin_y + gUnk_080D0B64[tmp3 + 1]; } } this->direction = sub_080045D4(this->x.HALF.HI, this->y.HALF.HI, tmp5, tmp6); diff --git a/src/enemy/vaatiWrath.c b/src/enemy/vaatiWrath.c index 23e49183..baafff90 100644 --- a/src/enemy/vaatiWrath.c +++ b/src/enemy/vaatiWrath.c @@ -117,20 +117,20 @@ void VaatiWrathType0(Entity* this) { void VaatiWrathType0Action0(Entity* this) { u32 bVar1; - bVar1 = gScreenTransition.field_0x38 & 1; + bVar1 = gRoomTransition.field_0x38 & 1; if (bVar1 != 0) { if (sub_08041FCC(this) == 0) { return; } - if ((gScreenTransition.field_0x39 & 0xc) == 0) { + if ((gRoomTransition.field_0x39 & 0xc) == 0) { this->action = 5; this->subAction = 1; } else { this->action = 2; this->actionDelay = 0x3c; } - this->x.HALF.HI = gScreenTransition.hurtType; - this->y.HALF.HI = gScreenTransition.field_0x42; + this->x.HALF.HI = gRoomTransition.hurtType; + this->y.HALF.HI = gRoomTransition.field_0x42; sub_08042004(this); } else { if (sub_08041ED4(this) == 0) { @@ -141,7 +141,7 @@ void VaatiWrathType0Action0(Entity* this) { this->actionDelay = 120; this->spritePriority.b1 = 0; this->z.HALF.HI = 0xffb0; - gRoomControls.cameraTarget = this; + gRoomControls.camera_target = this; sub_080809D4(); } this->spriteSettings.draw = 1; @@ -209,8 +209,8 @@ void VaatiWrathType0Action1(Entity* this) { sub_08042004(this); this->subAction = 6; this->actionDelay = 0x1e; - gScreenTransition.field_0x38 |= 1; - gRoomControls.cameraTarget = &gPlayerEntity; + gRoomTransition.field_0x38 |= 1; + gRoomControls.camera_target = &gPlayerEntity; gPlayerState.controlMode = 1; break; default: @@ -243,7 +243,7 @@ void VaatiWrathType0Action3(Entity* this) { UpdateAnimationSingleFrame(this); ProcessMovement(this); - roomY = gRoomControls.roomOriginY; + roomY = gRoomControls.origin_y; bound = roomY + 0x90; thisY = this->y.HALF.HI; if ((bound < thisY)) { @@ -319,12 +319,12 @@ void VaatiWrathType0Action5(Entity* this) { } else { if (this->field_0x78.HALF.HI == 0) { if (this->subAction == 2) { - if ((gScreenTransition.field_0x39 & 3) == 0) { + if ((gRoomTransition.field_0x39 & 3) == 0) { object = CreateObject(OBJECT_B5, 0, 0); if (object != NULL) { object->parent = this; ((VaatiWrathHeapStruct*)this->myHeap)->object5b = object; - gRoomControls.cameraTarget = object; + gRoomControls.camera_target = object; this->action = 6; this->actionDelay = 0x1e; ((VaatiWrathHeapStruct*)this->myHeap)->type1->subAction = 1; @@ -374,9 +374,9 @@ void VaatiWrathType0Action7(Entity* this) { sub_08042214(this); sub_08042004(this); UpdateAnimationSingleFrame(this); - if (gRoomControls.roomOriginY + 0x48 != this->y.HALF.HI) { + if (gRoomControls.origin_y + 0x48 != this->y.HALF.HI) { this->speed = 0x100; - this->direction = ((gRoomControls.roomOriginY + 0x48) >= this->y.HALF.HI) ? 0x10 : 0; + this->direction = ((gRoomControls.origin_y + 0x48) >= this->y.HALF.HI) ? 0x10 : 0; LinearMoveUpdate(this); } else { if (--this->actionDelay == 0) { @@ -389,8 +389,8 @@ void VaatiWrathType0Action8(Entity* this) { sub_08042004(this); UpdateAnimationSingleFrame(this); LinearMoveUpdate(this); - if (((gRoomControls.roomOriginX + 0x20) > this->x.HALF.HI) || - ((gRoomControls.roomOriginX + 0x140) < this->x.HALF.HI)) { + if (((gRoomControls.origin_x + 0x20) > this->x.HALF.HI) || + ((gRoomControls.origin_x + 0x140) < this->x.HALF.HI)) { if (0x3f < this->speed) { this->direction ^= 0x10; } @@ -525,7 +525,7 @@ void VaatiWrathType0ActionC(Entity* this) { this->actionDelay--; } else { LinearMoveUpdate(this); - if (gRoomControls.roomOriginY + 0x48 == this->y.HALF.HI) { + if (gRoomControls.origin_y + 0x48 == this->y.HALF.HI) { this->subAction = 2; InitializeAnimation(((VaatiWrathHeapStruct*)this->myHeap)->type1, 0x11); InitializeAnimation(((VaatiWrathHeapStruct*)this->myHeap)->type2, 0x19); @@ -583,7 +583,7 @@ void sub_08041BE8(Entity* this) { DeleteEntity(entity); ((VaatiWrathHeapStruct*)this->myHeap)->object5b = NULL; - gRoomControls.cameraTarget = &gPlayerEntity; + gRoomControls.camera_target = &gPlayerEntity; #endif entity = ((VaatiWrathHeapStruct*)this->myHeap)->eyes[0]; entity->myHeap = NULL; @@ -766,7 +766,7 @@ u32 sub_08041F74(Entity* this, u32 unk1) { } heap = ((VaatiWrathHeapStruct*)this->myHeap); arm = NULL; - if ((gScreenTransition.field_0x39 >> unk1 & 1U) != 0) { + if ((gRoomTransition.field_0x39 >> unk1 & 1U) != 0) { arm = CreateEnemy(VAATI_ARM, 0); arm->type2 = unk1; arm->parent = this; @@ -830,7 +830,7 @@ u32 sub_0804207C(Entity* this) { return sub_080045D4(arm->x.HALF.HI, arm->y.HALF.HI, x, y); } else { if (gPlayerEntity.y.HALF.HI < 0x40) { - tmp = gRoomControls.roomOriginY + 0x18; + tmp = gRoomControls.origin_y + 0x18; } else { tmp = gPlayerEntity.y.HALF.HI - 0x28; @@ -885,7 +885,7 @@ void sub_080421AC(Entity* this) { this->field_0x7c.HALF_U.HI--; } else { if (this->field_0x78.HALF.HI == 0) { - if (((Random() & 1) != 0) && ((gScreenTransition.field_0x39 & 0xc) != 0)) { + if (((Random() & 1) != 0) && ((gRoomTransition.field_0x39 & 0xc) != 0)) { sub_08042264(this); this->field_0x78.HALF.HI = 1; return; @@ -991,7 +991,7 @@ void sub_0804235C(Entity* this) { #if defined USA || defined DEMO_USA || defined DEMO_JP void VaatiWrathType0PreAction(Entity* this) { int temp; - if ((gScreenTransition.field_0x38 & 2) == 0) { + if ((gRoomTransition.field_0x38 & 2) == 0) { if (gSave.unk48C[3] != 0) { gSave.unk48C[3]--; } else { @@ -1002,7 +1002,7 @@ void VaatiWrathType0PreAction(Entity* this) { if (gPlayerEntity.field_0x7a.HWORD == 0) { if ((gPlayerEntity.z.HALF.HI & 0x8000U) == 0 || (gPlayerState.field_0xa != 0)) { CreateEzloHint(0xb70, 0); - gScreenTransition.field_0x38 |= 2; + gRoomTransition.field_0x38 |= 2; } } } diff --git a/src/enemy/vaatiWrathEye.c b/src/enemy/vaatiWrathEye.c index 9cb316c7..126e9912 100644 --- a/src/enemy/vaatiWrathEye.c +++ b/src/enemy/vaatiWrathEye.c @@ -35,7 +35,7 @@ void VaatiWrathEye(Entity* this) { } void VaatiWrathEyeAction0(Entity* this) { - if ((gScreenTransition.field_0x38 & 1) != 0) { + if ((gRoomTransition.field_0x38 & 1) != 0) { this->action = 2; InitializeAnimation(this, 1); } else { @@ -57,7 +57,7 @@ void VaatiWrathEyeAction1(Entity* this) { void VaatiWrathEyeAction2(Entity* this) { sub_080485D8(this); - if ((gScreenTransition.field_0x39 & 3) == 0) { + if ((gRoomTransition.field_0x39 & 3) == 0) { this->action = 3; COLLISION_ON(this); this->speed = 0x80; diff --git a/src/enemy/waterDrop.c b/src/enemy/waterDrop.c index 8ee1a6db..f3b936df 100644 --- a/src/enemy/waterDrop.c +++ b/src/enemy/waterDrop.c @@ -59,8 +59,8 @@ void sub_0802A2FC(Entity* this) { } void sub_0802A334(Entity* this) { - u32 x = (this->x.HALF.HI - gRoomControls.roomScrollX + gScreen.bg1.xOffset) >> 3; - u32 y = (this->y.HALF.HI - gRoomControls.roomScrollY + gScreen.bg1.yOffset) >> 3; + u32 x = (this->x.HALF.HI - gRoomControls.scroll_x + gScreen.bg1.xOffset) >> 3; + u32 y = (this->y.HALF.HI - gRoomControls.scroll_y + gScreen.bg1.yOffset) >> 3; if (gBG3Buffer[(x & 0x1fU) + (y & 0x1fU) * 0x20 + 0x400]) { this->collisionLayer = 2; } else { @@ -70,8 +70,8 @@ void sub_0802A334(Entity* this) { } void sub_0802A39C(Entity* this) { - u32 x = (gPlayerEntity.x.HALF.HI - gRoomControls.roomScrollX + gScreen.bg1.xOffset) >> 3; - u32 y = (gPlayerEntity.y.HALF.HI - gRoomControls.roomScrollY + gScreen.bg1.yOffset - 10) >> 3; + u32 x = (gPlayerEntity.x.HALF.HI - gRoomControls.scroll_x + gScreen.bg1.xOffset) >> 3; + u32 y = (gPlayerEntity.y.HALF.HI - gRoomControls.scroll_y + gScreen.bg1.yOffset - 10) >> 3; if (gBG3Buffer[(x & 0x1fU) + (y & 0x1fU) * 0x20 + 0x400]) { COLLISION_OFF(this); } else { diff --git a/src/enterPortalSubtask.c b/src/enterPortalSubtask.c index 0387751a..712ab7ca 100644 --- a/src/enterPortalSubtask.c +++ b/src/enterPortalSubtask.c @@ -17,9 +17,9 @@ extern void (*const gUnk_080D412C[])(); extern struct_02018EB0 gUnk_02018EB0; -u32 sub_0804AA84(void) { +u32 IsEnterPortal(void) { if (gArea.playShrinkSeq) { - gMain.transition = 4; + gMain.substate = 4; gArea.filler[8] = 0; gArea.filler[9] = 0; *(u16*)&gArea.filler[10] = 0; @@ -32,7 +32,7 @@ u32 sub_0804AA84(void) { } } -void sub_0804AAB8(void) { +void GameMain_MinishPortal(void) { gUnk_080D4120[gArea.filler[8]](); } @@ -48,8 +48,8 @@ void sub_0804AB04(void) { UpdateEntities(); if (gArea.field_0x10 != 0) { FlushSprites(); - sub_080AD9B0(); - sub_080AD918(); + DrawEntities(); + CopyOAM(); } } @@ -63,6 +63,6 @@ void sub_0804AB24(void) { } } -void sub_0804AB54(void) { +void Subtask_PortalCutscene(void) { gUnk_080D412C[gArea.filler[8]](); } diff --git a/src/entity.c b/src/entity.c index bdbe2e55..a7c1b617 100644 --- a/src/entity.c +++ b/src/entity.c @@ -41,7 +41,7 @@ void sub_0805E248(void) { s32 v0; v0 = gUnk_03004030.unk_00->unk_06; - if (gRoomControls.areaID == AREA_VEIL_FALLS || gRoomControls.areaID == AREA_VEIL_FALLS_DIG_CAVE) { + if (gRoomControls.area == AREA_VEIL_FALLS || gRoomControls.area == AREA_VEIL_FALLS_DIG_CAVE) { SetTileType(636, v0 - 65, 1); SetTileType(643, v0 - 65, 2); SetTileType(637, v0 - 64, 1); @@ -66,7 +66,7 @@ void sub_0805E248(void) { } void sub_0805E374(Entity* e) { - u8 r3 = gScreenTransition.player_status.field_0x24[8]; + u8 r3 = gRoomTransition.player_status.field_0x24[8]; u8* array = gUnk_081091F8; if (r3 != 2) { @@ -83,7 +83,7 @@ void SetDefaultPriority(Entity* ent, u32 prio) { bool32 CheckDontUpdate(Entity* this) { u32 value; - if (this->flags & ENT_ASLEEP) + if (this->flags & ENT_DELETED) return TRUE; if (this->action == 0) return FALSE; @@ -227,9 +227,9 @@ void EraseAllEntities() { sub_0805E98C(); gEntCount = 0; gManagerCount = 0; - gUnk_03000000.unk[0].unk7 = 1; - gUnk_03000000.unk[0].unk6 = 1; - gUnk_03000000.unk[1].unk6 = 1; + gOAMControls.unk[0].unk7 = 1; + gOAMControls.unk[0].unk6 = 1; + gOAMControls.unk[1].unk6 = 1; } extern Entity gUnk_030015A0[0x48]; @@ -458,16 +458,16 @@ void sub_0805E98C(void) { } } -void sub_0805E9A8(void) { +void QueueEntityDeletion(void) { Entity* i; LinkedList* list; list = &gEntityLists[0]; do { for (i = list->first; (u32)i != (u32)list; i = i->next) { - i->flags &= ~2; - if ((i->flags & 0x20) == 0) { - i->flags |= 0x10; + i->flags &= ~ENT_SCRIPTED; + if ((i->flags & ENT_PERSIST) == 0) { + i->flags |= ENT_DELETED; } } } while (++list < &gEntityLists[9]); @@ -482,7 +482,7 @@ void DeleteSleepingEntities(void) { do { for (ent = list->first; (u32)ent != (u32)list; ent = next) { next = ent->next; - if (ent->flags & ENT_ASLEEP) + if (ent->flags & ENT_DELETED) DeleteEntityAny(ent); } } while (++list < &gEntityLists[9]); diff --git a/src/fade.c b/src/fade.c index 04cd34e5..dab44d41 100644 --- a/src/fade.c +++ b/src/fade.c @@ -17,7 +17,7 @@ extern u32 gMakeFadeBuff256; typedef void (*fptrMakeFadeBuff256)(u8*, u8*, u16, u8); void SetBrightness(u32 arg0) { - gSaveHeader->brightnessPref = arg0; + gSaveHeader->brightness = arg0; gUsedPalettes = 0xffffffff; } @@ -78,7 +78,7 @@ void DoFade(u32 type, u32 speed) { gFadeControl.field_0x2 = 0; } if (type & 8) { - gUnk_03000000.spritesOffset = 1; + gOAMControls.spritesOffset = 1; gScreen.bg1.control |= BGCNT_MOSAIC; gScreen.bg2.control |= BGCNT_MOSAIC; gScreen.bg3.control |= BGCNT_MOSAIC; @@ -182,7 +182,7 @@ static u32 sub_08050230(FadeControl* ctl) { return 1; // fade is finished - gUnk_03000000.spritesOffset = 0; + gOAMControls.spritesOffset = 0; if ((type & 1) == 0) { // reset registers if fading in gScreen.bg0.control &= ~BGCNT_MOSAIC; diff --git a/src/fileScreen.c b/src/fileselect.c similarity index 93% rename from src/fileScreen.c rename to src/fileselect.c index 691c5999..fed40d47 100644 --- a/src/fileScreen.c +++ b/src/fileselect.c @@ -1,4 +1,4 @@ -#include "fileScreen.h" +#include "fileselect.h" #include "main.h" #include "common.h" #include "screen.h" @@ -36,7 +36,7 @@ typedef enum { static void HandleFileScreenEnter(void); static void HandleFileScreenActive(void); static void HandleFileScreenExit(void); -static void (*const sScreenHandlers[])(void) = { +static void (*const sTaskHandlers[])(void) = { HandleFileScreenEnter, HandleFileScreenActive, HandleFileScreenExit, @@ -129,21 +129,21 @@ void SetFileSelectState(FileSelectState mode) { } void LoadOptionsFromSave(u32 idx) { - u8 messageSpeed; - u8 brightnessPref; + u8 msg_speed; + u8 brightness; if (idx >= NUM_SAVE_SLOTS) { // these apply to the language selection screen - messageSpeed = 1; - brightnessPref = 1; + msg_speed = 1; + brightness = 1; } else { SaveFile* saveFile = &gUnk_02019EE0.saves[idx]; - messageSpeed = saveFile->messageSpeed; - brightnessPref = saveFile->brightnessPref; + msg_speed = saveFile->msg_speed; + brightness = saveFile->brightness; } - gSaveHeader->messageSpeed = messageSpeed; - gSaveHeader->brightnessPref = brightnessPref; + gSaveHeader->msg_speed = msg_speed; + gSaveHeader->brightness = brightness; gUsedPalettes = 0xFFFFFFFF; } @@ -155,9 +155,9 @@ void SetActiveSave(u32 idx) { LoadOptionsFromSave(idx); } -void HandleChooseFileScreen(void) { +void FileSelectTask(void) { FlushSprites(); - sScreenHandlers[gMain.funcIndex](); + sTaskHandlers[gMain.state](); if (gUnk_02032EC0.lastState != gUnk_02032EC0.state) { gUnk_02032EC0.lastState = gUnk_02032EC0.state; gScreen.bg0.xOffset = 0; @@ -176,11 +176,11 @@ void HandleChooseFileScreen(void) { UpdateEntities(); sub_0805066C(); sub_0801C1D4(); - sub_0801C208(); - sub_080AD9B0(); - sub_080AD918(); - if (gUnk_02019EE0.unk3 != gSaveHeader->gameLanguage) { - gUnk_02019EE0.unk3 = gSaveHeader->gameLanguage; + DrawOAMCmd(); + DrawEntities(); + CopyOAM(); + if (gUnk_02019EE0.unk3 != gSaveHeader->language) { + gUnk_02019EE0.unk3 = gSaveHeader->language; sub_080503A8(0x6); sub_080503A8(0xF); } @@ -194,13 +194,13 @@ static void HandleFileScreenEnter(void) { MemClear((void*)VRAM, 0x80); // clear palettes MessageInitialize(); EraseAllEntities(); - sub_08080668(); + ClearTilemaps(); ResetPalettes(); - sub_0801CFA8(0); + ResetPaletteTable(0); MemClear(&gUnk_0200AF00, sizeof(gUnk_0200AF00)); MemClear(&gUnk_02019EE0, sizeof(gUnk_02019EE0)); gUnk_02019EE0.unk3 = 7; - gUnk_02019EE0.unk6 = gSaveHeader->gameLanguage > LANGUAGE_EN ? 3 : 0; + gUnk_02019EE0.unk6 = gSaveHeader->language > LANGUAGE_EN ? 3 : 0; MemClear(&gUnk_02032EC0, sizeof(gUnk_02032EC0)); gUnk_02032EC0.lastState = 8; SetFileSelectState(STATE_NONE); @@ -222,7 +222,7 @@ static void HandleFileScreenEnter(void) { gScreen.controls.layerFXControl = BLDCNT_TGT1_BG2 | BLDCNT_TGT2_BG3 | BLDCNT_EFFECT_BLEND; gScreen.controls.alphaBlend = BLDALPHA_BLEND(15, 10); gGFXSlots.unk0 = 1; - gMain.funcIndex = 1; + gMain.state = 1; SoundReq(BGM_FILE_SELECT); DoFade(4, 8); } @@ -232,7 +232,7 @@ static void HandleFileScreenActive(void) { static void HandleFileScreenExit(void) { if (!gFadeControl.active) { - InitScreen(SCREEN_GAMEPLAY); + SetTask(TASK_GAME); } } @@ -287,7 +287,7 @@ void sub_0805070C(void) { u32 i; int j; struct_02036540* var0; - char* playerName; + char* name; var0 = sub_0805F2C8(); if (var0) { @@ -299,9 +299,9 @@ void sub_0805070C(void) { for (i = 0; i < NUM_SAVE_SLOTS; i++) { var0->unk6 = 0; MemClear(var0->unk8, 0x200); - playerName = &gUnk_02019EE0.saves[i].playerName[0]; + name = &gUnk_02019EE0.saves[i].name[0]; for (j = 0; j < FILENAME_LENGTH; j++) { - sub_0805F7DC(playerName[j], var0); + sub_0805F7DC(name[j], var0); } // i is a struct of size 0x200 MemCopy(var0->unk8, (void*)(OBJ_VRAM0 + 0x4000 + i * 0x200), 0x200); @@ -418,7 +418,7 @@ void sub_08050940(void) { keys &= ~(DPAD_UP | DPAD_DOWN); } - num_rows = gSaveHeader->gameLanguage > 1 ? NUM_SAVE_SLOTS + 1 : NUM_SAVE_SLOTS; + num_rows = gSaveHeader->language > 1 ? NUM_SAVE_SLOTS + 1 : NUM_SAVE_SLOTS; mode = gUnk_02032EC0.lastState; switch (keys) { case DPAD_UP: @@ -677,7 +677,7 @@ void HandleFileLanguageSelect(void) { void sub_08050DB8(void) { MemClear(&gBG2Buffer, sizeof(gBG2Buffer)); sub_080503A8(0xc); - gMenu.field_0x4 = gSaveHeader->gameLanguage; + gMenu.field_0x4 = gSaveHeader->language; sub_080A7114(1); } @@ -687,7 +687,7 @@ void sub_08050DE4(void) { if (gUnk_02019EE0.isTransitioning) return; - row_idx = gSaveHeader->gameLanguage; + row_idx = gSaveHeader->language; switch (gInput.newKeys) { case DPAD_UP: row_idx--; @@ -707,7 +707,7 @@ void sub_08050DE4(void) { break; case B_BUTTON: row_idx = gMenu.field_0x4; - gSaveHeader->gameLanguage = gMenu.field_0x4; + gSaveHeader->language = gMenu.field_0x4; SoundReq(SFX_MENU_CANCEL); SetFileSelectState(STATE_NONE); break; @@ -720,8 +720,8 @@ void sub_08050DE4(void) { if (row_idx > 6) { row_idx = 6; } - if (gSaveHeader->gameLanguage != row_idx) { - gSaveHeader->gameLanguage = row_idx; + if (gSaveHeader->language != row_idx) { + gSaveHeader->language = row_idx; SoundReq(SFX_TEXTBOX_CHOICE); } } @@ -739,8 +739,8 @@ void sub_08050EB8(void) { SaveFile* save; sub_080503A8(0xe); save = &gUnk_02019EE0.saves[gUnk_02019EE0.unk6]; - gUnk_02019EE0.unk4 = save->messageSpeed; - gUnk_02019EE0.unk5 = save->brightnessPref; + gUnk_02019EE0.unk4 = save->msg_speed; + gUnk_02019EE0.unk5 = save->brightness; gMenu.column_idx = 0; gMenu.transitionTimer = 0xff; sub_080A7114(1); @@ -755,9 +755,9 @@ NONMATCH("asm/non_matching/fileScreen/sub_08050EF4.inc", void sub_08050EF4(void) if (gUnk_02019EE0.isTransitioning) return; - p_option = &gUnk_02019EE0.saves[gUnk_02019EE0.unk6].brightnessPref; + p_option = &gUnk_02019EE0.saves[gUnk_02019EE0.unk6].brightness; if (gMenu.column_idx == 0) { - p_option = &gUnk_02019EE0.saves[gUnk_02019EE0.unk6].messageSpeed; + p_option = &gUnk_02019EE0.saves[gUnk_02019EE0.unk6].msg_speed; } mode = 0; @@ -783,7 +783,7 @@ NONMATCH("asm/non_matching/fileScreen/sub_08050EF4.inc", void sub_08050EF4(void) case A_BUTTON: case START_BUTTON: mode = 2; - if (*(u16*)&gUnk_02019EE0.unk4 != *(u16*)&gUnk_02019EE0.saves[gUnk_02019EE0.unk6].messageSpeed) + if (*(u16*)&gUnk_02019EE0.unk4 != *(u16*)&gUnk_02019EE0.saves[gUnk_02019EE0.unk6].msg_speed) mode = 3; break; case B_BUTTON: @@ -793,8 +793,8 @@ NONMATCH("asm/non_matching/fileScreen/sub_08050EF4.inc", void sub_08050EF4(void) switch (mode) { case 3: - gUnk_02019EE0.saves[gUnk_02019EE0.unk6].messageSpeed = gUnk_02019EE0.unk4; - gUnk_02019EE0.saves[gUnk_02019EE0.unk6].brightnessPref = gUnk_02019EE0.unk5; + gUnk_02019EE0.saves[gUnk_02019EE0.unk6].msg_speed = gUnk_02019EE0.unk4; + gUnk_02019EE0.saves[gUnk_02019EE0.unk6].brightness = gUnk_02019EE0.unk5; SoundReq(SFX_MENU_CANCEL); sub_080A7114(mode); SetActiveSave(gUnk_02019EE0.unk6); @@ -867,7 +867,7 @@ NONMATCH("asm/non_matching/fileScreen/sub_080610B8.inc", void sub_080610B8(void) END_NONMATCH void sub_08051358(void) { - gMenu.field_0x12 = gSaveHeader->gameLanguage == 0 ? 4 : 3; + gMenu.field_0x12 = gSaveHeader->language == 0 ? 4 : 3; if (gMenu.focusCoords[0] != 0x0b || gMenu.focusCoords[1] != 0x5) { gMenu.focusCoords[1] = 0x5; @@ -948,7 +948,7 @@ void sub_08051480(u32 c) { } gMenu.unk13 = idx + 1; - gSave.playerName[idx] = c; + gSave.name[idx] = c; sub_08051574(SFX_6B); } @@ -956,7 +956,7 @@ u32 sub_080514BC(u32 a1) { u32 c; u32 idx; - if (gSaveHeader->gameLanguage != 0) + if (gSaveHeader->language != 0) return 1; switch (a1) { @@ -972,7 +972,7 @@ u32 sub_080514BC(u32 a1) { if (idx == 0) return 0; - c = gSave.playerName[idx - 1]; + c = gSave.name[idx - 1]; if (c - 0xa4 < 0x29) { switch (a1) { case 0x0: @@ -1200,9 +1200,9 @@ void sub_080518E4(void) { void HandleFileStart(void) { if (gMenu.menuType == 0) { gMenu.menuType = 1; - gSaveHeader->messageSpeed = gSave.messageSpeed; - gSaveHeader->brightnessPref = gSave.brightnessPref; - gMain.funcIndex = 2; + gSaveHeader->msg_speed = gSave.msg_speed; + gSaveHeader->brightness = gSave.brightness; + gMain.state = 2; DoFade(5, 8); } } @@ -1213,8 +1213,8 @@ void sub_0805194C(u32 save_idx) { gUnk_02019EE0.saveStatus[save_idx] = 0; save = &gUnk_02019EE0.saves[save_idx]; MemClear(save, sizeof(*save)); - save->messageSpeed = 1; - save->brightnessPref = 1; + save->msg_speed = 1; + save->brightness = 1; save->stats.health = 24; save->stats.maxHealth = 24; } diff --git a/src/game.c b/src/game.c index 9b5616e4..cd3aab0f 100644 --- a/src/game.c +++ b/src/game.c @@ -9,12 +9,13 @@ #include "flags.h" #include "save.h" #include "common.h" -#include "fileScreen.h" +#include "fileselect.h" #include "menu.h" #include "functions.h" #include "area.h" #include "message.h" #include "game.h" +#include "item.h" extern u8 gUpdateVisibleTiles; @@ -39,37 +40,37 @@ extern void (*gUnk_080FCA08[])(); extern void (*gUnk_080FCA14[])(); extern void (*gUnk_080FCA70[])(void); -void sub_0807CA18(void); -void sub_080300AC(void); -void sub_08049CD4(void); -void sub_0807059C(void); -void sub_080A7124(void); +void FinalizeSave(void); +void ClearArmosData(void); +void ClearRoomMemory(void); +void ClearMenuSavestate(void); +void ResetUI(void); void sub_0806FD8C(void); void sub_080300C4(void); u32 sub_0805BC04(void); void DeleteSleepingEntities(void); -u32 sub_0805BBBC(void); +u32 UpdateLightLevel(void); void sub_080185F8(void); -void sub_08080A40(void); -u32 sub_0804AA84(void); -void sub_08078CB4(void); -void sub_0801C344(); -u32 sub_080705AC(); +void UpdateDoorTransition(void); +u32 IsEnterPortal(void); +void UpdateCarriedObject(void); +void DrawUI(); +u32 CheckPlayerActivity(); void CollisionMain(); void sub_0805BB74(); void CreateZeldaFollower(void); -void sub_0807C0DC(); -void sub_0805E9A8(); +void LoadRoomGfx(); +void QueueEntityDeletion(); void sub_0804AF90(); -void sub_0804AFDC(); -void sub_0805283C(); +void CallRoomProp6(); +void LoadRoomBgm(); void UpdateScroll(); void UpdateBgAnim(); void sub_08052010(); void sub_080520C4(); void CleanUpGFXSlots(); void sub_080ADE24(); -void sub_0801C370(u32); +void InitUI(u32); void sub_0801AE44(u32); void GenerateAreaHint(void); void ForceSetPlayerState(u32); @@ -81,22 +82,22 @@ void sub_0806F364(void); void sub_08052FF4(u32 area, u32 room); void sub_0807C860(void); void sub_0807C740(void); -void sub_080197AC(void); -void sub_08053390(void); +void SetBGDefaults(void); +void LoadItemGfx(void); -static void sub_08053518(void); +static void ResetTmpFlags(void); static void InitializeEntities(void); -static void sub_08053178(void); -static void sub_08052BF8(void); -static void sub_08051E04(void); -static void sub_08052F1C(void); -/* static */ void sub_08052C5C(void); +static void CheckAreaDiscovery(void); +static void CreateManagerF(void); +static void UpdateWindcrests(void); +static void UpdateFakeScroll(void); +static void UpdatePlayerMapCoords(void); static void sub_08052C3C(void); static void sub_0805340C(void); static void sub_08051D98(void); static void sub_08051DCC(void); -/* static */ u32 sub_080528B4(void); -/* static */ u32 HandleRoomExit(void); +static u32 CheckGameOver(void); +static u32 HandleRoomExit(void); static void sub_080531F8(void); static void sub_0805329C(void); static void InitializePlayer(void); @@ -160,98 +161,102 @@ typedef struct { extern void CreateDialogBox(); -void HandleGameplayScreen(void) { - gScreenTransition.frameCount++; - gUnk_080FC9D8[gMain.funcIndex](); +void GameTask(void) { + gRoomTransition.frameCount++; + gUnk_080FC9D8[gMain.state](); #ifdef DEMO_USA - if (gSave.unk48C[7] != 0) { - if (--gSave.unk48C[7] == 0) { + if (gSave.demo_timer != 0) { + if (--gSave.demo_timer == 0) { DoFade(7, 2); - gMain.funcIndex = 3; + gMain.state = GAMETASK_EXIT; } } #endif } -void sub_080519B0(void) { +void GameTask_Transition(void) { + // wait for file select to fade out if (gFadeControl.active) return; DispReset(1); InitSoundPlayingInfo(); zMallocInit(); - sub_080A7124(); - sub_0807059C(); - MemClear(&gScreenTransition, 0xB0); - sub_08049CD4(); - sub_080300AC(); - sub_0807CA18(); - MemCopy(&gSave.saved_status, &gScreenTransition.player_status, 0x20); - gScreenTransition.transitionType = 4; - sub_08053518(); - gMain.funcIndex = 1; - gMain.transition = 0; + ResetUI(); + ClearMenuSavestate(); + MemClear(&gRoomTransition, sizeof(gRoomTransition)); + ClearRoomMemory(); + ClearArmosData(); + + FinalizeSave(); + // spawn in with saved status + MemCopy(&gSave.saved_status, &gRoomTransition.player_status, sizeof (gRoomTransition.player_status)); + gRoomTransition.type = TRANSITION_FADE_BLACK_SLOW; + ResetTmpFlags(); + + gMain.state = GAMETASK_INIT; + gMain.substate = 0; } -void sub_08051A14(void) { +void GameTask_Init(void) { DispReset(1); gFadeControl.mask = 0xffffffff; - MemClear(&gUnk_03000000, 0xB74); - MemClear(&gUnk_02032EC0, 0x3B4); + MemClear(&gOAMControls, 0xB74); + MemClear(&gUnk_02032EC0, sizeof(gUnk_02032EC0)); EraseAllEntities(); - sub_080197AC(); - sub_08080668(); + SetBGDefaults(); + ClearTilemaps(); ResetPalettes(); - sub_0801CFA8(1); + ResetPaletteTable(1); sub_0806FD8C(); - gRoomControls.areaID = gScreenTransition.player_status.area_next; - gRoomControls.roomID = gScreenTransition.player_status.room_next; - sub_08053320(); + gRoomControls.area = gRoomTransition.player_status.area_next; + gRoomControls.room = gRoomTransition.player_status.room_next; + LoadGfxGroups(); gGFXSlots.unk0 = 1; - gMain.funcIndex = 2; + gMain.state = GAMETASK_MAIN; } -void sub_08051A90(void) { - gUnk_080FC9E8[gMain.transition](); +void GameTask_Main(void) { + gUnk_080FC9E8[gMain.substate](); } -void InitializeNewRoom(void) { +void GameMain_InitRoom(void) { SetInitializationPriority(); gScreen.lcd.displayControl = 0x1740; - gMain.transition = 1; - gScreenTransition.transitioningOut = 0; - gScreenTransition.field_0x4[0] = 0; - gScreenTransition.field_0x4[1] = 0; + gMain.substate = GAMEMAIN_CHANGEROOM; + gRoomTransition.transitioningOut = 0; + gRoomTransition.field_0x4[0] = 0; + gRoomTransition.field_0x4[1] = 0; MessageInitialize(); - sub_08052CFC(); - sub_0801C370(0); + InitRoom(); + InitUI(0); InitializeEntities(); #ifndef EU sub_0801855C(); #endif } -void sub_08051AF0(void) { +void GameMain_ChangeRoom(void) { UpdateEntities(); - if (!sub_0805BBBC()) + if (!UpdateLightLevel()) UpdateScroll(); UpdateBgAnim(); - sub_08000108(); - sub_0801C344(); + UpdateScrollVram(); + DrawUI(); UpdateManagers(); FlushSprites(); - sub_0801C208(); - sub_08078CB4(); - sub_080AD9B0(); - sub_080AD918(); + DrawOAMCmd(); + UpdateCarriedObject(); + DrawEntities(); + CopyOAM(); - if (gFadeControl.active || gRoomControls.unk2 != 0) + if (gFadeControl.active || gRoomControls.reload_flags != 0) return; - sub_08052F1C(); + UpdateFakeScroll(); if (gArea.musicIndex != gArea.pMusicIndex) { gArea.musicIndex = gArea.pMusicIndex; - SoundReq(gArea.pMusicIndex | 0x800B0000); + SoundReq(gArea.pMusicIndex | SONG_PLAY_VOL_RESET); } DeleteSleepingEntities(); @@ -259,47 +264,48 @@ void sub_08051AF0(void) { if (sub_0805BC04()) return; - sub_08052C5C(); + UpdatePlayerMapCoords(); ResetSystemPriority(); - sub_08051E04(); + UpdateWindcrests(); sub_080300C4(); - gMain.transition = 2; + gMain.substate = GAMEMAIN_UPDATE; SetPlayerControl(0); gUnk_02034490[0] = 0; #if defined(USA) || defined(DEMO_USA) if (gArea.inventoryGfxIdx != 0xff) { sub_0801855C(); } - sub_08052BF8(); - sub_08053178(); + CreateManagerF(); + CheckAreaDiscovery(); #elif defined(EU) - sub_08053178(); + CheckAreaDiscovery(); sub_0801855C(); #elif defined(JP) - sub_08053178(); + CheckAreaDiscovery(); if (gArea.inventoryGfxIdx != 0xff) { sub_0801855C(); } #elif defined(DEMO_JP) - if (gScreenTransition.field_0x2c[5]) - sub_08053178(); + if (gRoomTransition.field_0x2c[5]) + CheckAreaDiscovery(); if (gArea.inventoryGfxIdx != 0xff) { sub_0801855C(); } - sub_08052BF8(); + CreateManagerF(); #endif if (!gRoomVars.field_0x0) { RequestPriorityDuration(NULL, 1); } } -void sub_08051BD0(void) { - if (sub_080705AC() || sub_0804AA84()) { +void GameMain_Update(void) { + if (CheckPlayerActivity() || IsEnterPortal()) { return; } sub_0805340C(); - if (gMain.transition != 2) { + // leave early if player is entering a portal + if (gMain.substate != GAMEMAIN_UPDATE) { return; } @@ -308,68 +314,68 @@ void sub_08051BD0(void) { FlushSprites(); UpdateEntities(); - sub_08080A40(); + UpdateDoorTransition(); CollisionMain(); UpdateScroll(); UpdateBgAnim(); - sub_08000108(); + UpdateScrollVram(); sub_08052C3C(); - sub_0801C344(); + DrawUI(); UpdateManagers(); - sub_0801C208(); - sub_08078CB4(); - sub_080AD9B0(); + DrawOAMCmd(); + UpdateCarriedObject(); + DrawEntities(); HandleRoomExit(); - sub_08052C5C(); - sub_080528B4(); + UpdatePlayerMapCoords(); + CheckGameOver(); sub_080185F8(); - sub_080AD918(); - switch (gRoomControls.unk2) { - case 1: - gPlayerState.queued_action = 0x17; - gMain.transition = 1; + CopyOAM(); + switch (gRoomControls.reload_flags) { + case RELOAD_ALL: + gPlayerState.queued_action = PLAYER_ROOMTRANSITION; + gMain.substate = GAMEMAIN_CHANGEROOM; SetRoomReloadPriority(); sub_08051D98(); break; - case 2: - gPlayerState.queued_action = 0x17; - gMain.transition = 1; + case RELOAD_ENTITIES: + gPlayerState.queued_action = PLAYER_ROOMTRANSITION; + gMain.substate = GAMEMAIN_CHANGEROOM; SetRoomReloadPriority(); sub_08051DCC(); break; } } -void sub_08051CA8(void) { - if (sub_080705AC()) +void GameMain_BarrelUpdate(void) { + if (CheckPlayerActivity()) return; UpdateEntities(); CollisionMain(); - sub_0801C344(); + DrawUI(); UpdateManagers(); FlushSprites(); - sub_0801C208(); - sub_08078CB4(); - sub_080AD9B0(); + DrawOAMCmd(); + UpdateCarriedObject(); + DrawEntities(); HandleRoomExit(); - sub_080528B4(); - sub_080AD918(); + CheckGameOver(); + CopyOAM(); if (!gFadeControl.active) ResetSystemPriority(); } -void sub_08051CF0(void) { +void GameMain_ChangeArea(void) { FlushSprites(); - sub_0801C208(); - sub_080AD9B0(); + DrawOAMCmd(); + DrawEntities(); gMain.pad = 1; - sub_080AD918(); + CopyOAM(); if (!gFadeControl.active) { DispReset(1); - gMain.funcIndex = 1; - gMain.transition = 0; - gScreenTransition.transitioningOut = 1; + gMain.state = GAMETASK_INIT; + gMain.substate = 0; + gRoomTransition.transitioningOut = 1; } } @@ -379,25 +385,25 @@ void sub_08051D2C(void) { DoSoftReset(); #else DoFade(7, 8); - InitScreen(3); + SetTask(TASK_GAMEOVER); #endif } static void InitializeEntities(void) { sub_08052EA0(); sub_0804AF90(); - sub_0804AFDC(); + CallRoomProp6(); InitializePlayer(); gUnk_03004030.unk_00 = NULL; sub_0807C740(); gUpdateVisibleTiles = 1; - sub_0805283C(); + LoadRoomBgm(); SetColor(0, 0); LoadRoom(); CreateZeldaFollower(); - sub_0804AFF4(); + CallRoomProp5And7(); sub_0805329C(); - sub_08000108(); + UpdateScrollVram(); sub_0805BB74(0xffffffff); sub_080531F8(); } @@ -405,30 +411,33 @@ static void InitializeEntities(void) { void sub_08051D98(void) { sub_08052EA0(); gRoomVars.field_0x0 = 1; - sub_0805E9A8(); + + // remove old entities, unless persistent + QueueEntityDeletion(); + sub_0804AF90(); - sub_0804AFDC(); - sub_0807C0DC(); - sub_0805283C(); + CallRoomProp6(); + LoadRoomGfx(); + LoadRoomBgm(); LoadRoom(); - sub_0804AFF4(); + CallRoomProp5And7(); SetPlayerControl(1); } void sub_08051DCC(void) { - gRoomControls.areaID = gScreenTransition.player_status.area_next; - gRoomControls.roomID = gScreenTransition.player_status.room_next; + gRoomControls.area = gRoomTransition.player_status.area_next; + gRoomControls.room = gRoomTransition.player_status.room_next; RoomExitCallback(); - gScreenTransition.transitionType = 3; - sub_08052CFC(); + gRoomTransition.type = TRANSITION_3; + InitRoom(); sub_08052EA0(); - sub_0805E9A8(); + QueueEntityDeletion(); sub_0804AF90(); - sub_0804AFDC(); - sub_0805283C(); + CallRoomProp6(); + LoadRoomBgm(); } -void sub_08051E04() { +void UpdateWindcrests() { if (CheckIsOverworld()) { struct_08127F94* i; u32 hi_x, hi_y; @@ -453,20 +462,20 @@ void sub_08051E04() { } } -void sub_08051E68() { +void Subtask_ChuchuCutscene() { gUnk_080FCA08[gMenu.menuType](); } void sub_08051E84() { struct_080FCA20* p = &gUnk_080FCA20[gUnk_02032EC0.field_0x3]; - gRoomControls.areaID = p->_0; - gRoomControls.roomID = p->_1; - sub_08053320(); - gArea.localFlagOffset = GetFlagBankOffset(gRoomControls.areaID); + gRoomControls.area = p->_0; + gRoomControls.room = p->_1; + LoadGfxGroups(); + gArea.localFlagOffset = GetFlagBankOffset(gRoomControls.area); SetCurrentRoomPropertyList(p->_0, p->_1); sub_08052FD8(p->_0, p->_1); - gRoomControls.roomScrollX = gRoomControls.roomOriginX + p->_4; - gRoomControls.roomScrollY = gRoomControls.roomOriginY + p->_6; + gRoomControls.scroll_x = gRoomControls.origin_x + p->_4; + gRoomControls.scroll_y = gRoomControls.origin_y + p->_6; gMenu.field_0x0 = p->_2; gMenu.field_0x3 = p->_3 & 0xf; gMenu.field_0xc = (void*)p; @@ -480,12 +489,12 @@ void sub_08051F04(void) { gUnk_080FCA14[gMenu.field_0x0](); FlushSprites(); UpdateEntities(); - sub_080AD9B0(); - sub_080AD918(); + DrawEntities(); + CopyOAM(); UpdateScroll(); UpdateBgAnim(); UpdateManagers(); - sub_08000108(); + UpdateScrollVram(); } void sub_08051F40(u32 a1, u32 a2, u32 a3, u32 a4) { @@ -508,8 +517,8 @@ void sub_08051F78(u32 a1, u32 a2, u32 a3, u32 a4) { void sub_08051F9C(u32 a1, u32 a2, u32 a3, u32 a4) { u32 tmp = gScreen.lcd.displayControl & 0x6000; sub_08052FF4(a1, a2); - gRoomControls.roomScrollX = gRoomControls.roomOriginX + a3; - gRoomControls.roomScrollY = gRoomControls.roomOriginY + a4; + gRoomControls.scroll_x = gRoomControls.origin_x + a3; + gRoomControls.scroll_y = gRoomControls.origin_y + a4; sub_0807C740(); gUpdateVisibleTiles = 1; gUsedPalettes = 0; @@ -543,17 +552,17 @@ void sub_08052010() { gScreen.bg2.updated = 1; } -void HandleGameOverScreen() { - gUnk_080FCA70[gMain.funcIndex](); - if (gMain.funcIndex != 0) { +void GameOverTask() { + gUnk_080FCA70[gMain.state](); + if (gMain.state != 0) { FlushSprites(); DrawGameOverText(); - sub_080AD918(); + CopyOAM(); } } void sub_080520C4(u32 idx) { - gMain.funcIndex = idx; + gMain.state = idx; sub_080A7114(0); } @@ -725,7 +734,7 @@ void sub_080522F4(void) { default: if (gFadeControl.active == 0) { if (gMenu.field_0x3 == 0) { - InitScreen(2); + SetTask(TASK_GAME); } else { DoSoftReset(); } @@ -795,7 +804,7 @@ void SetPopupState(u32 type, u32 choice_idx) { MemCopy(&sDefaultFont, &font, sizeof font); opt = &sPopupOptions[type]; - font.dest = sDefaultFont.dest + (opt->dest_off[gSaveHeader->gameLanguage] + opt->_8 * 32); + font.dest = sDefaultFont.dest + (opt->dest_off[gSaveHeader->language] + opt->_8 * 32); font.right_align = opt->right_align; sub_0805F46C(opt->_a, &font); gScreen.bg1.updated = fakematch; @@ -828,26 +837,26 @@ void InitializePlayer(void) { pl = &gPlayerEntity; - gRoomControls.cameraTarget = pl; - gPlayerState.queued_action = sPlayerSpawnStates[gScreenTransition.player_status.spawn_type]; + gRoomControls.camera_target = pl; + gPlayerState.queued_action = sPlayerSpawnStates[gRoomTransition.player_status.spawn_type]; if (!CheckGlobalFlag(EZERO_1ST)) { gPlayerState.flags |= PL_NO_CAP; } - switch (gScreenTransition.player_status.spawn_type) { + switch (gRoomTransition.player_status.spawn_type) { case PL_SPAWN_DROP: case PL_SPAWN_DROP_MINISH: pl->z.HALF.HI = -0xc0; break; case PL_SPAWN_STEP_IN: gPlayerState.field_0x34[4] = 16; - pl->direction = Direction8FromAnimationState(gScreenTransition.player_status.start_anim); + pl->direction = Direction8FromAnimationState(gRoomTransition.player_status.start_anim); case PL_SPAWN_WALKING: pl->speed = 224; break; case PL_SPAWN_STAIRS_ASCEND: case PL_SPAWN_STAIRS_DESCEND: gPlayerState.field_0x34[4] = 1; - gPlayerState.field_0x34[5] = gScreenTransition.player_status.spawn_type; + gPlayerState.field_0x34[5] = gRoomTransition.player_status.spawn_type; break; case PL_SPAWN_PARACHUTE_FORWARD: gPlayerState.field_0x34[4] = 1; @@ -860,13 +869,13 @@ void InitializePlayer(void) { } pl->kind = PLAYER; - pl->flags |= ENT_COLLIDE | ENT_20; + pl->flags |= ENT_COLLIDE | ENT_PERSIST; pl->spritePriority.b0 = 4; pl->health = gSave.stats.health; - pl->x.HALF.HI = gScreenTransition.player_status.start_pos_x; - pl->y.HALF.HI = gScreenTransition.player_status.start_pos_y; - pl->animationState = gScreenTransition.player_status.start_anim; - pl->collisionLayer = gScreenTransition.player_status.layer; + pl->x.HALF.HI = gRoomTransition.player_status.start_pos_x; + pl->y.HALF.HI = gRoomTransition.player_status.start_pos_y; + pl->animationState = gRoomTransition.player_status.start_anim; + pl->collisionLayer = gRoomTransition.player_status.layer; UpdateSpriteForCollisionLayer(pl); AppendEntityToList(pl, 1); RegisterPlayerHitbox(); @@ -986,19 +995,19 @@ u32 HasDungeonSmallKey(void) { } void sub_080527FC(u32 a1, u32 a2) { - sub_08053320(); + LoadGfxGroups(); #ifndef EU CleanUpGFXSlots(); #endif sub_080ADE24(); - sub_0801C370(1); + InitUI(1); sub_0801AE44(a1); MemCopy(gUnk_02024090, gPaletteBuffer, 1024); gUsedPalettes = -1; } -void sub_0805283C(void) { - gArea.pMusicIndex = gAreaMetadata[gRoomControls.areaID]._3; +void LoadRoomBgm(void) { + gArea.pMusicIndex = gAreaMetadata[gRoomControls.area]._3; if (CheckLocalFlagByBank(FLAG_BANK_10, LV6_KANE_START)) { gArea.pMusicIndex = BGM_FIGHT_THEME2; } @@ -1015,11 +1024,11 @@ static void sub_0805289C(void) { } #endif -u32 sub_080528B4(void) { - if (gScreenTransition.field_0x4[1]) { +u32 CheckGameOver(void) { + if (gRoomTransition.field_0x4[1]) { InitFade(); - gMain.funcIndex = 3; - gMain.transition = 0; + gMain.state = 3; + gMain.substate = 0; DoFade(5, 8); SoundReq(SONG_STOP_BGM); return 1; @@ -1033,13 +1042,13 @@ void RoomExitCallback(void) { } u32 HandleRoomExit(void) { - if (gScreenTransition.transitioningOut && gSave.stats.health != 0 && gPlayerState.framestate != PL_STATE_DIE) { + if (gRoomTransition.transitioningOut && gSave.stats.health != 0 && gPlayerState.framestate != PL_STATE_DIE) { if (StairsAreValid()) { - gScreenTransition.transitioningOut = 0; + gRoomTransition.transitioningOut = 0; return 0; } - switch (gScreenTransition.transitionType) { + switch (gRoomTransition.type) { case TRANSITION_CUT: DoFade(13, 8); break; @@ -1067,7 +1076,7 @@ u32 HandleRoomExit(void) { break; } RoomExitCallback(); - gMain.transition = 3; + gMain.substate = 3; *(&gMain.pauseInterval + 1) = 1; return 1; } @@ -1082,15 +1091,15 @@ static u32 StairsAreValid(void) { 0 }; const u16* i; - u32 tgt = gScreenTransition.stairs_idx; + u32 tgt = gRoomTransition.stairs_idx; for (i = sStairTypes; i[0] != 0; i += 2) { if (tgt == i[0]) { gPlayerState.queued_action = PLAYER_USEENTRANCE; gPlayerState.field_0x38 = 0; gPlayerState.field_0x39 = i[1]; - if (!gScreenTransition.player_status.spawn_type) - gScreenTransition.player_status.spawn_type = i[1]; + if (!gRoomTransition.player_status.spawn_type) + gRoomTransition.player_status.spawn_type = i[1]; return 1; } } @@ -1098,17 +1107,17 @@ static u32 StairsAreValid(void) { } void InitParachuteRoom(void) { - gScreenTransition.transitioningOut = 1; - gScreenTransition.player_status.start_pos_x = (gPlayerEntity.x.HALF.HI - gRoomControls.roomOriginX) & 0x3F8; - gScreenTransition.player_status.start_pos_y = (gPlayerEntity.y.HALF.HI - gRoomControls.roomOriginY) & 0x3F8; - gScreenTransition.player_status.start_anim = 4; - gScreenTransition.player_status.spawn_type = PL_SPAWN_PARACHUTE_FORWARD; - gScreenTransition.player_status.area_next = gRoomControls.areaID; - gScreenTransition.player_status.room_next = gRoomControls.roomID - 1; + gRoomTransition.transitioningOut = 1; + gRoomTransition.player_status.start_pos_x = (gPlayerEntity.x.HALF.HI - gRoomControls.origin_x) & 0x3F8; + gRoomTransition.player_status.start_pos_y = (gPlayerEntity.y.HALF.HI - gRoomControls.origin_y) & 0x3F8; + gRoomTransition.player_status.start_anim = 4; + gRoomTransition.player_status.spawn_type = PL_SPAWN_PARACHUTE_FORWARD; + gRoomTransition.player_status.area_next = gRoomControls.area; + gRoomTransition.player_status.room_next = gRoomControls.room - 1; } -static void HandleRoomEnter(void) { - switch (gScreenTransition.transitionType) { +static void InitRoomTransition(void) { + switch (gRoomTransition.type) { case TRANSITION_CUT: DoFade(12, 8); break; @@ -1167,23 +1176,23 @@ void DisplayEzloMessage(void) { idx = 0x11; #endif - if (gScreenTransition.player_status.field_0x24[idx] == 0) { - height = gPlayerEntity.y.HALF.HI - gRoomControls.roomScrollY > 96 ? 1 : 13; + if (gRoomTransition.player_status.field_0x24[idx] == 0) { + height = gPlayerEntity.y.HALF.HI - gRoomControls.scroll_y > 96 ? 1 : 13; } else { - height = gScreenTransition.player_status.field_0x24[idx]; + height = gRoomTransition.player_status.field_0x24[idx]; } - MessageAtHeight(gScreenTransition.hint_idx, height); + MessageAtHeight(gRoomTransition.hint_idx, height); } #if defined(USA) || defined(DEMO_USA) || defined(DEMO_JP) -void sub_08052BF8(void) { +void CreateManagerF(void) { Entity* e = NULL; - if (gScreenTransition.player_status.field_0x24[13]) + if (gRoomTransition.player_status.field_0x24[13]) return; - gScreenTransition.player_status.field_0x24[13] = 1; + gRoomTransition.player_status.field_0x24[13] = 1; #ifndef DEMO_JP - gScreenTransition.player_status.field_0x24[10] = gArea.locationIndex; + gRoomTransition.player_status.field_0x24[10] = gArea.locationIndex; #endif e = (Entity*)GetEmptyManager(); if (e == NULL) @@ -1204,35 +1213,35 @@ void sub_08052C3C(void) { } } -void sub_08052C5C(void) { +void UpdatePlayerMapCoords(void) { if (!CheckIsInteriorNoEnemies()) { if (CheckIsOverworld()) { - gScreenTransition.player_status.overworld_map_x = gPlayerEntity.x.HALF_U.HI; - gScreenTransition.player_status.overworld_map_y = gPlayerEntity.y.HALF_U.HI; + gRoomTransition.player_status.overworld_map_x = gPlayerEntity.x.HALF_U.HI; + gRoomTransition.player_status.overworld_map_y = gPlayerEntity.y.HALF_U.HI; } else if (CheckIsDungeon()) { - gScreenTransition.player_status.dungeon_map_x = gPlayerEntity.x.HALF.HI; - gScreenTransition.player_status.dungeon_map_y = gPlayerEntity.y.HALF.HI; + gRoomTransition.player_status.dungeon_map_x = gPlayerEntity.x.HALF.HI; + gRoomTransition.player_status.dungeon_map_y = gPlayerEntity.y.HALF.HI; } } } void sub_08052CA4(u32 area, u32 room, u32 x, u32 y) { RoomHeader* hdr = gAreaRoomHeaders[area] + room; - gScreenTransition.player_status.overworld_map_x = hdr->map_x + x; - gScreenTransition.player_status.overworld_map_y = hdr->map_y + y; + gRoomTransition.player_status.overworld_map_x = hdr->map_x + x; + gRoomTransition.player_status.overworld_map_y = hdr->map_y + y; } void sub_08052CD0(u32 area, u32 room, u32 x, u32 y) { RoomHeader* hdr = gAreaRoomHeaders[area] + room; - gScreenTransition.player_status.dungeon_map_x = hdr->map_x + x; - gScreenTransition.player_status.dungeon_map_y = hdr->map_y + y; + gRoomTransition.player_status.dungeon_map_x = hdr->map_x + x; + gRoomTransition.player_status.dungeon_map_y = hdr->map_y + y; } -void sub_08052CFC(void) { +void InitRoom(void) { AreaHeader* a_hdr = NULL; MemClear(&gArea, sizeof gArea); - a_hdr = &gAreaMetadata[gRoomControls.areaID]; + a_hdr = &gAreaMetadata[gRoomControls.area]; gArea.areaMetadata = a_hdr->flags; gArea.locationIndex = a_hdr->location; gArea.dungeon_idx = a_hdr->location - 23; @@ -1240,7 +1249,7 @@ void sub_08052CFC(void) { gArea.filler[0] = a_hdr->flag_bank; gArea.unk1A = 180; gArea.unk_0a = 256; - HandleRoomEnter(); + InitRoomTransition(); InitAllRoomResInfo(); } @@ -1250,7 +1259,7 @@ u32 GetFlagBankOffset(u32 idx) { } void RegisterTransitionManager(void* mgr, void (*onEnter)(), void (*onExit)()) { - if (gMain.transition != 7) { + if (gMain.substate != 7) { gArea.transitionManager = mgr; gArea.onEnter = onEnter; gArea.onExit = onExit; @@ -1258,12 +1267,12 @@ void RegisterTransitionManager(void* mgr, void (*onEnter)(), void (*onExit)()) { } static void InitAllRoomResInfo(void) { - RoomHeader* r_hdr = gAreaRoomHeaders[gRoomControls.areaID]; + RoomHeader* r_hdr = gAreaRoomHeaders[gRoomControls.area]; RoomResInfo* info = gArea.roomResInfos; u32 i; for (i = 0; i < MAX_ROOMS && *(u16*)r_hdr != 0xFFFF; i++, r_hdr++) { if (r_hdr->tileset_id != 0xFFFF) - InitRoomResInfo(info, r_hdr, gRoomControls.areaID, i); + InitRoomResInfo(info, r_hdr, gRoomControls.area, i); info++; } gArea.pCurrentRoomInfo = GetCurrentRoomInfo(); @@ -1285,7 +1294,7 @@ static void InitRoomResInfo(RoomResInfo* info, RoomHeader* r_hdr, u32 area, u32 } RoomResInfo* GetCurrentRoomInfo(void) { - return &gArea.roomResInfos[gRoomControls.roomID]; + return &gArea.roomResInfos[gRoomControls.room]; } void sub_08052EA0(void) { @@ -1295,7 +1304,7 @@ void sub_08052EA0(void) { gRoomVars.unk_10[2] = gRoomVars.unk_10[0]; gRoomVars.unk_10[3] = gRoomVars.unk_10[0]; gRoomVars.lightLevel = 256; - gArea.locationIndex = gAreaMetadata[gRoomControls.areaID].location; + gArea.locationIndex = gAreaMetadata[gRoomControls.area].location; UpdateRoomTracker(); InitScriptData(); sub_08054524(); @@ -1306,12 +1315,16 @@ void sub_08052EA0(void) { static u32 sub_08052EF4(s32 idx) { AreaHeader* a_hdr = NULL; - u32 i = idx < 0 ? gRoomControls.areaID : idx; + u32 i = idx < 0 ? gRoomControls.area : idx; a_hdr = &gAreaMetadata[i]; return gLocalFlagBanks[a_hdr->flag_bank]; } -void sub_08052F1C(void) { +/** + * @brief If enabled, this type of transition does not change the room + * and keeps all entities. + */ +void UpdateFakeScroll(void) { u32 x, y; LinkedList* ll; Entity* e; @@ -1323,7 +1336,7 @@ void sub_08052F1C(void) { x = 0; // WTF? - switch (gRoomControls.unk_10) { + switch (gRoomControls.scroll_direction) { case 0: y = gArea.pCurrentRoomInfo->pixel_height; case 1: @@ -1336,10 +1349,10 @@ void sub_08052F1C(void) { gArea.pCurrentRoomInfo->map_x += x; gArea.pCurrentRoomInfo->map_y += y; - gRoomControls.roomOriginX += x; - gRoomControls.roomOriginY += y; - gRoomControls.roomScrollX += x; - gRoomControls.roomScrollY += y; + gRoomControls.origin_x += x; + gRoomControls.origin_y += y; + gRoomControls.scroll_x += x; + gRoomControls.scroll_y += y; ll = gEntityLists; do { @@ -1354,7 +1367,7 @@ void sub_08052F1C(void) { void sub_08052FD8(u32 area, u32 room) { sub_08052FF4(area, room); - gRoomControls.cameraTarget = NULL; + gRoomControls.camera_target = NULL; sub_0807C860(); sub_0807C740(); } @@ -1362,10 +1375,10 @@ void sub_08052FD8(u32 area, u32 room) { void sub_08052FF4(u32 area, u32 room) { RoomHeader* r_hdr = NULL; - sub_08080668(); - sub_080197AC(); - gRoomControls.areaID = area; - gRoomControls.roomID = room; + ClearTilemaps(); + SetBGDefaults(); + gRoomControls.area = area; + gRoomControls.room = room; gScreen.lcd.displayControl = 0x1740; MemClear(&gArea.currentRoomInfo, sizeof gArea.currentRoomInfo); gArea.pCurrentRoomInfo = &gArea.currentRoomInfo; @@ -1393,7 +1406,7 @@ static void sub_080530B0(void) { static const u16 sMinecartData[] = { 0x189, 0x0, 0x102, 0x4, 0x1af, 0x0, 0x204, 0x0, 0x1cf, 0x0, 0x10, 0x4, 0x0, 0x0, 0x0, 0x0 }; - MemCopy(sMinecartData, gScreenTransition.minecart_data, sizeof sMinecartData); + MemCopy(sMinecartData, gRoomTransition.minecart_data, sizeof sMinecartData); } void UpdateGlobalProgress(void) { @@ -1423,15 +1436,15 @@ static u32 sub_08053144(void) { return 0; ret = 0; if (gArea.locationIndex != 0) - ret = !!(gScreenTransition.player_status.field_0x24[10] ^ gArea.locationIndex); + ret = !!(gRoomTransition.player_status.field_0x24[10] ^ gArea.locationIndex); return ret; } -void sub_08053178(void) { +void CheckAreaDiscovery(void) { if (!sub_08053144()) return; - gScreenTransition.player_status.field_0x24[10] = gArea.locationIndex; + gRoomTransition.player_status.field_0x24[10] = gArea.locationIndex; if (!CheckGlobalFlag(TABIDACHI)) return; @@ -1456,30 +1469,30 @@ void sub_080531F8(void) { gPlayerState.startPosX = gPlayerEntity.x.HALF.HI; gPlayerState.startPosY = gPlayerEntity.y.HALF.HI; if (sub_08053144()) { - MemCopy(&gScreenTransition.player_status, &gSave.saved_status, sizeof gScreenTransition.player_status); + MemCopy(&gRoomTransition.player_status, &gSave.saved_status, sizeof gRoomTransition.player_status); if (CheckIsDungeon()) { - gScreenTransition.player_status.dungeon_area = gRoomControls.areaID; - gScreenTransition.player_status.dungeon_room = gRoomControls.roomID; - gScreenTransition.player_status.dungeon_x = gPlayerEntity.x.HALF.HI; - gScreenTransition.player_status.dungeon_y = gPlayerEntity.y.HALF.HI; + gRoomTransition.player_status.dungeon_area = gRoomControls.area; + gRoomTransition.player_status.dungeon_room = gRoomControls.room; + gRoomTransition.player_status.dungeon_x = gPlayerEntity.x.HALF.HI; + gRoomTransition.player_status.dungeon_y = gPlayerEntity.y.HALF.HI; } } } void sub_08053250(void) { - gScreenTransition.player_status.spawn_type = PL_SPAWN_DEFAULT; - gScreenTransition.player_status.start_pos_x = gPlayerEntity.x.HALF.HI - gRoomControls.roomOriginX; - gScreenTransition.player_status.start_pos_y = gPlayerEntity.y.HALF.HI - gRoomControls.roomOriginY; - gScreenTransition.player_status.start_anim = gPlayerEntity.animationState; - gScreenTransition.player_status.layer = gPlayerEntity.collisionLayer; - gScreenTransition.player_status.area_next = gRoomControls.areaID; - gScreenTransition.player_status.room_next = gRoomControls.roomID; - MemCopy(&gScreenTransition.player_status, &gSave.saved_status, sizeof gScreenTransition.player_status); + gRoomTransition.player_status.spawn_type = PL_SPAWN_DEFAULT; + gRoomTransition.player_status.start_pos_x = gPlayerEntity.x.HALF.HI - gRoomControls.origin_x; + gRoomTransition.player_status.start_pos_y = gPlayerEntity.y.HALF.HI - gRoomControls.origin_y; + gRoomTransition.player_status.start_anim = gPlayerEntity.animationState; + gRoomTransition.player_status.layer = gPlayerEntity.collisionLayer; + gRoomTransition.player_status.area_next = gRoomControls.area; + gRoomTransition.player_status.room_next = gRoomControls.room; + MemCopy(&gRoomTransition.player_status, &gSave.saved_status, sizeof gRoomTransition.player_status); } void sub_0805329C(void) { if (sub_08053144()) { - switch (gRoomControls.areaID) { + switch (gRoomControls.area) { case AREA_DEEPWOOD_SHRINE: gSave.unk7 = 0; break; @@ -1501,35 +1514,35 @@ static void sub_080532E4(void) { RoomHeader* r_hdr = gAreaRoomHeaders[AREA_FORTRESS_OF_WINDS] + 33; - gScreenTransition.player_status.dungeon_area = AREA_FORTRESS_OF_WINDS; - gScreenTransition.player_status.dungeon_room = 33; + gRoomTransition.player_status.dungeon_area = AREA_FORTRESS_OF_WINDS; + gRoomTransition.player_status.dungeon_room = 33; - gScreenTransition.player_status.dungeon_x = r_hdr->map_x + r_hdr->pixel_width / 2; - gScreenTransition.player_status.dungeon_map_x = gScreenTransition.player_status.dungeon_x; - gScreenTransition.player_status.dungeon_y = r_hdr->map_y + r_hdr->pixel_height + 0xa0; - gScreenTransition.player_status.dungeon_map_y = gScreenTransition.player_status.dungeon_y; + gRoomTransition.player_status.dungeon_x = r_hdr->map_x + r_hdr->pixel_width / 2; + gRoomTransition.player_status.dungeon_map_x = gRoomTransition.player_status.dungeon_x; + gRoomTransition.player_status.dungeon_y = r_hdr->map_y + r_hdr->pixel_height + 0xa0; + gRoomTransition.player_status.dungeon_map_y = gRoomTransition.player_status.dungeon_y; } -void sub_08053320(void) { +void LoadGfxGroups(void) { MemClear(&gBG0Buffer, sizeof gBG0Buffer); MemClear(&gBG1Buffer, sizeof gBG1Buffer); MemClear(&gBG2Buffer, sizeof gBG2Buffer); MemClear(&gBG3Buffer, sizeof gBG3Buffer); LoadGfxGroup(16); LoadGfxGroup(23); - if (gRoomControls.areaID == AREA_CASTOR_WILDS) + if (gRoomControls.area == AREA_CASTOR_WILDS) LoadGfxGroup(26); - sub_08053390(); + LoadItemGfx(); LoadPaletteGroup(11); LoadPaletteGroup(12); SetColor(0, 0); } -void sub_08053390(void) { - LoadGfxGroup(GetInventoryValue(8) ? 24 : 25); - if (GetInventoryValue(0xAu)) +void LoadItemGfx(void) { + LoadGfxGroup(GetInventoryValue(ITEM_REMOTE_BOMBS) ? 24 : 25); + if (GetInventoryValue(ITEM_LIGHT_ARROW)) LoadGfxGroup(29); - LoadGfxGroup(GetInventoryValue(12) ? 28 : 27); + LoadGfxGroup(GetInventoryValue(ITEM_MAGIC_BOOMERANG) ? 28 : 27); } void sub_080533CC(void) { @@ -1596,7 +1609,7 @@ void sub_080534AC(void) { } static void sub_080534E4(u32* a1) { - if (gRoomControls.areaID != AREA_VEIL_FALLS_TOP) { + if (gRoomControls.area != AREA_VEIL_FALLS_TOP) { if (*a1) --*a1; } @@ -1606,7 +1619,7 @@ void sub_08053500(void) { gSave.unk48C[2] = 36000; } -void sub_08053518(void) { +void ResetTmpFlags(void) { static const u16 sClearFlags[] = { FLAG_BANK_2, BILL00_SHICHOU_00, FLAG_BANK_2, BILL0A_YADO_TAKARA_00, FLAG_BANK_2, BILL0C_SCHOOLR_00, FLAG_BANK_1, MACHI00_00, FLAG_BANK_1, MACHI00_02, FLAG_BANK_2, MHOUSE06_00, diff --git a/src/interrupts.c b/src/interrupts.c index 82dd574d..4041fd50 100644 --- a/src/interrupts.c +++ b/src/interrupts.c @@ -98,9 +98,9 @@ void sub_08016BF8(void) { } void UpdateDisplayControls(void) { - if (gUnk_03000000.field_0x0 && (gScreen.lcd.displayControl & DISPCNT_OBJ_ON)) { - gUnk_03000000.field_0x0 = 0; - DmaCopy32(3, &gUnk_03000000.oam, OAM, OAM_SIZE); + if (gOAMControls.field_0x0 && (gScreen.lcd.displayControl & DISPCNT_OBJ_ON)) { + gOAMControls.field_0x0 = 0; + DmaCopy32(3, &gOAMControls.oam, OAM, OAM_SIZE); } sub_08016CA8(&gScreen.bg0); sub_08016CA8(&gScreen.bg1); @@ -289,7 +289,7 @@ void HandlePlayerLife(Entity* this) { if (gSave.stats.health <= temp) { gRoomVars.unk2 = 1; - if ((gUnk_0200AF00.filler0[1] == 0) && gScreenTransition.frameCount % 90 == 0) { + if ((gUnk_0200AF00.filler0[1] == 0) && gRoomTransition.frameCount % 90 == 0) { EnqueueSFX(SFX_LOW_HEALTH); } } diff --git a/src/item/itemTryPickupObject.c b/src/item/itemTryPickupObject.c index a8d59830..3e161d89 100644 --- a/src/item/itemTryPickupObject.c +++ b/src/item/itemTryPickupObject.c @@ -25,7 +25,7 @@ void sub_08076488(ItemBehavior* this, u32 arg1) { if (this->field_0x5[2] == 0) { if (sub_08077F64(this, arg1) != 0) { - if (((*(u8*)((this->field_0x18) + 0x16) & 0xf0) == 0x10) && ((gScreenTransition.frameCount & 1U) != 0)) { + if (((*(u8*)((this->field_0x18) + 0x16) & 0xf0) == 0x10) && ((gRoomTransition.frameCount & 1U) != 0)) { return; } UpdateItemAnim(this); diff --git a/src/main.c b/src/main.c index 1ce5d2bb..7a15ed58 100644 --- a/src/main.c +++ b/src/main.c @@ -9,30 +9,30 @@ extern u32 gRand; -extern void HandleIntroScreen(void); -extern void HandleChooseFileScreen(void); -extern void HandleChooseDemoScreen(void); -extern void HandleGameplayScreen(void); -extern void HandleGameOverScreen(void); -extern void HandleCreditsScreen(void); -extern void HandleDebugTextScreen(void); +extern void TitleTask(void); +extern void FileSelectTask(void); +extern void DemoTask(void); +extern void GameTask(void); +extern void GameOverTask(void); +extern void StaffrollTask(void); +extern void DebugTask(void); static void InitOverlays(void); static bool32 SoftResetKeysPressed(void); static u32 CheckHeaderValid(void); -void (*const sScreenHandlers[])(void) = { - [SCREEN_INTRO] = HandleIntroScreen, +void (*const sTaskHandlers[])(void) = { + [TASK_TITLE] = TitleTask, #ifdef DEMO_USA - [SCREEN_CHOOSE_FILE] = HandleChooseDemoScreen, + [TASK_FILE_SELECT] = DemoTask, #else - [SCREEN_CHOOSE_FILE] = HandleChooseFileScreen, + [TASK_FILE_SELECT] = FileSelectTask, #endif - [SCREEN_GAMEPLAY] = HandleGameplayScreen, - [SCREEN_GAME_OVER] = HandleGameOverScreen, - [SCREEN_CREDITS] = HandleCreditsScreen, - [SCREEN_DEBUG_TEXT] = HandleDebugTextScreen, + [TASK_GAME] = GameTask, + [TASK_GAMEOVER] = GameOverTask, + [TASK_STAFFROLL] = StaffrollTask, + [TASK_DEBUG] = DebugTask, }; static void sub_080560B8(void); @@ -52,7 +52,7 @@ void AgbMain(void) { ResetPalettes(); gRand = 0x1234567; MemClear(&gMain, sizeof(gMain)); - InitScreen(SCREEN_INTRO); + SetTask(TASK_TITLE); while (1) { ReadKeyInput(); if (SoftResetKeysPressed()) { @@ -81,7 +81,7 @@ void AgbMain(void) { } gMain.ticks.HWORD++; - sScreenHandlers[gMain.screen](); + sTaskHandlers[gMain.task](); MessageMain(); FadeMain(); AudioMain(); @@ -129,10 +129,10 @@ static bool32 SoftResetKeysPressed(void) { return (gInput.heldKeys & SOFT_RESET_KEYS) == SOFT_RESET_KEYS; } -void InitScreen(u32 screen) { - gMain.screen = screen; - gMain.funcIndex = 0; - gMain.transition = 0; +void SetTask(u32 task) { + gMain.task = task; + gMain.state = 0; + gMain.substate = 0; } void DisableInterruptsAndDMA(void) { @@ -156,27 +156,27 @@ void DoSoftReset(void) { typedef struct { int signature; u8 saveFileId; - u8 messageSpeed; - u8 brightnessPref; - u8 gameLanguage; + u8 msg_speed; + u8 brightness; + u8 language; u8 name[6]; - u8 _e; - u8 _f; + u8 invalid; + u8 initialized; } Defaults; const Defaults sDefaultSettings = { .signature = SIGNATURE, .saveFileId = 0, - .messageSpeed = 1, - .brightnessPref = 1, + .msg_speed = 1, + .brightness = 1, #ifdef EU - .gameLanguage = 2, // TODO in EU 2 is english? + .language = 2, // TODO in EU 2 is english? #else - .gameLanguage = GAME_LANGUAGE, + .language = GAME_LANGUAGE, #endif .name = "LINK", - ._e = 0, - ._f = 0, + .invalid = 0, + .initialized = 0, }; // single misplaced ldr @@ -213,13 +213,13 @@ END_NONMATCH static u32 CheckHeaderValid(void) { if ((gSaveHeader->signature != SIGNATURE) || (gSaveHeader->saveFileId >= NUM_SAVE_SLOTS) || - (gSaveHeader->messageSpeed >= MAX_MSG_SPEED) || (gSaveHeader->brightnessPref >= MAX_BRIGHTNESS) + (gSaveHeader->msg_speed >= MAX_MSG_SPEED) || (gSaveHeader->brightness >= MAX_BRIGHTNESS) #ifdef EU - || (gSaveHeader->gameLanguage <= GAME_LANGUAGE) || (gSaveHeader->gameLanguage > NUM_LANGUAGES) + || (gSaveHeader->language <= GAME_LANGUAGE) || (gSaveHeader->language > NUM_LANGUAGES) #else - || (gSaveHeader->gameLanguage != GAME_LANGUAGE) + || (gSaveHeader->language != GAME_LANGUAGE) #endif - || (gSaveHeader->_e != 0)) + || (gSaveHeader->invalid)) return FALSE; return TRUE; @@ -278,8 +278,8 @@ void SetSleepMode(void) { // Convert AABB to screen coordinates and check if it's within the viewport u32 CheckRegionOnScreen(u32 x0, u32 y0, u32 x1, u32 y1) { u32 result; - u32 x = ((gRoomControls.roomScrollX - gRoomControls.roomOriginX) - x0 + DISPLAY_WIDTH); - u32 y = ((gRoomControls.roomScrollY - gRoomControls.roomOriginY) - y0 + DISPLAY_HEIGHT); + u32 x = ((gRoomControls.scroll_x - gRoomControls.origin_x) - x0 + DISPLAY_WIDTH); + u32 y = ((gRoomControls.scroll_y - gRoomControls.origin_y) - y0 + DISPLAY_HEIGHT); u32 a = x1 + DISPLAY_WIDTH; u32 b = y1 + DISPLAY_HEIGHT; if ((x < a) && (y < b)) diff --git a/src/manager/manager10.c b/src/manager/manager10.c index 607463a5..4eb78e21 100644 --- a/src/manager/manager10.c +++ b/src/manager/manager10.c @@ -6,7 +6,7 @@ #include "sound.h" #include "screen.h" #include "common.h" -#include "fileScreen.h" +#include "fileselect.h" #include "functions.h" void sub_080595E4(Manager10*); @@ -95,7 +95,7 @@ void sub_08059690(Manager10* this) { } void sub_080596E0(Manager10* this) { - if ((gScreenTransition.frameCount & 7) == 0) { + if ((gRoomTransition.frameCount & 7) == 0) { gScreen.bg1.xOffset += 8; gScreen.bg1.xOffset &= 0x1F; } @@ -149,11 +149,11 @@ void sub_080596E0(Manager10* this) { } u32 sub_08059844() { - return gPlayerEntity.x.HALF.HI - gRoomControls.roomOriginX > gRoomControls.width >> 1; + return gPlayerEntity.x.HALF.HI - gRoomControls.origin_x > gRoomControls.width >> 1; } u32 sub_0805986C() { - return gPlayerEntity.x.HALF.HI - gRoomControls.roomOriginX > 0x200; + return gPlayerEntity.x.HALF.HI - gRoomControls.origin_x > 0x200; } void sub_08059894(const u16* unk1, const u16* unk2, u32 unk3) { diff --git a/src/manager/manager12.c b/src/manager/manager12.c index 630e17e5..a29877bd 100644 --- a/src/manager/manager12.c +++ b/src/manager/manager12.c @@ -65,7 +65,7 @@ void sub_08059A2C(Manager12* this) { } void sub_08059A58(Manager12* this) { - if (gRoomControls.areaID != AREA_FESTIVAL_TOWN) { + if (gRoomControls.area != AREA_FESTIVAL_TOWN) { if (sub_08059C8C(this, 0, &this->field_0x20, &gUnk_08108398) != 0) { sub_08059CC0(0, (u32)this->field_0x20); } @@ -142,7 +142,7 @@ void sub_08059CC0(u32 param_1, u32 param_2) { Unknown* unknown; gRoomVars.unk_10[param_1] = param_2; - if (gRoomControls.areaID != AREA_FESTIVAL_TOWN) { + if (gRoomControls.area != AREA_FESTIVAL_TOWN) { unknown = &gUnk_08108408[param_2]; } else { unknown = &gUnk_08108468[param_2]; @@ -154,7 +154,7 @@ void sub_08059CC0(u32 param_1, u32 param_2) { void TryLoadPrologueHyruleTown(void) { u32 tmp; - if (gRoomControls.areaID != AREA_FESTIVAL_TOWN) { + if (gRoomControls.area != AREA_FESTIVAL_TOWN) { tmp = CheckRegionsOnScreen(&gUnk_08108398); if (tmp != 0xff) { sub_08059CC0(0, tmp); diff --git a/src/manager/manager13.c b/src/manager/manager13.c index 409fdbb7..e1d7820b 100644 --- a/src/manager/manager13.c +++ b/src/manager/manager13.c @@ -33,7 +33,7 @@ void Manager13_Main(Manager13* this) { if (this->manager.action == 0) { this->manager.action = 1; } - if (gRoomControls.areaID == AREA_FESTIVAL_TOWN) { + if (gRoomControls.area == AREA_FESTIVAL_TOWN) { spawnData = gUnk_08108530; } else { spawnData = gUnk_081084C8; @@ -46,8 +46,8 @@ void Manager13_Main(Manager13* this) { Entity* object = CreateObject(OBJECT_1C, spawnData->type, type2); if (object != NULL) { object->frameIndex = spawnData->frameIndex; - object->x.HALF.HI = gRoomControls.roomOriginX + spawnData->x; - object->y.HALF.HI = gRoomControls.roomOriginY + spawnData->y; + object->x.HALF.HI = gRoomControls.origin_x + spawnData->x; + object->y.HALF.HI = gRoomControls.origin_y + spawnData->y; object->parent = (Entity*)this; object->field_0x80.HWORD = spawnData->x; object->field_0x82.HWORD = spawnData->y; diff --git a/src/manager/manager14.c b/src/manager/manager14.c index a3771fe9..367111f6 100644 --- a/src/manager/manager14.c +++ b/src/manager/manager14.c @@ -83,7 +83,7 @@ void sub_08059EF8(Manager14* this) { } u32 sub_08059F9C(Manager14* this) { - switch (gRoomControls.roomID) { + switch (gRoomControls.room) { case 1: if (CheckLocalFlag(0x16)) { return 0; @@ -123,7 +123,7 @@ void sub_0805A048(Manager14* this) { } void sub_0805A098(Manager14* this) { - switch (gRoomControls.roomID) { + switch (gRoomControls.room) { case 0: case 8: case 9: diff --git a/src/manager/manager15.c b/src/manager/manager15.c index c23c24fd..21cad632 100644 --- a/src/manager/manager15.c +++ b/src/manager/manager15.c @@ -163,8 +163,8 @@ void sub_0805A4CC(Manager15* this, u32 unk_0) { Entity* tmp; tmp = CreateObject(OBJECT_8E, unk_0, 0); if (tmp) { - tmp->x.HALF.HI = this->unk_38 + gRoomControls.roomOriginX; - tmp->y.HALF.HI = this->unk_3a + gRoomControls.roomOriginY - 0x30; + tmp->x.HALF.HI = this->unk_38 + gRoomControls.origin_x; + tmp->y.HALF.HI = this->unk_3a + gRoomControls.origin_y - 0x30; tmp->parent = (Entity*)this; this->manager.unk_0d = 0; } @@ -199,7 +199,7 @@ void sub_0805A500(Manager15* this) { } sub_0805AA58(this); sub_0805A9CC(this); - if (gRoomControls.unk2 == 1) { + if (gRoomControls.reload_flags == 1) { gScreen.lcd.displayControl |= DISPCNT_WIN1_ON; this->manager.unk_0d = 1; return; @@ -207,7 +207,7 @@ void sub_0805A500(Manager15* this) { if (!this->manager.unk_0d) return; this->manager.unk_0d = 0; - if (this->unk_20 == gRoomControls.roomID) + if (this->unk_20 == gRoomControls.room) return; gScreen.lcd.displayControl &= ~(DISPCNT_WIN1_ON | DISPCNT_BG3_ON); DeleteThisEntity(); @@ -275,8 +275,8 @@ void sub_0805A6E8(Manager15* this) { sub_0805A89C(this); this->unk_23 = 0; sub_0805AAF0(0); - this->unk_38 += gRoomControls.roomOriginX; - this->unk_3a += gRoomControls.roomOriginY; + this->unk_38 += gRoomControls.origin_x; + this->unk_3a += gRoomControls.origin_y; if (!sub_0805A73C(this)) { this->manager.action++; } @@ -307,7 +307,7 @@ void sub_0805A76C(Manager15* this) { RequestPriorityDuration((Entity*)this, 600); SetPlayerControl(0xFF); gUnk_02034490[0] = 1; - gRoomControls.cameraTarget = NULL; + gRoomControls.camera_target = NULL; sub_08077B20(); } } @@ -371,9 +371,9 @@ void sub_0805A89C(Manager15* this) { this->manager.unk_0f = 0x10; this->unk_21 = 0; this->unk_22 = 0; - this->unk_20 = gRoomControls.roomID; - this->unk_24 = gRoomControls.roomOriginX; - this->unk_26 = gRoomControls.roomOriginY; + this->unk_20 = gRoomControls.room; + this->unk_24 = gRoomControls.origin_x; + this->unk_26 = gRoomControls.origin_y; RegisterTransitionManager(this, sub_0805AAC8, 0); } @@ -382,14 +382,14 @@ void sub_0805A94C(Manager15* this); void sub_0805A8EC(Manager15* this) { sub_0805AA58(this); sub_0805A94C(this); - if (gRoomControls.unk2 == 1) { + if (gRoomControls.reload_flags == 1) { gScreen.lcd.displayControl |= DISPCNT_WIN1_ON; this->manager.unk_0d = 1; } else { if (!this->manager.unk_0d) return; this->manager.unk_0d = 0; - if (this->unk_20 == gRoomControls.roomID) + if (this->unk_20 == gRoomControls.room) return; gScreen.lcd.displayControl &= ~(DISPCNT_WIN1_ON | DISPCNT_BG3_ON); DeleteThisEntity(); @@ -398,8 +398,8 @@ void sub_0805A8EC(Manager15* this) { void sub_0805A94C(Manager15* this) { int tmp1, tmp2; - gScreen.bg3.xOffset = gRoomControls.roomScrollX - this->unk_24 + this->unk_34; - gScreen.bg3.yOffset = gRoomControls.roomScrollY - this->unk_26 + this->unk_36; + gScreen.bg3.xOffset = gRoomControls.scroll_x - this->unk_24 + this->unk_34; + gScreen.bg3.yOffset = gRoomControls.scroll_y - this->unk_26 + this->unk_36; tmp1 = -gScreen.bg3.xOffset; tmp2 = tmp1 + 0x100; if (tmp1 < 0) @@ -427,7 +427,7 @@ void sub_0805A94C(Manager15* this) { void sub_0805A9CC(Manager15* this) { int tmp1, tmp2; void* tmp3; - gScreen.bg3.xOffset = gRoomControls.roomScrollX - this->unk_24 + this->unk_34; + gScreen.bg3.xOffset = gRoomControls.scroll_x - this->unk_24 + this->unk_34; tmp1 = -gScreen.bg3.xOffset; tmp2 = tmp1 + 0x100; if (tmp1 < 0) @@ -439,7 +439,7 @@ void sub_0805A9CC(Manager15* this) { if (tmp2 > DISPLAY_WIDTH) tmp2 = DISPLAY_WIDTH; gScreen.controls.window1HorizontalDimensions = tmp1 << 8 | tmp2; - tmp1 = gRoomControls.roomScrollY - this->unk_26 + this->unk_36; + tmp1 = gRoomControls.scroll_y - this->unk_26 + this->unk_36; gScreen.bg3.yOffset = tmp1 & 0x3F; tmp3 = (&gBG3Buffer[((tmp1 / 0x40) << 8)]); gScreen.bg3.tilemap = (u32*)tmp3; diff --git a/src/manager/manager17.c b/src/manager/manager17.c index 139c4c2f..54c1656b 100644 --- a/src/manager/manager17.c +++ b/src/manager/manager17.c @@ -37,8 +37,8 @@ void sub_0805AD80(Manager17* manager) { if (object != NULL) { object->actionDelay = manager->field_0x35; object->collisionLayer = manager->field_0x36; - object->x.HALF.HI = manager->field_0x38 + gRoomControls.roomOriginX; - object->y.HALF.HI = manager->field_0x3a + gRoomControls.roomOriginY; + object->x.HALF.HI = manager->field_0x38 + gRoomControls.origin_x; + object->y.HALF.HI = manager->field_0x3a + gRoomControls.origin_y; object->field_0x86.HWORD = manager->field_0x3c; } DeleteThisEntity(); diff --git a/src/manager/manager18.c b/src/manager/manager18.c index 4acc0bc4..fd7ba93f 100644 --- a/src/manager/manager18.c +++ b/src/manager/manager18.c @@ -40,8 +40,8 @@ void Manager18_Main(Manager18* this) { } gRoomControls.bg3OffsetX.WORD -= 0x2000; gRoomControls.bg3OffsetY.WORD -= 0x1000; - gScreen.bg3.xOffset = gRoomControls.roomScrollX + gRoomControls.bg3OffsetX.HALF.HI; - gScreen.bg3.yOffset = gRoomControls.roomScrollY + gRoomControls.bg3OffsetY.HALF.HI; + gScreen.bg3.xOffset = gRoomControls.scroll_x + gRoomControls.bg3OffsetX.HALF.HI; + gScreen.bg3.yOffset = gRoomControls.scroll_y + gRoomControls.bg3OffsetY.HALF.HI; } } } @@ -52,8 +52,8 @@ void sub_0805AEDC(Manager18* this) { gScreen.controls.layerFXControl = BLDCNT_TGT1_BG3 | BLDCNT_EFFECT_BLEND | BLDCNT_TGT2_BG1 | BLDCNT_TGT2_BG2 | BLDCNT_TGT2_OBJ | BLDCNT_TGT2_BD; gScreen.controls.alphaBlend = (this != NULL) ? this->field_0x20 : BLDALPHA_BLEND(0, 16); - gScreen.bg3.xOffset = gRoomControls.roomScrollX + gRoomControls.bg3OffsetX.HALF.HI; - gScreen.bg3.yOffset = gRoomControls.roomScrollY + gRoomControls.bg3OffsetY.HALF.HI; + gScreen.bg3.xOffset = gRoomControls.scroll_x + gRoomControls.bg3OffsetX.HALF.HI; + gScreen.bg3.yOffset = gRoomControls.scroll_y + gRoomControls.bg3OffsetY.HALF.HI; if (this != NULL) { Manager18_Main(this); } diff --git a/src/manager/manager19.c b/src/manager/manager19.c index f967c62a..5eee6ccb 100644 --- a/src/manager/manager19.c +++ b/src/manager/manager19.c @@ -22,8 +22,8 @@ void Manager19_Main(Manager* this) { } } else { gRoomControls.bg3OffsetX.WORD = gRoomControls.bg3OffsetX.WORD - 0x2000; - gScreen.bg3.xOffset = gRoomControls.roomScrollX + gRoomControls.bg3OffsetX.HALF.HI; - gScreen.bg3.yOffset = gRoomControls.roomScrollY + gRoomControls.bg3OffsetY.HALF.HI; + gScreen.bg3.xOffset = gRoomControls.scroll_x + gRoomControls.bg3OffsetX.HALF.HI; + gScreen.bg3.yOffset = gRoomControls.scroll_y + gRoomControls.bg3OffsetY.HALF.HI; } } } @@ -31,6 +31,6 @@ void Manager19_Main(Manager* this) { void sub_0805AFFC(Manager* this) { gScreen.bg3.control = BGCNT_PRIORITY(3) | BGCNT_SCREENBASE(30); gScreen.lcd.displayControl |= DISPCNT_BG3_ON; - gScreen.bg3.xOffset = gRoomControls.roomScrollX + gRoomControls.bg3OffsetX.HALF.HI; - gScreen.bg3.yOffset = gRoomControls.roomScrollY + gRoomControls.bg3OffsetY.HALF.HI; + gScreen.bg3.xOffset = gRoomControls.scroll_x + gRoomControls.bg3OffsetX.HALF.HI; + gScreen.bg3.yOffset = gRoomControls.scroll_y + gRoomControls.bg3OffsetY.HALF.HI; } diff --git a/src/manager/manager1A.c b/src/manager/manager1A.c index 2ad78228..5e760473 100644 --- a/src/manager/manager1A.c +++ b/src/manager/manager1A.c @@ -70,16 +70,16 @@ void sub_0805B048(Manager1A* this) { SetDefaultPriority((Entity*)&this->manager, PRIO_PLAYER_EVENT); MemClear(&this->unk_20, 0x20); this->manager.action = 1; - this->unk_3f = gRoomControls.roomID; + this->unk_3f = gRoomControls.room; tmp = &gUnk_08108764[this->manager.unk_0a]; if (!tmp->unk_0a) { - this->unk_20 = gRoomControls.roomOriginX; - this->unk_22 = gRoomControls.roomOriginY; + this->unk_20 = gRoomControls.origin_x; + this->unk_22 = gRoomControls.origin_y; this->unk_24 = gRoomControls.width; this->unk_26 = gRoomControls.height; } else { - this->unk_20 = (tmp->unk_08 << 4) + gRoomControls.roomOriginX; - this->unk_22 = (tmp->unk_09 << 4) + gRoomControls.roomOriginY; + this->unk_20 = (tmp->unk_08 << 4) + gRoomControls.origin_x; + this->unk_22 = (tmp->unk_09 << 4) + gRoomControls.origin_y; this->unk_24 = (tmp->unk_0a << 4); this->unk_26 = (tmp->unk_0b << 4); } @@ -99,15 +99,15 @@ void sub_0805B048(Manager1A* this) { return; obj = CreateObject(OBJECT_28, tmp->unk_10->unk_00, tmp->unk_10->unk_01); if (obj) { - obj->x.HALF.HI = tmp->unk_10->unk_04 + gRoomControls.roomOriginX; - obj->y.HALF.HI = tmp->unk_10->unk_06 + gRoomControls.roomOriginY; + obj->x.HALF.HI = tmp->unk_10->unk_04 + gRoomControls.origin_x; + obj->y.HALF.HI = tmp->unk_10->unk_06 + gRoomControls.origin_y; } if (this->manager.unk_0a != 0xa || CheckLocalFlag(0x4B)) return; obj = CreateObject(OBJECT_28, 3, 3); if (obj) { - obj->x.HALF.HI = tmp->unk_10->unk_04 + gRoomControls.roomOriginX; - obj->y.HALF.HI = tmp->unk_10->unk_06 + gRoomControls.roomOriginY; + obj->x.HALF.HI = tmp->unk_10->unk_04 + gRoomControls.origin_x; + obj->y.HALF.HI = tmp->unk_10->unk_06 + gRoomControls.origin_y; } } @@ -118,14 +118,14 @@ void sub_0805B168(Manager1A* this) { return; } sub_0805B2B0(this); - if (gRoomControls.unk2 == 1) { + if (gRoomControls.reload_flags == 1) { this->manager.unk_0d = 1; return; } if (!this->manager.unk_0d) return; this->manager.unk_0d = 0; - if (this->unk_3f == gRoomControls.roomID) + if (this->unk_3f == gRoomControls.room) return; if (this->manager.unk_0b) { gScreen.lcd.displayControl &= ~0x800; @@ -147,33 +147,33 @@ u32 sub_0805B1CC(Manager1A* this) { void sub_0805B210(Manager1A* this) { struct_08108764* tmp; - gScreenTransition.transitioningOut = 1; - gScreenTransition.transitionType = TRANSITION_CUT; - gScreenTransition.player_status.start_anim = 4; + gRoomTransition.transitioningOut = 1; + gRoomTransition.type = TRANSITION_CUT; + gRoomTransition.player_status.start_anim = 4; tmp = &gUnk_08108764[this->manager.unk_0a]; - gScreenTransition.player_status.area_next = tmp->unk_01; - gScreenTransition.player_status.room_next = tmp->unk_02; - gScreenTransition.player_status.layer = tmp->unk_03; + gRoomTransition.player_status.area_next = tmp->unk_01; + gRoomTransition.player_status.room_next = tmp->unk_02; + gRoomTransition.player_status.layer = tmp->unk_03; if (gPlayerState.flags & PL_MINISH) { - gScreenTransition.player_status.spawn_type = 6; + gRoomTransition.player_status.spawn_type = 6; } else { - gScreenTransition.player_status.spawn_type = 2; + gRoomTransition.player_status.spawn_type = 2; } switch (tmp->unk_00) { case 0: - gScreenTransition.player_status.start_pos_x = tmp->unk_04; - gScreenTransition.player_status.start_pos_y = tmp->unk_06; + gRoomTransition.player_status.start_pos_x = tmp->unk_04; + gRoomTransition.player_status.start_pos_y = tmp->unk_06; break; case 1: - gScreenTransition.player_status.start_pos_x = - gPlayerEntity.x.HALF.HI - gRoomControls.roomOriginX + tmp->unk_04; - gScreenTransition.player_status.start_pos_y = - gPlayerEntity.y.HALF.HI - gRoomControls.roomOriginY + tmp->unk_06; + gRoomTransition.player_status.start_pos_x = + gPlayerEntity.x.HALF.HI - gRoomControls.origin_x + tmp->unk_04; + gRoomTransition.player_status.start_pos_y = + gPlayerEntity.y.HALF.HI - gRoomControls.origin_y + tmp->unk_06; break; case 2: - gScreenTransition.player_status.start_pos_x = tmp->unk_04; - gScreenTransition.player_status.start_pos_y = tmp->unk_06; - gScreenTransition.player_status.spawn_type = 6; + gRoomTransition.player_status.start_pos_x = tmp->unk_04; + gRoomTransition.player_status.start_pos_y = tmp->unk_06; + gRoomTransition.player_status.spawn_type = 6; break; } } @@ -182,8 +182,8 @@ void sub_0805B2B0(Manager1A* this) { s32 tmp, tmp2; if (!this->manager.unk_0b) return; - tmp = (this->unk_30 - gRoomControls.roomScrollX) / 4; - tmp2 = (this->unk_32 - gRoomControls.roomScrollY) / 4; + tmp = (this->unk_30 - gRoomControls.scroll_x) / 4; + tmp2 = (this->unk_32 - gRoomControls.scroll_y) / 4; if (tmp < -12) { tmp = -12; } @@ -197,10 +197,10 @@ void sub_0805B2B0(Manager1A* this) { tmp2 = 12; } gScreen.lcd.displayControl |= DISPCNT_BG3_ON; - gRoomControls.bg3OffsetX.HALF.HI = gRoomControls.roomScrollX + this->unk_34 + tmp; - gScreen.bg3.xOffset = gRoomControls.roomScrollX + this->unk_34 + tmp; - gRoomControls.bg3OffsetY.HALF.HI = gRoomControls.roomScrollY + this->unk_36 + tmp2; - gScreen.bg3.yOffset = gRoomControls.roomScrollY + this->unk_36 + tmp2; + gRoomControls.bg3OffsetX.HALF.HI = gRoomControls.scroll_x + this->unk_34 + tmp; + gScreen.bg3.xOffset = gRoomControls.scroll_x + this->unk_34 + tmp; + gRoomControls.bg3OffsetY.HALF.HI = gRoomControls.scroll_y + this->unk_36 + tmp2; + gScreen.bg3.yOffset = gRoomControls.scroll_y + this->unk_36 + tmp2; } void sub_0805B328(Manager1A* this) { diff --git a/src/manager/manager1B.c b/src/manager/manager1B.c index a172bcfc..8fb9e70a 100644 --- a/src/manager/manager1B.c +++ b/src/manager/manager1B.c @@ -40,20 +40,20 @@ void Manager1B_Main(Manager1B* this) { this->field_0x20 = iVar3 + (s8)tmp[2]; gUnk_08108C54[tmp[1]](this); } - if (gRoomControls.unk2 == 0) { + if (gRoomControls.reload_flags == 0) { gUnk_08108C54[tmp[1]](this); } } void sub_0805B448(Manager1B* this) { - gScreen.bg3.xOffset = (gRoomControls.roomScrollX - gRoomControls.roomOriginX) >> 2; - gScreen.bg3.yOffset = ((gRoomControls.roomScrollY - gRoomControls.roomOriginY) >> 1) + this->field_0x20; + gScreen.bg3.xOffset = (gRoomControls.scroll_x - gRoomControls.origin_x) >> 2; + gScreen.bg3.yOffset = ((gRoomControls.scroll_y - gRoomControls.origin_y) >> 1) + this->field_0x20; } void sub_0805B474(Manager1B* this) { - s32 tmp = ((gRoomControls.roomScrollY - gRoomControls.roomOriginY) * 0x60) / (gRoomControls.height - 0xa0); - gScreen.bg3.yOffset = gRoomControls.roomOriginY + tmp; - gScreen.bg3.xOffset = gRoomControls.roomScrollX - ((gRoomControls.width - 0x100) / 2); + s32 tmp = ((gRoomControls.scroll_y - gRoomControls.origin_y) * 0x60) / (gRoomControls.height - 0xa0); + gScreen.bg3.yOffset = gRoomControls.origin_y + tmp; + gScreen.bg3.xOffset = gRoomControls.scroll_x - ((gRoomControls.width - 0x100) / 2); } void sub_0805B4B4(Manager1B* this) { @@ -71,9 +71,9 @@ void sub_0805B4D0(u32 param_1) { LoadGfxGroup(gUnk_08108C5C[param_1]); gScreen.bg3.control = 0x1e07; gScreen.lcd.displayControl |= DISPCNT_BG3_ON; - gScreen.bg3.xOffset = (gRoomControls.roomScrollX - gRoomControls.roomOriginX) >> 2; + gScreen.bg3.xOffset = (gRoomControls.scroll_x - gRoomControls.origin_x) >> 2; - uVar2 = (gRoomControls.roomScrollY - gRoomControls.roomOriginY) >> 1; + uVar2 = (gRoomControls.scroll_y - gRoomControls.origin_y) >> 1; iVar1 = 0x100 - gRoomControls.height; if (iVar1 < 0) { iVar1 = 0; diff --git a/src/manager/manager1C.c b/src/manager/manager1C.c index 4ff51e27..54b5e63f 100644 --- a/src/manager/manager1C.c +++ b/src/manager/manager1C.c @@ -25,8 +25,8 @@ void sub_0805B55C(Manager* manager) { manager->unk_0e = 0xf; waterDrop = CreateEnemy(WATER_DROP, 0); if (waterDrop != NULL) { - waterDrop->x.HALF.HI = gRoomControls.roomScrollX + 0x78 + gUnk_08108C6C[Random() & 7]; - waterDrop->y.HALF.HI = gRoomControls.roomScrollY + 0x50 + gUnk_08108C7C[Random() & 3]; + waterDrop->x.HALF.HI = gRoomControls.scroll_x + 0x78 + gUnk_08108C6C[Random() & 7]; + waterDrop->y.HALF.HI = gRoomControls.scroll_y + 0x50 + gUnk_08108C7C[Random() & 3]; waterDrop->z.HALF.HI = 0xff38; } } diff --git a/src/manager/manager1D.c b/src/manager/manager1D.c index b9039a05..f1d9a40f 100644 --- a/src/manager/manager1D.c +++ b/src/manager/manager1D.c @@ -25,8 +25,8 @@ void sub_0805B5E0(Manager* this) { gScreen.bg3.xOffset = 0; break; case 1: - gScreen.bg3.xOffset = gRoomControls.roomScrollX + gRoomControls.bg3OffsetX.HALF.HI; - gScreen.bg3.yOffset = gRoomControls.roomScrollY + gRoomControls.bg3OffsetY.HALF.HI; + gScreen.bg3.xOffset = gRoomControls.scroll_x + gRoomControls.bg3OffsetX.HALF.HI; + gScreen.bg3.yOffset = gRoomControls.scroll_y + gRoomControls.bg3OffsetY.HALF.HI; break; } } @@ -34,7 +34,7 @@ void sub_0805B5E0(Manager* this) { void sub_0805B638(Manager* this) { if (this->unk_0a == 1) { gRoomControls.bg3OffsetX.WORD = gRoomControls.bg3OffsetX.WORD + 0x2000; - gScreen.bg3.xOffset = gRoomControls.roomScrollX + gRoomControls.bg3OffsetX.HALF.HI; - gScreen.bg3.yOffset = gRoomControls.roomScrollY + gRoomControls.bg3OffsetY.HALF.HI; + gScreen.bg3.xOffset = gRoomControls.scroll_x + gRoomControls.bg3OffsetX.HALF.HI; + gScreen.bg3.yOffset = gRoomControls.scroll_y + gRoomControls.bg3OffsetY.HALF.HI; } } diff --git a/src/manager/manager2.c b/src/manager/manager2.c index 0294a65f..a9404c10 100644 --- a/src/manager/manager2.c +++ b/src/manager/manager2.c @@ -29,7 +29,7 @@ void Manager2_Main(Manager2* this) { void sub_0805754C(Manager2* this) { s32 bgOffset; - bgOffset = (gRoomControls.roomScrollY - gRoomControls.roomOriginY); + bgOffset = (gRoomControls.scroll_y - gRoomControls.origin_y); bgOffset += bgOffset >> 3; gScreen.bg3.yOffset = bgOffset & 0x3f; gScreen.bg3.tilemap = gMapDataTopSpecial + (bgOffset / 0x40) * 0x200; @@ -37,7 +37,7 @@ void sub_0805754C(Manager2* this) { this->field_0x38 = gScreen.bg3.tilemap; gScreen.bg3.updated = 1; } - bgOffset = (gRoomControls.roomScrollY - gRoomControls.roomOriginY); + bgOffset = (gRoomControls.scroll_y - gRoomControls.origin_y); bgOffset += bgOffset >> 2; gScreen.bg1.yOffset = bgOffset & 0x3f; gScreen.bg1.tilemap = gMapDataTopSpecial + 0x2000 + (bgOffset / 0x40) * 0x200; @@ -55,7 +55,7 @@ void sub_080575C8(u32 param) { LoadGfxGroup(param); gRoomVars.unk_10[0] = param; - bgOffset = (gRoomControls.roomScrollY - gRoomControls.roomOriginY); + bgOffset = (gRoomControls.scroll_y - gRoomControls.origin_y); bgOffset += bgOffset >> 3; gScreen.bg3.yOffset = bgOffset & 0x3f; gScreen.bg3.xOffset = 0; @@ -63,7 +63,7 @@ void sub_080575C8(u32 param) { gScreen.bg3.control = BGCNT_SCREENBASE(29) | BGCNT_PRIORITY(1) | BGCNT_CHARBASE(2) | BGCNT_MOSAIC; gScreen.bg3.updated = 1; - bgOffset = (gRoomControls.roomScrollY - gRoomControls.roomOriginY); + bgOffset = (gRoomControls.scroll_y - gRoomControls.origin_y); bgOffset += bgOffset >> 2; gScreen.bg1.yOffset = bgOffset & 0x3f; gScreen.bg1.xOffset = 0; diff --git a/src/manager/manager20.c b/src/manager/manager20.c index 46f4fe20..8f0543ad 100644 --- a/src/manager/manager20.c +++ b/src/manager/manager20.c @@ -30,7 +30,7 @@ void Manager20_Main(Manager20* this) { tmp->y.HALF.HI = this->unk_3a; tmp->collisionLayer = this->unk_37 >> 4; } - tmp->x.HALF.HI += gRoomControls.roomOriginX; - tmp->y.HALF.HI += gRoomControls.roomOriginY; + tmp->x.HALF.HI += gRoomControls.origin_x; + tmp->y.HALF.HI += gRoomControls.origin_y; DeleteManager((Manager*)this); } diff --git a/src/manager/manager21.c b/src/manager/manager21.c index 49003b50..d07cbb18 100644 --- a/src/manager/manager21.c +++ b/src/manager/manager21.c @@ -40,8 +40,8 @@ void Manager21_Main(Manager21* this) { if (object != NULL) { object->actionDelay = spawnData->actionDelay; object->field_0xf = count; - object->x.HALF.HI = gRoomControls.roomOriginX + spawnData->x; - object->y.HALF.HI = gRoomControls.roomOriginY + spawnData->y; + object->x.HALF.HI = gRoomControls.origin_x + spawnData->x; + object->y.HALF.HI = gRoomControls.origin_y + spawnData->y; object->parent = (Entity*)this; ResolveCollisionLayer(object); this->field_0x20 |= 1 << count; diff --git a/src/manager/manager22.c b/src/manager/manager22.c index ba174d0a..b06295e2 100644 --- a/src/manager/manager22.c +++ b/src/manager/manager22.c @@ -11,7 +11,7 @@ ASM_FUNC("asm/non_matching/manager22/sub_0805BB00.inc", void sub_0805BB00()) ASM_FUNC("asm/non_matching/manager22/sub_0805BB74.inc", void sub_0805BB74()) -ASM_FUNC("asm/non_matching/manager22/sub_0805BBBC.inc", void sub_0805BBBC()) +ASM_FUNC("asm/non_matching/manager22/sub_0805BBBC.inc", void UpdateLightLevel()) ASM_FUNC("asm/non_matching/manager22/sub_0805BC04.inc", void sub_0805BC04()) diff --git a/src/manager/manager23.c b/src/manager/manager23.c index 4fd43d8a..c38f0e8e 100644 --- a/src/manager/manager23.c +++ b/src/manager/manager23.c @@ -148,8 +148,8 @@ void sub_0805BEC4(Manager23* this) { Entity* object = CreateObject(OBJECT_2A, 1, 0); if (object != NULL) { *(s8*)(&object->flags + 1) = ((*(s8*)(&object->flags + 1)) & (-0x10)) | 3; - object->x.HALF.HI = this->field_0x38 + gRoomControls.roomOriginX; - object->y.HALF.HI = this->field_0x3a + gRoomControls.roomOriginY; + object->x.HALF.HI = this->field_0x38 + gRoomControls.origin_x; + object->y.HALF.HI = this->field_0x3a + gRoomControls.origin_y; object->collisionLayer = this->manager.unk_0b; object->spritePriority.b0 = 2; } diff --git a/src/manager/manager24.c b/src/manager/manager24.c index 1f200d47..388fd389 100644 --- a/src/manager/manager24.c +++ b/src/manager/manager24.c @@ -92,8 +92,8 @@ void sub_0805C050(u32 pos, u32 layer) { if (CheckIsInteriorWithEnemies() != 0) { Entity* object = CreateObject(ARCHWAY, 0xe, 0); if (object != NULL) { - object->x.HALF.HI = ((pos & 0x3f) << 4) + 8 + gRoomControls.roomOriginX; - object->y.HALF.HI = ((pos & 0xfc0) >> 2) - 8 + gRoomControls.roomOriginY; + object->x.HALF.HI = ((pos & 0x3f) << 4) + 8 + gRoomControls.origin_x; + object->y.HALF.HI = ((pos & 0xfc0) >> 2) - 8 + gRoomControls.origin_y; } SetTileType(0xb5, pos, 1); } else { @@ -117,8 +117,8 @@ void sub_0805C050(u32 pos, u32 layer) { if (object == NULL) { return; } - object->x.HALF.HI = ((pos & 0x3f) << 4) + 8 + gRoomControls.roomOriginX; - object->y.HALF.HI = ((pos & 0xfc0) >> 2) - 0x10 + gRoomControls.roomOriginY; + object->x.HALF.HI = ((pos & 0x3f) << 4) + 8 + gRoomControls.origin_x; + object->y.HALF.HI = ((pos & 0xfc0) >> 2) - 0x10 + gRoomControls.origin_y; object->collisionLayer = 2; } } @@ -137,8 +137,8 @@ void sub_0805C178(u32 pos, u32 layer) { object = CreateObject(ARCHWAY, 0xe, 1); if (object != NULL) { - object->x.HALF.HI = ((pos & 0x3f) << 4) + 0x18 + gRoomControls.roomOriginX; - object->y.HALF.HI = ((pos & 0xfc0) >> 2) + 8 + gRoomControls.roomOriginY; + object->x.HALF.HI = ((pos & 0x3f) << 4) + 0x18 + gRoomControls.origin_x; + object->y.HALF.HI = ((pos & 0xfc0) >> 2) + 8 + gRoomControls.origin_y; } SetTileType(0xf2, pos, 1); } else { @@ -160,8 +160,8 @@ void sub_0805C178(u32 pos, u32 layer) { if (object == NULL) { return; } - object->x.HALF.HI = ((pos & 0x3f) << 4) + 0x20 + gRoomControls.roomOriginX; - object->y.HALF.HI = ((pos & 0xfc0) >> 2) + 8 + gRoomControls.roomOriginY; + object->x.HALF.HI = ((pos & 0x3f) << 4) + 0x20 + gRoomControls.origin_x; + object->y.HALF.HI = ((pos & 0xfc0) >> 2) + 8 + gRoomControls.origin_y; object->collisionLayer = 2; } } @@ -178,8 +178,8 @@ void sub_0805C294(u32 pos, u32 layer) { if (CheckIsInteriorWithEnemies() != 0) { object = CreateObject(ARCHWAY, 0xe, 2); if (object != NULL) { - object->x.HALF.HI = ((pos & 0x3f) << 4) + 8 + gRoomControls.roomOriginX; - object->y.HALF.HI = ((pos & 0xfc0) >> 2) + 0x20 + gRoomControls.roomOriginY; + object->x.HALF.HI = ((pos & 0x3f) << 4) + 8 + gRoomControls.origin_x; + object->y.HALF.HI = ((pos & 0xfc0) >> 2) + 0x20 + gRoomControls.origin_y; } SetTileType(0xd2, pos, 1); } else { @@ -201,8 +201,8 @@ void sub_0805C294(u32 pos, u32 layer) { if (object == NULL) { return; } - object->x.HALF.HI = ((pos & 0x3f) << 4) + 8 + gRoomControls.roomOriginX; - object->y.HALF.HI = ((pos & 0xfc0) >> 2) + 0x20 + gRoomControls.roomOriginY; + object->x.HALF.HI = ((pos & 0x3f) << 4) + 8 + gRoomControls.origin_x; + object->y.HALF.HI = ((pos & 0xfc0) >> 2) + 0x20 + gRoomControls.origin_y; object->collisionLayer = 2; } } @@ -219,8 +219,8 @@ void sub_0805C3B4(u32 pos, u32 layer) { if (CheckIsInteriorWithEnemies() != 0) { object = CreateObject(ARCHWAY, 0xe, 3); if (object != NULL) { - object->x.HALF.HI = ((pos & 0x3f) << 4) + -0x10 + gRoomControls.roomOriginX; - object->y.HALF.HI = ((pos & 0xfc0) >> 2) + 8 + gRoomControls.roomOriginY; + object->x.HALF.HI = ((pos & 0x3f) << 4) + -0x10 + gRoomControls.origin_x; + object->y.HALF.HI = ((pos & 0xfc0) >> 2) + 8 + gRoomControls.origin_y; } SetTileType(0xe5, pos, 1); } else { @@ -243,8 +243,8 @@ void sub_0805C3B4(u32 pos, u32 layer) { if (object == NULL) { return; } - object->x.HALF.HI = ((pos & 0x3f) << 4) + -0x10 + gRoomControls.roomOriginX; - object->y.HALF.HI = ((pos & 0xfc0) >> 2) + 8 + gRoomControls.roomOriginY; + object->x.HALF.HI = ((pos & 0x3f) << 4) + -0x10 + gRoomControls.origin_x; + object->y.HALF.HI = ((pos & 0xfc0) >> 2) + 8 + gRoomControls.origin_y; object->collisionLayer = 2; } } @@ -261,8 +261,8 @@ void sub_0805C4E0(u32 pos, u32 layer) { if (CheckIsInteriorWithEnemies() != 0) { object = CreateObject(ARCHWAY, 0xe, 0); if (object != NULL) { - object->x.HALF.HI = ((pos & 0x3f) << 4) + 8 + gRoomControls.roomOriginX; - object->y.HALF.HI = ((pos & 0xfc0) >> 2) + -0x10 + gRoomControls.roomOriginY; + object->x.HALF.HI = ((pos & 0x3f) << 4) + 8 + gRoomControls.origin_x; + object->y.HALF.HI = ((pos & 0xfc0) >> 2) + -0x10 + gRoomControls.origin_y; } SetTileType(0xc5, pos, 1); } else { @@ -285,8 +285,8 @@ void sub_0805C4E0(u32 pos, u32 layer) { if (object == NULL) { return; } - object->x.HALF.HI = ((pos & 0x3f) << 4) + 8 + gRoomControls.roomOriginX; - object->y.HALF.HI = ((pos & 0xfc0) >> 2) + -0x10 + gRoomControls.roomOriginY; + object->x.HALF.HI = ((pos & 0x3f) << 4) + 8 + gRoomControls.origin_x; + object->y.HALF.HI = ((pos & 0xfc0) >> 2) + -0x10 + gRoomControls.origin_y; object->collisionLayer = 2; } } diff --git a/src/manager/manager26.c b/src/manager/manager26.c index e06d36d5..5471660f 100644 --- a/src/manager/manager26.c +++ b/src/manager/manager26.c @@ -30,7 +30,7 @@ void sub_0805C6D0(Manager26* this) { DeleteManager(&this->manager); return; } - this->unk_2a = gRoomControls.roomOriginY + this->manager.unk_0e; + this->unk_2a = gRoomControls.origin_y + this->manager.unk_0e; this->manager.unk_0e = 0; this->unk_28 = 0; this->unk_29 = 0; @@ -39,8 +39,8 @@ void sub_0805C6D0(Manager26* this) { obj = CreateObject(PUSHABLE_FURNITURE, tmp->unk_01, tmp->unk_02); if (obj) { obj->actionDelay = tmp->unk_03; - obj->x.HALF.HI = gRoomControls.roomOriginX + tmp->unk_04; - obj->y.HALF.HI = gRoomControls.roomOriginY + tmp->unk_06; + obj->x.HALF.HI = gRoomControls.origin_x + tmp->unk_04; + obj->y.HALF.HI = gRoomControls.origin_y + tmp->unk_06; obj->parent = (Entity*)this; obj->collisionLayer = 1; obj->field_0x82.HALF.HI = this->manager.unk_0e; diff --git a/src/manager/manager27.c b/src/manager/manager27.c index e8a2842d..8cd20656 100644 --- a/src/manager/manager27.c +++ b/src/manager/manager27.c @@ -19,9 +19,9 @@ void Manager27_Main(Entity* this) { gUnk_08108D10[this->action](this); if (CheckLocalFlagByBank(0x300, this->type + 0x67)) { - gScreenTransition.armos_data.field_0xac |= (1 << this->type); + gRoomTransition.armos_data.field_0xac |= (1 << this->type); } else { - gScreenTransition.armos_data.field_0xac &= ~(1 << this->type); + gRoomTransition.armos_data.field_0xac &= ~(1 << this->type); } } diff --git a/src/manager/manager28.c b/src/manager/manager28.c index 6280bc6e..98bfa916 100644 --- a/src/manager/manager28.c +++ b/src/manager/manager28.c @@ -109,8 +109,8 @@ Entity* Manager28_FindMatchingEntity(EntityData* unk1) { u32 x, y; Entity* i; LinkedList* tmp; - x = unk1->xPos + gRoomControls.roomOriginX; - y = unk1->yPos + gRoomControls.roomOriginY; + x = unk1->xPos + gRoomControls.origin_x; + y = unk1->yPos + gRoomControls.origin_y; tmp = &gEntityLists[4]; for (i = tmp->first; (u32)i != (u32)tmp; i = i->next) { if (x == i->x.HALF.HI && y == i->y.HALF.HI && unk1->id == i->id && 3 == i->kind && unk1->type == i->type) { diff --git a/src/manager/manager2B.c b/src/manager/manager2B.c index 112390f6..c1739b88 100644 --- a/src/manager/manager2B.c +++ b/src/manager/manager2B.c @@ -44,8 +44,8 @@ void sub_0805D02C(Manager2B* this) { counter = 0; while (counter < 4) { object = CreateObject(ANGRY_STATUE, objectData[2], counter); - object->x.HALF.HI = objectData[0] + gRoomControls.roomOriginX; - object->y.HALF.HI = objectData[1] + gRoomControls.roomOriginY; + object->x.HALF.HI = objectData[0] + gRoomControls.origin_x; + object->y.HALF.HI = objectData[1] + gRoomControls.origin_y; object->parent = (Entity*)this; ResolveCollisionLayer(object); this->field_0x20[counter] = object; diff --git a/src/manager/manager2C.c b/src/manager/manager2C.c index c8b3f63d..3ad27242 100644 --- a/src/manager/manager2C.c +++ b/src/manager/manager2C.c @@ -20,17 +20,17 @@ void Manager2C_Main(Manager2C* manager) { manager->field_0x3a = 0; } if (((CheckPlayerInRegion(manager->field_0x38, manager->field_0x3a, 0x14, 0x40) != 0) && - (((gPlayerEntity.y.HALF.HI - gRoomControls.roomOriginY) + gPlayerEntity.z.HALF.HI) < 0)) && - (gRoomControls.roomScrollY == gRoomControls.roomOriginY)) { - MemClear(&gScreenTransition.player_status, 0x20); - gScreenTransition.transitioningOut = 1; - gScreenTransition.transitionType = TRANSITION_DEFAULT; - gScreenTransition.player_status.spawn_type = 0xb; - gScreenTransition.player_status.area_next = manager->manager.unk_0b; - gScreenTransition.player_status.room_next = manager->manager.unk_0e; - gScreenTransition.player_status.start_anim = manager->field_0x37; - gScreenTransition.player_status.start_pos_x = manager->field_0x3c; - gScreenTransition.player_status.start_pos_y = manager->field_0x3e; - gScreenTransition.player_status.layer = manager->field_0x36; + (((gPlayerEntity.y.HALF.HI - gRoomControls.origin_y) + gPlayerEntity.z.HALF.HI) < 0)) && + (gRoomControls.scroll_y == gRoomControls.origin_y)) { + MemClear(&gRoomTransition.player_status, 0x20); + gRoomTransition.transitioningOut = 1; + gRoomTransition.type = TRANSITION_DEFAULT; + gRoomTransition.player_status.spawn_type = 0xb; + gRoomTransition.player_status.area_next = manager->manager.unk_0b; + gRoomTransition.player_status.room_next = manager->manager.unk_0e; + gRoomTransition.player_status.start_anim = manager->field_0x37; + gRoomTransition.player_status.start_pos_x = manager->field_0x3c; + gRoomTransition.player_status.start_pos_y = manager->field_0x3e; + gRoomTransition.player_status.layer = manager->field_0x36; } } diff --git a/src/manager/manager2D.c b/src/manager/manager2D.c index 8e1b7f65..2f64249d 100644 --- a/src/manager/manager2D.c +++ b/src/manager/manager2D.c @@ -4,8 +4,8 @@ void Manager2D_Main(Entity* this) { SetTile(0x4014, 0x5c3, 1); - if ((gRoomControls.roomOriginY + 200 < gPlayerEntity.y.HALF.HI) && - ((u32)(gPlayerEntity.x.HALF.HI - gRoomControls.roomOriginX) - 0x30 < 0x11)) { + if ((gRoomControls.origin_y + 200 < gPlayerEntity.y.HALF.HI) && + ((u32)(gPlayerEntity.x.HALF.HI - gRoomControls.origin_x) - 0x30 < 0x11)) { gPlayerEntity.collisionLayer = 3; UpdateSpriteForCollisionLayer(&gPlayerEntity); } diff --git a/src/manager/manager2F.c b/src/manager/manager2F.c index d35c67a8..7b7285df 100644 --- a/src/manager/manager2F.c +++ b/src/manager/manager2F.c @@ -25,8 +25,8 @@ void Manager2F_Main(Manager* this) { } else { gRoomControls.bg3OffsetX.WORD -= 0x4000; gRoomControls.bg3OffsetY.WORD -= 0x2000; - gScreen.bg3.xOffset = gRoomControls.roomScrollX + gRoomControls.bg3OffsetX.HALF.HI; - gScreen.bg3.yOffset = gRoomControls.roomScrollY + gRoomControls.bg3OffsetY.HALF.HI; + gScreen.bg3.xOffset = gRoomControls.scroll_x + gRoomControls.bg3OffsetX.HALF.HI; + gScreen.bg3.yOffset = gRoomControls.scroll_y + gRoomControls.bg3OffsetY.HALF.HI; } } } @@ -35,6 +35,6 @@ void sub_0805D470(Manager* this) { LoadGfxGroup(0x4c); gScreen.bg3.control = 0x1e07; gScreen.lcd.displayControl |= DISPCNT_BG3_ON; - gScreen.bg3.xOffset = gRoomControls.roomScrollX + gRoomControls.bg3OffsetX.HALF.HI; - gScreen.bg3.yOffset = gRoomControls.roomScrollY + gRoomControls.bg3OffsetY.HALF.HI; + gScreen.bg3.xOffset = gRoomControls.scroll_x + gRoomControls.bg3OffsetX.HALF.HI; + gScreen.bg3.yOffset = gRoomControls.scroll_y + gRoomControls.bg3OffsetY.HALF.HI; } diff --git a/src/manager/manager3.c b/src/manager/manager3.c index 91450576..868a2e13 100644 --- a/src/manager/manager3.c +++ b/src/manager/manager3.c @@ -33,8 +33,8 @@ void Manager3_Main(Manager3* this) { s8 tmp; if (this->manager.action == 0) { this->manager.action = 1; - this->unk_20 = this->unk_38 + gRoomControls.roomOriginX - 0x20; - this->unk_24 = this->unk_3a + gRoomControls.roomOriginY - 0x20; + this->unk_20 = this->unk_38 + gRoomControls.origin_x - 0x20; + this->unk_24 = this->unk_3a + gRoomControls.origin_y - 0x20; return; } if (CheckPlayerProximity(this->unk_20, this->unk_24, 0x40, 0x40)) { @@ -54,7 +54,7 @@ void Manager3_Main(Manager3* this) { } } if (sub_080002C0(this->unk_38, this->unk_3a, this->manager.unk_0e) == 0x3d) { - CreateMagicSparkles(this->unk_38 + gRoomControls.roomOriginX, this->unk_3a + gRoomControls.roomOriginY, + CreateMagicSparkles(this->unk_38 + gRoomControls.origin_x, this->unk_3a + gRoomControls.origin_y, this->manager.unk_0e); if (!this->manager.unk_0f) { this->manager.unk_0f = 1; diff --git a/src/manager/manager31.c b/src/manager/manager31.c index 561319d8..8b12bd0c 100644 --- a/src/manager/manager31.c +++ b/src/manager/manager31.c @@ -65,8 +65,8 @@ void Manager31_Main(Manager31* this) { if (object != NULL) { object->actionDelay = 1; object->field_0xf = count; - object->x.HALF.HI = spawnData->x + gRoomControls.roomOriginX; - object->y.HALF.HI = spawnData->y + gRoomControls.roomOriginY; + object->x.HALF.HI = spawnData->x + gRoomControls.origin_x; + object->y.HALF.HI = spawnData->y + gRoomControls.origin_y; object->field_0x80.HWORD = spawnData->x; object->field_0x82.HWORD = spawnData->y; object->collisionLayer = 1; diff --git a/src/manager/manager32.c b/src/manager/manager32.c index 77e3d955..b07e57f0 100644 --- a/src/manager/manager32.c +++ b/src/manager/manager32.c @@ -25,7 +25,7 @@ extern void sub_0805622C(struct BgAffineDstData*, u32, u32); void Manager32_Main(Manager32* this) { gUnk_08108D7C[this->manager.action](this); - this->field_0x24 = gScreenTransition.frameCount << 4; + this->field_0x24 = gRoomTransition.frameCount << 4; sub_0805D9D8(this); sub_0805DA08(this->field_0x20, this->field_0x28, this->field_0x24); } @@ -36,7 +36,7 @@ void sub_0805D7DC(Manager32* this) { this->manager.action = (this->manager.unk_0a == 0) ? 1 : 2; this->field_0x20 = 0; this->field_0x24 = 0; - switch (gRoomControls.areaID) { + switch (gRoomControls.area) { case 7: default: index = 0; @@ -149,8 +149,8 @@ void sub_0805D9D8(Manager32* this) { // TODO find out the actual type of the parent of this manager. Manager* pMVar1 = this->manager.parent; if (pMVar1 != NULL) { - gScreen.bg3.xOffset = 0x80 - (*(s16*)&pMVar1[1].unk_0e - gRoomControls.roomScrollX); - gScreen.bg3.yOffset = 0x8c - (*(s16*)(pMVar1[1].unk_11 + 1) - gRoomControls.roomScrollY); + gScreen.bg3.xOffset = 0x80 - (*(s16*)&pMVar1[1].unk_0e - gRoomControls.scroll_x); + gScreen.bg3.yOffset = 0x8c - (*(s16*)(pMVar1[1].unk_11 + 1) - gRoomControls.scroll_y); } } diff --git a/src/manager/manager33.c b/src/manager/manager33.c index 63f3c533..de58fb00 100644 --- a/src/manager/manager33.c +++ b/src/manager/manager33.c @@ -6,9 +6,9 @@ void Manager33_Main(Manager* this) { RoomControls* roomControls = &gRoomControls; - u32 a = roomControls->roomOriginX + 0x1f8; + u32 a = roomControls->origin_x + 0x1f8; u32 x = (a - gPlayerEntity.x.HALF.HI) + 0x10; - u32 b = roomControls->roomOriginY + 0x140; + u32 b = roomControls->origin_y + 0x140; u32 y = (b - gPlayerEntity.y.HALF.HI) + 0x10; if (this->action == 0) { if (x < 0x20 && y < 0x20 && gPlayerEntity.z.HALF.HI < -0x18 && gPlayerState.framestate == PL_STATE_CAPE) { @@ -20,8 +20,8 @@ void Manager33_Main(Manager* this) { if (--this->unk_0e == 0) { Entity* object = CreateObject(OBJECT_96, 1, 0); if (object != NULL) { - object->x.HALF.HI = roomControls->roomOriginX + 0x1f8; - object->y.HALF.HI = roomControls->roomOriginY + 0x140; + object->x.HALF.HI = roomControls->origin_x + 0x1f8; + object->y.HALF.HI = roomControls->origin_y + 0x140; object->z.HALF.HI = 0xffe8; } DeleteThisEntity(); diff --git a/src/manager/manager34.c b/src/manager/manager34.c index e811aaea..ae12a2e2 100644 --- a/src/manager/manager34.c +++ b/src/manager/manager34.c @@ -22,7 +22,7 @@ void Manager34_Main(Manager34* this) { void sub_0805DBB4(Manager34* this) { this->manager.action = 1; - this->field_0x20 = gScreenTransition.field_0x3d * 0x3c; + this->field_0x20 = gRoomTransition.field_0x3d * 0x3c; } void sub_0805DBCC(Manager34* this) { diff --git a/src/manager/manager35.c b/src/manager/manager35.c index 599cdd9f..49083531 100644 --- a/src/manager/manager35.c +++ b/src/manager/manager35.c @@ -41,13 +41,13 @@ void sub_0805DCC8(Manager35* this) { if (this->manager.unk_0e == 0) { this->manager.unk_0e = 0x1e; } - this->manager.parent = (Manager*)gRoomControls.cameraTarget; + this->manager.parent = (Manager*)gRoomControls.camera_target; object = CreateObject(OBJECT_69, 0, 0); if (object != NULL) { - object->x.HALF.HI = this->field_0x38 + gRoomControls.roomOriginX; - object->y.HALF.HI = this->field_0x3a + gRoomControls.roomOriginY; + object->x.HALF.HI = this->field_0x38 + gRoomControls.origin_x; + object->y.HALF.HI = this->field_0x3a + gRoomControls.origin_y; *(Entity**)this->manager.unk_18 = object; - gRoomControls.cameraTarget = object; + gRoomControls.camera_target = object; RequestPriorityDuration(object, 0x1e); } } @@ -68,7 +68,7 @@ void sub_0805DD68(Manager35* this) { RequestPriorityDuration(0, 8); if (this->field_0x36 != 0) { if (--this->field_0x36 == 0) { - gRoomControls.cameraTarget = (Entity*)this->manager.parent; + gRoomControls.camera_target = (Entity*)this->manager.parent; } } else { if ((gRoomControls.scroll_flags & 4) == 0) { diff --git a/src/manager/manager37.c b/src/manager/manager37.c index 8140ac22..348339ba 100644 --- a/src/manager/manager37.c +++ b/src/manager/manager37.c @@ -33,10 +33,10 @@ void sub_0805DE68(Manager* this) { DeleteThisEntity(); } this->action = 1; - gScreenTransition.field_0x38 = 0; - gScreenTransition.field_0x39 = 0x0f; - *(u8*)&gScreenTransition.field_0x3a = 0x20; - *((u8*)&gScreenTransition.field_0x3a + 1) = 0x20; + gRoomTransition.field_0x38 = 0; + gRoomTransition.field_0x39 = 0x0f; + *(u8*)&gRoomTransition.field_0x3a = 0x20; + *((u8*)&gRoomTransition.field_0x3a + 1) = 0x20; #if !defined(EU) && !defined(JP) gSave.unk48C[3] = 0x1194; #endif @@ -47,8 +47,8 @@ void sub_0805DEB8(Manager* this) { s32 distY; Entity* object; - distX = gPlayerEntity.x.HALF.HI - (gRoomControls.roomOriginX + 0x88); - distY = gPlayerEntity.y.HALF.HI - (gRoomControls.roomOriginY + 0x40); + distX = gPlayerEntity.x.HALF.HI - (gRoomControls.origin_x + 0x88); + distY = gPlayerEntity.y.HALF.HI - (gRoomControls.origin_y + 0x40); if (distX * distX + distY * distY < 0x901) { this->action = 2; this->unk_0d = 0; @@ -57,8 +57,8 @@ void sub_0805DEB8(Manager* this) { sub_08078B48(); object = CreateObject(OBJECT_64, 0, 0); if (object != NULL) { - object->x.HALF.HI = gRoomControls.roomOriginX + 0x88; - object->y.HALF.HI = gRoomControls.roomOriginY + 0x48; + object->x.HALF.HI = gRoomControls.origin_x + 0x88; + object->y.HALF.HI = gRoomControls.origin_y + 0x48; } object = CreateSpeechBubbleExclamationMark(&gPlayerEntity, 8, 0xfffffff0); if (object != NULL) { @@ -71,8 +71,8 @@ void sub_0805DEB8(Manager* this) { void sub_0805DF4C(Manager* this) { gPlayerEntity.animationState = 0; if (gPlayerEntity.z.HALF.HI != 0) { - if (gPlayerEntity.y.HALF.HI < (gRoomControls.roomOriginY + 0x48)) { - gPlayerEntity.y.HALF.HI = gRoomControls.roomOriginY + 0x48; + if (gPlayerEntity.y.HALF.HI < (gRoomControls.origin_y + 0x48)) { + gPlayerEntity.y.HALF.HI = gRoomControls.origin_y + 0x48; } } else { if (--this->unk_0e == 0) { @@ -109,11 +109,11 @@ void sub_0805DFE8(Manager* this) { void sub_0805E000(Manager* this) { Entity* enemy = CreateEnemy(VAATI_WRATH, 0); if (enemy != NULL) { - enemy->x.HALF.HI = gRoomControls.roomOriginX + 0xb0; - enemy->y.HALF.HI = gRoomControls.roomOriginY + 0x48; + enemy->x.HALF.HI = gRoomControls.origin_x + 0xb0; + enemy->y.HALF.HI = gRoomControls.origin_y + 0x48; enemy->collisionLayer = 1; UpdateSpriteForCollisionLayer(enemy); - if ((gScreenTransition.field_0x38 & 1) != 0) { + if ((gRoomTransition.field_0x38 & 1) != 0) { DeleteThisEntity(); } *(Entity**)this->unk_18 = enemy; @@ -134,5 +134,5 @@ void sub_0805E078(Manager* this) { void sub_0805E094(void) { SetInitializationPriority(); - sub_0808091C((ScreenTransitionData*)&gUnk_0813AC34, 7); + sub_0808091C((ScreenTransitionData*)&gUnk_0813AC34, TRANSITION_7); } diff --git a/src/manager/manager39.c b/src/manager/manager39.c index b43de6e8..ffa4bb4e 100644 --- a/src/manager/manager39.c +++ b/src/manager/manager39.c @@ -36,7 +36,7 @@ void sub_0805E1F8(u32, u32); void Manager39_Main(Manager39* this) { gUnk_08108E28[this->manager.action](this); - if ((gRoomControls.roomID != this->unk_20) || (gMessage.doTextBox & 0x7F)) { + if ((gRoomControls.room != this->unk_20) || (gMessage.doTextBox & 0x7F)) { sub_0805E1D8(this); } } @@ -44,7 +44,7 @@ void Manager39_Main(Manager39* this) { void sub_0805E140(Manager39* this) { this->manager.unk_10 |= 0x20; this->manager.action = 1; - this->unk_20 = gRoomControls.roomID; + this->unk_20 = gRoomControls.room; this->manager.unk_0e = 0x78; this->manager.unk_0f = 0x3c; SetDefaultPriority((Entity*)this, PRIO_HIGHEST); diff --git a/src/manager/manager4.c b/src/manager/manager4.c index 48223e88..e287d521 100644 --- a/src/manager/manager4.c +++ b/src/manager/manager4.c @@ -18,29 +18,29 @@ extern DiggingCaveEntrance* sub_08057AA8(DiggingCaveEntrance*, int); void sub_0805786C(Manager* this) { DiggingCaveEntrance* tmp; - u8 roomID; - u8 areaID; + u8 room; + u8 area; u16 uVar = 0x81 << 7; sub_080805F8(); if (gUnk_03004030.unk_08 != 0) { if (gUnk_03004030.unk_00 == 0) { gUnk_03004030.unk_0a = 0xFF; - roomID = gRoomControls.roomID; - tmp = diggingCaveEntrances[gRoomControls.areaID]; - tmp = sub_08057AA8(tmp, roomID); + room = gRoomControls.room; + tmp = diggingCaveEntrances[gRoomControls.area]; + tmp = sub_08057AA8(tmp, room); if (tmp != 0) { - roomID = tmp->target_roomID; - tmp = diggingCaveEntrances[tmp->target_areaID]; - tmp = sub_08057AA8(tmp, roomID); + room = tmp->target_room; + tmp = diggingCaveEntrances[tmp->target_area]; + tmp = sub_08057AA8(tmp, room); if (tmp != 0) { gUnk_03004030.unk_00 = tmp; } } } - roomID = gRoomControls.roomID; - tmp = diggingCaveEntrances[gRoomControls.areaID]; + room = gRoomControls.room; + tmp = diggingCaveEntrances[gRoomControls.area]; uVar = 0x81 << 7; - for (tmp = sub_08057AA8(tmp, roomID); tmp != 0; tmp = sub_08057AA8(tmp, roomID)) { + for (tmp = sub_08057AA8(tmp, room); tmp != 0; tmp = sub_08057AA8(tmp, room)) { SetTile(uVar, tmp->unk_00 + 0x3F, 1); SetTile(uVar, tmp->unk_00 + 0x40, 1); SetTile(uVar, tmp->unk_00 + 0x41, 1); @@ -54,10 +54,10 @@ extern u32 sub_0805795C(Manager*, DiggingCaveEntrance*); void sub_08057920(Manager* this) { DiggingCaveEntrance* tmp; - u8 roomID; - roomID = gRoomControls.roomID; - for (tmp = diggingCaveEntrances[gRoomControls.areaID]; - (tmp = sub_08057AA8(tmp, roomID)) != 0 && !sub_0805795C(this, tmp); tmp++) + u8 room; + room = gRoomControls.room; + for (tmp = diggingCaveEntrances[gRoomControls.area]; + (tmp = sub_08057AA8(tmp, room)) != 0 && !sub_0805795C(this, tmp); tmp++) ; } @@ -67,8 +67,8 @@ u32 sub_0805795C(Manager* this, DiggingCaveEntrance* entr) { u16 offsetX, offsetY, offsetX2, offsetY2; u32 tmp, tmp2; if (gUnk_03004030.unk_08) { - offsetX = gPlayerEntity.x.HALF.HI - gRoomControls.roomOriginX; - offsetY = gPlayerEntity.y.HALF.HI - gRoomControls.roomOriginY; + offsetX = gPlayerEntity.x.HALF.HI - gRoomControls.origin_x; + offsetY = gPlayerEntity.y.HALF.HI - gRoomControls.origin_y; offsetX2 = (entr->unk_00 & 0x3F) * 16 + 8; offsetY2 = ((entr->unk_00 & 0xFC0) >> 6) * 16 + 0x18; tmp = offsetX - offsetX2; @@ -81,7 +81,7 @@ u32 sub_0805795C(Manager* this, DiggingCaveEntrance* entr) { } else { if (COORD_TO_TILE(&gPlayerEntity) != entr->unk_00) return 0; - offsetY2 = gRoomControls.roomOriginY + ((entr->unk_00 >> 6) << 4) + 6; + offsetY2 = gRoomControls.origin_y + ((entr->unk_00 >> 6) << 4) + 6; if (gPlayerEntity.y.HALF.HI >= offsetY2) return 0; sub_08057A18(this, entr); @@ -98,29 +98,29 @@ void sub_08057A18(Manager* this, DiggingCaveEntrance* entr) { u16 tmp; SetInitializationPriority(); gUnk_03004030.unk_0a = gUnk_03004030.unk_09; - gUnk_03004030.unk_09 = gRoomControls.areaID; - gScreenTransition.player_status.area_next = entr->target_areaID; - gScreenTransition.player_status.room_next = entr->target_roomID; - gRoomControls.areaID = entr->target_areaID; - gRoomControls.roomID = entr->target_roomID; + gUnk_03004030.unk_09 = gRoomControls.area; + gRoomTransition.player_status.area_next = entr->target_area; + gRoomTransition.player_status.room_next = entr->target_room; + gRoomControls.area = entr->target_area; + gRoomControls.room = entr->target_room; gUnk_03004030.unk_00 = entr; - gUnk_03004030.unk_04 = gPlayerEntity.x.HALF.HI - gRoomControls.roomOriginX - ((entr->unk_00 & 0x3F) * 16); - gUnk_03004030.unk_06 = gPlayerEntity.y.HALF.HI - gRoomControls.roomOriginY - ((entr->unk_00 & 0xFC0) >> 2); + gUnk_03004030.unk_04 = gPlayerEntity.x.HALF.HI - gRoomControls.origin_x - ((entr->unk_00 & 0x3F) * 16); + gUnk_03004030.unk_06 = gPlayerEntity.y.HALF.HI - gRoomControls.origin_y - ((entr->unk_00 & 0xFC0) >> 2); tmp = gUnk_03004030.unk_08; if (!tmp) { - if ((entr->target_roomID | 0x80) != gUnk_03004030.unk_0b) { + if ((entr->target_room | 0x80) != gUnk_03004030.unk_0b) { gUnk_02034480.unk_00 = gUnk_03004030.unk_08; } - gUnk_03004030.unk_0b = entr->target_roomID | 0x80; + gUnk_03004030.unk_0b = entr->target_room | 0x80; } sub_08080930(entr->unk_03); DeleteManager(this); } #endif -DiggingCaveEntrance* sub_08057AA8(DiggingCaveEntrance* entr, int roomID) { +DiggingCaveEntrance* sub_08057AA8(DiggingCaveEntrance* entr, int room) { for (; entr->unk_00 != 0xFFFF; entr++) { - if (entr->source_roomID == roomID) + if (entr->source_room == room) return entr; } return 0; diff --git a/src/manager/manager7.c b/src/manager/manager7.c index 45ff72a4..ba3e03a2 100644 --- a/src/manager/manager7.c +++ b/src/manager/manager7.c @@ -74,7 +74,7 @@ void Manager7_Main(Manager7* this) { this->manager.unk_0e = 0; } } - if (gRoomControls.unk2) + if (gRoomControls.reload_flags) return; #ifndef JP tmp = this->unk_20; diff --git a/src/manager/manager8.c b/src/manager/manager8.c index 04a5b954..f3fbffa9 100644 --- a/src/manager/manager8.c +++ b/src/manager/manager8.c @@ -41,10 +41,10 @@ extern u8 gUnk_02006F00[]; void sub_08057F20(Manager8* this) { u32 tmp; - tmp = gRoomControls.roomScrollX - gRoomControls.roomOriginX; + tmp = gRoomControls.scroll_x - gRoomControls.origin_x; tmp = tmp + (tmp >> 3) + ((0x400 - gRoomControls.width) / 2); gScreen.bg3.xOffset = tmp & 0xF; - gScreen.bg3.yOffset = 0x30 - ((0x30 - (gRoomControls.roomScrollY - gRoomControls.roomOriginY)) >> 2); + gScreen.bg3.yOffset = 0x30 - ((0x30 - (gRoomControls.scroll_y - gRoomControls.origin_y)) >> 2); gScreen.bg3.tilemap = gBG3Buffer; sub_08058004(tmp, gUnk_02006F00, gBG3Buffer); tmp = ((tmp >> 4) << 1); @@ -52,10 +52,10 @@ void sub_08057F20(Manager8* this) { this->unk_38 = tmp; gScreen.bg3.updated = 1; } - tmp = (gRoomControls.roomScrollX - gRoomControls.roomOriginX); + tmp = (gRoomControls.scroll_x - gRoomControls.origin_x); tmp = tmp + (tmp >> 2) + ((0x400 - gRoomControls.width) / 2); gScreen.bg1.xOffset = tmp & 0xF; - gScreen.bg1.yOffset = 0x30 - ((0x30 - (gRoomControls.roomScrollY - gRoomControls.roomOriginY)) >> 1); + gScreen.bg1.yOffset = 0x30 - ((0x30 - (gRoomControls.scroll_y - gRoomControls.origin_y)) >> 1); gScreen.bg1.tilemap = gBG3Buffer + 0x400; sub_08058004(tmp, gUnk_02006F00 + 0x2000, gBG3Buffer + 0x400); tmp = ((tmp >> 4) << 1); @@ -110,19 +110,19 @@ void sub_080580B0(u32 unk1) { LoadGfxGroup(unk1); gRoomVars.unk_10[0] = unk1; sub_08058034(); - tmp = gRoomControls.roomScrollX - gRoomControls.roomOriginX; // r7 + tmp = gRoomControls.scroll_x - gRoomControls.origin_x; // r7 tmp = tmp + (tmp >> 3) + (0x400 - gRoomControls.width) / 2; sub_08058004(tmp, gUnk_02006F00, gBG3Buffer); gScreen.bg3.xOffset = tmp & 0xF; - gScreen.bg3.yOffset = 0x30 - ((0x30 - (gRoomControls.roomScrollY - gRoomControls.roomOriginY)) >> 1); //? + gScreen.bg3.yOffset = 0x30 - ((0x30 - (gRoomControls.scroll_y - gRoomControls.origin_y)) >> 1); //? gScreen.bg3.control = 0x1D09; gScreen.bg3.tilemap = gBG3Buffer; gScreen.bg3.updated = 1; - tmp = gRoomControls.roomScrollX - gRoomControls.roomOriginX; // r7 + tmp = gRoomControls.scroll_x - gRoomControls.origin_x; // r7 tmp = tmp + (tmp >> 2) + (0x400 - gRoomControls.width) / 2; sub_08058004(tmp, gUnk_02006F00 + 0x2000, gBG3Buffer + 0x400); gScreen.bg1.xOffset = tmp & 0xF; - gScreen.bg1.yOffset = 0x30 - ((0x30 - (gRoomControls.roomScrollY - gRoomControls.roomOriginY)) >> 1); //? + gScreen.bg1.yOffset = 0x30 - ((0x30 - (gRoomControls.scroll_y - gRoomControls.origin_y)) >> 1); //? gScreen.bg1.control = 0x1E09; gScreen.bg1.tilemap = gBG3Buffer + 0x400; gScreen.bg1.updated = 1; diff --git a/src/manager/manager9.c b/src/manager/manager9.c index c16fefa0..4e992f59 100644 --- a/src/manager/manager9.c +++ b/src/manager/manager9.c @@ -47,9 +47,9 @@ u32 sub_08058244(int i) { s32 tmp2; u32 tmp3; s32 tmp4; - tmp = ((gRoomControls.roomScrollY - gRoomControls.roomOriginY) * 0x20) / (gRoomControls.height - 0xa0); - gScreen.bg1.yOffset = gRoomControls.roomOriginY + tmp; - tmp = (((gRoomControls.roomScrollX - gRoomControls.roomOriginX) * gUnk_081081EC[i]) / (gRoomControls.width - 0xf0)); + tmp = ((gRoomControls.scroll_y - gRoomControls.origin_y) * 0x20) / (gRoomControls.height - 0xa0); + gScreen.bg1.yOffset = gRoomControls.origin_y + tmp; + tmp = (((gRoomControls.scroll_x - gRoomControls.origin_x) * gUnk_081081EC[i]) / (gRoomControls.width - 0xf0)); gScreen.bg1.xOffset = tmp & 0xf; return tmp; } diff --git a/src/manager/managerC.c b/src/manager/managerC.c index e8790891..fedd7800 100644 --- a/src/manager/managerC.c +++ b/src/manager/managerC.c @@ -77,7 +77,7 @@ void sub_08058894(ManagerC* this) { void sub_080588CC(ManagerC* this) { sub_08058CFC(); sub_08058A04(this); - if (gScreenTransition.transitioningOut) { + if (gRoomTransition.transitioningOut) { this->manager.action = 2; } else { sub_080588F8(this); @@ -111,7 +111,7 @@ void sub_080588F8(ManagerC* this) { } } if (this->manager.unk_0e) { - s32 tmp = gPlayerEntity.y.HALF.HI - gRoomControls.roomOriginY; + s32 tmp = gPlayerEntity.y.HALF.HI - gRoomControls.origin_y; u32 tmp2; tmp2 = (((unsigned)(tmp - 0x50 < 0 ? 0x50 - tmp : tmp - 0x50) >> 3) * 0x3000) + 0x4000; if (this->manager.unk_0f == 0) { @@ -152,14 +152,14 @@ const struct_08108228 gUnk_081082B8[6] = { { 0xA0, 0x88, 0x20, 0x0A }, { 0x9E, 0 { 0x98, 0x64, 0x1E, 0x1E }, { 0x98, 0x6A, 0x1C, 0x10 } }; void sub_08058A04(ManagerC* this) { - s32 tmp = gPlayerEntity.x.HALF.HI - gRoomControls.roomOriginX; - s32 tmp2 = gPlayerEntity.y.HALF.HI - gRoomControls.roomOriginY; + s32 tmp = gPlayerEntity.x.HALF.HI - gRoomControls.origin_x; + s32 tmp2 = gPlayerEntity.y.HALF.HI - gRoomControls.origin_y; if ((this->unk_20 - 0x118 < 0xDu) && CheckGlobalFlag(LV1TARU_OPEN) && (tmp - 0x6d < 0x17u) && (tmp2 - 0x45 < 0x17u) && (gPlayerEntity.z.HALF.HI == 0)) { gPlayerState.queued_action = PLAYER_FALL; gPlayerState.field_0x38 = 0; - gPlayerEntity.x.HALF.HI = gRoomControls.roomOriginX + 0x78; - gPlayerEntity.y.HALF.HI = gRoomControls.roomOriginY + 0x50; + gPlayerEntity.x.HALF.HI = gRoomControls.origin_x + 0x78; + gPlayerEntity.y.HALF.HI = gRoomControls.origin_y + 0x50; return; } if (tmp < 0x78) { @@ -194,8 +194,8 @@ u32 sub_08058B08(ManagerC* this, u32 unk1, u32 unk2, const struct_08108228* unk3 tmp -= unk1; tmp >>= 3; unk3 += tmp; - tmp2 = (gPlayerEntity.x.HALF.HI - gRoomControls.roomOriginX - unk3->unk_0); - tmp3 = (gPlayerEntity.y.HALF.HI - gRoomControls.roomOriginY - unk3->unk_2); + tmp2 = (gPlayerEntity.x.HALF.HI - gRoomControls.origin_x - unk3->unk_0); + tmp3 = (gPlayerEntity.y.HALF.HI - gRoomControls.origin_y - unk3->unk_2); return ((tmp2 < unk3->unk_4) && (tmp3 < unk3->unk_6)); } } @@ -203,14 +203,14 @@ u32 sub_08058B08(ManagerC* this, u32 unk1, u32 unk2, const struct_08108228* unk3 const u16 gUnk_081082E8[0xC] = { 0xB8, 0x80, 0x0, 0xB8, 0x110, 0x2, 0x118, 0x80, 0x2, 0x118, 0x110, 0x0 }; void sub_08058B5C(ManagerC* this, u32 unk1) { - gScreenTransition.transitioningOut = 1; - gScreenTransition.transitionType = TRANSITION_DEFAULT; - gScreenTransition.player_status.spawn_type = 4; - gScreenTransition.player_status.area_next = gRoomControls.areaID; - gScreenTransition.player_status.room_next = 6; - gScreenTransition.player_status.start_anim = unk1 & 1 ? 4 : 0; - gScreenTransition.player_status.start_pos_x = gUnk_081082E8[unk1 * 3]; - gScreenTransition.player_status.start_pos_y = gUnk_081082E8[unk1 * 3 + 1]; + gRoomTransition.transitioningOut = 1; + gRoomTransition.type = TRANSITION_DEFAULT; + gRoomTransition.player_status.spawn_type = 4; + gRoomTransition.player_status.area_next = gRoomControls.area; + gRoomTransition.player_status.room_next = 6; + gRoomTransition.player_status.start_anim = unk1 & 1 ? 4 : 0; + gRoomTransition.player_status.start_pos_x = gUnk_081082E8[unk1 * 3]; + gRoomTransition.player_status.start_pos_y = gUnk_081082E8[unk1 * 3 + 1]; gSave.unk7 = gUnk_081082E8[unk1 * 3 + 2]; SoundReq(SFX_STAIRS); } @@ -250,8 +250,8 @@ void sub_08058BC8(ManagerC* this) { const u16 gUnk_08108300[4] = { 0xA4, 0x4C, 0xF4, 0x9C }; void sub_08058CB0(ManagerC* this) { - u32 tmp = gPlayerEntity.x.HALF.HI - gRoomControls.roomOriginX; - u32 tmp2 = gPlayerEntity.y.HALF.HI - gRoomControls.roomOriginY; + u32 tmp = gPlayerEntity.x.HALF.HI - gRoomControls.origin_x; + u32 tmp2 = gPlayerEntity.y.HALF.HI - gRoomControls.origin_y; u32 tmp3; if (tmp < 0x78) { tmp3 = 1; @@ -268,7 +268,7 @@ void sub_08058CB0(ManagerC* this) { } void sub_08058CFC() { - u32 tmp = gPlayerEntity.y.HALF.HI - gRoomControls.roomScrollY; + u32 tmp = gPlayerEntity.y.HALF.HI - gRoomControls.scroll_y; if (tmp < 0x4C) { sub_080044AE(&gPlayerEntity, 0xC0, 0x10); } diff --git a/src/manager/managerF.c b/src/manager/managerF.c index 82b33d19..dd27ac02 100644 --- a/src/manager/managerF.c +++ b/src/manager/managerF.c @@ -127,8 +127,8 @@ void sub_08058F84(u32 unk0, u32 unk1) { tmp = CreateObject(OBJECT_21, 0, 0); if (!tmp) return; - tmp->x.HALF.HI = gRoomControls.roomOriginX + unk0; - tmp->y.HALF.HI = gRoomControls.roomOriginY + unk1; + tmp->x.HALF.HI = gRoomControls.origin_x + unk0; + tmp->y.HALF.HI = gRoomControls.origin_y + unk1; } void sub_08058FB0(ManagerF* this) { @@ -180,8 +180,8 @@ void sub_08059064(ManagerF* this) { if (!tmp) return; tmp->actionDelay = 2; - tmp->x.HALF.HI = this->unk_38 + gRoomControls.roomOriginX; - tmp->y.HALF.HI = this->unk_3a + gRoomControls.roomOriginY; + tmp->x.HALF.HI = this->unk_38 + gRoomControls.origin_x; + tmp->y.HALF.HI = this->unk_3a + gRoomControls.origin_y; } void sub_08059094(ManagerF* this) { @@ -294,7 +294,7 @@ void sub_08059278() { void sub_08059290(ManagerF* this) { this->manager.action = 1; - gRoomControls.cameraTarget = &gPlayerEntity; + gRoomControls.camera_target = &gPlayerEntity; } void sub_080592A4(ManagerF* this) { @@ -329,8 +329,8 @@ void sub_0805930C(ManagerF* this) { #endif if (!tmp) return; - tmp->x.HALF.HI = this->unk_38 + gRoomControls.roomOriginX; - tmp->y.HALF.HI = this->unk_3a + gRoomControls.roomOriginY; + tmp->x.HALF.HI = this->unk_38 + gRoomControls.origin_x; + tmp->y.HALF.HI = this->unk_3a + gRoomControls.origin_y; tmp->collisionLayer = 1; } @@ -351,7 +351,7 @@ void sub_08059368(ManagerF* this) { void sub_0805938C(ManagerF* this) { if (sub_080593CC(this)) { if (++this->manager.unk_0e >= 8) { - sub_080806BC(this->unk_38 - gRoomControls.roomOriginX, this->unk_3a - gRoomControls.roomOriginY, 0xFF, 0xA); + sub_080806BC(this->unk_38 - gRoomControls.origin_x, this->unk_3a - gRoomControls.origin_y, 0xFF, 0xA); } } else { this->manager.unk_0e = 0; @@ -377,8 +377,8 @@ void sub_08059424(ManagerF* this) { if (!tmp) return; tmp->collisionLayer = 2; - tmp->x.HALF.HI = this->unk_38 + gRoomControls.roomOriginX; - tmp->y.HALF.HI = this->unk_3a + gRoomControls.roomOriginY; + tmp->x.HALF.HI = this->unk_38 + gRoomControls.origin_x; + tmp->y.HALF.HI = this->unk_3a + gRoomControls.origin_y; EnqueueSFX(0x1B0); DeleteThisEntity(); } @@ -386,10 +386,10 @@ void sub_08059424(ManagerF* this) { void sub_0805947C(ManagerF* this) { if (!CheckFlags(this->unk_3e)) { SetPlayerControl(3); - if (gRoomControls.unk2) + if (gRoomControls.reload_flags) return; if (gRoomVars.field_0x0) { - StartPlayerScript(gUnk_08108380[gRoomControls.unk_10]); + StartPlayerScript(gUnk_08108380[gRoomControls.scroll_direction]); } else { StartPlayerScript(gUnk_08108380[gPlayerEntity.animationState >> 1]); } diff --git a/src/message.c b/src/message.c index 1383e0e6..d2d05083 100644 --- a/src/message.c +++ b/src/message.c @@ -135,8 +135,8 @@ void MessageClose(void) { } void MessageFromTarget(u32 index) { - if (gRoomControls.cameraTarget != NULL) { - MessageNoOverlap(index, gRoomControls.cameraTarget); + if (gRoomControls.camera_target != NULL) { + MessageNoOverlap(index, gRoomControls.camera_target); } else { MessageRequest(index); } @@ -151,7 +151,7 @@ void MessageNoOverlap(u32 index, Entity* entity) { y = entity->y.HALF.HI; height = entity->z.HALF.HI; - if (((y + height) - gRoomControls.roomScrollY) > 0x58) { + if (((y + height) - gRoomControls.scroll_y) > 0x58) { gMessage.textWindowPosY = 1; } } @@ -237,16 +237,16 @@ NONMATCH("asm/non_matching/textbox/TextBoxFunction1.inc", static u32 MsgInit(voi MemClear((void*)&gTextRender, sizeof(gTextRender)); MemCopy(&gMessage, &gTextRender, sizeof(gMessage)); if (gTextRender.message.textSpeed == 99) { - gTextRender.message.textSpeed = gSaveHeader->messageSpeed; + gTextRender.message.textSpeed = gSaveHeader->msg_speed; } gTextRender._9c = 0xff; sub_0805EEB4(&gTextRender.curToken, gTextRender.message.textIndex); - gTextRender.playerName[0] = 2; - gTextRender.playerName[1] = 0xe; // Green text color - dest = &gTextRender.playerName[2]; + gTextRender.player_name[0] = 2; + gTextRender.player_name[1] = 0xe; // Green text color + dest = &gTextRender.player_name[2]; for (i = 0; i < FILENAME_LENGTH; ++i) { - char c = gSave.playerName[i]; + char c = gSave.name[i]; if (c == '\0') break; *dest++ = c; diff --git a/src/npc.c b/src/npc.c index 4f48e34f..dbc4253b 100644 --- a/src/npc.c +++ b/src/npc.c @@ -161,8 +161,8 @@ NONMATCH("asm/non_matching/arm_proxy/NPCUpdate.inc", void NPCUpdate(Entity* this gNPCFunctions[this->id][1](this); if ((this->health & 0x7f) != 0) { u32 temp = this->health & 0x7f; - gUnk_02031EC0[temp * 2 - 2].x = this->x.HALF.HI - gRoomControls.roomOriginX; - gUnk_02031EC0[temp * 2 - 2].y = this->y.HALF.HI - gRoomControls.roomOriginY; + gUnk_02031EC0[temp * 2 - 2].x = this->x.HALF.HI - gRoomControls.origin_x; + gUnk_02031EC0[temp * 2 - 2].y = this->y.HALF.HI - gRoomControls.origin_y; } DrawEntity(this); } diff --git a/src/npc/bigGoron.c b/src/npc/bigGoron.c index 0fb7c8bf..9a357ae5 100644 --- a/src/npc/bigGoron.c +++ b/src/npc/bigGoron.c @@ -45,7 +45,7 @@ void sub_0806CF30(Entity* this) { switch (this->subAction) { case 0: case 1: - if (gScreenTransition.frameCount % 4 == 0) { + if (gRoomTransition.frameCount % 4 == 0) { if (gPlayerEntity.x.HALF.HI < this->x.HALF.HI && this->field_0x68.HWORD - 32 < this->x.HALF.HI) { this->x.HALF.HI--; } @@ -257,7 +257,7 @@ void sub_0806D41C(Entity* this) { ExecuteScriptForEntity(this, NULL); HandleEntity0x82Actions(this); } - if ((gScreenTransition.frameCount & 1) == 0) { + if ((gRoomTransition.frameCount & 1) == 0) { if (CheckPlayerProximity(this->x.HALF.HI - 0x20, this->y.HALF.HI, 0x40, 0x40) != 0) { if (this->spriteOffsetY > -8) { this->spriteOffsetY -= 1; diff --git a/src/npc/bladeBrothers.c b/src/npc/bladeBrothers.c index d0620938..f9bc50b6 100644 --- a/src/npc/bladeBrothers.c +++ b/src/npc/bladeBrothers.c @@ -51,7 +51,7 @@ void sub_08068A1C(Entity* this) { int offset; this->type2 = this->type; - if (gScreenTransition.player_status.field_0x24[8] != 0) { + if (gRoomTransition.player_status.field_0x24[8] != 0) { offset = 6; bVar1 = 3; @@ -103,7 +103,7 @@ void sub_08068AA4(Entity* this) { } void sub_08068ADC(Entity* this) { - if (gScreenTransition.player_status.field_0x24[8] == 2) { + if (gRoomTransition.player_status.field_0x24[8] == 2) { GetNextFrame(this); } sub_0806FD3C(this); diff --git a/src/npc/castorWildsStatue.c b/src/npc/castorWildsStatue.c index c0637c96..0a809793 100644 --- a/src/npc/castorWildsStatue.c +++ b/src/npc/castorWildsStatue.c @@ -25,7 +25,7 @@ void CastorWildsStatue(Entity* this) { } void sub_080673C0(Entity* this) { - if (gScreenTransition.player_status.field_0x24[8] != 0) { + if (gRoomTransition.player_status.field_0x24[8] != 0) { this->action = 3; } else { this->action = 1; diff --git a/src/npc/dampe.c b/src/npc/dampe.c index 31eb8c7b..fd7ddbb7 100644 --- a/src/npc/dampe.c +++ b/src/npc/dampe.c @@ -93,8 +93,8 @@ void sub_0806BEFC() { void sub_0806BF44(Entity* this, ScriptExecutionContext* context) { context->condition = 0; - if (((this->x.HALF.HI - gRoomControls.roomScrollX) + 0x10U < 0x110) && - ((this->y.HALF.HI - gRoomControls.roomScrollY) + 0x18U < 0xD0)) { + if (((this->x.HALF.HI - gRoomControls.scroll_x) + 0x10U < 0x110) && + ((this->y.HALF.HI - gRoomControls.scroll_y) + 0x18U < 0xD0)) { context->condition = 1; } } diff --git a/src/npc/goronMerchant.c b/src/npc/goronMerchant.c index 503717a6..df239bd4 100644 --- a/src/npc/goronMerchant.c +++ b/src/npc/goronMerchant.c @@ -25,7 +25,7 @@ void GoronMerchant(Entity* this) { } void sub_08069584(Entity* this) { - if (gScreenTransition.player_status.field_0x24[8] != 0) { + if (gRoomTransition.player_status.field_0x24[8] != 0) { this->action = 3; } else { this->action = 1; @@ -59,7 +59,7 @@ void sub_080695E8(Entity* this) { } void sub_0806961C(Entity* this) { - if (gScreenTransition.player_status.field_0x24[8] == 2) { + if (gRoomTransition.player_status.field_0x24[8] == 2) { UpdateAnimationSingleFrame(this); } sub_0806FD3C(this); diff --git a/src/npc/guard.c b/src/npc/guard.c index 50f559c7..b0f44595 100644 --- a/src/npc/guard.c +++ b/src/npc/guard.c @@ -202,7 +202,7 @@ void sub_08064030(Entity* arg0, Entity* arg1) { } void sub_08064044(void) { - gScreenTransition.transitioningOut = 1; + gRoomTransition.transitioningOut = 1; } void sub_08064050(Entity* this, ScriptExecutionContext* context) { diff --git a/src/npc/kid.c b/src/npc/kid.c index c5b5872a..18f9bb7d 100644 --- a/src/npc/kid.c +++ b/src/npc/kid.c @@ -236,8 +236,8 @@ NONMATCH("asm/non_matching/kid/sub_080626E0.inc", void sub_080626E0(Entity* this context->unk_19 = 10; context->postScriptActions |= 2; sVar1 = *(s16*)&context->intVariable; - context->x.HALF.HI = *((u16*)&context->intVariable + 2) + gRoomControls.roomOriginX; - context->y.HALF.HI = gRoomControls.roomOriginY + sVar1; + context->x.HALF.HI = *((u16*)&context->intVariable + 2) + gRoomControls.origin_x; + context->y.HALF.HI = gRoomControls.origin_y + sVar1; } bVar2 = context->unk_19 - 1; context->unk_19 = bVar2; diff --git a/src/npc/npc23.c b/src/npc/npc23.c index df0786e4..40712f6f 100644 --- a/src/npc/npc23.c +++ b/src/npc/npc23.c @@ -86,7 +86,7 @@ void sub_0806643C(Entity* this) { bool32 tmp = sub_0806650C(this); if (tmp == FALSE) { this->action = 5; - gRoomControls.cameraTarget = NULL; + gRoomControls.camera_target = NULL; sub_08078AC0(0x40, 0, 0); gPlayerEntity.animationState = 0; gPlayerEntity.direction = 0; diff --git a/src/npc/npc4E.c b/src/npc/npc4E.c index 23afefed..d5952c03 100644 --- a/src/npc/npc4E.c +++ b/src/npc/npc4E.c @@ -203,8 +203,8 @@ void sub_0806DCA0() { } void sub_0806DCC0() { - gScreenTransition.player_status.overworld_map_x = 0x7c8; - gScreenTransition.player_status.overworld_map_y = 0xf8; + gRoomTransition.player_status.overworld_map_x = 0x7c8; + gRoomTransition.player_status.overworld_map_y = 0xf8; } void NPC4E_Fusion(Entity* this) { diff --git a/src/npc/npc5.c b/src/npc/npc5.c index 4a620dcd..1fa8c0f6 100644 --- a/src/npc/npc5.c +++ b/src/npc/npc5.c @@ -118,13 +118,13 @@ void sub_08060A00(Entity* this) { ((UnkHeap*)this->myHeap)->unk_1 = gPlayerEntity.x.HALF.HI; ((UnkHeap*)this->myHeap)->unk_2 = gPlayerEntity.y.HALF.HI; } - if (this->field_0x74.HWORD != gRoomControls.roomID) { - this->field_0x74.HWORD = gRoomControls.roomID; + if (this->field_0x74.HWORD != gRoomControls.room) { + this->field_0x74.HWORD = gRoomControls.room; CopyPosition(&gPlayerEntity, this); this->action = 1; this->spriteSettings.draw = 1; this->speed = 0x120; - tmp = gRoomControls.unk_10; + tmp = gRoomControls.scroll_direction; this->animationState = tmp * 2; InitAnimationForceUpdate(this, tmp << 0x19 >> 0x19); // TODO some conversion between u8 and u32? this->frameDuration = (Random() & 0x7f) + 0x80; @@ -880,7 +880,7 @@ void sub_08061B58(Entity* this) { this->action = 1; InitAnimationForceUpdate(this, 2); } - if (gScreenTransition.player_status.field_0x24[8] == 2) { + if (gRoomTransition.player_status.field_0x24[8] == 2) { UpdateAnimationSingleFrame(this); } sub_0806FD3C(this); diff --git a/src/npc/phonograph.c b/src/npc/phonograph.c index 9a471b6c..8bde7e7c 100644 --- a/src/npc/phonograph.c +++ b/src/npc/phonograph.c @@ -1,7 +1,7 @@ #include "entity.h" #include "script.h" #include "functions.h" -#include "fileScreen.h" +#include "fileselect.h" #include "screen.h" extern void sub_08057044(u32, struct_020227E8*, u32); diff --git a/src/npc/picolyteBottle.c b/src/npc/picolyteBottle.c index 9b65c735..c25faa66 100644 --- a/src/npc/picolyteBottle.c +++ b/src/npc/picolyteBottle.c @@ -39,7 +39,7 @@ void sub_0806DF00(Entity* this) { npc->parent = this; this->field_0x74.HWORD = 0; this->field_0x76.HWORD = 10; - gScreenTransition.field_0x6 = 10; + gRoomTransition.field_0x6 = 10; sub_0806E014(this); sub_0807DD50(this); } else { @@ -109,17 +109,17 @@ void sub_0806E1FC(Entity* this) { } void sub_0806E20C(void) { - if (gScreenTransition.field_0x6 != 0) { + if (gRoomTransition.field_0x6 != 0) { MessageFromTarget(0x421f); - gMessage.field_0x10 = gScreenTransition.field_0x6; + gMessage.field_0x10 = gRoomTransition.field_0x6; } else { MessageFromTarget(0x4220); } } void sub_0806E23C(void) { - if (gScreenTransition.field_0x6 != 0) { - ModRupees(gScreenTransition.field_0x6); + if (gRoomTransition.field_0x6 != 0) { + ModRupees(gRoomTransition.field_0x6); } } diff --git a/src/npc/postman.c b/src/npc/postman.c index 1f958c09..48e7aa9e 100644 --- a/src/npc/postman.c +++ b/src/npc/postman.c @@ -181,8 +181,8 @@ void sub_080606D8(Entity* this) { void sub_08060700(Entity* entity, ScriptExecutionContext* context) { s8* var0 = gUnk_0810A918[(s8)entity->field_0x68.HALF.LO]; Coords16* coords = &gUnk_0810A66C[var0[(s8)entity->field_0x68.HALF.HI]]; - u32 x = coords->x + gRoomControls.roomOriginX; - u32 y = coords->y + gRoomControls.roomOriginY; + u32 x = coords->x + gRoomControls.origin_x; + u32 y = coords->y + gRoomControls.origin_y; sub_0807DEDC(entity, context, x, y); gActiveScriptInfo.flags |= 1; } diff --git a/src/npc/rem.c b/src/npc/rem.c index c55df7c9..b846ab31 100644 --- a/src/npc/rem.c +++ b/src/npc/rem.c @@ -291,7 +291,7 @@ void sub_0806AA18(Entity* this) { u32 index; if (this->field_0x6a.HWORD != 0) { index = 0x4408; - } else if ((gScreenTransition.frameCount & 1U) == 0) { + } else if ((gRoomTransition.frameCount & 1U) == 0) { index = 0x4407; } else { index = 0x440d; @@ -303,8 +303,8 @@ ASM_FUNC("asm/non_matching/rem/sub_0806AA50.inc", void sub_0806AA50(Entity* this void sub_0806AB74(Entity* this) { gRoomVars.field_0x3 = 1; - if ((s32)(this->y.HALF.HI - (u32)gRoomControls.roomOriginY) < 0xa8) { - this->y.HALF.HI = gRoomControls.roomOriginY + 0xa8; + if ((s32)(this->y.HALF.HI - (u32)gRoomControls.origin_y) < 0xa8) { + this->y.HALF.HI = gRoomControls.origin_y + 0xa8; } } diff --git a/src/npc/simon.c b/src/npc/simon.c index c5e40ce5..a41b7005 100644 --- a/src/npc/simon.c +++ b/src/npc/simon.c @@ -27,7 +27,7 @@ void Simon(Entity* this) { void sub_0806C224(void) { DoExitTransition(&gUnk_0813AD60); - gScreenTransition.transitionType = TRANSITION_FADE_BLACK_FAST; + gRoomTransition.type = TRANSITION_FADE_BLACK_FAST; } void Simon_CreateChest(Entity* this) { @@ -39,7 +39,7 @@ void Simon_CreateChest(Entity* this) { void sub_0806C280(void) { SetGlobalFlag(MAROYA_WAKEUP); DoExitTransition(&gUnk_0813AD74); - gScreenTransition.transitionType = TRANSITION_FADE_BLACK_FAST; + gRoomTransition.type = TRANSITION_FADE_BLACK_FAST; } void sub_0806C2A0(Entity* this, ScriptExecutionContext* context) { diff --git a/src/npc/sturgeon.c b/src/npc/sturgeon.c index ef135a92..f55788f1 100644 --- a/src/npc/sturgeon.c +++ b/src/npc/sturgeon.c @@ -83,7 +83,7 @@ void Sturgeon_Head(Entity* this) { } void sub_08064C9C(Entity* this) { - if ((this->actionDelay != 0) && ((gScreenTransition.frameCount & 3U) == 0)) { + if ((this->actionDelay != 0) && ((gRoomTransition.frameCount & 3U) == 0)) { CreateDust(this); } } diff --git a/src/npc/syrup.c b/src/npc/syrup.c index 45e44c11..003b60cb 100644 --- a/src/npc/syrup.c +++ b/src/npc/syrup.c @@ -32,7 +32,7 @@ void sub_0806A1F8(Entity* this) { void sub_0806A234(Entity* this) { sub_0807DD94(this, 0); if ((this->field_0x82.HWORD & 4) != 0) { - if ((gScreenTransition.frameCount & 7) == 0) { + if ((gRoomTransition.frameCount & 7) == 0) { sub_0806A26C(this); } sub_080042BA(this, 2); diff --git a/src/npc/vaati.c b/src/npc/vaati.c index 9db43d90..c3691bc7 100644 --- a/src/npc/vaati.c +++ b/src/npc/vaati.c @@ -34,7 +34,7 @@ void VaatiAction0(Entity* this) { void VaatiAction1(Entity* this) { ScriptExecutionContext* tmp; sub_0807DD94(this, sub_08066B74); - if ((*(s8*)&this->field_0x68.HALF.HI != 0) && ((gScreenTransition.frameCount & 3) == 0)) { + if ((*(s8*)&this->field_0x68.HALF.HI != 0) && ((gRoomTransition.frameCount & 3) == 0)) { sub_08095CB0(this); } diff --git a/src/npc/zelda.c b/src/npc/zelda.c index b66b879a..b0ac945f 100644 --- a/src/npc/zelda.c +++ b/src/npc/zelda.c @@ -66,7 +66,7 @@ void sub_08066D4C(Entity* this, ScriptExecutionContext* context) { } void sub_08066D94(Entity* this) { - u32 roomID; + u32 room; Entity* npc; SetGlobalFlag(ZELDA_CHASE); @@ -75,8 +75,8 @@ void sub_08066D94(Entity* this) { npc->animationState = gPlayerEntity.animationState; npc->flags |= 0x20; npc->animationState = GetAnimationState(this); - roomID = gRoomControls.roomID; - npc->field_0x74.HWORD = roomID; + room = gRoomControls.room; + npc->field_0x74.HWORD = room; CopyPosition(this, npc); } DeleteThisEntity(); diff --git a/src/npcUtils.c b/src/npcUtils.c index d44f3336..01ddd448 100644 --- a/src/npcUtils.c +++ b/src/npcUtils.c @@ -194,8 +194,8 @@ static void sub_0806EF14(Entity* ent) { static void sub_0806EF4C(Entity* ent, u16* xy) { u16* src = &((u16*)ent->child)[ent->hitType]; - xy[0] = gRoomControls.roomOriginX + src[1]; - xy[1] = gRoomControls.roomOriginY + src[2]; + xy[0] = gRoomControls.origin_x + src[1]; + xy[1] = gRoomControls.origin_y + src[2]; } static u32 sub_0806EF74(Entity* ent, u32 a2) { diff --git a/src/object/backgroundCloud.c b/src/object/backgroundCloud.c index 8d3263bc..176bdd58 100644 --- a/src/object/backgroundCloud.c +++ b/src/object/backgroundCloud.c @@ -17,8 +17,8 @@ void sub_0808F658(Entity* this) { this->frameIndex = this->type; this->direction = 8; this->speed = gUnk_08121EB0[this->type]; - this->field_0x78.HWORD = gRoomControls.roomOriginX - 0x60; - this->field_0x7a.HWORD = gRoomControls.roomOriginX + gRoomControls.width + 0x60; + this->field_0x78.HWORD = gRoomControls.origin_x - 0x60; + this->field_0x7a.HWORD = gRoomControls.origin_x + gRoomControls.width + 0x60; this->animationState = 0; this->x.HALF.HI += (Random() & 0xf) << 4; this->actionDelay = 0; diff --git a/src/object/bakerOven.c b/src/object/bakerOven.c index c7f21f7c..a5b344ba 100644 --- a/src/object/bakerOven.c +++ b/src/object/bakerOven.c @@ -85,8 +85,8 @@ void sub_0809CDB4(Entity* this) { void sub_0809CDF0(Entity* this) { u32 y; - this->field_0x80.HWORD = (((this->x.HALF.HI - gRoomControls.roomOriginX) >> 4) & 0x3f) | - (((this->y.HALF.HI - gRoomControls.roomOriginY) >> 4 & 0x3f) << 6); + this->field_0x80.HWORD = (((this->x.HALF.HI - gRoomControls.origin_x) >> 4) & 0x3f) | + (((this->y.HALF.HI - gRoomControls.origin_y) >> 4 & 0x3f) << 6); y = this->field_0x80.HWORD; SetTile(0x402e, y - 0x01, this->collisionLayer); diff --git a/src/object/bird.c b/src/object/bird.c index 07a696cf..33bea93a 100644 --- a/src/object/bird.c +++ b/src/object/bird.c @@ -29,7 +29,7 @@ void sub_0809CF54(Entity* this) { this->speed = 0x280; this->direction = 8; this->collisionLayer = 2; - this->x.HALF.HI = gRoomControls.roomScrollX; + this->x.HALF.HI = gRoomControls.scroll_x; SoundReq(SFX_123); UpdateSpriteForCollisionLayer(this); InitAnimationForceUpdate(this, 0); diff --git a/src/object/book.c b/src/object/book.c index 2ad7a40b..3da498bc 100644 --- a/src/object/book.c +++ b/src/object/book.c @@ -54,7 +54,7 @@ void sub_0809B3C4(Entity* this) { u32 scroll; u32 height; this->action = 3; - scroll = (u16)gRoomControls.roomScrollY - 0x10; + scroll = (u16)gRoomControls.scroll_y - 0x10; height = (u16)this->y.HALF.HI - scroll; this->z.HALF.HI -= height; return; diff --git a/src/object/button.c b/src/object/button.c index 5f36262d..1d1c88d9 100644 --- a/src/object/button.c +++ b/src/object/button.c @@ -16,8 +16,8 @@ void sub_08081AE0(Entity* this) { if (this->cutsceneBeh.HWORD != 0) { this->collisionLayer = this->cutsceneBeh.HWORD; } - this->field_0x74.HWORD = (((this->x.HALF.HI - gRoomControls.roomOriginX) >> 4) & 0x3F) | - ((((this->y.HALF.HI - gRoomControls.roomOriginY) >> 4) & 0x3F) << 6); + this->field_0x74.HWORD = (((this->x.HALF.HI - gRoomControls.origin_x) >> 4) & 0x3F) | + ((((this->y.HALF.HI - gRoomControls.origin_y) >> 4) & 0x3F) << 6); this->field_0x70.HALF.HI = GetTileType(this->field_0x74.HWORD, this->collisionLayer); if (this->type == 0 && CheckFlags(this->field_0x86.HWORD)) { this->action = 5; diff --git a/src/object/cloud.c b/src/object/cloud.c index 5ff9bf6b..dd3da89d 100644 --- a/src/object/cloud.c +++ b/src/object/cloud.c @@ -30,7 +30,7 @@ void sub_0809F514(Entity* this) { this->actionDelay = 120; this->spriteSettings.draw = 0; this->field_0x68.HALF.LO = 12; - gRoomControls.cameraTarget = this; + gRoomControls.camera_target = this; gUnk_02034490[0] = 255; sub_0809F7BC(this); } @@ -41,10 +41,10 @@ void sub_0809F548(Entity* this) { this->action = 2; this->actionDelay = 90; SoundReq(SFX_11D); - sub_0809F814((((this->x.HALF.HI - gRoomControls.roomOriginX) >> 4) & 63) | - (((this->y.HALF.HI - gRoomControls.roomOriginY) >> 4) & 63) << 6); + sub_0809F814((((this->x.HALF.HI - gRoomControls.origin_x) >> 4) & 63) | + (((this->y.HALF.HI - gRoomControls.origin_y) >> 4) & 63) << 6); } else { - if ((gScreenTransition.frameCount & 7) == 0) { + if ((gRoomTransition.frameCount & 7) == 0) { sub_0809F7BC(this); } sub_0809F7F4(this); @@ -75,7 +75,7 @@ void sub_0809F5F0(Entity* this) { this->actionDelay = 120; SetPlayerControl(3); sub_08078B48(); - gRoomControls.cameraTarget = this; + gRoomControls.camera_target = this; } } @@ -89,10 +89,10 @@ void sub_0809F61C(Entity* this) { this->action = 3; this->actionDelay = 120; SoundReq(SFX_11D); - sub_0809F814((((this->x.HALF.HI - gRoomControls.roomOriginX) >> 4) & 63) | - (((this->y.HALF.HI - gRoomControls.roomOriginY) >> 4) & 63) << 6); + sub_0809F814((((this->x.HALF.HI - gRoomControls.origin_x) >> 4) & 63) | + (((this->y.HALF.HI - gRoomControls.origin_y) >> 4) & 63) << 6); } else { - if ((gScreenTransition.frameCount & 7) == 0) { + if ((gRoomTransition.frameCount & 7) == 0) { sub_0809F7BC(this); } sub_0809F7F4(this); @@ -105,7 +105,7 @@ void sub_0809F69C(Entity* this) { if (--this->actionDelay == 0) { this->actionDelay = 30; this->action = 4; - gRoomControls.cameraTarget = &gPlayerEntity; + gRoomControls.camera_target = &gPlayerEntity; SoundReq(SFX_SECRET_BIG); } } @@ -127,7 +127,7 @@ void sub_0809F700(Entity* this) { this->actionDelay = (Random() & 30) + 8; this->flags = this->flags | 12; } - if ((gScreenTransition.frameCount & 3) == 0) { + if ((gRoomTransition.frameCount & 3) == 0) { uVar2 = Random(); this->spriteOffsetX = gUnk_081247C0[uVar2 & 7]; this->spriteOffsetY = gUnk_081247C0[uVar2 >> 4 & 7]; diff --git a/src/object/fileScreenObjects.c b/src/object/fileScreenObjects.c index a4b216bc..004f98d5 100644 --- a/src/object/fileScreenObjects.c +++ b/src/object/fileScreenObjects.c @@ -1,7 +1,7 @@ #include "object.h" #include "main.h" #include "menu.h" -#include "fileScreen.h" +#include "fileselect.h" #include "functions.h" extern int sub_0807A094(int); @@ -175,7 +175,7 @@ void sub_0808EA28(Entity* this) { u32 var1; if (this->type == 3) { - if (gSaveHeader->gameLanguage > LANGUAGE_EN) { + if (gSaveHeader->language > LANGUAGE_EN) { this->spriteSettings.draw = 2; } else { this->spriteSettings.draw = 0; @@ -294,7 +294,7 @@ void sub_0808EBB8(Entity* this) { case 0: break; case 1: - y = ((struct_02000000*)0x2000000)->gameLanguage * 16 + 24; + y = ((SaveHeader*)0x2000000)->language * 16 + 24; x = 112; break; case 2: @@ -402,7 +402,7 @@ void sub_0808ED98(Entity* this) { void sub_0808EE00(Entity* this) { int var0, var1, var2; - var0 = ((struct_02000000*)0x2000000)->gameLanguage != 0; + var0 = ((SaveHeader*)0x2000000)->language != 0; var1 = this->type - 10; this->frameIndex = gUnk_08121D38[var0][var1]; this->x.HALF.HI = gUnk_08121D18[var0][var1]; @@ -452,9 +452,9 @@ void sub_0808EF24(Entity* this) { } else { this->spriteSettings.draw = 2; if (this->type == 21) { - var0 = ((struct_02000000*)0x2000000)->messageSpeed; + var0 = ((SaveHeader*)0x2000000)->msg_speed; } else { - var0 = ((struct_02000000*)0x2000000)->brightnessPref; + var0 = ((SaveHeader*)0x2000000)->brightness; } this->frameIndex = this->lastFrameIndex + var0; } diff --git a/src/object/giantLeaf.c b/src/object/giantLeaf.c index a5d25b30..ab3ebac8 100644 --- a/src/object/giantLeaf.c +++ b/src/object/giantLeaf.c @@ -22,8 +22,8 @@ void sub_0808D618(Entity* ent) { u32 i; arr = (ent->type != 0) ? gUnk_0812176A : gUnk_08121750; - tilePos = (((ent->x.HALF.HI - gRoomControls.roomOriginX) >> 4) & 0x3F) | - ((((ent->y.HALF.HI - gRoomControls.roomOriginY) >> 4) & 0x3F) * 64); + tilePos = (((ent->x.HALF.HI - gRoomControls.origin_x) >> 4) & 0x3F) | + ((((ent->y.HALF.HI - gRoomControls.origin_y) >> 4) & 0x3F) * 64); for (i = 0; i < 13; i++) { SetTile(16500, tilePos + arr[i], 1); diff --git a/src/object/greatFairy.c b/src/object/greatFairy.c index a8c02b02..85e8681a 100644 --- a/src/object/greatFairy.c +++ b/src/object/greatFairy.c @@ -52,12 +52,12 @@ void GreatFairy(Entity* this) { void GreatFairy_CallBehavior(Entity* this) { GreatFairy_Behaviors[this->action](this); - if ((gPlayerEntity.y.HALF.HI - gRoomControls.roomOriginY) < 168) { + if ((gPlayerEntity.y.HALF.HI - gRoomControls.origin_y) < 168) { - gRoomControls.cameraTarget = this; + gRoomControls.camera_target = this; gRoomControls.unk5 = 2; } else { - gRoomControls.cameraTarget = &gPlayerEntity; + gRoomControls.camera_target = &gPlayerEntity; gRoomControls.unk5 = 2; } } @@ -515,7 +515,7 @@ void sub_080873FC(void) { Entity* ent; SoundReq(SFX_APPARATE); - gRoomControls.cameraTarget = NULL; + gRoomControls.camera_target = NULL; while (ent = FindEntityByID(0x6, 0x1b, 0x6), ent != NULL) { DeleteEntity(ent); diff --git a/src/object/houseDoorExterior.c b/src/object/houseDoorExterior.c index 8f48956b..a1495848 100644 --- a/src/object/houseDoorExterior.c +++ b/src/object/houseDoorExterior.c @@ -58,8 +58,8 @@ void sub_080866D8(Entity* this) { entity = CreateObject(HOUSE_DOOR_EXT, prop->unk7, prop->unk6); if (entity) { entity->field_0x6c.HALF.LO = i; - entity->x.HALF.HI = gRoomControls.roomOriginX + prop->unk0 + 16; - entity->y.HALF.HI = gRoomControls.roomOriginY + prop->unk2 + 32; + entity->x.HALF.HI = gRoomControls.origin_x + prop->unk0 + 16; + entity->y.HALF.HI = gRoomControls.origin_y + prop->unk2 + 32; entity->parent = this; entity->field_0x68.HWORD = prop->unk0; entity->field_0x6a.HWORD = prop->unk2; diff --git a/src/object/lockedDoor.c b/src/object/lockedDoor.c index 5a38d7a1..6691205d 100644 --- a/src/object/lockedDoor.c +++ b/src/object/lockedDoor.c @@ -288,7 +288,7 @@ u32 sub_08083734(Entity* this, u32 unk0) { u32 sub_080837B0(Entity* this) { u32 tmp; - u32 tmp2 = gRoomControls.areaID; + u32 tmp2 = gRoomControls.area; if (tmp2 < 0x40) { switch (tmp2) { default: diff --git a/src/object/mask.c b/src/object/mask.c index be794b54..4e9810c3 100644 --- a/src/object/mask.c +++ b/src/object/mask.c @@ -20,7 +20,7 @@ void sub_080929A4(Entity* this) { switch (this->type2 & 0xC0) { case 0x40: - field_0x0a = gScreenTransition.stairs_idx; + field_0x0a = gRoomTransition.stairs_idx; switch (field_0x0a) { case 0x44D ... 0x44F: diff --git a/src/object/minecart.c b/src/object/minecart.c index 92929f83..fee9da56 100644 --- a/src/object/minecart.c +++ b/src/object/minecart.c @@ -20,14 +20,14 @@ void Minecart(Entity* this) { } void sub_080916EC(Entity* this) { - struct_030010EC* unk = &gScreenTransition.minecart_data[this->actionDelay]; + struct_030010EC* unk = &gRoomTransition.minecart_data[this->actionDelay]; *(struct_030010EC**)&this->cutsceneBeh.HWORD = unk; - if ((gRoomControls.roomID != unk->field_0x4) || (gPlayerState.flags & PL_IN_MINECART) != 0) { + if ((gRoomControls.room != unk->field_0x4) || (gPlayerState.flags & PL_IN_MINECART) != 0) { DeleteThisEntity(); } - this->x.HALF.HI = gRoomControls.roomOriginX + ((unk->field_0x0 & 0x3f) << 4) + 8; - this->y.HALF.HI = gRoomControls.roomOriginY + ((unk->field_0x0 & 0xfc << 4) >> 2) + 8; + 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; @@ -91,7 +91,7 @@ void sub_080918A4(Entity* this) { gPlayerState.flags = (gPlayerState.flags ^ PL_ENTER_MINECART) | PL_IN_MINECART; this->action++; this->field_0xf = 1; - this->flags |= ENT_20; + this->flags |= ENT_PERSIST; this->hitType = 0x97; this->field_0x3c = (gPlayerEntity.field_0x3c + 1) | 0x20; this->flags2 = gPlayerEntity.flags2; @@ -134,7 +134,7 @@ void sub_080919AC(Entity* this) { CopyPosition(this, &gPlayerEntity); gPlayerEntity.spritePriority.b0 = this->spritePriority.b0 - 1; if (!sub_08091DDC(this)) { - if ((gScreenTransition.frameCount & 0xf) == 0) { + if ((gRoomTransition.frameCount & 0xf) == 0) { SoundReq(SFX_138); } @@ -152,7 +152,7 @@ void sub_080919AC(Entity* this) { } else { switch (uVar3) { case 0x64: - this->flags &= ~ENT_20; + this->flags &= ~ENT_PERSIST; this->hitType = 1; this->field_0x3c = 0x47; this->hurtType = 0x44; diff --git a/src/object/object49.c b/src/object/object49.c index 43dcda88..f1873fc2 100644 --- a/src/object/object49.c +++ b/src/object/object49.c @@ -212,7 +212,7 @@ void sub_0808F498(Entity* this) { if (this->action != 0) { if (sub_0806F3E4(this)) { - if (gScreenTransition.frameCount % 16 == 0) { + if (gRoomTransition.frameCount % 16 == 0) { SoundReq(SFX_EF); } DeleteThisEntity(); diff --git a/src/object/object6A.c b/src/object/object6A.c index 13b93cce..1f956870 100644 --- a/src/object/object6A.c +++ b/src/object/object6A.c @@ -249,8 +249,8 @@ void sub_08094C88(Object6AEntity* this) { void sub_08094CDC(Object6AEntity* this) { Entity* e = CreateObject(0x6a, 3, 0x62); if (e != NULL) { - e->x.HALF.HI = gRoomControls.roomOriginX + 224; - e->y.HALF.HI = gRoomControls.roomOriginY + 600; + e->x.HALF.HI = gRoomControls.origin_x + 224; + e->y.HALF.HI = gRoomControls.origin_y + 600; SoundReq(324); } } @@ -265,8 +265,8 @@ void sub_08094D10(Object6AEntity* this) { void sub_08094D34(Object6AEntity* this) { Entity* e = CreateObject(0x6a, 0x15, 0xd); if (e != NULL) { - e->x.HALF.HI = gRoomControls.roomOriginX + 256; - e->y.HALF.HI = gRoomControls.roomOriginY + 600; + e->x.HALF.HI = gRoomControls.origin_x + 256; + e->y.HALF.HI = gRoomControls.origin_y + 600; SoundReq(324); } } @@ -298,8 +298,8 @@ void sub_08094D94(Object6AEntity* this) { void sub_08094DD8(Object6AEntity* this) { Entity* e = CreateObject(0x6a, 0x4, 0); if (e != NULL) { - e->x.HALF.HI = gRoomControls.roomOriginX + 240; - e->y.HALF.HI = gRoomControls.roomOriginY + 600; + e->x.HALF.HI = gRoomControls.origin_x + 240; + e->y.HALF.HI = gRoomControls.origin_y + 600; SoundReq(324); } } @@ -313,11 +313,11 @@ void sub_08094E0C(Object6AEntity* this) { void sub_08094E30(Object6AEntity* this) { if (super->type2 == 0) { - if ((gScreenTransition.frameCount % 32) == 0) { + if ((gRoomTransition.frameCount % 32) == 0) { Entity* e = CreateObject(0x6A, 5, 1); if (e != NULL) { - e->x.HALF.HI = gRoomControls.roomScrollX + (s32)Random() % DISPLAY_WIDTH; - e->y.HALF.HI = gRoomControls.roomScrollY + (s32)Random() % DISPLAY_HEIGHT; + e->x.HALF.HI = gRoomControls.scroll_x + (s32)Random() % DISPLAY_WIDTH; + e->y.HALF.HI = gRoomControls.scroll_y + (s32)Random() % DISPLAY_HEIGHT; } } return; @@ -738,7 +738,7 @@ void sub_080956B4(Object6AEntity* this) { } } GetNextFrame(super); - if ((super->type2 + gScreenTransition.frameCount) % 16 == 0) + if ((super->type2 + gRoomTransition.frameCount) % 16 == 0) sub_080957B4(this); p = super->parent; if (p != NULL) { @@ -893,8 +893,8 @@ void sub_080959CC(Object6AEntity* this) { void sub_08095A1C(Object6AEntity* this, ScriptExecutionContext* ctx) { Entity* e = CreateObject(OBJECT_6A, 0x16, 0); if (e != NULL) { - e->x.HALF.HI = gRoomControls.roomOriginX + 232; - e->y.HALF.HI = gRoomControls.roomOriginY + 312; + e->x.HALF.HI = gRoomControls.origin_x + 232; + e->y.HALF.HI = gRoomControls.origin_y + 312; e->z.HALF.HI = -4; e->collisionLayer = 2; ((Object6AEntity*)e)->ctx = StartCutscene(e, (u16*)ctx->intVariable); diff --git a/src/object/objectA.c b/src/object/objectA.c index c302382e..37132e10 100644 --- a/src/object/objectA.c +++ b/src/object/objectA.c @@ -24,7 +24,7 @@ void ObjectA(Entity* this) { this->field_0x70.HALF.LO = uVar2; if (CheckFlags(this->field_0x86.HWORD) != 0) { SetTileType(*(u16*)&this->field_0x70.HALF.LO, COORD_TO_TILE(this), this->collisionLayer); - if ((gRoomControls.unk2 & 1) != 0) { + if ((gRoomControls.reload_flags & 1) != 0) { gUpdateVisibleTiles = 0; } DeleteThisEntity(); diff --git a/src/object/objectA2.c b/src/object/objectA2.c index f8f212f5..cc0e350a 100644 --- a/src/object/objectA2.c +++ b/src/object/objectA2.c @@ -42,7 +42,7 @@ void sub_0809F318(Entity* this) { void sub_0809F374(Entity* this) { LinearMoveUpdate(this); #ifndef EU - if (gSaveHeader->gameLanguage < 2) { + if (gSaveHeader->language < 2) { if (sub_080044EC(this, 0x2000) < 2) { this->z.WORD = 0; this->action = 2; diff --git a/src/object/objectB5.c b/src/object/objectB5.c index 5aae8152..a93011ed 100644 --- a/src/object/objectB5.c +++ b/src/object/objectB5.c @@ -8,7 +8,7 @@ void ObjectB5(Entity* this) { this->action = 1; } #ifndef EU - gRoomControls.cameraTarget = this; + gRoomControls.camera_target = this; #endif PositionRelative(&gPlayerEntity, this, 0, -0x280000); } diff --git a/src/object/octorokBossObject.c b/src/object/octorokBossObject.c index 9a50f902..a6e3a625 100644 --- a/src/object/octorokBossObject.c +++ b/src/object/octorokBossObject.c @@ -127,8 +127,8 @@ void OctorokBossObject_Init(Entity* this) { this->type2 = this->parent->field_0x7c.BYTES.byte0; this->actionDelay = 4; this->field_0xf = 0; - this->field_0x82.HWORD = (this->x.HALF.HI - (gRoomControls.roomOriginX)) & 0x1f0; - this->field_0x80.HWORD = (this->y.HALF.HI - ((u32)gRoomControls.roomOriginY)) & 0x1f0; + this->field_0x82.HWORD = (this->x.HALF.HI - (gRoomControls.origin_x)) & 0x1f0; + this->field_0x80.HWORD = (this->y.HALF.HI - ((u32)gRoomControls.origin_y)) & 0x1f0; *(int*)&this->cutsceneBeh = ((s32)(this->field_0x82.HWORD - 0x10) >> 4) + (this->field_0x80.HWORD >> 4) * 0x1f; sub_0809A6F8(this->field_0x82.HWORD, this->field_0x80.HWORD, *(int*)&this->cutsceneBeh, this->type2); @@ -304,7 +304,7 @@ NONMATCH("asm/non_matching/octorokBossObject/OctorokBossObject_Action1.inc", case 9: sub_08078B48(); if ((*(int*)&this->field_0x78)-- == 0) { - gRoomControls.cameraTarget = &gPlayerEntity; + gRoomControls.camera_target = &gPlayerEntity; DeleteThisEntity(); } break; diff --git a/src/object/treeHidingPortal.c b/src/object/treeHidingPortal.c index d88f1c8e..fa58b1c3 100644 --- a/src/object/treeHidingPortal.c +++ b/src/object/treeHidingPortal.c @@ -35,7 +35,7 @@ void sub_0809E86C(Entity* this) { if (sub_0800419C(this, &gPlayerEntity, 0x30, 0x30)) { if (CheckGlobalFlag(EZERO_1ST)) { - if (((gScreenTransition.frameCount & 3) == 0)) { + if (((gRoomTransition.frameCount & 3) == 0)) { CreateSparkle(this); } } diff --git a/src/object/warpPoint.c b/src/object/warpPoint.c index f95971e0..b8f38bcf 100644 --- a/src/object/warpPoint.c +++ b/src/object/warpPoint.c @@ -144,17 +144,17 @@ void sub_0808B5E8(Entity* this) { void sub_0808B684(Entity* this) { u32 tmp; if (!--this->field_0xf) { - gScreenTransition.transitioningOut = 1; - gScreenTransition.transitionType = TRANSITION_DEFAULT; - gScreenTransition.player_status.area_next = this->field_0x7c.BYTES.byte0; - gScreenTransition.player_status.room_next = this->field_0x7c.BYTES.byte1; - gScreenTransition.player_status.start_pos_x = ((this->cutsceneBeh.HWORD & 0x3f) << 4) + 8; - gScreenTransition.player_status.start_pos_y = ((this->cutsceneBeh.HWORD & 0xfc0) >> 2) + 8; - gScreenTransition.player_status.layer = 0; - gScreenTransition.player_status.start_anim = 4; - gScreenTransition.player_status.spawn_type = 0; + gRoomTransition.transitioningOut = 1; + gRoomTransition.type = TRANSITION_DEFAULT; + gRoomTransition.player_status.area_next = this->field_0x7c.BYTES.byte0; + gRoomTransition.player_status.room_next = this->field_0x7c.BYTES.byte1; + gRoomTransition.player_status.start_pos_x = ((this->cutsceneBeh.HWORD & 0x3f) << 4) + 8; + gRoomTransition.player_status.start_pos_y = ((this->cutsceneBeh.HWORD & 0xfc0) >> 2) + 8; + gRoomTransition.player_status.layer = 0; + gRoomTransition.player_status.start_anim = 4; + gRoomTransition.player_status.spawn_type = 0; if (this->type == 2) { - gScreenTransition.transitionType = TRANSITION_FADE_WHITE_SLOW; + gRoomTransition.type = TRANSITION_FADE_WHITE_SLOW; } return; } diff --git a/src/objectUtils.c b/src/objectUtils.c index 901d323e..646b62e5 100644 --- a/src/objectUtils.c +++ b/src/objectUtils.c @@ -132,8 +132,8 @@ void CreateDustAt(s32 xOff, s32 yOff, u32 layer) { ent = CreateObject(SPECIAL_FX, FX_DEATH, 0); if (ent != NULL) { - ent->x.HALF.HI = gRoomControls.roomOriginX + xOff; - ent->y.HALF.HI = gRoomControls.roomOriginY + yOff; + ent->x.HALF.HI = gRoomControls.origin_x + xOff; + ent->y.HALF.HI = gRoomControls.origin_y + yOff; ent->collisionLayer = layer; } } diff --git a/src/player.c b/src/player.c index ff9826fb..5bb8ed04 100644 --- a/src/player.c +++ b/src/player.c @@ -320,7 +320,7 @@ extern u16 script_BedAtSimons; extern Entity* gPlayerClones[]; extern ScriptExecutionContext gPlayerScriptExecutionContext; -NONMATCH("asm/non_matching/playerItemPacciCane/sub_080705AC.inc", u32 sub_080705AC(void)) { +NONMATCH("asm/non_matching/playerItemPacciCane/sub_080705AC.inc", u32 CheckPlayerActivity(void)) { if (!((gInput.newKeys & START_BUTTON) == 0 || gFadeControl.active || gUnk_02034490[0] || (gMessage.doTextBox & 0x7F) || gSave.stats.health == 0 || !gSave.fillerD0[34] || gPlayerState.controlMode != 0 || gPriorityHandler.priority_timer != 0)) { @@ -596,7 +596,7 @@ static void PlayerNormal(Entity* this) { } else { if (gPlayerState.item == NULL) UpdateAnimationSingleFrame(this); - if (gPlayerState.swim_state != 0 && (gScreenTransition.frameCount & 7) == 0) + if (gPlayerState.swim_state != 0 && (gRoomTransition.frameCount & 7) == 0) CreateWaterTrace(this); return; } @@ -1140,7 +1140,7 @@ static void PortalStandUpdate(Entity* this) { } static void PortalActivateInit(Entity* this) { - gRoomControls.cameraTarget = NULL; + gRoomControls.camera_target = NULL; gUnk_02034490[0] = 1; this->subAction = 3; this->field_0xf = 0x1e; @@ -1533,7 +1533,7 @@ static void sub_08071D04(Entity* this) { return; } - gScreenTransition.field_0x4[1] = 1; + gRoomTransition.field_0x4[1] = 1; } static void sub_08071D80(Entity* this) { @@ -1942,7 +1942,7 @@ static void sub_080724DC(Entity* this) { if ((gPlayerState.field_0x82[7] == 0) && (gPlayerState.swim_state != 0)) { sub_0807AE20(this); } - if (gRoomControls.unk2 == 0) { + if (gRoomControls.reload_flags == 0) { this->updatePriority = this->updatePriorityPrev; PlayerWaitForScroll(this); } else if (gPlayerState.field_0x1c == 0) { @@ -1963,7 +1963,7 @@ static void sub_080724DC(Entity* this) { } static void sub_0807258C(Entity* this) { - if (gRoomControls.unk2 == 0) { + if (gRoomControls.reload_flags == 0) { if (sub_0807A894(this) == 0x29) { UpdatePlayerMovement(); if (sub_080797C4() != 0) { @@ -2580,7 +2580,7 @@ static void sub_080731D8(Entity* this) { } else { gPlayerState.animation = 260; } - gRoomControls.cameraTarget = NULL; + gRoomControls.camera_target = NULL; DeleteClones(); ResetPlayer(); } @@ -2625,10 +2625,10 @@ static void sub_0807332C(Entity* this) { return; } if (gPlayerState.field_0x38 != 0) { - gRoomControls.cameraTarget = this; + gRoomControls.camera_target = this; SetPlayerActionNormal(); } else { - gMain.transition = 3; + gMain.substate = 3; *(&gMain.pauseInterval + 1) = 1; DoFade(5, 8); } @@ -2653,7 +2653,7 @@ static void sub_080733BC(Entity* this) { } LinearMoveUpdate(this); if (this->field_0x7c.HALF_U.HI == this->y.HALF.HI) { - gRoomControls.cameraTarget = this; + gRoomControls.camera_target = this; sub_0807921C(); } } @@ -2856,7 +2856,7 @@ static void sub_0807380C(Entity* this) { 0x0714, }; - if ((gScreenTransition.frameCount & 3) == 0) { + if ((gRoomTransition.frameCount & 3) == 0) { u32 tmp = (this->animationState + 2) & 6; this->animationState = tmp; this->direction = 4 * tmp; @@ -2882,7 +2882,7 @@ void sub_08073884(Entity* this) { 0x0714, }; - if ((gScreenTransition.frameCount & 1) == 0) { + if ((gRoomTransition.frameCount & 1) == 0) { u32 tmp = (this->animationState + 2) & 6; this->animationState = tmp; this->direction = 4 * tmp; @@ -3081,10 +3081,10 @@ static void sub_08073C80(Entity* this) { this->knockbackDuration = 0; this->subAction = 1; LoadSwapGFX(this, 1, 2); - gRoomControls.cameraTarget = this; + gRoomControls.camera_target = this; sub_080809D4(); - if (gScreenTransition.player_status.spawn_type == PL_SPAWN_9) { - gScreenTransition.player_status.spawn_type = PL_SPAWN_DEFAULT; + if (gRoomTransition.player_status.spawn_type == PL_SPAWN_9) { + gRoomTransition.player_status.spawn_type = PL_SPAWN_DEFAULT; this->spriteSettings.draw = 0; this->subAction = 2; } else { @@ -3259,27 +3259,27 @@ static NONMATCH("asm/non_matching/player/sub_080740D8.inc", void sub_080740D8(En switch (v4) { case 24: v5 = this->hitbox; - v2 = this->x.HALF.HI - v5->unk2[0] + v5->offset_x - gRoomControls.roomOriginX; + v2 = this->x.HALF.HI - v5->unk2[0] + v5->offset_x - gRoomControls.origin_x; v6 = this->y.HALF.HI; - v1 = v6 + v5->offset_y - gRoomControls.roomOriginY; + v1 = v6 + v5->offset_y - gRoomControls.origin_y; break; case 8: v5 = this->hitbox; - v2 = this->x.HALF.HI + v5->unk2[0] + v5->offset_x - gRoomControls.roomOriginX; + v2 = this->x.HALF.HI + v5->unk2[0] + v5->offset_x - gRoomControls.origin_x; v6 = this->y.HALF.HI; - v1 = v6 + v5->offset_y - gRoomControls.roomOriginY; + v1 = v6 + v5->offset_y - gRoomControls.origin_y; break; case 16: v5 = this->hitbox; - v2 = this->x.HALF.HI + v5->offset_x - gRoomControls.roomOriginX; + v2 = this->x.HALF.HI + v5->offset_x - gRoomControls.origin_x; v6 = this->y.HALF.HI + v5->unk2[3]; - v1 = v6 + v5->offset_y - gRoomControls.roomOriginY; + v1 = v6 + v5->offset_y - gRoomControls.origin_y; break; case 0: v5 = this->hitbox; - v2 = this->x.HALF.HI + v5->unk2[0] + v5->offset_x - gRoomControls.roomOriginX; + v2 = this->x.HALF.HI + v5->unk2[0] + v5->offset_x - gRoomControls.origin_x; v6 = this->y.HALF.HI; - v1 = v6 + v5->offset_y - gRoomControls.roomOriginY; + v1 = v6 + v5->offset_y - gRoomControls.origin_y; break; default: break; diff --git a/src/playerItem/playerItem10.c b/src/playerItem/playerItem10.c index b0a495bb..c4debda4 100644 --- a/src/playerItem/playerItem10.c +++ b/src/playerItem/playerItem10.c @@ -87,7 +87,7 @@ void sub_080ACC04(Entity* this) { this->flags2 = gPlayerEntity.flags2; this->direction = this->animationState << 2; this->speed = 0x200; - this->flags |= ENT_COLLIDE | ENT_20; + this->flags |= ENT_COLLIDE | ENT_PERSIST; this->field_0x3c = 2; this->hitbox = (Hitbox*)gUnk_0812AAD8[this->type]; this->field_0x70.WORD = 0x10; @@ -109,7 +109,7 @@ void sub_080ACC78(Entity* this) { s32 offset; const s8* puVar8; - if ((this->type + gScreenTransition.frameCount) & 1) { + if ((this->type + gRoomTransition.frameCount) & 1) { puVar8 = gUnk_0812AAAC[this->type]; if (puVar8[*(u32*)&this->field_0x74] == 0) { *(u32*)&this->field_0x74 = 0; diff --git a/src/playerItem/playerItemPacciCane.c b/src/playerItem/playerItemPacciCane.c index 580d65a5..c009e4b9 100644 --- a/src/playerItem/playerItemPacciCane.c +++ b/src/playerItem/playerItemPacciCane.c @@ -25,6 +25,6 @@ void sub_080704D4(Entity* this) { ASM_FUNC("asm/non_matching/playerItemPacciCane/sub_080704FC.inc", void sub_080704FC(Entity* this)) -void sub_0807059C() { +void ClearMenuSavestate() { MemClear(gUnk_02034490, sizeof(gUnk_02034490)); } diff --git a/src/projectile/gleerokProjectile.c b/src/projectile/gleerokProjectile.c index 7de99ca5..959d3957 100644 --- a/src/projectile/gleerokProjectile.c +++ b/src/projectile/gleerokProjectile.c @@ -49,7 +49,7 @@ void GleerokProjectile_Init(Entity* this) { iVar2 = sub_080041DC(this, gPlayerEntity.x.HALF.HI, gPlayerEntity.y.HALF.HI); if (this->type == 1) { uVar1 = Random() & 0x1ff; - if ((gScreenTransition.frameCount & 1U) == 0) { + if ((gRoomTransition.frameCount & 1U) == 0) { iVar2 += uVar1; } else { iVar2 -= uVar1; diff --git a/src/projectile/v1FireProjectile.c b/src/projectile/v1FireProjectile.c index 013369fd..68cad995 100644 --- a/src/projectile/v1FireProjectile.c +++ b/src/projectile/v1FireProjectile.c @@ -53,7 +53,7 @@ void V1FireProjectile_Init(Entity* this) { y = this->y.HALF.HI + data[1]; iVar2 = sub_080041DC(this, x, y); rnd = Random() & 0x1ff; - if ((gScreenTransition.frameCount & 1U) != 0) { + if ((gRoomTransition.frameCount & 1U) != 0) { iVar2 += rnd; if (0x400 < iVar2) { diff --git a/src/projectileUtils.c b/src/projectileUtils.c index 7e4ee3ef..414f7dc7 100644 --- a/src/projectileUtils.c +++ b/src/projectileUtils.c @@ -66,8 +66,8 @@ bool32 LoadProjectileSprite(Entity* this, const ProjectileDefinition* definition } bool32 IsProjectileOffScreen(Entity* this) { - if (((u32)this->x.HALF.HI - gRoomControls.roomOriginX > gRoomControls.width) || - ((u32)this->y.HALF.HI - gRoomControls.roomOriginY > gRoomControls.height)) { + if (((u32)this->x.HALF.HI - gRoomControls.origin_x > gRoomControls.width) || + ((u32)this->y.HALF.HI - gRoomControls.origin_y > gRoomControls.height)) { return TRUE; } else { return FALSE; diff --git a/src/room.c b/src/room.c index 660fcacd..2f1bb48d 100644 --- a/src/room.c +++ b/src/room.c @@ -116,17 +116,17 @@ void RegisterRoomEntity(Entity* ent, EntityData* dat) { void sub_0804AF0C(Entity* ent, EntityData* dat) { switch (dat->flags & 0xf0) { case 0x0: - ent->x.HALF.HI = dat->xPos + gRoomControls.roomOriginX; - ent->y.HALF.HI = dat->yPos + gRoomControls.roomOriginY; + ent->x.HALF.HI = dat->xPos + gRoomControls.origin_x; + ent->y.HALF.HI = dat->yPos + gRoomControls.origin_y; break; case 0x20: ent->field_0x6c.HALF.HI |= 0x20; - ent->x.HALF.HI = dat->xPos + gRoomControls.roomOriginX; - ent->y.HALF.HI = dat->yPos + gRoomControls.roomOriginY; + ent->x.HALF.HI = dat->xPos + gRoomControls.origin_x; + ent->y.HALF.HI = dat->yPos + gRoomControls.origin_y; break; case 0x40: - ent->x.HALF.HI = dat->xPos + gRoomControls.roomOriginX; - ent->y.HALF.HI = dat->yPos + gRoomControls.roomOriginY; + ent->x.HALF.HI = dat->xPos + gRoomControls.origin_x; + ent->y.HALF.HI = dat->yPos + gRoomControls.origin_y; if (!StartCutscene(ent, (u16*)dat->spritePtr)) DeleteEntity(ent); break; @@ -147,7 +147,7 @@ void sub_0804AFB0(void** properties) { } } -u32 sub_0804AFDC() { +u32 CallRoomProp6() { u32 result; u32 (*func)(); @@ -158,7 +158,7 @@ u32 sub_0804AFDC() { return result; } -void sub_0804AFF4(void) { +void CallRoomProp5And7(void) { void (*func)(); sub_080186EC(); diff --git a/src/roomInit.c b/src/roomInit.c index 3872b39e..b2c65101 100644 --- a/src/roomInit.c +++ b/src/roomInit.c @@ -217,7 +217,7 @@ void sub_StateChange_MinishPaths1_MayorsCabin(void) { sub_080575C8(0x20); - if (gPlayerEntity.y.HALF.HI - gRoomControls.roomOriginY > 0x40) + if (gPlayerEntity.y.HALF.HI - gRoomControls.origin_y > 0x40) LoadRoomEntityList(&Entities_MinishPaths1_MayorsCabin_gUnk_080D6138); } @@ -233,7 +233,7 @@ extern EntityData Entities_HouseInteriors1_Mayor_080D6210; void sub_StateChange_HouseInteriors1_Mayor(void) { - if ((u16)gScreenTransition.player_status.start_pos_y > 0x40) + if ((u16)gRoomTransition.player_status.start_pos_y > 0x40) LoadRoomEntityList(&Entities_HouseInteriors1_Mayor_080D6210); } @@ -390,8 +390,8 @@ void sub_StateChange_HouseInteriors1_InnWestRoom(void) { if (CheckLocalFlag(YADO_CHECKIN)) { ClearLocalFlag(YADO_CHECKIN); DoFade(5, 256); - gPlayerEntity.x.HALF.HI = gRoomControls.roomOriginX + 0x50; - gPlayerEntity.y.HALF.HI = gRoomControls.roomOriginY + 0x38; + gPlayerEntity.x.HALF.HI = gRoomControls.origin_x + 0x50; + gPlayerEntity.y.HALF.HI = gRoomControls.origin_y + 0x38; sub_080751E8(1, 2, &script_PlayerSleepingInn); } } @@ -416,8 +416,8 @@ void sub_StateChange_HouseInteriors1_InnMiddleRoom(void) { if (CheckLocalFlag(YADO_CHECKIN) != 0) { ClearLocalFlag(YADO_CHECKIN); DoFade(5, 256); - gPlayerEntity.x.HALF.HI = gRoomControls.roomOriginX + 0x50; - gPlayerEntity.y.HALF.HI = gRoomControls.roomOriginY + 0x38; + gPlayerEntity.x.HALF.HI = gRoomControls.origin_x + 0x50; + gPlayerEntity.y.HALF.HI = gRoomControls.origin_y + 0x38; sub_080751E8(1, 2, &script_PlayerSleepingInn); } } @@ -442,8 +442,8 @@ void sub_StateChange_HouseInteriors1_InnEastRoom(void) { if (CheckLocalFlag(YADO_CHECKIN)) { ClearLocalFlag(YADO_CHECKIN); DoFade(5, 256); - gPlayerEntity.x.HALF.HI = gRoomControls.roomOriginX + 0x60; - gPlayerEntity.y.HALF.HI = gRoomControls.roomOriginY + 0x38; + gPlayerEntity.x.HALF.HI = gRoomControls.origin_x + 0x60; + gPlayerEntity.y.HALF.HI = gRoomControls.origin_y + 0x38; sub_080751E8(1, 2, &script_PlayerSleepingInn); } } @@ -653,7 +653,7 @@ void sub_StateChange_HyruleCastle_3(void) { u32 sub_unk3_HyruleCastle_4(void) { if (!CheckLocalFlag(CASTLE_04_MEZAME)) { - gScreenTransition.player_status.spawn_type = PL_SPAWN_SPECIAL; + gRoomTransition.player_status.spawn_type = PL_SPAWN_SPECIAL; ClearGlobalFlag(ZELDA_CHASE); } return 1; @@ -664,8 +664,8 @@ extern u32 script_PlayerWakingUpInHyruleCastle; void sub_StateChange_HyruleCastle_4(void) { if (!CheckLocalFlag(CASTLE_04_MEZAME)) { DoFade(5, 256); - gPlayerEntity.x.HALF.HI = gRoomControls.roomOriginX + 0xb0; - gPlayerEntity.y.HALF.HI = gRoomControls.roomOriginY + 0x40; + gPlayerEntity.x.HALF.HI = gRoomControls.origin_x + 0xb0; + gPlayerEntity.y.HALF.HI = gRoomControls.origin_y + 0x40; sub_080751E8(0, 6, &script_PlayerWakingUpInHyruleCastle); #ifdef EU SoundReq(0x80010000); @@ -697,7 +697,7 @@ void sub_StateChange_HyruleCastle_4(void) { extern ScreenTransitionData gUnk_0813AB80; void sub_0804BCDC() { - sub_0808091C(&gUnk_0813AB80, 4); + sub_0808091C(&gUnk_0813AB80, TRANSITION_FADE_BLACK_SLOW); } u32 sub_unk3_HyruleCastle_5() { @@ -991,13 +991,13 @@ void sub_0804BF38(u32 arg0, struct_0804BF38* arg1) for (xOff = 0; entCnt < numEnts; xOff += 0x10, entCnt++) { fx = CreateObject(SPECIAL_FX, 0xf, 0); if (fx != NULL) { - fx->x.HALF.HI = gUnk_080D8E50[iVar3].x + gRoomControls.roomOriginX + xOff; - fx->y.HALF.HI = gUnk_080D8E50[iVar3].y + gRoomControls.roomOriginY + (entCnt & 1) * 8; + fx->x.HALF.HI = gUnk_080D8E50[iVar3].x + gRoomControls.origin_x + xOff; + fx->y.HALF.HI = gUnk_080D8E50[iVar3].y + gRoomControls.origin_y + (entCnt & 1) * 8; } fx = CreateObject(SPECIAL_FX, 0x54, 0); if (fx != NULL) { - fx->x.HALF.HI = gUnk_080D8E50[iVar3].x + gRoomControls.roomOriginX + xOff; - fx->y.HALF.HI = gUnk_080D8E50[iVar3].y + gRoomControls.roomOriginY + -0xc + (entCnt & 1) * 8; + fx->x.HALF.HI = gUnk_080D8E50[iVar3].x + gRoomControls.origin_x + xOff; + fx->y.HALF.HI = gUnk_080D8E50[iVar3].y + gRoomControls.origin_y + -0xc + (entCnt & 1) * 8; fx->direction = 0; fx->speed = 0x100; } @@ -1049,7 +1049,7 @@ void sub_StateChange_RoyalValley_Main(void) { SetTile(0x4072, 0xc47, 1); if (CheckGlobalFlag(MAZE_CLEAR)) - if (gScreenTransition.player_status.start_pos_x == 0x78 && gScreenTransition.player_status.start_pos_y == 0x278) + if (gRoomTransition.player_status.start_pos_x == 0x78 && gRoomTransition.player_status.start_pos_y == 0x278) SoundReq(SFX_SECRET); ClearGlobalFlag(MAZE_CLEAR); @@ -2066,7 +2066,7 @@ u32 sub_unk3_DeepwoodShrine_Madderpillar() { extern EntityData gUnk_080DE4C8; void sub_StateChange_DeepwoodShrine_Madderpillar(void) { - if ((gPlayerEntity.y.HALF.HI - gRoomControls.roomOriginY) < (gRoomControls.height >> 1)) { + if ((gPlayerEntity.y.HALF.HI - gRoomControls.origin_y) < (gRoomControls.height >> 1)) { if (!CheckLocalFlag(0x17)) { LoadRoomEntityList(&gUnk_080DE4C8); } @@ -2282,7 +2282,7 @@ u32 sub_unk3_DeepwoodShrine_InsideBarrel() { void sub_StateChange_DeepwoodShrine_InsideBarrel(void) { sub_08058D34(); gArea.areaMetadata |= 0x40; - gMain.transition = 5; + gMain.substate = 5; } u32 sub_unk3_DeepwoodShrineEntry_Main() { @@ -2478,8 +2478,8 @@ u32 sub_unk3_FortressOfWinds_BeforeMazaal() { } void sub_StateChange_FortressOfWinds_BeforeMazaal(void) { - gScreenTransition.field_0x38 = 0; - gScreenTransition.field_0x39 = 0x5a; + gRoomTransition.field_0x38 = 0; + gRoomTransition.field_0x39 = 0x5a; } u32 sub_unk3_FortressOfWinds_EastKeyLever() { @@ -2554,10 +2554,10 @@ u32 sub_unk3_FortressOfWinds_Mazaal() { void sub_StateChange_FortressOfWinds_Mazaal(void) { if (!CheckFlags(0x31)) { - if (gScreenTransition.field_0x38 == 0) { + if (gRoomTransition.field_0x38 == 0) { SoundReq(SONG_STOP_BGM); } else { - if (gScreenTransition.field_0x39 == 0) { + if (gRoomTransition.field_0x39 == 0) { SoundReq(SONG_STOP); SetPlayerControl(3); } @@ -3532,16 +3532,16 @@ u32 sub_unk3_Vaati3_Main() { void sub_StateChange_Vaati3_Main(void) { Manager2F_Main(NULL); - if ((gScreenTransition.field_0x38 & 1) && gScreenTransition.field_0x39) { - if (gScreenTransition.field_0x3c == 1) { - gPlayerEntity.x.HALF.HI = gScreenTransition.field_0x48; - gPlayerEntity.y.HALF.HI = gScreenTransition.field_0x4a + 8; + if ((gRoomTransition.field_0x38 & 1) && gRoomTransition.field_0x39) { + if (gRoomTransition.field_0x3c == 1) { + gPlayerEntity.x.HALF.HI = gRoomTransition.field_0x48; + gPlayerEntity.y.HALF.HI = gRoomTransition.field_0x4a + 8; } else { - if (gScreenTransition.field_0x3c) { + if (gRoomTransition.field_0x3c) { return; } - gPlayerEntity.x.HALF.HI = gScreenTransition.field_0x44; - gPlayerEntity.y.HALF.HI = gScreenTransition.field_0x46 + 8; + gPlayerEntity.x.HALF.HI = gRoomTransition.field_0x44; + gPlayerEntity.y.HALF.HI = gRoomTransition.field_0x46 + 8; } } } @@ -4604,7 +4604,7 @@ void sub_StateChange_HouseInteriors2_DrLeft(void) { if (!GetInventoryValue(ITEM_QST_BOOK2) && CheckGlobalFlag(MIZUKAKI_HARIFALL)) { LoadRoomEntityList(&gUnk_080F2194); } - if (gScreenTransition.player_status.spawn_type == PL_SPAWN_MINISH) { + if (gRoomTransition.player_status.spawn_type == PL_SPAWN_MINISH) { LoadRoomEntityList(&gUnk_080F21B4); } } @@ -4821,8 +4821,8 @@ void sub_StateChange_HouseInteriors2_LinksHouseBedroom(void) { extern u32 script_PlayerWakeAfterRest; void sub_0804E864(void) { - gPlayerEntity.x.HALF.HI = gRoomControls.roomOriginX + 0x90; - gPlayerEntity.y.HALF.HI = gRoomControls.roomOriginY + 0x38; + gPlayerEntity.x.HALF.HI = gRoomControls.origin_x + 0x90; + gPlayerEntity.y.HALF.HI = gRoomControls.origin_y + 0x38; sub_080751E8(1, 6, &script_PlayerWakeAfterRest); ModHealth(0xa0); } @@ -4895,8 +4895,8 @@ void sub_StateChange_HouseInteriors4_Mayor(void) { if (!GetInventoryValue(ITEM_FLIPPERS) && CheckGlobalFlag(MIZUKAKI_START) && !GetInventoryValue(ITEM_QST_BOOK3)) { LoadRoomEntityList(&gUnk_080F3A48); } - gScreenTransition.player_status.overworld_map_x = 0xf28; - gScreenTransition.player_status.overworld_map_y = 0x82d; + gRoomTransition.player_status.overworld_map_x = 0xf28; + gRoomTransition.player_status.overworld_map_y = 0x82d; } extern u32 Enemies_LakeHylia_Main; @@ -5304,7 +5304,7 @@ void sub_StateChange_HouseInteriors3_Bakery() { u32 sub_unk3_HouseInteriors3_Simon(void) { if (CheckGlobalFlag(MAROYA_WAKEUP)) { - gScreenTransition.player_status.spawn_type = 5; + gRoomTransition.player_status.spawn_type = 5; } return 1; } @@ -5747,8 +5747,8 @@ void sub_0804F680(Entity* parent, s32 x, s32 y) { fx = CreateFx(parent, FX_DEATH, 0); if (fx != NULL) { - fx->x.HALF.HI = gRoomControls.roomOriginX + x; - fx->y.HALF.HI = gRoomControls.roomOriginY + y; + fx->x.HALF.HI = gRoomControls.origin_x + x; + fx->y.HALF.HI = gRoomControls.origin_y + y; } } @@ -5789,14 +5789,14 @@ void sub_0804F79C(Entity* parent) { fx = CreateFx(parent, FX_BIG_EXPLOSION, 0); if (fx != NULL) { fx->spriteRendering.b3 = 0; - fx->x.HALF.HI = gRoomControls.roomOriginX + 0x1b8; - fx->y.HALF.HI = gRoomControls.roomOriginY + 0x148; + fx->x.HALF.HI = gRoomControls.origin_x + 0x1b8; + fx->y.HALF.HI = gRoomControls.origin_y + 0x148; } fx = CreateFx(parent, FX_BIG_EXPLOSION, 0); if (fx != NULL) { fx->spriteRendering.b3 = 0; - fx->x.HALF.HI = gRoomControls.roomOriginX + 0x238; - fx->y.HALF.HI = gRoomControls.roomOriginY + 0x148; + fx->x.HALF.HI = gRoomControls.origin_x + 0x238; + fx->y.HALF.HI = gRoomControls.origin_y + 0x148; } } diff --git a/src/save.c b/src/save.c index aa401f10..12676418 100644 --- a/src/save.c +++ b/src/save.c @@ -191,7 +191,7 @@ u32 WriteSaveFile(u32 index, SaveFile* saveFile) { #endif } -u32 Write_02000000(struct_02000000* arg0) { +u32 Write_02000000(SaveHeader* arg0) { #if defined(DEMO_USA) || defined(DEMO_JP) return 1; #else @@ -215,7 +215,7 @@ s32 ReadSaveFile(u32 index, SaveFile* saveFile) { #endif } -u32 Read_02000000(struct_02000000* arg0) { +u32 Read_02000000(SaveHeader* arg0) { #if defined(DEMO_USA) || defined(DEMO_JP) return 0; #else diff --git a/src/script.c b/src/script.c index 5aed7fc3..bf34340f 100644 --- a/src/script.c +++ b/src/script.c @@ -374,14 +374,14 @@ void HandleEntity0x82Actions(Entity* entity) { } break; case 1 << 3: - if (gScreenTransition.frameCount % 4 == 0) { + if (gRoomTransition.frameCount % 4 == 0) { temp = (entity->field_0xf + 2) & 7; entity->animationState = temp; entity->field_0xf = temp; } break; case 1 << 4: - if (gScreenTransition.frameCount % 2 == 0) { + if (gRoomTransition.frameCount % 2 == 0) { static const s8 sOffsets[] = { -1, -2, 0, 1 }; entity->spriteOffsetX = sOffsets[Random() % 4]; } @@ -785,8 +785,8 @@ void ScriptCommand_CheckPlayerInRegion2(Entity* entity, ScriptExecutionContext* u32 x, y, width, height; width = context->scriptInstructionPointer[1] & 0xFF; height = context->scriptInstructionPointer[1] >> 8; - x = entity->x.HALF.HI - gRoomControls.roomOriginX; - y = entity->y.HALF.HI - gRoomControls.roomOriginY; + x = entity->x.HALF.HI - gRoomControls.origin_x; + y = entity->y.HALF.HI - gRoomControls.origin_y; context->condition = CheckPlayerInRegion(x, y, width, height); gActiveScriptInfo.flags |= 1; } @@ -1037,11 +1037,11 @@ void ScriptCommand_0807E80C(Entity* entity, ScriptExecutionContext* context) { } void sub_0807E818(u32 fadeType) { - Entity* cameraTarget = gRoomControls.cameraTarget; + Entity* cameraTarget = gRoomControls.camera_target; u32 x, y; if (cameraTarget) { - x = cameraTarget->x.HALF.HI - gRoomControls.roomScrollX; - y = cameraTarget->y.HALF.HI - gRoomControls.roomScrollY; + x = cameraTarget->x.HALF.HI - gRoomControls.scroll_x; + y = cameraTarget->y.HALF.HI - gRoomControls.scroll_y; } else { x = 0x78; y = 0x50; @@ -1237,8 +1237,8 @@ void ScriptCommand_SetAnimationState(Entity* entity, ScriptExecutionContext* con void ScriptCommand_0807EB4C(Entity* entity, ScriptExecutionContext* context) { entity->animationState = - sub_0806F5B0(sub_080045B4(entity, context->scriptInstructionPointer[1] + gRoomControls.roomOriginX, - context->scriptInstructionPointer[2] + gRoomControls.roomOriginY)); + sub_0806F5B0(sub_080045B4(entity, context->scriptInstructionPointer[1] + gRoomControls.origin_x, + context->scriptInstructionPointer[2] + gRoomControls.origin_y)); } void ScriptCommand_FacePlayer(Entity* entity, ScriptExecutionContext* context) { @@ -1267,8 +1267,8 @@ void ScriptCommand_SetEntityVelocity(Entity* entity, ScriptExecutionContext* con } void ScriptCommand_SetEntityPositionRelative(Entity* entity, ScriptExecutionContext* context) { - entity->x.HALF.HI = gRoomControls.roomOriginX + context->scriptInstructionPointer[1]; - entity->y.HALF.HI = gRoomControls.roomOriginY + context->scriptInstructionPointer[2]; + entity->x.HALF.HI = gRoomControls.origin_x + context->scriptInstructionPointer[1]; + entity->y.HALF.HI = gRoomControls.origin_y + context->scriptInstructionPointer[2]; } void ScriptCommand_OffsetEntityPosition(Entity* entity, ScriptExecutionContext* context) { @@ -1349,19 +1349,19 @@ void ScriptCommand_0807ED24(Entity* entity, ScriptExecutionContext* context) { context->unk_18 = 1; context->unk_12 = context->scriptInstructionPointer[3]; tmp = context->scriptInstructionPointer[1]; - tmp2 = entity->x.HALF.HI - gRoomControls.roomOriginX; + tmp2 = entity->x.HALF.HI - gRoomControls.origin_x; context->x.WORD = ((tmp - tmp2) << 0x10) / context->unk_12; tmp = context->scriptInstructionPointer[2]; - tmp3 = entity->y.HALF.HI - gRoomControls.roomOriginY; + tmp3 = entity->y.HALF.HI - gRoomControls.origin_y; context->y.WORD = ((tmp - tmp3) << 0x10) / context->unk_12; entity->animationState = - sub_0806F5B0(sub_080045B4(entity, context->scriptInstructionPointer[1] + gRoomControls.roomOriginX, - context->scriptInstructionPointer[2] + gRoomControls.roomOriginY)); + sub_0806F5B0(sub_080045B4(entity, context->scriptInstructionPointer[1] + gRoomControls.origin_x, + context->scriptInstructionPointer[2] + gRoomControls.origin_y)); context->postScriptActions |= 2; } else { if (!--context->unk_12) { - entity->x.HALF.HI = context->scriptInstructionPointer[1] + gRoomControls.roomOriginX; - entity->y.HALF.HI = context->scriptInstructionPointer[2] + gRoomControls.roomOriginY; + entity->x.HALF.HI = context->scriptInstructionPointer[1] + gRoomControls.origin_x; + entity->y.HALF.HI = context->scriptInstructionPointer[2] + gRoomControls.origin_y; return; } entity->x.WORD += context->x.WORD; @@ -1382,8 +1382,8 @@ void ScriptCommand_0807EDD4(Entity* entity, ScriptExecutionContext* context) { } void ScriptCommand_0807EE04(Entity* entity, ScriptExecutionContext* context) { - sub_0807DEDC(entity, context, context->scriptInstructionPointer[1] + gRoomControls.roomOriginX, - context->scriptInstructionPointer[2] + gRoomControls.roomOriginY); + sub_0807DEDC(entity, context, context->scriptInstructionPointer[1] + gRoomControls.origin_x, + context->scriptInstructionPointer[2] + gRoomControls.origin_y); gActiveScriptInfo.flags |= 1; } @@ -1511,11 +1511,11 @@ void ScriptCommand_0807F088(Entity* entity, ScriptExecutionContext* context) { } void ScriptCommand_CameraTargetEntity(Entity* entity, ScriptExecutionContext* context) { - gRoomControls.cameraTarget = entity; + gRoomControls.camera_target = entity; } void ScriptCommand_CameraTargetPlayer(Entity* entity, ScriptExecutionContext* context) { - gRoomControls.cameraTarget = &gPlayerEntity; + gRoomControls.camera_target = &gPlayerEntity; } void ScriptCommand_0807F0B4(Entity* entity, ScriptExecutionContext* context) { @@ -1739,9 +1739,9 @@ void sub_0807F464(Entity* entity, ScriptExecutionContext* context) { context->unk_18++; context->postScriptActions |= 2; s32Var = context->intVariable; - context->x.HALF.HI = gRoomControls.roomOriginX + s32Var; + context->x.HALF.HI = gRoomControls.origin_x + s32Var; context->y.HALF.HI = entity->y.HALF.HI; - if (s32Var > entity->x.HALF.HI - gRoomControls.roomOriginX) { + if (s32Var > entity->x.HALF.HI - gRoomControls.origin_x) { entity->direction = 64; entity->animationState = (entity->animationState & 0x80) | 2; } else { @@ -1764,8 +1764,8 @@ void sub_0807F4F8(Entity* entity, ScriptExecutionContext* context) { context->postScriptActions |= 2; s32Var = context->intVariable; context->x.HALF.HI = entity->x.HALF.HI; - context->y.HALF.HI = gRoomControls.roomOriginY + s32Var; - if (s32Var > entity->y.HALF.HI - gRoomControls.roomOriginY) { + context->y.HALF.HI = gRoomControls.origin_y + s32Var; + if (s32Var > entity->y.HALF.HI - gRoomControls.origin_y) { entity->direction = 128; entity->animationState = (entity->animationState & 0x80) | 4; } else { @@ -1797,20 +1797,20 @@ void WaitForCameraTouchRoomBorder(Entity* entity, ScriptExecutionContext* contex s32 left; s32 bottom; - if (gRoomControls.cameraTarget != NULL) { - left = gRoomControls.cameraTarget->x.HALF.HI - DISPLAY_WIDTH / 2; - bottom = gRoomControls.cameraTarget->y.HALF.HI - DISPLAY_HEIGHT / 2; + if (gRoomControls.camera_target != NULL) { + left = gRoomControls.camera_target->x.HALF.HI - DISPLAY_WIDTH / 2; + bottom = gRoomControls.camera_target->y.HALF.HI - DISPLAY_HEIGHT / 2; - if (left < gRoomControls.roomOriginX) - left = gRoomControls.roomOriginX; - if (left > gRoomControls.roomOriginX + gRoomControls.width - DISPLAY_WIDTH) - left = gRoomControls.roomOriginX + gRoomControls.width - DISPLAY_WIDTH; - if (bottom < gRoomControls.roomOriginY) - bottom = gRoomControls.roomOriginY; - if (bottom > gRoomControls.roomOriginY + gRoomControls.height - DISPLAY_HEIGHT) - bottom = gRoomControls.roomOriginY + gRoomControls.height - DISPLAY_HEIGHT; + if (left < gRoomControls.origin_x) + left = gRoomControls.origin_x; + if (left > gRoomControls.origin_x + gRoomControls.width - DISPLAY_WIDTH) + left = gRoomControls.origin_x + gRoomControls.width - DISPLAY_WIDTH; + if (bottom < gRoomControls.origin_y) + bottom = gRoomControls.origin_y; + if (bottom > gRoomControls.origin_y + gRoomControls.height - DISPLAY_HEIGHT) + bottom = gRoomControls.origin_y + gRoomControls.height - DISPLAY_HEIGHT; - if (left == gRoomControls.roomScrollX && bottom == gRoomControls.roomScrollY) + if (left == gRoomControls.scroll_x && bottom == gRoomControls.scroll_y) gActiveScriptInfo.flags |= 1u; else gActiveScriptInfo.commandSize = 0; @@ -1830,12 +1830,12 @@ void sub_0807F650(Entity* entity, ScriptExecutionContext* context) { } void sub_0807F680(Entity* entity, ScriptExecutionContext* context) { - context->condition = gPlayerEntity.x.HALF.HI - gRoomControls.roomOriginX > (s32)(context->intVariable & 0xffff); + context->condition = gPlayerEntity.x.HALF.HI - gRoomControls.origin_x > (s32)(context->intVariable & 0xffff); gActiveScriptInfo.flags |= 1; } void sub_0807F6B4(Entity* entity, ScriptExecutionContext* context) { - context->condition = gPlayerEntity.y.HALF.HI - gRoomControls.roomOriginY > (s32)(context->intVariable & 0xffff); + context->condition = gPlayerEntity.y.HALF.HI - gRoomControls.origin_y > (s32)(context->intVariable & 0xffff); gActiveScriptInfo.flags |= 1; } @@ -1863,8 +1863,8 @@ void sub_0807F738(Entity* entity, ScriptExecutionContext* context) { void SetPlayerPos(Entity* entity, ScriptExecutionContext* context) { s32 s32Var = context->intVariable; - gPlayerEntity.x.HALF.HI = (s32Var >> 16) + gRoomControls.roomOriginX; - gPlayerEntity.y.HALF.HI = (s32Var & 0xffff) + gRoomControls.roomOriginY; + gPlayerEntity.x.HALF.HI = (s32Var >> 16) + gRoomControls.origin_x; + gPlayerEntity.y.HALF.HI = (s32Var & 0xffff) + gRoomControls.origin_y; } void GetConditionSet(Entity* entity, ScriptExecutionContext* context) { @@ -1917,7 +1917,7 @@ void sub_0807F83C(Entity* entity, ScriptExecutionContext* context) { } void sub_0807F844(Entity* entity, ScriptExecutionContext* context) { - gRoomControls.cameraTarget = entity; + gRoomControls.camera_target = entity; sub_080809D4(); } @@ -2100,12 +2100,12 @@ void sub_0807FB74(Entity* entity, ScriptExecutionContext* context) { } void sub_0807FB94(Entity* entity, ScriptExecutionContext* context) { - InitScreen(SCREEN_CREDITS); + SetTask(TASK_STAFFROLL); } void sub_0807FBA0(Entity* entity, ScriptExecutionContext* context) { - entity->x.HALF.HI = gRoomControls.roomScrollX + 120; - entity->y.HALF.HI = gRoomControls.roomScrollY + 80; + entity->x.HALF.HI = gRoomControls.scroll_x + 120; + entity->y.HALF.HI = gRoomControls.scroll_y + 80; } void sub_0807FBB4(Entity* entity, ScriptExecutionContext* context) { @@ -2139,9 +2139,9 @@ void sub_0807FBFC(Entity* entity, ScriptExecutionContext* context) { #if defined(USA) || defined(DEMO_USA) || defined(DEMO_JP) void sub_0807FC24(Entity* entity, ScriptExecutionContext* context) { #if defined(DEMO_JP) - u32 idx = gRoomControls.roomID == 1 ? 0xcf : 0xd0; + u32 idx = gRoomControls.room == 1 ? 0xcf : 0xd0; #else - u32 idx = gRoomControls.roomID == 1 ? 0xcf : 0xd1; + u32 idx = gRoomControls.room == 1 ? 0xcf : 0xd1; #endif SetLocalFlag(idx); } diff --git a/src/scroll.c b/src/scroll.c index 89057623..b3a1649a 100644 --- a/src/scroll.c +++ b/src/scroll.c @@ -11,35 +11,35 @@ extern u32 gUnk_02025EB0; extern u8 gUpdateVisibleTiles; void sub_080808D8(void) { - gScreenTransition.transitionType = TRANSITION_DEFAULT; + gRoomTransition.type = TRANSITION_DEFAULT; } void sub_080808E4(void) { - if (sub_08052638(gScreenTransition.player_status.area_next)) { - gScreenTransition.transitionType = TRANSITION_DEFAULT; + if (sub_08052638(gRoomTransition.player_status.area_next)) { + gRoomTransition.type = TRANSITION_DEFAULT; } else { - gScreenTransition.transitionType = TRANSITION_FADE_BLACK; + gRoomTransition.type = TRANSITION_FADE_BLACK; } } void sub_08080904(void) { - gScreenTransition.transitionType = TRANSITION_CUT; + gRoomTransition.type = TRANSITION_CUT; } void sub_08080910(void) { - gScreenTransition.transitionType = TRANSITION_CUT; + gRoomTransition.type = TRANSITION_CUT; } void sub_0808091C(ScreenTransitionData* param_1, u32 param_2) { DoExitTransition(param_1); - gScreenTransition.transitionType = param_2; + gRoomTransition.type = param_2; } void sub_08080930(void) { gRoomControls.unk3 = 5; gRoomControls.unk4 = 0; - gRoomControls.unk2 = 2; - gRoomControls.unk_10 = 0; + gRoomControls.reload_flags = 2; + gRoomControls.scroll_direction = 0; SetInitializationPriority(); } @@ -52,36 +52,36 @@ u32* GetLayerByIndex(u32 param_1) { } void InitScreenShake(u32 time, u32 magnitude) { - gRoomControls.screenShakeTime = time; - gRoomControls.screenShakeMagnitude = magnitude & 7; + gRoomControls.shake_duration = time; + gRoomControls.shake_magnitude = magnitude & 7; } void sub_08080974(u32 arg0, u32 arg1) { u32 var0, var1; RoomControls* roomControls = &gRoomControls; - var0 = roomControls->roomOriginX; + var0 = roomControls->origin_x; if (arg0 <= var0 + 120) { - roomControls->roomScrollX = var0; + roomControls->scroll_x = var0; } else { var0 += roomControls->width; var1 = var0 - 120; if (arg0 < var1) { var1 = arg0; } - roomControls->roomScrollX = var1 - 120; + roomControls->scroll_x = var1 - 120; } - var0 = roomControls->roomOriginY; + var0 = roomControls->origin_y; if (arg1 <= var0 + 80) { - roomControls->roomScrollY = var0; + roomControls->scroll_y = var0; } else { var0 += roomControls->height; var1 = var0 - 80; if (arg1 < var1) { var1 = arg1; } - roomControls->roomScrollY = var1 - 80; + roomControls->scroll_y = var1 - 80; } sub_080809D4(); @@ -95,32 +95,32 @@ void sub_080809D4(void) { RoomControls* roomControls = &gRoomControls; roomControls->scroll_flags &= ~4; - target = roomControls->cameraTarget; + target = roomControls->camera_target; x = target->x.HALF.HI; - var0 = roomControls->roomOriginX; + var0 = roomControls->origin_x; if (x <= var0 + 120) { - roomControls->roomScrollX = var0; + roomControls->scroll_x = var0; } else { var0 += roomControls->width; var1 = var0 - 120; if (x < var1) { var1 = (u16)target->x.HALF.HI; } - roomControls->roomScrollX = var1 - 120; + roomControls->scroll_x = var1 - 120; } - target = roomControls->cameraTarget; + target = roomControls->camera_target; y = target->y.HALF.HI; - var0 = roomControls->roomOriginY; + var0 = roomControls->origin_y; if (y <= var0 + 80) { - roomControls->roomScrollY = var0; + roomControls->scroll_y = var0; } else { var0 += roomControls->height; var1 = var0 - 80; if (y < var1) { var1 = (u16)target->y.HALF.HI; } - roomControls->roomScrollY = var1 - 80; + roomControls->scroll_y = var1 - 80; } sub_08080BC4(); diff --git a/src/sub_08055E08.c b/src/sub_08055E08.c index 2c0532eb..e5f0d095 100644 --- a/src/sub_08055E08.c +++ b/src/sub_08055E08.c @@ -15,7 +15,7 @@ struct { /*0x1d*/ u8 unk1D; /*0x1e*/ u8 unk1E; /*0x1f*/ u8 unk1F; -} gUpdateVisibleTiles = {}; +} gUpdateVisibleTiles; extern EntityData gUnk_080FF400; diff --git a/src/sub_0807CA18.c b/src/sub_0807CA18.c index 01768a24..223dae66 100644 --- a/src/sub_0807CA18.c +++ b/src/sub_0807CA18.c @@ -41,10 +41,10 @@ void sub_0807C9D8(u32* a1) { LoadPalettes(gUnk_020176E0, 2, 13); } -u8 sub_0807CA18() { - if (gSave.unk_00 != 0x00 || gSave.unk_01 != 1) { - gSave.unk_00 = 0; - gSave.unk_01 = 1; +u32 FinalizeSave() { + if (gSave.invalid || gSave.initialized != 1) { + gSave.invalid = 0; + gSave.initialized = 1; gSave.global_progress = 1; gSave.stats.health = 24; gSave.stats.maxHealth = 24; @@ -56,23 +56,23 @@ u8 sub_0807CA18() { gSave.saved_status.start_pos_x = 0x90; gSave.saved_status.start_pos_y = 0x38; } - if (gSave.playerName[0] == '\0') { - MemCopy(gUnk_0811E470, &gSave.playerName, FILENAME_LENGTH - 1); + if (gSave.name[0] == '\0') { + MemCopy(gUnk_0811E470, &gSave.name, FILENAME_LENGTH - 1); } #ifdef DEMO_USA { const u8* tmp; MemCopy(demoPointers[gSaveHeader->saveFileId], &gSave, 0x4B4); - if (gSaveHeader->gameLanguage == 0) { - gSave.playerName[0] = 0x97; - gSave.playerName[1] = 0x7F; - gSave.playerName[2] = 0xDD; - gSave.playerName[3] = 0; + if (gSaveHeader->language == 0) { + gSave.name[0] = 0x97; + gSave.name[1] = 0x7F; + gSave.name[2] = 0xDD; + gSave.name[3] = 0; } ModHealth(0xA0); ModRupees(-9999); tmp = demoUnknown1 + gUnk_02000010.field_0x7 * 3; - gSave.unk48C[7] = tmp[gSaveHeader->saveFileId] * 3600; + gSave.demo_timer = tmp[gSaveHeader->saveFileId] * 3600; } #endif return 1; diff --git a/src/subtask.c b/src/subtask.c index cbf667ea..f95bedcf 100644 --- a/src/subtask.c +++ b/src/subtask.c @@ -5,19 +5,19 @@ extern void (*const gUnk_081280C4[])(); -void DrawKinstoneMenu(void) { +void Subtask_KinstoneMenu(void) { #if !(defined(DEMO_USA) || defined(DEMO_JP)) - gScreenTransition.player_status.field_0x24[8] = 2; + gRoomTransition.player_status.field_0x24[8] = 2; FlushSprites(); gUnk_081280C4[gMenu.menuType](); sub_080A3B74(); sub_080A4054(); sub_0801C1D4(); - sub_0801C208(); + DrawOAMCmd(); UpdateEntities(); - sub_080AD9B0(); - sub_080AD918(); - gScreenTransition.player_status.field_0x24[8] = 0; + DrawEntities(); + CopyOAM(); + gRoomTransition.player_status.field_0x24[8] = 0; #endif } diff --git a/src/text.c b/src/text.c index 2ca3d929..8aadf79d 100644 --- a/src/text.c +++ b/src/text.c @@ -141,7 +141,7 @@ void sub_0805F918(u32 idx, u32 idx2, void* dest) { } u32 sub_0805F9A0(u32 r0) { - if (gSaveHeader->gameLanguage == 0) { + if (gSaveHeader->language == 0) { u16* val = &gUnk_081092D4; u32 i = 0; diff --git a/src/title.c b/src/title.c index 7f65c343..dc7d0c7d 100644 --- a/src/title.c +++ b/src/title.c @@ -12,7 +12,7 @@ typedef struct { u8 filler0[0x4]; - u8 gameLanguage; + u8 language; u8 state; u8 subState; u8 filler7[0x1]; @@ -61,14 +61,14 @@ static const u16 sLightRaysAlphaBlends[] = { #ifdef DEMO_JP static const SaveFile gDemoSave = { .unk_01 = 1, - .messageSpeed = 1, - .brightnessPref = 1, + .msg_speed = 1, + .brightness = 1, .global_progress = 1, .field_0x9 = { [23] = 0x1F }, .windcrests = 0x00013780, .unk50 = 7, .areaVisitFlags = { 0x0114C300 }, - .playerName = "\x97\x7f\xdd", + .name = "\x97\x7f\xdd", .saved_status = { .area_next = AREA_DEEPWOOD_SHRINE, .room_next = 0xb, @@ -118,14 +118,14 @@ static const u8 unk[] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, static u32 AdvanceIntroSequence(u32 transition) { gUnk_02032EC0.lastState = transition; - gMain.funcIndex = 2; + gMain.state = 2; MemClear(&gIntroState, sizeof(gIntroState)); DoFade(7, 8); } -void HandleIntroScreen(void) { +void TitleTask(void) { FlushSprites(); - switch (gMain.funcIndex) { + switch (gMain.state) { case 0: MessageInitialize(); MemClear(&gUnk_02032EC0, sizeof(gUnk_02032EC0)); @@ -139,10 +139,10 @@ void HandleIntroScreen(void) { return; } DispReset(1); - gMain.funcIndex = 1; + gMain.state = 1; break; } - sub_080AD918(); + CopyOAM(); } static void HandleNintendoCapcomLogos(void) { @@ -156,7 +156,7 @@ static void HandleNintendoCapcomLogos(void) { gIntroState.timer = 120; LoadGfxGroup(16); LoadGfxGroup(1); - if (gSaveHeader->gameLanguage == 0) { + if (gSaveHeader->language == 0) { paletteGroup = 1; } else { paletteGroup = 2; @@ -204,19 +204,19 @@ static void HandleTitlescreen(void) { gIntroState.state = 1; gIntroState.subState = 0; gIntroState.timer = 30; - gIntroState.gameLanguage = 7; + gIntroState.language = 7; EraseAllEntities(); - sub_0801CFA8(0); + ResetPaletteTable(0); ResetPalettes(); gGFXSlots.unk0 = 1; LoadGfxGroup(2); - if (gSaveHeader->gameLanguage == 0) { + if (gSaveHeader->language == 0) { paletteGroup = 3; } else { paletteGroup = 4; } LoadPaletteGroup(paletteGroup); - if (gSaveHeader->gameLanguage == 0) { + if (gSaveHeader->language == 0) { // Blend first and second layer gScreen.controls.layerFXControl = BLDCNT_TGT1_BG2 | BLDCNT_TGT2_BG3 | BLDCNT_EFFECT_BLEND; gScreen.controls.alphaBlend = BLDALPHA_BLEND(9, 9); @@ -245,7 +245,7 @@ static void HandleTitlescreen(void) { if (gFadeControl.active) { return; } - if (gSaveHeader->gameLanguage == 0) { + if (gSaveHeader->language == 0) { HandleJapaneseTitlescreenAnimationIntro(); } else { HandleTitlescreenAnimationIntro(); @@ -302,13 +302,13 @@ static void HandleTitlescreen(void) { #endif } } - if (gIntroState.gameLanguage != gSaveHeader->gameLanguage) { - gIntroState.gameLanguage = gSaveHeader->gameLanguage; + if (gIntroState.language != gSaveHeader->language) { + gIntroState.language = gSaveHeader->language; LoadGfxGroup(3); } UpdateLightRays(); UpdateEntities(); - sub_080AD9B0(); + DrawEntities(); } #if defined(USA) || defined(DEMO_USA) @@ -429,9 +429,9 @@ static void ExitTitlescreen(void) { if (!gFadeControl.active) { #ifdef DEMO_JP MemCopy(&gDemoSave, &gSave, sizeof(gSave)); - InitScreen(SCREEN_GAMEPLAY); + SetTask(TASK_GAME); #else - InitScreen(SCREEN_CHOOSE_FILE); + SetTask(TASK_FILE_SELECT); #endif } } From 7036ec73af7864e2728016ae931f872373c56e06 Mon Sep 17 00:00:00 2001 From: theo3 Date: Tue, 4 Jan 2022 18:39:32 -0800 Subject: [PATCH 3/4] game.c doc --- asm/beanstalkSubtask.s | 2 +- asm/code_080526F8.s | 12 +- asm/code_0805436C.s | 2 +- asm/code_08077B98.s | 4 +- asm/code_08078778.s | 2 +- asm/non_matching/bigGoron/sub_0806D5D4.inc | 2 +- .../common/DrawDungeonFeatures.inc | 2 +- asm/object/bird.s | 4 +- asm/object/pullableMushroom.s | 2 +- asm/subtask.s | 84 ++-- asm/subtask2.s | 110 +++--- asm/ui.s | 4 +- assets/assets.json | 2 +- data/data_080FC8A4.s | 36 -- data/data_08128BF4.s | 4 +- data/map/entity_headers.s | 24 +- include/area.h | 4 +- include/functions.h | 2 +- include/game.h | 131 +++--- include/player.h | 2 +- include/save.h | 2 +- src/affine.c | 2 +- src/code_0805436C.c | 6 +- src/enemy/pesto.c | 4 +- src/enemy/vaatiRebornEnemy.c | 2 +- src/enemy/vaatiWrath.c | 4 +- src/entity.c | 2 +- src/fileselect.c | 16 +- src/game.c | 372 +++++++++++------- src/manager/manager10.c | 14 +- src/manager/manager24.c | 30 +- src/manager/manager37.c | 4 +- src/manager/manager39.c | 2 +- src/manager/managerB.c | 8 +- src/manager/managerC.c | 2 +- src/npc/bigGoron.c | 6 +- src/npc/forestMinish.c | 4 +- src/object/archway.c | 2 +- src/object/lockedDoor.c | 2 +- src/object/minishSizedArchway.c | 2 +- src/object/minishSizedEntrance.c | 2 +- src/object/warpPoint.c | 4 +- src/player.c | 6 +- src/projectile/mandiblesProjectile.c | 2 +- src/room.c | 2 +- src/roomInit.c | 100 ++--- src/script.c | 2 +- src/scroll.c | 2 +- src/title.c | 10 +- 49 files changed, 563 insertions(+), 488 deletions(-) diff --git a/asm/beanstalkSubtask.s b/asm/beanstalkSubtask.s index 5efd2b1a..e2cee5a3 100644 --- a/asm/beanstalkSubtask.s +++ b/asm/beanstalkSubtask.s @@ -37,7 +37,7 @@ sub_08019698: @ 0x08019698 bl SetLocalFlagByBank ldrh r0, [r4] ldrh r1, [r4, #2] - bl sub_08052FD8 + bl LoadCutsceneRoom ldr r5, _0801972C @ =gRoomControls ldrh r0, [r4, #6] ldrh r1, [r5, #0xa] diff --git a/asm/code_080526F8.s b/asm/code_080526F8.s index 7843be88..bf115971 100644 --- a/asm/code_080526F8.s +++ b/asm/code_080526F8.s @@ -6,8 +6,8 @@ .text - thumb_func_start sub_08053590 -sub_08053590: @ 0x08053590 + thumb_func_start CutsceneMain_Init +CutsceneMain_Init: @ 0x08053590 push {lr} ldr r1, _080535A4 @ =gUnk_080FCBB4 ldr r0, _080535A8 @ =gMenu @@ -901,8 +901,8 @@ sub_08053C84: @ 0x08053C84 .align 2, 0 _08053C8C: .4byte gMenu - thumb_func_start sub_08053C90 -sub_08053C90: @ 0x08053C90 + thumb_func_start CutsceneMain_Exit +CutsceneMain_Exit: @ 0x08053C90 push {lr} ldr r1, _08053CA4 @ =gUnk_080FCEF8 ldr r0, _08053CA8 @ =gMenu @@ -1294,8 +1294,8 @@ _08053FAA: _08053FAC: .4byte gFadeControl _08053FB0: .4byte gMenu - thumb_func_start sub_08053FB4 -sub_08053FB4: @ 0x08053FB4 + thumb_func_start CutsceneMain_Update +CutsceneMain_Update: @ 0x08053FB4 push {lr} ldr r1, _08053FC8 @ =gUnk_080FD138 ldr r0, _08053FCC @ =gMenu diff --git a/asm/code_0805436C.s b/asm/code_0805436C.s index 6f49c29e..50ac313b 100644 --- a/asm/code_0805436C.s +++ b/asm/code_0805436C.s @@ -138,7 +138,7 @@ sub_08054974: @ 0x08054974 beq _080549BC ldrb r0, [r6, #2] ldrb r1, [r6, #3] - bl sub_08052FD8 + bl LoadCutsceneRoom b _080549CE .align 2, 0 _080549B0: .4byte gUnk_080FE320 diff --git a/asm/code_08077B98.s b/asm/code_08077B98.s index 8228eaf7..e1eb8613 100644 --- a/asm/code_08077B98.s +++ b/asm/code_08077B98.s @@ -467,7 +467,7 @@ _0807835C: bne _0807836A b _080784AC _0807836A: - bl sub_08052B24 + bl CanDispEzloMessage cmp r0, #0 beq _08078374 b _080784C4 @@ -482,7 +482,7 @@ _08078376: beq _08078384 b _080784AC _08078384: - bl sub_08052B24 + bl CanDispEzloMessage cmp r0, #0 beq _0807838E b _080784C4 diff --git a/asm/code_08078778.s b/asm/code_08078778.s index 266d4bdc..5dd37970 100644 --- a/asm/code_08078778.s +++ b/asm/code_08078778.s @@ -3722,7 +3722,7 @@ _0807A468: cmp r2, #0 beq _0807A4F2 _0807A46E: - bl CheckIsDungeon + bl AreaIsDungeon cmp r0, #0 beq _0807A4B0 ldr r4, _0807A4AC @ =gPlayerEntity diff --git a/asm/non_matching/bigGoron/sub_0806D5D4.inc b/asm/non_matching/bigGoron/sub_0806D5D4.inc index 82655104..c9084c09 100644 --- a/asm/non_matching/bigGoron/sub_0806D5D4.inc +++ b/asm/non_matching/bigGoron/sub_0806D5D4.inc @@ -1,6 +1,6 @@ .syntax unified push {lr} - bl sub_08053500 + bl InitBiggoronTimer movs r0, #0xd bl IsItemEquipped adds r1, r0, #0 diff --git a/asm/non_matching/common/DrawDungeonFeatures.inc b/asm/non_matching/common/DrawDungeonFeatures.inc index 706d8c96..938662b1 100644 --- a/asm/non_matching/common/DrawDungeonFeatures.inc +++ b/asm/non_matching/common/DrawDungeonFeatures.inc @@ -6,7 +6,7 @@ push {r5, r6, r7} sub sp, #0x14 adds r4, r0, #0 - bl CheckHasMap + bl AreaHasMap cmp r0, #0 bne _0801DDB8 b _0801DEEA diff --git a/asm/object/bird.s b/asm/object/bird.s index caa3c21b..fce0c464 100644 --- a/asm/object/bird.s +++ b/asm/object/bird.s @@ -631,9 +631,9 @@ CreateBird: @ 0x0809D700 push {r4, lr} sub sp, #4 .ifdef EU - bl CheckIsOverworld @ TODO correct function? + bl AreaIsOverworld @ TODO correct function? .else - bl sub_08052654 + bl AreaAllowsWarp .endif cmp r0, #0 beq _0809D732 diff --git a/asm/object/pullableMushroom.s b/asm/object/pullableMushroom.s index 4715c361..b5eb0457 100644 --- a/asm/object/pullableMushroom.s +++ b/asm/object/pullableMushroom.s @@ -32,7 +32,7 @@ sub_0808AA1C: @ 0x0808AA1C movs r4, #0 movs r6, #1 strb r6, [r5, #0xc] - bl CheckIsDungeon + bl AreaIsDungeon cmp r0, #0 bne _0808AA36 adds r0, r5, #0 diff --git a/asm/subtask.s b/asm/subtask.s index dfec5a59..ea7d1839 100644 --- a/asm/subtask.s +++ b/asm/subtask.s @@ -566,7 +566,7 @@ sub_080A4080: @ 0x080A4080 movs r0, #0xfd lsls r0, r0, #1 movs r1, #0 - bl sub_080ADA14 + bl DrawDirect movs r0, #0x94 strh r0, [r4, #2] movs r0, #0x50 @@ -577,7 +577,7 @@ sub_080A4080: @ 0x080A4080 ldr r7, _080A3954 @ =0x000001F9 adds r0, r7, #0 movs r1, #0 - bl sub_080ADA14 + bl DrawDirect movs r0, #0xb8 strh r0, [r4] movs r0, #0x94 @@ -585,7 +585,7 @@ sub_080A4080: @ 0x080A4080 strh r0, [r4, #8] adds r0, r7, #0 movs r1, #1 - bl sub_080ADA14 + bl DrawDirect ldr r0, _080A3958 @ =gMain ldrh r0, [r0, #0xc] lsrs r0, r0, #2 @@ -618,7 +618,7 @@ _080A3920: strh r0, [r4, #2] adds r0, r7, #0 movs r1, #3 - bl sub_080ADA14 + bl DrawDirect _080A3934: cmp r5, #0 beq _080A3948 @@ -628,7 +628,7 @@ _080A3934: strh r0, [r4, #2] adds r0, r7, #0 movs r1, #2 - bl sub_080ADA14 + bl DrawDirect _080A3948: pop {r4, r5, r6, r7, pc} .align 2, 0 @@ -659,7 +659,7 @@ _080A3960: .4byte 0x0000FFFF strh r0, [r4, #8] ldr r0, _080A413C @ =0x000001FB movs r1, #0 - bl sub_080ADA14 + bl DrawDirect movs r0, #0x94 strh r0, [r4, #2] movs r0, #0x50 @@ -671,7 +671,7 @@ _080A3960: .4byte 0x0000FFFF lsls r7, r7, #1 adds r0, r7, #0 movs r1, #0 - bl sub_080ADA14 + bl DrawDirect movs r0, #0xb8 strh r0, [r4] movs r0, #0x94 @@ -679,7 +679,7 @@ _080A3960: .4byte 0x0000FFFF strh r0, [r4, #8] adds r0, r7, #0 movs r1, #1 - bl sub_080ADA14 + bl DrawDirect ldr r0, _080A4140 @ =gMain ldrh r0, [r0, #0xc] lsrs r0, r0, #2 @@ -712,7 +712,7 @@ _080A4108: strh r0, [r4, #2] adds r0, r7, #0 movs r1, #3 - bl sub_080ADA14 + bl DrawDirect _080A411C: cmp r5, #0 beq _080A4130 @@ -722,7 +722,7 @@ _080A411C: strh r0, [r4, #2] adds r0, r7, #0 movs r1, #2 - bl sub_080ADA14 + bl DrawDirect _080A4130: pop {r4, r5, r6, r7, pc} .align 2, 0 @@ -1002,7 +1002,7 @@ _080A4362: strh r0, [r1, #2] movs r0, #0 movs r1, #5 - bl sub_080ADA14 + bl DrawDirect ldr r0, _080A4394 @ =gOamCmd strh r4, [r0] strh r5, [r0, #2] @@ -1021,7 +1021,7 @@ _080A4372: strh r1, [r0, #8] movs r0, #0 movs r1, #3 - bl sub_080ADA14 + bl DrawDirect pop {r4, r5, r6, r7, pc} .align 2, 0 _080A4394: .4byte gOamCmd @@ -1826,7 +1826,7 @@ sub_080A4978: @ 0x080A4978 ldr r7, _080A4330 @ =0x000001FB adds r0, r7, #0 movs r1, #0 - bl sub_080ADA14 + bl DrawDirect ldr r0, _080A4334 @ =gSave ldrb r0, [r0, #6] movs r2, #0x88 @@ -1860,7 +1860,7 @@ _080A41EC: strh r0, [r5, #2] adds r0, r7, #0 movs r1, #1 - bl sub_080ADA14 + bl DrawDirect ldr r0, _080A433C @ =gMain ldrh r1, [r0, #0xc] movs r0, #0x10 @@ -1875,13 +1875,13 @@ _080A420A: strh r0, [r5, #2] adds r0, r7, #0 adds r1, r4, #0 - bl sub_080ADA14 + bl DrawDirect strh r6, [r5] movs r0, #0x76 strh r0, [r5, #2] adds r1, r4, #1 adds r0, r7, #0 - bl sub_080ADA14 + bl DrawDirect _080A4226: ldr r0, _080A433C @ =gMain ldrh r1, [r0, #0xc] @@ -1911,7 +1911,7 @@ _080A4226: strh r0, [r4, #2] ldr r0, _080A4330 @ =0x000001FB movs r1, #6 - bl sub_080ADA14 + bl DrawDirect _080A4262: ldrb r1, [r5, #0x1e] movs r0, #0x1f @@ -1924,7 +1924,7 @@ _080A4262: strh r0, [r4, #2] ldr r0, _080A4330 @ =0x000001FB movs r1, #7 - bl sub_080ADA14 + bl DrawDirect _080A427C: movs r0, #0x80 lsls r0, r0, #0x12 @@ -1957,7 +1957,7 @@ _080A42A0: strh r0, [r7, #8] movs r0, #0 movs r1, #9 - bl sub_080ADA14 + bl DrawDirect adds r0, r4, #0 movs r1, #0xa bl __divsi3 @@ -1988,7 +1988,7 @@ _080A42D0: ldr r0, _080A4340 @ =0x000001F7 ldrb r1, [r4, #0x1c] subs r1, #1 - bl sub_080ADA14 + bl DrawDirect ldrb r1, [r4, #0x1c] ldrb r0, [r4, #0x1d] cmp r0, r1 @@ -2046,7 +2046,7 @@ _080A4358EU: .4byte 0x06014000 lsls r7, r7, #1 adds r0, r7, #0 movs r1, #0 - bl sub_080ADA14 + bl DrawDirect ldr r0, _080A4B20 @ =gSave ldrb r0, [r0, #6] movs r2, #0x88 @@ -2080,7 +2080,7 @@ _080A49D6: strh r0, [r5, #2] adds r0, r7, #0 movs r1, #1 - bl sub_080ADA14 + bl DrawDirect ldr r0, _080A4B28 @ =gMain ldrh r1, [r0, #0xc] movs r0, #0x10 @@ -2095,13 +2095,13 @@ _080A49F4: strh r0, [r5, #2] adds r0, r7, #0 adds r1, r4, #0 - bl sub_080ADA14 + bl DrawDirect strh r6, [r5] movs r0, #0x76 strh r0, [r5, #2] adds r1, r4, #1 adds r0, r7, #0 - bl sub_080ADA14 + bl DrawDirect _080A4A10: ldr r0, _080A4B28 @ =gMain ldrh r1, [r0, #0xc] @@ -2132,7 +2132,7 @@ _080A4A10: movs r0, #0xfe lsls r0, r0, #1 movs r1, #6 - bl sub_080ADA14 + bl DrawDirect _080A4A4E: ldrb r1, [r5, #0x1e] movs r0, #0x1f @@ -2146,7 +2146,7 @@ _080A4A4E: movs r0, #0xfe lsls r0, r0, #1 movs r1, #7 - bl sub_080ADA14 + bl DrawDirect _080A4A6A: movs r0, #0x80 lsls r0, r0, #0x12 @@ -2179,7 +2179,7 @@ _080A4A8E: strh r0, [r7, #8] movs r0, #0 movs r1, #9 - bl sub_080ADA14 + bl DrawDirect adds r0, r4, #0 movs r1, #0xa bl __divsi3 @@ -2211,7 +2211,7 @@ _080A4ABE: lsls r0, r0, #1 ldrb r1, [r4, #0x1c] subs r1, #1 - bl sub_080ADA14 + bl DrawDirect ldrb r1, [r4, #0x1c] ldrb r0, [r4, #0x1d] cmp r0, r1 @@ -2923,7 +2923,7 @@ sub_080A50A0: @ 0x080A50A0 adds r1, r0, #0 cmp r1, #0xf bne _080A50B4 - bl CheckHasMap + bl AreaHasMap movs r1, #4 cmp r0, #0 beq _080A50B4 @@ -3061,21 +3061,21 @@ _080A5182: .endif adds r0, r5, #0 movs r1, #0 - bl sub_080ADA14 + bl DrawDirect ldr r0, [sp, #8] strh r0, [r4] ldr r0, [sp, #0xc] strh r0, [r4, #2] adds r0, r5, #0 movs r1, #1 - bl sub_080ADA14 + bl DrawDirect ldr r0, [sp, #0x10] strh r0, [r4] ldr r0, [sp, #0x14] strh r0, [r4, #2] adds r0, r5, #0 movs r1, #2 - bl sub_080ADA14 + bl DrawDirect _080A51C6: add sp, #0x18 pop {r4, r5, pc} @@ -3430,7 +3430,7 @@ _080A4C42: ldr r0, [r0] ldrb r1, [r0] ldr r0, _080A4D4C @ =0x00000141 - bl sub_080ADA14 + bl DrawDirect _080A4C68: adds r6, #8 adds r5, #1 @@ -3474,7 +3474,7 @@ _080A4CB2EU: movs r6, #0xfd lsls r6, r6, #1 adds r0, r6, #0 - bl sub_080ADA14 + bl DrawDirect movs r0, #0x80 lsls r0, r0, #0x12 ldrb r0, [r0, #7] @@ -3495,7 +3495,7 @@ _080A4CCA: strh r0, [r4, #8] adds r0, r6, #0 movs r1, #0x22 - bl sub_080ADA14 + bl DrawDirect ldr r7, _080A4D5C @ =gSave adds r0, r7, #0 adds r0, #0xb4 @@ -3513,7 +3513,7 @@ _080A4CCA: strh r0, [r4, #2] adds r0, r6, #0 movs r1, #3 - bl sub_080ADA14 + bl DrawDirect _080A4D0E: adds r0, r7, #0 adds r0, #0xb5 @@ -3532,7 +3532,7 @@ _080A4D0E: strh r0, [r2, #2] adds r0, r6, #0 movs r1, #3 - bl sub_080ADA14 + bl DrawDirect _080A4D36: pop {r3, r4, r5} mov r8, r3 @@ -3653,7 +3653,7 @@ _080A542E: ldrb r1, [r0] movs r0, #0xa1 lsls r0, r0, #1 - bl sub_080ADA14 + bl DrawDirect _080A5456: adds r6, #8 adds r5, #1 @@ -3696,7 +3696,7 @@ _080A547C: _080A54A0: ldr r6, _080A5544 @ =0x000001FB adds r0, r6, #0 - bl sub_080ADA14 + bl DrawDirect movs r0, #0x80 lsls r0, r0, #0x12 ldrb r0, [r0, #7] @@ -3717,7 +3717,7 @@ _080A54B6: strh r0, [r4, #8] adds r0, r6, #0 movs r1, #0x22 - bl sub_080ADA14 + bl DrawDirect ldr r7, _080A5548 @ =gSave adds r0, r7, #0 adds r0, #0xb4 @@ -3735,7 +3735,7 @@ _080A54B6: strh r0, [r4, #2] adds r0, r6, #0 movs r1, #3 - bl sub_080ADA14 + bl DrawDirect _080A54FA: adds r0, r7, #0 adds r0, #0xb5 @@ -3754,7 +3754,7 @@ _080A54FA: strh r0, [r2, #2] adds r0, r6, #0 movs r1, #3 - bl sub_080ADA14 + bl DrawDirect _080A5522: pop {r3, r4, r5} mov r8, r3 diff --git a/asm/subtask2.s b/asm/subtask2.s index da4d4861..e8bd02cf 100644 --- a/asm/subtask2.s +++ b/asm/subtask2.s @@ -425,7 +425,7 @@ _080A502E: _080A505A: movs r0, #0xfd lsls r0, r0, #1 - bl sub_080ADA14 + bl DrawDirect movs r3, #0 mov r8, r3 mov r7, sb @@ -501,7 +501,7 @@ _080A50EA: ldrb r1, [r0] ldr r0, _080A5194 @ =0x00000141 _080A50F6: - bl sub_080ADA14 + bl DrawDirect _080A50FA: adds r7, #8 movs r0, #1 @@ -529,7 +529,7 @@ _080A50FA: strh r0, [r2, #2] movs r0, #0 movs r1, #1 - bl sub_080ADA14 + bl DrawDirect _080A5132: ldrb r0, [r4, #0x13] cmp r0, #0x3f @@ -559,7 +559,7 @@ _080A5156: strh r0, [r5, #8] movs r0, #0 movs r1, #1 - bl sub_080ADA14 + bl DrawDirect adds r0, r4, #0 movs r1, #0xa bl __divsi3 @@ -630,7 +630,7 @@ _080A581A: adds r1, #1 _080A5846: ldr r0, _080A58A4 @ =0x000001FB - bl sub_080ADA14 + bl DrawDirect movs r3, #0 mov r8, r3 mov r7, sb @@ -708,7 +708,7 @@ _080A58D6: movs r0, #0xa1 lsls r0, r0, #1 _080A58E4: - bl sub_080ADA14 + bl DrawDirect _080A58E8: adds r7, #8 movs r0, #1 @@ -736,7 +736,7 @@ _080A58E8: strh r0, [r2, #2] movs r0, #0 movs r1, #1 - bl sub_080ADA14 + bl DrawDirect _080A5920: ldrb r0, [r4, #0x13] cmp r0, #0x3f @@ -766,7 +766,7 @@ _080A5944: strh r0, [r5, #8] movs r0, #0 movs r1, #1 - bl sub_080ADA14 + bl DrawDirect adds r0, r4, #0 movs r1, #0xa bl __divsi3 @@ -1316,7 +1316,7 @@ sub_080A5D1C: @ 0x080A5D1C _080A5560: movs r0, #0xfd lsls r0, r0, #1 - bl sub_080ADA14 + bl DrawDirect movs r0, #0x20 mov sb, r0 mov r1, sb @@ -1338,7 +1338,7 @@ _080A5560: _080A558C: movs r0, #0xfd lsls r0, r0, #1 - bl sub_080ADA14 + bl DrawDirect movs r0, #0x7e strh r0, [r5, #2] movs r0, #0x87 @@ -1357,7 +1357,7 @@ _080A558C: ldrb r4, [r0] ldr r0, _080A56ACEU @ =0x00000143 adds r1, r4, #0 - bl sub_080ADA14 + bl DrawDirect _080A55BE: bl HasDungeonCompass cmp r0, #0 @@ -1372,7 +1372,7 @@ _080A55BE: ldrb r4, [r0] ldr r0, _080A56ACEU @ =0x00000143 adds r1, r4, #0 - bl sub_080ADA14 + bl DrawDirect _080A55DE: bl HasDungeonBigKey cmp r0, #0 @@ -1390,7 +1390,7 @@ _080A55DE: ldrb r4, [r0] ldr r0, _080A56ACEU @ =0x00000143 adds r1, r4, #0 - bl sub_080ADA14 + bl DrawDirect bl sub_080A5F24 cmp r0, #0 beq _080A563CEU @@ -1417,7 +1417,7 @@ _080A55DE: _080A5634EU: movs r0, #0xfd lsls r0, r0, #1 - bl sub_080ADA14 + bl DrawDirect _080A563CEU: ldr r1, _080A569CEU @ =gOamCmd movs r0, #0 @@ -1437,7 +1437,7 @@ _080A5658: movs r0, #0xfd lsls r0, r0, #1 adds r1, r4, #0 - bl sub_080ADA14 + bl DrawDirect subs r4, #1 ldrh r0, [r6, #2] adds r0, #0xc @@ -1516,7 +1516,7 @@ _080A56E8: movs r0, #0xfd lsls r0, r0, #1 adds r1, r4, #0 - bl sub_080ADA14 + bl DrawDirect adds r5, #3 ldrb r0, [r5] cmp r0, #0 @@ -1573,7 +1573,7 @@ _080A570E: movs r1, #0x75 _080A5D70: ldr r0, _080A5EB0 @ =0x000001FB - bl sub_080ADA14 + bl DrawDirect movs r0, #0x20 mov sb, r0 mov r1, sb @@ -1594,7 +1594,7 @@ _080A5D70: movs r1, #0x78 _080A5D9A: ldr r0, _080A5EB0 @ =0x000001FB - bl sub_080ADA14 + bl DrawDirect movs r0, #0x7e strh r0, [r5, #2] movs r0, #0x87 @@ -1614,7 +1614,7 @@ _080A5D9A: movs r0, #0xa2 lsls r0, r0, #1 adds r1, r4, #0 - bl sub_080ADA14 + bl DrawDirect _080A5DCC: bl HasDungeonCompass cmp r0, #0 @@ -1630,7 +1630,7 @@ _080A5DCC: movs r0, #0xa2 lsls r0, r0, #1 adds r1, r4, #0 - bl sub_080ADA14 + bl DrawDirect _080A5DEE: bl HasDungeonBigKey cmp r0, #0 @@ -1647,7 +1647,7 @@ _080A5DEE: ldr r1, [r1] ldrb r4, [r1] adds r1, r4, #0 - bl sub_080ADA14 + bl DrawDirect bl sub_080A5F24 cmp r0, #0 beq _080A5E48 @@ -1673,7 +1673,7 @@ _080A5DEE: movs r1, #0x7a _080A5E42: ldr r0, _080A5EB0 @ =0x000001FB - bl sub_080ADA14 + bl DrawDirect _080A5E48: ldr r1, _080A5EA4 @ =gOamCmd movs r0, #0 @@ -1692,7 +1692,7 @@ _080A5E48: _080A5E64: ldr r0, _080A5EB0 @ =0x000001FB adds r1, r4, #0 - bl sub_080ADA14 + bl DrawDirect subs r4, #1 ldrh r0, [r6, #2] adds r0, #0xc @@ -1770,7 +1770,7 @@ _080A5EF0: strh r0, [r7, #2] ldr r0, _080A5F20 @ =0x000001FB adds r1, r4, #0 - bl sub_080ADA14 + bl DrawDirect adds r5, #3 ldrb r0, [r5] cmp r0, #0 @@ -2119,7 +2119,7 @@ sub_080A617C: @ 0x080A617C _080A59AC: ldr r5, _080A5A5C @ =0x000001FB adds r0, r5, #0 - bl sub_080ADA14 + bl DrawDirect ldrb r0, [r4, #3] lsls r0, r0, #3 ldr r1, _080A5A60 @ =gUnk_08128D70 @@ -2135,7 +2135,7 @@ _080A59AC: strh r0, [r6, #2] adds r0, r5, #0 movs r1, #0xb - bl sub_080ADA14 + bl DrawDirect movs r0, #0x30 strh r0, [r6] movs r0, #0x6c @@ -2149,7 +2149,7 @@ _080A59AC: strh r0, [r6, #8] ldrb r1, [r4, #2] adds r0, r5, #0 - bl sub_080ADA14 + bl DrawDirect ldrb r0, [r4, #1] lsls r0, r0, #0xc orrs r0, r7 @@ -2160,7 +2160,7 @@ _080A59AC: strh r0, [r6, #2] adds r0, r5, #0 movs r1, #0xc - bl sub_080ADA14 + bl DrawDirect _080A5A0E: mov r0, r8 strh r0, [r6, #2] @@ -2185,7 +2185,7 @@ _080A5A18: strh r6, [r7] ldr r0, _080A5A5C @ =0x000001FB movs r1, #0xa - bl sub_080ADA14 + bl DrawDirect _080A5A40: adds r6, #0x1b adds r5, #1 @@ -2236,7 +2236,7 @@ _080A61B8: movs r5, #0xfe lsls r5, r5, #1 adds r0, r5, #0 - bl sub_080ADA14 + bl DrawDirect ldrb r0, [r4, #3] lsls r0, r0, #3 ldr r1, _080A626C @ =gUnk_08128D70 @@ -2252,7 +2252,7 @@ _080A61B8: strh r0, [r6, #2] adds r0, r5, #0 movs r1, #0xb - bl sub_080ADA14 + bl DrawDirect movs r0, #0x30 strh r0, [r6] movs r0, #0x6c @@ -2266,7 +2266,7 @@ _080A61B8: strh r0, [r6, #8] ldrb r1, [r4, #2] adds r0, r5, #0 - bl sub_080ADA14 + bl DrawDirect ldrb r0, [r4, #1] lsls r0, r0, #0xc orrs r0, r7 @@ -2277,7 +2277,7 @@ _080A61B8: strh r0, [r6, #2] adds r0, r5, #0 movs r1, #0xc - bl sub_080ADA14 + bl DrawDirect _080A621C: mov r0, r8 strh r0, [r6, #2] @@ -2303,7 +2303,7 @@ _080A6226: movs r0, #0xfe lsls r0, r0, #1 movs r1, #0xa - bl sub_080ADA14 + bl DrawDirect _080A6250: adds r6, #0x1b adds r5, #1 @@ -2508,7 +2508,7 @@ _080A5B86: _080A5BD8: movs r0, #0xfd lsls r0, r0, #1 - bl sub_080ADA14 + bl DrawDirect _080A5BE0: ldr r3, _080A5C18 @ =gChooseFileState ldrb r0, [r3, #3] @@ -2532,7 +2532,7 @@ _080A5BE0: adds r1, r2, r0 movs r0, #0xfd lsls r0, r0, #1 - bl sub_080ADA14 + bl DrawDirect bl sub_080A6498 pop {r4, r5, r6, pc} .align 2, 0 @@ -2597,7 +2597,7 @@ _080A6392: movs r1, #0x5a _080A63E4: ldr r0, _080A6430 @ =0x000001FB - bl sub_080ADA14 + bl DrawDirect _080A63EA: ldr r3, _080A6420 @ =gMenu ldrb r0, [r3, #3] @@ -2620,7 +2620,7 @@ _080A63EA: bics r0, r1 adds r1, r2, r0 ldr r0, _080A6430 @ =0x000001FB - bl sub_080ADA14 + bl DrawDirect bl sub_080A6498 pop {r4, r5, r6, pc} .align 2, 0 @@ -2667,7 +2667,7 @@ _080A5C52: ldrb r1, [r4] movs r0, #0xfd lsls r0, r0, #1 - bl sub_080ADA14 + bl DrawDirect _080A5C6E: adds r6, #1 adds r4, #8 @@ -2714,7 +2714,7 @@ _080A645E: strh r0, [r7, #2] ldrb r1, [r4] ldr r0, _080A6494 @ =0x000001FB - bl sub_080ADA14 + bl DrawDirect _080A6478: adds r6, #1 adds r4, #8 @@ -2763,7 +2763,7 @@ _080A5CA4: movs r0, #0xfd lsls r0, r0, #1 adds r1, r5, #0 - bl sub_080ADA14 + bl DrawDirect _080A5CC8EU: adds r5, #3 adds r4, #1 @@ -2810,7 +2810,7 @@ _080A64B0: strh r0, [r6, #2] ldr r0, _080A64F0 @ =0x000001FB adds r1, r5, #0 - bl sub_080ADA14 + bl DrawDirect _080A64D2: adds r5, #3 adds r4, #1 @@ -3096,7 +3096,7 @@ sub_080A66D0: @ 0x080A66D0 movs r0, #0xfd lsls r0, r0, #1 movs r1, #0x71 - bl sub_080ADA14 + bl DrawDirect _080A5F1A: ldrb r0, [r5, #2] ldrh r4, [r4, #0xa] @@ -3107,7 +3107,7 @@ _080A5F1A: movs r0, #0xfd lsls r0, r0, #1 movs r1, #0x72 - bl sub_080ADA14 + bl DrawDirect _080A5F30: ldrb r0, [r5, #7] mov sl, r0 @@ -3165,7 +3165,7 @@ _080A5F8A: strh r0, [r7, #2] ldrh r0, [r4, #2] ldrb r1, [r4, #1] - bl sub_080ADA14 + bl DrawDirect _080A5FA6: adds r4, #8 ldrh r0, [r4, #2] @@ -3219,7 +3219,7 @@ _080A5FAE: strh r0, [r6, #2] ldr r0, _080A6788 @ =0x000001FB movs r1, #0x71 - bl sub_080ADA14 + bl DrawDirect _080A6724: ldrb r0, [r5, #2] ldrh r4, [r4, #0xa] @@ -3229,7 +3229,7 @@ _080A6724: strh r0, [r6, #2] ldr r0, _080A6788 @ =0x000001FB movs r1, #0x72 - bl sub_080ADA14 + bl DrawDirect _080A6738: ldrb r0, [r5, #7] mov sl, r0 @@ -3288,7 +3288,7 @@ _080A6796: strh r0, [r7, #2] ldrh r0, [r4, #2] ldrb r1, [r4, #1] - bl sub_080ADA14 + bl DrawDirect _080A67B2: adds r4, #8 ldrh r0, [r4, #2] @@ -4304,7 +4304,7 @@ sub_080A6E70: @ 0x080A6E70 _080A6698: movs r0, #0xfd lsls r0, r0, #1 - bl sub_080ADA14 + bl DrawDirect movs r4, #0 ldr r5, _080A66D4 @ =gSave _080A66A4EU: @@ -4321,7 +4321,7 @@ _080A66A4EU: movs r0, #0xfd lsls r0, r0, #1 movs r1, #0x5c - bl sub_080ADA14 + bl DrawDirect _080A66C4: adds r4, #1 cmp r4, #7 @@ -4358,7 +4358,7 @@ _080A66D4: .4byte gSave movs r1, #0x5d _080A6EA0: ldr r0, _080A6ED8 @ =0x000001FB - bl sub_080ADA14 + bl DrawDirect movs r4, #0 ldr r5, _080A6EDC @ =gSave _080A6EAA: @@ -4374,7 +4374,7 @@ _080A6EAA: bl sub_080A6EE0 ldr r0, _080A6ED8 @ =0x000001FB movs r1, #0x5c - bl sub_080ADA14 + bl DrawDirect _080A6EC8: adds r4, #1 cmp r4, #7 @@ -5041,7 +5041,7 @@ _080A73B4: adds r4, r4, r1 str r0, [r4] ldrb r0, [r5, #6] - bl sub_080527FC + bl RestoreGameTask ldrb r1, [r5, #0xd] rsbs r0, r1, #0 orrs r0, r1 @@ -5134,7 +5134,7 @@ _080A7524: .4byte gMain thumb_func_start Subtask_Update Subtask_Update: @ 0x080A7528 push {lr} - ldr r1, _080A753C @ =gUnk_08129030 + ldr r1, _080A753C @ =gSubtasks ldr r0, _080A7540 @ =gUnk_02032EC0 ldrb r0, [r0, #2] lsls r0, r0, #2 @@ -5143,5 +5143,5 @@ Subtask_Update: @ 0x080A7528 bl _call_via_r0 pop {pc} .align 2, 0 -_080A753C: .4byte gUnk_08129030 +_080A753C: .4byte gSubtasks _080A7540: .4byte gUnk_02032EC0 diff --git a/asm/ui.s b/asm/ui.s index b7bd7df2..b4a4960a 100644 --- a/asm/ui.s +++ b/asm/ui.s @@ -68,7 +68,7 @@ _0801C20E: strh r0, [r4, #8] ldrh r0, [r2, #6] ldrb r1, [r3, #0x10] - bl sub_080ADA14 + bl DrawDirect _0801C248: adds r5, #1 cmp r5, #0x17 @@ -1009,7 +1009,7 @@ sub_0801C99C: @ 0x0801C99C ands r0, r1 cmp r0, #0 bne _0801C9B2 - bl sub_08052724 + bl AreaHasKeys cmp r0, #0 bne _0801C9EC _0801C9B2: diff --git a/assets/assets.json b/assets/assets.json index 67bbda54..b670564e 100644 --- a/assets/assets.json +++ b/assets/assets.json @@ -31141,7 +31141,7 @@ "size": 16 }, { - "path": "data_080FC8A4/gUnk_080FCA20.bin", + "path": "data_080FC8A4/sCutsceneData.bin", "start": 1034784, "size": 80 }, diff --git a/data/data_080FC8A4.s b/data/data_080FC8A4.s index 77171f38..1ca6f894 100644 --- a/data/data_080FC8A4.s +++ b/data/data_080FC8A4.s @@ -57,39 +57,3 @@ gUnk_080FC9C8:: @ 080FC9C8 .4byte sub_080517EC .4byte sub_08051874 .4byte sub_080518E4 - -gUnk_080FC9D8:: @ 080FC9D8 - .4byte GameTask_Transition - .4byte GameTask_Init - .4byte GameTask_Main - .4byte sub_08051D2C - -gUnk_080FC9E8:: @ 080FC9E8 - .4byte GameMain_InitRoom - .4byte GameMain_ChangeRoom - .4byte GameMain_Update - .4byte GameMain_ChangeArea - .4byte GameMain_MinishPortal - .4byte GameMain_BarrelUpdate - .4byte 00000000 - .4byte GameMain_Subtask - -gUnk_080FCA08:: @ 080FCA08 - .4byte sub_08051E84 - .4byte sub_08051F04 - .4byte sub_08051F40 - -gUnk_080FCA14:: @ 080FCA14 - .4byte sub_08053590 - .4byte sub_08053FB4 - .4byte sub_08053C90 - -gUnk_080FCA20:: @ 080FCA20 - .incbin "data_080FC8A4/gUnk_080FCA20.bin" - -gUnk_080FCA70:: @ 080FCA70 - .4byte sub_080520D8 - .4byte sub_0805212C - .4byte sub_080521A0 - .4byte sub_080522F4 - .4byte nullsub_107 diff --git a/data/data_08128BF4.s b/data/data_08128BF4.s index c9612a8d..90f0801d 100644 --- a/data/data_08128BF4.s +++ b/data/data_08128BF4.s @@ -142,13 +142,13 @@ gUnk_0812901C:: @ 0812901C .4byte Subtask_FadeOut .4byte Subtask_Die -gUnk_08129030:: @ 08129030 +gSubtasks:: @ 08129030 .4byte Subtask_Exit .4byte Subtask_PauseMenu .4byte Subtask_Exit .4byte Subtask_MapHint .4byte Subtask_KinstoneMenu - .4byte Subtask_ChuchuCutscene + .4byte Subtask_AuxCutscene .4byte Subtask_PortalCutscene .4byte Subtask_FigurineMenu .4byte Subtask_WorldEvent diff --git a/data/map/entity_headers.s b/data/map/entity_headers.s index 450c0c9b..6b198ba9 100644 --- a/data/map/entity_headers.s +++ b/data/map/entity_headers.s @@ -1061,7 +1061,7 @@ Area_MinishRafters:: @ 080D4F20 .4byte Room_MinishRafters_Bakery Area_EzloCutscene:: @ 080D4F30 - .4byte Area_EzloCutscene_Main + .4byte Area_EzloAuxCutscene_Main Area_WindTribeTower:: @ 080D4F34 .4byte Room_WindTribeTower_Entrance @@ -3516,10 +3516,10 @@ Room_GoronCave_Main:: @ 080D8EB0 .4byte sub_unk3_GoronCave_Main .4byte sub_StateChange_GoronCave_Main -Entities_EzloCutscene_Main_0:: @ 080D8ED0 +Entities_EzloAuxCutscene_Main_0:: @ 080D8ED0 entity_list_end -Entities_EzloCutscene_Main_1:: @ 080D8EE0 +Entities_EzloAuxCutscene_Main_1:: @ 080D8EE0 object_raw subtype=0x4d, x=0x34, y=0x28, collision=1, paramA=0x3f object_raw subtype=0x4d, x=0x28, y=0x48, collision=1, paramA=0xc object_raw subtype=0x4d, x=0x80, y=0x24, collision=1, paramA=0x42 @@ -3531,21 +3531,21 @@ Entities_EzloCutscene_Main_1:: @ 080D8EE0 object_raw subtype=0x4d, x=0xb8, y=0xd8, collision=1, paramA=0x41 entity_list_end -Enemies_EzloCutscene_Main:: @ 080D8F80 +Enemies_EzloAuxCutscene_Main:: @ 080D8F80 entity_list_end -TileEntities_EzloCutscene_Main:: @ 080D8F90 +TileEntities_EzloAuxCutscene_Main:: @ 080D8F90 tile_entity_list_end -Area_EzloCutscene_Main:: @ 080D8F98 - .4byte Entities_EzloCutscene_Main_0 - .4byte Entities_EzloCutscene_Main_1 - .4byte Enemies_EzloCutscene_Main - .4byte TileEntities_EzloCutscene_Main +Area_EzloAuxCutscene_Main:: @ 080D8F98 + .4byte Entities_EzloAuxCutscene_Main_0 + .4byte Entities_EzloAuxCutscene_Main_1 + .4byte Enemies_EzloAuxCutscene_Main + .4byte TileEntities_EzloAuxCutscene_Main .4byte 0x00000000 .4byte 0x00000000 - .4byte sub_unk3_EzloCutscene_Main - .4byte sub_StateChange_EzloCutscene_Main + .4byte sub_unk3_EzloAuxCutscene_Main + .4byte sub_StateChange_EzloAuxCutscene_Main Entities_RoyalValley_Main_0:: @ 080D8FB8 manager subtype=0xf, paramA=0x7 diff --git a/include/area.h b/include/area.h index 3f1c0421..b0869bb6 100644 --- a/include/area.h +++ b/include/area.h @@ -43,8 +43,8 @@ typedef struct { RoomResInfo roomResInfos[MAX_ROOMS]; RoomResInfo currentRoomInfo; RoomResInfo* pCurrentRoomInfo; - u32 musicIndex; - u32 pMusicIndex; + u32 bgm; + u32 queued_bgm; u8 filler5[0x20]; void* transitionManager; void (*onEnter)(); diff --git a/include/functions.h b/include/functions.h index a3716730..c71445d6 100644 --- a/include/functions.h +++ b/include/functions.h @@ -100,7 +100,7 @@ extern void sub_0804ED18(); extern void sub_080AF2E4(void); extern void sub_0804F578(void); extern void sub_08059994(void); -extern void sub_080ADA14(u32, u32); // trampoline to sub_080B27F4 +extern void DrawDirect(u32, u32); // trampoline to sub_080B27F4 extern void sub_0801E1B8(u32, u32); extern void sub_080A3B74(void); extern void sub_080A4054(void); diff --git a/include/game.h b/include/game.h index 5155376b..e42f5b91 100644 --- a/include/game.h +++ b/include/game.h @@ -4,60 +4,50 @@ #include "global.h" #include "area.h" -enum { - GAMETASK_TRANSITION, - GAMETASK_INIT, - GAMETASK_MAIN, - GAMETASK_EXIT, -}; - -enum { - GAMEMAIN_INITROOM, - GAMEMAIN_CHANGEROOM, - GAMEMAIN_UPDATE, - GAMEMAIN_CHANGEAREA, - GAMEMAIN_MINISHPORTAL, - GAMEMAIN_BARRELUPDATE, - GAMEMAIN_RESERVED, - GAMEMAIN_SUBTASK, -}; - -void ChangeLightLevel(s32); +void ChangeLightLevel(s32 level); void SetPopupState(u32 type, u32 choice_idx); -bool32 CheckIsOverworld(void); -bool32 sub_08052638(u32 r0); +bool32 CheckAreaOverworld(u32 area); +bool32 AreaIsOverworld(void); +bool32 AreaIsDungeon(void); +bool32 AreaHasEnemies(void); +bool32 AreaHasNoEnemies(void); +bool32 AreaHasMap(void); +bool32 AreaHasKeys(void); + #ifndef EU -u32 sub_08052654(void); -#endif -u32 CheckIsDungeon(void); -u32 CheckIsInteriorWithEnemies(void); -u32 CheckIsInteriorNoEnemies(void); -u32 CheckHasMap(void); +// This function was introduced to allow warping from indoor areas (palace of winds). +u32 AreaAllowsWarp(void); -u32 ItemIsSword(u32 item); - -void sub_080526F8(s32 a1); -u32 sub_08052724(void); -u32 HasDungeonMap(void); -u32 HasDungeonCompass(void); -u32 HasDungeonBigKey(void); -u32 HasDungeonSmallKey(void); - -void sub_080527FC(u32 a1, u32 a2); -#ifndef EU +// related to a music bug? void sub_08052878(void); #endif -void RoomExitCallback(void); +void sub_080526F8(s32 a1); +bool32 HasDungeonMap(void); +bool32 HasDungeonCompass(void); +bool32 HasDungeonBigKey(void); +bool32 HasDungeonSmallKey(void); + +bool32 ItemIsSword(u32 item); +bool32 ItemIsShield(u32 item); +u32 GetBottleContaining(u32 item); + +void LoadGfxGroups(void); +void LoadCutsceneRoom(u32 room, u32 area); +void InitRoom(void); void InitParachuteRoom(void); -u32 sub_08052B24(void); + +void RegisterTransitionManager(void* mgr, void (*onEnter)(void), void (*onExit)(void)); +void RoomExitCallback(void); + +void RestoreGameTask(u32 a1); + +bool32 CanDispEzloMessage(void); void DisplayEzloMessage(void); -void sub_08052CA4(u32 area, u32 room, u32 x, u32 y); -void sub_08052CD0(u32 area, u32 room, u32 x, u32 y); - -void InitRoom(void); +void SetWorldMapPos(u32 area, u32 room, u32 x, u32 y); +void SetDungeonMapPos(u32 area, u32 room, u32 x, u32 y); /** * @brief Get bank offset for area @@ -66,14 +56,59 @@ u32 GetFlagBankOffset(u32 idx); RoomResInfo* GetCurrentRoomInfo(void); void sub_08052EA0(void); -void sub_08052FD8(u32 room, u32 area); void sub_08053250(void); -void LoadGfxGroups(void); void sub_080533CC(void); + void sub_08053494(void); void sub_080534AC(void); -void sub_08053500(void); +void InitBiggoronTimer(void); -u32 GetBottleContaining(u32); +enum { + GAMETASK_TRANSITION, /* transition from fileselect task */ + GAMETASK_INIT, + GAMETASK_MAIN, + GAMETASK_EXIT, /* gameover task or reset */ +}; + +enum { + GAMEMAIN_INITROOM, + GAMEMAIN_CHANGEROOM, + GAMEMAIN_UPDATE, + GAMEMAIN_CHANGEAREA, + GAMEMAIN_MINISHPORTAL, /* moments after viewing portal cutscene */ + GAMEMAIN_BARRELUPDATE, /* barrel in deepwood shrine */ + GAMEMAIN_RESERVED, + GAMEMAIN_SUBTASK, +}; + +/** + * @brief Subtasks override the game task for short periods + */ +enum { + SUBTASK_EXIT, + SUBTASK_PAUSEMENU, + SUBTASK_EXIT2, + SUBTASK_MAPHINT, + SUBTASK_KINSTONEMENU, + SUBTASK_AUXCUTSCENE, /* cutscene without presence of player */ + SUBTASK_PORTALCUTSCENE, /* player "falling" down portal cutscene */ + SUBTASK_FIGURINEMENU, + SUBTASK_WORLDEVENT, + SUBTASK_FASTTRAVEL, + SUBTASK_LOCALMAPHINT, +}; + +typedef void(Subtask)(void); +Subtask Subtask_Exit; +Subtask Subtask_PauseMenu; +Subtask Subtask_Exit; +Subtask Subtask_MapHint; +Subtask Subtask_KinstoneMenu; +Subtask Subtask_AuxCutscene; +Subtask Subtask_PortalCutscene; +Subtask Subtask_FigurineMenu; +Subtask Subtask_WorldEvent; +Subtask Subtask_FastTravel; +Subtask Subtask_LocalMapHint; #endif // GAME_H diff --git a/include/player.h b/include/player.h index bf9e151e..9160123a 100644 --- a/include/player.h +++ b/include/player.h @@ -280,7 +280,7 @@ extern u16 gWalletSizes[]; extern PlayerState gPlayerState; extern Entity gPlayerEntity; -u32 CheckPlayerActivity(void); +u32 CheckPlayerInactive(void); void SetPlayerControl(PlayerControlMode mode); void ResetPlayer(void); void ResetPlayerVelocity(void); diff --git a/include/save.h b/include/save.h index 2e8015e1..bd4f09a5 100644 --- a/include/save.h +++ b/include/save.h @@ -51,7 +51,7 @@ typedef struct { /*0x25C*/ u8 flags[0x200]; /*0x45C*/ u8 unk45C[0x10]; /*0x46C*/ u8 unk46C[0x20]; - /*0x48C*/ u32 unk48C[7]; + /*0x48C*/ u32 timers[7]; /*0x4A8*/ u32 demo_timer; /*0x4AC*/ u8 filler4ac[0x8]; } SaveFile; diff --git a/src/affine.c b/src/affine.c index 9656d7f3..87bf319e 100644 --- a/src/affine.c +++ b/src/affine.c @@ -66,7 +66,7 @@ void sub_080ADA04(OAMCommand* cmd, void* dst) { fn(cmd, dst); } -void sub_080ADA14(u32 a1, u32 a2) { +void DrawDirect(u32 a1, u32 a2) { void (*fn)(OAMCommand*, u32, u32) = gUnk_03006580; fn(&gOamCmd, a1, a2); } diff --git a/src/code_0805436C.c b/src/code_0805436C.c index a1ef817c..eb4c77d2 100644 --- a/src/code_0805436C.c +++ b/src/code_0805436C.c @@ -94,7 +94,7 @@ u32 SetBottleContents(u32 itemID, u32 bottleIndex) { return bottleIndex; } -u32 ItemIsSword(u32 item) { +bool32 ItemIsSword(u32 item) { switch (item) { case ITEM_SMITH_SWORD: case ITEM_GREEN_SWORD: @@ -107,7 +107,7 @@ u32 ItemIsSword(u32 item) { } } -u32 ItemIsShield(u32 id) { +bool32 ItemIsShield(u32 id) { switch (id) { case 13: case 14: @@ -117,7 +117,7 @@ u32 ItemIsShield(u32 id) { } } -u32 ItemIsBottle(u32 id) { +bool32 ItemIsBottle(u32 id) { switch (id) { case 28: case 29: diff --git a/src/enemy/pesto.c b/src/enemy/pesto.c index 008869fd..2770f4fa 100644 --- a/src/enemy/pesto.c +++ b/src/enemy/pesto.c @@ -148,7 +148,7 @@ void sub_080240B8(Entity* this) { } UpdateSpriteForCollisionLayer(this); - if (CheckIsDungeon()) + if (AreaIsDungeon()) this->spriteOrientation.flipY = 1; this->field_0x80.HALF.HI = Random() & 0x40; @@ -534,7 +534,7 @@ void sub_08024940(Entity* this) { this->z.HALF.HI += 2; } - if (this->type2 != 0 || CheckIsDungeon()) { + if (this->type2 != 0 || AreaIsDungeon()) { if (!sub_08049FA0(this)) { this->direction = sub_08049EE4(this); sub_080249F4(this); diff --git a/src/enemy/vaatiRebornEnemy.c b/src/enemy/vaatiRebornEnemy.c index 4f1770f3..f4732e17 100644 --- a/src/enemy/vaatiRebornEnemy.c +++ b/src/enemy/vaatiRebornEnemy.c @@ -653,7 +653,7 @@ void VaatiRebornEnemyType1PreAction(Entity* this) { parent->direction = -1; this->actionDelay = 0; SoundReq(SONG_STOP_BGM); - gArea.musicIndex = gArea.pMusicIndex; + gArea.bgm = gArea.queued_bgm; return; } this->actionDelay = 1; diff --git a/src/enemy/vaatiWrath.c b/src/enemy/vaatiWrath.c index baafff90..6a3c1425 100644 --- a/src/enemy/vaatiWrath.c +++ b/src/enemy/vaatiWrath.c @@ -992,8 +992,8 @@ void sub_0804235C(Entity* this) { void VaatiWrathType0PreAction(Entity* this) { int temp; if ((gRoomTransition.field_0x38 & 2) == 0) { - if (gSave.unk48C[3] != 0) { - gSave.unk48C[3]--; + if (gSave.timers[3] != 0) { + gSave.timers[3]--; } else { temp = gPlayerState.framestate_last; if (temp < 2) { diff --git a/src/entity.c b/src/entity.c index a7c1b617..8c75fa94 100644 --- a/src/entity.c +++ b/src/entity.c @@ -458,7 +458,7 @@ void sub_0805E98C(void) { } } -void QueueEntityDeletion(void) { +void RecycleEntities(void) { Entity* i; LinkedList* list; diff --git a/src/fileselect.c b/src/fileselect.c index fed40d47..8fe1f7a3 100644 --- a/src/fileselect.c +++ b/src/fileselect.c @@ -481,36 +481,36 @@ void sub_08050A64(u32 idx) { gOamCmd.x = 0xA2; gOamCmd.y = 0x36; #ifdef EU - sub_080ADA14(0x144, 0x24); + DrawDirect(0x144, 0x24); #else - sub_080ADA14(0x145, 0x24); + DrawDirect(0x145, 0x24); #endif } if (GetInventoryValue(0x41)) { gOamCmd.x = 0x96; gOamCmd.y = 0x3D; #ifdef EU - sub_080ADA14(0x144, 0x22); + DrawDirect(0x144, 0x22); #else - sub_080ADA14(0x145, 0x22); + DrawDirect(0x145, 0x22); #endif } if (GetInventoryValue(0x42)) { gOamCmd.x = 0xAE; gOamCmd.y = 0x3D; #ifdef EU - sub_080ADA14(0x144, 0x23); + DrawDirect(0x144, 0x23); #else - sub_080ADA14(0x145, 0x23); + DrawDirect(0x145, 0x23); #endif } if (GetInventoryValue(0x43)) { gOamCmd.x = 0xA2; gOamCmd.y = 0x44; #ifdef EU - sub_080ADA14(0x144, 0x21); + DrawDirect(0x144, 0x21); #else - sub_080ADA14(0x145, 0x21); + DrawDirect(0x145, 0x21); #endif } } diff --git a/src/game.c b/src/game.c index cd3aab0f..bde1233c 100644 --- a/src/game.c +++ b/src/game.c @@ -17,12 +17,52 @@ #include "game.h" #include "item.h" +// Game task + +typedef void(GameState)(void); +typedef void(GameMainState)(void); + +static GameState GameTask_Transition; +static GameState GameTask_Init; +static GameState GameTask_Exit; +static GameState GameTask_Main; + +static GameMainState GameMain_InitRoom; +static GameMainState GameMain_ChangeRoom; +static GameMainState GameMain_Update; +static GameMainState GameMain_ChangeArea; +GameMainState GameMain_MinishPortal; +static GameMainState GameMain_BarrelUpdate; +/*static GameMainState 00000000;*/ +GameMainState GameMain_Subtask; + +// Cutscene subtask + +typedef void(AuxCutsceneState)(void); +typedef void(CutsceneMainState)(void); + +static AuxCutsceneState AuxCutscene_Init; +static AuxCutsceneState AuxCutscene_Main; +static AuxCutsceneState AuxCutscene_Exit; + +CutsceneMainState CutsceneMain_Init; +CutsceneMainState CutsceneMain_Update; +CutsceneMainState CutsceneMain_Exit; + +// Game Over task + +typedef void(GameOverState)(void); + +static GameOverState GameOver_Init; +static GameOverState GameOver_FadeIn; +static GameOverState GameOver_TextMove; +static GameOverState GameOver_Update; +static GameOverState GameOver_Exit; + extern u8 gUpdateVisibleTiles; -extern u8 gUnk_080FCA84[]; -extern u8 gUnk_080FCAC8[]; +extern u16 gUnk_020178E0[]; extern u8 gUnk_02024090[]; -extern u16 gUnk_080FCAD6[]; extern void** gAreaTilesets[]; extern void** gAreaRoomMaps[]; @@ -31,15 +71,6 @@ extern void* gUnk_080B755C[]; extern void** gExitLists[]; extern void** gAreaTable[]; -extern u8 gUnk_080FCAF8[]; -extern u16 gUnk_020178E0[]; - -extern void (*gUnk_080FC9D8[])(); -extern void (*gUnk_080FC9E8[])(); -extern void (*gUnk_080FCA08[])(); -extern void (*gUnk_080FCA14[])(); -extern void (*gUnk_080FCA70[])(void); - void FinalizeSave(void); void ClearArmosData(void); void ClearRoomMemory(void); @@ -55,19 +86,16 @@ void UpdateDoorTransition(void); u32 IsEnterPortal(void); void UpdateCarriedObject(void); void DrawUI(); -u32 CheckPlayerActivity(); +u32 CheckPlayerInactive(); void CollisionMain(); void sub_0805BB74(); void CreateZeldaFollower(void); void LoadRoomGfx(); -void QueueEntityDeletion(); +void RecycleEntities(); void sub_0804AF90(); void CallRoomProp6(); -void LoadRoomBgm(); void UpdateScroll(); void UpdateBgAnim(); -void sub_08052010(); -void sub_080520C4(); void CleanUpGFXSlots(); void sub_080ADE24(); void InitUI(u32); @@ -85,6 +113,8 @@ void sub_0807C740(void); void SetBGDefaults(void); void LoadItemGfx(void); +static void LoadRoomBgm(); +static void sub_08052010(void); static void ResetTmpFlags(void); static void InitializeEntities(void); static void CheckAreaDiscovery(void); @@ -97,11 +127,10 @@ static void sub_0805340C(void); static void sub_08051D98(void); static void sub_08051DCC(void); static u32 CheckGameOver(void); -static u32 HandleRoomExit(void); -static void sub_080531F8(void); +static u32 CheckRoomExit(void); +static void UpdatePlayerRoomStatus(void); static void sub_0805329C(void); static void InitializePlayer(void); -/* static */ void sub_08051F04(void); /* static */ void sub_08051F9C(u32 a1, u32 a2, u32 a3, u32 a4); static void DrawGameOverText(void); static u32 StairsAreValid(); @@ -124,16 +153,6 @@ typedef struct { } struct_08127F94; extern struct_08127F94 gUnk_08127F94[]; -typedef struct { - u8 _0; - u8 _1; - u8 _2; - u8 _3; - u16 _4; - u16 _6; -} struct_080FCA20; -extern struct_080FCA20 gUnk_080FCA20[]; - typedef struct { u16* dest; void* gfx_dest; @@ -161,9 +180,26 @@ typedef struct { extern void CreateDialogBox(); +typedef struct { + u8 area; + u8 room; + u8 _2; + u8 _3; + u16 x; + u16 y; +} CutsceneData; +static const CutsceneData sCutsceneData[]; + void GameTask(void) { + static GameState* const sStates[] = { + GameTask_Transition, + GameTask_Init, + GameTask_Main, + GameTask_Exit, + }; + gRoomTransition.frameCount++; - gUnk_080FC9D8[gMain.state](); + sStates[gMain.state](); #ifdef DEMO_USA if (gSave.demo_timer != 0) { if (--gSave.demo_timer == 0) { @@ -174,7 +210,7 @@ void GameTask(void) { #endif } -void GameTask_Transition(void) { +static void GameTask_Transition(void) { // wait for file select to fade out if (gFadeControl.active) return; @@ -190,7 +226,7 @@ void GameTask_Transition(void) { FinalizeSave(); // spawn in with saved status - MemCopy(&gSave.saved_status, &gRoomTransition.player_status, sizeof (gRoomTransition.player_status)); + MemCopy(&gSave.saved_status, &gRoomTransition.player_status, sizeof(gRoomTransition.player_status)); gRoomTransition.type = TRANSITION_FADE_BLACK_SLOW; ResetTmpFlags(); @@ -198,7 +234,7 @@ void GameTask_Transition(void) { gMain.substate = 0; } -void GameTask_Init(void) { +static void GameTask_Init(void) { DispReset(1); gFadeControl.mask = 0xffffffff; MemClear(&gOAMControls, 0xB74); @@ -216,13 +252,23 @@ void GameTask_Init(void) { gMain.state = GAMETASK_MAIN; } -void GameTask_Main(void) { - gUnk_080FC9E8[gMain.substate](); +static void GameTask_Main(void) { + static GameMainState* const sStates[] = { + GameMain_InitRoom, + GameMain_ChangeRoom, + GameMain_Update, + GameMain_ChangeArea, + GameMain_MinishPortal, + GameMain_BarrelUpdate, + 0, + GameMain_Subtask, + }; + sStates[gMain.substate](); } -void GameMain_InitRoom(void) { +static void GameMain_InitRoom(void) { SetInitializationPriority(); - gScreen.lcd.displayControl = 0x1740; + gScreen.lcd.displayControl = DISPCNT_BG0_ON | DISPCNT_BG1_ON | DISPCNT_BG2_ON | DISPCNT_OBJ_ON | DISPCNT_OBJ_1D_MAP; gMain.substate = GAMEMAIN_CHANGEROOM; gRoomTransition.transitioningOut = 0; gRoomTransition.field_0x4[0] = 0; @@ -236,7 +282,7 @@ void GameMain_InitRoom(void) { #endif } -void GameMain_ChangeRoom(void) { +static void GameMain_ChangeRoom(void) { UpdateEntities(); if (!UpdateLightLevel()) UpdateScroll(); @@ -254,9 +300,9 @@ void GameMain_ChangeRoom(void) { return; UpdateFakeScroll(); - if (gArea.musicIndex != gArea.pMusicIndex) { - gArea.musicIndex = gArea.pMusicIndex; - SoundReq(gArea.pMusicIndex | SONG_PLAY_VOL_RESET); + if (gArea.bgm != gArea.queued_bgm) { + gArea.bgm = gArea.queued_bgm; + SoundReq(gArea.queued_bgm | SONG_PLAY_VOL_RESET); } DeleteSleepingEntities(); @@ -298,13 +344,13 @@ void GameMain_ChangeRoom(void) { } } -void GameMain_Update(void) { - if (CheckPlayerActivity() || IsEnterPortal()) { +static void GameMain_Update(void) { + if (CheckPlayerInactive() || IsEnterPortal()) { return; } sub_0805340C(); - // leave early if player is entering a portal + // leave early if player is now entering a portal if (gMain.substate != GAMEMAIN_UPDATE) { return; } @@ -325,7 +371,7 @@ void GameMain_Update(void) { DrawOAMCmd(); UpdateCarriedObject(); DrawEntities(); - HandleRoomExit(); + CheckRoomExit(); UpdatePlayerMapCoords(); CheckGameOver(); sub_080185F8(); @@ -346,8 +392,8 @@ void GameMain_Update(void) { } } -void GameMain_BarrelUpdate(void) { - if (CheckPlayerActivity()) +static void GameMain_BarrelUpdate(void) { + if (CheckPlayerInactive()) return; UpdateEntities(); @@ -358,14 +404,14 @@ void GameMain_BarrelUpdate(void) { DrawOAMCmd(); UpdateCarriedObject(); DrawEntities(); - HandleRoomExit(); + CheckRoomExit(); CheckGameOver(); CopyOAM(); if (!gFadeControl.active) ResetSystemPriority(); } -void GameMain_ChangeArea(void) { +static void GameMain_ChangeArea(void) { FlushSprites(); DrawOAMCmd(); DrawEntities(); @@ -379,7 +425,7 @@ void GameMain_ChangeArea(void) { } } -void sub_08051D2C(void) { +static void GameTask_Exit(void) { #ifdef DEMO_USA if (!gFadeControl.active) DoSoftReset(); @@ -405,15 +451,15 @@ static void InitializeEntities(void) { sub_0805329C(); UpdateScrollVram(); sub_0805BB74(0xffffffff); - sub_080531F8(); + UpdatePlayerRoomStatus(); } -void sub_08051D98(void) { +static void sub_08051D98(void) { sub_08052EA0(); gRoomVars.field_0x0 = 1; // remove old entities, unless persistent - QueueEntityDeletion(); + RecycleEntities(); sub_0804AF90(); CallRoomProp6(); @@ -424,21 +470,21 @@ void sub_08051D98(void) { SetPlayerControl(1); } -void sub_08051DCC(void) { +static void sub_08051DCC(void) { gRoomControls.area = gRoomTransition.player_status.area_next; gRoomControls.room = gRoomTransition.player_status.room_next; RoomExitCallback(); gRoomTransition.type = TRANSITION_3; InitRoom(); sub_08052EA0(); - QueueEntityDeletion(); + RecycleEntities(); sub_0804AF90(); CallRoomProp6(); LoadRoomBgm(); } -void UpdateWindcrests() { - if (CheckIsOverworld()) { +static void UpdateWindcrests(void) { + if (AreaIsOverworld()) { struct_08127F94* i; u32 hi_x, hi_y; s32 x, y; @@ -462,31 +508,43 @@ void UpdateWindcrests() { } } -void Subtask_ChuchuCutscene() { - gUnk_080FCA08[gMenu.menuType](); +void Subtask_AuxCutscene(void) { + static AuxCutsceneState* const sStates[] = { + AuxCutscene_Init, + AuxCutscene_Main, + AuxCutscene_Exit, + }; + + sStates[gMenu.menuType](); } -void sub_08051E84() { - struct_080FCA20* p = &gUnk_080FCA20[gUnk_02032EC0.field_0x3]; - gRoomControls.area = p->_0; - gRoomControls.room = p->_1; +static void AuxCutscene_Init(void) { + const CutsceneData* p = &sCutsceneData[gUnk_02032EC0.field_0x3]; + gRoomControls.area = p->area; + gRoomControls.room = p->room; LoadGfxGroups(); gArea.localFlagOffset = GetFlagBankOffset(gRoomControls.area); - SetCurrentRoomPropertyList(p->_0, p->_1); - sub_08052FD8(p->_0, p->_1); - gRoomControls.scroll_x = gRoomControls.origin_x + p->_4; - gRoomControls.scroll_y = gRoomControls.origin_y + p->_6; + SetCurrentRoomPropertyList(p->area, p->room); + LoadCutsceneRoom(p->area, p->room); + gRoomControls.scroll_x = gRoomControls.origin_x + p->x; + gRoomControls.scroll_y = gRoomControls.origin_y + p->y; gMenu.field_0x0 = p->_2; gMenu.field_0x3 = p->_3 & 0xf; gMenu.field_0xc = (void*)p; gMenu.menuType++; gMenu.overlayType = 0; gMenu.transitionTimer = 300; - sub_08051F04(); + AuxCutscene_Main(); // init } -void sub_08051F04(void) { - gUnk_080FCA14[gMenu.field_0x0](); +static void AuxCutscene_Main(void) { + static CutsceneMainState* const sStates[] = { + CutsceneMain_Init, + CutsceneMain_Update, + CutsceneMain_Exit, + }; + + sStates[gMenu.field_0x0](); FlushSprites(); UpdateEntities(); DrawEntities(); @@ -497,8 +555,21 @@ void sub_08051F04(void) { UpdateScrollVram(); } -void sub_08051F40(u32 a1, u32 a2, u32 a3, u32 a4) { - u32 flag = gUnk_080FCA20[gUnk_02032EC0.field_0x3]._3; +static const CutsceneData sCutsceneData[] = { + { AREA_MINISH_WOODS, 0, 0, 0, 336, 528 }, + { AREA_HYRULE_FIELD, 1, 1, 0, 472, 312 }, + { AREA_HYRULE_CASTLE, 2, 1, 1, 16, 16 }, + { AREA_SANCTUARY, 2, 1, 2, 0, 0 }, + { AREA_EZLO_CUTSCENE, 0, 1, 3, 0, 0 }, + { AREA_HOUSE_INTERIORS_2, 16, 1, 4, 0, 0 }, + { AREA_DARK_HYRULE_CASTLE_OUTSIDE, 0, 1, 5, 0, 40 }, + { AREA_FORTRESS_OF_WINDS, 28, 2, 0, 0, 0 }, + { AREA_FORTRESS_OF_WINDS, 29, 2, 1, 0, 0 }, + { AREA_DARK_HYRULE_CASTLE, 14, 2, 2, 16, 16 }, +}; + +static void AuxCutscene_Exit(void) { + u32 flag = sCutsceneData[gUnk_02032EC0.field_0x3]._3; if (flag & 0xF0) { MenuFadeIn(2, flag >> 4); } else { @@ -510,12 +581,12 @@ void sub_08051F40(u32 a1, u32 a2, u32 a3, u32 a4) { void sub_08051F78(u32 a1, u32 a2, u32 a3, u32 a4) { u32 idx = gUnk_02032EC0.field_0x3; - struct_080FCA20* p = &gUnk_080FCA20[idx]; - sub_08051F9C(p->_0, p->_1, p->_4, p->_6); + const CutsceneData* p = &sCutsceneData[idx]; + sub_08051F9C(p->area, p->room, p->x, p->y); } void sub_08051F9C(u32 a1, u32 a2, u32 a3, u32 a4) { - u32 tmp = gScreen.lcd.displayControl & 0x6000; + u32 tmp = gScreen.lcd.displayControl & (DISPCNT_WIN0_ON | DISPCNT_WIN1_ON); sub_08052FF4(a1, a2); gRoomControls.scroll_x = gRoomControls.origin_x + a3; gRoomControls.scroll_y = gRoomControls.origin_y + a4; @@ -525,15 +596,15 @@ void sub_08051F9C(u32 a1, u32 a2, u32 a3, u32 a4) { gScreen.lcd.displayControl |= tmp; } -void sub_08051FF0() { +void sub_08051FF0(void) { sub_0804B0B0(gMenu.field_0xc[0], gMenu.field_0xc[1]); } -void sub_08052004() { +void sub_08052004(void) { gMenu.menuType = 2; } -void sub_08052010() { +static void sub_08052010(void) { InitSoundPlayingInfo(); MessageInitialize(); DispReset(1); @@ -545,15 +616,19 @@ void sub_08052010() { LoadGfxGroup(4); MemClear((void*)0x06000000, 0x20); MemClear(&gMenu, 0x30); - gScreen.lcd.displayControl |= 0x1000; - gScreen.bg1.control = 0x1C01; - gScreen.bg2.control = 0x1D05; + gScreen.lcd.displayControl |= DISPCNT_OBJ_ON; + gScreen.bg1.control = BGCNT_PRIORITY(1) | BGCNT_SCREENBASE(28) | BGCNT_CHARBASE(0); + gScreen.bg2.control = BGCNT_PRIORITY(1) | BGCNT_SCREENBASE(29) | BGCNT_CHARBASE(1); gScreen.bg1.updated = 1; gScreen.bg2.updated = 1; } -void GameOverTask() { - gUnk_080FCA70[gMain.state](); +void GameOverTask(void) { + static GameOverState* const sStates[] = { + GameOver_Init, GameOver_FadeIn, GameOver_TextMove, GameOver_Update, GameOver_Exit, + }; + + sStates[gMain.state](); if (gMain.state != 0) { FlushSprites(); DrawGameOverText(); @@ -561,12 +636,12 @@ void GameOverTask() { } } -void sub_080520C4(u32 idx) { +static void switch_state(u32 idx) { gMain.state = idx; sub_080A7114(0); } -void sub_080520D8(void) { +static void GameOver_Init(void) { if (gFadeControl.active) return; sub_08052010(); @@ -577,10 +652,10 @@ void sub_080520D8(void) { SoundReq(BGM_GAMEOVER); sub_080500F4(4); gFadeControl.mask = 0xFFFF0001; - sub_080520C4(1); + switch_state(1); } -void sub_0805212C(void) { +static void GameOver_FadeIn(void) { if (gFadeControl.active) return; @@ -590,7 +665,7 @@ void sub_0805212C(void) { } else { gMenu.transitionTimer--; if (gMenu.transitionTimer == 0) { - sub_080520C4(2); + switch_state(2); #if defined(DEMO_USA) || defined(DEMO_JP) SoundReq(SONG_VOL_FADE_OUT); DoFade(7, 4); @@ -607,14 +682,13 @@ void sub_0805212C(void) { } } +static void GameOver_TextMove(void) { #if defined(DEMO_USA) || defined(DEMO_JP) -void sub_080521A0(void) { if (gFadeControl.active == 0) { DoSoftReset(); } } #else -void sub_080521A0(void) { s32 temp3; u32 temp2; @@ -685,13 +759,13 @@ void sub_080521A0(void) { default: gScreen.lcd.displayControl &= ~DISPCNT_BG1_ON; sub_08050384(); - sub_080520C4(3); + switch_state(3); return; } } #endif -void sub_080522F4(void) { +static void GameOver_Update(void) { switch (gMenu.menuType) { case 0x0: gMenu.transitionTimer = 0x1e; @@ -743,7 +817,9 @@ void sub_080522F4(void) { } } -void nullsub_107(void) { +// Unused, since task is set above +// if we got here, it would be a softlock +static void GameOver_Exit(void) { } static void DrawGameOverText(void) { @@ -760,9 +836,9 @@ static void DrawGameOverText(void) { for (i = 0; i < 8; ++i) { gOamCmd.x = sOffsets[i]; #ifdef EU - sub_080ADA14(0x1fc, i); + DrawDirect(0x1fc, i); #else - sub_080ADA14(0x1fd, i); + DrawDirect(0x1fd, i); #endif } } @@ -810,7 +886,7 @@ void SetPopupState(u32 type, u32 choice_idx) { gScreen.bg1.updated = fakematch; } -void InitializePlayer(void) { +static void InitializePlayer(void) { static const u8 sPlayerSpawnStates[] = { [PL_SPAWN_DEFAULT] = PLAYER_INIT, [PL_SPAWN_MINISH] = PLAYER_MINISH, @@ -881,7 +957,7 @@ void InitializePlayer(void) { RegisterPlayerHitbox(); } -bool32 CheckIsOverworld(void) { +bool32 AreaIsOverworld(void) { #ifdef EU return gArea.areaMetadata == 0x01; #else @@ -889,33 +965,33 @@ bool32 CheckIsOverworld(void) { #endif } -bool32 sub_08052638(u32 r0) { +bool32 CheckAreaOverworld(u32 area) { #if EU - return gAreaMetadata[r0].flags == 0x01; + return gAreaMetadata[area].flags == 0x01; #else - return gAreaMetadata[r0].flags == 0x81; + return gAreaMetadata[area].flags == 0x81; #endif } #ifndef EU -u32 sub_08052654(void) { +bool32 AreaAllowsWarp(void) { return (gArea.areaMetadata >> 7) & 1; } #endif -u32 CheckIsDungeon(void) { +bool32 AreaIsDungeon(void) { return (gArea.areaMetadata >> 2) & 1; } -u32 CheckIsInteriorWithEnemies(void) { +bool32 AreaHasEnemies(void) { return (gArea.areaMetadata >> 4) & 1; } -u32 CheckIsInteriorNoEnemies(void) { +bool32 AreaHasNoEnemies(void) { return (gArea.areaMetadata >> 6) & 1; } -u32 CheckHasMap(void) { +bool32 AreaHasMap(void) { return (gArea.areaMetadata >> 3) & 1; } @@ -951,7 +1027,7 @@ void ModRupees(s32 delta) { } void sub_080526F8(s32 a1) { - if (sub_08052724()) { + if (AreaHasKeys()) { u8* p = &gSave.unk45C[gArea.dungeon_idx]; if (*p + a1 < 0) *p = 0; @@ -960,41 +1036,41 @@ void sub_080526F8(s32 a1) { } } -u32 sub_08052724(void) { +bool32 AreaHasKeys(void) { return (gArea.areaMetadata >> 1) & 1; } -u32 HasDungeonMap(void) { +bool32 HasDungeonMap(void) { u32 tmp; - if (sub_08052724()) + if (AreaHasKeys()) tmp = gSave.unk45C[gArea.dungeon_idx]; return tmp ? 1 : 0; } -u32 HasDungeonCompass(void) { +bool32 HasDungeonCompass(void) { u32 tmp; - if (sub_08052724()) + if (AreaHasKeys()) tmp = gSave.unk46C[gArea.dungeon_idx] & 4; return tmp ? 1 : 0; } -u32 HasDungeonBigKey(void) { - if (!sub_08052724()) +bool32 HasDungeonBigKey(void) { + if (!AreaHasKeys()) return 0; return (gSave.unk46C[gArea.dungeon_idx] >> 1) & 1; } -u32 HasDungeonSmallKey(void) { +bool32 HasDungeonSmallKey(void) { u32 tmp; - if (!sub_08052724()) + if (!AreaHasKeys()) return 0; return gSave.unk46C[gArea.dungeon_idx] & 1; } -void sub_080527FC(u32 a1, u32 a2) { +void RestoreGameTask(u32 a1) { LoadGfxGroups(); #ifndef EU CleanUpGFXSlots(); @@ -1003,28 +1079,28 @@ void sub_080527FC(u32 a1, u32 a2) { InitUI(1); sub_0801AE44(a1); MemCopy(gUnk_02024090, gPaletteBuffer, 1024); - gUsedPalettes = -1; + gUsedPalettes = 0xffffffff; } -void LoadRoomBgm(void) { - gArea.pMusicIndex = gAreaMetadata[gRoomControls.area]._3; +static void LoadRoomBgm(void) { + gArea.queued_bgm = gAreaMetadata[gRoomControls.area]._3; if (CheckLocalFlagByBank(FLAG_BANK_10, LV6_KANE_START)) { - gArea.pMusicIndex = BGM_FIGHT_THEME2; + gArea.queued_bgm = BGM_FIGHT_THEME2; } } #ifndef EU void sub_08052878(void) { - gArea.musicIndex = gArea.pMusicIndex; + gArea.bgm = gArea.queued_bgm; SoundReq(SONG_STOP_ALL); } static void sub_0805289C(void) { - gArea.pMusicIndex = gArea.musicIndex; + gArea.queued_bgm = gArea.bgm; } #endif -u32 CheckGameOver(void) { +static u32 CheckGameOver(void) { if (gRoomTransition.field_0x4[1]) { InitFade(); gMain.state = 3; @@ -1041,7 +1117,7 @@ void RoomExitCallback(void) { gArea.onExit(gArea.transitionManager); } -u32 HandleRoomExit(void) { +static u32 CheckRoomExit(void) { if (gRoomTransition.transitioningOut && gSave.stats.health != 0 && gPlayerState.framestate != PL_STATE_DIE) { if (StairsAreValid()) { gRoomTransition.transitioningOut = 0; @@ -1147,7 +1223,7 @@ static void InitRoomTransition(void) { } } -u32 sub_08052B24(void) { +bool32 CanDispEzloMessage(void) { s32 tmp = PL_STATE_WALK; if (!(gInput.heldKeys & SELECT_BUTTON) || gPlayerState.controlMode != CONTROL_ENABLED || gUnk_02034490[0] || @@ -1185,7 +1261,7 @@ void DisplayEzloMessage(void) { } #if defined(USA) || defined(DEMO_USA) || defined(DEMO_JP) -void CreateManagerF(void) { +static void CreateManagerF(void) { Entity* e = NULL; if (gRoomTransition.player_status.field_0x24[13]) @@ -1204,7 +1280,7 @@ void CreateManagerF(void) { } #endif -void sub_08052C3C(void) { +static void sub_08052C3C(void) { if (gArea.field_0x18 == 0) gArea.unk1A = gArea.field_0x18; if (gArea.unk1A) { @@ -1213,25 +1289,25 @@ void sub_08052C3C(void) { } } -void UpdatePlayerMapCoords(void) { - if (!CheckIsInteriorNoEnemies()) { - if (CheckIsOverworld()) { +static void UpdatePlayerMapCoords(void) { + if (!AreaHasNoEnemies()) { + if (AreaIsOverworld()) { gRoomTransition.player_status.overworld_map_x = gPlayerEntity.x.HALF_U.HI; gRoomTransition.player_status.overworld_map_y = gPlayerEntity.y.HALF_U.HI; - } else if (CheckIsDungeon()) { + } else if (AreaIsDungeon()) { gRoomTransition.player_status.dungeon_map_x = gPlayerEntity.x.HALF.HI; gRoomTransition.player_status.dungeon_map_y = gPlayerEntity.y.HALF.HI; } } } -void sub_08052CA4(u32 area, u32 room, u32 x, u32 y) { +void SetWorldMapPos(u32 area, u32 room, u32 x, u32 y) { RoomHeader* hdr = gAreaRoomHeaders[area] + room; gRoomTransition.player_status.overworld_map_x = hdr->map_x + x; gRoomTransition.player_status.overworld_map_y = hdr->map_y + y; } -void sub_08052CD0(u32 area, u32 room, u32 x, u32 y) { +void SetDungeonMapPos(u32 area, u32 room, u32 x, u32 y) { RoomHeader* hdr = gAreaRoomHeaders[area] + room; gRoomTransition.player_status.dungeon_map_x = hdr->map_x + x; gRoomTransition.player_status.dungeon_map_y = hdr->map_y + y; @@ -1324,7 +1400,7 @@ static u32 sub_08052EF4(s32 idx) { * @brief If enabled, this type of transition does not change the room * and keeps all entities. */ -void UpdateFakeScroll(void) { +static void UpdateFakeScroll(void) { u32 x, y; LinkedList* ll; Entity* e; @@ -1365,7 +1441,7 @@ void UpdateFakeScroll(void) { } while (++ll < gEntityLists + 9); } -void sub_08052FD8(u32 area, u32 room) { +void LoadCutsceneRoom(u32 area, u32 room) { sub_08052FF4(area, room); gRoomControls.camera_target = NULL; sub_0807C860(); @@ -1440,7 +1516,7 @@ static u32 sub_08053144(void) { return ret; } -void CheckAreaDiscovery(void) { +static void CheckAreaDiscovery(void) { if (!sub_08053144()) return; @@ -1465,12 +1541,12 @@ void CheckAreaDiscovery(void) { WriteBit(gSave.areaVisitFlags, gArea.locationIndex); } -void sub_080531F8(void) { +static void UpdatePlayerRoomStatus(void) { gPlayerState.startPosX = gPlayerEntity.x.HALF.HI; gPlayerState.startPosY = gPlayerEntity.y.HALF.HI; if (sub_08053144()) { MemCopy(&gRoomTransition.player_status, &gSave.saved_status, sizeof gRoomTransition.player_status); - if (CheckIsDungeon()) { + if (AreaIsDungeon()) { gRoomTransition.player_status.dungeon_area = gRoomControls.area; gRoomTransition.player_status.dungeon_room = gRoomControls.room; gRoomTransition.player_status.dungeon_x = gPlayerEntity.x.HALF.HI; @@ -1490,7 +1566,7 @@ void sub_08053250(void) { MemCopy(&gRoomTransition.player_status, &gSave.saved_status, sizeof gRoomTransition.player_status); } -void sub_0805329C(void) { +static void sub_0805329C(void) { if (sub_08053144()) { switch (gRoomControls.area) { case AREA_DEEPWOOD_SHRINE: @@ -1556,7 +1632,7 @@ void sub_080533CC(void) { gUsedPalettes |= 8; } -void sub_0805340C(void) { +static void sub_0805340C(void) { static void (*const sHandlers[])(u32*) = { sub_08053434, DummyHandler, sub_080534E4, DummyHandler, DummyHandler, DummyHandler, DummyHandler, DummyHandler, }; @@ -1564,7 +1640,7 @@ void sub_0805340C(void) { u32* p; u32 i; - p = gSave.unk48C; + p = gSave.timers; for (i = 0; i < 8; i++, p++) { (sHandlers[i])(p); } @@ -1590,20 +1666,20 @@ static void sub_08053460(void) { FLAG_BANK_10, LV6_KANE_2ND, FLAG_BANK_10, LV6_SOTO_ENDING, 0xFFFF }; - gSave.unk48C[0] = 0; + gSave.timers[0] = 0; if (CheckLocalFlagByBank(FLAG_BANK_10, LV6_ZELDA_DISCURSE)) ClearGlobalFlag(ZELDA_CHASE); ClearFlagArray(sClearFlags); } void sub_08053494(void) { - gSave.unk48C[0] = 10800; + gSave.timers[0] = 10800; } void sub_080534AC(void) { if (CheckLocalFlagByBank(FLAG_BANK_10, LV6_KANE_START)) { ClearLocalFlagByBank(FLAG_BANK_10, LV6_KANE_START); - gSave.unk48C[0] = 0; + gSave.timers[0] = 0; SoundReq(SONG_STOP_BGM); } } @@ -1615,11 +1691,11 @@ static void sub_080534E4(u32* a1) { } } -void sub_08053500(void) { - gSave.unk48C[2] = 36000; +void InitBiggoronTimer(void) { + gSave.timers[2] = 36000; } -void ResetTmpFlags(void) { +static void ResetTmpFlags(void) { static const u16 sClearFlags[] = { FLAG_BANK_2, BILL00_SHICHOU_00, FLAG_BANK_2, BILL0A_YADO_TAKARA_00, FLAG_BANK_2, BILL0C_SCHOOLR_00, FLAG_BANK_1, MACHI00_00, FLAG_BANK_1, MACHI00_02, FLAG_BANK_2, MHOUSE06_00, diff --git a/src/manager/manager10.c b/src/manager/manager10.c index 4eb78e21..cedc2a29 100644 --- a/src/manager/manager10.c +++ b/src/manager/manager10.c @@ -60,21 +60,21 @@ void sub_080595E4(Manager10* this) { void sub_08059608(Manager10* this) { if (this->unk_23) { if (!--this->unk_23) { - gArea.musicIndex = gArea.pMusicIndex; - SoundReq(gArea.musicIndex); + gArea.bgm = gArea.queued_bgm; + SoundReq(gArea.bgm); } return; } if (sub_0805986C()) { - if (gArea.pMusicIndex != 0x1E) { - gArea.pMusicIndex = 0x1E; + if (gArea.queued_bgm != 0x1E) { + gArea.queued_bgm = 0x1E; this->unk_23 = 0x78; SoundReq(0x800d0000); } return; } - if (gArea.pMusicIndex != 0x37) { - gArea.pMusicIndex = 0x37; + if (gArea.queued_bgm != 0x37) { + gArea.queued_bgm = 0x37; this->unk_23 = 0x78; SoundReq(0x800d0000); } @@ -210,6 +210,6 @@ void sub_08059960(const u16* unk1, const u16* unk2, u16* unk3, u8 unk4) { void sub_08059994() { if (sub_0805986C()) { LoadPaletteGroup(0x5B); - gArea.pMusicIndex = 0x1E; + gArea.queued_bgm = 0x1E; } } diff --git a/src/manager/manager24.c b/src/manager/manager24.c index 388fd389..e4e5bc04 100644 --- a/src/manager/manager24.c +++ b/src/manager/manager24.c @@ -89,7 +89,7 @@ void sub_0805C050(u32 pos, u32 layer) { SetTileType(0xb4, pos - 1, layer); SetTileType(0xb7, pos + 1, layer); if (layer == 1) { - if (CheckIsInteriorWithEnemies() != 0) { + if (AreaHasEnemies() != 0) { Entity* object = CreateObject(ARCHWAY, 0xe, 0); if (object != NULL) { object->x.HALF.HI = ((pos & 0x3f) << 4) + 8 + gRoomControls.origin_x; @@ -97,7 +97,7 @@ void sub_0805C050(u32 pos, u32 layer) { } SetTileType(0xb5, pos, 1); } else { - if (CheckIsDungeon() != 0) { + if (AreaIsDungeon() != 0) { SetTileType(0xb5, pos, 1); } else { SetTileType(0xb6, pos, 1); @@ -110,7 +110,7 @@ void sub_0805C050(u32 pos, u32 layer) { } else { Entity* object; SetTileType(0xb5, pos, 2); - if (CheckIsDungeon() == 0) { + if (AreaIsDungeon() == 0) { return; } object = CreateObject(ARCHWAY, sub_0805C608(), 6); @@ -133,7 +133,7 @@ void sub_0805C178(u32 pos, u32 layer) { SetTileType(0xf7, pos + 0x41, layer); if (layer == 1) { - if (CheckIsInteriorWithEnemies() != 0) { + if (AreaHasEnemies() != 0) { object = CreateObject(ARCHWAY, 0xe, 1); if (object != NULL) { @@ -142,7 +142,7 @@ void sub_0805C178(u32 pos, u32 layer) { } SetTileType(0xf2, pos, 1); } else { - if (CheckIsDungeon() != 0) { + if (AreaIsDungeon() != 0) { SetTileType(0xf2, pos, 1); } else { SetTileType(0xf3, pos, 1); @@ -153,7 +153,7 @@ void sub_0805C178(u32 pos, u32 layer) { SetTileType(0xfa, pos + 0x41, 2); } else { SetTileType(0xf2, pos, 2); - if (CheckIsDungeon() == 0) { + if (AreaIsDungeon() == 0) { return; } object = CreateObject(ARCHWAY, sub_0805C608(), 7); @@ -175,7 +175,7 @@ void sub_0805C294(u32 pos, u32 layer) { SetTileType(0xd6, pos + 0x40, layer); SetTileType(0xd7, pos + 0x41, layer); if (layer == 1) { - if (CheckIsInteriorWithEnemies() != 0) { + if (AreaHasEnemies() != 0) { object = CreateObject(ARCHWAY, 0xe, 2); if (object != NULL) { object->x.HALF.HI = ((pos & 0x3f) << 4) + 8 + gRoomControls.origin_x; @@ -183,7 +183,7 @@ void sub_0805C294(u32 pos, u32 layer) { } SetTileType(0xd2, pos, 1); } else { - if (CheckIsDungeon() != 0) { + if (AreaIsDungeon() != 0) { SetTileType(0xd2, pos, 1); } else { SetTileType(0xd3, pos, 1); @@ -194,7 +194,7 @@ void sub_0805C294(u32 pos, u32 layer) { SetTileType(0xda, pos + 0x41, 2); } else { SetTileType(0xd2, pos, 2); - if (CheckIsDungeon() == 0) { + if (AreaIsDungeon() == 0) { return; } object = CreateObject(ARCHWAY, sub_0805C608(), 8); @@ -216,7 +216,7 @@ void sub_0805C3B4(u32 pos, u32 layer) { SetTileType(0xe3, pos + 0x3f, layer); SetTileType(0xe7, pos + 0x40, layer); if (layer == 1) { - if (CheckIsInteriorWithEnemies() != 0) { + if (AreaHasEnemies() != 0) { object = CreateObject(ARCHWAY, 0xe, 3); if (object != NULL) { object->x.HALF.HI = ((pos & 0x3f) << 4) + -0x10 + gRoomControls.origin_x; @@ -224,7 +224,7 @@ void sub_0805C3B4(u32 pos, u32 layer) { } SetTileType(0xe5, pos, 1); } else { - if (CheckIsDungeon() != 0) { + if (AreaIsDungeon() != 0) { SetTileType(0xe5, pos, 1); } else { SetTileType(0xe6, pos, 1); @@ -235,7 +235,7 @@ void sub_0805C3B4(u32 pos, u32 layer) { SetTileType(0xea, pos + 0x3f, 2); } else { SetTileType(0xe5, pos, 2); - if (CheckIsDungeon() == 0) { + if (AreaIsDungeon() == 0) { return; } @@ -258,7 +258,7 @@ void sub_0805C4E0(u32 pos, u32 layer) { SetTileType(0xc4, pos - 1, layer); SetTileType(0xc7, pos + 1, layer); if (layer == 1) { - if (CheckIsInteriorWithEnemies() != 0) { + if (AreaHasEnemies() != 0) { object = CreateObject(ARCHWAY, 0xe, 0); if (object != NULL) { object->x.HALF.HI = ((pos & 0x3f) << 4) + 8 + gRoomControls.origin_x; @@ -266,7 +266,7 @@ void sub_0805C4E0(u32 pos, u32 layer) { } SetTileType(0xc5, pos, 1); } else { - if (CheckIsDungeon() != 0) { + if (AreaIsDungeon() != 0) { SetTileType(0xc5, pos, 1); } else { SetTileType(0xc6, pos, 1); @@ -277,7 +277,7 @@ void sub_0805C4E0(u32 pos, u32 layer) { SetTileType(0xca, pos - 0x3f, 2); } else { SetTileType(0xc5, pos, 2); - if (CheckIsDungeon() == 0) { + if (AreaIsDungeon() == 0) { return; } diff --git a/src/manager/manager37.c b/src/manager/manager37.c index 348339ba..9f196c25 100644 --- a/src/manager/manager37.c +++ b/src/manager/manager37.c @@ -38,7 +38,7 @@ void sub_0805DE68(Manager* this) { *(u8*)&gRoomTransition.field_0x3a = 0x20; *((u8*)&gRoomTransition.field_0x3a + 1) = 0x20; #if !defined(EU) && !defined(JP) - gSave.unk48C[3] = 0x1194; + gSave.timers[3] = 0x1194; #endif } @@ -119,7 +119,7 @@ void sub_0805E000(Manager* this) { *(Entity**)this->unk_18 = enemy; this->action = 1; SetPlayerControl(3); - gArea.pMusicIndex = 0x80010000; + gArea.queued_bgm = 0x80010000; DoFade(6, 4); SoundReq(SFX_APPARATE); } diff --git a/src/manager/manager39.c b/src/manager/manager39.c index ffa4bb4e..9eceae78 100644 --- a/src/manager/manager39.c +++ b/src/manager/manager39.c @@ -48,7 +48,7 @@ void sub_0805E140(Manager39* this) { this->manager.unk_0e = 0x78; this->manager.unk_0f = 0x3c; SetDefaultPriority((Entity*)this, PRIO_HIGHEST); - sub_0805E1F8(gUnk_08108DE8[gArea.locationIndex], CheckIsDungeon()); + sub_0805E1F8(gUnk_08108DE8[gArea.locationIndex], AreaIsDungeon()); } void sub_0805E18C(Manager39* this) { diff --git a/src/manager/managerB.c b/src/manager/managerB.c index 6d0fc1fe..a476efe7 100644 --- a/src/manager/managerB.c +++ b/src/manager/managerB.c @@ -52,8 +52,8 @@ void ManagerB_WaitForFlag(ManagerB* this) { ManagerB_LoadFight(&this->manager); if (!this->unk_35) { tmp = gRoomVars.field_0x9 ? gRoomVars.field_0x9 : 0x33; - this->unk_20 = gArea.musicIndex; - gArea.musicIndex = tmp; + this->unk_20 = gArea.bgm; + gArea.bgm = tmp; SoundReq(tmp); } sub_080186C0(0xB0F); @@ -69,8 +69,8 @@ void ManagerB_WaitForDone(ManagerB* this) { // restore music (if it was set, which apparently is only possible if there's a flag the fight waited for) if (this->unk_3c) { if (!this->unk_35) { - gArea.musicIndex = this->unk_20; - SoundReq(gArea.musicIndex); + gArea.bgm = this->unk_20; + SoundReq(gArea.bgm); sub_0801855C(); } } diff --git a/src/manager/managerC.c b/src/manager/managerC.c index fedd7800..f198cf04 100644 --- a/src/manager/managerC.c +++ b/src/manager/managerC.c @@ -293,7 +293,7 @@ void sub_08058D34() { gScreen.bg1.yOffset = tmp2; gScreen.controls.layerFXControl = 0x3456; gScreen.controls.alphaBlend = 0x909; - gArea.musicIndex = gArea.pMusicIndex; + gArea.bgm = gArea.queued_bgm; gUpdateVisibleTiles = 0; if (CheckGlobalFlag(LV1TARU_OPEN)) { LoadGfxGroup(0x4A); diff --git a/src/npc/bigGoron.c b/src/npc/bigGoron.c index 9a357ae5..7f45152e 100644 --- a/src/npc/bigGoron.c +++ b/src/npc/bigGoron.c @@ -14,7 +14,7 @@ extern u8 gMapDataTopSpecial[]; void sub_0806D138(u8* param_1, u8* param_2); -extern void sub_08053500(void); +extern void InitBiggoronTimer(void); extern u32 gUnk_0200B650; void sub_0806D110(void); @@ -302,7 +302,7 @@ ASM_FUNC("asm/non_matching/bigGoron/sub_0806D520.inc", void sub_0806D520(Entity* NONMATCH("asm/non_matching/bigGoron/sub_0806D5D4.inc", void sub_0806D5D4(void)) { u32 itemSlot; - sub_08053500(); + InitBiggoronTimer(); itemSlot = IsItemEquipped(0xd); if (itemSlot != 2) { ((u8*)&gSave.stats.itemOnA)[itemSlot] = 0; @@ -312,7 +312,7 @@ NONMATCH("asm/non_matching/bigGoron/sub_0806D5D4.inc", void sub_0806D5D4(void)) END_NONMATCH void sub_0806D600(Entity* this, ScriptExecutionContext* context) { - context->condition = gSave.unk48C[2] == 0; + context->condition = gSave.timers[2] == 0; } void sub_0806D620(void) { diff --git a/src/npc/forestMinish.c b/src/npc/forestMinish.c index 988110f7..23de6af6 100644 --- a/src/npc/forestMinish.c +++ b/src/npc/forestMinish.c @@ -224,13 +224,13 @@ void sub_08060318(void) { } void sub_08060340(void) { - gSave.unk48C[1] = gSave.unk50; + gSave.timers[1] = gSave.unk50; } u32 sub_08060354(void) { s32 iVar2; - iVar2 = gSave.unk50 - gSave.unk48C[1]; + iVar2 = gSave.unk50 - gSave.timers[1]; if (CheckGlobalFlag(DRUG_1) == 0) { if (4 < iVar2) { return 0x8444; diff --git a/src/object/archway.c b/src/object/archway.c index e05095d5..556d5268 100644 --- a/src/object/archway.c +++ b/src/object/archway.c @@ -8,7 +8,7 @@ void Archway(Entity* this) { this->frameIndex = this->type2; this->collisionLayer = 2; UpdateSpriteForCollisionLayer(this); - if (CheckIsDungeon()) { + if (AreaIsDungeon()) { this->spritePriority.b0 = 1; } } diff --git a/src/object/lockedDoor.c b/src/object/lockedDoor.c index 6691205d..9762c83c 100644 --- a/src/object/lockedDoor.c +++ b/src/object/lockedDoor.c @@ -127,7 +127,7 @@ void sub_08083338(Entity* this) { if (!CheckFlags(this->field_0x86.HWORD)) { this->frameIndex |= 4; sub_080836DC(this, this->field_0x7c.BYTES.byte2, this->field_0x76.HWORD); - if (!CheckIsDungeon()) { + if (!AreaIsDungeon()) { this->action = 5; } else { this->action = 8; diff --git a/src/object/minishSizedArchway.c b/src/object/minishSizedArchway.c index d087c8dc..31162457 100644 --- a/src/object/minishSizedArchway.c +++ b/src/object/minishSizedArchway.c @@ -7,7 +7,7 @@ void MinishSizedArchway(Entity* this) { this->frameIndex = this->type; this->collisionLayer = 2; UpdateSpriteForCollisionLayer(this); - if (CheckIsDungeon()) { + if (AreaIsDungeon()) { this->spritePriority.b0 = 1; } } diff --git a/src/object/minishSizedEntrance.c b/src/object/minishSizedEntrance.c index 36d8e27a..a4c9c296 100644 --- a/src/object/minishSizedEntrance.c +++ b/src/object/minishSizedEntrance.c @@ -14,7 +14,7 @@ void sub_08090EC0(Entity* this) { this->spriteRendering.b3 = 3; this->spritePriority.b0 = 7; this->frameIndex = this->type2; - if (CheckIsDungeon()) { + if (AreaIsDungeon()) { this->frameIndex += 4; sub_080AE068(this); LoadFixedGFX(this, 0x184); diff --git a/src/object/warpPoint.c b/src/object/warpPoint.c index b8f38bcf..3ed7ed2f 100644 --- a/src/object/warpPoint.c +++ b/src/object/warpPoint.c @@ -45,7 +45,7 @@ void sub_0808B474(Entity* this) { if (CheckFlags(this->field_0x86.HWORD)) { sub_0808B830(this); } else { - if (CheckIsDungeon() && sub_0807CAEC(this->type)) { + if (AreaIsDungeon() && sub_0807CAEC(this->type)) { sub_0808B830(this); } } @@ -63,7 +63,7 @@ void sub_0808B474(Entity* this) { void sub_0808B530(Entity* this) { if (CheckFlags(this->field_0x86.HWORD)) { sub_0808B830(this); - if (CheckIsDungeon()) { + if (AreaIsDungeon()) { sub_0807CAC8(this->type); } this->action = 2; diff --git a/src/player.c b/src/player.c index 5bb8ed04..26ee17c9 100644 --- a/src/player.c +++ b/src/player.c @@ -320,7 +320,7 @@ extern u16 script_BedAtSimons; extern Entity* gPlayerClones[]; extern ScriptExecutionContext gPlayerScriptExecutionContext; -NONMATCH("asm/non_matching/playerItemPacciCane/sub_080705AC.inc", u32 CheckPlayerActivity(void)) { +NONMATCH("asm/non_matching/playerItemPacciCane/sub_080705AC.inc", u32 CheckPlayerInactive(void)) { if (!((gInput.newKeys & START_BUTTON) == 0 || gFadeControl.active || gUnk_02034490[0] || (gMessage.doTextBox & 0x7F) || gSave.stats.health == 0 || !gSave.fillerD0[34] || gPlayerState.controlMode != 0 || gPriorityHandler.priority_timer != 0)) { @@ -1053,7 +1053,7 @@ static void PlayerUsePortal(Entity* this) { if ((gInput.newKeys & (B_BUTTON | R_BUTTON)) == 0) return; - if (CheckIsDungeon() || gArea.curPortalType == 3) { + if (AreaIsDungeon() || gArea.curPortalType == 3) { this->subAction = 7; this->actionDelay = 30; DoFade(7, 16); @@ -2228,7 +2228,7 @@ static void sub_08072B5C(Entity* this) { return; } - if (!CheckIsOverworld()) { + if (!AreaIsOverworld()) { sub_08004542(this); } this->subAction++; diff --git a/src/projectile/mandiblesProjectile.c b/src/projectile/mandiblesProjectile.c index e5b27454..50fca7d1 100644 --- a/src/projectile/mandiblesProjectile.c +++ b/src/projectile/mandiblesProjectile.c @@ -147,7 +147,7 @@ void MandiblesProjectile_Action3(Entity* this) { this->direction = uVar1 << 2; this->animationState = uVar1 << 0x1a >> 0x1a; this->hitbox = &gHitbox_0; - if (CheckIsDungeon() != 0) { + if (AreaIsDungeon() != 0) { this->spriteOrientation.flipY = 1; } sub_080AA3E0(this, 0); diff --git a/src/room.c b/src/room.c index 2f1bb48d..76d09d83 100644 --- a/src/room.c +++ b/src/room.c @@ -280,7 +280,7 @@ void LoadRoomTileEntities(TileEntity* list) { LoadBombableWallTile(t); break; case MUSIC_SETTER: - gArea.pMusicIndex = t->_3; + gArea.queued_bgm = t->_3; break; case DARKNESS: LoadDarknessTile(t); diff --git a/src/roomInit.c b/src/roomInit.c index b2c65101..11bc69fb 100644 --- a/src/roomInit.c +++ b/src/roomInit.c @@ -517,7 +517,7 @@ void sub_StateChange_HouseInteriors1_SchoolWest(void) { LoadRoomEntityList(&gUnk_080D7038); } if (gRoomVars.field_0x0 == 0) { - sub_08052CA4(2, 0, 0x2c8, 0xa8); + SetWorldMapPos(2, 0, 0x2c8, 0xa8); } } @@ -564,17 +564,17 @@ void sub_StateChange_HyruleCastle_0(void) { #if defined(JP) || defined(DEMO_JP) if (CheckGlobalFlag(CASTLE_BGM) || CheckGlobalFlag(ENDING)) { - gArea.pMusicIndex = gArea.musicIndex; + gArea.queued_bgm = gArea.bgm; } #elif defined(EU) if (CheckGlobalFlag(ENDING)) { - gArea.pMusicIndex = gArea.musicIndex; + gArea.queued_bgm = gArea.bgm; } #else if (CheckGlobalFlag(CASTLE_BGM)) { - gArea.pMusicIndex = BGM_HYRULE_CASTLE_NOINTRO; + gArea.queued_bgm = BGM_HYRULE_CASTLE_NOINTRO; } else if (CheckGlobalFlag(ENDING)) { - gArea.pMusicIndex = gArea.musicIndex; + gArea.queued_bgm = gArea.bgm; } #endif } @@ -594,7 +594,7 @@ extern EntityData gUnk_080D73E0; void sub_StateChange_HyruleCastle_1(void) { if (CheckGlobalFlag(ENDING)) { - gArea.pMusicIndex = gArea.musicIndex; + gArea.queued_bgm = gArea.bgm; } else { if (!CheckGlobalFlag(LV2_CLEAR)) { LoadRoomEntityList(&gUnk_080D73B0); @@ -604,7 +604,7 @@ void sub_StateChange_HyruleCastle_1(void) { } #ifndef EU if (CheckGlobalFlag(CASTLE_BGM)) { - gArea.pMusicIndex = gArea.musicIndex; + gArea.queued_bgm = gArea.bgm; } #endif } @@ -622,16 +622,16 @@ extern EntityData gUnk_080D7618; void sub_StateChange_HyruleCastle_2(void) { #ifndef EU if (CheckGlobalFlag(CASTLE_BGM)) { - gArea.pMusicIndex = gArea.musicIndex; + gArea.queued_bgm = gArea.bgm; } #endif if (CheckGlobalFlag(ENDING)) { LoadRoomEntityList(&gUnk_080D7618); - gArea.pMusicIndex = gArea.musicIndex; + gArea.queued_bgm = gArea.bgm; } else if (CheckGlobalFlag(TABIDACHI) == 0) { LoadRoomEntityList(&gUnk_080D74C8); - gArea.pMusicIndex = BGM_HYRULE_CASTLE_NOINTRO; + gArea.queued_bgm = BGM_HYRULE_CASTLE_NOINTRO; } else if (CheckGlobalFlag(LV1_CLEAR) == 0) { LoadRoomEntityList(&gUnk_080D7588); } else { @@ -669,7 +669,7 @@ void sub_StateChange_HyruleCastle_4(void) { sub_080751E8(0, 6, &script_PlayerWakingUpInHyruleCastle); #ifdef EU SoundReq(0x80010000); - gArea.musicIndex = gArea.pMusicIndex; + gArea.bgm = gArea.queued_bgm; } #else } @@ -683,9 +683,9 @@ void sub_StateChange_HyruleCastle_4(void) { #endif if (CheckGlobalFlag(CASTLE_BGM)) { #if defined(JP) || defined(DEMO_JP) - gArea.pMusicIndex = gArea.musicIndex; + gArea.queued_bgm = gArea.bgm; #else - gArea.pMusicIndex = BGM_HYRULE_CASTLE_NOINTRO; + gArea.queued_bgm = BGM_HYRULE_CASTLE_NOINTRO; #endif } #if !(defined(JP) || defined(DEMO_JP)) @@ -1011,11 +1011,11 @@ void sub_0804BF38(u32 arg0, struct_0804BF38* arg1) ASM_FUNC("asm/non_matching/sub_0804BF38.inc", void sub_0804BF38(Entity* this, ScriptExecutionContext* context)) #endif -u32 sub_unk3_EzloCutscene_Main() { +u32 sub_unk3_EzloAuxCutscene_Main() { return 1; } -void sub_StateChange_EzloCutscene_Main() { +void sub_StateChange_EzloAuxCutscene_Main() { } u32 sub_unk3_RoyalValley_Main() { @@ -2264,7 +2264,7 @@ void sub_StateChange_DeepwoodShrineBoss_Main(void) { LoadRoomEntityList(&gUnk_additional_a_DeepwoodShrineBoss_Main); } else { SoundReq(SONG_STOP_BGM); - gArea.musicIndex = gArea.pMusicIndex; + gArea.bgm = gArea.queued_bgm; } } @@ -2462,7 +2462,7 @@ void sub_StateChange_CaveOfFlamesBoss_Main(void) { LoadRoomEntityList(&gUnk_additional_a_CaveOfFlamesBoss_Main); } else { SoundReq(SONG_STOP_BGM); - gArea.musicIndex = gArea.pMusicIndex; + gArea.bgm = gArea.queued_bgm; } } @@ -2562,7 +2562,7 @@ void sub_StateChange_FortressOfWinds_Mazaal(void) { SetPlayerControl(3); } } - gArea.musicIndex = gArea.pMusicIndex; + gArea.bgm = gArea.queued_bgm; } } @@ -2791,7 +2791,7 @@ void sub_StateChange_TempleOfDroplets_BigOcto(void) { LoadRoomEntityList(&gUnk_additional_a_TempleOfDroplets_BigOcto); } else { SoundReq(SONG_STOP_BGM); - gArea.musicIndex = gArea.pMusicIndex; + gArea.bgm = gArea.queued_bgm; } } @@ -3112,7 +3112,7 @@ void sub_StateChange_PalaceOfWinds_0(void) { if (!GetInventoryValue(ITEM_WIND_ELEMENT)) { SetPlayerControl(3); LoadRoomEntityList(&gUnk_additional_8_PalaceOfWinds_0); - gArea.musicIndex = gArea.pMusicIndex; + gArea.bgm = gArea.queued_bgm; SoundReq(SONG_STOP_BGM); } } @@ -3522,7 +3522,7 @@ u32 sub_unk3_Vaati2_Main() { void sub_StateChange_Vaati2_Main(void) { SoundReq(SONG_STOP_BGM); - gArea.musicIndex = gArea.pMusicIndex; + gArea.bgm = gArea.queued_bgm; } u32 sub_unk3_Vaati3_Main() { @@ -3584,7 +3584,7 @@ void sub_StateChange_DarkHyruleCastleOutside_ZeldaStatuePlatform(void) { LoadRoomEntityList(&gUnk_080EADB8); SetTileType(0x4072, 0x145, 1); SetTileType(0x4072, 0x149, 1); - gArea.pMusicIndex = 0; + gArea.queued_bgm = 0; } } @@ -3629,14 +3629,14 @@ void sub_StateChange_DarkHyruleCastleOutside_Garden(void) { if (!CheckLocalFlag(0x7f)) { LoadRoomEntityList(&gUnk_080EAEC0); SetLocalFlag(0x7f); - gArea.pMusicIndex = 0x11; + gArea.queued_bgm = 0x11; } else { LoadRoomEntityList(&gUnk_080EAF20); - gArea.pMusicIndex = gArea.musicIndex; + gArea.queued_bgm = gArea.bgm; } } else { if (CheckLocalFlag(0x79)) { - gArea.pMusicIndex = gArea.musicIndex; + gArea.queued_bgm = gArea.bgm; } if (!CheckLocalFlag(1)) { LoadRoomEntityList(&gUnk_080EAE60); @@ -3701,7 +3701,7 @@ u32 sub_unk3_DarkHyruleCastle_0(void) { if (CheckGlobalFlag(ENDING)) { gRoomVars.field_0x6c[0] = &gUnk_080EB604; gRoomVars.field_0x6c[2] = 0; - gArea.musicIndex = gArea.pMusicIndex = BGM_BEAT_VAATI; + gArea.bgm = gArea.queued_bgm = BGM_BEAT_VAATI; } else if (CheckLocalFlag(0x79)) { gRoomVars.field_0x6c[0] = NULL; if (!CheckLocalFlag(0x7a)) { @@ -3716,7 +3716,7 @@ u32 sub_unk3_DarkHyruleCastle_0(void) { void sub_StateChange_DarkHyruleCastle_0(void) { if (CheckGlobalFlag(ENDING)) { - gArea.pMusicIndex = gArea.musicIndex; + gArea.queued_bgm = gArea.bgm; } if (CheckLocalFlag(0x79)) { @@ -3731,7 +3731,7 @@ void sub_0804D9B0(void) { sub_0807BB98(0x357, 1, 5, 1); sub_0807BB98(0x55f, 1, 2, 1); LoadRoomEntityList(&gUnk_080EB684); - gArea.pMusicIndex = gArea.musicIndex; + gArea.queued_bgm = gArea.bgm; } u32 sub_unk3_DarkHyruleCastle_1() { @@ -3975,7 +3975,7 @@ void sub_StateChange_DarkHyruleCastle_28(void) { if (CheckLocalFlag(0x79)) { sub_0807BB98(0x90, 1, 1, 5); LoadRoomEntityList(&gUnk_080ECFCC); - gArea.pMusicIndex = gArea.musicIndex; + gArea.queued_bgm = gArea.bgm; } } @@ -4005,7 +4005,7 @@ u32 sub_unk3_DarkHyruleCastle_31(void) { void sub_StateChange_DarkHyruleCastle_31(void) { if (CheckGlobalFlag(ENDING)) { - gArea.pMusicIndex = gArea.musicIndex; + gArea.queued_bgm = gArea.bgm; } } @@ -4170,7 +4170,7 @@ void sub_StateChange_DarkHyruleCastle_53(void) { if (CheckLocalFlag(0x79)) { sub_0807BB98(3, 2, 5, 1); LoadRoomEntityList(&gUnk_080EE314); - gArea.pMusicIndex = gArea.musicIndex; + gArea.queued_bgm = gArea.bgm; } } @@ -4194,7 +4194,7 @@ void sub_StateChange_DarkHyruleCastle_55(void) { if (CheckLocalFlag(0x79)) { sub_0807BB98(0x392, 2, 2, 5); LoadRoomEntityList(&gUnk_080EE5DC); - gArea.pMusicIndex = gArea.musicIndex; + gArea.queued_bgm = gArea.bgm; } } @@ -4450,16 +4450,16 @@ void sub_StateChange_CastleGarden_Main(void) { if (!CheckGlobalFlag(TABIDACHI)) { LoadRoomEntityList(&gUnk_080F0650); #ifdef EU - gArea.pMusicIndex = BGM_FESTIVAL_APPROACH; + gArea.queued_bgm = BGM_FESTIVAL_APPROACH; #else - gArea.pMusicIndex = BGM_BEANSTALK; + gArea.queued_bgm = BGM_BEANSTALK; SetGlobalFlag(CASTLE_BGM); } else { if (CheckGlobalFlag(CASTLE_BGM)) { #if defined(JP) || defined(DEMO_JP) - gArea.pMusicIndex = gArea.musicIndex; + gArea.queued_bgm = gArea.bgm; #else - gArea.pMusicIndex = BGM_HYRULE_CASTLE_NOINTRO; + gArea.queued_bgm = BGM_HYRULE_CASTLE_NOINTRO; #endif } #endif @@ -4743,7 +4743,7 @@ extern EntityData gUnk_080F2E2C; void sub_StateChange_HouseInteriors2_LinksHouseEntrance(void) { if (!CheckGlobalFlag(OUTDOOR)) { - gArea.musicIndex = gArea.pMusicIndex; + gArea.bgm = gArea.queued_bgm; SoundReq(SONG_PLAY_VOL_RESET | BGM_MINISH_CAP); } if (!CheckGlobalFlag(START)) { @@ -4760,7 +4760,7 @@ extern EntityData gUnk_080F2EC4; void sub_StateChange_HouseInteriors2_LinksHouseSmith(void) { if (!CheckGlobalFlag(OUTDOOR)) { - gArea.musicIndex = gArea.pMusicIndex; + gArea.bgm = gArea.queued_bgm; SoundReq(SONG_PLAY_VOL_RESET | BGM_MINISH_CAP); } if (!CheckGlobalFlag(START)) { @@ -4810,7 +4810,7 @@ void sub_StateChange_HouseInteriors2_LinksHouseBedroom(void) { sub_080751E8(0, 6, &script_PlayerIntro); } if (!CheckGlobalFlag(OUTDOOR)) { - gArea.musicIndex = gArea.pMusicIndex; + gArea.bgm = gArea.queued_bgm; SoundReq(SONG_PLAY_VOL_RESET | BGM_MINISH_CAP); } if ((gPlayerState.flags & PL_NO_CAP) == 0) { @@ -5074,7 +5074,7 @@ extern EntityData gUnk_080F4E10; void sub_StateChange_MinishWoods_Main(void) { if (CheckGlobalFlag(ENDING)) { - gArea.pMusicIndex = gArea.musicIndex; + gArea.queued_bgm = gArea.bgm; } if (!CheckGlobalFlag(EZERO_1ST)) { LoadRoomEntityList(&gUnk_080F4D50); @@ -5145,7 +5145,7 @@ void sub_StateChange_SanctuaryEntrance_Main(void) { } void sub_0804ED18(void) { - gArea.pMusicIndex = gArea.musicIndex; + gArea.queued_bgm = gArea.bgm; } u32 sub_unk3_Sanctuary_Hall() { @@ -5155,7 +5155,7 @@ u32 sub_unk3_Sanctuary_Hall() { void sub_StateChange_Sanctuary_Hall(void) { sub_080AF2E4(); if (CheckGlobalFlag(SEIIKI_BGM)) { - gArea.pMusicIndex = BGM_CASTLE_COLLAPSE; + gArea.queued_bgm = BGM_CASTLE_COLLAPSE; } } @@ -5207,7 +5207,7 @@ void sub_StateChange_Sanctuary_Main(void) { LoadRoomEntityList(&gUnk_080F55B8); } if (CheckGlobalFlag(SEIIKI_BGM)) { - gArea.pMusicIndex = BGM_CASTLE_COLLAPSE; + gArea.queued_bgm = BGM_CASTLE_COLLAPSE; } } @@ -5222,7 +5222,7 @@ void sub_StateChange_Sanctuary_StainedGlass(void) { LoadRoomEntityList(&gUnk_080F5660); } if (CheckGlobalFlag(SEIIKI_BGM)) { - gArea.pMusicIndex = BGM_CASTLE_COLLAPSE; + gArea.queued_bgm = BGM_CASTLE_COLLAPSE; } } @@ -5398,7 +5398,7 @@ void sub_StateChange_WindTribeTower_Entrance(void) { SetTileType(0x4072, 0x4c7, 1); SetTileType(0x4072, 0x507, 1); } - sub_08052CA4(8, 0, 0x1e8, 0x158); + SetWorldMapPos(8, 0, 0x1e8, 0x158); } u32 sub_unk3_WindTribeTower_Floor2() { @@ -5451,7 +5451,7 @@ void sub_StateChange_WindTribeTowerRoof_Main(void) { if (CheckGlobalFlag(LV5_CLEAR) && !CheckLocalFlagByBank(0x100, 5)) { LoadRoomEntityList(&gUnk_080F66AC); } - sub_08052CA4(8, 0, 0x1e8, 0x158); + SetWorldMapPos(8, 0, 0x1e8, 0x158); #ifndef EU gArea.areaMetadata |= 0x80; #endif @@ -5562,7 +5562,7 @@ void sub_StateChange_HyruleField_LinksHouseExterior(void) { ClearGlobalFlag(ZELDA_CHASE); } if (!CheckGlobalFlag(TABIDACHI)) { - gArea.pMusicIndex = BGM_FESTIVAL_APPROACH; + gArea.queued_bgm = BGM_FESTIVAL_APPROACH; } if ((gSave.windcrests & 0x40000000) == 0) { LoadRoomEntityList(&gUnk_080F70D8); @@ -5703,9 +5703,9 @@ void sub_StateChange_HyruleField_OutsideCastle(void) { } if (!CheckGlobalFlag(TABIDACHI)) { #ifdef EU - gArea.pMusicIndex = 0x10; + gArea.queued_bgm = 0x10; #else - gArea.pMusicIndex = 0x13; + gArea.queued_bgm = 0x13; #endif } } @@ -6479,7 +6479,7 @@ extern EntityData gUnk_080FACB8; void sub_StateChange_MtCrenel_MountainTop(void) { if (CheckGlobalFlag(ENDING)) { - gArea.pMusicIndex = gArea.musicIndex; + gArea.queued_bgm = gArea.bgm; } else { LoadRoomEntityList(&gUnk_080FACB8); } diff --git a/src/script.c b/src/script.c index bf34340f..64324a43 100644 --- a/src/script.c +++ b/src/script.c @@ -1458,7 +1458,7 @@ void ScriptCommand_PlaySound(Entity* entity, ScriptExecutionContext* context) { void ScriptCommand_PlayBgm(Entity* entity, ScriptExecutionContext* context) { if (context->scriptInstructionPointer[1] >= 100) { - SoundReq(gArea.musicIndex); + SoundReq(gArea.bgm); } else { SoundReq(context->scriptInstructionPointer[1]); } diff --git a/src/scroll.c b/src/scroll.c index b3a1649a..26a6c6c1 100644 --- a/src/scroll.c +++ b/src/scroll.c @@ -15,7 +15,7 @@ void sub_080808D8(void) { } void sub_080808E4(void) { - if (sub_08052638(gRoomTransition.player_status.area_next)) { + if (CheckAreaOverworld(gRoomTransition.player_status.area_next)) { gRoomTransition.type = TRANSITION_DEFAULT; } else { gRoomTransition.type = TRANSITION_FADE_BLACK; diff --git a/src/title.c b/src/title.c index dc7d0c7d..2afc8d28 100644 --- a/src/title.c +++ b/src/title.c @@ -281,14 +281,14 @@ static void HandleTitlescreen(void) { gOamCmd._8 = 0xE020; gOamCmd.x = 120; gOamCmd.y = 152; - sub_080ADA14(511, 1); + DrawDirect(511, 1); #elif defined(EU) gOamCmd._4 = 0; gOamCmd._6 = 0; gOamCmd._8 = 0xE020; gOamCmd.x = 120; gOamCmd.y = 152; - sub_080ADA14(510, 1); + DrawDirect(510, 1); #else UpdatePressStartIcon(); #endif @@ -296,9 +296,9 @@ static void HandleTitlescreen(void) { gOamCmd._8 = 0xe000; gOamCmd.y = 0x84; #ifdef EU - sub_080ADA14(0x1fe, 0); + DrawDirect(0x1fe, 0); #else - sub_080ADA14(0x1ff, 0); + DrawDirect(0x1ff, 0); #endif } } @@ -318,7 +318,7 @@ static void UpdatePressStartIcon(void) { gOamCmd._8 = 0xE020; gOamCmd.x = 120; gOamCmd.y = 152; - sub_080ADA14(511, 1); + DrawDirect(511, 1); } #endif From 48fa5b4618f538dbc44525b77142ccea5a0858b8 Mon Sep 17 00:00:00 2001 From: theo3 Date: Tue, 4 Jan 2022 20:17:46 -0800 Subject: [PATCH 4/4] sort out functions.h --- include/asm.h | 4 + include/common.h | 11 +- include/enemy.h | 9 + include/entity.h | 3 + include/fileselect.h | 1 + include/functions.h | 73 - include/game.h | 6 +- include/item.h | 3 + include/kinstone.h | 2 + include/main.h | 1 + include/message.h | 5 + include/object.h | 5 + include/player.h | 7 + include/projectile.h | 2 + include/room.h | 25 +- include/structures.h | 14 - include/subtask.h | 16 + src/code_08049CD4.c | 2 +- src/code_0805436C.c | 2 +- src/debugScreen.c | 7 +- src/demoScreen.c | 3 +- src/enemy.c | 10 +- src/enemy/beetle.c | 2 +- src/enemy/bladeTrap.c | 2 +- src/enemy/businessScrub.c | 1 + src/enemy/darkNut.c | 34 +- src/enemy/doorMimic.c | 4 +- src/enemy/enemy4D.c | 2 +- src/enemy/gibdo.c | 31 +- src/enemy/lakituCloud.c | 1 + src/enemy/likeLike.c | 1 + src/enemy/mazaalHead.c | 4 +- src/enemy/miniSlime.c | 2 +- src/enemy/octorok.c | 6 +- src/enemy/rollobite.c | 6 +- src/enemy/rope.c | 6 +- src/enemy/rupeeLike.c | 2 +- src/enemy/slime.c | 2 +- src/enemy/smallPesto.c | 2 +- src/enemy/tektite.c | 4 +- src/enemy/vaatiArm.c | 3 +- src/enemy/vaatiBall.c | 2 +- src/enemy/vaatiWrath.c | 3 +- src/enemy/wisp.c | 4 +- src/enterPortalSubtask.c | 4 +- src/entity.c | 32 +- src/fileselect.c | 3 +- src/game.c | 90 +- src/interrupts.c | 24 +- src/item/itemLantern.c | 1 + src/item/itemMoleMitts.c | 2 +- src/item/itemShield.c | 4 +- src/main.c | 16 +- src/manager/manager1.c | 1 + src/manager/manager10.c | 6 +- src/manager/manager12.c | 2 +- src/manager/manager14.c | 8 +- src/manager/manager1A.c | 6 +- src/manager/manager1B.c | 1 + src/manager/manager2.c | 12 +- src/manager/manager27.c | 1 + src/manager/manager2F.c | 1 + src/manager/manager4.c | 2 +- src/manager/manager7.c | 9 +- src/manager/manager8.c | 13 +- src/manager/manager9.c | 3 +- src/manager/managerC.c | 6 +- src/manager/managerF.c | 2 +- src/npc/bladeBrothers.c | 1 + src/npc/cat.c | 4 +- src/npc/dampe.c | 2 +- src/npc/dog.c | 2 +- src/npc/guard.c | 1 + src/npc/mailbox.c | 2 +- src/npc/mayorHagen.c | 2 +- src/npc/npc4E.c | 7 +- src/npc/npc5.c | 2 +- src/npc/pina.c | 1 + src/npc/stamp.c | 2 +- src/npc/stockwell.c | 2 + src/npc/townMinish.c | 6 +- src/npcUtils.c | 2 +- src/object/bird.c | 1 + src/object/book.c | 1 + src/object/cloud.c | 2 + src/object/greatFairy.c | 2 +- src/object/heartContainer.c | 1 + src/object/lilypadSmall.c | 3 +- src/object/object1A.c | 2 +- src/object/object6A.c | 1 + src/object/objectA8.c | 1 + src/object/palaceArchway.c | 2 +- src/player.c | 67 +- src/playerItem.c | 45 +- src/playerItem/playerItem14.c | 1 + src/playerItem/playerItemPacciCane.c | 2 +- src/playerItem/playerItemSwordBeam.c | 1 + src/projectile/ballAndChain.c | 1 + src/projectile/guardLineOfSight.c | 1 + src/projectile/gyorgTail.c | 1 + src/projectile/v1EyeLaser.c | 1 + src/projectile/winder.c | 1 + src/room.c | 14 +- src/roomInit.c | 2127 +++++++++++++------------- src/save.c | 3 +- src/sound.c | 2 +- src/sub_08055E08.c | 2 +- src/sub_0807CA18.c | 4 +- src/subtask.c | 4 +- src/text.c | 1 + src/title.c | 2 +- 111 files changed, 1482 insertions(+), 1434 deletions(-) create mode 100644 include/subtask.h diff --git a/include/asm.h b/include/asm.h index fed7a35b..b889ab88 100644 --- a/include/asm.h +++ b/include/asm.h @@ -11,6 +11,7 @@ extern u32 GetTileType(u32 pos, u32 layer); extern void SetTile(u32 index, u32 position, u32 layer); extern void UpdateScrollVram(void); extern u32 sub_080002D0(struct Entity_*); +extern u32 sub_080002F0(u32, u32, u32); extern void LoadResourceAsync(const void*, u32, u32); extern void sub_08001242(struct Entity_*); extern void sub_08001290(struct Entity_*, u32); @@ -29,5 +30,8 @@ extern u32 sub_080045B4(struct Entity_*, u32, u32); extern u32 sub_080045D4(u32, u32, u32, u32); extern u32 sub_080045DA(s32, s32); extern u32 sub_080086B4(u32, u32, u8*); +extern u32 ResolveCollisionLayer(struct Entity_*); +extern void sub_0800417E(struct Entity_*, u32); +extern u32 sub_0800442E(struct Entity_*); #endif // ASM_H diff --git a/include/common.h b/include/common.h index e46df918..6b4763c4 100644 --- a/include/common.h +++ b/include/common.h @@ -3,6 +3,8 @@ #include "global.h" +struct Entity_; + typedef struct { u16 heldKeys; u16 newKeys; @@ -10,11 +12,11 @@ typedef struct { u8 unk6; u8 unk7; } Input; - extern Input gInput; void LoadPalettes(const u8*, s32, s32); void LoadPaletteGroup(u32 group); +void LoadGfxGroup(u32 group); void SetColor(u32 colorIndex, u32 color); void SetFillColor(u32 color, u32 arg1); @@ -73,7 +75,12 @@ void zFree(void* ptr); void DispReset(bool32 refresh); u32 CheckPlayerProximity(u32, u32, u32, u32); - +u32 CheckKinstoneFused(u32); void sub_0801E1EC(u32, u32, u32); +void sub_0801DD58(u32, u32); +void sub_0801E1B8(u32, u32); +void sub_0801E738(u32); +void sub_0801DFB4(struct Entity_*, u32, u32, u32); +u32 sub_0801E00C(void); #endif // COMMON_H diff --git a/include/enemy.h b/include/enemy.h index 1a8fc7f2..8e38e557 100644 --- a/include/enemy.h +++ b/include/enemy.h @@ -10,12 +10,21 @@ #include "common.h" #include "entity.h" +#include "projectile.h" extern u32 GetNextFunction(Entity*); extern void EnemyFunctionHandler(Entity*, EntityActionArray); extern void sub_08001324(Entity*); +extern Entity* CreateDeathFx(Entity*, u32, u32); extern Entity* sub_0804A9FC(Entity*, u32); +extern void SetChildOffset(Entity*, s32, s32, s32); +extern Entity* CreateProjectileWithParent(Entity*, u8, u8); + +extern void sub_0804A7D4(Entity*); +extern void sub_08002724(void*, u8*); +extern void sub_080026C4(u8*, u8*, u8*, u32); +extern void sub_080026F2(u8*, void*, u8*, u32); typedef enum { /*0x00*/ OCTOROK, diff --git a/include/entity.h b/include/entity.h index 898661f8..7d61134e 100644 --- a/include/entity.h +++ b/include/entity.h @@ -232,9 +232,12 @@ u32 LoadExtraSpriteData(Entity*, SpriteLoadData*); void SetExtraSpriteFrame(Entity*, u32, u32); void SetSpriteSubEntryOffsetData1(Entity*, u32, u32); void SetSpriteSubEntryOffsetData2(Entity*, u32, u32); +u8* GetSpriteSubEntryOffsetDataPointer(u32, u32); u32 GetFacingDirection(Entity*, Entity*); +u32 ProcessMovement(Entity*); + /** * @brief Delete the entity currently in execution. */ diff --git a/include/fileselect.h b/include/fileselect.h index d2a2f52e..bba9eed7 100644 --- a/include/fileselect.h +++ b/include/fileselect.h @@ -70,6 +70,7 @@ extern void sub_0805F7DC(u32, struct_02036540*); extern void sub_0805F300(struct_02036540*); extern void sub_08050A64(u32); extern void sub_08050AFC(u32); +extern void sub_08050384(); extern const struct_080FC844 gUnk_080FC844; extern const u16 gUnk_080FC85C[][3]; diff --git a/include/functions.h b/include/functions.h index c71445d6..31ef2f13 100644 --- a/include/functions.h +++ b/include/functions.h @@ -12,32 +12,11 @@ #include "script.h" // Identified - to be sorted into header files -extern u32 CheckKinstoneFused(u32); -extern void ForceEquipItem(u32, u32); -extern void LoadRoomEntityList(EntityData* listPtr); -extern void SetChildOffset(Entity*, s32, s32, s32); -extern Entity* CreatePlayerItem(u32, u32, u32, u32); extern void SetDirtTile(u32); -extern Entity* CreateDeathFx(Entity*, u32, u32); -extern u8* GetSpriteSubEntryOffsetDataPointer(u32, u32); extern bool32 LoadFixedGFX(Entity*, u32); -extern void CreateItemEntity(u32, u32, u32); -extern u32 ProcessMovement(Entity*); extern void MenuFadeIn(u32, u32); -extern void LoadPaletteGroup(u32); extern void TryLoadPrologueHyruleTown(void); -extern void LoadGfxGroup(u32); -extern Entity* CreateProjectileWithParent(Entity*, u8, u8); -extern u32 GetSaleItemConfirmMessageID(u32); extern void FlushSprites(void); -extern Entity* CreateProjectile(u32); -extern s32 GetItemPrice(); -extern void DoExitTransition(ScreenTransitionData*); -extern void CreateDustAt(s32, s32, u32); -extern void PutItemOnSlot(u32 itemID); -extern Entity* CreateSpeechBubbleQuestionMark(Entity*, s32, s32); -extern Entity* CreateSpeechBubbleExclamationMark(Entity*, s32, s32); -extern Entity* CreateSpeechBubbleSleep(Entity*, s32, s32); // Unidentified extern void sub_0805EC9C(); @@ -78,86 +57,42 @@ extern void sub_08059278(void); extern void sub_0804C128(u32); extern void sub_08058324(u32); extern void sub_0801AFE4(void); -extern u32 sub_08060354(void); -extern void sub_08057E64(void); -extern void sub_0809F814(u32); -extern void sub_080300E8(void); -extern void sub_08058D34(void); extern void sub_0807AABC(Entity*); extern void sub_0805B4D0(u32); -extern void sub_0804D0B4(void); -extern void sub_080534AC(); extern void sub_0807BA8C(u32, u32); -extern void sub_0804D9B0(); -extern void sub_0807BB98(u32, u32, u32, u32); -extern void sub_0801D000(u32); -extern void sub_08018C58(u32); extern void sub_080AF284(void); extern void sub_080A71C4(u32, u32, u32, u32); extern void sub_08054564(); -extern void sub_0801DD58(u32, u32); -extern void sub_0804ED18(); -extern void sub_080AF2E4(void); -extern void sub_0804F578(void); -extern void sub_08059994(void); extern void DrawDirect(u32, u32); // trampoline to sub_080B27F4 -extern void sub_0801E1B8(u32, u32); -extern void sub_080A3B74(void); -extern void sub_080A4054(void); extern void sub_0801C1D4(void); extern void DrawOAMCmd(void); -extern void sub_080A4D34(void); -extern u32 sub_080A4494(void); -extern void sub_080A4528(void); -extern void sub_080A4398(void); -extern void sub_0801E738(u32); -extern void sub_080A7114(u32); extern u32 sub_0807953C(void); extern void sub_080AE068(Entity*); extern u32 sub_0800445C(Entity*); extern u32 sub_0801766C(Entity*); extern void sub_08004168(Entity*); -extern void sub_08056208(void); -extern void sub_08050384(); extern u32 sub_0806F520(); extern void sub_0806F4E8(Entity*); -extern void sub_0804A7D4(Entity*); -extern void sub_08033744(Entity*); -extern void sub_0800417E(Entity*, u32); extern void sub_080784C8(); extern u32 sub_0808288C(Entity*, u32, u32, u32); extern void sub_0806FDA0(Entity*); extern bool32 LoadSwapGFX(Entity*, u16, u32); -extern u32 ResolveCollisionLayer(Entity*); -extern void sub_08077728(); extern void sub_0807921C(); extern void sub_0807ACCC(Entity*); -extern void sub_080A2BE4(Entity*, u32); -extern u32 sub_08097ADC(Entity*); extern u32 sub_08079F8C(void); extern void sub_080787CC(Entity*); extern u32 sub_080044EC(Entity*, u32); extern u32 sub_080002B8(Entity*); extern u32 sub_08049F84(Entity*, u32); -extern void sub_0802F45C(Entity*); extern u32 sub_0800419C(Entity*, Entity*, u32, u32); extern void sub_08004542(Entity*); -extern void sub_08077B20(); extern u32 sub_08017850(Entity*); extern void sub_080809D4(void); extern void sub_08080CB4(Entity*); -extern u32 sub_0800442E(Entity*); -extern void sub_08081404(Entity*, u32); extern void sub_0807B7D8(u32, u32, u32); extern void sub_0800451C(Entity*); -extern u32 sub_080002F0(u32, u32, u32); extern u32 sub_080040D8(Entity*, u8*, s32, s32); -extern void LoadGfxGroups(); -extern void SetColor(u32, u32); extern u32 sub_0805F8F8(u32); -extern void sub_08002724(void*, u8*); -extern void sub_080026C4(u8*, u8*, u8*, u32); -extern void sub_080026F2(u8*, void*, u8*, u32); extern u32 sub_0805F7A0(u32); extern u32* sub_0805F25C(u32); u32 sub_0806FCB8(Entity*, u32, u32, u32); @@ -165,8 +100,6 @@ extern void sub_080A1D70(Entity*, u32); extern void sub_0806F62C(Entity*, u32, u32); extern void sub_080A1ED0(u32, u32, u32); extern u32 sub_0806F5B0(u32); -extern void sub_0801DFB4(Entity*, u32, u32, u32); -extern u32 sub_0801E00C(void); extern void sub_08078790(Entity*, u32); extern void sub_080788E0(Entity*); extern void sub_08078B48(void); @@ -174,13 +107,9 @@ extern void sub_0807919C(); extern void sub_0807CAA0(u32, u32); extern void sub_080085B0(Entity*); extern u32 sub_08079D48(); -extern u32 sub_08008B22(); -extern void MessageClose(); extern u32 sub_080542AC(u32); extern u32 sub_08079FC4(u32); -extern u32* sub_08008790(Entity*, u32); extern void sub_0805F8E4(u32 r0, WStruct* r1); - extern Entity* sub_08077C94(ItemBehavior*, u32); extern Entity* sub_08077C0C(ItemBehavior*, u32); extern void sub_08077D38(ItemBehavior*, u32); @@ -190,10 +119,8 @@ extern u32 sub_0806F948(Entity*); extern void sub_08077DF4(ItemBehavior*, u32); extern void sub_08077BB8(ItemBehavior*); extern bool32 sub_08077EFC(ItemBehavior*); - extern void sub_08078E84(Entity*, Entity*); extern void sub_080042D0(Entity*, u32, u16); - extern u32 sub_080002A8(u32, u32, u32); extern void sub_080806BC(u32, u32, u32, u32); diff --git a/include/game.h b/include/game.h index e42f5b91..81dd794b 100644 --- a/include/game.h +++ b/include/game.h @@ -32,13 +32,17 @@ bool32 HasDungeonSmallKey(void); bool32 ItemIsSword(u32 item); bool32 ItemIsShield(u32 item); u32 GetBottleContaining(u32 item); +void PutItemOnSlot(u32 item); +s32 GetItemPrice(u32 item); +u32 GetSaleItemConfirmMessageID(u32 item); +void ForceEquipItem(u32 item, u32 slot); void LoadGfxGroups(void); void LoadCutsceneRoom(u32 room, u32 area); void InitRoom(void); void InitParachuteRoom(void); -void RegisterTransitionManager(void* mgr, void (*onEnter)(void), void (*onExit)(void)); +void RegisterTransitionManager(void* mgr, void (*onEnter)(void*), void (*onExit)(void*)); void RoomExitCallback(void); void RestoreGameTask(u32 a1); diff --git a/include/item.h b/include/item.h index b47066da..c5409c29 100644 --- a/include/item.h +++ b/include/item.h @@ -5,6 +5,9 @@ #include "entity.h" #include "player.h" +void CreateItemEntity(u32, u32, u32); +void sub_08081404(Entity*, u32); + extern void ItemDebug(ItemBehavior*, u32); extern void ItemSword(ItemBehavior*, u32); extern void ItemBomb(ItemBehavior*, u32); diff --git a/include/kinstone.h b/include/kinstone.h index 8760673d..28b799dd 100644 --- a/include/kinstone.h +++ b/include/kinstone.h @@ -3,6 +3,8 @@ #include "global.h" +extern void sub_08018C58(u32); + typedef struct { u8 unk[4]; u32 unk2; diff --git a/include/main.h b/include/main.h index 988b4233..7b0abd05 100644 --- a/include/main.h +++ b/include/main.h @@ -97,5 +97,6 @@ extern void VBlankInterruptWait(void); extern void DisableInterruptsAndDMA(void); extern void EnableVBlankIntr(void); extern void sub_08056250(void); +extern void sub_08056208(void); #endif diff --git a/include/message.h b/include/message.h index c8d3e7b9..c0164810 100644 --- a/include/message.h +++ b/include/message.h @@ -126,6 +126,11 @@ void MessageFromTarget(u32 index); */ void MessageAtHeight(u32 index, u32 y); +/** + * @brief Close message. + */ +void MessageClose(void); + void DispMessageFrame(u16*, s32, s32, u32); #endif // MESSAGE_H diff --git a/include/object.h b/include/object.h index d4792ecf..20688709 100644 --- a/include/object.h +++ b/include/object.h @@ -20,9 +20,14 @@ 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); void CreateDust(Entity* parent); +void CreateDustAt(s32, s32, u32); void CreateDustSmall(Entity* parent); +Entity* CreateSpeechBubbleQuestionMark(Entity*, s32, s32); +Entity* CreateSpeechBubbleExclamationMark(Entity*, s32, s32); +Entity* CreateSpeechBubbleSleep(Entity*, s32, s32); typedef enum { GROUND_ITEM, diff --git a/include/player.h b/include/player.h index 9160123a..583d882b 100644 --- a/include/player.h +++ b/include/player.h @@ -288,6 +288,8 @@ void ResetPlayerAnimationAndAction(void); void SetPlayerActionNormal(void); void RespawnAsMinish(void); +Entity* CreatePlayerItem(u32, u32, u32, u32); + void ResolvePlayerAnimation(void); void RegisterPlayerHitbox(void); void UpdateFloorType(void); @@ -299,6 +301,11 @@ s32 ModHealth(s32 delta); void ModRupees(s32 delta); void DeleteClones(void); +void sub_08077728(); +extern void sub_08077B20(); +extern u32 sub_08008B22(); +extern u32* sub_08008790(Entity*, u32); + #define COPY_FLAG_FROM_TO(base, src, dest) (base) = ((base) & ~(dest)) | (((dest) * ((base) & (src))) / src) #endif diff --git a/include/projectile.h b/include/projectile.h index 0ad6e7e9..4eaf6a44 100644 --- a/include/projectile.h +++ b/include/projectile.h @@ -1,6 +1,8 @@ #ifndef PROJECTILE_H #define PROJECTILE_H +extern Entity* CreateProjectile(u32); + typedef enum { /*00*/ DARK_NUT_SWORD_SLASH, /*01*/ ROCK_PROJECTILE, diff --git a/include/room.h b/include/room.h index 074cc8d5..7886d288 100644 --- a/include/room.h +++ b/include/room.h @@ -160,6 +160,20 @@ typedef struct { static_assert(sizeof(RoomTransition) == 0xB0); extern RoomTransition gRoomTransition; +typedef struct { + u16 type; + u8 field_0x2[4]; + s16 playerXPos; + s16 playerYPos; + u8 field_0xa; + u8 area; + u8 room; + u8 playerLayer; + u8 field_0xe; + u8 playerState; + u16 transitionSFX; +} ScreenTransitionData; + typedef struct { u8 type; u8 _1; @@ -188,16 +202,19 @@ typedef enum { TILE_ENTITY_D, } TileEntityType; -extern void SetTileType(u32, u32, u32); -extern void InitScreenShake(u32 time, u32 magnitude); +void SetTileType(u32, u32, u32); +void InitScreenShake(u32 time, u32 magnitude); void CallRoomProp5And7(void); void LoadRoom(void); void SetCurrentRoomPropertyList(u32 area, u32 room); -extern void* GetCurrentRoomProperty(u32); -extern void LoadRoomTileEntities(); +void* GetCurrentRoomProperty(u32); +void LoadRoomTileEntities(); +void LoadRoomEntityList(EntityData* listPtr); void sub_0804B3C4(void*); void sub_0804B0B0(u32 arg0, u32 arg1); +void DoExitTransition(ScreenTransitionData* data); + #endif diff --git a/include/structures.h b/include/structures.h index c6c8f80b..95a22ffc 100644 --- a/include/structures.h +++ b/include/structures.h @@ -38,20 +38,6 @@ static_assert(sizeof(struct_02000010) == 0x20); extern struct_02000010 gUnk_02000010; -typedef struct { - u16 type; - u8 field_0x2[4]; - s16 playerXPos; - s16 playerYPos; - u8 field_0xa; - u8 area; - u8 room; - u8 playerLayer; - u8 field_0xe; - u8 playerState; - u16 transitionSFX; -} ScreenTransitionData; - typedef struct { u8 active; u8 field_0x1; diff --git a/include/subtask.h b/include/subtask.h new file mode 100644 index 00000000..185210d8 --- /dev/null +++ b/include/subtask.h @@ -0,0 +1,16 @@ +#ifndef SUBTASK_H +#define SUBTASK_H + +#include "global.h" + +// todo: separate headers for each subtask? + +extern void sub_080A4528(void); +extern void sub_080A4398(void); +extern void sub_080A7114(u32); +extern void sub_080A3B74(void); +extern void sub_080A4054(void); +extern void sub_080A4D34(void); +extern u32 sub_080A4494(void); + +#endif // SUBTASK_H diff --git a/src/code_08049CD4.c b/src/code_08049CD4.c index 68f78d10..a773306d 100644 --- a/src/code_08049CD4.c +++ b/src/code_08049CD4.c @@ -5,7 +5,7 @@ extern u32 gRoomMemory; extern void MemFill32(u32, void*, u32); -void ClearRoomMemory() { +void ClearRoomMemory(void) { MemFill32(0xFFFFFFFF, &gRoomMemory, 0x40); gUnk_020354B0 = &gRoomMemory; } diff --git a/src/code_0805436C.c b/src/code_0805436C.c index eb4c77d2..dfbe2966 100644 --- a/src/code_0805436C.c +++ b/src/code_0805436C.c @@ -19,7 +19,7 @@ extern u8 gUnk_0200AF14; extern u32 gUnk_080015BC; extern u8 gUnk_080FE1C6[]; extern u32 gUnk_02034398; -extern void (*const gUnk_080FE2A0[])(); +extern void (*const gUnk_080FE2A0[])(void); void ForceEquipItem(u32, u8); extern void sub_0807CAA0(u32, u32); diff --git a/src/debugScreen.c b/src/debugScreen.c index de141619..9e85a178 100644 --- a/src/debugScreen.c +++ b/src/debugScreen.c @@ -6,10 +6,11 @@ #include "menu.h" #include "screen.h" #include "message.h" +#include "game.h" -extern void (*const gUnk_08109A30[])(); +extern void (*const gUnk_08109A30[])(void); -void DebugTask() { +void DebugTask(void) { gUnk_08109A30[gMain.state](); } @@ -90,6 +91,6 @@ void sub_0805FA98(void) { gScreen.bg3.updated = 1; } -void sub_0805FBC4() { +void sub_0805FBC4(void) { SetTask(TASK_TITLE); } diff --git a/src/demoScreen.c b/src/demoScreen.c index e3185859..98cbc68d 100644 --- a/src/demoScreen.c +++ b/src/demoScreen.c @@ -5,9 +5,10 @@ #include "message.h" #include "fileselect.h" #include "screen.h" +#include "game.h" extern void (*const demoFunctions[])(void); -void sub_080A30AC(); +void sub_080A30AC(void); extern u8 gUnk_02000004; void sub_080A3198(u32, u32); diff --git a/src/enemy.c b/src/enemy.c index e9d4f51d..b0594e0f 100644 --- a/src/enemy.c +++ b/src/enemy.c @@ -419,11 +419,11 @@ const EnemyDefinition gEnemyDefinition_46[] = { { 72, 384, &gUnk_080FD258, SPRITE_BOWMOBLIN_1, { 1, 1, 1, 2 }, 8, 256, 138, 139 }, }; -extern void sub_08049E18(); -extern void sub_08049E4C(); -extern void sub_08049E80(); -extern void sub_08049EB0(); -void (*const gUnk_080D3BE8[])() = { +extern Entity* sub_08049E18(void); +extern Entity* sub_08049E4C(void); +extern Entity* sub_08049E80(void); +extern Entity* sub_08049EB0(void); +Entity* (*const gUnk_080D3BE8[])(void) = { sub_08049E18, sub_08049E4C, sub_08049E80, diff --git a/src/enemy/beetle.c b/src/enemy/beetle.c index 24e01379..bba26d7a 100644 --- a/src/enemy/beetle.c +++ b/src/enemy/beetle.c @@ -3,7 +3,7 @@ extern u32 PlayerInRange(Entity*, u32, u32); -u32 sub_08021D00(); +u32 sub_08021D00(Entity*); void sub_08021D44(Entity* this, u32 direction); extern void (*const gUnk_080CB590[])(Entity*); diff --git a/src/enemy/bladeTrap.c b/src/enemy/bladeTrap.c index ceea0b5d..eeee9ffe 100644 --- a/src/enemy/bladeTrap.c +++ b/src/enemy/bladeTrap.c @@ -3,7 +3,7 @@ #include "room.h" #include "functions.h" -extern void sub_080A2CC0(); +extern void sub_080A2CC0(Entity*, void*, void*); void BladeTrap(Entity* this) { if (this->action == 0) { diff --git a/src/enemy/businessScrub.c b/src/enemy/businessScrub.c index 1bff3860..b2b20f06 100644 --- a/src/enemy/businessScrub.c +++ b/src/enemy/businessScrub.c @@ -5,6 +5,7 @@ #include "npc.h" #include "functions.h" #include "game.h" +#include "item.h" extern Entity* sub_08049DF4(u32); extern bool32 sub_08056338(void); diff --git a/src/enemy/darkNut.c b/src/enemy/darkNut.c index ed6d602b..7e200a8a 100644 --- a/src/enemy/darkNut.c +++ b/src/enemy/darkNut.c @@ -6,23 +6,23 @@ typedef struct { u8 field_0x1; } PACKED stuct_080CAB14; -void sub_08021218(); -void sub_08021588(); -void sub_080213D0(); -void sub_08021390(); -void sub_0802159C(); -void sub_0804AA1C(); -void sub_080213F0(); -u32 sub_080214FC(); -void sub_08021540(); -void sub_08021600(); -void sub_080213B0(); -u32 PlayerInRange(); -u32 sub_0802169C(); -void sub_0802124C(); -void sub_08021644(); -void sub_08021414(); -void sub_08021400(); +void sub_08021218(Entity*, u32, u32); +void sub_08021588(Entity*); +void sub_080213D0(Entity*, u32); +void sub_08021390(Entity*); +void sub_0802159C(Entity*); +void sub_0804AA1C(Entity*); +void sub_080213F0(Entity*); +u32 sub_080214FC(Entity*); +void sub_08021540(Entity*); +void sub_08021600(Entity*); +void sub_080213B0(Entity*); +u32 PlayerInRange(Entity*, u32, u32); +u32 sub_0802169C(Entity*, Entity*); +void sub_0802124C(Entity*); +void sub_08021644(Entity*); +void sub_08021414(Entity*); +void sub_08021400(Entity*); u32 sub_08021274(u32, u32); u32 sub_08021664(Entity*, Entity*); u32 sub_0804A044(Entity*, Entity*, u32); diff --git a/src/enemy/doorMimic.c b/src/enemy/doorMimic.c index af328474..413046c9 100644 --- a/src/enemy/doorMimic.c +++ b/src/enemy/doorMimic.c @@ -3,8 +3,8 @@ #include "functions.h" extern s16 sub_080001DA(u32, u32); // ? -extern void sub_08049CF4(); -void sub_080221C0(); +extern void sub_08049CF4(Entity*); +void sub_080221C0(Entity*); typedef struct { s8 h; diff --git a/src/enemy/enemy4D.c b/src/enemy/enemy4D.c index 75c28eb1..3e6508ad 100644 --- a/src/enemy/enemy4D.c +++ b/src/enemy/enemy4D.c @@ -29,7 +29,7 @@ void sub_0803EB34(Entity* this) { CreateDeathFx(this, 0xff, 0x57); } -void nullsub_21() { +void nullsub_21(Entity* this) { } void sub_0803EB44(Entity* this) { diff --git a/src/enemy/gibdo.c b/src/enemy/gibdo.c index 0649b7a9..71dfe53f 100644 --- a/src/enemy/gibdo.c +++ b/src/enemy/gibdo.c @@ -2,21 +2,22 @@ #include "enemy.h" #include "object.h" #include "functions.h" + // Gibudo -void sub_08037794(); -void sub_08037B10(); -void sub_0803797C(); -void sub_080379BC(); -void sub_08037C0C(); -u32 sub_08037810(); -void sub_080377B0(); -u32 sub_080378B0(); -u32 sub_08037914(); -u32 sub_080379EC(); -void sub_08037A58(); -void sub_08037ACC(); -void sub_08037B48(); -void sub_08037A14(); +void sub_08037794(Entity*); +void sub_08037B10(Entity*); +void sub_0803797C(Entity*); +void sub_080379BC(Entity*); +void sub_08037C0C(Entity*, Entity*); +u32 sub_08037810(Entity*); +void sub_080377B0(Entity*); +u32 sub_080378B0(Entity*); +u32 sub_08037914(Entity*); +u32 sub_080379EC(Entity*); +void sub_08037A58(Entity*); +void sub_08037ACC(Entity*); +void sub_08037B48(Entity*); +void sub_08037A14(Entity*); extern void sub_0804A4E4(Entity*, Entity*); extern Entity* sub_08049DF4(u32); @@ -75,7 +76,7 @@ NONMATCH("asm/non_matching/gibdo/sub_080374A4.inc", void sub_080374A4(Entity* th } END_NONMATCH -void nullsub_162() { +void nullsub_162(Entity* this) { } void sub_08037558(Entity* this) { diff --git a/src/enemy/lakituCloud.c b/src/enemy/lakituCloud.c index ae2f5a7d..502e4ab8 100644 --- a/src/enemy/lakituCloud.c +++ b/src/enemy/lakituCloud.c @@ -4,6 +4,7 @@ #include "player.h" #include "functions.h" #include "effects.h" +#include "enemy.h" extern u32 GetNextFunction(Entity*); diff --git a/src/enemy/likeLike.c b/src/enemy/likeLike.c index 37ee4055..7d764c07 100644 --- a/src/enemy/likeLike.c +++ b/src/enemy/likeLike.c @@ -3,6 +3,7 @@ #include "save.h" #include "object.h" #include "functions.h" +#include "item.h" extern bool32 ItemIsShield(u32); diff --git a/src/enemy/mazaalHead.c b/src/enemy/mazaalHead.c index 3898f0c0..3a065362 100644 --- a/src/enemy/mazaalHead.c +++ b/src/enemy/mazaalHead.c @@ -810,8 +810,8 @@ void sub_08034BC8(Entity* this) { void sub_08034C00(Entity* this) { if (((gPlayerState.flags & PL_MINISH) != 0) && - CheckPlayerInRegion(this->x.HALF.HI - gRoomControls.origin_x, - this->y.HALF.HI - gRoomControls.origin_y + 0xd, 3, 3) != 0) { + CheckPlayerInRegion(this->x.HALF.HI - gRoomControls.origin_x, this->y.HALF.HI - gRoomControls.origin_y + 0xd, 3, + 3) != 0) { if (gRoomTransition.field_0x39 >= 0x3d) { DoExitTransition((ScreenTransitionData*)&gUnk_080CED88); } else { diff --git a/src/enemy/miniSlime.c b/src/enemy/miniSlime.c index 488cb419..1bfc3fc6 100644 --- a/src/enemy/miniSlime.c +++ b/src/enemy/miniSlime.c @@ -3,7 +3,7 @@ void sub_08045374(Entity*); -extern void sub_080452E4(); +extern void sub_080452E4(Entity*); extern void ReplaceMonitoredEntity(Entity*, Entity*); extern void (*const gUnk_080D17C0[])(Entity*); diff --git a/src/enemy/octorok.c b/src/enemy/octorok.c index 4c142bdc..47d4c486 100644 --- a/src/enemy/octorok.c +++ b/src/enemy/octorok.c @@ -3,9 +3,9 @@ extern Entity* sub_08049DF4(u32); -void Octorok_Pause(); -bool32 Octorok_FacesPlayer(); -void Octorok_Turn(); +void Octorok_Pause(Entity*); +bool32 Octorok_FacesPlayer(Entity*); +void Octorok_Turn(Entity*); extern void (*const gOctorok[6])(Entity*); extern void (*const gOctorokActions[4])(Entity*); diff --git a/src/enemy/rollobite.c b/src/enemy/rollobite.c index 0a7dc34c..bf367eef 100644 --- a/src/enemy/rollobite.c +++ b/src/enemy/rollobite.c @@ -14,9 +14,9 @@ void sub_08020A7C(Entity*); bool32 Rollobite_TryToHoleUp(Entity*); bool32 Rollobite_IsRolledUp(Entity*); -extern void sub_080AE58C(); -extern void sub_080AE7E8(); -extern void sub_08078930(); +extern void sub_080AE58C(Entity*, u32, u32); +extern void sub_080AE7E8(Entity*, u32, u32, u32); +extern void sub_08078930(Entity*); void Rollobite(Entity* this) { EnemyFunctionHandler(this, gRollobiteFunctions); diff --git a/src/enemy/rope.c b/src/enemy/rope.c index e555d60b..bf0a7ecb 100644 --- a/src/enemy/rope.c +++ b/src/enemy/rope.c @@ -5,10 +5,10 @@ extern void (*const gRope[6])(Entity*); extern void (*const gUnk_080CE460[4])(Entity*); extern void (*const gUnk_080CE470[3])(Entity*); extern Entity* gUnk_020000B0; -extern u32 sub_0804A044(); +extern u32 sub_0804A044(Entity*, Entity*, u32); -void sub_08031600(); -u32 sub_0803163C(); +void sub_08031600(Entity*); +u32 sub_0803163C(Entity*); void Rope(Entity* this) { EnemyFunctionHandler(this, gRope); diff --git a/src/enemy/rupeeLike.c b/src/enemy/rupeeLike.c index ffa409cd..cd068b96 100644 --- a/src/enemy/rupeeLike.c +++ b/src/enemy/rupeeLike.c @@ -78,7 +78,7 @@ void sub_080293B4(Entity* this) { CreateDeathFx(this, 0xff, gUnk_080CCC34[this->cutsceneBeh.HALF.LO * 3 + this->type]); } -void nullsub_141() { +void nullsub_141(Entity* this) { } void sub_080293DC(Entity* this) { diff --git a/src/enemy/slime.c b/src/enemy/slime.c index 2f2a18ee..e6faf992 100644 --- a/src/enemy/slime.c +++ b/src/enemy/slime.c @@ -37,7 +37,7 @@ void sub_08044F88(Entity* this) { } } -void nullsub_171() { +void nullsub_171(Entity* this) { } void sub_08044FC8(Entity* this) { diff --git a/src/enemy/smallPesto.c b/src/enemy/smallPesto.c index ec6d93ca..7e26ab7d 100644 --- a/src/enemy/smallPesto.c +++ b/src/enemy/smallPesto.c @@ -21,7 +21,7 @@ void sub_08031680(Entity* this) { gUnk_080CE548[this->action](this); } -void nullsub_152() { +void nullsub_152(Entity* this) { } void sub_0803169C(Entity* this) { diff --git a/src/enemy/tektite.c b/src/enemy/tektite.c index 07709ae9..e029da29 100644 --- a/src/enemy/tektite.c +++ b/src/enemy/tektite.c @@ -1,6 +1,8 @@ #include "enemy.h" #include "functions.h" +static void sub_0802F45C(Entity* this); + extern void (*const gUnk_080CDED0[])(Entity*); extern void (*const gUnk_080CDEE8[])(Entity*); @@ -175,7 +177,7 @@ void sub_0802F3F4(Entity* this) { } } -void sub_0802F45C(Entity* this) { +static void sub_0802F45C(Entity* this) { u32 temp; if (sub_08049FA0(this) == 0) { diff --git a/src/enemy/vaatiArm.c b/src/enemy/vaatiArm.c index 78a49cf7..cb01f671 100644 --- a/src/enemy/vaatiArm.c +++ b/src/enemy/vaatiArm.c @@ -546,8 +546,7 @@ void sub_08042C34(Entity* this) { y = gRoomControls.origin_y + gRoomControls.height + -0x40; } #endif - if (((u32)((x - gRoomControls.origin_x) - 0x90) < 0x41) && - ((u32)((y - gRoomControls.origin_y) - 8) < 0x41)) { + if (((u32)((x - gRoomControls.origin_x) - 0x90) < 0x41) && ((u32)((y - gRoomControls.origin_y) - 8) < 0x41)) { x = gRoomControls.origin_x + 0xb0; y = gRoomControls.origin_y + 0x40; } diff --git a/src/enemy/vaatiBall.c b/src/enemy/vaatiBall.c index 68e5be20..f02eedd3 100644 --- a/src/enemy/vaatiBall.c +++ b/src/enemy/vaatiBall.c @@ -141,7 +141,7 @@ void sub_080447E0(Entity* this) { } } -extern void sub_08044DEC(); +extern void sub_08044DEC(Entity*); void sub_08044868(Entity* this) { Entity* vaati = this->parent; diff --git a/src/enemy/vaatiWrath.c b/src/enemy/vaatiWrath.c index 6a3c1425..f0877357 100644 --- a/src/enemy/vaatiWrath.c +++ b/src/enemy/vaatiWrath.c @@ -389,8 +389,7 @@ void VaatiWrathType0Action8(Entity* this) { sub_08042004(this); UpdateAnimationSingleFrame(this); LinearMoveUpdate(this); - if (((gRoomControls.origin_x + 0x20) > this->x.HALF.HI) || - ((gRoomControls.origin_x + 0x140) < this->x.HALF.HI)) { + if (((gRoomControls.origin_x + 0x20) > this->x.HALF.HI) || ((gRoomControls.origin_x + 0x140) < this->x.HALF.HI)) { if (0x3f < this->speed) { this->direction ^= 0x10; } diff --git a/src/enemy/wisp.c b/src/enemy/wisp.c index 6b399d2d..190167e5 100644 --- a/src/enemy/wisp.c +++ b/src/enemy/wisp.c @@ -3,6 +3,8 @@ #include "object.h" #include "functions.h" +static void sub_08033744(Entity* this); + extern void (*const gUnk_080CEB74[])(Entity*); extern void (*const gUnk_080CEB8C[])(Entity*); extern void (*const gUnk_080CEB98[])(Entity*); @@ -120,7 +122,7 @@ void sub_080336DC(Entity* this) { } } -void sub_08033744(Entity* this) { +static void sub_08033744(Entity* this) { u32 temp; u32 rand = (u32)Random() % 256; diff --git a/src/enterPortalSubtask.c b/src/enterPortalSubtask.c index 712ab7ca..072c0e3f 100644 --- a/src/enterPortalSubtask.c +++ b/src/enterPortalSubtask.c @@ -12,8 +12,8 @@ typedef struct { u32 unk; } struct_02018EB0; -extern void (*const gUnk_080D4120[])(); -extern void (*const gUnk_080D412C[])(); +extern void (*const gUnk_080D4120[])(void); +extern void (*const gUnk_080D412C[])(void); extern struct_02018EB0 gUnk_02018EB0; diff --git a/src/entity.c b/src/entity.c index 8c75fa94..8092dd71 100644 --- a/src/entity.c +++ b/src/entity.c @@ -15,19 +15,19 @@ void sub_0805EE88(void); void ClearAllDeletedEntities(void); void DeleteAllEntities(void); void sub_0805E98C(void); -extern void sub_0806FE84(); -extern void sub_08078954(); +extern void sub_0806FE84(Entity*); +extern void sub_08078954(Entity*); extern void sub_08017744(Entity*); -extern void UnloadHitbox(); -extern void sub_0804AA1C(); +extern void UnloadHitbox(Entity*); +extern void sub_0804AA1C(Entity*); void ClearDeletedEntity(Entity*); -extern void _ClearAndUpdateEntities(); +extern void _ClearAndUpdateEntities(void); extern void UpdateEntities_arm(u32); static void UpdatePriorityTimer(void); -static void ReleaseTransitionManager(); -static void UnlinkEntity(); +static void ReleaseTransitionManager(void*); +static void UnlinkEntity(Entity*); typedef struct { void* table; @@ -106,7 +106,7 @@ bool32 AnyPrioritySet(void) { return prio != PRIO_MIN; } -static void UpdatePriority() { +static void UpdatePriority(void) { UpdatePriorityTimer(); if (gPriorityHandler.queued_priority) { gPriorityHandler.ent_priority = gPriorityHandler.queued_priority; @@ -175,7 +175,7 @@ void SetPlayerEventPriority(void) { gPlayerEntity.updatePriority = PRIO_PLAYER_EVENT; } -void ResetPlayerEventPriority() { +void ResetPlayerEventPriority(void) { gPriorityHandler.sys_priority = PRIO_MIN; gPlayerEntity.updatePriority = PRIO_PLAYER; } @@ -185,19 +185,19 @@ void RevokePriority(Entity* e) { ResetEntityPriority(); } -void SetRoomReloadPriority() { +void SetRoomReloadPriority(void) { gPriorityHandler.sys_priority = PRIO_PLAYER_EVENT; } -void SetInitializationPriority() { +void SetInitializationPriority(void) { gPriorityHandler.sys_priority = PRIO_HIGHEST; } -void ResetSystemPriority() { +void ResetSystemPriority(void) { gPriorityHandler.sys_priority = PRIO_MIN; } -void UpdateEntities() { +void UpdateEntities(void) { void (*f)(u32); gRoomVars.filler1[0] = gRoomVars.field_0x4; @@ -212,14 +212,14 @@ void UpdateEntities() { sub_0805EE88(); } -void UpdateManagers() { +void UpdateManagers(void) { void (*f)(u32); f = UpdateEntities_arm; f(1); ClearAllDeletedEntities(); } -void EraseAllEntities() { +void EraseAllEntities(void) { DeleteAllEntities(); MemClear(&gPriorityHandler, 12); MemClear(&gPlayerEntity, 10880); @@ -424,7 +424,7 @@ void DeleteManager(void* ent) { return; ReleaseTransitionManager(manager); - UnlinkEntity(manager); + UnlinkEntity((Entity*)manager); MemClear(manager, sizeof(Temp)); gManagerCount--; } diff --git a/src/fileselect.c b/src/fileselect.c index 8fe1f7a3..2a26ad02 100644 --- a/src/fileselect.c +++ b/src/fileselect.c @@ -6,6 +6,7 @@ #include "message.h" #include "object.h" #include "functions.h" +#include "subtask.h" // copy, erase, start #define NUM_FILE_OPERATIONS 3 @@ -92,7 +93,7 @@ static void sub_08050624(u32); static void sub_0805066C(void); static void HideButtonR(void); static void ShowButtonR(void); -void sub_08051458(); +void sub_08051458(void); void CreateDialogBox(u32 arg0, u32 arg1) { u32 sfx; diff --git a/src/game.c b/src/game.c index bde1233c..37cda100 100644 --- a/src/game.c +++ b/src/game.c @@ -16,6 +16,7 @@ #include "message.h" #include "game.h" #include "item.h" +#include "subtask.h" // Game task @@ -71,49 +72,50 @@ extern void* gUnk_080B755C[]; extern void** gExitLists[]; extern void** gAreaTable[]; -void FinalizeSave(void); -void ClearArmosData(void); -void ClearRoomMemory(void); -void ClearMenuSavestate(void); -void ResetUI(void); -void sub_0806FD8C(void); -void sub_080300C4(void); -u32 sub_0805BC04(void); -void DeleteSleepingEntities(void); -u32 UpdateLightLevel(void); -void sub_080185F8(void); -void UpdateDoorTransition(void); -u32 IsEnterPortal(void); -void UpdateCarriedObject(void); -void DrawUI(); -u32 CheckPlayerInactive(); -void CollisionMain(); -void sub_0805BB74(); -void CreateZeldaFollower(void); -void LoadRoomGfx(); -void RecycleEntities(); -void sub_0804AF90(); -void CallRoomProp6(); -void UpdateScroll(); -void UpdateBgAnim(); -void CleanUpGFXSlots(); -void sub_080ADE24(); -void InitUI(u32); -void sub_0801AE44(u32); -void GenerateAreaHint(void); -void ForceSetPlayerState(u32); -void UpdateRoomTracker(void); -void InitScriptData(void); -void sub_08054524(void); -void sub_080186D4(void); -void sub_0806F364(void); -void sub_08052FF4(u32 area, u32 room); -void sub_0807C860(void); -void sub_0807C740(void); -void SetBGDefaults(void); -void LoadItemGfx(void); +extern void CreateDialogBox(u32, u32); +extern void FinalizeSave(void); +extern void ClearArmosData(void); +extern void ClearRoomMemory(void); +extern void ClearMenuSavestate(void); +extern void ResetUI(void); +extern void sub_0806FD8C(void); +extern void sub_080300C4(void); +extern u32 sub_0805BC04(void); +extern void DeleteSleepingEntities(void); +extern u32 UpdateLightLevel(void); +extern void sub_080185F8(void); +extern void UpdateDoorTransition(void); +extern u32 IsEnterPortal(void); +extern void UpdateCarriedObject(void); +extern void DrawUI(void); +extern u32 CheckPlayerInactive(void); +extern void CollisionMain(void); +extern void sub_0805BB74(u32); +extern void CreateZeldaFollower(void); +extern void LoadRoomGfx(void); +extern void RecycleEntities(void); +extern void sub_0804AF90(void); +extern void CallRoomProp6(void); +extern void UpdateScroll(void); +extern void UpdateBgAnim(void); +extern void CleanUpGFXSlots(void); +extern void sub_080ADE24(void); +extern void InitUI(u32); +extern void sub_0801AE44(u32); +extern void GenerateAreaHint(void); +extern void ForceSetPlayerState(u32); +extern void UpdateRoomTracker(void); +extern void InitScriptData(void); +extern void sub_08054524(void); +extern void sub_080186D4(void); +extern void sub_0806F364(void); +extern void sub_08052FF4(u32 area, u32 room); +extern void sub_0807C860(void); +extern void sub_0807C740(void); +extern void SetBGDefaults(void); +extern void LoadItemGfx(void); -static void LoadRoomBgm(); +static void LoadRoomBgm(void); static void sub_08052010(void); static void ResetTmpFlags(void); static void InitializeEntities(void); @@ -133,7 +135,7 @@ static void sub_0805329C(void); static void InitializePlayer(void); /* static */ void sub_08051F9C(u32 a1, u32 a2, u32 a3, u32 a4); static void DrawGameOverText(void); -static u32 StairsAreValid(); +static u32 StairsAreValid(void); static void ClearFlagArray(const u16*); static void DummyHandler(u32* a1); static void sub_08053434(u32* a1); @@ -178,8 +180,6 @@ typedef struct { u16 _a; } PopupOption; -extern void CreateDialogBox(); - typedef struct { u8 area; u8 room; diff --git a/src/interrupts.c b/src/interrupts.c index 4041fd50..e7c6463d 100644 --- a/src/interrupts.c +++ b/src/interrupts.c @@ -21,18 +21,18 @@ extern Entity gUnk_03003BE0; extern Entity* gPlayerClones[3]; extern u16 gUnk_080B2CD8[]; -extern void sub_080ADD70(); -extern void sub_0801C25C(); -extern void UpdateDisplayControls(); -extern void LoadResources(); -extern void HandlePlayerLife(); -extern void DoPlayerAction(); -extern void sub_080171F0(); -extern void sub_08078FB0(); -extern void sub_0807A050(); -extern u32 sub_08079B24(); -extern void sub_08079708(); -extern void CreateSparkle(); +extern void sub_080ADD70(void); +extern void sub_0801C25C(void); +extern void UpdateDisplayControls(void); +extern void LoadResources(void); +extern void HandlePlayerLife(Entity*); +extern void DoPlayerAction(Entity*); +extern void sub_080171F0(void); +extern void sub_08078FB0(Entity*); +extern void sub_0807A050(void); +extern u32 sub_08079B24(void); +extern void sub_08079708(Entity*); +extern void CreateSparkle(Entity*); extern void sub_080028E0(Entity*); extern void sub_08078180(void); extern void sub_0807B0C8(void); diff --git a/src/item/itemLantern.c b/src/item/itemLantern.c index 6a171d8c..3376c721 100644 --- a/src/item/itemLantern.c +++ b/src/item/itemLantern.c @@ -2,6 +2,7 @@ #include "functions.h" #include "sound.h" #include "object.h" +#include "game.h" extern void (*const gUnk_0811BD68[])(ItemBehavior*, u32); diff --git a/src/item/itemMoleMitts.c b/src/item/itemMoleMitts.c index 5fdeb0b6..355f69df 100644 --- a/src/item/itemMoleMitts.c +++ b/src/item/itemMoleMitts.c @@ -10,7 +10,7 @@ s32 sub_080774A0(void); extern u8 gUnk_0811BE14[]; extern s32 sub_0800875A(Entity*, u32, ItemBehavior*); -extern void UpdatePlayerMovement(); +extern void UpdatePlayerMovement(void); void ItemMoleMitts(ItemBehavior* this, u32 arg1) { gUnk_0811BE04[this->stateID](this, arg1); diff --git a/src/item/itemShield.c b/src/item/itemShield.c index 621341e2..445bbece 100644 --- a/src/item/itemShield.c +++ b/src/item/itemShield.c @@ -6,7 +6,7 @@ extern void sub_08077E78(ItemBehavior*, u32); extern void SoundReq(u32); extern void UpdateItemAnim(ItemBehavior*); -extern u32 sub_08077EFC(); +extern u32 sub_08077EFC(ItemBehavior*); extern void sub_08077BB8(ItemBehavior*); extern void sub_08077D38(ItemBehavior*, u32); extern void sub_0806F948(Entity*); @@ -26,7 +26,7 @@ void sub_08076D04(ItemBehavior* beh, u32 arg1) { } void sub_08076D34(ItemBehavior* beh, u32 arg1) { - if (sub_08077EFC() != 0) { + if (sub_08077EFC(beh) != 0) { gPlayerState.field_0x3[0] |= 1; UpdateItemAnim(beh); if (beh->field_0x5[9] != 0) { diff --git a/src/main.c b/src/main.c index 7a15ed58..ced56ca5 100644 --- a/src/main.c +++ b/src/main.c @@ -29,10 +29,8 @@ void (*const sTaskHandlers[])(void) = { [TASK_FILE_SELECT] = FileSelectTask, #endif - [TASK_GAME] = GameTask, - [TASK_GAMEOVER] = GameOverTask, - [TASK_STAFFROLL] = StaffrollTask, - [TASK_DEBUG] = DebugTask, + [TASK_GAME] = GameTask, [TASK_GAMEOVER] = GameOverTask, + [TASK_STAFFROLL] = StaffrollTask, [TASK_DEBUG] = DebugTask, }; static void sub_080560B8(void); @@ -225,7 +223,7 @@ static u32 CheckHeaderValid(void) { return TRUE; } -void InitDMA() { +void InitDMA(void) { SoundReq(SONG_VSYNC_OFF); gScreen._6d = gScreen._6c; gScreen._6c = 0; @@ -238,7 +236,7 @@ void InitDMA() { DmaWait(3); } -void sub_08056208() { +void sub_08056208(void) { SoundReq(SONG_VSYNC_ON); gScreen._6c = gScreen._6d; gScreen._6d = 0; @@ -252,7 +250,7 @@ void sub_0805622C(void* a1, u32 a2, u32 a3) { gUnk_03003DE4 ^= 1; } -void sub_08056250() { +void sub_08056250(void) { gScreen._6c = 0; } @@ -299,10 +297,10 @@ u16 CheckRegionsOnScreen(u16* arr) { return 0xff; } -void PlayerItemNulled2() { +void PlayerItemNulled2(void) { DeleteThisEntity(); } -void PlayerItemNulled() { +void PlayerItemNulled(void) { DeleteThisEntity(); } diff --git a/src/manager/manager1.c b/src/manager/manager1.c index 51b28137..a47dd57b 100644 --- a/src/manager/manager1.c +++ b/src/manager/manager1.c @@ -2,6 +2,7 @@ #include "entity.h" #include "screen.h" #include "functions.h" +#include "common.h" extern void sub_08056250(void); diff --git a/src/manager/manager10.c b/src/manager/manager10.c index cedc2a29..1ba0150d 100644 --- a/src/manager/manager10.c +++ b/src/manager/manager10.c @@ -148,11 +148,11 @@ void sub_080596E0(Manager10* this) { } } -u32 sub_08059844() { +u32 sub_08059844(void) { return gPlayerEntity.x.HALF.HI - gRoomControls.origin_x > gRoomControls.width >> 1; } -u32 sub_0805986C() { +u32 sub_0805986C(void) { return gPlayerEntity.x.HALF.HI - gRoomControls.origin_x > 0x200; } @@ -207,7 +207,7 @@ void sub_08059960(const u16* unk1, const u16* unk2, u16* unk3, u8 unk4) { } } -void sub_08059994() { +void sub_08059994(void) { if (sub_0805986C()) { LoadPaletteGroup(0x5B); gArea.queued_bgm = 0x1E; diff --git a/src/manager/manager12.c b/src/manager/manager12.c index a29877bd..24b2e630 100644 --- a/src/manager/manager12.c +++ b/src/manager/manager12.c @@ -24,7 +24,7 @@ extern u16 gUnk_081083AE; extern u16 gUnk_081083C4; void sub_08059CC0(u32, u32); -void sub_08059B18(); +void sub_08059B18(void); bool32 sub_08059C8C(Manager12*, u32, u8*, u16*); diff --git a/src/manager/manager14.c b/src/manager/manager14.c index 367111f6..9f5d8154 100644 --- a/src/manager/manager14.c +++ b/src/manager/manager14.c @@ -30,8 +30,8 @@ void sub_0805A098(Manager14*); void sub_0805A0C0(Manager14*); void sub_0805A114(u32, u32); void sub_0805A1D8(Manager14*); -void nullsub_495(); -void sub_0805A25C(); +void nullsub_495(void*); +void sub_0805A25C(void*); void Manager14_Main(Manager14* this) { static void (*const gUnk_081085A4[])(Manager14*) = { @@ -186,10 +186,10 @@ void sub_0805A1D8(Manager14* this) { } } -void nullsub_495() { +void nullsub_495(void* this) { } -void sub_0805A25C() { +void sub_0805A25C(void* this) { gScreen.controls.layerFXControl = 0; gScreen.lcd.displayControl &= ~DISPCNT_BG3_ON; sub_08056250(); diff --git a/src/manager/manager1A.c b/src/manager/manager1A.c index 5e760473..9aea4722 100644 --- a/src/manager/manager1A.c +++ b/src/manager/manager1A.c @@ -165,10 +165,8 @@ void sub_0805B210(Manager1A* this) { gRoomTransition.player_status.start_pos_y = tmp->unk_06; break; case 1: - gRoomTransition.player_status.start_pos_x = - gPlayerEntity.x.HALF.HI - gRoomControls.origin_x + tmp->unk_04; - gRoomTransition.player_status.start_pos_y = - gPlayerEntity.y.HALF.HI - gRoomControls.origin_y + tmp->unk_06; + gRoomTransition.player_status.start_pos_x = gPlayerEntity.x.HALF.HI - gRoomControls.origin_x + tmp->unk_04; + gRoomTransition.player_status.start_pos_y = gPlayerEntity.y.HALF.HI - gRoomControls.origin_y + tmp->unk_06; break; case 2: gRoomTransition.player_status.start_pos_x = tmp->unk_04; diff --git a/src/manager/manager1B.c b/src/manager/manager1B.c index 8fb9e70a..4eafda98 100644 --- a/src/manager/manager1B.c +++ b/src/manager/manager1B.c @@ -2,6 +2,7 @@ #include "manager.h" #include "functions.h" #include "screen.h" +#include "common.h" typedef struct { Manager manager; diff --git a/src/manager/manager2.c b/src/manager/manager2.c index a9404c10..828dcbcc 100644 --- a/src/manager/manager2.c +++ b/src/manager/manager2.c @@ -1,6 +1,8 @@ #include "global.h" #include "screen.h" #include "functions.h" +#include "game.h" +#include "common.h" typedef struct { Manager manager; @@ -9,7 +11,7 @@ typedef struct { void* field_0x3c; } Manager2; -extern void sub_080576A0(); +extern void sub_080576A0(void*); extern void sub_0805754C(Manager2*); extern u8 gMapDataTopSpecial[]; @@ -81,9 +83,9 @@ void sub_08057688(void) { gScreen.bg1.control = BGCNT_SCREENBASE(30) | BGCNT_CHARBASE(2) | BGCNT_MOSAIC; } -void sub_080576A0(Manager2* this) { +void sub_080576A0(void* this) { LoadGfxGroup(gRoomVars.unk_10[0]); - this->field_0x38 = NULL; - this->field_0x3c = NULL; - sub_0805754C(this); + ((Manager2*)this)->field_0x38 = NULL; + ((Manager2*)this)->field_0x3c = NULL; + sub_0805754C((Manager2*)this); } diff --git a/src/manager/manager27.c b/src/manager/manager27.c index 8cd20656..e5c4483c 100644 --- a/src/manager/manager27.c +++ b/src/manager/manager27.c @@ -3,6 +3,7 @@ #include "entity.h" #include "flags.h" #include "functions.h" +#include "common.h" extern u32 sub_0805C920(Entity*); diff --git a/src/manager/manager2F.c b/src/manager/manager2F.c index 7b7285df..614e418a 100644 --- a/src/manager/manager2F.c +++ b/src/manager/manager2F.c @@ -4,6 +4,7 @@ #include "room.h" #include "screen.h" #include "functions.h" +#include "common.h" void sub_0805D470(Manager*); diff --git a/src/manager/manager4.c b/src/manager/manager4.c index e287d521..f73c9514 100644 --- a/src/manager/manager4.c +++ b/src/manager/manager4.c @@ -89,7 +89,7 @@ u32 sub_0805795C(Manager* this, DiggingCaveEntrance* entr) { } } -extern void sub_08080930(); +extern void sub_08080930(u32); #ifdef EU ASM_FUNC("asm/non_matching/eu/sub_08057A18.inc", void sub_08057A18(Manager* this, DiggingCaveEntrance* entr)) diff --git a/src/manager/manager7.c b/src/manager/manager7.c index ba3e03a2..5316a4a3 100644 --- a/src/manager/manager7.c +++ b/src/manager/manager7.c @@ -1,6 +1,7 @@ #include "manager.h" #include "asm.h" #include "functions.h" +#include "common.h" typedef struct { Manager manager; @@ -8,8 +9,8 @@ typedef struct { u8 unk_21[0x1F]; } Manager7; -void sub_08057E30(); -u32 sub_08057E40(); +void sub_08057E30(void*); +u32 sub_08057E40(Manager7*); void sub_08057E7C(u32); extern u32 CheckRegionsOnScreen(const u16*); @@ -106,7 +107,7 @@ void Manager7_Main(Manager7* this) { } #endif -void sub_08057E30(Manager7* this) { +void sub_08057E30(void* this) { sub_08057E7C(gRoomVars.unk_10[0]); } @@ -120,7 +121,7 @@ u32 sub_08057E40(Manager7* this) { } } -void sub_08057E64() { +void sub_08057E64(void) { u32 tmp; tmp = CheckRegionsOnScreen(gUnk_08108050); if (tmp != 0xFF) { diff --git a/src/manager/manager8.c b/src/manager/manager8.c index f3fbffa9..7ec803be 100644 --- a/src/manager/manager8.c +++ b/src/manager/manager8.c @@ -1,6 +1,7 @@ #include "manager.h" #include "screen.h" #include "functions.h" +#include "common.h" typedef struct { Manager manager; @@ -11,7 +12,7 @@ typedef struct { } Manager8; void sub_08057F20(Manager8*); -void sub_08057EFC(); +void sub_08057EFC(void*); void sub_08058034(void); void sub_08058084(u16*, u16*); @@ -27,12 +28,12 @@ void Manager8_Main(Manager8* this) { } } -void sub_08057EFC(Manager8* this) { +void sub_08057EFC(void* this) { LoadGfxGroup((u32)gRoomVars.unk_10[0]); sub_08058034(); - this->unk_3c = 0; - this->unk_38 = 0; - sub_08057F20(this); + ((Manager8*)this)->unk_3c = 0; + ((Manager8*)this)->unk_38 = 0; + sub_08057F20(((Manager8*)this)); } void sub_08058004(u32, void*, void*); @@ -75,7 +76,7 @@ void sub_08058004(u32 unk1, void* unk2, void* unk3) { } } -void sub_08058034() { +void sub_08058034(void) { u32 tmp; u16 *tmp2, *tmp3; tmp2 = gMapDataTopSpecial; diff --git a/src/manager/manager9.c b/src/manager/manager9.c index 4e992f59..c00132df 100644 --- a/src/manager/manager9.c +++ b/src/manager/manager9.c @@ -3,6 +3,7 @@ #include "room.h" #include "screen.h" #include "functions.h" +#include "common.h" typedef struct { Manager manager; @@ -66,7 +67,7 @@ void sub_080582A0(u32 unk, u32* unk2, u16* unk3) { extern u8 gMapDataTopSpecial[]; -void sub_080582D0() { +void sub_080582D0(void) { u8* tmp = gMapDataTopSpecial; u8* tmp2 = tmp + 0x4000; sub_080582F8(tmp, tmp2); diff --git a/src/manager/managerC.c b/src/manager/managerC.c index f198cf04..5f498695 100644 --- a/src/manager/managerC.c +++ b/src/manager/managerC.c @@ -27,6 +27,8 @@ typedef struct { u16 unk_6; } struct_08108228; +void sub_08058D34(void); + void (*const gUnk_0810821C[])(ManagerC*); const struct_08108228 gUnk_08108228[6]; const struct_08108228 gUnk_08108258[6]; @@ -267,7 +269,7 @@ void sub_08058CB0(ManagerC* this) { this->unk_24.HALF.HI = this->unk_20 = gUnk_08108300[tmp3]; } -void sub_08058CFC() { +void sub_08058CFC(void) { u32 tmp = gPlayerEntity.y.HALF.HI - gRoomControls.scroll_y; if (tmp < 0x4C) { sub_080044AE(&gPlayerEntity, 0xC0, 0x10); @@ -277,7 +279,7 @@ void sub_08058CFC() { } } -void sub_08058D34() { +void sub_08058D34(void) { u16 tmp; u32 tmp2; LoadPaletteGroup(0x28); diff --git a/src/manager/managerF.c b/src/manager/managerF.c index dd27ac02..0a7cec00 100644 --- a/src/manager/managerF.c +++ b/src/manager/managerF.c @@ -284,7 +284,7 @@ void sub_08059220(ManagerF* this) { } } -void sub_08059278() { +void sub_08059278(void) { ManagerF* tmp; tmp = (ManagerF*)FindEntityByID(0x9, 0xF, 0x6); if (tmp) { diff --git a/src/npc/bladeBrothers.c b/src/npc/bladeBrothers.c index f9bc50b6..8b313f98 100644 --- a/src/npc/bladeBrothers.c +++ b/src/npc/bladeBrothers.c @@ -8,6 +8,7 @@ #include "script.h" #include "npc.h" #include "functions.h" +#include "game.h" extern void (*gUnk_081115C0[])(Entity*); extern void (*gUnk_081115D0[])(Entity*); diff --git a/src/npc/cat.c b/src/npc/cat.c index 09ec72d2..1b69f913 100644 --- a/src/npc/cat.c +++ b/src/npc/cat.c @@ -5,7 +5,7 @@ #include "message.h" #include "npc.h" -extern void sub_08067C44(); +extern void sub_08067C44(Entity*); extern void (*gCat[9])(Entity*); @@ -14,7 +14,7 @@ extern Dialog gUnk_08110EF8; extern Hitbox gUnk_08110EF0; extern void sub_08067B08(Entity*); -extern u32 sub_08067D20(); +extern u32 sub_08067D20(Entity*); extern void sub_08067AAC(Entity*); extern void sub_08067B34(Entity*); extern void sub_08067B80(Entity*, u32); diff --git a/src/npc/dampe.c b/src/npc/dampe.c index fd7ddbb7..5c22a331 100644 --- a/src/npc/dampe.c +++ b/src/npc/dampe.c @@ -84,7 +84,7 @@ void sub_0806BEC8(Entity* this, ScriptExecutionContext* context) { MessageNoOverlap(gUnk_0811334A[msgIndex], this); } -void sub_0806BEFC() { +void sub_0806BEFC(void) { SetTileType(0x17E, 0x58E, 1); SetTileType(0x17F, 0x58F, 1); SetTileType(0x180, 0x5CE, 1); diff --git a/src/npc/dog.c b/src/npc/dog.c index bd88e5c3..85ed9568 100644 --- a/src/npc/dog.c +++ b/src/npc/dog.c @@ -4,7 +4,7 @@ extern void (*gUnk_08111D88[])(Entity*); void sub_08069FE8(Entity*); -u32 sub_08069EF0(); +u32 sub_08069EF0(Entity*); extern u8 gUnk_08111DA8[]; u32 sub_08069F90(Entity*); diff --git a/src/npc/guard.c b/src/npc/guard.c index b0f44595..d8afe8b2 100644 --- a/src/npc/guard.c +++ b/src/npc/guard.c @@ -7,6 +7,7 @@ #include "script.h" #include "functions.h" #include "npc.h" +#include "projectile.h" typedef struct { u32 unk; diff --git a/src/npc/mailbox.c b/src/npc/mailbox.c index 9dc5df22..755e0b2c 100644 --- a/src/npc/mailbox.c +++ b/src/npc/mailbox.c @@ -4,7 +4,7 @@ #include "effects.h" #include "npc.h" -extern void sub_08063280(); +extern void sub_08063280(Entity*, u32); extern void (*gMailboxBehaviors[4])(Entity*); diff --git a/src/npc/mayorHagen.c b/src/npc/mayorHagen.c index bf56dd1d..673b2b81 100644 --- a/src/npc/mayorHagen.c +++ b/src/npc/mayorHagen.c @@ -4,7 +4,7 @@ #include "flags.h" #include "npc.h" -extern void sub_08078850(); +extern void sub_08078850(Entity*, u32, u32, u32*); extern u32 gUnk_08113F44; extern Dialog gUnk_08113F48[]; diff --git a/src/npc/npc4E.c b/src/npc/npc4E.c index d5952c03..19c7b63a 100644 --- a/src/npc/npc4E.c +++ b/src/npc/npc4E.c @@ -6,6 +6,7 @@ #include "flags.h" #include "object.h" #include "npc.h" +#include "game.h" extern Hitbox gHitbox_2; typedef struct { @@ -184,7 +185,7 @@ void sub_0806DC58(Entity* this) { ForceEquipItem(sub_0806DBF4(this->field_0x68.HALF.HI), 1); } -void sub_0806DC7C() { +void sub_0806DC7C(void) { const u16* tiles = gUnk_081141F4; while (*tiles != 0) { u32 tile = *tiles; @@ -193,7 +194,7 @@ void sub_0806DC7C() { } } -void sub_0806DCA0() { +void sub_0806DCA0(void) { const u16* tiles = gUnk_081141F4; while (*tiles != 0) { u32 tile = *tiles; @@ -202,7 +203,7 @@ void sub_0806DCA0() { } } -void sub_0806DCC0() { +void sub_0806DCC0(void) { gRoomTransition.player_status.overworld_map_x = 0x7c8; gRoomTransition.player_status.overworld_map_y = 0xf8; } diff --git a/src/npc/npc5.c b/src/npc/npc5.c index 1fa8c0f6..6ad456bb 100644 --- a/src/npc/npc5.c +++ b/src/npc/npc5.c @@ -822,7 +822,7 @@ bool32 sub_08061A74(Entity* this, s32 x, s32 y, s32 param) { return TRUE; } -void sub_08061AA0() { +void sub_08061AA0(void) { DeleteThisEntity(); } diff --git a/src/npc/pina.c b/src/npc/pina.c index a36763ae..1ca1e56e 100644 --- a/src/npc/pina.c +++ b/src/npc/pina.c @@ -3,6 +3,7 @@ #include "message.h" #include "save.h" #include "npc.h" +#include "object.h" void sub_08063B68(Entity* this); void sub_08063A80(Entity* this); diff --git a/src/npc/stamp.c b/src/npc/stamp.c index 645fe1cc..4fd6944b 100644 --- a/src/npc/stamp.c +++ b/src/npc/stamp.c @@ -5,7 +5,7 @@ #include "effects.h" #include "npc.h" -extern void sub_08062CA4(); +extern void sub_08062CA4(Entity*); extern void (*gStampBehaviors1[4])(Entity*); extern void (*gStampBehaviors2[2])(Entity*); diff --git a/src/npc/stockwell.c b/src/npc/stockwell.c index 40ad8706..05f38e8c 100644 --- a/src/npc/stockwell.c +++ b/src/npc/stockwell.c @@ -4,6 +4,8 @@ #include "message.h" #include "functions.h" #include "npc.h" +#include "object.h" +#include "item.h" extern void (*const gUnk_0810FDC8[])(Entity*); diff --git a/src/npc/townMinish.c b/src/npc/townMinish.c index 557b7341..50045270 100644 --- a/src/npc/townMinish.c +++ b/src/npc/townMinish.c @@ -3,9 +3,9 @@ #include "npc.h" #include "functions.h" -extern u32 sub_080002C0(); +extern u32 sub_080002C0(u32, u32, u32); extern void sub_0806ACC4(Entity*); -extern void sub_0806AEA8(); +extern void sub_0806AEA8(Entity*); extern void sub_0806AEE4(Entity*); extern void sub_0806AFE8(Entity*, ScriptExecutionContext*); extern void sub_08078850(Entity*, u32, u32, u32*); @@ -14,7 +14,7 @@ extern u8 gUnk_081125F4[12]; extern SpriteLoadData gUnk_08112674[]; extern u32 gUnk_081126D4[4]; extern u8 gUnk_081126E4[4]; -extern void (*gUnk_081126E8[])(); +extern void (*gUnk_081126E8[])(Entity*); extern Dialog gUnk_081126F0[0x10]; extern void (*gUnk_08112BF0[])(Entity*, ScriptExecutionContext*); extern u16 gUnk_08112C40[5]; diff --git a/src/npcUtils.c b/src/npcUtils.c index 01ddd448..f1b97dd6 100644 --- a/src/npcUtils.c +++ b/src/npcUtils.c @@ -10,7 +10,7 @@ extern const NPCDefinition gNPCDefinitions[]; extern Hitbox* gNPCHitboxes[]; -extern u32 (*gUnk_08114EFC[])(); +extern u32 (*gUnk_08114EFC[])(Entity*); extern u32 (*gUnk_08114F0C[])(Entity*, u8*); typedef struct { diff --git a/src/object/bird.c b/src/object/bird.c index 33bea93a..24e2693b 100644 --- a/src/object/bird.c +++ b/src/object/bird.c @@ -1,6 +1,7 @@ #include "save.h" #include "object.h" #include "functions.h" +#include "item.h" extern void (*const gUnk_08123EC0[])(Entity*); extern void (*const gUnk_08123EEC[])(Entity*); diff --git a/src/object/book.c b/src/object/book.c index 3da498bc..7c3bf57e 100644 --- a/src/object/book.c +++ b/src/object/book.c @@ -1,6 +1,7 @@ #include "object.h" #include "functions.h" #include "message.h" +#include "item.h" extern void (*const BookActionFuncs[])(Entity*); extern s8 const gUnk_08123D94[]; diff --git a/src/object/cloud.c b/src/object/cloud.c index dd3da89d..5c4383d8 100644 --- a/src/object/cloud.c +++ b/src/object/cloud.c @@ -2,6 +2,8 @@ #include "structures.h" #include "functions.h" +void sub_0809F814(u32 r0); + extern void sub_0809F7BC(Entity*); extern void sub_0809F7F4(Entity*); extern void (*gUnk_08124798[])(Entity*); diff --git a/src/object/greatFairy.c b/src/object/greatFairy.c index 85e8681a..9232fd21 100644 --- a/src/object/greatFairy.c +++ b/src/object/greatFairy.c @@ -6,7 +6,7 @@ void GreatFairy_InitializeAnimation(Entity*); Entity* GreatFairy_CreateForm(Entity*, u32, u32); -void sub_080873D0(); +void sub_080873D0(Entity*); extern void (*const GreatFairy_Main[])(Entity*); extern void (*const GreatFairy_Behaviors[])(Entity*); extern void (*const GreatFairy_WingsBehaviors[])(Entity*); diff --git a/src/object/heartContainer.c b/src/object/heartContainer.c index 433fb87e..9e8346b3 100644 --- a/src/object/heartContainer.c +++ b/src/object/heartContainer.c @@ -2,6 +2,7 @@ #include "entity.h" #include "flags.h" #include "functions.h" +#include "item.h" static void sub_0808E6A0(Entity*); static void sub_0808E6E4(Entity*); diff --git a/src/object/lilypadSmall.c b/src/object/lilypadSmall.c index 31c5c3a8..5ec5fb84 100644 --- a/src/object/lilypadSmall.c +++ b/src/object/lilypadSmall.c @@ -6,6 +6,7 @@ extern void sub_080A2CC0(Entity*, Entity**, u16*); extern u16 gUnk_08123318[]; static void sub_08097B24(Entity* this); +static u32 sub_08097ADC(Entity* this); void LilypadSmall(Entity* this) { u32 rand; @@ -30,7 +31,7 @@ void LilypadSmall(Entity* this) { } } -u32 sub_08097ADC(Entity* this) { +static u32 sub_08097ADC(Entity* this) { if ((gPlayerState.flags & PL_MINISH) == 0) { return 0; } else if (EntityInRectRadius(this, &gPlayerEntity, 8, 8) == 0) { diff --git a/src/object/object1A.c b/src/object/object1A.c index bdc3fe49..292a70f6 100644 --- a/src/object/object1A.c +++ b/src/object/object1A.c @@ -1,7 +1,7 @@ #include "object.h" #include "functions.h" -extern void sub_08086A6C(); +extern void sub_08086A6C(Entity*); extern void (*gUnk_081206C4[99])(Entity*); diff --git a/src/object/object6A.c b/src/object/object6A.c index 1f956870..f02d7660 100644 --- a/src/object/object6A.c +++ b/src/object/object6A.c @@ -5,6 +5,7 @@ #include "message.h" #include "functions.h" #include "screen.h" +#include "item.h" extern u8 gUnk_08114F30[]; extern u8 gUnk_08114F34[]; diff --git a/src/object/objectA8.c b/src/object/objectA8.c index ef00c9df..8a347a1f 100644 --- a/src/object/objectA8.c +++ b/src/object/objectA8.c @@ -1,6 +1,7 @@ #include "entity.h" #include "player.h" #include "functions.h" +#include "item.h" extern void (*gUnk_08124824[])(Entity*); diff --git a/src/object/palaceArchway.c b/src/object/palaceArchway.c index 13e6d3bb..f1c0abb9 100644 --- a/src/object/palaceArchway.c +++ b/src/object/palaceArchway.c @@ -14,5 +14,5 @@ void sub_0809F2A0(Entity* this) { SetTile(0x4069, COORD_TO_TILE(this), this->collisionLayer); } -void nullsub_537() { +void nullsub_537(Entity* this) { } diff --git a/src/player.c b/src/player.c index 26ee17c9..1f6b0cc7 100644 --- a/src/player.c +++ b/src/player.c @@ -241,7 +241,7 @@ static EntityAction sub_0807518C; static EntityAction sub_080751B4; static void sub_080717F8(Entity*); -static void reset_priority(); +static void reset_priority(void); static void break_out(Entity* this); static void sub_08073AD4(Entity* this); static void sub_08073B60(Entity*); @@ -257,44 +257,41 @@ void SurfaceAction_Ladder(Entity*); void SurfaceAction_AutoLadder(Entity*); extern void sub_080A4D88(void); -extern void RespawnPlayer(); -extern void sub_080797EC(); -extern void UpdatePlayerMovement(); -extern void sub_08077698(); -extern void sub_08079258(); -extern void EnablePlayerDraw(); -extern u32 sub_08079B24(); -extern void sub_08079708(); -extern void sub_080792D8(); -extern Entity* CreatePlayerBomb(); -extern u32 sub_0806F854(); -extern u32 UpdatePlayerCollision(); -extern void sub_08079744(); -extern void sub_0807AE20(); -extern u32 sub_0807A894(); -extern u32 sub_080797C4(); -extern u32 sub_0807AC54(); -extern void sub_0800892E(); -extern void sub_08078F24(); -extern void sub_0807B068(); -extern u32 sub_080001DA(); -extern u32 sub_0807A2F8(); -extern u32 sub_0806F730(); -extern u32 sub_08007DD6(); -extern u32 GetSurfaceCalcType(); +extern void RespawnPlayer(void); +extern void sub_080797EC(void); +extern void UpdatePlayerMovement(void); +extern void sub_08079258(void); +extern void EnablePlayerDraw(Entity*); +extern u32 sub_08079B24(void); +extern void sub_08079708(Entity*); +extern Entity* CreatePlayerBomb(Entity*, u32); +extern u32 sub_0806F854(Entity*, s32, s32); +extern u32 UpdatePlayerCollision(void); +extern void sub_08079744(Entity*); +extern void sub_0807AE20(Entity*); +extern u32 sub_0807A894(Entity*); +extern u32 sub_080797C4(void); +extern void sub_0800892E(Entity*); +extern void sub_08078F24(void); +extern void sub_0807B068(Entity*); +extern u32 sub_080001DA(u32, u32); +extern u32 sub_0807A2F8(u32); +extern u32 sub_0806F730(Entity*); +extern u32 sub_08007DD6(u32, const u16*); +extern u32 GetSurfaceCalcType(Entity*, u32, u32); extern void sub_08074808(Entity* this); extern void DoJump(Entity*); extern void SetZeldaFollowTarget(Entity*); u32 ItemIsSword(u32 item); -extern u32 sub_0807A2B8(); -extern u32 sub_08079550(); -extern u32 sub_080782C0(); +extern u32 sub_0807A2B8(void); +extern u32 sub_08079550(void); +extern u32 sub_080782C0(void); extern u32 sub_080793E4(u32); extern void sub_08008AC6(Entity*); extern u32 sub_08079C30(Entity*); -extern void sub_08077AEC(); -extern u32 RunQueuedAction(); -extern void UpdatePlayerSkills(); +extern void sub_08077AEC(void); +extern u32 RunQueuedAction(void); +extern void UpdatePlayerSkills(void); void sub_08077698(Entity*); u32 sub_080782C0(void); @@ -3294,7 +3291,7 @@ static NONMATCH("asm/non_matching/player/sub_080740D8.inc", void sub_080740D8(En } END_NONMATCH -u32 sub_080741C4() { +u32 sub_080741C4(void) { if ((gPlayerState.jump_status && (gPlayerState.jump_status & 7) != 3) || gPlayerEntity.z.WORD != 0) { gPlayerState.field_0x11 = 0; gPlayerState.field_0x37 = 0; @@ -3529,7 +3526,7 @@ void SurfaceAction_Water(Entity* this) { } void sub_08074808(Entity* this) { - sub_08077AEC(this); + sub_08077AEC(); if (GetInventoryValue(ITEM_FLIPPERS) == 1) { if (!gPlayerState.swim_state) { if ((gPlayerState.flags & 0x10000) != 0) @@ -3559,7 +3556,7 @@ void SurfaceAction_Button(Entity* this) { gPlayerState.field_0x3f -= 2; } -void sub_080748D4() { +void sub_080748D4(void) { sub_080741C4(); } diff --git a/src/playerItem.c b/src/playerItem.c index a6c41629..bb91563e 100644 --- a/src/playerItem.c +++ b/src/playerItem.c @@ -1,26 +1,29 @@ #include "global.h" #include "functions.h" +#include "player.h" -extern void PlayerItemSword(); -extern void PlayerItemBomb(); -extern void PlayerItem3(); -extern void PlayerItemBow(); -extern void PlayerItemShield(); -extern void PlayerItemLantern(); -extern void PlayerItemNulled(); -extern void PlayerItemGustJar(); -extern void PlayerItemPacciCane(); -extern void PlayerItemC(); -extern void PlayerItemCellOverwriteSet(); -extern void PlayerItemSwordSpin(); -extern void PlayerItemSwordBeam(); -extern void PlayerItem10(); -extern void PlayerItem11(); -extern void PlayerItem12(); -extern void PlayerItem13(); -extern void PlayerItem14(); -extern void PlayerItem15(); -extern void PlayerItemNulled2(); +typedef void(PlayerItemFunc)(Entity*); + +PlayerItemFunc PlayerItemSword; +PlayerItemFunc PlayerItemBomb; +PlayerItemFunc PlayerItem3; +PlayerItemFunc PlayerItemBow; +PlayerItemFunc PlayerItemShield; +PlayerItemFunc PlayerItemLantern; +PlayerItemFunc PlayerItemNulled; +PlayerItemFunc PlayerItemGustJar; +PlayerItemFunc PlayerItemPacciCane; +PlayerItemFunc PlayerItemC; +PlayerItemFunc PlayerItemCellOverwriteSet; +PlayerItemFunc PlayerItemSwordSpin; +PlayerItemFunc PlayerItemSwordBeam; +PlayerItemFunc PlayerItem10; +PlayerItemFunc PlayerItem11; +PlayerItemFunc PlayerItem12; +PlayerItemFunc PlayerItem13; +PlayerItemFunc PlayerItem14; +PlayerItemFunc PlayerItem15; +PlayerItemFunc PlayerItemNulled2; typedef struct { u8 bitfield; @@ -34,7 +37,7 @@ typedef struct { extern const PlayerItemDefinition gPlayerItemDefinitions[]; extern const PlayerItemDefinition* gAdditionalPlayerItemDefinitions[3]; -void (*const gPlayerItemFunctions[])() = { +PlayerItemFunc* const gPlayerItemFunctions[] = { DeleteEntity, PlayerItemSword, PlayerItemBomb, diff --git a/src/playerItem/playerItem14.c b/src/playerItem/playerItem14.c index e48fd10b..3e50c389 100644 --- a/src/playerItem/playerItem14.c +++ b/src/playerItem/playerItem14.c @@ -2,6 +2,7 @@ #include "sound.h" #include "functions.h" #include "effects.h" +#include "asm.h" extern void (*const gUnk_08109AC8[])(Entity*); extern Hitbox gUnk_08109AD0; diff --git a/src/playerItem/playerItemPacciCane.c b/src/playerItem/playerItemPacciCane.c index c009e4b9..3a6f533c 100644 --- a/src/playerItem/playerItemPacciCane.c +++ b/src/playerItem/playerItemPacciCane.c @@ -25,6 +25,6 @@ void sub_080704D4(Entity* this) { ASM_FUNC("asm/non_matching/playerItemPacciCane/sub_080704FC.inc", void sub_080704FC(Entity* this)) -void ClearMenuSavestate() { +void ClearMenuSavestate(void) { MemClear(gUnk_02034490, sizeof(gUnk_02034490)); } diff --git a/src/playerItem/playerItemSwordBeam.c b/src/playerItem/playerItemSwordBeam.c index 671c13b5..b39ce936 100644 --- a/src/playerItem/playerItemSwordBeam.c +++ b/src/playerItem/playerItemSwordBeam.c @@ -5,6 +5,7 @@ #include "sound.h" #include "effects.h" #include "common.h" +#include "asm.h" extern void (*const gUnk_080B43F4[])(Entity*); diff --git a/src/projectile/ballAndChain.c b/src/projectile/ballAndChain.c index 281b04b6..61a812ba 100644 --- a/src/projectile/ballAndChain.c +++ b/src/projectile/ballAndChain.c @@ -1,5 +1,6 @@ #include "entity.h" #include "functions.h" +#include "projectile.h" bool32 sub_080AB12C(Entity* this); diff --git a/src/projectile/guardLineOfSight.c b/src/projectile/guardLineOfSight.c index 02ecc3cd..67dd7576 100644 --- a/src/projectile/guardLineOfSight.c +++ b/src/projectile/guardLineOfSight.c @@ -2,6 +2,7 @@ #include "asm.h" #include "coord.h" #include "functions.h" +#include "projectile.h" extern u32 sub_080644C8(Entity*); extern bool32 sub_080AE4CC(Entity*, u32, u32, u32); diff --git a/src/projectile/gyorgTail.c b/src/projectile/gyorgTail.c index c36bc6ad..36a0498e 100644 --- a/src/projectile/gyorgTail.c +++ b/src/projectile/gyorgTail.c @@ -3,6 +3,7 @@ #include "coord.h" #include "sound.h" #include "functions.h" +#include "projectile.h" extern u8 gEntCount; extern Hitbox gHitbox_21; diff --git a/src/projectile/v1EyeLaser.c b/src/projectile/v1EyeLaser.c index 500cee96..b1b068e8 100644 --- a/src/projectile/v1EyeLaser.c +++ b/src/projectile/v1EyeLaser.c @@ -1,5 +1,6 @@ #include "entity.h" #include "functions.h" +#include "projectile.h" extern void (*const V1EyeLaser_Actions[])(Entity*); extern const Hitbox* const gUnk_0812A5F4[]; diff --git a/src/projectile/winder.c b/src/projectile/winder.c index 7a0471e6..8dddd4a4 100644 --- a/src/projectile/winder.c +++ b/src/projectile/winder.c @@ -2,6 +2,7 @@ #include "asm.h" #include "functions.h" #include "common.h" +#include "projectile.h" extern void (*const Winder_Actions[])(Entity*); extern const u8 gUnk_0812A6BC[]; diff --git a/src/room.c b/src/room.c index 76d09d83..8e8928d0 100644 --- a/src/room.c +++ b/src/room.c @@ -8,7 +8,7 @@ #include "game.h" extern void sub_0804B058(EntityData* dat); -extern void sub_0801AC98(); +extern void sub_0801AC98(void); extern u32 sub_08049D1C(u32); extern Entity* LoadRoomEntity(EntityData*); extern void* GetRoomProperty(u32, u32, u32); @@ -17,8 +17,8 @@ extern void** gCurrentRoomProperties; extern void*** gAreaTable[]; extern u8 gUnk_081091E4[]; -extern void sub_080186EC(); -extern void sub_0804B16C(); +extern void sub_080186EC(void); +extern void sub_0804B16C(void); extern void ClearSmallChests(void); extern Entity* GetEmptyEntityByKind(u32 kind); @@ -147,9 +147,9 @@ void sub_0804AFB0(void** properties) { } } -u32 CallRoomProp6() { +u32 CallRoomProp6(void) { u32 result; - u32 (*func)(); + u32 (*func)(void); result = 1; func = (u32(*)())GetCurrentRoomProperty(6); @@ -159,7 +159,7 @@ u32 CallRoomProp6() { } void CallRoomProp5And7(void) { - void (*func)(); + void (*func)(void); sub_080186EC(); func = (void (*)())GetCurrentRoomProperty(5); @@ -219,7 +219,7 @@ void SetCurrentRoomPropertyList(u32 area, u32 room) { } void sub_0804B0E8(u32 arg0, u32 arg1) { - void (*func)(); + void (*func)(void); // init function at index 4 of room data func = (void (*)())GetRoomProperty(arg0, arg1, 4); diff --git a/src/roomInit.c b/src/roomInit.c index 11bc69fb..5f6ee01a 100644 --- a/src/roomInit.c +++ b/src/roomInit.c @@ -1,150 +1,159 @@ #include "global.h" - #include "main.h" #include "common.h" - #include "functions.h" - #include "sound.h" #include "effects.h" #include "screen.h" #include "flags.h" #include "item.h" #include "save.h" - #include "area.h" #include "game.h" - #include "npc.h" +#include "kinstone.h" + +extern u32 sub_08060354(void); +extern void sub_08057E64(void); +extern void sub_0809F814(u32); +extern void sub_080300E8(void); +extern void sub_08058D34(void); +extern void sub_0807BB98(u32, u32, u32, u32); +extern void sub_080AF2E4(void); +extern void sub_08059994(void); static void sub_0804E150(void); +static void sub_0804D0B4(void); +static void sub_0804D9B0(void); +static void sub_0804ED18(void); +static void sub_0804F578(void); u32 sub_unk3_ArmosInteriors_RuinsEntranceNorth(u32 arg0) { return 1; } -void sub_StateChange_ArmosInteriors_RuinsEntranceNorth() { +void sub_StateChange_ArmosInteriors_RuinsEntranceNorth(void) { sub_08030118(0); } -u32 sub_unk3_ArmosInteriors_RuinsEntranceSouth() { +u32 sub_unk3_ArmosInteriors_RuinsEntranceSouth(void) { return 1; } -void sub_StateChange_ArmosInteriors_RuinsEntranceSouth() { +void sub_StateChange_ArmosInteriors_RuinsEntranceSouth(void) { sub_08030118(1); } -u32 sub_unk3_ArmosInteriors_RuinsLeft() { +u32 sub_unk3_ArmosInteriors_RuinsLeft(void) { return 1; } -void sub_StateChange_ArmosInteriors_RuinsLeft() { +void sub_StateChange_ArmosInteriors_RuinsLeft(void) { sub_08030118(2); } -u32 sub_unk3_ArmosInteriors_RuinsMiddleLeft() { +u32 sub_unk3_ArmosInteriors_RuinsMiddleLeft(void) { return 1; } -void sub_StateChange_ArmosInteriors_RuinsMiddleLeft() { +void sub_StateChange_ArmosInteriors_RuinsMiddleLeft(void) { sub_08030118(3); } -u32 sub_unk3_ArmosInteriors_RuinsMiddleRight() { +u32 sub_unk3_ArmosInteriors_RuinsMiddleRight(void) { return 1; } -void sub_StateChange_ArmosInteriors_RuinsMiddleRight() { +void sub_StateChange_ArmosInteriors_RuinsMiddleRight(void) { sub_08030118(4); } -u32 sub_unk3_ArmosInteriors_RuinsRight() { +u32 sub_unk3_ArmosInteriors_RuinsRight(void) { return 1; } -void sub_StateChange_ArmosInteriors_RuinsRight() { +void sub_StateChange_ArmosInteriors_RuinsRight(void) { sub_08030118(5); } -u32 sub_unk3_ArmosInteriors_6() { +u32 sub_unk3_ArmosInteriors_6(void) { return 1; } -void sub_StateChange_ArmosInteriors_6() { +void sub_StateChange_ArmosInteriors_6(void) { sub_08030118(6); } -u32 sub_unk3_ArmosInteriors_RuinsGrassPath() { +u32 sub_unk3_ArmosInteriors_RuinsGrassPath(void) { return 1; } -void sub_StateChange_ArmosInteriors_RuinsGrassPath() { +void sub_StateChange_ArmosInteriors_RuinsGrassPath(void) { sub_08030118(7); } -u32 sub_unk3_ArmosInteriors_8() { +u32 sub_unk3_ArmosInteriors_8(void) { return 1; } -void sub_StateChange_ArmosInteriors_8() { +void sub_StateChange_ArmosInteriors_8(void) { sub_08030118(8); } -u32 sub_unk3_ArmosInteriors_FortressOfWindsLeft() { +u32 sub_unk3_ArmosInteriors_FortressOfWindsLeft(void) { return 1; } -void sub_StateChange_ArmosInteriors_FortressOfWindsLeft() { +void sub_StateChange_ArmosInteriors_FortressOfWindsLeft(void) { sub_08030118(9); gArea.dungeon_idx = 3; gArea.areaMetadata = 0x4e; } -u32 sub_unk3_ArmosInteriors_FortressOfWindsRight() { +u32 sub_unk3_ArmosInteriors_FortressOfWindsRight(void) { return 1; } -void sub_StateChange_ArmosInteriors_FortressOfWindsRight() { +void sub_StateChange_ArmosInteriors_FortressOfWindsRight(void) { sub_08030118(10); gArea.dungeon_idx = 3; gArea.areaMetadata = 0x4e; } -u32 sub_unk3_CrenelMinishPaths_CrenelBean() { +u32 sub_unk3_CrenelMinishPaths_CrenelBean(void) { return 1; } -void sub_StateChange_CrenelMinishPaths_CrenelBean() { +void sub_StateChange_CrenelMinishPaths_CrenelBean(void) { sub_080575C8(35); sub_08057688(); } -u32 sub_unk3_CrenelMinishPaths_CrenelWater() { +u32 sub_unk3_CrenelMinishPaths_CrenelWater(void) { return 1; } -void sub_StateChange_CrenelMinishPaths_CrenelWater() { +void sub_StateChange_CrenelMinishPaths_CrenelWater(void) { sub_080575C8(35); } -void sub_unk1_CrenelMinishPaths_CrenelWater() { +void sub_unk1_CrenelMinishPaths_CrenelWater(void) { sub_080575C8(35); } -u32 sub_unk3_CrenelMinishPaths_Rainfall() { +u32 sub_unk3_CrenelMinishPaths_Rainfall(void) { return 1; } -void sub_StateChange_CrenelMinishPaths_Rainfall() { +void sub_StateChange_CrenelMinishPaths_Rainfall(void) { sub_080580B0(34); } -void sub_unk1_CrenelMinishPaths_Rainfall() { +void sub_unk1_CrenelMinishPaths_Rainfall(void) { sub_080580B0(34); } -u32 sub_unk3_CrenelMinishPaths_MelarisMine() { +u32 sub_unk3_CrenelMinishPaths_MelarisMine(void) { return 1; } @@ -155,59 +164,59 @@ void sub_StateChange_CrenelMinishPaths_MelarisMine(void) { SetGlobalFlag(WHITE_SWORD_END); } -void sub_unk1_CrenelMinishPaths_MelarisMine() { +void sub_unk1_CrenelMinishPaths_MelarisMine(void) { sub_080580B0(34); } -u32 sub_unk3_MinishPaths1_ToMinishVillage() { +u32 sub_unk3_MinishPaths1_ToMinishVillage(void) { return 1; } -void sub_StateChange_MinishPaths1_ToMinishVillage() { +void sub_StateChange_MinishPaths1_ToMinishVillage(void) { sub_080575C8(30); } -void sub_unk1_MinishPaths1_ToMinishVillage() { +void sub_unk1_MinishPaths1_ToMinishVillage(void) { sub_080575C8(30); } -u32 sub_unk3_MinishPaths1_CastorWilds() { +u32 sub_unk3_MinishPaths1_CastorWilds(void) { return 1; } -void sub_StateChange_MinishPaths1_CastorWilds() { +void sub_StateChange_MinishPaths1_CastorWilds(void) { sub_080575C8(33); } -void sub_unk1_MinishPaths1_CastorWilds() { +void sub_unk1_MinishPaths1_CastorWilds(void) { sub_080575C8(33); } -u32 sub_unk3_MinishPaths1_HyruleTown() { +u32 sub_unk3_MinishPaths1_HyruleTown(void) { return 1; } -void sub_StateChange_MinishPaths1_HyruleTown() { +void sub_StateChange_MinishPaths1_HyruleTown(void) { sub_080575C8(31); } -void sub_unk1_MinishPaths1_HyruleTown() { +void sub_unk1_MinishPaths1_HyruleTown(void) { sub_080575C8(31); } -u32 sub_unk3_MinishPaths1_LonLonRanch() { +u32 sub_unk3_MinishPaths1_LonLonRanch(void) { return 1; } -void sub_StateChange_MinishPaths1_LonLonRanch() { +void sub_StateChange_MinishPaths1_LonLonRanch(void) { sub_080575C8(32); } -void sub_unk1_MinishPaths1_LonLonRanch() { +void sub_unk1_MinishPaths1_LonLonRanch(void) { sub_080575C8(32); } -u32 sub_unk3_MinishPaths1_MayorsCabin() { +u32 sub_unk3_MinishPaths1_MayorsCabin(void) { return 1; } @@ -221,11 +230,11 @@ void sub_StateChange_MinishPaths1_MayorsCabin(void) { LoadRoomEntityList(&Entities_MinishPaths1_MayorsCabin_gUnk_080D6138); } -void sub_unk1_MinishPaths1_MayorsCabin() { +void sub_unk1_MinishPaths1_MayorsCabin(void) { sub_080575C8(32); } -u32 sub_unk3_HouseInteriors1_Mayor() { +u32 sub_unk3_HouseInteriors1_Mayor(void) { return 1; } @@ -237,7 +246,7 @@ void sub_StateChange_HouseInteriors1_Mayor(void) { LoadRoomEntityList(&Entities_HouseInteriors1_Mayor_080D6210); } -u32 sub_unk3_HouseInteriors1_PostOffice() { +u32 sub_unk3_HouseInteriors1_PostOffice(void) { return 1; } @@ -313,7 +322,7 @@ void sub_StateChange_HouseInteriors1_PostOffice(void) { LoadRoomEntityList(&gUnk_080D6440); } -u32 sub_unk3_HouseInteriors1_Library2F() { +u32 sub_unk3_HouseInteriors1_Library2F(void) { return 1; } @@ -336,7 +345,7 @@ void sub_StateChange_HouseInteriors1_Library2F(void) { LoadRoomEntityList(&gUnk_080D6618); } -u32 sub_unk3_HouseInteriors1_Library1F() { +u32 sub_unk3_HouseInteriors1_Library1F(void) { return 1; } @@ -356,7 +365,7 @@ void sub_StateChange_HouseInteriors1_Library1F(void) { } } -u32 sub_unk3_HouseInteriors1_Inn1F() { +u32 sub_unk3_HouseInteriors1_Inn1F(void) { return 1; } @@ -448,7 +457,7 @@ void sub_StateChange_HouseInteriors1_InnEastRoom(void) { } } -u32 sub_unk3_HouseInteriors1_InnWest2F() { +u32 sub_unk3_HouseInteriors1_InnWest2F(void) { return 1; } @@ -492,21 +501,21 @@ void sub_StateChange_HouseInteriors1_InnWest2F(void) { LoadRoomEntityList(&UpperInn_Oracles); } -u32 sub_unk3_HouseInteriors1_InnEast2F() { +u32 sub_unk3_HouseInteriors1_InnEast2F(void) { return 1; } -void sub_StateChange_HouseInteriors1_InnEast2F() { +void sub_StateChange_HouseInteriors1_InnEast2F(void) { } -u32 sub_unk3_HouseInteriors1_InnMinishHeartPiece() { +u32 sub_unk3_HouseInteriors1_InnMinishHeartPiece(void) { return 1; } -void sub_StateChange_HouseInteriors1_InnMinishHeartPiece() { +void sub_StateChange_HouseInteriors1_InnMinishHeartPiece(void) { } -u32 sub_unk3_HouseInteriors1_SchoolWest() { +u32 sub_unk3_HouseInteriors1_SchoolWest(void) { return 1; } @@ -521,7 +530,7 @@ void sub_StateChange_HouseInteriors1_SchoolWest(void) { } } -u32 sub_unk3_HouseInteriors1_SchoolEast() { +u32 sub_unk3_HouseInteriors1_SchoolEast(void) { return 1; } @@ -610,7 +619,7 @@ void sub_StateChange_HyruleCastle_1(void) { } } -u32 sub_unk3_HyruleCastle_2() { +u32 sub_unk3_HyruleCastle_2(void) { return 1; } @@ -639,7 +648,7 @@ void sub_StateChange_HyruleCastle_2(void) { } } -u32 sub_unk3_HyruleCastle_3() { +u32 sub_unk3_HyruleCastle_3(void) { return 1; } @@ -696,95 +705,95 @@ void sub_StateChange_HyruleCastle_4(void) { extern ScreenTransitionData gUnk_0813AB80; -void sub_0804BCDC() { +void sub_0804BCDC(void) { sub_0808091C(&gUnk_0813AB80, TRANSITION_FADE_BLACK_SLOW); } -u32 sub_unk3_HyruleCastle_5() { +u32 sub_unk3_HyruleCastle_5(void) { return 1; } -void sub_StateChange_HyruleCastle_5() { +void sub_StateChange_HyruleCastle_5(void) { } -u32 sub_unk3_87_Main() { +u32 sub_unk3_87_Main(void) { return 1; } -void sub_StateChange_87_Main() { +void sub_StateChange_87_Main(void) { } -u32 sub_unk3_45_Main() { +u32 sub_unk3_45_Main(void) { return 1; } -void sub_StateChange_45_Main() { +void sub_StateChange_45_Main(void) { } -u32 sub_unk3_4D_Main() { +u32 sub_unk3_4D_Main(void) { return 1; } -void sub_StateChange_4D_Main() { +void sub_StateChange_4D_Main(void) { } -u32 sub_unk3_57_Main() { +u32 sub_unk3_57_Main(void) { return 1; } -void sub_StateChange_57_Main() { +void sub_StateChange_57_Main(void) { } -u32 sub_unk3_5F_Main() { +u32 sub_unk3_5F_Main(void) { return 1; } -void sub_StateChange_5F_Main() { +void sub_StateChange_5F_Main(void) { } -u32 sub_unk3_67_Main() { +u32 sub_unk3_67_Main(void) { return 1; } -void sub_StateChange_67_Main() { +void sub_StateChange_67_Main(void) { } -u32 sub_unk3_6F_Main() { +u32 sub_unk3_6F_Main(void) { return 1; } -void sub_StateChange_6F_Main() { +void sub_StateChange_6F_Main(void) { } -u32 sub_unk3_77_Main() { +u32 sub_unk3_77_Main(void) { return 1; } -void sub_StateChange_77_Main() { +void sub_StateChange_77_Main(void) { } -u32 sub_unk3_7F_Main() { +u32 sub_unk3_7F_Main(void) { return 1; } -void sub_StateChange_7F_Main() { +void sub_StateChange_7F_Main(void) { } -u32 sub_unk3_8F_Main() { +u32 sub_unk3_8F_Main(void) { return 1; } -void sub_StateChange_8F_Main() { +void sub_StateChange_8F_Main(void) { } -u32 sub_unk3_GreatFairies_Entrance() { +u32 sub_unk3_GreatFairies_Entrance(void) { return 1; } -void sub_StateChange_GreatFairies_Entrance() { +void sub_StateChange_GreatFairies_Entrance(void) { } -u32 sub_unk3_GreatFairies_Exit() { +u32 sub_unk3_GreatFairies_Exit(void) { return 1; } @@ -801,42 +810,42 @@ void sub_StateChange_GreatFairies_Exit(void) { } } -u32 sub_unk3_Dojos_Grayblade() { +u32 sub_unk3_Dojos_Grayblade(void) { return 1; } -void sub_StateChange_Dojos_Grayblade() { +void sub_StateChange_Dojos_Grayblade(void) { } -u32 sub_unk3_Dojos_Splitblade() { +u32 sub_unk3_Dojos_Splitblade(void) { return 1; } -void sub_StateChange_Dojos_Splitblade() { +void sub_StateChange_Dojos_Splitblade(void) { } -u32 sub_unk3_Dojos_Greatblade() { +u32 sub_unk3_Dojos_Greatblade(void) { return 1; } -void sub_StateChange_Dojos_Greatblade() { +void sub_StateChange_Dojos_Greatblade(void) { } -u32 sub_unk3_Dojos_Scarblade() { +u32 sub_unk3_Dojos_Scarblade(void) { return 1; } -void sub_StateChange_Dojos_Scarblade() { +void sub_StateChange_Dojos_Scarblade(void) { } -u32 sub_unk3_Dojos_Swiftblade() { +u32 sub_unk3_Dojos_Swiftblade(void) { return 1; } -void sub_StateChange_Dojos_Swiftblade() { +void sub_StateChange_Dojos_Swiftblade(void) { } -u32 sub_unk3_Dojos_Grimblade() { +u32 sub_unk3_Dojos_Grimblade(void) { return 1; } @@ -852,70 +861,70 @@ void sub_StateChange_Dojos_Grimblade(void) { } } -u32 sub_unk3_Dojos_Waveblade() { +u32 sub_unk3_Dojos_Waveblade(void) { return 1; } -void sub_StateChange_Dojos_Waveblade() { +void sub_StateChange_Dojos_Waveblade(void) { } -u32 sub_unk3_Dojos_7() { +u32 sub_unk3_Dojos_7(void) { return 1; } -void sub_StateChange_Dojos_7() { +void sub_StateChange_Dojos_7(void) { } -u32 sub_unk3_Dojos_8() { +u32 sub_unk3_Dojos_8(void) { return 1; } -void sub_StateChange_Dojos_8() { +void sub_StateChange_Dojos_8(void) { } -u32 sub_unk3_Dojos_9() { +u32 sub_unk3_Dojos_9(void) { return 1; } -void sub_StateChange_Dojos_9() { +void sub_StateChange_Dojos_9(void) { } -u32 sub_unk3_Dojos_ToGrimblade() { +u32 sub_unk3_Dojos_ToGrimblade(void) { return 1; } -void sub_StateChange_Dojos_ToGrimblade() { +void sub_StateChange_Dojos_ToGrimblade(void) { } -u32 sub_unk3_Dojos_ToSplitblade() { +u32 sub_unk3_Dojos_ToSplitblade(void) { return 1; } -void sub_StateChange_Dojos_ToSplitblade() { +void sub_StateChange_Dojos_ToSplitblade(void) { } -u32 sub_unk3_Dojos_ToGreatblade() { +u32 sub_unk3_Dojos_ToGreatblade(void) { return 1; } -void sub_StateChange_Dojos_ToGreatblade() { +void sub_StateChange_Dojos_ToGreatblade(void) { } -u32 sub_unk3_Dojos_ToScarblade() { +u32 sub_unk3_Dojos_ToScarblade(void) { return 1; } -void sub_StateChange_Dojos_ToScarblade() { +void sub_StateChange_Dojos_ToScarblade(void) { } -u32 sub_unk3_GoronCave_StairsToCave() { +u32 sub_unk3_GoronCave_StairsToCave(void) { return 1; } -void sub_StateChange_GoronCave_StairsToCave() { +void sub_StateChange_GoronCave_StairsToCave(void) { } -u32 sub_unk3_GoronCave_Main() { +u32 sub_unk3_GoronCave_Main(void) { return 1; } @@ -1011,14 +1020,14 @@ void sub_0804BF38(u32 arg0, struct_0804BF38* arg1) ASM_FUNC("asm/non_matching/sub_0804BF38.inc", void sub_0804BF38(Entity* this, ScriptExecutionContext* context)) #endif -u32 sub_unk3_EzloAuxCutscene_Main() { +u32 sub_unk3_EzloAuxCutscene_Main(void) { return 1; } -void sub_StateChange_EzloAuxCutscene_Main() { +void sub_StateChange_EzloAuxCutscene_Main(void) { } -u32 sub_unk3_RoyalValley_Main() { +u32 sub_unk3_RoyalValley_Main(void) { return 1; } @@ -1055,7 +1064,7 @@ void sub_StateChange_RoyalValley_Main(void) { ClearGlobalFlag(MAZE_CLEAR); } -u32 sub_unk3_RoyalValley_ForestMaze() { +u32 sub_unk3_RoyalValley_ForestMaze(void) { return 1; } @@ -1070,37 +1079,37 @@ ASM_FUNC("asm/non_matching/sub_0804C258.inc", void sub_0804C258(void)) ASM_FUNC("asm/non_matching/sub_0804C290.inc", void sub_0804C290(void)) -u32 sub_unk3_RoyalValleyGraves_HeartPiece() { +u32 sub_unk3_RoyalValleyGraves_HeartPiece(void) { return 1; } -void sub_StateChange_RoyalValleyGraves_HeartPiece() { +void sub_StateChange_RoyalValleyGraves_HeartPiece(void) { } -u32 sub_unk3_RoyalValleyGraves_Gina() { +u32 sub_unk3_RoyalValleyGraves_Gina(void) { return 1; } -void sub_StateChange_RoyalValleyGraves_Gina() { +void sub_StateChange_RoyalValleyGraves_Gina(void) { } -u32 sub_unk3_MinishRafters_Cafe() { +u32 sub_unk3_MinishRafters_Cafe(void) { return 1; } -void sub_StateChange_MinishRafters_Cafe() { +void sub_StateChange_MinishRafters_Cafe(void) { sub_08058324(0); } -u32 sub_unk3_MinishRafters_Stockwell() { +u32 sub_unk3_MinishRafters_Stockwell(void) { return 1; } -void sub_StateChange_MinishRafters_Stockwell() { +void sub_StateChange_MinishRafters_Stockwell(void) { sub_08058324(1); } -u32 sub_unk3_MinishRafters_DrLeft() { +u32 sub_unk3_MinishRafters_DrLeft(void) { return 1; } @@ -1114,19 +1123,19 @@ void sub_StateChange_MinishRafters_DrLeft(void) { LoadRoomEntityList(&gUnk_080D9800); } -void sub_unk1_MinishRafters_DrLeft() { +void sub_unk1_MinishRafters_DrLeft(void) { sub_StateChange_MinishRafters_DrLeft(); } -u32 sub_unk3_MinishRafters_Bakery() { +u32 sub_unk3_MinishRafters_Bakery(void) { return 1; } -void sub_StateChange_MinishRafters_Bakery() { +void sub_StateChange_MinishRafters_Bakery(void) { sub_08058324(3); } -u32 sub_unk3_CastorWilds_Main() { +u32 sub_unk3_CastorWilds_Main(void) { return 1; } @@ -1153,39 +1162,39 @@ void sub_unk1_CastorWilds_Main(void) { LoadRoomEntityList(&gUnk_080D9CE8); } -u32 sub_unk3_CastorCaves_South() { +u32 sub_unk3_CastorCaves_South(void) { return 1; } -void sub_StateChange_CastorCaves_South() { +void sub_StateChange_CastorCaves_South(void) { } -u32 sub_unk3_CastorCaves_North() { +u32 sub_unk3_CastorCaves_North(void) { return 1; } -void sub_StateChange_CastorCaves_North() { +void sub_StateChange_CastorCaves_North(void) { } -u32 sub_unk3_CastorCaves_WindRuins() { +u32 sub_unk3_CastorCaves_WindRuins(void) { return 1; } -void sub_StateChange_CastorCaves_WindRuins() { +void sub_StateChange_CastorCaves_WindRuins(void) { } -u32 sub_unk3_CastorCaves_Darknut() { +u32 sub_unk3_CastorCaves_Darknut(void) { return 1; } -void sub_StateChange_CastorCaves_Darknut() { +void sub_StateChange_CastorCaves_Darknut(void) { } -u32 sub_unk3_CastorCaves_HeartPiece() { +u32 sub_unk3_CastorCaves_HeartPiece(void) { return 1; } -void sub_StateChange_CastorCaves_HeartPiece() { +void sub_StateChange_CastorCaves_HeartPiece(void) { } extern u32 gUnk_080DA230; @@ -1197,124 +1206,124 @@ u32 sub_unk3_CastorDarknut_Main(void) { return 1; } -void sub_StateChange_CastorDarknut_Main() { +void sub_StateChange_CastorDarknut_Main(void) { } -u32 sub_unk3_CastorDarknut_Hall() { +u32 sub_unk3_CastorDarknut_Hall(void) { return 1; } -void sub_StateChange_CastorDarknut_Hall() { +void sub_StateChange_CastorDarknut_Hall(void) { } -u32 sub_unk3_GreatFairies_Graveyard() { +u32 sub_unk3_GreatFairies_Graveyard(void) { return 1; } -void sub_StateChange_GreatFairies_Graveyard() { +void sub_StateChange_GreatFairies_Graveyard(void) { } -u32 sub_unk3_GreatFairies_MinishWoods() { +u32 sub_unk3_GreatFairies_MinishWoods(void) { return 1; } -void sub_StateChange_GreatFairies_MinishWoods() { +void sub_StateChange_GreatFairies_MinishWoods(void) { } -u32 sub_unk3_GreatFairies_MtCrenel() { +u32 sub_unk3_GreatFairies_MtCrenel(void) { return 1; } -void sub_StateChange_GreatFairies_MtCrenel() { +void sub_StateChange_GreatFairies_MtCrenel(void) { } -u32 sub_unk3_GardenFountains_East() { +u32 sub_unk3_GardenFountains_East(void) { return 1; } -void sub_StateChange_GardenFountains_East() { +void sub_StateChange_GardenFountains_East(void) { } -u32 sub_unk3_GardenFountains_West() { +u32 sub_unk3_GardenFountains_West(void) { return 1; } -void sub_StateChange_GardenFountains_West() { +void sub_StateChange_GardenFountains_West(void) { } -u32 sub_unk3_MinishHouseInteriors_GentariMain() { +u32 sub_unk3_MinishHouseInteriors_GentariMain(void) { return 1; } -void sub_StateChange_MinishHouseInteriors_GentariMain() { +void sub_StateChange_MinishHouseInteriors_GentariMain(void) { sub_0801AFE4(); } -u32 sub_unk3_MinishHouseInteriors_GentariExit() { +u32 sub_unk3_MinishHouseInteriors_GentariExit(void) { return 1; } -void sub_StateChange_MinishHouseInteriors_GentariExit() { +void sub_StateChange_MinishHouseInteriors_GentariExit(void) { sub_0801AFE4(); } -u32 sub_unk3_MinishHouseInteriors_Festari() { +u32 sub_unk3_MinishHouseInteriors_Festari(void) { return 1; } -void sub_StateChange_MinishHouseInteriors_Festari() { +void sub_StateChange_MinishHouseInteriors_Festari(void) { sub_0801AFE4(); } -u32 sub_unk3_MinishHouseInteriors_Red() { +u32 sub_unk3_MinishHouseInteriors_Red(void) { return 1; } -void sub_StateChange_MinishHouseInteriors_Red() { +void sub_StateChange_MinishHouseInteriors_Red(void) { sub_0801AFE4(); } -u32 sub_unk3_MinishHouseInteriors_Green() { +u32 sub_unk3_MinishHouseInteriors_Green(void) { return 1; } -void sub_StateChange_MinishHouseInteriors_Green() { +void sub_StateChange_MinishHouseInteriors_Green(void) { sub_0801AFE4(); } -u32 sub_unk3_MinishHouseInteriors_Blue() { +u32 sub_unk3_MinishHouseInteriors_Blue(void) { return 1; } -void sub_StateChange_MinishHouseInteriors_Blue() { +void sub_StateChange_MinishHouseInteriors_Blue(void) { sub_0801AFE4(); } -u32 sub_unk3_MinishHouseInteriors_SideArea() { +u32 sub_unk3_MinishHouseInteriors_SideArea(void) { return 1; } -void sub_StateChange_MinishHouseInteriors_SideArea() { +void sub_StateChange_MinishHouseInteriors_SideArea(void) { sub_0801AFE4(); } -u32 sub_unk3_MinishHouseInteriors_ShoeMinish() { +u32 sub_unk3_MinishHouseInteriors_ShoeMinish(void) { return 1; } -void sub_StateChange_MinishHouseInteriors_ShoeMinish() { +void sub_StateChange_MinishHouseInteriors_ShoeMinish(void) { sub_0801AFE4(); } -u32 sub_unk3_MinishHouseInteriors_PotMinish() { +u32 sub_unk3_MinishHouseInteriors_PotMinish(void) { return 1; } -void sub_StateChange_MinishHouseInteriors_PotMinish() { +void sub_StateChange_MinishHouseInteriors_PotMinish(void) { sub_0801AFE4(); } -u32 sub_unk3_MinishHouseInteriors_BarrelMinish() { +u32 sub_unk3_MinishHouseInteriors_BarrelMinish(void) { return 1; } @@ -1386,7 +1395,7 @@ void sub_StateChange_MinishHouseInteriors_BarrelMinish(void) { sub_0801AFE4(); } -u32 sub_unk3_MinishHouseInteriors_MelariMinesSouthwest() { +u32 sub_unk3_MinishHouseInteriors_MelariMinesSouthwest(void) { return 1; } @@ -1399,7 +1408,7 @@ void sub_StateChange_MinishHouseInteriors_MelariMinesSouthwest(void) { sub_0801AFE4(); } -u32 sub_unk3_MinishHouseInteriors_MelariMinesSoutheast() { +u32 sub_unk3_MinishHouseInteriors_MelariMinesSoutheast(void) { return 1; } @@ -1412,7 +1421,7 @@ void sub_StateChange_MinishHouseInteriors_MelariMinesSoutheast(void) { sub_0801AFE4(); } -u32 sub_unk3_MinishHouseInteriors_MelariMinesEast() { +u32 sub_unk3_MinishHouseInteriors_MelariMinesEast(void) { return 1; } @@ -1425,31 +1434,31 @@ void sub_StateChange_MinishHouseInteriors_MelariMinesEast(void) { sub_0801AFE4(); } -u32 sub_unk3_MinishHouseInteriors_HyruleFieldSouthwest() { +u32 sub_unk3_MinishHouseInteriors_HyruleFieldSouthwest(void) { return 1; } -void sub_StateChange_MinishHouseInteriors_HyruleFieldSouthwest() { +void sub_StateChange_MinishHouseInteriors_HyruleFieldSouthwest(void) { sub_0801AFE4(); } -u32 sub_unk3_MinishHouseInteriors_HyruleFieldOutsideLinksHouse() { +u32 sub_unk3_MinishHouseInteriors_HyruleFieldOutsideLinksHouse(void) { return 1; } -void sub_StateChange_MinishHouseInteriors_HyruleFieldOutsideLinksHouse() { +void sub_StateChange_MinishHouseInteriors_HyruleFieldOutsideLinksHouse(void) { sub_0801AFE4(); } -u32 sub_unk3_MinishHouseInteriors_NextToKnuckle() { +u32 sub_unk3_MinishHouseInteriors_NextToKnuckle(void) { return 1; } -void sub_StateChange_MinishHouseInteriors_NextToKnuckle() { +void sub_StateChange_MinishHouseInteriors_NextToKnuckle(void) { sub_0801AFE4(); } -u32 sub_unk3_MinishHouseInteriors_Librari() { +u32 sub_unk3_MinishHouseInteriors_Librari(void) { return 1; } @@ -1462,39 +1471,39 @@ void sub_StateChange_MinishHouseInteriors_Librari(void) { sub_0801AFE4(); } -u32 sub_unk3_MinishHouseInteriors_HyruleFieldExit() { +u32 sub_unk3_MinishHouseInteriors_HyruleFieldExit(void) { return 1; } -void sub_StateChange_MinishHouseInteriors_HyruleFieldExit() { +void sub_StateChange_MinishHouseInteriors_HyruleFieldExit(void) { sub_0801AFE4(); } -u32 sub_unk3_MinishHouseInteriors_HyruleTown() { +u32 sub_unk3_MinishHouseInteriors_HyruleTown(void) { return 1; } -void sub_StateChange_MinishHouseInteriors_HyruleTown() { +void sub_StateChange_MinishHouseInteriors_HyruleTown(void) { sub_0801AFE4(); } -u32 sub_unk3_MinishHouseInteriors_MinishWoodsBomb() { +u32 sub_unk3_MinishHouseInteriors_MinishWoodsBomb(void) { return 1; } -void sub_StateChange_MinishHouseInteriors_MinishWoodsBomb() { +void sub_StateChange_MinishHouseInteriors_MinishWoodsBomb(void) { sub_0801AFE4(); } -u32 sub_unk3_MinishHouseInteriors_LakeHyliaOcarina() { +u32 sub_unk3_MinishHouseInteriors_LakeHyliaOcarina(void) { return 1; } -void sub_StateChange_MinishHouseInteriors_LakeHyliaOcarina() { +void sub_StateChange_MinishHouseInteriors_LakeHyliaOcarina(void) { sub_0801AFE4(); } -u32 sub_unk3_TownMinishHoles_MayorsHouse() { +u32 sub_unk3_TownMinishHoles_MayorsHouse(void) { return 1; } @@ -1510,43 +1519,43 @@ void sub_StateChange_TownMinishHoles_MayorsHouse(void) { sub_0801AFE4(); } -u32 sub_unk3_TownMinishHoles_WestOracle() { +u32 sub_unk3_TownMinishHoles_WestOracle(void) { return 1; } -void sub_StateChange_TownMinishHoles_WestOracle() { +void sub_StateChange_TownMinishHoles_WestOracle(void) { sub_0801AFE4(); } -u32 sub_unk3_TownMinishHoles_DrLeft() { +u32 sub_unk3_TownMinishHoles_DrLeft(void) { return 1; } -void sub_StateChange_TownMinishHoles_DrLeft() { +void sub_StateChange_TownMinishHoles_DrLeft(void) { sub_0801AFE4(); } -u32 sub_unk3_TownMinishHoles_Carpenter() { +u32 sub_unk3_TownMinishHoles_Carpenter(void) { return 1; } -void sub_StateChange_TownMinishHoles_Carpenter() { +void sub_StateChange_TownMinishHoles_Carpenter(void) { sub_0801AFE4(); } -u32 sub_unk3_TownMinishHoles_Cafe() { +u32 sub_unk3_TownMinishHoles_Cafe(void) { return 1; } -void sub_StateChange_TownMinishHoles_Cafe() { +void sub_StateChange_TownMinishHoles_Cafe(void) { sub_0801AFE4(); } -u32 sub_unk3_TownMinishHoles_5() { +u32 sub_unk3_TownMinishHoles_5(void) { return 1; } -void sub_StateChange_TownMinishHoles_5() { +void sub_StateChange_TownMinishHoles_5(void) { sub_0801AFE4(); } @@ -1570,7 +1579,7 @@ void sub_StateChange_TownMinishHoles_LibraryBookshelf(void) { sub_0801AFE4(); } -u32 sub_unk3_TownMinishHoles_LibrariBookHouse() { +u32 sub_unk3_TownMinishHoles_LibrariBookHouse(void) { return 1; } @@ -1583,7 +1592,7 @@ void sub_StateChange_TownMinishHoles_LibrariBookHouse(void) { sub_0801AFE4(); } -u32 sub_unk3_TownMinishHoles_RemShoeShop() { +u32 sub_unk3_TownMinishHoles_RemShoeShop(void) { return 1; } @@ -1617,77 +1626,77 @@ void sub_StateChange_TownMinishHoles_RemShoeShop(void) { sub_0801AFE4(); } -u32 sub_unk3_MinishCaves_BeanPesto() { +u32 sub_unk3_MinishCaves_BeanPesto(void) { return 1; } -void sub_StateChange_MinishCaves_BeanPesto() { +void sub_StateChange_MinishCaves_BeanPesto(void) { } -u32 sub_unk3_MinishCaves_SoutheastWater1() { +u32 sub_unk3_MinishCaves_SoutheastWater1(void) { return 1; } -void sub_StateChange_MinishCaves_SoutheastWater1() { +void sub_StateChange_MinishCaves_SoutheastWater1(void) { } -u32 sub_unk3_MinishCaves_SoutheastWater2() { +u32 sub_unk3_MinishCaves_SoutheastWater2(void) { return 1; } -void sub_StateChange_MinishCaves_SoutheastWater2() { +void sub_StateChange_MinishCaves_SoutheastWater2(void) { } -u32 sub_unk3_MinishCaves_Ruins() { +u32 sub_unk3_MinishCaves_Ruins(void) { return 1; } -void sub_StateChange_MinishCaves_Ruins() { +void sub_StateChange_MinishCaves_Ruins(void) { } -u32 sub_unk3_MinishCaves_OutsideLinksHouse() { +u32 sub_unk3_MinishCaves_OutsideLinksHouse(void) { return 1; } -void sub_StateChange_MinishCaves_OutsideLinksHouse() { +void sub_StateChange_MinishCaves_OutsideLinksHouse(void) { } -u32 sub_unk3_MinishCaves_MinishWoodsNorth1() { +u32 sub_unk3_MinishCaves_MinishWoodsNorth1(void) { return 1; } -void sub_StateChange_MinishCaves_MinishWoodsNorth1() { +void sub_StateChange_MinishCaves_MinishWoodsNorth1(void) { } -u32 sub_unk3_MinishCaves_MinishWoodsNorth2() { +u32 sub_unk3_MinishCaves_MinishWoodsNorth2(void) { return 1; } -void sub_StateChange_MinishCaves_MinishWoodsNorth2() { +void sub_StateChange_MinishCaves_MinishWoodsNorth2(void) { } -u32 sub_unk3_MinishCaves_LakeHyliaNorth() { +u32 sub_unk3_MinishCaves_LakeHyliaNorth(void) { return 1; } -void sub_StateChange_MinishCaves_LakeHyliaNorth() { +void sub_StateChange_MinishCaves_LakeHyliaNorth(void) { } -u32 sub_unk3_MinishCaves_LakeHyliaLibrari() { +u32 sub_unk3_MinishCaves_LakeHyliaLibrari(void) { return 1; } -void sub_StateChange_MinishCaves_LakeHyliaLibrari() { +void sub_StateChange_MinishCaves_LakeHyliaLibrari(void) { } -u32 sub_unk3_MinishCaves_MinishWoodsSouthwest() { +u32 sub_unk3_MinishCaves_MinishWoodsSouthwest(void) { return 1; } -void sub_StateChange_MinishCaves_MinishWoodsSouthwest() { +void sub_StateChange_MinishCaves_MinishWoodsSouthwest(void) { } -u32 sub_unk3_MinishVillage_Main() { +u32 sub_unk3_MinishVillage_Main(void) { return 1; } @@ -1719,11 +1728,11 @@ void sub_StateChange_MinishVillage_Main(void) { sub_08057E64(); } -u32 sub_unk3_MinishVillage_SideHouse() { +u32 sub_unk3_MinishVillage_SideHouse(void) { return 1; } -void sub_StateChange_MinishVillage_SideHouse() { +void sub_StateChange_MinishVillage_SideHouse(void) { } typedef struct { @@ -1739,77 +1748,77 @@ void sub_unk2_MinishVillage_SideHouse(void) { LoadPaletteGroup(0x19); } -u32 sub_unk3_CastleGardenMinishHoles_East() { +u32 sub_unk3_CastleGardenMinishHoles_East(void) { return 1; } -void sub_StateChange_CastleGardenMinishHoles_East() { +void sub_StateChange_CastleGardenMinishHoles_East(void) { } -u32 sub_unk3_CastleGardenMinishHoles_West() { +u32 sub_unk3_CastleGardenMinishHoles_West(void) { return 1; } -void sub_StateChange_CastleGardenMinishHoles_West() { +void sub_StateChange_CastleGardenMinishHoles_West(void) { } -u32 sub_unk3_37_0() { +u32 sub_unk3_37_0(void) { return 1; } -void sub_StateChange_37_0() { +void sub_StateChange_37_0(void) { } -u32 sub_unk3_37_1() { +u32 sub_unk3_37_1(void) { return 1; } -void sub_StateChange_37_1() { +void sub_StateChange_37_1(void) { } -u32 sub_unk3_MinishCracks_LonLonRanchNorth() { +u32 sub_unk3_MinishCracks_LonLonRanchNorth(void) { return 1; } -void sub_StateChange_MinishCracks_LonLonRanchNorth() { +void sub_StateChange_MinishCracks_LonLonRanchNorth(void) { } -u32 sub_unk3_MinishCracks_LakeHyliaEast() { +u32 sub_unk3_MinishCracks_LakeHyliaEast(void) { return 1; } -void sub_StateChange_MinishCracks_LakeHyliaEast() { +void sub_StateChange_MinishCracks_LakeHyliaEast(void) { } -u32 sub_unk3_MinishCracks_HyruleCastleGarden() { +u32 sub_unk3_MinishCracks_HyruleCastleGarden(void) { return 1; } -void sub_StateChange_MinishCracks_HyruleCastleGarden() { +void sub_StateChange_MinishCracks_HyruleCastleGarden(void) { } -u32 sub_unk3_MinishCracks_MtCrenel() { +u32 sub_unk3_MinishCracks_MtCrenel(void) { return 1; } -void sub_StateChange_MinishCracks_MtCrenel() { +void sub_StateChange_MinishCracks_MtCrenel(void) { } -u32 sub_unk3_MinishCracks_EastHyruleCastle() { +u32 sub_unk3_MinishCracks_EastHyruleCastle(void) { return 1; } -void sub_StateChange_MinishCracks_EastHyruleCastle() { +void sub_StateChange_MinishCracks_EastHyruleCastle(void) { } -u32 sub_unk3_MinishCracks_5() { +u32 sub_unk3_MinishCracks_5(void) { return 1; } -void sub_StateChange_MinishCracks_5() { +void sub_StateChange_MinishCracks_5(void) { } -u32 sub_unk3_MinishCracks_CastleWildsBowHole() { +u32 sub_unk3_MinishCracks_CastleWildsBowHole(void) { return 1; } @@ -1821,84 +1830,84 @@ void sub_StateChange_MinishCracks_CastleWildsBowHole(void) { } } -u32 sub_unk3_MinishCracks_RuinsEntrance() { +u32 sub_unk3_MinishCracks_RuinsEntrance(void) { return 1; } -void sub_StateChange_MinishCracks_RuinsEntrance() { +void sub_StateChange_MinishCracks_RuinsEntrance(void) { } -u32 sub_unk3_MinishCracks_MinishWoodsSouth() { +u32 sub_unk3_MinishCracks_MinishWoodsSouth(void) { return 1; } -void sub_StateChange_MinishCracks_MinishWoodsSouth() { +void sub_StateChange_MinishCracks_MinishWoodsSouth(void) { } -u32 sub_unk3_MinishCracks_CastorWildsNorth() { +u32 sub_unk3_MinishCracks_CastorWildsNorth(void) { return 1; } -void sub_StateChange_MinishCracks_CastorWildsNorth() { +void sub_StateChange_MinishCracks_CastorWildsNorth(void) { } -u32 sub_unk3_MinishCracks_CastorWildsWest() { +u32 sub_unk3_MinishCracks_CastorWildsWest(void) { return 1; } -void sub_StateChange_MinishCracks_CastorWildsWest() { +void sub_StateChange_MinishCracks_CastorWildsWest(void) { } -u32 sub_unk3_MinishCracks_CastorWildsMiddle() { +u32 sub_unk3_MinishCracks_CastorWildsMiddle(void) { return 1; } -void sub_StateChange_MinishCracks_CastorWildsMiddle() { +void sub_StateChange_MinishCracks_CastorWildsMiddle(void) { } -u32 sub_unk3_MinishCracks_RuinsTektite() { +u32 sub_unk3_MinishCracks_RuinsTektite(void) { return 1; } -void sub_StateChange_MinishCracks_RuinsTektite() { +void sub_StateChange_MinishCracks_RuinsTektite(void) { } -u32 sub_unk3_MinishCracks_CastorWildsNextToBow() { +u32 sub_unk3_MinishCracks_CastorWildsNextToBow(void) { return 1; } -void sub_StateChange_MinishCracks_CastorWildsNextToBow() { +void sub_StateChange_MinishCracks_CastorWildsNextToBow(void) { } -u32 sub_unk3_MinishCracks_E() { +u32 sub_unk3_MinishCracks_E(void) { return 1; } -void sub_StateChange_MinishCracks_E() { +void sub_StateChange_MinishCracks_E(void) { } -u32 sub_unk3_MinishCracks_F() { +u32 sub_unk3_MinishCracks_F(void) { return 1; } -void sub_StateChange_MinishCracks_F() { +void sub_StateChange_MinishCracks_F(void) { } -u32 sub_unk3_MinishCracks_10() { +u32 sub_unk3_MinishCracks_10(void) { return 1; } -void sub_StateChange_MinishCracks_10() { +void sub_StateChange_MinishCracks_10(void) { } -u32 sub_unk3_MinishCracks_11() { +u32 sub_unk3_MinishCracks_11(void) { return 1; } -void sub_StateChange_MinishCracks_11() { +void sub_StateChange_MinishCracks_11(void) { } -u32 sub_unk3_MelarisMine_Main() { +u32 sub_unk3_MelarisMine_Main(void) { return 1; } @@ -1918,7 +1927,7 @@ void sub_StateChange_MelarisMine_Main(void) { SetLocalFlag(0x8e); } -u32 sub_unk3_CloudTops_House() { +u32 sub_unk3_CloudTops_House(void) { return 1; } @@ -1936,14 +1945,14 @@ void sub_unk1_CloudTops_House(void) { } } -u32 sub_unk3_CloudTops_Middle() { +u32 sub_unk3_CloudTops_Middle(void) { return 1; } -void sub_StateChange_CloudTops_Middle() { +void sub_StateChange_CloudTops_Middle(void) { } -u32 sub_unk3_CloudTops_Bottom() { +u32 sub_unk3_CloudTops_Bottom(void) { return 1; } @@ -1975,11 +1984,11 @@ void sub_StateChange_CloudTops_Bottom(void) { } } -u32 sub_unk3_Ruins_Entrance() { +u32 sub_unk3_Ruins_Entrance(void) { return 1; } -void sub_StateChange_Ruins_Entrance() { +void sub_StateChange_Ruins_Entrance(void) { sub_080300E8(); #if defined(JP) || defined(EU) || defined(DEMO_JP) SetLocalFlag(0x25); @@ -1988,14 +1997,14 @@ void sub_StateChange_Ruins_Entrance() { #endif } -u32 sub_unk3_Ruins_Beanstalk() { +u32 sub_unk3_Ruins_Beanstalk(void) { return 1; } -void sub_StateChange_Ruins_Beanstalk() { +void sub_StateChange_Ruins_Beanstalk(void) { } -u32 sub_unk3_Ruins_TripleTektites() { +u32 sub_unk3_Ruins_TripleTektites(void) { return 1; } @@ -2014,14 +2023,14 @@ void sub_unk1_Ruins_TripleTektites(void) { } } -u32 sub_unk3_Ruins_LadderToTektites() { +u32 sub_unk3_Ruins_LadderToTektites(void) { return 1; } -void sub_StateChange_Ruins_LadderToTektites() { +void sub_StateChange_Ruins_LadderToTektites(void) { } -u32 sub_unk3_Ruins_FortressEntrance() { +u32 sub_unk3_Ruins_FortressEntrance(void) { return 1; } @@ -2034,7 +2043,7 @@ void sub_StateChange_Ruins_FortressEntrance(void) { } } -u32 sub_unk3_Ruins_Armos() { +u32 sub_unk3_Ruins_Armos(void) { return 1; } @@ -2059,7 +2068,7 @@ void sub_StateChange_Ruins_Armos(void) { } } -u32 sub_unk3_DeepwoodShrine_Madderpillar() { +u32 sub_unk3_DeepwoodShrine_Madderpillar(void) { return 1; } @@ -2073,14 +2082,14 @@ void sub_StateChange_DeepwoodShrine_Madderpillar(void) { } } -u32 sub_unk3_DeepwoodShrine_BluePortal() { +u32 sub_unk3_DeepwoodShrine_BluePortal(void) { return 1; } -void sub_StateChange_DeepwoodShrine_BluePortal() { +void sub_StateChange_DeepwoodShrine_BluePortal(void) { } -u32 sub_unk3_DeepwoodShrine_StairsToB1() { +u32 sub_unk3_DeepwoodShrine_StairsToB1(void) { return 1; } @@ -2103,28 +2112,28 @@ void sub_StateChange_DeepwoodShrine_StairsToB1(void) { } } -u32 sub_unk3_DeepwoodShrine_PotBridge() { +u32 sub_unk3_DeepwoodShrine_PotBridge(void) { return 1; } -void sub_StateChange_DeepwoodShrine_PotBridge() { +void sub_StateChange_DeepwoodShrine_PotBridge(void) { } -u32 sub_unk3_DeepwoodShrine_DoubleStatue() { +u32 sub_unk3_DeepwoodShrine_DoubleStatue(void) { return 1; } -void sub_StateChange_DeepwoodShrine_DoubleStatue() { +void sub_StateChange_DeepwoodShrine_DoubleStatue(void) { } -u32 sub_unk3_DeepwoodShrine_Map() { +u32 sub_unk3_DeepwoodShrine_Map(void) { return 1; } -void sub_StateChange_DeepwoodShrine_Map() { +void sub_StateChange_DeepwoodShrine_Map(void) { } -u32 sub_unk3_DeepwoodShrine_Barrel() { +u32 sub_unk3_DeepwoodShrine_Barrel(void) { return 1; } @@ -2148,39 +2157,39 @@ void sub_StateChange_DeepwoodShrine_Barrel(void) { } } -u32 sub_unk3_DeepwoodShrine_Button() { +u32 sub_unk3_DeepwoodShrine_Button(void) { return 1; } -void sub_StateChange_DeepwoodShrine_Button() { +void sub_StateChange_DeepwoodShrine_Button(void) { } -u32 sub_unk3_DeepwoodShrine_Mulldozer() { +u32 sub_unk3_DeepwoodShrine_Mulldozer(void) { return 1; } -void sub_StateChange_DeepwoodShrine_Mulldozer() { +void sub_StateChange_DeepwoodShrine_Mulldozer(void) { } -u32 sub_unk3_DeepwoodShrine_Pillars() { +u32 sub_unk3_DeepwoodShrine_Pillars(void) { return 1; } -void sub_StateChange_DeepwoodShrine_Pillars() { +void sub_StateChange_DeepwoodShrine_Pillars(void) { } -u32 sub_unk3_DeepwoodShrine_Lever() { +u32 sub_unk3_DeepwoodShrine_Lever(void) { return 1; } -void sub_StateChange_DeepwoodShrine_Lever() { +void sub_StateChange_DeepwoodShrine_Lever(void) { } -u32 sub_unk3_DeepwoodShrine_Entrance() { +u32 sub_unk3_DeepwoodShrine_Entrance(void) { return 1; } #if defined(DEMO_USA) || defined(DEMO_JP) -void sub_StateChange_DeepwoodShrine_Entrance() { +void sub_StateChange_DeepwoodShrine_Entrance(void) { #ifdef DEMO_USA if (gSaveHeader->saveFileId != 0 && GetInventoryValue(ITEM_EARTH_ELEMENT) == 0) { #else @@ -2194,53 +2203,53 @@ void sub_StateChange_DeepwoodShrine_Entrance() { } } #else -void sub_StateChange_DeepwoodShrine_Entrance() { +void sub_StateChange_DeepwoodShrine_Entrance(void) { } #endif -u32 sub_unk3_DeepwoodShrine_Torch() { +u32 sub_unk3_DeepwoodShrine_Torch(void) { return 1; } -void sub_StateChange_DeepwoodShrine_Torch() { +void sub_StateChange_DeepwoodShrine_Torch(void) { } -u32 sub_unk3_DeepwoodShrine_BossKey() { +u32 sub_unk3_DeepwoodShrine_BossKey(void) { return 1; } -void sub_StateChange_DeepwoodShrine_BossKey() { +void sub_StateChange_DeepwoodShrine_BossKey(void) { } -u32 sub_unk3_DeepwoodShrine_Compass() { +u32 sub_unk3_DeepwoodShrine_Compass(void) { return 1; } -void sub_StateChange_DeepwoodShrine_Compass() { +void sub_StateChange_DeepwoodShrine_Compass(void) { } -u32 sub_unk3_DeepwoodShrine_13() { +u32 sub_unk3_DeepwoodShrine_13(void) { return 1; } -void sub_StateChange_DeepwoodShrine_13() { +void sub_StateChange_DeepwoodShrine_13(void) { } -u32 sub_unk3_DeepwoodShrine_LilyPadWest() { +u32 sub_unk3_DeepwoodShrine_LilyPadWest(void) { return 1; } -void sub_StateChange_DeepwoodShrine_LilyPadWest() { +void sub_StateChange_DeepwoodShrine_LilyPadWest(void) { } -u32 sub_unk3_DeepwoodShrine_LilyPadEast() { +u32 sub_unk3_DeepwoodShrine_LilyPadEast(void) { return 1; } -void sub_StateChange_DeepwoodShrine_LilyPadEast() { +void sub_StateChange_DeepwoodShrine_LilyPadEast(void) { } -u32 sub_unk3_DeepwoodShrineBoss_Main() { +u32 sub_unk3_DeepwoodShrineBoss_Main(void) { return 1; } @@ -2268,14 +2277,14 @@ void sub_StateChange_DeepwoodShrineBoss_Main(void) { } } -u32 sub_unk3_DeepwoodShrine_PreBoss() { +u32 sub_unk3_DeepwoodShrine_PreBoss(void) { return 1; } -void sub_StateChange_DeepwoodShrine_PreBoss() { +void sub_StateChange_DeepwoodShrine_PreBoss(void) { } -u32 sub_unk3_DeepwoodShrine_InsideBarrel() { +u32 sub_unk3_DeepwoodShrine_InsideBarrel(void) { return 1; } @@ -2285,7 +2294,7 @@ void sub_StateChange_DeepwoodShrine_InsideBarrel(void) { gMain.substate = 5; } -u32 sub_unk3_DeepwoodShrineEntry_Main() { +u32 sub_unk3_DeepwoodShrineEntry_Main(void) { return 1; } @@ -2297,33 +2306,33 @@ void sub_StateChange_DeepwoodShrineEntry_Main(void) { } } -u32 sub_unk3_CaveOfFlames_AfterCane() { +u32 sub_unk3_CaveOfFlames_AfterCane(void) { return 1; } -void sub_StateChange_CaveOfFlames_AfterCane() { +void sub_StateChange_CaveOfFlames_AfterCane(void) { } -u32 sub_unk3_CaveOfFlames_SpinyChus() { +u32 sub_unk3_CaveOfFlames_SpinyChus(void) { return 1; } -void sub_StateChange_CaveOfFlames_SpinyChus() { +void sub_StateChange_CaveOfFlames_SpinyChus(void) { } -u32 sub_unk3_CaveOfFlames_CartToSpinyChus() { +u32 sub_unk3_CaveOfFlames_CartToSpinyChus(void) { return 1; } -void sub_StateChange_CaveOfFlames_CartToSpinyChus() { +void sub_StateChange_CaveOfFlames_CartToSpinyChus(void) { } -u32 sub_unk3_CaveOfFlames_Entrance() { +u32 sub_unk3_CaveOfFlames_Entrance(void) { return 1; } #ifdef DEMO_USA -void sub_StateChange_CaveOfFlames_Entrance() { +void sub_StateChange_CaveOfFlames_Entrance(void) { if (GetInventoryValue(ITEM_FIRE_ELEMENT) == 0) { SetTileType(0x365, 0x287, 2); SetTileType(0x365, 0x288, 2); @@ -2331,64 +2340,64 @@ void sub_StateChange_CaveOfFlames_Entrance() { } } #else -void sub_StateChange_CaveOfFlames_Entrance() { +void sub_StateChange_CaveOfFlames_Entrance(void) { } #endif -u32 sub_unk3_CaveOfFlames_MainCart() { +u32 sub_unk3_CaveOfFlames_MainCart(void) { return 1; } -void sub_StateChange_CaveOfFlames_MainCart() { +void sub_StateChange_CaveOfFlames_MainCart(void) { } -u32 sub_unk3_CaveOfFlames_NorthEntrance() { +u32 sub_unk3_CaveOfFlames_NorthEntrance(void) { return 1; } -void sub_StateChange_CaveOfFlames_NorthEntrance() { +void sub_StateChange_CaveOfFlames_NorthEntrance(void) { } -u32 sub_unk3_CaveOfFlames_CartWest() { +u32 sub_unk3_CaveOfFlames_CartWest(void) { return 1; } -void sub_StateChange_CaveOfFlames_CartWest() { +void sub_StateChange_CaveOfFlames_CartWest(void) { } -u32 sub_unk3_CaveOfFlames_Helmasaur() { +u32 sub_unk3_CaveOfFlames_Helmasaur(void) { return 1; } -void sub_StateChange_CaveOfFlames_Helmasaur() { +void sub_StateChange_CaveOfFlames_Helmasaur(void) { } -u32 sub_unk3_CaveOfFlames_Rollobite() { +u32 sub_unk3_CaveOfFlames_Rollobite(void) { return 1; } -void sub_StateChange_CaveOfFlames_Rollobite() { +void sub_StateChange_CaveOfFlames_Rollobite(void) { } -u32 sub_unk3_CaveOfFlames_MinishLava() { +u32 sub_unk3_CaveOfFlames_MinishLava(void) { return 1; } -void sub_StateChange_CaveOfFlames_MinishLava() { +void sub_StateChange_CaveOfFlames_MinishLava(void) { } -u32 sub_unk3_CaveOfFlames_MinishSpikes() { +u32 sub_unk3_CaveOfFlames_MinishSpikes(void) { return 1; } -void sub_StateChange_CaveOfFlames_MinishSpikes() { +void sub_StateChange_CaveOfFlames_MinishSpikes(void) { } -u32 sub_unk3_CaveOfFlames_RollobiteSwitch() { +u32 sub_unk3_CaveOfFlames_RollobiteSwitch(void) { return 1; } -void sub_StateChange_CaveOfFlames_RollobiteSwitch() { +void sub_StateChange_CaveOfFlames_RollobiteSwitch(void) { } extern u32 gUnk_080E103C; @@ -2400,52 +2409,52 @@ u32 sub_unk3_CaveOfFlames_BeforeGleerok(void) { return 1; } -void sub_StateChange_CaveOfFlames_BeforeGleerok() { +void sub_StateChange_CaveOfFlames_BeforeGleerok(void) { } -u32 sub_unk3_CaveOfFlames_PathBossKey() { +u32 sub_unk3_CaveOfFlames_PathBossKey(void) { return 1; } -void sub_StateChange_CaveOfFlames_PathBossKey() { +void sub_StateChange_CaveOfFlames_PathBossKey(void) { } -u32 sub_unk3_CaveOfFlames_PathBossKey2() { +u32 sub_unk3_CaveOfFlames_PathBossKey2(void) { return 1; } -void sub_StateChange_CaveOfFlames_PathBossKey2() { +void sub_StateChange_CaveOfFlames_PathBossKey2(void) { } -u32 sub_unk3_CaveOfFlames_Compass() { +u32 sub_unk3_CaveOfFlames_Compass(void) { return 1; } -void sub_StateChange_CaveOfFlames_Compass() { +void sub_StateChange_CaveOfFlames_Compass(void) { } -u32 sub_unk3_CaveOfFlames_Bobomb() { +u32 sub_unk3_CaveOfFlames_Bobomb(void) { return 1; } -void sub_StateChange_CaveOfFlames_Bobomb() { +void sub_StateChange_CaveOfFlames_Bobomb(void) { } -u32 sub_unk3_CaveOfFlames_BossDoor() { +u32 sub_unk3_CaveOfFlames_BossDoor(void) { return 1; } -void sub_StateChange_CaveOfFlames_BossDoor() { +void sub_StateChange_CaveOfFlames_BossDoor(void) { } -u32 sub_unk3_CaveOfFlames_18() { +u32 sub_unk3_CaveOfFlames_18(void) { return 1; } -void sub_StateChange_CaveOfFlames_18() { +void sub_StateChange_CaveOfFlames_18(void) { } -u32 sub_unk3_CaveOfFlamesBoss_Main() { +u32 sub_unk3_CaveOfFlamesBoss_Main(void) { return 1; } @@ -2466,14 +2475,14 @@ void sub_StateChange_CaveOfFlamesBoss_Main(void) { } } -u32 sub_unk3_FortressOfWinds_Eyegore() { +u32 sub_unk3_FortressOfWinds_Eyegore(void) { return 1; } -void sub_StateChange_FortressOfWinds_Eyegore() { +void sub_StateChange_FortressOfWinds_Eyegore(void) { } -u32 sub_unk3_FortressOfWinds_BeforeMazaal() { +u32 sub_unk3_FortressOfWinds_BeforeMazaal(void) { return 1; } @@ -2482,72 +2491,72 @@ void sub_StateChange_FortressOfWinds_BeforeMazaal(void) { gRoomTransition.field_0x39 = 0x5a; } -u32 sub_unk3_FortressOfWinds_EastKeyLever() { +u32 sub_unk3_FortressOfWinds_EastKeyLever(void) { return 1; } -void sub_StateChange_FortressOfWinds_EastKeyLever() { +void sub_StateChange_FortressOfWinds_EastKeyLever(void) { sub_080300E8(); } -u32 sub_unk3_FortressOfWinds_PitPlatforms() { +u32 sub_unk3_FortressOfWinds_PitPlatforms(void) { return 1; } -void sub_StateChange_FortressOfWinds_PitPlatforms() { +void sub_StateChange_FortressOfWinds_PitPlatforms(void) { } -u32 sub_unk3_FortressOfWinds_WestKeyLever() { +u32 sub_unk3_FortressOfWinds_WestKeyLever(void) { return 1; } -void sub_StateChange_FortressOfWinds_WestKeyLever() { +void sub_StateChange_FortressOfWinds_WestKeyLever(void) { sub_080300E8(); } -u32 sub_unk3_FortressOfWinds_Darknut() { +u32 sub_unk3_FortressOfWinds_Darknut(void) { return 1; } -void sub_StateChange_FortressOfWinds_Darknut() { +void sub_StateChange_FortressOfWinds_Darknut(void) { } -u32 sub_unk3_FortressOfWinds_EyeBridge() { +u32 sub_unk3_FortressOfWinds_EyeBridge(void) { return 1; } -void sub_StateChange_FortressOfWinds_EyeBridge() { +void sub_StateChange_FortressOfWinds_EyeBridge(void) { } -u32 sub_unk3_FortressOfWinds_Pit() { +u32 sub_unk3_FortressOfWinds_Pit(void) { return 1; } -void sub_StateChange_FortressOfWinds_Pit() { +void sub_StateChange_FortressOfWinds_Pit(void) { } -u32 sub_unk3_FortressOfWinds_Wallmaster() { +u32 sub_unk3_FortressOfWinds_Wallmaster(void) { return 1; } -void sub_StateChange_FortressOfWinds_Wallmaster() { +void sub_StateChange_FortressOfWinds_Wallmaster(void) { } -u32 sub_unk3_FortressOfWinds_Clone() { +u32 sub_unk3_FortressOfWinds_Clone(void) { return 1; } -void sub_StateChange_FortressOfWinds_Clone() { +void sub_StateChange_FortressOfWinds_Clone(void) { } -u32 sub_unk3_FortressOfWinds_SpikeTraps() { +u32 sub_unk3_FortressOfWinds_SpikeTraps(void) { return 1; } -void sub_StateChange_FortressOfWinds_SpikeTraps() { +void sub_StateChange_FortressOfWinds_SpikeTraps(void) { } -u32 sub_unk3_FortressOfWinds_Mazaal() { +u32 sub_unk3_FortressOfWinds_Mazaal(void) { return 1; } @@ -2566,98 +2575,98 @@ void sub_StateChange_FortressOfWinds_Mazaal(void) { } } -u32 sub_unk3_FortressOfWinds_Stalfos() { +u32 sub_unk3_FortressOfWinds_Stalfos(void) { return 1; } -void sub_StateChange_FortressOfWinds_Stalfos() { +void sub_StateChange_FortressOfWinds_Stalfos(void) { } -u32 sub_unk3_FortressOfWinds_EntranceMoleMitts() { +u32 sub_unk3_FortressOfWinds_EntranceMoleMitts(void) { return 1; } -void sub_StateChange_Dojos_Waveblade0() { +void sub_StateChange_Dojos_Waveblade0(void) { } -u32 sub_unk3_FortressOfWinds_Main2F() { +u32 sub_unk3_FortressOfWinds_Main2F(void) { return 1; } -void sub_StateChange_Dojos_Waveblade1() { +void sub_StateChange_Dojos_Waveblade1(void) { } -u32 sub_unk3_FortressOfWinds_MinishHole() { +u32 sub_unk3_FortressOfWinds_MinishHole(void) { return 1; } -void sub_StateChange_Dojos_Waveblade2() { +void sub_StateChange_Dojos_Waveblade2(void) { } -u32 sub_unk3_FortressOfWinds_BossKey() { +u32 sub_unk3_FortressOfWinds_BossKey(void) { return 1; } -void sub_StateChange_Dojos_Waveblade3() { +void sub_StateChange_Dojos_Waveblade3(void) { } -u32 sub_unk3_FortressOfWinds_WestStairs2F() { +u32 sub_unk3_FortressOfWinds_WestStairs2F(void) { return 1; } -void sub_StateChange_Dojos_Waveblade4() { +void sub_StateChange_Dojos_Waveblade4(void) { } -u32 sub_unk3_FortressOfWinds_EastStairs2F() { +u32 sub_unk3_FortressOfWinds_EastStairs2F(void) { return 1; } -void sub_StateChange_Dojos_Waveblade5() { +void sub_StateChange_Dojos_Waveblade5(void) { } -u32 sub_unk3_FortressOfWinds_WestStairs1F() { +u32 sub_unk3_FortressOfWinds_WestStairs1F(void) { return 1; } -void sub_StateChange_Dojos_Waveblade6() { +void sub_StateChange_Dojos_Waveblade6(void) { } -u32 sub_unk3_FortressOfWinds_CenterStairs1F() { +u32 sub_unk3_FortressOfWinds_CenterStairs1F(void) { return 1; } -void sub_StateChange_Dojos_Waveblade7() { +void sub_StateChange_Dojos_Waveblade7(void) { } -u32 sub_unk3_FortressOfWinds_EastStairs1F() { +u32 sub_unk3_FortressOfWinds_EastStairs1F(void) { return 1; } -void sub_StateChange_Dojos_Waveblade8() { +void sub_StateChange_Dojos_Waveblade8(void) { } -u32 sub_unk3_FortressOfWinds_Wizzrobe() { +u32 sub_unk3_FortressOfWinds_Wizzrobe(void) { return 1; } -void sub_StateChange_Dojos_Waveblade9() { +void sub_StateChange_Dojos_Waveblade9(void) { } -u32 sub_unk3_FortressOfWinds_HeartPiece() { +u32 sub_unk3_FortressOfWinds_HeartPiece(void) { return 1; } -void sub_StateChange_Dojos_70() { +void sub_StateChange_Dojos_70(void) { } -u32 sub_unk3_InnerMazaal_Main() { +u32 sub_unk3_InnerMazaal_Main(void) { return 1; } -void sub_StateChange_Dojos_71() { +void sub_StateChange_Dojos_71(void) { } -u32 sub_unk3_FortressOfWindsTop_Main() { +u32 sub_unk3_FortressOfWindsTop_Main(void) { return 1; } @@ -2672,15 +2681,15 @@ void sub_StateChange_FortressOfWindsTop_Main(void) { } } -u32 sub_unk3_TempleOfDroplets_WestHole() { +u32 sub_unk3_TempleOfDroplets_WestHole(void) { return 1; } -void sub_StateChange_TempleOfDroplets_WestHole() { +void sub_StateChange_TempleOfDroplets_WestHole(void) { sub_0804D0B4(); } -void sub_0804D0B4(void) { +static void sub_0804D0B4(void) { if (!CheckLocalFlag(0x29)) { SetLocalFlag(0x29); SetLocalFlag(0x4b); @@ -2688,98 +2697,98 @@ void sub_0804D0B4(void) { } } -u32 sub_unk3_TempleOfDroplets_NorthSplit() { +u32 sub_unk3_TempleOfDroplets_NorthSplit(void) { return 1; } -void sub_StateChange_TempleOfDroplets_NorthSplit() { +void sub_StateChange_TempleOfDroplets_NorthSplit(void) { } -u32 sub_unk3_TempleOfDroplets_EastHole() { +u32 sub_unk3_TempleOfDroplets_EastHole(void) { return 1; } -void sub_StateChange_TempleOfDroplets_EastHole() { +void sub_StateChange_TempleOfDroplets_EastHole(void) { } -u32 sub_unk3_TempleOfDroplets_Entrance() { +u32 sub_unk3_TempleOfDroplets_Entrance(void) { return 1; } -void sub_StateChange_TempleOfDroplets_Entrance() { +void sub_StateChange_TempleOfDroplets_Entrance(void) { } -u32 sub_unk3_TempleOfDroplets_NorthwestStairs() { +u32 sub_unk3_TempleOfDroplets_NorthwestStairs(void) { return 1; } -void sub_StateChange_TempleOfDroplets_NorthwestStairs() { +void sub_StateChange_TempleOfDroplets_NorthwestStairs(void) { } -u32 sub_unk3_TempleOfDroplets_ScissorsMiniboss() { +u32 sub_unk3_TempleOfDroplets_ScissorsMiniboss(void) { return 1; } -void sub_StateChange_TempleOfDroplets_ScissorsMiniboss() { +void sub_StateChange_TempleOfDroplets_ScissorsMiniboss(void) { } -u32 sub_unk3_TempleOfDroplets_WaterfallNorthwest() { +u32 sub_unk3_TempleOfDroplets_WaterfallNorthwest(void) { return 1; } -void sub_StateChange_TempleOfDroplets_WaterfallNorthwest() { +void sub_StateChange_TempleOfDroplets_WaterfallNorthwest(void) { } -u32 sub_unk3_TempleOfDroplets_WaterfallNortheast() { +u32 sub_unk3_TempleOfDroplets_WaterfallNortheast(void) { return 1; } -void sub_StateChange_TempleOfDroplets_WaterfallNortheast() { +void sub_StateChange_TempleOfDroplets_WaterfallNortheast(void) { } -u32 sub_unk3_TempleOfDroplets_Element() { +u32 sub_unk3_TempleOfDroplets_Element(void) { return 1; } -void sub_StateChange_TempleOfDroplets_Element() { +void sub_StateChange_TempleOfDroplets_Element(void) { } -u32 sub_unk3_TempleOfDroplets_IceCorner() { +u32 sub_unk3_TempleOfDroplets_IceCorner(void) { return 1; } -void sub_StateChange_TempleOfDroplets_IceCorner() { +void sub_StateChange_TempleOfDroplets_IceCorner(void) { } -u32 sub_unk3_TempleOfDroplets_IcePitMaze() { +u32 sub_unk3_TempleOfDroplets_IcePitMaze(void) { return 1; } -void sub_StateChange_TempleOfDroplets_IcePitMaze() { +void sub_StateChange_TempleOfDroplets_IcePitMaze(void) { } -u32 sub_unk3_TempleOfDroplets_HoleToBlueChuchu() { +u32 sub_unk3_TempleOfDroplets_HoleToBlueChuchu(void) { return 1; } -void sub_StateChange_TempleOfDroplets_HoleToBlueChuchu() { +void sub_StateChange_TempleOfDroplets_HoleToBlueChuchu(void) { } -u32 sub_unk3_TempleOfDroplets_WaterfallSoutheast() { +u32 sub_unk3_TempleOfDroplets_WaterfallSoutheast(void) { return 1; } -void sub_StateChange_TempleOfDroplets_WaterfallSoutheast() { +void sub_StateChange_TempleOfDroplets_WaterfallSoutheast(void) { } -u32 sub_unk3_TempleOfDroplets_WaterfallSouthwest() { +u32 sub_unk3_TempleOfDroplets_WaterfallSouthwest(void) { return 1; } -void sub_StateChange_TempleOfDroplets_WaterfallSouthwest() { +void sub_StateChange_TempleOfDroplets_WaterfallSouthwest(void) { } -u32 sub_unk3_TempleOfDroplets_BigOcto() { +u32 sub_unk3_TempleOfDroplets_BigOcto(void) { return 1; } @@ -2795,14 +2804,14 @@ void sub_StateChange_TempleOfDroplets_BigOcto(void) { } } -u32 sub_unk3_TempleOfDroplets_ToBigBlueChuchu() { +u32 sub_unk3_TempleOfDroplets_ToBigBlueChuchu(void) { return 1; } -void sub_StateChange_Dojos_72() { +void sub_StateChange_Dojos_72(void) { } -u32 sub_unk3_TempleOfDroplets_BigBlueChuchu() { +u32 sub_unk3_TempleOfDroplets_BigBlueChuchu(void) { return 1; } @@ -2815,7 +2824,7 @@ void sub_StateChange_TempleOfDroplets_BigBlueChuchu(void) { } } -u32 sub_unk3_TempleOfDroplets_BigBlueChuchuKey() { +u32 sub_unk3_TempleOfDroplets_BigBlueChuchuKey(void) { return 1; } @@ -2834,63 +2843,63 @@ void sub_StateChange_TempleOfDroplets_BigBlueChuchuKey(void) { } } -u32 sub_unk3_TempleOfDroplets_BossKey() { +u32 sub_unk3_TempleOfDroplets_BossKey(void) { return 1; } -void sub_StateChange_Dojos_73() { +void sub_StateChange_Dojos_73(void) { } -u32 sub_unk3_TempleOfDroplets_NorthSmallKey() { +u32 sub_unk3_TempleOfDroplets_NorthSmallKey(void) { return 1; } -void sub_StateChange_Dojos_74() { +void sub_StateChange_Dojos_74(void) { } -u32 sub_unk3_TempleOfDroplets_BlockCloneButtonPuzzle() { +u32 sub_unk3_TempleOfDroplets_BlockCloneButtonPuzzle(void) { return 1; } -void sub_StateChange_Dojos_75() { +void sub_StateChange_Dojos_75(void) { } -u32 sub_unk3_TempleOfDroplets_BlockClonePuzzle() { +u32 sub_unk3_TempleOfDroplets_BlockClonePuzzle(void) { return 1; } -void sub_StateChange_Dojos_76() { +void sub_StateChange_Dojos_76(void) { } -u32 sub_unk3_TempleOfDroplets_BlockCloneIceBridge() { +u32 sub_unk3_TempleOfDroplets_BlockCloneIceBridge(void) { return 1; } -void sub_StateChange_Dojos_77() { +void sub_StateChange_Dojos_77(void) { } -u32 sub_unk3_TempleOfDroplets_StairsToScissorsMiniboss() { +u32 sub_unk3_TempleOfDroplets_StairsToScissorsMiniboss(void) { return 1; } -void sub_StateChange_Dojos_78() { +void sub_StateChange_Dojos_78(void) { } -u32 sub_unk3_TempleOfDroplets_SpikeBar() { +u32 sub_unk3_TempleOfDroplets_SpikeBar(void) { return 1; } -void sub_StateChange_Dojos_79() { +void sub_StateChange_Dojos_79(void) { } -u32 sub_unk3_TempleOfDroplets_Lanterns() { +u32 sub_unk3_TempleOfDroplets_Lanterns(void) { return 1; } -void sub_StateChange_Dojos_80() { +void sub_StateChange_Dojos_80(void) { } -u32 sub_unk3_TempleOfDroplets_LilypadIceBlocks() { +u32 sub_unk3_TempleOfDroplets_LilypadIceBlocks(void) { return 1; } @@ -2905,42 +2914,42 @@ void sub_StateChange_TempleOfDroplets_LilypadIceBlocks(void) { } } -u32 sub_unk3_TempleOfDroplets_Pit() { +u32 sub_unk3_TempleOfDroplets_Pit(void) { return 1; } -void sub_StateChange_Dojos_81() { +void sub_StateChange_Dojos_81(void) { } -u32 sub_unk3_TempleOfDroplets_FireBars() { +u32 sub_unk3_TempleOfDroplets_FireBars(void) { return 1; } -void sub_StateChange_Dojos_82() { +void sub_StateChange_Dojos_82(void) { } -u32 sub_unk3_TempleOfDroplets_LanternMaze() { +u32 sub_unk3_TempleOfDroplets_LanternMaze(void) { return 1; } -void sub_StateChange_Dojos_83() { +void sub_StateChange_Dojos_83(void) { } -u32 sub_unk3_TempleOfDroplets_Madderpillars() { +u32 sub_unk3_TempleOfDroplets_Madderpillars(void) { return 1; } -void sub_StateChange_Dojos_84() { +void sub_StateChange_Dojos_84(void) { } -u32 sub_unk3_TempleOfDroplets_AfterMadderpillars() { +u32 sub_unk3_TempleOfDroplets_AfterMadderpillars(void) { return 1; } -void sub_StateChange_Dojos_85() { +void sub_StateChange_Dojos_85(void) { } -u32 sub_unk3_TempleOfDroplets_BlueChuchuKeyLever() { +u32 sub_unk3_TempleOfDroplets_BlueChuchuKeyLever(void) { return 1; } @@ -2956,63 +2965,63 @@ void sub_StateChange_TempleOfDroplets_BlueChuchuKeyLever(void) { } } -u32 sub_unk3_TempleOfDroplets_MulldozerKey() { +u32 sub_unk3_TempleOfDroplets_MulldozerKey(void) { return 1; } -void sub_StateChange_Dojos_86() { +void sub_StateChange_Dojos_86(void) { } -u32 sub_unk3_TempleOfDroplets_BombWall() { +u32 sub_unk3_TempleOfDroplets_BombWall(void) { return 1; } -void sub_StateChange_Dojos_87() { +void sub_StateChange_Dojos_87(void) { } -u32 sub_unk3_TempleOfDroplets_LilypadWestB2() { +u32 sub_unk3_TempleOfDroplets_LilypadWestB2(void) { return 1; } -void sub_StateChange_Dojos_88() { +void sub_StateChange_Dojos_88(void) { } -u32 sub_unk3_TempleOfDroplets_CompassRoom() { +u32 sub_unk3_TempleOfDroplets_CompassRoom(void) { return 1; } -void sub_StateChange_Dojos_89() { +void sub_StateChange_Dojos_89(void) { } -u32 sub_unk3_TempleOfDroplets_LanternScissors() { +u32 sub_unk3_TempleOfDroplets_LanternScissors(void) { return 1; } -void sub_StateChange_Dojos_90() { +void sub_StateChange_Dojos_90(void) { } -u32 sub_unk3_TempleOfDroplets_LilypadMiddleB2() { +u32 sub_unk3_TempleOfDroplets_LilypadMiddleB2(void) { return 1; } -void sub_StateChange_Dojos_91() { +void sub_StateChange_Dojos_91(void) { } -u32 sub_unk3_TempleOfDroplets_LilypadEastB2() { +u32 sub_unk3_TempleOfDroplets_LilypadEastB2(void) { return 1; } -void sub_StateChange_Dojos_92() { +void sub_StateChange_Dojos_92(void) { } -u32 sub_unk3_TempleOfDroplets_FlameBarBlockPuzzle() { +u32 sub_unk3_TempleOfDroplets_FlameBarBlockPuzzle(void) { return 1; } -void sub_StateChange_Dojos_93() { +void sub_StateChange_Dojos_93(void) { } -u32 sub_unk3_RoyalCrypt_KingGustaf() { +u32 sub_unk3_RoyalCrypt_KingGustaf(void) { return 1; } @@ -3024,57 +3033,57 @@ void sub_StateChange_RoyalCrypt_KingGustaf(void) { } } -u32 sub_unk3_RoyalCrypt_WaterRope() { +u32 sub_unk3_RoyalCrypt_WaterRope(void) { return 1; } -void sub_StateChange_Dojos_94() { +void sub_StateChange_Dojos_94(void) { } -u32 sub_unk3_RoyalCrypt_Gibdo() { +u32 sub_unk3_RoyalCrypt_Gibdo(void) { return 1; } -void sub_StateChange_Dojos_95() { +void sub_StateChange_Dojos_95(void) { } -u32 sub_unk3_RoyalCrypt_3() { +u32 sub_unk3_RoyalCrypt_3(void) { return 1; } -void sub_StateChange_Dojos_96() { +void sub_StateChange_Dojos_96(void) { } -u32 sub_unk3_RoyalCrypt_KeyBlock() { +u32 sub_unk3_RoyalCrypt_KeyBlock(void) { return 1; } -void sub_StateChange_Dojos_97() { +void sub_StateChange_Dojos_97(void) { } -u32 sub_unk3_RoyalCrypt_5() { +u32 sub_unk3_RoyalCrypt_5(void) { return 1; } -void sub_StateChange_Dojos_98() { +void sub_StateChange_Dojos_98(void) { } -u32 sub_unk3_RoyalCrypt_6() { +u32 sub_unk3_RoyalCrypt_6(void) { return 1; } -void sub_StateChange_Dojos_99() { +void sub_StateChange_Dojos_99(void) { } -u32 sub_unk3_RoyalCrypt_MushroomPit() { +u32 sub_unk3_RoyalCrypt_MushroomPit(void) { return 1; } -void sub_StateChange_RoyalCrypt_MushroomPit() { +void sub_StateChange_RoyalCrypt_MushroomPit(void) { sub_08054570(); } -u32 sub_unk3_RoyalCrypt_Entrance() { +u32 sub_unk3_RoyalCrypt_Entrance(void) { return 1; } @@ -3092,7 +3101,7 @@ void sub_StateChange_RoyalCrypt_Entrance(void) { } } -u32 sub_unk3_PalaceOfWinds_0() { +u32 sub_unk3_PalaceOfWinds_0(void) { return 1; } @@ -3118,338 +3127,338 @@ void sub_StateChange_PalaceOfWinds_0(void) { } } -u32 sub_unk3_PalaceOfWinds_1() { +u32 sub_unk3_PalaceOfWinds_1(void) { return 1; } -void sub_StateChange_PalaceOfWinds_1() { +void sub_StateChange_PalaceOfWinds_1(void) { Manager19_Main(NULL); } -u32 sub_unk3_PalaceOfWinds_2() { +u32 sub_unk3_PalaceOfWinds_2(void) { return 1; } -void sub_StateChange_PalaceOfWinds_2() { +void sub_StateChange_PalaceOfWinds_2(void) { Manager19_Main(NULL); } -u32 sub_unk3_PalaceOfWinds_3() { +u32 sub_unk3_PalaceOfWinds_3(void) { return 1; } -void sub_StateChange_PalaceOfWinds_3() { +void sub_StateChange_PalaceOfWinds_3(void) { Manager19_Main(NULL); } -u32 sub_unk3_PalaceOfWinds_4() { +u32 sub_unk3_PalaceOfWinds_4(void) { return 1; } -void sub_StateChange_PalaceOfWinds_4() { +void sub_StateChange_PalaceOfWinds_4(void) { Manager19_Main(NULL); } -u32 sub_unk3_PalaceOfWinds_5() { +u32 sub_unk3_PalaceOfWinds_5(void) { return 1; } -void sub_StateChange_PalaceOfWinds_5() { +void sub_StateChange_PalaceOfWinds_5(void) { Manager19_Main(NULL); } -u32 sub_unk3_PalaceOfWinds_6() { +u32 sub_unk3_PalaceOfWinds_6(void) { return 1; } -void sub_StateChange_PalaceOfWinds_6() { +void sub_StateChange_PalaceOfWinds_6(void) { Manager19_Main(NULL); } -u32 sub_unk3_PalaceOfWinds_7() { +u32 sub_unk3_PalaceOfWinds_7(void) { return 1; } -void sub_StateChange_PalaceOfWinds_7() { +void sub_StateChange_PalaceOfWinds_7(void) { Manager19_Main(NULL); } -u32 sub_unk3_PalaceOfWinds_8() { +u32 sub_unk3_PalaceOfWinds_8(void) { return 1; } -void sub_StateChange_PalaceOfWinds_8() { +void sub_StateChange_PalaceOfWinds_8(void) { Manager19_Main(NULL); } -u32 sub_unk3_PalaceOfWinds_9() { +u32 sub_unk3_PalaceOfWinds_9(void) { return 1; } -void sub_StateChange_PalaceOfWinds_9() { +void sub_StateChange_PalaceOfWinds_9(void) { Manager19_Main(NULL); } -u32 sub_unk3_PalaceOfWinds_10() { +u32 sub_unk3_PalaceOfWinds_10(void) { return 1; } -void sub_StateChange_PalaceOfWinds_10() { +void sub_StateChange_PalaceOfWinds_10(void) { Manager19_Main(NULL); } -u32 sub_unk3_PalaceOfWinds_11() { +u32 sub_unk3_PalaceOfWinds_11(void) { return 1; } -void sub_StateChange_PalaceOfWinds_11() { +void sub_StateChange_PalaceOfWinds_11(void) { Manager19_Main(NULL); } -u32 sub_unk3_PalaceOfWinds_12() { +u32 sub_unk3_PalaceOfWinds_12(void) { return 1; } -void sub_StateChange_PalaceOfWinds_12() { +void sub_StateChange_PalaceOfWinds_12(void) { Manager19_Main(NULL); } -u32 sub_unk3_PalaceOfWinds_13() { +u32 sub_unk3_PalaceOfWinds_13(void) { return 1; } -void sub_StateChange_PalaceOfWinds_13() { +void sub_StateChange_PalaceOfWinds_13(void) { Manager19_Main(NULL); } -u32 sub_unk3_PalaceOfWinds_14() { +u32 sub_unk3_PalaceOfWinds_14(void) { return 1; } -void sub_StateChange_PalaceOfWinds_14() { +void sub_StateChange_PalaceOfWinds_14(void) { Manager19_Main(NULL); } -u32 sub_unk3_PalaceOfWinds_15() { +u32 sub_unk3_PalaceOfWinds_15(void) { return 1; } -void sub_StateChange_PalaceOfWinds_15() { +void sub_StateChange_PalaceOfWinds_15(void) { Manager19_Main(NULL); } -u32 sub_unk3_PalaceOfWinds_16() { +u32 sub_unk3_PalaceOfWinds_16(void) { return 1; } -void sub_StateChange_PalaceOfWinds_16() { +void sub_StateChange_PalaceOfWinds_16(void) { Manager19_Main(NULL); } -u32 sub_unk3_PalaceOfWinds_17() { +u32 sub_unk3_PalaceOfWinds_17(void) { return 1; } -void sub_StateChange_PalaceOfWinds_17() { +void sub_StateChange_PalaceOfWinds_17(void) { Manager19_Main(NULL); } -u32 sub_unk3_PalaceOfWinds_18() { +u32 sub_unk3_PalaceOfWinds_18(void) { return 1; } -void sub_StateChange_PalaceOfWinds_18() { +void sub_StateChange_PalaceOfWinds_18(void) { Manager19_Main(NULL); } -u32 sub_unk3_PalaceOfWinds_19() { +u32 sub_unk3_PalaceOfWinds_19(void) { return 1; } -void sub_StateChange_PalaceOfWinds_19() { +void sub_StateChange_PalaceOfWinds_19(void) { Manager19_Main(NULL); } -u32 sub_unk3_PalaceOfWinds_20() { +u32 sub_unk3_PalaceOfWinds_20(void) { return 1; } -void sub_StateChange_PalaceOfWinds_20() { +void sub_StateChange_PalaceOfWinds_20(void) { Manager19_Main(NULL); } -u32 sub_unk3_PalaceOfWinds_21() { +u32 sub_unk3_PalaceOfWinds_21(void) { return 1; } -void sub_StateChange_PalaceOfWinds_21() { +void sub_StateChange_PalaceOfWinds_21(void) { } -u32 sub_unk3_PalaceOfWinds_22() { +u32 sub_unk3_PalaceOfWinds_22(void) { return 1; } -void sub_StateChange_PalaceOfWinds_22() { +void sub_StateChange_PalaceOfWinds_22(void) { Manager19_Main(NULL); } -u32 sub_unk3_PalaceOfWinds_23() { +u32 sub_unk3_PalaceOfWinds_23(void) { return 1; } -void sub_StateChange_PalaceOfWinds_23() { +void sub_StateChange_PalaceOfWinds_23(void) { Manager19_Main(NULL); } -u32 sub_unk3_PalaceOfWinds_24() { +u32 sub_unk3_PalaceOfWinds_24(void) { return 1; } -void sub_StateChange_PalaceOfWinds_24() { +void sub_StateChange_PalaceOfWinds_24(void) { Manager19_Main(NULL); } -u32 sub_unk3_PalaceOfWinds_25() { +u32 sub_unk3_PalaceOfWinds_25(void) { return 1; } -void sub_StateChange_PalaceOfWinds_25() { +void sub_StateChange_PalaceOfWinds_25(void) { Manager19_Main(NULL); } -u32 sub_unk3_PalaceOfWinds_26() { +u32 sub_unk3_PalaceOfWinds_26(void) { return 1; } -void sub_StateChange_PalaceOfWinds_26() { +void sub_StateChange_PalaceOfWinds_26(void) { Manager19_Main(NULL); } -u32 sub_unk3_PalaceOfWinds_27() { +u32 sub_unk3_PalaceOfWinds_27(void) { return 1; } -void sub_StateChange_PalaceOfWinds_27() { +void sub_StateChange_PalaceOfWinds_27(void) { } -u32 sub_unk3_PalaceOfWinds_28() { +u32 sub_unk3_PalaceOfWinds_28(void) { return 1; } -void sub_StateChange_PalaceOfWinds_28() { +void sub_StateChange_PalaceOfWinds_28(void) { } -u32 sub_unk3_PalaceOfWinds_29() { +u32 sub_unk3_PalaceOfWinds_29(void) { return 1; } -void sub_StateChange_PalaceOfWinds_29() { +void sub_StateChange_PalaceOfWinds_29(void) { } -u32 sub_unk3_PalaceOfWinds_30() { +u32 sub_unk3_PalaceOfWinds_30(void) { return 1; } -void sub_StateChange_PalaceOfWinds_30() { +void sub_StateChange_PalaceOfWinds_30(void) { } -u32 sub_unk3_PalaceOfWinds_31() { +u32 sub_unk3_PalaceOfWinds_31(void) { return 1; } -void sub_StateChange_PalaceOfWinds_31() { +void sub_StateChange_PalaceOfWinds_31(void) { } -u32 sub_unk3_PalaceOfWinds_32() { +u32 sub_unk3_PalaceOfWinds_32(void) { return 1; } -void sub_StateChange_PalaceOfWinds_32() { +void sub_StateChange_PalaceOfWinds_32(void) { } -u32 sub_unk3_PalaceOfWinds_33() { +u32 sub_unk3_PalaceOfWinds_33(void) { return 1; } -void sub_StateChange_PalaceOfWinds_33() { +void sub_StateChange_PalaceOfWinds_33(void) { Manager19_Main(NULL); } -u32 sub_unk3_PalaceOfWinds_34() { +u32 sub_unk3_PalaceOfWinds_34(void) { return 1; } -void sub_StateChange_PalaceOfWinds_34() { +void sub_StateChange_PalaceOfWinds_34(void) { Manager19_Main(NULL); } -u32 sub_unk3_PalaceOfWinds_35() { +u32 sub_unk3_PalaceOfWinds_35(void) { return 1; } -void sub_StateChange_PalaceOfWinds_35() { +void sub_StateChange_PalaceOfWinds_35(void) { Manager19_Main(NULL); } -u32 sub_unk3_PalaceOfWinds_36() { +u32 sub_unk3_PalaceOfWinds_36(void) { return 1; } -void sub_StateChange_PalaceOfWinds_36() { +void sub_StateChange_PalaceOfWinds_36(void) { Manager19_Main(NULL); } -u32 sub_unk3_PalaceOfWinds_37() { +u32 sub_unk3_PalaceOfWinds_37(void) { return 1; } -void sub_StateChange_PalaceOfWinds_37() { +void sub_StateChange_PalaceOfWinds_37(void) { } -u32 sub_unk3_PalaceOfWinds_38() { +u32 sub_unk3_PalaceOfWinds_38(void) { return 1; } -void sub_StateChange_PalaceOfWinds_38() { +void sub_StateChange_PalaceOfWinds_38(void) { } -u32 sub_unk3_PalaceOfWinds_39() { +u32 sub_unk3_PalaceOfWinds_39(void) { return 1; } -void sub_StateChange_PalaceOfWinds_39() { +void sub_StateChange_PalaceOfWinds_39(void) { } -u32 sub_unk3_PalaceOfWinds_40() { +u32 sub_unk3_PalaceOfWinds_40(void) { return 1; } -void sub_StateChange_PalaceOfWinds_40() { +void sub_StateChange_PalaceOfWinds_40(void) { } -u32 sub_unk3_PalaceOfWinds_41() { +u32 sub_unk3_PalaceOfWinds_41(void) { return 1; } -void sub_StateChange_PalaceOfWinds_41() { +void sub_StateChange_PalaceOfWinds_41(void) { } -u32 sub_unk3_PalaceOfWinds_42() { +u32 sub_unk3_PalaceOfWinds_42(void) { return 1; } -void sub_StateChange_PalaceOfWinds_42() { +void sub_StateChange_PalaceOfWinds_42(void) { } -u32 sub_unk3_PalaceOfWinds_43() { +u32 sub_unk3_PalaceOfWinds_43(void) { return 1; } -void sub_StateChange_PalaceOfWinds_43() { +void sub_StateChange_PalaceOfWinds_43(void) { Manager19_Main(NULL); } -u32 sub_unk3_PalaceOfWinds_44() { +u32 sub_unk3_PalaceOfWinds_44(void) { return 1; } @@ -3462,61 +3471,61 @@ void sub_StateChange_PalaceOfWinds_44(void) { } } -u32 sub_unk3_PalaceOfWinds_45() { +u32 sub_unk3_PalaceOfWinds_45(void) { return 1; } -void sub_StateChange_PalaceOfWinds_45() { +void sub_StateChange_PalaceOfWinds_45(void) { Manager19_Main(NULL); } -u32 sub_unk3_PalaceOfWinds_46() { +u32 sub_unk3_PalaceOfWinds_46(void) { return 1; } -void sub_StateChange_PalaceOfWinds_46() { +void sub_StateChange_PalaceOfWinds_46(void) { Manager19_Main(NULL); } -u32 sub_unk3_PalaceOfWinds_47() { +u32 sub_unk3_PalaceOfWinds_47(void) { return 1; } -void sub_StateChange_PalaceOfWinds_47() { +void sub_StateChange_PalaceOfWinds_47(void) { Manager19_Main(NULL); } -u32 sub_unk3_PalaceOfWinds_48() { +u32 sub_unk3_PalaceOfWinds_48(void) { return 1; } -void sub_StateChange_PalaceOfWinds_48() { +void sub_StateChange_PalaceOfWinds_48(void) { Manager19_Main(NULL); } -u32 sub_unk3_PalaceOfWinds_49() { +u32 sub_unk3_PalaceOfWinds_49(void) { return 1; } -void sub_StateChange_PalaceOfWinds_49() { +void sub_StateChange_PalaceOfWinds_49(void) { Manager19_Main(NULL); } -u32 sub_unk3_PalaceOfWinds_50() { +u32 sub_unk3_PalaceOfWinds_50(void) { return 1; } -void sub_StateChange_PalaceOfWinds_50() { +void sub_StateChange_PalaceOfWinds_50(void) { } -u32 sub_unk3_PalaceOfWindsBoss_Main() { +u32 sub_unk3_PalaceOfWindsBoss_Main(void) { return 1; } -void sub_StateChange_PalaceOfWindsBoss_Main() { +void sub_StateChange_PalaceOfWindsBoss_Main(void) { } -u32 sub_unk3_Vaati2_Main() { +u32 sub_unk3_Vaati2_Main(void) { return 1; } @@ -3525,7 +3534,7 @@ void sub_StateChange_Vaati2_Main(void) { gArea.bgm = gArea.queued_bgm; } -u32 sub_unk3_Vaati3_Main() { +u32 sub_unk3_Vaati3_Main(void) { return 1; } @@ -3546,29 +3555,29 @@ void sub_StateChange_Vaati3_Main(void) { } } -u32 sub_unk3_DarkHyruleCastleBridge_Main() { +u32 sub_unk3_DarkHyruleCastleBridge_Main(void) { return 1; } -void sub_StateChange_DarkHyruleCastleBridge_Main() { +void sub_StateChange_DarkHyruleCastleBridge_Main(void) { sub_0805B4D0(6); } -u32 sub_unk3_VaatisArms_First() { +u32 sub_unk3_VaatisArms_First(void) { return 1; } -void sub_StateChange_VaatisArms_First() { +void sub_StateChange_VaatisArms_First(void) { } -u32 sub_unk3_VaatisArms_Second() { +u32 sub_unk3_VaatisArms_Second(void) { return 1; } -void sub_StateChange_VaatisArms_Second() { +void sub_StateChange_VaatisArms_Second(void) { } -u32 sub_unk3_DarkHyruleCastleOutside_ZeldaStatuePlatform() { +u32 sub_unk3_DarkHyruleCastleOutside_ZeldaStatuePlatform(void) { sub_080534AC(); return 1; } @@ -3614,7 +3623,7 @@ void sub_0804D810(void) { } } -u32 sub_unk3_DarkHyruleCastleOutside_Garden() { +u32 sub_unk3_DarkHyruleCastleOutside_Garden(void) { return 1; } @@ -3645,53 +3654,53 @@ void sub_StateChange_DarkHyruleCastleOutside_Garden(void) { ClearGlobalFlag(0x5d); } -u32 sub_unk3_DarkHyruleCastleOutside_OutsideNorthwest() { +u32 sub_unk3_DarkHyruleCastleOutside_OutsideNorthwest(void) { return 1; } -void sub_StateChange_Dojos_ToGrimblade0() { +void sub_StateChange_Dojos_ToGrimblade0(void) { } -u32 sub_unk3_DarkHyruleCastleOutside_OutsideNortheast() { +u32 sub_unk3_DarkHyruleCastleOutside_OutsideNortheast(void) { return 1; } -void sub_StateChange_Dojos_ToGrimblade1() { +void sub_StateChange_Dojos_ToGrimblade1(void) { } -u32 sub_unk3_DarkHyruleCastleOutside_OutsideEast() { +u32 sub_unk3_DarkHyruleCastleOutside_OutsideEast(void) { return 1; } -void sub_StateChange_Dojos_ToGrimblade2() { +void sub_StateChange_Dojos_ToGrimblade2(void) { } -u32 sub_unk3_DarkHyruleCastleOutside_OutsideSouthwest() { +u32 sub_unk3_DarkHyruleCastleOutside_OutsideSouthwest(void) { return 1; } -void sub_StateChange_Dojos_ToGrimblade3() { +void sub_StateChange_Dojos_ToGrimblade3(void) { } -u32 sub_unk3_DarkHyruleCastleOutside_OutsideSouth() { +u32 sub_unk3_DarkHyruleCastleOutside_OutsideSouth(void) { return 1; } -void sub_StateChange_Dojos_ToGrimblade4() { +void sub_StateChange_Dojos_ToGrimblade4(void) { } -u32 sub_unk3_DarkHyruleCastleOutside_OutsideSoutheast() { +u32 sub_unk3_DarkHyruleCastleOutside_OutsideSoutheast(void) { return 1; } -void sub_StateChange_Dojos_ToGrimblade5() { +void sub_StateChange_Dojos_ToGrimblade5(void) { } -u32 sub_unk3_DarkHyruleCastleOutside_8() { +u32 sub_unk3_DarkHyruleCastleOutside_8(void) { return 1; } -void sub_StateChange_Dojos_ToGrimblade6() { +void sub_StateChange_Dojos_ToGrimblade6(void) { } extern u32 gUnk_080EB604; @@ -3726,7 +3735,7 @@ void sub_StateChange_DarkHyruleCastle_0(void) { extern EntityData gUnk_080EB684; -void sub_0804D9B0(void) { +static void sub_0804D9B0(void) { sub_0807BB98(0x797, 1, 5, 1); sub_0807BB98(0x357, 1, 5, 1); sub_0807BB98(0x55f, 1, 2, 1); @@ -3734,39 +3743,39 @@ void sub_0804D9B0(void) { gArea.queued_bgm = gArea.bgm; } -u32 sub_unk3_DarkHyruleCastle_1() { +u32 sub_unk3_DarkHyruleCastle_1(void) { return 1; } -void sub_StateChange_Dojos_ToGrimblade7() { +void sub_StateChange_Dojos_ToGrimblade7(void) { } -u32 sub_unk3_DarkHyruleCastle_2() { +u32 sub_unk3_DarkHyruleCastle_2(void) { return 1; } -void sub_StateChange_Dojos_ToGrimblade8() { +void sub_StateChange_Dojos_ToGrimblade8(void) { } -u32 sub_unk3_DarkHyruleCastle_3() { +u32 sub_unk3_DarkHyruleCastle_3(void) { return 1; } -void sub_StateChange_Dojos_ToGrimblade9() { +void sub_StateChange_Dojos_ToGrimblade9(void) { } -u32 sub_unk3_DarkHyruleCastle_4() { +u32 sub_unk3_DarkHyruleCastle_4(void) { return 1; } -void sub_StateChange_Dojos_ToSplitblade0() { +void sub_StateChange_Dojos_ToSplitblade0(void) { } -u32 sub_unk3_DarkHyruleCastle_5() { +u32 sub_unk3_DarkHyruleCastle_5(void) { return 1; } -void sub_StateChange_Dojos_ToSplitblade1() { +void sub_StateChange_Dojos_ToSplitblade1(void) { } u32 sub_unk3_DarkHyruleCastle_6(void) { @@ -3796,55 +3805,55 @@ void sub_StateChange_DarkHyruleCastle_6(void) { } } -u32 sub_unk3_DarkHyruleCastle_7() { +u32 sub_unk3_DarkHyruleCastle_7(void) { return 1; } -void sub_StateChange_Dojos_ToSplitblade2() { +void sub_StateChange_Dojos_ToSplitblade2(void) { } -u32 sub_unk3_DarkHyruleCastle_8() { +u32 sub_unk3_DarkHyruleCastle_8(void) { return 1; } -void sub_StateChange_Dojos_ToSplitblade3() { +void sub_StateChange_Dojos_ToSplitblade3(void) { } -u32 sub_unk3_DarkHyruleCastle_9() { +u32 sub_unk3_DarkHyruleCastle_9(void) { return 1; } -void sub_StateChange_Dojos_ToSplitblade4() { +void sub_StateChange_Dojos_ToSplitblade4(void) { } -u32 sub_unk3_DarkHyruleCastle_10() { +u32 sub_unk3_DarkHyruleCastle_10(void) { return 1; } -void sub_StateChange_Dojos_ToSplitblade5() { +void sub_StateChange_Dojos_ToSplitblade5(void) { } -u32 sub_unk3_DarkHyruleCastle_11() { +u32 sub_unk3_DarkHyruleCastle_11(void) { return 1; } -void sub_StateChange_Dojos_ToSplitblade6() { +void sub_StateChange_Dojos_ToSplitblade6(void) { } -u32 sub_unk3_DarkHyruleCastle_12() { +u32 sub_unk3_DarkHyruleCastle_12(void) { return 1; } -void sub_StateChange_Dojos_ToSplitblade7() { +void sub_StateChange_Dojos_ToSplitblade7(void) { } -u32 sub_unk3_DarkHyruleCastle_13() { +u32 sub_unk3_DarkHyruleCastle_13(void) { return 1; } -void sub_StateChange_Dojos_ToSplitblade8() { +void sub_StateChange_Dojos_ToSplitblade8(void) { } -u32 sub_unk3_DarkHyruleCastle_14() { +u32 sub_unk3_DarkHyruleCastle_14(void) { return 1; } @@ -3856,14 +3865,14 @@ void sub_StateChange_DarkHyruleCastle_14(void) { } } -u32 sub_unk3_DarkHyruleCastle_15() { +u32 sub_unk3_DarkHyruleCastle_15(void) { return 1; } -void sub_StateChange_Dojos_ToSplitblade9() { +void sub_StateChange_Dojos_ToSplitblade9(void) { } -u32 sub_unk3_DarkHyruleCastle_16() { +u32 sub_unk3_DarkHyruleCastle_16(void) { return 1; } @@ -3875,21 +3884,21 @@ void sub_StateChange_DarkHyruleCastle_16(void) { } } -u32 sub_unk3_DarkHyruleCastle_17() { +u32 sub_unk3_DarkHyruleCastle_17(void) { return 1; } -void sub_StateChange_Dojos_ToGreatblade0() { +void sub_StateChange_Dojos_ToGreatblade0(void) { } -u32 sub_unk3_DarkHyruleCastle_18() { +u32 sub_unk3_DarkHyruleCastle_18(void) { return 1; } -void sub_StateChange_Dojos_ToGreatblade1() { +void sub_StateChange_Dojos_ToGreatblade1(void) { } -u32 sub_unk3_DarkHyruleCastle_19() { +u32 sub_unk3_DarkHyruleCastle_19(void) { return 1; } @@ -3901,14 +3910,14 @@ void sub_StateChange_DarkHyruleCastle_19(void) { } } -u32 sub_unk3_DarkHyruleCastle_20() { +u32 sub_unk3_DarkHyruleCastle_20(void) { return 1; } -void sub_StateChange_Dojos_ToGreatblade2() { +void sub_StateChange_Dojos_ToGreatblade2(void) { } -u32 sub_unk3_DarkHyruleCastle_21() { +u32 sub_unk3_DarkHyruleCastle_21(void) { return 1; } @@ -3920,46 +3929,46 @@ void sub_StateChange_DarkHyruleCastle_21(void) { } } -u32 sub_unk3_DarkHyruleCastle_22() { +u32 sub_unk3_DarkHyruleCastle_22(void) { return 1; } -void sub_StateChange_Dojos_ToGreatblade3() { +void sub_StateChange_Dojos_ToGreatblade3(void) { } -u32 sub_unk3_DarkHyruleCastle_23() { +u32 sub_unk3_DarkHyruleCastle_23(void) { return 1; } -void sub_StateChange_Dojos_ToGreatblade4() { +void sub_StateChange_Dojos_ToGreatblade4(void) { } -u32 sub_unk3_DarkHyruleCastle_24() { +u32 sub_unk3_DarkHyruleCastle_24(void) { return 1; } -void sub_StateChange_Dojos_ToGreatblade5() { +void sub_StateChange_Dojos_ToGreatblade5(void) { } -u32 sub_unk3_DarkHyruleCastle_25() { +u32 sub_unk3_DarkHyruleCastle_25(void) { return 1; } -void sub_StateChange_Dojos_ToGreatblade6() { +void sub_StateChange_Dojos_ToGreatblade6(void) { } -u32 sub_unk3_DarkHyruleCastle_26() { +u32 sub_unk3_DarkHyruleCastle_26(void) { return 1; } -void sub_StateChange_Dojos_ToGreatblade7() { +void sub_StateChange_Dojos_ToGreatblade7(void) { } -u32 sub_unk3_DarkHyruleCastle_27() { +u32 sub_unk3_DarkHyruleCastle_27(void) { return 1; } -void sub_StateChange_Dojos_ToGreatblade8() { +void sub_StateChange_Dojos_ToGreatblade8(void) { } u32 sub_unk3_DarkHyruleCastle_28(void) { @@ -3979,18 +3988,18 @@ void sub_StateChange_DarkHyruleCastle_28(void) { } } -u32 sub_unk3_DarkHyruleCastle_29() { +u32 sub_unk3_DarkHyruleCastle_29(void) { return 1; } -void sub_StateChange_Dojos_ToGreatblade9() { +void sub_StateChange_Dojos_ToGreatblade9(void) { } -u32 sub_unk3_DarkHyruleCastle_30() { +u32 sub_unk3_DarkHyruleCastle_30(void) { return 1; } -void sub_StateChange_Dojos_ToScarblade0() { +void sub_StateChange_Dojos_ToScarblade0(void) { } extern u32 gUnk_080ED1E4; @@ -4009,151 +4018,151 @@ void sub_StateChange_DarkHyruleCastle_31(void) { } } -u32 sub_unk3_DarkHyruleCastle_32() { +u32 sub_unk3_DarkHyruleCastle_32(void) { return 1; } -void sub_StateChange_Dojos_ToScarblade1() { +void sub_StateChange_Dojos_ToScarblade1(void) { } -u32 sub_unk3_DarkHyruleCastle_33() { +u32 sub_unk3_DarkHyruleCastle_33(void) { return 1; } -void sub_StateChange_Dojos_ToScarblade2() { +void sub_StateChange_Dojos_ToScarblade2(void) { } -u32 sub_unk3_DarkHyruleCastle_34() { +u32 sub_unk3_DarkHyruleCastle_34(void) { return 1; } -void sub_StateChange_Dojos_ToScarblade3() { +void sub_StateChange_Dojos_ToScarblade3(void) { } -u32 sub_unk3_DarkHyruleCastle_35() { +u32 sub_unk3_DarkHyruleCastle_35(void) { return 1; } -void sub_StateChange_Dojos_ToScarblade4() { +void sub_StateChange_Dojos_ToScarblade4(void) { } -u32 sub_unk3_DarkHyruleCastle_36() { +u32 sub_unk3_DarkHyruleCastle_36(void) { return 1; } -void sub_StateChange_Dojos_ToScarblade5() { +void sub_StateChange_Dojos_ToScarblade5(void) { } -u32 sub_unk3_DarkHyruleCastle_37() { +u32 sub_unk3_DarkHyruleCastle_37(void) { return 1; } -void sub_StateChange_Dojos_ToScarblade6() { +void sub_StateChange_Dojos_ToScarblade6(void) { } -u32 sub_unk3_DarkHyruleCastle_38() { +u32 sub_unk3_DarkHyruleCastle_38(void) { return 1; } -void sub_StateChange_Dojos_ToScarblade7() { +void sub_StateChange_Dojos_ToScarblade7(void) { } -u32 sub_unk3_DarkHyruleCastle_39() { +u32 sub_unk3_DarkHyruleCastle_39(void) { return 1; } -void sub_StateChange_Dojos_ToScarblade8() { +void sub_StateChange_Dojos_ToScarblade8(void) { } -u32 sub_unk3_DarkHyruleCastle_40() { +u32 sub_unk3_DarkHyruleCastle_40(void) { return 1; } -void sub_StateChange_Dojos_ToScarblade9() { +void sub_StateChange_Dojos_ToScarblade9(void) { } -u32 sub_unk3_DarkHyruleCastle_41() { +u32 sub_unk3_DarkHyruleCastle_41(void) { return 1; } -void sub_StateChange_GoronCave_StairsToCave0() { +void sub_StateChange_GoronCave_StairsToCave0(void) { } -u32 sub_unk3_DarkHyruleCastle_42() { +u32 sub_unk3_DarkHyruleCastle_42(void) { return 1; } -void sub_StateChange_GoronCave_StairsToCave1() { +void sub_StateChange_GoronCave_StairsToCave1(void) { } -u32 sub_unk3_DarkHyruleCastle_43() { +u32 sub_unk3_DarkHyruleCastle_43(void) { return 1; } -void sub_StateChange_GoronCave_StairsToCave2() { +void sub_StateChange_GoronCave_StairsToCave2(void) { } -u32 sub_unk3_DarkHyruleCastle_44() { +u32 sub_unk3_DarkHyruleCastle_44(void) { return 1; } -void sub_StateChange_GoronCave_StairsToCave3() { +void sub_StateChange_GoronCave_StairsToCave3(void) { } -u32 sub_unk3_DarkHyruleCastle_45() { +u32 sub_unk3_DarkHyruleCastle_45(void) { return 1; } -void sub_StateChange_GoronCave_StairsToCave4() { +void sub_StateChange_GoronCave_StairsToCave4(void) { } -u32 sub_unk3_DarkHyruleCastle_46() { +u32 sub_unk3_DarkHyruleCastle_46(void) { return 1; } -void sub_StateChange_GoronCave_StairsToCave5() { +void sub_StateChange_GoronCave_StairsToCave5(void) { } -u32 sub_unk3_DarkHyruleCastle_47() { +u32 sub_unk3_DarkHyruleCastle_47(void) { return 1; } -void sub_StateChange_GoronCave_StairsToCave6() { +void sub_StateChange_GoronCave_StairsToCave6(void) { } -u32 sub_unk3_DarkHyruleCastle_48() { +u32 sub_unk3_DarkHyruleCastle_48(void) { return 1; } -void sub_StateChange_GoronCave_StairsToCave7() { +void sub_StateChange_GoronCave_StairsToCave7(void) { } -u32 sub_unk3_DarkHyruleCastle_49() { +u32 sub_unk3_DarkHyruleCastle_49(void) { return 1; } -void sub_StateChange_GoronCave_StairsToCave8() { +void sub_StateChange_GoronCave_StairsToCave8(void) { } -u32 sub_unk3_DarkHyruleCastle_50() { +u32 sub_unk3_DarkHyruleCastle_50(void) { return 1; } -void sub_StateChange_GoronCave_StairsToCave9() { +void sub_StateChange_GoronCave_StairsToCave9(void) { } -u32 sub_unk3_DarkHyruleCastle_51() { +u32 sub_unk3_DarkHyruleCastle_51(void) { return 1; } -void sub_StateChange_Ruins_Beanstalk0() { +void sub_StateChange_Ruins_Beanstalk0(void) { } -u32 sub_unk3_DarkHyruleCastle_52() { +u32 sub_unk3_DarkHyruleCastle_52(void) { return 1; } -void sub_StateChange_Ruins_Beanstalk1() { +void sub_StateChange_Ruins_Beanstalk1(void) { } u32 sub_unk3_DarkHyruleCastle_53(void) { @@ -4174,11 +4183,11 @@ void sub_StateChange_DarkHyruleCastle_53(void) { } } -u32 sub_unk3_DarkHyruleCastle_54() { +u32 sub_unk3_DarkHyruleCastle_54(void) { return 1; } -void sub_StateChange_Ruins_Beanstalk2() { +void sub_StateChange_Ruins_Beanstalk2(void) { } u32 sub_unk3_DarkHyruleCastle_55(void) { @@ -4198,14 +4207,14 @@ void sub_StateChange_DarkHyruleCastle_55(void) { } } -u32 sub_unk3_DarkHyruleCastle_56() { +u32 sub_unk3_DarkHyruleCastle_56(void) { return 1; } -void sub_StateChange_Ruins_Beanstalk3() { +void sub_StateChange_Ruins_Beanstalk3(void) { } -u32 sub_unk3_DarkHyruleCastle_57() { +u32 sub_unk3_DarkHyruleCastle_57(void) { return 1; } @@ -4217,11 +4226,11 @@ void sub_StateChange_DarkHyruleCastle_57(void) { } } -u32 sub_unk3_DarkHyruleCastle_58() { +u32 sub_unk3_DarkHyruleCastle_58(void) { return 1; } -void sub_StateChange_Ruins_Beanstalk4() { +void sub_StateChange_Ruins_Beanstalk4(void) { } ASM_FUNC("asm/non_matching/sub_unk3_HyruleTown_0.inc", u32 sub_unk3_HyruleTown_0(void)) @@ -4338,95 +4347,95 @@ void sub_unk1_HyruleTown_8(void) { ASM_FUNC("asm/non_matching/sub_0804E150.inc", void sub_0804E150(void)) -u32 sub_unk3_HyruleTownMinishCaves_Entrance() { +u32 sub_unk3_HyruleTownMinishCaves_Entrance(void) { return 1; } -void sub_StateChange_HyruleTownMinishCaves_Entrance() { +void sub_StateChange_HyruleTownMinishCaves_Entrance(void) { } -u32 sub_unk3_HyruleTownMinishCaves_NorthRoom() { +u32 sub_unk3_HyruleTownMinishCaves_NorthRoom(void) { return 1; } -void sub_StateChange_HyruleTownMinishCaves_NorthRoom() { +void sub_StateChange_HyruleTownMinishCaves_NorthRoom(void) { } -u32 sub_unk3_HyruleTownMinishCaves_PacciJump() { +u32 sub_unk3_HyruleTownMinishCaves_PacciJump(void) { return 1; } -void sub_StateChange_HyruleTownMinishCaves_PacciJump() { +void sub_StateChange_HyruleTownMinishCaves_PacciJump(void) { } -u32 sub_unk3_HyruleTownMinishCaves_MulldozerFight() { +u32 sub_unk3_HyruleTownMinishCaves_MulldozerFight(void) { return 1; } -void sub_StateChange_HyruleTownMinishCaves_MulldozerFight() { +void sub_StateChange_HyruleTownMinishCaves_MulldozerFight(void) { } -u32 sub_unk3_HyruleTownMinishCaves_WestChest() { +u32 sub_unk3_HyruleTownMinishCaves_WestChest(void) { return 1; } -void sub_StateChange_HyruleTownMinishCaves_WestChest() { +void sub_StateChange_HyruleTownMinishCaves_WestChest(void) { } -u32 sub_unk3_HyruleTownMinishCaves_Flippers() { +u32 sub_unk3_HyruleTownMinishCaves_Flippers(void) { return 1; } -void sub_StateChange_HyruleTownMinishCaves_Flippers() { +void sub_StateChange_HyruleTownMinishCaves_Flippers(void) { } -u32 sub_unk3_HyruleTownMinishCaves_Librari() { +u32 sub_unk3_HyruleTownMinishCaves_Librari(void) { return 1; } -void sub_StateChange_HyruleTownMinishCaves_Librari() { +void sub_StateChange_HyruleTownMinishCaves_Librari(void) { } -u32 sub_unk3_HyruleTownMinishCaves_WestFrozenChest() { +u32 sub_unk3_HyruleTownMinishCaves_WestFrozenChest(void) { return 1; } -void sub_StateChange_HyruleTownMinishCaves_WestFrozenChest() { +void sub_StateChange_HyruleTownMinishCaves_WestFrozenChest(void) { } -u32 sub_unk3_HyruleTownMinishCaves_CrossIntersection() { +u32 sub_unk3_HyruleTownMinishCaves_CrossIntersection(void) { return 1; } -void sub_StateChange_HyruleTownMinishCaves_CrossIntersection() { +void sub_StateChange_HyruleTownMinishCaves_CrossIntersection(void) { } -u32 sub_unk3_HyruleTownMinishCaves_SoutheastCorner() { +u32 sub_unk3_HyruleTownMinishCaves_SoutheastCorner(void) { return 1; } -void sub_StateChange_HyruleTownMinishCaves_SoutheastCorner() { +void sub_StateChange_HyruleTownMinishCaves_SoutheastCorner(void) { } -u32 sub_unk3_HyruleTownMinishCaves_Entrance2() { +u32 sub_unk3_HyruleTownMinishCaves_Entrance2(void) { return 1; } -void sub_StateChange_HyruleTownMinishCaves_Entrance2() { +void sub_StateChange_HyruleTownMinishCaves_Entrance2(void) { } -u32 sub_unk3_HyruleTownUnderground_Main() { +u32 sub_unk3_HyruleTownUnderground_Main(void) { return 1; } -void sub_StateChange_HyruleTownUnderground_Main() { +void sub_StateChange_HyruleTownUnderground_Main(void) { } -u32 sub_unk3_HyruleTownUnderground_Well() { +u32 sub_unk3_HyruleTownUnderground_Well(void) { return 1; } -void sub_StateChange_HyruleTownUnderground_Well() { +void sub_StateChange_HyruleTownUnderground_Well(void) { } extern u32 gUnk_080F09A0; @@ -4505,7 +4514,7 @@ void sub_StateChange_CastleGarden_Main(void) { sub_080AF284(); } -u32 sub_unk3_SimonsSimulation_Main() { +u32 sub_unk3_SimonsSimulation_Main(void) { ClearLocalFlag(1); return 1; } @@ -4518,7 +4527,7 @@ extern struct { u32 unk_04; } gUnk_080F0E1C[]; -void sub_StateChange_SimonsSimulation_Main() { +void sub_StateChange_SimonsSimulation_Main(void) { u32 r; u32 index; u32 tmp; @@ -4544,7 +4553,7 @@ void sub_StateChange_SimonsSimulation_Main() { SoundReq(SONG_STOP_BGM); } -u32 sub_unk3_HouseInteriors2_Stranger() { +u32 sub_unk3_HouseInteriors2_Stranger(void) { return 1; } @@ -4559,7 +4568,7 @@ void sub_StateChange_HouseInteriors2_Stranger(void) { } } -u32 sub_unk3_HouseInteriors2_WestOracle() { +u32 sub_unk3_HouseInteriors2_WestOracle(void) { return 1; } @@ -4577,21 +4586,21 @@ void sub_StateChange_HouseInteriors2_WestOracle(void) { } } -u32 sub_unk3_HouseInteriors2_2() { +u32 sub_unk3_HouseInteriors2_2(void) { return 1; } -void sub_StateChange_Ruins_Beanstalk5() { +void sub_StateChange_Ruins_Beanstalk5(void) { } -u32 sub_unk3_HouseInteriors2_3() { +u32 sub_unk3_HouseInteriors2_3(void) { return 1; } -void sub_StateChange_Ruins_Beanstalk6() { +void sub_StateChange_Ruins_Beanstalk6(void) { } -u32 sub_unk3_HouseInteriors2_DrLeft() { +u32 sub_unk3_HouseInteriors2_DrLeft(void) { return 1; } @@ -4609,7 +4618,7 @@ void sub_StateChange_HouseInteriors2_DrLeft(void) { } } -u32 sub_unk3_HouseInteriors2_Romio() { +u32 sub_unk3_HouseInteriors2_Romio(void) { return 1; } @@ -4628,7 +4637,7 @@ void sub_StateChange_HouseInteriors2_Romio(void) { } } -u32 sub_unk3_HouseInteriors2_Julietta() { +u32 sub_unk3_HouseInteriors2_Julietta(void) { return 1; } @@ -4669,7 +4678,7 @@ void sub_StateChange_HouseInteriors2_Julietta(void) { } } -u32 sub_unk3_HouseInteriors2_Percy() { +u32 sub_unk3_HouseInteriors2_Percy(void) { return 1; } @@ -4696,7 +4705,7 @@ void sub_StateChange_HouseInteriors2_Percy(void) { } } -u32 sub_unk3_HouseInteriors2_EastOracle() { +u32 sub_unk3_HouseInteriors2_EastOracle(void) { return 1; } @@ -4714,28 +4723,28 @@ void sub_StateChange_HouseInteriors2_EastOracle(void) { } } -u32 sub_unk3_HouseInteriors2_A() { +u32 sub_unk3_HouseInteriors2_A(void) { return 1; } -void sub_StateChange_Ruins_Beanstalk7() { +void sub_StateChange_Ruins_Beanstalk7(void) { } -u32 sub_unk3_HouseInteriors2_B() { +u32 sub_unk3_HouseInteriors2_B(void) { return 1; } -void sub_StateChange_Ruins_Beanstalk8() { +void sub_StateChange_Ruins_Beanstalk8(void) { } -u32 sub_unk3_HouseInteriors2_Cucco() { +u32 sub_unk3_HouseInteriors2_Cucco(void) { return 1; } -void sub_StateChange_Ruins_Beanstalk9() { +void sub_StateChange_Ruins_Beanstalk9(void) { } -u32 sub_unk3_HouseInteriors2_LinksHouseEntrance() { +u32 sub_unk3_HouseInteriors2_LinksHouseEntrance(void) { return 1; } @@ -4751,7 +4760,7 @@ void sub_StateChange_HouseInteriors2_LinksHouseEntrance(void) { } } -u32 sub_unk3_HouseInteriors2_LinksHouseSmith() { +u32 sub_unk3_HouseInteriors2_LinksHouseSmith(void) { return 1; } @@ -4770,7 +4779,7 @@ void sub_StateChange_HouseInteriors2_LinksHouseSmith(void) { } } -u32 sub_unk3_HouseInteriors2_Dampe() { +u32 sub_unk3_HouseInteriors2_Dampe(void) { return 1; } @@ -4782,7 +4791,7 @@ void sub_StateChange_HouseInteriors2_Dampe(void) { } } -u32 sub_unk3_HouseInteriors2_Stockwell() { +u32 sub_unk3_HouseInteriors2_Stockwell(void) { return 1; } @@ -4795,7 +4804,7 @@ void sub_StateChange_HouseInteriors2_Stockwell(void) { } } -u32 sub_unk3_HouseInteriors2_LinksHouseBedroom() { +u32 sub_unk3_HouseInteriors2_LinksHouseBedroom(void) { return 1; } @@ -4827,7 +4836,7 @@ void sub_0804E864(void) { ModHealth(0xa0); } -u32 sub_unk3_HouseInteriors4_Carpenter() { +u32 sub_unk3_HouseInteriors4_Carpenter(void) { return 1; } @@ -4843,15 +4852,15 @@ void sub_StateChange_HouseInteriors4_Carpenter(void) { } } -u32 sub_unk3_HouseInteriors4_Swiftblade() { +u32 sub_unk3_HouseInteriors4_Swiftblade(void) { return 1; } -void sub_StateChange_HouseInteriors4_Swiftblade() { +void sub_StateChange_HouseInteriors4_Swiftblade(void) { sub_08054564(); } -u32 sub_unk3_HouseInteriors4_RanchHouseWest() { +u32 sub_unk3_HouseInteriors4_RanchHouseWest(void) { return 1; } @@ -4866,7 +4875,7 @@ void sub_StateChange_HouseInteriors4_RanchHouseWest(void) { } } -u32 sub_unk3_HouseInteriors4_RanchHouseEast() { +u32 sub_unk3_HouseInteriors4_RanchHouseEast(void) { return 1; } @@ -4878,14 +4887,14 @@ void sub_StateChange_HouseInteriors4_RanchHouseEast(void) { } } -u32 sub_unk3_HouseInteriors4_FarmHouse() { +u32 sub_unk3_HouseInteriors4_FarmHouse(void) { return 1; } -void sub_StateChange_Ruins_LadderToTektites0() { +void sub_StateChange_Ruins_LadderToTektites0(void) { } -u32 sub_unk3_HouseInteriors4_Mayor() { +u32 sub_unk3_HouseInteriors4_Mayor(void) { return 1; } @@ -4943,74 +4952,74 @@ void sub_StateChange_LakeHylia_Main(void) { SetTile(0x4091, 0x694, 1); } -u32 sub_unk3_LakeHylia_Beanstalk() { +u32 sub_unk3_LakeHylia_Beanstalk(void) { return 1; } -void sub_StateChange_Ruins_LadderToTektites1() { +void sub_StateChange_Ruins_LadderToTektites1(void) { } -u32 sub_unk3_LakeWoodsCave_Main() { +u32 sub_unk3_LakeWoodsCave_Main(void) { return 1; } -void sub_StateChange_Ruins_LadderToTektites2() { +void sub_StateChange_Ruins_LadderToTektites2(void) { } -u32 sub_unk3_HyliaDigCaves_Middle() { +u32 sub_unk3_HyliaDigCaves_Middle(void) { return 1; } -void sub_StateChange_Ruins_LadderToTektites3() { +void sub_StateChange_Ruins_LadderToTektites3(void) { } -u32 sub_unk3_HyliaDigCaves_North() { +u32 sub_unk3_HyliaDigCaves_North(void) { return 1; } -void sub_StateChange_Ruins_LadderToTektites4() { +void sub_StateChange_Ruins_LadderToTektites4(void) { } -u32 sub_unk3_CastorWildsDigCave_Main() { +u32 sub_unk3_CastorWildsDigCave_Main(void) { return 1; } -void sub_StateChange_Ruins_LadderToTektites5() { +void sub_StateChange_Ruins_LadderToTektites5(void) { } -u32 sub_unk3_HyruleDigCaves_Main() { +u32 sub_unk3_HyruleDigCaves_Main(void) { return 1; } -void sub_StateChange_Ruins_LadderToTektites6() { +void sub_StateChange_Ruins_LadderToTektites6(void) { } -u32 sub_unk3_CrenelDigCave_Main() { +u32 sub_unk3_CrenelDigCave_Main(void) { return 1; } -void sub_StateChange_Ruins_LadderToTektites7() { +void sub_StateChange_Ruins_LadderToTektites7(void) { } -u32 sub_unk3_DigCaves1_HyruleFieldFarm() { +u32 sub_unk3_DigCaves1_HyruleFieldFarm(void) { return 1; } -void sub_StateChange_Ruins_LadderToTektites8() { +void sub_StateChange_Ruins_LadderToTektites8(void) { } -u32 sub_unk3_DigCaves1_TrilbyHighlands() { +u32 sub_unk3_DigCaves1_TrilbyHighlands(void) { return 1; } -void sub_StateChange_Ruins_LadderToTektites9() { +void sub_StateChange_Ruins_LadderToTektites9(void) { } -u32 sub_unk3_VeilFallsDigCave_Main() { +u32 sub_unk3_VeilFallsDigCave_Main(void) { return 1; } -void sub_StateChange_VeilFallsDigCave_Main() { +void sub_StateChange_VeilFallsDigCave_Main(void) { } u32 sub_unk3_OuterFortressOfWinds_EntranceHall(void) { @@ -5018,7 +5027,7 @@ u32 sub_unk3_OuterFortressOfWinds_EntranceHall(void) { return 1; } -void sub_StateChange_OuterFortressOfWinds_EntranceHall() { +void sub_StateChange_OuterFortressOfWinds_EntranceHall(void) { } u32 sub_unk3_OuterFortressOfWinds_2F(void) { @@ -5026,7 +5035,7 @@ u32 sub_unk3_OuterFortressOfWinds_2F(void) { return 1; } -void sub_StateChange_OuterFortressOfWinds_2F() { +void sub_StateChange_OuterFortressOfWinds_2F(void) { } u32 sub_unk3_OuterFortressOfWinds_3F(void) { @@ -5034,7 +5043,7 @@ u32 sub_unk3_OuterFortressOfWinds_3F(void) { return 1; } -void sub_StateChange_OuterFortressOfWinds_3F() { +void sub_StateChange_OuterFortressOfWinds_3F(void) { } u32 sub_unk3_OuterFortressOfWinds_MoleMitts(void) { @@ -5043,7 +5052,7 @@ u32 sub_unk3_OuterFortressOfWinds_MoleMitts(void) { return 1; } -void sub_StateChange_OuterFortressOfWinds_MoleMitts() { +void sub_StateChange_OuterFortressOfWinds_MoleMitts(void) { } u32 sub_unk3_OuterFortressOfWinds_SmallKey(void) { @@ -5052,7 +5061,7 @@ u32 sub_unk3_OuterFortressOfWinds_SmallKey(void) { return 1; } -void sub_StateChange_OuterFortressOfWinds_SmallKey() { +void sub_StateChange_OuterFortressOfWinds_SmallKey(void) { } extern u32 gUnk_080F4EB0; @@ -5110,11 +5119,11 @@ void sub_unk1_MinishWoods_Main(void) { } } -u32 sub_unk3_Empty_Main() { +u32 sub_unk3_Empty_Main(void) { return 1; } -void sub_StateChange_Empty_Main() { +void sub_StateChange_Empty_Main(void) { } extern u32 gUnk_080F5348; @@ -5144,11 +5153,11 @@ void sub_StateChange_SanctuaryEntrance_Main(void) { } } -void sub_0804ED18(void) { +static void sub_0804ED18(void) { gArea.queued_bgm = gArea.bgm; } -u32 sub_unk3_Sanctuary_Hall() { +u32 sub_unk3_Sanctuary_Hall(void) { return 1; } @@ -5159,7 +5168,7 @@ void sub_StateChange_Sanctuary_Hall(void) { } } -u32 sub_unk3_Sanctuary_Main() { +u32 sub_unk3_Sanctuary_Main(void) { return 1; } @@ -5211,7 +5220,7 @@ void sub_StateChange_Sanctuary_Main(void) { } } -u32 sub_unk3_Sanctuary_StainedGlass() { +u32 sub_unk3_Sanctuary_StainedGlass(void) { return 1; } @@ -5226,7 +5235,7 @@ void sub_StateChange_Sanctuary_StainedGlass(void) { } } -u32 sub_unk3_HouseInteriors3_StockwellShop() { +u32 sub_unk3_HouseInteriors3_StockwellShop(void) { return 1; } @@ -5275,14 +5284,14 @@ void sub_StateChange_HouseInteriors3_StockwellShop(void) { } } -u32 sub_unk3_HouseInteriors3_Cafe() { +u32 sub_unk3_HouseInteriors3_Cafe(void) { return 1; } -void sub_StateChange_HouseInteriors3_Cafe() { +void sub_StateChange_HouseInteriors3_Cafe(void) { } -u32 sub_unk3_HouseInteriors3_RemShoeShop() { +u32 sub_unk3_HouseInteriors3_RemShoeShop(void) { return 1; } @@ -5296,10 +5305,10 @@ void sub_StateChange_HouseInteriors3_RemShoeShop(void) { #endif } -u32 sub_unk3_HouseInteriors3_Bakery() { +u32 sub_unk3_HouseInteriors3_Bakery(void) { return 1; } -void sub_StateChange_HouseInteriors3_Bakery() { +void sub_StateChange_HouseInteriors3_Bakery(void) { } u32 sub_unk3_HouseInteriors3_Simon(void) { @@ -5321,7 +5330,7 @@ void sub_StateChange_HouseInteriors3_Simon(void) { } } -u32 sub_unk3_HouseInteriors3_FigurineHouse() { +u32 sub_unk3_HouseInteriors3_FigurineHouse(void) { return 1; } @@ -5337,7 +5346,7 @@ void sub_StateChange_HouseInteriors3_FigurineHouse(void) { } } -u32 sub_unk3_HouseInteriors3_BorlovEntrance() { +u32 sub_unk3_HouseInteriors3_BorlovEntrance(void) { return 1; } @@ -5356,18 +5365,18 @@ void sub_StateChange_HouseInteriors3_BorlovEntrance(void) { } } -u32 sub_unk3_HouseInteriors3_Carlov() { +u32 sub_unk3_HouseInteriors3_Carlov(void) { return 1; } -void sub_StateChange_HouseInteriors3_Carlov() { +void sub_StateChange_HouseInteriors3_Carlov(void) { } -u32 sub_unk3_HouseInteriors3_Borlov() { +u32 sub_unk3_HouseInteriors3_Borlov(void) { return 1; } -void sub_StateChange_HouseInteriors3_Borlov() { +void sub_StateChange_HouseInteriors3_Borlov(void) { } u32 sub_unk3_WindTribeTower_Entrance(void) { @@ -5401,7 +5410,7 @@ void sub_StateChange_WindTribeTower_Entrance(void) { SetWorldMapPos(8, 0, 0x1e8, 0x158); } -u32 sub_unk3_WindTribeTower_Floor2() { +u32 sub_unk3_WindTribeTower_Floor2(void) { return 1; } @@ -5418,14 +5427,14 @@ void sub_StateChange_WindTribeTower_Floor2(void) { } } -u32 sub_unk3_WindTribeTower_Floor3() { +u32 sub_unk3_WindTribeTower_Floor3(void) { return 1; } -void sub_StateChange_WindTribeTower_Floor3() { +void sub_StateChange_WindTribeTower_Floor3(void) { } -u32 sub_unk3_WindTribeTower_Floor4() { +u32 sub_unk3_WindTribeTower_Floor4(void) { return 1; } @@ -5440,7 +5449,7 @@ void sub_StateChange_WindTribeTower_Floor4(void) { } } -u32 sub_unk3_WindTribeTowerRoof_Main() { +u32 sub_unk3_WindTribeTowerRoof_Main(void) { return 1; } @@ -5457,81 +5466,81 @@ void sub_StateChange_WindTribeTowerRoof_Main(void) { #endif } -u32 sub_unk3_Beanstalks_MountCrenel() { +u32 sub_unk3_Beanstalks_MountCrenel(void) { return 1; } -void sub_StateChange_Beanstalks_MountCrenel() { +void sub_StateChange_Beanstalks_MountCrenel(void) { } -u32 sub_unk3_Beanstalks_LakeHylia() { +u32 sub_unk3_Beanstalks_LakeHylia(void) { return 1; } -void sub_StateChange_Beanstalks_LakeHylia() { +void sub_StateChange_Beanstalks_LakeHylia(void) { } -u32 sub_unk3_Beanstalks_Ruins() { +u32 sub_unk3_Beanstalks_Ruins(void) { return 1; } -void sub_StateChange_Beanstalks_Ruins() { +void sub_StateChange_Beanstalks_Ruins(void) { } -u32 sub_unk3_Beanstalks_EasternHills() { +u32 sub_unk3_Beanstalks_EasternHills(void) { return 1; } -void sub_StateChange_Beanstalks_EasternHills() { +void sub_StateChange_Beanstalks_EasternHills(void) { } -u32 sub_unk3_Beanstalks_WesternWoods() { +u32 sub_unk3_Beanstalks_WesternWoods(void) { return 1; } -void sub_StateChange_Beanstalks_WesternWoods() { +void sub_StateChange_Beanstalks_WesternWoods(void) { } -u32 sub_unk3_Beanstalks_MountCrenelClimb() { +u32 sub_unk3_Beanstalks_MountCrenelClimb(void) { return 1; } -void sub_StateChange_Beanstalks_MountCrenelClimb() { +void sub_StateChange_Beanstalks_MountCrenelClimb(void) { } -u32 sub_unk3_Beanstalks_LakeHyliaClimb() { +u32 sub_unk3_Beanstalks_LakeHyliaClimb(void) { return 1; } -void sub_StateChange_Beanstalks_LakeHyliaClimb() { +void sub_StateChange_Beanstalks_LakeHyliaClimb(void) { } -u32 sub_unk3_Beanstalks_RuinsClimb() { +u32 sub_unk3_Beanstalks_RuinsClimb(void) { return 1; } -void sub_StateChange_Beanstalks_RuinsClimb() { +void sub_StateChange_Beanstalks_RuinsClimb(void) { } -u32 sub_unk3_Beanstalks_EasternHillsClimb() { +u32 sub_unk3_Beanstalks_EasternHillsClimb(void) { return 1; } -void sub_StateChange_Beanstalks_EasternHillsClimb() { +void sub_StateChange_Beanstalks_EasternHillsClimb(void) { } -u32 sub_unk3_Beanstalks_WesternWoodsClimb() { +u32 sub_unk3_Beanstalks_WesternWoodsClimb(void) { return 1; } -void sub_StateChange_Beanstalks_WesternWoodsClimb() { +void sub_StateChange_Beanstalks_WesternWoodsClimb(void) { } -u32 sub_unk3_HyruleField_WesternWoodSouth() { +u32 sub_unk3_HyruleField_WesternWoodSouth(void) { return 1; } -void sub_StateChange_HyruleField_WesternWoodSouth() { +void sub_StateChange_HyruleField_WesternWoodSouth(void) { Manager18_Main(0); } @@ -5578,19 +5587,19 @@ void sub_unk1_HyruleField_LinksHouseExterior(void) { } } -u32 sub_unk3_HyruleField_FromMinishWoods() { +u32 sub_unk3_HyruleField_FromMinishWoods(void) { return 1; } -void sub_StateChange_HyruleField_FromMinishWoods() { +void sub_StateChange_HyruleField_FromMinishWoods(void) { Manager18_Main(NULL); } -u32 sub_unk3_HyruleField_FromMinishWoodsNorth() { +u32 sub_unk3_HyruleField_FromMinishWoodsNorth(void) { return 1; } -void sub_StateChange_HyruleField_FromMinishWoodsNorth() { +void sub_StateChange_HyruleField_FromMinishWoodsNorth(void) { Manager18_Main(NULL); } @@ -5620,7 +5629,7 @@ void sub_StateChange_HyruleField_Farmers(void) { } } -u32 sub_unk3_HyruleField_LonLonRanch() { +u32 sub_unk3_HyruleField_LonLonRanch(void) { return 1; } @@ -5654,9 +5663,9 @@ void sub_StateChange_HyruleField_LonLonRanch(void) { } extern u32 gUnk_080F7CD0; -extern void sub_0804F5E8(); +extern void sub_0804F5E8(void); extern u32 gUnk_080F7C80; -extern void sub_0804F4E4(); +extern void sub_0804F4E4(void); u32 sub_unk3_HyruleField_OutsideCastle(void) { if (CheckGlobalFlag(TABIDACHI) && !GetInventoryValue(0x11)) { @@ -5680,7 +5689,7 @@ u32 sub_unk3_HyruleField_OutsideCastle(void) { return 1; } -void sub_0804F4E4() { +void sub_0804F4E4(void) { Manager18_Main(NULL); sub_0804F578(); } @@ -5712,7 +5721,7 @@ void sub_StateChange_HyruleField_OutsideCastle(void) { extern EntityData gUnk_080F7DC0; -void sub_0804F578(void) { +static void sub_0804F578(void) { #if defined(JP) || defined(EU) || defined(DEMO_JP) if (!CheckLocalFlag(0x8c)) { #else @@ -5862,7 +5871,7 @@ void sub_0804F9C8(void) { sub_0807BA8C(0x4d9, 1); } -u32 sub_unk3_HyruleField_OutsideCastleWest() { +u32 sub_unk3_HyruleField_OutsideCastleWest(void) { return 1; } @@ -5875,7 +5884,7 @@ void sub_StateChange_HyruleField_OutsideCastleWest(void) { } } -u32 sub_unk3_HyruleField_TrilbyHighlands() { +u32 sub_unk3_HyruleField_TrilbyHighlands(void) { return 1; } @@ -5892,7 +5901,7 @@ void sub_StateChange_HyruleField_TrilbyHighlands(void) { } } -u32 sub_unk3_HyruleField_PercysHouse() { +u32 sub_unk3_HyruleField_PercysHouse(void) { return 1; } @@ -5905,7 +5914,7 @@ void sub_StateChange_HyruleField_PercysHouse(void) { } } -u32 sub_unk3_Caves_Boomerang() { +u32 sub_unk3_Caves_Boomerang(void) { return 1; } @@ -5923,91 +5932,91 @@ void sub_StateChange_Caves_Boomerang(void) { } } -u32 sub_unk3_Caves_ToGraveyard() { +u32 sub_unk3_Caves_ToGraveyard(void) { return 1; } -void sub_StateChange_Caves_ToGraveyard() { +void sub_StateChange_Caves_ToGraveyard(void) { } -u32 sub_unk3_Caves_2() { +u32 sub_unk3_Caves_2(void) { return 1; } -void sub_StateChange_Caves_2() { +void sub_StateChange_Caves_2(void) { } -u32 sub_unk3_Caves_3() { +u32 sub_unk3_Caves_3(void) { return 1; } -void sub_StateChange_Caves_3() { +void sub_StateChange_Caves_3(void) { } -u32 sub_unk3_Caves_4() { +u32 sub_unk3_Caves_4(void) { return 1; } -void sub_StateChange_Caves_4() { +void sub_StateChange_Caves_4(void) { } -u32 sub_unk3_Caves_5() { +u32 sub_unk3_Caves_5(void) { return 1; } -void sub_StateChange_Caves_5() { +void sub_StateChange_Caves_5(void) { } -u32 sub_unk3_Caves_6() { +u32 sub_unk3_Caves_6(void) { return 1; } -void sub_StateChange_Caves_6() { +void sub_StateChange_Caves_6(void) { } -u32 sub_unk3_Caves_KeeseChest() { +u32 sub_unk3_Caves_KeeseChest(void) { return 1; } -void sub_StateChange_Caves_KeeseChest() { +void sub_StateChange_Caves_KeeseChest(void) { } -u32 sub_unk3_Caves_FairyFountainTrilbyHighlands() { +u32 sub_unk3_Caves_FairyFountainTrilbyHighlands(void) { return 1; } -void sub_StateChange_Caves_FairyFountainTrilbyHighlands() { +void sub_StateChange_Caves_FairyFountainTrilbyHighlands(void) { } -u32 sub_unk3_Caves_FairyFountainLinksHouse() { +u32 sub_unk3_Caves_FairyFountainLinksHouse(void) { return 1; } -void sub_StateChange_Caves_FairyFountainLinksHouse() { +void sub_StateChange_Caves_FairyFountainLinksHouse(void) { } -u32 sub_unk3_Caves_A() { +u32 sub_unk3_Caves_A(void) { return 1; } -void sub_StateChange_Caves_A() { +void sub_StateChange_Caves_A(void) { } -u32 sub_unk3_Caves_HyruleTownWaterfall() { +u32 sub_unk3_Caves_HyruleTownWaterfall(void) { return 1; } -void sub_StateChange_Caves_HyruleTownWaterfall() { +void sub_StateChange_Caves_HyruleTownWaterfall(void) { } -u32 sub_unk3_Caves_LonLonRanch() { +u32 sub_unk3_Caves_LonLonRanch(void) { return 1; } -void sub_StateChange_Caves_LonLonRanch() { +void sub_StateChange_Caves_LonLonRanch(void) { } -u32 sub_unk3_Caves_LonLonRanchSecret() { +u32 sub_unk3_Caves_LonLonRanchSecret(void) { return 1; } @@ -6022,76 +6031,76 @@ void sub_StateChange_Caves_LonLonRanchSecret(void) { } } -u32 sub_unk3_Caves_TrilbyHighlands() { +u32 sub_unk3_Caves_TrilbyHighlands(void) { return 1; } -void sub_StateChange_Caves_TrilbyHighlands() { +void sub_StateChange_Caves_TrilbyHighlands(void) { } -u32 sub_unk3_Caves_LonLonRanchWallet() { +u32 sub_unk3_Caves_LonLonRanchWallet(void) { return 1; } -void sub_StateChange_Caves_LonLonRanchWallet() { +void sub_StateChange_Caves_LonLonRanchWallet(void) { } -u32 sub_unk3_Caves_RupeeLinksHouse() { +u32 sub_unk3_Caves_RupeeLinksHouse(void) { return 1; } -void sub_StateChange_Caves_RupeeLinksHouse() { +void sub_StateChange_Caves_RupeeLinksHouse(void) { } -u32 sub_unk3_Caves_RupeeTrilbyHighlands() { +u32 sub_unk3_Caves_RupeeTrilbyHighlands(void) { return 1; } -void sub_StateChange_Caves_RupeeTrilbyHighlands() { +void sub_StateChange_Caves_RupeeTrilbyHighlands(void) { } -u32 sub_unk3_Caves_FairyFountainMoleMitts() { +u32 sub_unk3_Caves_FairyFountainMoleMitts(void) { return 1; } -void sub_StateChange_Caves_FairyFountainMoleMitts() { +void sub_StateChange_Caves_FairyFountainMoleMitts(void) { } -u32 sub_unk3_Caves_KeeseChestSoutheastHyrule() { +u32 sub_unk3_Caves_KeeseChestSoutheastHyrule(void) { return 1; } -void sub_StateChange_Caves_KeeseChestSoutheastHyrule() { +void sub_StateChange_Caves_KeeseChestSoutheastHyrule(void) { } -u32 sub_unk3_Caves_BottleBusinessScrub() { +u32 sub_unk3_Caves_BottleBusinessScrub(void) { return 1; } -void sub_StateChange_Caves_BottleBusinessScrub() { +void sub_StateChange_Caves_BottleBusinessScrub(void) { } -u32 sub_unk3_Caves_HeartPieceHallway() { +u32 sub_unk3_Caves_HeartPieceHallway(void) { return 1; } -void sub_StateChange_Caves_HeartPieceHallway() { +void sub_StateChange_Caves_HeartPieceHallway(void) { } -u32 sub_unk3_Caves_FairyFountainBoomerang() { +u32 sub_unk3_Caves_FairyFountainBoomerang(void) { return 1; } -void sub_StateChange_Caves_FairyFountainBoomerang() { +void sub_StateChange_Caves_FairyFountainBoomerang(void) { } -u32 sub_unk3_Caves_KinstoneBusinessScrub() { +u32 sub_unk3_Caves_KinstoneBusinessScrub(void) { return 1; } -void sub_StateChange_Caves_KinstoneBusinessScrub() { +void sub_StateChange_Caves_KinstoneBusinessScrub(void) { } -u32 sub_unk3_VeilFalls_Main() { +u32 sub_unk3_VeilFalls_Main(void) { return 1; } @@ -6109,74 +6118,74 @@ void sub_unk1_VeilFalls_Main(void) { } } -u32 sub_unk3_VeilFallsCaves_Hallway2F() { +u32 sub_unk3_VeilFallsCaves_Hallway2F(void) { return 1; } -void sub_StateChange_VeilFallsCaves_Hallway2F() { +void sub_StateChange_VeilFallsCaves_Hallway2F(void) { } -u32 sub_unk3_VeilFallsCaves_Hallway1F() { +u32 sub_unk3_VeilFallsCaves_Hallway1F(void) { return 1; } -void sub_StateChange_VeilFallsCaves_Hallway1F() { +void sub_StateChange_VeilFallsCaves_Hallway1F(void) { } -u32 sub_unk3_VeilFallsCaves_SecretRoom() { +u32 sub_unk3_VeilFallsCaves_SecretRoom(void) { return 1; } -void sub_StateChange_VeilFallsCaves_SecretRoom() { +void sub_StateChange_VeilFallsCaves_SecretRoom(void) { } -u32 sub_unk3_VeilFallsCaves_Entrance() { +u32 sub_unk3_VeilFallsCaves_Entrance(void) { return 1; } -void sub_StateChange_VeilFallsCaves_Entrance() { +void sub_StateChange_VeilFallsCaves_Entrance(void) { } -u32 sub_unk3_VeilFallsCaves_Exit() { +u32 sub_unk3_VeilFallsCaves_Exit(void) { return 1; } -void sub_StateChange_VeilFallsCaves_Exit() { +void sub_StateChange_VeilFallsCaves_Exit(void) { } -u32 sub_unk3_VeilFallsCaves_SecretChest() { +u32 sub_unk3_VeilFallsCaves_SecretChest(void) { return 1; } -void sub_StateChange_VeilFallsCaves_SecretChest() { +void sub_StateChange_VeilFallsCaves_SecretChest(void) { } -u32 sub_unk3_VeilFallsCaves_SecretStaircases() { +u32 sub_unk3_VeilFallsCaves_SecretStaircases(void) { return 1; } -void sub_StateChange_VeilFallsCaves_SecretStaircases() { +void sub_StateChange_VeilFallsCaves_SecretStaircases(void) { } -u32 sub_unk3_VeilFallsCaves_BlockPuzzle() { +u32 sub_unk3_VeilFallsCaves_BlockPuzzle(void) { return 1; } -void sub_StateChange_VeilFallsCaves_BlockPuzzle() { +void sub_StateChange_VeilFallsCaves_BlockPuzzle(void) { } -u32 sub_unk3_VeilFallsCaves_RupeePath() { +u32 sub_unk3_VeilFallsCaves_RupeePath(void) { return 1; } -void sub_StateChange_VeilFallsCaves_RupeePath() { +void sub_StateChange_VeilFallsCaves_RupeePath(void) { } -u32 sub_unk3_VeilFallsCaves_HeartPiece() { +u32 sub_unk3_VeilFallsCaves_HeartPiece(void) { return 1; } -void sub_StateChange_VeilFallsCaves_HeartPiece() { +void sub_StateChange_VeilFallsCaves_HeartPiece(void) { } extern u32 gUnk_080F9BF8; @@ -6188,47 +6197,47 @@ u32 sub_unk3_VeilFallsTop_Main(void) { return 1; } -void sub_StateChange_VeilFallsTop_Main() { +void sub_StateChange_VeilFallsTop_Main(void) { sub_0805B4D0(2); sub_0806D0B0(0); } -u32 sub_unk3_47_0() { +u32 sub_unk3_47_0(void) { return 1; } -void sub_StateChange_47_0() { +void sub_StateChange_47_0(void) { } -u32 sub_unk3_47_1() { +u32 sub_unk3_47_1(void) { return 1; } -void sub_StateChange_47_1() { +void sub_StateChange_47_1(void) { } -u32 sub_unk3_47_2() { +u32 sub_unk3_47_2(void) { return 1; } -void sub_StateChange_47_2() { +void sub_StateChange_47_2(void) { } -u32 sub_unk3_47_3() { +u32 sub_unk3_47_3(void) { return 1; } -void sub_StateChange_47_3() { +void sub_StateChange_47_3(void) { } -u32 sub_unk3_47_4() { +u32 sub_unk3_47_4(void) { return 1; } -void sub_StateChange_47_4() { +void sub_StateChange_47_4(void) { } -u32 sub_unk3_TreeInteriors_WitchHut() { +u32 sub_unk3_TreeInteriors_WitchHut(void) { return 1; } @@ -6244,119 +6253,119 @@ void sub_StateChange_TreeInteriors_WitchHut(void) { } } -u32 sub_0804FCD4() { +u32 sub_0804FCD4(void) { return 1; } -void nullsub_434() { +void nullsub_434(void) { } -u32 sub_0804FCDC() { +u32 sub_0804FCDC(void) { return 1; } -void nullsub_435() { +void nullsub_435(void) { } -u32 sub_0804FCE4() { +u32 sub_0804FCE4(void) { return 1; } -void nullsub_436() { +void nullsub_436(void) { } -u32 sub_0804FCEC() { +u32 sub_0804FCEC(void) { return 1; } -void nullsub_437() { +void nullsub_437(void) { } -u32 sub_0804FCF4() { +u32 sub_0804FCF4(void) { return 1; } -void nullsub_438() { +void nullsub_438(void) { } -u32 sub_0804FCFC() { +u32 sub_0804FCFC(void) { return 1; } -void nullsub_439() { +void nullsub_439(void) { } -u32 sub_0804FD04() { +u32 sub_0804FD04(void) { return 1; } -void nullsub_440() { +void nullsub_440(void) { } -u32 sub_0804FD0C() { +u32 sub_0804FD0C(void) { return 1; } -void nullsub_441() { +void nullsub_441(void) { } -u32 sub_0804FD14() { +u32 sub_0804FD14(void) { return 1; } -void nullsub_442() { +void nullsub_442(void) { } -u32 sub_0804FD1C() { +u32 sub_0804FD1C(void) { return 1; } -void nullsub_443() { +void nullsub_443(void) { } -u32 sub_0804FD24() { +u32 sub_0804FD24(void) { return 1; } -void nullsub_444() { +void nullsub_444(void) { } -u32 sub_0804FD2C() { +u32 sub_0804FD2C(void) { return 1; } -void nullsub_445() { +void nullsub_445(void) { } -u32 sub_0804FD34() { +u32 sub_0804FD34(void) { return 1; } -void nullsub_446() { +void nullsub_446(void) { } -u32 sub_0804FD3C() { +u32 sub_0804FD3C(void) { return 1; } -void nullsub_447() { +void nullsub_447(void) { } -u32 sub_0804FD44() { +u32 sub_0804FD44(void) { return 1; } -void nullsub_448() { +void nullsub_448(void) { } -u32 sub_unk3_TreeInteriors_StairsToCarlov() { +u32 sub_unk3_TreeInteriors_StairsToCarlov(void) { return 1; } -void sub_StateChange_TreeInteriors_StairsToCarlov() { +void sub_StateChange_TreeInteriors_StairsToCarlov(void) { } -u32 sub_unk3_TreeInteriors_PercysTreehouse() { +u32 sub_unk3_TreeInteriors_PercysTreehouse(void) { return 1; } @@ -6368,101 +6377,101 @@ void sub_StateChange_TreeInteriors_PercysTreehouse(void) { } } -u32 sub_unk3_TreeInteriors_HeartPiece() { +u32 sub_unk3_TreeInteriors_HeartPiece(void) { return 1; } -void sub_StateChange_TreeInteriors_HeartPiece() { +void sub_StateChange_TreeInteriors_HeartPiece(void) { } -u32 sub_unk3_TreeInteriors_StairsToBladeBrother() { +u32 sub_unk3_TreeInteriors_StairsToBladeBrother(void) { return 1; } -void sub_StateChange_TreeInteriors_StairsToBladeBrother() { +void sub_StateChange_TreeInteriors_StairsToBladeBrother(void) { } -u32 sub_unk3_TreeInteriors_14() { +u32 sub_unk3_TreeInteriors_14(void) { return 1; } -void sub_StateChange_TreeInteriors_14() { +void sub_StateChange_TreeInteriors_14(void) { } -u32 sub_unk3_TreeInteriors_BoomerangNorthwest() { +u32 sub_unk3_TreeInteriors_BoomerangNorthwest(void) { return 1; } -void sub_StateChange_TreeInteriors_BoomerangNorthwest() { +void sub_StateChange_TreeInteriors_BoomerangNorthwest(void) { } -u32 sub_unk3_TreeInteriors_BoomerangNortheast() { +u32 sub_unk3_TreeInteriors_BoomerangNortheast(void) { return 1; } -void sub_StateChange_TreeInteriors_BoomerangNortheast() { +void sub_StateChange_TreeInteriors_BoomerangNortheast(void) { } -u32 sub_unk3_TreeInteriors_BoomerangSouthwest() { +u32 sub_unk3_TreeInteriors_BoomerangSouthwest(void) { return 1; } -void sub_StateChange_TreeInteriors_BoomerangSouthwest() { +void sub_StateChange_TreeInteriors_BoomerangSouthwest(void) { } -u32 sub_unk3_TreeInteriors_BoomerangSoutheast() { +u32 sub_unk3_TreeInteriors_BoomerangSoutheast(void) { return 1; } -void sub_StateChange_TreeInteriors_BoomerangSoutheast() { +void sub_StateChange_TreeInteriors_BoomerangSoutheast(void) { } -u32 sub_unk3_TreeInteriors_HeartPieceSouthwestField() { +u32 sub_unk3_TreeInteriors_HeartPieceSouthwestField(void) { return 1; } -void sub_StateChange_TreeInteriors_HeartPieceSouthwestField() { +void sub_StateChange_TreeInteriors_HeartPieceSouthwestField(void) { } -u32 sub_unk3_TreeInteriors_StairsToFairyFountain() { +u32 sub_unk3_TreeInteriors_StairsToFairyFountain(void) { return 1; } -void sub_StateChange_TreeInteriors_StairsToFairyFountain() { +void sub_StateChange_TreeInteriors_StairsToFairyFountain(void) { } -u32 sub_unk3_TreeInteriors_StairsToWalletFairy() { +u32 sub_unk3_TreeInteriors_StairsToWalletFairy(void) { return 1; } -void sub_StateChange_TreeInteriors_StairsToWalletFairy() { +void sub_StateChange_TreeInteriors_StairsToWalletFairy(void) { } -u32 sub_unk3_TreeInteriors_1C() { +u32 sub_unk3_TreeInteriors_1C(void) { return 1; } -void sub_StateChange_TreeInteriors_1C() { +void sub_StateChange_TreeInteriors_1C(void) { } -u32 sub_unk3_TreeInteriors_StairsToBusinessScrub() { +u32 sub_unk3_TreeInteriors_StairsToBusinessScrub(void) { return 1; } -void sub_StateChange_TreeInteriors_StairsToBusinessScrub() { +void sub_StateChange_TreeInteriors_StairsToBusinessScrub(void) { } -u32 sub_unk3_TreeInteriors_1E() { +u32 sub_unk3_TreeInteriors_1E(void) { return 1; } -void sub_StateChange_TreeInteriors_1E() { +void sub_StateChange_TreeInteriors_1E(void) { } -u32 sub_unk3_TreeInteriors_1F() { +u32 sub_unk3_TreeInteriors_1F(void) { return 1; } -void sub_StateChange_TreeInteriors_1F() { +void sub_StateChange_TreeInteriors_1F(void) { } extern u32 gUnk_080FAD48; @@ -6487,18 +6496,18 @@ void sub_StateChange_MtCrenel_MountainTop(void) { sub_08059994(); } -void sub_unk1_MtCrenel_MountainTop() { +void sub_unk1_MtCrenel_MountainTop(void) { sub_0805B4D0(0); } -u32 sub_unk3_MtCrenel_WallClimb() { +u32 sub_unk3_MtCrenel_WallClimb(void) { return 1; } -void sub_StateChange_MtCrenel_WallClimb() { +void sub_StateChange_MtCrenel_WallClimb(void) { } -u32 sub_unk3_MtCrenel_CaveOfFlamesEntrance() { +u32 sub_unk3_MtCrenel_CaveOfFlamesEntrance(void) { return 1; } @@ -6524,14 +6533,14 @@ void sub_unk1_MtCrenel_CaveOfFlamesEntrance(void) { } } -u32 sub_unk3_MtCrenel_GustJarShortcut() { +u32 sub_unk3_MtCrenel_GustJarShortcut(void) { return 1; } -void sub_StateChange_MtCrenel_GustJarShortcut() { +void sub_StateChange_MtCrenel_GustJarShortcut(void) { } -u32 sub_unk3_MtCrenel_Entrance() { +u32 sub_unk3_MtCrenel_Entrance(void) { return 1; } @@ -6541,105 +6550,105 @@ void sub_StateChange_MtCrenel_Entrance(void) { #endif } -u32 sub_unk3_CrenelCaves_BlockPushing() { +u32 sub_unk3_CrenelCaves_BlockPushing(void) { return 1; } -void sub_StateChange_CrenelCaves_BlockPushing() { +void sub_StateChange_CrenelCaves_BlockPushing(void) { } -u32 sub_unk3_CrenelCaves_PillarCave() { +u32 sub_unk3_CrenelCaves_PillarCave(void) { return 1; } -void sub_StateChange_CrenelCaves_PillarCave() { +void sub_StateChange_CrenelCaves_PillarCave(void) { } -u32 sub_unk3_CrenelCaves_BridgeSwitch() { +u32 sub_unk3_CrenelCaves_BridgeSwitch(void) { return 1; } -void sub_StateChange_CrenelCaves_BridgeSwitch() { +void sub_StateChange_CrenelCaves_BridgeSwitch(void) { } -u32 sub_unk3_CrenelCaves_ExitToMines() { +u32 sub_unk3_CrenelCaves_ExitToMines(void) { return 1; } -void sub_StateChange_CrenelCaves_ExitToMines() { +void sub_StateChange_CrenelCaves_ExitToMines(void) { } -u32 sub_unk3_CrenelCaves_GripRing() { +u32 sub_unk3_CrenelCaves_GripRing(void) { return 1; } -void sub_StateChange_CrenelCaves_GripRing() { +void sub_StateChange_CrenelCaves_GripRing(void) { } -u32 sub_unk3_CrenelCaves_FairyFountain() { +u32 sub_unk3_CrenelCaves_FairyFountain(void) { return 1; } -void sub_StateChange_CrenelCaves_FairyFountain() { +void sub_StateChange_CrenelCaves_FairyFountain(void) { } -u32 sub_unk3_CrenelCaves_SpinyChuPuzzle() { +u32 sub_unk3_CrenelCaves_SpinyChuPuzzle(void) { return 1; } -void sub_StateChange_CrenelCaves_SpinyChuPuzzle() { +void sub_StateChange_CrenelCaves_SpinyChuPuzzle(void) { } -u32 sub_unk3_CrenelCaves_ChuchuPotChest() { +u32 sub_unk3_CrenelCaves_ChuchuPotChest(void) { return 1; } -void sub_StateChange_CrenelCaves_ChuchuPotChest() { +void sub_StateChange_CrenelCaves_ChuchuPotChest(void) { } -u32 sub_unk3_CrenelCaves_WaterHeartPiece() { +u32 sub_unk3_CrenelCaves_WaterHeartPiece(void) { return 1; } -void sub_StateChange_CrenelCaves_WaterHeartPiece() { +void sub_StateChange_CrenelCaves_WaterHeartPiece(void) { } -u32 sub_unk3_CrenelCaves_RupeeFairyFountain() { +u32 sub_unk3_CrenelCaves_RupeeFairyFountain(void) { return 1; } -void sub_StateChange_CrenelCaves_RupeeFairyFountain() { +void sub_StateChange_CrenelCaves_RupeeFairyFountain(void) { } -u32 sub_unk3_CrenelCaves_HelmasaurHallway() { +u32 sub_unk3_CrenelCaves_HelmasaurHallway(void) { return 1; } -void sub_StateChange_CrenelCaves_HelmasaurHallway() { +void sub_StateChange_CrenelCaves_HelmasaurHallway(void) { } -u32 sub_unk3_CrenelCaves_MushroomKeese() { +u32 sub_unk3_CrenelCaves_MushroomKeese(void) { return 1; } -void sub_StateChange_CrenelCaves_MushroomKeese() { +void sub_StateChange_CrenelCaves_MushroomKeese(void) { } -u32 sub_unk3_CrenelCaves_LadderToGreenWater() { +u32 sub_unk3_CrenelCaves_LadderToGreenWater(void) { return 1; } -void sub_StateChange_CrenelCaves_LadderToGreenWater() { +void sub_StateChange_CrenelCaves_LadderToGreenWater(void) { } -u32 sub_unk3_CrenelCaves_BombBusinessScrub() { +u32 sub_unk3_CrenelCaves_BombBusinessScrub(void) { return 1; } -void sub_StateChange_CrenelCaves_BombBusinessScrub() { +void sub_StateChange_CrenelCaves_BombBusinessScrub(void) { } -u32 sub_unk3_CrenelCaves_Hermit() { +u32 sub_unk3_CrenelCaves_Hermit(void) { return 1; } @@ -6649,16 +6658,16 @@ void sub_StateChange_CrenelCaves_Hermit(void) { } } -u32 sub_unk3_CrenelCaves_HintScrub() { +u32 sub_unk3_CrenelCaves_HintScrub(void) { return 1; } -void sub_StateChange_CrenelCaves_HintScrub() { +void sub_StateChange_CrenelCaves_HintScrub(void) { } -u32 sub_unk3_CrenelCaves_ToGrayblade() { +u32 sub_unk3_CrenelCaves_ToGrayblade(void) { return 1; } -void sub_StateChange_CrenelCaves_ToGrayblade() { +void sub_StateChange_CrenelCaves_ToGrayblade(void) { } diff --git a/src/save.c b/src/save.c index 12676418..90964d18 100644 --- a/src/save.c +++ b/src/save.c @@ -5,6 +5,7 @@ #include "main.h" #include "functions.h" #include "game.h" +#include "fileselect.h" typedef struct SaveFileStatus { u16 checksum1; @@ -90,7 +91,7 @@ const SaveFileEEPROMAddresses gSaveFileEEPROMAddresses[] = { { 0x500, 0x30, 0x10 { 0x20, 0x60, 0x1060, 0xf80, 0x1f80 }, { 0x8, 0xfa0, 0x1fa0, 0xfa0, 0x1fa0 } }; #endif -void sub_0807CD9C() { +void sub_0807CD9C(void) { UpdateGlobalProgress(); } diff --git a/src/sound.c b/src/sound.c index aa12853b..342ae9c6 100644 --- a/src/sound.c +++ b/src/sound.c @@ -223,7 +223,7 @@ static void PlayFadeOut(u32 sound) { doPlaySound(sound); } -static void InitVolume() { +static void InitVolume(void) { gSoundPlayingInfo.volumeMasterUnk = 0x100; gSoundPlayingInfo.volumeMaster = 0x100; gSoundPlayingInfo.volumeMasterTarget = 0x100; diff --git a/src/sub_08055E08.c b/src/sub_08055E08.c index e5f0d095..3070b26f 100644 --- a/src/sub_08055E08.c +++ b/src/sub_08055E08.c @@ -4,7 +4,7 @@ #include "functions.h" #include "screen.h" -extern void (*const gUnk_080FF420[])(); +extern void (*const gUnk_080FF420[])(void); extern void sub_0804B0B0(u32, u32); extern void sub_08055B70(u32, u32, u32, u32); diff --git a/src/sub_0807CA18.c b/src/sub_0807CA18.c index 223dae66..d8e9db7a 100644 --- a/src/sub_0807CA18.c +++ b/src/sub_0807CA18.c @@ -2,8 +2,6 @@ #include "save.h" #include "common.h" -extern void sub_0807C960(); - extern u16 gMetatilesBottom[]; extern u16 gMetatilesTop[]; extern u8 gMapData; @@ -41,7 +39,7 @@ void sub_0807C9D8(u32* a1) { LoadPalettes(gUnk_020176E0, 2, 13); } -u32 FinalizeSave() { +u32 FinalizeSave(void) { if (gSave.invalid || gSave.initialized != 1) { gSave.invalid = 0; gSave.initialized = 1; diff --git a/src/subtask.c b/src/subtask.c index f95bedcf..4b7352ef 100644 --- a/src/subtask.c +++ b/src/subtask.c @@ -2,8 +2,10 @@ #include "functions.h" #include "menu.h" #include "screen.h" +#include "common.h" +#include "subtask.h" -extern void (*const gUnk_081280C4[])(); +extern void (*const gUnk_081280C4[])(void); void Subtask_KinstoneMenu(void) { #if !(defined(DEMO_USA) || defined(DEMO_JP)) diff --git a/src/text.c b/src/text.c index 8aadf79d..01f8ab2e 100644 --- a/src/text.c +++ b/src/text.c @@ -3,6 +3,7 @@ #include "structures.h" #include "functions.h" #include "asm.h" +#include "enemy.h" extern u16 gUnk_081092D4; extern u8 gUnk_081094CE; diff --git a/src/title.c b/src/title.c index 2afc8d28..2b134d60 100644 --- a/src/title.c +++ b/src/title.c @@ -60,7 +60,7 @@ static const u16 sLightRaysAlphaBlends[] = { #ifdef DEMO_JP static const SaveFile gDemoSave = { - .unk_01 = 1, + .initialized = 1, .msg_speed = 1, .brightness = 1, .global_progress = 1,