mirror of
https://github.com/zeldaret/tmc
synced 2026-07-10 23:22:03 -04:00
overworld
This commit is contained in:
@@ -68,3 +68,4 @@ __pycache__
|
||||
.vscode/settings.json
|
||||
.vscode/c_cpp_properties.json
|
||||
.vscode/tasks.json
|
||||
Info.plist
|
||||
|
||||
+2
-2
@@ -40,7 +40,7 @@ sub_08089D1C: @ 0x08089D1C
|
||||
strb r0, [r5, #0x1b]
|
||||
adds r0, r5, #0
|
||||
movs r1, #4
|
||||
bl sub_0805E3A0
|
||||
bl SetDefaultPriority
|
||||
ldrb r0, [r5, #0xa]
|
||||
cmp r0, #7
|
||||
bne _08089688
|
||||
@@ -288,7 +288,7 @@ _080897FE:
|
||||
strb r0, [r5, #0x1b]
|
||||
adds r0, r5, #0
|
||||
movs r1, #4
|
||||
bl sub_0805E3A0
|
||||
bl SetDefaultPriority
|
||||
ldrb r0, [r5, #0xa]
|
||||
cmp r0, #7
|
||||
bne _08089D90
|
||||
|
||||
+4
-4
@@ -500,7 +500,7 @@ _08088DEC:
|
||||
strb r0, [r1]
|
||||
adds r0, r4, #0
|
||||
movs r1, #3
|
||||
bl sub_0805E3A0
|
||||
bl SetDefaultPriority
|
||||
ldrb r0, [r4, #0xb]
|
||||
movs r1, #0x16
|
||||
cmp r0, #0
|
||||
@@ -688,7 +688,7 @@ _08088F6E:
|
||||
movs r1, #0x87
|
||||
lsls r1, r1, #1
|
||||
adds r0, r4, #0
|
||||
bl sub_0805E4E0
|
||||
bl RequestPriorityDuration
|
||||
movs r0, #0x2a
|
||||
movs r1, #1
|
||||
movs r2, #0
|
||||
@@ -815,7 +815,7 @@ _0808905C:
|
||||
beq _08089088
|
||||
adds r0, r4, #0
|
||||
movs r1, #0x3c
|
||||
bl sub_0805E4E0
|
||||
bl RequestPriorityDuration
|
||||
movs r0, #0x72
|
||||
bl SoundReq
|
||||
_08089088:
|
||||
@@ -883,7 +883,7 @@ sub_080890EC: @ 0x080890EC
|
||||
cmp r4, #0
|
||||
beq _08089132
|
||||
movs r1, #3
|
||||
bl sub_0805E3A0
|
||||
bl SetDefaultPriority
|
||||
ldrh r0, [r5, #0x2e]
|
||||
strh r0, [r4, #0x2e]
|
||||
ldrh r0, [r5, #0x32]
|
||||
|
||||
@@ -69,7 +69,7 @@ sub_08098F14: @ 0x08098F14
|
||||
bl EnqueueSFX
|
||||
adds r0, r5, #0
|
||||
movs r1, #0x1e
|
||||
bl sub_0805E4E0
|
||||
bl RequestPriorityDuration
|
||||
bl sub_08079F8C
|
||||
cmp r0, #0
|
||||
beq _08098F84
|
||||
|
||||
+9
-9
@@ -84,7 +84,7 @@ _0809D234:
|
||||
str r3, [r5, #0x54]
|
||||
adds r0, r5, #0
|
||||
movs r1, #6
|
||||
bl sub_0805E3A0
|
||||
bl SetDefaultPriority
|
||||
adds r0, r5, #0
|
||||
movs r1, #0
|
||||
bl InitAnimationForceUpdate
|
||||
@@ -212,7 +212,7 @@ _0809D2D6:
|
||||
rsbs r0, r0, #0
|
||||
ands r0, r1
|
||||
strb r0, [r6, #0x18]
|
||||
ldr r1, _0809D43C @ =gUnk_03003DC0
|
||||
ldr r1, _0809D43C @ =gPriorityHandler
|
||||
movs r0, #6
|
||||
strb r0, [r1]
|
||||
ldr r0, _0809D440 @ =gUnk_02034490
|
||||
@@ -287,7 +287,7 @@ _0809D3DA:
|
||||
_0809D430: .4byte gPlayerEntity
|
||||
_0809D434: .4byte gMessage
|
||||
_0809D438: .4byte gPlayerState
|
||||
_0809D43C: .4byte gUnk_03003DC0
|
||||
_0809D43C: .4byte gPriorityHandler
|
||||
_0809D440: .4byte gUnk_02034490
|
||||
_0809D444: .4byte 0xFFF80000
|
||||
_0809D448:
|
||||
@@ -384,7 +384,7 @@ sub_0809D498: @ 0x0809D498
|
||||
strb r1, [r5, #0x1b]
|
||||
adds r0, r5, #0
|
||||
movs r1, #6
|
||||
bl sub_0805E3A0
|
||||
bl SetDefaultPriority
|
||||
ldr r0, _0809D53C @ =gRoomControls
|
||||
ldrh r0, [r0, #0xa]
|
||||
strh r0, [r5, #0x2e]
|
||||
@@ -500,7 +500,7 @@ _0809D5E6:
|
||||
orrs r0, r1
|
||||
strb r0, [r6, #0x18]
|
||||
bl sub_080791D0
|
||||
bl UnfreezeTime
|
||||
bl ResetPlayerEventPriority
|
||||
ldr r1, _0809D664 @ =gUnk_02034490
|
||||
movs r0, #0
|
||||
strb r0, [r1]
|
||||
@@ -609,7 +609,7 @@ _0809D6A2:
|
||||
strb r1, [r4, #0x1b]
|
||||
adds r0, r4, #0
|
||||
movs r1, #6
|
||||
bl sub_0805E3A0
|
||||
bl SetDefaultPriority
|
||||
adds r0, r4, #0
|
||||
movs r1, #0xe0
|
||||
bl InitAnimationForceUpdate
|
||||
@@ -631,7 +631,7 @@ CreateBird: @ 0x0809D700
|
||||
push {r4, lr}
|
||||
sub sp, #4
|
||||
.ifdef EU
|
||||
bl sub_08052620 @ TODO correct function?
|
||||
bl CheckIsOverworld @ TODO correct function?
|
||||
.else
|
||||
bl sub_08052654
|
||||
.endif
|
||||
@@ -674,8 +674,8 @@ sub_0809D738: @ 0x0809D738
|
||||
str r0, [r1, #0x30]
|
||||
adds r0, r4, #0
|
||||
movs r1, #6
|
||||
bl sub_0805E3A0
|
||||
bl FreezeTime
|
||||
bl SetDefaultPriority
|
||||
bl SetPlayerEventPriority
|
||||
movs r0, #0x95
|
||||
movs r1, #0xa
|
||||
movs r2, #0
|
||||
|
||||
@@ -88,7 +88,7 @@ _08045C16:
|
||||
bl EnqueueSFX
|
||||
adds r0, r4, #0
|
||||
movs r1, #2
|
||||
bl sub_0805E3A0
|
||||
bl SetDefaultPriority
|
||||
_08045C2C:
|
||||
pop {r4, pc}
|
||||
.align 2, 0
|
||||
@@ -419,7 +419,7 @@ _08045E70:
|
||||
strh r0, [r2, #0x36]
|
||||
adds r0, r2, #0
|
||||
movs r1, #2
|
||||
bl sub_0805E3A0
|
||||
bl SetDefaultPriority
|
||||
_08045EBA:
|
||||
adds r0, r4, #0
|
||||
bl GetNextFrame
|
||||
|
||||
+3
-3
@@ -100,7 +100,7 @@ sub_08083EB0: @ 0x08083EB0
|
||||
strb r0, [r4, #0x19]
|
||||
adds r0, r4, #0
|
||||
movs r1, #0x1e
|
||||
bl sub_0805E4E0
|
||||
bl RequestPriorityDuration
|
||||
bl sub_0805BC4C
|
||||
_08083F0A:
|
||||
pop {r4, pc}
|
||||
@@ -113,7 +113,7 @@ sub_08083F14: @ 0x08083F14
|
||||
push {r4, r5, lr}
|
||||
adds r4, r0, #0
|
||||
movs r0, #0x1e
|
||||
bl sub_0805E510
|
||||
bl SetPriorityTimer
|
||||
ldrb r0, [r4, #0xd]
|
||||
cmp r0, #0
|
||||
beq _08083F78
|
||||
@@ -236,7 +236,7 @@ sub_08083FEC: @ 0x08083FEC
|
||||
bl sub_080788E0
|
||||
adds r0, r4, #0
|
||||
movs r1, #0x3c
|
||||
bl sub_0805E4E0
|
||||
bl RequestPriorityDuration
|
||||
ldr r0, _08084020 @ =0x0000011B
|
||||
bl SoundReq
|
||||
_0808401E:
|
||||
|
||||
+4
-4
@@ -118,16 +118,16 @@ _080185C2:
|
||||
_080185D4:
|
||||
cmp r0, #0xfd
|
||||
beq _080185F0
|
||||
ldr r1, _080185EC @ =gUnk_0811E454
|
||||
ldr r1, _080185EC @ =gLocalFlagBanks
|
||||
ldrb r0, [r2]
|
||||
lsls r0, r0, #1
|
||||
adds r0, r0, r1
|
||||
ldrh r0, [r0]
|
||||
ldrb r1, [r2, #1]
|
||||
bl CheckLocalFlagByOffset
|
||||
bl CheckLocalFlagByBank
|
||||
b _080185F6
|
||||
.align 2, 0
|
||||
_080185EC: .4byte gUnk_0811E454
|
||||
_080185EC: .4byte gLocalFlagBanks
|
||||
_080185F0:
|
||||
ldrb r0, [r2, #1]
|
||||
bl CheckKinstoneFused
|
||||
@@ -648,7 +648,7 @@ _080189D0:
|
||||
.endif
|
||||
.endif
|
||||
.endif
|
||||
bl SetLocalFlagByOffset
|
||||
bl SetLocalFlagByBank
|
||||
ldr r0, _080189E8 @ =gUnk_080FEE38
|
||||
bl LoadRoomEntityList
|
||||
_080189E4:
|
||||
|
||||
+1
-1
@@ -34,7 +34,7 @@ sub_08019698: @ 0x08019698
|
||||
movs r0, #0x80
|
||||
lsls r0, r0, #1
|
||||
ldrh r1, [r4, #4]
|
||||
bl SetLocalFlagByOffset
|
||||
bl SetLocalFlagByBank
|
||||
ldrh r0, [r4]
|
||||
ldrh r1, [r4, #2]
|
||||
bl sub_08052FD8
|
||||
|
||||
+4
-4
@@ -487,7 +487,7 @@ _0801DC26:
|
||||
ldrb r1, [r4, #1]
|
||||
mov r0, r8
|
||||
str r3, [sp]
|
||||
bl CheckLocalFlagByOffset
|
||||
bl CheckLocalFlagByBank
|
||||
ldr r3, [sp]
|
||||
cmp r0, #0
|
||||
bne _0801DCA6
|
||||
@@ -682,7 +682,7 @@ sub_0801DDA0: @ 0x0801DDA0
|
||||
push {r5, r6, r7}
|
||||
sub sp, #0x14
|
||||
adds r4, r0, #0
|
||||
bl sub_08052690
|
||||
bl CheckHasMap
|
||||
cmp r0, #0
|
||||
bne _0801DDB8
|
||||
b _0801DEEA
|
||||
@@ -865,7 +865,7 @@ sub_0801DF10: @ 0x0801DF10
|
||||
b _0801DF26
|
||||
_0801DF20:
|
||||
ldrb r0, [r1]
|
||||
bl sub_08052D58
|
||||
bl GetFlagBankOffset
|
||||
_0801DF26:
|
||||
pop {pc}
|
||||
|
||||
@@ -941,7 +941,7 @@ sub_0801DF90: @ 0x0801DF90
|
||||
_0801DF9A:
|
||||
ldrb r1, [r0, #1]
|
||||
adds r0, r2, #0
|
||||
bl CheckLocalFlagByOffset
|
||||
bl CheckLocalFlagByBank
|
||||
b _0801DFB2
|
||||
_0801DFA4:
|
||||
cmp r1, #1
|
||||
|
||||
+2
-2
@@ -48,7 +48,7 @@ sub_08030118: @ 0x08030118
|
||||
lsls r0, r0, #2
|
||||
adds r1, r2, #0
|
||||
adds r1, #0x67
|
||||
bl SetLocalFlagByOffset
|
||||
bl SetLocalFlagByBank
|
||||
b _0803014C
|
||||
.align 2, 0
|
||||
_0803013C: .4byte gScreenTransition
|
||||
@@ -57,7 +57,7 @@ _08030140:
|
||||
lsls r0, r0, #2
|
||||
adds r1, r2, #0
|
||||
adds r1, #0x67
|
||||
bl ClearLocalFlagByOffset
|
||||
bl ClearLocalFlagByBank
|
||||
_0803014C:
|
||||
pop {pc}
|
||||
.align 2, 0
|
||||
|
||||
+2
-2
@@ -203,7 +203,7 @@ _0804A864:
|
||||
strb r0, [r5, #0xe]
|
||||
adds r0, r5, #0
|
||||
movs r1, #3
|
||||
bl sub_0805E3A0
|
||||
bl SetDefaultPriority
|
||||
ldrb r1, [r5, #9]
|
||||
movs r0, #1
|
||||
movs r2, #0
|
||||
@@ -299,7 +299,7 @@ _0804A940:
|
||||
strb r0, [r5, #0x18]
|
||||
adds r0, r5, #0
|
||||
movs r1, #0
|
||||
bl sub_0805E3A0
|
||||
bl SetDefaultPriority
|
||||
b _0804A982
|
||||
_0804A95E:
|
||||
lsls r0, r1, #0x18
|
||||
|
||||
+2
-2
@@ -58,7 +58,7 @@ _0804ABA4:
|
||||
adds r0, r0, r1
|
||||
ldr r0, [r0]
|
||||
bl LoadRoomEntityList
|
||||
bl sub_0805E5B4
|
||||
bl ResetSystemPriority
|
||||
ldr r1, _0804AC04 @ =gArea
|
||||
ldrb r0, [r1, #0xe]
|
||||
adds r0, #1
|
||||
@@ -195,7 +195,7 @@ sub_0804ACF8: @ 0x0804ACF8
|
||||
beq _0804AD12
|
||||
ldr r0, _0804AD14 @ =gRoomControls
|
||||
bl sub_0804AD6C
|
||||
bl sub_0805E5A8
|
||||
bl SetInitializationPriority
|
||||
movs r0, #0xf8
|
||||
bl SoundReq
|
||||
_0804AD12:
|
||||
|
||||
+8
-1969
File diff suppressed because it is too large
Load Diff
+4
-4
@@ -131,7 +131,7 @@ sub_08054974: @ 0x08054974
|
||||
strb r0, [r4, #5]
|
||||
bl sub_08053320
|
||||
ldrb r0, [r4, #4]
|
||||
bl sub_08052D58
|
||||
bl GetFlagBankOffset
|
||||
ldr r1, _080549B8 @ =gArea
|
||||
strh r0, [r1, #4]
|
||||
cmp r5, #0
|
||||
@@ -194,14 +194,14 @@ sub_08054A14: @ 0x08054A14
|
||||
ldrb r0, [r2, #0x11]
|
||||
cmp r0, #0xd
|
||||
bhi _08054A34
|
||||
ldr r1, _08054A3C @ =gUnk_0811E454
|
||||
ldr r1, _08054A3C @ =gLocalFlagBanks
|
||||
lsls r0, r0, #1
|
||||
adds r0, r0, r1
|
||||
ldrh r0, [r0]
|
||||
ldrh r1, [r2, #0x12]
|
||||
bl SetLocalFlagByOffset
|
||||
bl SetLocalFlagByBank
|
||||
_08054A34:
|
||||
pop {pc}
|
||||
.align 2, 0
|
||||
_08054A38: .4byte gUnk_080FE320
|
||||
_08054A3C: .4byte gUnk_0811E454
|
||||
_08054A3C: .4byte gLocalFlagBanks
|
||||
|
||||
+4
-4
@@ -531,7 +531,7 @@ _08054FCA:
|
||||
movs r0, #0x80
|
||||
lsls r0, r0, #3
|
||||
movs r1, #0x77
|
||||
bl CheckLocalFlagByOffset
|
||||
bl CheckLocalFlagByBank
|
||||
cmp r0, #0
|
||||
beq _08055004
|
||||
ldrb r0, [r5, #2]
|
||||
@@ -1288,13 +1288,13 @@ sub_080555B8: @ 0x080555B8
|
||||
push {r4, r5, lr}
|
||||
ldr r5, _08055600 @ =gMenu
|
||||
ldr r4, [r5, #0xc]
|
||||
ldr r1, _08055604 @ =gUnk_0811E454
|
||||
ldr r1, _08055604 @ =gLocalFlagBanks
|
||||
ldrb r0, [r4, #0x11]
|
||||
lsls r0, r0, #1
|
||||
adds r0, r0, r1
|
||||
ldrh r0, [r0]
|
||||
ldrh r1, [r4, #0x12]
|
||||
bl SetLocalFlagByOffset
|
||||
bl SetLocalFlagByBank
|
||||
ldrb r0, [r4, #2]
|
||||
ldrb r1, [r4, #3]
|
||||
bl sub_0804B0E8
|
||||
@@ -1317,7 +1317,7 @@ sub_080555B8: @ 0x080555B8
|
||||
pop {r4, r5, pc}
|
||||
.align 2, 0
|
||||
_08055600: .4byte gMenu
|
||||
_08055604: .4byte gUnk_0811E454
|
||||
_08055604: .4byte gLocalFlagBanks
|
||||
_08055608: .4byte gUpdateVisibleTiles
|
||||
|
||||
thumb_func_start sub_0805560C
|
||||
|
||||
+2
-2
@@ -56,7 +56,7 @@ sub_080705AC: @ 0x080705AC
|
||||
ldrb r0, [r0]
|
||||
cmp r0, #0
|
||||
bne _08070674
|
||||
ldr r0, _0807062C @ =gUnk_03003DC0
|
||||
ldr r0, _0807062C @ =gPriorityHandler
|
||||
ldrh r0, [r0, #8]
|
||||
cmp r0, #0
|
||||
bne _08070674
|
||||
@@ -76,7 +76,7 @@ _0807061C: .4byte gUnk_02034490
|
||||
_08070620: .4byte gMessage
|
||||
_08070624: .4byte gSave
|
||||
_08070628: .4byte gPlayerState
|
||||
_0807062C: .4byte gUnk_03003DC0
|
||||
_0807062C: .4byte gPriorityHandler
|
||||
_08070630:
|
||||
ldrb r0, [r2]
|
||||
_08070632:
|
||||
|
||||
+2
-2
@@ -814,7 +814,7 @@ _080738E0: .4byte gPlayerState
|
||||
_080738E4: .4byte gUnk_0811BC40
|
||||
_080738E8: .4byte gUnk_0813AD88
|
||||
_080738EC:
|
||||
bl sub_08052A4C
|
||||
bl InitParachuteRoom
|
||||
_080738F0:
|
||||
ldr r1, _08073900 @ =0xFFFFE800
|
||||
adds r0, r4, #0
|
||||
@@ -4266,7 +4266,7 @@ _08075270:
|
||||
cmp r0, #0
|
||||
beq _0807528C
|
||||
movs r1, #3
|
||||
bl sub_0805E3A0
|
||||
bl SetDefaultPriority
|
||||
_0807528C:
|
||||
pop {r4, r5, r6, r7, pc}
|
||||
.align 2, 0
|
||||
|
||||
+1
-1
@@ -218,7 +218,7 @@ _08077810:
|
||||
ands r1, r2
|
||||
strb r1, [r0, #0x10]
|
||||
movs r1, #0xb4
|
||||
bl sub_0805E4E0
|
||||
bl RequestPriorityDuration
|
||||
b _080777CC
|
||||
.align 2, 0
|
||||
_08077834: .4byte gPlayerEntity
|
||||
|
||||
+6
-6
@@ -289,8 +289,8 @@ _08078A88:
|
||||
pop {r4, r5, r6, r7, pc}
|
||||
.align 2, 0
|
||||
|
||||
thumb_func_start sub_08078A90
|
||||
sub_08078A90: @ 0x08078A90
|
||||
thumb_func_start SetPlayerControl
|
||||
SetPlayerControl: @ 0x08078A90
|
||||
push {lr}
|
||||
adds r1, r0, #0
|
||||
ldr r0, _08078AA4 @ =gPlayerState
|
||||
@@ -1966,7 +1966,7 @@ sub_08079708: @ 0x08079708
|
||||
ands r0, r1
|
||||
cmp r0, #0
|
||||
bne _0807973E
|
||||
bl FreezeTime
|
||||
bl SetPlayerEventPriority
|
||||
_0807973E:
|
||||
pop {r4, pc}
|
||||
.align 2, 0
|
||||
@@ -3378,7 +3378,7 @@ sub_0807A1B8: @ 0x0807A1B8
|
||||
adds r0, r4, #0
|
||||
movs r1, #0
|
||||
movs r2, #0
|
||||
bl sub_0807A1E8
|
||||
bl GetSurfaceCalcType
|
||||
ldr r1, _0807A1E0 @ =gPlayerState
|
||||
strb r0, [r1, #0x12]
|
||||
ldr r2, _0807A1E4 @ =gUnk_0811C120
|
||||
@@ -3394,8 +3394,8 @@ _0807A1DC: .4byte gPlayerEntity
|
||||
_0807A1E0: .4byte gPlayerState
|
||||
_0807A1E4: .4byte gUnk_0811C120
|
||||
|
||||
thumb_func_start sub_0807A1E8
|
||||
sub_0807A1E8: @ 0x0807A1E8
|
||||
thumb_func_start GetSurfaceCalcType
|
||||
GetSurfaceCalcType: @ 0x0807A1E8
|
||||
push {r4, r5, r6, r7, lr}
|
||||
mov r7, r8
|
||||
push {r7}
|
||||
|
||||
+2
-2
@@ -456,7 +456,7 @@ sub_0807BD14: @ 0x0807BD14
|
||||
strh r4, [r1]
|
||||
strb r3, [r1, #5]
|
||||
strb r5, [r1, #0x10]
|
||||
bl sub_08052E8C
|
||||
bl GetCurrentRoomInfo
|
||||
adds r2, r0, #0
|
||||
ldr r1, _0807BD6C @ =gArea
|
||||
ldr r3, _0807BD70 @ =0x0000085C
|
||||
@@ -511,7 +511,7 @@ _0807BD98:
|
||||
movs r1, #6
|
||||
orrs r0, r1
|
||||
strb r0, [r2, #0x11]
|
||||
bl sub_0805E5A8
|
||||
bl SetInitializationPriority
|
||||
movs r0, #1
|
||||
b _0807BDB6
|
||||
.align 2, 0
|
||||
|
||||
+5
-5
@@ -65,8 +65,8 @@ _0807CB04: .4byte gSave
|
||||
_0807CB08: .4byte gArea
|
||||
_0807CB0C: .4byte 0x0000047C
|
||||
|
||||
thumb_func_start CheckLocalFlagByOffset
|
||||
CheckLocalFlagByOffset: @ 0x0807CB10
|
||||
thumb_func_start CheckLocalFlagByBank
|
||||
CheckLocalFlagByBank: @ 0x0807CB10
|
||||
push {lr}
|
||||
adds r2, r0, #0
|
||||
ldr r0, _0807CB20 @ =gGlobalFlags
|
||||
@@ -114,17 +114,17 @@ _0807CB84:
|
||||
movs r1, #0
|
||||
b _0807CBCA
|
||||
_0807CB88:
|
||||
ldr r0, _0807CB9C @ =gUnk_0811E454
|
||||
ldr r0, _0807CB9C @ =gLocalFlagBanks
|
||||
lsls r1, r2, #1
|
||||
adds r1, r1, r0
|
||||
ldrh r0, [r1]
|
||||
adds r1, r3, #0
|
||||
bl CheckLocalFlagByOffset
|
||||
bl CheckLocalFlagByBank
|
||||
_0807CB96:
|
||||
adds r1, r0, #0
|
||||
b _0807CBCA
|
||||
.align 2, 0
|
||||
_0807CB9C: .4byte gUnk_0811E454
|
||||
_0807CB9C: .4byte gLocalFlagBanks
|
||||
_0807CBA0:
|
||||
adds r0, r3, #0
|
||||
bl GetInventoryValue
|
||||
|
||||
+2
-2
@@ -429,7 +429,7 @@ sub_0807FF1C: @ 0x0807FF1C
|
||||
bls _0807FF48
|
||||
movs r0, #0
|
||||
strb r0, [r2, #2]
|
||||
bl sub_0805E5B4
|
||||
bl ResetSystemPriority
|
||||
_0807FF48:
|
||||
pop {pc}
|
||||
.align 2, 0
|
||||
@@ -794,7 +794,7 @@ _08080232:
|
||||
bne _08080268
|
||||
strb r0, [r5, #2]
|
||||
strh r0, [r5]
|
||||
bl sub_0805E5B4
|
||||
bl ResetSystemPriority
|
||||
ldr r1, _08080260 @ =gScreen
|
||||
ldrh r2, [r1]
|
||||
ldr r0, _08080264 @ =0x0000BFFF
|
||||
|
||||
+1
-1
@@ -391,7 +391,7 @@ CreateSpeechBubble: @ 0x080A2D2C
|
||||
lsls r1, r1, #0x1c
|
||||
lsrs r1, r1, #0x1c
|
||||
adds r0, r4, #0
|
||||
bl sub_0805E3A0
|
||||
bl SetDefaultPriority
|
||||
_080A2D6E:
|
||||
adds r0, r4, #0
|
||||
pop {r4, r5, r6, r7, pc}
|
||||
|
||||
+5
-5
@@ -78,7 +78,7 @@ _080A365E:
|
||||
bl LoadPaletteGroup
|
||||
movs r0, #0
|
||||
movs r1, #0
|
||||
bl sub_0801D79C
|
||||
bl SetColor
|
||||
ldr r2, _080A36B4 @ =gScreen
|
||||
movs r0, #0xc8
|
||||
lsls r0, r0, #3
|
||||
@@ -96,7 +96,7 @@ _080A365E:
|
||||
subs r0, #0x8a
|
||||
strh r0, [r2, #0x20]
|
||||
bl InitSoundPlayingInfo
|
||||
bl sub_0805E5B4
|
||||
bl ResetSystemPriority
|
||||
movs r1, #0x80
|
||||
lsls r1, r1, #1
|
||||
movs r0, #5
|
||||
@@ -511,7 +511,7 @@ _080A39C8:
|
||||
bl LoadPaletteGroup
|
||||
movs r0, #0
|
||||
movs r1, #0
|
||||
bl sub_0801D79C
|
||||
bl SetColor
|
||||
movs r0, #4
|
||||
bl LoadGfxGroup
|
||||
movs r0, #0xc0
|
||||
@@ -520,7 +520,7 @@ _080A39C8:
|
||||
bl MemClear
|
||||
movs r0, #0
|
||||
movs r1, #0
|
||||
bl sub_08052418
|
||||
bl SetPopupState
|
||||
ldr r2, _080A3A2C @ =gScreen
|
||||
ldrh r0, [r2]
|
||||
movs r3, #0xc0
|
||||
@@ -604,7 +604,7 @@ _080A3A9A:
|
||||
strb r4, [r1, #3]
|
||||
movs r0, #0
|
||||
adds r1, r4, #0
|
||||
bl sub_08052418
|
||||
bl SetPopupState
|
||||
movs r0, #0x69
|
||||
bl SoundReq
|
||||
b _080A3B36
|
||||
|
||||
+3
-3
@@ -1364,14 +1364,14 @@ sub_080A4608: @ 0x080A4608
|
||||
adds r0, r4, r1
|
||||
ldrh r1, [r0]
|
||||
movs r0, #0
|
||||
bl sub_0801D79C
|
||||
bl SetColor
|
||||
movs r0, #0xae
|
||||
lsls r0, r0, #1
|
||||
movs r2, #0xd3
|
||||
lsls r2, r2, #1
|
||||
adds r1, r4, r2
|
||||
ldrh r1, [r1]
|
||||
bl sub_0801D79C
|
||||
bl SetColor
|
||||
ldr r0, _080A46A4 @ =gBG0Buffer
|
||||
movs r1, #0x80
|
||||
lsls r1, r1, #4
|
||||
@@ -2923,7 +2923,7 @@ sub_080A50A0: @ 0x080A50A0
|
||||
adds r1, r0, #0
|
||||
cmp r1, #0xf
|
||||
bne _080A50B4
|
||||
bl sub_08052690
|
||||
bl CheckHasMap
|
||||
movs r1, #4
|
||||
cmp r0, #0
|
||||
beq _080A50B4
|
||||
|
||||
+12
-12
@@ -813,7 +813,7 @@ sub_080A59AC: @ 0x080A59AC
|
||||
movs r0, #0
|
||||
strb r0, [r1, #3]
|
||||
movs r1, #0
|
||||
bl sub_08052418
|
||||
bl SetPopupState
|
||||
movs r0, #1
|
||||
bl sub_080A7114
|
||||
pop {pc}
|
||||
@@ -887,7 +887,7 @@ _080A5A3C:
|
||||
strb r2, [r1, #3]
|
||||
movs r0, #0
|
||||
adds r1, r2, #0
|
||||
bl sub_08052418
|
||||
bl SetPopupState
|
||||
movs r0, #0x69
|
||||
bl SoundReq
|
||||
_080A5A52:
|
||||
@@ -998,7 +998,7 @@ sub_080A5AF4: @ 0x080A5AF4
|
||||
.endif
|
||||
movs r0, #2
|
||||
movs r1, #0
|
||||
bl sub_08052418
|
||||
bl SetPopupState
|
||||
.ifndef EU
|
||||
movs r0, #0x80
|
||||
lsls r0, r0, #0x12
|
||||
@@ -1077,7 +1077,7 @@ _080A5B76:
|
||||
strb r4, [r1, #3]
|
||||
movs r0, #2
|
||||
adds r1, r4, #0
|
||||
bl sub_08052418
|
||||
bl SetPopupState
|
||||
movs r0, #0x69
|
||||
bl SoundReq
|
||||
_080A5B8E:
|
||||
@@ -1796,7 +1796,7 @@ sub_080A5F24: @ 0x080A5F24
|
||||
movs r0, #0x8c
|
||||
lsls r0, r0, #4
|
||||
movs r1, #0x7b
|
||||
bl CheckLocalFlagByOffset
|
||||
bl CheckLocalFlagByBank
|
||||
cmp r0, #0
|
||||
beq _080A5F40
|
||||
movs r4, #0
|
||||
@@ -2873,7 +2873,7 @@ sub_080A6534: @ 0x080A6534
|
||||
adds r0, #0xa2
|
||||
ldrh r1, [r0]
|
||||
movs r0, #0
|
||||
bl sub_0801D79C
|
||||
bl SetColor
|
||||
ldr r1, _080A659C @ =gUnk_08128F4C
|
||||
ldr r0, _080A65A0 @ =gUnk_02032EC0
|
||||
ldrb r0, [r0, #3]
|
||||
@@ -3851,10 +3851,10 @@ sub_080A6B04: @ 0x080A6B04
|
||||
ldr r4, _080A6C00 @ =0x0000475F
|
||||
movs r0, #0
|
||||
adds r1, r4, #0
|
||||
bl sub_0801D79C
|
||||
bl SetColor
|
||||
movs r0, #0x5f
|
||||
adds r1, r4, #0
|
||||
bl sub_0801D79C
|
||||
bl SetColor
|
||||
ldr r0, _080A6C04 @ =0x00005001
|
||||
ldr r1, _080A6C08 @ =gBG3Buffer
|
||||
movs r2, #0x80
|
||||
@@ -5033,10 +5033,10 @@ _080A73B4:
|
||||
movs r2, #0x7c
|
||||
bl MemCopy
|
||||
ldrb r0, [r4, #4]
|
||||
bl sub_08052D58
|
||||
bl GetFlagBankOffset
|
||||
ldr r4, _080A749C @ =gArea
|
||||
strh r0, [r4, #4]
|
||||
bl sub_08052E8C
|
||||
bl GetCurrentRoomInfo
|
||||
ldr r1, _080A74A0 @ =0x0000085C
|
||||
adds r4, r4, r1
|
||||
str r0, [r4]
|
||||
@@ -5104,7 +5104,7 @@ sub_080A74C8: @ 0x080A74C8
|
||||
strb r2, [r0, #4]
|
||||
strb r3, [r1]
|
||||
strb r3, [r1, #2]
|
||||
bl sub_0805E5B4
|
||||
bl ResetSystemPriority
|
||||
_080A74E6:
|
||||
pop {pc}
|
||||
.align 2, 0
|
||||
@@ -5115,7 +5115,7 @@ _080A74F0: .4byte gUnk_02032EC0
|
||||
thumb_func_start sub_080A74F4
|
||||
sub_080A74F4: @ 0x080A74F4
|
||||
push {lr}
|
||||
bl sub_0805E5A8
|
||||
bl SetInitializationPriority
|
||||
ldr r1, _080A7524 @ =gMain
|
||||
movs r0, #0
|
||||
strb r0, [r1, #0xb]
|
||||
|
||||
+1
-1
@@ -133,7 +133,7 @@ _080A7CDC:
|
||||
bl sub_0807B7D8
|
||||
movs r0, #0
|
||||
movs r1, #0x78
|
||||
bl sub_0805E4E0
|
||||
bl RequestPriorityDuration
|
||||
ldr r0, _080A7CF8 @ =0x0000011B
|
||||
bl SoundReq
|
||||
_080A7CF4:
|
||||
|
||||
+4
-4
@@ -3050,7 +3050,7 @@ sub_080AF244: @ 0x080AF244
|
||||
sub_080AF250: @ 0x080AF250
|
||||
push {r4, lr}
|
||||
adds r4, r0, #0
|
||||
bl sub_08052E8C
|
||||
bl GetCurrentRoomInfo
|
||||
adds r1, r0, #0
|
||||
ldr r0, _080AF26C @ =gArea
|
||||
ldr r2, _080AF270 @ =0x0000085C
|
||||
@@ -3084,7 +3084,7 @@ sub_080AF284: @ 0x080AF284
|
||||
bl CheckPlayerInRegion
|
||||
cmp r0, #0
|
||||
beq _080AF2BC
|
||||
bl sub_08052E8C
|
||||
bl GetCurrentRoomInfo
|
||||
ldr r1, _080AF2B0 @ =gArea
|
||||
ldr r2, _080AF2B4 @ =0x0000085C
|
||||
adds r1, r1, r2
|
||||
@@ -3101,7 +3101,7 @@ _080AF2BC:
|
||||
bl GetInventoryValue
|
||||
cmp r0, #0
|
||||
beq _080AF2D6
|
||||
bl sub_08052E8C
|
||||
bl GetCurrentRoomInfo
|
||||
ldr r1, _080AF2D8 @ =gArea
|
||||
ldr r2, _080AF2DC @ =0x0000085C
|
||||
adds r1, r1, r2
|
||||
@@ -3123,7 +3123,7 @@ sub_080AF2E4: @ 0x080AF2E4
|
||||
bl GetInventoryValue
|
||||
cmp r0, #0
|
||||
beq _080AF300
|
||||
bl sub_08052E8C
|
||||
bl GetCurrentRoomInfo
|
||||
ldr r1, _080AF304 @ =gArea
|
||||
ldr r2, _080AF308 @ =0x0000085C
|
||||
adds r1, r1, r2
|
||||
|
||||
@@ -194,7 +194,7 @@ _08096494:
|
||||
strb r0, [r5, #0x19]
|
||||
adds r0, r5, #0
|
||||
movs r1, #6
|
||||
bl sub_0805E3A0
|
||||
bl SetDefaultPriority
|
||||
b _0809650A
|
||||
_080964A6:
|
||||
ldrb r0, [r5, #0xb]
|
||||
|
||||
+1
-1
@@ -129,7 +129,7 @@ _08081702:
|
||||
_0808170C:
|
||||
adds r0, r4, #0
|
||||
movs r1, #3
|
||||
bl sub_0805E3A0
|
||||
bl SetDefaultPriority
|
||||
pop {r4, r5, pc}
|
||||
.align 2, 0
|
||||
_08081718: .4byte gUnk_0811EC08
|
||||
|
||||
+3
-3
@@ -887,7 +887,7 @@ sub_080496EC: @ 0x080496EC
|
||||
cmp r0, #0
|
||||
bne _08049720
|
||||
movs r0, #2
|
||||
bl sub_08078A90
|
||||
bl SetPlayerControl
|
||||
movs r0, #2
|
||||
strb r0, [r4, #0xd]
|
||||
movs r0, #0x1e
|
||||
@@ -916,7 +916,7 @@ sub_0804972C: @ 0x0804972C
|
||||
cmp r0, #0
|
||||
bne _08049750
|
||||
movs r0, #2
|
||||
bl sub_08078A90
|
||||
bl SetPlayerControl
|
||||
movs r0, #2
|
||||
strb r0, [r4, #0xd]
|
||||
movs r0, #1
|
||||
@@ -1098,7 +1098,7 @@ sub_08049888: @ 0x08049888
|
||||
movs r0, #0x7c
|
||||
bl SetFlag
|
||||
movs r0, #1
|
||||
bl sub_08078A90
|
||||
bl SetPlayerControl
|
||||
_080498AE:
|
||||
pop {pc}
|
||||
.align 2, 0
|
||||
|
||||
+2
-2
@@ -185,7 +185,7 @@ sub_0808D7B4: @ 0x0808D7B4
|
||||
strh r0, [r1]
|
||||
adds r0, r4, #0
|
||||
movs r1, #6
|
||||
bl sub_0805E3A0
|
||||
bl SetDefaultPriority
|
||||
movs r0, #0x9b
|
||||
lsls r0, r0, #1
|
||||
bl EnqueueSFX
|
||||
@@ -335,7 +335,7 @@ _0808D8EE:
|
||||
_0808D910:
|
||||
adds r0, r4, #0
|
||||
bl sub_080AEFB4
|
||||
bl sub_0805E40C
|
||||
bl AnyPrioritySet
|
||||
cmp r0, #0
|
||||
bne _0808D954
|
||||
ldrb r0, [r4, #0xb]
|
||||
|
||||
@@ -108,7 +108,7 @@ _08087C64:
|
||||
strb r5, [r0]
|
||||
adds r0, r4, #0
|
||||
movs r1, #7
|
||||
bl sub_0805E3A0
|
||||
bl SetDefaultPriority
|
||||
adds r0, r4, #0
|
||||
movs r1, #1
|
||||
bl InitializeAnimation
|
||||
@@ -136,7 +136,7 @@ _08087C7C:
|
||||
bl sub_0808804C
|
||||
adds r0, r4, #0
|
||||
movs r1, #6
|
||||
bl sub_0805E3A0
|
||||
bl SetDefaultPriority
|
||||
_08087CA6:
|
||||
pop {r4, r5, pc}
|
||||
|
||||
@@ -951,7 +951,7 @@ _08088072:
|
||||
movs r0, #0x80
|
||||
lsls r0, r0, #4
|
||||
movs r1, #0x77
|
||||
bl CheckLocalFlagByOffset
|
||||
bl CheckLocalFlagByBank
|
||||
cmp r0, #0
|
||||
beq _08088084
|
||||
movs r4, #6
|
||||
@@ -960,7 +960,7 @@ _08088084:
|
||||
movs r0, #0xc0
|
||||
lsls r0, r0, #2
|
||||
movs r1, #0x32
|
||||
bl CheckLocalFlagByOffset
|
||||
bl CheckLocalFlagByBank
|
||||
cmp r0, #0
|
||||
beq _08088096
|
||||
movs r4, #5
|
||||
@@ -995,7 +995,7 @@ _080880B2:
|
||||
.endif
|
||||
.endif
|
||||
.endif
|
||||
bl CheckLocalFlagByOffset
|
||||
bl CheckLocalFlagByBank
|
||||
cmp r0, #0
|
||||
beq _080880C4
|
||||
movs r4, #2
|
||||
@@ -1129,7 +1129,7 @@ _08087FB4:
|
||||
_08087FBC:
|
||||
ldr r0, [r1]
|
||||
ldrh r1, [r1, #4]
|
||||
bl CheckLocalFlagByOffset
|
||||
bl CheckLocalFlagByBank
|
||||
b _08088064EU
|
||||
_08087FC6:
|
||||
ldrh r0, [r1, #4]
|
||||
@@ -1246,7 +1246,7 @@ _08087B48:
|
||||
_08087B50:
|
||||
ldr r0, [r1]
|
||||
ldrh r1, [r1, #4]
|
||||
bl CheckLocalFlagByOffset
|
||||
bl CheckLocalFlagByBank
|
||||
b _08087BF8
|
||||
_08087B5A:
|
||||
ldrh r0, [r1, #4]
|
||||
@@ -1361,7 +1361,7 @@ _0808818C:
|
||||
_08088194:
|
||||
ldr r0, [r1]
|
||||
ldrh r1, [r1, #4]
|
||||
bl CheckLocalFlagByOffset
|
||||
bl CheckLocalFlagByBank
|
||||
b _08088262
|
||||
_0808819E:
|
||||
ldrh r0, [r1, #4]
|
||||
|
||||
+20
-20
@@ -171,7 +171,7 @@ _08051AA8: .4byte gMain
|
||||
thumb_func_start InitializeNewRoom
|
||||
InitializeNewRoom: @ 0x08051AAC
|
||||
push {lr}
|
||||
bl sub_0805E5A8
|
||||
bl SetInitializationPriority
|
||||
ldr r1, _08051AE4 @ =gScreen
|
||||
movs r2, #0
|
||||
movs r0, #0xba
|
||||
@@ -248,14 +248,14 @@ _08051796:
|
||||
cmp r4, #0
|
||||
bne _080517DC
|
||||
bl sub_08052C5C
|
||||
bl sub_0805E5B4
|
||||
bl ResetSystemPriority
|
||||
bl sub_08051E04
|
||||
bl sub_080300C4
|
||||
ldr r1, _080517F0 @ =gMain
|
||||
movs r0, #2
|
||||
strb r0, [r1, #4]
|
||||
movs r0, #0
|
||||
bl sub_08078A90
|
||||
bl SetPlayerControl
|
||||
ldr r0, _080517F4 @ =gUnk_02034490
|
||||
strb r4, [r0]
|
||||
bl sub_08053178
|
||||
@@ -266,7 +266,7 @@ _08051796:
|
||||
bne _080517DC
|
||||
movs r0, #0
|
||||
movs r1, #1
|
||||
bl sub_0805E4E0
|
||||
bl RequestPriorityDuration
|
||||
_080517DC:
|
||||
pop {r4, pc}
|
||||
.align 2, 0
|
||||
@@ -330,14 +330,14 @@ _08051B5A:
|
||||
cmp r4, #0
|
||||
bne _08051BAE
|
||||
bl sub_08052C5C
|
||||
bl sub_0805E5B4
|
||||
bl ResetSystemPriority
|
||||
bl sub_08051E04
|
||||
bl sub_080300C4
|
||||
ldr r1, _08051BC4 @ =gMain
|
||||
movs r0, #2
|
||||
strb r0, [r1, #4]
|
||||
movs r0, #0
|
||||
bl sub_08078A90
|
||||
bl SetPlayerControl
|
||||
ldr r0, _08051BC8 @ =gUnk_02034490
|
||||
strb r4, [r0]
|
||||
.ifdef DEMO_JP
|
||||
@@ -394,7 +394,7 @@ _08051B96:
|
||||
bne _08051BAE
|
||||
movs r0, #0
|
||||
movs r1, #1
|
||||
bl sub_0805E4E0
|
||||
bl RequestPriorityDuration
|
||||
_08051BAE:
|
||||
pop {r4, r5, pc}
|
||||
.align 2, 0
|
||||
@@ -433,7 +433,7 @@ sub_08051BD0: @ 0x08051BD0
|
||||
ands r0, r1
|
||||
cmp r0, #0
|
||||
bne _08051C02
|
||||
ldr r0, _08051C64 @ =gUnk_03003DC0
|
||||
ldr r0, _08051C64 @ =gPriorityHandler
|
||||
ldrh r0, [r0, #8]
|
||||
cmp r0, #0
|
||||
beq _08051C06
|
||||
@@ -453,7 +453,7 @@ _08051C06:
|
||||
bl sub_0801C208
|
||||
bl sub_08078CB4
|
||||
bl sub_080AD9B0
|
||||
bl sub_0805291C
|
||||
bl HandleRoomExit
|
||||
bl sub_08052C5C
|
||||
bl sub_080528B4
|
||||
bl sub_080185F8
|
||||
@@ -468,7 +468,7 @@ _08051C06:
|
||||
.align 2, 0
|
||||
_08051C5C: .4byte gMain
|
||||
_08051C60: .4byte gMessage
|
||||
_08051C64: .4byte gUnk_03003DC0
|
||||
_08051C64: .4byte gPriorityHandler
|
||||
_08051C68: .4byte gRoomControls
|
||||
_08051C6C:
|
||||
ldr r0, _08051C80 @ =gPlayerState
|
||||
@@ -476,7 +476,7 @@ _08051C6C:
|
||||
strb r1, [r0, #0xc]
|
||||
ldr r0, _08051C84 @ =gMain
|
||||
strb r2, [r0, #4]
|
||||
bl sub_0805E59C
|
||||
bl SetRoomReloadPriority
|
||||
bl sub_08051D98
|
||||
b _08051C9C
|
||||
.align 2, 0
|
||||
@@ -489,7 +489,7 @@ _08051C88:
|
||||
ldr r1, _08051CA4 @ =gMain
|
||||
movs r0, #1
|
||||
strb r0, [r1, #4]
|
||||
bl sub_0805E59C
|
||||
bl SetRoomReloadPriority
|
||||
bl sub_08051DCC
|
||||
_08051C9C:
|
||||
pop {pc}
|
||||
@@ -511,14 +511,14 @@ sub_08051CA8: @ 0x08051CA8
|
||||
bl sub_0801C208
|
||||
bl sub_08078CB4
|
||||
bl sub_080AD9B0
|
||||
bl sub_0805291C
|
||||
bl HandleRoomExit
|
||||
bl sub_080528B4
|
||||
bl sub_080AD918
|
||||
ldr r0, _08051CEC @ =gFadeControl
|
||||
ldrb r0, [r0]
|
||||
cmp r0, #0
|
||||
bne _08051CEA
|
||||
bl sub_0805E5B4
|
||||
bl ResetSystemPriority
|
||||
_08051CEA:
|
||||
pop {pc}
|
||||
.align 2, 0
|
||||
@@ -592,7 +592,7 @@ InitializeEntities: @ 0x08051D40
|
||||
bl sub_0805283C
|
||||
movs r0, #0
|
||||
movs r1, #0
|
||||
bl sub_0801D79C
|
||||
bl SetColor
|
||||
bl LoadRoom
|
||||
bl CreateZeldaFollower
|
||||
bl sub_0804AFF4
|
||||
@@ -622,7 +622,7 @@ sub_08051D98: @ 0x08051D98
|
||||
bl LoadRoom
|
||||
bl sub_0804AFF4
|
||||
movs r0, #1
|
||||
bl sub_08078A90
|
||||
bl SetPlayerControl
|
||||
pop {pc}
|
||||
.align 2, 0
|
||||
_08051DC8: .4byte gRoomVars
|
||||
@@ -636,7 +636,7 @@ sub_08051DCC: @ 0x08051DCC
|
||||
strb r0, [r1, #4]
|
||||
ldrb r0, [r4, #0xd]
|
||||
strb r0, [r1, #5]
|
||||
bl sub_080528F0
|
||||
bl RoomExitCallback
|
||||
movs r0, #3
|
||||
strb r0, [r4, #9]
|
||||
bl sub_08052CFC
|
||||
@@ -653,7 +653,7 @@ _08051E00: .4byte gScreenTransition
|
||||
thumb_func_start sub_08051E04
|
||||
sub_08051E04: @ 0x08051E04
|
||||
push {lr}
|
||||
bl sub_08052620
|
||||
bl CheckIsOverworld
|
||||
cmp r0, #0
|
||||
beq _08051E60
|
||||
ldr r1, _08051E2C @ =gPlayerEntity
|
||||
@@ -735,7 +735,7 @@ sub_08051E84: @ 0x08051E84
|
||||
strb r0, [r5, #5]
|
||||
bl sub_08053320
|
||||
ldrb r0, [r5, #4]
|
||||
bl sub_08052D58
|
||||
bl GetFlagBankOffset
|
||||
ldr r1, _08051EFC @ =gArea
|
||||
movs r6, #0
|
||||
strh r0, [r1, #4]
|
||||
@@ -927,7 +927,7 @@ sub_08052010: @ 0x08052010
|
||||
bl LoadPaletteGroup
|
||||
movs r0, #0
|
||||
movs r1, #0
|
||||
bl sub_0801D79C
|
||||
bl SetColor
|
||||
movs r0, #4
|
||||
bl LoadGfxGroup
|
||||
movs r0, #0xc0
|
||||
|
||||
+6
-6
@@ -216,14 +216,14 @@ sub_080A034C: @ 0x080A034C
|
||||
bne _080A038C
|
||||
ldr r0, _080A0374 @ =gPlayerEntity
|
||||
movs r1, #0
|
||||
bl sub_0805E3A0
|
||||
bl SetDefaultPriority
|
||||
b _080A038C
|
||||
.align 2, 0
|
||||
_080A0374: .4byte gPlayerEntity
|
||||
_080A0378:
|
||||
movs r0, #0
|
||||
movs r1, #0x3c
|
||||
bl sub_0805E4E0
|
||||
bl RequestPriorityDuration
|
||||
bl sub_0808C67C
|
||||
cmp r0, #0
|
||||
beq _080A038C
|
||||
@@ -239,7 +239,7 @@ sub_080A0390: @ 0x080A0390
|
||||
adds r4, r0, #0
|
||||
movs r0, #0
|
||||
movs r1, #0x3c
|
||||
bl sub_0805E4E0
|
||||
bl RequestPriorityDuration
|
||||
ldr r0, _080A03B4 @ =gFadeControl
|
||||
ldrb r0, [r0]
|
||||
cmp r0, #0
|
||||
@@ -262,7 +262,7 @@ sub_080A03B8: @ 0x080A03B8
|
||||
adds r4, r0, #0
|
||||
movs r0, #0
|
||||
movs r1, #0xa
|
||||
bl sub_0805E4E0
|
||||
bl RequestPriorityDuration
|
||||
adds r1, r4, #0
|
||||
adds r1, #0x68
|
||||
ldrh r0, [r1]
|
||||
@@ -286,7 +286,7 @@ sub_080A03E8: @ 0x080A03E8
|
||||
push {lr}
|
||||
movs r0, #0
|
||||
movs r1, #0xa
|
||||
bl sub_0805E4E0
|
||||
bl RequestPriorityDuration
|
||||
ldr r0, _080A041C @ =gMessage
|
||||
ldrb r1, [r0]
|
||||
movs r0, #0x7f
|
||||
@@ -294,7 +294,7 @@ sub_080A03E8: @ 0x080A03E8
|
||||
cmp r0, #0
|
||||
bne _080A041A
|
||||
movs r0, #0x5a
|
||||
bl sub_0805E510
|
||||
bl SetPriorityTimer
|
||||
ldr r0, _080A0420 @ =gPlayerState
|
||||
adds r0, #0x8b
|
||||
movs r1, #1
|
||||
|
||||
@@ -35,7 +35,7 @@ _0805E6A8:
|
||||
ands r0, r1
|
||||
cmp r0, #0
|
||||
beq _0805E6D4
|
||||
ldr r0, _0805E6D0 @ =gUnk_03003DD0
|
||||
ldr r0, _0805E6D0 @ =gUpdateContext
|
||||
ldr r0, [r0, #8]
|
||||
cmp r4, r0
|
||||
beq _0805E6D4
|
||||
@@ -45,7 +45,7 @@ _0805E6A8:
|
||||
b _0805E730
|
||||
.align 2, 0
|
||||
_0805E6CC: .4byte gPlayerEntity
|
||||
_0805E6D0: .4byte gUnk_03003DD0
|
||||
_0805E6D0: .4byte gUpdateContext
|
||||
_0805E6D4:
|
||||
adds r4, #0x88
|
||||
ldr r0, _0805E738 @ =gUnk_03003BE0
|
||||
@@ -65,7 +65,7 @@ _0805E6EA:
|
||||
cmp r4, r2
|
||||
beq _0805E718
|
||||
movs r7, #0x1c
|
||||
ldr r6, _0805E740 @ =gUnk_03003DD0
|
||||
ldr r6, _0805E740 @ =gUpdateContext
|
||||
_0805E6F8:
|
||||
ldrb r0, [r4, #8]
|
||||
cmp r0, #9
|
||||
@@ -103,5 +103,5 @@ _0805E730:
|
||||
.align 2, 0
|
||||
_0805E738: .4byte gUnk_03003BE0
|
||||
_0805E73C: .4byte gEntityLists
|
||||
_0805E740: .4byte gUnk_03003DD0
|
||||
_0805E740: .4byte gUpdateContext
|
||||
.syntax divided
|
||||
|
||||
@@ -82,7 +82,7 @@ _0808E4C8:
|
||||
ldr r1, _0808E548 @ =sub_0808E55C
|
||||
adds r0, r4, #0
|
||||
movs r2, #0
|
||||
bl sub_08052D74
|
||||
bl RegisterTransitionManager
|
||||
b _0808E55A
|
||||
.align 2, 0
|
||||
_0808E540: .4byte gUnk_08121C40
|
||||
|
||||
+1
-1
@@ -129,7 +129,7 @@ sub_0804614C: @ 0x0804614C
|
||||
ldr r1, _08046258 @ =sub_08046498
|
||||
adds r0, r6, #0
|
||||
movs r2, #0
|
||||
bl sub_08052D74
|
||||
bl RegisterTransitionManager
|
||||
_08046244:
|
||||
pop {r4, r5, r6, pc}
|
||||
.align 2, 0
|
||||
|
||||
+5
-5
@@ -657,7 +657,7 @@ _080B21A4: .4byte 0x01010101
|
||||
_080B21A8: .4byte gUnk_02000006
|
||||
_080B21AC: .4byte gUnk_08000F54
|
||||
|
||||
ldr r11, _080B2270 @ =gUnk_03003DD0
|
||||
ldr r11, _080B2270 @ =gUpdateContext
|
||||
ldr r1, [r11]
|
||||
ldm r1, {r7, r8, r9, r10}
|
||||
ldr sp, [r11, #0xc]
|
||||
@@ -665,7 +665,7 @@ _080B21AC: .4byte gUnk_08000F54
|
||||
ldr r0, [r11, #8]
|
||||
add pc, pc, #0x60 @ =_080B2230
|
||||
|
||||
@ gUnk_03003DD0 {
|
||||
@ gUpdateContext {
|
||||
@ void* chosen_table;
|
||||
@ void* linked_list_top;
|
||||
@ void* curr_entity;
|
||||
@@ -679,7 +679,7 @@ UpdateEntities_arm: @ 0x080B21B0
|
||||
ldr r1, _080B2274 @ =gUnk_080026A4
|
||||
add r1, r1, r0, lsl #4
|
||||
push {r4 - r11, lr}
|
||||
ldr r11, _080B2278 @ =gUnk_03003DD0
|
||||
ldr r11, _080B2278 @ =gUpdateContext
|
||||
str r1, [r11, #0x0]
|
||||
str sp, [r11, #0xc]
|
||||
ldm r1, {r7, r8, r9, r10}
|
||||
@@ -724,9 +724,9 @@ _080B2264: .4byte NPCUpdate
|
||||
_080B2268: .4byte ItemUpdate
|
||||
_080B226C: .4byte ManagerUpdate
|
||||
|
||||
_080B2270: .4byte gUnk_03003DD0
|
||||
_080B2270: .4byte gUpdateContext
|
||||
_080B2274: .4byte gUnk_080026A4
|
||||
_080B2278: .4byte gUnk_03003DD0
|
||||
_080B2278: .4byte gUpdateContext
|
||||
|
||||
arm_func_start sub_080B227C
|
||||
sub_080B227C: @ 0x080B227C
|
||||
|
||||
+2
-2
@@ -64,7 +64,7 @@ sub_08081854: @ 0x08081854
|
||||
.ifdef EU
|
||||
adds r0, r4, #0x0
|
||||
movs r1, #0x6
|
||||
bl sub_0805E3A0
|
||||
bl SetDefaultPriority
|
||||
.endif
|
||||
str r4, [r4, #0x54]
|
||||
adds r0, r4, #0
|
||||
@@ -358,7 +358,7 @@ sub_08081AB0: @ 0x08081AB0
|
||||
str r0, [r1, #0x68]
|
||||
strb r0, [r1, #6]
|
||||
strb r0, [r1, #7]
|
||||
bl sub_08078A90
|
||||
bl SetPlayerControl
|
||||
pop {pc}
|
||||
.align 2, 0
|
||||
_08081AC4: .4byte gRoomVars
|
||||
|
||||
+2
-2
@@ -159,7 +159,7 @@ _0809A87C:
|
||||
bl InitAnimationForceUpdate
|
||||
adds r0, r4, #0
|
||||
movs r1, #0x78
|
||||
bl sub_0805E4E0
|
||||
bl RequestPriorityDuration
|
||||
_0809A8A0:
|
||||
pop {r4, pc}
|
||||
.align 2, 0
|
||||
@@ -206,7 +206,7 @@ _0809A8E2:
|
||||
ands r0, r1
|
||||
strb r0, [r2]
|
||||
movs r0, #0xff
|
||||
bl sub_08078A90
|
||||
bl SetPlayerControl
|
||||
movs r0, #0x2a
|
||||
bl SetGlobalFlag
|
||||
_0809A8FC:
|
||||
|
||||
@@ -139,7 +139,7 @@
|
||||
.2byte \s
|
||||
.endm
|
||||
|
||||
.macro CheckLocalFlagByOffset a:req, b:req
|
||||
.macro CheckLocalFlagByBank a:req, b:req
|
||||
.2byte 0x0c13
|
||||
.2byte \a
|
||||
.2byte \b
|
||||
@@ -262,7 +262,7 @@
|
||||
.2byte \s
|
||||
.endm
|
||||
|
||||
.macro SetLocalFlagByOffset a:req, b:req
|
||||
.macro SetLocalFlagByBank a:req, b:req
|
||||
.2byte 0x0c2b
|
||||
.2byte \a
|
||||
.2byte \b
|
||||
|
||||
@@ -15,7 +15,7 @@
|
||||
ldr r1, _0805791C @ =sub_080582F8
|
||||
adds r0, r4, #0
|
||||
movs r2, #0
|
||||
bl sub_08052D74
|
||||
bl RegisterTransitionManager
|
||||
_080578C4:
|
||||
ldr r0, _08057920 @ =gRoomControls
|
||||
ldrh r5, [r0]
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
push {r6}
|
||||
mov r8, r0
|
||||
adds r4, r1, #0
|
||||
bl sub_0805E5A8
|
||||
bl SetInitializationPriority
|
||||
ldr r5, _080575E8 @ =gUnk_03004030
|
||||
ldrb r0, [r5, #9]
|
||||
strb r0, [r5, #0xa]
|
||||
|
||||
@@ -1,66 +0,0 @@
|
||||
.syntax unified
|
||||
push {r4, r5, r6, lr}
|
||||
sub sp, #0x18
|
||||
adds r6, r0, #0
|
||||
adds r4, r1, #0
|
||||
ldr r0, _08052494 @ =gBG1Buffer
|
||||
movs r1, #0x80
|
||||
lsls r1, r1, #4
|
||||
bl MemClear
|
||||
ldr r0, _08052498 @ =gUnk_020227E8
|
||||
movs r1, #0xf
|
||||
str r1, [r0]
|
||||
str r1, [r0, #8]
|
||||
str r1, [r0, #0x10]
|
||||
str r1, [r0, #0x18]
|
||||
lsls r4, r4, #3
|
||||
adds r0, #1
|
||||
adds r4, r4, r0
|
||||
movs r5, #1
|
||||
strb r5, [r4]
|
||||
ldr r4, _0805249C @ =gUnk_080FCA8C
|
||||
adds r0, r4, #0
|
||||
mov r1, sp
|
||||
movs r2, #0x18
|
||||
bl MemCopy
|
||||
lsls r2, r6, #1
|
||||
adds r2, r2, r6
|
||||
lsls r2, r2, #2
|
||||
ldr r0, _080524A0 @ =gUnk_080FCAA4
|
||||
adds r2, r2, r0
|
||||
movs r0, #0x80
|
||||
lsls r0, r0, #0x12
|
||||
ldrb r1, [r0, #7]
|
||||
adds r1, r2, r1
|
||||
ldrb r0, [r2, #8]
|
||||
lsls r0, r0, #5
|
||||
ldrb r1, [r1]
|
||||
adds r0, r0, r1
|
||||
lsls r0, r0, #1
|
||||
ldr r1, [r4]
|
||||
adds r1, r1, r0
|
||||
str r1, [sp]
|
||||
mov r4, sp
|
||||
ldrb r0, [r2, #9]
|
||||
adds r1, r5, #0
|
||||
ands r1, r0
|
||||
ldrb r3, [r4, #0x13]
|
||||
movs r0, #2
|
||||
rsbs r0, r0, #0
|
||||
ands r0, r3
|
||||
orrs r0, r1
|
||||
strb r0, [r4, #0x13]
|
||||
ldrh r0, [r2, #0xa]
|
||||
mov r1, sp
|
||||
bl sub_0805F46C
|
||||
ldr r0, _080524A4 @ =gScreen
|
||||
strh r5, [r0, #0x1a]
|
||||
add sp, #0x18
|
||||
pop {r4, r5, r6, pc}
|
||||
.align 2, 0
|
||||
_08052494: .4byte gBG1Buffer
|
||||
_08052498: .4byte gUnk_020227E8
|
||||
_0805249C: .4byte gUnk_080FCA8C
|
||||
_080524A0: .4byte gUnk_080FCAA4
|
||||
_080524A4: .4byte gScreen
|
||||
.syntax divided
|
||||
@@ -76,11 +76,11 @@ _080574DC:
|
||||
adds r0, r5, #0
|
||||
adds r0, #0x87
|
||||
ldrh r1, [r4]
|
||||
bl sub_0801D79C
|
||||
bl SetColor
|
||||
adds r0, r5, #0
|
||||
adds r0, #0x8c
|
||||
ldrh r1, [r4, #0xa]
|
||||
bl sub_0801D79C
|
||||
bl SetColor
|
||||
adds r4, #2
|
||||
adds r5, #1
|
||||
cmp r5, #3
|
||||
|
||||
@@ -25,7 +25,7 @@ _0805AB68:
|
||||
strb r0, [r1]
|
||||
adds r0, r6, #0
|
||||
movs r1, #6
|
||||
bl sub_0805E3A0
|
||||
bl SetDefaultPriority
|
||||
ldr r2, _0805ABF4 @ =gUnk_02031EC0
|
||||
ldrb r0, [r6, #0xb]
|
||||
mov r3, r8
|
||||
|
||||
@@ -27,7 +27,7 @@ _0805B90A:
|
||||
str r2, [r5, #0x20]
|
||||
adds r0, r5, #0
|
||||
movs r1, #6
|
||||
bl sub_0805E3A0
|
||||
bl SetDefaultPriority
|
||||
bl sub_0801E120
|
||||
ldrb r0, [r5, #0xe]
|
||||
bl sub_0801E154
|
||||
|
||||
@@ -40,7 +40,7 @@ _08067F1E:
|
||||
strb r4, [r0]
|
||||
adds r0, r5, #0
|
||||
movs r1, #2
|
||||
bl sub_0805E3A0
|
||||
bl SetDefaultPriority
|
||||
adds r0, r5, #0
|
||||
bl sub_0807DD50
|
||||
ldr r1, _08067F54 @ =gUnk_08111304
|
||||
|
||||
@@ -24,7 +24,7 @@
|
||||
ldr r1, _08076C7C @ =gUnk_02034490
|
||||
strb r4, [r1]
|
||||
bl CreateBird
|
||||
bl UnfreezeTime
|
||||
bl ResetPlayerEventPriority
|
||||
adds r0, r5, #0
|
||||
adds r1, r6, #0
|
||||
bl sub_08077E78
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
.syntax unified
|
||||
push {r4, r5, r6, lr}
|
||||
bl sub_080530C8
|
||||
bl UpdateGlobalProgress
|
||||
movs r0, #0xb
|
||||
bl CheckKinstoneFused
|
||||
cmp r0, #0
|
||||
|
||||
+1
-1
@@ -125,7 +125,7 @@ _080875CE:
|
||||
_080875DC:
|
||||
adds r0, r4, #0
|
||||
movs r1, #3
|
||||
bl sub_0805E3A0
|
||||
bl SetDefaultPriority
|
||||
ldrb r1, [r4, #0xb]
|
||||
lsls r1, r1, #2
|
||||
ldrb r0, [r4, #0x14]
|
||||
|
||||
+1
-1
@@ -59,7 +59,7 @@ _080897BA:
|
||||
strh r0, [r1]
|
||||
adds r0, r4, #0
|
||||
movs r1, #6
|
||||
bl sub_0805E3A0
|
||||
bl SetDefaultPriority
|
||||
_080897D0:
|
||||
ldrb r1, [r4, #0x10]
|
||||
movs r0, #0x10
|
||||
|
||||
+1
-1
@@ -198,7 +198,7 @@ sub_0808A968: @ 0x0808A968
|
||||
str r0, [r4, #0x48]
|
||||
adds r0, r4, #0
|
||||
movs r1, #2
|
||||
bl sub_0805E3A0
|
||||
bl SetDefaultPriority
|
||||
movs r0, #0xa0
|
||||
lsls r0, r0, #6
|
||||
str r0, [r4, #0x70]
|
||||
|
||||
+1
-1
@@ -295,7 +295,7 @@ sub_0808D2CC: @ 0x0808D2CC
|
||||
strb r0, [r1, #0xa]
|
||||
adds r0, r1, #0
|
||||
movs r1, #2
|
||||
bl sub_0805E3A0
|
||||
bl SetDefaultPriority
|
||||
_0808D2F2:
|
||||
add sp, #4
|
||||
pop {pc}
|
||||
|
||||
+15
-15
@@ -283,7 +283,7 @@ _08094C44:
|
||||
strb r0, [r4, #0xc]
|
||||
adds r0, r4, #0
|
||||
movs r1, #2
|
||||
bl sub_0805E3A0
|
||||
bl SetDefaultPriority
|
||||
ldr r1, _08094C84 @ =gUnk_08114F30
|
||||
ldrb r0, [r5, #0x19]
|
||||
lsrs r0, r0, #6
|
||||
@@ -333,7 +333,7 @@ _08094CA0:
|
||||
strb r0, [r5, #0x18]
|
||||
adds r0, r5, #0
|
||||
movs r1, #3
|
||||
bl sub_0805E3A0
|
||||
bl SetDefaultPriority
|
||||
ldrb r0, [r5, #0xb]
|
||||
cmp r0, #0x43
|
||||
bgt _08094CCC
|
||||
@@ -478,7 +478,7 @@ _08094DAC:
|
||||
strb r0, [r4, #0x18]
|
||||
adds r0, r4, #0
|
||||
movs r1, #3
|
||||
bl sub_0805E3A0
|
||||
bl SetDefaultPriority
|
||||
adds r0, r4, #0
|
||||
movs r1, #0
|
||||
bl InitAnimationForceUpdate
|
||||
@@ -603,7 +603,7 @@ _08094EA6:
|
||||
str r1, [r4, #0x20]
|
||||
adds r0, r4, #0
|
||||
movs r1, #6
|
||||
bl sub_0805E3A0
|
||||
bl SetDefaultPriority
|
||||
adds r0, r4, #0
|
||||
movs r1, #0
|
||||
bl InitializeAnimation
|
||||
@@ -863,7 +863,7 @@ _08094FF0:
|
||||
movs r1, #0x36
|
||||
strb r1, [r0]
|
||||
movs r0, #2
|
||||
bl sub_08078A90
|
||||
bl SetPlayerControl
|
||||
b _08095086
|
||||
.align 2, 0
|
||||
_08095020: .4byte gPlayerState
|
||||
@@ -913,7 +913,7 @@ _08095070:
|
||||
movs r0, #5
|
||||
strb r0, [r4, #0xc]
|
||||
movs r0, #1
|
||||
bl sub_08078A90
|
||||
bl SetPlayerControl
|
||||
_08095086:
|
||||
pop {r4, pc}
|
||||
.endif
|
||||
@@ -1005,7 +1005,7 @@ sub_08095120: @ 0x08095120
|
||||
strb r0, [r4, #0xc]
|
||||
adds r0, r4, #0
|
||||
movs r1, #3
|
||||
bl sub_0805E3A0
|
||||
bl SetDefaultPriority
|
||||
adds r0, r4, #0
|
||||
adds r1, r4, #0
|
||||
bl sub_0806FAD8
|
||||
@@ -1056,7 +1056,7 @@ sub_08095188: @ 0x08095188
|
||||
strb r0, [r4, #0xc]
|
||||
adds r0, r4, #0
|
||||
movs r1, #3
|
||||
bl sub_0805E3A0
|
||||
bl SetDefaultPriority
|
||||
adds r0, r4, #0
|
||||
adds r1, r4, #0
|
||||
bl sub_0806FAD8
|
||||
@@ -1182,7 +1182,7 @@ sub_08095288: @ 0x08095288
|
||||
strb r1, [r4, #0xd]
|
||||
adds r0, r4, #0
|
||||
movs r1, #3
|
||||
bl sub_0805E3A0
|
||||
bl SetDefaultPriority
|
||||
adds r0, r4, #0
|
||||
movs r1, #0
|
||||
bl InitAnimationForceUpdate
|
||||
@@ -1326,7 +1326,7 @@ sub_080953A4: @ 0x080953A4
|
||||
strh r0, [r4, #0x36]
|
||||
adds r0, r4, #0
|
||||
movs r1, #2
|
||||
bl sub_0805E3A0
|
||||
bl SetDefaultPriority
|
||||
ldr r1, _08095418 @ =gUnk_08114F30
|
||||
ldrb r2, [r4, #0x19]
|
||||
lsrs r0, r2, #6
|
||||
@@ -2025,7 +2025,7 @@ sub_08095918: @ 0x08095918
|
||||
strb r0, [r4, #0xc]
|
||||
adds r0, r4, #0
|
||||
movs r1, #6
|
||||
bl sub_0805E3A0
|
||||
bl SetDefaultPriority
|
||||
adds r0, r4, #0
|
||||
bl sub_0807DD64
|
||||
adds r0, r4, #0
|
||||
@@ -2116,7 +2116,7 @@ sub_080959CC: @ 0x080959CC
|
||||
strb r0, [r4, #0x18]
|
||||
adds r0, r4, #0
|
||||
movs r1, #3
|
||||
bl sub_0805E3A0
|
||||
bl SetDefaultPriority
|
||||
adds r0, r4, #0
|
||||
bl sub_0807DD64
|
||||
_080959F2:
|
||||
@@ -2533,7 +2533,7 @@ sub_08095CE0: @ 0x08095CE0
|
||||
strb r0, [r4, #0x18]
|
||||
adds r0, r4, #0
|
||||
movs r1, #6
|
||||
bl sub_0805E3A0
|
||||
bl SetDefaultPriority
|
||||
adds r0, r4, #0
|
||||
bl sub_0807DD64
|
||||
_08095D06:
|
||||
@@ -2956,14 +2956,14 @@ sub_08096028: @ 0x08096028
|
||||
lsls r5, r5, #2
|
||||
adds r0, r5, #0
|
||||
movs r1, #0x7b
|
||||
bl CheckLocalFlagByOffset
|
||||
bl CheckLocalFlagByBank
|
||||
cmp r0, #0
|
||||
bne _0809603E
|
||||
movs r4, #4
|
||||
_0809603E:
|
||||
adds r0, r5, #0
|
||||
movs r1, #0x7a
|
||||
bl CheckLocalFlagByOffset
|
||||
bl CheckLocalFlagByBank
|
||||
cmp r0, #0
|
||||
bne _0809604C
|
||||
movs r4, #3
|
||||
|
||||
+4
-4
@@ -75,13 +75,13 @@ sub_08097BDC: @ 0x08097BDC
|
||||
cmp r0, #0
|
||||
beq _08097C10
|
||||
movs r0, #1
|
||||
bl sub_08078A90
|
||||
bl SetPlayerControl
|
||||
ldr r0, _08097C14 @ =gUnk_02034490
|
||||
movs r1, #1
|
||||
strb r1, [r0]
|
||||
adds r0, r4, #0
|
||||
movs r1, #0x1e
|
||||
bl sub_0805E4E0
|
||||
bl RequestPriorityDuration
|
||||
adds r0, r4, #0
|
||||
bl sub_08097CB0
|
||||
cmp r0, #0
|
||||
@@ -108,7 +108,7 @@ sub_08097C20: @ 0x08097C20
|
||||
push {r4, r5, r6, lr}
|
||||
adds r4, r0, #0
|
||||
movs r0, #0x1e
|
||||
bl sub_0805E510
|
||||
bl SetPriorityTimer
|
||||
adds r0, r4, #0
|
||||
bl sub_0800445C
|
||||
movs r1, #0x2e
|
||||
@@ -146,7 +146,7 @@ sub_08097C20: @ 0x08097C20
|
||||
cmp r0, #0x10
|
||||
bne _08097CA6
|
||||
movs r0, #0
|
||||
bl sub_08078A90
|
||||
bl SetPlayerControl
|
||||
ldr r1, _08097CAC @ =gUnk_02034490
|
||||
movs r0, #0
|
||||
strb r0, [r1]
|
||||
|
||||
+1
-1
@@ -62,7 +62,7 @@ sub_08097FB4: @ 0x08097FB4
|
||||
str r0, [r4, #0x74]
|
||||
adds r0, r4, #0
|
||||
movs r1, #6
|
||||
bl sub_0805E3A0
|
||||
bl SetDefaultPriority
|
||||
ldrb r0, [r4, #0xa]
|
||||
cmp r0, #0
|
||||
bne _08098018
|
||||
|
||||
+1
-1
@@ -165,7 +165,7 @@ sub_0809B050: @ 0x0809B050
|
||||
adds r0, #0x80
|
||||
strh r1, [r0]
|
||||
movs r0, #0
|
||||
bl sub_08078A90
|
||||
bl SetPlayerControl
|
||||
adds r0, r4, #0
|
||||
bl sub_0809B0B0
|
||||
movs r0, #0x86
|
||||
|
||||
+5
-5
@@ -25,7 +25,7 @@ sub_0809B858: @ 0x0809B858
|
||||
push {r4, r5, lr}
|
||||
adds r4, r0, #0
|
||||
movs r1, #0x1e
|
||||
bl sub_0805E4E0
|
||||
bl RequestPriorityDuration
|
||||
ldrb r3, [r4, #0xc]
|
||||
cmp r3, #1
|
||||
beq _0809B8CC
|
||||
@@ -206,7 +206,7 @@ sub_0809B9BC: @ 0x0809B9BC
|
||||
push {r4, r5, lr}
|
||||
adds r4, r0, #0
|
||||
movs r1, #0x1e
|
||||
bl sub_0805E4E0
|
||||
bl RequestPriorityDuration
|
||||
ldrb r0, [r4, #0xc]
|
||||
cmp r0, #1
|
||||
beq _0809BA34
|
||||
@@ -344,7 +344,7 @@ sub_0809BAD0: @ 0x0809BAD0
|
||||
push {r4, r5, lr}
|
||||
adds r4, r0, #0
|
||||
movs r1, #0xa
|
||||
bl sub_0805E4E0
|
||||
bl RequestPriorityDuration
|
||||
ldrb r0, [r4, #0xc]
|
||||
cmp r0, #4
|
||||
bls _0809BAE2
|
||||
@@ -545,7 +545,7 @@ sub_0809BC70: @ 0x0809BC70
|
||||
push {r4, r5, r6, lr}
|
||||
adds r4, r0, #0
|
||||
movs r1, #0x1e
|
||||
bl sub_0805E4E0
|
||||
bl RequestPriorityDuration
|
||||
ldrb r5, [r4, #0xc]
|
||||
cmp r5, #1
|
||||
beq _0809BCDC
|
||||
@@ -701,7 +701,7 @@ sub_0809BDB0: @ 0x0809BDB0
|
||||
push {r4, lr}
|
||||
adds r4, r0, #0
|
||||
movs r1, #0x1e
|
||||
bl sub_0805E4E0
|
||||
bl RequestPriorityDuration
|
||||
ldrb r0, [r4, #0xc]
|
||||
cmp r0, #1
|
||||
beq _0809BE00
|
||||
|
||||
+1
-1
@@ -125,7 +125,7 @@ _08083942:
|
||||
strb r0, [r4, #0x10]
|
||||
adds r0, r4, #0
|
||||
movs r1, #6
|
||||
bl sub_0805E3A0
|
||||
bl SetDefaultPriority
|
||||
pop {r4, pc}
|
||||
.align 2, 0
|
||||
.ifdef EU
|
||||
|
||||
+2
-2
@@ -58,7 +58,7 @@ _0809C410: @ jump table
|
||||
_0809C430:
|
||||
adds r0, r4, #0
|
||||
movs r1, #6
|
||||
bl sub_0805E3A0
|
||||
bl SetDefaultPriority
|
||||
adds r1, r4, #0
|
||||
adds r1, #0x7e
|
||||
movs r0, #0
|
||||
@@ -451,7 +451,7 @@ _0809C738:
|
||||
beq _0809C74A
|
||||
adds r0, r5, #0
|
||||
movs r1, #0x1e
|
||||
bl sub_0805E4E0
|
||||
bl RequestPriorityDuration
|
||||
_0809C74A:
|
||||
ldr r1, _0809C7A8 @ =gUnk_08123DF8
|
||||
ldrb r0, [r5, #0xd]
|
||||
|
||||
+1
-1
@@ -69,7 +69,7 @@ _0809E3A6:
|
||||
strb r0, [r4, #0x14]
|
||||
adds r0, r4, #0
|
||||
movs r1, #0
|
||||
bl sub_0805E3A0
|
||||
bl SetDefaultPriority
|
||||
ldrb r0, [r4, #0xa]
|
||||
cmp r0, #0
|
||||
beq _0809E3D8
|
||||
|
||||
+2
-2
@@ -62,7 +62,7 @@ _0809FAE6:
|
||||
strh r0, [r1]
|
||||
adds r0, r3, #0
|
||||
movs r1, #3
|
||||
bl sub_0805E3A0
|
||||
bl SetDefaultPriority
|
||||
movs r0, #0x9b
|
||||
lsls r0, r0, #1
|
||||
bl EnqueueSFX
|
||||
@@ -277,7 +277,7 @@ _0809FC8A:
|
||||
_0809FCAC:
|
||||
adds r0, r4, #0
|
||||
bl sub_080AEFB4
|
||||
bl sub_0805E40C
|
||||
bl AnyPrioritySet
|
||||
cmp r0, #0
|
||||
bne _0809FCF8
|
||||
ldrb r0, [r4, #0xa]
|
||||
|
||||
+1
-1
@@ -84,7 +84,7 @@ sub_080A0158: @ 0x080A0158
|
||||
bl sub_080A0190
|
||||
adds r0, r4, #0
|
||||
movs r1, #0x1e
|
||||
bl sub_0805E4E0
|
||||
bl RequestPriorityDuration
|
||||
ldr r1, _080A018C @ =gPlayerEntity
|
||||
adds r0, r4, #0
|
||||
movs r2, #0x10
|
||||
|
||||
+1
-1
@@ -57,7 +57,7 @@ sub_08083BE0: @ 0x08083BE0
|
||||
push {r4, lr}
|
||||
adds r4, r0, #0
|
||||
movs r1, #6
|
||||
bl sub_0805E3A0
|
||||
bl SetDefaultPriority
|
||||
movs r0, #1
|
||||
strb r0, [r4, #0xc]
|
||||
pop {r4, pc}
|
||||
|
||||
+1
-1
@@ -774,7 +774,7 @@ _080A1B80:
|
||||
ldr r0, _080A1C00 @ =gRoomControls
|
||||
str r4, [r0, #0x30]
|
||||
movs r0, #2
|
||||
bl sub_08078A90
|
||||
bl SetPlayerControl
|
||||
_080A1BD0:
|
||||
ldr r2, _080A1BF8 @ =gPlayerState
|
||||
ldr r1, _080A1C00 @ =gRoomControls
|
||||
|
||||
@@ -182,7 +182,7 @@ _08092FF2:
|
||||
strb r0, [r6, #0xe]
|
||||
adds r0, r6, #0
|
||||
movs r1, #0x50
|
||||
bl sub_0805E4E0
|
||||
bl RequestPriorityDuration
|
||||
ldr r0, _0809303C @ =0x0000010F
|
||||
bl EnqueueSFX
|
||||
adds r0, r6, #0
|
||||
@@ -554,7 +554,7 @@ sub_080932D8: @ 0x080932D8
|
||||
adds r4, r0, r1
|
||||
ldr r0, [r4]
|
||||
ldrh r1, [r4, #4]
|
||||
bl CheckLocalFlagByOffset
|
||||
bl CheckLocalFlagByBank
|
||||
cmp r0, #0
|
||||
beq _080932F4
|
||||
movs r0, #1
|
||||
@@ -564,7 +564,7 @@ _080932F0: .4byte gUnk_08122898
|
||||
_080932F4:
|
||||
ldr r0, [r4]
|
||||
ldrh r1, [r4, #6]
|
||||
bl CheckLocalFlagByOffset
|
||||
bl CheckLocalFlagByBank
|
||||
cmp r0, #0
|
||||
bne _08093304
|
||||
movs r0, #0
|
||||
@@ -585,7 +585,7 @@ sub_08093308: @ 0x08093308
|
||||
bne _08093324
|
||||
ldr r0, [r1]
|
||||
ldrh r1, [r1, #4]
|
||||
bl SetLocalFlagByOffset
|
||||
bl SetLocalFlagByBank
|
||||
b _08093330
|
||||
.align 2, 0
|
||||
_08093320: .4byte gUnk_08122898
|
||||
@@ -594,7 +594,7 @@ _08093324:
|
||||
bne _08093330
|
||||
ldr r0, [r1]
|
||||
ldrh r1, [r1, #6]
|
||||
bl SetLocalFlagByOffset
|
||||
bl SetLocalFlagByBank
|
||||
_08093330:
|
||||
pop {pc}
|
||||
.align 2, 0
|
||||
|
||||
+2
-2
@@ -31,7 +31,7 @@ sub_080A2578: @ 0x080A2578
|
||||
thumb_func_start sub_080A2584
|
||||
sub_080A2584: @ 0x080A2584
|
||||
push {lr}
|
||||
bl UnfreezeTime
|
||||
bl ResetPlayerEventPriority
|
||||
ldr r1, _080A2598 @ =gUnk_02034490
|
||||
movs r0, #0
|
||||
strb r0, [r1]
|
||||
@@ -132,7 +132,7 @@ _080A25E6:
|
||||
strb r0, [r4, #0x14]
|
||||
adds r0, r4, #0
|
||||
movs r1, #6
|
||||
bl sub_0805E3A0
|
||||
bl SetDefaultPriority
|
||||
ldr r0, _080A2670 @ =gPlayerState
|
||||
ldr r0, [r0, #0x30]
|
||||
movs r1, #8
|
||||
|
||||
@@ -310,7 +310,7 @@ sub_0808FB68: @ 0x0808FB68
|
||||
orrs r0, r1
|
||||
strb r0, [r4, #0x15]
|
||||
movs r0, #1
|
||||
bl sub_08078A90
|
||||
bl SetPlayerControl
|
||||
adds r0, r4, #0
|
||||
movs r1, #0
|
||||
bl sub_0808FD44
|
||||
@@ -343,7 +343,7 @@ _0808FBB0:
|
||||
orrs r0, r1
|
||||
strb r0, [r4, #0x15]
|
||||
movs r0, #1
|
||||
bl sub_08078A90
|
||||
bl SetPlayerControl
|
||||
adds r0, r4, #0
|
||||
movs r1, #1
|
||||
bl sub_0808FD44
|
||||
@@ -378,7 +378,7 @@ sub_0808FBFC: @ 0x0808FBFC
|
||||
lsls r0, r0, #3
|
||||
strb r0, [r4, #0x15]
|
||||
movs r0, #1
|
||||
bl sub_08078A90
|
||||
bl SetPlayerControl
|
||||
adds r0, r4, #0
|
||||
movs r1, #0
|
||||
bl sub_0808FD44
|
||||
@@ -399,7 +399,7 @@ sub_0808FC3C: @ 0x0808FC3C
|
||||
movs r0, #1
|
||||
strb r0, [r4, #0xc]
|
||||
movs r0, #0
|
||||
bl sub_08078A90
|
||||
bl SetPlayerControl
|
||||
_0808FC58:
|
||||
pop {r4, pc}
|
||||
.align 2, 0
|
||||
|
||||
+2
-2
@@ -218,7 +218,7 @@ sub_08097730: @ 0x08097730
|
||||
beq _08097744
|
||||
ldrb r1, [r4, #0xe]
|
||||
adds r0, r4, #0
|
||||
bl sub_0805E4E0
|
||||
bl RequestPriorityDuration
|
||||
_08097744:
|
||||
pop {r4, pc}
|
||||
.align 2, 0
|
||||
@@ -262,7 +262,7 @@ _08097774:
|
||||
strb r0, [r2, #0xf]
|
||||
adds r0, r2, #0
|
||||
movs r1, #0x60
|
||||
bl sub_0805E4E0
|
||||
bl RequestPriorityDuration
|
||||
ldr r0, _0809779C @ =0x0000010F
|
||||
bl SoundReq
|
||||
_0809779A:
|
||||
|
||||
+1
-1
@@ -65,7 +65,7 @@ sub_08098294: @ 0x08098294
|
||||
bl EnqueueSFX
|
||||
adds r0, r4, #0
|
||||
movs r1, #0x1e
|
||||
bl sub_0805E4E0
|
||||
bl RequestPriorityDuration
|
||||
bl sub_08079F8C
|
||||
cmp r0, #0
|
||||
beq _080982FA
|
||||
|
||||
+1
-1
@@ -39,7 +39,7 @@ sub_080844E0: @ 0x080844E0
|
||||
strb r0, [r5, #0x18]
|
||||
adds r0, r5, #0
|
||||
movs r1, #6
|
||||
bl sub_0805E3A0
|
||||
bl SetDefaultPriority
|
||||
adds r0, r5, #0
|
||||
adds r0, #0x38
|
||||
ldrb r0, [r0]
|
||||
|
||||
+2
-2
@@ -37,7 +37,7 @@ sub_080A276C: @ 0x080A276C
|
||||
adds r0, r4, #0
|
||||
adds r1, r6, #0
|
||||
bl CopyPosition
|
||||
ldr r0, _080A282C @ =gUnk_03003DC0
|
||||
ldr r0, _080A282C @ =gPriorityHandler
|
||||
mov r1, r8
|
||||
strb r1, [r0]
|
||||
ldr r1, _080A2830 @ =gUnk_02034490
|
||||
@@ -101,6 +101,6 @@ _080A2820:
|
||||
pop {r4, r5, r6, r7, pc}
|
||||
.align 2, 0
|
||||
_080A2828: .4byte gPlayerEntity
|
||||
_080A282C: .4byte gUnk_03003DC0
|
||||
_080A282C: .4byte gPriorityHandler
|
||||
_080A2830: .4byte gUnk_02034490
|
||||
_080A2834: .4byte gPlayerState
|
||||
|
||||
@@ -44,7 +44,7 @@ sub_080A0F44: @ 0x080A0F44
|
||||
str r0, [r5, #0x48]
|
||||
adds r0, r5, #0
|
||||
movs r1, #6
|
||||
bl sub_0805E3A0
|
||||
bl SetDefaultPriority
|
||||
adds r0, r5, #0
|
||||
bl sub_080A11C0
|
||||
cmp r0, #0
|
||||
@@ -56,9 +56,9 @@ sub_080A0F44: @ 0x080A0F44
|
||||
ldrh r0, [r5, #0x32]
|
||||
strh r0, [r1, #0x32]
|
||||
movs r0, #3
|
||||
bl sub_08078A90
|
||||
bl SetPlayerControl
|
||||
bl sub_08078B48
|
||||
bl FreezeTime
|
||||
bl SetPlayerEventPriority
|
||||
movs r0, #0x89
|
||||
lsls r0, r0, #1
|
||||
bl SoundReq
|
||||
@@ -94,9 +94,9 @@ sub_080A0FB0: @ 0x080A0FB0
|
||||
ldrh r0, [r5, #0x32]
|
||||
strh r0, [r1, #0x32]
|
||||
movs r0, #3
|
||||
bl sub_08078A90
|
||||
bl SetPlayerControl
|
||||
bl sub_08078B48
|
||||
bl FreezeTime
|
||||
bl SetPlayerEventPriority
|
||||
movs r0, #0x89
|
||||
lsls r0, r0, #1
|
||||
bl SoundReq
|
||||
@@ -693,7 +693,7 @@ _080A11A8:
|
||||
ldr r0, _080A11BC @ =gPlayerState
|
||||
adds r0, #0x8b
|
||||
strb r1, [r0]
|
||||
bl UnfreezeTime
|
||||
bl ResetPlayerEventPriority
|
||||
_080A11BA:
|
||||
pop {r4, pc}
|
||||
.align 2, 0
|
||||
|
||||
@@ -31160,21 +31160,6 @@
|
||||
"start": 1034916,
|
||||
"size": 36
|
||||
},
|
||||
{
|
||||
"path": "data_080FC8A4/gUnk_080FCAC8.bin",
|
||||
"start": 1034952,
|
||||
"size": 14
|
||||
},
|
||||
{
|
||||
"path": "data_080FC8A4/gUnk_080FCAD6.bin",
|
||||
"start": 1034966,
|
||||
"size": 34
|
||||
},
|
||||
{
|
||||
"path": "data_080FC8A4/gUnk_080FCAF8.bin",
|
||||
"start": 1035000,
|
||||
"size": 32
|
||||
},
|
||||
{
|
||||
"path": "data_080FC8A4/gUnk_080FCB38.bin",
|
||||
"start": 1035064,
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -3,7 +3,7 @@ SCRIPT_START script_0800AF44
|
||||
Call sub_0807DF28
|
||||
_0807EB28 0x1c01
|
||||
WaitUntilTextboxCloses
|
||||
SetLocalFlagByOffset 0x0100, 0x0001
|
||||
SetLocalFlagByBank 0x0100, 0x0001
|
||||
Call sub_0807DF50
|
||||
_0807E878
|
||||
DoPostScriptAction 0x0006
|
||||
|
||||
@@ -3,7 +3,7 @@ SCRIPT_START script_0800AF68
|
||||
Call sub_0807DF28
|
||||
_0807EB28 0x1c02
|
||||
WaitUntilTextboxCloses
|
||||
SetLocalFlagByOffset 0x0100, 0x0002
|
||||
SetLocalFlagByBank 0x0100, 0x0002
|
||||
Call sub_0807DF50
|
||||
_0807E878
|
||||
DoPostScriptAction 0x0006
|
||||
|
||||
@@ -3,7 +3,7 @@ SCRIPT_START script_0800AF8C
|
||||
Call sub_0807DF28
|
||||
_0807EB28 0x1c03
|
||||
WaitUntilTextboxCloses
|
||||
SetLocalFlagByOffset 0x0100, 0x0003
|
||||
SetLocalFlagByBank 0x0100, 0x0003
|
||||
Call sub_0807DF50
|
||||
_0807E878
|
||||
DoPostScriptAction 0x0006
|
||||
|
||||
@@ -10,7 +10,7 @@ script_0800AFB2:
|
||||
Call sub_0807DF28
|
||||
_0807EB28 0x1c04
|
||||
WaitUntilTextboxCloses
|
||||
SetLocalFlagByOffset 0x0100, 0x0004
|
||||
SetLocalFlagByBank 0x0100, 0x0004
|
||||
Call sub_0807DF50
|
||||
_0807E878
|
||||
DoPostScriptAction 0x0006
|
||||
|
||||
@@ -3,7 +3,7 @@ SCRIPT_START script_0800AFE8
|
||||
Call sub_0807DF28
|
||||
_0807EB28 0x1c05
|
||||
WaitUntilTextboxCloses
|
||||
SetLocalFlagByOffset 0x0100, 0x0005
|
||||
SetLocalFlagByBank 0x0100, 0x0005
|
||||
Call sub_0807DF50
|
||||
_0807E878
|
||||
DoPostScriptAction 0x0006
|
||||
|
||||
@@ -317,11 +317,11 @@ script_0800E4B6:
|
||||
_0807E864
|
||||
.ifdef JP
|
||||
.ifndef DEMO_JP
|
||||
Call FreezeTime
|
||||
Call SetPlayerEventPriority
|
||||
.endif
|
||||
.else
|
||||
.ifdef EU
|
||||
Call FreezeTime
|
||||
Call SetPlayerEventPriority
|
||||
.endif
|
||||
.endif
|
||||
EndBlock
|
||||
@@ -341,11 +341,11 @@ script_0800E4B6:
|
||||
SetLocalFlag 0x007c
|
||||
.ifdef JP
|
||||
.ifndef DEMO_JP
|
||||
Call UnfreezeTime
|
||||
Call ResetPlayerEventPriority
|
||||
.endif
|
||||
.else
|
||||
.ifdef EU
|
||||
Call UnfreezeTime
|
||||
Call ResetPlayerEventPriority
|
||||
.endif
|
||||
.endif
|
||||
script_0800E4FA:
|
||||
|
||||
@@ -8,7 +8,7 @@ script_0800EF50:
|
||||
Call sub_080869A4
|
||||
JumpIfNot script_0800EF50
|
||||
_0807E864
|
||||
CheckLocalFlagByOffset 0x0200, 0x006d
|
||||
CheckLocalFlagByBank 0x0200, 0x006d
|
||||
JumpIf script_0800EF82
|
||||
MessageFromTarget 0x4d01
|
||||
WaitUntilTextboxCloses
|
||||
|
||||
@@ -3,7 +3,7 @@ SCRIPT_START script_08012D18
|
||||
BeginBlock
|
||||
CheckGlobalFlag 0x0014
|
||||
JumpIfNot script_08012D18
|
||||
CheckLocalFlagByOffset 0x0200, 0x008d
|
||||
CheckLocalFlagByBank 0x0200, 0x008d
|
||||
JumpIf script_08012D68
|
||||
CheckPlayerInRegion 0x0000, 0x01a8, 0x2010
|
||||
JumpIfNot script_08012D18
|
||||
|
||||
@@ -18,15 +18,15 @@ SCRIPT_START script_08016384
|
||||
HasRoomItemForSale
|
||||
CheckLocalFlag 0x0067
|
||||
.ifdef JP
|
||||
CheckLocalFlagByOffset 0x0100, 0x0069
|
||||
CheckLocalFlagByBank 0x0100, 0x0069
|
||||
.else
|
||||
.ifdef EU
|
||||
CheckLocalFlagByOffset 0x0100, 0x0069
|
||||
CheckLocalFlagByBank 0x0100, 0x0069
|
||||
.else
|
||||
.ifdef DEMO_JP
|
||||
CheckLocalFlagByOffset 0x0100, 0x0069 @ TODO deduplicate
|
||||
CheckLocalFlagByBank 0x0100, 0x0069 @ TODO deduplicate
|
||||
.else
|
||||
CheckLocalFlagByOffset 0x0100, 0x006b
|
||||
CheckLocalFlagByBank 0x0100, 0x006b
|
||||
.endif
|
||||
.endif
|
||||
.endif
|
||||
@@ -52,7 +52,7 @@ SCRIPT_START script_08016384
|
||||
_0807E5F8 0x00000001
|
||||
_0807E610 0x00000002
|
||||
SetLocalFlag 0x0067
|
||||
SetLocalFlagByOffset 0x0100, 0x0001
|
||||
SetLocalFlagByBank 0x0100, 0x0001
|
||||
ClearLocalFlag 0x0067
|
||||
SetGlobalFlag 0x0013
|
||||
ClearGlobalFlag 0x0013
|
||||
|
||||
+189
-7
@@ -3,11 +3,27 @@
|
||||
|
||||
#include "global.h"
|
||||
|
||||
#define MAX_ROOMS 64
|
||||
|
||||
typedef struct {
|
||||
u16 pixel_width;
|
||||
u16 pixel_height;
|
||||
u16 map_x;
|
||||
u16 map_y;
|
||||
void* tileset;
|
||||
void* map;
|
||||
void* metatiles;
|
||||
void* bg_anim;
|
||||
void* exits;
|
||||
void** properties;
|
||||
} RoomResInfo;
|
||||
static_assert(sizeof(RoomResInfo) == 0x20);
|
||||
|
||||
typedef struct {
|
||||
u8 areaMetadata;
|
||||
u8 locationIndex;
|
||||
u8 unk;
|
||||
u8 regret;
|
||||
u8 dungeon_idx; /* same index as global flags for dungeons */
|
||||
u16 localFlagOffset;
|
||||
u8 filler[4];
|
||||
u16 unk_0a;
|
||||
@@ -23,17 +39,183 @@ typedef struct {
|
||||
u8 unk1A;
|
||||
u8 filler2[13];
|
||||
u8 field_0x28;
|
||||
u8 filler4[0x833];
|
||||
void*** field_0x85c;
|
||||
u8 filler4[0x13];
|
||||
RoomResInfo roomResInfos[MAX_ROOMS];
|
||||
RoomResInfo currentRoomInfo;
|
||||
RoomResInfo* pCurrentRoomInfo;
|
||||
u32 musicIndex;
|
||||
u32 pMusicIndex;
|
||||
u8 filler5[0x20];
|
||||
u32 unk2;
|
||||
u32 unk3;
|
||||
u32 unk4;
|
||||
void* transitionManager;
|
||||
void (*onEnter)();
|
||||
void (*onExit)();
|
||||
} Area;
|
||||
static_assert(sizeof(Area) == 0x894);
|
||||
|
||||
extern Area gArea;
|
||||
|
||||
typedef struct {
|
||||
u16 map_x;
|
||||
u16 map_y;
|
||||
u16 pixel_width;
|
||||
u16 pixel_height;
|
||||
u16 tileset_id;
|
||||
} FORCE_WORD_ALIGNED RoomHeader;
|
||||
static_assert(sizeof(RoomHeader) == 0xa);
|
||||
extern RoomHeader* gAreaRoomHeaders[];
|
||||
|
||||
typedef struct {
|
||||
u8 flags;
|
||||
u8 location;
|
||||
u8 flag_bank;
|
||||
u8 _3;
|
||||
} AreaHeader;
|
||||
extern AreaHeader gAreaMetadata[];
|
||||
|
||||
typedef enum {
|
||||
AREA_MINISH_WOODS,
|
||||
AREA_MINISH_VILLAGE,
|
||||
AREA_HYRULE_TOWN,
|
||||
AREA_HYRULE_FIELD,
|
||||
AREA_CASTOR_WILDS,
|
||||
AREA_RUINS,
|
||||
AREA_MT_CRENEL,
|
||||
AREA_CASTLE_GARDEN,
|
||||
AREA_CLOUD_TOPS,
|
||||
AREA_ROYAL_VALLEY,
|
||||
AREA_VEIL_FALLS,
|
||||
AREA_LAKE_HYLIA,
|
||||
AREA_LAKE_WOODS_CAVE,
|
||||
AREA_BEANSTALKS,
|
||||
AREA_EMPTY,
|
||||
AREA_HYRULE_DIG_CAVES,
|
||||
AREA_MELARIS_MINE,
|
||||
AREA_MINISH_PATHS_1,
|
||||
AREA_CRENEL_MINISH_PATHS,
|
||||
AREA_DIG_CAVES_1,
|
||||
AREA_CRENEL_DIG_CAVE,
|
||||
AREA_FESTIVAL_TOWN,
|
||||
AREA_VEIL_FALLS_DIG_CAVE,
|
||||
AREA_CASTOR_WILDS_DIG_CAVE,
|
||||
AREA_OUTER_FORTRESS_OF_WINDS,
|
||||
AREA_HYLIA_DIG_CAVES,
|
||||
AREA_VEIL_FALLS_TOP,
|
||||
AREA_NULL_1B,
|
||||
AREA_NULL_1C,
|
||||
AREA_NULL_1D,
|
||||
AREA_NULL_1E,
|
||||
AREA_NULL_1F,
|
||||
AREA_MINISH_HOUSE_INTERIORS,
|
||||
AREA_HOUSE_INTERIORS_1,
|
||||
AREA_HOUSE_INTERIORS_2,
|
||||
AREA_HOUSE_INTERIORS_3,
|
||||
AREA_TREE_INTERIORS,
|
||||
AREA_DOJOS,
|
||||
AREA_CRENEL_CAVES,
|
||||
AREA_MINISH_CRACKS,
|
||||
AREA_HOUSE_INTERIORS_4,
|
||||
AREA_GREAT_FAIRIES,
|
||||
AREA_CASTOR_CAVES,
|
||||
AREA_CASTOR_DARKNUT,
|
||||
AREA_ARMOS_INTERIORS,
|
||||
AREA_TOWN_MINISH_HOLES,
|
||||
AREA_MINISH_RAFTERS,
|
||||
AREA_GORON_CAVE,
|
||||
AREA_WIND_TRIBE_TOWER,
|
||||
AREA_WIND_TRIBE_TOWER_ROOF,
|
||||
AREA_CAVES,
|
||||
AREA_VEIL_FALLS_CAVES,
|
||||
AREA_ROYAL_VALLEY_GRAVES,
|
||||
AREA_MINISH_CAVES,
|
||||
AREA_CASTLE_GARDEN_MINISH_HOLES,
|
||||
AREA_37,
|
||||
AREA_EZLO_CUTSCENE,
|
||||
AREA_NULL_39,
|
||||
AREA_NULL_3A,
|
||||
AREA_NULL_3B,
|
||||
AREA_NULL_3C,
|
||||
AREA_NULL_3D,
|
||||
AREA_NULL_3E,
|
||||
AREA_NULL_3F,
|
||||
AREA_40,
|
||||
AREA_HYRULE_TOWN_UNDERGROUND,
|
||||
AREA_GARDEN_FOUNTAINS,
|
||||
AREA_HYRULE_CASTLE_CELLAR,
|
||||
AREA_SIMONS_SIMULATION,
|
||||
AREA_45,
|
||||
AREA_NULL_46,
|
||||
AREA_47,
|
||||
AREA_DEEPWOOD_SHRINE,
|
||||
AREA_DEEPWOOD_SHRINE_BOSS,
|
||||
AREA_DEEPWOOD_SHRINE_ENTRY,
|
||||
AREA_NULL_4B,
|
||||
AREA_NULL_4C,
|
||||
AREA_4D,
|
||||
AREA_NULL_4E,
|
||||
AREA_NULL_4F,
|
||||
AREA_CAVE_OF_FLAMES,
|
||||
AREA_CAVE_OF_FLAMES_BOSS,
|
||||
AREA_NULL_52,
|
||||
AREA_NULL_53,
|
||||
AREA_NULL_54,
|
||||
AREA_NULL_55,
|
||||
AREA_NULL_56,
|
||||
AREA_57,
|
||||
AREA_FORTRESS_OF_WINDS,
|
||||
AREA_FORTRESS_OF_WINDS_TOP,
|
||||
AREA_INNER_MAZAAL,
|
||||
AREA_NULL_5B,
|
||||
AREA_NULL_5C,
|
||||
AREA_NULL_5D,
|
||||
AREA_NULL_5E,
|
||||
AREA_5F,
|
||||
AREA_TEMPLE_OF_DROPLETS,
|
||||
AREA_NULL_61,
|
||||
AREA_HYRULE_TOWN_MINISH_CAVES,
|
||||
AREA_NULL_63,
|
||||
AREA_NULL_64,
|
||||
AREA_NULL_65,
|
||||
AREA_NULL_66,
|
||||
AREA_67,
|
||||
AREA_ROYAL_CRYPT,
|
||||
AREA_NULL_69,
|
||||
AREA_NULL_6A,
|
||||
AREA_NULL_6B,
|
||||
AREA_NULL_6C,
|
||||
AREA_NULL_6D,
|
||||
AREA_NULL_6E,
|
||||
AREA_6F,
|
||||
AREA_PALACE_OF_WINDS,
|
||||
AREA_PALACE_OF_WINDS_BOSS,
|
||||
AREA_NULL_72,
|
||||
AREA_NULL_73,
|
||||
AREA_NULL_74,
|
||||
AREA_NULL_75,
|
||||
AREA_NULL_76,
|
||||
AREA_77,
|
||||
AREA_SANCTUARY,
|
||||
AREA_NULL_79,
|
||||
AREA_NULL_7A,
|
||||
AREA_NULL_7B,
|
||||
AREA_NULL_7C,
|
||||
AREA_NULL_7D,
|
||||
AREA_NULL_7E,
|
||||
AREA_7F,
|
||||
AREA_HYRULE_CASTLE,
|
||||
AREA_SANCTUARY_ENTRANCE,
|
||||
AREA_NULL_82,
|
||||
AREA_NULL_83,
|
||||
AREA_NULL_84,
|
||||
AREA_NULL_85,
|
||||
AREA_NULL_86,
|
||||
AREA_87,
|
||||
AREA_DARK_HYRULE_CASTLE,
|
||||
AREA_DARK_HYRULE_CASTLE_OUTSIDE,
|
||||
AREA_VAATIS_ARMS,
|
||||
AREA_VAATI_3,
|
||||
AREA_VAATI_2,
|
||||
AREA_DARK_HYRULE_CASTLE_BRIDGE,
|
||||
AREA_NULL_8E,
|
||||
AREA_8F,
|
||||
} AreaID;
|
||||
|
||||
#endif
|
||||
|
||||
+62
-15
@@ -51,8 +51,8 @@ typedef struct Entity {
|
||||
/*0x0e*/ u8 actionDelay;
|
||||
/*0x0f*/ u8 field_0xf;
|
||||
/*0x10*/ u8 flags;
|
||||
/*0x11*/ u8 updateConditions : 4; // should we update this sprite during pause
|
||||
/* */ u8 updateConditions2 : 4;
|
||||
/*0x11*/ u8 updatePriority : 4; // Current priority -- See RequestPriority
|
||||
/* */ u8 updatePriorityPrev : 4; // Priority to restore after request is over
|
||||
/*0x12*/ s16 spriteIndex;
|
||||
/*0x14*/ u8 animationState;
|
||||
/*0x15*/ u8 direction;
|
||||
@@ -195,7 +195,7 @@ enum {
|
||||
#define Direction8RoundUp(expr) Direction8Round((expr) + 2)
|
||||
#define Direction8TurnAround(expr) (Direction8RoundUp(expr) ^ 0x10)
|
||||
#define Direction8ToAnimationState(expr) (Direction8RoundUp(expr) >> 2)
|
||||
#define Direction8FromAnimationState(expr) (((expr) << 2)
|
||||
#define Direction8FromAnimationState(expr) ((expr) << 2)
|
||||
|
||||
Entity* GetEmptyEntity(void);
|
||||
void DrawEntity(Entity*);
|
||||
@@ -217,11 +217,6 @@ void SetSpriteSubEntryOffsetData2(Entity*, u32, u32);
|
||||
|
||||
u32 GetFacingDirection(Entity*, Entity*);
|
||||
|
||||
/**
|
||||
* @brief Check if entity should sleep this frame.
|
||||
*/
|
||||
bool32 CheckDontUpdate(Entity* this);
|
||||
|
||||
/**
|
||||
* @brief Delete the entity currently in execution.
|
||||
*/
|
||||
@@ -232,14 +227,7 @@ void DeleteThisEntity(void);
|
||||
*/
|
||||
void DeleteEntity(Entity*);
|
||||
|
||||
/**
|
||||
* @brief Append entity to linked list.
|
||||
*/
|
||||
void AppendEntityToList(Entity* entity, u32 listIndex);
|
||||
|
||||
/**
|
||||
* @brief Prepend entity to linked list.
|
||||
*/
|
||||
void PrependEntityToList(Entity* entity, u32 listIndex);
|
||||
|
||||
/**
|
||||
@@ -274,4 +262,63 @@ Entity* FindEntity(u32 kind, u32 id, u32 listIndex, u32 type, u32 type2);
|
||||
|
||||
void DeleteEntityAny(Entity* ent);
|
||||
|
||||
void UpdateEntities(void);
|
||||
void UpdateManagers(void);
|
||||
|
||||
void EraseAllEntities(void);
|
||||
|
||||
enum {
|
||||
PRIO_MIN = 0,
|
||||
PRIO_PLAYER = 1,
|
||||
PRIO_REQUESTED = 2,
|
||||
PRIO_MESSAGE = 2,
|
||||
PRIO_OVERRIDE_MESSAGE = 3,
|
||||
PRIO_PLAYER_EVENT = 6,
|
||||
PRIO_INITIALIZING = 7,
|
||||
};
|
||||
|
||||
/**
|
||||
* @brief Set the default priority for entity.
|
||||
*/
|
||||
void SetDefaultPriority(Entity* ent, u32 prio);
|
||||
|
||||
/**
|
||||
* @brief Check if entity should sleep this frame (according to priority).
|
||||
*/
|
||||
bool32 CheckDontUpdate(Entity* this);
|
||||
|
||||
/**
|
||||
* @brief Check if system or entity is blocking updates.
|
||||
*/
|
||||
bool32 AnyPrioritySet(void);
|
||||
|
||||
|
||||
/// Entity Priority: Update blocking events requested by an entity.
|
||||
|
||||
s32 SetMinPriority(u32 prio);
|
||||
|
||||
void RequestPriority(Entity* this);
|
||||
void RevokePriority(Entity* e);
|
||||
|
||||
void RequestPriorityDuration(Entity* this, u32 time);
|
||||
void SetPriorityTimer(u32 time);
|
||||
|
||||
void RequestPriorityOverPlayer(Entity* this);
|
||||
void RevokePriorityOverPlayer(Entity* this);
|
||||
|
||||
void ResetEntityPriority(void);
|
||||
|
||||
|
||||
/// System Priority: Update blocking events sent by the engine.
|
||||
|
||||
void SetPlayerEventPriority(void);
|
||||
void ResetPlayerEventPriority(void);
|
||||
void SetRoomReloadPriority(void);
|
||||
void SetInitializationPriority(void);
|
||||
|
||||
void ResetSystemPriority(void);
|
||||
|
||||
extern u8 gEntCount;
|
||||
extern u8 gManagerCount;
|
||||
|
||||
#endif
|
||||
|
||||
@@ -33,10 +33,11 @@ typedef struct {
|
||||
} struct_080FC844;
|
||||
|
||||
typedef struct {
|
||||
union SplitWord _0[8];
|
||||
union SplitWord _0;
|
||||
union SplitWord _4;
|
||||
} struct_020227E8;
|
||||
|
||||
extern struct_020227E8 gUnk_020227E8;
|
||||
extern struct_020227E8 gUnk_020227E8[];
|
||||
|
||||
typedef struct {
|
||||
/*0x00*/ u8 isTransitioning;
|
||||
|
||||
+29
-5
@@ -7,28 +7,52 @@ u32 CheckFlags(u32);
|
||||
u32 CheckGlobalFlag(u32);
|
||||
u32 CheckGlobalFlags(u32, u32);
|
||||
extern u32 CheckLocalFlag(u32);
|
||||
extern u32 CheckLocalFlagByOffset(u32, u32);
|
||||
extern u32 CheckLocalFlagByBank(u32, u32);
|
||||
u32 CheckLocalFlags(u32, u32);
|
||||
u32 CheckLocalFlagsByOffset(u32, u32, u32);
|
||||
u32 CheckLocalFlagsByBank(u32, u32, u32);
|
||||
u32 CheckRoomFlag(u32);
|
||||
u32 CheckRoomFlags(u32, u32);
|
||||
|
||||
void ClearFlag(u32);
|
||||
void ClearGlobalFlag(u32);
|
||||
void ClearLocalFlag(u32);
|
||||
void ClearLocalFlagByOffset(u32, u32);
|
||||
void ClearLocalFlagByBank(u32, u32);
|
||||
void ClearRoomFlag(u32);
|
||||
|
||||
void SetFlag(u32);
|
||||
void SetGlobalFlag(u32);
|
||||
void SetLocalFlag(u32);
|
||||
void SetLocalFlagByOffset(u32, u32);
|
||||
void SetLocalFlagByBank(u32, u32);
|
||||
void SetRoomFlag(u32);
|
||||
|
||||
extern u32 ReadBit(u32*, u32);
|
||||
extern u32 CheckBits(u32*, u32, u32);
|
||||
extern void WriteBit(u32*, u32);
|
||||
extern void ClearBit(u32*, u32);
|
||||
|
||||
extern u32 gGlobalFlags;
|
||||
extern u32 gRoomFlags;
|
||||
|
||||
typedef enum _Flag {
|
||||
extern const u16 gLocalFlagBanks[];
|
||||
|
||||
enum LocalFlagOffsets {
|
||||
FLAG_BANK_G = 0,
|
||||
FLAG_BANK_0 = 0,
|
||||
FLAG_BANK_1 = 0x100,
|
||||
FLAG_BANK_2 = 0x200,
|
||||
FLAG_BANK_3 = 0x300,
|
||||
FLAG_BANK_4 = 0x400,
|
||||
FLAG_BANK_5 = 0x500,
|
||||
FLAG_BANK_6 = 0x5C0,
|
||||
FLAG_BANK_7 = 0x680,
|
||||
FLAG_BANK_8 = 0x740,
|
||||
FLAG_BANK_9 = 0x800,
|
||||
FLAG_BANK_10 = 0x8C0,
|
||||
FLAG_BANK_11 = 0x9C0,
|
||||
FLAG_BANK_12 = 0xA80,
|
||||
};
|
||||
|
||||
typedef enum {
|
||||
BEGIN,
|
||||
/*0x01*/ LV0_CLEAR, /* */
|
||||
/*0x02*/ LV1_CLEAR, /* */
|
||||
|
||||
+4
-14
@@ -22,7 +22,6 @@ extern void SetChildOffset(Entity*, s32, s32, s32);
|
||||
extern Entity* CreatePlayerItem(u32, u32, u32, u32);
|
||||
extern u32 GetTileTypeByPos(s32 x, s32 y, u32 layer);
|
||||
extern u32 GetTileType(u32 pos, u32 layer);
|
||||
extern void EraseAllEntities(void);
|
||||
extern void SetTile(u32, u32, u32);
|
||||
extern void SetDirtTile(u32);
|
||||
extern void LoadRoomTileEntities(); // tba
|
||||
@@ -73,15 +72,12 @@ extern void sub_0805EC9C();
|
||||
extern void sub_0805EC60(Entity*);
|
||||
extern u32 sub_080045D4(s16, s16, u32, u32);
|
||||
extern void sub_0806F69C(Entity*);
|
||||
extern void sub_0805E3A0(void*, u32);
|
||||
extern void sub_0806D0B0(Entity*);
|
||||
extern void sub_0806D02C(Entity*);
|
||||
extern u32 sub_0806F5A4(u32);
|
||||
extern void sub_08078784(Entity*, u32);
|
||||
extern s32 sub_0806ED9C(Entity*, u32, u32);
|
||||
extern void sub_0807000C(Entity*);
|
||||
extern void sub_0805E47C(Entity*);
|
||||
extern void sub_0805E584(Entity*);
|
||||
extern void sub_08068BEC(Entity*, u32);
|
||||
extern s32 sub_0806F078(Entity*, s32);
|
||||
extern void sub_0801D2B4(Entity*, u32);
|
||||
@@ -104,8 +100,6 @@ extern void sub_08077F50(ItemBehavior* beh, u32 arg1);
|
||||
extern void sub_0807AA80(Entity*);
|
||||
extern s32 sub_0807887C(Entity*, u32, u32);
|
||||
extern s32 sub_08078904();
|
||||
extern void sub_0805E5A8(void);
|
||||
extern void UpdateEntities(void);
|
||||
extern void sub_080AD9B0(void);
|
||||
extern void sub_080AD918(void);
|
||||
extern void sub_0801E104(void);
|
||||
@@ -133,11 +127,10 @@ extern void sub_0809F814(u32);
|
||||
extern void sub_080300E8(void);
|
||||
extern void sub_08058D34(void);
|
||||
extern void sub_0807AABC(Entity*);
|
||||
extern void sub_08078A90(u32);
|
||||
extern void sub_080530C8(void);
|
||||
extern void UpdateGlobalProgress(void);
|
||||
extern void sub_0805B4D0(u32);
|
||||
extern void sub_0804D0B4(void);
|
||||
extern void sub_0805308C(u32);
|
||||
extern void sub_0805308C(s32);
|
||||
extern void sub_080534AC();
|
||||
extern void sub_0807BA8C(u32, u32);
|
||||
extern void sub_0804D9B0();
|
||||
@@ -222,12 +215,12 @@ extern void sub_08080CB4(Entity*);
|
||||
extern u32 sub_0800442E(Entity*);
|
||||
extern void sub_08081404(Entity*, u32);
|
||||
extern void sub_0807B7D8(u32, u32, u32);
|
||||
extern void sub_08052D74(void*, void (*)(), void (*)());
|
||||
extern void RegisterTransitionManager(void*, void (*)(), void (*)());
|
||||
extern void sub_0800451C(Entity*);
|
||||
extern u32 sub_080002F0(u32, u32, u32);
|
||||
extern u32 sub_080040D8(Entity*, u8*, s32, s32);
|
||||
extern void sub_08053320();
|
||||
extern void sub_0801D79C(u32, u32);
|
||||
extern void SetColor(u32, u32);
|
||||
extern u32 sub_0805F8F8(u32);
|
||||
extern void sub_08002724(void*, u8*);
|
||||
extern void sub_080026C4(u8*, u8*, u8*, u32);
|
||||
@@ -277,8 +270,6 @@ extern void sub_080787B4(Entity*);
|
||||
extern void sub_0808C650(Entity*, u32);
|
||||
extern u32 sub_0808C67C(void);
|
||||
extern void sub_0808C688(void);
|
||||
extern void sub_0805E4A0(Entity*);
|
||||
extern void sub_0805E4CC(Entity*);
|
||||
|
||||
extern Entity* sub_08077C94(ItemBehavior*, u32);
|
||||
extern Entity* sub_08077C0C(ItemBehavior*, u32);
|
||||
@@ -301,6 +292,5 @@ extern void sub_0801855C(void);
|
||||
|
||||
extern u32 sub_0807CAEC(u32);
|
||||
extern void sub_0807CAC8(u32);
|
||||
extern void sub_0805E4E0(Entity*, u32);
|
||||
extern void LoadObjPalette(Entity*, u32);
|
||||
#endif
|
||||
|
||||
@@ -97,4 +97,6 @@ union SplitHWord {
|
||||
} PACKED HALF;
|
||||
} PACKED;
|
||||
|
||||
#define FORCE_WORD_ALIGNED __attribute__((packed, aligned(2)))
|
||||
|
||||
#endif // GUARD_GLOBAL_H
|
||||
|
||||
+8
-7
@@ -3,6 +3,11 @@
|
||||
|
||||
#include "global.h"
|
||||
|
||||
#define SIGNATURE 'MCZ3'
|
||||
#define MAX_MSG_SPEED 3
|
||||
#define NUM_SAVE_SLOTS 3
|
||||
#define MAX_BRIGHTNESS 3
|
||||
|
||||
typedef struct { // 0x03001000
|
||||
u8 field_0x0;
|
||||
u8 field_0x1;
|
||||
@@ -17,11 +22,6 @@ typedef struct { // 0x03001000
|
||||
u32 spritePriority;
|
||||
} MainStruct;
|
||||
|
||||
#define SIGNATURE 'MCZ3'
|
||||
#define MAX_MSG_SPEED 3
|
||||
#define NUM_SAVE_SLOTS 3
|
||||
#define MAX_BRIGHTNESS 3
|
||||
|
||||
typedef enum {
|
||||
LANGUAGE_JP,
|
||||
LANGUAGE_EN,
|
||||
@@ -79,6 +79,9 @@ static_assert(sizeof(UI) == 0x3b4);
|
||||
extern Main gMain;
|
||||
extern UI gUnk_02032EC0;
|
||||
|
||||
/**
|
||||
* @brief Begin a subroutine.
|
||||
*/
|
||||
void InitScreen(u32 screen);
|
||||
|
||||
extern void sub_08056208(void);
|
||||
@@ -99,6 +102,4 @@ extern void DisableInterruptsAndDMA(void);
|
||||
extern void EnableVBlankIntr(void);
|
||||
extern void sub_08056250(void);
|
||||
|
||||
static void sub_08055F70(void);
|
||||
static bool32 SoftResetKeysPressed(void);
|
||||
#endif
|
||||
|
||||
+30
-10
@@ -1,12 +1,10 @@
|
||||
// clang-format off
|
||||
|
||||
#ifndef PLAYER_H
|
||||
#define PLAYER_H
|
||||
|
||||
#include "global.h"
|
||||
#include "entity.h"
|
||||
|
||||
enum {
|
||||
enum PlayerActions {
|
||||
PLAYER_INIT,
|
||||
PLAYER_NORMAL,
|
||||
PLAYER_DUMMY,
|
||||
@@ -41,8 +39,32 @@ enum {
|
||||
PLAYER_PARACHUTE,
|
||||
};
|
||||
|
||||
enum {
|
||||
PL_IS_MINISH = (1 << 7),
|
||||
enum PlayerSpawnType {
|
||||
PL_SPAWN_DEFAULT,
|
||||
PL_SPAWN_MINISH,
|
||||
PL_SPAWN_DROP,
|
||||
PL_SPAWN_WALKING,
|
||||
PL_SPAWN_STEP_IN,
|
||||
PL_SPAWN_SPECIAL,
|
||||
PL_SPAWN_DROP_MINISH,
|
||||
PL_SPAWN_STAIRS_ASCEND,
|
||||
PL_SPAWN_STAIRS_DESCEND,
|
||||
PL_SPAWN_9,
|
||||
PL_SPAWN_PARACHUTE_FORWARD,
|
||||
PL_SPAWN_PARACHUTE_UP,
|
||||
PL_SPAWN_FAST_TRAVEL,
|
||||
};
|
||||
|
||||
typedef enum {
|
||||
CONTROL_ENABLED,
|
||||
CONTROL_1,
|
||||
CONTROL_2,
|
||||
CONTROL_DISABLED,
|
||||
} PlayerControlMode;
|
||||
|
||||
enum PlayerFlags {
|
||||
PL_NO_CAP = (1 << 3),
|
||||
PL_MINISH = (1 << 7),
|
||||
};
|
||||
|
||||
typedef struct {
|
||||
@@ -115,7 +137,6 @@ typedef struct {
|
||||
/*0xae*/ u16 field_0xae;
|
||||
} PlayerState;
|
||||
|
||||
|
||||
typedef struct {
|
||||
/*0x00*/ u8 walletType;
|
||||
/*0x01*/ u8 heartPieces;
|
||||
@@ -156,19 +177,18 @@ extern void (*const gPlayerItemFunctions[])(Entity*);
|
||||
|
||||
extern u8 gBombBagSizes[];
|
||||
extern u8 gQuiverSizes[];
|
||||
extern u16 gWalletSizes[];
|
||||
|
||||
extern PlayerState gPlayerState;
|
||||
extern Stats gStats;
|
||||
extern Entity gPlayerEntity;
|
||||
|
||||
|
||||
extern u32 GetInventoryValue(u32);
|
||||
extern s32 ModHealth(s32);
|
||||
extern void ModRupees(s32);
|
||||
|
||||
extern void SetPlayerControl(PlayerControlMode);
|
||||
|
||||
#define COPY_FLAG_FROM_TO(base, src, dest) (base) = ((base) & ~(dest)) | (((dest) * ((base) & (src))) / src)
|
||||
|
||||
|
||||
#endif
|
||||
|
||||
// clang-format on
|
||||
|
||||
+69
-5
@@ -11,6 +11,19 @@ typedef struct {
|
||||
} RoomID;
|
||||
*/
|
||||
|
||||
enum RoomTransition {
|
||||
TRANSITION_DEFAULT,
|
||||
TRANSITION_CUT,
|
||||
TRANSITION_FADE_WHITE_SLOW,
|
||||
TRANSITION_3,
|
||||
TRANSITION_FADE_BLACK_SLOW,
|
||||
TRANSITION_FADE_BLACK,
|
||||
TRANSITION_FADE_BLACK_FAST,
|
||||
TRANSITION_7,
|
||||
TRANSITION_FADE_WHITE_FAST,
|
||||
TRANSITION_CUT_FAST,
|
||||
};
|
||||
|
||||
typedef struct {
|
||||
/*0x00*/ u16 unk2;
|
||||
/*0x02*/ u8 unk3;
|
||||
@@ -38,6 +51,7 @@ typedef struct {
|
||||
/*0x2C*/ union SplitWord bg3OffsetY;
|
||||
/*0x30*/ Entity* cameraTarget;
|
||||
} RoomControls;
|
||||
extern RoomControls gRoomControls;
|
||||
|
||||
typedef struct {
|
||||
u8 field_0x0;
|
||||
@@ -52,16 +66,18 @@ typedef struct {
|
||||
u8 field_0x9;
|
||||
u8 unk2;
|
||||
u8 filler2;
|
||||
u16 field_0xc;
|
||||
s16 field_0xc;
|
||||
u8 filler3[2];
|
||||
u8 unk_10[4];
|
||||
u32 roomFlags;
|
||||
u32 unk3;
|
||||
u8 filler4[48];
|
||||
u8 filler5[28];
|
||||
u32 greatFairyState;
|
||||
void* field_0x6c[8];
|
||||
u32 animFlags;
|
||||
void* field_0x6c[24];
|
||||
} RoomVars;
|
||||
static_assert(sizeof(RoomVars) == 0xCC);
|
||||
extern RoomVars gRoomVars;
|
||||
|
||||
// Packets used to store which entities to load in a room
|
||||
typedef struct {
|
||||
@@ -75,8 +91,56 @@ typedef struct {
|
||||
u32 spritePtr;
|
||||
} EntityData;
|
||||
|
||||
extern RoomControls gRoomControls;
|
||||
extern RoomVars gRoomVars;
|
||||
// Status of the player's positioning within the scene.
|
||||
typedef struct {
|
||||
u8 area_next;
|
||||
u8 room_next;
|
||||
u8 start_anim;
|
||||
u8 spawn_type;
|
||||
Coords start_pos;
|
||||
u8 layer;
|
||||
u8 field_0x15;
|
||||
u8 field_0x16;
|
||||
u8 field_0x17;
|
||||
s16 field_0x18;
|
||||
s16 field_0x1a;
|
||||
s16 field_0x1c;
|
||||
s16 field_0x1e;
|
||||
s16 field_0x20;
|
||||
s16 field_0x22;
|
||||
u8 field_0x24[0x8];
|
||||
} PlayerWorldStatus;
|
||||
static_assert(sizeof(PlayerWorldStatus) == 0x20);
|
||||
|
||||
typedef struct {
|
||||
s32 frameCount; // regular frame count? does anything reset it?
|
||||
u8 field_0x4[0x2];
|
||||
u16 field_0x6;
|
||||
bool8 transitioningOut;
|
||||
u8 transitionType; // transition when changing areas
|
||||
u16 stairs_idx; // seems to be a tile type
|
||||
PlayerWorldStatus player_status;
|
||||
u8 field_0x2c[0xa];
|
||||
u16 field_0x36;
|
||||
u8 field_0x38;
|
||||
u8 field_0x39;
|
||||
u8 field_0x3a;
|
||||
u8 field_0x3b;
|
||||
u8 field_0x3c;
|
||||
u8 field_0x3d;
|
||||
u16 field_0x3e;
|
||||
u16 hurtType;
|
||||
u16 field_0x42;
|
||||
u16 field_0x44;
|
||||
u16 field_0x46;
|
||||
u16 field_0x48;
|
||||
u16 field_0x4a;
|
||||
u8 minecart_data[0x20];
|
||||
u8 field_0x6c[0x40];
|
||||
u16 field_0xac;
|
||||
u16 field_0xae;
|
||||
} ScreenTransition;
|
||||
extern ScreenTransition gScreenTransition;
|
||||
|
||||
extern void SetTileType(u32, u32, u32);
|
||||
extern void sub_08080964(u32 time, u32 magnitude); // shake screen
|
||||
|
||||
+9
-16
@@ -4,6 +4,7 @@
|
||||
#include "global.h"
|
||||
#include "player.h"
|
||||
#include "structures.h"
|
||||
#include "room.h"
|
||||
|
||||
#define FILENAME_LENGTH 6
|
||||
|
||||
@@ -29,30 +30,22 @@ typedef struct {
|
||||
/*0x004*/ u8 filler4[0x2];
|
||||
/*0x006*/ u8 unk6;
|
||||
/*0x007*/ u8 unk7;
|
||||
/*0x008*/ u8 unk8;
|
||||
/*0x008*/ u8 global_progress;
|
||||
/*0x009*/ u8 field_0x9[0x34];
|
||||
/*0x040*/ u32 windcrests;
|
||||
/*0x044*/ u8 filler44[0xC];
|
||||
/*0x050*/ u32 unk50;
|
||||
/*0x054*/ u8 filler54[0x2C];
|
||||
/*0x054*/ u8 filler54[0xC];
|
||||
/*0x060*/ u32 areaVisitFlags[8];
|
||||
/*0x080*/ u8 playerName[FILENAME_LENGTH];
|
||||
/*0x086*/ u8 filler86[0x2];
|
||||
/*0x088*/ u8 unk_88;
|
||||
/*0x089*/ u8 unk_89;
|
||||
/*0x08A*/ u8 unk_8A;
|
||||
/*0x08B*/ u8 unk_8B;
|
||||
/*0x08C*/ u16 unk_8C;
|
||||
/*0x08E*/ u16 unk_8E;
|
||||
/*0x08F*/ u8 unk_8F;
|
||||
/*0x090*/ u8 filler91[0x15];
|
||||
/*0x088*/ PlayerWorldStatus saved_status;
|
||||
/*0x0A8*/ Stats stats;
|
||||
/*0x0D0*/ u8 fillerD0[0x71];
|
||||
/*0x141*/ u8 unk141[0x34f];
|
||||
/*0x490*/ u32 unk490;
|
||||
/*0x494*/ u32 unk494;
|
||||
/*0x498*/ u32 unk498;
|
||||
/*0x49C*/ u8 filler49C[0xC];
|
||||
/*0x4a8*/ u32 unk_4a8;
|
||||
/*0x141*/ u8 unk141[0x45c - 0x141];
|
||||
/*0x45c*/ u8 unk45C[0x10];
|
||||
/*0x46c*/ u8 unk46C[0x20];
|
||||
/*0x48c*/ u32 unk48C[8];
|
||||
/*0x4ac*/ u8 filler4ac[0x8];
|
||||
} SaveFile;
|
||||
|
||||
|
||||
+1
-1
@@ -7,7 +7,7 @@ typedef struct {
|
||||
u16 displayControl;
|
||||
u8 filler2[0x2];
|
||||
u16 unk4;
|
||||
u16 unk6;
|
||||
u16 displayControlMask;
|
||||
} LcdControls;
|
||||
|
||||
typedef struct {
|
||||
|
||||
+8
-51
@@ -36,44 +36,6 @@ typedef struct {
|
||||
|
||||
extern struct_02000010 gUnk_02000010;
|
||||
|
||||
typedef struct {
|
||||
s32 frameCount; // regular frame count? does anything reset it?
|
||||
u8 field_0x4[0x2];
|
||||
u16 field_0x6;
|
||||
bool8 transitioningOut;
|
||||
u8 transitionType; // transition when changing areas
|
||||
u16 field_0xa; // seems to be a tile type
|
||||
u8 areaID;
|
||||
u8 roomID;
|
||||
u8 playerState;
|
||||
u8 field_0xf;
|
||||
Coords playerStartPos;
|
||||
u8 playerLayer;
|
||||
u8 field_0x13;
|
||||
u8 field_0x14[0xa];
|
||||
u16 field_0x20;
|
||||
u16 field_0x22;
|
||||
u8 field_0x24[0x14];
|
||||
u8 field_0x38;
|
||||
u8 field_0x39;
|
||||
u8 field_0x3a;
|
||||
u8 field_0x3b;
|
||||
u8 field_0x3c;
|
||||
u8 field_0x3d;
|
||||
u16 field_0x3e;
|
||||
u16 hurtType;
|
||||
u16 field_0x42;
|
||||
u16 field_0x44;
|
||||
u16 field_0x46;
|
||||
u16 field_0x48;
|
||||
u16 field_0x4a;
|
||||
u8 field_0x4c[0x60];
|
||||
u16 field_0xac;
|
||||
u16 field_0xae;
|
||||
} ScreenTransition;
|
||||
|
||||
extern ScreenTransition gScreenTransition;
|
||||
|
||||
typedef struct {
|
||||
u16 transitionType;
|
||||
u8 field_0x2[4];
|
||||
@@ -112,7 +74,6 @@ typedef struct {
|
||||
u8 unk1;
|
||||
u16 unk2;
|
||||
} struct_020354C0;
|
||||
|
||||
extern struct_020354C0 gUnk_020354C0[0x20];
|
||||
|
||||
typedef struct {
|
||||
@@ -124,13 +85,11 @@ typedef struct {
|
||||
u8 ezloNagFuncIndex;
|
||||
u8 filler25[0x30F];
|
||||
} struct_0200AF00;
|
||||
|
||||
extern struct_0200AF00 gUnk_0200AF00;
|
||||
|
||||
typedef struct {
|
||||
u8 unk0;
|
||||
} struct_02024490;
|
||||
|
||||
extern struct_02024490 gGFXSlots;
|
||||
|
||||
typedef struct {
|
||||
@@ -140,7 +99,6 @@ typedef struct {
|
||||
u8 flags;
|
||||
u8 unk_08;
|
||||
} struct_02033280;
|
||||
|
||||
extern struct_02033280 gActiveScriptInfo;
|
||||
|
||||
typedef struct {
|
||||
@@ -175,15 +133,14 @@ struct {
|
||||
static_assert(sizeof(gUnk_03000B80) == 0x70);
|
||||
|
||||
typedef struct {
|
||||
u8 unk0;
|
||||
u8 unk1;
|
||||
u8 unk2;
|
||||
u8 unk3;
|
||||
Entity* unk4;
|
||||
u16 unk_0xc;
|
||||
} EntityHandler;
|
||||
|
||||
extern EntityHandler gUnk_03003DC0;
|
||||
u8 sys_priority; // system requested priority
|
||||
u8 ent_priority; // entity requested priority
|
||||
u8 queued_priority;
|
||||
u8 queued_priority_reset;
|
||||
Entity* requester;
|
||||
u16 priority_timer;
|
||||
} PriorityHandler;
|
||||
extern PriorityHandler gPriorityHandler;
|
||||
|
||||
extern u8 gUnk_02022740[];
|
||||
extern u8 gUnk_02034490[];
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user