begin rem

This commit is contained in:
theo3 2020-06-15 21:19:18 -07:00
parent ebe4a20bf7
commit d92be5f9cc
38 changed files with 252 additions and 278 deletions

View File

@ -44,7 +44,7 @@ sub_080632E0: @ 0x080632E0
push {r4, lr}
adds r4, r0, #0
ldr r1, _08063310 @ =gUnk_0810C8D4
bl sub_0806FDEC
bl LoadExtraSpriteData
cmp r0, #0
beq _0806330E
adds r0, r4, #0
@ -205,7 +205,7 @@ sub_08063410: @ 0x08063410
cmp r5, #0
bne _08063442
ldr r1, _08063464 @ =gUnk_0810C8D4
bl sub_0806FDEC
bl LoadExtraSpriteData
cmp r0, #0
beq _08063462
ldrb r0, [r4, #0xc]

View File

@ -35,7 +35,7 @@ _0806717E:
ldr r0, _080671EC @ =gUnk_08110CA8
adds r1, r1, r0
adds r0, r4, #0
bl sub_0806FDEC
bl LoadExtraSpriteData
cmp r0, #0
beq _08067224
movs r0, #1
@ -247,7 +247,7 @@ sub_0806732C: @ 0x0806732C
ldr r0, _08067374 @ =gUnk_08110CA8
adds r1, r1, r0
adds r0, r4, #0
bl sub_0806FDEC
bl LoadExtraSpriteData
cmp r0, #0
beq _0806737E
ldrb r0, [r4, #0xc]

View File

@ -93,7 +93,7 @@ _0806458A:
ldr r0, _080645D0 @ =gUnk_0810F874
adds r1, r1, r0
adds r0, r4, #0
bl sub_0806FDEC
bl LoadExtraSpriteData
cmp r0, #0
beq _0806463C
ldrb r0, [r4, #0xc]

View File

@ -515,8 +515,8 @@ _0806FDDC:
_0806FDEA:
pop {r4, pc}
thumb_func_start sub_0806FDEC
sub_0806FDEC: @ 0x0806FDEC
thumb_func_start LoadExtraSpriteData
LoadExtraSpriteData: @ 0x0806FDEC
push {r4, r5, r6, r7, lr}
mov r7, r8
push {r7}

View File

@ -517,7 +517,7 @@ sub_08069EF0: @ 0x08069EF0
ldr r0, _08069F20 @ =gUnk_08111D58
adds r1, r1, r0
adds r0, r4, #0
bl sub_0806FDEC
bl LoadExtraSpriteData
cmp r0, #0
beq _08069F28
movs r0, #1

View File

@ -21,7 +21,7 @@ sub_0806BBE4: @ 0x0806BBE4
ldr r0, _0806BC28 @ =gUnk_08113140
adds r1, r1, r0
adds r0, r4, #0
bl sub_0806FDEC
bl LoadExtraSpriteData
cmp r0, #0
beq _0806BC54
ldrb r0, [r4, #0xc]
@ -174,7 +174,7 @@ sub_0806BCFC: @ 0x0806BCFC
ldr r0, _0806BD48 @ =gUnk_08113140
adds r1, r1, r0
adds r0, r4, #0
bl sub_0806FDEC
bl LoadExtraSpriteData
cmp r0, #0
beq _0806BD52
ldrb r0, [r4, #0xc]

View File

@ -25,7 +25,7 @@ _0805FFEC:
_0805FFF2:
ldr r1, _0806003C @ =gUnk_0810A348
adds r0, r4, #0
bl sub_0806FDEC
bl LoadExtraSpriteData
cmp r0, #0
beq _0806008C
movs r2, #1
@ -532,7 +532,7 @@ sub_080603B4: @ 0x080603B4
bne _080603F4
ldr r1, _080603F0 @ =gUnk_0810A348
adds r0, r4, #0
bl sub_0806FDEC
bl LoadExtraSpriteData
cmp r0, #0
beq _080603FA
ldrb r0, [r4, #0xc]

View File

@ -48,7 +48,7 @@ sub_080697C4: @ 0x080697C4
push {r4, lr}
adds r4, r0, #0
ldr r1, _080697E8 @ =gUnk_08111C3C
bl sub_0806FDEC
bl LoadExtraSpriteData
cmp r0, #0
beq _080697E4
movs r0, #1
@ -112,7 +112,7 @@ sub_08069838: @ 0x08069838
cmp r5, #0
bne _08069862
ldr r1, _08069884 @ =gUnk_08111C3C
bl sub_0806FDEC
bl LoadExtraSpriteData
cmp r0, #0
beq _08069880
ldrb r0, [r4, #0xc]

View File

@ -67,7 +67,7 @@ sub_08063D44: @ 0x08063D44
ldr r0, _08063DA4 @ =gUnk_0810F524
adds r1, r1, r0
adds r0, r4, #0
bl sub_0806FDEC
bl LoadExtraSpriteData
cmp r0, #0
beq _08063DC6
adds r0, r4, #0
@ -228,7 +228,7 @@ sub_08063E90: @ 0x08063E90
ldr r0, _08063EC8 @ =gUnk_0810F524
adds r1, r1, r0
adds r0, r4, #0
bl sub_0806FDEC
bl LoadExtraSpriteData
cmp r0, #0
beq _08063F1E
ldrb r0, [r4, #0xc]

View File

@ -25,7 +25,7 @@ _0806E31C:
_0806E322:
ldr r1, _0806E348 @ =gUnk_081144F0
adds r0, r4, #0
bl sub_0806FDEC
bl LoadExtraSpriteData
cmp r0, #0
beq _0806E3E0
movs r0, #1
@ -180,7 +180,7 @@ sub_0806E458: @ 0x0806E458
bne _0806E498
ldr r1, _0806E494 @ =gUnk_081144F0
adds r0, r4, #0
bl sub_0806FDEC
bl LoadExtraSpriteData
cmp r0, #0
beq _0806E49E
ldrb r0, [r4, #0xc]

View File

@ -42,7 +42,7 @@ sub_080620F4: @ 0x080620F4
adds r0, r0, r1
ldr r1, [r0]
adds r0, r4, #0
bl sub_0806FDEC
bl LoadExtraSpriteData
cmp r0, #0
beq _0806212A
movs r1, #0
@ -158,7 +158,7 @@ _080621CE:
adds r0, r0, r1
ldr r1, [r0]
adds r0, r4, #0
bl sub_0806FDEC
bl LoadExtraSpriteData
cmp r0, #0
bne _080621E4
b _080622F2
@ -1262,7 +1262,7 @@ sub_08062A60: @ 0x08062A60
adds r0, r0, r1
ldr r1, [r0]
adds r0, r4, #0
bl sub_0806FDEC
bl LoadExtraSpriteData
cmp r0, #0
beq _08062AB6
ldrb r0, [r4, #0xc]

View File

@ -102,7 +102,7 @@ sub_0806C454: @ 0x0806C454
push {r4, lr}
adds r4, r0, #0
ldr r1, _0806C470 @ =gUnk_08113754
bl sub_0806FDEC
bl LoadExtraSpriteData
cmp r0, #0
beq _0806C474
adds r0, r4, #0

View File

@ -39,7 +39,7 @@ sub_08068708: @ 0x08068708
push {r4, lr}
adds r4, r0, #0
ldr r1, _0806872C @ =gUnk_08111520
bl sub_0806FDEC
bl LoadExtraSpriteData
cmp r0, #0
beq _08068728
movs r0, #1
@ -116,7 +116,7 @@ _08068794:
_0806879A:
ldr r1, _080687CC @ =gUnk_08111520
adds r0, r5, #0
bl sub_0806FDEC
bl LoadExtraSpriteData
cmp r0, #0
beq _0806887A
movs r2, #1
@ -355,7 +355,7 @@ sub_0806897C: @ 0x0806897C
bne _080689B4
ldr r1, _080689B0 @ =gUnk_08111520
adds r0, r4, #0
bl sub_0806FDEC
bl LoadExtraSpriteData
cmp r0, #0
beq _080689BA
ldrb r0, [r4, #0xc]

View File

@ -16,7 +16,7 @@ sub_08062F70: @ 0x08062F70
bne _08062FA0
ldr r1, _08062FE8 @ =gUnk_0810C48C
adds r0, r4, #0
bl sub_0806FDEC
bl LoadExtraSpriteData
cmp r0, #0
beq _08062FE4
ldrb r0, [r4, #0xc]

View File

@ -39,7 +39,7 @@ sub_08067E60: @ 0x08067E60
push {r4, lr}
adds r4, r0, #0
ldr r1, _08067E84 @ =gUnk_08111358
bl sub_0806FDEC
bl LoadExtraSpriteData
cmp r0, #0
beq _08067E80
movs r0, #1
@ -136,7 +136,7 @@ _08067F0E:
_08067F10:
ldr r1, _08067F50 @ =gUnk_08111358
adds r0, r5, #0
bl sub_0806FDEC
bl LoadExtraSpriteData
cmp r0, #0
bne _08067F1E
b _080680F0
@ -561,7 +561,7 @@ sub_08068270: @ 0x08068270
bne _080682A8
ldr r1, _080682A4 @ =gUnk_08111358
adds r0, r4, #0
bl sub_0806FDEC
bl LoadExtraSpriteData
cmp r0, #0
beq _080682AE
ldrb r0, [r4, #0xc]

View File

@ -32,7 +32,7 @@ _08066FF8:
_08066FFE:
ldr r1, _0806702C @ =gUnk_08110C00
adds r0, r4, #0
bl sub_0806FDEC
bl LoadExtraSpriteData
cmp r0, #0
beq _0806707C
movs r2, #1
@ -176,7 +176,7 @@ sub_08067118: @ 0x08067118
bne _08067150
ldr r1, _0806714C @ =gUnk_08110C00
adds r0, r4, #0
bl sub_0806FDEC
bl LoadExtraSpriteData
cmp r0, #0
beq _08067156
ldrb r0, [r4, #0xc]

View File

@ -0,0 +1,43 @@
.include "asm/macros.inc"
.include "constants/constants.inc"
.syntax unified
.text
push {r4, r5, lr}
adds r5, r0, #0
movs r0, #0xf
movs r1, #0x2f
movs r2, #0
bl CreateObject
adds r4, r0, #0
cmp r4, #0
beq _0806A2AE
adds r0, r5, #0
adds r1, r4, #0
bl sub_0806FA30
bl Random
adds r5, r0, #0
ldr r2, _0806A2B0 @ =gUnk_081121DC
movs r1, #7
ands r0, r1
adds r0, r0, r2
ldrb r0, [r0]
adds r3, r4, #0
adds r3, #0x62
strb r0, [r3]
lsrs r0, r5, #8
ands r0, r1
adds r0, r0, r2
ldrb r0, [r0]
subs r0, #8
adds r1, r4, #0
adds r1, #0x63
strb r0, [r1]
_0806A2AE:
pop {r4, r5, pc}
.align 2, 0
_0806A2B0: .4byte gUnk_081121DC
.syntax divided

View File

@ -15,7 +15,7 @@ sub_0806EAF4: @ 0x0806EAF4
bne _0806EB48
ldr r1, _0806EBA0 @ =gUnk_081146D0
adds r0, r6, #0
bl sub_0806FDEC
bl LoadExtraSpriteData
cmp r0, #0
beq _0806EBA8
ldrb r0, [r6, #0xc]

View File

@ -35,7 +35,7 @@ sub_0806B3CC: @ 0x0806B3CC
bne _0806B3F4
ldr r1, _0806B418 @ =gUnk_08112E1C
adds r0, r4, #0
bl sub_0806FDEC
bl LoadExtraSpriteData
cmp r0, #0
beq _0806B414
movs r0, #1
@ -84,7 +84,7 @@ _0806B430:
_0806B436:
ldr r1, _0806B46C @ =gUnk_08112E1C
adds r0, r4, #0
bl sub_0806FDEC
bl LoadExtraSpriteData
cmp r0, #0
beq _0806B4EC
movs r2, #1
@ -335,7 +335,7 @@ sub_0806B624: @ 0x0806B624
bne _0806B65C
ldr r1, _0806B658 @ =gUnk_08112E1C
adds r0, r4, #0
bl sub_0806FDEC
bl LoadExtraSpriteData
cmp r0, #0
beq _0806B662
ldrb r0, [r4, #0xc]

View File

@ -6,68 +6,6 @@
.text
thumb_func_start sub_0806A358
sub_0806A358: @ 0x0806A358
push {lr}
ldr r2, _0806A36C @ =gUnk_08112260
ldrb r1, [r0, #0xa]
lsls r1, r1, #2
adds r1, r1, r2
ldr r1, [r1]
bl _call_via_r1
pop {pc}
.align 2, 0
_0806A36C: .4byte gUnk_08112260
thumb_func_start sub_0806A370
sub_0806A370: @ 0x0806A370
push {r4, lr}
adds r4, r0, #0
ldr r1, _0806A3D0 @ =gUnk_08112278
ldrb r0, [r4, #0xc]
lsls r0, r0, #2
adds r0, r0, r1
ldr r1, [r0]
adds r0, r4, #0
bl _call_via_r1
adds r0, r4, #0
movs r1, #0
bl sub_0807DDAC
adds r0, r4, #0
bl sub_0807DDE4
adds r0, r4, #0
bl UpdateAnimationSingleFrame
adds r0, r4, #0
bl sub_0806ED78
adds r0, r4, #0
adds r0, #0x58
ldrb r0, [r0]
cmp r0, #0xf
bne _0806A3CC
adds r4, #0x5a
ldrb r0, [r4]
cmp r0, #1
bne _0806A3BC
movs r0, #0
strb r0, [r4]
movs r0, #0x86
lsls r0, r0, #2
bl PlaySFX
_0806A3BC:
ldrb r0, [r4]
cmp r0, #2
bne _0806A3CC
movs r0, #0
strb r0, [r4]
ldr r0, _0806A3D4 @ =0x00000219
bl PlaySFX
_0806A3CC:
pop {r4, pc}
.align 2, 0
_0806A3D0: .4byte gUnk_08112278
_0806A3D4: .4byte 0x00000219
thumb_func_start sub_0806A3D8
sub_0806A3D8: @ 0x0806A3D8
push {r4, lr}

View File

@ -31,7 +31,7 @@ sub_08063758: @ 0x08063758
ldr r0, _08063794 @ =gUnk_0810CB78
adds r1, r1, r0
adds r0, r4, #0
bl sub_0806FDEC
bl LoadExtraSpriteData
cmp r0, #0
beq _080637B4
movs r2, #1
@ -365,7 +365,7 @@ sub_080639E8: @ 0x080639E8
ldr r0, _08063A3C @ =gUnk_0810CB78
adds r1, r1, r0
adds r0, r4, #0
bl sub_0806FDEC
bl LoadExtraSpriteData
cmp r0, #0
beq _08063A5C
ldrb r0, [r4, #0xc]

View File

@ -159,7 +159,7 @@ sub_080660EC: @ 0x080660EC
push {r4, lr}
adds r4, r0, #0
ldr r1, _08066114 @ =gUnk_08110354
bl sub_0806FDEC
bl LoadExtraSpriteData
cmp r0, #0
beq _08066112
movs r0, #1
@ -237,7 +237,7 @@ sub_08066178: @ 0x08066178
push {r4, lr}
adds r4, r0, #0
ldr r1, _080661AC @ =gUnk_08110354
bl sub_0806FDEC
bl LoadExtraSpriteData
cmp r0, #0
beq _080661A8
movs r2, #1
@ -399,7 +399,7 @@ sub_08066298: @ 0x08066298
bne _080662D0
ldr r1, _080662CC @ =gUnk_08110354
adds r0, r4, #0
bl sub_0806FDEC
bl LoadExtraSpriteData
cmp r0, #0
beq _080662D6
ldrb r0, [r4, #0xc]

View File

@ -35,7 +35,7 @@ _08064ABC:
bne _08064AE4
ldr r1, _08064AE0 @ =gUnk_0810FA38
adds r0, r4, #0
bl sub_0806FDEC
bl LoadExtraSpriteData
cmp r0, #0
beq _08064B42
movs r0, #1
@ -97,7 +97,7 @@ sub_08064B44: @ 0x08064B44
push {r4, lr}
adds r4, r0, #0
ldr r1, _08064B80 @ =gUnk_0810FA38
bl sub_0806FDEC
bl LoadExtraSpriteData
cmp r0, #0
beq _08064B7E
adds r0, r4, #0
@ -349,7 +349,7 @@ sub_08064D18: @ 0x08064D18
bne _08064D50
ldr r1, _08064D4C @ =gUnk_0810FA38
adds r0, r4, #0
bl sub_0806FDEC
bl LoadExtraSpriteData
cmp r0, #0
beq _08064D56
ldrb r0, [r4, #0xc]

View File

@ -6,121 +6,6 @@
.text
thumb_func_start sub_0806A1D8
sub_0806A1D8: @ 0x0806A1D8
push {r4, lr}
adds r4, r0, #0
ldr r1, _0806A1F4 @ =gUnk_081121D4
ldrb r0, [r4, #0xc]
lsls r0, r0, #2
adds r0, r0, r1
ldr r1, [r0]
adds r0, r4, #0
bl _call_via_r1
adds r0, r4, #0
bl sub_0806ED78
pop {r4, pc}
.align 2, 0
_0806A1F4: .4byte gUnk_081121D4
thumb_func_start sub_0806A1F8
sub_0806A1F8: @ 0x0806A1F8
push {r4, lr}
adds r4, r0, #0
ldrb r0, [r4, #0xa]
ldr r1, _0806A22C @ =gUnk_081121C4
cmp r0, #0
bne _0806A206
ldr r1, _0806A230 @ =gUnk_081121B4
_0806A206:
adds r0, r4, #0
bl sub_0806FDEC
cmp r0, #0
beq _0806A22A
movs r0, #1
strb r0, [r4, #0xc]
adds r0, r4, #0
movs r1, #2
bl sub_0805E3A0
adds r0, r4, #0
bl sub_0807DD50
adds r0, r4, #0
movs r1, #0
bl InitializeAnimation
_0806A22A:
pop {r4, pc}
.align 2, 0
_0806A22C: .4byte gUnk_081121C4
_0806A230: .4byte gUnk_081121B4
thumb_func_start sub_0806A234
sub_0806A234: @ 0x0806A234
push {r4, lr}
adds r4, r0, #0
movs r1, #0
bl sub_0807DD94
adds r0, r4, #0
adds r0, #0x82
ldrh r1, [r0]
movs r0, #4
ands r0, r1
cmp r0, #0
beq _0806A266
ldr r0, _0806A268 @ =gUnk_030010A0
ldr r0, [r0]
movs r1, #7
ands r0, r1
cmp r0, #0
bne _0806A25E
adds r0, r4, #0
bl sub_0806A26C
_0806A25E:
adds r0, r4, #0
movs r1, #2
bl sub_080042BA
_0806A266:
pop {r4, pc}
.align 2, 0
_0806A268: .4byte gUnk_030010A0
thumb_func_start sub_0806A26C
sub_0806A26C: @ 0x0806A26C
push {r4, r5, lr}
adds r5, r0, #0
movs r0, #0xf
movs r1, #0x2f
movs r2, #0
bl CreateObject
adds r4, r0, #0
cmp r4, #0
beq _0806A2AE
adds r0, r5, #0
adds r1, r4, #0
bl sub_0806FA30
bl Random
adds r5, r0, #0
ldr r2, _0806A2B0 @ =gUnk_081121DC
movs r1, #7
ands r0, r1
adds r0, r0, r2
ldrb r0, [r0]
adds r3, r4, #0
adds r3, #0x62
strb r0, [r3]
lsrs r0, r5, #8
ands r0, r1
adds r0, r0, r2
ldrb r0, [r0]
subs r0, #8
adds r1, r4, #0
adds r1, #0x63
strb r0, [r1]
_0806A2AE:
pop {r4, r5, pc}
.align 2, 0
_0806A2B0: .4byte gUnk_081121DC
thumb_func_start sub_0806A2B4
sub_0806A2B4: @ 0x0806A2B4
push {r4, r5, r6, lr}

View File

@ -29,7 +29,7 @@ _0806C5C2:
ldr r0, _0806C600 @ =gUnk_08113910
adds r1, r1, r0
adds r0, r5, #0
bl sub_0806FDEC
bl LoadExtraSpriteData
cmp r0, #0
beq _0806C670
movs r2, #1
@ -214,7 +214,7 @@ sub_0806C738: @ 0x0806C738
ldr r0, _0806C774 @ =gUnk_08113910
adds r1, r1, r0
adds r0, r4, #0
bl sub_0806FDEC
bl LoadExtraSpriteData
cmp r0, #0
beq _0806C77E
ldrb r0, [r4, #0xc]

View File

@ -103,7 +103,7 @@ _0806ACE4:
ldr r0, _0806AD24 @ =gUnk_08112674
adds r1, r1, r0
adds r0, r4, #0
bl sub_0806FDEC
bl LoadExtraSpriteData
cmp r0, #0
bne _0806ACF8
b _0806ADFA
@ -714,7 +714,7 @@ sub_0806B184: @ 0x0806B184
ldr r0, _0806B1C0 @ =gUnk_08112674
adds r1, r1, r0
adds r0, r4, #0
bl sub_0806FDEC
bl LoadExtraSpriteData
cmp r0, #0
beq _0806B1CA
ldrb r0, [r4, #0xc]

View File

@ -49,7 +49,7 @@ sub_08061BC8: @ 0x08061BC8
adds r0, r0, r1
ldr r1, [r0]
adds r0, r4, #0
bl sub_0806FDEC
bl LoadExtraSpriteData
cmp r0, #0
beq _08061BF8
movs r0, #2
@ -199,7 +199,7 @@ sub_08061CEC: @ 0x08061CEC
adds r0, r0, r1
ldr r1, [r0]
adds r0, r4, #0
bl sub_0806FDEC
bl LoadExtraSpriteData
cmp r0, #0
beq _08061D62
movs r2, #1
@ -687,7 +687,7 @@ sub_08062088: @ 0x08062088
adds r0, r0, r1
ldr r1, [r0]
adds r0, r4, #0
bl sub_0806FDEC
bl LoadExtraSpriteData
cmp r0, #0
beq _080620C2
ldrb r0, [r4, #0xc]

View File

@ -29,7 +29,7 @@ sub_0806C798: @ 0x0806C798
ldr r0, _0806C7D0 @ =gUnk_08113A1C
adds r1, r1, r0
adds r0, r4, #0
bl sub_0806FDEC
bl LoadExtraSpriteData
cmp r0, #0
beq _0806C7CE
movs r2, #1
@ -433,7 +433,7 @@ sub_0806CA94: @ 0x0806CA94
ldr r0, _0806CAD0 @ =gUnk_08113A1C
adds r1, r1, r0
adds r0, r4, #0
bl sub_0806FDEC
bl LoadExtraSpriteData
cmp r0, #0
beq _0806CADA
ldrb r0, [r4, #0xc]

View File

@ -12,17 +12,19 @@ extern void UpdateSpriteOrderAndFlip(Entity*);
extern void InitAnimationForceUpdate(Entity*, u32);
extern void ShowNPCDialogue(Entity*, u32*);
extern u32 UpdateFuseInteraction();
extern void CopyPosition(Entity*, Entity*);
extern void PositionRelative(Entity*, Entity*, u32, u32);
extern void InitializeAnimation(Entity*, u32);
extern void DeleteEntity(Entity*);
extern u32 __modsi3(u32, u32);
extern void DoFade(u32, u32);
extern void UpdateAnimationSingleFrame(Entity*);
extern u32 GetInventoryValue(u32);
extern void TextboxNoOverlapFollow(u32 index);
extern Entity* CreateFx(Entity*, u32, u32);
extern u32 CheckKinstoneFused(u32);
extern void ForceEquipItem(u8, u8);
extern void LoadRoomEntityList();
void ModHealth(s32);
void PositionRelative(Entity*, Entity*, u32, u32);
void CopyPosition(Entity*, Entity*);
// Unidentified
extern void sub_0806ED78(Entity*);
@ -56,7 +58,7 @@ extern void sub_0807DD50(Entity*);
extern void sub_0807DD94(Entity*, u32);
extern Entity* sub_0805EB00(u32, u32, u32);
extern Entity* sub_0805EB2C(u32, u32, u32, u32, u32);
extern u32 sub_0806FDEC(Entity*, u32*);
extern u32 LoadExtraSpriteData(Entity*, u32*);
extern s32 sub_0806ED9C(Entity*, u32, u32);
extern s32* sub_0807DAD0(Entity*, u8*);
extern void sub_0806FF60(Entity*, u32, u32);
@ -65,4 +67,20 @@ extern void sub_0807000C(Entity*);
extern void sub_0805E47C(Entity*);
extern void sub_0805E584(Entity*);
extern void sub_0806FAB0(Entity*, Entity*);
extern void sub_0806ED78(Entity*);
extern void sub_08068BEC(Entity*, u32);
extern void sub_08078778(Entity*);
extern s32 sub_0806ED9C(Entity*, u32, u32);
extern s32 sub_0806F078(Entity*, s32);
extern void sub_08004274(Entity*);
extern void sub_0801D2B4(Entity*, u32);
extern void sub_0806FD3C(Entity*);
extern u32 sub_0801E99C(Entity*);
extern void sub_0807DD50(Entity*);
extern u32 sub_080045C4(Entity*, Entity*);
extern void sub_0806F118(Entity*);
extern void sub_0807DD94(Entity*, u32);
extern void sub_0805ED14(u32*);
extern void sub_080A7C18(u32, u32, u32);
extern void sub_08068BEC(Entity*, u32);
#endif

View File

@ -8,6 +8,6 @@ typedef struct {
u16 palette;
u8 animIndex;
u8 unk;
} SpriteLoadThing;
} SpriteLoadData;
#endif

View File

@ -20,4 +20,5 @@ extern TextBox gTextBox;
void TextboxNoOverlap(u32 index, Entity* ent);
void extern TextboxNoOverlapFollow(u32 index);
#endif

View File

@ -516,7 +516,9 @@ SECTIONS {
asm/goronMerchant.o(.text);
asm/gorman.o(.text);
asm/dog.o(.text);
src/syrup.o(.text);
asm/syrup.o(.text);
src/rem.o(.text);
asm/rem.o(.text);
src/townMinish.o(.text);
asm/townMinish.o(.text);

View File

@ -1,7 +1,11 @@
#include "global.h"
#include "entity.h"
#include "functions.h"
#include "flags.h"
#include "link.h"
#include "room.h"
#include "textbox.h"
typedef struct {
/*0x00*/ u8 filler[0x2C];
/*0x2C*/ u8 unk;
@ -12,39 +16,6 @@ typedef struct {
Stats stats;
} struct_02002A40;
extern void sub_0806ED78(Entity*);
extern void sub_08068BEC(Entity*, u32);
extern void sub_08078778(Entity*);
extern void InitializeAnimation(Entity*, u32);
extern s32 sub_0806ED9C(Entity*, u32, u32);
extern s32 sub_0806F078(Entity*, s32);
extern void sub_08004274(Entity*);
extern void TextboxNoOverlapFollow(u32);
extern void sub_0801D2B4(Entity*, u32);
extern void sub_0806FD3C(Entity*);
extern u32 sub_0801E99C(Entity*);
extern void sub_08078784(Entity*, u8);
extern void sub_0807DD50(Entity*);
extern void sub_080045C4(Entity*, Entity*);
extern u32 sub_0806F5A4(void);
extern void InitAnimationForceUpdate(Entity*, u32);
extern void sub_0806F118(Entity*);
extern void sub_0807DD94(Entity*, u32);
extern u32 UpdateFuseInteraction();
extern void ForceEquipItem(u8, u8);
extern void sub_0805ED14(u32*);
extern Entity* CreateFx(Entity*, u32, u32);
extern void PositionRelative(Entity*, Entity*, u32, u32);
extern void PlaySFX(u32);
extern u32 GetInventoryValue(u32);
extern void sub_080A7C18(u32, u32, u32);
extern u32 CheckLocalFlag(u32);
extern void TextboxNoOverlap(u32, Entity*);
extern void LoadRoomEntityList();
extern void ModHealth(s32);
extern void InitAnimationForceUpdate(Entity*, u32);
extern void UpdateAnimationSingleFrame(Entity*);
extern void sub_08068BEC(Entity*, u32);
extern void (*gUnk_081115C0[])(Entity*);
extern void (*gUnk_081115D0[])(Entity*);
@ -164,8 +135,7 @@ void FUN_08068b2c(Entity* this) {
if (this->interactType == '\x02') {
this->action = 2;
this->interactType = '\0';
sub_080045C4(this, &gLinkEntity);
uVar1 = sub_0806F5A4();
uVar1 = sub_0806F5A4(sub_080045C4(this, &gLinkEntity));
InitAnimationForceUpdate(this, uVar1);
sub_0806F118(this);
} else {
@ -347,18 +317,22 @@ switchD_08068d12_caseD_0:
*(u32*)&param_2->animationState = 1;
}
//Introduction dialoague
void sub_08068DB8(Entity* this) {
TextboxNoOverlap(gUnk_08111664[this->parameter3], this);
}
//Ask to teach dialoague
void sub_08068DD0(Entity* this) {
TextboxNoOverlap(gUnk_0811167A[this->parameter3], this);
}
//Technique Dialogue
void sub_08068DE8(Entity* this) {
TextboxNoOverlap(gUnk_08111690[this->parameter3], this);
}
//Posession dialogue
void sub_08068E00(Entity* this) {
TextboxNoOverlap(gUnk_081116A6[this->parameter3], this);
}

View File

@ -1,7 +1,6 @@
#include "global.h"
#include "entity.h"
#include "room.h"
extern void sub_080A2CC0();
extern void sub_0806F69C();
extern void sub_08004488();
@ -20,7 +19,7 @@ void BladeTrap(Entity* ent) {
if ((ent->direction & 0x80) == 0) {
sub_0806F69C(ent);
}
(u32) puVar3 = &(ent->heldObjectPtr);
puVar3 = (u16*)&(ent->heldObjectPtr);
uVar1 = *puVar3;
*puVar3 = uVar1 - 1;
if ((u16)(*puVar3) == 0) {

37
src/rem.c Normal file
View File

@ -0,0 +1,37 @@
#include "global.h"
#include "functions.h"
#include "entity.h"
extern void sub_0807DDAC(Entity*, u32);
extern void sub_0807DDE4(Entity*);
extern void UpdateAnimationSingleFrame(Entity*);
extern void sub_0806ED78(Entity*);
extern void PlaySFX(u32);
extern void (*gUnk_08112260[])(Entity*);
extern void (*gUnk_08112278[])(Entity*);
void sub_0806A358(Entity* this) {
gUnk_08112260[this->entityType.parameter1](this);
}
void sub_0806a370(Entity* this) {
u8* pbVar1;
gUnk_08112278[this->action](this);
sub_0807DDAC(this, 0);
sub_0807DDE4(this);
UpdateAnimationSingleFrame(this);
sub_0806ED78(this);
if (this->field_0x58 == 0xf) {
pbVar1 = &this->frames.all;
if (*pbVar1 == 1) {
*pbVar1 = 0;
PlaySFX(0x218);
}
if (*pbVar1 == 2) {
*pbVar1 = 0;
PlaySFX(0x219);
}
}
}

77
src/syrup.c Normal file
View File

@ -0,0 +1,77 @@
#include "global.h"
#include "entity.h"
#include "npc.h"
extern void sub_0807DD50(Entity*);
extern Entity* LoadExtraSpriteData(Entity*, SpriteLoadData*);
extern void sub_0806ED78(Entity*);
extern void sub_0805E3A0(Entity*, u32);
extern void InitializeAnimation(Entity*, u32);
extern void (*gUnk_081121D4[])(Entity*);
extern SpriteLoadData gUnk_081121C4;
extern SpriteLoadData gUnk_081121B4;
extern u32 gUnk_030010A0;
extern void sub_0807DD94(Entity*, u32);
extern void sub_0806A26C(Entity*);
extern void sub_080042BA(Entity*, u32);
void Syrup(Entity *this)
{
gUnk_081121D4[this->action](this);
sub_0806ED78(this);
}
void sub_0806A1F8(Entity *this)
{
Entity *iVar1;
SpriteLoadData *paVar2;
(this->entityType).parameter1 == 0 ? (paVar2 = &gUnk_081121B4) : (paVar2 = &gUnk_081121C4);
iVar1 = LoadExtraSpriteData(this,paVar2);
if (iVar1) {
this->action = 1;
sub_0805E3A0(this,2);
sub_0807DD50(this);
InitializeAnimation(this,0);
}
}
void sub_0806A234(Entity *this)
{
sub_0807DD94(this, 0);
if ((this->field_0x82 & 4) != 0) {
if ((gUnk_030010A0 & 7) == 0) {
sub_0806A26C(this);
}
sub_080042BA(this, 2);
}
}
#ifdef NON_MATCHING
void sub_0806A26C(Entity *this)
{
u8 unk;
u32 uVar2;
Entity *pEVar1;
pEVar1 = CreateObject(0xf,0x2f,0);
if (pEVar1 != NULL) {
sub_0806FA30(this, pEVar1);
if (uVar2 = Random(), uVar2)
{
unk = -unk; // wtf?!
}
pEVar1->spriteOffsetX = gUnk_081121DC[uVar2 & 7];
pEVar1->spriteOffsetY = gUnk_081121DC[(uVar2 / 256) & 7] - 8;
}
}
#else
NAKED
void sub_0806A26C(Entity *this)
{
asm(".include \"asm/non_matching/syrup/sub_0806A26C.inc\"");
}
#endif

View File

@ -23,7 +23,7 @@ void sub_08065534(Entity* this) {
}
void sub_08065570(Entity* this) {
if (sub_0806FDEC(this, &gUnk_0810FEB0) != 0) {
if (LoadExtraSpriteData(this, &gUnk_0810FEB0) != 0) {
InitializeAnimation(this, 0);
sub_08078778(this);
this->action = 1;
@ -63,7 +63,7 @@ void sub_0806559C(Entity* this) {
}
void sub_08065608(Entity* this) {
if (sub_0806FDEC(this, &gUnk_0810FEB0) != 0) {
if (LoadExtraSpriteData(this, &gUnk_0810FEB0) != 0) {
this->action = 1;
this->spriteSettings.b.ss0 = 1;
this->field_0x68 = sub_0801E99C(this);
@ -152,7 +152,7 @@ void sub_080657A8(Entity* this) {
void sub_080657DC(Entity* this) {
if (this->action == 0) {
if (sub_0806FDEC(this, &gUnk_0810FEB0) != 0) {
if (LoadExtraSpriteData(this, &gUnk_0810FEB0) != 0) {
this->action++;
this->spriteSettings.b.ss0 = 1;
InitializeAnimation(this, 6);

View File

@ -9,8 +9,8 @@ extern void sub_0806ED78(Entity *);
extern void (*gUnk_081126E8[])();
extern void sub_0806ACC4(Entity *);
extern u32 sub_0806FDEC(Entity *, SpriteLoadThing *);
extern SpriteLoadThing gUnk_08112674[];
extern u32 LoadExtraSpriteData(Entity *, SpriteLoadData *);
extern SpriteLoadData gUnk_08112674[];
void sub_0806ABC8(Entity *this)
{
@ -27,8 +27,8 @@ void sub_0806ABFC(Entity *this)
{
u8 animationState;
SpriteLoadThing* spriteLoadThing = &gUnk_08112674[this->entityType.parameter1 << 2];
if (!sub_0806FDEC(this, spriteLoadThing))
SpriteLoadData* SpriteLoadData = &gUnk_08112674[this->entityType.parameter1 << 2];
if (!LoadExtraSpriteData(this, SpriteLoadData))
{
return;
}