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 } }