mirror of
https://github.com/zeldaret/tmc
synced 2026-07-08 22:44:46 -04:00
Merge pull request #499 from hatal175/data7
match functions + const data
This commit is contained in:
@@ -1,63 +0,0 @@
|
||||
.syntax unified
|
||||
push {r4, r5, r6, r7, lr}
|
||||
ldr r3, _080774FC @ =gPlayerEntity
|
||||
movs r0, #0x2e
|
||||
ldrsh r2, [r3, r0]
|
||||
ldr r5, _08077500 @ =gUnk_0811BE1E
|
||||
ldrb r0, [r3, #0x14]
|
||||
movs r1, #6
|
||||
ands r1, r0
|
||||
adds r0, r1, r5
|
||||
ldrb r0, [r0]
|
||||
lsls r0, r0, #0x18
|
||||
asrs r0, r0, #0x18
|
||||
adds r2, r2, r0
|
||||
ldr r4, _08077504 @ =gRoomControls
|
||||
ldrh r0, [r4, #6]
|
||||
subs r2, r2, r0
|
||||
asrs r6, r2, #4
|
||||
movs r2, #0x3f
|
||||
ands r6, r2
|
||||
movs r7, #0x32
|
||||
ldrsh r0, [r3, r7]
|
||||
adds r1, #1
|
||||
adds r1, r1, r5
|
||||
ldrb r1, [r1]
|
||||
lsls r1, r1, #0x18
|
||||
asrs r1, r1, #0x18
|
||||
adds r0, r0, r1
|
||||
ldrh r1, [r4, #8]
|
||||
subs r0, r0, r1
|
||||
asrs r0, r0, #4
|
||||
ands r0, r2
|
||||
lsls r0, r0, #6
|
||||
orrs r6, r0
|
||||
adds r4, r3, #0
|
||||
adds r4, #0x38
|
||||
ldrb r1, [r4]
|
||||
adds r0, r6, #0
|
||||
bl sub_080B1B44
|
||||
cmp r0, #0x16
|
||||
bhi _080774F6
|
||||
cmp r0, #0xe
|
||||
bhi _08077508
|
||||
_080774F6:
|
||||
movs r0, #0
|
||||
b _0807751A
|
||||
.align 2, 0
|
||||
_080774FC: .4byte gPlayerEntity
|
||||
_08077500: .4byte gUnk_0811BE1E
|
||||
_08077504: .4byte gRoomControls
|
||||
_08077508:
|
||||
adds r0, r6, #0
|
||||
ldrb r1, [r4]
|
||||
bl sub_080B1AE0
|
||||
cmp r0, #0x56
|
||||
bne _08077518
|
||||
movs r0, #0x56
|
||||
b _0807751A
|
||||
_08077518:
|
||||
movs r0, #1
|
||||
_0807751A:
|
||||
pop {r4, r5, r6, r7, pc}
|
||||
.syntax divided
|
||||
@@ -1,61 +0,0 @@
|
||||
.syntax unified
|
||||
push {r4, r5, r6, r7, lr}
|
||||
mov r7, sl
|
||||
mov r6, sb
|
||||
mov r5, r8
|
||||
push {r5, r6, r7}
|
||||
mov sb, r0
|
||||
mov r8, r1
|
||||
adds r7, r2, #0
|
||||
adds r6, r3, #0
|
||||
ldr r0, _08080710 @ =gArea
|
||||
ldr r1, _08080714 @ =0x0000085C
|
||||
adds r0, r0, r1
|
||||
ldr r0, [r0]
|
||||
ldr r5, [r0, #0x18]
|
||||
ldrh r0, [r5]
|
||||
ldr r1, _08080718 @ =0x0000FFFF
|
||||
cmp r0, r1
|
||||
beq _08080728
|
||||
mov sl, r1
|
||||
_080806E2:
|
||||
ldrh r2, [r5]
|
||||
movs r0, #1
|
||||
lsls r0, r2
|
||||
ands r0, r6
|
||||
cmp r0, #0
|
||||
beq _08080720
|
||||
ldr r1, _0808071C @ =gUnk_0811E7AC
|
||||
lsls r0, r2, #2
|
||||
adds r0, r0, r1
|
||||
ldr r4, [r0]
|
||||
adds r0, r5, #0
|
||||
mov r1, sb
|
||||
mov r2, r8
|
||||
adds r3, r7, #0
|
||||
bl _call_via_r4
|
||||
cmp r0, #0
|
||||
beq _08080720
|
||||
adds r0, r5, #0
|
||||
bl DoExitTransition
|
||||
movs r0, #1
|
||||
b _0808072A
|
||||
.align 2, 0
|
||||
_08080710: .4byte gArea
|
||||
_08080714: .4byte 0x0000085C
|
||||
_08080718: .4byte 0x0000FFFF
|
||||
_0808071C: .4byte gUnk_0811E7AC
|
||||
_08080720:
|
||||
adds r5, #0x14
|
||||
ldrh r0, [r5]
|
||||
cmp r0, sl
|
||||
bne _080806E2
|
||||
_08080728:
|
||||
movs r0, #0
|
||||
_0808072A:
|
||||
pop {r3, r4, r5}
|
||||
mov r8, r3
|
||||
mov sb, r4
|
||||
mov sl, r5
|
||||
pop {r4, r5, r6, r7, pc}
|
||||
.syntax divided
|
||||
@@ -1,51 +0,0 @@
|
||||
.syntax unified
|
||||
push {r4, r5, r6, r7, lr}
|
||||
mov r7, r8
|
||||
push {r7}
|
||||
adds r6, r0, #0
|
||||
adds r5, r1, #0
|
||||
ldr r0, _08080778 @ =gArea
|
||||
ldr r1, _0808077C @ =0x0000085C
|
||||
adds r0, r0, r1
|
||||
ldr r0, [r0]
|
||||
ldr r4, [r0, #0x18]
|
||||
movs r0, #0xa
|
||||
mov r8, r0
|
||||
ldrh r0, [r4]
|
||||
ldr r1, _08080780 @ =0x0000FFFF
|
||||
cmp r0, r1
|
||||
beq _0808078C
|
||||
adds r7, r1, #0
|
||||
_08080756:
|
||||
movs r0, #1
|
||||
ldrh r1, [r4]
|
||||
lsls r0, r1
|
||||
mov r1, r8
|
||||
ands r0, r1
|
||||
cmp r0, #0
|
||||
beq _08080784
|
||||
adds r0, r4, #0
|
||||
adds r1, r6, #0
|
||||
adds r2, r5, #0
|
||||
movs r3, #0
|
||||
bl sub_08080808
|
||||
cmp r0, #0
|
||||
beq _08080784
|
||||
adds r0, r4, #0
|
||||
b _0808078E
|
||||
.align 2, 0
|
||||
_08080778: .4byte gArea
|
||||
_0808077C: .4byte 0x0000085C
|
||||
_08080780: .4byte 0x0000FFFF
|
||||
_08080784:
|
||||
adds r4, #0x14
|
||||
ldrh r0, [r4]
|
||||
cmp r0, r7
|
||||
bne _08080756
|
||||
_0808078C:
|
||||
movs r0, #0
|
||||
_0808078E:
|
||||
pop {r3}
|
||||
mov r8, r3
|
||||
pop {r4, r5, r6, r7, pc}
|
||||
.syntax divided
|
||||
@@ -1,66 +0,0 @@
|
||||
.syntax unified
|
||||
push {r4, lr}
|
||||
adds r4, r0, #0
|
||||
cmp r3, #1
|
||||
beq _080807C0
|
||||
cmp r3, #1
|
||||
blo _080807AC
|
||||
cmp r3, #2
|
||||
beq _080807D4
|
||||
cmp r3, #3
|
||||
beq _080807E8
|
||||
_080807A8:
|
||||
movs r0, #0
|
||||
b _08080800
|
||||
_080807AC:
|
||||
ldr r0, _080807BC @ =gRoomControls
|
||||
ldrh r0, [r0, #0x1e]
|
||||
lsrs r0, r0, #1
|
||||
movs r3, #1
|
||||
cmp r0, r1
|
||||
bhs _080807F6
|
||||
movs r3, #2
|
||||
b _080807F6
|
||||
.align 2, 0
|
||||
_080807BC: .4byte gRoomControls
|
||||
_080807C0:
|
||||
ldr r0, _080807D0 @ =gRoomControls
|
||||
ldrh r0, [r0, #0x20]
|
||||
lsrs r0, r0, #1
|
||||
movs r3, #4
|
||||
cmp r0, r2
|
||||
bhs _080807F6
|
||||
movs r3, #8
|
||||
b _080807F6
|
||||
.align 2, 0
|
||||
_080807D0: .4byte gRoomControls
|
||||
_080807D4:
|
||||
ldr r0, _080807E4 @ =gRoomControls
|
||||
ldrh r0, [r0, #0x1e]
|
||||
lsrs r0, r0, #1
|
||||
movs r3, #0x10
|
||||
cmp r0, r1
|
||||
bhs _080807F6
|
||||
movs r3, #0x20
|
||||
b _080807F6
|
||||
.align 2, 0
|
||||
_080807E4: .4byte gRoomControls
|
||||
_080807E8:
|
||||
ldr r0, _08080804 @ =gRoomControls
|
||||
ldrh r0, [r0, #0x20]
|
||||
lsrs r0, r0, #1
|
||||
movs r3, #0x40
|
||||
cmp r0, r2
|
||||
bhs _080807F6
|
||||
movs r3, #0x80
|
||||
_080807F6:
|
||||
ldrb r0, [r4, #0xa]
|
||||
ands r0, r3
|
||||
cmp r0, #0
|
||||
beq _080807A8
|
||||
movs r0, #1
|
||||
_08080800:
|
||||
pop {r4, pc}
|
||||
.align 2, 0
|
||||
_08080804: .4byte gRoomControls
|
||||
.syntax divided
|
||||
@@ -1,31 +0,0 @@
|
||||
.syntax unified
|
||||
push {r4, r5, lr}
|
||||
adds r3, r0, #0
|
||||
adds r5, r2, #0
|
||||
ldrb r0, [r3, #0xa]
|
||||
lsls r0, r0, #1
|
||||
ldr r2, _08080838 @ =gUnk_0811E7BC
|
||||
adds r4, r0, r2
|
||||
ldrb r0, [r4]
|
||||
ldrh r2, [r3, #2]
|
||||
subs r1, r1, r2
|
||||
adds r1, r1, r0
|
||||
lsls r0, r0, #1
|
||||
cmp r1, r0
|
||||
bhi _0808083C
|
||||
ldrb r1, [r4, #1]
|
||||
ldrh r0, [r3, #4]
|
||||
subs r0, r5, r0
|
||||
adds r0, r0, r1
|
||||
lsls r1, r1, #1
|
||||
cmp r0, r1
|
||||
bhi _0808083C
|
||||
movs r0, #1
|
||||
b _0808083E
|
||||
.align 2, 0
|
||||
_08080838: .4byte gUnk_0811E7BC
|
||||
_0808083C:
|
||||
movs r0, #0
|
||||
_0808083E:
|
||||
pop {r4, r5, pc}
|
||||
.syntax divided
|
||||
@@ -40793,26 +40793,6 @@
|
||||
"size": 76,
|
||||
"type": "sprite_frame"
|
||||
},
|
||||
{
|
||||
"path": "itemBomb/gUnk_0811BDAC.bin",
|
||||
"start": 1162668,
|
||||
"size": 8
|
||||
},
|
||||
{
|
||||
"path": "itemMoleMitts/gUnk_0811BE14.bin",
|
||||
"start": 1162772,
|
||||
"size": 2
|
||||
},
|
||||
{
|
||||
"path": "itemMoleMitts/gUnk_0811BE16.bin",
|
||||
"start": 1162774,
|
||||
"size": 8
|
||||
},
|
||||
{
|
||||
"path": "itemMoleMitts/gUnk_0811BE1E.bin",
|
||||
"start": 1162782,
|
||||
"size": 10
|
||||
},
|
||||
{
|
||||
"path": "data_0811BE38/gUnk_0811BE38.bin",
|
||||
"start": 1162808,
|
||||
@@ -41025,16 +41005,6 @@
|
||||
"DEMO_JP": -2192
|
||||
}
|
||||
},
|
||||
{
|
||||
"path": "data_0811E750/gUnk_0811E7BC.bin",
|
||||
"start": 1173436,
|
||||
"size": 8
|
||||
},
|
||||
{
|
||||
"path": "itemOnGround/gUnk_0811E84C.bin",
|
||||
"start": 1173580,
|
||||
"size": 944
|
||||
},
|
||||
{
|
||||
"path": "animations/gSpriteAnimations_DeathFx_1_0.bin",
|
||||
"start": 1174740,
|
||||
@@ -41059,11 +41029,6 @@
|
||||
"size": 89,
|
||||
"type": "animation"
|
||||
},
|
||||
{
|
||||
"path": "button/gUnk_0811EE50.bin",
|
||||
"start": 1175120,
|
||||
"size": 12
|
||||
},
|
||||
{
|
||||
"path": "animations/gSpriteAnimations_MinishEmoticon_2.bin",
|
||||
"start": 1175140,
|
||||
@@ -42006,11 +41971,6 @@
|
||||
"size": 4,
|
||||
"type": "animation"
|
||||
},
|
||||
{
|
||||
"path": "railtrack/gUnk_081205E0.bin",
|
||||
"start": 1181152,
|
||||
"size": 4
|
||||
},
|
||||
{
|
||||
"path": "lilypadLarge/gUnk_08120620.bin",
|
||||
"start": 1181216,
|
||||
|
||||
@@ -1,15 +0,0 @@
|
||||
.include "asm/macros.inc"
|
||||
.include "constants/constants.inc"
|
||||
|
||||
.section .rodata
|
||||
.align 2
|
||||
|
||||
gUnk_0811BD98:: @ 0811BD98
|
||||
.4byte sub_08075FF8
|
||||
.4byte 00000000
|
||||
.4byte sub_08076488
|
||||
.4byte sub_08076518
|
||||
.4byte sub_080765E0
|
||||
|
||||
gUnk_0811BDAC:: @ 0811BDAC
|
||||
.incbin "itemBomb/gUnk_0811BDAC.bin"
|
||||
@@ -1,9 +0,0 @@
|
||||
.include "asm/macros.inc"
|
||||
.include "constants/constants.inc"
|
||||
|
||||
.section .rodata
|
||||
.align 2
|
||||
|
||||
gUnk_0811BD78:: @ 0811BD78
|
||||
.4byte sub_08075D2C
|
||||
.4byte sub_08075D88
|
||||
@@ -1,14 +0,0 @@
|
||||
.include "asm/macros.inc"
|
||||
.include "constants/constants.inc"
|
||||
|
||||
.section .rodata
|
||||
.align 2
|
||||
|
||||
|
||||
gUnk_0811BD80:: @ 0811BD80
|
||||
.4byte sub_08075DF4
|
||||
.4byte sub_08075E40
|
||||
.4byte sub_08075EC0
|
||||
.4byte sub_08075F38
|
||||
.4byte sub_08075F84
|
||||
.4byte sub_08075D88
|
||||
@@ -1,11 +0,0 @@
|
||||
.include "asm/macros.inc"
|
||||
.include "constants/constants.inc"
|
||||
|
||||
.section .rodata
|
||||
.align 2
|
||||
|
||||
gUnk_0811BE28:: @ 0811BE28
|
||||
.4byte sub_08077534
|
||||
.4byte sub_08077618
|
||||
.4byte sub_08077640
|
||||
.4byte sub_0807766C
|
||||
@@ -1,11 +0,0 @@
|
||||
.include "asm/macros.inc"
|
||||
.include "constants/constants.inc"
|
||||
|
||||
.section .rodata
|
||||
.align 2
|
||||
|
||||
gUnk_0811BD68:: @ 0811BD68
|
||||
.4byte sub_08075A0C
|
||||
.4byte sub_08075ADC
|
||||
.4byte sub_08075B54
|
||||
.4byte sub_08075C9C
|
||||
@@ -1,20 +0,0 @@
|
||||
.include "asm/macros.inc"
|
||||
.include "constants/constants.inc"
|
||||
|
||||
.section .rodata
|
||||
.align 2
|
||||
|
||||
gUnk_0811BE04:: @ 0811BE04
|
||||
.4byte sub_08077130
|
||||
.4byte sub_080771C8
|
||||
.4byte sub_080772A8
|
||||
.4byte sub_08077448
|
||||
|
||||
gUnk_0811BE14:: @ 0811BE14
|
||||
.incbin "itemMoleMitts/gUnk_0811BE14.bin"
|
||||
|
||||
gUnk_0811BE16:: @ 0811BE16
|
||||
.incbin "itemMoleMitts/gUnk_0811BE16.bin"
|
||||
|
||||
gUnk_0811BE1E:: @ 0811BE1E
|
||||
.incbin "itemMoleMitts/gUnk_0811BE1E.bin"
|
||||
@@ -1,9 +0,0 @@
|
||||
.include "asm/macros.inc"
|
||||
.include "constants/constants.inc"
|
||||
|
||||
.section .rodata
|
||||
.align 2
|
||||
|
||||
gOcarinaStates:: @ 0811BDD8
|
||||
.4byte OcarinaUse
|
||||
.4byte OcarinaUpdate
|
||||
@@ -1,9 +0,0 @@
|
||||
.include "asm/macros.inc"
|
||||
.include "constants/constants.inc"
|
||||
|
||||
.section .rodata
|
||||
.align 2
|
||||
|
||||
gUnk_0811BDE0:: @ 0811BDE0
|
||||
.4byte sub_08076C98
|
||||
.4byte sub_08076CBC
|
||||
@@ -1,10 +0,0 @@
|
||||
.include "asm/macros.inc"
|
||||
.include "constants/constants.inc"
|
||||
|
||||
.section .rodata
|
||||
.align 2
|
||||
|
||||
gUnk_0811BDE8:: @ 0811BDE8
|
||||
.4byte sub_08076D04
|
||||
.4byte sub_08076D34
|
||||
.4byte sub_08076D94
|
||||
@@ -1,16 +0,0 @@
|
||||
.include "asm/macros.inc"
|
||||
.include "constants/constants.inc"
|
||||
|
||||
.section .rodata
|
||||
.align 2
|
||||
|
||||
gUnk_0811BD44:: @ 0811BD44
|
||||
.4byte sub_08075338
|
||||
.4byte sub_080754B8
|
||||
.4byte sub_080755F0
|
||||
.4byte sub_0807564C
|
||||
.4byte sub_08075738
|
||||
.4byte sub_08075580
|
||||
.4byte sub_08075898
|
||||
.4byte sub_080758B0
|
||||
.4byte sub_08075900
|
||||
@@ -1,14 +0,0 @@
|
||||
.include "asm/macros.inc"
|
||||
.include "constants/constants.inc"
|
||||
|
||||
.section .rodata
|
||||
.align 2
|
||||
|
||||
|
||||
gUnk_0811BDB4:: @ 0811BDB4
|
||||
.4byte ItemPickupCheck
|
||||
.4byte sub_080762D8
|
||||
.4byte sub_08076488
|
||||
.4byte sub_08076518
|
||||
.4byte sub_080765E0
|
||||
.4byte sub_0807660C
|
||||
@@ -1,11 +0,0 @@
|
||||
.include "asm/macros.inc"
|
||||
.include "constants/constants.inc"
|
||||
|
||||
.section .rodata
|
||||
.align 2
|
||||
|
||||
gUnk_081146B8:: @ 081146B8
|
||||
.incbin "npc58/gUnk_081146B8.bin"
|
||||
|
||||
gUnk_081146D0:: @ 081146D0
|
||||
.incbin "data_081146D0/gUnk_081146D0.bin"
|
||||
@@ -1,16 +0,0 @@
|
||||
.include "asm/macros.inc"
|
||||
.include "constants/constants.inc"
|
||||
|
||||
.section .rodata
|
||||
.align 2
|
||||
|
||||
gUnk_0811EE38:: @ 0811EE38
|
||||
.4byte sub_08081AE0
|
||||
.4byte sub_08081B84
|
||||
.4byte sub_08081BAC
|
||||
.4byte sub_08081BE0
|
||||
.4byte sub_08081C30
|
||||
.4byte sub_08081C98
|
||||
|
||||
gUnk_0811EE50:: @ 0811EE50
|
||||
.incbin "button/gUnk_0811EE50.bin"
|
||||
@@ -1,52 +0,0 @@
|
||||
.include "asm/macros.inc"
|
||||
.include "constants/constants.inc"
|
||||
|
||||
.section .rodata
|
||||
.align 2
|
||||
|
||||
gUnk_0811E7C4:: @ 0811E7C4
|
||||
.4byte sub_080808D8
|
||||
.4byte sub_080808E4
|
||||
.4byte sub_08080904
|
||||
.4byte sub_08080910
|
||||
|
||||
gUnk_0811E7D4:: @ 0811E7D4
|
||||
.4byte sub_08080F20
|
||||
.4byte sub_080811EC
|
||||
.4byte sub_0808122C
|
||||
.4byte sub_08081328
|
||||
.4byte sub_0808136C
|
||||
|
||||
gUnk_0811E7E8:: @ 0811E7E8
|
||||
.4byte sub_080810A8
|
||||
.4byte sub_080810FC
|
||||
.4byte sub_08081150
|
||||
.4byte sub_08081134
|
||||
.4byte sub_08081188
|
||||
.4byte sub_080810A8
|
||||
.4byte sub_080810A8
|
||||
.4byte sub_080811AC
|
||||
.4byte sub_080811C8
|
||||
.4byte sub_080811D8
|
||||
.4byte sub_080810A8
|
||||
|
||||
gUnk_0811E814:: @ 0811E814
|
||||
.4byte sub_08081248
|
||||
.4byte sub_08081248
|
||||
.4byte sub_0808126C
|
||||
.4byte sub_0808127C
|
||||
.4byte nullsub_113
|
||||
.4byte sub_080812A0
|
||||
.4byte sub_08081248
|
||||
.4byte sub_080812A8
|
||||
.4byte sub_080812E8
|
||||
.4byte nullsub_510
|
||||
.4byte sub_08081248
|
||||
|
||||
gUnk_0811E840:: @ 0811E840
|
||||
.4byte sub_080813D4
|
||||
.4byte sub_080813E8
|
||||
.4byte sub_080813F0
|
||||
|
||||
gUnk_0811E84C:: @ 0811E84C
|
||||
.incbin "itemOnGround/gUnk_0811E84C.bin"
|
||||
@@ -1,30 +0,0 @@
|
||||
.include "asm/macros.inc"
|
||||
.include "constants/constants.inc"
|
||||
|
||||
.section .rodata
|
||||
.align 2
|
||||
|
||||
gUnk_0811F090:: @ 0811F090
|
||||
.4byte sub_0808222C
|
||||
.4byte sub_08082310
|
||||
.4byte sub_080824F8
|
||||
.4byte sub_080826E4
|
||||
.4byte sub_08082614
|
||||
.4byte sub_08082824
|
||||
|
||||
gUnk_0811F0A8:: @ 0811F0A8
|
||||
.4byte sub_08082510
|
||||
.4byte nullsub_511
|
||||
.4byte sub_08082588
|
||||
.4byte sub_0808259C
|
||||
.4byte sub_080825E8
|
||||
.4byte sub_080825F0
|
||||
.4byte sub_08082608
|
||||
|
||||
gUnk_0811F0C4:: @ 0811F0C4
|
||||
.4byte sub_080826FC
|
||||
.4byte sub_0808270C
|
||||
.4byte sub_08082778
|
||||
.4byte sub_080827F8
|
||||
.4byte nullsub_512
|
||||
.4byte sub_08082818
|
||||
@@ -1,14 +0,0 @@
|
||||
.include "asm/macros.inc"
|
||||
.include "constants/constants.inc"
|
||||
|
||||
.section .rodata
|
||||
.align 2
|
||||
|
||||
gUnk_081205D0:: @ 081205D0
|
||||
.4byte sub_080851AC
|
||||
.4byte sub_08085264
|
||||
.4byte sub_080852B4
|
||||
.4byte sub_08085308
|
||||
|
||||
gUnk_081205E0:: @ 081205E0
|
||||
.incbin "railtrack/gUnk_081205E0.bin"
|
||||
@@ -1,19 +0,0 @@
|
||||
.include "asm/macros.inc"
|
||||
.include "constants/constants.inc"
|
||||
|
||||
.section .rodata
|
||||
.align 2
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
gUnk_0811E7AC:: @ 0811E7AC
|
||||
.4byte sub_08080794
|
||||
.4byte sub_08080808
|
||||
.4byte sub_08080794
|
||||
.4byte sub_08080808
|
||||
|
||||
gUnk_0811E7BC:: @ 0811E7BC
|
||||
.incbin "data_0811E750/gUnk_0811E7BC.bin"
|
||||
@@ -52,7 +52,7 @@ extern struct_02019EE0 gMapDataBottomSpecial;
|
||||
// TODO size: 0x8000 from ClearTilemaps?
|
||||
|
||||
extern void sub_08056FEC(u32, struct_020227E8*);
|
||||
extern u32 sub_0805F46C(u32, Font*);
|
||||
extern u32 sub_0805F46C(u32, const Font*);
|
||||
extern void ClearTilemaps(void);
|
||||
extern void sub_0805194C(u32);
|
||||
extern WStruct* sub_0805F2C8(void);
|
||||
|
||||
@@ -30,7 +30,6 @@ SECTIONS {
|
||||
. = 0x00001A40; gBG3Buffer = .;
|
||||
. = 0x00002A40; gSave = .;
|
||||
. = 0x00002AC0; gUnk_02002AC0 = .;
|
||||
. = 0x00002AC8; gUnk_02002AC8 = .;
|
||||
. = 0x00002B0E; gUnk_02002B0E = .;
|
||||
. = 0x00002B32; gUnk_02002B32 = .;
|
||||
. = 0x00002B54; gUnk_02002B54 = .;
|
||||
@@ -1297,7 +1296,7 @@ SECTIONS {
|
||||
src/npc/cucco.o(.rodata);
|
||||
src/npc/cuccoChick.o(.rodata);
|
||||
src/npc/phonograph.o(.rodata);
|
||||
data/const/npc/npc58.o(.rodata);
|
||||
src/npc/npc58.o(.rodata);
|
||||
src/npcDefinitions.o(.rodata);
|
||||
data/data_081146D0.o(.rodata);
|
||||
src/physics.o(.rodata);
|
||||
@@ -1307,34 +1306,33 @@ SECTIONS {
|
||||
src/playerItem/playerItemPacciCane.o(.rodata);
|
||||
src/player.o(.rodata);
|
||||
src/item.o(.rodata);
|
||||
data/const/item/itemSword.o(.rodata);
|
||||
data/const/item/itemLantern.o(.rodata);
|
||||
data/const/item/itemBoomerang.o(.rodata);
|
||||
data/const/item/itemBow.o(.rodata);
|
||||
data/const/item/itemBomb.o(.rodata);
|
||||
data/const/item/itemTryPickupObject.o(.rodata);
|
||||
src/item/itemSword.o(.rodata);
|
||||
src/item/itemLantern.o(.rodata);
|
||||
src/item/itemBoomerang.o(.rodata);
|
||||
src/item/itemBow.o(.rodata);
|
||||
src/item/itemBomb.o(.rodata);
|
||||
src/item/itemTryPickupObject.o(.rodata);
|
||||
src/item/itemPegasusBoots.o(.rodata);
|
||||
data/const/item/itemOcarina.o(.rodata);
|
||||
data/const/item/itemPacciCane.o(.rodata);
|
||||
data/const/item/itemShield.o(.rodata);
|
||||
src/item/itemOcarina.o(.rodata);
|
||||
src/item/itemPacciCane.o(.rodata);
|
||||
src/item/itemShield.o(.rodata);
|
||||
src/item/itemGustJar.o(.rodata);
|
||||
data/const/item/itemMoleMitts.o(.rodata);
|
||||
data/const/item/itemJarEmpty.o(.rodata);
|
||||
src/item/itemMoleMitts.o(.rodata);
|
||||
src/item/itemJarEmpty.o(.rodata);
|
||||
data/data_0811BE38.o(.rodata);
|
||||
data/map/room_headers.o(.rodata);
|
||||
src/flags.o(.rodata);
|
||||
src/save.o(.rodata);
|
||||
src/script.o(.rodata);
|
||||
src/scroll.o(.rodata);
|
||||
data/data_0811E750.o(.rodata);
|
||||
data/const/object/itemOnGround.o(.rodata);
|
||||
src/object/itemOnGround.o(.rodata);
|
||||
src/object/deathFx.o(.rodata);
|
||||
data/animations/object/deathFx.o(.rodata);
|
||||
src/object/itemForSale.o(.rodata);
|
||||
data/const/object/button.o(.rodata);
|
||||
src/object/button.o(.rodata);
|
||||
src/object/minishEmoticon.o(.rodata);
|
||||
data/animations/object/minishEmoticon.o(.rodata);
|
||||
data/const/object/pot.o(.rodata);
|
||||
src/object/pot.o(.rodata);
|
||||
data/animations/object/pot.o(.rodata);
|
||||
src/object/ezloCap.o(.rodata);
|
||||
data/animations/object/ezloCap.o(.rodata);
|
||||
@@ -1352,7 +1350,7 @@ SECTIONS {
|
||||
src/object/playerClone.o(.rodata);
|
||||
src/object/object11.o(.rodata);
|
||||
src/object/object12.o(.rodata);
|
||||
data/const/object/railtrack.o(.rodata);
|
||||
src/object/railtrack.o(.rodata);
|
||||
data/animations/object/railtrack.o(.rodata);
|
||||
data/const/object/lilypadLarge.o(.rodata);
|
||||
src/object/object15.o(.rodata);
|
||||
|
||||
+12
-5
@@ -5,19 +5,26 @@
|
||||
#include "playeritem.h"
|
||||
#include "functions.h"
|
||||
|
||||
extern void (*const gUnk_0811BD98[])(ItemBehavior*, u32);
|
||||
|
||||
extern s8 gUnk_0811BDAC[];
|
||||
void sub_08075FF8(ItemBehavior*, u32);
|
||||
void sub_08076488(ItemBehavior*, u32);
|
||||
void sub_08076518(ItemBehavior*, u32);
|
||||
void sub_080765E0(ItemBehavior*, u32);
|
||||
|
||||
void ItemBomb(ItemBehavior* this, u32 idx) {
|
||||
gUnk_0811BD98[this->stateID](this, idx);
|
||||
static void (*const stateFuncs[])(ItemBehavior*, u32) = {
|
||||
sub_08075FF8, NULL, sub_08076488, sub_08076518, sub_080765E0,
|
||||
};
|
||||
stateFuncs[this->stateID](this, idx);
|
||||
}
|
||||
|
||||
void sub_08075FF8(ItemBehavior* this, u32 idx) {
|
||||
static const s8 gUnk_0811BDAC[] = {
|
||||
0, -8, 4, -1, 0, 2, -4, -1,
|
||||
};
|
||||
Entity* entity;
|
||||
u32 maxBombs;
|
||||
u32 bombCount;
|
||||
s8* pos;
|
||||
const s8* pos;
|
||||
s32 x;
|
||||
s32 y;
|
||||
|
||||
|
||||
@@ -1,10 +1,15 @@
|
||||
#include "item.h"
|
||||
#include "functions.h"
|
||||
|
||||
extern void (*const gUnk_0811BD78[])(ItemBehavior*, u32);
|
||||
void sub_08075D2C(ItemBehavior*, u32);
|
||||
void sub_08075D88(ItemBehavior*, u32);
|
||||
|
||||
void ItemBoomerang(ItemBehavior* this, u32 idx) {
|
||||
gUnk_0811BD78[this->stateID](this, idx);
|
||||
static void (*const stateFuncs[])(ItemBehavior*, u32) = {
|
||||
sub_08075D2C,
|
||||
sub_08075D88,
|
||||
};
|
||||
stateFuncs[this->stateID](this, idx);
|
||||
}
|
||||
|
||||
void sub_08075D2C(ItemBehavior* this, u32 idx) {
|
||||
|
||||
+10
-2
@@ -2,10 +2,18 @@
|
||||
#include "functions.h"
|
||||
#include "save.h"
|
||||
|
||||
extern void (*const gUnk_0811BD80[])(ItemBehavior*, u32);
|
||||
void sub_08075DF4(ItemBehavior*, u32);
|
||||
void sub_08075E40(ItemBehavior*, u32);
|
||||
void sub_08075EC0(ItemBehavior*, u32);
|
||||
void sub_08075F38(ItemBehavior*, u32);
|
||||
void sub_08075F84(ItemBehavior*, u32);
|
||||
void sub_08075D88(ItemBehavior*, u32);
|
||||
|
||||
void ItemBow(ItemBehavior* this, u32 idx) {
|
||||
gUnk_0811BD80[this->stateID](this, idx);
|
||||
static void (*const stateFuncs[])(ItemBehavior*, u32) = {
|
||||
sub_08075DF4, sub_08075E40, sub_08075EC0, sub_08075F38, sub_08075F84, sub_08075D88,
|
||||
};
|
||||
stateFuncs[this->stateID](this, idx);
|
||||
}
|
||||
|
||||
void sub_08075DF4(ItemBehavior* this, u32 idx) {
|
||||
|
||||
+11
-4
@@ -2,12 +2,19 @@
|
||||
#include "save.h"
|
||||
#include "functions.h"
|
||||
|
||||
extern void (*const gUnk_0811BE28[])(ItemBehavior*, u32);
|
||||
|
||||
extern u8 gUnk_02002AC8[];
|
||||
void sub_08077534(ItemBehavior*, u32);
|
||||
void sub_08077618(ItemBehavior*, u32);
|
||||
void sub_08077640(ItemBehavior*, u32);
|
||||
void sub_0807766C(ItemBehavior*, u32);
|
||||
|
||||
void ItemJarEmpty(ItemBehavior* this, u32 idx) {
|
||||
gUnk_0811BE28[this->stateID](this, idx);
|
||||
static void (*const stateFuncs[])(ItemBehavior*, u32) = {
|
||||
sub_08077534,
|
||||
sub_08077618,
|
||||
sub_08077640,
|
||||
sub_0807766C,
|
||||
};
|
||||
stateFuncs[this->stateID](this, idx);
|
||||
}
|
||||
|
||||
void sub_08077534(ItemBehavior* this, u32 idx) {
|
||||
|
||||
+11
-6
@@ -4,17 +4,22 @@
|
||||
#include "object.h"
|
||||
#include "game.h"
|
||||
|
||||
extern void (*const gUnk_0811BD68[])(ItemBehavior*, u32);
|
||||
|
||||
extern s8 gUnk_08126EEC[];
|
||||
extern Entity* sub_08077BD4(ItemBehavior*);
|
||||
|
||||
extern bool32 sub_08077F10(ItemBehavior*);
|
||||
|
||||
extern void sub_0807AB44(Entity*, s32, s32);
|
||||
void sub_08075A0C(ItemBehavior*, u32);
|
||||
void sub_08075ADC(ItemBehavior*, u32);
|
||||
void sub_08075B54(ItemBehavior*, u32);
|
||||
void sub_08075C9C(ItemBehavior*, u32);
|
||||
|
||||
void ItemLantern(ItemBehavior* this, u32 idx) {
|
||||
gUnk_0811BD68[this->stateID](this, idx);
|
||||
static void (*const stateFuncs[])(ItemBehavior*, u32) = {
|
||||
sub_08075A0C,
|
||||
sub_08075ADC,
|
||||
sub_08075B54,
|
||||
sub_08075C9C,
|
||||
};
|
||||
stateFuncs[this->stateID](this, idx);
|
||||
}
|
||||
|
||||
void sub_08075A0C(ItemBehavior* this, u32 idx) {
|
||||
|
||||
+41
-10
@@ -5,21 +5,23 @@
|
||||
#include "effects.h"
|
||||
#include "object.h"
|
||||
|
||||
extern void (*const gUnk_0811BE04[])(ItemBehavior*, u32);
|
||||
|
||||
s32 sub_080774A0(void);
|
||||
|
||||
extern u8 gUnk_0811BE14[];
|
||||
extern s32 sub_0800875A(Entity*, u32, ItemBehavior*);
|
||||
|
||||
extern void UpdatePlayerMovement(void);
|
||||
|
||||
extern bool32 sub_0807B5B0(Entity*);
|
||||
|
||||
extern const s16 gUnk_0811BE16[];
|
||||
void sub_08077130(ItemBehavior*, u32);
|
||||
void sub_080771C8(ItemBehavior*, u32);
|
||||
void sub_080772A8(ItemBehavior*, u32);
|
||||
void sub_08077448(ItemBehavior*, u32);
|
||||
|
||||
void ItemMoleMitts(ItemBehavior* this, u32 idx) {
|
||||
gUnk_0811BE04[this->stateID](this, idx);
|
||||
static void (*const stateFuncs[])(ItemBehavior*, u32) = {
|
||||
sub_08077130,
|
||||
sub_080771C8,
|
||||
sub_080772A8,
|
||||
sub_08077448,
|
||||
};
|
||||
stateFuncs[this->stateID](this, idx);
|
||||
}
|
||||
|
||||
void sub_08077130(ItemBehavior* this, u32 idx) {
|
||||
@@ -53,6 +55,10 @@ void sub_08077130(ItemBehavior* this, u32 idx) {
|
||||
}
|
||||
|
||||
void sub_080771C8(ItemBehavior* this, u32 idx) {
|
||||
static const u8 gUnk_0811BE14[] = {
|
||||
0x1,
|
||||
0x12,
|
||||
};
|
||||
Entity* object;
|
||||
|
||||
UpdateItemAnim(this);
|
||||
@@ -90,6 +96,12 @@ void sub_080771C8(ItemBehavior* this, u32 idx) {
|
||||
}
|
||||
|
||||
void sub_080772A8(ItemBehavior* this, u32 idx) {
|
||||
static const s16 gUnk_0811BE16[] = {
|
||||
0,
|
||||
0xc0,
|
||||
0x100,
|
||||
0x180,
|
||||
};
|
||||
Entity* effect;
|
||||
|
||||
if (((this->field_0x5[9] & 8) != 0) && sub_08077F10(this)) {
|
||||
@@ -161,4 +173,23 @@ void sub_08077448(ItemBehavior* this, u32 idx) {
|
||||
}
|
||||
}
|
||||
|
||||
ASM_FUNC("asm/non_matching/itemMoleMitts/sub_080774A0.inc", s32 sub_080774A0(void))
|
||||
s32 sub_080774A0(void) {
|
||||
static const s8 gUnk_0811BE1E[] = { 0, -13, 13, 0, 0, 16, -13, 0, 0, 0 };
|
||||
u32 iVar2;
|
||||
u32 uVar3;
|
||||
|
||||
uVar3 = COORD_TO_TILE_OFFSET((&gPlayerEntity), -gUnk_0811BE1E[gPlayerEntity.animationState & 6],
|
||||
-gUnk_0811BE1E[(gPlayerEntity.animationState & 6) + 1]);
|
||||
|
||||
iVar2 = sub_080B1B44(uVar3, gPlayerEntity.collisionLayer);
|
||||
|
||||
if (iVar2 > 0x16)
|
||||
return 0;
|
||||
if (iVar2 < 0xf)
|
||||
return 0;
|
||||
if (sub_080B1AE0(uVar3, gPlayerEntity.collisionLayer) != 0x56) {
|
||||
return 1;
|
||||
} else {
|
||||
return 0x56;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2,13 +2,16 @@
|
||||
#include "sound.h"
|
||||
#include "functions.h"
|
||||
|
||||
extern void (*const gOcarinaStates[4])(ItemBehavior*, u32);
|
||||
|
||||
extern void ResetPlayerVelocity(void);
|
||||
|
||||
extern void CreateBird(void);
|
||||
void OcarinaUse(ItemBehavior*, u32);
|
||||
void OcarinaUpdate(ItemBehavior*, u32);
|
||||
|
||||
void ItemOcarina(ItemBehavior* this, u32 idx) {
|
||||
static void (*const gOcarinaStates[])(ItemBehavior*, u32) = {
|
||||
OcarinaUse,
|
||||
OcarinaUpdate,
|
||||
};
|
||||
gOcarinaStates[this->stateID](this, idx);
|
||||
gPlayerEntity.field_0x7a.HWORD += 1;
|
||||
}
|
||||
|
||||
@@ -3,10 +3,15 @@
|
||||
#include "item.h"
|
||||
#include "functions.h"
|
||||
|
||||
extern void (*const gUnk_0811BDE0[])(ItemBehavior* beh, u32);
|
||||
void sub_08076C98(ItemBehavior*, u32);
|
||||
void sub_08076CBC(ItemBehavior*, u32);
|
||||
|
||||
void ItemPacciCane(ItemBehavior* beh, u32 idx) {
|
||||
gUnk_0811BDE0[beh->stateID](beh, idx);
|
||||
static void (*const stateFuncs[])(ItemBehavior * beh, u32) = {
|
||||
sub_08076C98,
|
||||
sub_08076CBC,
|
||||
};
|
||||
stateFuncs[beh->stateID](beh, idx);
|
||||
}
|
||||
|
||||
void sub_08076C98(ItemBehavior* beh, u32 idx) {
|
||||
|
||||
@@ -4,10 +4,17 @@
|
||||
#include "sound.h"
|
||||
#include "functions.h"
|
||||
|
||||
extern void (*const gUnk_0811BDE8[])(ItemBehavior* beh, u32);
|
||||
void sub_08076D04(ItemBehavior*, u32);
|
||||
void sub_08076D34(ItemBehavior*, u32);
|
||||
void sub_08076D94(ItemBehavior*, u32);
|
||||
|
||||
void ItemShield(ItemBehavior* beh, u32 idx) {
|
||||
gUnk_0811BDE8[beh->stateID](beh, idx);
|
||||
static void (*const stateFuncs[])(ItemBehavior*, u32) = {
|
||||
sub_08076D04,
|
||||
sub_08076D34,
|
||||
sub_08076D94,
|
||||
};
|
||||
stateFuncs[beh->stateID](beh, idx);
|
||||
}
|
||||
|
||||
void sub_08076D04(ItemBehavior* beh, u32 idx) {
|
||||
|
||||
+12
-5
@@ -4,18 +4,25 @@
|
||||
#include "object.h"
|
||||
#include "playeritem.h"
|
||||
|
||||
extern void (*const gUnk_0811BD44[])(ItemBehavior*, u32);
|
||||
|
||||
void sub_080759B8(ItemBehavior*, u32);
|
||||
void sub_080754B8(ItemBehavior*, u32);
|
||||
void sub_08075898(ItemBehavior*, u32);
|
||||
void sub_08075580(ItemBehavior*, u32);
|
||||
|
||||
void sub_08075694(ItemBehavior* this, u32 idx);
|
||||
void sub_08075338(ItemBehavior*, u32);
|
||||
void sub_080755F0(ItemBehavior*, u32);
|
||||
void sub_0807564C(ItemBehavior*, u32);
|
||||
void sub_08075738(ItemBehavior*, u32);
|
||||
void sub_080758B0(ItemBehavior*, u32);
|
||||
void sub_08075900(ItemBehavior*, u32);
|
||||
void sub_08075694(ItemBehavior*, u32);
|
||||
|
||||
void ItemSword(ItemBehavior* this, u32 idx) {
|
||||
static void (*const stateFuncs[])(ItemBehavior*, u32) = {
|
||||
sub_08075338, sub_080754B8, sub_080755F0, sub_0807564C, sub_08075738,
|
||||
sub_08075580, sub_08075898, sub_080758B0, sub_08075900,
|
||||
};
|
||||
gPlayerState.framestate = PL_STATE_SWORD;
|
||||
gUnk_0811BD44[this->stateID](this, idx);
|
||||
stateFuncs[this->stateID](this, idx);
|
||||
}
|
||||
|
||||
void sub_08075338(ItemBehavior* this, u32 idx) {
|
||||
|
||||
@@ -2,16 +2,22 @@
|
||||
#include "functions.h"
|
||||
#include "sound.h"
|
||||
|
||||
extern void (*const gUnk_0811BDB4[])(ItemBehavior*, u32);
|
||||
|
||||
u32 sub_08077F64(ItemBehavior* arg0, u32 idx);
|
||||
|
||||
u32 sub_080789A8(void);
|
||||
void sub_080762C4(ItemBehavior*, Entity*, u8, u32);
|
||||
void sub_08076088(ItemBehavior*, void*, u32);
|
||||
void ItemPickupCheck(ItemBehavior*, u32);
|
||||
void sub_080762D8(ItemBehavior*, u32);
|
||||
void sub_08076488(ItemBehavior*, u32);
|
||||
void sub_08076518(ItemBehavior*, u32);
|
||||
void sub_080765E0(ItemBehavior*, u32);
|
||||
void sub_0807660C(ItemBehavior*, u32);
|
||||
|
||||
void ItemTryPickupObject(ItemBehavior* this, u32 idx) {
|
||||
gUnk_0811BDB4[this->stateID](this, idx);
|
||||
static void (*const stateFuncs[])(ItemBehavior*, u32) = {
|
||||
ItemPickupCheck, sub_080762D8, sub_08076488, sub_08076518, sub_080765E0, sub_0807660C,
|
||||
};
|
||||
stateFuncs[this->stateID](this, idx);
|
||||
}
|
||||
|
||||
void ItemPickupCheck(ItemBehavior* this, u32 idx) {
|
||||
|
||||
+4
-2
@@ -3,7 +3,9 @@
|
||||
|
||||
extern void sub_0806FFBC(Entity*, u32, u32, u32);
|
||||
|
||||
extern SpriteLoadData gUnk_081146D0;
|
||||
static const SpriteLoadData gUnk_081146D0[] = {
|
||||
{ 0, 0x61, 0x4 }, { 0x800, 0x61, 0x4 }, { 0x1000, 0x61, 0x4 }, { 0x1800, 0x61, 0x4 }, { 0, 0, 0 },
|
||||
};
|
||||
|
||||
void NPC58(Entity* this) {
|
||||
s32 sVar1;
|
||||
@@ -12,7 +14,7 @@ void NPC58(Entity* this) {
|
||||
Entity* entity;
|
||||
|
||||
if (this->action == 0) {
|
||||
if (LoadExtraSpriteData(this, &gUnk_081146D0) == 0) {
|
||||
if (LoadExtraSpriteData(this, gUnk_081146D0) == 0) {
|
||||
return;
|
||||
}
|
||||
this->action += 1;
|
||||
|
||||
@@ -13,8 +13,6 @@ void sub_0806EABC(Entity* this);
|
||||
void sub_0806EABC(Entity* this, u32 param);
|
||||
#endif
|
||||
|
||||
extern Font gUnk_081146B8;
|
||||
|
||||
void Phonograph(Entity* this) {
|
||||
if (this->action == 0) {
|
||||
this->action += 1;
|
||||
@@ -87,7 +85,7 @@ void sub_0806E964(Entity* this, ScriptExecutionContext* context) {
|
||||
this->field_0x6a.HWORD = this->field_0x68.HWORD;
|
||||
field_0x68 = (s16)this->field_0x68.HWORD * 4;
|
||||
ptr2++;
|
||||
this->field_0x6c.HWORD = *(s16*)((((int)ptr2 + field_0x68)));
|
||||
this->field_0x6c.HWORD = *(s16*)((((s32)ptr2 + field_0x68)));
|
||||
} else {
|
||||
SoundReq(SONG_STOP_ALL);
|
||||
this->field_0x6a.HWORD = 0;
|
||||
@@ -169,7 +167,7 @@ void sub_0806E964(Entity* this, ScriptExecutionContext* context) {
|
||||
this->field_0x6a.HWORD = this->field_0x68.HWORD;
|
||||
field_0x68 = (s16)this->field_0x68.HWORD * 4;
|
||||
ptr2++;
|
||||
this->field_0x6c.HWORD = *(s16*)((((int)ptr2 + field_0x68)));
|
||||
this->field_0x6c.HWORD = *(s16*)((((s32)ptr2 + field_0x68)));
|
||||
} else {
|
||||
SoundReq(SONG_STOP_ALL);
|
||||
this->field_0x6a.HWORD = 0;
|
||||
@@ -187,6 +185,10 @@ void sub_0806E964(Entity* this, ScriptExecutionContext* context) {
|
||||
}
|
||||
#endif
|
||||
|
||||
const static Font gUnk_081146B8 = {
|
||||
(u16*)0x2034fce, (void*)0x0600d000, (void*)0x2000d00, 0, 0xf080, 0xd0, 1, 1, 1, 1, 0, 0, 0, 1, 0
|
||||
};
|
||||
|
||||
#ifdef EU
|
||||
void sub_0806EABC(Entity* this) {
|
||||
sub_08050384();
|
||||
|
||||
+15
-6
@@ -1,10 +1,18 @@
|
||||
#include "object.h"
|
||||
#include "functions.h"
|
||||
|
||||
extern void (*const gUnk_0811EE38[])(Entity*);
|
||||
void sub_08081AE0(Entity*);
|
||||
void sub_08081B84(Entity*);
|
||||
void sub_08081BAC(Entity*);
|
||||
void sub_08081BE0(Entity*);
|
||||
void sub_08081C30(Entity*);
|
||||
void sub_08081C98(Entity*);
|
||||
|
||||
void Button(Entity* this) {
|
||||
gUnk_0811EE38[this->action](this);
|
||||
static void (*const actionFuncs[])(Entity*) = {
|
||||
sub_08081AE0, sub_08081B84, sub_08081BAC, sub_08081BE0, sub_08081C30, sub_08081C98,
|
||||
};
|
||||
actionFuncs[this->action](this);
|
||||
}
|
||||
|
||||
extern u32 sub_08081E3C(Entity*);
|
||||
@@ -172,11 +180,12 @@ u32 sub_08081E0C(Entity* this) {
|
||||
}
|
||||
}
|
||||
|
||||
extern u16 gUnk_0811EE50[];
|
||||
|
||||
u32 sub_08081E3C(Entity* this) {
|
||||
u16* tmp1;
|
||||
int tmp2;
|
||||
static const u16 gUnk_0811EE50[] = {
|
||||
0x77, 0x78, 0x79, 0x7a, 0, 0,
|
||||
};
|
||||
const u16* tmp1;
|
||||
s32 tmp2;
|
||||
tmp2 = GetTileType(this->field_0x74.HWORD, this->collisionLayer);
|
||||
tmp1 = gUnk_0811EE50;
|
||||
do {
|
||||
|
||||
@@ -19,13 +19,32 @@ void sub_0808153C(Entity*);
|
||||
void sub_08081598(Entity*);
|
||||
void sub_080813BC(Entity*);
|
||||
void sub_080810FC(Entity*);
|
||||
void sub_08080F20(Entity*);
|
||||
void sub_080811EC(Entity*);
|
||||
void sub_0808122C(Entity*);
|
||||
void sub_08081328(Entity*);
|
||||
void sub_0808136C(Entity*);
|
||||
void sub_080810A8(Entity*);
|
||||
void sub_080810FC(Entity*);
|
||||
void sub_08081150(Entity*);
|
||||
void sub_08081134(Entity*);
|
||||
void sub_08081188(Entity*);
|
||||
void sub_080811AC(Entity*);
|
||||
void sub_080811C8(Entity*);
|
||||
void sub_080811D8(Entity*);
|
||||
void sub_08081248(Entity*);
|
||||
void sub_0808126C(Entity*);
|
||||
void sub_0808127C(Entity*);
|
||||
void nullsub_113(Entity*);
|
||||
void sub_080812A0(Entity*);
|
||||
void sub_080812A8(Entity*);
|
||||
void sub_080812E8(Entity*);
|
||||
void nullsub_510(Entity*);
|
||||
void sub_080813D4(Entity*);
|
||||
void sub_080813E8(Entity*);
|
||||
void sub_080813F0(Entity*);
|
||||
bool32 CheckShouldPlayItemGetCutscene(Entity*);
|
||||
|
||||
extern void (*const gUnk_0811E7D4[])(Entity*);
|
||||
extern void (*const gUnk_0811E7E8[])(Entity*);
|
||||
extern void (*const gUnk_0811E814[])(Entity*);
|
||||
extern void (*const gUnk_0811E840[])(Entity*);
|
||||
|
||||
typedef struct {
|
||||
u8 unk0[2];
|
||||
u16 sfx;
|
||||
@@ -33,9 +52,10 @@ typedef struct {
|
||||
u8 unk5[3];
|
||||
} Unk_0811E84C;
|
||||
|
||||
extern const Unk_0811E84C gUnk_0811E84C[];
|
||||
|
||||
void ItemOnGround(Entity* this) {
|
||||
static void (*const gUnk_0811E7D4[])(Entity*) = {
|
||||
sub_08080F20, sub_080811EC, sub_0808122C, sub_08081328, sub_0808136C,
|
||||
};
|
||||
if (this->contactFlags & 0x80) {
|
||||
switch (this->contactFlags & 0x7F) {
|
||||
case 20:
|
||||
@@ -75,6 +95,10 @@ void ItemOnGround(Entity* this) {
|
||||
}
|
||||
|
||||
void sub_08080F20(Entity* this) {
|
||||
static void (*const gUnk_0811E7E8[])(Entity*) = {
|
||||
sub_080810A8, sub_080810FC, sub_08081150, sub_08081134, sub_08081188, sub_080810A8,
|
||||
sub_080810A8, sub_080811AC, sub_080811C8, sub_080811D8, sub_080810A8,
|
||||
};
|
||||
if (this->field_0x86.HWORD && CheckFlags(this->field_0x86.HWORD)) {
|
||||
DeleteThisEntity();
|
||||
}
|
||||
@@ -215,6 +239,10 @@ void sub_080811EC(Entity* this) {
|
||||
}
|
||||
|
||||
void sub_0808122C(Entity* this) {
|
||||
static void (*const gUnk_0811E814[])(Entity*) = {
|
||||
sub_08081248, sub_08081248, sub_0808126C, sub_0808127C, nullsub_113, sub_080812A0,
|
||||
sub_08081248, sub_080812A8, sub_080812E8, nullsub_510, sub_08081248,
|
||||
};
|
||||
gUnk_0811E814[this->field_0x68.HALF.HI](this);
|
||||
}
|
||||
|
||||
@@ -300,7 +328,12 @@ void sub_0808136C(Entity* this) {
|
||||
}
|
||||
|
||||
void sub_080813BC(Entity* this) {
|
||||
gUnk_0811E840[this->subAction](this);
|
||||
static void (*const subActionFuncs[])(Entity*) = {
|
||||
sub_080813D4,
|
||||
sub_080813E8,
|
||||
sub_080813F0,
|
||||
};
|
||||
subActionFuncs[this->subAction](this);
|
||||
}
|
||||
|
||||
void sub_080813D4(Entity* this) {
|
||||
@@ -342,6 +375,24 @@ bool32 CheckShouldPlayItemGetCutscene(Entity* this) {
|
||||
return ((gItemMetaData[this->type].unk3 & 0x2) || !GetInventoryValue(this->type));
|
||||
}
|
||||
|
||||
static const Unk_0811E84C gUnk_0811E84C[118] = {
|
||||
[ITEM_SHELLS] = { { 0x0, 0x0 }, SFX_RUPEE_BOUNCE, 0x1, { 0x0, 0x0, 0x0 } },
|
||||
[ITEM_DUNGEON_MAP] = { { 0x0, 0x0 }, SFX_RUPEE_BOUNCE, 0x1, { 0x0, 0x0, 0x0 } },
|
||||
[ITEM_COMPASS] = { { 0x0, 0x0 }, SFX_RUPEE_BOUNCE, 0x1, { 0x0, 0x0, 0x0 } },
|
||||
[ITEM_BIG_KEY] = { { 0x0, 0x0 }, SFX_RUPEE_BOUNCE, 0x1, { 0x0, 0x0, 0x0 } },
|
||||
[ITEM_SMALL_KEY] = { { 0x0, 0x0 }, SFX_RUPEE_BOUNCE, 0x1, { 0x0, 0x0, 0x0 } },
|
||||
[ITEM_RUPEE1] = { { 0x0, 0x0 }, SFX_RUPEE_BOUNCE, 0x1, { 0x0, 0x0, 0x0 } },
|
||||
[ITEM_RUPEE5] = { { 0x0, 0x0 }, SFX_RUPEE_BOUNCE, 0x1, { 0x0, 0x0, 0x0 } },
|
||||
[ITEM_RUPEE20] = { { 0x0, 0x0 }, SFX_RUPEE_BOUNCE, 0x1, { 0x0, 0x0, 0x0 } },
|
||||
[ITEM_RUPEE50] = { { 0x0, 0x0 }, SFX_RUPEE_BOUNCE, 0x1, { 0x0, 0x0, 0x0 } },
|
||||
[ITEM_RUPEE100] = { { 0x0, 0x0 }, SFX_RUPEE_BOUNCE, 0x1, { 0x0, 0x0, 0x0 } },
|
||||
[ITEM_RUPEE200] = { { 0x0, 0x0 }, SFX_RUPEE_BOUNCE, 0x1, { 0x0, 0x0, 0x0 } },
|
||||
[ITEM_KINSTONE] = { { 0x0, 0x0 }, SFX_RUPEE_BOUNCE, 0x1, { 0x0, 0x0, 0x0 } },
|
||||
[ITEM_BOMBS5] = { { 0x0, 0x0 }, SFX_HEART_BOUNCE, 0x1, { 0x0, 0x0, 0x0 } },
|
||||
[ITEM_ARROWS5] = { { 0x0, 0x0 }, SFX_HEART_BOUNCE, 0x1, { 0x0, 0x0, 0x0 } },
|
||||
[ITEM_HEART] = { { 0x0, 0x0 }, SFX_HEART_BOUNCE, 0x1, { 0x0, 0x0, 0x0 } },
|
||||
};
|
||||
|
||||
u8 sub_0808147C(u32 arg0) {
|
||||
const Unk_0811E84C* var0 = &gUnk_0811E84C[arg0];
|
||||
return var0->unk4;
|
||||
|
||||
+31
-7
@@ -11,16 +11,34 @@
|
||||
void sub_08082824(Entity*);
|
||||
static void sub_08082850(Entity*, Entity*);
|
||||
void sub_08082608(Entity*);
|
||||
|
||||
extern void (*const gUnk_0811F090[])(Entity*);
|
||||
extern void (*const gUnk_0811F0A8[])(Entity*);
|
||||
extern void (*const gUnk_0811F0C4[])(Entity*);
|
||||
void sub_0808222C(Entity*);
|
||||
void sub_08082310(Entity*);
|
||||
void sub_080824F8(Entity*);
|
||||
void sub_080826E4(Entity*);
|
||||
void sub_08082614(Entity*);
|
||||
void sub_08082824(Entity*);
|
||||
void sub_08082510(Entity*);
|
||||
void nullsub_511(Entity*);
|
||||
void sub_08082588(Entity*);
|
||||
void sub_0808259C(Entity*);
|
||||
void sub_080825E8(Entity*);
|
||||
void sub_080825F0(Entity*);
|
||||
void sub_08082608(Entity*);
|
||||
void sub_08082818(Entity*);
|
||||
void nullsub_512(Entity*);
|
||||
void sub_080827F8(Entity*);
|
||||
void sub_08082778(Entity*);
|
||||
void sub_0808270C(Entity*);
|
||||
void sub_080826FC(Entity*);
|
||||
|
||||
extern void RegisterCarryEntity(Entity*);
|
||||
extern void sub_08016A6C(Entity*);
|
||||
|
||||
void Pot(Entity* this) {
|
||||
gUnk_0811F090[this->action](this);
|
||||
static void (*const actionFuncs[])(Entity*) = {
|
||||
sub_0808222C, sub_08082310, sub_080824F8, sub_080826E4, sub_08082614, sub_08082824,
|
||||
};
|
||||
actionFuncs[this->action](this);
|
||||
this->contactFlags = 0;
|
||||
}
|
||||
|
||||
@@ -111,7 +129,10 @@ void sub_08082310(Entity* this) {
|
||||
}
|
||||
|
||||
void sub_080824F8(Entity* this) {
|
||||
gUnk_0811F0A8[this->subAction](this);
|
||||
static void (*const subActionFuncs[])(Entity*) = {
|
||||
sub_08082510, nullsub_511, sub_08082588, sub_0808259C, sub_080825E8, sub_080825F0, sub_08082608,
|
||||
};
|
||||
subActionFuncs[this->subAction](this);
|
||||
}
|
||||
|
||||
void sub_08082510(Entity* this) {
|
||||
@@ -200,7 +221,10 @@ void sub_08082614(Entity* this) {
|
||||
}
|
||||
|
||||
void sub_080826E4(Entity* this) {
|
||||
gUnk_0811F0C4[this->subAction](this);
|
||||
static void (*const subActionFuncs[])(Entity*) = {
|
||||
sub_080826FC, sub_0808270C, sub_08082778, sub_080827F8, nullsub_512, sub_08082818,
|
||||
};
|
||||
subActionFuncs[this->subAction](this);
|
||||
}
|
||||
|
||||
void sub_080826FC(Entity* this) {
|
||||
|
||||
+16
-7
@@ -6,17 +6,24 @@
|
||||
#include "flags.h"
|
||||
#include "functions.h"
|
||||
|
||||
extern void sub_08085394(Entity*);
|
||||
extern void sub_0808543C(Entity*);
|
||||
extern u32 sub_080854A8(Entity*);
|
||||
|
||||
extern void (*const gUnk_081205D0[])(Entity*);
|
||||
void sub_08085394(Entity*);
|
||||
void sub_0808543C(Entity*);
|
||||
void sub_080851AC(Entity*);
|
||||
void sub_08085264(Entity*);
|
||||
void sub_080852B4(Entity*);
|
||||
void sub_08085308(Entity*);
|
||||
u32 sub_080854A8(Entity*);
|
||||
|
||||
extern s8 gUnk_080B4488[][2];
|
||||
extern u16 gUnk_081205E0[];
|
||||
|
||||
void Railtrack(Entity* this) {
|
||||
gUnk_081205D0[this->action](this);
|
||||
static void (*const actionFuncs[])(Entity*) = {
|
||||
sub_080851AC,
|
||||
sub_08085264,
|
||||
sub_080852B4,
|
||||
sub_08085308,
|
||||
};
|
||||
actionFuncs[this->action](this);
|
||||
}
|
||||
|
||||
void sub_080851AC(Entity* this) {
|
||||
@@ -101,6 +108,8 @@ void sub_08085308(Entity* this) {
|
||||
}
|
||||
}
|
||||
|
||||
static const u16 gUnk_081205E0[] = { 0x4018, 0x4019 };
|
||||
|
||||
void sub_08085394(Entity* this) {
|
||||
u32 uVar1;
|
||||
u16* layerData;
|
||||
|
||||
+132
-25
@@ -51,11 +51,15 @@ u32 sub_08080278();
|
||||
void sub_08080C80(u32*);
|
||||
void sub_08080368();
|
||||
void sub_08080B60(u8*);
|
||||
bool32 sub_08080794(const Transition* transition, u32 param_2, u32 param_3, u32 param_4);
|
||||
bool32 sub_08080808(const Transition* transition, u32 param_2, u32 param_3, u32 param_4);
|
||||
void sub_080808D8(s32);
|
||||
void sub_080808E4(s32);
|
||||
void sub_08080904(s32);
|
||||
void sub_08080910(s32);
|
||||
|
||||
extern u8 gMapDataTopSpecial[];
|
||||
|
||||
extern const void (*const gUnk_0811E7C4[])(int);
|
||||
|
||||
void UpdateScroll(void) {
|
||||
static void (*const gUnk_0811E768[])(RoomControls*) = {
|
||||
sub_0807FC64, sub_0807FC7C, sub_0807FDB0, NULL, sub_0807FEF0, sub_0807FF54,
|
||||
@@ -100,7 +104,7 @@ void sub_0807FDE4(RoomControls* controls) {
|
||||
void sub_0807FDF8(RoomControls* controls) {
|
||||
u32 bVar1;
|
||||
Entity* pEVar2;
|
||||
int iVar3;
|
||||
s32 iVar3;
|
||||
|
||||
gUpdateVisibleTiles = 2;
|
||||
controls->filler2[0]++;
|
||||
@@ -214,12 +218,12 @@ void sub_0807FFE4(RoomControls* controls) {
|
||||
}
|
||||
|
||||
void sub_08080040(RoomControls* controls) {
|
||||
int iVar2;
|
||||
int iVar3;
|
||||
int uVar5;
|
||||
int uVar6;
|
||||
int iVar7;
|
||||
int temp;
|
||||
s32 iVar2;
|
||||
s32 iVar3;
|
||||
s32 uVar5;
|
||||
s32 uVar6;
|
||||
s32 iVar7;
|
||||
s32 temp;
|
||||
|
||||
controls->filler2[0] -= 6;
|
||||
controls->filler2[1] = (controls->filler2[0] << 1) / 3;
|
||||
@@ -281,12 +285,12 @@ void sub_08080198(RoomControls* controls) {
|
||||
}
|
||||
|
||||
void sub_080801BC(RoomControls* controls) {
|
||||
int iVar2;
|
||||
int iVar3;
|
||||
int uVar5;
|
||||
int uVar6;
|
||||
int iVar7;
|
||||
int temp;
|
||||
s32 iVar2;
|
||||
s32 iVar3;
|
||||
s32 uVar5;
|
||||
s32 uVar6;
|
||||
s32 iVar7;
|
||||
s32 temp;
|
||||
|
||||
controls->filler2[0] += 6;
|
||||
controls->filler2[1] = (controls->filler2[0] << 1) / 3;
|
||||
@@ -357,15 +361,118 @@ void ClearTilemaps(void) {
|
||||
MemClear(&gMapDataTopSpecial, 0x8000);
|
||||
}
|
||||
|
||||
ASM_FUNC("asm/non_matching/scroll/sub_080806BC.inc", bool32 sub_080806BC(u32 a, u32 b, u32 c, u32 d))
|
||||
bool32 sub_080806BC(u32 param_1, u32 param_2, u32 param_3, u32 param_4) {
|
||||
static bool32 (*const gUnk_0811E7AC[])(const Transition*, u32, u32, u32) = {
|
||||
sub_08080794,
|
||||
sub_08080808,
|
||||
sub_08080794,
|
||||
sub_08080808,
|
||||
};
|
||||
u32 uVar1;
|
||||
s32 iVar2;
|
||||
const Transition* puVar3;
|
||||
|
||||
ASM_FUNC("asm/non_matching/scroll/sub_08080734.inc", void sub_08080734())
|
||||
puVar3 = (gArea.pCurrentRoomInfo->exits);
|
||||
while (*(u16*)puVar3 != 0xffff) {
|
||||
u32 uVar3 = *(u16*)puVar3;
|
||||
if ((((1 << uVar3) & param_4) != 0) && (gUnk_0811E7AC[uVar3](puVar3, param_1, param_2, param_3))) {
|
||||
DoExitTransition((const ScreenTransitionData*)puVar3);
|
||||
return 1;
|
||||
}
|
||||
puVar3++;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
ASM_FUNC("asm/non_matching/scroll/sub_08080794.inc", void sub_08080794())
|
||||
const Transition* sub_08080734(u32 param_1, u32 param_2) {
|
||||
u32 warpType;
|
||||
s32 iVar2;
|
||||
u32 uVar4;
|
||||
const Transition* puVar3;
|
||||
|
||||
ASM_FUNC("asm/non_matching/scroll/sub_08080808.inc", void sub_08080808())
|
||||
puVar3 = (gArea.pCurrentRoomInfo->exits);
|
||||
uVar4 = 10;
|
||||
while (*(u16*)puVar3 != 0xffff) {
|
||||
if ((((1 << *(u16*)puVar3) & uVar4) != 0) && (sub_08080808(puVar3, param_1, param_2, 0))) {
|
||||
return puVar3;
|
||||
}
|
||||
puVar3++;
|
||||
}
|
||||
return NULL;
|
||||
}
|
||||
|
||||
bool32 sub_08080794(const Transition* transition, u32 param_2, u32 param_3, u32 param_4) {
|
||||
u32 bVar1;
|
||||
|
||||
switch (param_4) {
|
||||
default:
|
||||
return 0;
|
||||
case 0:
|
||||
if (gRoomControls.width >> 1 < param_2) {
|
||||
bVar1 = 2;
|
||||
} else {
|
||||
bVar1 = 1;
|
||||
}
|
||||
break;
|
||||
case 1:
|
||||
if (gRoomControls.height >> 1 < param_3) {
|
||||
bVar1 = 8;
|
||||
} else {
|
||||
bVar1 = 4;
|
||||
}
|
||||
break;
|
||||
case 2:
|
||||
if (gRoomControls.width >> 1 < param_2) {
|
||||
bVar1 = 0x20;
|
||||
} else {
|
||||
bVar1 = 0x10;
|
||||
}
|
||||
break;
|
||||
case 3:
|
||||
if (gRoomControls.height >> 1 < param_3) {
|
||||
bVar1 = 0x80;
|
||||
} else {
|
||||
bVar1 = 0x40;
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
if ((transition->shape & bVar1) != 0) {
|
||||
return 1;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
bool32 sub_08080808(const Transition* param_1, u32 param_2, u32 param_3, u32 param_4) {
|
||||
static const u8 gUnk_0811E7BC[] = { 6, 6, 6, 14, 14, 6, 22, 6 };
|
||||
const u8* ptr;
|
||||
u32 temp;
|
||||
u32 temp2;
|
||||
u32 temp3;
|
||||
u32 temp4;
|
||||
ptr = &gUnk_0811E7BC[param_1->shape * 2];
|
||||
temp = ptr[0];
|
||||
temp2 = param_2 - param_1->startX;
|
||||
if ((temp2 + temp <= ptr[0] * 2)) {
|
||||
temp3 = ptr[1];
|
||||
temp4 = param_3 - param_1->startY;
|
||||
if (temp4 + temp3 <= ptr[1] * 2) {
|
||||
return TRUE;
|
||||
} else {
|
||||
return FALSE;
|
||||
}
|
||||
} else {
|
||||
return FALSE;
|
||||
}
|
||||
}
|
||||
|
||||
void DoExitTransition(const ScreenTransitionData* data) {
|
||||
static void (*const gUnk_0811E7C4[])(s32) = {
|
||||
sub_080808D8,
|
||||
sub_080808E4,
|
||||
sub_08080904,
|
||||
sub_08080910,
|
||||
};
|
||||
PlayerRoomStatus* status;
|
||||
gRoomTransition.transitioningOut = 1;
|
||||
status = &gRoomTransition.player_status;
|
||||
@@ -390,11 +497,11 @@ void DoExitTransition(const ScreenTransitionData* data) {
|
||||
gUnk_0811E7C4[data->type](data->field_0xa);
|
||||
}
|
||||
|
||||
void sub_080808D8(void) {
|
||||
void sub_080808D8(s32 param_1) {
|
||||
gRoomTransition.type = TRANSITION_DEFAULT;
|
||||
}
|
||||
|
||||
void sub_080808E4(void) {
|
||||
void sub_080808E4(s32 param_1) {
|
||||
if (CheckAreaOverworld(gRoomTransition.player_status.area_next)) {
|
||||
gRoomTransition.type = TRANSITION_DEFAULT;
|
||||
} else {
|
||||
@@ -402,11 +509,11 @@ void sub_080808E4(void) {
|
||||
}
|
||||
}
|
||||
|
||||
void sub_08080904(void) {
|
||||
void sub_08080904(s32 param_1) {
|
||||
gRoomTransition.type = TRANSITION_CUT;
|
||||
}
|
||||
|
||||
void sub_08080910(void) {
|
||||
void sub_08080910(s32 param_1) {
|
||||
gRoomTransition.type = TRANSITION_CUT;
|
||||
}
|
||||
|
||||
@@ -469,8 +576,8 @@ void sub_08080974(u32 arg0, u32 arg1) {
|
||||
}
|
||||
|
||||
void sub_080809D4(void) {
|
||||
int x, y;
|
||||
int var1, var0;
|
||||
s32 x, y;
|
||||
s32 var1, var0;
|
||||
RoomControls* roomControls = &gRoomControls;
|
||||
roomControls->scroll_flags &= ~4;
|
||||
|
||||
|
||||
+17
-17
@@ -33,7 +33,7 @@ void sub_0805F440(Token*, u8*);
|
||||
u32 sub_0805F6A4(Token*, WStruct*);
|
||||
u32 GetCharacter(Token* tok);
|
||||
u32 GetFontStrWith(Token*, u32);
|
||||
int sub_0805F67C(short*, int, int);
|
||||
s32 sub_0805F67C(short*, s32, s32);
|
||||
void sub_0805F918(u32, u32, void*);
|
||||
bool32 sub_0805F5CC(Font*, Token*, WStruct*);
|
||||
void sub_0805EEB4(Token*, u32);
|
||||
@@ -64,7 +64,7 @@ void sub_0805EEB4(Token* token, u32 textIndex) {
|
||||
u32 langIndex;
|
||||
u32* puVar2;
|
||||
u8* puVar5;
|
||||
int iVar3;
|
||||
s32 iVar3;
|
||||
u32 uVar4;
|
||||
u32 uVar6;
|
||||
u32 uVar7;
|
||||
@@ -76,7 +76,7 @@ void sub_0805EEB4(Token* token, u32 textIndex) {
|
||||
}
|
||||
puVar2 = gTranslations[langIndex];
|
||||
iVar3 = puVar2[(u8)(textIndex >> 8)];
|
||||
puVar2 = (u32*)((int)puVar2 + iVar3);
|
||||
puVar2 = (u32*)((s32)puVar2 + iVar3);
|
||||
iVar3 = puVar2[(u8)textIndex];
|
||||
uVar6 = *(gTranslations[langIndex]) >> 2;
|
||||
uVar7 = *puVar2 >> 2;
|
||||
@@ -84,7 +84,7 @@ void sub_0805EEB4(Token* token, u32 textIndex) {
|
||||
if (((token->textIndex >> 8) >= uVar6) || ((u8)token->textIndex >= uVar7)) {
|
||||
uVar4 = 1;
|
||||
} else {
|
||||
if (*(char*)((int)puVar2 + iVar3) == 0) {
|
||||
if (*(char*)((s32)puVar2 + iVar3) == 0) {
|
||||
uVar4 = 2;
|
||||
}
|
||||
}
|
||||
@@ -95,7 +95,7 @@ void sub_0805EEB4(Token* token, u32 textIndex) {
|
||||
iVar3 = 0;
|
||||
break;
|
||||
}
|
||||
puVar2 = (u32*)((int)puVar2 + iVar3);
|
||||
puVar2 = (u32*)((s32)puVar2 + iVar3);
|
||||
sub_0805EF40(token, (u8*)puVar2);
|
||||
}
|
||||
|
||||
@@ -134,7 +134,7 @@ u32 GetCharacter(Token* token) {
|
||||
u32 code;
|
||||
u32 uVar6;
|
||||
u8** ppuVar7;
|
||||
int iVar8;
|
||||
s32 iVar8;
|
||||
|
||||
do {
|
||||
code = sub_0805EF8C(token);
|
||||
@@ -358,8 +358,8 @@ u32 GetFontStrWith(Token* param_1, u32 param_2) {
|
||||
u32 rv;
|
||||
u32 r9;
|
||||
Token token;
|
||||
int local_28;
|
||||
int local_24;
|
||||
s32 local_28;
|
||||
s32 local_24;
|
||||
|
||||
MemCopy(param_1, &token, sizeof(Token));
|
||||
local_24 = 0;
|
||||
@@ -430,7 +430,7 @@ void sub_0805F440(Token* param_1, u8* param_2) {
|
||||
}
|
||||
}
|
||||
|
||||
u32 sub_0805F46C(u32 param_1, Font* param_2) {
|
||||
u32 sub_0805F46C(u32 param_1, const Font* param_2) {
|
||||
u32 uVar1;
|
||||
WStruct* pWVar4;
|
||||
u32 uVar5;
|
||||
@@ -457,9 +457,9 @@ u32 sub_0805F46C(u32 param_1, Font* param_2) {
|
||||
pWVar4->bgColor = font.fill_type;
|
||||
if (font.draw_border) {
|
||||
sub_0805F918(font.border_type, font.fill_type, font.gfx_dest);
|
||||
font.gfx_dest = (void*)((int)font.gfx_dest + 0xe0);
|
||||
font.gfx_dest = (void*)((s32)font.gfx_dest + 0xe0);
|
||||
fontStr = GetFontStrWith(&token, 1);
|
||||
iVar10 = (fontStr >> 0x18) * (u32)font._16 + ((u8)((int)fontStr >> 0x10) << 1);
|
||||
iVar10 = (fontStr >> 0x18) * (u32)font._16 + ((u8)((s32)fontStr >> 0x10) << 1);
|
||||
uVar8 = (u16)fontStr;
|
||||
temp3 = uVar8;
|
||||
if (font.width < (s32)temp3) {
|
||||
@@ -487,7 +487,7 @@ u32 sub_0805F46C(u32 param_1, Font* param_2) {
|
||||
while (iVar10-- > 0) {
|
||||
puVar9 += 0x20;
|
||||
puVar6 = puVar9;
|
||||
for (uVar5 = uVar8; (int)uVar5-- > 0;) {
|
||||
for (uVar5 = uVar8; (s32)uVar5-- > 0;) {
|
||||
*puVar6++ = param_1;
|
||||
}
|
||||
}
|
||||
@@ -502,7 +502,7 @@ u32 sub_0805F46C(u32 param_1, Font* param_2) {
|
||||
bool32 sub_0805F5CC(Font* param_1, Token* param_2, WStruct* param_3) {
|
||||
u16 uVar2;
|
||||
u32 uVar3;
|
||||
int iVar4;
|
||||
s32 iVar4;
|
||||
u16* puVar5;
|
||||
u32 fontStr;
|
||||
|
||||
@@ -513,7 +513,7 @@ bool32 sub_0805F5CC(Font* param_1, Token* param_2, WStruct* param_3) {
|
||||
|
||||
puVar5 = (u16*)sub_0805F6A4(param_2, param_3);
|
||||
if (puVar5) {
|
||||
iVar4 = (int)(param_3->unk6 + 7) / 8;
|
||||
iVar4 = (s32)(param_3->unk6 + 7) / 8;
|
||||
puVar5 = param_1->dest;
|
||||
if (param_1->right_align) {
|
||||
puVar5 -= (iVar4 + 1U) >> 1;
|
||||
@@ -522,7 +522,7 @@ bool32 sub_0805F5CC(Font* param_1, Token* param_2, WStruct* param_3) {
|
||||
param_1->dest += 0x40;
|
||||
iVar4 *= 0x40;
|
||||
MemCopy(param_1->buffer_loc, param_1->gfx_dest, iVar4);
|
||||
param_1->gfx_dest = (void*)((int)param_1->gfx_dest + iVar4);
|
||||
param_1->gfx_dest = (void*)((s32)param_1->gfx_dest + iVar4);
|
||||
} else {
|
||||
if (param_2->code == 10) {
|
||||
param_1->dest += param_1->_16 * 0x20;
|
||||
@@ -531,7 +531,7 @@ bool32 sub_0805F5CC(Font* param_1, Token* param_2, WStruct* param_3) {
|
||||
return param_2->code > 0;
|
||||
}
|
||||
|
||||
int sub_0805F67C(short* param_1, int param_2, int param_3) {
|
||||
s32 sub_0805F67C(short* param_1, s32 param_2, s32 param_3) {
|
||||
for (param_3--; param_3 != -1; param_3--) {
|
||||
param_1[0] = param_2++;
|
||||
param_1[0x20] = param_2++;
|
||||
@@ -543,7 +543,7 @@ int sub_0805F67C(short* param_1, int param_2, int param_3) {
|
||||
u32 sub_0805F6A4(Token* param_1, WStruct* param_2) {
|
||||
u32 uVar1;
|
||||
u32 uVar3;
|
||||
int iVar4;
|
||||
s32 iVar4;
|
||||
u32 r7;
|
||||
|
||||
iVar4 = 0;
|
||||
|
||||
Reference in New Issue
Block a user