mirror of
https://github.com/zeldaret/tmc
synced 2026-09-01 01:51:47 -04:00
Merge pull request #33 from notyouraveragehooman/master
menu work, rupeeLike.c OK
This commit is contained in:
+1
-1
@@ -237,7 +237,7 @@ sub_08030338: @ 0x08030338
|
||||
_0803034C:
|
||||
adds r0, r4, #0
|
||||
movs r1, #3
|
||||
bl InitializeAnimationAnimation
|
||||
bl UpdateAnimationVariableFrames
|
||||
adds r0, r4, #0
|
||||
adds r0, #0x84
|
||||
ldr r0, [r0]
|
||||
|
||||
+2
-2
@@ -68,7 +68,7 @@ _08001230:
|
||||
beq _0800123E
|
||||
strb r1, [r0, #0xe]
|
||||
movs r1, #4
|
||||
ldr r3, _0800135C @ =InitializeAnimationAnimation
|
||||
ldr r3, _0800135C @ =UpdateAnimationVariableFrames
|
||||
bx r3
|
||||
_0800123E:
|
||||
ldr r3, _08001360 @ =sub_080043B4
|
||||
@@ -238,7 +238,7 @@ _08001352:
|
||||
bx lr
|
||||
.align 2, 0
|
||||
_08001358: .4byte gEnemyFunctions
|
||||
_0800135C: .4byte InitializeAnimationAnimation
|
||||
_0800135C: .4byte UpdateAnimationVariableFrames
|
||||
_08001360: .4byte sub_080043B4
|
||||
_08001364: .4byte 0x00001800
|
||||
_08001368: .4byte gUnk_080012C8
|
||||
|
||||
+3
-3
@@ -431,8 +431,8 @@ InitializeAnimation: @ 0x08004260
|
||||
GetNextFrame: @ 0x08004274
|
||||
movs r1, #1
|
||||
|
||||
non_word_aligned_thumb_func_start InitializeAnimationAnimation
|
||||
InitializeAnimationAnimation: @ 0x08004276
|
||||
non_word_aligned_thumb_func_start UpdateAnimationVariableFrames
|
||||
UpdateAnimationVariableFrames: @ 0x08004276
|
||||
movs r3, #0x59
|
||||
ldrb r2, [r0, r3]
|
||||
subs r2, r2, r1
|
||||
@@ -478,7 +478,7 @@ UpdateAnimationSingleFrame: @ 0x080042B8
|
||||
non_word_aligned_thumb_func_start sub_080042BA
|
||||
sub_080042BA: @ 0x080042BA
|
||||
push {lr}
|
||||
bl InitializeAnimationAnimation
|
||||
bl UpdateAnimationVariableFrames
|
||||
_080042C0:
|
||||
pop {r1}
|
||||
mov lr, r1
|
||||
|
||||
+3
-3
@@ -97,8 +97,8 @@ InitializeAnimation: @ 0x08004260
|
||||
GetNextFrame: @ 0x08004274
|
||||
movs r1, #1
|
||||
|
||||
non_word_aligned_thumb_func_start InitializeAnimationAnimation
|
||||
InitializeAnimationAnimation: @ 0x08004276
|
||||
non_word_aligned_thumb_func_start UpdateAnimationVariableFrames
|
||||
UpdateAnimationVariableFrames: @ 0x08004276
|
||||
movs r3, #0x59
|
||||
ldrb r2, [r0, r3]
|
||||
subs r2, r2, r1
|
||||
@@ -144,7 +144,7 @@ UpdateAnimationSingleFrame: @ 0x080042B8
|
||||
non_word_aligned_thumb_func_start sub_080042BA
|
||||
sub_080042BA: @ 0x080042BA
|
||||
push {lr}
|
||||
bl InitializeAnimationAnimation
|
||||
bl UpdateAnimationVariableFrames
|
||||
_080042C0:
|
||||
pop {r1}
|
||||
mov lr, r1
|
||||
|
||||
@@ -5,157 +5,6 @@
|
||||
|
||||
.text
|
||||
|
||||
thumb_func_start sub_08050038
|
||||
sub_08050038: @ 0x08050038
|
||||
push {lr}
|
||||
adds r3, r0, #0
|
||||
ldr r2, _0805004C @ =gUnk_03000FD0
|
||||
ldrh r1, [r2, #8]
|
||||
movs r0, #1
|
||||
ands r0, r1
|
||||
cmp r0, #0
|
||||
beq _08050050
|
||||
strh r3, [r2, #0xe]
|
||||
b _08050052
|
||||
.align 2, 0
|
||||
_0805004C: .4byte gUnk_03000FD0
|
||||
_08050050:
|
||||
strh r3, [r2, #0xc]
|
||||
_08050052:
|
||||
pop {pc}
|
||||
|
||||
thumb_func_start DoFade
|
||||
DoFade: @ 0x08050054
|
||||
push {r4, r5, lr}
|
||||
adds r5, r0, #0
|
||||
ldr r2, _08050078 @ =gUnk_03000FD0
|
||||
movs r3, #0
|
||||
strh r1, [r2, #0xa]
|
||||
strh r5, [r2, #8]
|
||||
movs r0, #1
|
||||
strb r0, [r2]
|
||||
adds r0, #0xff
|
||||
strh r0, [r2, #0xc]
|
||||
strh r3, [r2, #0xe]
|
||||
movs r0, #2
|
||||
ands r0, r5
|
||||
adds r4, r2, #0
|
||||
cmp r0, #0
|
||||
beq _0805007C
|
||||
movs r0, #0xf8
|
||||
b _0805007E
|
||||
.align 2, 0
|
||||
_08050078: .4byte gUnk_03000FD0
|
||||
_0805007C:
|
||||
movs r0, #0
|
||||
_0805007E:
|
||||
strb r0, [r4, #2]
|
||||
movs r0, #8
|
||||
ands r0, r5
|
||||
cmp r0, #0
|
||||
beq _080500A4
|
||||
ldr r1, _080500E4 @ =gUnk_03000000
|
||||
movs r0, #1
|
||||
strb r0, [r1, #2]
|
||||
ldr r2, _080500E8 @ =gScreen
|
||||
ldrh r0, [r2, #0x14]
|
||||
movs r1, #0x40
|
||||
orrs r0, r1
|
||||
strh r0, [r2, #0x14]
|
||||
ldrh r0, [r2, #0x20]
|
||||
orrs r0, r1
|
||||
strh r0, [r2, #0x20]
|
||||
ldrh r0, [r2, #0x2c]
|
||||
orrs r1, r0
|
||||
strh r1, [r2, #0x2c]
|
||||
_080500A4:
|
||||
movs r0, #0x10
|
||||
ands r0, r5
|
||||
cmp r0, #0
|
||||
beq _080500E0
|
||||
ldrh r0, [r4, #0x16]
|
||||
ldrh r1, [r4, #0x18]
|
||||
bl sub_0801E1B8
|
||||
movs r1, #0x12
|
||||
ldrsh r0, [r4, r1]
|
||||
movs r2, #0x14
|
||||
ldrsh r1, [r4, r2]
|
||||
movs r3, #0x10
|
||||
ldrsh r2, [r4, r3]
|
||||
bl sub_0801E1EC
|
||||
movs r0, #1
|
||||
ands r0, r5
|
||||
cmp r0, #0
|
||||
bne _080500E0
|
||||
ldrh r1, [r4, #8]
|
||||
ldr r0, _080500EC @ =0x0000FFFB
|
||||
ands r0, r1
|
||||
strh r0, [r4, #8]
|
||||
bl sub_08050008
|
||||
ldr r1, _080500F0 @ =gUnk_0200B644
|
||||
movs r0, #1
|
||||
rsbs r0, r0, #0
|
||||
str r0, [r1]
|
||||
_080500E0:
|
||||
pop {r4, r5, pc}
|
||||
.align 2, 0
|
||||
_080500E4: .4byte gUnk_03000000
|
||||
_080500E8: .4byte gScreen
|
||||
_080500EC: .4byte 0x0000FFFB
|
||||
_080500F0: .4byte gUnk_0200B644
|
||||
|
||||
thumb_func_start sub_080500F4
|
||||
sub_080500F4: @ 0x080500F4
|
||||
ldr r1, _0805010C @ =gUnk_03000FD0
|
||||
strh r0, [r1, #0xa]
|
||||
ldrh r0, [r1, #8]
|
||||
movs r2, #1
|
||||
eors r0, r2
|
||||
strh r0, [r1, #8]
|
||||
strb r2, [r1]
|
||||
movs r0, #0x80
|
||||
lsls r0, r0, #1
|
||||
strh r0, [r1, #0xc]
|
||||
bx lr
|
||||
.align 2, 0
|
||||
_0805010C: .4byte gUnk_03000FD0
|
||||
|
||||
thumb_func_start sub_08050110
|
||||
sub_08050110: @ 0x08050110
|
||||
push {r4, r5, r6, lr}
|
||||
adds r5, r0, #0
|
||||
adds r6, r1, #0
|
||||
adds r4, r2, #0
|
||||
movs r1, #1
|
||||
ands r1, r4
|
||||
cmp r1, #0
|
||||
beq _08050130
|
||||
ldr r1, _0805012C @ =gUnk_03000FD0
|
||||
movs r0, #0x96
|
||||
strh r0, [r1, #0x10]
|
||||
adds r2, r1, #0
|
||||
b _08050136
|
||||
.align 2, 0
|
||||
_0805012C: .4byte gUnk_03000FD0
|
||||
_08050130:
|
||||
ldr r0, _0805014C @ =gUnk_03000FD0
|
||||
strh r1, [r0, #0x10]
|
||||
adds r2, r0, #0
|
||||
_08050136:
|
||||
movs r1, #0
|
||||
strh r5, [r2, #0x12]
|
||||
strh r6, [r2, #0x14]
|
||||
ldr r0, _08050150 @ =0x00003F3F
|
||||
strh r0, [r2, #0x16]
|
||||
strh r1, [r2, #0x18]
|
||||
adds r0, r4, #0
|
||||
adds r1, r3, #0
|
||||
bl DoFade
|
||||
pop {r4, r5, r6, pc}
|
||||
.align 2, 0
|
||||
_0805014C: .4byte gUnk_03000FD0
|
||||
_08050150: .4byte 0x00003F3F
|
||||
|
||||
thumb_func_start sub_08050154
|
||||
sub_08050154: @ 0x08050154
|
||||
push {r4, r5, r6, lr}
|
||||
|
||||
+4
-4
@@ -671,7 +671,7 @@ SetSpriteSubEntryOffsetData1: @ 0x0806FF88
|
||||
adds r4, r4, r2
|
||||
ldrh r0, [r5, #2]
|
||||
ldrb r1, [r5, #1]
|
||||
bl sub_080700C8
|
||||
bl GetSpriteSubEntryOffsetDataPointer
|
||||
ldrb r1, [r5, #6]
|
||||
ldrb r2, [r0]
|
||||
adds r1, r1, r2
|
||||
@@ -715,7 +715,7 @@ SetSpriteSubEntryOffsetData2: @ 0x0806FFD8
|
||||
adds r4, r4, r2
|
||||
ldrh r0, [r5, #2]
|
||||
ldrb r1, [r5, #1]
|
||||
bl sub_080700C8
|
||||
bl GetSpriteSubEntryOffsetDataPointer
|
||||
ldrb r1, [r5, #6]
|
||||
ldrb r2, [r0, #2]
|
||||
adds r1, r1, r2
|
||||
@@ -826,8 +826,8 @@ _080700C4:
|
||||
_080700C6:
|
||||
pop {pc}
|
||||
|
||||
thumb_func_start sub_080700C8
|
||||
sub_080700C8: @ 0x080700C8
|
||||
thumb_func_start GetSpriteSubEntryOffsetDataPointer
|
||||
GetSpriteSubEntryOffsetDataPointer: @ 0x080700C8
|
||||
lsls r0, r0, #1
|
||||
ldr r2, _080700E4 @ =gUnk_089FB780
|
||||
adds r0, r0, r2
|
||||
|
||||
+1
-1
@@ -1131,7 +1131,7 @@ sub_08070F50: @ 0x08070F50
|
||||
bl PositionEntityOnTop
|
||||
ldrh r0, [r4, #0x12]
|
||||
ldrb r1, [r4, #0x1e]
|
||||
bl sub_080700C8
|
||||
bl GetSpriteSubEntryOffsetDataPointer
|
||||
ldrb r1, [r0]
|
||||
adds r2, r5, #0
|
||||
adds r2, #0x62
|
||||
|
||||
@@ -6,74 +6,6 @@
|
||||
|
||||
.text
|
||||
|
||||
thumb_func_start sub_080A3BD0
|
||||
sub_080A3BD0: @ 0x080A3BD0
|
||||
push {r4, lr}
|
||||
ldr r0, _080A3C54 @ =gMenu
|
||||
movs r1, #0
|
||||
movs r4, #1
|
||||
strb r4, [r0, #1]
|
||||
adds r0, #0x2a
|
||||
strb r1, [r0]
|
||||
bl sub_080A4D34
|
||||
movs r0, #0xcb
|
||||
bl LoadPalettesByPaletteGroupIndex
|
||||
movs r0, #0x75
|
||||
bl sub_0801D7EC
|
||||
bl sub_080A4494
|
||||
adds r1, r0, #7
|
||||
cmp r1, #0
|
||||
bge _080A3BFA
|
||||
adds r1, #7
|
||||
_080A3BFA:
|
||||
asrs r0, r1, #3
|
||||
subs r0, #6
|
||||
cmp r0, #0
|
||||
bge _080A3C04
|
||||
movs r0, #0
|
||||
_080A3C04:
|
||||
cmp r0, #6
|
||||
ble _080A3C0A
|
||||
movs r0, #6
|
||||
_080A3C0A:
|
||||
adds r0, #0x76
|
||||
bl sub_0801D7EC
|
||||
ldr r1, _080A3C58 @ =gScreen
|
||||
ldrh r2, [r1]
|
||||
movs r3, #0xf0
|
||||
lsls r3, r3, #5
|
||||
adds r0, r3, #0
|
||||
orrs r0, r2
|
||||
strh r0, [r1]
|
||||
ldr r0, _080A3C5C @ =0x00001C01
|
||||
strh r0, [r1, #0x14]
|
||||
ldr r0, _080A3C60 @ =0x00001D02
|
||||
strh r0, [r1, #0x20]
|
||||
ldr r0, _080A3C64 @ =0x00001E0B
|
||||
strh r0, [r1, #0x2c]
|
||||
strh r4, [r1, #0x1a]
|
||||
strh r4, [r1, #0x26]
|
||||
strh r4, [r1, #0x32]
|
||||
bl sub_080A4528
|
||||
bl sub_080A4398
|
||||
movs r0, #0
|
||||
bl sub_0801E738
|
||||
ldr r0, _080A3C68 @ =gUnk_081280DC
|
||||
bl sub_080A70AC
|
||||
movs r0, #1
|
||||
bl sub_080A7114
|
||||
movs r0, #6
|
||||
movs r1, #8
|
||||
bl DoFade
|
||||
pop {r4, pc}
|
||||
.align 2, 0
|
||||
_080A3C54: .4byte gMenu
|
||||
_080A3C58: .4byte gScreen
|
||||
_080A3C5C: .4byte 0x00001C01
|
||||
_080A3C60: .4byte 0x00001D02
|
||||
_080A3C64: .4byte 0x00001E0B
|
||||
_080A3C68: .4byte gUnk_081280DC
|
||||
|
||||
thumb_func_start sub_080A3C6C
|
||||
sub_080A3C6C: @ 0x080A3C6C
|
||||
push {r4, r5, lr}
|
||||
|
||||
+2
-2
@@ -9785,7 +9785,7 @@ _080AA052:
|
||||
_080AA05E:
|
||||
ldrh r0, [r5, #0x12]
|
||||
ldrb r1, [r5, #0x1e]
|
||||
bl sub_080700C8
|
||||
bl GetSpriteSubEntryOffsetDataPointer
|
||||
adds r3, r0, #0
|
||||
ldrb r1, [r5, #0x14]
|
||||
movs r0, #4
|
||||
@@ -9989,7 +9989,7 @@ _080AA1EC:
|
||||
bne _080AA26C
|
||||
ldrh r0, [r4, #0x12]
|
||||
ldrb r1, [r4, #0x1e]
|
||||
bl sub_080700C8
|
||||
bl GetSpriteSubEntryOffsetDataPointer
|
||||
adds r3, r0, #0
|
||||
ldrb r1, [r4, #0x14]
|
||||
movs r0, #4
|
||||
|
||||
@@ -1,37 +0,0 @@
|
||||
.include "asm/macros.inc"
|
||||
|
||||
.include "constants/constants.inc"
|
||||
|
||||
.syntax unified
|
||||
|
||||
.text
|
||||
|
||||
thumb_func_start sub_080A3B84
|
||||
sub_080A3B84: @ 0x080A3B84
|
||||
push {r4, r5, lr}
|
||||
ldr r4, _080A3BC4 @ =gUnk_030010A0
|
||||
adds r4, #0x2c
|
||||
movs r5, #0
|
||||
movs r0, #2
|
||||
strb r0, [r4]
|
||||
bl sub_080AD90C
|
||||
ldr r1, _080A3BC8 @ =gUnk_081280C4
|
||||
ldr r0, _080A3BCC @ =gMenu
|
||||
ldrb r0, [r0, #5]
|
||||
lsls r0, r0, #2
|
||||
adds r0, r0, r1
|
||||
ldr r0, [r0]
|
||||
bl _call_via_r0
|
||||
bl sub_080A3B74
|
||||
bl sub_080A4054
|
||||
bl sub_0801C1D4
|
||||
bl sub_0801C208
|
||||
bl sub_0805E5C0
|
||||
bl sub_080AD9B0
|
||||
bl sub_080AD918
|
||||
strb r5, [r4]
|
||||
pop {r4, r5, pc}
|
||||
.align 2, 0
|
||||
_080A3BC4: .4byte gUnk_030010A0
|
||||
_080A3BC8: .4byte gUnk_081280C4
|
||||
_080A3BCC: .4byte gMenu
|
||||
@@ -391,7 +391,7 @@ _08048C6C:
|
||||
bl InitializeAnimation
|
||||
adds r0, r4, #0
|
||||
movs r1, #7
|
||||
bl InitializeAnimationAnimation
|
||||
bl UpdateAnimationVariableFrames
|
||||
adds r1, r6, #0
|
||||
ldrb r4, [r4, #0xa]
|
||||
lsls r1, r4
|
||||
@@ -419,7 +419,7 @@ _08048CBC:
|
||||
movs r1, #0x1c
|
||||
ands r1, r0
|
||||
adds r0, r4, #0
|
||||
bl InitializeAnimationAnimation
|
||||
bl UpdateAnimationVariableFrames
|
||||
_08048CE4:
|
||||
adds r0, r4, #0
|
||||
bl GetNextFrame
|
||||
|
||||
+2
-2
@@ -238,7 +238,7 @@ sub_0802BD10: @ 0x0802BD10
|
||||
ands r1, r2
|
||||
strb r1, [r0, #0x10]
|
||||
movs r1, #2
|
||||
bl InitializeAnimationAnimation
|
||||
bl UpdateAnimationVariableFrames
|
||||
pop {pc}
|
||||
.align 2, 0
|
||||
|
||||
@@ -380,7 +380,7 @@ sub_0802BE18: @ 0x0802BE18
|
||||
push {r4, lr}
|
||||
adds r4, r0, #0
|
||||
movs r1, #2
|
||||
bl InitializeAnimationAnimation
|
||||
bl UpdateAnimationVariableFrames
|
||||
ldrb r0, [r4, #0xe]
|
||||
subs r0, #1
|
||||
strb r0, [r4, #0xe]
|
||||
|
||||
+2
-2
@@ -412,7 +412,7 @@ sub_0802805C: @ 0x0802805C
|
||||
push {r4, r5, lr}
|
||||
adds r5, r0, #0
|
||||
movs r1, #2
|
||||
bl InitializeAnimationAnimation
|
||||
bl UpdateAnimationVariableFrames
|
||||
bl sub_0807953C
|
||||
cmp r0, #0
|
||||
beq _0802807E
|
||||
@@ -454,7 +454,7 @@ _0802809C:
|
||||
bl PositionRelative
|
||||
ldrh r0, [r5, #0x12]
|
||||
ldrb r1, [r5, #0x1e]
|
||||
bl sub_080700C8
|
||||
bl GetSpriteSubEntryOffsetDataPointer
|
||||
ldrb r1, [r0]
|
||||
adds r2, r4, #0
|
||||
adds r2, #0x62
|
||||
|
||||
+1
-1
@@ -23,7 +23,7 @@ Object29: @ 0x08089848
|
||||
ands r1, r0
|
||||
adds r1, #1
|
||||
adds r0, r4, #0
|
||||
bl InitializeAnimationAnimation
|
||||
bl UpdateAnimationVariableFrames
|
||||
pop {r4, pc}
|
||||
.align 2, 0
|
||||
_08089870: .4byte gUnk_08120D90
|
||||
|
||||
+1
-1
@@ -2269,7 +2269,7 @@ _08095BAC:
|
||||
strb r0, [r5, #0x18]
|
||||
ldrh r0, [r2, #0x12]
|
||||
ldrb r1, [r2, #0x1e]
|
||||
bl sub_080700C8
|
||||
bl GetSpriteSubEntryOffsetDataPointer
|
||||
ldrb r1, [r0]
|
||||
adds r2, r5, #0
|
||||
adds r2, #0x62
|
||||
|
||||
+1
-1
@@ -256,7 +256,7 @@ _080A273C:
|
||||
bl PositionEntityOnTop
|
||||
ldrh r0, [r4, #0x12]
|
||||
ldrb r1, [r4, #0x1e]
|
||||
bl sub_080700C8
|
||||
bl GetSpriteSubEntryOffsetDataPointer
|
||||
ldrb r1, [r0]
|
||||
adds r2, r5, #0
|
||||
adds r2, #0x62
|
||||
|
||||
+2
-2
@@ -133,7 +133,7 @@ _08037D1C:
|
||||
_08037D26:
|
||||
adds r0, r4, #0
|
||||
movs r1, #2
|
||||
bl InitializeAnimationAnimation
|
||||
bl UpdateAnimationVariableFrames
|
||||
adds r0, r4, #0
|
||||
bl sub_080AEF88
|
||||
cmp r0, #0
|
||||
@@ -158,7 +158,7 @@ sub_08037D54: @ 0x08037D54
|
||||
push {r4, lr}
|
||||
adds r4, r0, #0
|
||||
movs r1, #2
|
||||
bl InitializeAnimationAnimation
|
||||
bl UpdateAnimationVariableFrames
|
||||
adds r2, r4, #0
|
||||
adds r2, #0x5a
|
||||
ldrb r1, [r2]
|
||||
|
||||
@@ -1,69 +0,0 @@
|
||||
.include "asm/macros.inc"
|
||||
|
||||
.include "constants/constants.inc"
|
||||
|
||||
.syntax unified
|
||||
|
||||
.text
|
||||
|
||||
|
||||
thumb_func_start PalaceArchway
|
||||
PalaceArchway: @ 0x0809F288
|
||||
push {lr}
|
||||
ldr r2, _0809F29C @ =gUnk_081246EC
|
||||
ldrb r1, [r0, #0xc]
|
||||
lsls r1, r1, #2
|
||||
adds r1, r1, r2
|
||||
ldr r1, [r1]
|
||||
bl _call_via_r1
|
||||
pop {pc}
|
||||
.align 2, 0
|
||||
_0809F29C: .4byte gUnk_081246EC
|
||||
|
||||
thumb_func_start sub_0809F2A0
|
||||
sub_0809F2A0: @ 0x0809F2A0
|
||||
push {r4, r5, r6, lr}
|
||||
movs r1, #1
|
||||
strb r1, [r0, #0xc]
|
||||
ldrb r1, [r0, #0xb]
|
||||
strb r1, [r0, #0x1e]
|
||||
ldrb r1, [r0, #0x19]
|
||||
movs r2, #0xc0
|
||||
orrs r1, r2
|
||||
strb r1, [r0, #0x19]
|
||||
adds r3, r0, #0
|
||||
adds r3, #0x29
|
||||
ldrb r1, [r3]
|
||||
movs r2, #7
|
||||
orrs r1, r2
|
||||
strb r1, [r3]
|
||||
ldr r5, _0809F2EC @ =0x00004069
|
||||
movs r2, #0x2e
|
||||
ldrsh r1, [r0, r2]
|
||||
ldr r3, _0809F2F0 @ =gRoomControls
|
||||
ldrh r2, [r3, #6]
|
||||
subs r1, r1, r2
|
||||
asrs r1, r1, #4
|
||||
movs r4, #0x3f
|
||||
ands r1, r4
|
||||
movs r6, #0x32
|
||||
ldrsh r2, [r0, r6]
|
||||
ldrh r3, [r3, #8]
|
||||
subs r2, r2, r3
|
||||
asrs r2, r2, #4
|
||||
ands r2, r4
|
||||
lsls r2, r2, #6
|
||||
orrs r1, r2
|
||||
adds r0, #0x38
|
||||
ldrb r2, [r0]
|
||||
adds r0, r5, #0
|
||||
bl SetTile
|
||||
pop {r4, r5, r6, pc}
|
||||
.align 2, 0
|
||||
_0809F2EC: .4byte 0x00004069
|
||||
_0809F2F0: .4byte gRoomControls
|
||||
|
||||
thumb_func_start nullsub_537
|
||||
nullsub_537: @ 0x0809F2F4
|
||||
bx lr
|
||||
.align 2, 0
|
||||
+4
-4
@@ -403,7 +403,7 @@ sub_08020220: @ 0x08020220
|
||||
movs r1, #4
|
||||
subs r1, r1, r0
|
||||
adds r0, r5, #0
|
||||
bl InitializeAnimationAnimation
|
||||
bl UpdateAnimationVariableFrames
|
||||
b _08020292
|
||||
_0802024C:
|
||||
movs r0, #3
|
||||
@@ -437,7 +437,7 @@ _08020284:
|
||||
_0802028A:
|
||||
adds r0, r5, #0
|
||||
movs r1, #4
|
||||
bl InitializeAnimationAnimation
|
||||
bl UpdateAnimationVariableFrames
|
||||
_08020292:
|
||||
pop {r4, r5, pc}
|
||||
|
||||
@@ -495,7 +495,7 @@ _080202F8:
|
||||
_080202FE:
|
||||
adds r0, r4, #0
|
||||
movs r1, #4
|
||||
bl InitializeAnimationAnimation
|
||||
bl UpdateAnimationVariableFrames
|
||||
pop {r4, pc}
|
||||
|
||||
thumb_func_start sub_08020308
|
||||
@@ -533,7 +533,7 @@ _08020340:
|
||||
bl sub_080AEFE0
|
||||
adds r0, r4, #0
|
||||
movs r1, #4
|
||||
bl InitializeAnimationAnimation
|
||||
bl UpdateAnimationVariableFrames
|
||||
_0802034E:
|
||||
pop {r4, pc}
|
||||
|
||||
|
||||
+1
-1
@@ -324,7 +324,7 @@ sub_080315BC: @ 0x080315BC
|
||||
strb r0, [r4, #0xe]
|
||||
adds r0, r4, #0
|
||||
movs r1, #2
|
||||
bl InitializeAnimationAnimation
|
||||
bl UpdateAnimationVariableFrames
|
||||
b _080315FC
|
||||
_080315D4:
|
||||
adds r0, r4, #0
|
||||
|
||||
+2
-2
@@ -150,7 +150,7 @@ _080382B8: .4byte gLinkEntity
|
||||
_080382BC:
|
||||
adds r0, r4, #0
|
||||
movs r1, #2
|
||||
bl InitializeAnimationAnimation
|
||||
bl UpdateAnimationVariableFrames
|
||||
adds r0, r4, #0
|
||||
bl sub_080AEF88
|
||||
cmp r0, #0
|
||||
@@ -192,7 +192,7 @@ sub_08038304: @ 0x08038304
|
||||
push {r4, r5, r6, lr}
|
||||
adds r4, r0, #0
|
||||
movs r1, #2
|
||||
bl InitializeAnimationAnimation
|
||||
bl UpdateAnimationVariableFrames
|
||||
adds r0, r4, #0
|
||||
bl sub_080AEF88
|
||||
cmp r0, #0
|
||||
|
||||
-754
@@ -1,754 +0,0 @@
|
||||
.include "asm/macros.inc"
|
||||
|
||||
.include "constants/constants.inc"
|
||||
|
||||
.syntax unified
|
||||
|
||||
.text
|
||||
|
||||
|
||||
thumb_func_start RupeeLike
|
||||
RupeeLike: @ 0x080292A0
|
||||
push {r4, r5, lr}
|
||||
adds r5, r0, #0
|
||||
ldrb r0, [r5, #0xb]
|
||||
cmp r0, #0
|
||||
bne _080292F8
|
||||
adds r0, r5, #0
|
||||
bl sub_080043E8
|
||||
lsls r0, r0, #0x18
|
||||
lsrs r4, r0, #0x18
|
||||
cmp r4, #0
|
||||
beq _080292CE
|
||||
ldrb r0, [r5, #0xc]
|
||||
cmp r0, #4
|
||||
bne _080292C4
|
||||
adds r0, r5, #0
|
||||
bl sub_080296D8
|
||||
_080292C4:
|
||||
adds r0, r5, #0
|
||||
adds r1, r4, #0
|
||||
bl sub_08001290
|
||||
b _080292FE
|
||||
_080292CE:
|
||||
ldr r4, _080292F4 @ =gUnk_080CCC00
|
||||
adds r0, r5, #0
|
||||
bl GetNextFunction
|
||||
lsls r0, r0, #2
|
||||
adds r0, r0, r4
|
||||
ldr r1, [r0]
|
||||
adds r0, r5, #0
|
||||
bl _call_via_r1
|
||||
movs r3, #0x10
|
||||
rsbs r3, r3, #0
|
||||
adds r0, r5, #0
|
||||
movs r1, #0
|
||||
movs r2, #1
|
||||
bl SetChildOffset
|
||||
b _080292FE
|
||||
.align 2, 0
|
||||
_080292F4: .4byte gUnk_080CCC00
|
||||
_080292F8:
|
||||
adds r0, r5, #0
|
||||
bl sub_080293DC
|
||||
_080292FE:
|
||||
pop {r4, r5, pc}
|
||||
|
||||
thumb_func_start sub_08029300
|
||||
sub_08029300: @ 0x08029300
|
||||
push {lr}
|
||||
ldr r2, _08029314 @ =gUnk_080CCC18
|
||||
ldrb r1, [r0, #0xc]
|
||||
lsls r1, r1, #2
|
||||
adds r1, r1, r2
|
||||
ldr r1, [r1]
|
||||
bl _call_via_r1
|
||||
pop {pc}
|
||||
.align 2, 0
|
||||
_08029314: .4byte gUnk_080CCC18
|
||||
|
||||
thumb_func_start sub_08029318
|
||||
sub_08029318: @ 0x08029318
|
||||
push {r4, lr}
|
||||
adds r4, r0, #0
|
||||
adds r0, #0x3f
|
||||
ldrb r0, [r0]
|
||||
cmp r0, #0x8e
|
||||
bne _0802932C
|
||||
adds r0, r4, #0
|
||||
bl sub_08029770
|
||||
b _080293A6
|
||||
_0802932C:
|
||||
ldrb r0, [r4, #0xc]
|
||||
cmp r0, #4
|
||||
bne _08029338
|
||||
adds r0, r4, #0
|
||||
bl sub_080296D8
|
||||
_08029338:
|
||||
ldr r0, [r4, #0x4c]
|
||||
ldrb r0, [r0, #8]
|
||||
cmp r0, #1
|
||||
bne _08029394
|
||||
ldrb r0, [r4, #0xc]
|
||||
cmp r0, #2
|
||||
bne _08029356
|
||||
adds r0, r4, #0
|
||||
movs r1, #0
|
||||
bl InitializeAnimation
|
||||
ldr r0, [r4, #0x54]
|
||||
movs r1, #4
|
||||
bl InitializeAnimation
|
||||
_08029356:
|
||||
movs r1, #0
|
||||
movs r0, #4
|
||||
strb r0, [r4, #0xc]
|
||||
movs r0, #0x3c
|
||||
strb r0, [r4, #0xe]
|
||||
strb r1, [r4, #0xf]
|
||||
adds r1, r4, #0
|
||||
adds r1, #0x83
|
||||
movs r0, #0x41
|
||||
strb r0, [r1]
|
||||
adds r2, r4, #0
|
||||
adds r2, #0x3b
|
||||
ldrb r1, [r2]
|
||||
movs r0, #0xfc
|
||||
ands r0, r1
|
||||
strb r0, [r2]
|
||||
ldr r0, _08029390 @ =gLinkEntity
|
||||
adds r0, #0x29
|
||||
ldrb r0, [r0]
|
||||
lsls r0, r0, #0x1a
|
||||
lsrs r0, r0, #0x1d
|
||||
adds r1, r4, #0
|
||||
adds r1, #0x80
|
||||
strb r0, [r1]
|
||||
movs r0, #0x82
|
||||
lsls r0, r0, #1
|
||||
bl sub_08004488
|
||||
b _080293A6
|
||||
.align 2, 0
|
||||
_08029390: .4byte gLinkEntity
|
||||
_08029394:
|
||||
adds r0, r4, #0
|
||||
adds r0, #0x43
|
||||
ldrb r0, [r0]
|
||||
cmp r0, #0
|
||||
beq _080293A6
|
||||
adds r0, r4, #0
|
||||
movs r1, #0x1c
|
||||
bl sub_0804A9FC
|
||||
_080293A6:
|
||||
ldr r1, _080293B0 @ =gUnk_080CCC00
|
||||
adds r0, r4, #0
|
||||
bl sub_0804AA30
|
||||
pop {r4, pc}
|
||||
.align 2, 0
|
||||
_080293B0: .4byte gUnk_080CCC00
|
||||
|
||||
thumb_func_start sub_080293B4
|
||||
sub_080293B4: @ 0x080293B4
|
||||
push {lr}
|
||||
ldr r3, _080293D4 @ =gUnk_080CCC34
|
||||
adds r1, r0, #0
|
||||
adds r1, #0x84
|
||||
ldrb r2, [r1]
|
||||
lsls r1, r2, #1
|
||||
adds r1, r1, r2
|
||||
ldrb r2, [r0, #0xa]
|
||||
adds r1, r1, r2
|
||||
adds r1, r1, r3
|
||||
ldrb r2, [r1]
|
||||
movs r1, #0xff
|
||||
bl CreateDeathFx
|
||||
pop {pc}
|
||||
.align 2, 0
|
||||
_080293D4: .4byte gUnk_080CCC34
|
||||
|
||||
thumb_func_start nullsub_141
|
||||
nullsub_141: @ 0x080293D8
|
||||
bx lr
|
||||
.align 2, 0
|
||||
|
||||
thumb_func_start sub_080293DC
|
||||
sub_080293DC: @ 0x080293DC
|
||||
push {r4, lr}
|
||||
adds r4, r0, #0
|
||||
ldr r0, [r4, #0x50]
|
||||
adds r1, r4, #0
|
||||
bl CopyPositionAndSpriteOffset
|
||||
ldrh r0, [r4, #0x32]
|
||||
adds r0, #1
|
||||
strh r0, [r4, #0x32]
|
||||
ldrh r0, [r4, #0x36]
|
||||
subs r0, #1
|
||||
strh r0, [r4, #0x36]
|
||||
ldr r1, _08029408 @ =gUnk_080CCC3C
|
||||
ldrb r0, [r4, #0xc]
|
||||
lsls r0, r0, #2
|
||||
adds r0, r0, r1
|
||||
ldr r1, [r0]
|
||||
adds r0, r4, #0
|
||||
bl _call_via_r1
|
||||
pop {r4, pc}
|
||||
.align 2, 0
|
||||
_08029408: .4byte gUnk_080CCC3C
|
||||
|
||||
thumb_func_start sub_0802940C
|
||||
sub_0802940C: @ 0x0802940C
|
||||
push {r4, r5, lr}
|
||||
adds r4, r0, #0
|
||||
ldrb r1, [r4, #0xa]
|
||||
movs r0, #0x17
|
||||
bl CreateEnemy
|
||||
adds r5, r0, #0
|
||||
cmp r5, #0
|
||||
beq _0802944A
|
||||
adds r0, r4, #0
|
||||
bl sub_0804A720
|
||||
str r4, [r5, #0x50]
|
||||
movs r1, #0
|
||||
movs r0, #1
|
||||
strb r0, [r5, #0xb]
|
||||
str r5, [r4, #0x54]
|
||||
adds r0, r4, #0
|
||||
adds r0, #0x81
|
||||
strb r1, [r0]
|
||||
adds r0, #3
|
||||
strb r1, [r0]
|
||||
ldrb r0, [r4, #0x1a]
|
||||
lsls r0, r0, #0x1c
|
||||
lsrs r0, r0, #0x1c
|
||||
adds r1, r4, #0
|
||||
adds r1, #0x82
|
||||
strb r0, [r1]
|
||||
adds r0, r4, #0
|
||||
bl sub_080297F0
|
||||
_0802944A:
|
||||
pop {r4, r5, pc}
|
||||
|
||||
thumb_func_start sub_0802944C
|
||||
sub_0802944C: @ 0x0802944C
|
||||
push {r4, lr}
|
||||
adds r4, r0, #0
|
||||
bl sub_080296C8
|
||||
adds r0, r4, #0
|
||||
adds r0, #0x81
|
||||
ldrb r0, [r0]
|
||||
cmp r0, #0
|
||||
beq _08029470
|
||||
adds r0, r4, #0
|
||||
movs r1, #1
|
||||
bl sub_08049FDC
|
||||
cmp r0, #0
|
||||
beq _08029470
|
||||
adds r0, r4, #0
|
||||
bl sub_08029770
|
||||
_08029470:
|
||||
pop {r4, pc}
|
||||
.align 2, 0
|
||||
|
||||
thumb_func_start sub_08029474
|
||||
sub_08029474: @ 0x08029474
|
||||
push {r4, lr}
|
||||
adds r4, r0, #0
|
||||
bl sub_080296C8
|
||||
adds r3, r4, #0
|
||||
adds r3, #0x5a
|
||||
ldrb r2, [r3]
|
||||
movs r0, #0x80
|
||||
ands r0, r2
|
||||
lsls r0, r0, #0x18
|
||||
lsrs r1, r0, #0x18
|
||||
cmp r1, #0
|
||||
beq _080294C0
|
||||
movs r0, #3
|
||||
strb r0, [r4, #0xc]
|
||||
movs r0, #8
|
||||
strb r0, [r4, #0xe]
|
||||
ldr r1, _080294BC @ =gLinkEntity
|
||||
adds r0, r4, #0
|
||||
bl GetFacingDirection
|
||||
strb r0, [r4, #0x15]
|
||||
lsls r0, r0, #0x18
|
||||
lsrs r0, r0, #0x1c
|
||||
strb r0, [r4, #0x14]
|
||||
ldrb r1, [r4, #0x14]
|
||||
adds r0, r4, #0
|
||||
bl InitializeAnimation
|
||||
ldr r0, [r4, #0x54]
|
||||
ldrb r1, [r4, #0x14]
|
||||
adds r1, #4
|
||||
bl InitializeAnimation
|
||||
b _080294D2
|
||||
.align 2, 0
|
||||
_080294BC: .4byte gLinkEntity
|
||||
_080294C0:
|
||||
lsls r0, r2, #0x18
|
||||
lsrs r0, r0, #0x18
|
||||
cmp r0, #1
|
||||
bne _080294D2
|
||||
strb r1, [r3]
|
||||
ldrb r0, [r4, #0x10]
|
||||
movs r1, #0x80
|
||||
orrs r0, r1
|
||||
strb r0, [r4, #0x10]
|
||||
_080294D2:
|
||||
pop {r4, pc}
|
||||
|
||||
thumb_func_start sub_080294D4
|
||||
sub_080294D4: @ 0x080294D4
|
||||
push {r4, lr}
|
||||
adds r4, r0, #0
|
||||
movs r1, #1
|
||||
bl sub_08049FDC
|
||||
cmp r0, #0
|
||||
beq _0802951C
|
||||
ldrb r0, [r4, #0xe]
|
||||
subs r0, #1
|
||||
strb r0, [r4, #0xe]
|
||||
lsls r0, r0, #0x18
|
||||
cmp r0, #0
|
||||
bne _08029508
|
||||
movs r0, #8
|
||||
strb r0, [r4, #0xe]
|
||||
ldr r1, _08029518 @ =gLinkEntity
|
||||
adds r0, r4, #0
|
||||
bl GetFacingDirection
|
||||
adds r1, r0, #0
|
||||
adds r0, r4, #0
|
||||
bl sub_08004596
|
||||
adds r0, r4, #0
|
||||
bl sub_0802969C
|
||||
_08029508:
|
||||
adds r0, r4, #0
|
||||
bl sub_080AEF88
|
||||
adds r0, r4, #0
|
||||
bl sub_080296C8
|
||||
b _08029538
|
||||
.align 2, 0
|
||||
_08029518: .4byte gLinkEntity
|
||||
_0802951C:
|
||||
movs r0, #6
|
||||
strb r0, [r4, #0xc]
|
||||
ldrb r1, [r4, #0x10]
|
||||
movs r0, #0x7f
|
||||
ands r0, r1
|
||||
strb r0, [r4, #0x10]
|
||||
adds r0, r4, #0
|
||||
movs r1, #3
|
||||
bl InitializeAnimation
|
||||
ldr r0, [r4, #0x54]
|
||||
movs r1, #7
|
||||
bl InitializeAnimation
|
||||
_08029538:
|
||||
pop {r4, pc}
|
||||
.align 2, 0
|
||||
|
||||
thumb_func_start sub_0802953C
|
||||
sub_0802953C: @ 0x0802953C
|
||||
push {r4, r5, lr}
|
||||
adds r5, r0, #0
|
||||
bl sub_080296C8
|
||||
adds r0, r5, #0
|
||||
bl sub_080296C8
|
||||
bl sub_0807953C
|
||||
cmp r0, #0
|
||||
beq _08029558
|
||||
ldrb r0, [r5, #0xf]
|
||||
adds r0, #1
|
||||
strb r0, [r5, #0xf]
|
||||
_08029558:
|
||||
ldrb r0, [r5, #0xe]
|
||||
cmp r0, #0
|
||||
beq _08029562
|
||||
subs r0, #1
|
||||
strb r0, [r5, #0xe]
|
||||
_08029562:
|
||||
ldrb r0, [r5, #0xf]
|
||||
cmp r0, #0x2d
|
||||
bhi _08029572
|
||||
ldr r0, _08029580 @ =gUnk_02002A40
|
||||
adds r0, #0xc0
|
||||
ldrh r0, [r0]
|
||||
cmp r0, #0
|
||||
bne _08029584
|
||||
_08029572:
|
||||
ldrb r0, [r5, #0xe]
|
||||
cmp r0, #0
|
||||
bne _08029584
|
||||
adds r0, r5, #0
|
||||
bl sub_080296D8
|
||||
b _080295FE
|
||||
.align 2, 0
|
||||
_08029580: .4byte gUnk_02002A40
|
||||
_08029584:
|
||||
bl sub_08077B2C
|
||||
ldr r2, _08029600 @ =gLinkState
|
||||
ldrb r1, [r2, #0x1a]
|
||||
movs r0, #0x80
|
||||
orrs r0, r1
|
||||
strb r0, [r2, #0x1a]
|
||||
ldr r4, _08029604 @ =gLinkEntity
|
||||
movs r3, #0x80
|
||||
lsls r3, r3, #9
|
||||
adds r0, r5, #0
|
||||
adds r1, r4, #0
|
||||
movs r2, #0
|
||||
bl PositionRelative
|
||||
ldrh r0, [r5, #0x12]
|
||||
ldrb r1, [r5, #0x1e]
|
||||
bl sub_080700C8
|
||||
ldrb r1, [r0]
|
||||
adds r2, r4, #0
|
||||
adds r2, #0x62
|
||||
strb r1, [r2]
|
||||
ldrb r0, [r0, #1]
|
||||
subs r0, #1
|
||||
adds r1, r4, #0
|
||||
adds r1, #0x63
|
||||
strb r0, [r1]
|
||||
adds r4, #0x29
|
||||
ldrb r1, [r4]
|
||||
movs r0, #0x39
|
||||
rsbs r0, r0, #0
|
||||
ands r0, r1
|
||||
strb r0, [r4]
|
||||
adds r1, r5, #0
|
||||
adds r1, #0x83
|
||||
ldrb r0, [r1]
|
||||
subs r0, #1
|
||||
strb r0, [r1]
|
||||
lsls r0, r0, #0x18
|
||||
cmp r0, #0
|
||||
bne _080295FE
|
||||
movs r0, #0x41
|
||||
strb r0, [r1]
|
||||
ldr r0, _08029608 @ =gUnk_02002A40
|
||||
adds r0, #0xc0
|
||||
ldrh r0, [r0]
|
||||
cmp r0, #0
|
||||
beq _080295FE
|
||||
ldr r1, _0802960C @ =gUnk_080CCC44
|
||||
ldrb r0, [r5, #0xa]
|
||||
adds r0, r0, r1
|
||||
ldrb r0, [r0]
|
||||
lsls r0, r0, #0x18
|
||||
asrs r0, r0, #0x18
|
||||
bl ModRupees
|
||||
adds r1, r5, #0
|
||||
adds r1, #0x84
|
||||
movs r0, #1
|
||||
strb r0, [r1]
|
||||
_080295FE:
|
||||
pop {r4, r5, pc}
|
||||
.align 2, 0
|
||||
_08029600: .4byte gLinkState
|
||||
_08029604: .4byte gLinkEntity
|
||||
_08029608: .4byte gUnk_02002A40
|
||||
_0802960C: .4byte gUnk_080CCC44
|
||||
|
||||
thumb_func_start sub_08029610
|
||||
sub_08029610: @ 0x08029610
|
||||
push {lr}
|
||||
adds r1, r0, #0
|
||||
ldrb r0, [r1, #0xf]
|
||||
subs r0, #1
|
||||
strb r0, [r1, #0xf]
|
||||
lsls r0, r0, #0x18
|
||||
cmp r0, #0
|
||||
bne _08029628
|
||||
movs r0, #3
|
||||
strb r0, [r1, #0xc]
|
||||
movs r0, #1
|
||||
strb r0, [r1, #0xe]
|
||||
_08029628:
|
||||
adds r0, r1, #0
|
||||
bl sub_080296C8
|
||||
pop {pc}
|
||||
|
||||
thumb_func_start sub_08029630
|
||||
sub_08029630: @ 0x08029630
|
||||
push {r4, lr}
|
||||
adds r4, r0, #0
|
||||
bl sub_080296C8
|
||||
adds r0, r4, #0
|
||||
adds r0, #0x5a
|
||||
ldrb r1, [r0]
|
||||
movs r0, #0x80
|
||||
ands r0, r1
|
||||
cmp r0, #0
|
||||
beq _0802965E
|
||||
adds r1, r4, #0
|
||||
adds r1, #0x81
|
||||
movs r0, #1
|
||||
strb r0, [r1]
|
||||
ldr r2, [r4, #0x54]
|
||||
ldrb r1, [r2, #0x18]
|
||||
subs r0, #5
|
||||
ands r0, r1
|
||||
strb r0, [r2, #0x18]
|
||||
adds r0, r4, #0
|
||||
bl sub_080297F0
|
||||
_0802965E:
|
||||
pop {r4, pc}
|
||||
|
||||
thumb_func_start sub_08029660
|
||||
sub_08029660: @ 0x08029660
|
||||
movs r1, #1
|
||||
strb r1, [r0, #0xc]
|
||||
movs r1, #0xd1
|
||||
strh r1, [r0, #0x12]
|
||||
ldr r2, _08029684 @ =gUnk_080CCC47
|
||||
ldrb r1, [r0, #0xa]
|
||||
adds r1, r1, r2
|
||||
ldrb r2, [r1]
|
||||
movs r1, #0xf
|
||||
ands r2, r1
|
||||
ldrb r3, [r0, #0x1a]
|
||||
movs r1, #0x10
|
||||
rsbs r1, r1, #0
|
||||
ands r1, r3
|
||||
orrs r1, r2
|
||||
strb r1, [r0, #0x1a]
|
||||
bx lr
|
||||
.align 2, 0
|
||||
_08029684: .4byte gUnk_080CCC47
|
||||
|
||||
thumb_func_start sub_08029688
|
||||
sub_08029688: @ 0x08029688
|
||||
push {lr}
|
||||
adds r1, r0, #0
|
||||
ldr r0, [r1, #0x50]
|
||||
ldr r0, [r0, #4]
|
||||
cmp r0, #0
|
||||
bne _0802969A
|
||||
adds r0, r1, #0
|
||||
bl DeleteEntity
|
||||
_0802969A:
|
||||
pop {pc}
|
||||
|
||||
thumb_func_start sub_0802969C
|
||||
sub_0802969C: @ 0x0802969C
|
||||
push {r4, r5, lr}
|
||||
adds r5, r0, #0
|
||||
ldrb r1, [r5, #0x15]
|
||||
movs r0, #0xf
|
||||
ands r0, r1
|
||||
cmp r0, #0
|
||||
beq _080296C4
|
||||
lsrs r4, r1, #4
|
||||
ldrb r0, [r5, #0x14]
|
||||
cmp r4, r0
|
||||
beq _080296C4
|
||||
strb r4, [r5, #0x14]
|
||||
adds r0, r5, #0
|
||||
adds r1, r4, #0
|
||||
bl InitializeAnimation
|
||||
ldr r0, [r5, #0x54]
|
||||
adds r1, r4, #4
|
||||
bl InitializeAnimation
|
||||
_080296C4:
|
||||
pop {r4, r5, pc}
|
||||
.align 2, 0
|
||||
|
||||
thumb_func_start sub_080296C8
|
||||
sub_080296C8: @ 0x080296C8
|
||||
push {r4, lr}
|
||||
adds r4, r0, #0
|
||||
bl GetNextFrame
|
||||
ldr r0, [r4, #0x54]
|
||||
bl GetNextFrame
|
||||
pop {r4, pc}
|
||||
|
||||
thumb_func_start sub_080296D8
|
||||
sub_080296D8: @ 0x080296D8
|
||||
push {r4, r5, lr}
|
||||
adds r4, r0, #0
|
||||
ldr r2, _08029764 @ =gLinkState
|
||||
movs r0, #0x41
|
||||
strb r0, [r2, #2]
|
||||
ldr r0, [r2, #0x30]
|
||||
movs r1, #0x11
|
||||
rsbs r1, r1, #0
|
||||
ands r0, r1
|
||||
str r0, [r2, #0x30]
|
||||
ldr r0, _08029768 @ =gLinkEntity
|
||||
mov ip, r0
|
||||
ldrb r0, [r0, #0x10]
|
||||
movs r1, #0x80
|
||||
orrs r0, r1
|
||||
mov r1, ip
|
||||
strb r0, [r1, #0x10]
|
||||
movs r0, #0xc0
|
||||
lsls r0, r0, #9
|
||||
str r0, [r1, #0x20]
|
||||
adds r1, #0x3d
|
||||
movs r0, #0xa6
|
||||
strb r0, [r1]
|
||||
movs r3, #0
|
||||
ldr r0, _0802976C @ =0x0000FFFE
|
||||
mov r1, ip
|
||||
strh r0, [r1, #0x36]
|
||||
ldrb r0, [r1, #0x14]
|
||||
lsls r0, r0, #2
|
||||
strb r0, [r1, #0x15]
|
||||
adds r0, r4, #0
|
||||
adds r0, #0x80
|
||||
ldrb r0, [r0]
|
||||
mov r5, ip
|
||||
adds r5, #0x29
|
||||
movs r1, #7
|
||||
ands r1, r0
|
||||
lsls r1, r1, #3
|
||||
ldrb r2, [r5]
|
||||
movs r0, #0x39
|
||||
rsbs r0, r0, #0
|
||||
ands r0, r2
|
||||
orrs r0, r1
|
||||
strb r0, [r5]
|
||||
mov r0, ip
|
||||
adds r0, #0x63
|
||||
strb r3, [r0]
|
||||
movs r0, #0xa0
|
||||
lsls r0, r0, #1
|
||||
mov r1, ip
|
||||
strh r0, [r1, #0x24]
|
||||
movs r0, #5
|
||||
strb r0, [r4, #0xc]
|
||||
movs r0, #0x3c
|
||||
strb r0, [r4, #0xf]
|
||||
adds r2, r4, #0
|
||||
adds r2, #0x3b
|
||||
ldrb r1, [r2]
|
||||
movs r0, #3
|
||||
orrs r0, r1
|
||||
strb r0, [r2]
|
||||
adds r1, r4, #0
|
||||
adds r1, #0x3d
|
||||
movs r0, #0
|
||||
ldrsb r0, [r1, r0]
|
||||
cmp r0, #0
|
||||
bne _08029762
|
||||
movs r0, #0xf4
|
||||
strb r0, [r1]
|
||||
_08029762:
|
||||
pop {r4, r5, pc}
|
||||
.align 2, 0
|
||||
_08029764: .4byte gLinkState
|
||||
_08029768: .4byte gLinkEntity
|
||||
_0802976C: .4byte 0x0000FFFE
|
||||
|
||||
thumb_func_start sub_08029770
|
||||
sub_08029770: @ 0x08029770
|
||||
push {r4, lr}
|
||||
adds r4, r0, #0
|
||||
movs r1, #0x73
|
||||
bl LoadFixedGFX
|
||||
cmp r0, #0
|
||||
beq _080297E8
|
||||
movs r0, #2
|
||||
strb r0, [r4, #0xc]
|
||||
ldrb r1, [r4, #0x10]
|
||||
movs r0, #0x7f
|
||||
ands r0, r1
|
||||
strb r0, [r4, #0x10]
|
||||
movs r0, #0xd1
|
||||
strh r0, [r4, #0x12]
|
||||
adds r2, r4, #0
|
||||
adds r2, #0x29
|
||||
ldrb r1, [r2]
|
||||
movs r0, #0x39
|
||||
rsbs r0, r0, #0
|
||||
ands r0, r1
|
||||
movs r1, #0x18
|
||||
orrs r0, r1
|
||||
strb r0, [r2]
|
||||
adds r0, r4, #0
|
||||
adds r0, #0x82
|
||||
ldrb r1, [r0]
|
||||
movs r0, #0xf
|
||||
ands r1, r0
|
||||
ldrb r2, [r4, #0x1a]
|
||||
movs r0, #0x10
|
||||
rsbs r0, r0, #0
|
||||
ands r0, r2
|
||||
orrs r0, r1
|
||||
strb r0, [r4, #0x1a]
|
||||
adds r1, r4, #0
|
||||
adds r1, #0x3f
|
||||
movs r0, #0x8d
|
||||
strb r0, [r1]
|
||||
ldr r0, _080297EC @ =gUnk_080FD260
|
||||
str r0, [r4, #0x48]
|
||||
adds r0, r4, #0
|
||||
movs r1, #2
|
||||
bl InitializeAnimation
|
||||
ldr r2, [r4, #0x54]
|
||||
ldrb r1, [r2, #0x18]
|
||||
movs r0, #4
|
||||
rsbs r0, r0, #0
|
||||
ands r0, r1
|
||||
movs r1, #1
|
||||
orrs r0, r1
|
||||
strb r0, [r2, #0x18]
|
||||
ldr r0, [r4, #0x54]
|
||||
movs r1, #6
|
||||
bl InitializeAnimation
|
||||
adds r0, r4, #0
|
||||
bl sub_080A29BC
|
||||
_080297E8:
|
||||
pop {r4, pc}
|
||||
.align 2, 0
|
||||
_080297EC: .4byte gUnk_080FD260
|
||||
|
||||
thumb_func_start sub_080297F0
|
||||
sub_080297F0: @ 0x080297F0
|
||||
push {r4, lr}
|
||||
adds r4, r0, #0
|
||||
movs r2, #1
|
||||
movs r0, #1
|
||||
strb r0, [r4, #0xc]
|
||||
movs r0, #0x78
|
||||
strb r0, [r4, #0xe]
|
||||
ldrb r1, [r4, #0x10]
|
||||
movs r0, #0x80
|
||||
orrs r0, r1
|
||||
strb r0, [r4, #0x10]
|
||||
ldrb r1, [r4, #0x18]
|
||||
movs r0, #4
|
||||
rsbs r0, r0, #0
|
||||
ands r0, r1
|
||||
orrs r0, r2
|
||||
strb r0, [r4, #0x18]
|
||||
adds r1, r4, #0
|
||||
adds r1, #0x3f
|
||||
movs r0, #0x8e
|
||||
strb r0, [r1]
|
||||
adds r0, r4, #0
|
||||
bl sub_080AE068
|
||||
ldr r0, _08029850 @ =0x00000143
|
||||
strh r0, [r4, #0x12]
|
||||
ldr r1, _08029854 @ =gUnk_080CCC47
|
||||
ldrb r0, [r4, #0xa]
|
||||
adds r0, r0, r1
|
||||
ldrb r1, [r0]
|
||||
movs r0, #0xf
|
||||
ands r1, r0
|
||||
ldrb r2, [r4, #0x1a]
|
||||
movs r0, #0x10
|
||||
rsbs r0, r0, #0
|
||||
ands r0, r2
|
||||
orrs r0, r1
|
||||
strb r0, [r4, #0x1a]
|
||||
adds r1, r4, #0
|
||||
adds r1, #0x60
|
||||
movs r0, #9
|
||||
strh r0, [r1]
|
||||
adds r0, r4, #0
|
||||
movs r1, #0x54
|
||||
bl InitializeAnimation
|
||||
pop {r4, pc}
|
||||
.align 2, 0
|
||||
_08029850: .4byte 0x00000143
|
||||
_08029854: .4byte gUnk_080CCC47
|
||||
+1
-1
@@ -662,7 +662,7 @@ sub_08033C94: @ 0x08033C94
|
||||
push {r4, lr}
|
||||
adds r4, r0, #0
|
||||
movs r1, #3
|
||||
bl InitializeAnimationAnimation
|
||||
bl UpdateAnimationVariableFrames
|
||||
adds r1, r4, #0
|
||||
adds r1, #0x79
|
||||
ldrb r0, [r1]
|
||||
|
||||
@@ -1,65 +0,0 @@
|
||||
.include "asm/macros.inc"
|
||||
|
||||
.include "constants/constants.inc"
|
||||
|
||||
.syntax unified
|
||||
|
||||
.text
|
||||
|
||||
thumb_func_start sub_080AD380
|
||||
sub_080AD380: @ 0x080AD380
|
||||
push {r4, lr}
|
||||
bl sub_080AD90C
|
||||
ldr r4, _080AD398 @ =gUnk_03001000
|
||||
ldrb r0, [r4, #3]
|
||||
cmp r0, #1
|
||||
beq _080AD3BC
|
||||
cmp r0, #1
|
||||
bgt _080AD39C
|
||||
cmp r0, #0
|
||||
beq _080AD3A2
|
||||
b _080AD3EA
|
||||
.align 2, 0
|
||||
_080AD398: .4byte gUnk_03001000
|
||||
_080AD39C:
|
||||
cmp r0, #2
|
||||
beq _080AD3D8
|
||||
b _080AD3EA
|
||||
_080AD3A2:
|
||||
bl sub_08056418
|
||||
ldr r0, _080AD3B8 @ =gUnk_02032EC0
|
||||
movs r1, #0xed
|
||||
lsls r1, r1, #2
|
||||
bl _DmaZero
|
||||
movs r0, #0
|
||||
bl IntroSetTransition
|
||||
b _080AD3EA
|
||||
.align 2, 0
|
||||
_080AD3B8: .4byte gUnk_02032EC0
|
||||
_080AD3BC:
|
||||
ldr r1, _080AD3D0 @ =gUnk_081320F0
|
||||
ldr r0, _080AD3D4 @ =gUnk_02032EC0
|
||||
ldrb r0, [r0, #2]
|
||||
lsls r0, r0, #2
|
||||
adds r0, r0, r1
|
||||
ldr r0, [r0]
|
||||
bl _call_via_r0
|
||||
b _080AD3EA
|
||||
.align 2, 0
|
||||
_080AD3D0: .4byte gUnk_081320F0
|
||||
_080AD3D4: .4byte gUnk_02032EC0
|
||||
_080AD3D8:
|
||||
ldr r0, _080AD3F0 @ =gUnk_03000FD0
|
||||
ldrb r0, [r0]
|
||||
cmp r0, #0
|
||||
bne _080AD3EE
|
||||
movs r0, #1
|
||||
bl sub_0801DA90
|
||||
movs r0, #1
|
||||
strb r0, [r4, #3]
|
||||
_080AD3EA:
|
||||
bl sub_080AD918
|
||||
_080AD3EE:
|
||||
pop {r4, pc}
|
||||
.align 2, 0
|
||||
_080AD3F0: .4byte gUnk_03000FD0
|
||||
@@ -1,68 +0,0 @@
|
||||
.include "asm/macros.inc"
|
||||
|
||||
.include "constants/constants.inc"
|
||||
|
||||
.syntax unified
|
||||
|
||||
.text
|
||||
|
||||
thumb_func_start sub_080AD3F4
|
||||
sub_080AD3F4: @ 0x080AD3F4
|
||||
push {r4, r5, lr}
|
||||
bl sub_080AD84C
|
||||
adds r1, r0, #0
|
||||
ldr r4, _080AD450 @ =gMenu
|
||||
ldrb r0, [r4, #5]
|
||||
cmp r0, #0
|
||||
bne _080AD458
|
||||
movs r0, #1
|
||||
bl sub_0801DA90
|
||||
movs r5, #1
|
||||
strb r5, [r4, #5]
|
||||
movs r0, #0x78
|
||||
strh r0, [r4, #8]
|
||||
movs r0, #0x10
|
||||
bl sub_0801D7EC
|
||||
movs r0, #1
|
||||
bl sub_0801D7EC
|
||||
movs r0, #0x80
|
||||
lsls r0, r0, #0x12
|
||||
ldrb r0, [r0, #7]
|
||||
movs r1, #2
|
||||
cmp r0, #0
|
||||
bne _080AD42C
|
||||
movs r1, #1
|
||||
_080AD42C:
|
||||
adds r0, r1, #0
|
||||
bl LoadPalettesByPaletteGroupIndex
|
||||
ldr r0, _080AD454 @ =gScreen
|
||||
ldrh r1, [r0]
|
||||
movs r3, #0x80
|
||||
lsls r3, r3, #3
|
||||
adds r2, r3, #0
|
||||
orrs r1, r2
|
||||
strh r1, [r0]
|
||||
strh r5, [r0, #0x1a]
|
||||
movs r0, #6
|
||||
movs r1, #8
|
||||
bl DoFade
|
||||
movs r1, #0
|
||||
b _080AD45E
|
||||
.align 2, 0
|
||||
_080AD450: .4byte gMenu
|
||||
_080AD454: .4byte gScreen
|
||||
_080AD458:
|
||||
cmp r1, #1
|
||||
bne _080AD45E
|
||||
movs r1, #2
|
||||
_080AD45E:
|
||||
cmp r1, #2
|
||||
bne _080AD46C
|
||||
ldr r1, _080AD470 @ =gUnk_02000010
|
||||
movs r0, #1
|
||||
strb r0, [r1, #5]
|
||||
bl IntroSetTransition
|
||||
_080AD46C:
|
||||
pop {r4, r5, pc}
|
||||
.align 2, 0
|
||||
_080AD470: .4byte gUnk_02000010
|
||||
@@ -1,224 +0,0 @@
|
||||
.include "asm/macros.inc"
|
||||
|
||||
.include "constants/constants.inc"
|
||||
|
||||
.syntax unified
|
||||
|
||||
.text
|
||||
|
||||
thumb_func_start sub_080AD474
|
||||
sub_080AD474: @ 0x080AD474
|
||||
push {r4, r5, r6, lr}
|
||||
ldr r5, _080AD490 @ =gMenu
|
||||
ldrb r0, [r5, #0x12]
|
||||
adds r0, #1
|
||||
strb r0, [r5, #0x12]
|
||||
ldrb r0, [r5, #5]
|
||||
cmp r0, #1
|
||||
bne _080AD486
|
||||
b _080AD588
|
||||
_080AD486:
|
||||
cmp r0, #1
|
||||
bgt _080AD494
|
||||
cmp r0, #0
|
||||
beq _080AD49C
|
||||
b _080AD5C8
|
||||
.align 2, 0
|
||||
_080AD490: .4byte gMenu
|
||||
_080AD494:
|
||||
cmp r0, #2
|
||||
bne _080AD49A
|
||||
b _080AD5AA
|
||||
_080AD49A:
|
||||
b _080AD5C8
|
||||
_080AD49C:
|
||||
movs r4, #1
|
||||
strb r4, [r5, #5]
|
||||
strb r0, [r5, #6]
|
||||
movs r6, #0
|
||||
movs r0, #0x1e
|
||||
strh r0, [r5, #8]
|
||||
movs r0, #7
|
||||
strb r0, [r5, #4]
|
||||
bl EraseAllEntities
|
||||
movs r0, #0
|
||||
bl sub_0801CFA8
|
||||
bl sub_080ADD30
|
||||
ldr r0, _080AD50C @ =gUnk_02024490
|
||||
strb r4, [r0]
|
||||
movs r0, #2
|
||||
bl sub_0801D7EC
|
||||
movs r4, #0x80
|
||||
lsls r4, r4, #0x12
|
||||
ldrb r0, [r4, #7]
|
||||
movs r1, #4
|
||||
cmp r0, #0
|
||||
bne _080AD4D2
|
||||
movs r1, #3
|
||||
_080AD4D2:
|
||||
adds r0, r1, #0
|
||||
bl LoadPalettesByPaletteGroupIndex
|
||||
ldrb r0, [r4, #7]
|
||||
cmp r0, #0
|
||||
bne _080AD524
|
||||
ldr r2, _080AD510 @ =gScreen
|
||||
adds r1, r2, #0
|
||||
adds r1, #0x66
|
||||
ldr r0, _080AD514 @ =0x00000844
|
||||
strh r0, [r1]
|
||||
adds r1, #2
|
||||
adds r0, #0xc5
|
||||
strh r0, [r1]
|
||||
ldr r0, _080AD518 @ =0x00001C09
|
||||
strh r0, [r2, #0x14]
|
||||
adds r0, #0xf9
|
||||
strh r0, [r2, #0x20]
|
||||
ldr r0, _080AD51C @ =0x00001E03
|
||||
strh r0, [r2, #0x2c]
|
||||
ldrh r0, [r2]
|
||||
movs r3, #0xf0
|
||||
lsls r3, r3, #5
|
||||
adds r1, r3, #0
|
||||
orrs r0, r1
|
||||
strh r0, [r2]
|
||||
ldr r0, _080AD520 @ =0x0000FF60
|
||||
strh r0, [r2, #0x18]
|
||||
b _080AD55A
|
||||
.align 2, 0
|
||||
_080AD50C: .4byte gUnk_02024490
|
||||
_080AD510: .4byte gScreen
|
||||
_080AD514: .4byte 0x00000844
|
||||
_080AD518: .4byte 0x00001C09
|
||||
_080AD51C: .4byte 0x00001E03
|
||||
_080AD520: .4byte 0x0000FF60
|
||||
_080AD524:
|
||||
ldr r2, _080AD570 @ =gScreen
|
||||
adds r1, r2, #0
|
||||
adds r1, #0x66
|
||||
ldr r0, _080AD574 @ =0x00000241
|
||||
strh r0, [r1]
|
||||
adds r1, #2
|
||||
ldr r0, _080AD578 @ =0x00000909
|
||||
strh r0, [r1]
|
||||
ldr r0, _080AD57C @ =0x00001D02
|
||||
strh r0, [r2, #8]
|
||||
ldr r0, _080AD580 @ =0x00001E03
|
||||
strh r0, [r2, #0x14]
|
||||
ldr r0, _080AD584 @ =0x00007C89
|
||||
strh r0, [r2, #0x20]
|
||||
ldrh r0, [r2]
|
||||
movs r1, #1
|
||||
orrs r0, r1
|
||||
orrs r0, r6
|
||||
movs r3, #0x98
|
||||
lsls r3, r3, #5
|
||||
adds r1, r3, #0
|
||||
orrs r0, r1
|
||||
strh r0, [r2]
|
||||
movs r0, #0x10
|
||||
str r0, [r5, #0x2c]
|
||||
bl sub_080AD670
|
||||
_080AD55A:
|
||||
bl sub_080A3210
|
||||
movs r0, #3
|
||||
bl PlaySFX
|
||||
movs r0, #6
|
||||
movs r1, #8
|
||||
bl DoFade
|
||||
b _080AD610
|
||||
.align 2, 0
|
||||
_080AD570: .4byte gScreen
|
||||
_080AD574: .4byte 0x00000241
|
||||
_080AD578: .4byte 0x00000909
|
||||
_080AD57C: .4byte 0x00001D02
|
||||
_080AD580: .4byte 0x00001E03
|
||||
_080AD584: .4byte 0x00007C89
|
||||
_080AD588:
|
||||
ldr r0, _080AD5A0 @ =gUnk_03000FD0
|
||||
ldrb r0, [r0]
|
||||
cmp r0, #0
|
||||
bne _080AD632
|
||||
movs r0, #0x80
|
||||
lsls r0, r0, #0x12
|
||||
ldrb r0, [r0, #7]
|
||||
cmp r0, #0
|
||||
bne _080AD5A4
|
||||
bl sub_080AD6AC
|
||||
b _080AD610
|
||||
.align 2, 0
|
||||
_080AD5A0: .4byte gUnk_03000FD0
|
||||
_080AD5A4:
|
||||
bl sub_080AD76C
|
||||
b _080AD610
|
||||
_080AD5AA:
|
||||
ldrh r0, [r5, #8]
|
||||
subs r0, #1
|
||||
strh r0, [r5, #8]
|
||||
lsls r0, r0, #0x10
|
||||
cmp r0, #0
|
||||
bne _080AD5C2
|
||||
movs r0, #0xe1
|
||||
lsls r0, r0, #4
|
||||
strh r0, [r5, #8]
|
||||
ldrb r0, [r5, #5]
|
||||
adds r0, #1
|
||||
strb r0, [r5, #5]
|
||||
_080AD5C2:
|
||||
bl sub_080AD644
|
||||
b _080AD610
|
||||
_080AD5C8:
|
||||
bl sub_080AD84C
|
||||
adds r4, r0, #0
|
||||
cmp r4, #0
|
||||
beq _080AD5EC
|
||||
cmp r4, #2
|
||||
bne _080AD5DE
|
||||
movs r0, #0x6a
|
||||
bl PlaySFX
|
||||
b _080AD5E0
|
||||
_080AD5DE:
|
||||
movs r4, #0
|
||||
_080AD5E0:
|
||||
adds r0, r4, #0
|
||||
bl IntroSetTransition
|
||||
ldr r0, _080AD634 @ =0x80080000
|
||||
bl PlaySFX
|
||||
_080AD5EC:
|
||||
bl sub_080AD644
|
||||
ldr r0, _080AD638 @ =gMenu
|
||||
ldrh r1, [r0, #8]
|
||||
movs r0, #0x20
|
||||
ands r0, r1
|
||||
cmp r0, #0
|
||||
bne _080AD610
|
||||
ldr r1, _080AD63C @ =gUnk_03001010
|
||||
movs r0, #0xe0
|
||||
lsls r0, r0, #8
|
||||
strh r0, [r1, #8]
|
||||
movs r0, #0x84
|
||||
strh r0, [r1, #2]
|
||||
ldr r0, _080AD640 @ =0x000001FF
|
||||
movs r1, #0
|
||||
bl sub_080ADA14
|
||||
_080AD610:
|
||||
ldr r2, _080AD638 @ =gMenu
|
||||
movs r0, #0x80
|
||||
lsls r0, r0, #0x12
|
||||
ldrb r1, [r0, #7]
|
||||
ldrb r0, [r2, #4]
|
||||
cmp r0, r1
|
||||
beq _080AD626
|
||||
strb r1, [r2, #4]
|
||||
movs r0, #3
|
||||
bl sub_0801D7EC
|
||||
_080AD626:
|
||||
bl sub_080AD89C
|
||||
bl sub_0805E5C0
|
||||
bl sub_080AD9B0
|
||||
_080AD632:
|
||||
pop {r4, r5, r6, pc}
|
||||
.align 2, 0
|
||||
_080AD634: .4byte 0x80080000
|
||||
_080AD638: .4byte gMenu
|
||||
_080AD63C: .4byte gUnk_03001010
|
||||
_080AD640: .4byte 0x000001FF
|
||||
@@ -1,38 +0,0 @@
|
||||
.include "asm/macros.inc"
|
||||
|
||||
.include "constants/constants.inc"
|
||||
|
||||
.syntax unified
|
||||
|
||||
.text
|
||||
|
||||
thumb_func_start sub_080AD670
|
||||
sub_080AD670: @ 0x080AD670
|
||||
push {lr}
|
||||
sub sp, #0x14
|
||||
movs r0, #0x80
|
||||
lsls r0, r0, #8
|
||||
str r0, [sp, #4]
|
||||
str r0, [sp]
|
||||
mov r1, sp
|
||||
movs r2, #0
|
||||
movs r0, #0x78
|
||||
strh r0, [r1, #8]
|
||||
movs r0, #0x48
|
||||
strh r0, [r1, #0xa]
|
||||
mov r0, sp
|
||||
strh r2, [r0, #0x10]
|
||||
mov r2, sp
|
||||
ldr r0, _080AD6A4 @ =gMenu
|
||||
ldr r0, [r0, #0x2c]
|
||||
strh r0, [r1, #0xc]
|
||||
strh r0, [r2, #0xe]
|
||||
ldr r1, _080AD6A8 @ =gBgControls
|
||||
mov r0, sp
|
||||
movs r2, #1
|
||||
bl BgAffineSet
|
||||
add sp, #0x14
|
||||
pop {pc}
|
||||
.align 2, 0
|
||||
_080AD6A4: .4byte gMenu
|
||||
_080AD6A8: .4byte gBgControls
|
||||
@@ -1,105 +0,0 @@
|
||||
.include "asm/macros.inc"
|
||||
|
||||
.include "constants/constants.inc"
|
||||
|
||||
.syntax unified
|
||||
|
||||
.text
|
||||
|
||||
thumb_func_start sub_080AD6AC
|
||||
sub_080AD6AC: @ 0x080AD6AC
|
||||
push {r4, r5, r6, lr}
|
||||
ldr r4, _080AD6C0 @ =gMenu
|
||||
ldrb r0, [r4, #6]
|
||||
cmp r0, #1
|
||||
beq _080AD724
|
||||
cmp r0, #1
|
||||
bgt _080AD6C4
|
||||
cmp r0, #0
|
||||
beq _080AD6CA
|
||||
b _080AD76A
|
||||
.align 2, 0
|
||||
_080AD6C0: .4byte gMenu
|
||||
_080AD6C4:
|
||||
cmp r0, #2
|
||||
beq _080AD758
|
||||
b _080AD76A
|
||||
_080AD6CA:
|
||||
ldr r6, _080AD718 @ =gUnk_03000FD0
|
||||
ldrb r5, [r6]
|
||||
cmp r5, #0
|
||||
bne _080AD76A
|
||||
ldrb r1, [r4, #0x12]
|
||||
movs r0, #1
|
||||
ands r0, r1
|
||||
cmp r0, #0
|
||||
bne _080AD6E4
|
||||
ldr r1, _080AD71C @ =gScreen
|
||||
ldrh r0, [r1, #0x18]
|
||||
adds r0, #1
|
||||
strh r0, [r1, #0x18]
|
||||
_080AD6E4:
|
||||
bl sub_080AD84C
|
||||
cmp r0, #2
|
||||
beq _080AD6F4
|
||||
ldr r0, _080AD71C @ =gScreen
|
||||
ldrh r0, [r0, #0x18]
|
||||
cmp r0, #0
|
||||
bne _080AD76A
|
||||
_080AD6F4:
|
||||
ldrb r0, [r4, #6]
|
||||
adds r0, #1
|
||||
strb r0, [r4, #6]
|
||||
ldr r1, _080AD71C @ =gScreen
|
||||
strh r5, [r1, #0x18]
|
||||
ldr r0, _080AD720 @ =0x00000C09
|
||||
strh r0, [r1, #0x14]
|
||||
movs r0, #0x40
|
||||
str r0, [r6, #4]
|
||||
movs r0, #6
|
||||
movs r1, #0x10
|
||||
bl DoFade
|
||||
movs r0, #0xf8
|
||||
bl PlaySFX
|
||||
b _080AD76A
|
||||
.align 2, 0
|
||||
_080AD718: .4byte gUnk_03000FD0
|
||||
_080AD71C: .4byte gScreen
|
||||
_080AD720: .4byte 0x00000C09
|
||||
_080AD724:
|
||||
ldr r1, _080AD754 @ =gUnk_03000FD0
|
||||
ldrb r5, [r1]
|
||||
cmp r5, #0
|
||||
bne _080AD76A
|
||||
movs r0, #1
|
||||
rsbs r0, r0, #0
|
||||
str r0, [r1, #4]
|
||||
ldrb r0, [r4, #6]
|
||||
adds r0, #1
|
||||
strb r0, [r4, #6]
|
||||
movs r0, #0x5a
|
||||
strh r0, [r4, #8]
|
||||
movs r0, #0xb4
|
||||
movs r1, #0
|
||||
movs r2, #0
|
||||
bl CreateObject
|
||||
adds r1, r0, #0
|
||||
cmp r1, #0
|
||||
beq _080AD76A
|
||||
strh r5, [r1, #0x2e]
|
||||
movs r0, #0x48
|
||||
strh r0, [r1, #0x32]
|
||||
b _080AD76A
|
||||
.align 2, 0
|
||||
_080AD754: .4byte gUnk_03000FD0
|
||||
_080AD758:
|
||||
bl sub_080AD84C
|
||||
cmp r0, #0
|
||||
beq _080AD76A
|
||||
ldrb r0, [r4, #5]
|
||||
adds r0, #1
|
||||
strb r0, [r4, #5]
|
||||
movs r0, #0x3c
|
||||
strh r0, [r4, #8]
|
||||
_080AD76A:
|
||||
pop {r4, r5, r6, pc}
|
||||
+1
-1
@@ -211,7 +211,7 @@ sub_0802F284: @ 0x0802F284
|
||||
bls _0802F298
|
||||
adds r0, r4, #0
|
||||
movs r1, #2
|
||||
bl InitializeAnimationAnimation
|
||||
bl UpdateAnimationVariableFrames
|
||||
b _0802F29E
|
||||
_0802F298:
|
||||
adds r0, r4, #0
|
||||
|
||||
+2
-204
@@ -6,214 +6,12 @@
|
||||
|
||||
.text
|
||||
|
||||
|
||||
thumb_func_start TektiteGolden
|
||||
TektiteGolden: @ 0x08037EC8
|
||||
push {r4, lr}
|
||||
adds r4, r0, #0
|
||||
ldr r1, _08037EE4 @ =gUnk_080CF4A0
|
||||
bl EnemyFunctionHandler
|
||||
movs r3, #0x10
|
||||
rsbs r3, r3, #0
|
||||
adds r0, r4, #0
|
||||
movs r1, #0
|
||||
movs r2, #1
|
||||
bl SetChildOffset
|
||||
pop {r4, pc}
|
||||
.align 2, 0
|
||||
_08037EE4: .4byte gUnk_080CF4A0
|
||||
|
||||
thumb_func_start sub_08037EE8
|
||||
sub_08037EE8: @ 0x08037EE8
|
||||
push {lr}
|
||||
ldr r2, _08037EFC @ =gUnk_080CF4B8
|
||||
ldrb r1, [r0, #0xc]
|
||||
lsls r1, r1, #2
|
||||
adds r1, r1, r2
|
||||
ldr r1, [r1]
|
||||
bl _call_via_r1
|
||||
pop {pc}
|
||||
.align 2, 0
|
||||
_08037EFC: .4byte gUnk_080CF4B8
|
||||
|
||||
thumb_func_start sub_08037F00
|
||||
sub_08037F00: @ 0x08037F00
|
||||
push {r4, lr}
|
||||
adds r4, r0, #0
|
||||
adds r0, #0x43
|
||||
ldrb r0, [r0]
|
||||
cmp r0, #0
|
||||
beq _08037F14
|
||||
adds r0, r4, #0
|
||||
movs r1, #0x1c
|
||||
bl sub_0804A9FC
|
||||
_08037F14:
|
||||
ldr r1, _08037F54 @ =gUnk_080CF4A0
|
||||
adds r0, r4, #0
|
||||
bl sub_0804AA30
|
||||
adds r0, r4, #0
|
||||
adds r0, #0x41
|
||||
ldrb r0, [r0]
|
||||
cmp r0, #0x94
|
||||
bne _08037F50
|
||||
movs r1, #0
|
||||
movs r0, #1
|
||||
strb r0, [r4, #0xc]
|
||||
strb r1, [r4, #0xd]
|
||||
movs r0, #0x14
|
||||
strb r0, [r4, #0xe]
|
||||
strb r1, [r4, #0xf]
|
||||
adds r0, r4, #0
|
||||
adds r0, #0x80
|
||||
strb r1, [r0]
|
||||
movs r1, #0x36
|
||||
ldrsh r0, [r4, r1]
|
||||
cmp r0, #0
|
||||
beq _08037F46
|
||||
ldr r0, [r4, #0x20]
|
||||
asrs r0, r0, #2
|
||||
_08037F46:
|
||||
str r0, [r4, #0x20]
|
||||
adds r0, r4, #0
|
||||
movs r1, #0
|
||||
bl InitializeAnimation
|
||||
_08037F50:
|
||||
pop {r4, pc}
|
||||
.align 2, 0
|
||||
_08037F54: .4byte gUnk_080CF4A0
|
||||
|
||||
thumb_func_start sub_08037F58
|
||||
sub_08037F58: @ 0x08037F58
|
||||
push {r4, lr}
|
||||
adds r4, r0, #0
|
||||
adds r0, #0x3a
|
||||
ldrb r1, [r0]
|
||||
movs r0, #2
|
||||
ands r0, r1
|
||||
cmp r0, #0
|
||||
bne _08037F6E
|
||||
ldrb r0, [r4, #0xb]
|
||||
bl SetGlobalFlag
|
||||
_08037F6E:
|
||||
ldrb r0, [r4, #0xa]
|
||||
movs r2, #0x58
|
||||
cmp r0, #0
|
||||
beq _08037F78
|
||||
movs r2, #0x59
|
||||
_08037F78:
|
||||
adds r0, r4, #0
|
||||
movs r1, #0xff
|
||||
bl CreateDeathFx
|
||||
pop {r4, pc}
|
||||
.align 2, 0
|
||||
|
||||
thumb_func_start sub_08037F84
|
||||
sub_08037F84: @ 0x08037F84
|
||||
push {r4, lr}
|
||||
adds r4, r0, #0
|
||||
bl sub_08001242
|
||||
movs r1, #0x36
|
||||
ldrsh r0, [r4, r1]
|
||||
cmp r0, #0
|
||||
beq _08037F9E
|
||||
movs r1, #0xc0
|
||||
lsls r1, r1, #6
|
||||
adds r0, r4, #0
|
||||
bl sub_08003FC4
|
||||
_08037F9E:
|
||||
pop {r4, pc}
|
||||
|
||||
thumb_func_start sub_08037FA0
|
||||
sub_08037FA0: @ 0x08037FA0
|
||||
push {r4, r5, lr}
|
||||
adds r5, r0, #0
|
||||
ldrb r0, [r5, #0xb]
|
||||
bl CheckGlobalFlag
|
||||
cmp r0, #0
|
||||
beq _08037FB2
|
||||
bl DeleteThisEntity
|
||||
_08037FB2:
|
||||
adds r0, r5, #0
|
||||
bl sub_0804A720
|
||||
movs r4, #0
|
||||
movs r0, #1
|
||||
strb r0, [r5, #0xc]
|
||||
strb r4, [r5, #0xd]
|
||||
bl Random
|
||||
movs r1, #0x1f
|
||||
ands r0, r1
|
||||
adds r0, #0x20
|
||||
strb r0, [r5, #0xe]
|
||||
strb r4, [r5, #0xf]
|
||||
adds r0, r5, #0
|
||||
adds r0, #0x80
|
||||
strb r4, [r0]
|
||||
adds r0, r5, #0
|
||||
movs r1, #0
|
||||
bl InitializeAnimation
|
||||
pop {r4, r5, pc}
|
||||
.align 2, 0
|
||||
|
||||
thumb_func_start sub_08037FE0
|
||||
sub_08037FE0: @ 0x08037FE0
|
||||
push {r4, lr}
|
||||
adds r4, r0, #0
|
||||
movs r1, #2
|
||||
bl InitializeAnimationAnimation
|
||||
ldrb r0, [r4, #0xe]
|
||||
adds r2, r0, #0
|
||||
cmp r2, #0
|
||||
beq _08037FF8
|
||||
subs r0, #1
|
||||
strb r0, [r4, #0xe]
|
||||
b _08038046
|
||||
_08037FF8:
|
||||
ldrb r0, [r4, #0xf]
|
||||
cmp r0, #0
|
||||
beq _0803802C
|
||||
adds r0, r4, #0
|
||||
adds r0, #0x5a
|
||||
ldrb r1, [r0]
|
||||
movs r0, #0x80
|
||||
ands r0, r1
|
||||
cmp r0, #0
|
||||
beq _08038046
|
||||
movs r0, #2
|
||||
strb r0, [r4, #0xc]
|
||||
movs r0, #6
|
||||
strb r0, [r4, #0xe]
|
||||
strb r2, [r4, #0xf]
|
||||
movs r0, #0xe0
|
||||
lsls r0, r0, #0xa
|
||||
str r0, [r4, #0x20]
|
||||
adds r0, r4, #0
|
||||
bl sub_08038168
|
||||
adds r0, r4, #0
|
||||
movs r1, #2
|
||||
bl InitializeAnimation
|
||||
b _08038046
|
||||
_0803802C:
|
||||
adds r0, r4, #0
|
||||
adds r0, #0x5a
|
||||
ldrb r1, [r0]
|
||||
movs r0, #0x80
|
||||
ands r0, r1
|
||||
cmp r0, #0
|
||||
beq _08038046
|
||||
movs r0, #0x40
|
||||
strb r0, [r4, #0xf]
|
||||
adds r0, r4, #0
|
||||
movs r1, #1
|
||||
bl InitializeAnimation
|
||||
_08038046:
|
||||
pop {r4, pc}
|
||||
|
||||
thumb_func_start sub_08038048
|
||||
sub_08038048: @ 0x08038048
|
||||
push {r4, r5, r6, lr}
|
||||
adds r4, r0, #0
|
||||
movs r1, #2
|
||||
bl InitializeAnimationAnimation
|
||||
bl UpdateAnimationVariableFrames
|
||||
adds r0, r4, #0
|
||||
bl sub_080AEF88
|
||||
movs r0, #0x36
|
||||
@@ -315,7 +113,7 @@ sub_08038110: @ 0x08038110
|
||||
push {r4, lr}
|
||||
adds r4, r0, #0
|
||||
movs r1, #2
|
||||
bl InitializeAnimationAnimation
|
||||
bl UpdateAnimationVariableFrames
|
||||
adds r0, r4, #0
|
||||
adds r0, #0x5a
|
||||
ldrb r1, [r0]
|
||||
|
||||
+9
-17
@@ -25,20 +25,6 @@ typedef struct {
|
||||
u8 unknown2[4];
|
||||
} BoundingBox;
|
||||
|
||||
union SplitWord {
|
||||
s32 WORD;
|
||||
struct {
|
||||
s16 LO, HI;
|
||||
} HALF;
|
||||
};
|
||||
|
||||
union SplitHWord {
|
||||
u16 HWORD;
|
||||
struct {
|
||||
u8 LO, HI;
|
||||
} PACKED HALF;
|
||||
} PACKED;
|
||||
|
||||
typedef struct Entity {
|
||||
/*0x00*/ u32* field_0x0;
|
||||
/*0x04*/ u32* field_0x4;
|
||||
@@ -73,7 +59,13 @@ typedef struct Entity {
|
||||
/* */ u8 b2 : 2; //0x10
|
||||
/* */ u8 b3 : 2; //0x40
|
||||
/* */ } PACKED spriteRendering;
|
||||
/*0x1a*/ u8 palette;
|
||||
/*0x1a*/ union {
|
||||
/* */ u8 raw;
|
||||
/* */ struct {
|
||||
/* */ u8 b0 : 4;
|
||||
/* */ u8 b4 : 4;
|
||||
/* */ } PACKED b;
|
||||
/* */} PACKED palette;
|
||||
/*0x1b*/ struct {
|
||||
/* */ u8 b0 : 4;
|
||||
/* */ u8 flipX : 2; //0x10
|
||||
@@ -146,8 +138,8 @@ typedef struct Entity {
|
||||
/*0x78*/ union SplitHWord field_0x78;
|
||||
/*0x7a*/ u16 field_0x7a;
|
||||
/*0x7c*/ union SplitWord field_0x7c;
|
||||
/*0x80*/ u16 field_0x80;
|
||||
/*0x82*/ u16 field_0x82;
|
||||
/*0x80*/ union SplitHWord field_0x80;
|
||||
/*0x82*/ union SplitHWord field_0x82;
|
||||
/*0x84*/ union SplitHWord cutsceneBeh;
|
||||
/*0x86*/ u16 field_0x86;
|
||||
} Entity;
|
||||
|
||||
+9
-9
@@ -30,15 +30,15 @@ extern u32 gRoomFlags;
|
||||
|
||||
enum {
|
||||
NONE,
|
||||
/*0x01*/ LV0_CLEAR, /* Simulation Lv. 0 */
|
||||
/*0x02*/ LV1_CLEAR, /* Simulation Lv. 1 */
|
||||
/*0x03*/ LV2_CLEAR, /* Simulation Lv. 2 */
|
||||
/*0x04*/ LV3_CLEAR, /* Simulation Lv. 3 */
|
||||
/*0x05*/ LV4_CLEAR, /* Simulation Lv. 4 */
|
||||
/*0x06*/ LV5_CLEAR, /* Simulation Lv. 5 */
|
||||
/*0x07*/ LV6_CLEAR, /* Simulation Lv. 6 */
|
||||
/*0x08*/ LV7_CLEAR, /* Simulation Lv. 7 */
|
||||
/*0x09*/ LV8_CLEAR, /* Simulation Lv. 8 */
|
||||
/*0x01*/ LV0_CLEAR, /* */
|
||||
/*0x02*/ LV1_CLEAR, /* */
|
||||
/*0x03*/ LV2_CLEAR, /* */
|
||||
/*0x04*/ LV3_CLEAR, /* */
|
||||
/*0x05*/ LV4_CLEAR, /* */
|
||||
/*0x06*/ LV5_CLEAR, /* */
|
||||
/*0x07*/ LV6_CLEAR, /* */
|
||||
/*0x08*/ LV7_CLEAR, /* */
|
||||
/*0x09*/ LV8_CLEAR, /* */
|
||||
/*0x0a*/ MACHI_SET_1, /* Defeated Big Green Chuchu */
|
||||
/*0x0b*/ MACHI_SET_2, /* Defeated Gleerok */
|
||||
/*0x0c*/ MACHI_SET_3, /* */
|
||||
|
||||
@@ -34,6 +34,11 @@ extern void EraseAllEntities(void);
|
||||
extern void SetTile(u32, u32, u32);
|
||||
extern void SetDirtTile(u32);
|
||||
extern void LoadRoomTileEntities(); //tba
|
||||
extern Entity* CreateDeathFx(Entity*, u32, u32);
|
||||
extern void UpdateAnimationVariableFrames(Entity*, u32);
|
||||
extern void CopyPositionAndSpriteOffset(Entity*, Entity*);
|
||||
extern u8* GetSpriteSubEntryOffsetDataPointer(u32, u32);
|
||||
extern u32 LoadFixedGFX(Entity*, u32);
|
||||
|
||||
// Unidentified
|
||||
extern void sub_0806ED78(Entity*);
|
||||
@@ -159,4 +164,38 @@ extern void sub_080AF2E4(void);
|
||||
extern void sub_0805ADD8(u32);
|
||||
extern void sub_0804F578(void);
|
||||
extern void sub_08059994(void);
|
||||
extern u32 sub_080AD84C();
|
||||
extern void sub_0801D7EC(u32);
|
||||
extern s32 sub_0801CFA8(u32);
|
||||
extern void sub_080AD670();
|
||||
extern void sub_080A3210();
|
||||
extern void sub_080AD6AC();
|
||||
extern void sub_080AD76C();
|
||||
extern void sub_080AD644();
|
||||
extern void sub_080ADA14(u32, u32);
|
||||
extern void sub_080AD89C();
|
||||
extern void sub_0801E1B8(u32, u32);
|
||||
extern void sub_0801E1EC(s32, s32, s32);
|
||||
extern void sub_08050008(void);
|
||||
extern void sub_080A3B74(void);
|
||||
extern void sub_080A4054(void);
|
||||
extern void sub_0801C1D4(void);
|
||||
extern void sub_0801C208(void);
|
||||
extern void sub_080A4D34(void);
|
||||
extern u32 sub_080A4494(void);
|
||||
extern void sub_080A4528(void);
|
||||
extern void sub_080A4398(void);
|
||||
extern void sub_0801E738(u32);
|
||||
extern void sub_080A70AC(void*);
|
||||
extern void sub_080A7114(u32);
|
||||
extern void sub_08001242(void);
|
||||
extern void sub_08003FC4(Entity*, u32);
|
||||
extern u8 sub_080043E8(Entity*);
|
||||
extern void sub_08001290(Entity*, u32);
|
||||
extern void sub_08004488(u32);
|
||||
extern void sub_08004596(Entity*, u32);
|
||||
extern u32 sub_0807953C(void);
|
||||
extern void sub_08077B2C(void);
|
||||
extern void sub_080A29BC(Entity*);
|
||||
extern void sub_080AE068(Entity*);
|
||||
#endif
|
||||
|
||||
@@ -59,4 +59,18 @@ struct UCoords16
|
||||
u16 y;
|
||||
};
|
||||
|
||||
union SplitWord {
|
||||
s32 WORD;
|
||||
struct {
|
||||
s16 LO, HI;
|
||||
} HALF;
|
||||
};
|
||||
|
||||
union SplitHWord {
|
||||
u16 HWORD;
|
||||
struct {
|
||||
u8 LO, HI;
|
||||
} PACKED HALF;
|
||||
} PACKED;
|
||||
|
||||
#endif // GUARD_GLOBAL_H
|
||||
|
||||
+1
-1
@@ -94,7 +94,7 @@ extern Entity gLinkEntity;
|
||||
|
||||
extern u32 GetInventoryValue(u32);
|
||||
extern s32 ModHealth(s32);
|
||||
|
||||
extern void ModRupees(s32);
|
||||
#endif
|
||||
|
||||
// clang-format on
|
||||
+31
-5
@@ -14,6 +14,35 @@ typedef struct { // 0x03001000
|
||||
u32 spritePriority;
|
||||
} MainStruct;
|
||||
|
||||
typedef struct {
|
||||
u8 interruptFlag;
|
||||
u8 field_0x1;
|
||||
u8 funcIndex;
|
||||
u8 field_0x3;
|
||||
u8 transition;
|
||||
u8 field_0x5;
|
||||
u8 muteAudio;
|
||||
u8 field_0x8;
|
||||
u8 countdown;
|
||||
} Main;
|
||||
|
||||
typedef struct {
|
||||
u16 nextToLoad;
|
||||
u8 transitionType;
|
||||
u8 field_0x3;
|
||||
u8 state;
|
||||
u8 field_0x5;
|
||||
u8 field_0x6;
|
||||
u8 pauseFadeIn;
|
||||
u16 isLoading;
|
||||
u16 fadeInTime;
|
||||
} UI;
|
||||
|
||||
extern Main gUnk_03001000;
|
||||
extern UI gUnk_02032EC0;
|
||||
|
||||
|
||||
|
||||
extern s32 sub_08055F70();
|
||||
extern s32 sub_080A3204(s32);
|
||||
extern s32 sub_0805616C(s32);
|
||||
@@ -21,10 +50,9 @@ extern s32 sub_0807CE90(s32);
|
||||
extern s32 sub_080560B8(s32);
|
||||
extern void sub_08056208(s32);
|
||||
extern void sub_0804FFE4();
|
||||
extern s32 sub_0804FF84(s32);
|
||||
extern s32 sub_08056418(s32);
|
||||
extern s32 sub_08056418();
|
||||
extern void sub_080ADD30(s32);
|
||||
extern s32 _DmaZero(s32, u32, u32);
|
||||
|
||||
extern s32 sub_08056010(s32);
|
||||
extern s32 sub_08016E78(s32);
|
||||
extern s32 ReadKeyInput();
|
||||
@@ -37,8 +65,6 @@ extern s32 sub_08056458(s32);
|
||||
extern s32 sub_08050154(s32);
|
||||
extern s32 sub_080A3480(s32);
|
||||
|
||||
extern s32 gUnk_02000010;
|
||||
extern s32 gRand;
|
||||
extern MainStruct gUnk_03001000;
|
||||
extern s32 gUnk_08100CBC;
|
||||
#endif
|
||||
+9
-5
@@ -19,15 +19,19 @@ typedef struct {
|
||||
|
||||
typedef struct {
|
||||
u8 field_0x0;
|
||||
u16 field_0x1;
|
||||
u8 field_0x1;
|
||||
u8 field_0x2;
|
||||
u8 secret;
|
||||
u8 field_0x3;
|
||||
u8 field_0x4;
|
||||
u8 menuType;
|
||||
u8 overlayType;
|
||||
u8 storyPanelIndex;
|
||||
u8 field_0x7;
|
||||
u8 transitionTimer;
|
||||
u16 transitionTimer;
|
||||
u8 field_0xa[8];
|
||||
u8 field_0x11;
|
||||
u8 field_0x12[0x16];
|
||||
u32 field_0x2c;
|
||||
} Menu;
|
||||
|
||||
extern Menu gMenu;
|
||||
|
||||
#endif
|
||||
+3
-1
@@ -15,7 +15,8 @@ typedef struct {
|
||||
u16 bg0xOffset;
|
||||
u16 bg0yOffset;
|
||||
u16 bg0Updated;
|
||||
u32 unk;
|
||||
u16 unk;
|
||||
u16 unk2;
|
||||
} BgSettings;
|
||||
|
||||
typedef struct {
|
||||
@@ -69,6 +70,7 @@ typedef struct {
|
||||
BgControls controls;
|
||||
} Screen;
|
||||
|
||||
extern BgControls gBgControls;
|
||||
extern Screen gScreen;
|
||||
|
||||
#endif
|
||||
@@ -0,0 +1,43 @@
|
||||
#ifndef STRUCTURES_H
|
||||
#define STRUCTURES_H
|
||||
|
||||
#include "global.h"
|
||||
#include "entity.h"
|
||||
#include "link.h"
|
||||
|
||||
typedef struct {
|
||||
u8 filler[8];
|
||||
u8 field_0x8;
|
||||
u8 field_0x9[0x34];
|
||||
u32 windcrests;
|
||||
u8 field_0x44[0x64];
|
||||
Stats stats;
|
||||
} 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 field_0x20;
|
||||
u16 field_0x22;
|
||||
u8 field_0x24[0x14];
|
||||
u8 field_0x38;
|
||||
u8 field_0x39;
|
||||
u16 field_0x3a;
|
||||
u8 field_0x3c;
|
||||
u8 filler[6];
|
||||
u16 field_0x44;
|
||||
u16 field_0x46;
|
||||
u16 field_0x48;
|
||||
u16 field_0x4a;
|
||||
} struct_030010A0;
|
||||
|
||||
extern struct_030010A0 gUnk_030010A0;
|
||||
|
||||
|
||||
#endif
|
||||
@@ -345,7 +345,7 @@ SECTIONS {
|
||||
asm/likeLike.o(.text);
|
||||
asm/spearMoblin.o(.text);
|
||||
asm/businessScrub.o(.text);
|
||||
asm/rupeeLike.o(.text);
|
||||
src/enemy/rupeeLike.o(.text);
|
||||
asm/madderpillar.o(.text);
|
||||
asm/waterDrop.o(.text);
|
||||
asm/wallMaster.o(.text);
|
||||
@@ -385,6 +385,7 @@ SECTIONS {
|
||||
asm/flyingPot.o(.text);
|
||||
asm/gibdo.o(.text);
|
||||
asm/octorokGolden.o(.text);
|
||||
src/enemy/tektiteGolden.o(.text);
|
||||
asm/tektiteGolden.o(.text);
|
||||
asm/ropeGolden.o(.text);
|
||||
asm/cloudPiranha.o(.text);
|
||||
@@ -832,7 +833,7 @@ SECTIONS {
|
||||
src/object/fan.o(.text);
|
||||
asm/fan.o(.text);
|
||||
asm/objectA0.o(.text);
|
||||
asm/palaceArchway.o(.text);
|
||||
src/object/palaceArchway.o(.text);
|
||||
asm/objectA2.o(.text);
|
||||
src/object/cloud.o(.text);
|
||||
asm/minishLight.o(.text);
|
||||
@@ -878,17 +879,11 @@ SECTIONS {
|
||||
asm/code_080A29BC.o(.text);
|
||||
asm/playSFX.o(.text);
|
||||
asm/code_080A3480.o(.text);
|
||||
asm/drawKinstoneMenu.o(.text);
|
||||
src/sub_080A3B84.o(.text);
|
||||
asm/code_080A3BD0.o(.text);
|
||||
src/sub_080A554C.o(.text);
|
||||
asm/code_080A5574.o(.text);
|
||||
src/introSetTransition.o(.text);
|
||||
asm/sub_080AD380.o(.text);
|
||||
asm/sub_080AD3F4.o(.text);
|
||||
asm/sub_080AD474.o(.text);
|
||||
src/sub_080AD644.o(.text);
|
||||
asm/sub_080AD670.o(.text);
|
||||
asm/sub_080AD6Ac.o(.text);
|
||||
asm/sub_080AD76C.o(.text);
|
||||
src/sub_080AD834.o(.text);
|
||||
asm/sub_080AD84C.o(.text);
|
||||
|
||||
+1
-1
@@ -184,5 +184,5 @@ u32 sub_0805457C(u32 arg0, u32 arg1) {
|
||||
|
||||
void sub_08054870(void)
|
||||
{
|
||||
gUnk_080FE2A0[gMenu.secret]();
|
||||
gUnk_080FE2A0[gMenu.menuType]();
|
||||
}
|
||||
@@ -44,7 +44,7 @@ void sub_0802A84C(Entity* this) {
|
||||
}
|
||||
|
||||
void sub_0802A8AC(Entity *this) {
|
||||
*((u8 *)&this->field_0x80 + 1) = 0;
|
||||
this->field_0x80.HALF.HI = 0;
|
||||
if (this->entityType.form < 2) {
|
||||
InitializeAnimation(this, 0);
|
||||
}
|
||||
|
||||
+2
-2
@@ -11,7 +11,7 @@ extern void sub_0801ECFC();
|
||||
extern u32 sub_0806F520();
|
||||
extern void sub_0806F4E8();
|
||||
extern void sub_0806F3E4();
|
||||
extern void InitializeAnimationAnimation();
|
||||
extern void UpdateAnimationVariableFrames();
|
||||
extern void sub_0804A720();
|
||||
extern u32 Random();
|
||||
extern void sub_0801ED14();
|
||||
@@ -75,7 +75,7 @@ void sub_0801EB7C(Entity* ent) {
|
||||
|
||||
void sub_0801EB84(Entity* ent) {
|
||||
ent->flags = ent->flags & 127;
|
||||
InitializeAnimationAnimation(ent, 2);
|
||||
UpdateAnimationVariableFrames(ent, 2);
|
||||
}
|
||||
|
||||
void nullsub_3() {
|
||||
|
||||
@@ -0,0 +1,281 @@
|
||||
#include "global.h"
|
||||
#include "entity.h"
|
||||
#include "enemy.h"
|
||||
#include "functions.h"
|
||||
#include "structures.h"
|
||||
#include "link.h"
|
||||
|
||||
extern void sub_080293DC(Entity*);
|
||||
extern void sub_080296D8(Entity*);
|
||||
extern void sub_08029770(Entity*);
|
||||
extern void sub_080297F0(Entity*);
|
||||
extern void sub_080296C8(Entity*);
|
||||
extern void sub_0802969C(Entity*);
|
||||
|
||||
extern void (*const gUnk_080CCC00[])(Entity*);
|
||||
extern void (*const gUnk_080CCC18[])(Entity*);
|
||||
extern void (*const gUnk_080CCC3C[])(Entity*);
|
||||
|
||||
extern u8 gUnk_080CCC34[];
|
||||
extern u8 gUnk_080CCC47[];
|
||||
extern BoundingBox gUnk_080FD260;
|
||||
|
||||
void RupeeLike(Entity* this) {
|
||||
u32 uVar1;
|
||||
|
||||
if (this->entityType.parameter == 0) {
|
||||
uVar1 = sub_080043E8(this);
|
||||
if (uVar1 != 0) {
|
||||
if (this->action == 4) {
|
||||
sub_080296D8(this);
|
||||
}
|
||||
sub_08001290(this, uVar1);
|
||||
} else {
|
||||
gUnk_080CCC00[GetNextFunction(this)](this);
|
||||
SetChildOffset(this, 0, 1, -0x10);
|
||||
}
|
||||
} else {
|
||||
sub_080293DC(this);
|
||||
}
|
||||
}
|
||||
|
||||
void sub_08029300(Entity* this) {
|
||||
gUnk_080CCC18[this->action](this);
|
||||
}
|
||||
|
||||
void sub_08029318(Entity* this) {
|
||||
if (this->damageType == 0x8e) {
|
||||
sub_08029770(this);
|
||||
} else {
|
||||
if (this->action == 4) {
|
||||
sub_080296D8(this);
|
||||
}
|
||||
if (*(u8*)(*(u32*)&this->field_0x4c + 8) == 1) {
|
||||
if (this->action == 2) {
|
||||
InitializeAnimation(this, 0);
|
||||
InitializeAnimation(this->attachedEntity, 4);
|
||||
}
|
||||
this->action = 4;
|
||||
this->actionDelay = 0x3c;
|
||||
this->field_0xf = 0;
|
||||
this->field_0x82.HALF.HI = 0x41;
|
||||
this->flags2 &= 0xfc;
|
||||
this->field_0x80.HALF.LO = gLinkEntity.spritePriority.b1;
|
||||
sub_08004488(0x104);
|
||||
} else {
|
||||
if (this->field_0x43 != 0) {
|
||||
sub_0804A9FC(this, 0x1c);
|
||||
}
|
||||
}
|
||||
}
|
||||
sub_0804AA30(this, gUnk_080CCC00);
|
||||
}
|
||||
|
||||
void sub_080293B4(Entity* this) {
|
||||
CreateDeathFx(this, 0xff, gUnk_080CCC34[this->cutsceneBeh.HALF.LO * 3 + this->entityType.form]);
|
||||
}
|
||||
|
||||
void nullsub_141() {
|
||||
}
|
||||
|
||||
void sub_080293DC(Entity* this) {
|
||||
CopyPositionAndSpriteOffset(this->parent, this);
|
||||
this->y.HALF.HI++;
|
||||
this->height.HALF.HI--;
|
||||
gUnk_080CCC3C[this->action](this);
|
||||
}
|
||||
|
||||
void sub_0802940C(Entity* this) {
|
||||
Entity* ent;
|
||||
|
||||
ent = CreateEnemy(0x17, this->entityType.form);
|
||||
if (ent != NULL) {
|
||||
sub_0804A720(this);
|
||||
ent->parent = this;
|
||||
ent->entityType.parameter = 1;
|
||||
this->attachedEntity = ent;
|
||||
this->field_0x80.HALF.HI = 0;
|
||||
this->cutsceneBeh.HALF.LO = 0;
|
||||
this->field_0x82.HALF.LO = this->palette.b.b0;
|
||||
sub_080297F0(this);
|
||||
}
|
||||
}
|
||||
|
||||
void sub_0802944C(Entity* this) {
|
||||
sub_080296C8(this);
|
||||
if ((this->field_0x80.HALF.HI != 0) && sub_08049FDC(this, 1)) {
|
||||
sub_08029770(this);
|
||||
}
|
||||
}
|
||||
|
||||
void sub_08029474(Entity* this) {
|
||||
u32 bVar1;
|
||||
|
||||
sub_080296C8(this);
|
||||
if (this->frames.b.f3) {
|
||||
this->action = 3;
|
||||
this->actionDelay = 8;
|
||||
bVar1 = GetFacingDirection(this, &gLinkEntity);
|
||||
this->direction = bVar1;
|
||||
this->animationState = (bVar1 << 0x18) >> 0x1c;
|
||||
InitializeAnimation(this, this->animationState);
|
||||
InitializeAnimation(this->attachedEntity, this->animationState + 4);
|
||||
} else {
|
||||
if (this->frames.all == 1) {
|
||||
this->frames.all = 0;
|
||||
this->flags |= 0x80;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void sub_080294D4(Entity* this) {
|
||||
if (sub_08049FDC(this, 1) != 0) {
|
||||
if (--this->actionDelay == 0) {
|
||||
this->actionDelay = 8;
|
||||
sub_08004596(this, GetFacingDirection(this, &gLinkEntity));
|
||||
sub_0802969C(this);
|
||||
}
|
||||
sub_080AEF88(this);
|
||||
sub_080296C8(this);
|
||||
} else {
|
||||
this->action = 6;
|
||||
this->flags &= 0x7f;
|
||||
InitializeAnimation(this, 3);
|
||||
InitializeAnimation(this->attachedEntity, 7);
|
||||
}
|
||||
}
|
||||
|
||||
extern s8 gUnk_080CCC44[];
|
||||
|
||||
void sub_0802953C(Entity* this) {
|
||||
u8* pbVar3;
|
||||
|
||||
sub_080296C8(this);
|
||||
sub_080296C8(this);
|
||||
if (sub_0807953C() != 0) {
|
||||
this->field_0xf++;
|
||||
}
|
||||
if (this->actionDelay != 0) {
|
||||
this->actionDelay--;
|
||||
}
|
||||
if (((this->field_0xf > 0x2d) || (gUnk_02002A40.stats.rupees == 0)) && (this->actionDelay == 0)) {
|
||||
sub_080296D8(this);
|
||||
} else {
|
||||
sub_08077B2C();
|
||||
gLinkState.field_0x1a[0] |= 0x80;
|
||||
PositionRelative(this, &gLinkEntity, 0, 0x10000);
|
||||
pbVar3 = GetSpriteSubEntryOffsetDataPointer((u16)this->spriteIndex, this->frameIndex);
|
||||
gLinkEntity.spriteOffsetX = pbVar3[0];
|
||||
gLinkEntity.spriteOffsetY = pbVar3[1] - 1;
|
||||
gLinkEntity.spritePriority.b1 = 0;
|
||||
if (--this->field_0x82.HALF.HI == 0) {
|
||||
this->field_0x82.HALF.HI = 0x41;
|
||||
if (gUnk_02002A40.stats.rupees != 0) {
|
||||
ModRupees(gUnk_080CCC44[this->entityType.form]);
|
||||
this->cutsceneBeh.HALF.LO = 1;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void sub_08029610(Entity* this) {
|
||||
if (--this->field_0xf == 0) {
|
||||
this->action = 3;
|
||||
this->actionDelay = 1;
|
||||
}
|
||||
sub_080296C8(this);
|
||||
}
|
||||
|
||||
void sub_08029630(Entity* this) {
|
||||
sub_080296C8(this);
|
||||
if ((this->frames.b.f3) != 0) {
|
||||
this->field_0x80.HALF.HI = 1;
|
||||
this->attachedEntity->spriteSettings.b.draw = FALSE;
|
||||
sub_080297F0(this);
|
||||
}
|
||||
}
|
||||
|
||||
void sub_08029660(Entity* this) {
|
||||
u32 temp;
|
||||
this->action = 1;
|
||||
this->spriteIndex = 0xd1;
|
||||
temp = gUnk_080CCC47[this->entityType.form];
|
||||
this->palette.b.b0 = temp;
|
||||
}
|
||||
|
||||
void sub_08029688(Entity* this) {
|
||||
if (this->parent->field_0x4 == NULL) {
|
||||
DeleteEntity(this);
|
||||
}
|
||||
}
|
||||
|
||||
void sub_0802969C(Entity* this) {
|
||||
u32 bVar1;
|
||||
|
||||
if ((this->direction & 0xf) != 0) {
|
||||
|
||||
bVar1 = this->direction >> 4;
|
||||
if (bVar1 != this->animationState) {
|
||||
this->animationState = bVar1;
|
||||
InitializeAnimation(this, bVar1);
|
||||
InitializeAnimation(this->attachedEntity, bVar1 + 4);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void sub_080296C8(Entity* this) {
|
||||
GetNextFrame(this);
|
||||
GetNextFrame(this->attachedEntity);
|
||||
}
|
||||
|
||||
void sub_080296D8(Entity* this) {
|
||||
gLinkState.jumpStatus = 0x41;
|
||||
gLinkState.flags.all &= 0xffffffef;
|
||||
gLinkEntity.flags |= 0x80;
|
||||
gLinkEntity.field_0x20 = 0x18000;
|
||||
gLinkEntity.hurtBlinkTime = 0xa6;
|
||||
gLinkEntity.height.HALF.HI = -2;
|
||||
gLinkEntity.direction = gLinkEntity.animationState << 2;
|
||||
gLinkEntity.spritePriority.b1 = this->field_0x80.HALF.LO;
|
||||
gLinkEntity.spriteOffsetY = 0;
|
||||
gLinkEntity.nonPlanarMovement = 0x140;
|
||||
this->action = 5;
|
||||
this->field_0xf = 0x3c;
|
||||
this->flags2 |= 3;
|
||||
if ((s8)this->hurtBlinkTime == 0) {
|
||||
this->hurtBlinkTime = 0xf4;
|
||||
}
|
||||
}
|
||||
|
||||
void sub_08029770(Entity* this) {
|
||||
u32 temp;
|
||||
if (LoadFixedGFX(this, 0x73) != 0) {
|
||||
this->action = 2;
|
||||
this->flags = this->flags & 0x7f;
|
||||
this->spriteIndex = 0xd1;
|
||||
this->spritePriority.b1 = 3;
|
||||
temp = this->field_0x82.HALF.LO;
|
||||
this->palette.b.b0 = temp;
|
||||
this->damageType = 0x8d;
|
||||
this->boundingBox = &gUnk_080FD260;
|
||||
InitializeAnimation(this, 2);
|
||||
this->attachedEntity->spriteSettings.b.draw = TRUE;
|
||||
InitializeAnimation(this->attachedEntity, 6);
|
||||
sub_080A29BC(this);
|
||||
}
|
||||
}
|
||||
|
||||
void sub_080297F0(Entity* this) {
|
||||
u32 temp;
|
||||
this->action = 1;
|
||||
this->actionDelay = 0x78;
|
||||
this->flags = this->flags | 0x80;
|
||||
this->spriteSettings.b.draw = TRUE;
|
||||
this->damageType = 0x8e;
|
||||
sub_080AE068(this);
|
||||
this->spriteIndex = 0x143;
|
||||
temp = gUnk_080CCC47[this->entityType.form];
|
||||
this->palette.b.b0 = temp;
|
||||
this->spriteVramOffset = 9;
|
||||
InitializeAnimation(this, 0x54);
|
||||
}
|
||||
@@ -0,0 +1,108 @@
|
||||
#include "global.h"
|
||||
#include "entity.h"
|
||||
#include "enemy.h"
|
||||
#include "functions.h"
|
||||
#include "flags.h"
|
||||
|
||||
extern void sub_08038168(Entity*);
|
||||
|
||||
extern void (*const gUnk_080CF4A0)(Entity*);
|
||||
extern void (*const gUnk_080CF4B8[])(Entity*);
|
||||
|
||||
void TektiteGolden(Entity *this)
|
||||
{
|
||||
EnemyFunctionHandler(this, &gUnk_080CF4A0);
|
||||
SetChildOffset(this, 0, 1, -0x10);
|
||||
}
|
||||
|
||||
void sub_08037EE8(Entity* this)
|
||||
{
|
||||
gUnk_080CF4B8[this->action](this);
|
||||
}
|
||||
|
||||
void sub_08037F00(Entity *this)
|
||||
{
|
||||
u32 uVar1;
|
||||
|
||||
if (this->field_0x43 != 0) {
|
||||
sub_0804A9FC(this,0x1c);
|
||||
}
|
||||
sub_0804AA30(this, &gUnk_080CF4A0);
|
||||
if (this->bitfield == 0x94) {
|
||||
this->action = 1;
|
||||
this->previousActionFlag = 0;
|
||||
this->actionDelay = 0x14;
|
||||
this->field_0xf = 0;
|
||||
this->field_0x80.HALF.LO = 0;
|
||||
uVar1 = this->height.HALF.HI;
|
||||
if (uVar1 != 0) {
|
||||
this->field_0x20 >>= 2;
|
||||
}
|
||||
else {
|
||||
this->field_0x20 = uVar1;
|
||||
}
|
||||
|
||||
InitializeAnimation(this,0);
|
||||
}
|
||||
}
|
||||
|
||||
void sub_08037F58(Entity *this)
|
||||
{
|
||||
u32 uVar1;
|
||||
|
||||
if ((this->field_0x3a & 2) == 0) {
|
||||
SetGlobalFlag(this->entityType.parameter);
|
||||
}
|
||||
if ((this->entityType).form != 0) {
|
||||
uVar1 = 0x59;
|
||||
}
|
||||
else {
|
||||
uVar1 = 0x58;
|
||||
}
|
||||
CreateDeathFx(this, 0xff, uVar1);
|
||||
}
|
||||
|
||||
void sub_08037F84(Entity *this)
|
||||
{
|
||||
sub_08001242();
|
||||
if (this->height.HALF.HI != 0) {
|
||||
sub_08003FC4(this, 0x3000);
|
||||
}
|
||||
}
|
||||
|
||||
void sub_08037FA0(Entity *this)
|
||||
{
|
||||
|
||||
if (CheckGlobalFlag(this->entityType.parameter)) {
|
||||
DeleteThisEntity();
|
||||
}
|
||||
sub_0804A720(this);
|
||||
this->action = 1;
|
||||
this->previousActionFlag = 0;
|
||||
this->actionDelay = (Random() & 0x1f) + 0x20;
|
||||
this->field_0xf = 0;
|
||||
this->field_0x80.HALF.LO = 0;
|
||||
InitializeAnimation(this,0);
|
||||
}
|
||||
|
||||
void sub_08037Fe0(Entity *this)
|
||||
{
|
||||
UpdateAnimationVariableFrames(this, 2);
|
||||
if (this->actionDelay != 0) {
|
||||
this->actionDelay--;
|
||||
}
|
||||
else if (this->field_0xf != 0) {
|
||||
if ((this->frames.b.f3) != 0) {
|
||||
this->action = 2;
|
||||
this->actionDelay = 6;
|
||||
this->field_0xf = 0;
|
||||
this->field_0x20 = 0x38000;
|
||||
sub_08038168(this);
|
||||
InitializeAnimation(this, 2);
|
||||
}
|
||||
}
|
||||
else if ((this->frames.b.f3) != 0) {
|
||||
this->field_0xf = 0x40;
|
||||
InitializeAnimation(this, 1);
|
||||
}
|
||||
}
|
||||
+255
-17
@@ -1,27 +1,265 @@
|
||||
#include "global.h"
|
||||
#include "menu.h"
|
||||
#include "main.h"
|
||||
#include "entity.h"
|
||||
#include "functions.h"
|
||||
#include "screen.h"
|
||||
|
||||
extern void (*const gUnk_081320F0[])();
|
||||
|
||||
typedef struct {
|
||||
u8 field_0x0;
|
||||
u8 field_0x1;
|
||||
u8 field_0x2;
|
||||
u8 field_0x3;
|
||||
u32 field_0x4;
|
||||
} struct_03000FD0;
|
||||
|
||||
extern struct_03000FD0 gUnk_03000FD0;
|
||||
|
||||
typedef struct {
|
||||
char header[4];
|
||||
u8 saveFile;
|
||||
u8 field_0x5;
|
||||
u8 brightnessPref;
|
||||
u8 gameLanguage;
|
||||
} struct_02000000;
|
||||
|
||||
typedef struct {
|
||||
u8 unk;
|
||||
u8 unk2;
|
||||
u8 unk3;
|
||||
u8 functionIndex;
|
||||
u16 unk6;
|
||||
u8 filler[5];
|
||||
u32 ticks;
|
||||
u16 unk7;
|
||||
} TransitionStruct;
|
||||
u8 field_0x5;
|
||||
} struct_02000010;
|
||||
|
||||
extern u32 DoFade(u32, u32);
|
||||
extern void _DmaZero(u32*, u32, u32);
|
||||
extern TransitionStruct gUnk_03001000;
|
||||
extern MenuControls gUnk_02032EC0;
|
||||
|
||||
u32 IntroSetTransition(u8 transition, u32 param_2, u32 param_3)
|
||||
extern struct_02000010 gUnk_02000010;
|
||||
|
||||
u32 IntroSetTransition(u32 transition)
|
||||
{
|
||||
gUnk_02032EC0.transitionType = transition;
|
||||
gUnk_03001000.functionIndex = 2;
|
||||
_DmaZero((u32 *)&gMenu, 48, param_3);
|
||||
return DoFade(7, 8);
|
||||
gUnk_03001000.field_0x3 = 2;
|
||||
_DmaZero((u32 *)&gMenu, 48);
|
||||
DoFade(7, 8);
|
||||
}
|
||||
|
||||
void sub_080AD380()
|
||||
{
|
||||
sub_080AD90C();
|
||||
switch (gUnk_03001000.field_0x3) {
|
||||
case 0:
|
||||
sub_08056418();
|
||||
_DmaZero(&gUnk_02032EC0, 0x3b4);
|
||||
IntroSetTransition(0);
|
||||
break;
|
||||
case 1:
|
||||
gUnk_081320F0[gUnk_02032EC0.transitionType]();
|
||||
break;
|
||||
case 2:
|
||||
if (gUnk_03000FD0.field_0x0 != 0) {
|
||||
return;
|
||||
}
|
||||
sub_0801DA90(1);
|
||||
gUnk_03001000.field_0x3 = 1;
|
||||
break;
|
||||
}
|
||||
sub_080AD918();
|
||||
}
|
||||
|
||||
void sub_080AD3F4(void)
|
||||
{
|
||||
u32 iVar1;
|
||||
u32 uVar2;
|
||||
|
||||
iVar1 = sub_080AD84C();
|
||||
if (gMenu.menuType == 0) {
|
||||
sub_0801DA90(1);
|
||||
gMenu.menuType = 1;
|
||||
gMenu.transitionTimer = 0x78;
|
||||
sub_0801D7EC(0x10);
|
||||
sub_0801D7EC(1);
|
||||
if (((struct_02000000 *)0x2000000)->gameLanguage == 0) {
|
||||
uVar2 = 1;
|
||||
}
|
||||
else {
|
||||
uVar2 = 2;
|
||||
}
|
||||
LoadPalettesByPaletteGroupIndex(uVar2);
|
||||
gScreen.lcd.lcdControl2 |= 0x400;
|
||||
gScreen.bg2.bg0xOffset = 1;
|
||||
DoFade(6, 8);
|
||||
iVar1 = 0;
|
||||
}
|
||||
else {
|
||||
if (iVar1 == 1) {
|
||||
iVar1 = 2;
|
||||
}
|
||||
}
|
||||
if (iVar1 == 2) {
|
||||
gUnk_02000010.field_0x5 = 1;
|
||||
IntroSetTransition(1);
|
||||
}
|
||||
}
|
||||
|
||||
// typedef struct {
|
||||
// u16 field_0x0[5];
|
||||
// } struct_03001010;
|
||||
|
||||
extern u16 gUnk_03001010[5];
|
||||
|
||||
extern u8 gUnk_02024490;
|
||||
|
||||
void sub_080AD474(void)
|
||||
{
|
||||
int iVar2;
|
||||
u32 uVar3;
|
||||
|
||||
gMenu.field_0x11++;
|
||||
switch (gMenu.menuType) {
|
||||
case 0:
|
||||
gMenu.menuType = 1;
|
||||
gMenu.overlayType = 0;
|
||||
gMenu.transitionTimer = 0x1e;
|
||||
gMenu.field_0x4 = 7;
|
||||
EraseAllEntities();
|
||||
sub_080ADD30(sub_0801CFA8(0));
|
||||
gUnk_02024490 = 1;
|
||||
sub_0801D7EC(2);
|
||||
if (((struct_02000000*)0x2000000)->gameLanguage == 0) {
|
||||
uVar3 = 3;
|
||||
}
|
||||
else {
|
||||
uVar3 = 4;
|
||||
}
|
||||
LoadPalettesByPaletteGroupIndex(uVar3);
|
||||
if (((struct_02000000*)0x2000000)->gameLanguage == 0) {
|
||||
gScreen.controls.windowOutsideControl = 0x844;
|
||||
gScreen.controls.mosaicSize = 0x909;
|
||||
gScreen.bg1.unk = 0x1c09;
|
||||
gScreen.bg2.unk = 0x1d02;
|
||||
gScreen.affine.unk2 = 0x1e03;
|
||||
gScreen.lcd.lcdControl2 |= 0x1e00;
|
||||
gScreen.bg2.bg0Control = 0xff60;
|
||||
}
|
||||
else {
|
||||
gScreen.controls.windowOutsideControl = 0x241;
|
||||
gScreen.controls.mosaicSize = 0x909;
|
||||
gScreen.lcd.lcdControl1 = 0x1d02;
|
||||
gScreen.bg1.unk = 0x1E03;
|
||||
gScreen.bg2.unk = 0x7C89;
|
||||
gScreen.lcd.lcdControl2 |= 1;
|
||||
gScreen.lcd.lcdControl2 |= 0x1300;
|
||||
gMenu.field_0x2c = 0x10;
|
||||
sub_080AD670();
|
||||
}
|
||||
sub_080A3210();
|
||||
PlaySFX(3); //fanfare
|
||||
DoFade(6, 8);
|
||||
break;
|
||||
case 1:
|
||||
if (gUnk_03000FD0.field_0x0 != 0) {
|
||||
return;
|
||||
}
|
||||
if (((struct_02000000*)0x2000000)->gameLanguage == 0) {
|
||||
sub_080AD6AC();
|
||||
}
|
||||
else {
|
||||
sub_080AD76C();
|
||||
}
|
||||
break;
|
||||
case 2:
|
||||
gMenu.transitionTimer--;
|
||||
if (gMenu.transitionTimer == 0) {
|
||||
gMenu.transitionTimer = 0xe10;
|
||||
gMenu.menuType++;
|
||||
}
|
||||
sub_080AD644();
|
||||
break;
|
||||
default:
|
||||
iVar2 = sub_080AD84C();
|
||||
if (iVar2 != 0) {
|
||||
if (iVar2 == 2) {
|
||||
PlaySFX(0x6a);
|
||||
}
|
||||
else {
|
||||
iVar2 = 0;
|
||||
}
|
||||
IntroSetTransition(iVar2);
|
||||
PlaySFX(0x80080000);
|
||||
}
|
||||
sub_080AD644();
|
||||
if ((gMenu.transitionTimer & 0x20) == 0) {
|
||||
gUnk_03001010[4] = 0xe000;
|
||||
gUnk_03001010[1] = 0x84;
|
||||
sub_080ADA14(0x1ff,0);
|
||||
}
|
||||
}
|
||||
if (gMenu.field_0x4 != ((struct_02000000*)0x2000000)->gameLanguage) {
|
||||
gMenu.field_0x4 = ((struct_02000000*)0x2000000)->gameLanguage;
|
||||
sub_0801D7EC(3);
|
||||
}
|
||||
sub_080AD89C();
|
||||
sub_0805E5C0();
|
||||
sub_080AD9B0();
|
||||
}
|
||||
|
||||
void sub_080AD644(void) {
|
||||
|
||||
gUnk_03001010[2] = 0;
|
||||
gUnk_03001010[3] = 0;
|
||||
gUnk_03001010[4] = 57376;
|
||||
gUnk_03001010[0] = 120;
|
||||
gUnk_03001010[1] = 152;
|
||||
sub_080ADA14(511, 1);
|
||||
return;
|
||||
}
|
||||
|
||||
void sub_080AD670(void)
|
||||
{
|
||||
struct BgAffineSrcData aff;
|
||||
aff.texY = 0x8000;
|
||||
aff.texX = 0x8000;
|
||||
aff.scrX = 0x78;
|
||||
aff.scrY = 0x48;
|
||||
aff.alpha = 0;
|
||||
aff.sy = aff.sx = gMenu.field_0x2c;
|
||||
BgAffineSet(&aff, (struct BgAffineDstData*)&gBgControls, 1);
|
||||
}
|
||||
|
||||
void sub_080AD6AC(void)
|
||||
{
|
||||
Entity *pEVar2;
|
||||
|
||||
switch (gMenu.overlayType) {
|
||||
case 0:
|
||||
if (gUnk_03000FD0.field_0x0 == 0) {
|
||||
if ((gMenu.field_0x11 & 1) == 0) {
|
||||
gScreen.bg2.bg0Control++;
|
||||
}
|
||||
|
||||
if ((sub_080AD84C() == 2) || (gScreen.bg2.bg0Control == 0)) {
|
||||
gMenu.overlayType++;
|
||||
gScreen.bg2.bg0Control = 0;
|
||||
gScreen.bg1.unk = 0xc09;
|
||||
gUnk_03000FD0.field_0x4 = 0x40;
|
||||
DoFade(6,0x10);
|
||||
PlaySFX(0xf8);
|
||||
}
|
||||
}
|
||||
break;
|
||||
case 1:
|
||||
if (gUnk_03000FD0.field_0x0 == '\0') {
|
||||
gUnk_03000FD0.field_0x4 = -1;
|
||||
gMenu.overlayType++;
|
||||
gMenu.transitionTimer = 0x5a;
|
||||
pEVar2 = CreateObject(0xb4,0,0);
|
||||
if (pEVar2 != NULL) {
|
||||
pEVar2->x.HALF.HI = 0;
|
||||
pEVar2->y.HALF.HI = 0x48;
|
||||
}
|
||||
}
|
||||
break;
|
||||
case 2:
|
||||
if (sub_080AD84C()) {
|
||||
gMenu.menuType++;
|
||||
gMenu.transitionTimer = 0x3c;
|
||||
}
|
||||
}
|
||||
}
|
||||
+1
-1
@@ -57,7 +57,7 @@ void sub_08018CBC(Entity *this)
|
||||
this->action = 2;
|
||||
this->spriteSettings.b.draw = 1;
|
||||
this->spriteIndex = 0xa6;
|
||||
this->palette = 0x33;
|
||||
this->palette.raw = 0x33;
|
||||
this->spriteVramOffset = 0;
|
||||
(this->entityType).form = gLinkState.field_0x1d[0] - 1;
|
||||
this->actionDelay = gUnk_080B3DE0[(this->entityType).form * 2];
|
||||
|
||||
@@ -90,9 +90,9 @@ void sub_080600F0(Entity* this) {
|
||||
u32 uVar1;
|
||||
u32 uVar2;
|
||||
|
||||
uVar2 = this->field_0x80;
|
||||
if (this->field_0x80 < 8) {
|
||||
if ((this->field_0x82 & 1) != 0) {
|
||||
uVar2 = this->field_0x80.HWORD;
|
||||
if (this->field_0x80.HWORD < 8) {
|
||||
if ((this->field_0x82.HWORD & 1) != 0) {
|
||||
uVar2 = (uVar2 & 0xfc) + (this->field_0xf >> 1);
|
||||
} else {
|
||||
uVar2 = (uVar2 & 0xfc) + (this->animationState >> 1);
|
||||
@@ -102,7 +102,7 @@ void sub_080600F0(Entity* this) {
|
||||
if (uVar2 != this->animIndex) {
|
||||
InitAnimationForceUpdate(this, uVar2);
|
||||
}
|
||||
if ((this->field_0x82 & 4) != 0) {
|
||||
if ((this->field_0x82.HWORD & 4) != 0) {
|
||||
uVar1 = 2;
|
||||
} else {
|
||||
uVar1 = 1;
|
||||
|
||||
+2
-2
@@ -63,7 +63,7 @@ void sub_08069428(Entity* this, s32 offsetX, bool32 createFx65);
|
||||
void sub_080693D0(Entity* this) {
|
||||
sub_0807DD94(this, 0);
|
||||
if (this->animIndex == 8) {
|
||||
u32 var0 = this->field_0x82 & 0xF;
|
||||
u32 var0 = this->field_0x82.HWORD & 0xF;
|
||||
bool32 createFx65 = ((-var0) | var0) >> 0x1F; // = !var0
|
||||
|
||||
if (this->frames.all == 1) {
|
||||
@@ -121,7 +121,7 @@ void sub_080694EC(Entity* this) {
|
||||
anim = 2;
|
||||
if (!CheckKinstoneFused(47)) anim = 8;
|
||||
InitAnimationForceUpdate(this, anim);
|
||||
this->field_0x80 = anim;
|
||||
this->field_0x80.HWORD = anim;
|
||||
}
|
||||
|
||||
void Goron_Fusion(Entity* this) {
|
||||
|
||||
+2
-2
@@ -157,8 +157,8 @@ void sub_080661BC(Entity *this)
|
||||
if (this->animIndex == 0xc) {
|
||||
UpdateAnimationSingleFrame(this);
|
||||
if ((this->frames.b.f3) != 0) {
|
||||
this->field_0x80 = GetAnimationState(this) + 8;
|
||||
InitAnimationForceUpdate(this, this->field_0x80);
|
||||
this->field_0x80.HWORD = GetAnimationState(this) + 8;
|
||||
InitAnimationForceUpdate(this, this->field_0x80.HWORD);
|
||||
}
|
||||
}
|
||||
else {
|
||||
|
||||
+1
-1
@@ -41,7 +41,7 @@ void sub_0806A1F8(Entity *this)
|
||||
void sub_0806A234(Entity *this)
|
||||
{
|
||||
sub_0807DD94(this, 0);
|
||||
if ((this->field_0x82 & 4) != 0) {
|
||||
if ((this->field_0x82.HWORD & 4) != 0) {
|
||||
if ((gUnk_030010A0 & 7) == 0) {
|
||||
sub_0806A26C(this);
|
||||
}
|
||||
|
||||
+6
-6
@@ -109,27 +109,27 @@ void sub_08066DE4(Entity* ent) {
|
||||
|
||||
void sub_08066E08(Entity* ent) {
|
||||
InitAnimationForceUpdate(ent, 0x50);
|
||||
ent->field_0x80 = ent->animIndex;
|
||||
ent->field_0x80.HWORD = ent->animIndex;
|
||||
}
|
||||
|
||||
void sub_08066E20(Entity* ent) {
|
||||
InitAnimationForceUpdate(ent, 0x44);
|
||||
ent->field_0x80 = ent->animIndex;
|
||||
ent->field_0x80.HWORD = ent->animIndex;
|
||||
}
|
||||
|
||||
void sub_08066E38(Entity* ent) {
|
||||
InitAnimationForceUpdate(ent, 0x48);
|
||||
ent->field_0x80 = ent->animIndex;
|
||||
ent->field_0x80.HWORD = ent->animIndex;
|
||||
}
|
||||
|
||||
void sub_08066E50(Entity* ent) {
|
||||
InitAnimationForceUpdate(ent, 0x4C);
|
||||
ent->field_0x80 = ent->animIndex;
|
||||
ent->field_0x80.HWORD = ent->animIndex;
|
||||
}
|
||||
|
||||
void sub_08066E68(Entity* ent) {
|
||||
InitAnimationForceUpdate(ent, 0x54);
|
||||
ent->field_0x80 = ent->animIndex;
|
||||
ent->field_0x80.HWORD = ent->animIndex;
|
||||
}
|
||||
|
||||
void sub_08066E80(Entity* ent, u8* param_2) {
|
||||
@@ -172,7 +172,7 @@ void sub_08066E80(Entity* ent, u8* param_2) {
|
||||
return;
|
||||
}
|
||||
}
|
||||
ent->field_0x80 = ent->animIndex;
|
||||
ent->field_0x80.HWORD = ent->animIndex;
|
||||
gUnk_02033280[6] = 0;
|
||||
}
|
||||
|
||||
|
||||
@@ -11,7 +11,7 @@ void Object1C(Entity *this)
|
||||
if (this->action == 0) {
|
||||
this->action = 1;
|
||||
}
|
||||
iVar1 = CheckRectOnScreen(this->field_0x80, this->field_0x82, 0x10, 0x10);
|
||||
iVar1 = CheckRectOnScreen(this->field_0x80.HWORD, this->field_0x82.HWORD, 0x10, 0x10);
|
||||
if (iVar1 == 0) {
|
||||
this->parent->field_0x20 &= ~(1 << this->entityType.parameter);
|
||||
DeleteThisEntity();
|
||||
|
||||
@@ -0,0 +1,21 @@
|
||||
#include "global.h"
|
||||
#include "entity.h"
|
||||
#include "room.h"
|
||||
#include "functions.h"
|
||||
|
||||
extern void (*const gUnk_081246EC[])(Entity*);
|
||||
|
||||
void PalaceArchway(Entity* this) {
|
||||
gUnk_081246EC[this->action](this);
|
||||
}
|
||||
|
||||
void sub_0809F2A0(Entity *this)
|
||||
{
|
||||
this->action = 1;
|
||||
this->frameIndex = this->entityType.parameter;
|
||||
this->spriteRendering.b3 = 3;
|
||||
this->spritePriority.b0 = 7;
|
||||
SetTile(0x4069, COORD_TO_TILE(this), this->collisionLayer);
|
||||
}
|
||||
|
||||
void nullsub_537() {}
|
||||
+3
-3
@@ -19,14 +19,14 @@ void sub_080A0EB0(Entity* ent) {
|
||||
|
||||
ent->action = 1;
|
||||
tilePos = COORD_TO_TILE(ent);
|
||||
ent->field_0x80 = tilePos;
|
||||
SetTile(16509, ent->field_0x80, 1);
|
||||
ent->field_0x80.HWORD = tilePos;
|
||||
SetTile(16509, ent->field_0x80.HWORD, 1);
|
||||
}
|
||||
|
||||
void sub_080A0EF0(Entity* ent) {
|
||||
s32 tileIndex;
|
||||
|
||||
tileIndex = GetTileType(ent->field_0x80, 1);
|
||||
tileIndex = GetTileType(ent->field_0x80.HWORD, 1);
|
||||
if (tileIndex != 0x407D) {
|
||||
sub_08078B48();
|
||||
gLinkEntity.x.WORD = ent->x.WORD;
|
||||
|
||||
+61
-105
@@ -6,52 +6,8 @@
|
||||
#include "flags.h"
|
||||
#include "link.h"
|
||||
#include "screen.h"
|
||||
|
||||
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 field_0x20;
|
||||
u16 field_0x22;
|
||||
u8 field_0x24[0x14];
|
||||
u8 field_0x38;
|
||||
u8 field_0x39;
|
||||
u16 field_0x3a;
|
||||
u8 field_0x3c;
|
||||
u8 filler[6];
|
||||
u16 field_0x44;
|
||||
u16 field_0x46;
|
||||
u16 field_0x48;
|
||||
u16 field_0x4a;
|
||||
} struct_030010A0;
|
||||
|
||||
typedef struct {
|
||||
u8 filler[8];
|
||||
u8 field_0x8;
|
||||
u8 field_0x9[0x34];
|
||||
u32 windcrests;
|
||||
u8 field_0x44[0x64];
|
||||
Stats stats;
|
||||
} struct_02002A40;
|
||||
|
||||
typedef struct {
|
||||
u8 interruptFlag;
|
||||
u8 field_0x1;
|
||||
u8 funcIndex;
|
||||
u8 field_0x3;
|
||||
u8 transition;
|
||||
u8 field_0x5;
|
||||
u8 muteAudio;
|
||||
u8 field_0x8;
|
||||
u8 countdown;
|
||||
} Main;
|
||||
|
||||
extern struct_030010A0 gUnk_030010A0;
|
||||
extern struct_02002A40 gUnk_02002A40;
|
||||
extern Main gUnk_03001000;
|
||||
#include "main.h"
|
||||
#include "structures.h"
|
||||
|
||||
void sub_0804B3C4(u32 arg0) {
|
||||
sub_0804B29C(arg0);
|
||||
@@ -4463,13 +4419,13 @@ extern EntityData gUnk_080F0920;
|
||||
void sub_0804E27C(void)
|
||||
{
|
||||
|
||||
if (!CheckGlobalFlag(0x15)) {
|
||||
if (!CheckGlobalFlag(TABIDACHI)) {
|
||||
LoadRoomEntityList(&gUnk_080F0650);
|
||||
gArea.pMusicIndex = 0x13;
|
||||
SetGlobalFlag(100);
|
||||
SetGlobalFlag(CASTLE_BGM);
|
||||
}
|
||||
else {
|
||||
if (CheckGlobalFlag(100)) {
|
||||
if (CheckGlobalFlag(CASTLE_BGM)) {
|
||||
gArea.pMusicIndex = 0x1b;
|
||||
}
|
||||
}
|
||||
@@ -4525,7 +4481,7 @@ extern EntityData gUnk_080F1C88;
|
||||
|
||||
void sub_0804E460(void)
|
||||
{
|
||||
if (!CheckGlobalFlag(0x4a)) {
|
||||
if (!CheckGlobalFlag(POWERGLOVE_HINT)) {
|
||||
LoadRoomEntityList(&gUnk_080F1C68);
|
||||
}
|
||||
else {
|
||||
@@ -4543,11 +4499,11 @@ extern EntityData gUnk_080F1DD0;
|
||||
|
||||
void sub_0804E488(void)
|
||||
{
|
||||
if (CheckGlobalFlag(0x2e)) {
|
||||
if (CheckGlobalFlag(NEW_HOUSE_DIN)) {
|
||||
LoadRoomEntityList(&gUnk_080F1D90);
|
||||
} else if (CheckGlobalFlag(0x2f)) {
|
||||
} else if (CheckGlobalFlag(NEW_HOUSE_NAYRU)) {
|
||||
LoadRoomEntityList(&gUnk_080F1DB0);
|
||||
} else if (CheckGlobalFlag(0x30)) {
|
||||
} else if (CheckGlobalFlag(NEW_HOUSE_FARORE)) {
|
||||
LoadRoomEntityList(&gUnk_080F1DD0);
|
||||
}
|
||||
}
|
||||
@@ -4577,7 +4533,7 @@ void sub_0804E4E4(void)
|
||||
|
||||
LoadRoomEntityList(&gUnk_080F2174);
|
||||
// picori legend book
|
||||
if (!GetInventoryValue(0x3a) && CheckGlobalFlag(0x2a)) {
|
||||
if (!GetInventoryValue(0x3a) && CheckGlobalFlag(MIZUKAKI_HARIFALL)) {
|
||||
LoadRoomEntityList(&gUnk_080F2194);
|
||||
}
|
||||
if (gUnk_030010A0.field_0xa[5] == 1) {
|
||||
@@ -4600,7 +4556,7 @@ void sub_0804E52C(void)
|
||||
LoadRoomEntityList(&gUnk_080F23BC);
|
||||
}
|
||||
// flippers
|
||||
if (!GetInventoryValue(0x46) && CheckGlobalFlag(0x29)) {
|
||||
if (!GetInventoryValue(0x46) && CheckGlobalFlag(MIZUKAKI_START)) {
|
||||
LoadRoomEntityList(&gUnk_080F238C);
|
||||
}
|
||||
else {
|
||||
@@ -4631,7 +4587,7 @@ void sub_0804E574(void)
|
||||
case 5:
|
||||
// flippers
|
||||
if (!GetInventoryValue(0x46)) {
|
||||
if (!CheckGlobalFlag(0x29)) {
|
||||
if (!CheckGlobalFlag(MIZUKAKI_START)) {
|
||||
LoadRoomEntityList(&gUnk_080F2570);
|
||||
break;
|
||||
}
|
||||
@@ -4692,11 +4648,11 @@ extern EntityData gUnk_080F2914;
|
||||
|
||||
void sub_0804E684(void)
|
||||
{
|
||||
if (CheckGlobalFlag(0x2b)) {
|
||||
if (CheckGlobalFlag(RENTED_HOUSE_DIN)) {
|
||||
LoadRoomEntityList(&gUnk_080F28D4);
|
||||
} else if (CheckGlobalFlag(0x2c)) {
|
||||
} else if (CheckGlobalFlag(RENTED_HOUSE_NAYRU)) {
|
||||
LoadRoomEntityList(&gUnk_080F28F4);
|
||||
} else if (CheckGlobalFlag(0x2d)) {
|
||||
} else if (CheckGlobalFlag(RENTED_HOUSE_FARORE)) {
|
||||
LoadRoomEntityList(&gUnk_080F2914);
|
||||
}
|
||||
}
|
||||
@@ -4727,11 +4683,11 @@ extern EntityData gUnk_080F2E2C;
|
||||
|
||||
void sub_0804E6E8(void)
|
||||
{
|
||||
if (!CheckGlobalFlag(0x49)) {
|
||||
if (!CheckGlobalFlag(OUTDOOR)) {
|
||||
gArea.musicIndex = gArea.pMusicIndex;
|
||||
PlaySFX(0x800b0036);
|
||||
}
|
||||
if (!CheckGlobalFlag(0x13)) {
|
||||
if (!CheckGlobalFlag(START)) {
|
||||
LoadRoomEntityList(&gUnk_080F2E2C);
|
||||
}
|
||||
}
|
||||
@@ -4745,11 +4701,11 @@ extern EntityData gUnk_080F2EC4;
|
||||
|
||||
void sub_0804E72C(void)
|
||||
{
|
||||
if (!CheckGlobalFlag(0x49)) {
|
||||
if (!CheckGlobalFlag(OUTDOOR)) {
|
||||
gArea.musicIndex = gArea.pMusicIndex;
|
||||
PlaySFX(0x800b0036);
|
||||
}
|
||||
if (!CheckGlobalFlag(0x13)) {
|
||||
if (!CheckGlobalFlag(START)) {
|
||||
LoadRoomEntityList(&gUnk_080F2E94);
|
||||
}
|
||||
else {
|
||||
@@ -4780,7 +4736,7 @@ extern EntityData gUnk_080F30CC;
|
||||
void sub_0804E7A4(void)
|
||||
{
|
||||
// dog food
|
||||
if ((GetInventoryValue(0x36) == 1) && !CheckGlobalFlag(0x5b) &&
|
||||
if ((GetInventoryValue(0x36) == 1) && !CheckGlobalFlag(BIN_DOGFOOD) &&
|
||||
(gLinkState.flags.all & 0x80) == 0) {
|
||||
LoadRoomEntityList(&gUnk_080F30CC);
|
||||
}
|
||||
@@ -4797,13 +4753,13 @@ extern u32 gUnk_08009B30;
|
||||
void sub_0804E7DC(void)
|
||||
{
|
||||
|
||||
if (!CheckGlobalFlag(0x13) && !CheckLocalFlag(0x46)) {
|
||||
if (!CheckGlobalFlag(START) && !CheckLocalFlag(0x46)) {
|
||||
sub_080A71C4(5, 1, 4, 4);
|
||||
gUnk_02000070 = 0;
|
||||
DoFade(5, 0x100);
|
||||
sub_080751E8(0, 6, &gUnk_08009B30);
|
||||
}
|
||||
if (!CheckGlobalFlag(0x49)) {
|
||||
if (!CheckGlobalFlag(OUTDOOR)) {
|
||||
gArea.musicIndex = gArea.pMusicIndex;
|
||||
PlaySFX(0x800b0036);
|
||||
}
|
||||
@@ -4857,7 +4813,7 @@ extern EntityData gUnk_080F3604;
|
||||
|
||||
void sub_0804E8FC(void)
|
||||
{
|
||||
if (!CheckGlobalFlag(0x1d)) {
|
||||
if (!CheckGlobalFlag(INLOCK)) {
|
||||
LoadRoomEntityList(&gUnk_080F36FC);
|
||||
}
|
||||
else if (gUnk_02002A40.field_0x8 < 4) {
|
||||
@@ -4873,7 +4829,7 @@ extern EntityData gUnk_080F37D0;
|
||||
|
||||
void sub_0804E930(void)
|
||||
{
|
||||
if (CheckGlobalFlag(0x1d)) {
|
||||
if (CheckGlobalFlag(INLOCK)) {
|
||||
LoadRoomEntityList(&gUnk_080F37D0);
|
||||
}
|
||||
}
|
||||
@@ -4893,7 +4849,7 @@ extern EntityData gUnk_080F3A48;
|
||||
void sub_0804E954(void)
|
||||
{
|
||||
// flippers, history of masks
|
||||
if (!GetInventoryValue(0x46) && CheckGlobalFlag(0x29) && !GetInventoryValue(0x3b)) {
|
||||
if (!GetInventoryValue(0x46) && CheckGlobalFlag(MIZUKAKI_START) && !GetInventoryValue(0x3b)) {
|
||||
LoadRoomEntityList(&gUnk_080F3A48);
|
||||
}
|
||||
gUnk_030010A0.field_0x20 = 0xf28;
|
||||
@@ -4905,7 +4861,7 @@ extern u32 gUnk_080F3EA4;
|
||||
|
||||
u32 sub_0804E998(void)
|
||||
{
|
||||
if (CheckGlobalFlag(5) && !CheckLocalFlag(4)) {
|
||||
if (CheckGlobalFlag(LV4_CLEAR) && !CheckLocalFlag(4)) {
|
||||
gRoomVars.field_0x74 = &gUnk_080F3EA4;
|
||||
}
|
||||
else {
|
||||
@@ -4920,13 +4876,13 @@ extern EntityData gUnk_080F3C44;
|
||||
|
||||
void sub_0804E9D0(void)
|
||||
{
|
||||
if (CheckGlobalFlag(5) && !CheckLocalFlag(4)) {
|
||||
if (CheckGlobalFlag(LV4_CLEAR) && !CheckLocalFlag(4)) {
|
||||
LoadRoomEntityList(&gUnk_080F3C64);
|
||||
}
|
||||
if (CheckKinstoneFused(0x12)) {
|
||||
LoadRoomEntityList(&gUnk_080F3C94);
|
||||
}
|
||||
if ((gUnk_02002A40.field_0x8 > 3) && CheckGlobalFlag(0x5c)) {
|
||||
if ((gUnk_02002A40.field_0x8 > 3) && CheckGlobalFlag(TINGLE_TALK1ST)) {
|
||||
LoadRoomEntityList(&gUnk_080F3C44);
|
||||
}
|
||||
SetTile(0x4091, 0x590, 1);
|
||||
@@ -5054,7 +5010,7 @@ extern u32 gUnk_080F4EB0;
|
||||
|
||||
u32 sub_0804EBDC(void)
|
||||
{
|
||||
if (CheckGlobalFlag(0x51)) {
|
||||
if (CheckGlobalFlag(ENDING)) {
|
||||
gRoomVars.field_0x6c = &gUnk_080F4EB0;
|
||||
gRoomVars.field_0x74 = NULL;
|
||||
}
|
||||
@@ -5070,10 +5026,10 @@ extern EntityData gUnk_080F4E10;
|
||||
|
||||
void sub_0804EC00(void)
|
||||
{
|
||||
if (CheckGlobalFlag(0x51)) {
|
||||
if (CheckGlobalFlag(ENDING)) {
|
||||
gArea.pMusicIndex = gArea.musicIndex;
|
||||
}
|
||||
if (!CheckGlobalFlag(0x14)) {
|
||||
if (!CheckGlobalFlag(EZERO_1ST)) {
|
||||
LoadRoomEntityList(&gUnk_080F4D50);
|
||||
}
|
||||
if (!CheckLocalFlag(0x3e)) {
|
||||
@@ -5112,7 +5068,7 @@ extern u32 gUnk_080F5348;
|
||||
|
||||
u32 sub_0804ECBC(void)
|
||||
{
|
||||
if (CheckGlobalFlag(0x51)) {
|
||||
if (CheckGlobalFlag(ENDING)) {
|
||||
gRoomVars.field_0x6c = &gUnk_080F5348;
|
||||
gRoomVars.field_0x88 = sub_0804ED18;
|
||||
gRoomVars.field_0x74 = NULL;
|
||||
@@ -5146,7 +5102,7 @@ u32 sub_0804ED30() {
|
||||
void sub_0804ED34(void)
|
||||
{
|
||||
sub_080AF2E4();
|
||||
if (CheckGlobalFlag(0x5d)) {
|
||||
if (CheckGlobalFlag(SEIIKI_BGM)) {
|
||||
gArea.pMusicIndex = 0x31;
|
||||
}
|
||||
}
|
||||
@@ -5203,7 +5159,7 @@ void sub_0804ED5C(void)
|
||||
if (CheckLocalFlag(0x7c)) {
|
||||
LoadRoomEntityList(&gUnk_080F55B8);
|
||||
}
|
||||
if (CheckGlobalFlag(0x5d)) {
|
||||
if (CheckGlobalFlag(SEIIKI_BGM)) {
|
||||
gArea.pMusicIndex = 0x31;
|
||||
}
|
||||
}
|
||||
@@ -5219,7 +5175,7 @@ void sub_0804EE78(void)
|
||||
if (!CheckLocalFlag(0x78) && CheckLocalFlag(0x7c)) {
|
||||
LoadRoomEntityList(&gUnk_080F5660);
|
||||
}
|
||||
if (CheckGlobalFlag(0x5d)) {
|
||||
if (CheckGlobalFlag(SEIIKI_BGM)) {
|
||||
gArea.pMusicIndex = 0x31;
|
||||
}
|
||||
}
|
||||
@@ -5263,7 +5219,7 @@ void sub_0804EEBC(void)
|
||||
}
|
||||
}
|
||||
}
|
||||
if (GetInventoryValue(0x9) || CheckGlobalFlag(4)) {
|
||||
if (GetInventoryValue(0x9) || CheckGlobalFlag(LV3_CLEAR)) {
|
||||
LoadRoomEntityList(&gUnk_080F5868);
|
||||
if (!CheckLocalFlag(0x56)) {
|
||||
LoadRoomEntityList(&gUnk_080F5828);
|
||||
@@ -5303,7 +5259,7 @@ void nullsub_398() {}
|
||||
|
||||
u32 sub_0804EFDC(void)
|
||||
{
|
||||
if (CheckGlobalFlag(0x50)) {
|
||||
if (CheckGlobalFlag(MAROYA_WAKEUP)) {
|
||||
gUnk_030010A0.field_0xa[5] = 5;
|
||||
}
|
||||
return 1;
|
||||
@@ -5317,7 +5273,7 @@ void sub_0804EFF8(void)
|
||||
if (gUnk_02002A40.field_0x8 > 7) {
|
||||
LoadRoomEntityList(&gUnk_080F5DD0);
|
||||
}
|
||||
if (CheckGlobalFlag(0x50)) {
|
||||
if (CheckGlobalFlag(MAROYA_WAKEUP)) {
|
||||
sub_080751E8(1, 2, &gUnk_08011C50);
|
||||
}
|
||||
}
|
||||
@@ -5371,8 +5327,8 @@ void nullsub_400() {}
|
||||
|
||||
u32 sub_0804F09C(void)
|
||||
{
|
||||
if (CheckGlobalFlag(0x24) && CheckLocalFlagByOffset(0x100, 0xdc)) {
|
||||
SetGlobalFlag(0x58);
|
||||
if (CheckGlobalFlag(KUMOTATSUMAKI) && CheckLocalFlagByOffset(0x100, 0xdc)) {
|
||||
SetGlobalFlag(WARP_EVENT_END);
|
||||
}
|
||||
return 1;
|
||||
}
|
||||
@@ -5387,7 +5343,7 @@ void sub_0804F0C0(void)
|
||||
if (CheckKinstoneFused(0xf)) {
|
||||
LoadRoomEntityList(&gUnk_080F61BC);
|
||||
}
|
||||
if (!CheckGlobalFlag(0x58)) {
|
||||
if (!CheckGlobalFlag(WARP_EVENT_END)) {
|
||||
SetTileType(0x4072, 0x4c7, 1);
|
||||
SetTileType(0x4072, 0x507, 1);
|
||||
}
|
||||
@@ -5403,7 +5359,7 @@ extern EntityData gUnk_080F6324;
|
||||
|
||||
void sub_0804F12C(void)
|
||||
{
|
||||
if (!CheckGlobalFlag(0x58)) {
|
||||
if (!CheckGlobalFlag(WARP_EVENT_END)) {
|
||||
LoadRoomEntityList(&gUnk_080F62E4);
|
||||
}
|
||||
else {
|
||||
@@ -5446,7 +5402,7 @@ extern EntityData gUnk_080F66AC;
|
||||
void sub_0804F190(void)
|
||||
{
|
||||
sub_0805B4D0(5);
|
||||
if (CheckGlobalFlag(6) && !CheckLocalFlagByOffset(0x100, 5)) {
|
||||
if (CheckGlobalFlag(LV5_CLEAR) && !CheckLocalFlagByOffset(0x100, 5)) {
|
||||
LoadRoomEntityList(&gUnk_080F66AC);
|
||||
}
|
||||
sub_08052CA4(8, 0, 0x1e8, 0x158);
|
||||
@@ -5526,7 +5482,7 @@ u32 sub_0804F23C(void)
|
||||
if (!CheckLocalFlag(0x6d)) {
|
||||
DoFade(7, 0x100);
|
||||
}
|
||||
SetGlobalFlag(0x49);
|
||||
SetGlobalFlag(OUTDOOR);
|
||||
return 1;
|
||||
}
|
||||
|
||||
@@ -5539,9 +5495,9 @@ void sub_0804F25C(void)
|
||||
sub_0805ADD8(0);
|
||||
if (!CheckLocalFlag(0x6d)) {
|
||||
LoadRoomEntityList(&gUnk_080F70A8);
|
||||
ClearGlobalFlag(0x1c);
|
||||
ClearGlobalFlag(ZELDA_CHASE);
|
||||
}
|
||||
if (!CheckGlobalFlag(0x15)) {
|
||||
if (!CheckGlobalFlag(TABIDACHI)) {
|
||||
gArea.pMusicIndex = 0x10;
|
||||
}
|
||||
if ((gUnk_02002A40.windcrests & 0x40000000) == 0) {
|
||||
@@ -5620,14 +5576,14 @@ void sub_0804F3B0(void)
|
||||
|
||||
sub_0805ADD8(0);
|
||||
if (CheckLocalFlagByOffset(0x200, 0x8f)) {
|
||||
if (!CheckGlobalFlag(0x1d)) {
|
||||
if (!CheckGlobalFlag(INLOCK)) {
|
||||
LoadRoomEntityList(&gUnk_080F77C0);
|
||||
}
|
||||
}
|
||||
else if (GetInventoryValue(0x40)) {
|
||||
LoadRoomEntityList(&gUnk_080F77F0);
|
||||
}
|
||||
if (CheckGlobalFlag(0x15) && !GetInventoryValue(0x40)) {
|
||||
if (CheckGlobalFlag(TABIDACHI) && !GetInventoryValue(0x40)) {
|
||||
LoadRoomEntityList(&gUnk_080F7810);
|
||||
}
|
||||
if (!CheckKinstoneFused(0x29)) {
|
||||
@@ -5635,7 +5591,7 @@ void sub_0804F3B0(void)
|
||||
SetTile(0x4072, 0xd88, 1);
|
||||
SetTile(0x4096, 0xdc8, 1);
|
||||
}
|
||||
if ((gUnk_02002A40.field_0x8 > 3) && CheckGlobalFlag(0x5c)) {
|
||||
if ((gUnk_02002A40.field_0x8 > 3) && CheckGlobalFlag(TINGLE_TALK1ST)) {
|
||||
LoadRoomEntityList(&gUnk_080F78A0);
|
||||
}
|
||||
}
|
||||
@@ -5647,17 +5603,17 @@ extern void sub_0804F4E4();
|
||||
|
||||
u32 sub_0804F468(void)
|
||||
{
|
||||
if (CheckGlobalFlag(0x15) && !GetInventoryValue(0x11)) {
|
||||
if (CheckGlobalFlag(TABIDACHI) && !GetInventoryValue(0x11)) {
|
||||
gRoomVars.field_0x6c = &gUnk_080F7CD0;
|
||||
gRoomVars.field_0x88 = sub_0804F5E8;
|
||||
}
|
||||
if (CheckGlobalFlag(3) && GetInventoryValue(0x3) && !CheckLocalFlag(0x8c)) {
|
||||
if (CheckGlobalFlag(LV2_CLEAR) && GetInventoryValue(0x3) && !CheckLocalFlag(0x8c)) {
|
||||
gRoomVars.field_0x6c = &gUnk_080F7C80;
|
||||
gRoomVars.field_0x88 = sub_0804F4E4;
|
||||
gRoomVars.field_0x74 = NULL;
|
||||
}
|
||||
if (CheckGlobalFlag(0x15)) {
|
||||
ClearGlobalFlag(100);
|
||||
if (CheckGlobalFlag(TABIDACHI)) {
|
||||
ClearGlobalFlag(CASTLE_BGM);
|
||||
}
|
||||
return 1;
|
||||
}
|
||||
@@ -5680,7 +5636,7 @@ void sub_0804F4F4(void)
|
||||
SetTileType(0x174, 0x7a6, 1);
|
||||
SetTileType(0x174, 0x7a7, 1);
|
||||
}
|
||||
if (!CheckGlobalFlag(0x15)) {
|
||||
if (!CheckGlobalFlag(TABIDACHI)) {
|
||||
gArea.pMusicIndex = 0x13;
|
||||
}
|
||||
}
|
||||
@@ -5862,7 +5818,7 @@ extern EntityData gUnk_080F806C;
|
||||
void sub_0804FA00(void) {
|
||||
|
||||
sub_0805ADD8(0);
|
||||
if ((gUnk_02002A40.field_0x8 > 3) && CheckGlobalFlag(0x5c)) {
|
||||
if ((gUnk_02002A40.field_0x8 > 3) && CheckGlobalFlag(TINGLE_TALK1ST)) {
|
||||
LoadRoomEntityList(&gUnk_080F806C);
|
||||
}
|
||||
}
|
||||
@@ -5877,7 +5833,7 @@ void sub_0804FA30(void)
|
||||
{
|
||||
|
||||
sub_0805ADD8(0);
|
||||
if (CheckGlobalFlag(3) && GetInventoryValue(0x3) &&
|
||||
if (CheckGlobalFlag(LV2_CLEAR) && GetInventoryValue(0x3) &&
|
||||
!CheckLocalFlag(0x9c)) {
|
||||
LoadRoomEntityList(&gUnk_080F82E0);
|
||||
}
|
||||
@@ -5908,7 +5864,7 @@ extern EntityData gUnk_080F85D8;
|
||||
void sub_0804FA98(void)
|
||||
{
|
||||
|
||||
if (CheckGlobalFlag(0x57)) {
|
||||
if (CheckGlobalFlag(SOUGEN_06_HASHIGO)) {
|
||||
LoadRoomEntityList(&gUnk_080F85D8);
|
||||
}
|
||||
else {
|
||||
@@ -6407,7 +6363,7 @@ extern u32 gUnk_080FAD48;
|
||||
|
||||
u32 sub_0804FDE0(void)
|
||||
{
|
||||
if (CheckGlobalFlag(0x51)) {
|
||||
if (CheckGlobalFlag(ENDING)) {
|
||||
gRoomVars.field_0x6c = &gUnk_080FAD48;
|
||||
gRoomVars.field_0x74 = NULL;
|
||||
}
|
||||
@@ -6418,7 +6374,7 @@ extern EntityData gUnk_080FACB8;
|
||||
|
||||
void sub_0804FE04(void)
|
||||
{
|
||||
if (CheckGlobalFlag(0x51)) {
|
||||
if (CheckGlobalFlag(ENDING)) {
|
||||
gArea.pMusicIndex = gArea.musicIndex;
|
||||
}
|
||||
else {
|
||||
@@ -6449,14 +6405,14 @@ void sub_0804FE58(void)
|
||||
{
|
||||
|
||||
sub_0805B4D0(1);
|
||||
if (CheckGlobalFlag(3) && !CheckLocalFlag(2)) {
|
||||
if (CheckGlobalFlag(LV2_CLEAR) && !CheckLocalFlag(LV1_CLEAR)) {
|
||||
LoadRoomEntityList(&gUnk_080FAFE4);
|
||||
}
|
||||
if ((gUnk_02002A40.windcrests & 0x1000000) == 0) {
|
||||
LoadRoomEntityList(&gUnk_080FB004);
|
||||
}
|
||||
if (GetInventoryValue(0x2)) {
|
||||
SetGlobalFlag(0x56);
|
||||
SetGlobalFlag(WHITE_SWORD_END);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
+93
-11
@@ -1,4 +1,35 @@
|
||||
#include "global.h"
|
||||
#include "functions.h"
|
||||
#include "screen.h"
|
||||
|
||||
typedef struct {
|
||||
u8 field_0x0;
|
||||
u8 field_0x1;
|
||||
u8 field_0x2;
|
||||
u8 field_0x3;
|
||||
u32 field_0x4;
|
||||
u16 fadeType; // fade in or out, are there others?
|
||||
u16 fadeSpeed; // subtracted from duration
|
||||
u16 fadeDuration;
|
||||
u16 field_0xe;
|
||||
s16 field_0x10;
|
||||
s16 field_0x12;
|
||||
s16 field_0x14;
|
||||
u16 field_0x16;
|
||||
u16 field_0x18;
|
||||
} struct_03000FD0;
|
||||
|
||||
extern struct_03000FD0 gUnk_03000FD0;
|
||||
|
||||
typedef struct {
|
||||
u8 field_0x0;
|
||||
u8 field_0x1;
|
||||
u8 spritesOffset;
|
||||
} struct_03000000;
|
||||
|
||||
extern struct_03000000 gUnk_03000000;
|
||||
|
||||
extern u32 gUnk_0200B644;
|
||||
|
||||
extern void sub_0801E104();
|
||||
extern void DoFade(u32, u32);
|
||||
@@ -9,14 +40,65 @@ void sub_08050024() {
|
||||
return;
|
||||
}
|
||||
|
||||
/* thumb_func_start sub_08050024
|
||||
sub_08050024: @ 0x08050024
|
||||
push {lr}
|
||||
bl sub_0801E104
|
||||
movs r1, #0x80
|
||||
lsls r1, r1, #1
|
||||
movs r0, #5
|
||||
bl DoFade
|
||||
pop {pc}
|
||||
.align 2, 0
|
||||
*/
|
||||
void sub_08050038(u32 arg0)
|
||||
{
|
||||
if ((gUnk_03000FD0.fadeType & 1) != 0) {
|
||||
gUnk_03000FD0.field_0xe = arg0;
|
||||
}
|
||||
else {
|
||||
gUnk_03000FD0.fadeDuration = arg0;
|
||||
}
|
||||
}
|
||||
|
||||
void DoFade(u32 fadeType, u32 fadeSpeed)
|
||||
{
|
||||
gUnk_03000FD0.fadeSpeed = fadeSpeed;
|
||||
gUnk_03000FD0.fadeType = fadeType;
|
||||
gUnk_03000FD0.field_0x0 = 1;
|
||||
gUnk_03000FD0.fadeDuration = 0x100;
|
||||
gUnk_03000FD0.field_0xe = 0;
|
||||
if ((gUnk_03000FD0.fadeType & 2) != 0) {
|
||||
gUnk_03000FD0.field_0x2 = 0xf8;
|
||||
}
|
||||
else {
|
||||
gUnk_03000FD0.field_0x2 = 0;
|
||||
}
|
||||
if ((fadeType & 8) != 0) {
|
||||
gUnk_03000000.spritesOffset = 1;
|
||||
gScreen.bg1.unk |= 0x40;
|
||||
gScreen.bg2.unk |= 0x40;
|
||||
gScreen.affine.unk2 |= 0x40;
|
||||
}
|
||||
if ((fadeType & 0x10) != 0) {
|
||||
sub_0801E1B8(gUnk_03000FD0.field_0x16, gUnk_03000FD0.field_0x18);
|
||||
sub_0801E1EC(gUnk_03000FD0.field_0x12, gUnk_03000FD0.field_0x14, gUnk_03000FD0.field_0x10);
|
||||
if ((fadeType & 1) == 0) {
|
||||
gUnk_03000FD0.fadeType &= 0xfffb;
|
||||
sub_08050008();
|
||||
gUnk_0200B644 = 0xffffffff;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void sub_080500F4(u32 arg0)
|
||||
{
|
||||
gUnk_03000FD0.fadeSpeed = arg0;
|
||||
gUnk_03000FD0.fadeType ^= 1;
|
||||
gUnk_03000FD0.field_0x0 = 1;
|
||||
gUnk_03000FD0.fadeDuration = 0x100;
|
||||
}
|
||||
|
||||
void sub_08050110(u32 param_1, u32 param_2, u32 fadeType, u32 fadeSpeed)
|
||||
{
|
||||
if ((fadeType & 1) != 0) {
|
||||
gUnk_03000FD0.field_0x10 = 0x96;
|
||||
}
|
||||
else {
|
||||
gUnk_03000FD0.field_0x10 = 0;
|
||||
}
|
||||
gUnk_03000FD0.field_0x12 = param_1;
|
||||
gUnk_03000FD0.field_0x14 = param_2;
|
||||
gUnk_03000FD0.field_0x16 = 0x3f3f;
|
||||
gUnk_03000FD0.field_0x18 = 0;
|
||||
DoFade(fadeType, fadeSpeed);
|
||||
}
|
||||
@@ -0,0 +1,61 @@
|
||||
#include "global.h"
|
||||
#include "functions.h"
|
||||
#include "menu.h"
|
||||
#include "structures.h"
|
||||
#include "screen.h"
|
||||
|
||||
extern void (*const gUnk_081280C4[])();
|
||||
|
||||
void DrawKinstoneMenu(void)
|
||||
{
|
||||
gUnk_030010A0.field_0x24[8] = 2;
|
||||
sub_080AD90C();
|
||||
gUnk_081280C4[gMenu.menuType]();
|
||||
sub_080A3B74();
|
||||
sub_080A4054();
|
||||
sub_0801C1D4();
|
||||
sub_0801C208();
|
||||
sub_0805E5C0();
|
||||
sub_080AD9B0();
|
||||
sub_080AD918();
|
||||
gUnk_030010A0.field_0x24[8] = 0;
|
||||
}
|
||||
|
||||
extern void gUnk_081280DC;
|
||||
|
||||
void sub_080A3BD0(void)
|
||||
{
|
||||
s32 iVar1;
|
||||
s32 iVar2;
|
||||
|
||||
gMenu.field_0x1 = 1;
|
||||
gMenu.field_0x12[0x17] = 0;
|
||||
sub_080A4D34();
|
||||
LoadPalettesByPaletteGroupIndex(0xcb);
|
||||
sub_0801D7EC(0x75);
|
||||
|
||||
iVar1 = sub_080A4494();
|
||||
iVar2 = iVar1 + 7;
|
||||
if (iVar2 < 0) {
|
||||
iVar2 += 0x7;
|
||||
}
|
||||
|
||||
iVar1 = (iVar2 >> 3) - 6;
|
||||
iVar1 = max(iVar1, 0);
|
||||
iVar1 = min(iVar1, 6);
|
||||
|
||||
sub_0801D7EC(iVar1 + 0x76);
|
||||
gScreen.lcd.lcdControl2 |= 0x1e00;
|
||||
gScreen.bg1.unk = 0x1c01;
|
||||
gScreen.bg2.unk = 0x1d02;
|
||||
gScreen.affine.unk2 = 0x1e0b;
|
||||
gScreen.bg2.bg0xOffset = 1;
|
||||
gScreen.affine.bg2xOffset = 1;
|
||||
gScreen.affine.bg3xOffset = 1;
|
||||
sub_080A4528();
|
||||
sub_080A4398();
|
||||
sub_0801E738(0);
|
||||
sub_080A70AC(&gUnk_081280DC);
|
||||
sub_080A7114(1);
|
||||
DoFade(6, 8);
|
||||
}
|
||||
+1
-1
@@ -21,6 +21,6 @@ u32 sub_080A554C(u32 arg0)
|
||||
|
||||
void sub_080A5574(void)
|
||||
{
|
||||
gUnk_08128BF8[gMenu.secret]();
|
||||
gUnk_08128BF8[gMenu.menuType]();
|
||||
sub_080A57F4();
|
||||
}
|
||||
@@ -1,15 +0,0 @@
|
||||
#include "global.h"
|
||||
|
||||
extern s32 sub_080ADA14(u32, u32);
|
||||
extern u16 gUnk_03001010[4];
|
||||
|
||||
void sub_080AD644(void) {
|
||||
|
||||
gUnk_03001010[2] = 0;
|
||||
gUnk_03001010[3] = 0;
|
||||
gUnk_03001010[4] = 57376;
|
||||
gUnk_03001010[0] = 120;
|
||||
gUnk_03001010[1] = 152;
|
||||
sub_080ADA14(511, 1);
|
||||
return;
|
||||
}
|
||||
Reference in New Issue
Block a user