diff --git a/.gitignore b/.gitignore index babe0b21..d1b99ebd 100644 --- a/.gitignore +++ b/.gitignore @@ -62,3 +62,4 @@ types_*.taghl !sound/programmable_wave_samples/*.pcm _Deparsed_XSubs.pm *.py +*.sna \ No newline at end of file diff --git a/asm/armos.s b/asm/armos.s index f8c539ab..faa79196 100644 --- a/asm/armos.s +++ b/asm/armos.s @@ -1014,7 +1014,7 @@ _0803088E: strb r0, [r2] ldr r0, [r5, #0x7c] bl DoExitTransition - ldr r0, _08030938 @ =gUnk_030010A0 + ldr r0, _08030938 @ =gScreenTransition adds r1, r5, #0 adds r1, #0x80 ldrb r1, [r1] @@ -1027,7 +1027,7 @@ _08030928: .4byte gLinkState _0803092C: .4byte gRoomControls _08030930: .4byte 0x00004049 _08030934: .4byte gLinkEntity -_08030938: .4byte gUnk_030010A0 +_08030938: .4byte gScreenTransition _0803093C: ldr r0, _0803094C @ =0x00004022 mov r3, r8 diff --git a/asm/bigBarrel.s b/asm/bigBarrel.s index caa4d348..8613c9ae 100644 --- a/asm/bigBarrel.s +++ b/asm/bigBarrel.s @@ -586,7 +586,7 @@ _08088E94: .align 2, 0 _08088EB0: .4byte gRoomVars _08088EB4: - ldr r0, _08088F18 @ =gUnk_030010A0 + ldr r0, _08088F18 @ =gScreenTransition ldr r0, [r0] movs r1, #7 ands r0, r1 @@ -635,7 +635,7 @@ _08088EB4: _08088F14: pop {r4, pc} .align 2, 0 -_08088F18: .4byte gUnk_030010A0 +_08088F18: .4byte gScreenTransition _08088F1C: .4byte gUnk_08120C52 thumb_func_start sub_08088F20 diff --git a/asm/bigGoron.s b/asm/bigGoron.s index e170d36e..1b89658f 100644 --- a/asm/bigGoron.s +++ b/asm/bigGoron.s @@ -570,7 +570,7 @@ _0806D45E: adds r0, r4, #0 bl sub_0807DDE4 _0806D46C: - ldr r0, _0806D4A8 @ =gUnk_030010A0 + ldr r0, _0806D4A8 @ =gScreenTransition ldr r0, [r0] movs r1, #1 ands r0, r1 @@ -599,7 +599,7 @@ _0806D46C: strb r0, [r2] b _0806D4BE .align 2, 0 -_0806D4A8: .4byte gUnk_030010A0 +_0806D4A8: .4byte gScreenTransition _0806D4AC: adds r1, r4, #0 adds r1, #0x63 diff --git a/asm/bossDoor.s b/asm/bossDoor.s index b32e5517..11ecdf34 100644 --- a/asm/bossDoor.s +++ b/asm/bossDoor.s @@ -196,7 +196,7 @@ sub_0808C348: @ 0x0808C348 ands r0, r1 cmp r0, #0 bne _0808C37C - ldr r0, _0808C374 @ =gUnk_030010A0 + ldr r0, _0808C374 @ =gScreenTransition ldr r0, [r0] movs r1, #3 ands r0, r1 @@ -209,7 +209,7 @@ _0808C36A: bl GetNextFrame b _0808C382 .align 2, 0 -_0808C374: .4byte gUnk_030010A0 +_0808C374: .4byte gScreenTransition _0808C378: .4byte 0x00000185 _0808C37C: adds r0, r4, #0 diff --git a/asm/castorWildsStatue.s b/asm/castorWildsStatue.s index a1e005b6..cb22f84d 100644 --- a/asm/castorWildsStatue.s +++ b/asm/castorWildsStatue.s @@ -45,7 +45,7 @@ _080673BC: .4byte gUnk_08110E4C sub_080673C0: @ 0x080673C0 push {lr} adds r2, r0, #0 - ldr r0, _080673D4 @ =gUnk_030010A0 + ldr r0, _080673D4 @ =gScreenTransition adds r0, #0x2c ldrb r0, [r0] cmp r0, #0 @@ -53,7 +53,7 @@ sub_080673C0: @ 0x080673C0 movs r0, #3 b _080673DA .align 2, 0 -_080673D4: .4byte gUnk_030010A0 +_080673D4: .4byte gScreenTransition _080673D8: movs r0, #1 _080673DA: diff --git a/asm/chuchuBoss.s b/asm/chuchuBoss.s index f9542429..8544335a 100644 --- a/asm/chuchuBoss.s +++ b/asm/chuchuBoss.s @@ -1366,7 +1366,7 @@ _080266B0: strh r0, [r4, #0x24] b _08026742 _080266D6: - ldr r0, _08026700 @ =gUnk_030010A0 + ldr r0, _08026700 @ =gScreenTransition ldr r0, [r0] movs r1, #0x7f ands r0, r1 @@ -1387,7 +1387,7 @@ _080266EC: lsls r0, r0, #1 b _0802670A .align 2, 0 -_08026700: .4byte gUnk_030010A0 +_08026700: .4byte gScreenTransition _08026704: .4byte gLinkEntity _08026708: movs r0, #0xc0 @@ -1396,7 +1396,7 @@ _0802670A: ldrb r0, [r4, #0xe] cmp r0, #0 beq _0802672C - ldr r0, _0802674C @ =gUnk_030010A0 + ldr r0, _0802674C @ =gScreenTransition ldr r0, [r0] movs r1, #7 ands r0, r1 @@ -1427,7 +1427,7 @@ _08026748: add sp, #4 pop {r4, r5, pc} .align 2, 0 -_0802674C: .4byte gUnk_030010A0 +_0802674C: .4byte gScreenTransition thumb_func_start sub_08026750 sub_08026750: @ 0x08026750 @@ -2643,7 +2643,7 @@ sub_08027064: @ 0x08027064 ldrb r0, [r0] cmp r0, #0xa beq _08027098 - ldr r0, _080270C8 @ =gUnk_030010A0 + ldr r0, _080270C8 @ =gScreenTransition ldr r0, [r0] movs r1, #0xf ands r0, r1 @@ -2666,7 +2666,7 @@ _08027098: ldrsh r2, [r0, r1] cmp r4, r2 beq _080270E0 - ldr r0, _080270C8 @ =gUnk_030010A0 + ldr r0, _080270C8 @ =gScreenTransition ldr r1, [r0] movs r0, #0xf ands r1, r0 @@ -2677,7 +2677,7 @@ _08027098: strb r1, [r3, #0xc] b _080270D4 .align 2, 0 -_080270C8: .4byte gUnk_030010A0 +_080270C8: .4byte gScreenTransition _080270CC: .4byte gLinkEntity _080270D0: movs r0, #0x10 diff --git a/asm/code_08000108.s b/asm/code_08000108.s index cf176c84..2e6cc668 100644 --- a/asm/code_08000108.s +++ b/asm/code_08000108.s @@ -167,140 +167,240 @@ gUnk_08000278:: .4byte gUnk_02016654 .4byte gUnk_02030EB4 +@ call 0x80B19CC +@ ======== +@ Unused? Doesn't seem to be called by anything in Ghidra. thumb_func_start sub_08000288 sub_08000288: @ 0x08000288 ldr r3, _080002F4 @ =gUnk_03005740 bx r3 +@ call 0x80B19D8 +@ ======== +@ Unused? Doesn't seem to be called by anything in Ghidra. thumb_func_start sub_0800028C sub_0800028C: @ 0x0800028C ldr r3, _080002F8 @ =gUnk_0300574C bx r3 +@ call 0x80B19EC +@ ======== +@ Unused? Doesn't seem to be called by anything in Ghidra. thumb_func_start sub_08000290 sub_08000290: @ 0x08000290 ldr r3, _080002FC @ =gUnk_03005760 bx r3 +@ call 0x80B19FC +@ ======== +@ Unused? Doesn't seem to be called by anything in Ghidra. thumb_func_start sub_08000294 sub_08000294: @ 0x08000294 ldr r3, _08000300 @ =gUnk_03005770 bx r3 +@ call 0x80B1A04 +@ ======== +@ Unused? Doesn't seem to be called by anything in Ghidra. thumb_func_start sub_08000298 sub_08000298: @ 0x08000298 ldr r3, _08000304 @ =gUnk_03005778 bx r3 +@ call 0x80B1A0C +@ r0: entity* +@ r1: s32 +@ r2: s32 thumb_func_start sub_0800029C sub_0800029C: @ 0x0800029C ldr r3, _08000308 @ =gUnk_03005780 bx r3 +@ call 0x080B1A28 +@ r0: entity +@ return: u32 (tileType) thumb_func_start GetTileTypeByEntity GetTileTypeByEntity: @ 0x080002A0 ldr r3, _0800030C @ =gUnk_0300579C bx r3 +@ call 0x080B1A34 +@ r0: s32 (xPos) +@ r1: s32 (yPos) +@ r2: u32 (layer) +@ return: u32 (tileType) thumb_func_start GetTileTypeByPos GetTileTypeByPos: @ 0x080002A4 ldr r3, _08000310 @ =gUnk_030057A8 bx r3 +@ call 0x080B1A48 +@ r0: s32 (xPos) +@ r1: s32 (yPos) +@ r2: u32 (layer) thumb_func_start sub_080002A8 sub_080002A8: @ 0x080002A8 ldr r3, _08000314 @ =gUnk_030057BC bx r3 +@ call 0x080B1A58 +@ r0: s32 (xPos) +@ r1: s32 (yPos) +@ r2: u32 (layer) thumb_func_start sub_080002AC sub_080002AC: @ 0x080002AC ldr r3, _08000318 @ =gUnk_030057CC bx r3 +@ call 0x080B1A60 +@ r0: u32 (tileIndex) +@ r1: u32 (layer) +@ return: u32 (tileType) thumb_func_start GetTileType GetTileType: @ 0x080002B0 ldr r3, _0800031C @ =gUnk_030057D4 bx r3 +@ call 0x080B1A8C +@ r0: Entity* +@ r1: u32 +@ r2: u32 thumb_func_start sub_080002B4 sub_080002B4: @ 0x080002B4 ldr r3, _08000320 @ =gUnk_03005800 bx r3 +@ call 0x080B1AA8 +@ r0: +@ r1: +@ r2: +@ return: +@ ======== +@ Called every frame a pot is thrown, every frame the screen is sliding in a transition, and once when entering stairs. thumb_func_start sub_080002B8 sub_080002B8: @ 0x080002B8 ldr r3, _08000324 @ =gUnk_0300581C bx r3 +@ call 0x080B1AB4 +@ r0: s32 (xPos) +@ r1: s32 (yPos) +@ r2: u32 (layer) thumb_func_start sub_080002BC sub_080002BC: @ 0x080002BC ldr r3, _08000328 @ =gUnk_03005828 bx r3 +@ call 0x080B1AC8 +@ r0: u32 +@ r1: u32 +@ r2: u32 +@ return: ??? thumb_func_start sub_080002C0 sub_080002C0: @ 0x080002C0 ldr r3, _0800032C @ =gUnk_0300583C bx r3 +@ call 0x080B1AD8 +@ r0: Entity* +@ r1: s32 (xOffset) +@ r2: s32 (yOffset) +@ ======== +@ Unused? Doesn't seem to be called by anything in Ghidra. thumb_func_start sub_080002C4 sub_080002C4: @ 0x080002C4 ldr r3, _08000330 @ =gUnk_0300584C bx r3 +@ call 0x080B1AE0 +@ r0: u32 (tileIndex) +@ r1: u32 (layer) thumb_func_start sub_080002C8 sub_080002C8: @ 0x080002C8 ldr r3, _08000334 @ =gUnk_03005854 bx r3 +@ call 0x080B1AF0 +@ r0: Entity* +@ r1: ??? +@ r2: ??? thumb_func_start sub_080002CC sub_080002CC: @ 0x080002CC ldr r3, _08000338 @ =gUnk_03005864 bx r3 +@ call 0x080B1B0C +@ r0: Entity* thumb_func_start sub_080002D0 sub_080002D0: @ 0x080002D0 ldr r3, _0800033C @ =gUnk_03005880 bx r3 +@ call 0x080B1B18 +@ r0: s32 (xPos) +@ r1: s32 (yPos) +@ r2: u32 (layer) thumb_func_start sub_080002D4 sub_080002D4: @ 0x080002D4 ldr r3, _08000340 @ =gUnk_0300588C bx r3 +@ call 0x080B1B2C +@ ======== +@ Unused? Doesn't seem to be called by anything in Ghidra. thumb_func_start sub_080002D8 sub_080002D8: @ 0x080002D8 ldr r3, _08000344 @ =gUnk_030058A0 bx r3 +@ call 0x080B1B3C +@ ======== +@ Unused? Doesn't seem to be called by anything in Ghidra. thumb_func_start sub_080002DC sub_080002DC: @ 0x080002DC ldr r3, _08000348 @ =gUnk_030058B0 bx r3 +@ call 0x080B1B44 +@ ======== +@ Unused? Doesn't seem to be called by anything in Ghidra. thumb_func_start sub_080002E0 sub_080002E0: @ 0x080002E0 ldr r3, _0800034C @ =gUnk_030058B8 bx r3 +@ call 0x080B1B54 +@ r0: u32 (tileIndex) thumb_func_start sub_080002E4 sub_080002E4: @ 0x080002E4 ldr r3, _08000350 @ =gUnk_030058C8 bx r3 +@ call 0x080B1B68 +@ ======== +@ Unused? Doesn't seem to be called by anything in Ghidra. thumb_func_start sub_080002E8 sub_080002E8: @ 0x080002E8 ldr r3, _08000354 @ =gUnk_030058DC bx r3 +@ call 0x080B1B84 +@ r0: u32 (tileIndex) +@ r1: u32 (layer) thumb_func_start sub_080002EC sub_080002EC: @ 0x080002EC ldr r3, _08000358 @ =gUnk_030058F8 bx r3 +@ call 0x080B1BA4 +@ r0: u32 (tileIndex) +@ r1: u32 (layer) +@ r2: ??? thumb_func_start sub_080002F0 sub_080002F0: @ 0x080002F0 ldr r3, _0800035C @ =gUnk_03005918 bx r3 + _080002F4: .4byte gUnk_03005740 _080002F8: .4byte gUnk_0300574C _080002FC: .4byte gUnk_03005760 diff --git a/asm/code_08016B30.s b/asm/code_08016B30.s index d1e25baf..147aa712 100644 --- a/asm/code_08016B30.s +++ b/asm/code_08016B30.s @@ -53,7 +53,7 @@ sub_08016B6C: @ 0x08016B6C ldrb r0, [r5] cmp r0, #0 bne _08016BA6 - bl sub_08016CF4 + bl UpdateBackgroundRegisters ldr r0, _08016BCC @ =gUnk_03000FBC str r0, [r4] ldr r0, _08016BD0 @ =gUnk_02022730 diff --git a/asm/code_08016DF8.s b/asm/code_08016DF8.s index d630fab9..ed16796d 100644 --- a/asm/code_08016DF8.s +++ b/asm/code_08016DF8.s @@ -391,7 +391,7 @@ _080170E8: ldrb r0, [r0, #1] cmp r0, #0 bne _08017112 - ldr r0, _08017134 @ =gUnk_030010A0 + ldr r0, _08017134 @ =gScreenTransition ldr r0, [r0] movs r1, #0x5a bl __modsi3 @@ -414,7 +414,7 @@ _08017124: .4byte gTextBox _08017128: .4byte gRoomVars _0801712C: .4byte gUnk_02002A40 _08017130: .4byte gUnk_0200AF00 -_08017134: .4byte gUnk_030010A0 +_08017134: .4byte gScreenTransition _08017138: .4byte 0x0000011F _0801713C: adds r1, r0, #0 diff --git a/asm/code_08018500.s b/asm/code_08018500.s index 79dad55e..c7bd93ff 100644 --- a/asm/code_08018500.s +++ b/asm/code_08018500.s @@ -167,7 +167,7 @@ sub_0801862C: @ 0x0801862C movs r2, #0 movs r0, #0x16 strb r0, [r1, #0xc] - ldr r5, _08018650 @ =gUnk_030010A0 + ldr r5, _08018650 @ =gScreenTransition adds r0, r5, #0 adds r0, #0x35 strb r2, [r0] @@ -180,7 +180,7 @@ sub_0801862C: @ 0x0801862C b _0801868C .align 2, 0 _0801864C: .4byte gLinkState -_08018650: .4byte gUnk_030010A0 +_08018650: .4byte gScreenTransition _08018654: .4byte gUnk_02033AB8 _08018658: ldrb r0, [r4, #2] diff --git a/asm/code_08019444.s b/asm/code_08019444.s index 86d0a0d8..16eb23b0 100644 --- a/asm/code_08019444.s +++ b/asm/code_08019444.s @@ -3451,7 +3451,7 @@ sub_0801AE44: @ 0x0801AE44 _0801AE5A: bl sub_080809D4 bl sub_080805F8 - ldr r0, _0801AEE4 @ =gUnk_030010A0 + ldr r0, _0801AEE4 @ =gScreenTransition adds r0, #0x2d ldrb r0, [r0] cmp r0, #0 @@ -3513,7 +3513,7 @@ _0801AED0: b _0801AF10 .align 2, 0 _0801AEE0: .4byte gRoomControls -_0801AEE4: .4byte gUnk_030010A0 +_0801AEE4: .4byte gScreenTransition _0801AEE8: .4byte gArea _0801AEEC: .4byte 0x0600F000 _0801AEF0: .4byte gUnk_03004030 @@ -3567,7 +3567,7 @@ sub_0801AF48: @ 0x0801AF48 ldr r0, _0801AF7C @ =0x00003FFF cmp r4, r0 bhi _0801AF7A - ldr r0, _0801AF80 @ =gUnk_030010A0 + ldr r0, _0801AF80 @ =gScreenTransition adds r0, #0x30 ldrb r0, [r0] cmp r0, #0 @@ -3589,7 +3589,7 @@ _0801AF7A: pop {r4, r5, r6, pc} .align 2, 0 _0801AF7C: .4byte 0x00003FFF -_0801AF80: .4byte gUnk_030010A0 +_0801AF80: .4byte gScreenTransition _0801AF84: .4byte gRoomVars _0801AF88: .4byte gUnk_0200B240 diff --git a/asm/code_0801C85C.s b/asm/code_0801C85C.s index 598c3b14..61848c56 100644 --- a/asm/code_0801C85C.s +++ b/asm/code_0801C85C.s @@ -1039,7 +1039,7 @@ _0801CFFC: .4byte 0x0000FFFF sub_0801D000: @ 0x0801D000 push {lr} adds r2, r0, #0 - ldr r0, _0801D024 @ =gUnk_030010A0 + ldr r0, _0801D024 @ =gScreenTransition movs r1, #0 cmp r2, #0 beq _0801D00E @@ -1054,7 +1054,7 @@ _0801D00E: bl sub_0801CFD0 b _0801D03A .align 2, 0 -_0801D024: .4byte gUnk_030010A0 +_0801D024: .4byte gScreenTransition _0801D028: ldr r3, _0801D03C @ =gUnk_02001A3C ldrb r1, [r3] diff --git a/asm/code_0801D79C.s b/asm/code_0801D79C.s index 6fdf451e..3bd3bf75 100644 --- a/asm/code_0801D79C.s +++ b/asm/code_0801D79C.s @@ -542,12 +542,12 @@ _0801DB90: .4byte 0x0000FFFF thumb_func_start sub_0801DB94 sub_0801DB94: @ 0x0801DB94 - ldr r0, _0801DB9C @ =gUnk_030010A0 + ldr r0, _0801DB9C @ =gScreenTransition ldrh r0, [r0, #0x1e] lsrs r0, r0, #0xb bx lr .align 2, 0 -_0801DB9C: .4byte gUnk_030010A0 +_0801DB9C: .4byte gScreenTransition thumb_func_start sub_0801DBA0 sub_0801DBA0: @ 0x0801DBA0 @@ -563,7 +563,7 @@ sub_0801DBA0: @ 0x0801DBA0 bl _DmaZero movs r0, #1 strb r0, [r5] - ldr r2, _0801DBE4 @ =gUnk_030010A0 + ldr r2, _0801DBE4 @ =gScreenTransition ldrh r0, [r2, #0x1c] lsrs r0, r0, #4 movs r1, #0x7f @@ -585,7 +585,7 @@ sub_0801DBA0: @ 0x0801DBA0 ldr r6, [r4] b _0801DD3A .align 2, 0 -_0801DBE4: .4byte gUnk_030010A0 +_0801DBE4: .4byte gScreenTransition _0801DBE8: .4byte gUnk_080C9C50 _0801DBEC: .4byte gArea _0801DBF0: @@ -736,7 +736,7 @@ _0801DCF8: strb r0, [r5, #2] adds r5, #3 _0801DD16: - ldr r2, _0801DD54 @ =gUnk_030010A0 + ldr r2, _0801DD54 @ =gScreenTransition ldrh r0, [r6] ldrh r1, [r2, #0x16] cmp r0, r1 @@ -769,7 +769,7 @@ _0801DD42: .align 2, 0 _0801DD4C: .4byte gArea _0801DD50: .4byte gUnk_0811E214 -_0801DD54: .4byte gUnk_030010A0 +_0801DD54: .4byte gScreenTransition thumb_func_start sub_0801DD58 sub_0801DD58: @ 0x0801DD58 diff --git a/asm/code_08049CD4.s b/asm/code_08049CD4.s index d415811d..18f22491 100644 --- a/asm/code_08049CD4.s +++ b/asm/code_08049CD4.s @@ -1567,7 +1567,7 @@ _0804A81C: ldrb r0, [r5, #9] cmp r0, #0x37 bne _0804A84A - ldr r0, _0804A85C @ =gUnk_030010A0 + ldr r0, _0804A85C @ =gScreenTransition adds r0, #0x39 ldrb r0, [r0] cmp r0, #0 @@ -1580,7 +1580,7 @@ _0804A84A: bl DeleteThisEntity b _0804A982 .align 2, 0 -_0804A85C: .4byte gUnk_030010A0 +_0804A85C: .4byte gScreenTransition _0804A860: .4byte 0x80100000 _0804A864: adds r4, r5, #0 diff --git a/asm/code_0804AA84.s b/asm/code_0804AA84.s index 630f8984..1e8b6570 100644 --- a/asm/code_0804AA84.s +++ b/asm/code_0804AA84.s @@ -248,7 +248,7 @@ sub_0804AD6C: @ 0x0804AD6C push {r4, r5, r6, lr} mov r6, r8 push {r6} - ldr r3, _0804ADD0 @ =gUnk_030010A0 + ldr r3, _0804ADD0 @ =gScreenTransition movs r1, #0 movs r6, #1 strb r6, [r3, #8] @@ -293,6 +293,6 @@ sub_0804AD6C: @ 0x0804AD6C mov r8, r3 pop {r4, r5, r6, pc} .align 2, 0 -_0804ADD0: .4byte gUnk_030010A0 +_0804ADD0: .4byte gScreenTransition _0804ADD4: .4byte gArea _0804ADD8: .4byte gUnk_080D4140 diff --git a/asm/code_08050038.s b/asm/code_08050038.s index 24320ebe..3f48d62d 100644 --- a/asm/code_08050038.s +++ b/asm/code_08050038.s @@ -3107,7 +3107,7 @@ _08051984: .4byte 0x000004B4 thumb_func_start sub_08051988 sub_08051988: @ 0x08051988 push {lr} - ldr r1, _080519A4 @ =gUnk_030010A0 + ldr r1, _080519A4 @ =gScreenTransition ldr r0, [r1] adds r0, #1 str r0, [r1] @@ -3120,7 +3120,7 @@ sub_08051988: @ 0x08051988 bl _call_via_r0 pop {pc} .align 2, 0 -_080519A4: .4byte gUnk_030010A0 +_080519A4: .4byte gScreenTransition _080519A8: .4byte gUnk_080FC9D8 _080519AC: .4byte gUnk_03001000 @@ -3137,7 +3137,7 @@ sub_080519B0: @ 0x080519B0 bl sub_0801DA7C bl sub_080A7124 bl sub_0807059C - ldr r4, _08051A08 @ =gUnk_030010A0 + ldr r4, _08051A08 @ =gScreenTransition adds r0, r4, #0 movs r1, #0xb0 bl _DmaZero @@ -3160,7 +3160,7 @@ _08051A02: pop {r4, r5, pc} .align 2, 0 _08051A04: .4byte gUnk_03000FD0 -_08051A08: .4byte gUnk_030010A0 +_08051A08: .4byte gScreenTransition _08051A0C: .4byte gUnk_02002AC8 _08051A10: .4byte gUnk_03001000 @@ -3188,7 +3188,7 @@ sub_08051A14: @ 0x08051A14 bl sub_0801CFA8 bl sub_0806FD8C ldr r2, _08051A80 @ =gRoomControls - ldr r1, _08051A84 @ =gUnk_030010A0 + ldr r1, _08051A84 @ =gScreenTransition ldrb r0, [r1, #0xc] strb r0, [r2, #4] ldrb r0, [r1, #0xd] @@ -3207,7 +3207,7 @@ _08051A74: .4byte gUnk_03000000 _08051A78: .4byte 0x00000B74 _08051A7C: .4byte gUnk_02032EC0 _08051A80: .4byte gRoomControls -_08051A84: .4byte gUnk_030010A0 +_08051A84: .4byte gScreenTransition _08051A88: .4byte gUnk_02024490 _08051A8C: .4byte gUnk_03001000 @@ -3238,7 +3238,7 @@ InitializeNewRoom: @ 0x08051AAC ldr r1, _08051AE8 @ =gUnk_03001000 movs r0, #1 strb r0, [r1, #4] - ldr r0, _08051AEC @ =gUnk_030010A0 + ldr r0, _08051AEC @ =gScreenTransition strb r2, [r0, #8] strb r2, [r0, #4] strb r2, [r0, #5] @@ -3252,7 +3252,7 @@ InitializeNewRoom: @ 0x08051AAC .align 2, 0 _08051AE4: .4byte gScreen _08051AE8: .4byte gUnk_03001000 -_08051AEC: .4byte gUnk_030010A0 +_08051AEC: .4byte gScreenTransition thumb_func_start sub_08051AF0 sub_08051AF0: @ 0x08051AF0 @@ -3470,14 +3470,14 @@ sub_08051CF0: @ 0x08051CF0 bl sub_0801DA90 strb r6, [r5, #3] strb r4, [r5, #4] - ldr r0, _08051D28 @ =gUnk_030010A0 + ldr r0, _08051D28 @ =gScreenTransition strb r6, [r0, #8] _08051D1E: pop {r4, r5, r6, pc} .align 2, 0 _08051D20: .4byte gUnk_03001000 _08051D24: .4byte gUnk_03000FD0 -_08051D28: .4byte gUnk_030010A0 +_08051D28: .4byte gScreenTransition thumb_func_start sub_08051D2C sub_08051D2C: @ 0x08051D2C @@ -3546,7 +3546,7 @@ _08051DC8: .4byte gRoomVars sub_08051DCC: @ 0x08051DCC push {r4, lr} ldr r1, _08051DFC @ =gRoomControls - ldr r4, _08051E00 @ =gUnk_030010A0 + ldr r4, _08051E00 @ =gScreenTransition ldrb r0, [r4, #0xc] strb r0, [r1, #4] ldrb r0, [r4, #0xd] @@ -3563,7 +3563,7 @@ sub_08051DCC: @ 0x08051DCC pop {r4, pc} .align 2, 0 _08051DFC: .4byte gRoomControls -_08051E00: .4byte gUnk_030010A0 +_08051E00: .4byte gScreenTransition thumb_func_start sub_08051E04 sub_08051E04: @ 0x08051E04 diff --git a/asm/code_080526F8.s b/asm/code_080526F8.s index 43807c93..9e43fbd2 100644 --- a/asm/code_080526F8.s +++ b/asm/code_080526F8.s @@ -236,14 +236,14 @@ _080528B0: .4byte 0x00000864 thumb_func_start sub_080528B4 sub_080528B4: @ 0x080528B4 push {lr} - ldr r0, _080528C4 @ =gUnk_030010A0 + ldr r0, _080528C4 @ =gScreenTransition ldrb r0, [r0, #5] cmp r0, #0 bne _080528C8 movs r0, #0 b _080528E6 .align 2, 0 -_080528C4: .4byte gUnk_030010A0 +_080528C4: .4byte gScreenTransition _080528C8: bl sub_0804FFE4 ldr r1, _080528E8 @ =gUnk_03001000 @@ -289,7 +289,7 @@ _08052918: .4byte 0x00000888 thumb_func_start sub_0805291C sub_0805291C: @ 0x0805291C push {r4, lr} - ldr r4, _08052948 @ =gUnk_030010A0 + ldr r4, _08052948 @ =gScreenTransition ldrb r0, [r4, #8] cmp r0, #0 beq _080529F4 @@ -310,7 +310,7 @@ sub_0805291C: @ 0x0805291C strb r0, [r4, #8] b _080529F6 .align 2, 0 -_08052948: .4byte gUnk_030010A0 +_08052948: .4byte gScreenTransition _0805294C: .4byte gUnk_02002A40 _08052950: .4byte gLinkState _08052954: @@ -394,7 +394,7 @@ _080529F6: thumb_func_start sub_080529F8 sub_080529F8: @ 0x080529F8 push {r4, r5, r6, lr} - ldr r1, _08052A34 @ =gUnk_030010A0 + ldr r1, _08052A34 @ =gScreenTransition ldrh r4, [r1, #0xa] ldr r2, _08052A38 @ =gUnk_080FCAD6 ldrh r0, [r2] @@ -426,7 +426,7 @@ _08052A30: movs r0, #1 b _08052A4A .align 2, 0 -_08052A34: .4byte gUnk_030010A0 +_08052A34: .4byte gScreenTransition _08052A38: .4byte gUnk_080FCAD6 _08052A3C: .4byte gLinkState _08052A40: @@ -442,7 +442,7 @@ _08052A4A: thumb_func_start sub_08052A4C sub_08052A4C: @ 0x08052A4C push {r4, r5, lr} - ldr r2, _08052A88 @ =gUnk_030010A0 + ldr r2, _08052A88 @ =gScreenTransition movs r0, #1 strb r0, [r2, #8] ldr r5, _08052A8C @ =gLinkEntity @@ -471,14 +471,14 @@ sub_08052A4C: @ 0x08052A4C strb r0, [r2, #0xd] pop {r4, r5, pc} .align 2, 0 -_08052A88: .4byte gUnk_030010A0 +_08052A88: .4byte gScreenTransition _08052A8C: .4byte gLinkEntity _08052A90: .4byte gRoomControls thumb_func_start sub_08052A94 sub_08052A94: @ 0x08052A94 push {lr} - ldr r0, _08052AAC @ =gUnk_030010A0 + ldr r0, _08052AAC @ =gScreenTransition ldrb r0, [r0, #9] subs r0, #1 cmp r0, #8 @@ -489,7 +489,7 @@ sub_08052A94: @ 0x08052A94 ldr r0, [r0] mov pc, r0 .align 2, 0 -_08052AAC: .4byte gUnk_030010A0 +_08052AAC: .4byte gScreenTransition _08052AB0: .4byte _08052AB4 _08052AB4: @ jump table .4byte _08052AD8 @ case 0 @@ -618,7 +618,7 @@ _08052BB4: thumb_func_start sub_08052BB8 sub_08052BB8: @ 0x08052BB8 push {lr} - ldr r0, _08052BE0 @ =gUnk_030010A0 + ldr r0, _08052BE0 @ =gScreenTransition adds r2, r0, #0 adds r2, #0x35 ldrb r1, [r2] @@ -638,7 +638,7 @@ sub_08052BB8: @ 0x08052BB8 movs r2, #1 b _08052BEE .align 2, 0 -_08052BE0: .4byte gUnk_030010A0 +_08052BE0: .4byte gScreenTransition _08052BE4: .4byte gLinkEntity _08052BE8: .4byte gRoomControls _08052BEC: @@ -652,7 +652,7 @@ _08052BEE: thumb_func_start sub_08052BF8 sub_08052BF8: @ 0x08052BF8 push {lr} - ldr r2, _08052C34 @ =gUnk_030010A0 + ldr r2, _08052C34 @ =gScreenTransition adds r1, r2, #0 adds r1, #0x31 ldrb r0, [r1] @@ -680,7 +680,7 @@ sub_08052BF8: @ 0x08052BF8 _08052C30: pop {pc} .align 2, 0 -_08052C34: .4byte gUnk_030010A0 +_08052C34: .4byte gScreenTransition _08052C38: .4byte gArea thumb_func_start sub_08052C3C @@ -713,7 +713,7 @@ sub_08052C5C: @ 0x08052C5C bl sub_08052620 cmp r0, #0 beq _08052C84 - ldr r2, _08052C7C @ =gUnk_030010A0 + ldr r2, _08052C7C @ =gScreenTransition ldr r1, _08052C80 @ =gLinkEntity ldrh r0, [r1, #0x2e] strh r0, [r2, #0x20] @@ -721,13 +721,13 @@ sub_08052C5C: @ 0x08052C5C strh r0, [r2, #0x22] b _08052C98 .align 2, 0 -_08052C7C: .4byte gUnk_030010A0 +_08052C7C: .4byte gScreenTransition _08052C80: .4byte gLinkEntity _08052C84: bl CheckIsDungeon cmp r0, #0 beq _08052C98 - ldr r2, _08052C9C @ =gUnk_030010A0 + ldr r2, _08052C9C @ =gScreenTransition ldr r1, _08052CA0 @ =gLinkEntity ldrh r0, [r1, #0x2e] strh r0, [r2, #0x1c] @@ -736,7 +736,7 @@ _08052C84: _08052C98: pop {pc} .align 2, 0 -_08052C9C: .4byte gUnk_030010A0 +_08052C9C: .4byte gScreenTransition _08052CA0: .4byte gLinkEntity thumb_func_start sub_08052CA4 @@ -750,7 +750,7 @@ sub_08052CA4: @ 0x08052CA4 lsls r4, r4, #1 ldr r1, [r0] adds r1, r1, r4 - ldr r4, _08052CCC @ =gUnk_030010A0 + ldr r4, _08052CCC @ =gScreenTransition ldrh r0, [r1] adds r0, r0, r2 strh r0, [r4, #0x20] @@ -760,7 +760,7 @@ sub_08052CA4: @ 0x08052CA4 pop {r4, pc} .align 2, 0 _08052CC8: .4byte gUnk_0811E214 -_08052CCC: .4byte gUnk_030010A0 +_08052CCC: .4byte gScreenTransition thumb_func_start sub_08052CD0 sub_08052CD0: @ 0x08052CD0 @@ -773,7 +773,7 @@ sub_08052CD0: @ 0x08052CD0 lsls r4, r4, #1 ldr r1, [r0] adds r1, r1, r4 - ldr r4, _08052CF8 @ =gUnk_030010A0 + ldr r4, _08052CF8 @ =gScreenTransition ldrh r0, [r1] adds r0, r0, r2 strh r0, [r4, #0x1c] @@ -783,7 +783,7 @@ sub_08052CD0: @ 0x08052CD0 pop {r4, pc} .align 2, 0 _08052CF4: .4byte gUnk_0811E214 -_08052CF8: .4byte gUnk_030010A0 +_08052CF8: .4byte gScreenTransition thumb_func_start sub_08052CFC sub_08052CFC: @ 0x08052CFC @@ -1343,7 +1343,7 @@ _08053154: ldrb r2, [r0, #1] cmp r2, #0 beq _0805316C - ldr r0, _08053174 @ =gUnk_030010A0 + ldr r0, _08053174 @ =gScreenTransition adds r0, #0x2e ldrb r1, [r0] eors r1, r2 @@ -1356,7 +1356,7 @@ _0805316E: pop {pc} .align 2, 0 _08053170: .4byte gArea -_08053174: .4byte gUnk_030010A0 +_08053174: .4byte gScreenTransition thumb_func_start sub_08053178 sub_08053178: @ 0x08053178 @@ -1364,7 +1364,7 @@ sub_08053178: @ 0x08053178 bl sub_08053144 cmp r0, #0 beq _080531E6 - ldr r0, _080531E8 @ =gUnk_030010A0 + ldr r0, _080531E8 @ =gScreenTransition ldr r5, _080531EC @ =gArea ldrb r1, [r5, #1] adds r0, #0x2e @@ -1410,7 +1410,7 @@ _080531DC: _080531E6: pop {r4, r5, pc} .align 2, 0 -_080531E8: .4byte gUnk_030010A0 +_080531E8: .4byte gScreenTransition _080531EC: .4byte gArea _080531F0: .4byte gRoomVars _080531F4: .4byte gUnk_02002AA0 @@ -1458,7 +1458,7 @@ _0805324C: .4byte gRoomControls thumb_func_start sub_08053250 sub_08053250: @ 0x08053250 push {r4, lr} - ldr r0, _0805328C @ =gUnk_030010A0 + ldr r0, _0805328C @ =gScreenTransition movs r1, #0 strb r1, [r0, #0xf] ldr r3, _08053290 @ =gLinkEntity @@ -1486,7 +1486,7 @@ sub_08053250: @ 0x08053250 bl sub_0801D66C pop {r4, pc} .align 2, 0 -_0805328C: .4byte gUnk_030010A0 +_0805328C: .4byte gScreenTransition _08053290: .4byte gLinkEntity _08053294: .4byte gRoomControls _08053298: .4byte gUnk_02002AC8 @@ -1541,7 +1541,7 @@ sub_080532E4: @ 0x080532E4 movs r3, #0xa5 lsls r3, r3, #1 adds r2, r0, r3 - ldr r1, _0805331C @ =gUnk_030010A0 + ldr r1, _0805331C @ =gScreenTransition movs r0, #0x58 strb r0, [r1, #0x16] movs r0, #0x21 @@ -1561,7 +1561,7 @@ sub_080532E4: @ 0x080532E4 bx lr .align 2, 0 _08053318: .4byte gUnk_0811E214 -_0805331C: .4byte gUnk_030010A0 +_0805331C: .4byte gScreenTransition thumb_func_start sub_08053320 sub_08053320: @ 0x08053320 @@ -2277,7 +2277,7 @@ sub_08053894: @ 0x08053894 _080538B4: .4byte gUnk_03000FD0 _080538B8: .4byte gMenu _080538BC: - ldr r0, _080538FC @ =gUnk_030010A0 + ldr r0, _080538FC @ =gScreenTransition ldr r0, [r0] movs r1, #1 ands r0, r1 @@ -2310,7 +2310,7 @@ _080538E4: _080538F8: pop {r4, pc} .align 2, 0 -_080538FC: .4byte gUnk_030010A0 +_080538FC: .4byte gScreenTransition _08053900: .4byte gScreen thumb_func_start sub_08053904 @@ -2335,7 +2335,7 @@ sub_08053904: @ 0x08053904 _08053924: .4byte gUnk_03000FD0 _08053928: .4byte gMenu _0805392C: - ldr r0, _0805396C @ =gUnk_030010A0 + ldr r0, _0805396C @ =gScreenTransition ldr r0, [r0] movs r1, #1 ands r0, r1 @@ -2368,7 +2368,7 @@ _08053954: _08053968: pop {r4, pc} .align 2, 0 -_0805396C: .4byte gUnk_030010A0 +_0805396C: .4byte gScreenTransition _08053970: .4byte gScreen thumb_func_start sub_08053974 diff --git a/asm/code_0805436C.s b/asm/code_0805436C.s index 0d6f007f..960c0bf3 100644 --- a/asm/code_0805436C.s +++ b/asm/code_0805436C.s @@ -1269,7 +1269,7 @@ sub_0805524C: @ 0x0805524C .align 2, 0 _08055270: .4byte gMenu _08055274: - ldr r0, _080552A4 @ =gUnk_030010A0 + ldr r0, _080552A4 @ =gScreenTransition ldr r0, [r0] movs r1, #7 ands r0, r1 @@ -1293,7 +1293,7 @@ _08055274: strh r0, [r1] b _080552D6 .align 2, 0 -_080552A4: .4byte gUnk_030010A0 +_080552A4: .4byte gScreenTransition _080552A8: .4byte gUnk_080FF204 _080552AC: .4byte 0x0000FFFF _080552B0: .4byte gScreen diff --git a/asm/code_0805E744.s b/asm/code_0805E744.s index ae443c87..a4ec55ca 100644 --- a/asm/code_0805E744.s +++ b/asm/code_0805E744.s @@ -891,7 +891,7 @@ _0805EE82: thumb_func_start sub_0805EE88 sub_0805EE88: @ 0x0805EE88 push {lr} - ldr r1, _0805EEB0 @ =gUnk_030010A0 + ldr r1, _0805EEB0 @ =gScreenTransition adds r0, r1, #0 adds r0, #0x2f ldrb r0, [r0] @@ -910,7 +910,7 @@ sub_0805EE88: @ 0x0805EE88 _0805EEAC: pop {pc} .align 2, 0 -_0805EEB0: .4byte gUnk_030010A0 +_0805EEB0: .4byte gScreenTransition thumb_func_start sub_0805EEB4 sub_0805EEB4: @ 0x0805EEB4 diff --git a/asm/code_0806FA6C.s b/asm/code_0806FA6C.s index 7764e708..1f153b44 100644 --- a/asm/code_0806FA6C.s +++ b/asm/code_0806FA6C.s @@ -106,7 +106,7 @@ _0806FBB2: sub_0806FBB4: @ 0x0806FBB4 push {lr} adds r1, r0, #0 - ldr r0, _0806FBD0 @ =gUnk_030010A0 + ldr r0, _0806FBD0 @ =gScreenTransition ldrb r0, [r0, #5] cmp r0, #0 bne _0806FBC8 @@ -120,7 +120,7 @@ _0806FBC8: _0806FBCC: pop {pc} .align 2, 0 -_0806FBD0: .4byte gUnk_030010A0 +_0806FBD0: .4byte gScreenTransition _0806FBD4: .4byte gLinkState thumb_func_start sub_0806FBD8 diff --git a/asm/code_08070698.s b/asm/code_08070698.s index eabdd297..b6e53ed6 100644 --- a/asm/code_08070698.s +++ b/asm/code_08070698.s @@ -650,7 +650,7 @@ _08070BC8: ldrb r0, [r0] cmp r0, #0 beq _08070BE4 - ldr r0, _08070BE8 @ =gUnk_030010A0 + ldr r0, _08070BE8 @ =gScreenTransition ldr r0, [r0] movs r1, #7 ands r0, r1 @@ -661,7 +661,7 @@ _08070BC8: _08070BE4: pop {r4, r5, r6, r7, pc} .align 2, 0 -_08070BE8: .4byte gUnk_030010A0 +_08070BE8: .4byte gScreenTransition thumb_func_start sub_08070BEC sub_08070BEC: @ 0x08070BEC @@ -2955,13 +2955,13 @@ _08071D3A: _08071D6C: .4byte gUnk_02002A40 _08071D70: .4byte gLinkState _08071D74: - ldr r1, _08071D7C @ =gUnk_030010A0 + ldr r1, _08071D7C @ =gScreenTransition movs r0, #1 strb r0, [r1, #5] _08071D7A: pop {r4, r5, pc} .align 2, 0 -_08071D7C: .4byte gUnk_030010A0 +_08071D7C: .4byte gScreenTransition thumb_func_start sub_08071D80 sub_08071D80: @ 0x08071D80 diff --git a/asm/code_080732D0.s b/asm/code_080732D0.s index dc1ead63..f675fcf8 100644 --- a/asm/code_080732D0.s +++ b/asm/code_080732D0.s @@ -706,7 +706,7 @@ _08073808: .4byte gLinkState sub_0807380C: @ 0x0807380C push {r4, lr} adds r4, r0, #0 - ldr r0, _08073854 @ =gUnk_030010A0 + ldr r0, _08073854 @ =gScreenTransition ldr r0, [r0] movs r1, #3 ands r0, r1 @@ -740,7 +740,7 @@ _0807382A: bl sub_08003FC4 b _0807387A .align 2, 0 -_08073854: .4byte gUnk_030010A0 +_08073854: .4byte gScreenTransition _08073858: .4byte gLinkState _0807385C: .4byte gUnk_0811BC38 _08073860: @@ -767,7 +767,7 @@ _0807387A: sub_08073884: @ 0x08073884 push {r4, lr} adds r4, r0, #0 - ldr r0, _080738DC @ =gUnk_030010A0 + ldr r0, _080738DC @ =gScreenTransition ldr r0, [r0] movs r1, #1 ands r0, r1 @@ -809,7 +809,7 @@ _080738A2: bl DoExitTransition b _080738F0 .align 2, 0 -_080738DC: .4byte gUnk_030010A0 +_080738DC: .4byte gScreenTransition _080738E0: .4byte gLinkState _080738E4: .4byte gUnk_0811BC40 _080738E8: .4byte gUnk_0813AD88 @@ -1346,7 +1346,7 @@ sub_08073C80: @ 0x08073C80 ldr r0, _08073D0C @ =gRoomControls str r4, [r0, #0x30] bl sub_080809D4 - ldr r1, _08073D10 @ =gUnk_030010A0 + ldr r1, _08073D10 @ =gScreenTransition ldrb r0, [r1, #0xf] cmp r0, #9 bne _08073D14 @@ -1362,7 +1362,7 @@ _08073D00: .4byte gLinkState _08073D04: .4byte 0x00000C18 _08073D08: .4byte gUnk_0811BC80 _08073D0C: .4byte gRoomControls -_08073D10: .4byte gUnk_030010A0 +_08073D10: .4byte gScreenTransition _08073D14: movs r0, #4 movs r1, #0 @@ -2708,7 +2708,7 @@ _08074714: .align 2, 0 _0807471C: .4byte 0x00000161 _08074720: - ldr r0, _08074760 @ =gUnk_030010A0 + ldr r0, _08074760 @ =gScreenTransition ldr r0, [r0] movs r1, #0xf ands r0, r1 @@ -2741,7 +2741,7 @@ _08074732: strb r0, [r1] b _08074792 .align 2, 0 -_08074760: .4byte gUnk_030010A0 +_08074760: .4byte gScreenTransition _08074764: .4byte 0x00000161 _08074768: .4byte gLinkState _0807476C: @@ -5168,7 +5168,7 @@ _08075962: lsls r0, r0, #2 strh r0, [r4, #0x24] bl sub_08079E08 - ldr r0, _08075994 @ =gUnk_030010A0 + ldr r0, _08075994 @ =gScreenTransition ldr r0, [r0] movs r1, #3 ands r0, r1 @@ -5181,7 +5181,7 @@ _08075962: b _080759B2 .align 2, 0 _08075990: .4byte gLinkEntity -_08075994: .4byte gUnk_030010A0 +_08075994: .4byte gScreenTransition _08075998: ldrb r1, [r4, #0xe] adds r0, r2, #0 @@ -6613,7 +6613,7 @@ sub_08076488: @ 0x08076488 ands r0, r1 cmp r0, #0x10 bne _080764B8 - ldr r0, _080764F8 @ =gUnk_030010A0 + ldr r0, _080764F8 @ =gScreenTransition ldr r0, [r0] movs r1, #1 ands r0, r1 @@ -6651,7 +6651,7 @@ _080764B8: strb r6, [r4, #0xf] b _08076508 .align 2, 0 -_080764F8: .4byte gUnk_030010A0 +_080764F8: .4byte gScreenTransition _080764FC: .4byte gLinkEntity _08076500: .4byte gLinkState _08076504: diff --git a/asm/code_08078778.s b/asm/code_08078778.s index 5475dc74..70aa7420 100644 --- a/asm/code_08078778.s +++ b/asm/code_08078778.s @@ -310,14 +310,14 @@ sub_08078AA8: @ 0x08078AA8 ldr r3, _08078AB8 @ =gLinkState movs r2, #0x16 strb r2, [r3, #0xc] - ldr r2, _08078ABC @ =gUnk_030010A0 + ldr r2, _08078ABC @ =gScreenTransition strh r0, [r2, #0x36] adds r2, #0x35 strb r1, [r2] bx lr .align 2, 0 _08078AB8: .4byte gLinkState -_08078ABC: .4byte gUnk_030010A0 +_08078ABC: .4byte gScreenTransition thumb_func_start sub_08078AC0 sub_08078AC0: @ 0x08078AC0 @@ -736,7 +736,7 @@ _08078DE0: ands r0, r1 cmp r0, #2 bne _08078E82 - ldr r0, _08078E38 @ =gUnk_030010A0 + ldr r0, _08078E38 @ =gScreenTransition ldr r1, [r0] movs r0, #3 ands r1, r0 @@ -747,7 +747,7 @@ _08078DE0: b _08078E82 .align 2, 0 _08078E34: .4byte gLinkState -_08078E38: .4byte gUnk_030010A0 +_08078E38: .4byte gScreenTransition _08078E3C: ldrh r0, [r4, #0x2e] adds r0, #1 @@ -5097,7 +5097,7 @@ _0807AEA8: ands r0, r1 cmp r0, #0 beq _0807AECC - ldr r0, _0807AEC8 @ =gUnk_030010A0 + ldr r0, _0807AEC8 @ =gScreenTransition ldr r0, [r0] movs r1, #0xf ands r0, r1 @@ -5108,9 +5108,9 @@ _0807AEA8: bl sub_080A2A84 b _0807AEDE .align 2, 0 -_0807AEC8: .4byte gUnk_030010A0 +_0807AEC8: .4byte gScreenTransition _0807AECC: - ldr r0, _0807AEE0 @ =gUnk_030010A0 + ldr r0, _0807AEE0 @ =gScreenTransition ldr r0, [r0] movs r1, #7 ands r0, r1 @@ -5121,7 +5121,7 @@ _0807AECC: _0807AEDE: pop {r4, pc} .align 2, 0 -_0807AEE0: .4byte gUnk_030010A0 +_0807AEE0: .4byte gScreenTransition thumb_func_start sub_0807AEE4 sub_0807AEE4: @ 0x0807AEE4 @@ -5510,7 +5510,7 @@ sub_0807B1A8: @ 0x0807B1A8 ldr r1, [r0] adds r0, r4, #0 bl _call_via_r1 - ldr r0, _0807B1D8 @ =gUnk_030010A0 + ldr r0, _0807B1D8 @ =gScreenTransition ldr r0, [r0] movs r1, #7 ands r0, r1 @@ -5522,7 +5522,7 @@ _0807B1D0: pop {r4, pc} .align 2, 0 _0807B1D4: .4byte gUnk_0811C298 -_0807B1D8: .4byte gUnk_030010A0 +_0807B1D8: .4byte gScreenTransition thumb_func_start sub_0807B1DC sub_0807B1DC: @ 0x0807B1DC diff --git a/asm/code_0807B9B8.s b/asm/code_0807B9B8.s index 24a845bd..f0d37f9c 100644 --- a/asm/code_0807B9B8.s +++ b/asm/code_0807B9B8.s @@ -1003,7 +1003,7 @@ _0807C178: movs r3, #1 mov sb, r3 _0807C184: - ldr r0, _0807C1B0 @ =gUnk_030010A0 + ldr r0, _0807C1B0 @ =gScreenTransition adds r0, #0x2d ldrb r0, [r0] cmp r0, #0 @@ -1024,7 +1024,7 @@ _0807C184: bl sub_0801D66C b _0807C26C .align 2, 0 -_0807C1B0: .4byte gUnk_030010A0 +_0807C1B0: .4byte gScreenTransition _0807C1B4: .4byte gUnk_02025EB4 _0807C1B8: .4byte gUnk_0200B654 _0807C1BC: @@ -1859,7 +1859,7 @@ _0807C85C: .4byte gUnk_02000070 thumb_func_start sub_0807C860 sub_0807C860: @ 0x0807C860 push {r4, lr} - ldr r0, _0807C88C @ =gUnk_030010A0 + ldr r0, _0807C88C @ =gScreenTransition adds r0, #0x2d movs r1, #1 strb r1, [r0] @@ -1879,14 +1879,14 @@ sub_0807C860: @ 0x0807C860 bl sub_0801D66C pop {r4, pc} .align 2, 0 -_0807C88C: .4byte gUnk_030010A0 +_0807C88C: .4byte gScreenTransition _0807C890: .4byte gUnk_02025EB4 _0807C894: .4byte gUnk_0200B654 thumb_func_start sub_0807C898 sub_0807C898: @ 0x0807C898 push {r4, r5, lr} - ldr r4, _0807C8AC @ =gUnk_030010A0 + ldr r4, _0807C8AC @ =gScreenTransition adds r4, #0x2d movs r5, #0 movs r0, #2 @@ -1895,7 +1895,7 @@ sub_0807C898: @ 0x0807C898 strb r5, [r4] pop {r4, r5, pc} .align 2, 0 -_0807C8AC: .4byte gUnk_030010A0 +_0807C8AC: .4byte gScreenTransition thumb_func_start sub_0807C8B0 sub_0807C8B0: @ 0x0807C8B0 diff --git a/asm/code_0807CC3C.s b/asm/code_0807CC3C.s index 6732a77c..4ededc8c 100644 --- a/asm/code_0807CC3C.s +++ b/asm/code_0807CC3C.s @@ -5,237 +5,6 @@ .text - thumb_func_start sub_0807CD9C -sub_0807CD9C: @ 0x0807CD9C - push {lr} - bl sub_080530C8 - pop {pc} - - thumb_func_start sub_0807CDA4 -sub_0807CDA4: @ 0x0807CDA4 - push {lr} - ldr r2, _0807CDB8 @ =gUnk_0811E478 - ldr r1, _0807CDBC @ =gMenu - ldrb r1, [r1, #7] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_0807CDB8: .4byte gUnk_0811E478 -_0807CDBC: .4byte gMenu - - thumb_func_start sub_0807CDC0 -sub_0807CDC0: @ 0x0807CDC0 - push {lr} - ldr r0, _0807CDE0 @ =gUnk_02021EE0 - ldrh r1, [r0, #0xa] - subs r1, #8 - strh r1, [r0, #0xa] - movs r1, #8 - ldrsh r0, [r0, r1] - cmp r0, #0 - bgt _0807CDDC - ldr r0, _0807CDE4 @ =gMenu - movs r1, #8 - strh r1, [r0, #0xa] - movs r1, #1 - strb r1, [r0, #7] -_0807CDDC: - movs r0, #0 - pop {pc} - .align 2, 0 -_0807CDE0: .4byte gUnk_02021EE0 -_0807CDE4: .4byte gMenu - - thumb_func_start sub_0807CDE8 -sub_0807CDE8: @ 0x0807CDE8 - push {r4, r5, lr} - adds r4, r0, #0 - ldr r1, _0807CE08 @ =gMenu - ldrh r0, [r1, #0xa] - cmp r0, #0 - bne _0807CE4C - bl sub_0805616C - cmp r4, #1 - beq _0807CE20 - cmp r4, #1 - blo _0807CE0C - cmp r4, #2 - beq _0807CE2E - b _0807CE38 - .align 2, 0 -_0807CE08: .4byte gMenu -_0807CE0C: - movs r0, #0x80 - lsls r0, r0, #0x12 - ldrb r0, [r0, #4] - ldr r1, _0807CE1C @ =gUnk_02002A40 - bl sub_0807CF08 - b _0807CE36 - .align 2, 0 -_0807CE1C: .4byte gUnk_02002A40 -_0807CE20: - movs r0, #0x80 - lsls r0, r0, #0x12 - ldrb r0, [r0, #4] - bl sub_0807CF48 - movs r5, #1 - b _0807CE38 -_0807CE2E: - movs r0, #0x80 - lsls r0, r0, #0x12 - bl sub_0807CF10 -_0807CE36: - adds r5, r0, #0 -_0807CE38: - ldr r1, _0807CE48 @ =gMenu - strh r5, [r1, #0xa] - movs r0, #2 - strb r0, [r1, #7] - bl sub_08056208 - b _0807CE50 - .align 2, 0 -_0807CE48: .4byte gMenu -_0807CE4C: - subs r0, #1 - strh r0, [r1, #0xa] -_0807CE50: - movs r0, #0 - pop {r4, r5, pc} - - thumb_func_start sub_0807CE54 -sub_0807CE54: @ 0x0807CE54 - push {r4, r5, lr} - movs r4, #0 - ldr r2, _0807CE88 @ =gUnk_02021EE0 - ldrh r0, [r2, #0xa] - adds r0, #8 - strh r0, [r2, #0xa] - ldrh r3, [r2, #6] - movs r5, #6 - ldrsh r1, [r2, r5] - lsls r0, r0, #0x10 - asrs r0, r0, #0x10 - cmp r1, r0 - bgt _0807CE84 - strh r3, [r2, #0xa] - bl sub_08050384 - ldr r0, _0807CE8C @ =gMenu - movs r1, #0 - strb r1, [r0, #7] - ldrh r0, [r0, #0xa] - subs r4, #1 - cmp r0, #1 - bne _0807CE84 - movs r4, #1 -_0807CE84: - adds r0, r4, #0 - pop {r4, r5, pc} - .align 2, 0 -_0807CE88: .4byte gUnk_02021EE0 -_0807CE8C: .4byte gMenu - - thumb_func_start sub_0807CE90 -sub_0807CE90: @ 0x0807CE90 - push {r4, r5, r6, lr} - movs r0, #0x40 - bl sub_080B1520 - movs r0, #4 - bl sub_0807D1C4 - adds r4, r0, #0 - movs r5, #0 - ldrh r0, [r4, #6] - ldr r6, _0807CF04 @ =gUnk_0811E484 - ldrh r2, [r4] - adds r1, r6, #0 - bl sub_0807D24C - cmp r0, #0 - bne _0807CEB4 - movs r5, #1 -_0807CEB4: - ldrh r0, [r4, #8] - ldrh r2, [r4] - adds r1, r6, #0 - bl sub_0807D24C - cmp r0, #0 - bne _0807CEC4 - adds r5, #2 -_0807CEC4: - cmp r5, #0 - beq _0807CEFE - cmp r5, #3 - bne _0807CEEA - movs r0, #5 - bl sub_0807CF68 - movs r0, #3 - bl sub_0807CF68 - movs r0, #2 - bl sub_0807CF68 - movs r0, #1 - bl sub_0807CF68 - movs r0, #0 - bl sub_0807CF68 -_0807CEEA: - ldrh r0, [r4, #8] - ldrh r2, [r4] - adds r1, r6, #0 - bl sub_0807D20C - ldrh r0, [r4, #6] - ldrh r2, [r4] - adds r1, r6, #0 - bl sub_0807D20C -_0807CEFE: - movs r0, #1 - pop {r4, r5, r6, pc} - .align 2, 0 -_0807CF04: .4byte gUnk_0811E484 - - thumb_func_start sub_0807CF08 -sub_0807CF08: @ 0x0807CF08 - push {lr} - bl sub_0807CF88 - pop {pc} - - thumb_func_start sub_0807CF10 -sub_0807CF10: @ 0x0807CF10 - push {lr} - adds r1, r0, #0 - movs r0, #3 - bl sub_0807CF88 - pop {pc} - - thumb_func_start sub_0807CF1C -sub_0807CF1C: @ 0x0807CF1C - push {lr} - adds r1, r0, #0 - movs r0, #5 - bl sub_0807CF88 - pop {pc} - - thumb_func_start sub_0807CF28 -sub_0807CF28: @ 0x0807CF28 - push {lr} - bl sub_0807D008 - pop {pc} - - thumb_func_start sub_0807CF30 -sub_0807CF30: @ 0x0807CF30 - push {lr} - adds r1, r0, #0 - movs r0, #3 - bl sub_0807D008 - pop {pc} - - thumb_func_start sub_0807CF3C -sub_0807CF3C: @ 0x0807CF3C - push {lr} - adds r1, r0, #0 - movs r0, #5 - bl sub_0807D008 - pop {pc} - thumb_func_start sub_0807CF48 sub_0807CF48: @ 0x0807CF48 push {r4, r5, lr} @@ -2303,7 +2072,7 @@ _0807DE1E: bl sub_0800445C b _0807DDEC _0807DE26: - ldr r0, _0807DE40 @ =gUnk_030010A0 + ldr r0, _0807DE40 @ =gScreenTransition ldr r0, [r0] movs r1, #3 ands r0, r1 @@ -2317,9 +2086,9 @@ _0807DE26: strb r0, [r4, #0xf] b _0807DDEC .align 2, 0 -_0807DE40: .4byte gUnk_030010A0 +_0807DE40: .4byte gScreenTransition _0807DE44: - ldr r0, _0807DE68 @ =gUnk_030010A0 + ldr r0, _0807DE68 @ =gScreenTransition ldr r0, [r0] movs r1, #1 ands r0, r1 @@ -2336,7 +2105,7 @@ _0807DE44: strb r0, [r1] b _0807DDEC .align 2, 0 -_0807DE68: .4byte gUnk_030010A0 +_0807DE68: .4byte gScreenTransition _0807DE6C: .4byte gUnk_0811E510 _0807DE70: adds r0, r4, #0 @@ -6989,7 +6758,7 @@ _0807FF18: .4byte gUnk_02000070 sub_0807FF1C: @ 0x0807FF1C push {lr} adds r2, r0, #0 - ldr r0, _0807FF4C @ =gUnk_030010A0 + ldr r0, _0807FF4C @ =gScreenTransition ldr r0, [r0] movs r1, #1 ands r0, r1 @@ -7011,7 +6780,7 @@ sub_0807FF1C: @ 0x0807FF1C _0807FF48: pop {pc} .align 2, 0 -_0807FF4C: .4byte gUnk_030010A0 +_0807FF4C: .4byte gScreenTransition _0807FF50: .4byte gUnk_02000070 thumb_func_start sub_0807FF54 @@ -8165,7 +7934,7 @@ _0808083E: DoExitTransition: @ 0x08080840 push {r4, lr} adds r4, r0, #0 - ldr r0, _0808085C @ =gUnk_030010A0 + ldr r0, _0808085C @ =gScreenTransition movs r1, #1 strb r1, [r0, #8] adds r2, r0, #0 @@ -8177,7 +7946,7 @@ DoExitTransition: @ 0x08080840 strh r1, [r2, #4] b _08080872 .align 2, 0 -_0808085C: .4byte gUnk_030010A0 +_0808085C: .4byte gScreenTransition _08080860: .4byte 0x000003FF _08080864: ldr r0, _08080880 @ =gRoomControls @@ -8233,51 +8002,4 @@ _080808B8: .align 2, 0 _080808CC: .4byte gRoomControls _080808D0: .4byte 0xFFFF8000 -_080808D4: .4byte gUnk_0811E7C4 - - thumb_func_start sub_080808D8 -sub_080808D8: @ 0x080808D8 - ldr r1, _080808E0 @ =gUnk_030010A0 - movs r0, #0 - strb r0, [r1, #9] - bx lr - .align 2, 0 -_080808E0: .4byte gUnk_030010A0 - - thumb_func_start sub_080808E4 -sub_080808E4: @ 0x080808E4 - push {r4, lr} - ldr r4, _080808F8 @ =gUnk_030010A0 - ldrb r0, [r4, #0xc] - bl sub_08052638 - cmp r0, #0 - beq _080808FC - movs r0, #0 - b _080808FE - .align 2, 0 -_080808F8: .4byte gUnk_030010A0 -_080808FC: - movs r0, #5 -_080808FE: - strb r0, [r4, #9] - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_08080904 -sub_08080904: @ 0x08080904 - ldr r1, _0808090C @ =gUnk_030010A0 - movs r0, #1 - strb r0, [r1, #9] - bx lr - .align 2, 0 -_0808090C: .4byte gUnk_030010A0 - - thumb_func_start sub_08080910 -sub_08080910: @ 0x08080910 - ldr r1, _08080918 @ =gUnk_030010A0 - movs r0, #1 - strb r0, [r1, #9] - bx lr - .align 2, 0 -_08080918: .4byte gUnk_030010A0 - +_080808D4: .4byte gUnk_0811E7C4 \ No newline at end of file diff --git a/asm/code_080A3480.s b/asm/code_080A3480.s index 62f25b35..4b5ad21e 100644 --- a/asm/code_080A3480.s +++ b/asm/code_080A3480.s @@ -204,7 +204,7 @@ _080A35DC: .4byte gUnk_02021EE0 thumb_func_start sub_080A35E0 sub_080A35E0: @ 0x080A35E0 push {lr} - ldr r1, _080A35FC @ =gUnk_030010A0 + ldr r1, _080A35FC @ =gScreenTransition ldr r0, [r1] adds r0, #1 str r0, [r1] @@ -217,7 +217,7 @@ sub_080A35E0: @ 0x080A35E0 bl _call_via_r0 pop {pc} .align 2, 0 -_080A35FC: .4byte gUnk_030010A0 +_080A35FC: .4byte gScreenTransition _080A3600: .4byte gUnk_08127D00 _080A3604: .4byte gUnk_03001000 @@ -437,7 +437,7 @@ _080A37C4: ldrb r0, [r0] cmp r0, #0 bne _080A385E - ldr r0, _080A37FC @ =gUnk_030010A0 + ldr r0, _080A37FC @ =gScreenTransition ldr r0, [r0] ands r0, r1 cmp r0, #0 @@ -461,7 +461,7 @@ _080A37C4: b _080A383C .align 2, 0 _080A37F8: .4byte gUnk_03000FD0 -_080A37FC: .4byte gUnk_030010A0 +_080A37FC: .4byte gScreenTransition _080A3800: .4byte gScreen _080A3804: ldrh r0, [r4, #8] @@ -472,7 +472,7 @@ _080A3804: bne _080A385E b _080A383C _080A3812: - ldr r0, _080A3844 @ =gUnk_030010A0 + ldr r0, _080A3844 @ =gScreenTransition ldr r0, [r0] movs r1, #1 ands r0, r1 @@ -499,7 +499,7 @@ _080A383C: strb r0, [r4, #6] b _080A385E .align 2, 0 -_080A3844: .4byte gUnk_030010A0 +_080A3844: .4byte gScreenTransition _080A3848: .4byte gScreen _080A384C: ldr r1, _080A3860 @ =gUnk_03000FD0 diff --git a/asm/code_080A3BD0.s b/asm/code_080A3BD0.s index 3cd69ca3..5bd2a20a 100644 --- a/asm/code_080A3BD0.s +++ b/asm/code_080A3BD0.s @@ -2418,7 +2418,7 @@ _080A4F38: adds r1, #1 cmp r1, #0xd ble _080A4F38 - ldr r1, _080A4F94 @ =gUnk_030010A0 + ldr r1, _080A4F94 @ =gScreenTransition ldrh r0, [r1, #0x20] ldrh r1, [r1, #0x22] bl sub_080A6A80 @@ -2452,7 +2452,7 @@ _080A4F66: pop {r4, pc} .align 2, 0 _080A4F90: .4byte gUnk_02034492 -_080A4F94: .4byte gUnk_030010A0 +_080A4F94: .4byte gScreenTransition _080A4F98: .4byte gUnk_02034490 _080A4F9C: .4byte gUnk_08128A38 diff --git a/asm/code_080A5574.s b/asm/code_080A5574.s index 6b4f2d40..e6f6a7cc 100644 --- a/asm/code_080A5574.s +++ b/asm/code_080A5574.s @@ -1818,7 +1818,7 @@ _080A6392: ands r0, r1 cmp r0, #0 bne _080A63EA - ldr r4, _080A6428 @ =gUnk_030010A0 + ldr r4, _080A6428 @ =gScreenTransition ldrh r1, [r4, #0x20] lsls r0, r1, #2 adds r0, r0, r1 @@ -1874,7 +1874,7 @@ _080A63EA: .align 2, 0 _080A6420: .4byte gMenu _080A6424: .4byte gUnk_03001010 -_080A6428: .4byte gUnk_030010A0 +_080A6428: .4byte gScreenTransition _080A642C: .4byte gLinkState _080A6430: .4byte 0x000001FB _080A6434: .4byte gUnk_08128DE8 @@ -2468,7 +2468,7 @@ sub_080A68D4: @ 0x080A68D4 beq _080A68E6 movs r4, #0x65 _080A68E6: - ldr r1, _080A6910 @ =gUnk_030010A0 + ldr r1, _080A6910 @ =gScreenTransition ldrh r0, [r1, #0x20] ldrh r1, [r1, #0x22] ldr r2, _080A6914 @ =0x000001FB @@ -2486,7 +2486,7 @@ _080A68E6: b _080A693A .align 2, 0 _080A690C: .4byte gLinkState -_080A6910: .4byte gUnk_030010A0 +_080A6910: .4byte gScreenTransition _080A6914: .4byte 0x000001FB _080A6918: .4byte gUnk_02002A40 _080A691C: .4byte gUnk_08128F58 @@ -2800,7 +2800,7 @@ sub_080A6B04: @ 0x080A6B04 beq _080A6B84 movs r2, #0x65 _080A6B84: - ldr r1, _080A6C10 @ =gUnk_030010A0 + ldr r1, _080A6C10 @ =gScreenTransition ldrh r0, [r1, #0x20] ldrh r1, [r1, #0x22] ldr r4, _080A6C14 @ =0x000001FB @@ -2859,7 +2859,7 @@ _080A6C00: .4byte 0x0000475F _080A6C04: .4byte 0x00005001 _080A6C08: .4byte gUnk_02001A40 _080A6C0C: .4byte gLinkState -_080A6C10: .4byte gUnk_030010A0 +_080A6C10: .4byte gScreenTransition _080A6C14: .4byte 0x000001FB _080A6C18: .4byte gUnk_08128E94 @@ -3718,7 +3718,7 @@ sub_080A7250: @ 0x080A7250 bl sub_0805E958 adds r1, r4, #0 subs r1, #0x54 - ldr r0, _080A7314 @ =gUnk_030010A0 + ldr r0, _080A7314 @ =gScreenTransition adds r0, #0x2f ldrb r0, [r0] strb r0, [r1, #0xd] @@ -3751,7 +3751,7 @@ _080A7304: .4byte gUnk_02001A00 _080A7308: .4byte gRoomControls _080A730C: .4byte gUnk_03000420 _080A7310: .4byte gUnk_02033280 -_080A7314: .4byte gUnk_030010A0 +_080A7314: .4byte gScreenTransition _080A7318: .4byte gLinkState _080A731C: .4byte gUnk_02017654 _080A7320: .4byte gUnk_02025EB0 @@ -3793,7 +3793,7 @@ sub_080A7328: @ 0x080A7328 ldr r1, _080A73A0 @ =gUnk_02032EC0 movs r0, #2 strb r0, [r1] - ldr r0, _080A73A4 @ =gUnk_030010A0 + ldr r0, _080A73A4 @ =gScreenTransition adds r0, #0x30 strb r2, [r0] _080A7384: @@ -3806,7 +3806,7 @@ _080A7394: .4byte gUnk_03000420 _080A7398: .4byte gUnk_02033280 _080A739C: .4byte gUnk_02024490 _080A73A0: .4byte gUnk_02032EC0 -_080A73A4: .4byte gUnk_030010A0 +_080A73A4: .4byte gScreenTransition thumb_func_start sub_080A73A8 sub_080A73A8: @ 0x080A73A8 @@ -3917,14 +3917,14 @@ _080A74AE: movs r2, #0 movs r0, #4 strb r0, [r1] - ldr r0, _080A74C4 @ =gUnk_030010A0 + ldr r0, _080A74C4 @ =gScreenTransition adds r0, #0x30 strb r2, [r0] _080A74BC: pop {r4, r5, pc} .align 2, 0 _080A74C0: .4byte gUnk_02032EC0 -_080A74C4: .4byte gUnk_030010A0 +_080A74C4: .4byte gScreenTransition thumb_func_start sub_080A74C8 sub_080A74C8: @ 0x080A74C8 @@ -4450,7 +4450,7 @@ sub_080A78B8: @ 0x080A78B8 ldrb r0, [r6, #0x1e] subs r0, #0x6a strb r0, [r4, #0x1e] - ldr r0, _080A78EC @ =gUnk_030010A0 + ldr r0, _080A78EC @ =gScreenTransition ldr r0, [r0] movs r1, #4 ands r0, r1 @@ -4462,7 +4462,7 @@ sub_080A78B8: @ 0x080A78B8 b _080A78F2 .align 2, 0 _080A78E8: .4byte gLinkState -_080A78EC: .4byte gUnk_030010A0 +_080A78EC: .4byte gScreenTransition _080A78F0: ldrb r1, [r4, #0x1e] _080A78F2: @@ -7418,7 +7418,7 @@ _080A8E8E: adds r2, r0, #0 ldr r0, _080A8EC4 @ =0x000001FF ands r2, r0 - ldr r0, _080A8EC8 @ =gUnk_030010A0 + ldr r0, _080A8EC8 @ =gScreenTransition ldr r0, [r0] ands r0, r6 cmp r0, #0 @@ -7428,7 +7428,7 @@ _080A8E8E: .align 2, 0 _080A8EC0: .4byte gLinkEntity _080A8EC4: .4byte 0x000001FF -_080A8EC8: .4byte gUnk_030010A0 +_080A8EC8: .4byte gScreenTransition _080A8ECC: subs r4, r4, r2 _080A8ECE: @@ -12353,7 +12353,7 @@ sub_080AB318: @ 0x080AB318 adds r1, r0, #0 ldr r0, _080AB3E4 @ =0x000001FF ands r1, r0 - ldr r0, _080AB3E8 @ =gUnk_030010A0 + ldr r0, _080AB3E8 @ =gScreenTransition ldr r0, [r0] mov r2, r8 ands r0, r2 @@ -12371,7 +12371,7 @@ _080AB3D8: .4byte 0xFFFF0000 _080AB3DC: .4byte gRoomControls _080AB3E0: .4byte 0x000001B5 _080AB3E4: .4byte 0x000001FF -_080AB3E8: .4byte gUnk_030010A0 +_080AB3E8: .4byte gScreenTransition _080AB3EC: subs r4, r4, r1 cmp r4, #0x1f @@ -15673,7 +15673,7 @@ sub_080ACC78: @ 0x080ACC78 push {r4, r5, r6, r7, lr} adds r4, r0, #0 ldrb r2, [r4, #0xa] - ldr r0, _080ACD20 @ =gUnk_030010A0 + ldr r0, _080ACD20 @ =gScreenTransition ldr r0, [r0] adds r0, r2, r0 movs r1, #1 @@ -15756,7 +15756,7 @@ _080ACD08: movs r0, #2 b _080ACD32 .align 2, 0 -_080ACD20: .4byte gUnk_030010A0 +_080ACD20: .4byte gScreenTransition _080ACD24: .4byte gUnk_0812AAAC _080ACD28: ldr r0, _080ACD74 @ =gUnk_0812AABC diff --git a/asm/code_080AD90C.s b/asm/code_080AD90C.s index a2259a48..4e859ff6 100644 --- a/asm/code_080AD90C.s +++ b/asm/code_080AD90C.s @@ -95,7 +95,7 @@ _080AD9AC: .4byte 0x00000427 sub_080AD9B0: @ 0x080AD9B0 push {lr} ldr r2, _080AD9F4 @ =gUnk_03000000 - ldr r0, _080AD9F8 @ =gUnk_030010A0 + ldr r0, _080AD9F8 @ =gScreenTransition adds r0, #0x2f ldrb r0, [r0] movs r1, #0 @@ -129,7 +129,7 @@ _080AD9C2: pop {pc} .align 2, 0 _080AD9F4: .4byte gUnk_03000000 -_080AD9F8: .4byte gUnk_030010A0 +_080AD9F8: .4byte gScreenTransition _080AD9FC: .4byte gRoomControls _080ADA00: .4byte gUnk_03006164 diff --git a/asm/enemy5F.s b/asm/enemy5F.s index 76911902..8421f5c4 100644 --- a/asm/enemy5F.s +++ b/asm/enemy5F.s @@ -32,7 +32,7 @@ _080482E8: .4byte gUnk_080D1D48 sub_080482EC: @ 0x080482EC push {r4, lr} adds r4, r0, #0 - ldr r0, _08048310 @ =gUnk_030010A0 + ldr r0, _08048310 @ =gScreenTransition adds r0, #0x38 ldrb r1, [r0] movs r2, #1 @@ -47,7 +47,7 @@ sub_080482EC: @ 0x080482EC bl InitializeAnimation b _08048326 .align 2, 0 -_08048310: .4byte gUnk_030010A0 +_08048310: .4byte gScreenTransition _08048314: strb r2, [r4, #0xc] adds r0, r4, #0 @@ -90,7 +90,7 @@ sub_0804835C: @ 0x0804835C push {r4, lr} adds r4, r0, #0 bl sub_080485D8 - ldr r0, _08048384 @ =gUnk_030010A0 + ldr r0, _08048384 @ =gScreenTransition adds r0, #0x39 ldrb r1, [r0] movs r2, #3 @@ -108,7 +108,7 @@ sub_0804835C: @ 0x0804835C _08048382: pop {r4, pc} .align 2, 0 -_08048384: .4byte gUnk_030010A0 +_08048384: .4byte gScreenTransition thumb_func_start sub_08048388 sub_08048388: @ 0x08048388 diff --git a/asm/ezloCap.s b/asm/ezloCap.s index e36c453b..13ef9565 100644 --- a/asm/ezloCap.s +++ b/asm/ezloCap.s @@ -584,7 +584,7 @@ _0806DCB6: thumb_func_start sub_0806DCC0 sub_0806DCC0: @ 0x0806DCC0 - ldr r0, _0806DCD0 @ =gUnk_030010A0 + ldr r0, _0806DCD0 @ =gScreenTransition movs r1, #0xf9 lsls r1, r1, #3 strh r1, [r0, #0x20] @@ -592,7 +592,7 @@ sub_0806DCC0: @ 0x0806DCC0 strh r1, [r0, #0x22] bx lr .align 2, 0 -_0806DCD0: .4byte gUnk_030010A0 +_0806DCD0: .4byte gScreenTransition thumb_func_start NPC4E_Fusion NPC4E_Fusion: @ 0x0806DCD4 diff --git a/asm/gleerok.s b/asm/gleerok.s index 82ff48dc..02f3d5b2 100644 --- a/asm/gleerok.s +++ b/asm/gleerok.s @@ -364,7 +364,7 @@ _0802D2D0: movs r2, #0x40 bl sub_0802EA68 _0802D2E4: - ldr r5, _0802D338 @ =gUnk_030010A0 + ldr r5, _0802D338 @ =gScreenTransition ldr r0, [r5] movs r1, #0x1f ands r0, r1 @@ -405,7 +405,7 @@ _0802D32E: _0802D334: pop {r4, r5, pc} .align 2, 0 -_0802D338: .4byte gUnk_030010A0 +_0802D338: .4byte gScreenTransition thumb_func_start sub_0802D33C sub_0802D33C: @ 0x0802D33C @@ -957,7 +957,7 @@ _0802D77A: sub_0802D77C: @ 0x0802D77C push {r4, r5, lr} adds r5, r0, #0 - ldr r0, _0802D7B0 @ =gUnk_030010A0 + ldr r0, _0802D7B0 @ =gScreenTransition ldr r4, [r0] movs r0, #1 ands r4, r0 @@ -981,7 +981,7 @@ sub_0802D77C: @ 0x0802D77C _0802D7AC: pop {r4, r5, pc} .align 2, 0 -_0802D7B0: .4byte gUnk_030010A0 +_0802D7B0: .4byte gScreenTransition thumb_func_start sub_0802D7B4 sub_0802D7B4: @ 0x0802D7B4 @@ -1230,7 +1230,7 @@ _0802D99C: bl DeleteThisEntity b _0802DB7E _0802D9A2: - ldr r0, _0802D9F4 @ =gUnk_030010A0 + ldr r0, _0802D9F4 @ =gScreenTransition ldr r0, [r0] movs r1, #1 ands r0, r1 @@ -1272,9 +1272,9 @@ _0802D9CE: str r1, [r0] b _0802D99C .align 2, 0 -_0802D9F4: .4byte gUnk_030010A0 +_0802D9F4: .4byte gScreenTransition _0802D9F8: - ldr r0, _0802DA50 @ =gUnk_030010A0 + ldr r0, _0802DA50 @ =gScreenTransition ldr r0, [r0] movs r1, #1 ands r0, r1 @@ -1319,7 +1319,7 @@ _0802DA24: str r1, [r0] b _0802D99C .align 2, 0 -_0802DA50: .4byte gUnk_030010A0 +_0802DA50: .4byte gScreenTransition _0802DA54: adds r0, r4, #0 adds r0, #0x74 @@ -2607,7 +2607,7 @@ _0802E400: .align 2, 0 _0802E408: .4byte gLinkEntity _0802E40C: - ldr r0, _0802E42C @ =gUnk_030010A0 + ldr r0, _0802E42C @ =gScreenTransition ldr r0, [r0] movs r1, #0xf ands r0, r1 @@ -2623,7 +2623,7 @@ _0802E422: _0802E428: pop {r4, r5, r6, pc} .align 2, 0 -_0802E42C: .4byte gUnk_030010A0 +_0802E42C: .4byte gScreenTransition thumb_func_start sub_0802E430 sub_0802E430: @ 0x0802E430 diff --git a/asm/greatFairy/sub_080872AC.inc b/asm/greatFairy/sub_080872AC.inc deleted file mode 100644 index a4c842c5..00000000 --- a/asm/greatFairy/sub_080872AC.inc +++ /dev/null @@ -1,38 +0,0 @@ - .syntax unified - push {r4, lr} - adds r4, r0, #0 - ldrb r1, [r4, #0x18] - movs r0, #4 - rsbs r0, r0, #0 - ands r0, r1 - movs r1, #1 - orrs r0, r1 - strb r0, [r4, #0x18] - ldrb r1, [r4, #0x1b] - movs r2, #0x3f - adds r0, r2, #0 - ands r0, r1 - movs r1, #0x40 - orrs r0, r1 - strb r0, [r4, #0x1b] - ldrb r0, [r4, #0x19] - ands r2, r0 - strb r2, [r4, #0x19] - ldrh r1, [r4, #0x2e] - adds r0, r4, #0 - adds r0, #0x68 - strh r1, [r0] - ldrh r0, [r4, #0x32] - adds r1, r4, #0 - adds r1, #0x6a - strh r0, [r1] - bl Random - movs r1, #0x1f - ands r0, r1 - strb r0, [r4, #0x15] - movs r0, #0x20 - strh r0, [r4, #0x24] - adds r0, r4, #0 - bl GreatFairy_InitializeAnimation - pop {r4, pc} - .syntax divided \ No newline at end of file diff --git a/asm/guardWithSpear.s b/asm/guardWithSpear.s index 745374ba..0c8417d3 100644 --- a/asm/guardWithSpear.s +++ b/asm/guardWithSpear.s @@ -227,7 +227,7 @@ _080641E6: lsls r0, r0, #1 cmp r1, r0 ble _08064222 - ldr r0, _080642B4 @ =gUnk_030010A0 + ldr r0, _080642B4 @ =gScreenTransition ldr r0, [r0] movs r1, #6 bl __modsi3 @@ -304,7 +304,7 @@ _080642AC: pop {r4, r5, r6, pc} .align 2, 0 _080642B0: .4byte gLinkEntity -_080642B4: .4byte gUnk_030010A0 +_080642B4: .4byte gScreenTransition thumb_func_start sub_080642B8 sub_080642B8: @ 0x080642B8 @@ -372,7 +372,7 @@ _08064306: lsls r0, r0, #1 cmp r1, r0 ble _08064342 - ldr r0, _080643D4 @ =gUnk_030010A0 + ldr r0, _080643D4 @ =gScreenTransition ldr r0, [r0] movs r1, #6 bl __modsi3 @@ -449,7 +449,7 @@ _080643CC: pop {r4, r5, r6, pc} .align 2, 0 _080643D0: .4byte gLinkEntity -_080643D4: .4byte gUnk_030010A0 +_080643D4: .4byte gScreenTransition thumb_func_start sub_080643D8 sub_080643D8: @ 0x080643D8 diff --git a/asm/gyorgChild.s b/asm/gyorgChild.s index 54351bef..9850cc4c 100644 --- a/asm/gyorgChild.s +++ b/asm/gyorgChild.s @@ -11,7 +11,7 @@ GyorgChild: @ 0x08048640 push {r4, r5, lr} adds r5, r0, #0 - ldr r0, _0804867C @ =gUnk_030010A0 + ldr r0, _0804867C @ =gScreenTransition 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 gUnk_030010A0 +_0804867C: .4byte gScreenTransition _08048680: .4byte gUnk_080D1E6C thumb_func_start sub_08048684 diff --git a/asm/houseDoorExterior.s b/asm/houseDoorExterior.s deleted file mode 100644 index 50b7a415..00000000 --- a/asm/houseDoorExterior.s +++ /dev/null @@ -1,418 +0,0 @@ - .include "asm/macros.inc" - - .include "constants/constants.inc" - - .syntax unified - - .text - - thumb_func_start HouseDoorExterior -HouseDoorExterior: @ 0x080866C0 - push {lr} - ldr r2, _080866D4 @ =gUnk_081206B4 - ldrb r1, [r0, #0xb] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_080866D4: .4byte gUnk_081206B4 - - thumb_func_start sub_080866D8 -sub_080866D8: @ 0x080866D8 - push {r4, r5, r6, r7, lr} - mov r7, sb - mov r6, r8 - push {r6, r7} - adds r6, r0, #0 - ldrb r1, [r6, #0xc] - cmp r1, #0 - bne _080866FE - movs r0, #1 - strb r0, [r6, #0xc] - str r1, [r6, #0x68] - ldrb r1, [r6, #0xe] - adds r0, r6, #0 - adds r0, #0x6c - strb r1, [r0] - adds r0, r6, #0 - movs r1, #6 - bl sub_0805E3A0 -_080866FE: - adds r0, r6, #0 - adds r0, #0x6c - ldrb r0, [r0] - bl GetCurrentRoomProperty - adds r5, r0, #0 - movs r0, #0 - mov r8, r0 - ldrh r0, [r5] - ldr r1, _080867C4 @ =0x0000FFFF - cmp r0, r1 - beq _080867BA - mov sb, r1 -_08086718: - movs r7, #1 - mov r1, r8 - lsls r7, r1 - ldr r0, [r6, #0x68] - ands r0, r7 - cmp r0, #0 - bne _080867A8 - ldrb r0, [r5, #5] - bl sub_080867CC - cmp r0, #0 - beq _080867A8 - ldrh r0, [r5] - ldrh r1, [r5, #2] - movs r2, #0x20 - movs r3, #0x20 - bl sub_080562CC - cmp r0, #0 - beq _080867A8 - ldrb r1, [r5, #7] - ldrb r2, [r5, #6] - movs r0, #0x19 - bl CreateObject - adds r4, r0, #0 - cmp r4, #0 - beq _080867A8 - adds r0, #0x6c - mov r2, r8 - strb r2, [r0] - ldr r1, _080867C8 @ =gRoomControls - ldrh r0, [r5] - ldrh r2, [r1, #6] - adds r0, r0, r2 - adds r0, #0x10 - strh r0, [r4, #0x2e] - ldrh r0, [r5, #2] - ldrh r1, [r1, #8] - adds r0, r0, r1 - adds r0, #0x20 - strh r0, [r4, #0x32] - str r6, [r4, #0x50] - ldrh r1, [r5] - adds r0, r4, #0 - adds r0, #0x68 - strh r1, [r0] - ldrh r0, [r5, #2] - adds r1, r4, #0 - adds r1, #0x6a - strh r0, [r1] - ldrb r1, [r5, #4] - adds r0, r4, #0 - adds r0, #0x38 - strb r1, [r0] - ldrb r0, [r5, #5] - strb r0, [r4, #0xd] - adds r0, r4, #0 - bl UpdateSpriteForCollisionLayer - ldr r0, [r6, #0x68] - orrs r0, r7 - str r0, [r6, #0x68] - ldr r1, [r5, #8] - cmp r1, #0 - beq _080867A8 - adds r0, r4, #0 - bl StartCutscene - adds r1, r4, #0 - adds r1, #0x84 - str r0, [r1] -_080867A8: - adds r5, #0xc - movs r0, #1 - add r8, r0 - ldrh r0, [r5] - cmp r0, sb - beq _080867BA - mov r1, r8 - cmp r1, #0x1f - bls _08086718 -_080867BA: - pop {r3, r4} - mov r8, r3 - mov sb, r4 - pop {r4, r5, r6, r7, pc} - .align 2, 0 -_080867C4: .4byte 0x0000FFFF -_080867C8: .4byte gRoomControls - - thumb_func_start sub_080867CC -sub_080867CC: @ 0x080867CC - push {lr} - cmp r0, #0 - beq _080867DE - cmp r0, #2 - bne _080867DE - movs r0, #0x18 - bl CheckGlobalFlag - b _080867E0 -_080867DE: - movs r0, #1 -_080867E0: - pop {pc} - .align 2, 0 - - thumb_func_start sub_080867E4 -sub_080867E4: @ 0x080867E4 - push {r4, lr} - adds r4, r0, #0 - adds r0, #0x68 - ldrh r0, [r0] - adds r1, r4, #0 - adds r1, #0x6a - ldrh r1, [r1] - movs r2, #0x20 - movs r3, #0x20 - bl sub_080562CC - cmp r0, #0 - bne _08086814 - ldr r2, [r4, #0x50] - adds r0, r4, #0 - adds r0, #0x6c - movs r1, #1 - ldrb r0, [r0] - lsls r1, r0 - ldr r0, [r2, #0x68] - bics r0, r1 - str r0, [r2, #0x68] - bl DeleteThisEntity -_08086814: - adds r0, r4, #0 - bl sub_0808681C - pop {r4, pc} - - thumb_func_start sub_0808681C -sub_0808681C: @ 0x0808681C - push {r4, r5, lr} - adds r5, r0, #0 - ldrb r4, [r5, #0xc] - cmp r4, #0 - beq _0808682C - cmp r4, #1 - beq _08086868 - b _0808688C -_0808682C: - movs r2, #1 - movs r0, #1 - strb r0, [r5, #0xc] - movs r0, #8 - strb r0, [r5, #0xe] - ldrb r1, [r5, #0x18] - subs r0, #0xc - ands r0, r1 - orrs r0, r2 - strb r0, [r5, #0x18] - strb r4, [r5, #0x1e] - ldr r0, _08086864 @ =gUnk_081206AC - str r0, [r5, #0x48] - ldrb r1, [r5, #0xd] - cmp r1, #1 - bne _08086852 - movs r0, #2 - strb r0, [r5, #0xc] - strb r1, [r5, #0x1e] -_08086852: - ldrb r1, [r5, #0x10] - movs r2, #2 - adds r0, r2, #0 - ands r0, r1 - cmp r0, #0 - beq _080868AA - strb r2, [r5, #0xc] - b _0808688C - .align 2, 0 -_08086864: .4byte gUnk_081206AC -_08086868: - adds r0, r5, #0 - bl sub_08086954 - lsls r0, r0, #0x18 - cmp r0, #0 - bne _0808688C - ldrb r0, [r5, #0xc] - adds r0, #1 - strb r0, [r5, #0xc] - strb r4, [r5, #0x1e] - movs r0, #0x10 - movs r1, #0 - movs r2, #1 - bl sub_08078AC0 - ldr r0, _080868AC @ =0x00000111 - bl PlaySFX -_0808688C: - ldrb r1, [r5, #0x10] - movs r0, #2 - ands r0, r1 - cmp r0, #0 - beq _080868AA - adds r4, r5, #0 - adds r4, #0x84 - ldr r1, [r4] - adds r0, r5, #0 - bl ExecuteScriptCommandSet - ldr r1, [r4] - adds r0, r5, #0 - bl sub_080868EC -_080868AA: - pop {r4, r5, pc} - .align 2, 0 -_080868AC: .4byte 0x00000111 - - thumb_func_start sub_080868B0 -sub_080868B0: @ 0x080868B0 - push {r4, r5, lr} - adds r5, r0, #0 - ldrb r0, [r5, #0xc] - cmp r0, #0 - bne _080868D2 - movs r2, #1 - movs r0, #1 - strb r0, [r5, #0xc] - ldrb r1, [r5, #0x18] - subs r0, #5 - ands r0, r1 - orrs r0, r2 - strb r0, [r5, #0x18] - ldr r0, _080868E8 @ =gUnk_081206AC - str r0, [r5, #0x48] - movs r0, #8 - strb r0, [r5, #0xe] -_080868D2: - adds r4, r5, #0 - adds r4, #0x84 - ldr r1, [r4] - adds r0, r5, #0 - bl ExecuteScriptCommandSet - ldr r1, [r4] - adds r0, r5, #0 - bl sub_080868EC - pop {r4, r5, pc} - .align 2, 0 -_080868E8: .4byte gUnk_081206AC - - thumb_func_start sub_080868EC -sub_080868EC: @ 0x080868EC - push {r4, r5, lr} - adds r3, r0, #0 - ldr r2, [r1, #8] - movs r0, #0 - str r0, [r1, #8] - cmp r2, #0 - beq _0808691E - movs r5, #0x80 - lsls r5, r5, #1 - movs r4, #0 - movs r1, #1 -_08086902: - mvns r0, r2 - adds r0, #1 - ands r0, r2 - eors r2, r0 - cmp r0, #0x80 - beq _08086914 - cmp r0, r5 - beq _08086918 - b _0808691A -_08086914: - strb r4, [r3, #0x1e] - b _0808691A -_08086918: - strb r1, [r3, #0x1e] -_0808691A: - cmp r2, #0 - bne _08086902 -_0808691E: - ldrb r0, [r3, #0x1e] - cmp r0, #0 - bne _0808692A - adds r0, r3, #0 - bl sub_0800445C -_0808692A: - pop {r4, r5, pc} - - thumb_func_start sub_0808692C -sub_0808692C: @ 0x0808692C - push {lr} - adds r2, r0, #0 - ldrb r1, [r2, #0x10] - movs r0, #0xfd - ands r0, r1 - strb r0, [r2, #0x10] - movs r0, #2 - strb r0, [r2, #0xb] - ldrb r0, [r2, #0x1e] - movs r1, #2 - cmp r0, #0 - bne _08086946 - movs r1, #1 -_08086946: - strb r1, [r2, #0xc] - movs r0, #0 - strb r0, [r2, #0xd] - movs r0, #8 - strb r0, [r2, #0xe] - pop {pc} - .align 2, 0 - - thumb_func_start sub_08086954 -sub_08086954: @ 0x08086954 - push {r4, lr} - adds r4, r0, #0 - bl sub_0800445C - cmp r0, #0 - beq _0808699C - adds r0, r4, #0 - movs r1, #6 - movs r2, #0x14 - bl sub_0806ED9C - cmp r0, #0 - blt _080869A0 - ldr r0, _08086994 @ =gLinkEntity - ldrb r0, [r0, #0x14] - cmp r0, #0 - bne _080869A0 - ldr r2, _08086998 @ =gLinkState - adds r0, r2, #0 - adds r0, #0x90 - ldrh r1, [r0] - movs r0, #0x80 - lsls r0, r0, #3 - cmp r1, r0 - bne _080869A0 - ldrb r0, [r2, #2] - cmp r0, #0 - bne _080869A0 - ldrb r0, [r4, #0xe] - subs r0, #1 - b _0808699E - .align 2, 0 -_08086994: .4byte gLinkEntity -_08086998: .4byte gLinkState -_0808699C: - movs r0, #8 -_0808699E: - strb r0, [r4, #0xe] -_080869A0: - ldrb r0, [r4, #0xe] - pop {r4, pc} - - thumb_func_start sub_080869A4 -sub_080869A4: @ 0x080869A4 - push {r4, r5, lr} - adds r4, r0, #0 - adds r5, r1, #0 - movs r0, #0 - str r0, [r5, #0x14] - adds r0, r4, #0 - bl sub_08086954 - lsls r0, r0, #0x18 - cmp r0, #0 - bne _080869C2 - movs r0, #8 - strb r0, [r4, #0xe] - movs r0, #1 - str r0, [r5, #0x14] -_080869C2: - pop {r4, r5, pc} \ No newline at end of file diff --git a/asm/initializeLink.s b/asm/initializeLink.s index b219c8dd..192b979f 100644 --- a/asm/initializeLink.s +++ b/asm/initializeLink.s @@ -26,7 +26,7 @@ InitializeLink: @ 0x080524A8 ldr r0, _0805251C @ =gRoomControls str r4, [r0, #0x30] ldr r1, _08052520 @ =gUnk_080FCAC8 - ldr r5, _08052524 @ =gUnk_030010A0 + ldr r5, _08052524 @ =gScreenTransition ldrb r0, [r5, #0xf] adds r0, r0, r1 ldrb r0, [r0] @@ -56,7 +56,7 @@ _08052514: .4byte gLinkState _08052518: .4byte gLinkEntity _0805251C: .4byte gRoomControls _08052520: .4byte gUnk_080FCAC8 -_08052524: .4byte gUnk_030010A0 +_08052524: .4byte gScreenTransition _08052528: .4byte _0805252C _0805252C: @ jump table .4byte _08052558 @ case 0 @@ -81,7 +81,7 @@ _08052564: adds r0, #0x38 movs r1, #0x10 strb r1, [r0] - ldr r1, _08052580 @ =gUnk_030010A0 + ldr r1, _08052580 @ =gScreenTransition ldrb r0, [r1, #0xe] lsls r0, r0, #2 strb r0, [r4, #0x15] @@ -92,21 +92,21 @@ _08052576: b _080525C2 .align 2, 0 _0805257C: .4byte gLinkState -_08052580: .4byte gUnk_030010A0 +_08052580: .4byte gScreenTransition _08052584: ldr r1, _08052598 @ =gLinkState adds r2, r1, #0 adds r2, #0x38 movs r0, #1 strb r0, [r2] - ldr r2, _0805259C @ =gUnk_030010A0 + ldr r2, _0805259C @ =gScreenTransition ldrb r0, [r2, #0xf] adds r1, #0x39 strb r0, [r1] b _080525C2 .align 2, 0 _08052598: .4byte gLinkState -_0805259C: .4byte gUnk_030010A0 +_0805259C: .4byte gScreenTransition _080525A0: ldr r0, _080525A8 @ =gLinkState adds r0, #0x38 @@ -128,7 +128,7 @@ _080525B8: _080525BE: strb r1, [r0] _080525C0: - ldr r2, _08052618 @ =gUnk_030010A0 + ldr r2, _08052618 @ =gScreenTransition _080525C2: movs r0, #1 strb r0, [r4, #8] @@ -170,5 +170,5 @@ _080525C2: pop {r4, r5, r6, pc} .align 2, 0 _08052614: .4byte gLinkState -_08052618: .4byte gUnk_030010A0 +_08052618: .4byte gScreenTransition _0805261C: .4byte gUnk_02002A40 diff --git a/asm/itemOnGround.s b/asm/itemOnGround.s index 835a13ca..aaf987cc 100644 --- a/asm/itemOnGround.s +++ b/asm/itemOnGround.s @@ -216,7 +216,7 @@ _08080AFA: adds r0, r5, #0 adds r1, r6, #0 bl sub_080002A8 - ldr r1, _08080B48 @ =gUnk_030010A0 + ldr r1, _08080B48 @ =gScreenTransition strh r0, [r1, #0xa] cmp r4, #0x3f beq _08080B50 @@ -228,7 +228,7 @@ _08080AFA: blo _08080B5C b _08080B50 .align 2, 0 -_08080B48: .4byte gUnk_030010A0 +_08080B48: .4byte gScreenTransition _08080B4C: cmp r4, #0xf1 bne _08080B5C @@ -538,7 +538,7 @@ _08080DB4: bl ResolveEntityOnTop b _08080E00 _08080DEE: - ldr r0, _08080E04 @ =gUnk_030010A0 + ldr r0, _08080E04 @ =gScreenTransition ldr r0, [r0] movs r1, #0xf ands r0, r1 @@ -549,7 +549,7 @@ _08080DEE: _08080E00: pop {r4, r5, pc} .align 2, 0 -_08080E04: .4byte gUnk_030010A0 +_08080E04: .4byte gScreenTransition thumb_func_start ItemOnGround ItemOnGround: @ 0x08080E08 diff --git a/asm/lilypadLarge.s b/asm/lilypadLarge.s index 86828bd3..0657df02 100644 --- a/asm/lilypadLarge.s +++ b/asm/lilypadLarge.s @@ -417,7 +417,7 @@ _080857F6: _08085806: str r1, [r7, #0x6c] _08085808: - ldr r0, _080858B0 @ =gUnk_030010A0 + ldr r0, _080858B0 @ =gScreenTransition 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 gUnk_030010A0 +_080858B0: .4byte gScreenTransition _080858B4: .4byte 0x00000FFF _080858B8: movs r0, #0 @@ -679,7 +679,7 @@ _080859E6: bl sub_08085D60 b _08085A0A _080859F4: - ldr r0, _08085A18 @ =gUnk_030010A0 + ldr r0, _08085A18 @ =gScreenTransition 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 gUnk_030010A0 +_08085A18: .4byte gScreenTransition thumb_func_start sub_08085A1C sub_08085A1C: @ 0x08085A1C diff --git a/asm/manager1.s b/asm/manager1.s index 435e67ad..c9530794 100644 --- a/asm/manager1.s +++ b/asm/manager1.s @@ -334,7 +334,7 @@ sub_080573AC: @ 0x080573AC adds r0, r0, r2 strh r0, [r5, #0x30] ldr r2, _08057444 @ =gSineTable - ldr r4, _08057448 @ =gUnk_030010A0 + ldr r4, _08057448 @ =gScreenTransition ldr r1, [r4] ldrb r0, [r4] adds r0, #0x40 @@ -378,7 +378,7 @@ _08057438: .4byte 0xFFFFE000 _0805743C: .4byte 0xFFFFF000 _08057440: .4byte gScreen _08057444: .4byte gSineTable -_08057448: .4byte gUnk_030010A0 +_08057448: .4byte gScreenTransition _0805744C: .4byte gUnk_08107C30 thumb_func_start sub_08057450 @@ -417,7 +417,7 @@ _0805748A: adds r0, r3, #0 adds r0, #0x22 ldrb r0, [r0] - ldr r5, _08057510 @ =gUnk_030010A0 + ldr r5, _08057510 @ =gScreenTransition cmp r0, #0 bne _080574BE ldr r0, [r5] @@ -480,6 +480,6 @@ _08057502: _08057504: .4byte gScreen _08057508: .4byte gRoomControls _0805750C: .4byte gUnk_02001A40 -_08057510: .4byte gUnk_030010A0 +_08057510: .4byte gScreenTransition _08057514: .4byte gUnk_08107C30 _08057518: .4byte gUnk_085B4180 diff --git a/asm/manager10.s b/asm/manager10.s index 501c21e7..2a3fed1d 100644 --- a/asm/manager10.s +++ b/asm/manager10.s @@ -192,7 +192,7 @@ _080596DC: .4byte gUnk_085A7320 sub_080596E0: @ 0x080596E0 push {r4, r5, r6, lr} adds r4, r0, #0 - ldr r0, _08059730 @ =gUnk_030010A0 + ldr r0, _08059730 @ =gScreenTransition ldr r0, [r0] movs r1, #7 ands r0, r1 @@ -230,7 +230,7 @@ _080596FC: str r1, [r0] b _08059764 .align 2, 0 -_08059730: .4byte gUnk_030010A0 +_08059730: .4byte gScreenTransition _08059734: .4byte gScreen _08059738: .4byte gUnk_08108390 _0805973C: .4byte gUnk_0200B650 diff --git a/asm/manager1A.s b/asm/manager1A.s index 7163e018..fad93017 100644 --- a/asm/manager1A.s +++ b/asm/manager1A.s @@ -251,7 +251,7 @@ _0805B20C: thumb_func_start sub_0805B210 sub_0805B210: @ 0x0805B210 push {r4, r5, lr} - ldr r2, _0805B248 @ =gUnk_030010A0 + ldr r2, _0805B248 @ =gScreenTransition movs r1, #1 strb r1, [r2, #8] strb r1, [r2, #9] @@ -279,7 +279,7 @@ sub_0805B210: @ 0x0805B210 movs r0, #6 b _0805B256 .align 2, 0 -_0805B248: .4byte gUnk_030010A0 +_0805B248: .4byte gScreenTransition _0805B24C: .4byte gUnk_08108764 _0805B250: .4byte gLinkState _0805B254: diff --git a/asm/manager22.s b/asm/manager22.s index 8cd27864..8f0bdb43 100644 --- a/asm/manager22.s +++ b/asm/manager22.s @@ -130,7 +130,7 @@ _0805B9EC: .4byte 0x0000DFFF _0805B9F0: .4byte gLinkState _0805B9F4: .4byte gArea _0805B9F8: - ldr r0, _0805BA24 @ =gUnk_030010A0 + ldr r0, _0805BA24 @ =gScreenTransition ldr r0, [r0] movs r1, #3 ands r0, r1 @@ -151,7 +151,7 @@ _0805B9F8: bl sub_0801E154 b _0805BA42 .align 2, 0 -_0805BA24: .4byte gUnk_030010A0 +_0805BA24: .4byte gScreenTransition _0805BA28: .4byte gSineTable _0805BA2C: movs r0, #0 diff --git a/asm/manager32.s b/asm/manager32.s index 1737fe7a..4faba7eb 100644 --- a/asm/manager32.s +++ b/asm/manager32.s @@ -17,7 +17,7 @@ sub_0805D7A4: @ 0x0805D7A4 ldr r1, [r0] adds r0, r4, #0 bl _call_via_r1 - ldr r0, _0805D7D8 @ =gUnk_030010A0 + ldr r0, _0805D7D8 @ =gScreenTransition ldr r0, [r0] lsls r0, r0, #4 str r0, [r4, #0x24] @@ -30,7 +30,7 @@ sub_0805D7A4: @ 0x0805D7A4 pop {r4, pc} .align 2, 0 _0805D7D4: .4byte gUnk_08108D7C -_0805D7D8: .4byte gUnk_030010A0 +_0805D7D8: .4byte gScreenTransition thumb_func_start sub_0805D7DC sub_0805D7DC: @ 0x0805D7DC diff --git a/asm/manager34.s b/asm/manager34.s index 5ccd5177..91446d18 100644 --- a/asm/manager34.s +++ b/asm/manager34.s @@ -27,7 +27,7 @@ _0805DBB0: .4byte gUnk_08108D8C sub_0805DBB4: @ 0x0805DBB4 movs r1, #1 strb r1, [r0, #0xc] - ldr r1, _0805DBC8 @ =gUnk_030010A0 + ldr r1, _0805DBC8 @ =gScreenTransition adds r1, #0x3d ldrb r2, [r1] lsls r1, r2, #4 @@ -36,7 +36,7 @@ sub_0805DBB4: @ 0x0805DBB4 strh r1, [r0, #0x20] bx lr .align 2, 0 -_0805DBC8: .4byte gUnk_030010A0 +_0805DBC8: .4byte gScreenTransition thumb_func_start sub_0805DBCC sub_0805DBCC: @ 0x0805DBCC diff --git a/asm/manager37.s b/asm/manager37.s index f9dca8f3..5ae4d78f 100644 --- a/asm/manager37.s +++ b/asm/manager37.s @@ -45,7 +45,7 @@ _0805DE7A: movs r1, #0 movs r0, #1 strb r0, [r4, #0xc] - ldr r2, _0805DEAC @ =gUnk_030010A0 + ldr r2, _0805DEAC @ =gScreenTransition adds r0, r2, #0 adds r0, #0x38 strb r1, [r0] @@ -67,7 +67,7 @@ _0805DE7A: str r1, [r0] pop {r4, pc} .align 2, 0 -_0805DEAC: .4byte gUnk_030010A0 +_0805DEAC: .4byte gScreenTransition _0805DEB0: .4byte gUnk_02002A40 _0805DEB4: .4byte 0x00001194 @@ -266,7 +266,7 @@ sub_0805E000: @ 0x0805E000 strb r5, [r0] adds r0, r4, #0 bl UpdateSpriteForCollisionLayer - ldr r0, _0805E068 @ =gUnk_030010A0 + ldr r0, _0805E068 @ =gScreenTransition adds r0, #0x38 ldrb r1, [r0] adds r0, r5, #0 @@ -293,7 +293,7 @@ _0805E062: pop {r4, r5, r6, pc} .align 2, 0 _0805E064: .4byte gRoomControls -_0805E068: .4byte gUnk_030010A0 +_0805E068: .4byte gScreenTransition _0805E06C: .4byte gArea _0805E070: .4byte 0x00000864 _0805E074: .4byte 0x80010000 diff --git a/asm/manager4.s b/asm/manager4.s index 0462c59c..f579829c 100644 --- a/asm/manager4.s +++ b/asm/manager4.s @@ -249,7 +249,7 @@ sub_08057A18: @ 0x08057A18 ldr r3, _08057A98 @ =gRoomControls ldrb r0, [r3, #4] strb r0, [r6, #9] - ldr r1, _08057A9C @ =gUnk_030010A0 + ldr r1, _08057A9C @ =gScreenTransition ldrb r0, [r5, #4] strb r0, [r1, #0xc] ldrb r0, [r5, #5] @@ -303,7 +303,7 @@ _08057A86: .align 2, 0 _08057A94: .4byte gUnk_03004030 _08057A98: .4byte gRoomControls -_08057A9C: .4byte gUnk_030010A0 +_08057A9C: .4byte gScreenTransition _08057AA0: .4byte gLinkEntity _08057AA4: .4byte gUnk_02034480 diff --git a/asm/managerC.s b/asm/managerC.s index bb3acdb3..80f37976 100644 --- a/asm/managerC.s +++ b/asm/managerC.s @@ -70,7 +70,7 @@ sub_080588CC: @ 0x080588CC bl sub_08058CFC adds r0, r4, #0 bl sub_08058A04 - ldr r0, _080588E8 @ =gUnk_030010A0 + ldr r0, _080588E8 @ =gScreenTransition ldrb r0, [r0, #8] cmp r0, #0 beq _080588EC @@ -78,7 +78,7 @@ sub_080588CC: @ 0x080588CC strb r0, [r4, #0xc] b _080588F2 .align 2, 0 -_080588E8: .4byte gUnk_030010A0 +_080588E8: .4byte gScreenTransition _080588EC: adds r0, r4, #0 bl sub_080588F8 @@ -413,7 +413,7 @@ _08058B58: .4byte gRoomControls thumb_func_start sub_08058B5C sub_08058B5C: @ 0x08058B5C push {r4, r5, lr} - ldr r3, _08058BB4 @ =gUnk_030010A0 + ldr r3, _08058BB4 @ =gScreenTransition movs r0, #0 movs r4, #1 strb r4, [r3, #8] @@ -455,7 +455,7 @@ sub_08058B5C: @ 0x08058B5C bl PlaySFX pop {r4, r5, pc} .align 2, 0 -_08058BB4: .4byte gUnk_030010A0 +_08058BB4: .4byte gScreenTransition _08058BB8: .4byte gRoomControls _08058BBC: .4byte gUnk_081082E8 _08058BC0: .4byte gUnk_02002A40 diff --git a/asm/mazaalBracelet.s b/asm/mazaalBracelet.s index 04664b4f..e5d95297 100644 --- a/asm/mazaalBracelet.s +++ b/asm/mazaalBracelet.s @@ -233,7 +233,7 @@ _0803A2CC: adds r1, r4, #0 bl PositionRelative _0803A310: - ldr r0, _0803A350 @ =gUnk_030010A0 + ldr r0, _0803A350 @ =gScreenTransition adds r0, #0x38 ldrb r0, [r0] cmp r0, #0 @@ -263,7 +263,7 @@ _0803A310: b _0803A360 .align 2, 0 _0803A34C: .4byte 0xFFF00000 -_0803A350: .4byte gUnk_030010A0 +_0803A350: .4byte gScreenTransition _0803A354: movs r0, #1 strb r0, [r4, #0xc] @@ -3166,7 +3166,7 @@ _0803B90C: .4byte gUnk_080CFD20 sub_0803B910: @ 0x0803B910 push {r4, lr} adds r4, r0, #0 - ldr r0, _0803B940 @ =gUnk_030010A0 + ldr r0, _0803B940 @ =gScreenTransition adds r0, #0x38 ldrb r0, [r0] cmp r0, #0 @@ -3188,7 +3188,7 @@ sub_0803B910: @ 0x0803B910 bl sub_0803BA8C b _0803B950 .align 2, 0 -_0803B940: .4byte gUnk_030010A0 +_0803B940: .4byte gScreenTransition _0803B944: movs r0, #1 strb r0, [r4, #0xc] diff --git a/asm/mazaalHead.s b/asm/mazaalHead.s index 03b77b40..ea96d43f 100644 --- a/asm/mazaalHead.s +++ b/asm/mazaalHead.s @@ -74,7 +74,7 @@ sub_08033F3C: @ 0x08033F3C ldrb r0, [r0] cmp r0, #0x42 bhi _08033FFA - ldr r0, _08033F68 @ =gUnk_030010A0 + ldr r0, _08033F68 @ =gScreenTransition adds r0, #0x38 ldrb r0, [r0] cmp r0, #0 @@ -88,7 +88,7 @@ sub_08033F3C: @ 0x08033F3C b _08033F70 .align 2, 0 _08033F64: .4byte gUnk_03003DBC -_08033F68: .4byte gUnk_030010A0 +_08033F68: .4byte gScreenTransition _08033F6C: movs r0, #1 strb r0, [r4, #0xc] @@ -122,7 +122,7 @@ _08033F70: movs r2, #0 bl CreateObject str r4, [r0, #0x50] - ldr r0, _08033FD0 @ =gUnk_030010A0 + ldr r0, _08033FD0 @ =gScreenTransition adds r0, #0x39 ldrb r1, [r0] cmp r1, #0 @@ -138,7 +138,7 @@ _08033F70: strb r0, [r4, #0x10] b _08033FFA .align 2, 0 -_08033FD0: .4byte gUnk_030010A0 +_08033FD0: .4byte gScreenTransition _08033FD4: movs r0, #0x44 movs r1, #0 @@ -732,7 +732,7 @@ sub_0803443C: @ 0x0803443C adds r1, #0x7d movs r0, #0 strb r0, [r1] - ldr r0, _0803445C @ =gUnk_030010A0 + ldr r0, _0803445C @ =gScreenTransition adds r0, #0x39 ldrb r0, [r0] cmp r0, #0x1e @@ -741,7 +741,7 @@ sub_0803443C: @ 0x0803443C bl sub_080344BC b _08034472 .align 2, 0 -_0803445C: .4byte gUnk_030010A0 +_0803445C: .4byte gScreenTransition _08034460: cmp r0, #0x3c bhi _0803446C @@ -1831,7 +1831,7 @@ sub_08034C00: @ 0x08034C00 bl CheckPlayerInRegion cmp r0, #0 beq _08034C5A - ldr r0, _08034C4C @ =gUnk_030010A0 + ldr r0, _08034C4C @ =gScreenTransition adds r0, #0x39 ldrb r0, [r0] cmp r0, #0x3c @@ -1842,7 +1842,7 @@ sub_08034C00: @ 0x08034C00 .align 2, 0 _08034C44: .4byte gLinkState _08034C48: .4byte gRoomControls -_08034C4C: .4byte gUnk_030010A0 +_08034C4C: .4byte gScreenTransition _08034C50: .4byte gUnk_080CED88 _08034C54: ldr r0, _08034C5C @ =gUnk_080CED9C diff --git a/asm/mazaalMacro.s b/asm/mazaalMacro.s index d294485a..5d4ff187 100644 --- a/asm/mazaalMacro.s +++ b/asm/mazaalMacro.s @@ -193,7 +193,7 @@ _08034DC4: sub_08034DC8: @ 0x08034DC8 push {r4, r5, lr} adds r4, r0, #0 - ldr r0, _08034E10 @ =gUnk_030010A0 + ldr r0, _08034E10 @ =gScreenTransition adds r0, #0x39 ldrb r0, [r0] cmp r0, #0 @@ -226,7 +226,7 @@ sub_08034DC8: @ 0x08034DC8 _08034E0E: pop {r4, r5, pc} .align 2, 0 -_08034E10: .4byte gUnk_030010A0 +_08034E10: .4byte gScreenTransition _08034E14: .4byte gRoomControls thumb_func_start sub_08034E18 @@ -290,7 +290,7 @@ sub_08034E68: @ 0x08034E68 adds r0, r4, #0 bl sub_08035120 _08034E8A: - ldr r0, _08034EB0 @ =gUnk_030010A0 + ldr r0, _08034EB0 @ =gScreenTransition adds r0, #0x39 ldrb r0, [r0] cmp r0, #0 @@ -308,7 +308,7 @@ _08034E8A: str r0, [r1] b _08034EBC .align 2, 0 -_08034EB0: .4byte gUnk_030010A0 +_08034EB0: .4byte gScreenTransition _08034EB4: .4byte gUnk_08012E20 _08034EB8: bl DeleteThisEntity @@ -411,7 +411,7 @@ _08034F6C: .4byte gUnk_0813ABA8 sub_08034F70: @ 0x08034F70 push {lr} adds r2, r0, #0 - ldr r0, _08034F8C @ =gUnk_030010A0 + ldr r0, _08034F8C @ =gScreenTransition adds r0, #0x39 ldrb r0, [r0] adds r1, r2, #0 @@ -424,7 +424,7 @@ sub_08034F70: @ 0x08034F70 movs r0, #0 b _08034F9A .align 2, 0 -_08034F8C: .4byte gUnk_030010A0 +_08034F8C: .4byte gScreenTransition _08034F90: cmp r0, #0x1e bls _08034F98 @@ -496,12 +496,12 @@ _08035008: adds r5, r0, #0 cmp r1, #0x3b bhi _08035040 - ldr r0, _0803501C @ =gUnk_030010A0 + ldr r0, _0803501C @ =gScreenTransition adds r0, #0x39 movs r1, #0x3c b _08035032 .align 2, 0 -_0803501C: .4byte gUnk_030010A0 +_0803501C: .4byte gScreenTransition _08035020: adds r0, r4, #0 adds r0, #0x45 @@ -509,7 +509,7 @@ _08035020: adds r5, r0, #0 cmp r1, #0x1d bhi _08035040 - ldr r0, _0803503C @ =gUnk_030010A0 + ldr r0, _0803503C @ =gScreenTransition adds r0, #0x39 movs r1, #0x1e _08035032: @@ -518,16 +518,16 @@ _08035032: bl sub_08035050 b _08035048 .align 2, 0 -_0803503C: .4byte gUnk_030010A0 +_0803503C: .4byte gScreenTransition _08035040: - ldr r0, _0803504C @ =gUnk_030010A0 + ldr r0, _0803504C @ =gScreenTransition ldrb r1, [r5] adds r0, #0x39 strb r1, [r0] _08035048: pop {r4, r5, r6, pc} .align 2, 0 -_0803504C: .4byte gUnk_030010A0 +_0803504C: .4byte gScreenTransition thumb_func_start sub_08035050 sub_08035050: @ 0x08035050 @@ -585,7 +585,7 @@ _080350A6: lsrs r0, r0, #4 cmp r6, r0 beq _080350A6 - ldr r2, _080350DC @ =gUnk_030010A0 + ldr r2, _080350DC @ =gScreenTransition adds r2, #0x38 ldrb r1, [r2] movs r0, #0xf @@ -603,7 +603,7 @@ _080350D0: b _080350F2 .align 2, 0 _080350D8: .4byte gUnk_030010D8 -_080350DC: .4byte gUnk_030010A0 +_080350DC: .4byte gScreenTransition _080350E0: .4byte gUnk_080CEECC _080350E4: .4byte gRoomControls _080350E8: diff --git a/asm/minishLight.s b/asm/minishLight.s deleted file mode 100644 index f824b8a3..00000000 --- a/asm/minishLight.s +++ /dev/null @@ -1,81 +0,0 @@ - .include "asm/macros.inc" - - .include "constants/constants.inc" - - .syntax unified - - .text - - - thumb_func_start MinishLight -MinishLight: @ 0x0809F828 - push {lr} - ldr r2, _0809F83C @ =gUnk_081247F8 - ldrb r1, [r0, #0xc] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_0809F83C: .4byte gUnk_081247F8 - - thumb_func_start sub_0809F840 -sub_0809F840: @ 0x0809F840 - push {lr} - adds r2, r0, #0 - movs r1, #0 - movs r0, #1 - strb r0, [r2, #0xc] - strb r1, [r2, #0x1e] - movs r0, #0x20 - strb r0, [r2, #0xe] - strb r1, [r2, #0xf] - ldrb r0, [r2, #0xb] - cmp r0, #0 - beq _0809F860 - ldrb r0, [r2, #0x18] - movs r1, #0x40 - orrs r0, r1 - strb r0, [r2, #0x18] -_0809F860: - adds r0, r2, #0 - bl UpdateSpriteForCollisionLayer - pop {pc} - - thumb_func_start sub_0809F868 -sub_0809F868: @ 0x0809F868 - push {lr} - adds r1, r0, #0 - ldrb r0, [r1, #0xe] - subs r0, #1 - strb r0, [r1, #0xe] - movs r2, #0xff - lsls r0, r0, #0x18 - cmp r0, #0 - bne _0809F8A2 - ldrb r0, [r1, #0xf] - cmp r0, #0 - bne _0809F890 - ldrb r0, [r1, #0x1e] - adds r0, #1 - strb r0, [r1, #0x1e] - ands r0, r2 - cmp r0, #3 - bne _0809F89E - movs r0, #1 - b _0809F89C -_0809F890: - ldrb r0, [r1, #0x1e] - subs r0, #1 - strb r0, [r1, #0x1e] - ands r0, r2 - cmp r0, #0 - bne _0809F89E -_0809F89C: - strb r0, [r1, #0xf] -_0809F89E: - movs r0, #0x20 - strb r0, [r1, #0xe] -_0809F8A2: - pop {pc} diff --git a/asm/moldworm.s b/asm/moldworm.s index 3db9e88b..3b33afac 100644 --- a/asm/moldworm.s +++ b/asm/moldworm.s @@ -549,7 +549,7 @@ _08023440: subs r0, #1 strb r0, [r1] _08023460: - ldr r0, _080234A0 @ =gUnk_030010A0 + ldr r0, _080234A0 @ =gScreenTransition ldr r0, [r0] movs r1, #7 ands r0, r1 @@ -579,7 +579,7 @@ _08023460: _0802349C: pop {r4, r5, r6, pc} .align 2, 0 -_080234A0: .4byte gUnk_030010A0 +_080234A0: .4byte gScreenTransition thumb_func_start sub_080234A4 sub_080234A4: @ 0x080234A4 diff --git a/asm/non_matching/bigGoron/sub_0806CF30.inc b/asm/non_matching/bigGoron/sub_0806CF30.inc index fa2f17e7..49f33c3c 100644 --- a/asm/non_matching/bigGoron/sub_0806CF30.inc +++ b/asm/non_matching/bigGoron/sub_0806CF30.inc @@ -40,7 +40,7 @@ _0806CF6C: bgt _0806D000 cmp r0, #0 blt _0806D000 - ldr r0, _0806CFCC @ =gUnk_030010A0 + ldr r0, _0806CFCC @ =gScreenTransition ldr r0, [r0] movs r1, #3 ands r0, r1 @@ -83,7 +83,7 @@ _0806CFA8: strh r0, [r5, #0x2e] b _0806D000 .align 2, 0 -_0806CFCC: .4byte gUnk_030010A0 +_0806CFCC: .4byte gScreenTransition _0806CFD0: .4byte gLinkEntity _0806CFD4: ldrb r0, [r5, #0xe] diff --git a/asm/non_matching/minecart/sub_080919AC.inc b/asm/non_matching/minecart/sub_080919AC.inc index e7c12d24..a3dfeadd 100644 --- a/asm/non_matching/minecart/sub_080919AC.inc +++ b/asm/non_matching/minecart/sub_080919AC.inc @@ -98,7 +98,7 @@ _08091A22: beq _08091A68 b _08091C04 _08091A68: - ldr r0, _08091AD8 @ =gUnk_030010A0 + ldr r0, _08091AD8 @ =gScreenTransition ldr r0, [r0] ands r0, r7 cmp r0, #0 @@ -152,7 +152,7 @@ _08091A92: strb r0, [r5, #0x14] b _08091BD8 .align 2, 0 -_08091AD8: .4byte gUnk_030010A0 +_08091AD8: .4byte gScreenTransition _08091ADC: .4byte gUnk_081223C8 _08091AE0: .4byte gUnk_081223D8 _08091AE4: diff --git a/asm/non_matching/sub_0804C258.inc b/asm/non_matching/sub_0804C258.inc index 74581376..24790e4a 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 @ =gUnk_030010A0 + ldr r0, _0804C28C @ =gScreenTransition ldrb r0, [r0, #0xe] cmp r0, #4 bne _0804C284 @@ -24,5 +24,5 @@ _0804C284: pop {pc} .align 2, 0 _0804C288: .4byte gArea -_0804C28C: .4byte gUnk_030010A0 +_0804C28C: .4byte gScreenTransition .syntax divided \ No newline at end of file diff --git a/asm/non_matching/sub_0804DE00.inc b/asm/non_matching/sub_0804DE00.inc index c3227533..bf30a2b1 100644 --- a/asm/non_matching/sub_0804DE00.inc +++ b/asm/non_matching/sub_0804DE00.inc @@ -60,7 +60,7 @@ _0804DE5C: strh r5, [r0, #4] ldr r0, [r4] strh r6, [r0, #6] - ldr r1, _0804DEC0 @ =gUnk_030010A0 + ldr r1, _0804DEC0 @ =gScreenTransition ldr r0, [r4] ldrh r0, [r0] lsrs r0, r0, #1 @@ -80,7 +80,7 @@ _0804DE5C: _0804DEB4: .4byte gArea _0804DEB8: .4byte 0x0000085C _0804DEBC: .4byte gRoomControls -_0804DEC0: .4byte gUnk_030010A0 +_0804DEC0: .4byte gScreenTransition _0804DEC4: movs r0, #6 movs r1, #0x10 diff --git a/asm/non_matching/sub_08054524.inc b/asm/non_matching/sub_08054524.inc index 7246268a..fd079ac9 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 @ =gUnk_030010A0 + ldr r0, _08054554 @ =gScreenTransition adds r0, #0x2e ldrb r1, [r0] _08054534: @@ -24,7 +24,7 @@ _0805453A: pop {pc} .align 2, 0 _08054550: .4byte gArea -_08054554: .4byte gUnk_030010A0 +_08054554: .4byte gScreenTransition _08054558: .4byte gUnk_080FE1C6 _0805455C: .4byte gUnk_080015BC _08054560: .4byte gUnk_02034398 diff --git a/asm/npc5.s b/asm/npc5.s index 770ffb42..36baa15a 100644 --- a/asm/npc5.s +++ b/asm/npc5.s @@ -2315,7 +2315,7 @@ sub_08061B58: @ 0x08061B58 movs r1, #2 bl InitAnimationForceUpdate _08061B6E: - ldr r0, _08061B88 @ =gUnk_030010A0 + ldr r0, _08061B88 @ =gScreenTransition adds r0, #0x2c ldrb r0, [r0] cmp r0, #2 @@ -2327,4 +2327,4 @@ _08061B7E: bl sub_0806FD3C pop {r4, pc} .align 2, 0 -_08061B88: .4byte gUnk_030010A0 +_08061B88: .4byte gScreenTransition diff --git a/asm/object17.s b/asm/object17.s index 5751e135..93768f63 100644 --- a/asm/object17.s +++ b/asm/object17.s @@ -84,7 +84,7 @@ sub_08086234: @ 0x08086234 ldrb r0, [r4, #0xa] cmp r0, #0 beq _08086258 - ldr r0, _08086254 @ =gUnk_030010A0 + ldr r0, _08086254 @ =gScreenTransition 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 gUnk_030010A0 +_08086254: .4byte gScreenTransition _08086258: adds r0, r4, #0 bl GetNextFrame diff --git a/asm/object3E.s b/asm/object3E.s index fbc0c6ff..16fea14e 100644 --- a/asm/object3E.s +++ b/asm/object3E.s @@ -171,7 +171,7 @@ _0808D1AE: _0808D1F4: .4byte 0x00004069 _0808D1F8: .4byte gRoomControls _0808D1FC: - ldr r0, _0808D274 @ =gUnk_030010A0 + ldr r0, _0808D274 @ =gScreenTransition 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 gUnk_030010A0 +_0808D274: .4byte gScreenTransition _0808D278: .4byte gScreen _0808D27C: .4byte gUnk_08121704 @@ -339,7 +339,7 @@ _0808D31C: ldrsh r0, [r4, r1] cmp r5, r0 beq _0808D350 - ldr r0, _0808D358 @ =gUnk_030010A0 + ldr r0, _0808D358 @ =gScreenTransition 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 gUnk_030010A0 +_0808D358: .4byte gScreenTransition _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 @ =gUnk_030010A0 + ldr r0, _0808D58C @ =gScreenTransition 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 gUnk_030010A0 +_0808D58C: .4byte gScreenTransition _0808D590: .4byte gScreen _0808D594: .4byte 0x00004069 _0808D598: .4byte gRoomControls diff --git a/asm/object43.s b/asm/object43.s index 4e66c681..57064728 100644 --- a/asm/object43.s +++ b/asm/object43.s @@ -240,7 +240,7 @@ _0808E084: ldrh r0, [r5] cmp r0, #0 beq _0808E0BC - ldr r0, _0808E0B8 @ =gUnk_030010A0 + ldr r0, _0808E0B8 @ =gScreenTransition ldr r1, [r0] movs r0, #0x1f ands r1, r0 @@ -260,7 +260,7 @@ _0808E084: strb r1, [r0] b _0808E0E4 .align 2, 0 -_0808E0B8: .4byte gUnk_030010A0 +_0808E0B8: .4byte gScreenTransition _0808E0BC: ldr r0, _0808E140 @ =0x00000115 bl sub_08004488 @@ -446,7 +446,7 @@ sub_0808E208: @ 0x0808E208 ldrb r0, [r0, #0x1b] cmp r0, #0 beq _0808E248 - ldr r0, _0808E244 @ =gUnk_030010A0 + ldr r0, _0808E244 @ =gScreenTransition ldr r0, [r0] movs r1, #3 ands r0, r1 @@ -464,7 +464,7 @@ sub_0808E208: @ 0x0808E208 b _0808E24C .align 2, 0 _0808E240: .4byte gLinkState -_0808E244: .4byte gUnk_030010A0 +_0808E244: .4byte gScreenTransition _0808E248: bl DeleteThisEntity _0808E24C: diff --git a/asm/object48.s b/asm/object48.s deleted file mode 100644 index 6fa30149..00000000 --- a/asm/object48.s +++ /dev/null @@ -1,1244 +0,0 @@ - .include "asm/macros.inc" - - .include "constants/constants.inc" - - .syntax unified - - .text - - - thumb_func_start Object48 -Object48: @ 0x0808E7A0 - push {r4, lr} - adds r4, r0, #0 - adds r0, #0x45 - ldrb r0, [r0] - cmp r0, #0 - bne _0808E7B2 - adds r0, r4, #0 - bl sub_0808EFF0 -_0808E7B2: - ldr r1, _0808E7D4 @ =gUnk_08121C64 - ldrb r0, [r4, #0xa] - lsls r0, r0, #2 - adds r0, r0, r1 - ldr r1, [r0] - adds r0, r4, #0 - bl _call_via_r1 - adds r0, r4, #0 - adds r0, #0x58 - ldrb r0, [r0] - cmp r0, #0x3f - bhi _0808E7D2 - adds r0, r4, #0 - bl UpdateAnimationSingleFrame -_0808E7D2: - pop {r4, pc} - .align 2, 0 -_0808E7D4: .4byte gUnk_08121C64 - - thumb_func_start sub_0808E7D8 -sub_0808E7D8: @ 0x0808E7D8 - push {lr} - ldr r2, _0808E7EC @ =gUnk_08121CCC - ldrb r1, [r0, #0xc] - lsls r1, r1, #2 - adds r1, r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {pc} - .align 2, 0 -_0808E7EC: .4byte gUnk_08121CCC - - thumb_func_start sub_0808E7F0 -sub_0808E7F0: @ 0x0808E7F0 - push {r4, lr} - adds r4, r0, #0 - movs r1, #1 - movs r2, #2 - bl sub_080AE008 - ldrb r0, [r4, #0x1a] - movs r1, #0xf - orrs r0, r1 - strb r0, [r4, #0x1a] - ldrb r1, [r4, #0x18] - movs r0, #4 - rsbs r0, r0, #0 - ands r0, r1 - strb r0, [r4, #0x18] - movs r0, #0xff - strb r0, [r4, #0xb] - movs r0, #1 - strb r0, [r4, #0xc] - pop {r4, pc} - - thumb_func_start sub_0808E818 -sub_0808E818: @ 0x0808E818 - push {r4, r5, r6, lr} - adds r4, r0, #0 - bl sub_0808E950 - cmp r0, #0 - bne _0808E840 - movs r1, #1 - rsbs r1, r1, #0 - strb r1, [r4, #0xb] - adds r0, r4, #0 - adds r0, #0x68 - strh r1, [r0] - adds r0, #2 - strh r1, [r0] - ldrb r1, [r4, #0x18] - movs r0, #4 - rsbs r0, r0, #0 - ands r0, r1 - strb r0, [r4, #0x18] - b _0808E94E -_0808E840: - ldr r0, _0808E8C0 @ =gUnk_02019EE0 - ldrb r1, [r0, #6] - ldrb r0, [r4, #0xb] - adds r6, r4, #0 - adds r6, #0x68 - adds r5, r4, #0 - adds r5, #0x70 - cmp r0, r1 - beq _0808E894 - strb r1, [r4, #0xb] - movs r0, #0x14 - bl CheckGlobalFlag - movs r2, #0x80 - lsls r2, r2, #1 - adds r1, r2, #0 - cmp r0, #0 - bne _0808E86A - movs r0, #0x80 - lsls r0, r0, #3 - adds r1, r0, #0 -_0808E86A: - strh r1, [r6] - movs r0, #4 - strb r0, [r5] - movs r0, #2 - strb r0, [r4, #0x14] - movs r0, #1 - bl sub_0807A094 - ldr r1, _0808E8C4 @ =gUnk_08133368 - subs r0, #0x16 - lsls r0, r0, #2 - adds r0, r0, r1 - ldr r0, [r0] - ldr r1, _0808E8C8 @ =0x00FFFFFF - ands r0, r1 - ldr r1, _0808E8CC @ =gUnk_085A2E80 - adds r0, r0, r1 - movs r1, #0x1f - movs r2, #1 - bl sub_0801D754 -_0808E894: - ldr r0, _0808E8D0 @ =gUnk_02032EC0 - ldrb r2, [r0, #2] - cmp r2, #0 - bne _0808E904 - ldr r3, _0808E8D4 @ =gUnk_03000FF0 - ldrh r1, [r3] - movs r0, #0x80 - lsls r0, r0, #2 - ands r0, r1 - cmp r0, #0 - beq _0808E904 - ldrh r1, [r3, #2] - cmp r1, #0x20 - beq _0808E8F2 - cmp r1, #0x20 - bgt _0808E8D8 - cmp r1, #2 - beq _0808E8F8 - cmp r1, #0x10 - beq _0808E8E6 - b _0808E904 - .align 2, 0 -_0808E8C0: .4byte gUnk_02019EE0 -_0808E8C4: .4byte gUnk_08133368 -_0808E8C8: .4byte 0x00FFFFFF -_0808E8CC: .4byte gUnk_085A2E80 -_0808E8D0: .4byte gUnk_02032EC0 -_0808E8D4: .4byte gUnk_03000FF0 -_0808E8D8: - cmp r1, #0x40 - beq _0808E8E2 - cmp r1, #0x80 - beq _0808E8EC - b _0808E904 -_0808E8E2: - strb r2, [r4, #0x14] - b _0808E904 -_0808E8E6: - movs r0, #1 - strb r0, [r4, #0x14] - b _0808E904 -_0808E8EC: - movs r0, #2 - strb r0, [r4, #0x14] - b _0808E904 -_0808E8F2: - movs r0, #3 - strb r0, [r4, #0x14] - b _0808E904 -_0808E8F8: - ldrb r0, [r5] - movs r1, #0 - cmp r0, #0 - bne _0808E902 - movs r1, #4 -_0808E902: - strb r1, [r5] -_0808E904: - movs r2, #0 - ldrb r0, [r4, #0x14] - cmp r0, #3 - bne _0808E90E - movs r2, #1 -_0808E90E: - lsls r2, r2, #6 - ldrb r1, [r4, #0x18] - movs r0, #0x41 - rsbs r0, r0, #0 - ands r0, r1 - orrs r0, r2 - strb r0, [r4, #0x18] - ldrh r0, [r6] - ldrb r1, [r5] - adds r0, r0, r1 - ldrb r2, [r4, #0x14] - adds r1, r0, r2 - adds r2, r4, #0 - adds r2, #0x6a - ldrh r0, [r2] - cmp r0, r1 - beq _0808E940 - strh r1, [r2] - lsrs r0, r1, #8 - strh r0, [r4, #0x12] - lsls r1, r1, #0x18 - lsrs r1, r1, #0x18 - adds r0, r4, #0 - bl InitAnimationForceUpdate -_0808E940: - ldrb r0, [r4, #0x18] - movs r1, #4 - rsbs r1, r1, #0 - ands r1, r0 - movs r0, #2 - orrs r1, r0 - strb r1, [r4, #0x18] -_0808E94E: - pop {r4, r5, r6, pc} - - thumb_func_start sub_0808E950 -sub_0808E950: @ 0x0808E950 - push {lr} - movs r2, #0 - ldr r0, _0808E980 @ =gUnk_02032EC0 - ldrb r0, [r0, #2] - cmp r0, #0 - beq _0808E968 - cmp r0, #0 - blt _0808E97C - cmp r0, #7 - bgt _0808E97C - cmp r0, #4 - blt _0808E97C -_0808E968: - ldr r0, _0808E984 @ =gUnk_02019EE0 - adds r1, r0, #0 - adds r1, #8 - ldrb r0, [r0, #6] - adds r1, r1, r0 - movs r0, #0 - ldrsb r0, [r1, r0] - cmp r0, #1 - bne _0808E97C - movs r2, #1 -_0808E97C: - adds r0, r2, #0 - pop {pc} - .align 2, 0 -_0808E980: .4byte gUnk_02032EC0 -_0808E984: .4byte gUnk_02019EE0 - - thumb_func_start sub_0808E988 -sub_0808E988: @ 0x0808E988 - push {r4, r5, lr} - adds r5, r0, #0 - ldrb r0, [r5, #0xc] - cmp r0, #0 - bne _0808E9AA - movs r0, #1 - strb r0, [r5, #0xc] - movs r0, #0xa1 - lsls r0, r0, #1 - strh r0, [r5, #0x12] - movs r0, #0xff - strb r0, [r5, #0xb] - adds r0, r5, #0 - movs r1, #1 - movs r2, #3 - bl sub_080AE008 -_0808E9AA: - bl sub_0808E950 - cmp r0, #0 - beq _0808E9E8 - movs r4, #6 - b _0808E9BC -_0808E9B6: - subs r4, #1 - cmp r4, #0 - beq _0808E9E8 -_0808E9BC: - adds r0, r4, #0 - bl GetInventoryValue - cmp r0, #0 - beq _0808E9B6 - cmp r4, #0 - beq _0808E9E8 - ldrb r0, [r5, #0xb] - cmp r0, r4 - beq _0808E9D8 - adds r0, r5, #0 - adds r1, r4, #0 - bl InitAnimationForceUpdate -_0808E9D8: - ldrb r0, [r5, #0x18] - movs r1, #4 - rsbs r1, r1, #0 - ands r1, r0 - movs r0, #2 - orrs r1, r0 - strb r1, [r5, #0x18] - b _0808E9F2 -_0808E9E8: - ldrb r1, [r5, #0x18] - movs r0, #4 - rsbs r0, r0, #0 - ands r0, r1 - strb r0, [r5, #0x18] -_0808E9F2: - pop {r4, r5, pc} - - thumb_func_start sub_0808E9F4 -sub_0808E9F4: @ 0x0808E9F4 - push {r4, lr} - adds r4, r0, #0 - bl sub_0808E950 - cmp r0, #0 - beq _0808EA1C - ldr r0, _0808EA18 @ =gUnk_02002A40 - ldrb r0, [r0, #6] - cmp r0, #0 - beq _0808EA1C - ldrb r0, [r4, #0x18] - movs r1, #4 - rsbs r1, r1, #0 - ands r1, r0 - movs r0, #2 - orrs r1, r0 - strb r1, [r4, #0x18] - b _0808EA26 - .align 2, 0 -_0808EA18: .4byte gUnk_02002A40 -_0808EA1C: - ldrb r1, [r4, #0x18] - movs r0, #4 - rsbs r0, r0, #0 - ands r0, r1 - strb r0, [r4, #0x18] -_0808EA26: - pop {r4, pc} - - thumb_func_start sub_0808EA28 -sub_0808EA28: @ 0x0808EA28 - push {r4, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xa] - cmp r0, #3 - bne _0808EA56 - movs r0, #0x80 - lsls r0, r0, #0x12 - ldrb r0, [r0, #7] - cmp r0, #1 - bls _0808EA4C - ldrb r0, [r4, #0x18] - movs r1, #4 - rsbs r1, r1, #0 - ands r1, r0 - movs r0, #2 - orrs r1, r0 - strb r1, [r4, #0x18] - b _0808EA56 -_0808EA4C: - ldrb r1, [r4, #0x18] - movs r0, #4 - rsbs r0, r0, #0 - ands r0, r1 - strb r0, [r4, #0x18] -_0808EA56: - ldr r2, _0808EA68 @ =gUnk_02019EE0 - ldrb r1, [r4, #0xa] - ldrb r0, [r2, #6] - cmp r1, r0 - bne _0808EA6C - movs r3, #0xc - movs r2, #1 - b _0808EA88 - .align 2, 0 -_0808EA68: .4byte gUnk_02019EE0 -_0808EA6C: - ldr r0, _0808EA80 @ =gUnk_02032EC0 - ldrb r0, [r0, #2] - cmp r0, #5 - bne _0808EA84 - ldrb r2, [r2, #7] - cmp r1, r2 - bne _0808EA84 - movs r3, #0xd - b _0808EA86 - .align 2, 0 -_0808EA80: .4byte gUnk_02032EC0 -_0808EA84: - movs r3, #0xe -_0808EA86: - movs r2, #2 -_0808EA88: - ldrb r1, [r4, #0x1a] - movs r0, #0x10 - rsbs r0, r0, #0 - ands r0, r1 - orrs r0, r3 - strb r0, [r4, #0x1a] - lsls r2, r2, #6 - ldrb r1, [r4, #0x19] - movs r0, #0x3f - ands r0, r1 - orrs r0, r2 - strb r0, [r4, #0x19] - adds r0, r4, #0 - bl sub_0808EABC - adds r0, r4, #0 - bl sub_0808EF6C - ldr r2, _0808EAB8 @ =gUnk_02019EE0 - ldrb r1, [r2] - orrs r0, r1 - strb r0, [r2] - pop {r4, pc} - .align 2, 0 -_0808EAB8: .4byte gUnk_02019EE0 - - thumb_func_start sub_0808EABC -sub_0808EABC: @ 0x0808EABC - push {r4, r5, lr} - adds r5, r0, #0 - movs r4, #0x48 - rsbs r4, r4, #0 - ldrb r1, [r5, #0xa] - lsls r0, r1, #5 - adds r2, r0, #0 - adds r2, #0x28 - movs r3, #0 - ldr r0, _0808EAEC @ =gUnk_02019EE0 - ldrb r0, [r0, #6] - cmp r0, r1 - bne _0808EAD8 - movs r3, #1 -_0808EAD8: - ldr r0, _0808EAF0 @ =gUnk_02032EC0 - ldrb r0, [r0, #2] - cmp r0, #7 - bhi _0808EB60 - lsls r0, r0, #2 - ldr r1, _0808EAF4 @ =_0808EAF8 - adds r0, r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0808EAEC: .4byte gUnk_02019EE0 -_0808EAF0: .4byte gUnk_02032EC0 -_0808EAF4: .4byte _0808EAF8 -_0808EAF8: @ jump table - .4byte _0808EB18 @ case 0 - .4byte _0808EB60 @ case 1 - .4byte _0808EB56 @ case 2 - .4byte _0808EB1C @ case 3 - .4byte _0808EB1C @ case 4 - .4byte _0808EB26 @ case 5 - .4byte _0808EB1C @ case 6 - .4byte _0808EB1C @ case 7 -_0808EB18: - movs r4, #0x18 - b _0808EB68 -_0808EB1C: - cmp r3, #0 - beq _0808EB68 - movs r4, #0x2a - movs r2, #0x38 - b _0808EB68 -_0808EB26: - ldr r3, _0808EB3C @ =gMenu - adds r0, r3, #0 - adds r0, #0x10 - ldrb r1, [r5, #0xa] - adds r0, r0, r1 - ldrb r1, [r0] - cmp r1, #0 - bne _0808EB40 - movs r4, #0x2a - movs r2, #0x28 - b _0808EB68 - .align 2, 0 -_0808EB3C: .4byte gMenu -_0808EB40: - cmp r1, #0 - blt _0808EB68 - cmp r1, #2 - bgt _0808EB68 - movs r4, #0x14 - movs r2, #0x90 - ldrb r0, [r3, #0x16] - subs r0, r0, r1 - lsls r0, r0, #5 - subs r2, r2, r0 - b _0808EB68 -_0808EB56: - cmp r3, #0 - beq _0808EB68 - movs r4, #0x1a - movs r2, #0x2a - b _0808EB68 -_0808EB60: - cmp r3, #0 - beq _0808EB68 - movs r4, #8 - movs r2, #0x23 -_0808EB68: - adds r0, r5, #0 - adds r0, #0x68 - strh r4, [r0] - adds r0, #2 - strh r2, [r0] - pop {r4, r5, pc} - - thumb_func_start sub_0808EB74 -sub_0808EB74: @ 0x0808EB74 - push {r4, lr} - adds r4, r0, #0 - ldr r0, _0808EBA8 @ =gUnk_02019EE0 - ldrb r0, [r0, #6] - bl sub_0808EC80 - adds r3, r0, #0 - cmp r3, #0 - beq _0808EBAC - ldr r0, [r3, #0x2c] - str r0, [r4, #0x2c] - ldr r0, [r3, #0x30] - str r0, [r4, #0x30] - ldrb r1, [r3, #0x19] - lsrs r1, r1, #6 - lsls r1, r1, #6 - ldrb r2, [r4, #0x19] - movs r0, #0x3f - ands r0, r2 - orrs r0, r1 - strb r0, [r4, #0x19] - adds r0, r3, #0 - adds r1, r4, #0 - bl sub_0806FAD8 - b _0808EBB4 - .align 2, 0 -_0808EBA8: .4byte gUnk_02019EE0 -_0808EBAC: - movs r0, #0xf0 - lsls r0, r0, #8 - strh r0, [r4, #0x2e] - strh r0, [r4, #0x32] -_0808EBB4: - pop {r4, pc} - .align 2, 0 - - thumb_func_start sub_0808EBB8 -sub_0808EBB8: @ 0x0808EBB8 - push {r4, r5, r6, r7, lr} - adds r7, r0, #0 - ldr r0, _0808EBD0 @ =gUnk_02032EC0 - ldrb r0, [r0, #2] - subs r0, #2 - cmp r0, #5 - bhi _0808EC1C - lsls r0, r0, #2 - ldr r1, _0808EBD4 @ =_0808EBD8 - adds r0, r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0808EBD0: .4byte gUnk_02032EC0 -_0808EBD4: .4byte _0808EBD8 -_0808EBD8: @ jump table - .4byte _0808EC18 @ case 0 - .4byte _0808EC1C @ case 1 - .4byte _0808EBF0 @ case 2 - .4byte _0808EBFC @ case 3 - .4byte _0808EC00 @ case 4 - .4byte _0808EC14 @ case 5 -_0808EBF0: - ldr r0, _0808EBF8 @ =gMenu - ldrb r0, [r0, #1] - adds r1, r0, #4 - b _0808EC1E - .align 2, 0 -_0808EBF8: .4byte gMenu -_0808EBFC: - movs r1, #2 - b _0808EC1E -_0808EC00: - ldr r0, _0808EC10 @ =gMenu - ldrb r0, [r0, #1] - movs r1, #6 - cmp r0, #0 - bne _0808EC1E - movs r1, #7 - b _0808EC1E - .align 2, 0 -_0808EC10: .4byte gMenu -_0808EC14: - movs r1, #4 - b _0808EC1E -_0808EC18: - movs r1, #1 - b _0808EC1E -_0808EC1C: - movs r1, #0 -_0808EC1E: - movs r5, #0xf0 - lsls r5, r5, #8 - adds r6, r5, #0 - cmp r1, #1 - beq _0808EC32 - cmp r1, #1 - blo _0808EC76 - cmp r1, #2 - beq _0808EC42 - b _0808EC4C -_0808EC32: - movs r0, #0x80 - lsls r0, r0, #0x12 - ldrb r0, [r0, #7] - lsls r0, r0, #4 - adds r5, r0, #0 - adds r5, #0x18 - movs r6, #0x70 - b _0808EC76 -_0808EC42: - ldr r0, _0808EC7C @ =gUnk_02019EE0 - ldrb r1, [r0, #7] - cmp r1, #4 - bne _0808EC4C - movs r1, #7 -_0808EC4C: - adds r0, r1, #0 - bl sub_0808EC80 - adds r4, r0, #0 - cmp r4, #0 - beq _0808EC76 - adds r1, r7, #0 - bl sub_0806FAD8 - ldrb r0, [r4, #0x19] - lsrs r0, r0, #6 - lsls r0, r0, #6 - ldrb r2, [r7, #0x19] - movs r1, #0x3f - ands r1, r2 - orrs r1, r0 - strb r1, [r7, #0x19] - movs r0, #0x2e - ldrsh r6, [r4, r0] - movs r0, #0x32 - ldrsh r5, [r4, r0] -_0808EC76: - strh r6, [r7, #0x2e] - strh r5, [r7, #0x32] - pop {r4, r5, r6, r7, pc} - .align 2, 0 -_0808EC7C: .4byte gUnk_02019EE0 - - thumb_func_start sub_0808EC80 -sub_0808EC80: @ 0x0808EC80 - push {r4, r5, r6, lr} - adds r4, r0, #0 - ldr r3, _0808ECA4 @ =gUnk_03003DA0 - ldr r2, [r3, #4] - cmp r2, r3 - beq _0808ECB6 - ldr r6, _0808ECA8 @ =0x0000FFFF - ldr r5, _0808ECAC @ =0x00004806 -_0808EC90: - ldrh r1, [r2, #8] - adds r0, r6, #0 - ands r0, r1 - cmp r0, r5 - bne _0808ECB0 - ldrb r0, [r2, #0xa] - cmp r4, r0 - bne _0808ECB0 - adds r0, r2, #0 - b _0808ECB8 - .align 2, 0 -_0808ECA4: .4byte gUnk_03003DA0 -_0808ECA8: .4byte 0x0000FFFF -_0808ECAC: .4byte 0x00004806 -_0808ECB0: - ldr r2, [r2, #4] - cmp r2, r3 - bne _0808EC90 -_0808ECB6: - movs r0, #0 -_0808ECB8: - pop {r4, r5, r6, pc} - .align 2, 0 - - thumb_func_start sub_0808ECBC -sub_0808ECBC: @ 0x0808ECBC - push {r4, lr} - adds r3, r0, #0 - ldr r0, _0808ECD8 @ =gMenu - ldrb r4, [r0, #1] - ldr r0, _0808ECDC @ =gUnk_02032EC0 - ldrb r0, [r0, #2] - cmp r0, #5 - beq _0808ECEE - cmp r0, #5 - bgt _0808ECE0 - cmp r0, #4 - beq _0808ECEA - b _0808ED04 - .align 2, 0 -_0808ECD8: .4byte gMenu -_0808ECDC: .4byte gUnk_02032EC0 -_0808ECE0: - cmp r0, #6 - beq _0808ECFC - cmp r0, #7 - beq _0808ED00 - b _0808ED04 -_0808ECEA: - movs r0, #1 - b _0808ED06 -_0808ECEE: - ldr r0, _0808ECF8 @ =gUnk_02019EE0 - ldrb r4, [r0, #7] - movs r0, #2 - b _0808ED06 - .align 2, 0 -_0808ECF8: .4byte gUnk_02019EE0 -_0808ECFC: - movs r0, #3 - b _0808ED06 -_0808ED00: - movs r0, #4 - b _0808ED06 -_0808ED04: - movs r0, #0 -_0808ED06: - ldrb r2, [r3, #0xa] - subs r2, #4 - lsls r1, r0, #1 - adds r1, r1, r0 - lsls r1, r1, #2 - lsls r0, r2, #1 - adds r0, r0, r2 - ldr r2, _0808ED3C @ =gUnk_08121CD4 - adds r0, r0, r2 - adds r1, r1, r0 - ldrb r2, [r1, #1] - adds r0, r3, #0 - adds r0, #0x68 - strh r2, [r0] - ldrb r0, [r1, #2] - adds r2, r3, #0 - adds r2, #0x6a - strh r0, [r2] - ldrb r0, [r1] - cmp r0, r4 - bne _0808ED40 - ldrb r0, [r3, #0x1a] - movs r1, #0x10 - rsbs r1, r1, #0 - ands r1, r0 - movs r0, #0xd - b _0808ED4A - .align 2, 0 -_0808ED3C: .4byte gUnk_08121CD4 -_0808ED40: - ldrb r0, [r3, #0x1a] - movs r1, #0x10 - rsbs r1, r1, #0 - ands r1, r0 - movs r0, #0xe -_0808ED4A: - orrs r1, r0 - strb r1, [r3, #0x1a] - adds r0, r3, #0 - bl sub_0808EF6C - ldr r2, _0808ED60 @ =gUnk_02019EE0 - ldrb r1, [r2] - orrs r0, r1 - strb r0, [r2] - pop {r4, pc} - .align 2, 0 -_0808ED60: .4byte gUnk_02019EE0 - - thumb_func_start sub_0808ED64 -sub_0808ED64: @ 0x0808ED64 - push {lr} - adds r2, r0, #0 - movs r3, #0xff - ldr r0, _0808ED90 @ =gUnk_02032EC0 - ldrb r0, [r0, #2] - cmp r0, #1 - bne _0808ED8A - ldr r1, _0808ED94 @ =gMenu - ldrb r0, [r1, #0x11] - cmp r0, #5 - beq _0808ED8A - ldrb r0, [r1, #0x10] - lsls r0, r0, #4 - adds r0, #0x1c - strh r0, [r2, #0x2e] - ldrb r0, [r1, #0x11] - lsls r0, r0, #4 - adds r3, r0, #0 - adds r3, #0x3a -_0808ED8A: - strh r3, [r2, #0x32] - pop {pc} - .align 2, 0 -_0808ED90: .4byte gUnk_02032EC0 -_0808ED94: .4byte gMenu - - thumb_func_start sub_0808ED98 -sub_0808ED98: @ 0x0808ED98 - push {lr} - adds r3, r0, #0 - ldr r0, _0808EDB4 @ =gUnk_02032EC0 - ldrb r0, [r0, #2] - cmp r0, #1 - beq _0808EDB8 - adds r1, r3, #0 - adds r1, #0x68 - movs r0, #0x1b - strh r0, [r1] - movs r1, #0xa - rsbs r1, r1, #0 - b _0808EDCE - .align 2, 0 -_0808EDB4: .4byte gUnk_02032EC0 -_0808EDB8: - ldr r0, _0808EDF8 @ =gMenu - ldrb r0, [r0, #0x13] - cmp r0, #5 - bls _0808EDC2 - movs r0, #5 -_0808EDC2: - lsls r0, r0, #3 - adds r0, #0x1b - adds r1, r3, #0 - adds r1, #0x68 - strh r0, [r1] - movs r1, #0x18 -_0808EDCE: - strh r1, [r3, #0x32] - adds r0, r3, #0 - adds r0, #0x6a - strh r1, [r0] - ldrb r0, [r3, #0xf] - adds r0, #1 - strb r0, [r3, #0xf] - ldr r2, _0808EDFC @ =gUnk_08121D10 - ldrb r0, [r3, #0xf] - lsrs r0, r0, #2 - movs r1, #7 - ands r0, r1 - adds r0, r0, r2 - ldrb r0, [r0] - adds r1, r3, #0 - adds r1, #0x63 - strb r0, [r1] - adds r0, r3, #0 - bl sub_0808EF6C - pop {pc} - .align 2, 0 -_0808EDF8: .4byte gMenu -_0808EDFC: .4byte gUnk_08121D10 - - thumb_func_start sub_0808EE00 -sub_0808EE00: @ 0x0808EE00 - push {r4, r5, lr} - adds r4, r0, #0 - movs r0, #0x80 - lsls r0, r0, #0x12 - ldrb r0, [r0, #7] - rsbs r2, r0, #0 - orrs r2, r0 - lsrs r2, r2, #0x1f - ldrb r0, [r4, #0xa] - adds r5, r0, #0 - subs r5, #0xa - ldr r1, _0808EE48 @ =gUnk_08121D38 - lsls r0, r2, #3 - adds r0, r5, r0 - adds r0, r0, r1 - ldrb r0, [r0] - strb r0, [r4, #0x1e] - ldr r3, _0808EE4C @ =gUnk_08121D18 - lsls r0, r5, #1 - lsls r1, r2, #4 - adds r0, r0, r1 - adds r0, r0, r3 - ldrh r1, [r0] - strh r1, [r4, #0x2e] - adds r0, r4, #0 - adds r0, #0x68 - strh r1, [r0] - subs r5, r5, r2 - ldr r0, _0808EE50 @ =gUnk_02032EC0 - ldrb r0, [r0, #2] - cmp r0, #1 - beq _0808EE54 - movs r5, #0x80 - movs r1, #0xb0 - b _0808EE56 - .align 2, 0 -_0808EE48: .4byte gUnk_08121D38 -_0808EE4C: .4byte gUnk_08121D18 -_0808EE50: .4byte gUnk_02032EC0 -_0808EE54: - movs r1, #0x8c -_0808EE56: - adds r0, r4, #0 - adds r0, #0x6a - strh r1, [r0] - ldr r1, _0808EE8C @ =gMenu - ldrb r0, [r1, #0x11] - movs r2, #9 - cmp r0, #5 - bne _0808EE6E - ldrb r1, [r1, #0x12] - cmp r5, r1 - bne _0808EE6E - movs r2, #0xb -_0808EE6E: - ldrb r1, [r4, #0x1a] - movs r0, #0x10 - rsbs r0, r0, #0 - ands r0, r1 - orrs r0, r2 - strb r0, [r4, #0x1a] - adds r0, r4, #0 - bl sub_0808EF6C - ldr r2, _0808EE90 @ =gUnk_02019EE0 - ldrb r1, [r2] - orrs r0, r1 - strb r0, [r2] - pop {r4, r5, pc} - .align 2, 0 -_0808EE8C: .4byte gMenu -_0808EE90: .4byte gUnk_02019EE0 - - thumb_func_start nullsub_522 -nullsub_522: @ 0x0808EE94 - bx lr - .align 2, 0 - - thumb_func_start sub_0808EE98 -sub_0808EE98: @ 0x0808EE98 - push {lr} - adds r3, r0, #0 - ldr r0, _0808EEBC @ =gUnk_02032EC0 - ldrb r1, [r0, #2] - strb r1, [r3, #0xe] - ldr r2, _0808EEC0 @ =gUnk_08121D48 - ldrb r0, [r3, #0xe] - adds r0, r0, r2 - ldrb r0, [r0] - strb r0, [r3, #0x1e] - lsls r1, r1, #0x18 - lsrs r1, r1, #0x18 - cmp r1, #2 - beq _0808EEC4 - adds r1, r3, #0 - adds r1, #0x68 - movs r0, #0x60 - b _0808EECA - .align 2, 0 -_0808EEBC: .4byte gUnk_02032EC0 -_0808EEC0: .4byte gUnk_08121D48 -_0808EEC4: - adds r1, r3, #0 - adds r1, #0x68 - ldr r0, _0808EED4 @ =0x0000FFA0 -_0808EECA: - strh r0, [r1] - adds r0, r3, #0 - bl sub_0808EF6C - pop {pc} - .align 2, 0 -_0808EED4: .4byte 0x0000FFA0 - - thumb_func_start sub_0808EED8 -sub_0808EED8: @ 0x0808EED8 - push {lr} - adds r2, r0, #0 - ldr r0, _0808EEF0 @ =gUnk_02032EC0 - ldrb r0, [r0, #2] - cmp r0, #3 - beq _0808EEF4 - ldrb r1, [r2, #0x18] - movs r0, #4 - rsbs r0, r0, #0 - ands r0, r1 - strb r0, [r2, #0x18] - b _0808EF1E - .align 2, 0 -_0808EEF0: .4byte gUnk_02032EC0 -_0808EEF4: - ldrb r1, [r2, #0x18] - movs r0, #4 - rsbs r0, r0, #0 - ands r0, r1 - movs r1, #2 - orrs r0, r1 - strb r0, [r2, #0x18] - ldrb r1, [r2, #0xa] - subs r1, #0x13 - ldr r0, _0808EF20 @ =gMenu - ldrb r0, [r0, #1] - movs r3, #3 - cmp r0, r1 - bne _0808EF12 - movs r3, #4 -_0808EF12: - ldrb r1, [r2, #0x1a] - movs r0, #0x10 - rsbs r0, r0, #0 - ands r0, r1 - orrs r0, r3 - strb r0, [r2, #0x1a] -_0808EF1E: - pop {pc} - .align 2, 0 -_0808EF20: .4byte gMenu - - thumb_func_start sub_0808EF24 -sub_0808EF24: @ 0x0808EF24 - push {lr} - adds r2, r0, #0 - ldr r0, _0808EF3C @ =gUnk_02032EC0 - ldrb r0, [r0, #2] - cmp r0, #3 - beq _0808EF40 - ldrb r1, [r2, #0x18] - movs r0, #4 - rsbs r0, r0, #0 - ands r0, r1 - strb r0, [r2, #0x18] - b _0808EF68 - .align 2, 0 -_0808EF3C: .4byte gUnk_02032EC0 -_0808EF40: - ldrb r1, [r2, #0x18] - movs r0, #4 - rsbs r0, r0, #0 - ands r0, r1 - movs r1, #2 - orrs r0, r1 - strb r0, [r2, #0x18] - ldrb r0, [r2, #0xa] - cmp r0, #0x15 - bne _0808EF5C - movs r0, #0x80 - lsls r0, r0, #0x12 - ldrb r1, [r0, #5] - b _0808EF62 -_0808EF5C: - movs r0, #0x80 - lsls r0, r0, #0x12 - ldrb r1, [r0, #6] -_0808EF62: - ldrb r0, [r2, #0x1f] - adds r0, r0, r1 - strb r0, [r2, #0x1e] -_0808EF68: - pop {pc} - .align 2, 0 - - thumb_func_start sub_0808EF6C -sub_0808EF6C: @ 0x0808EF6C - push {r4, r5, r6, lr} - adds r5, r0, #0 - adds r0, #0x68 - movs r2, #0 - ldrsh r1, [r0, r2] - movs r2, #0x2e - ldrsh r0, [r5, r2] - subs r6, r1, r0 - adds r0, r6, #0 - cmp r6, #0 - bge _0808EF84 - rsbs r0, r6, #0 -_0808EF84: - cmp r0, #1 - bhi _0808EF8E - lsls r0, r1, #0x10 - str r0, [r5, #0x2c] - movs r6, #0 -_0808EF8E: - adds r0, r5, #0 - adds r0, #0x6a - movs r2, #0 - ldrsh r1, [r0, r2] - movs r2, #0x32 - ldrsh r0, [r5, r2] - subs r4, r1, r0 - adds r0, r4, #0 - cmp r4, #0 - bge _0808EFA4 - rsbs r0, r4, #0 -_0808EFA4: - cmp r0, #1 - bhi _0808EFAE - lsls r0, r1, #0x10 - str r0, [r5, #0x30] - movs r4, #0 -_0808EFAE: - adds r0, r6, #0 - orrs r0, r4 - cmp r0, #0 - bne _0808EFBA - movs r0, #0 - b _0808EFEC -_0808EFBA: - adds r0, r6, #0 - adds r1, r4, #0 - bl sub_080041EC - adds r1, r0, #0 - adds r0, #0x80 - lsls r1, r1, #4 - adds r1, r0, r1 - adds r0, r5, #0 - adds r0, #0x6c - ldrh r0, [r0] - cmp r0, r1 - bge _0808EFD6 - adds r1, r0, #0 -_0808EFD6: - strh r1, [r5, #0x24] - adds r0, r6, #0 - adds r1, r4, #0 - bl sub_080045DA - lsrs r0, r0, #3 - strb r0, [r5, #0x15] - adds r0, r5, #0 - bl sub_0806F69C - movs r0, #1 -_0808EFEC: - pop {r4, r5, r6, pc} - .align 2, 0 - - thumb_func_start sub_0808EFF0 -sub_0808EFF0: @ 0x0808EFF0 - push {r4, r5, lr} - mov ip, r0 - ldrb r1, [r0, #0x18] - movs r0, #4 - rsbs r0, r0, #0 - ands r0, r1 - movs r1, #2 - orrs r0, r1 - mov r1, ip - strb r0, [r1, #0x18] - movs r0, #0x80 - lsls r0, r0, #3 - strh r0, [r1, #0x24] - adds r1, #0x45 - movs r0, #1 - strb r0, [r1] - movs r0, #0xff - mov r3, ip - strb r0, [r3, #0x1e] - adds r1, #0x13 - movs r0, #1 - rsbs r0, r0, #0 - strb r0, [r1] - ldrb r4, [r3, #0xa] - lsls r4, r4, #3 - ldr r0, _0808F094 @ =gUnk_08121D54 - adds r4, r4, r0 - ldrh r0, [r4, #2] - strh r0, [r3, #0x2e] - ldrh r1, [r4, #2] - mov r0, ip - adds r0, #0x68 - strh r1, [r0] - ldrh r0, [r4, #4] - strh r0, [r3, #0x32] - ldrh r0, [r4, #4] - mov r1, ip - adds r1, #0x6a - strh r0, [r1] - ldrb r1, [r4, #6] - lsls r1, r1, #0x1d - lsrs r1, r1, #0x17 - ldrb r3, [r3, #0x19] - movs r2, #0x3f - adds r0, r2, #0 - ands r0, r3 - orrs r0, r1 - mov r1, ip - strb r0, [r1, #0x19] - ldrb r1, [r4, #6] - lsls r1, r1, #0x1a - mov r5, ip - adds r5, #0x29 - lsrs r1, r1, #0x1d - ldrb r3, [r5] - movs r0, #8 - rsbs r0, r0, #0 - ands r0, r3 - orrs r0, r1 - strb r0, [r5] - ldrb r0, [r4, #6] - lsrs r0, r0, #6 - lsls r0, r0, #6 - mov r3, ip - ldrb r1, [r3, #0x1b] - ands r2, r1 - orrs r2, r0 - strb r2, [r3, #0x1b] - ldrh r1, [r4] - mov r0, ip - adds r0, #0x6c - strh r1, [r0] - ldrb r1, [r4, #7] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _0808F098 - movs r0, #0x7f - ands r1, r0 - strb r1, [r3, #0x1e] - strb r1, [r3, #0x1f] - b _0808F09E - .align 2, 0 -_0808F094: .4byte gUnk_08121D54 -_0808F098: - mov r0, ip - bl InitAnimationForceUpdate -_0808F09E: - pop {r4, r5, pc} diff --git a/asm/object49.s b/asm/object49.s index ec40a8a9..968070dd 100644 --- a/asm/object49.s +++ b/asm/object49.s @@ -173,7 +173,7 @@ sub_0808F498: @ 0x0808F498 bl sub_0806F3E4 cmp r0, #0 beq _0808F4C2 - ldr r0, _0808F4E4 @ =gUnk_030010A0 + ldr r0, _0808F4E4 @ =gScreenTransition ldr r0, [r0] movs r1, #0xf ands r0, r1 @@ -200,7 +200,7 @@ _0808F4D4: bl DeleteThisEntity b _0808F550 .align 2, 0 -_0808F4E4: .4byte gUnk_030010A0 +_0808F4E4: .4byte gScreenTransition _0808F4E8: .4byte gLinkState _0808F4EC: movs r0, #1 diff --git a/asm/object6A.s b/asm/object6A.s index 7d20335b..92e359c4 100644 --- a/asm/object6A.s +++ b/asm/object6A.s @@ -545,7 +545,7 @@ sub_08094E30: @ 0x08094E30 ldrb r0, [r4, #0xb] cmp r0, #0 bne _08094E88 - ldr r0, _08094E80 @ =gUnk_030010A0 + ldr r0, _08094E80 @ =gScreenTransition ldr r0, [r0] movs r1, #0x1f ands r0, r1 @@ -577,7 +577,7 @@ _08094E5A: strh r1, [r5, #0x32] b _08094F94 .align 2, 0 -_08094E80: .4byte gUnk_030010A0 +_08094E80: .4byte gScreenTransition _08094E84: .4byte gRoomControls _08094E88: cmp r0, #1 @@ -1654,7 +1654,7 @@ _080956E2: adds r0, r5, #0 bl GetNextFrame ldrb r0, [r5, #0xb] - ldr r1, _08095724 @ =gUnk_030010A0 + ldr r1, _08095724 @ =gScreenTransition ldr r1, [r1] adds r0, r0, r1 movs r1, #0xf @@ -1682,7 +1682,7 @@ _080956FE: bl DeleteThisEntity b _0809572C .align 2, 0 -_08095724: .4byte gUnk_030010A0 +_08095724: .4byte gScreenTransition _08095728: bl DeleteThisEntity _0809572C: diff --git a/asm/object89.s b/asm/object89.s index 92d513a3..0e67239c 100644 --- a/asm/object89.s +++ b/asm/object89.s @@ -44,7 +44,7 @@ _0809AB22: adds r1, r4, #0 bl CopyPosition str r4, [r5, #0x54] - ldr r2, _0809AB68 @ =gUnk_030010A0 + ldr r2, _0809AB68 @ =gScreenTransition 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 gUnk_030010A0 +_0809AB68: .4byte gScreenTransition _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 @ =gUnk_030010A0 + ldr r0, _0809ACC8 @ =gScreenTransition adds r0, #0x38 movs r1, #0xf1 strb r1, [r0] @@ -262,7 +262,7 @@ sub_0809ACA0: @ 0x0809ACA0 _0809ACC4: pop {pc} .align 2, 0 -_0809ACC8: .4byte gUnk_030010A0 +_0809ACC8: .4byte gScreenTransition thumb_func_start sub_0809ACCC sub_0809ACCC: @ 0x0809ACCC diff --git a/asm/object8E.s b/asm/object8E.s index 7457eca6..0ab1f65e 100644 --- a/asm/object8E.s +++ b/asm/object8E.s @@ -90,7 +90,7 @@ _0809B8D8: ldrb r0, [r4, #0xf] cmp r0, #0x1f bhi _0809B914 - ldr r5, _0809B90C @ =gUnk_030010A0 + ldr r5, _0809B90C @ =gScreenTransition ldr r0, [r5] movs r1, #0x1f ands r0, r1 @@ -113,7 +113,7 @@ _0809B8F0: bl sub_0809B97C b _0809B972 .align 2, 0 -_0809B90C: .4byte gUnk_030010A0 +_0809B90C: .4byte gScreenTransition _0809B910: .4byte 0x00000133 _0809B914: movs r0, #2 @@ -273,7 +273,7 @@ _0809BA40: ldrb r0, [r4, #0xf] cmp r0, #0 beq _0809BA7C - ldr r5, _0809BA74 @ =gUnk_030010A0 + ldr r5, _0809BA74 @ =gScreenTransition ldr r0, [r5] movs r1, #0x1f ands r0, r1 @@ -296,7 +296,7 @@ _0809BA58: bl sub_0809B97C b _0809BAC2 .align 2, 0 -_0809BA74: .4byte gUnk_030010A0 +_0809BA74: .4byte gScreenTransition _0809BA78: .4byte 0x00000133 _0809BA7C: movs r0, #2 @@ -436,7 +436,7 @@ _0809BB88: ldrh r0, [r5] cmp r0, #0xdf bhi _0809BBC4 - ldr r4, _0809BBBC @ =gUnk_030010A0 + ldr r4, _0809BBBC @ =gScreenTransition ldr r0, [r4] movs r1, #0x1f ands r0, r1 @@ -456,7 +456,7 @@ _0809BBA6: b _0809BC68 .align 2, 0 _0809BBB8: .4byte gScreen -_0809BBBC: .4byte gUnk_030010A0 +_0809BBBC: .4byte gScreenTransition _0809BBC0: .4byte 0x00000133 _0809BBC4: movs r0, #2 @@ -631,7 +631,7 @@ _0809BD20: ldrb r0, [r4, #0xd] cmp r0, #0 beq _0809BD64 - ldr r6, _0809BD58 @ =gUnk_030010A0 + ldr r6, _0809BD58 @ =gScreenTransition ldr r0, [r6] movs r1, #0x1f ands r0, r1 @@ -656,7 +656,7 @@ _0809BD38: strh r0, [r1] b _0809BDAE .align 2, 0 -_0809BD58: .4byte gUnk_030010A0 +_0809BD58: .4byte gScreenTransition _0809BD5C: .4byte 0x00000133 _0809BD60: .4byte gScreen _0809BD64: @@ -753,7 +753,7 @@ _0809BE0C: lsls r0, r0, #0x18 cmp r0, #0 beq _0809BE34 - ldr r0, _0809BE2C @ =gUnk_030010A0 + ldr r0, _0809BE2C @ =gScreenTransition ldr r0, [r0] movs r1, #0x1f ands r0, r1 @@ -763,7 +763,7 @@ _0809BE0C: bl PlaySFX b _0809BE70 .align 2, 0 -_0809BE2C: .4byte gUnk_030010A0 +_0809BE2C: .4byte gScreenTransition _0809BE30: .4byte 0x00000133 _0809BE34: movs r0, #2 diff --git a/asm/object91.s b/asm/object91.s index bbd0f8a0..e2e8dac9 100644 --- a/asm/object91.s +++ b/asm/object91.s @@ -463,7 +463,7 @@ _0809C74A: ldrb r0, [r5, #0xf] cmp r0, #0 beq _0809C7BC - ldr r0, _0809C7AC @ =gUnk_030010A0 + ldr r0, _0809C7AC @ =gScreenTransition 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 gUnk_030010A0 +_0809C7AC: .4byte gScreenTransition _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 @ =gUnk_030010A0 + ldr r0, _0809C9C8 @ =gScreenTransition ldr r0, [r0] movs r1, #8 ands r0, r1 @@ -791,7 +791,7 @@ _0809C9AC: subs r0, #4 b _0809C9DA .align 2, 0 -_0809C9C8: .4byte gUnk_030010A0 +_0809C9C8: .4byte gScreenTransition _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 @ =gUnk_030010A0 + ldr r0, _0809CA04 @ =gScreenTransition 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 gUnk_030010A0 +_0809CA04: .4byte gScreenTransition _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 @ =gUnk_030010A0 + ldr r0, _0809CB44 @ =gScreenTransition ldr r0, [r0] movs r1, #0xf ands r0, r1 @@ -984,7 +984,7 @@ _0809CB38: .align 2, 0 _0809CB3C: .4byte gRoomControls _0809CB40: .4byte gLinkEntity -_0809CB44: .4byte gUnk_030010A0 +_0809CB44: .4byte gScreenTransition _0809CB48: .4byte 0x00000163 thumb_func_start sub_0809CB4C diff --git a/asm/objectA8.s b/asm/objectA8.s index 01fbc139..2cb3b745 100644 --- a/asm/objectA8.s +++ b/asm/objectA8.s @@ -283,7 +283,7 @@ _0809FCAC: ldrb r0, [r4, #0xa] cmp r0, #0 bne _0809FCF8 - ldr r0, _0809FCFC @ =gUnk_030010A0 + ldr r0, _0809FCFC @ =gScreenTransition ldr r0, [r0] movs r1, #1 ands r0, r1 @@ -314,7 +314,7 @@ _0809FCE0: _0809FCF8: pop {r4, r5, pc} .align 2, 0 -_0809FCFC: .4byte gUnk_030010A0 +_0809FCFC: .4byte gScreenTransition thumb_func_start sub_0809FD00 sub_0809FD00: @ 0x0809FD00 diff --git a/asm/objectBA.s b/asm/objectBA.s index e85896f3..5be0b70d 100644 --- a/asm/objectBA.s +++ b/asm/objectBA.s @@ -133,7 +133,7 @@ _080A171E: strh r1, [r0] adds r0, #2 strh r1, [r0] - ldr r0, _080A1838 @ =gUnk_030010A0 + ldr r0, _080A1838 @ =gScreenTransition adds r0, #0x39 mov r2, sb strb r2, [r0] @@ -173,7 +173,7 @@ _080A1828: .4byte gUnk_03003DBC _080A182C: .4byte gRoomControls _080A1830: .4byte gScreen _080A1834: .4byte 0x00001E07 -_080A1838: .4byte gUnk_030010A0 +_080A1838: .4byte gScreenTransition _080A183C: .4byte gLinkState _080A1840: .4byte 0x80100000 _080A1844: .4byte gArea @@ -598,7 +598,7 @@ sub_080A1B4C: @ 0x080A1B4C _080A1B80: movs r6, #0 strh r7, [r5] - ldr r0, _080A1BF0 @ =gUnk_030010A0 + ldr r0, _080A1BF0 @ =gScreenTransition adds r0, #0x39 strb r6, [r0] bl sub_08079F8C @@ -650,7 +650,7 @@ _080A1BD0: strh r0, [r2, #0x18] pop {r4, r5, r6, r7, pc} .align 2, 0 -_080A1BF0: .4byte gUnk_030010A0 +_080A1BF0: .4byte gScreenTransition _080A1BF4: .4byte gLinkEntity _080A1BF8: .4byte gLinkState _080A1BFC: .4byte 0xFFFDFFFF diff --git a/asm/octorokBoss.s b/asm/octorokBoss.s index b62b5d36..1dd73bfd 100644 --- a/asm/octorokBoss.s +++ b/asm/octorokBoss.s @@ -333,7 +333,7 @@ _0803540E: cmp r4, #0 bne _0803540E _08035438: - ldr r1, _080354AC @ =gUnk_030010A0 + ldr r1, _080354AC @ =gScreenTransition ldr r0, [r1] movs r1, #2 ands r0, r1 @@ -387,7 +387,7 @@ _08035456: bl InitAnimationForceUpdate b _080354DC .align 2, 0 -_080354AC: .4byte gUnk_030010A0 +_080354AC: .4byte gScreenTransition _080354B0: adds r1, r5, #0 adds r1, #0x3f @@ -635,7 +635,7 @@ _08035616: ldrb r0, [r1] cmp r0, #0 bne _080356EC - ldr r0, _080356E8 @ =gUnk_030010A0 + ldr r0, _080356E8 @ =gScreenTransition ldr r0, [r0] movs r1, #0xf ands r0, r1 @@ -677,7 +677,7 @@ _080356B2: b _080356F0 .align 2, 0 _080356E4: .4byte gSineTable -_080356E8: .4byte gUnk_030010A0 +_080356E8: .4byte gScreenTransition _080356EC: subs r0, #1 strb r0, [r1] @@ -1749,7 +1749,7 @@ _08035F16: beq _08035F48 subs r0, #1 strb r0, [r1, #6] - ldr r0, _08035F74 @ =gUnk_030010A0 + ldr r0, _08035F74 @ =gScreenTransition ldr r0, [r0] movs r1, #3 ands r0, r1 @@ -1781,7 +1781,7 @@ _08035F6C: mov r8, r3 pop {r4, r5, r6, r7, pc} .align 2, 0 -_08035F74: .4byte gUnk_030010A0 +_08035F74: .4byte gScreenTransition _08035F78: .4byte gUnk_080CF0C4 thumb_func_start sub_08035F7C @@ -2273,7 +2273,7 @@ _08036300: sub_08036304: @ 0x08036304 push {lr} mov ip, r0 - ldr r0, _08036328 @ =gUnk_030010A0 + ldr r0, _08036328 @ =gScreenTransition ldr r0, [r0] movs r1, #2 ands r0, r1 @@ -2289,7 +2289,7 @@ sub_08036304: @ 0x08036304 strh r0, [r1] b _08036350 .align 2, 0 -_08036328: .4byte gUnk_030010A0 +_08036328: .4byte gScreenTransition _0803632C: mov r2, ip adds r2, #0x84 @@ -2483,7 +2483,7 @@ _080364A4: ands r1, r0 str r1, [r2, #0x30] _080364AA: - ldr r0, _080364C8 @ =gUnk_030010A0 + ldr r0, _080364C8 @ =gScreenTransition ldr r0, [r0] movs r1, #3 ands r0, r1 @@ -2497,7 +2497,7 @@ _080364AA: b _0803657A .align 2, 0 _080364C4: .4byte 0xFFFFF7FF -_080364C8: .4byte gUnk_030010A0 +_080364C8: .4byte gScreenTransition _080364CC: adds r0, r4, #0 adds r0, #0x7c @@ -2726,7 +2726,7 @@ _08036678: movs r0, #1 rsbs r0, r0, #0 bl sub_0805308C - ldr r0, _080366B0 @ =gUnk_030010A0 + ldr r0, _080366B0 @ =gScreenTransition ldr r1, [r0] movs r0, #3 ands r0, r1 @@ -2748,7 +2748,7 @@ _080366A0: _080366AC: pop {r4, r5, pc} .align 2, 0 -_080366B0: .4byte gUnk_030010A0 +_080366B0: .4byte gScreenTransition thumb_func_start sub_080366B4 sub_080366B4: @ 0x080366B4 @@ -2770,7 +2770,7 @@ sub_080366B4: @ 0x080366B4 _080366D4: subs r0, #1 strb r0, [r2] - ldr r0, _08036708 @ =gUnk_030010A0 + ldr r0, _08036708 @ =gScreenTransition ldr r0, [r0] movs r1, #3 ands r0, r1 @@ -2795,7 +2795,7 @@ _080366D4: _08036706: pop {r4, pc} .align 2, 0 -_08036708: .4byte gUnk_030010A0 +_08036708: .4byte gScreenTransition thumb_func_start sub_0803670C sub_0803670C: @ 0x0803670C @@ -2816,7 +2816,7 @@ sub_0803670C: @ 0x0803670C beq _08036746 subs r0, #1 strb r0, [r1, #6] - ldr r0, _08036760 @ =gUnk_030010A0 + ldr r0, _08036760 @ =gScreenTransition ldr r0, [r0] movs r1, #7 ands r0, r1 @@ -2839,7 +2839,7 @@ _08036746: pop {r4, pc} .align 2, 0 _0803675C: .4byte gUnk_080CF100 -_08036760: .4byte gUnk_030010A0 +_08036760: .4byte gScreenTransition thumb_func_start sub_08036764 sub_08036764: @ 0x08036764 @@ -2963,7 +2963,7 @@ _0803683A: movs r0, #0 strb r0, [r1] _08036852: - ldr r0, _08036868 @ =gUnk_030010A0 + ldr r0, _08036868 @ =gScreenTransition ldr r0, [r0] movs r1, #0x1f ands r0, r1 @@ -2974,7 +2974,7 @@ _08036852: _08036864: pop {r4, r5, pc} .align 2, 0 -_08036868: .4byte gUnk_030010A0 +_08036868: .4byte gScreenTransition _0803686C: .4byte 0x00000159 thumb_func_start sub_08036870 @@ -3953,7 +3953,7 @@ _08036FA8: sub_08036FAC: @ 0x08036FAC push {lr} adds r2, r0, #0 - ldr r0, _08036FD0 @ =gUnk_030010A0 + ldr r0, _08036FD0 @ =gScreenTransition ldr r0, [r0] ands r0, r1 cmp r0, #0 @@ -3969,7 +3969,7 @@ sub_08036FAC: @ 0x08036FAC bl PlaySFX b _08036FDE .align 2, 0 -_08036FD0: .4byte gUnk_030010A0 +_08036FD0: .4byte gScreenTransition _08036FD4: .4byte 0x00000163 _08036FD8: ldr r0, _08036FE0 @ =0x000001B1 diff --git a/asm/peahat.s b/asm/peahat.s index cb26fd33..35197070 100644 --- a/asm/peahat.s +++ b/asm/peahat.s @@ -469,7 +469,7 @@ _080202B4: adds r0, #4 strh r0, [r4, #0x24] _080202C8: - ldr r0, _080202F0 @ =gUnk_030010A0 + ldr r0, _080202F0 @ =gScreenTransition ldr r0, [r0] movs r1, #3 ands r0, r1 @@ -487,7 +487,7 @@ _080202E6: bl sub_080AEFE0 b _080202FE .align 2, 0 -_080202F0: .4byte gUnk_030010A0 +_080202F0: .4byte gScreenTransition _080202F4: .4byte gUnk_020000B0 _080202F8: adds r0, r4, #0 diff --git a/asm/picolyteBottles.s b/asm/picolyteBottles.s index ba37bb92..27471fa9 100644 --- a/asm/picolyteBottles.s +++ b/asm/picolyteBottles.s @@ -65,7 +65,7 @@ sub_0806DF00: @ 0x0806DF00 adds r0, #2 movs r1, #0xa strh r1, [r0] - ldr r0, _0806DF58 @ =gUnk_030010A0 + ldr r0, _0806DF58 @ =gScreenTransition strh r1, [r0, #6] adds r0, r4, #0 bl sub_0806E014 @@ -73,7 +73,7 @@ sub_0806DF00: @ 0x0806DF00 bl sub_0807DD50 b _0806DF6E .align 2, 0 -_0806DF58: .4byte gUnk_030010A0 +_0806DF58: .4byte gScreenTransition _0806DF5C: ldr r0, _0806DF70 @ =gUnk_080FD150 str r0, [r4, #0x48] @@ -389,7 +389,7 @@ _0806E1AC: ldr r0, _0806E1D4 @ =0x0000421C bl TextboxNoOverlapFollow _0806E1C0: - ldr r1, _0806E1D8 @ =gUnk_030010A0 + ldr r1, _0806E1D8 @ =gScreenTransition ldrh r0, [r4] strh r0, [r1, #6] ldr r2, _0806E1DC @ =gUnk_02033280 @@ -400,7 +400,7 @@ _0806E1C0: pop {r4, r5, pc} .align 2, 0 _0806E1D4: .4byte 0x0000421C -_0806E1D8: .4byte gUnk_030010A0 +_0806E1D8: .4byte gScreenTransition _0806E1DC: .4byte gUnk_02033280 thumb_func_start sub_0806E1E0 @@ -428,7 +428,7 @@ _0806E208: .4byte gUnk_0813AD4C thumb_func_start sub_0806E20C sub_0806E20C: @ 0x0806E20C push {r4, lr} - ldr r4, _0806E224 @ =gUnk_030010A0 + ldr r4, _0806E224 @ =gScreenTransition ldrh r0, [r4, #6] cmp r0, #0 beq _0806E230 @@ -439,7 +439,7 @@ sub_0806E20C: @ 0x0806E20C str r0, [r1, #0x10] b _0806E236 .align 2, 0 -_0806E224: .4byte gUnk_030010A0 +_0806E224: .4byte gScreenTransition _0806E228: .4byte 0x0000421F _0806E22C: .4byte gTextBox _0806E230: @@ -453,7 +453,7 @@ _0806E238: .4byte 0x00004220 thumb_func_start sub_0806E23C sub_0806E23C: @ 0x0806E23C push {lr} - ldr r1, _0806E24C @ =gUnk_030010A0 + ldr r1, _0806E24C @ =gScreenTransition ldrh r0, [r1, #6] cmp r0, #0 beq _0806E24A @@ -461,7 +461,7 @@ sub_0806E23C: @ 0x0806E23C _0806E24A: pop {pc} .align 2, 0 -_0806E24C: .4byte gUnk_030010A0 +_0806E24C: .4byte gScreenTransition thumb_func_start sub_0806E250 sub_0806E250: @ 0x0806E250 diff --git a/asm/rem.s b/asm/rem.s index c52753d1..8e31e8c7 100644 --- a/asm/rem.s +++ b/asm/rem.s @@ -421,7 +421,7 @@ _0806A6E4: strb r1, [r0] b _0806A75A _0806A724: - ldr r0, _0806A780 @ =gUnk_030010A0 + ldr r0, _0806A780 @ =gScreenTransition ldr r0, [r0] movs r1, #3 ands r0, r1 @@ -469,9 +469,9 @@ _0806A75A: strb r1, [r0] b _0806A82A .align 2, 0 -_0806A780: .4byte gUnk_030010A0 +_0806A780: .4byte gScreenTransition _0806A784: - ldr r0, _0806A7C4 @ =gUnk_030010A0 + ldr r0, _0806A7C4 @ =gScreenTransition ldr r0, [r0] lsrs r0, r0, #4 movs r1, #3 @@ -506,7 +506,7 @@ _0806A7BA: strb r0, [r3] b _0806A82A .align 2, 0 -_0806A7C4: .4byte gUnk_030010A0 +_0806A7C4: .4byte gScreenTransition _0806A7C8: adds r2, r4, #0 adds r2, #0x29 @@ -835,7 +835,7 @@ sub_0806AA18: @ 0x0806AA18 .align 2, 0 _0806AA28: .4byte 0x00004408 _0806AA2C: - ldr r0, _0806AA48 @ =gUnk_030010A0 + ldr r0, _0806AA48 @ =gScreenTransition ldr r0, [r0] movs r1, #1 ands r0, r1 @@ -849,7 +849,7 @@ _0806AA3C: bl TextboxNoOverlap pop {pc} .align 2, 0 -_0806AA48: .4byte gUnk_030010A0 +_0806AA48: .4byte gScreenTransition _0806AA4C: .4byte 0x0000440D thumb_func_start sub_0806AA50 diff --git a/asm/sturgeon.s b/asm/sturgeon.s index 34a9e992..e6413097 100644 --- a/asm/sturgeon.s +++ b/asm/sturgeon.s @@ -275,7 +275,7 @@ sub_08064C9C: @ 0x08064C9C ldrb r0, [r2, #0xe] cmp r0, #0 beq _08064CB8 - ldr r0, _08064CBC @ =gUnk_030010A0 + ldr r0, _08064CBC @ =gScreenTransition ldr r0, [r0] movs r1, #3 ands r0, r1 @@ -286,7 +286,7 @@ sub_08064C9C: @ 0x08064C9C _08064CB8: pop {pc} .align 2, 0 -_08064CBC: .4byte gUnk_030010A0 +_08064CBC: .4byte gScreenTransition thumb_func_start sub_08064CC0 sub_08064CC0: @ 0x08064CC0 diff --git a/asm/updateBackgroundRegisters.s b/asm/updateBackgroundRegisters.s index 4825e56e..a529894e 100644 --- a/asm/updateBackgroundRegisters.s +++ b/asm/updateBackgroundRegisters.s @@ -5,8 +5,8 @@ .text - thumb_func_start sub_08016CF4 -sub_08016CF4: @ 0x08016CF4 + thumb_func_start UpdateBackgroundRegisters +UpdateBackgroundRegisters: @ 0x08016CF4 ldr r3, _08016DF0 @ =gScreen ldrh r1, [r3] ldrh r0, [r3, #6] diff --git a/asm/vaati.s b/asm/vaati.s index 3a8f92d7..172ccc8b 100644 --- a/asm/vaati.s +++ b/asm/vaati.s @@ -78,7 +78,7 @@ sub_08066ACC: @ 0x08066ACC asrs r0, r0, #0x18 cmp r0, #0 beq _08066AF6 - ldr r0, _08066B1C @ =gUnk_030010A0 + ldr r0, _08066B1C @ =gScreenTransition ldr r0, [r0] movs r1, #3 ands r0, r1 @@ -105,7 +105,7 @@ _08066AF6: b _08066B66 .align 2, 0 _08066B18: .4byte sub_08066B74 -_08066B1C: .4byte gUnk_030010A0 +_08066B1C: .4byte gScreenTransition _08066B20: cmp r2, #3 beq _08066B40 diff --git a/asm/vaatiArm.s b/asm/vaatiArm.s index eb8ad3e5..0ebd0163 100644 --- a/asm/vaatiArm.s +++ b/asm/vaatiArm.s @@ -75,7 +75,7 @@ sub_080425B4: @ 0x080425B4 strb r1, [r0] adds r0, #1 strb r1, [r0] - ldr r5, _08042614 @ =gUnk_030010A0 + ldr r5, _08042614 @ =gScreenTransition adds r0, r5, #0 adds r0, #0x38 ldrb r0, [r0] @@ -109,7 +109,7 @@ sub_080425B4: @ 0x080425B4 strb r0, [r4, #0xd] b _0804264C .align 2, 0 -_08042614: .4byte gUnk_030010A0 +_08042614: .4byte gScreenTransition _08042618: movs r0, #8 strb r0, [r4, #0xc] @@ -2479,7 +2479,7 @@ sub_08043770: @ 0x08043770 bne _080437D8 ldr r0, [r2, #0x64] ldr r3, [r0, #0x14] - ldr r0, _080437AC @ =gUnk_030010A0 + ldr r0, _080437AC @ =gScreenTransition adds r5, r0, #0 adds r5, #0x39 ldrb r1, [r5] @@ -2499,7 +2499,7 @@ _0804379A: movs r0, #0xfe b _080437B8 .align 2, 0 -_080437AC: .4byte gUnk_030010A0 +_080437AC: .4byte gScreenTransition _080437B0: ldr r0, [r3, #0x64] str r4, [r0, #0x18] @@ -3173,7 +3173,7 @@ sub_08043C98: @ 0x08043C98 _08043CB4: adds r0, r3, #0 bl sub_08043D08 - ldr r0, _08043CCC @ =gUnk_030010A0 + ldr r0, _08043CCC @ =gScreenTransition adds r0, #0x38 ldrb r2, [r0] movs r1, #2 @@ -3182,7 +3182,7 @@ _08043CB4: movs r0, #1 b _08043CD2 .align 2, 0 -_08043CCC: .4byte gUnk_030010A0 +_08043CCC: .4byte gScreenTransition _08043CD0: movs r0, #0 _08043CD2: @@ -3332,7 +3332,7 @@ sub_08043DB0: @ 0x08043DB0 beq _08043EAC ldr r0, _08043E50 @ =gUnk_080D13EC bl DoExitTransition - ldr r4, _08043E54 @ =gUnk_030010A0 + ldr r4, _08043E54 @ =gScreenTransition adds r0, r4, #0 adds r0, #0x39 ldrb r1, [r0] @@ -3382,7 +3382,7 @@ _08043DFE: _08043E48: .4byte gLinkState _08043E4C: .4byte gRoomControls _08043E50: .4byte gUnk_080D13EC -_08043E54: .4byte gUnk_030010A0 +_08043E54: .4byte gScreenTransition _08043E58: movs r1, #0x88 lsls r1, r1, #1 @@ -3401,7 +3401,7 @@ _08043E70: ldr r3, [r0, #0x18] cmp r3, #0 beq _08043E90 - ldr r1, _08043E8C @ =gUnk_030010A0 + ldr r1, _08043E8C @ =gScreenTransition ldrh r2, [r3, #0x2e] adds r0, r1, #0 adds r0, #0x48 @@ -3411,9 +3411,9 @@ _08043E70: strh r0, [r1] b _08043EAC .align 2, 0 -_08043E8C: .4byte gUnk_030010A0 +_08043E8C: .4byte gScreenTransition _08043E90: - ldr r2, _08043EB0 @ =gUnk_030010A0 + ldr r2, _08043EB0 @ =gScreenTransition ldr r3, _08043EB4 @ =gRoomControls movs r1, #0x88 lsls r1, r1, #1 @@ -3430,7 +3430,7 @@ _08043E90: _08043EAC: pop {r4, r5, r6, pc} .align 2, 0 -_08043EB0: .4byte gUnk_030010A0 +_08043EB0: .4byte gScreenTransition _08043EB4: .4byte gRoomControls thumb_func_start sub_08043EB8 @@ -3521,14 +3521,14 @@ sub_08043EB8: @ 0x08043EB8 ldrb r0, [r7, #0xb] cmp r0, #0 bne _08043F74 - ldr r1, _08043F70 @ =gUnk_030010A0 + ldr r1, _08043F70 @ =gScreenTransition adds r0, r1, #0 adds r0, #0x44 b _08043F7A .align 2, 0 -_08043F70: .4byte gUnk_030010A0 +_08043F70: .4byte gScreenTransition _08043F74: - ldr r1, _08043F8C @ =gUnk_030010A0 + ldr r1, _08043F8C @ =gScreenTransition adds r0, r1, #0 adds r0, #0x48 _08043F7A: @@ -3541,7 +3541,7 @@ _08043F7A: adds r0, #0x46 b _08043F94 .align 2, 0 -_08043F8C: .4byte gUnk_030010A0 +_08043F8C: .4byte gScreenTransition _08043F90: adds r0, r1, #0 adds r0, #0x4a @@ -3673,7 +3673,7 @@ sub_08044078: @ 0x08044078 ldrb r0, [r4, #0xa] cmp r0, #3 bne _080440AC - ldr r3, _080440B8 @ =gUnk_030010A0 + ldr r3, _080440B8 @ =gScreenTransition adds r0, r3, #0 adds r0, #0x38 ldrb r1, [r0] @@ -3695,7 +3695,7 @@ _080440AC: bl InitializeAnimation b _080440C4 .align 2, 0 -_080440B8: .4byte gUnk_030010A0 +_080440B8: .4byte gScreenTransition _080440BC: adds r0, r4, #0 movs r1, #0x11 @@ -3714,7 +3714,7 @@ sub_080440CC: @ 0x080440CC bne _08044110 movs r0, #1 strb r0, [r4, #0xc] - ldr r2, _08044104 @ =gUnk_030010A0 + ldr r2, _08044104 @ =gScreenTransition adds r1, r2, #0 adds r1, #0x38 ldrb r1, [r1] @@ -3734,7 +3734,7 @@ sub_080440CC: @ 0x080440CC bl InitializeAnimation b _08044110 .align 2, 0 -_08044104: .4byte gUnk_030010A0 +_08044104: .4byte gScreenTransition _08044108: adds r0, r4, #0 movs r1, #0x11 diff --git a/asm/vaatiEyesMacro.s b/asm/vaatiEyesMacro.s index ba21e690..111f7431 100644 --- a/asm/vaatiEyesMacro.s +++ b/asm/vaatiEyesMacro.s @@ -60,7 +60,7 @@ sub_0802ECC0: @ 0x0802ECC0 adds r0, #0x45 ldrb r1, [r0] adds r5, r0, #0 - ldr r3, _0802ED00 @ =gUnk_030010A0 + ldr r3, _0802ED00 @ =gScreenTransition cmp r1, #0 bne _0802ECEE adds r2, r3, #0 @@ -84,7 +84,7 @@ _0802ECEE: adds r0, #0x3a b _0802ED0E .align 2, 0 -_0802ED00: .4byte gUnk_030010A0 +_0802ED00: .4byte gScreenTransition _0802ED04: .4byte gRoomControls _0802ED08: ldrb r1, [r5] @@ -187,15 +187,15 @@ sub_0802ED8C: @ 0x0802ED8C ldrb r0, [r0, #5] cmp r0, #0 bne _0802EDDC - ldr r0, _0802EDD8 @ =gUnk_030010A0 + ldr r0, _0802EDD8 @ =gScreenTransition adds r0, #0x3a b _0802EDE0 .align 2, 0 _0802EDD0: .4byte gUnk_03003DBC _0802EDD4: .4byte gRoomControls -_0802EDD8: .4byte gUnk_030010A0 +_0802EDD8: .4byte gScreenTransition _0802EDDC: - ldr r0, _0802EE0C @ =gUnk_030010A0 + ldr r0, _0802EE0C @ =gScreenTransition adds r0, #0x3b _0802EDE0: ldrb r0, [r0] @@ -218,7 +218,7 @@ _0802EDE0: _0802EE0A: pop {r4, pc} .align 2, 0 -_0802EE0C: .4byte gUnk_030010A0 +_0802EE0C: .4byte gScreenTransition thumb_func_start sub_0802EE10 sub_0802EE10: @ 0x0802EE10 diff --git a/asm/vaatiProjectile.s b/asm/vaatiProjectile.s index 3a23e2f8..b1e67640 100644 --- a/asm/vaatiProjectile.s +++ b/asm/vaatiProjectile.s @@ -557,7 +557,7 @@ _0803E49E: sub_0803E4A0: @ 0x0803E4A0 push {lr} adds r1, r0, #0 - ldr r0, _0803E4B8 @ =gUnk_030010A0 + ldr r0, _0803E4B8 @ =gScreenTransition adds r0, #0x39 ldrb r0, [r0] cmp r0, #0 @@ -568,7 +568,7 @@ sub_0803E4A0: @ 0x0803E4A0 movs r0, #0 b _0803E4D6 .align 2, 0 -_0803E4B8: .4byte gUnk_030010A0 +_0803E4B8: .4byte gScreenTransition _0803E4BC: adds r0, r1, #0 adds r0, #0x45 diff --git a/asm/vaatiWrath.s b/asm/vaatiWrath.s index f96d5d64..df92529a 100644 --- a/asm/vaatiWrath.s +++ b/asm/vaatiWrath.s @@ -82,7 +82,7 @@ _080413BC: .4byte gUnk_080D0E2C sub_080413C0: @ 0x080413C0 push {r4, r5, r6, r7, lr} adds r4, r0, #0 - ldr r7, _080413F8 @ =gUnk_030010A0 + ldr r7, _080413F8 @ =gScreenTransition adds r0, r7, #0 adds r0, #0x38 ldrb r0, [r0] @@ -107,14 +107,14 @@ sub_080413C0: @ 0x080413C0 strb r6, [r4, #0xd] b _08041404 .align 2, 0 -_080413F8: .4byte gUnk_030010A0 +_080413F8: .4byte gScreenTransition _080413FC: movs r0, #2 strb r0, [r4, #0xc] movs r0, #0x3c strb r0, [r4, #0xe] _08041404: - ldr r0, _0804141C @ =gUnk_030010A0 + ldr r0, _0804141C @ =gScreenTransition adds r1, r0, #0 adds r1, #0x40 ldrh r1, [r1] @@ -126,7 +126,7 @@ _08041404: bl sub_08042004 b _0804144A .align 2, 0 -_0804141C: .4byte gUnk_030010A0 +_0804141C: .4byte gScreenTransition _08041420: adds r0, r4, #0 bl sub_08041ED4 @@ -315,7 +315,7 @@ _08041592: strb r0, [r4, #0xd] movs r0, #0x1e strb r0, [r4, #0xe] - ldr r1, _080415BC @ =gUnk_030010A0 + ldr r1, _080415BC @ =gScreenTransition adds r1, #0x38 ldrb r2, [r1] movs r0, #1 @@ -330,7 +330,7 @@ _08041592: strb r1, [r0] b _080415E6 .align 2, 0 -_080415BC: .4byte gUnk_030010A0 +_080415BC: .4byte gScreenTransition _080415C0: .4byte gRoomControls _080415C4: .4byte gLinkEntity _080415C8: .4byte gLinkState @@ -540,7 +540,7 @@ _08041748: adds r2, r1, #0 cmp r2, #2 bne _080417AA - ldr r0, _0804179C @ =gUnk_030010A0 + ldr r0, _0804179C @ =gScreenTransition adds r0, #0x39 ldrb r1, [r0] movs r0, #3 @@ -572,7 +572,7 @@ _08041748: bl InitializeAnimation b _080417AA .align 2, 0 -_0804179C: .4byte gUnk_030010A0 +_0804179C: .4byte gScreenTransition _080417A0: .4byte gRoomControls _080417A4: strb r2, [r5, #0xc] @@ -1580,7 +1580,7 @@ _08041F88: .4byte gUnk_03003DBC _08041F8C: ldr r7, [r5, #0x64] movs r4, #0 - ldr r0, _08041FC0 @ =gUnk_030010A0 + ldr r0, _08041FC0 @ =gScreenTransition adds r0, #0x39 ldrb r0, [r0] asrs r0, r6 @@ -1603,7 +1603,7 @@ _08041FB6: str r4, [r7, #0x14] b _08041FC6 .align 2, 0 -_08041FC0: .4byte gUnk_030010A0 +_08041FC0: .4byte gScreenTransition _08041FC4: str r4, [r7, #0x18] _08041FC6: @@ -1895,7 +1895,7 @@ _080421C0: ands r0, r5 cmp r0, #0 beq _080421F4 - ldr r0, _080421F0 @ =gUnk_030010A0 + ldr r0, _080421F0 @ =gScreenTransition adds r0, #0x39 ldrb r1, [r0] movs r0, #0xc @@ -1907,7 +1907,7 @@ _080421C0: strb r5, [r6] b _08042212 .align 2, 0 -_080421F0: .4byte gUnk_030010A0 +_080421F0: .4byte gScreenTransition _080421F4: adds r1, r4, #0 adds r1, #0x7e @@ -2133,7 +2133,7 @@ sub_0804235C: @ 0x0804235C thumb_func_start sub_080423A4 sub_080423A4: @ 0x080423A4 push {r4, lr} - ldr r0, _080423CC @ =gUnk_030010A0 + ldr r0, _080423CC @ =gScreenTransition adds r4, r0, #0 adds r4, #0x38 ldrb r1, [r4] @@ -2152,7 +2152,7 @@ sub_080423A4: @ 0x080423A4 str r0, [r1] b _0804241C .align 2, 0 -_080423CC: .4byte gUnk_030010A0 +_080423CC: .4byte gScreenTransition _080423D0: .4byte gUnk_02002A40 _080423D4: ldr r2, _08042420 @ =gLinkState diff --git a/asm/warpPoint.s b/asm/warpPoint.s index 4ab7b1ed..1c537321 100644 --- a/asm/warpPoint.s +++ b/asm/warpPoint.s @@ -317,7 +317,7 @@ sub_0808B684: @ 0x0808B684 lsrs r2, r0, #0x18 cmp r2, #0 bne _0808B6E8 - ldr r3, _0808B6E4 @ =gUnk_030010A0 + ldr r3, _0808B6E4 @ =gScreenTransition movs r0, #1 strb r0, [r3, #8] strb r2, [r3, #9] @@ -355,7 +355,7 @@ sub_0808B684: @ 0x0808B684 strb r0, [r3, #9] b _0808B736 .align 2, 0 -_0808B6E4: .4byte gUnk_030010A0 +_0808B6E4: .4byte gScreenTransition _0808B6E8: movs r0, #0x60 ands r0, r1 diff --git a/asm/windTribeTeleporter.s b/asm/windTribeTeleporter.s index ddae0a9f..44a400f8 100644 --- a/asm/windTribeTeleporter.s +++ b/asm/windTribeTeleporter.s @@ -162,12 +162,12 @@ _080A1038: bl PlaySFX b _080A10D4 _080A1056: - ldr r0, _080A1060 @ =gUnk_030010A0 + ldr r0, _080A1060 @ =gScreenTransition ldr r0, [r0] movs r1, #7 b _080A10C2 .align 2, 0 -_080A1060: .4byte gUnk_030010A0 +_080A1060: .4byte gScreenTransition _080A1064: ldrb r0, [r4, #0xe] subs r0, #1 @@ -183,11 +183,11 @@ _080A1070: strb r0, [r4, #0xe] b _080A10D4 _080A107C: - ldr r0, _080A1084 @ =gUnk_030010A0 + ldr r0, _080A1084 @ =gScreenTransition ldr r0, [r0] b _080A10C2 .align 2, 0 -_080A1084: .4byte gUnk_030010A0 +_080A1084: .4byte gScreenTransition _080A1088: ldrb r0, [r4, #0xe] subs r0, #1 @@ -214,7 +214,7 @@ _080A10A2: _080A10B4: .4byte gRoomControls _080A10B8: .4byte gUnk_0813ADEC _080A10BC: - ldr r0, _080A10D8 @ =gUnk_030010A0 + ldr r0, _080A10D8 @ =gScreenTransition ldr r0, [r0] movs r1, #1 _080A10C2: @@ -230,7 +230,7 @@ _080A10C2: _080A10D4: pop {r4, pc} .align 2, 0 -_080A10D8: .4byte gUnk_030010A0 +_080A10D8: .4byte gScreenTransition _080A10DC: .4byte gLinkEntity thumb_func_start sub_080A10E0 @@ -266,11 +266,11 @@ _080A110E: lsls r0, r0, #0x18 cmp r0, #0 beq _080A1130 - ldr r0, _080A1120 @ =gUnk_030010A0 + ldr r0, _080A1120 @ =gScreenTransition ldr r0, [r0] b _080A1162 .align 2, 0 -_080A1120: .4byte gUnk_030010A0 +_080A1120: .4byte gScreenTransition _080A1124: ldrb r0, [r2, #0xe] subs r0, #1 @@ -286,12 +286,12 @@ _080A1130: strb r0, [r2, #0xe] b _080A11BA _080A113C: - ldr r0, _080A1144 @ =gUnk_030010A0 + ldr r0, _080A1144 @ =gScreenTransition ldr r0, [r0] movs r1, #3 b _080A1162 .align 2, 0 -_080A1144: .4byte gUnk_030010A0 +_080A1144: .4byte gScreenTransition _080A1148: ldrb r0, [r2, #0xe] subs r0, #1 @@ -304,7 +304,7 @@ _080A1148: strb r0, [r2, #0xd] b _080A11BA _080A115C: - ldr r0, _080A1178 @ =gUnk_030010A0 + ldr r0, _080A1178 @ =gScreenTransition ldr r0, [r0] movs r1, #7 _080A1162: @@ -319,14 +319,14 @@ _080A1162: strb r1, [r0, #0x14] b _080A11BA .align 2, 0 -_080A1178: .4byte gUnk_030010A0 +_080A1178: .4byte gScreenTransition _080A117C: .4byte gLinkEntity _080A1180: ldr r4, _080A11A0 @ =gLinkEntity ldrb r3, [r4, #0x14] cmp r3, #4 beq _080A11A8 - ldr r0, _080A11A4 @ =gUnk_030010A0 + ldr r0, _080A11A4 @ =gScreenTransition ldr r0, [r0] movs r1, #7 ands r0, r1 @@ -339,7 +339,7 @@ _080A1180: b _080A11BA .align 2, 0 _080A11A0: .4byte gLinkEntity -_080A11A4: .4byte gUnk_030010A0 +_080A11A4: .4byte gScreenTransition _080A11A8: movs r0, #0 movs r1, #1 diff --git a/asm/wizzrobeIce.s b/asm/wizzrobeIce.s index 46e0ab6a..7f92bd73 100644 --- a/asm/wizzrobeIce.s +++ b/asm/wizzrobeIce.s @@ -394,7 +394,7 @@ _080300C0: .4byte gUnk_0300110C thumb_func_start sub_080300C4 sub_080300C4: @ 0x080300C4 push {lr} - ldr r2, _080300E4 @ =gUnk_030010A0 + ldr r2, _080300E4 @ =gScreenTransition adds r0, r2, #0 adds r0, #0xae ldrh r0, [r0] @@ -410,12 +410,12 @@ sub_080300C4: @ 0x080300C4 _080300E2: pop {pc} .align 2, 0 -_080300E4: .4byte gUnk_030010A0 +_080300E4: .4byte gScreenTransition thumb_func_start sub_080300E8 sub_080300E8: @ 0x080300E8 push {lr} - ldr r1, _08030110 @ =gUnk_030010A0 + ldr r1, _08030110 @ =gScreenTransition adds r3, r1, #0 adds r3, #0xae ldrh r0, [r3] @@ -435,14 +435,14 @@ sub_080300E8: @ 0x080300E8 _0803010C: pop {pc} .align 2, 0 -_08030110: .4byte gUnk_030010A0 +_08030110: .4byte gScreenTransition _08030114: .4byte gLinkEntity thumb_func_start sub_08030118 sub_08030118: @ 0x08030118 push {lr} adds r2, r0, #0 - ldr r0, _0803013C @ =gUnk_030010A0 + ldr r0, _0803013C @ =gScreenTransition adds r0, #0xac ldrh r0, [r0] asrs r0, r2 @@ -457,7 +457,7 @@ sub_08030118: @ 0x08030118 bl SetLocalFlagByOffset b _0803014C .align 2, 0 -_0803013C: .4byte gUnk_030010A0 +_0803013C: .4byte gScreenTransition _08030140: movs r0, #0xc0 lsls r0, r0, #2 @@ -472,7 +472,7 @@ _0803014C: sub_08030150: @ 0x08030150 push {r4, r5, lr} mov ip, r0 - ldr r2, _08030194 @ =gUnk_030010A0 + ldr r2, _08030194 @ =gScreenTransition adds r5, r2, #0 adds r5, #0xac mov r3, ip @@ -504,4 +504,4 @@ sub_08030150: @ 0x08030150 strh r1, [r0] pop {r4, r5, pc} .align 2, 0 -_08030194: .4byte gUnk_030010A0 +_08030194: .4byte gScreenTransition diff --git a/include/entity.h b/include/entity.h index b3121fd3..e717c9e1 100644 --- a/include/entity.h +++ b/include/entity.h @@ -27,7 +27,7 @@ typedef struct { typedef struct Entity { /*0x00*/ u32* field_0x0; - /*0x04*/ u32* field_0x4; + /*0x04*/ struct Entity* field_0x4; /*0x08*/ EntityType entityType; /*0x0c*/ u8 action; /*0x0d*/ u8 previousActionFlag; @@ -124,13 +124,11 @@ typedef struct Entity { /*0x5c*/ Frame* animPtr; /*0x60*/ u16 spriteVramOffset; /*0x62*/ u8 spriteOffsetX; - /*0x64*/ u8 spriteOffsetY; + /*0x63*/ u8 spriteOffsetY; /*0x64*/ u32* otherEntity; - /*0x68*/ u8 field_0x68; - /*0x69*/ u8 field_0x69; + /*0x68*/ union SplitHWord field_0x68; /*0x6a*/ union SplitHWord field_0x6a; - /*0x6c*/ u8 field_0x6c; - /*0x6d*/ u8 field_0x6d; + /*0x6c*/ union SplitHWord field_0x6c; /*0x6e*/ u8 filler4[2]; /*0x70*/ union SplitWord field_0x70; /*0x74*/ u16 field_0x74; @@ -171,4 +169,7 @@ extern void SetSpriteSubEntryOffsetData2(Entity*, u32, u32); extern u32 GetFacingDirection(Entity*, Entity*); extern void DeleteThisEntity(); + +extern Entity gUnk_03003DA0; + #endif diff --git a/include/functions.h b/include/functions.h index 40ebac66..acf20f1f 100644 --- a/include/functions.h +++ b/include/functions.h @@ -6,6 +6,7 @@ #include "entity.h" #include "position.h" #include "link.h" +#include "structures.h" // Identified - to be sorted into header files extern u32 Random(void); @@ -39,6 +40,7 @@ extern void UpdateAnimationVariableFrames(Entity*, u32); extern void CopyPositionAndSpriteOffset(Entity*, Entity*); extern u8* GetSpriteSubEntryOffsetDataPointer(u32, u32); extern u32 LoadFixedGFX(Entity*, u32); +extern void ExecuteScriptCommandSet(Entity*, void *); // Unidentified extern void sub_0806ED78(Entity*); @@ -204,4 +206,18 @@ extern u32 sub_0800445C(Entity*); extern void sub_0807A108(void); extern void sub_0801766C(Entity*); extern void sub_08004168(Entity*); +extern u32 sub_08052638(u32); +extern void sub_0805616C(); +extern u32 sub_0807CF08(u32, u8*); +extern void sub_0807CF48(u32); +extern u32 sub_0807CF10(u8 *); +extern void sub_08056208(); +extern void sub_08050384(); +extern void sub_080B1520(u32); +extern struct_0807D1C4* sub_0807D1C4(u32); +extern u32 sub_0807D24C(u32, char*, u32); +extern void sub_0807CF68(u32); +extern void sub_0807D20C(u32, char*, u32); +extern u32 sub_0807CF88(u32, u8*); +extern u32 sub_0807D008(u32, void*); #endif \ No newline at end of file diff --git a/include/global.h b/include/global.h index 6738b6b8..f6d4a4e1 100644 --- a/include/global.h +++ b/include/global.h @@ -47,23 +47,21 @@ #define min(a, b) ((a) < (b) ? (a) : (b)) #define max(a, b) ((a) >= (b) ? (a) : (b)) -struct Coords16 -{ - s16 x; - s16 y; -} PACKED; - -struct UCoords16 -{ - u16 x; - u16 y; -}; +typedef union { + s32 WORD; + struct { + s16 x, y; + } HALF; +} Coords; union SplitWord { s32 WORD; struct { s16 LO, HI; } HALF; + struct { + u8 byte0, byte1, byte2, byte3; + } BYTES; }; union SplitHWord { diff --git a/include/main.h b/include/main.h index 16888e29..4cceb41e 100644 --- a/include/main.h +++ b/include/main.h @@ -45,7 +45,6 @@ extern UI gUnk_02032EC0; extern s32 sub_08055F70(); extern s32 sub_080A3204(s32); -extern s32 sub_0805616C(s32); extern s32 sub_0807CE90(s32); extern s32 sub_080560B8(s32); extern void sub_08056208(s32); diff --git a/include/menu.h b/include/menu.h index 7da2a591..7ac003dd 100644 --- a/include/menu.h +++ b/include/menu.h @@ -27,9 +27,15 @@ typedef struct { u8 overlayType; u8 storyPanelIndex; u16 transitionTimer; - u8 field_0xa[8]; - u8 field_0x11; - u8 field_0x12[0x16]; + u16 field_0xa; + u8 field_0xc[0x4]; + u8 unk10[2]; + u8 field_0x12; + u8 unk13; + u8 filler14[0x2]; + u8 unk16; + u8 filler17[0x13]; + u8 unk2a; u32 field_0x2c; } Menu; diff --git a/include/npc.h b/include/npc.h index 314a5869..103df393 100644 --- a/include/npc.h +++ b/include/npc.h @@ -170,22 +170,8 @@ extern void Phonograph(Entity*); extern void NPC58(Entity*); extern void NPC58_Head(Entity*); - extern u32 UpdateFuseInteraction(Entity*); extern void ShowNPCDialogue(Entity*, u32*); -typedef struct { - /*0x000*/ u8 filler[8]; - /*0x008*/ u8 unk; - /*0x009*/ u8 filler2[0x47]; - /*0x050*/ u32 unk2; - /*0x051*/ u8 filler3[0x54]; - /*0x0a8*/ Stats stats; - /*0x0d0*/ u8 filler4[0x3c0]; - /*0x490*/ u32 unk3; -} struct_02002A40; - -extern struct_02002A40 gUnk_02002A40; - #endif \ No newline at end of file diff --git a/include/position.h b/include/position.h index bc860826..d0acb275 100644 --- a/include/position.h +++ b/include/position.h @@ -9,5 +9,6 @@ void PositionEntityOnTop(Entity*, Entity*); void PositionRelative(Entity*, Entity*, s32, s32); void sub_0806FA90(Entity*, Entity*, s32, s32); void ResolveEntityOnTop(Entity*, Entity*); +void sub_0806FAD8(Entity*, Entity*); #endif \ No newline at end of file diff --git a/include/readKeyInput.h b/include/readKeyInput.h index 27114243..04711bcd 100644 --- a/include/readKeyInput.h +++ b/include/readKeyInput.h @@ -1,9 +1,9 @@ -struct Input { - u16 unk0; - u16 unk1; - u16 unk2; - u8 unk3; - u8 unk4; -}; +typedef struct { + u16 heldKeys; + u16 newKeys; + u16 unk4; + u8 unk6; + u8 unk7; +} Input; -// void ReadKeyInput(void); +extern Input gUnk_03000FF0; diff --git a/include/structures.h b/include/structures.h index fb96345d..ff29f0da 100644 --- a/include/structures.h +++ b/include/structures.h @@ -6,23 +6,56 @@ #include "link.h" typedef struct { - u8 filler[8]; - u8 field_0x8; - u8 field_0x9[0x34]; - u32 windcrests; - u8 field_0x44[0x64]; - Stats stats; + char header[4]; + u8 saveFile; + u8 field_0x5; + u8 brightnessPref; + u8 gameLanguage; +} struct_02000000; + +typedef struct { + u16 field_0x0; + u16 field_0x2; + u16 field_0x4; + u16 field_0x6; + u16 field_0x8; + u16 field_0xa; +} struct_0807D1C4; + +#define gUnk_02000000 ((struct_02000000*)(0x2000000)) +//extern struct_02000000 gUnk_02000000; + +typedef struct { + /*0x000*/ u8 filler0[0x6]; + /*0x006*/ u8 unk6; + /*0x007*/ u8 unk7; + /*0x008*/ u8 unk8; + /*0x009*/ u8 field_0x9[0x34]; + /*0x040*/ u32 windcrests; + /*0x044*/ u8 filler44[0xC]; + /*0x050*/ u32 unk50; + /*0x054*/ u8 filler54[0x54]; + /*0x0A8*/ Stats stats; + /*0x0D0*/ u8 filler4[0x3c0]; + /*0x490*/ u32 unk490; } struct_02002A40; extern struct_02002A40 gUnk_02002A40; typedef struct { - u8 field_0x0[8]; - u8 field_0x8; - u8 field_0x9; - u8 field_0xa[6]; - union SplitWord field_0x10; - u8 field_0x14[0xc]; + u16 frameCount; // regular frame count? does anything reset it? + u8 field_0x2[6]; + bool8 transitioningOut; + u8 transitionType; // transition when changing areas + u8 field_0xa; // seems to be a tile type + u8 field_0xb; + u8 areaID; + u8 roomID; + u8 playerState; + u8 field_0xf; + Coords playerStartPos; + u16 playerLayer; + u8 field_0x14[0xa]; u16 field_0x20; u16 field_0x22; u8 field_0x24[0x14]; @@ -35,9 +68,34 @@ typedef struct { u16 field_0x46; u16 field_0x48; u16 field_0x4a; -} struct_030010A0; + u8 field_0x4c[0x60]; + u16 field_0xac; +} ScreenTransition; -extern struct_030010A0 gUnk_030010A0; +extern ScreenTransition gScreenTransition; +typedef struct { + u16 transitionType; + u8 field_0x2[4]; + s16 playerXPos; + s16 playerYPos; + u8 field_0xa; + u8 areaID; + u8 roomID; + u8 playerLayer; + u8 field_0xe; + u8 playerState; + u16 transitionSFX; +} ScreenTransitionData; + +typedef struct { + /*0x00*/ u8 unk0; + /*0x01*/ u8 filler1[0x5]; + /*0x06*/ u8 unk6; + /*0x07*/ u8 unk7; + /*0x08*/ s8 unk8[0x10]; // ?? unclear know how large this is +} struct_02019EE0; + +extern struct_02019EE0 gUnk_02019EE0; #endif \ No newline at end of file diff --git a/linker.ld b/linker.ld index 6758bc9c..eb042eea 100644 --- a/linker.ld +++ b/linker.ld @@ -174,7 +174,7 @@ SECTIONS { . = 0x00001000; gUnk_03001000 = .; . = 0x00001010; gUnk_03001010 = .; . = 0x00001020; gUnk_03001020 = .; - . = 0x000010A0; gUnk_030010A0 = .; + . = 0x000010A0; gScreenTransition = .; . = 0x000010AC; gUnk_030010AC = .; . = 0x000010D8; gUnk_030010D8 = .; . = 0x000010EC; gUnk_030010EC = .; @@ -664,7 +664,9 @@ SECTIONS { asm/getInventoryValue.o(.text); asm/code_0807CAA0.o(.text); src/flags.o(.text); + src/code_0807CC3C.o(.text); asm/code_0807CC3C.o(.text); + src/code_080808D8.o(.text); src/code_0808091C.o(.text); /* objects */ asm/itemOnGround.o(.text); @@ -693,7 +695,7 @@ SECTIONS { asm/floatingPlatform.o(.text); asm/object17.o(.text); asm/evilSpirit.o(.text); - asm/houseDoorExterior.o(.text); + src/object/houseDoorExterior.o(.text); src/object/object1A.o(.text); src/object/greatFairy.o(.text); asm/greatFairy.o(.text); @@ -745,7 +747,7 @@ SECTIONS { asm/object45.o(.text); asm/giantBookLadder.o(.text); src/object/heartContainer.o(.text); - asm/object48.o(.text); + src/object/object48.o(.text); src/object/object49.o(.text); asm/object49.o(.text); asm/backgroundCloud.o(.text); @@ -840,7 +842,7 @@ SECTIONS { src/object/palaceArchway.o(.text); asm/objectA2.o(.text); src/object/cloud.o(.text); - asm/minishLight.o(.text); + src/object/minishLight.o(.text); asm/objectA5.o(.text); asm/objectA6.o(.text); asm/objectA7.o(.text); diff --git a/src/code_0805436C.c b/src/code_0805436C.c index 92175a3c..cc81546c 100644 --- a/src/code_0805436C.c +++ b/src/code_0805436C.c @@ -17,11 +17,11 @@ typedef struct { typedef struct { u8 filler[0x2e]; u8 unk; -} struct_030010A0; +} ScreenTransition; extern struct_02002A40 gUnk_02002A40; extern struct_080FD5B4 gUnk_080FD5B4[]; -extern struct_030010A0 gUnk_030010A0; +extern ScreenTransition gScreenTransition; extern u8 gUnk_0200AF13; extern u8 gUnk_0200AF14; @@ -154,7 +154,7 @@ void sub_08054524(void) { bVar1 = gArea.locationIndex; if (gArea.locationIndex == 0) { - bVar1 = gUnk_030010A0.unk; + bVar1 = gScreenTransition.unk; } if (bVar1 > 0x16) { bVar1 = 0; diff --git a/src/code_08077B98.c b/src/code_08077B98.c index c908595b..a29e2c22 100644 --- a/src/code_08077B98.c +++ b/src/code_08077B98.c @@ -83,7 +83,7 @@ void* sub_08077C54(UnkItemStruct* unk) item->entityType.type = 8; item->flags = 0xa0; item->parent = (Entity*)unk; - item->field_0x68 = unk->field_0x1; + item->field_0x68.HALF.LO = unk->field_0x1; sub_0805EA2C(item, 2); } return item; @@ -111,7 +111,7 @@ Entity * CreatePlayerItem(u32 subtype, u32 form, u32 parameter, u32 unk) (ent->entityType).subtype = subtype; (ent->entityType).form = form; (ent->entityType).parameter = parameter; - ent->field_0x68 = unk; + ent->field_0x68.HALF.LO = unk; sub_0805EA2C(ent, 2); } return ent; @@ -128,7 +128,7 @@ Entity * sub_08077CF8(u32 subtype, u32 form, u32 parameter, u32 unk) (ent->entityType).subtype = subtype; (ent->entityType).form = form; (ent->entityType).parameter = parameter; - ent->field_0x68 = unk; + ent->field_0x68.HALF.LO = unk; sub_0805EA2C(ent, 2); } return ent; diff --git a/src/code_0807CC3C.c b/src/code_0807CC3C.c new file mode 100644 index 00000000..b5b1c4ee --- /dev/null +++ b/src/code_0807CC3C.c @@ -0,0 +1,125 @@ +#include "global.h" +#include "entity.h" +#include "functions.h" +#include "menu.h" +#include "structures.h" + +extern void (*const gUnk_0811E478[])(u32); + +extern s16 gUnk_02021EE0[6]; + +void sub_0807CD9C() { + sub_080530C8(); +} + +void sub_0807CDA4(u32 arg0) { + gUnk_0811E478[gMenu.storyPanelIndex](arg0); +} + +u32 sub_0807CDC0(void) { + gUnk_02021EE0[5] -= 8; + if (gUnk_02021EE0[4] <= 0) { + gMenu.field_0xa = 8; + gMenu.storyPanelIndex = 1; + } + return 0; +} + +u32 sub_0807CDE8(u32 arg0) { + u32 temp; + + if (gMenu.field_0xa == 0) { + sub_0805616C(); + switch (arg0) { + case 0: + temp = sub_0807CF08(gUnk_02000000->saveFile, gUnk_02002A40.filler0); + break; + case 1: + sub_0807CF48(gUnk_02000000->saveFile); + temp = 1; + break; + case 2: + temp = sub_0807CF10((u8*)gUnk_02000000->header); + break; + } + gMenu.field_0xa = temp; + gMenu.storyPanelIndex = 2; + sub_08056208(); + } else { + gMenu.field_0xa--; + } + return 0; +} + +s32 sub_0807CE54(void) { + u32 uVar1; + + uVar1 = 0; + gUnk_02021EE0[5] += 8; + if (gUnk_02021EE0[3] <= gUnk_02021EE0[5]) { + gUnk_02021EE0[5] = gUnk_02021EE0[3]; + sub_08050384(); + gMenu.storyPanelIndex = 0; + if (gMenu.field_0xa == 1) { + uVar1 = 1; + } else { + uVar1 = -1; + } + } + return uVar1; +} + +extern char gUnk_0811E484[]; + +u32 sub_0807CE90(void) +{ + struct_0807D1C4 *puVar1; + int iVar2; + int iVar3; + + sub_080B1520(0x40); + puVar1 = sub_0807D1C4(4); + iVar3 = 0; + if (sub_0807D24C(puVar1->field_0x6, gUnk_0811E484, puVar1->field_0x0) == 0) { + iVar3 += 1; + } + if (sub_0807D24C(puVar1->field_0x8, gUnk_0811E484, puVar1->field_0x0) == 0) { + iVar3 += 2; + } + if (iVar3 != 0) { + if (iVar3 == 3) { + sub_0807CF68(5); + sub_0807CF68(3); + sub_0807CF68(2); + sub_0807CF68(1); + sub_0807CF68(0); + } + sub_0807D20C(puVar1->field_0x8, gUnk_0811E484, puVar1->field_0x0); + sub_0807D20C(puVar1->field_0x6, gUnk_0811E484, puVar1->field_0x0); + } + return 1; +} + +u32 sub_0807CF08(u32 arg0, u8* arg1) { + return sub_0807CF88(arg0, arg1); +} + +u32 sub_0807CF10(u8* arg0) { + return sub_0807CF88(3, arg0); +} + +u32 sub_0807CF1C(u8* arg0) { + return sub_0807CF88(5, arg0); +} + +u32 sub_0807CF28(u32 arg0, void* arg1) { + return sub_0807D008(arg0, arg1); +} + +u32 sub_0807CF30(void* arg0) { + return sub_0807D008(3, arg0); +} + +u32 sub_0807CF3C(void* arg0) { + return sub_0807D008(5, arg0); +} diff --git a/src/code_080808D8.c b/src/code_080808D8.c new file mode 100644 index 00000000..e9b9f8f5 --- /dev/null +++ b/src/code_080808D8.c @@ -0,0 +1,25 @@ +#include "global.h" +#include "entity.h" +#include "structures.h" +#include "functions.h" + +void sub_080808D8(void) { + gScreenTransition.transitionType = 0; +} + +void sub_080808E4(void) { + + if (sub_08052638(gScreenTransition.areaID)) { + gScreenTransition.transitionType = 0; + } else { + gScreenTransition.transitionType = 5; + } +} + +void sub_08080904(void) { + gScreenTransition.transitionType = 1; +} + +void sub_08080910(void) { + gScreenTransition.transitionType = 1; +} \ No newline at end of file diff --git a/src/code_0808091C.c b/src/code_0808091C.c index 3ba2096e..1607ddf0 100644 --- a/src/code_0808091C.c +++ b/src/code_0808091C.c @@ -6,7 +6,7 @@ extern void sub_0805E5A8(); extern RoomControls gRoomControls; extern u32 gUnk_0200B650; extern u32 gUnk_02025EB0; -extern u8 gUnk_030010A0[10]; +extern u8 gScreenTransition[10]; extern void DoExitTransition(Entity*); extern void sub_080809D4(); @@ -15,7 +15,7 @@ void sub_0808091C(Entity* param_1, u32 param_2) { DoExitTransition(param_1); - gUnk_030010A0[9] = param_2; + gScreenTransition[9] = param_2; return; } diff --git a/src/enemy/lakitu.c b/src/enemy/lakitu.c index 9189c525..146523f0 100644 --- a/src/enemy/lakitu.c +++ b/src/enemy/lakitu.c @@ -31,10 +31,6 @@ extern void sub_0804A720(Entity *); extern void sub_0803CA84(Entity *, u32); extern bool32 sub_0803CA4C(Entity *); -// Many functions -extern void UpdateAnimationSingleFrame(Entity *); -extern void InitAnimationForceUpdate(Entity *, u32); - // sub_0803C918 extern u32 sub_0803CB04(Entity *); diff --git a/src/enemy/miniFireballGuy.c b/src/enemy/miniFireballGuy.c index d7bdc540..820381c4 100644 --- a/src/enemy/miniFireballGuy.c +++ b/src/enemy/miniFireballGuy.c @@ -31,7 +31,7 @@ void sub_080455D4(Entity *this) void sub_080455E4(Entity *this) { if ((this != this->parent) && (this->parent != NULL)) { - this->field_0x6c = this->field_0x6c & 0x7f; + this->field_0x6c.HALF.LO &= 0x7f; this->parent->attachedEntity = this->attachedEntity; this->attachedEntity->parent = this->parent; } diff --git a/src/enemy/rupeeLike.c b/src/enemy/rupeeLike.c index 009b8789..cbd991c4 100644 --- a/src/enemy/rupeeLike.c +++ b/src/enemy/rupeeLike.c @@ -2,6 +2,7 @@ #include "entity.h" #include "enemy.h" #include "functions.h" +#include "npc.h" #include "structures.h" #include "link.h" diff --git a/src/input.c b/src/input.c index df5b2290..438a6e6b 100644 --- a/src/input.c +++ b/src/input.c @@ -1,18 +1,9 @@ #include "global.h" #include "entity.h" - -typedef struct { - u16 field_0x0; - u16 field_0x2; - u16 field_0x4; - u8 field_0x6; - u8 field_0x7; -} Input; +#include "readKeyInput.h" void StoreKeyInput(Input *pkeyInput, u32 ioKeyInput); -extern Input gUnk_03000FF0; - void ReadKeyInput(void) { u32 reg = ~*(u16*)0x04000130 & 0x3FF; @@ -23,22 +14,22 @@ void ReadKeyInput(void) void StoreKeyInput(Input *input, u32 ioKeyInput) { u32 difference; - u32 temp = input->field_0x0; + u32 temp = input->heldKeys; difference = ioKeyInput & ~temp; - input->field_0x2 = difference; + input->newKeys = difference; if (ioKeyInput == temp) { - if (--input->field_0x7 == 0) { - input->field_0x7 = 4; - input->field_0x4 = ioKeyInput; + if (--input->unk7 == 0) { + input->unk7 = 4; + input->unk4 = ioKeyInput; } else { - input->field_0x4 = 0; + input->unk4 = 0; } } else { - input->field_0x7 = 0x14; - input->field_0x4 = difference; + input->unk7 = 0x14; + input->unk4 = difference; } - input->field_0x0 = ioKeyInput; + input->heldKeys = ioKeyInput; } \ No newline at end of file diff --git a/src/introSetTransition.c b/src/introSetTransition.c index 32bb02c3..33f0e62c 100644 --- a/src/introSetTransition.c +++ b/src/introSetTransition.c @@ -4,6 +4,7 @@ #include "entity.h" #include "functions.h" #include "screen.h" +#include "structures.h" extern void (*const gUnk_081320F0[])(); @@ -17,14 +18,6 @@ typedef struct { extern struct_03000FD0 gUnk_03000FD0; -typedef struct { - char header[4]; - u8 saveFile; - u8 field_0x5; - u8 brightnessPref; - u8 gameLanguage; -} struct_02000000; - typedef struct { u8 filler[5]; u8 field_0x5; @@ -111,7 +104,7 @@ void sub_080AD474(void) int iVar2; u32 uVar3; - gMenu.field_0x11++; + gMenu.field_0x12++; switch (gMenu.menuType) { case 0: gMenu.menuType = 1; @@ -230,7 +223,7 @@ void sub_080AD6AC(void) switch (gMenu.overlayType) { case 0: if (gUnk_03000FD0.field_0x0 == 0) { - if ((gMenu.field_0x11 & 1) == 0) { + if ((gMenu.field_0x12 & 1) == 0) { gScreen.bg2.bg0Control++; } diff --git a/src/loadRoom.c b/src/loadRoom.c index ebc66264..86749a52 100644 --- a/src/loadRoom.c +++ b/src/loadRoom.c @@ -39,7 +39,7 @@ void sub_0804B058(EntityData* dat) { if (sub_08049D1C(uVar2) != 0) { ent = CreateEntity(dat); if ((ent != NULL) && ((ent->entityType).type == 3)) { - ent->field_0x6c = uVar2 | 0x80; + ent->field_0x6c.HALF.LO = uVar2 | 0x80; } } } else { diff --git a/src/manager/manager27.c b/src/manager/manager27.c index db5bd8b6..57952513 100644 --- a/src/manager/manager27.c +++ b/src/manager/manager27.c @@ -3,16 +3,10 @@ #include "flags.h" #include "functions.h" -typedef struct { - u8 filler[0xAC]; - u16 unk; -} struct_030010A0; - extern u32 sub_0805C920(Entity*); extern void LoadPalettesByPaletteGroupIndex(u32); extern void (*const gUnk_08108D10[])(Entity*); -extern struct_030010A0 gUnk_030010A0; extern u8 gUnk_08108D20[]; void Manager27(Entity *this) @@ -20,10 +14,10 @@ void Manager27(Entity *this) gUnk_08108D10[this->action](this); if (CheckLocalFlagByOffset(0x300, this->entityType.form + 0x67)) { - gUnk_030010A0.unk |= (1 << (this->entityType).form); + gScreenTransition.field_0xac |= (1 << (this->entityType).form); } else { - gUnk_030010A0.unk &= ~(1 << (this->entityType).form); + gScreenTransition.field_0xac &= ~(1 << (this->entityType).form); } } diff --git a/src/npc/anju.c b/src/npc/anju.c index e1b7e4e8..19e5a7a2 100644 --- a/src/npc/anju.c +++ b/src/npc/anju.c @@ -44,8 +44,8 @@ void Anju(Entity *this) void sub_0806C354(Entity *this) { - this->field_0x68 = sub_0801E99C(); - sub_08078784(this,this->field_0x68); + this->field_0x68.HALF.LO = sub_0801E99C(); + sub_08078784(this, this->field_0x68.HALF.LO); } void Anju_Fusion(Entity *this) diff --git a/src/npc/bigGoron.c b/src/npc/bigGoron.c index 0d6b9f3f..5096dfa0 100644 --- a/src/npc/bigGoron.c +++ b/src/npc/bigGoron.c @@ -5,7 +5,7 @@ extern void (*gUnk_081140D4[])(Entity*); extern u16 gUnk_081140CC[]; -extern u32 gUnk_030010A0; +extern u32 gScreenTransition; extern void sub_0805E3A0(Entity*, u32); extern void sub_0806D0B0(Entity*); extern void sub_0807DD64(Entity*); @@ -40,7 +40,7 @@ void sub_0806CF30(Entity* this) { if (this->previousActionFlag != 2) { if (this->previousActionFlag < 3) { - if ((gUnk_030010A0 & 3) == 0) { + if ((gScreenTransition & 3) == 0) { iVar3 = this->x.HALF.HI; if (gLinkEntity.x.HALF.HI < iVar3) { if ((this->field_0x68 - 32) < iVar3) { diff --git a/src/npc/bladeBrothers.c b/src/npc/bladeBrothers.c index bcd9fa62..3ebb104f 100644 --- a/src/npc/bladeBrothers.c +++ b/src/npc/bladeBrothers.c @@ -6,25 +6,13 @@ #include "room.h" #include "textbox.h" -typedef struct { - /*0x00*/ u8 filler[0x2C]; - /*0x2C*/ u8 unk; -} struct_030010A0; - -typedef struct { - u8 filler[0xa8]; - Stats stats; -} struct_02002A40; - extern void (*gUnk_081115C0[])(Entity*); extern void (*gUnk_081115D0[])(Entity*); -extern struct_030010A0 gUnk_030010A0; extern u16 gUnk_081115DC[]; extern u8 gUnk_08111618[]; extern u32* gUnk_081115EC[]; -extern struct_02002A40 gUnk_02002A40; extern u8 gUnk_08111623[]; extern u8 gUnk_0811162B[]; extern u16 gUnk_08111664[]; @@ -60,7 +48,7 @@ void sub_08068A1C(Entity* this) { int offset; (this->entityType).parameter = (this->entityType).form; - if (gUnk_030010A0.unk != 0) { + if (gScreenTransition.field_0x24[8] != 0) { offset = 6; bVar1 = 3; @@ -114,7 +102,7 @@ void sub_08068AA4(Entity* this) { } void sub_08068ADC(Entity* this) { - if (gUnk_030010A0.unk == 2) { + if (gScreenTransition.field_0x24[8] == 2) { GetNextFrame(this); } sub_0806FD3C(this); @@ -123,8 +111,8 @@ void sub_08068ADC(Entity* this) { void sub_08068AFC(Entity* this) { this->action = 1; this->spriteSettings.b.draw = 1; - *(u8*)&this->field_0x68 = sub_0801E99C(this); - sub_08078784(this, *(u8*)&this->field_0x68); + this->field_0x68.HALF.LO = sub_0801E99C(this); + sub_08078784(this, this->field_0x68.HALF.LO); sub_0807DD50(this); } @@ -161,14 +149,14 @@ void sub_08068B84(Entity* this) { void sub_08068BB4(Entity* this) { u32 item = gUnk_02002A40.stats.itemOnA; - this->field_0x69 = item; + this->field_0x68.HALF.HI = item; item = gUnk_02002A40.stats.itemOnB; - *(&this->field_0x69 + 1) = item; + *(&this->field_0x68.HALF.HI + 1) = item; } void sub_08068BD0(Entity* this) { - ForceEquipItem(this->field_0x69, 0); - ForceEquipItem(*(u8*)(&this->field_0x69 + 1), 1); + ForceEquipItem(this->field_0x68.HALF.HI, 0); + ForceEquipItem(*(u8*)(&this->field_0x68.HALF.HI + 1), 1); } void sub_08068BEC(Entity* this, u32 unused) { diff --git a/src/npc/carpenter.c b/src/npc/carpenter.c index b0608f6d..bbf9a1ed 100644 --- a/src/npc/carpenter.c +++ b/src/npc/carpenter.c @@ -26,7 +26,7 @@ void Carpenter(Entity* this) { if (!LoadExtraSpriteData(this, gUnk_08110CA8 + this->entityType.form * 4)) break; this->action = 1; - this->field_0x69 = 0; + this->field_0x68.HALF.HI = 0; sub_0805E3A0(this, 2); sub_0807DD64(this); @@ -34,7 +34,7 @@ void Carpenter(Entity* this) { if (this->interactType == 2) { this->action = 2; this->interactType = 0; - this->field_0x69 = this->animIndex; + this->field_0x68.HALF.HI = this->animIndex; InitializeAnimation(this, sub_0806F5A4(GetFacingDirection(this, &gLinkEntity)) + 4 + (this->entityType.form * 8)); sub_0806F118(this); } else { @@ -47,7 +47,7 @@ void Carpenter(Entity* this) { if (!UpdateFuseInteraction(this)) break; this->action = 1; - InitializeAnimation(this, this->field_0x69); + InitializeAnimation(this, this->field_0x68.HALF.HI); break; } } diff --git a/src/npc/cow.c b/src/npc/cow.c index e9df0918..ed448997 100644 --- a/src/npc/cow.c +++ b/src/npc/cow.c @@ -34,7 +34,7 @@ void sub_08068FC0(Entity* ent) { ent->animationState = ent->entityType.parameter; ent->nonPlanarMovement = 0x40; - ent->field_0x6d = 0xFF; + ent->field_0x6c.HALF.HI = 0xFF; r2 = sub_0805ACC0(ent); if (r2 == 0) { @@ -51,7 +51,7 @@ void sub_08068FC0(Entity* ent) { *(u16*)&ent->field_0x68 = var1; ent->field_0x6a.HWORD = r2; } - ent->field_0x6c = sub_0801E99C(ent); + ent->field_0x6c.HALF.LO = sub_0801E99C(ent); InitAnimationForceUpdate(ent, ent->animationState + 4); } @@ -194,15 +194,15 @@ void sub_0806920C(Entity* ent) { u32 var0 = gLinkState.flags.all & 0x80; u32 var1 = -var0 >> 0x1F; - if (var1 != ent->field_0x6d) { + if (var1 != ent->field_0x6c.HALF.HI) { if (var1 == 0) { sub_08078778(ent); } else { - sub_080787A8(ent, ent->field_0x6c); + sub_080787A8(ent, ent->field_0x6c.HALF.LO); } } - ent->field_0x6d = var1; + ent->field_0x6c.HALF.HI = var1; } // Check if player interacting diff --git a/src/npc/dampe.c b/src/npc/dampe.c index b7947c32..8e9707a7 100644 --- a/src/npc/dampe.c +++ b/src/npc/dampe.c @@ -52,8 +52,8 @@ void Dampe(Entity* this) { } void sub_0806BE3C(Entity* this) { - this->field_0x68 = sub_0801E99C(); - sub_08078784(this, this->field_0x68); + this->field_0x68.HALF.LO = sub_0801E99C(); + sub_08078784(this, this->field_0x68.HALF.LO); } void Dampe_Fusion(Entity* this) { diff --git a/src/npc/epona.c b/src/npc/epona.c index 617867b6..51e2da86 100644 --- a/src/npc/epona.c +++ b/src/npc/epona.c @@ -20,8 +20,8 @@ void sub_080659B8(Entity* this) { this->action = 1; this->spriteSettings.b.draw = 1; this->animationState = 6; - this->field_0x69 = -1; - this->field_0x68 = sub_0801E99C(this); + this->field_0x68.HALF.HI = -1; + this->field_0x68.HALF.LO = sub_0801E99C(this); InitAnimationForceUpdate(this, this->animationState / 2); } @@ -57,14 +57,14 @@ void sub_08065A64(Entity* this) { u32 uVar2; uVar2 = -(gLinkState.flags.all & 0x80) >> 0x1f; - if (uVar2 != this->field_0x69) { + if (uVar2 != this->field_0x68.HALF.HI) { if (uVar2 == 0) { sub_08078778(this); } else { - sub_080787A8(this, this->field_0x68); + sub_080787A8(this, this->field_0x68.HALF.LO); } } - this->field_0x69 = uVar2; + this->field_0x68.HALF.HI = uVar2; } void sub_08065AA4(Entity* this) { diff --git a/src/npc/festari.c b/src/npc/festari.c index ff64ccd6..b362359e 100644 --- a/src/npc/festari.c +++ b/src/npc/festari.c @@ -25,8 +25,8 @@ void sub_0805FE10(Entity *this) this->action = 1; this->spriteSettings.b.draw = TRUE; sub_0805E3A0(this, 2); - this->field_0x68 = sub_0801E99C(this); - sub_08078784(this, this->field_0x68); + this->field_0x68.HALF.LO = sub_0801E99C(this); + sub_08078784(this, this->field_0x68.HALF.LO); sub_0807DD50(this); } diff --git a/src/npc/forestMinish.c b/src/npc/forestMinish.c index 8fb7da7b..7d0daab7 100644 --- a/src/npc/forestMinish.c +++ b/src/npc/forestMinish.c @@ -4,6 +4,7 @@ #include "flags.h" #include "textbox.h" #include "link.h" +#include "structures.h" extern void sub_0805E3A0(Entity*, u32); extern void StartCutscene(Entity*, void*); @@ -38,7 +39,7 @@ void ForestMinish(Entity* this) { if (LoadExtraSpriteData(this, &gUnk_0810A348)) { this->action = 1; this->spriteSettings.b.draw = TRUE; - this->field_0x69 = this->animationState = this->actionDelay << 1; + this->field_0x68.HALF.HI = this->animationState = this->actionDelay << 1; this->actionDelay = 0; sub_0805E3A0(this, 2); StartCutscene(this, gUnk_08109D18[this->entityType.parameter]); @@ -66,8 +67,8 @@ void ForestMinish(Entity* this) { } void sub_08060090(Entity* this) { - this->field_0x68 = sub_0801E99C(this); - sub_08078784(this, this->field_0x68); + this->field_0x68.HALF.LO = sub_0801E99C(this); + sub_08078784(this, this->field_0x68.HALF.LO); } void ForestMinish_Head(Entity* this) { @@ -129,8 +130,8 @@ void sub_08060158(Entity *this) this->actionDelay = 2; iVar4 = sub_0806EDD8(this, 0x20, 0x20); if (iVar4 < 0) { - this->animationState = this->field_0x69; - iVar4 = this->field_0x69 << 2; + this->animationState = this->field_0x68.HALF.HI; + iVar4 = this->field_0x68.HALF.HI << 2; } temp = (this->animationState >> 1) * 0x20 + (iVar4 >> 1) * 2; bVar1 = gUnk_08109C98[temp]; @@ -257,7 +258,7 @@ void sub_08060318(void) void sub_08060340(void) { - gUnk_02002A40.unk3 = gUnk_02002A40.unk2; + gUnk_02002A40.unk490 = gUnk_02002A40.unk50; } u32 sub_08060354(void) @@ -265,7 +266,7 @@ u32 sub_08060354(void) u32 iVar1; s32 iVar2; - iVar2 = gUnk_02002A40.unk2 - gUnk_02002A40.unk3; + iVar2 = gUnk_02002A40.unk50 - gUnk_02002A40.unk490; if (CheckGlobalFlag(DRUG_1) == 0) { if (4 < iVar2) { return 0x8444; diff --git a/src/npc/gentari.c b/src/npc/gentari.c index f41a7438..31b3bdc4 100644 --- a/src/npc/gentari.c +++ b/src/npc/gentari.c @@ -18,8 +18,8 @@ void Gentari(Entity *this) this->action = 1; this->spriteSettings.b.draw = TRUE; sub_0805E3A0(this, 2); - this->field_0x68 = sub_0801E99C(this); - sub_08078784(this, this->field_0x68); + this->field_0x68.HALF.LO = sub_0801E99C(this); + sub_08078784(this, this->field_0x68.HALF.LO); sub_0807DD50(this); break; case 1: diff --git a/src/npc/goronMerchant.c b/src/npc/goronMerchant.c index 8cda93ec..94736676 100644 --- a/src/npc/goronMerchant.c +++ b/src/npc/goronMerchant.c @@ -27,7 +27,7 @@ void GoronMerchant(Entity *this) void sub_08069584(Entity *this) { - if (gUnk_030010A0.field_0x24[8] != 0) { + if (gScreenTransition.field_0x24[8] != 0) { this->action = 3; } else { @@ -65,7 +65,7 @@ void sub_080695E8(Entity *this) void sub_0806961C(Entity *this) { - if (gUnk_030010A0.field_0x24[8] == 2) { + if (gScreenTransition.field_0x24[8] == 2) { UpdateAnimationSingleFrame(this); } sub_0806FD3C(this); diff --git a/src/npc/guard.c b/src/npc/guard.c index 765a89dd..a2cd0b25 100644 --- a/src/npc/guard.c +++ b/src/npc/guard.c @@ -13,7 +13,7 @@ typedef struct { typedef struct { u8 filler[8]; u8 unk; -} struct_030010A0; +} ScreenTransition; typedef struct { u32 unk; @@ -38,7 +38,7 @@ extern void (*const gUnk_0810F550[])(Entity*); extern u8 gUnk_03003DBC; extern SpriteLoadData gUnk_0810F524[]; extern void* gUnk_0810F6BC[]; -extern struct_030010A0 gUnk_030010A0; +extern ScreenTransition gScreenTransition; void Guard(Entity *this) { @@ -175,7 +175,7 @@ void sub_08064030(Entity *arg0,Entity *arg1) void sub_08064044(void) { - gUnk_030010A0.unk = 1; + gScreenTransition.unk = 1; } void sub_08064050(Entity *arg0, struct_08064050 *arg1) diff --git a/src/npc/librari.c b/src/npc/librari.c index 77b48bb6..5725f1ea 100644 --- a/src/npc/librari.c +++ b/src/npc/librari.c @@ -13,8 +13,8 @@ void Librari(Entity* this) { this->action = 1; this->spriteSettings.b.draw = TRUE; this->animationState = this->actionDelay; - this->field_0x68 = sub_0801E99C(this); - sub_08078784(this, this->field_0x68); + this->field_0x68.HALF.LO = sub_0801E99C(this); + sub_08078784(this, this->field_0x68.HALF.LO); sub_0805E3A0(this, 2); sub_0807DD50(this); break; diff --git a/src/npc/malon.c b/src/npc/malon.c index de484cc4..4a599435 100644 --- a/src/npc/malon.c +++ b/src/npc/malon.c @@ -32,8 +32,8 @@ void sub_08065888(Entity* this) { this->action = 1; this->spriteSettings.b.draw = 1; this->animationState = 4; - this->field_0x68 = sub_0801E99C(this); - sub_08078784(this, this->field_0x68); + this->field_0x68.HALF.LO = sub_0801E99C(this); + sub_08078784(this, this->field_0x68.HALF.LO); sub_0807DD50(this); } diff --git a/src/npc/mayorHagen.c b/src/npc/mayorHagen.c index 1eb0ff64..9c9cbe51 100644 --- a/src/npc/mayorHagen.c +++ b/src/npc/mayorHagen.c @@ -6,6 +6,8 @@ #include "sprite.h" #include "textbox.h" #include "npc.h" +#include "structures.h" + extern void sub_0807DD50(Entity*); extern u32 sub_0806F5A4(u32); extern void sub_0806F118(Entity*); @@ -28,8 +30,8 @@ void MayorHagen(Entity *this) switch (this->action) { case 0: this->action = 1; - this->field_0x69 = 0; - this->field_0x68 = sub_0801E99C(this); + this->field_0x68.HALF.HI = 0; + this->field_0x68.HALF.LO = sub_0801E99C(this); sub_0805E3A0(this, 2); sub_0807DD50(this); break; @@ -38,7 +40,7 @@ void MayorHagen(Entity *this) if (v == 2) { this->action = v; this->interactType = 0; - this->field_0x69 = this->animIndex; + this->field_0x68.HALF.HI = this->animIndex; InitAnimationForceUpdate(this,4 + sub_0806F5A4(GetFacingDirection(this, &gLinkEntity))); sub_0806F118(this); break; @@ -50,7 +52,7 @@ void MayorHagen(Entity *this) case 2: if (UpdateFuseInteraction(this)) { this->action = 1; - InitAnimationForceUpdate(this, this->field_0x69); + InitAnimationForceUpdate(this, this->field_0x68.HALF.HI); } } } @@ -65,7 +67,7 @@ void sub_0806CE80(Entity *this) { u32 v; u32 v2; - v = gUnk_02002A40.filler[8]; + v = gUnk_02002A40.unk8; if (v == 5) { //flippers if (GetInventoryValue(0x46) == 0) { diff --git a/src/npc/melari.c b/src/npc/melari.c index ae906fd5..a4cce8f6 100644 --- a/src/npc/melari.c +++ b/src/npc/melari.c @@ -111,8 +111,8 @@ void sub_08068780(Entity* this) { } void sub_08068884(Entity* this) { - this->field_0x68 = sub_0801E99C(this); - sub_08078784(this, this->field_0x68); + this->field_0x68.HALF.LO = sub_0801E99C(this); + sub_08078784(this, this->field_0x68.HALF.LO); } void Melari_Head(Entity* this) { diff --git a/src/npc/mutoh.c b/src/npc/mutoh.c index 46256dbe..e20d6ea6 100644 --- a/src/npc/mutoh.c +++ b/src/npc/mutoh.c @@ -4,6 +4,7 @@ #include "flags.h" #include "textbox.h" #include "npc.h" +#include "structures.h" extern void sub_0805E3A0(Entity*, u32); extern void sub_0807DD50(Entity*); @@ -75,13 +76,13 @@ void sub_080670B4(Entity *this) void sub_080670E4(Entity *this) { - ShowNPCDialogue(this, &gUnk_08110C10[gUnk_02002A40.unk * 2]); + ShowNPCDialogue(this, &gUnk_08110C10[gUnk_02002A40.unk8 * 2]); } void sub_08067100(Entity *this) { - this->field_0x68 = sub_0801E99C(this); - sub_08078784(this, this->field_0x68); + this->field_0x68.HALF.LO = sub_0801E99C(this); + sub_08078784(this, this->field_0x68.HALF.LO); } void Mutoh_Fusion(Entity *this) diff --git a/src/npc/postman.c b/src/npc/postman.c index b3a51dba..6df8f21b 100644 --- a/src/npc/postman.c +++ b/src/npc/postman.c @@ -3,6 +3,7 @@ #include "npc.h" #include "textbox.h" #include "link.h" +#include "structures.h" typedef struct { u8 filler[7]; @@ -125,11 +126,11 @@ void sub_08060528(Entity *this) case 0: this->action = 1; this->spriteSettings.b.draw = TRUE; - this->field_0x68 = 0; - this->field_0x69 = 0; + this->field_0x68.HALF.LO = 0; + this->field_0x68.HALF.HI = 0; this->field_0x6a.HWORD = 0; - this->field_0x6d = 0; - this->field_0x6c = sub_0801E99C(this); + this->field_0x6c.HALF.HI = 0; + this->field_0x6c.HALF.LO = sub_0801E99C(this); sub_0807DD50(this); break; case 1: @@ -170,7 +171,7 @@ void sub_08060528(Entity *this) if ((s16)this->field_0x6a.HWORD > 0x12b) { this->field_0x6a.HWORD = 0; this->field_0x20 = 0x20000; - this->field_0x6d = 1; + this->field_0x6c.HALF.HI = 1; sub_080788E0(this); sub_08004488(0x7c); } @@ -179,8 +180,8 @@ void sub_08060528(Entity *this) } } sub_08003FC4(this, 0x1800); - if (((this->field_0x6d != 0) && (this->field_0x20 == 0)) && this->height.WORD == 0) { - this->field_0x6d = 0; + if (((this->field_0x6c.HALF.HI != 0) && (this->field_0x20 == 0)) && this->height.WORD == 0) { + this->field_0x6c.HALF.HI = 0; sub_080606C0(this); } if ((-1 < this->height.WORD) && @@ -192,15 +193,15 @@ void sub_08060528(Entity *this) void sub_080606C0(Entity *this) { - this->field_0x6c = sub_0801E99C(this); - sub_08078784(this, this->field_0x6c); + this->field_0x6c.HALF.LO = sub_0801E99C(this); + sub_08078784(this, this->field_0x6c.HALF.LO); } void sub_080606D8(Entity* this) { s32 iVar1; - iVar1 = gUnk_02002A40.unk - 2; + iVar1 = gUnk_02002A40.unk8 - 2; if (iVar1 < 0) { iVar1 = 0; } @@ -211,8 +212,8 @@ void sub_080606D8(Entity* this) void sub_08060700(Entity *arg0, u32 arg1) { sub_0807DEDC(arg0,arg1, - gUnk_0810A918[gUnk_0810A66C[arg0->field_0x69][arg0->field_0x68] * 4 + gRoomControls.roomOriginX], - gUnk_0810A918[gUnk_0810A66C[arg0->field_0x69][arg0->field_0x68] * 4 + gRoomControls.roomOriginY + 2]); + gUnk_0810A918[gUnk_0810A66C[arg0->field_0x68.HALF.HI][arg0->field_0x68.HALF.LO] * 4 + gRoomControls.roomOriginX], + gUnk_0810A918[gUnk_0810A66C[arg0->field_0x68.HALF.HI][arg0->field_0x68.HALF.LO] * 4 + gRoomControls.roomOriginY + 2]); gUnk_02033280.unk |= 1; } #endif @@ -222,6 +223,6 @@ NAKED void sub_08060700(Entity *arg0, u32 arg1) { void sub_0806075C(Entity *this) { - this->field_0x68 = 0xb; - this->field_0x69 = 0xff; + this->field_0x68.HALF.LO = 0xb; + this->field_0x68.HALF.HI = 0xff; } \ No newline at end of file diff --git a/src/npc/simon.c b/src/npc/simon.c index 911fd745..d30b869a 100644 --- a/src/npc/simon.c +++ b/src/npc/simon.c @@ -4,11 +4,6 @@ #include "room.h" #include "flags.h" -typedef struct { - u8 filler[9]; - u8 unk; -} struct_030010A0; - typedef struct { u8 filler[4]; u32 unk; @@ -21,7 +16,6 @@ extern void DoFade(u32, u32); extern void gUnk_0813AD60; extern void gUnk_0813AD74; -extern struct_030010A0 gUnk_030010A0; void Simon(Entity *this) { @@ -37,7 +31,7 @@ void Simon(Entity *this) void sub_0806C224(void) { DoExitTransition(&gUnk_0813AD60); - gUnk_030010A0.unk = 6; + gScreenTransition.transitionType = 6; } void Simon_CreateChest(Entity *this) @@ -51,7 +45,7 @@ void sub_0806C280(void) { SetGlobalFlag(MAROYA_WAKEUP); DoExitTransition(&gUnk_0813AD74); - gUnk_030010A0.unk = 6; + gScreenTransition.transitionType = 6; } void sub_0806C2A0(u32 *param_1,struct_0806C2A0 *param_2) diff --git a/src/npc/smith.c b/src/npc/smith.c index 744bd8e2..ef3b80ac 100644 --- a/src/npc/smith.c +++ b/src/npc/smith.c @@ -98,7 +98,7 @@ void sub_080660EC(Entity *this) { if (LoadExtraSpriteData(this, &gUnk_08110354) != 0) { this->action = 1; - this->field_0x68 = sub_0801E99C(this); + this->field_0x68.HALF.LO = sub_0801E99C(this); InitAnimationForceUpdate(this, 2); } } @@ -140,7 +140,7 @@ void sub_08066178(Entity *this) if (LoadExtraSpriteData(this, &gUnk_08110354) != 0) { this->action = 1; this->spriteSettings.b.draw = 1; - this->field_0x68 = sub_0801E99C(this); + this->field_0x68.HALF.LO = sub_0801E99C(this); sub_0807DD50(this); } } @@ -207,7 +207,7 @@ void sub_08066274(u32 arg0) void sub_08066288(Entity *arg0) { - sub_08078784(arg0, arg0->field_0x68); + sub_08078784(arg0, arg0->field_0x68.HALF.LO); } void Smith_Fusion(Entity *this) diff --git a/src/npc/syrup.c b/src/npc/syrup.c index da3f69e8..58a3cb61 100644 --- a/src/npc/syrup.c +++ b/src/npc/syrup.c @@ -11,7 +11,7 @@ extern void (*gUnk_081121D4[])(Entity*); extern SpriteLoadData gUnk_081121C4; extern SpriteLoadData gUnk_081121B4; -extern u32 gUnk_030010A0; +extern u32 gScreenTransition; extern void sub_0807DD94(Entity*, u32); extern void sub_0806A26C(Entity*); extern void sub_080042BA(Entity*, u32); @@ -42,7 +42,7 @@ void sub_0806A234(Entity *this) { sub_0807DD94(this, 0); if ((this->field_0x82.HWORD & 4) != 0) { - if ((gUnk_030010A0 & 7) == 0) { + if ((gScreenTransition & 7) == 0) { sub_0806A26C(this); } sub_080042BA(this, 2); diff --git a/src/npc/talon.c b/src/npc/talon.c index 01449c06..5b01b650 100644 --- a/src/npc/talon.c +++ b/src/npc/talon.c @@ -64,15 +64,15 @@ void sub_08065608(Entity* this) { if (LoadExtraSpriteData(this, &gUnk_0810FEB0) != 0) { this->action = 1; this->spriteSettings.b.draw = 1; - this->field_0x68 = sub_0801E99C(this); - sub_08078784(this, this->field_0x68); + this->field_0x68.HALF.LO = sub_0801E99C(this); + sub_08078784(this, this->field_0x68.HALF.LO); sub_0807DD50(this); } } void sub_08065648(Entity* this) { if (this->interactType == 2) { - this->field_0x69 = this->action; + this->field_0x68.HALF.HI = this->action; this->action = 4; this->interactType = 0; sub_0806F118(this); @@ -83,14 +83,14 @@ void sub_08065648(Entity* this) { void sub_08065680(Entity* this) { if (UpdateFuseInteraction() != 0) { - this->action = this->field_0x69; + this->action = this->field_0x68.HALF.HI; InitAnimationForceUpdate(this, this->field_0x6a.HALF.LO); } } void sub_080656A4(Entity* this) { if ((gTextBox.doTextBox & 0x7F) == 0) { - this->action = this->field_0x69; + this->action = this->field_0x68.HALF.HI; InitAnimationForceUpdate(this, this->field_0x6a.HALF.LO); } UpdateAnimationSingleFrame(this); @@ -98,7 +98,7 @@ void sub_080656A4(Entity* this) { void sub_080656D4(Entity* this) { if (this->interactType == 2) { - this->field_0x69 = this->action; + this->field_0x68.HALF.HI = this->action; this->action = 4; this->interactType = 0; sub_0806F118(this); @@ -109,7 +109,7 @@ void sub_080656D4(Entity* this) { StartCutscene(this, &gUnk_0800B41C); goto label2; } else { - this->field_0x69 = this->action; + this->field_0x68.HALF.HI = this->action; this->action = 3; this->interactType = 0; TextboxNoOverlap(*(u32*)(*(u32*)&this->cutsceneBeh.HWORD + 4), this); diff --git a/src/npc/teachers.c b/src/npc/teachers.c index a82bdadd..1a98617f 100644 --- a/src/npc/teachers.c +++ b/src/npc/teachers.c @@ -30,7 +30,7 @@ void Teachers(Entity* this) { this->action = 1; this->spriteSettings.b.draw = TRUE; this->animationState = this->actionDelay; - this->field_0x69 = 0; + this->field_0x68.HALF.HI = 0; sub_0805E3A0(this, 2); sub_0807DD50(this); } @@ -39,7 +39,7 @@ void Teachers(Entity* this) { if (this->interactType == 2) { this->action = 2; this->interactType = 0; - this->field_0x69 = this->animIndex; + this->field_0x68.HALF.HI = this->animIndex; InitializeAnimation(this, (this->animIndex & -4) + sub_0806F5A4(GetFacingDirection(this, &gLinkEntity))); sub_0806F118(this); @@ -50,15 +50,15 @@ void Teachers(Entity* this) { case 2: if (UpdateFuseInteraction(this)) { this->action = 1; - InitializeAnimation(this, this->field_0x69); + InitializeAnimation(this, this->field_0x68.HALF.HI); } } } void sub_0806C674(Entity *this) { - this->field_0x68 = sub_0801E99C(); - sub_08078784(this, this->field_0x68); + this->field_0x68.HALF.LO = sub_0801E99C(); + sub_08078784(this, this->field_0x68.HALF.LO); } void Teachers_Head(Entity *this) diff --git a/src/npc/townMinish.c b/src/npc/townMinish.c index c47a2a3f..d6595f2b 100644 --- a/src/npc/townMinish.c +++ b/src/npc/townMinish.c @@ -39,7 +39,7 @@ void sub_0806ABFC(Entity *this) this->animationState = this->field_0x6a.HALF.LO << 1; animationState = this->animationState; - this->field_0x69 = animationState << 2; + this->field_0x68.HALF.HI = animationState << 2; this->actionDelay = 0; } @@ -48,7 +48,7 @@ void sub_0806ABFC(Entity *this) /*void sub_0806AC3C(Entity *this) { if (this->field_0x58 <= 3) { s32 unk; - u8 field_0x69; + u8 field_0x68; Entity *link = &gLinkEntity; if (sub_080041A0(this, link, 0x18, 0x18)) { @@ -58,24 +58,24 @@ void sub_0806ABFC(Entity *this) unk = this->animationState << 2; } - field_0x69 = this->field_0x69; + field_0x68.HALF.HI = this->field_0x68.HALF.HI; - if (unk != field_0x69) { + if (unk != field_0x68.HALF.HI) { s32 temp; - if (((unk - field_0x69) & 0x1f) <= 0xf) { - field_0x69--; + if (((unk - field_0x68.HALF.HI) & 0x1f) <= 0xf) { + field_0x68.HALF.HI--; } else { - field_0x69++; + field_0x68.HALF.HI++; } - temp = field_0x69; - this->field_0x69 = temp & 0x1f; + temp = field_0x68.HALF.HI; + this->field_0x68.HALF.HI = temp & 0x1f; } - if (!(this->field_0x69 & 7)) { - this->animationState = sub_0806F5B0(this->field_0x69); + if (!(this->field_0x68.HALF.HI & 7)) { + this->animationState = sub_0806F5B0(this->field_0x68.HALF.HI); UpdateSprite(this, (this->animationState >> 1) ^ 2); } } diff --git a/src/npc/townsperson.c b/src/npc/townsperson.c index a10aed22..60748042 100644 --- a/src/npc/townsperson.c +++ b/src/npc/townsperson.c @@ -4,6 +4,7 @@ #include "link.h" #include "textbox.h" #include "flags.h" +#include "structures.h" typedef struct { u8 frame1; @@ -123,7 +124,7 @@ void sub_08061CEC(Entity* this) { this->action = 1; this->spriteSettings.b.draw = TRUE; this->animationState = this->actionDelay; - this->field_0x69 = 0xff; + this->field_0x68.HALF.HI = 0xff; uVar2 = sub_0805ACC0(this); if (uVar2 == 0) { this->field_0x6a.HWORD = this->x.HALF.HI; @@ -132,7 +133,7 @@ void sub_08061CEC(Entity* this) { this->field_0x6a.HWORD = (uVar2 >> 0x10); } *(u16*)&this->field_0x6c = uVar2; - this->field_0x68 = sub_0801E99C(this); + this->field_0x68.HALF.LO = sub_0801E99C(this); sub_0807DD64(this); sub_08061D64(this); } @@ -143,7 +144,7 @@ void sub_08061D64(Entity* this) { this->action = 3; this->interactType = 0; sub_0806F118(this); - this->field_0x69 = this->animIndex; + this->field_0x68.HALF.HI = this->animIndex; InitializeAnimation(this, (this->animIndex & -4) + sub_0806F5A4(GetFacingDirection(this, &gLinkEntity))); } else { sub_0807DDAC(this, 0); @@ -156,7 +157,7 @@ void sub_08061D64(Entity* this) { this->action = 2; this->interactType = 0; sub_08062048(this); - this->field_0x69 = this->animIndex; + this->field_0x68.HALF.HI = this->animIndex; InitializeAnimation(this, (this->animIndex & -4) + sub_0806F5A4(GetFacingDirection(this, &gLinkEntity))); } } @@ -166,7 +167,7 @@ void sub_08061E24(Entity* this) { GetNextFrame(this); if ((gTextBox.doTextBox & 0x7f) == 0) { this->action = 1; - InitializeAnimation(this, this->field_0x69); + InitializeAnimation(this, this->field_0x68.HALF.HI); } } @@ -174,13 +175,13 @@ void sub_08061E50(Entity* this) { if (UpdateFuseInteraction(this) != 0) { this->action = 1; - InitializeAnimation(this, this->field_0x69); + InitializeAnimation(this, this->field_0x68.HALF.HI); } } void sub_08061E70(Entity* this) { if ((this->entityType).subtype == 6) { - sub_08078784(this, this->field_0x68); + sub_08078784(this, this->field_0x68.HALF.LO); } else { sub_08078778(this); } @@ -300,7 +301,7 @@ void sub_08062048(Entity *this) int iVar1; if ((this->entityType).subtype == 6) { - iVar1 = gUnk_02002A40.unk - 2; + iVar1 = gUnk_02002A40.unk8 - 2; if (iVar1 < 0) { iVar1 = 0; } diff --git a/src/npc/windTribespeople.c b/src/npc/windTribespeople.c index b95db3d4..620483b3 100644 --- a/src/npc/windTribespeople.c +++ b/src/npc/windTribespeople.c @@ -3,6 +3,7 @@ #include "npc.h" #include "textbox.h" #include "flags.h" +#include "structures.h" extern u32 LoadExtraSpriteData(Entity*, SpriteLoadData*); extern void sub_0807DD50(Entity*); @@ -78,8 +79,8 @@ void sub_0806C870(Entity *this) u8 bVar1; bVar1 = sub_0801E99C(); - this->field_0x68 = bVar1; - sub_08078784(this, this->field_0x68); + this->field_0x68.HALF.LO = bVar1; + sub_08078784(this, this->field_0x68.HALF.LO); } void WindTribespeople_Head(Entity *this) @@ -122,7 +123,7 @@ void sub_0806C90C(Entity *param_1,Entity *param_2) void sub_0806C928(Entity *this) { - ShowNPCDialogue(this, &gUnk_08113ABC[gUnk_02002A40.unk * 2]); + ShowNPCDialogue(this, &gUnk_08113ABC[gUnk_02002A40.unk8 * 2]); } void sub_0806C944(Entity *this) diff --git a/src/object/cloud.c b/src/object/cloud.c index c55e0d57..96ffc659 100644 --- a/src/object/cloud.c +++ b/src/object/cloud.c @@ -23,7 +23,7 @@ extern void PositionEntityOnTop(Entity*, Entity*); extern void sub_0807BB68(u32*, u32, u32); extern u8 gUnk_02034490; -extern u32 gUnk_030010A0; +extern u32 gScreenTransition; extern void* gUnk_080DD750; extern Entity gLinkEntity; extern LinkState gLinkState; @@ -47,7 +47,7 @@ void sub_0809F514(Entity* this) { this->action = 1; this->actionDelay = 120; this->spriteSettings.b.draw = 0; - *(u8*)&this->field_0x68 = 12; + this->field_0x68.HALF.LO = 12; gRoomControls.cameraTarget = this; gUnk_02034490 = 255; sub_0809F7BC(this); @@ -62,7 +62,7 @@ void sub_0809F548(Entity* this) { sub_0809F814((((this->x.HALF.HI - gRoomControls.roomOriginX) >> 4) & 63) | (((this->y.HALF.HI - gRoomControls.roomOriginY) >> 4) & 63) << 6); } else { - if ((gUnk_030010A0 & 7) == 0) { + if ((gScreenTransition & 7) == 0) { sub_0809F7BC(this); } sub_0809F7F4(this); @@ -81,7 +81,7 @@ void sub_0809F5B0(Entity* this) { void sub_0809F5DC(Entity* this) { this->action = 1; this->spriteSettings.b.draw = 0; - *(u8*)&this->field_0x68 = 12; + this->field_0x68.HALF.LO = 12; } void sub_0809F5F0(Entity* this) { @@ -110,7 +110,7 @@ void sub_0809F61C(Entity* this) { sub_0809F814((((this->x.HALF.HI - gRoomControls.roomOriginX) >> 4) & 63) | (((this->y.HALF.HI - gRoomControls.roomOriginY) >> 4) & 63) << 6); } else { - if ((gUnk_030010A0 & 7) == 0) { + if ((gScreenTransition & 7) == 0) { sub_0809F7BC(this); } sub_0809F7F4(this); @@ -145,7 +145,7 @@ void sub_0809F700(Entity* this) { this->actionDelay = (Random() & 30) + 8; this->flags = this->flags | 12; } - if ((gUnk_030010A0 & 3) == 0) { + if ((gScreenTransition & 3) == 0) { uVar2 = Random(); this->spriteOffsetX = gUnk_081247C0[uVar2 & 7]; this->spriteOffsetY = gUnk_081247C0[uVar2 >> 4 & 7]; @@ -195,14 +195,8 @@ void sub_0809F7BC(Entity* this) { } void sub_0809F7F4(Entity* this) { - u8 cVar1; - u8* puVar2; - - puVar2 = (u8*)&this->field_0x68; - *puVar2 -= 1; - - if (*puVar2 == 0) { - *puVar2 = 12; + if (--this->field_0x68.HALF.LO == 0) { + this->field_0x68.HALF.LO = 12; PlaySFX(388); } } diff --git a/src/object/greatFairy.c b/src/object/greatFairy.c index 21edd60f..4e2c4d40 100644 --- a/src/object/greatFairy.c +++ b/src/object/greatFairy.c @@ -459,23 +459,16 @@ void sub_08087294(Entity* this) { gUnk_081207A4[this->action](this); } -#ifdef NON_MATCHING void sub_080872AC(Entity* this) { this->spriteSettings.b.draw = 1; this->spriteOrientation.flipY = 1; - this->spriteRendering.b0 = 0; - this->field_0x68 = (u16)(this->x).HALF.HI; - this->field_0x6a = (u16)(this->y).HALF.HI; + this->spriteRendering.b3 = 0; + this->field_0x68.HWORD = this->x.HALF.HI; + this->field_0x6a.HWORD = this->y.HALF.HI; this->direction = (u8)Random() & 0x1F; this->nonPlanarMovement = 32; GreatFairy_InitializeAnimation(this); } -#else -NAKED -void sub_080872AC(Entity* this) { - asm(".include \"asm/greatFairy/sub_080872AC.inc\""); -} -#endif //clang-format off void (*const GreatFairy_Main[])(Entity*) = { diff --git a/src/object/houseDoorExterior.c b/src/object/houseDoorExterior.c new file mode 100755 index 00000000..c68f6b23 --- /dev/null +++ b/src/object/houseDoorExterior.c @@ -0,0 +1,187 @@ +#include "global.h" +#include "entity.h" +#include "flags.h" +#include "functions.h" +#include "room.h" + +typedef struct { + /*0x00*/ u16 unk0; + /*0x02*/ u16 unk2; + /*0x04*/ u8 unk4; + /*0x05*/ u8 unk5; + /*0x06*/ u8 unk6; + /*0x07*/ u8 unk7; + /*0x08*/ u8 *unk8; +} unk_DoorProperty; + +typedef struct { + /*0x00*/ u8 filler0[0x8]; + /*0x08*/ u32 unk8; +} unk_80868EC; + +static void sub_080868EC(Entity* entity, unk_80868EC* arg1); +static bool32 sub_080867CC(u32); +static void sub_0808681C(Entity*); +static u8 sub_08086954(Entity*); + +extern u32 sub_080562CC(u32, u32, u32, u32); +extern void sub_08078AC0(u32, u32, u32); +extern void* GetCurrentRoomProperty(u8); + +extern void (*const gUnk_081206B4[])(Entity*); +extern BoundingBox gUnk_081206AC; // TODO: should be const + +void HouseDoorExterior(Entity* this) { + gUnk_081206B4[this->entityType.parameter](this); +} + +void sub_080866D8(Entity* this) { + unk_DoorProperty* prop; + Entity* entity; + u32 i; + + if (this->action == 0) { + this->action = 1; + *((u32 *)(&this->field_0x68)) = 0; + this->field_0x6c.HALF.LO = this->actionDelay; + sub_0805E3A0(this, 6); + } + + prop = GetCurrentRoomProperty(this->field_0x6c.HALF.LO); + for (i = 0; prop->unk0 != 0xFFFF && i < 32; prop++, i++) { + int mask = 1 << i; + if ((*((u32 *)(&this->field_0x68)) & mask) == 0 && + sub_080867CC(prop->unk5) && + sub_080562CC(prop->unk0, prop->unk2, 32, 32)) { + entity = CreateObject(0x19, 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->parent = this; + entity->field_0x68.HWORD = prop->unk0; + entity->field_0x6a.HWORD = prop->unk2; + entity->collisionLayer = prop->unk4; + entity->previousActionFlag = prop->unk5; + UpdateSpriteForCollisionLayer(entity); + *((u32 *)(&this->field_0x68)) |= mask; + if (prop->unk8) { + *((u32 **)(&entity->cutsceneBeh)) = StartCutscene(entity, prop->unk8); + } + } + } + } +} + +static bool32 sub_080867CC(u32 arg0) { + if (arg0 == 0) { + return TRUE; + } + if (arg0 != 2) { + return TRUE; + } + return CheckGlobalFlag(TATEKAKE_HOUSE); +} + +void sub_080867E4(Entity* this) { + if (!sub_080562CC(this->field_0x68.HWORD, this->field_0x6a.HWORD, 32, 32)) { + *((u32 *)(&this->parent->field_0x68)) = *((u32 *)(&this->parent->field_0x68)) & ~(1 << this->field_0x6c.HALF.LO); + DeleteThisEntity(); + } + sub_0808681C(this); +} + +static void sub_0808681C(Entity* this) { + switch (this->action) { + case 0: + this->action = 1; + this->actionDelay = 8; + this->spriteSettings.b.draw = 1; + this->frameIndex = 0; + this->boundingBox = &gUnk_081206AC; + if (this->previousActionFlag == 1) { + this->action = 2; + this->frameIndex = 1; + } + if (this->flags & 0x2) { + this->action = 2; + } + break; + case 1: + if (!sub_08086954(this)) { + this->action++; + this->frameIndex = 1; + sub_08078AC0(16, 0, 1); + PlaySFX(0x111); + } + break; + } + + if (this->flags & 0x2) { + ExecuteScriptCommandSet(this, *(u32 **)&this->cutsceneBeh); + sub_080868EC(this, *(void **)&this->cutsceneBeh); + } +} + +void sub_080868B0(Entity* this) { + if (this->action == 0) { + this->action = 1; + this->spriteSettings.b.draw = 1; + this->boundingBox = &gUnk_081206AC; + this->actionDelay = 8; + } + ExecuteScriptCommandSet(this, *(u32 **)&this->cutsceneBeh); + sub_080868EC(this, *(void **)&this->cutsceneBeh); +} + +static void sub_080868EC(Entity* entity, unk_80868EC* arg1) { + u32 var0 = arg1->unk8; + arg1->unk8 = 0; + while (var0 != 0) { + u32 rightMostSetBit = var0 & (~var0 + 1); + var0 ^= rightMostSetBit; + switch (rightMostSetBit) { + case 0x80: + entity->frameIndex = 0; + break; + case 0x100: + entity->frameIndex = 1; + break; + } + } + + if (entity->frameIndex == 0) { + sub_0800445C(entity); + } +} + +void sub_0808692C(Entity* this) { + this->flags &= 0xFD; + this->entityType.parameter = 2; + this->action = this->frameIndex == 0 ? 1 : 2; + this->previousActionFlag = 0; + this->actionDelay = 8; +} + +static u8 sub_08086954(Entity* this) { + if (sub_0800445C(this)) { + if (sub_0806ED9C(this, 6, 20) >= 0 && + gLinkEntity.animationState == 0 && + (u16)gLinkState.field_0x90.HALF.LO == 0x400 && + gLinkState.jumpStatus == 0) { + this->actionDelay--; + } + } else { + this->actionDelay = 8; + } + return this->actionDelay; +} + +// TODO: Second arg is some unknown struct. +void sub_080869A4(Entity* entityA, u32* entityB) { + entityB[5] = 0; + if (!sub_08086954(entityA)) { + entityA->actionDelay = 8; + entityB[5] = 1; + } +} diff --git a/src/object/mask.c b/src/object/mask.c index 6dd866c9..033039e4 100644 --- a/src/object/mask.c +++ b/src/object/mask.c @@ -4,7 +4,7 @@ #include "random.h" extern Entity gLinkEntity; -extern u16 gUnk_030010A0[]; +extern u16 gScreenTransition[]; extern void (*MaskActionFuncs[])(Entity *); @@ -36,7 +36,7 @@ void sub_080929A4(Entity *this) { switch (this->entityType.parameter & 0xC0) { case 0x40: - field_0x0a = gUnk_030010A0[0x5]; + field_0x0a = gScreenTransition[0x5]; switch (field_0x0a) { case 0x44D ... 0x44F: diff --git a/src/object/minecart.c b/src/object/minecart.c index eff15d3a..5bf59c5d 100644 --- a/src/object/minecart.c +++ b/src/object/minecart.c @@ -155,7 +155,7 @@ void sub_080919AC(Entity *this) CopyPosition(this,&gLinkEntity); gLinkEntity.spritePriority.b0 = this->spritePriority.b0 - 1; if (!sub_08091DDC(this)) { - if ((gUnk_030010A0.field_0x0 & 0xf) == 0) { + if ((gScreenTransition.field_0x0 & 0xf) == 0) { PlaySFX(0x138); } diff --git a/src/object/minishLight.c b/src/object/minishLight.c new file mode 100644 index 00000000..8982a49a --- /dev/null +++ b/src/object/minishLight.c @@ -0,0 +1,40 @@ +#include "global.h" +#include "entity.h" + +extern void (* const gUnk_081247F8[])(Entity*); + +void MinishLight(Entity* this) +{ + gUnk_081247F8[this->action](this); +} + +void sub_0809F840(Entity* this) +{ + this->action = 1; + this->frameIndex = 0; + this->actionDelay = 0x20; + this->field_0xf = 0; + + if (this->entityType.parameter != 0) + { + this->spriteSettings.b.flipX = 1; + } + + UpdateSpriteForCollisionLayer(this); +} + +void sub_0809F868(Entity* this) +{ + if (--this->actionDelay == 0) { + if (this->field_0xf == 0) { + if (++this->frameIndex == 3) { + this->field_0xf = 1; + } + } else { + if (--this->frameIndex == 0) { + this->field_0xf = 0; + } + } + this->actionDelay = 32; + } +} diff --git a/src/object/object48.c b/src/object/object48.c new file mode 100755 index 00000000..c2a25071 --- /dev/null +++ b/src/object/object48.c @@ -0,0 +1,544 @@ +#include "global.h" +#include "entity.h" +#include "flags.h" +#include "functions.h" +#include "main.h" +#include "menu.h" +#include "npc.h" +#include "position.h" +#include "readKeyInput.h" +#include "structures.h" + +extern bool32 sub_080AE008(Entity*, int, int); +extern int sub_0807A094(int); +extern u32 sub_0801D754(const u8*, u8, u8); +extern u32 sub_080041EC(int, int); +extern u32 sub_080045DA(int, int); + +static bool32 sub_0808E950(void); +static void sub_0808EABC(Entity*); +static Entity* sub_0808EC80(int); +static u32 sub_0808EF6C(Entity*); +static void sub_0808EFF0(Entity*); + +typedef struct { + u8 unk0; + u8 unk1; + u8 unk2; +} PACKED struct_08121CD4; + +typedef struct { + u16 unk0; + u16 unk2; + u16 unk4; + u8 unk6_0 : 3; + u8 unk6_3 : 3; + u8 unk6_6 : 2; + u8 unk7; +} struct_08121D54; + +extern void (*const gUnk_08121C64[])(Entity*); +extern void (*const gUnk_08121CCC[])(Entity*); +extern const int gUnk_08133368[]; +extern const u8 gUnk_085A2E80[]; +extern const struct_08121CD4 gUnk_08121CD4[][4]; +extern const u8 gUnk_08121D10[]; +extern const u8 gUnk_08121D38[][8]; +extern const u16 gUnk_08121D18[][8]; +extern const u8 gUnk_08121D48[]; +extern const struct_08121D54 gUnk_08121D54[]; + +void Object48(Entity* this) { + if (this->currentHealth == 0) { + sub_0808EFF0(this); + } + gUnk_08121C64[this->entityType.form](this); + if (this->animIndex < 64) { + UpdateAnimationSingleFrame(this); + } +} + +void sub_0808E7D8(Entity* this) { + gUnk_08121CCC[this->action](this); +} + +void sub_0808E7F0(Entity* this) { + sub_080AE008(this, 1, 2); + this->palette.b.b0 = 0xF; + this->spriteSettings.b.draw = 0; + this->entityType.parameter = 0xFF; + this->action = 1; +} + +void sub_0808E818(Entity* this) { + u32 var0; + u32 var1; + + if (!sub_0808E950()) { + int var2 = -1; + this->entityType.parameter = var2; + this->field_0x68.HWORD = var2; + this->field_0x6a.HWORD = var2; + this->spriteSettings.b.draw = 0; + return; + } + + if (this->entityType.parameter != gUnk_02019EE0.unk6) { + this->entityType.parameter = gUnk_02019EE0.unk6; + this->field_0x68.HWORD = CheckGlobalFlag(EZERO_1ST) == 0 ? 0x400 : 0x100; + this->field_0x70.BYTES.byte0 = 4; + this->animationState = 2; + var1 = gUnk_08133368[sub_0807A094(1) - 22] & 0xFFFFFF; + sub_0801D754(&gUnk_085A2E80[var1], 31, 1); + } + + if (gUnk_02032EC0.transitionType == 0) { + if (gUnk_03000FF0.heldKeys & L_BUTTON) { + switch (gUnk_03000FF0.newKeys) { + case DPAD_UP: + this->animationState = 0; + break; + case DPAD_RIGHT: + this->animationState = 1; + break; + case DPAD_DOWN: + this->animationState = 2; + break; + case DPAD_LEFT: + this->animationState = 3; + break; + case B_BUTTON: + this->field_0x70.BYTES.byte0 = this->field_0x70.BYTES.byte0 ? 0 : 4; + break; + } + } + } + + this->spriteSettings.b.flipX = this->animationState == 3; + var0 = this->field_0x68.HWORD + this->field_0x70.BYTES.byte0 + this->animationState; + if (this->field_0x6a.HWORD != var0) { + this->field_0x6a.HWORD = var0; + this->spriteIndex = var0 >> 8; + InitAnimationForceUpdate(this, (u8)var0); + } + + this->spriteSettings.b.draw = 2; +} + +static bool32 sub_0808E950(void) { + bool32 result = FALSE; + switch (gUnk_02032EC0.transitionType) { + case 0: + case 4: + case 5: + case 6: + case 7: + result = gUnk_02019EE0.unk8[gUnk_02019EE0.unk6] == 1; + break; + } + return result; +} + +void sub_0808E988(Entity* this) { + if (this->action == 0) { + this->action = 1; + this->spriteIndex = 0x142; + this->entityType.parameter = 0xFF; + sub_080AE008(this, 1, 3); + } + + if (sub_0808E950()) { + int i; + for (i = 6; i != 0; i--) { + if (GetInventoryValue(i)) { + break; + } + } + + if (i != 0) { + if (this->entityType.parameter != i) { + InitAnimationForceUpdate(this, i); + } + this->spriteSettings.b.draw = 2; + return; + } + } + + this->spriteSettings.b.draw = 0; +} + +void sub_0808E9F4(Entity* this) { + if (sub_0808E950() && gUnk_02002A40.unk6) { + this->spriteSettings.b.draw = 2; + } else { + this->spriteSettings.b.draw = 0; + } +} + +void sub_0808EA28(Entity* this) { + u32 var0; + u32 var1; + + if (this->entityType.form == 3) { + if (((struct_02000000 *)0x2000000)->gameLanguage > 1) { + this->spriteSettings.b.draw = 2; + } else { + this->spriteSettings.b.draw = 0; + } + } + + if (this->entityType.form == gUnk_02019EE0.unk6) { + var0 = 12; + var1 = 1; + } else { + if (gUnk_02032EC0.transitionType == 5 && this->entityType.form == gUnk_02019EE0.unk7) { + var0 = 13; + var1 = 2; + } else { + var0 = 14; + var1 = 2; + } + } + + this->palette.b.b0 = var0; + this->spriteRendering.b3 = var1; + sub_0808EABC(this); + gUnk_02019EE0.unk0 |= sub_0808EF6C(this); +} + +void sub_0808EABC(Entity* this) { + int var0 = -72; + int var1 = this->entityType.form * 32 + 40; + int var2 = gUnk_02019EE0.unk6 == this->entityType.form; + switch (gUnk_02032EC0.transitionType) { + case 0: + var0 = 24; + break; + case 3: + case 4: + case 6: + case 7: + if (var2) { + var0 = 42; + var1 = 56; + } + break; + case 5: + switch (gMenu.unk10[this->entityType.form]) { + case 0: + var0 = 42; + var1 = 40; + break; + case 1: + case 2: + var0 = 20; + var1 = 144; + var1 -= (gMenu.unk16 - gMenu.unk10[this->entityType.form]) * 32; + break; + } + break; + case 2: + if (var2) { + var0 = 26; + var1 = 42; + } + break; + default: + if (var2) { + var0 = 8; + var1 = 35; + } + break; + } + + this->field_0x68.HWORD = var0; + this->field_0x6a.HWORD = var1; +} + +void sub_0808EB74(Entity* this) { + Entity* entity = sub_0808EC80(gUnk_02019EE0.unk6); + if (entity) { + this->x.WORD = entity->x.WORD; + this->y.WORD = entity->y.WORD; + this->spriteRendering.b3 = entity->spriteRendering.b3; + sub_0806FAD8(entity, this); + } else { + this->x.HALF.HI = 0xF000; + this->y.HALF.HI = 0xF000; + } +} + +void sub_0808EBB8(Entity* this) { + u32 var0; + u32 x, y; + Entity* entity; + + switch (gUnk_02032EC0.transitionType) { + case 4: + var0 = gMenu.field_0x1 + 4; + break; + case 5: + var0 = 2; + break; + case 6: + var0 = gMenu.field_0x1 == 0 ? 7 : 6; + break; + case 7: + var0 = 4; + break; + case 2: + var0 = 1; + break; + default: + var0 = 0; + break; + } + + x = y = 0xF000; + switch (var0) { + case 0: + break; + case 1: + y = ((struct_02000000 *)0x2000000)->gameLanguage * 16 + 24; + x = 112; + break; + case 2: + var0 = gUnk_02019EE0.unk7; + if (var0 == 4) { + var0 = 7; + } + // Fall through + default: + entity = sub_0808EC80(var0); + if (entity) { + sub_0806FAD8(entity, this); + this->spriteRendering.b3 = entity->spriteRendering.b3; + x = entity->x.HALF.HI; + y = entity->y.HALF.HI; + } + break; + } + + this->x.HALF.HI = x; + this->y.HALF.HI = y; +} + +static Entity* sub_0808EC80(int form) { + Entity* entityA = &gUnk_03003DA0; + Entity* entityB = entityA->field_0x4; + while (entityB != entityA) { + if ((entityB->entityType.type == 0x6 && entityB->entityType.subtype == 0x48) && + form == entityB->entityType.form) { + return entityB; + } + entityB = entityB->field_0x4; + } + return NULL; +} + +void sub_0808ECBC(Entity* this) { + int var0; + int var1; + int var2; + const struct_08121CD4* var3; + + var0 = gMenu.field_0x1; + switch (gUnk_02032EC0.transitionType) { + case 4: + var1 = 1; + break; + case 5: + var0 = gUnk_02019EE0.unk7; + var1 = 2; + break; + case 6: + var1 = 3; + break; + case 7: + var1 = 4; + break; + default: + var1 = 0; + break; + } + + var2 = this->entityType.form - 4; + var3 = &gUnk_08121CD4[var1][var2]; + this->field_0x68.HWORD = var3->unk1; + this->field_0x6a.HWORD = var3->unk2; + if (var3->unk0 == var0) { + this->palette.b.b0 = 13; + } else { + this->palette.b.b0 = 14; + } + + gUnk_02019EE0.unk0 |= sub_0808EF6C(this); +} + +void sub_0808ED64(Entity* this) { + int y = 255; + if (gUnk_02032EC0.transitionType == 1 && gMenu.unk10[1] != 5) { + this->x.HALF.HI = gMenu.unk10[0] * 16 + 28; + y = gMenu.unk10[1] * 16 + 58; + } + this->y.HALF.HI = y; +} + +void sub_0808ED98(Entity* this) { + int y; + if (gUnk_02032EC0.transitionType != 1) { + this->field_0x68.HWORD = 27; + y = -10; + } else { + u32 var0 = gMenu.unk13; + if (var0 > 5) { + var0 = 5; + } + this->field_0x68.HWORD = var0 * 8 + 27; + y = 24; + } + + this->y.HALF.HI = y; + this->field_0x6a.HWORD = y; + this->field_0xf++; + this->spriteOffsetY = gUnk_08121D10[(this->field_0xf / 4) & 0x7]; + sub_0808EF6C(this); +} + +void sub_0808EE00(Entity* this) { + int var0, var1, var2; + + var0 = ((struct_02000000 *)0x2000000)->gameLanguage != 0; + var1 = this->entityType.form - 10; + this->frameIndex = gUnk_08121D38[var0][var1]; + this->x.HALF.HI = gUnk_08121D18[var0][var1]; + this->field_0x68.HWORD = gUnk_08121D18[var0][var1]; + var1 -= var0; + if (gUnk_02032EC0.transitionType != 1) { + var1 = 128; + var2 = 176; + } else { + var2 = 140; + } + + this->field_0x6a.HWORD = var2; + this->palette.b.b0 = gMenu.unk10[1] == 5 && var1 == gMenu.field_0x12 ? 11 : 9; + gUnk_02019EE0.unk0 |= sub_0808EF6C(this); +} + +void nullsub_522(Entity* this) { + +} + +void sub_0808EE98(Entity* this) { + this->actionDelay = gUnk_02032EC0.transitionType; + this->frameIndex = gUnk_08121D48[this->actionDelay]; + if (this->actionDelay != 2) { + this->field_0x68.HWORD = 96; + } else { + this->field_0x68.HWORD = -96; + } + sub_0808EF6C(this); +} + +void sub_0808EED8(Entity* this) { + int var0; + if (gUnk_02032EC0.transitionType != 3) { + this->spriteSettings.b.draw = 0; + } else { + this->spriteSettings.b.draw = 2; + var0 = this->entityType.form - 19; + this->palette.b.b0 = gMenu.field_0x1 == var0 ? 4 : 3; + } +} + +void sub_0808EF24(Entity* this) { + int var0; + if (gUnk_02032EC0.transitionType != 3) { + this->spriteSettings.b.draw = 0; + } else { + this->spriteSettings.b.draw = 2; + if (this->entityType.form == 21) { + var0 = ((struct_02000000 *)0x2000000)->field_0x5; + } else { + var0 = ((struct_02000000 *)0x2000000)->brightnessPref; + } + this->frameIndex = this->lastFrameIndex + var0; + } +} + +static u32 sub_0808EF6C(Entity* this) { + int var0; + u32 var1; + int var2; + u32 var3; + int var4; + s16 var5; + s16 var6; + int var7; + + var6 = this->field_0x68.HWORD; + var0 = var6 - this->x.HALF.HI; + var1 = var0; + if (var0 < 0) { + var1 = -var0; + } + if (var1 < 2) { + this->x.WORD = var6 << 16; + var0 = 0; + } + + var5 = this->field_0x6a.HWORD; + var2 = var5 - this->y.HALF.HI; + var3 = var2; + if (var2 < 0) { + var3 = -var2; + } + if (var3 < 2) { + this->y.WORD = var5 << 16; + var2 = 0; + } + + if ((var0 | var2) == 0) { + return 0; + } + + var4 = var7 = sub_080041EC(var0, var2); + var4 += 128; + var7 = var4 + var7 * 16; + if (this->field_0x6c.HWORD < var7) { + var7 = this->field_0x6c.HWORD; + } + this->nonPlanarMovement = var7; + this->direction = sub_080045DA(var0, var2) >> 3; + sub_0806F69C(this); + return 1; +} + +static void sub_0808EFF0(Entity* this) { + const struct_08121D54* var0; + int var1; + + this->spriteSettings.b.draw = 2; + this->nonPlanarMovement = 0x400; + this->currentHealth = 1; + this->frameIndex = 0xFF; + this->animIndex = 0xFF; + var0 = &gUnk_08121D54[this->entityType.form]; + this->x.HALF.HI = var0->unk2; + this->field_0x68.HWORD = var0->unk2; + this->y.HALF.HI = var0->unk4; + this->field_0x6a.HWORD = var0->unk4; + this->spriteRendering.b3 = var0->unk6_0; + this->spritePriority.b0 = var0->unk6_3; + this->spriteOrientation.flipY = var0->unk6_6; + this->field_0x6c.HWORD = var0->unk0; + var1 = var0->unk7; + if (var1 & 0x80) { + var1 &= 0x7F; + this->frameIndex = var1; + this->lastFrameIndex = var1; + } else { + InitAnimationForceUpdate(this, var1); + } +} diff --git a/src/object/object49.c b/src/object/object49.c index d9551953..a586e520 100644 --- a/src/object/object49.c +++ b/src/object/object49.c @@ -114,7 +114,7 @@ void sub_0808F244(Entity *this) *(u32 *)&this->field_0x78 = 0x100 - this->parent->height.HALF.HI; *(u32 *)&this->field_0x70.WORD = *((u8 *)&this->parent->field_0x7c + 3); sub_0808F2B0(this); - if ((this->parent->field_0x6d & 2) != 0) { + if ((this->parent->field_0x6c.HALF.HI & 2) != 0) { DeleteThisEntity(); } } diff --git a/src/object/treeHidingPortal.c b/src/object/treeHidingPortal.c index 8bab5747..5b8522b3 100644 --- a/src/object/treeHidingPortal.c +++ b/src/object/treeHidingPortal.c @@ -15,7 +15,7 @@ extern void CreateMinishEntrance(u32 tile); extern void (*const gUnk_08124354[])(Entity*); -extern u32 gUnk_030010A0; +extern u32 gScreenTransition; extern s16 gUnk_08124364[]; void TreeHidingPortal(Entity* this) { @@ -36,7 +36,7 @@ void sub_0809E86C(Entity* this) { if (sub_0800419C(this, &gLinkEntity, 0x30, 0x30)) { if (CheckGlobalFlag(EZERO_1ST)) { - if (((gUnk_030010A0 & 3) == 0)) { + if (((gScreenTransition & 3) == 0)) { sub_080A2B80(this); } } diff --git a/src/object/windcrest.c b/src/object/windcrest.c index 231eb425..3b883f4e 100644 --- a/src/object/windcrest.c +++ b/src/object/windcrest.c @@ -2,11 +2,6 @@ #include "entity.h" #include "functions.h" -typedef struct { - u8 filler[64]; - u32 windcrests; -} struct_02002A40; - extern void sub_0807DD64(Entity*); extern void sub_0807DDAC(Entity*, u32); extern void sub_0807DDE4(Entity*); @@ -15,7 +10,6 @@ extern void PlaySFX(u32); extern Entity* CreateFx (Entity*, u32, u32); extern u8 gUnk_08125010; -extern struct_02002A40 gUnk_02002A40; void Windcrest(Entity *this) { diff --git a/src/room.c b/src/room.c index 0bef2ef3..4246c675 100644 --- a/src/room.c +++ b/src/room.c @@ -4,6 +4,7 @@ #include "room.h" #include "functions.h" #include "flags.h" +#include "npc.h" #include "link.h" #include "screen.h" #include "main.h" @@ -233,7 +234,7 @@ extern EntityData gUnk_080D6210; void sub_0804B5BC(void) { - if ((u16)gUnk_030010A0.field_0x10.HALF.HI > 0x40) + if ((u16)gScreenTransition.playerStartPos.HALF.y > 0x40) LoadRoomEntityList(&gUnk_080D6210); } @@ -345,7 +346,7 @@ extern EntityData gUnk_080D6734; extern EntityData gUnk_080D66F4; void sub_0804B738(void) { - if (gUnk_02002A40.field_0x8 > 4) { + if (gUnk_02002A40.unk8 > 4) { LoadRoomEntityList(&gUnk_080D6714); } // flippers @@ -363,7 +364,7 @@ u32 sub_0804B788() { extern EntityData gUnk_080D6924; void sub_0804B78C(void) { - if (gUnk_02002A40.field_0x8 > 7) { + if (gUnk_02002A40.unk8 > 7) { LoadRoomEntityList(&gUnk_080D6924); } } @@ -465,7 +466,7 @@ extern EntityData UpperInn_Din; void sub_0804B938(void) { int iVar1; - if (gUnk_02002A40.field_0x8 < 4) + if (gUnk_02002A40.unk8 < 4) return; if (CheckGlobalFlag(RENTED_HOUSE_DIN)) { @@ -515,7 +516,7 @@ u32 sub_0804BA08() { extern EntityData gUnk_080D7038; void sub_0804BA0C(void) { - if (gUnk_02002A40.field_0x8 < 8) { + if (gUnk_02002A40.unk8 < 8) { LoadRoomEntityList(&gUnk_080D7038); } if (gRoomVars.filler[0] == 0) { @@ -535,13 +536,13 @@ extern EntityData gUnk_080D71F0; void sub_0804BA44(void) { - if (gUnk_02002A40.field_0x8 == 6) + if (gUnk_02002A40.unk8 == 6) LoadRoomEntityList(&gUnk_080D7140); - if (gUnk_02002A40.field_0x8 == 7) + if (gUnk_02002A40.unk8 == 7) LoadRoomEntityList(&gUnk_080D7170); - if ((gUnk_02002A40.field_0x8 < 8) || (LoadRoomEntityList(&gUnk_080D71A0), gUnk_02002A40.field_0x8 < 8)) + if ((gUnk_02002A40.unk8 < 8) || (LoadRoomEntityList(&gUnk_080D71A0), gUnk_02002A40.unk8 < 8)) LoadRoomEntityList(&gUnk_080D71D0); else LoadRoomEntityList(&gUnk_080D71F0); @@ -640,7 +641,7 @@ void sub_0804bc38(void) { u32 sub_0804BC50(void) { if (!CheckLocalFlag(0x9f)) { - gUnk_030010A0.field_0xa[5] = 5; + gScreenTransition.field_0xf = 5; ClearGlobalFlag(ZELDA_CHASE); } return 1; @@ -1023,7 +1024,7 @@ void sub_0804C018(void) { SetTile(0x4072, 0xc47, 1); if (CheckGlobalFlag(MAZE_CLEAR)) - if (gUnk_030010A0.field_0x10.WORD == 0x2780078) + if (gScreenTransition.playerStartPos.WORD == 0x2780078) // todo: wtf PlaySFX(0x72); ClearGlobalFlag(MAZE_CLEAR); @@ -1449,7 +1450,7 @@ extern EntityData gUnk_080DB238; void sub_0804C664(void) { - if (gUnk_02002A40.field_0x8 > 8) + if (gUnk_02002A40.unk8 > 8) LoadRoomEntityList(&gUnk_080DB238); sub_0801AFE4(); @@ -2120,10 +2121,10 @@ u32 sub_0804CC6C() { } void sub_0804CC70(void) { - if (gUnk_02002A40.filler[7] == 0) { + if (gUnk_02002A40.unk7 == 0) { goto a; } - if (gUnk_02002A40.filler[7] != 2) { + if (gUnk_02002A40.unk7 != 2) { a: SetTileType(0x90, 0x20b, 1); SetTileType(0x90, 0x411, 1); @@ -2444,8 +2445,8 @@ u32 sub_0804CF40() { } void sub_0804CF44(void) { - gUnk_030010A0.field_0x38 = 0; - gUnk_030010A0.field_0x39 = 0x5a; + gScreenTransition.field_0x38 = 0; + gScreenTransition.field_0x39 = 0x5a; } u32 sub_0804CF5C() { @@ -2520,10 +2521,10 @@ u32 sub_0804CFAC() { void sub_0804CFB0(void) { if (!CheckFlags(0x31)) { - if (gUnk_030010A0.field_0x38 == 0) { + if (gScreenTransition.field_0x38 == 0) { PlaySFX(0x80100000); } else { - if (gUnk_030010A0.field_0x39 == 0) { + if (gScreenTransition.field_0x39 == 0) { PlaySFX(0x80050000); sub_08078A90(3); } @@ -3508,16 +3509,16 @@ u32 sub_0804D6EC() { void sub_0804D6F0(void) { sub_0805D3C8(0); - if ((gUnk_030010A0.field_0x38 & 1) && gUnk_030010A0.field_0x39) { - if (gUnk_030010A0.field_0x3c == 1) { - gLinkEntity.x.HALF.HI = gUnk_030010A0.field_0x48; - gLinkEntity.y.HALF.HI = gUnk_030010A0.field_0x4a + 8; + if ((gScreenTransition.field_0x38 & 1) && gScreenTransition.field_0x39) { + if (gScreenTransition.field_0x3c == 1) { + gLinkEntity.x.HALF.HI = gScreenTransition.field_0x48; + gLinkEntity.y.HALF.HI = gScreenTransition.field_0x4a + 8; } else { - if (gUnk_030010A0.field_0x3c) { + if (gScreenTransition.field_0x3c) { return; } - gLinkEntity.x.HALF.HI = gUnk_030010A0.field_0x44; - gLinkEntity.y.HALF.HI = gUnk_030010A0.field_0x46 + 8; + gLinkEntity.x.HALF.HI = gScreenTransition.field_0x44; + gLinkEntity.y.HALF.HI = gScreenTransition.field_0x46 + 8; } } } @@ -4233,7 +4234,7 @@ void LoadHyruleTown(void) { sub_08054570(); sub_08059D18(); SetTileType(0x176, 0x66b, 1); - if (gUnk_02002A40.field_0x8 == 1) { + if (gUnk_02002A40.unk8 == 1) { sub_0801D000(0); } else { sub_08018C58(0xdb4); @@ -4258,7 +4259,7 @@ void LoadHyruleTown(void) { } else { LoadRoomEntityList(&gUnk_080EECBC); } - if (CheckKinstoneFused(0x1b) && (gUnk_02002A40.field_0x8 > 3)) { + if (CheckKinstoneFused(0x1b) && (gUnk_02002A40.unk8 > 3)) { if (!CheckGlobalFlag(NEW_HOUSE_DIN) && !CheckGlobalFlag(NEW_HOUSE_NAYRU) && !CheckGlobalFlag(NEW_HOUSE_FARORE)) { if (!CheckGlobalFlag(RENTED_HOUSE_DIN) && !CheckGlobalFlag(RENTED_HOUSE_NAYRU) && !CheckGlobalFlag(RENTED_HOUSE_FARORE)) { LoadRoomEntityList(&gUnk_080EE95C); @@ -4282,7 +4283,7 @@ void LoadHyruleTown(void) { } else { LoadRoomEntityList(&gUnk_080EE9DC); } - if ((gUnk_02002A40.field_0x8 > 4) && !CheckKinstoneFused(0xb) && + if ((gUnk_02002A40.unk8 > 4) && !CheckKinstoneFused(0xb) && (CheckGlobalFlag(RENTED_HOUSE_DIN) || CheckGlobalFlag(RENTED_HOUSE_NAYRU) || CheckGlobalFlag(RENTED_HOUSE_FARORE))) { LoadRoomEntityList(&gUnk_080EEA5C); } @@ -4290,10 +4291,10 @@ void LoadHyruleTown(void) { if (!CheckLocalFlag(0xd0) && GetInventoryValue(0x14)) { LoadRoomEntityList(&gUnk_080EEABC); } - if ((gUnk_02002A40.field_0x8 > 3) && CheckGlobalFlag(INLOCK)) { + if ((gUnk_02002A40.unk8 > 3) && CheckGlobalFlag(INLOCK)) { LoadRoomEntityList(&gUnk_080EEA7C); } - if ((gUnk_02002A40.field_0x8 < 6) && !CheckGlobalFlag(MIZUKAKI_START)) { + if ((gUnk_02002A40.unk8 < 6) && !CheckGlobalFlag(MIZUKAKI_START)) { LoadRoomEntityList(&gUnk_080EEA9C); } if ((gUnk_02002A40.windcrests & 0x8000000) == 0) { @@ -4536,7 +4537,7 @@ void sub_0804E4E4(void) if (!GetInventoryValue(0x3a) && CheckGlobalFlag(MIZUKAKI_HARIFALL)) { LoadRoomEntityList(&gUnk_080F2194); } - if (gUnk_030010A0.field_0xa[5] == 1) { + if (gScreenTransition.field_0xf == 1) { LoadRoomEntityList(&gUnk_080F21B4); } } @@ -4552,7 +4553,7 @@ extern EntityData gUnk_080F236C; void sub_0804E52C(void) { - if (gUnk_02002A40.field_0x8 > 7) { + if (gUnk_02002A40.unk8 > 7) { LoadRoomEntityList(&gUnk_080F23BC); } // flippers @@ -4575,7 +4576,7 @@ extern EntityData gUnk_080F2600; void sub_0804E574(void) { - switch (gUnk_02002A40.field_0x8) { + switch (gUnk_02002A40.unk8) { case 0: case 2: case 4: @@ -4816,7 +4817,7 @@ void sub_0804E8FC(void) if (!CheckGlobalFlag(INLOCK)) { LoadRoomEntityList(&gUnk_080F36FC); } - else if (gUnk_02002A40.field_0x8 < 4) { + else if (gUnk_02002A40.unk8 < 4) { LoadRoomEntityList(&gUnk_080F3604); } } @@ -4852,8 +4853,8 @@ void sub_0804E954(void) if (!GetInventoryValue(0x46) && CheckGlobalFlag(MIZUKAKI_START) && !GetInventoryValue(0x3b)) { LoadRoomEntityList(&gUnk_080F3A48); } - gUnk_030010A0.field_0x20 = 0xf28; - gUnk_030010A0.field_0x22 = 0x82d; + gScreenTransition.field_0x20 = 0xf28; + gScreenTransition.field_0x22 = 0x82d; } extern u32 gUnk_080F3D44; @@ -4882,7 +4883,7 @@ void sub_0804E9D0(void) if (CheckKinstoneFused(0x12)) { LoadRoomEntityList(&gUnk_080F3C94); } - if ((gUnk_02002A40.field_0x8 > 3) && CheckGlobalFlag(TINGLE_TALK1ST)) { + if ((gUnk_02002A40.unk8 > 3) && CheckGlobalFlag(TINGLE_TALK1ST)) { LoadRoomEntityList(&gUnk_080F3C44); } SetTile(0x4091, 0x590, 1); @@ -5260,7 +5261,7 @@ void nullsub_398() {} u32 sub_0804EFDC(void) { if (CheckGlobalFlag(MAROYA_WAKEUP)) { - gUnk_030010A0.field_0xa[5] = 5; + gScreenTransition.field_0xf = 5; } return 1; } @@ -5270,7 +5271,7 @@ extern u32 gUnk_08011C50; void sub_0804EFF8(void) { - if (gUnk_02002A40.field_0x8 > 7) { + if (gUnk_02002A40.unk8 > 7) { LoadRoomEntityList(&gUnk_080F5DD0); } if (CheckGlobalFlag(MAROYA_WAKEUP)) { @@ -5302,7 +5303,7 @@ extern EntityData gUnk_080F5F78; void sub_0804F050(void) { - if (gUnk_02002A40.field_0x8 > 4) { + if (gUnk_02002A40.unk8 > 4) { LoadRoomEntityList(&gUnk_080F5F38); } if (!CheckLocalFlag(0x92)) { @@ -5503,7 +5504,7 @@ void sub_0804F25C(void) if ((gUnk_02002A40.windcrests & 0x40000000) == 0) { LoadRoomEntityList(&gUnk_080F70D8); } - if (gUnk_02002A40.field_0x8 > 3) { + if (gUnk_02002A40.unk8 > 3) { LoadRoomEntityList(&gUnk_080F7088); } } @@ -5549,7 +5550,7 @@ extern EntityData gUnk_080F7550; void sub_0804F330(void) { sub_0805ADD8(0); - if (gUnk_02002A40.field_0x8 > 3) { + if (gUnk_02002A40.unk8 > 3) { LoadRoomEntityList(&gUnk_080F7500); } if (GetInventoryValue(0x11) && !GetInventoryValue(0x12)) { @@ -5591,7 +5592,7 @@ void sub_0804F3B0(void) SetTile(0x4072, 0xd88, 1); SetTile(0x4096, 0xdc8, 1); } - if ((gUnk_02002A40.field_0x8 > 3) && CheckGlobalFlag(TINGLE_TALK1ST)) { + if ((gUnk_02002A40.unk8 > 3) && CheckGlobalFlag(TINGLE_TALK1ST)) { LoadRoomEntityList(&gUnk_080F78A0); } } @@ -5818,7 +5819,7 @@ extern EntityData gUnk_080F806C; void sub_0804FA00(void) { sub_0805ADD8(0); - if ((gUnk_02002A40.field_0x8 > 3) && CheckGlobalFlag(TINGLE_TALK1ST)) { + if ((gUnk_02002A40.unk8 > 3) && CheckGlobalFlag(TINGLE_TALK1ST)) { LoadRoomEntityList(&gUnk_080F806C); } } @@ -6547,14 +6548,6 @@ u32 sub_0804FF7C() { void nullsub_106() {} -typedef struct { - char header[4]; - u8 saveFile; - u8 field_0x5; - u8 brightnessPref; -} struct_02000000; - -extern struct_02000000 gUnk_02000000; void sub_0804FF84(u32 arg0) { diff --git a/src/sub_0801D754.c b/src/sub_0801D754.c index f2bab6f9..dad57fa1 100644 --- a/src/sub_0801D754.c +++ b/src/sub_0801D754.c @@ -1,7 +1,9 @@ #include "global.h" +extern u8 gUnk_020176E0; + extern void sub_0807C960(); -extern u32 sub_0801D754(u32, u8, u8); +extern u32 sub_0801D754(const u8*, u8, u8); u32 sub_0807C9D8(u32* a1) { u32* v1; // r5@1 @@ -10,6 +12,6 @@ u32 sub_0807C9D8(u32* a1) { sub_0807C960(0x6004000, *a1); sub_0807C960(0x6000000, v1[1]); sub_0807C960(0x6008000, v1[2]); - sub_0807C960(0x20176E0, v1[3]); - return sub_0801D754(0x20176E0, 2, 13); + sub_0807C960(&gUnk_020176E0, v1[3]); + return sub_0801D754(&gUnk_020176E0, 2, 13); } diff --git a/src/sub_0805E374.c b/src/sub_0805E374.c index 38b30e94..ebad1b0e 100644 --- a/src/sub_0805E374.c +++ b/src/sub_0805E374.c @@ -1,10 +1,10 @@ #include "entity.h" extern Entity* sub_0805E3A0(Entity*, u32); -extern u8 gUnk_030010A0[]; +extern u8 gScreenTransition[]; extern u8 gUnk_081091F8[]; extern u8 gUnk_081091EE[]; Entity* sub_0805E374(Entity* param_1) { - u8 r3 = gUnk_030010A0[0x2C]; + u8 r3 = gScreenTransition[0x2C]; u8* array = gUnk_081091F8; if (r3 != '\x02') { diff --git a/src/sub_080A3B84.c b/src/sub_080A3B84.c index 80eff685..892e010a 100644 --- a/src/sub_080A3B84.c +++ b/src/sub_080A3B84.c @@ -8,7 +8,7 @@ extern void (*const gUnk_081280C4[])(); void DrawKinstoneMenu(void) { - gUnk_030010A0.field_0x24[8] = 2; + gScreenTransition.field_0x24[8] = 2; sub_080AD90C(); gUnk_081280C4[gMenu.menuType](); sub_080A3B74(); @@ -18,7 +18,7 @@ void DrawKinstoneMenu(void) sub_0805E5C0(); sub_080AD9B0(); sub_080AD918(); - gUnk_030010A0.field_0x24[8] = 0; + gScreenTransition.field_0x24[8] = 0; } extern void gUnk_081280DC; @@ -29,7 +29,7 @@ void sub_080A3BD0(void) s32 iVar2; gMenu.field_0x1 = 1; - gMenu.field_0x12[0x17] = 0; + gMenu.unk2a = 0; sub_080A4D34(); LoadPalettesByPaletteGroupIndex(0xcb); sub_0801D7EC(0x75);