through sub_805644C
This commit is contained in:
+12
-458
@@ -5,452 +5,6 @@
|
|||||||
|
|
||||||
.text
|
.text
|
||||||
|
|
||||||
thumb_func_start GetMapTypeByGroupAndId
|
|
||||||
GetMapTypeByGroupAndId: @ 8056158
|
|
||||||
push {lr}
|
|
||||||
lsls r0, 24
|
|
||||||
asrs r0, 8
|
|
||||||
lsrs r0, 16
|
|
||||||
lsls r1, 24
|
|
||||||
asrs r1, 8
|
|
||||||
lsrs r1, 16
|
|
||||||
bl Overworld_GetMapHeaderByGroupAndId
|
|
||||||
ldrb r0, [r0, 0x17]
|
|
||||||
pop {r1}
|
|
||||||
bx r1
|
|
||||||
thumb_func_end GetMapTypeByGroupAndId
|
|
||||||
|
|
||||||
thumb_func_start get_map_light_level_from_warp
|
|
||||||
get_map_light_level_from_warp: @ 8056170
|
|
||||||
push {lr}
|
|
||||||
movs r2, 0
|
|
||||||
ldrsb r2, [r0, r2]
|
|
||||||
movs r1, 0x1
|
|
||||||
ldrsb r1, [r0, r1]
|
|
||||||
adds r0, r2, 0
|
|
||||||
bl GetMapTypeByGroupAndId
|
|
||||||
lsls r0, 24
|
|
||||||
lsrs r0, 24
|
|
||||||
pop {r1}
|
|
||||||
bx r1
|
|
||||||
thumb_func_end get_map_light_level_from_warp
|
|
||||||
|
|
||||||
thumb_func_start GetCurrentMapType
|
|
||||||
GetCurrentMapType: @ 8056188
|
|
||||||
push {lr}
|
|
||||||
ldr r0, _0805619C @ =gSaveBlock1Ptr
|
|
||||||
ldr r0, [r0]
|
|
||||||
adds r0, 0x4
|
|
||||||
bl get_map_light_level_from_warp
|
|
||||||
lsls r0, 24
|
|
||||||
lsrs r0, 24
|
|
||||||
pop {r1}
|
|
||||||
bx r1
|
|
||||||
.align 2, 0
|
|
||||||
_0805619C: .4byte gSaveBlock1Ptr
|
|
||||||
thumb_func_end GetCurrentMapType
|
|
||||||
|
|
||||||
thumb_func_start GetLastUsedWarpMapType
|
|
||||||
GetLastUsedWarpMapType: @ 80561A0
|
|
||||||
push {lr}
|
|
||||||
ldr r0, _080561B0 @ =gLastUsedWarp
|
|
||||||
bl get_map_light_level_from_warp
|
|
||||||
lsls r0, 24
|
|
||||||
lsrs r0, 24
|
|
||||||
pop {r1}
|
|
||||||
bx r1
|
|
||||||
.align 2, 0
|
|
||||||
_080561B0: .4byte gLastUsedWarp
|
|
||||||
thumb_func_end GetLastUsedWarpMapType
|
|
||||||
|
|
||||||
thumb_func_start GetLastUsedWarpMapSectionId
|
|
||||||
GetLastUsedWarpMapSectionId: @ 80561B4
|
|
||||||
push {lr}
|
|
||||||
ldr r1, _080561D4 @ =gLastUsedWarp
|
|
||||||
movs r0, 0
|
|
||||||
ldrsb r0, [r1, r0]
|
|
||||||
lsls r0, 16
|
|
||||||
lsrs r0, 16
|
|
||||||
ldrb r1, [r1, 0x1]
|
|
||||||
lsls r1, 24
|
|
||||||
asrs r1, 24
|
|
||||||
lsls r1, 16
|
|
||||||
lsrs r1, 16
|
|
||||||
bl Overworld_GetMapHeaderByGroupAndId
|
|
||||||
ldrb r0, [r0, 0x14]
|
|
||||||
pop {r1}
|
|
||||||
bx r1
|
|
||||||
.align 2, 0
|
|
||||||
_080561D4: .4byte gLastUsedWarp
|
|
||||||
thumb_func_end GetLastUsedWarpMapSectionId
|
|
||||||
|
|
||||||
thumb_func_start IsMapTypeOutdoors
|
|
||||||
IsMapTypeOutdoors: @ 80561D8
|
|
||||||
push {lr}
|
|
||||||
lsls r0, 24
|
|
||||||
lsrs r0, 24
|
|
||||||
cmp r0, 0x3
|
|
||||||
beq _080561F2
|
|
||||||
cmp r0, 0x1
|
|
||||||
beq _080561F2
|
|
||||||
cmp r0, 0x5
|
|
||||||
beq _080561F2
|
|
||||||
cmp r0, 0x2
|
|
||||||
beq _080561F2
|
|
||||||
cmp r0, 0x6
|
|
||||||
bne _080561F6
|
|
||||||
_080561F2:
|
|
||||||
movs r0, 0x1
|
|
||||||
b _080561F8
|
|
||||||
_080561F6:
|
|
||||||
movs r0, 0
|
|
||||||
_080561F8:
|
|
||||||
pop {r1}
|
|
||||||
bx r1
|
|
||||||
thumb_func_end IsMapTypeOutdoors
|
|
||||||
|
|
||||||
thumb_func_start Overworld_MapTypeAllowsTeleportAndFly
|
|
||||||
Overworld_MapTypeAllowsTeleportAndFly: @ 80561FC
|
|
||||||
push {lr}
|
|
||||||
lsls r0, 24
|
|
||||||
lsrs r0, 24
|
|
||||||
cmp r0, 0x3
|
|
||||||
beq _08056212
|
|
||||||
cmp r0, 0x1
|
|
||||||
beq _08056212
|
|
||||||
cmp r0, 0x6
|
|
||||||
beq _08056212
|
|
||||||
cmp r0, 0x2
|
|
||||||
bne _08056216
|
|
||||||
_08056212:
|
|
||||||
movs r0, 0x1
|
|
||||||
b _08056218
|
|
||||||
_08056216:
|
|
||||||
movs r0, 0
|
|
||||||
_08056218:
|
|
||||||
pop {r1}
|
|
||||||
bx r1
|
|
||||||
thumb_func_end Overworld_MapTypeAllowsTeleportAndFly
|
|
||||||
|
|
||||||
thumb_func_start IsMapTypeIndoors
|
|
||||||
IsMapTypeIndoors: @ 805621C
|
|
||||||
push {lr}
|
|
||||||
lsls r0, 24
|
|
||||||
movs r1, 0xF8
|
|
||||||
lsls r1, 24
|
|
||||||
adds r0, r1
|
|
||||||
lsrs r0, 24
|
|
||||||
cmp r0, 0x1
|
|
||||||
bls _08056230
|
|
||||||
movs r0, 0
|
|
||||||
b _08056232
|
|
||||||
_08056230:
|
|
||||||
movs r0, 0x1
|
|
||||||
_08056232:
|
|
||||||
pop {r1}
|
|
||||||
bx r1
|
|
||||||
thumb_func_end IsMapTypeIndoors
|
|
||||||
|
|
||||||
thumb_func_start GetSavedWarpRegionMapSectionId
|
|
||||||
GetSavedWarpRegionMapSectionId: @ 8056238
|
|
||||||
push {lr}
|
|
||||||
ldr r0, _0805625C @ =gSaveBlock1Ptr
|
|
||||||
ldr r1, [r0]
|
|
||||||
movs r0, 0x14
|
|
||||||
ldrsb r0, [r1, r0]
|
|
||||||
lsls r0, 16
|
|
||||||
lsrs r0, 16
|
|
||||||
ldrb r1, [r1, 0x15]
|
|
||||||
lsls r1, 24
|
|
||||||
asrs r1, 24
|
|
||||||
lsls r1, 16
|
|
||||||
lsrs r1, 16
|
|
||||||
bl Overworld_GetMapHeaderByGroupAndId
|
|
||||||
ldrb r0, [r0, 0x14]
|
|
||||||
pop {r1}
|
|
||||||
bx r1
|
|
||||||
.align 2, 0
|
|
||||||
_0805625C: .4byte gSaveBlock1Ptr
|
|
||||||
thumb_func_end GetSavedWarpRegionMapSectionId
|
|
||||||
|
|
||||||
thumb_func_start GetCurrentRegionMapSectionId
|
|
||||||
GetCurrentRegionMapSectionId: @ 8056260
|
|
||||||
push {lr}
|
|
||||||
ldr r0, _08056284 @ =gSaveBlock1Ptr
|
|
||||||
ldr r1, [r0]
|
|
||||||
movs r0, 0x4
|
|
||||||
ldrsb r0, [r1, r0]
|
|
||||||
lsls r0, 16
|
|
||||||
lsrs r0, 16
|
|
||||||
ldrb r1, [r1, 0x5]
|
|
||||||
lsls r1, 24
|
|
||||||
asrs r1, 24
|
|
||||||
lsls r1, 16
|
|
||||||
lsrs r1, 16
|
|
||||||
bl Overworld_GetMapHeaderByGroupAndId
|
|
||||||
ldrb r0, [r0, 0x14]
|
|
||||||
pop {r1}
|
|
||||||
bx r1
|
|
||||||
.align 2, 0
|
|
||||||
_08056284: .4byte gSaveBlock1Ptr
|
|
||||||
thumb_func_end GetCurrentRegionMapSectionId
|
|
||||||
|
|
||||||
thumb_func_start GetCurrentMapBattleScene
|
|
||||||
GetCurrentMapBattleScene: @ 8056288
|
|
||||||
push {lr}
|
|
||||||
ldr r0, _080562AC @ =gSaveBlock1Ptr
|
|
||||||
ldr r1, [r0]
|
|
||||||
movs r0, 0x4
|
|
||||||
ldrsb r0, [r1, r0]
|
|
||||||
lsls r0, 16
|
|
||||||
lsrs r0, 16
|
|
||||||
ldrb r1, [r1, 0x5]
|
|
||||||
lsls r1, 24
|
|
||||||
asrs r1, 24
|
|
||||||
lsls r1, 16
|
|
||||||
lsrs r1, 16
|
|
||||||
bl Overworld_GetMapHeaderByGroupAndId
|
|
||||||
ldrb r0, [r0, 0x1B]
|
|
||||||
pop {r1}
|
|
||||||
bx r1
|
|
||||||
.align 2, 0
|
|
||||||
_080562AC: .4byte gSaveBlock1Ptr
|
|
||||||
thumb_func_end GetCurrentMapBattleScene
|
|
||||||
|
|
||||||
thumb_func_start InitOverworldBgs
|
|
||||||
InitOverworldBgs: @ 80562B0
|
|
||||||
push {r4-r6,lr}
|
|
||||||
mov r6, r8
|
|
||||||
push {r6}
|
|
||||||
bl MoveSaveBlocks_ResetHeap_
|
|
||||||
bl sub_8056E80
|
|
||||||
movs r0, 0
|
|
||||||
bl ResetBgsAndClearDma3BusyFlags
|
|
||||||
ldr r1, _08056344 @ =gUnknown_826D320
|
|
||||||
movs r0, 0
|
|
||||||
movs r2, 0x4
|
|
||||||
bl InitBgsFromTemplates
|
|
||||||
movs r0, 0x1
|
|
||||||
movs r1, 0x5
|
|
||||||
movs r2, 0x1
|
|
||||||
bl SetBgAttribute
|
|
||||||
movs r0, 0x2
|
|
||||||
movs r1, 0x5
|
|
||||||
movs r2, 0x1
|
|
||||||
bl SetBgAttribute
|
|
||||||
movs r0, 0x3
|
|
||||||
movs r1, 0x5
|
|
||||||
movs r2, 0x1
|
|
||||||
bl SetBgAttribute
|
|
||||||
ldr r0, _08056348 @ =gBGTilemapBuffers2
|
|
||||||
mov r8, r0
|
|
||||||
movs r4, 0x80
|
|
||||||
lsls r4, 4
|
|
||||||
adds r0, r4, 0
|
|
||||||
bl AllocZeroed
|
|
||||||
mov r1, r8
|
|
||||||
str r0, [r1]
|
|
||||||
ldr r6, _0805634C @ =gBGTilemapBuffers1
|
|
||||||
adds r0, r4, 0
|
|
||||||
bl AllocZeroed
|
|
||||||
str r0, [r6]
|
|
||||||
ldr r5, _08056350 @ =gBGTilemapBuffers3
|
|
||||||
adds r0, r4, 0
|
|
||||||
bl AllocZeroed
|
|
||||||
str r0, [r5]
|
|
||||||
mov r0, r8
|
|
||||||
ldr r1, [r0]
|
|
||||||
movs r0, 0x1
|
|
||||||
bl SetBgTilemapBuffer
|
|
||||||
ldr r1, [r6]
|
|
||||||
movs r0, 0x2
|
|
||||||
bl SetBgTilemapBuffer
|
|
||||||
ldr r1, [r5]
|
|
||||||
movs r0, 0x3
|
|
||||||
bl SetBgTilemapBuffer
|
|
||||||
bl InitStandardTextBoxWindows
|
|
||||||
bl ResetBg0
|
|
||||||
bl sub_8069348
|
|
||||||
pop {r3}
|
|
||||||
mov r8, r3
|
|
||||||
pop {r4-r6}
|
|
||||||
pop {r0}
|
|
||||||
bx r0
|
|
||||||
.align 2, 0
|
|
||||||
_08056344: .4byte gUnknown_826D320
|
|
||||||
_08056348: .4byte gBGTilemapBuffers2
|
|
||||||
_0805634C: .4byte gBGTilemapBuffers1
|
|
||||||
_08056350: .4byte gBGTilemapBuffers3
|
|
||||||
thumb_func_end InitOverworldBgs
|
|
||||||
|
|
||||||
thumb_func_start sub_8056354
|
|
||||||
sub_8056354: @ 8056354
|
|
||||||
push {r4-r6,lr}
|
|
||||||
mov r6, r8
|
|
||||||
push {r6}
|
|
||||||
movs r0, 0
|
|
||||||
bl ResetBgsAndClearDma3BusyFlags
|
|
||||||
ldr r1, _080563E0 @ =gUnknown_826D320
|
|
||||||
movs r0, 0
|
|
||||||
movs r2, 0x4
|
|
||||||
bl InitBgsFromTemplates
|
|
||||||
movs r0, 0x1
|
|
||||||
movs r1, 0x5
|
|
||||||
movs r2, 0x1
|
|
||||||
bl SetBgAttribute
|
|
||||||
movs r0, 0x2
|
|
||||||
movs r1, 0x5
|
|
||||||
movs r2, 0x1
|
|
||||||
bl SetBgAttribute
|
|
||||||
movs r0, 0x3
|
|
||||||
movs r1, 0x5
|
|
||||||
movs r2, 0x1
|
|
||||||
bl SetBgAttribute
|
|
||||||
ldr r0, _080563E4 @ =gBGTilemapBuffers2
|
|
||||||
mov r8, r0
|
|
||||||
movs r4, 0x80
|
|
||||||
lsls r4, 4
|
|
||||||
adds r0, r4, 0
|
|
||||||
bl AllocZeroed
|
|
||||||
mov r1, r8
|
|
||||||
str r0, [r1]
|
|
||||||
ldr r6, _080563E8 @ =gBGTilemapBuffers1
|
|
||||||
adds r0, r4, 0
|
|
||||||
bl AllocZeroed
|
|
||||||
str r0, [r6]
|
|
||||||
ldr r5, _080563EC @ =gBGTilemapBuffers3
|
|
||||||
adds r0, r4, 0
|
|
||||||
bl AllocZeroed
|
|
||||||
str r0, [r5]
|
|
||||||
mov r0, r8
|
|
||||||
ldr r1, [r0]
|
|
||||||
movs r0, 0x1
|
|
||||||
bl SetBgTilemapBuffer
|
|
||||||
ldr r1, [r6]
|
|
||||||
movs r0, 0x2
|
|
||||||
bl SetBgTilemapBuffer
|
|
||||||
ldr r1, [r5]
|
|
||||||
movs r0, 0x3
|
|
||||||
bl SetBgTilemapBuffer
|
|
||||||
bl InitStandardTextBoxWindows
|
|
||||||
bl ResetBg0
|
|
||||||
bl sub_8069348
|
|
||||||
pop {r3}
|
|
||||||
mov r8, r3
|
|
||||||
pop {r4-r6}
|
|
||||||
pop {r0}
|
|
||||||
bx r0
|
|
||||||
.align 2, 0
|
|
||||||
_080563E0: .4byte gUnknown_826D320
|
|
||||||
_080563E4: .4byte gBGTilemapBuffers2
|
|
||||||
_080563E8: .4byte gBGTilemapBuffers1
|
|
||||||
_080563EC: .4byte gBGTilemapBuffers3
|
|
||||||
thumb_func_end sub_8056354
|
|
||||||
|
|
||||||
thumb_func_start CleanupOverworldWindowsAndTilemaps
|
|
||||||
CleanupOverworldWindowsAndTilemaps: @ 80563F0
|
|
||||||
push {lr}
|
|
||||||
bl FreeAllOverworldWindowBuffers
|
|
||||||
ldr r0, _08056414 @ =gBGTilemapBuffers3
|
|
||||||
ldr r0, [r0]
|
|
||||||
bl Free
|
|
||||||
ldr r0, _08056418 @ =gBGTilemapBuffers1
|
|
||||||
ldr r0, [r0]
|
|
||||||
bl Free
|
|
||||||
ldr r0, _0805641C @ =gBGTilemapBuffers2
|
|
||||||
ldr r0, [r0]
|
|
||||||
bl Free
|
|
||||||
pop {r0}
|
|
||||||
bx r0
|
|
||||||
.align 2, 0
|
|
||||||
_08056414: .4byte gBGTilemapBuffers3
|
|
||||||
_08056418: .4byte gBGTilemapBuffers1
|
|
||||||
_0805641C: .4byte gBGTilemapBuffers2
|
|
||||||
thumb_func_end CleanupOverworldWindowsAndTilemaps
|
|
||||||
|
|
||||||
thumb_func_start sub_8056420
|
|
||||||
sub_8056420: @ 8056420
|
|
||||||
push {lr}
|
|
||||||
bl ResetSafariZoneFlag
|
|
||||||
pop {r0}
|
|
||||||
bx r0
|
|
||||||
thumb_func_end sub_8056420
|
|
||||||
|
|
||||||
thumb_func_start IsUpdateLinkStateCBActive
|
|
||||||
IsUpdateLinkStateCBActive: @ 805642C
|
|
||||||
push {lr}
|
|
||||||
ldr r0, _0805643C @ =gMain
|
|
||||||
ldr r1, [r0]
|
|
||||||
ldr r0, _08056440 @ =c1_link_related
|
|
||||||
cmp r1, r0
|
|
||||||
beq _08056444
|
|
||||||
movs r0, 0
|
|
||||||
b _08056446
|
|
||||||
.align 2, 0
|
|
||||||
_0805643C: .4byte gMain
|
|
||||||
_08056440: .4byte c1_link_related
|
|
||||||
_08056444:
|
|
||||||
movs r0, 0x1
|
|
||||||
_08056446:
|
|
||||||
pop {r1}
|
|
||||||
bx r1
|
|
||||||
thumb_func_end IsUpdateLinkStateCBActive
|
|
||||||
|
|
||||||
thumb_func_start sub_805644C
|
|
||||||
sub_805644C: @ 805644C
|
|
||||||
push {r4-r6,lr}
|
|
||||||
sub sp, 0x4
|
|
||||||
lsls r0, 16
|
|
||||||
lsrs r0, 16
|
|
||||||
adds r5, r0, 0
|
|
||||||
lsls r1, 16
|
|
||||||
lsrs r1, 16
|
|
||||||
adds r4, r1, 0
|
|
||||||
bl sub_8112B3C
|
|
||||||
bl sub_805BEB8
|
|
||||||
mov r6, sp
|
|
||||||
mov r0, sp
|
|
||||||
bl FieldClearPlayerInput
|
|
||||||
mov r0, sp
|
|
||||||
adds r1, r5, 0
|
|
||||||
adds r2, r4, 0
|
|
||||||
bl FieldGetPlayerInput
|
|
||||||
mov r0, sp
|
|
||||||
bl FieldInput_HandleCancelSignpost
|
|
||||||
bl ScriptContext2_IsEnabled
|
|
||||||
lsls r0, 24
|
|
||||||
cmp r0, 0
|
|
||||||
bne _080564BA
|
|
||||||
mov r0, sp
|
|
||||||
bl ProcessPlayerFieldInput
|
|
||||||
cmp r0, 0x1
|
|
||||||
bne _080564B0
|
|
||||||
ldr r0, _080564A8 @ =gUnknown_3005E88
|
|
||||||
ldrb r0, [r0]
|
|
||||||
cmp r0, 0x2
|
|
||||||
bne _0805649E
|
|
||||||
ldr r0, _080564AC @ =gInputToStoreInQuestLogMaybe
|
|
||||||
bl sub_81127F8
|
|
||||||
_0805649E:
|
|
||||||
bl ScriptContext2_Enable
|
|
||||||
bl DismissMapNamePopup
|
|
||||||
b _080564BA
|
|
||||||
.align 2, 0
|
|
||||||
_080564A8: .4byte gUnknown_3005E88
|
|
||||||
_080564AC: .4byte gInputToStoreInQuestLogMaybe
|
|
||||||
_080564B0:
|
|
||||||
ldrb r0, [r6, 0x2]
|
|
||||||
adds r1, r5, 0
|
|
||||||
adds r2, r4, 0
|
|
||||||
bl player_step
|
|
||||||
_080564BA:
|
|
||||||
bl RunQuestLogCB
|
|
||||||
add sp, 0x4
|
|
||||||
pop {r4-r6}
|
|
||||||
pop {r0}
|
|
||||||
bx r0
|
|
||||||
thumb_func_end sub_805644C
|
|
||||||
|
|
||||||
thumb_func_start sub_80564C8
|
thumb_func_start sub_80564C8
|
||||||
sub_80564C8: @ 80564C8
|
sub_80564C8: @ 80564C8
|
||||||
push {lr}
|
push {lr}
|
||||||
@@ -643,7 +197,7 @@ CB2_NewGame: @ 8056644
|
|||||||
push {lr}
|
push {lr}
|
||||||
bl FieldClearVBlankHBlankCallbacks
|
bl FieldClearVBlankHBlankCallbacks
|
||||||
bl StopMapMusic
|
bl StopMapMusic
|
||||||
bl sub_8056420
|
bl ResetSafariZoneFlag_
|
||||||
bl NewGameInitData
|
bl NewGameInitData
|
||||||
bl ResetInitialPlayerAvatarState
|
bl ResetInitialPlayerAvatarState
|
||||||
bl PlayTimeCounter_Start
|
bl PlayTimeCounter_Start
|
||||||
@@ -690,7 +244,7 @@ CB2_WhiteOut: @ 80566A4
|
|||||||
bls _08056702
|
bls _08056702
|
||||||
bl FieldClearVBlankHBlankCallbacks
|
bl FieldClearVBlankHBlankCallbacks
|
||||||
bl StopMapMusic
|
bl StopMapMusic
|
||||||
bl sub_8056420
|
bl ResetSafariZoneFlag_
|
||||||
bl sub_8054BC8
|
bl sub_8054BC8
|
||||||
movs r0, 0x2
|
movs r0, 0x2
|
||||||
bl sub_80559F8
|
bl sub_80559F8
|
||||||
@@ -796,7 +350,7 @@ c2_80567AC: @ 80567AC
|
|||||||
cmp r0, 0
|
cmp r0, 0
|
||||||
beq _080567CC
|
beq _080567CC
|
||||||
bl SetFieldVBlankCallback
|
bl SetFieldVBlankCallback
|
||||||
ldr r0, _080567D4 @ =c1_link_related
|
ldr r0, _080567D4 @ =CB1_UpdateLinkState
|
||||||
bl SetMainCallback1
|
bl SetMainCallback1
|
||||||
bl sub_80578D8
|
bl sub_80578D8
|
||||||
ldr r0, _080567D8 @ =sub_80565B4
|
ldr r0, _080567D8 @ =sub_80565B4
|
||||||
@@ -806,7 +360,7 @@ _080567CC:
|
|||||||
bx r0
|
bx r0
|
||||||
.align 2, 0
|
.align 2, 0
|
||||||
_080567D0: .4byte gMain + 0x438
|
_080567D0: .4byte gMain + 0x438
|
||||||
_080567D4: .4byte c1_link_related
|
_080567D4: .4byte CB1_UpdateLinkState
|
||||||
_080567D8: .4byte sub_80565B4
|
_080567D8: .4byte sub_80565B4
|
||||||
thumb_func_end c2_80567AC
|
thumb_func_end c2_80567AC
|
||||||
|
|
||||||
@@ -875,7 +429,7 @@ c2_8056854: @ 8056854
|
|||||||
push {lr}
|
push {lr}
|
||||||
bl FieldClearVBlankHBlankCallbacks
|
bl FieldClearVBlankHBlankCallbacks
|
||||||
bl StopMapMusic
|
bl StopMapMusic
|
||||||
ldr r0, _08056878 @ =c1_link_related
|
ldr r0, _08056878 @ =CB1_UpdateLinkState
|
||||||
bl SetMainCallback1
|
bl SetMainCallback1
|
||||||
bl sub_80578D8
|
bl sub_80578D8
|
||||||
ldr r0, _0805687C @ =gWirelessCommType
|
ldr r0, _0805687C @ =gWirelessCommType
|
||||||
@@ -886,7 +440,7 @@ c2_8056854: @ 8056854
|
|||||||
ldr r0, _08056884 @ =FieldCB_ReturnToFieldWirelessLink
|
ldr r0, _08056884 @ =FieldCB_ReturnToFieldWirelessLink
|
||||||
b _0805688C
|
b _0805688C
|
||||||
.align 2, 0
|
.align 2, 0
|
||||||
_08056878: .4byte c1_link_related
|
_08056878: .4byte CB1_UpdateLinkState
|
||||||
_0805687C: .4byte gWirelessCommType
|
_0805687C: .4byte gWirelessCommType
|
||||||
_08056880: .4byte gFieldCallback
|
_08056880: .4byte gFieldCallback
|
||||||
_08056884: .4byte FieldCB_ReturnToFieldWirelessLink
|
_08056884: .4byte FieldCB_ReturnToFieldWirelessLink
|
||||||
@@ -989,7 +543,7 @@ CB2_ContinueSavedGame: @ 8056938
|
|||||||
push {lr}
|
push {lr}
|
||||||
bl FieldClearVBlankHBlankCallbacks
|
bl FieldClearVBlankHBlankCallbacks
|
||||||
bl StopMapMusic
|
bl StopMapMusic
|
||||||
bl sub_8056420
|
bl ResetSafariZoneFlag_
|
||||||
bl LoadSaveblockMapHeader
|
bl LoadSaveblockMapHeader
|
||||||
bl sub_80550A8
|
bl sub_80550A8
|
||||||
bl UnfreezeObjectEvents
|
bl UnfreezeObjectEvents
|
||||||
@@ -2274,7 +1828,7 @@ sub_8057430: @ 8057430
|
|||||||
ldr r1, _08057484 @ =gUnknown_2036E28
|
ldr r1, _08057484 @ =gUnknown_2036E28
|
||||||
movs r0, 0x3
|
movs r0, 0x3
|
||||||
strb r0, [r1]
|
strb r0, [r1]
|
||||||
bl sub_8056420
|
bl ResetSafariZoneFlag_
|
||||||
bl LoadSaveblockMapHeader
|
bl LoadSaveblockMapHeader
|
||||||
bl sub_80550A8
|
bl sub_80550A8
|
||||||
bl UnfreezeObjectEvents
|
bl UnfreezeObjectEvents
|
||||||
@@ -2541,7 +2095,7 @@ _0805766C:
|
|||||||
.4byte _0805770C
|
.4byte _0805770C
|
||||||
.4byte _08057712
|
.4byte _08057712
|
||||||
_08057690:
|
_08057690:
|
||||||
bl sub_8056354
|
bl InitOverworldBgs_NoResetHeap
|
||||||
movs r0, 0
|
movs r0, 0
|
||||||
bl mli0_load_map
|
bl mli0_load_map
|
||||||
b _0805772A
|
b _0805772A
|
||||||
@@ -2784,8 +2338,8 @@ _0805787C: .4byte gPaletteFade
|
|||||||
_08057880: .4byte CB2_LoadMap
|
_08057880: .4byte CB2_LoadMap
|
||||||
thumb_func_end sub_8057854
|
thumb_func_end sub_8057854
|
||||||
|
|
||||||
thumb_func_start c1_link_related
|
thumb_func_start CB1_UpdateLinkState
|
||||||
c1_link_related: @ 8057884
|
CB1_UpdateLinkState: @ 8057884
|
||||||
push {r4,lr}
|
push {r4,lr}
|
||||||
ldr r0, _080578C8 @ =gWirelessCommType
|
ldr r0, _080578C8 @ =gWirelessCommType
|
||||||
ldrb r0, [r0]
|
ldrb r0, [r0]
|
||||||
@@ -2820,7 +2374,7 @@ _080578C8: .4byte gWirelessCommType
|
|||||||
_080578CC: .4byte gLocalLinkPlayerId
|
_080578CC: .4byte gLocalLinkPlayerId
|
||||||
_080578D0: .4byte gLinkPartnersHeldKeys
|
_080578D0: .4byte gLinkPartnersHeldKeys
|
||||||
_080578D4: .4byte gUnknown_3000E84
|
_080578D4: .4byte gUnknown_3000E84
|
||||||
thumb_func_end c1_link_related
|
thumb_func_end CB1_UpdateLinkState
|
||||||
|
|
||||||
thumb_func_start sub_80578D8
|
thumb_func_start sub_80578D8
|
||||||
sub_80578D8: @ 80578D8
|
sub_80578D8: @ 80578D8
|
||||||
|
|||||||
@@ -0,0 +1,8 @@
|
|||||||
|
gBGTilemapBuffers1
|
||||||
|
gBGTilemapBuffers2
|
||||||
|
gBGTilemapBuffers3
|
||||||
|
gFieldCallback
|
||||||
|
gFieldCallback2
|
||||||
|
gHeldKeyCodeToSend
|
||||||
|
gLocalLinkPlayerId
|
||||||
|
gFieldLinkPlayerCount
|
||||||
@@ -5,69 +5,6 @@
|
|||||||
.section .rodata
|
.section .rodata
|
||||||
.align 2, 0
|
.align 2, 0
|
||||||
|
|
||||||
sUnusedData:: @ 826D2B8
|
|
||||||
.4byte 1200
|
|
||||||
.4byte 3600
|
|
||||||
.4byte 1200
|
|
||||||
.4byte 2400
|
|
||||||
.4byte 50
|
|
||||||
.4byte 80
|
|
||||||
.4byte -44
|
|
||||||
.4byte 44
|
|
||||||
|
|
||||||
gDirectionToVectors:: @ 826D2D8
|
|
||||||
.4byte 0, 0
|
|
||||||
.4byte 0, 1
|
|
||||||
.4byte 0, -1
|
|
||||||
.4byte -1, 0
|
|
||||||
.4byte 1, 0
|
|
||||||
.4byte -1, 1
|
|
||||||
.4byte 1, 1
|
|
||||||
.4byte -1, -1
|
|
||||||
.4byte 1, -1
|
|
||||||
|
|
||||||
gUnknown_826D320:: @ 826D320
|
|
||||||
.4byte 0x000001f8
|
|
||||||
@ {
|
|
||||||
@ .bg = 0,
|
|
||||||
@ .charBaseIndex = 2,
|
|
||||||
@ .mapBaseIndex = 31,
|
|
||||||
@ .screenSize = 0,
|
|
||||||
@ .paletteMode = 0,
|
|
||||||
@ .priority = 0,
|
|
||||||
@ .baseTile = 0x0000
|
|
||||||
@ }
|
|
||||||
.4byte 0x000011d1
|
|
||||||
@ {
|
|
||||||
@ .bg = 1,
|
|
||||||
@ .charBaseIndex = 0,
|
|
||||||
@ .mapBaseIndex = 29,
|
|
||||||
@ .screenSize = 0,
|
|
||||||
@ .paletteMode = 0,
|
|
||||||
@ .priority = 1,
|
|
||||||
@ .baseTile = 0x0000
|
|
||||||
@ }
|
|
||||||
.4byte 0x000021c2
|
|
||||||
@ {
|
|
||||||
@ .bg = 2,
|
|
||||||
@ .charBaseIndex = 0,
|
|
||||||
@ .mapBaseIndex = 28,
|
|
||||||
@ .screenSize = 0,
|
|
||||||
@ .paletteMode = 0,
|
|
||||||
@ .priority = 2,
|
|
||||||
@ .baseTile = 0x0000
|
|
||||||
@ }
|
|
||||||
.4byte 0x000031e3
|
|
||||||
@ {
|
|
||||||
@ .bg = 3,
|
|
||||||
@ .charBaseIndex = 0,
|
|
||||||
@ .mapBaseIndex = 30,
|
|
||||||
@ .screenSize = 0,
|
|
||||||
@ .paletteMode = 0,
|
|
||||||
@ .priority = 3,
|
|
||||||
@ .baseTile = 0x0000
|
|
||||||
@ }
|
|
||||||
|
|
||||||
gFlashEffectParams:: @ 826D330
|
gFlashEffectParams:: @ 826D330
|
||||||
.4byte REG_WIN0H
|
.4byte REG_WIN0H
|
||||||
.4byte (2 >> 1) | ((DMA_16BIT | DMA_DEST_RELOAD | DMA_SRC_INC | DMA_REPEAT | DMA_START_HBLANK | DMA_ENABLE) << 16)
|
.4byte (2 >> 1) | ((DMA_16BIT | DMA_DEST_RELOAD | DMA_SRC_INC | DMA_REPEAT | DMA_START_HBLANK | DMA_ENABLE) << 16)
|
||||||
|
|||||||
@@ -9,5 +9,6 @@ bool8 ShowFieldAutoScrollMessage(const u8 *message);
|
|||||||
void HideFieldMessageBox(void);
|
void HideFieldMessageBox(void);
|
||||||
bool8 IsFieldMessageBoxHidden(void);
|
bool8 IsFieldMessageBoxHidden(void);
|
||||||
bool8 textbox_any_visible(void);
|
bool8 textbox_any_visible(void);
|
||||||
|
void sub_8069348(void);
|
||||||
|
|
||||||
#endif // GUARD_FIELD_MESSAGE_BOX_H
|
#endif // GUARD_FIELD_MESSAGE_BOX_H
|
||||||
|
|||||||
+1
-1
@@ -53,7 +53,7 @@ struct CreditsOverworldCmd
|
|||||||
#define MUSIC_DISABLE_STOP 1
|
#define MUSIC_DISABLE_STOP 1
|
||||||
#define MUSIC_DISABLE_KEEP 2
|
#define MUSIC_DISABLE_KEEP 2
|
||||||
|
|
||||||
extern struct UCoords32 gDirectionToVectors[];
|
extern const struct UCoords32 gDirectionToVectors[];
|
||||||
|
|
||||||
extern struct LinkPlayerObjectEvent gLinkPlayerObjectEvents[4];
|
extern struct LinkPlayerObjectEvent gLinkPlayerObjectEvents[4];
|
||||||
extern MainCallback gFieldCallback;
|
extern MainCallback gFieldCallback;
|
||||||
|
|||||||
+4
-14
@@ -4,23 +4,10 @@
|
|||||||
#include "global.h"
|
#include "global.h"
|
||||||
#include "quest_log_battle.h"
|
#include "quest_log_battle.h"
|
||||||
#include "constants/quest_log.h"
|
#include "constants/quest_log.h"
|
||||||
|
#include "field_control_avatar.h"
|
||||||
struct UnkStruct_3005E90
|
|
||||||
{
|
|
||||||
u8 unk_0;
|
|
||||||
u8 unk_1_0:1;
|
|
||||||
u8 unk_1_1:1;
|
|
||||||
u8 unk_1_2:1;
|
|
||||||
u8 unk_1_3:1;
|
|
||||||
u8 unk_1_4:1;
|
|
||||||
u8 unk_2;
|
|
||||||
};
|
|
||||||
|
|
||||||
extern u8 gQuestLogState;
|
extern u8 gQuestLogState;
|
||||||
extern u8 gUnknown_3005E88;
|
extern u8 gUnknown_3005E88;
|
||||||
extern u16 sNumEventsInLogEntry;
|
|
||||||
extern struct UnkStruct_3005E90 gUnknown_3005E90;
|
|
||||||
extern struct QuestLogEntry * sCurQuestLogEntry;
|
|
||||||
extern const u16 gUnknown_84566A8[];
|
extern const u16 gUnknown_84566A8[];
|
||||||
|
|
||||||
void sub_8112720(u8);
|
void sub_8112720(u8);
|
||||||
@@ -61,5 +48,8 @@ void sub_8112588(u8 localId, u8 mapNum, u8 mapGroup, u8 movementActionId, u8 dur
|
|||||||
void sub_8112C9C(void);
|
void sub_8112C9C(void);
|
||||||
void sub_8110920(void);
|
void sub_8110920(void);
|
||||||
void sub_8111708(void);
|
void sub_8111708(void);
|
||||||
|
void sub_81127F8(struct FieldInput * a0);
|
||||||
|
void sub_8112B3C(void);
|
||||||
|
void RunQuestLogCB(void);
|
||||||
|
|
||||||
#endif //GUARD_QUEST_LOG_H
|
#endif //GUARD_QUEST_LOG_H
|
||||||
|
|||||||
+232
@@ -4,6 +4,7 @@
|
|||||||
#include "event_scripts.h"
|
#include "event_scripts.h"
|
||||||
#include "field_camera.h"
|
#include "field_camera.h"
|
||||||
#include "field_control_avatar.h"
|
#include "field_control_avatar.h"
|
||||||
|
#include "field_message_box.h"
|
||||||
#include "field_player_avatar.h"
|
#include "field_player_avatar.h"
|
||||||
#include "field_screen_effect.h"
|
#include "field_screen_effect.h"
|
||||||
#include "field_specials.h"
|
#include "field_specials.h"
|
||||||
@@ -15,11 +16,13 @@
|
|||||||
#include "map_name_popup.h"
|
#include "map_name_popup.h"
|
||||||
#include "metatile_behavior.h"
|
#include "metatile_behavior.h"
|
||||||
#include "money.h"
|
#include "money.h"
|
||||||
|
#include "new_menu_helpers.h"
|
||||||
#include "overworld.h"
|
#include "overworld.h"
|
||||||
#include "quest_log.h"
|
#include "quest_log.h"
|
||||||
#include "random.h"
|
#include "random.h"
|
||||||
#include "renewable_hidden_items.h"
|
#include "renewable_hidden_items.h"
|
||||||
#include "roamer.h"
|
#include "roamer.h"
|
||||||
|
#include "safari_zone.h"
|
||||||
#include "save_location.h"
|
#include "save_location.h"
|
||||||
#include "script.h"
|
#include "script.h"
|
||||||
#include "script_pokemon_util.h"
|
#include "script_pokemon_util.h"
|
||||||
@@ -61,6 +64,15 @@ EWRAM_DATA s16 gUnknown_2031DEA = 0;
|
|||||||
// File boundary perhaps?
|
// File boundary perhaps?
|
||||||
EWRAM_DATA struct LinkPlayerObjectEvent gLinkPlayerObjectEvents[4] = {};
|
EWRAM_DATA struct LinkPlayerObjectEvent gLinkPlayerObjectEvents[4] = {};
|
||||||
|
|
||||||
|
u16 *gBGTilemapBuffers1;
|
||||||
|
u16 *gBGTilemapBuffers2;
|
||||||
|
u16 *gBGTilemapBuffers3;
|
||||||
|
void (*gFieldCallback)(void);
|
||||||
|
bool8 (*gFieldCallback2)(void);
|
||||||
|
u16 gHeldKeyCodeToSend;
|
||||||
|
u8 gLocalLinkPlayerId;
|
||||||
|
u8 gFieldLinkPlayerCount;
|
||||||
|
|
||||||
u8 CountBadgesForOverworldWhiteOutLossCalculation(void);
|
u8 CountBadgesForOverworldWhiteOutLossCalculation(void);
|
||||||
void Overworld_ResetStateAfterWhitingOut(void);
|
void Overworld_ResetStateAfterWhitingOut(void);
|
||||||
void Overworld_SetWhiteoutRespawnPoint(void);
|
void Overworld_SetWhiteoutRespawnPoint(void);
|
||||||
@@ -72,6 +84,10 @@ void SetDefaultFlashLevel(void);
|
|||||||
void Overworld_TryMapConnectionMusicTransition(void);
|
void Overworld_TryMapConnectionMusicTransition(void);
|
||||||
void ChooseAmbientCrySpecies(void);
|
void ChooseAmbientCrySpecies(void);
|
||||||
|
|
||||||
|
void MoveSaveBlocks_ResetHeap_(void);
|
||||||
|
void sub_8056E80(void);
|
||||||
|
void CB1_UpdateLinkState(void);
|
||||||
|
|
||||||
extern const struct MapLayout * gMapLayouts[];
|
extern const struct MapLayout * gMapLayouts[];
|
||||||
extern const struct MapHeader *const *gMapGroups[];
|
extern const struct MapHeader *const *gMapGroups[];
|
||||||
|
|
||||||
@@ -1057,3 +1073,219 @@ bool32 sub_8056124(u16 music)
|
|||||||
}
|
}
|
||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
u8 GetMapTypeByGroupAndId(s8 mapGroup, s8 mapNum)
|
||||||
|
{
|
||||||
|
return Overworld_GetMapHeaderByGroupAndId(mapGroup, mapNum)->mapType;
|
||||||
|
}
|
||||||
|
|
||||||
|
u8 GetMapTypeByWarpData(struct WarpData *warp)
|
||||||
|
{
|
||||||
|
return GetMapTypeByGroupAndId(warp->mapGroup, warp->mapNum);
|
||||||
|
}
|
||||||
|
|
||||||
|
u8 GetCurrentMapType(void)
|
||||||
|
{
|
||||||
|
return GetMapTypeByWarpData(&gSaveBlock1Ptr->location);
|
||||||
|
}
|
||||||
|
|
||||||
|
u8 GetLastUsedWarpMapType(void)
|
||||||
|
{
|
||||||
|
return GetMapTypeByWarpData(&gLastUsedWarp);
|
||||||
|
}
|
||||||
|
|
||||||
|
u8 GetLastUsedWarpMapSectionId(void)
|
||||||
|
{
|
||||||
|
return Overworld_GetMapHeaderByGroupAndId(gLastUsedWarp.mapGroup, gLastUsedWarp.mapNum)->regionMapSectionId;
|
||||||
|
}
|
||||||
|
|
||||||
|
bool8 IsMapTypeOutdoors(u8 mapType)
|
||||||
|
{
|
||||||
|
if (mapType == MAP_TYPE_ROUTE
|
||||||
|
|| mapType == MAP_TYPE_TOWN
|
||||||
|
|| mapType == MAP_TYPE_UNDERWATER
|
||||||
|
|| mapType == MAP_TYPE_CITY
|
||||||
|
|| mapType == MAP_TYPE_OCEAN_ROUTE)
|
||||||
|
return TRUE;
|
||||||
|
else
|
||||||
|
return FALSE;
|
||||||
|
}
|
||||||
|
|
||||||
|
bool8 Overworld_MapTypeAllowsTeleportAndFly(u8 mapType)
|
||||||
|
{
|
||||||
|
if (mapType == MAP_TYPE_ROUTE
|
||||||
|
|| mapType == MAP_TYPE_TOWN
|
||||||
|
|| mapType == MAP_TYPE_OCEAN_ROUTE
|
||||||
|
|| mapType == MAP_TYPE_CITY)
|
||||||
|
return TRUE;
|
||||||
|
else
|
||||||
|
return FALSE;
|
||||||
|
}
|
||||||
|
|
||||||
|
bool8 IsMapTypeIndoors(u8 mapType)
|
||||||
|
{
|
||||||
|
if (mapType == MAP_TYPE_INDOOR
|
||||||
|
|| mapType == MAP_TYPE_SECRET_BASE)
|
||||||
|
return TRUE;
|
||||||
|
else
|
||||||
|
return FALSE;
|
||||||
|
}
|
||||||
|
|
||||||
|
u8 GetSavedWarpRegionMapSectionId(void)
|
||||||
|
{
|
||||||
|
return Overworld_GetMapHeaderByGroupAndId(gSaveBlock1Ptr->dynamicWarp.mapGroup, gSaveBlock1Ptr->dynamicWarp.mapNum)->regionMapSectionId;
|
||||||
|
}
|
||||||
|
|
||||||
|
u8 GetCurrentRegionMapSectionId(void)
|
||||||
|
{
|
||||||
|
return Overworld_GetMapHeaderByGroupAndId(gSaveBlock1Ptr->location.mapGroup, gSaveBlock1Ptr->location.mapNum)->regionMapSectionId;
|
||||||
|
}
|
||||||
|
|
||||||
|
u8 GetCurrentMapBattleScene(void)
|
||||||
|
{
|
||||||
|
return Overworld_GetMapHeaderByGroupAndId(gSaveBlock1Ptr->location.mapGroup, gSaveBlock1Ptr->location.mapNum)->battleType;
|
||||||
|
}
|
||||||
|
|
||||||
|
const int sUnusedData[] = {
|
||||||
|
1200,
|
||||||
|
3600,
|
||||||
|
1200,
|
||||||
|
2400,
|
||||||
|
50,
|
||||||
|
80,
|
||||||
|
-44,
|
||||||
|
44
|
||||||
|
};
|
||||||
|
|
||||||
|
const struct UCoords32 gDirectionToVectors[] = {
|
||||||
|
{ 0u, 0u},
|
||||||
|
{ 0u, 1u},
|
||||||
|
{ 0u, -1u},
|
||||||
|
{-1u, 0u},
|
||||||
|
{ 1u, 0u},
|
||||||
|
{-1u, 1u},
|
||||||
|
{ 1u, 1u},
|
||||||
|
{-1u, -1u},
|
||||||
|
{ 1u, -1u},
|
||||||
|
};
|
||||||
|
|
||||||
|
const struct BgTemplate sOverworldBgTemplates[] = {
|
||||||
|
{
|
||||||
|
.bg = 0,
|
||||||
|
.charBaseIndex = 2,
|
||||||
|
.mapBaseIndex = 31,
|
||||||
|
.screenSize = 0,
|
||||||
|
.paletteMode = 0,
|
||||||
|
.priority = 0,
|
||||||
|
.baseTile = 0x000
|
||||||
|
}, {
|
||||||
|
.bg = 1,
|
||||||
|
.charBaseIndex = 0,
|
||||||
|
.mapBaseIndex = 29,
|
||||||
|
.screenSize = 0,
|
||||||
|
.paletteMode = 0,
|
||||||
|
.priority = 1,
|
||||||
|
.baseTile = 0x000
|
||||||
|
}, {
|
||||||
|
.bg = 2,
|
||||||
|
.charBaseIndex = 0,
|
||||||
|
.mapBaseIndex = 28,
|
||||||
|
.screenSize = 0,
|
||||||
|
.paletteMode = 0,
|
||||||
|
.priority = 2,
|
||||||
|
.baseTile = 0x000
|
||||||
|
}, {
|
||||||
|
.bg = 3,
|
||||||
|
.charBaseIndex = 0,
|
||||||
|
.mapBaseIndex = 30,
|
||||||
|
.screenSize = 0,
|
||||||
|
.paletteMode = 0,
|
||||||
|
.priority = 3,
|
||||||
|
.baseTile = 0x000
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
void InitOverworldBgs(void)
|
||||||
|
{
|
||||||
|
MoveSaveBlocks_ResetHeap_();
|
||||||
|
sub_8056E80();
|
||||||
|
ResetBgsAndClearDma3BusyFlags(FALSE);
|
||||||
|
InitBgsFromTemplates(0, sOverworldBgTemplates, NELEMS(sOverworldBgTemplates));
|
||||||
|
SetBgAttribute(1, BG_ATTR_MOSAIC, TRUE);
|
||||||
|
SetBgAttribute(2, BG_ATTR_MOSAIC, TRUE);
|
||||||
|
SetBgAttribute(3, BG_ATTR_MOSAIC, TRUE);
|
||||||
|
gBGTilemapBuffers2 = AllocZeroed(BG_SCREEN_SIZE);
|
||||||
|
gBGTilemapBuffers1 = AllocZeroed(BG_SCREEN_SIZE);
|
||||||
|
gBGTilemapBuffers3 = AllocZeroed(BG_SCREEN_SIZE);
|
||||||
|
SetBgTilemapBuffer(1, gBGTilemapBuffers2);
|
||||||
|
SetBgTilemapBuffer(2, gBGTilemapBuffers1);
|
||||||
|
SetBgTilemapBuffer(3, gBGTilemapBuffers3);
|
||||||
|
InitStandardTextBoxWindows();
|
||||||
|
ResetBg0();
|
||||||
|
sub_8069348();
|
||||||
|
}
|
||||||
|
|
||||||
|
void InitOverworldBgs_NoResetHeap(void)
|
||||||
|
{
|
||||||
|
ResetBgsAndClearDma3BusyFlags(FALSE);
|
||||||
|
InitBgsFromTemplates(0, sOverworldBgTemplates, NELEMS(sOverworldBgTemplates));
|
||||||
|
SetBgAttribute(1, BG_ATTR_MOSAIC, TRUE);
|
||||||
|
SetBgAttribute(2, BG_ATTR_MOSAIC, TRUE);
|
||||||
|
SetBgAttribute(3, BG_ATTR_MOSAIC, TRUE);
|
||||||
|
gBGTilemapBuffers2 = AllocZeroed(BG_SCREEN_SIZE);
|
||||||
|
gBGTilemapBuffers1 = AllocZeroed(BG_SCREEN_SIZE);
|
||||||
|
gBGTilemapBuffers3 = AllocZeroed(BG_SCREEN_SIZE);
|
||||||
|
SetBgTilemapBuffer(1, gBGTilemapBuffers2);
|
||||||
|
SetBgTilemapBuffer(2, gBGTilemapBuffers1);
|
||||||
|
SetBgTilemapBuffer(3, gBGTilemapBuffers3);
|
||||||
|
InitStandardTextBoxWindows();
|
||||||
|
ResetBg0();
|
||||||
|
sub_8069348();
|
||||||
|
}
|
||||||
|
|
||||||
|
void CleanupOverworldWindowsAndTilemaps(void)
|
||||||
|
{
|
||||||
|
FreeAllOverworldWindowBuffers();
|
||||||
|
Free(gBGTilemapBuffers3);
|
||||||
|
Free(gBGTilemapBuffers1);
|
||||||
|
Free(gBGTilemapBuffers2);
|
||||||
|
}
|
||||||
|
|
||||||
|
void ResetSafariZoneFlag_(void)
|
||||||
|
{
|
||||||
|
ResetSafariZoneFlag();
|
||||||
|
}
|
||||||
|
|
||||||
|
bool32 IsUpdateLinkStateCBActive(void)
|
||||||
|
{
|
||||||
|
if (gMain.callback1 == CB1_UpdateLinkState)
|
||||||
|
return TRUE;
|
||||||
|
else
|
||||||
|
return FALSE;
|
||||||
|
}
|
||||||
|
|
||||||
|
void sub_805644C(u16 newKeys, u16 heldKeys)
|
||||||
|
{
|
||||||
|
struct FieldInput fieldInput;
|
||||||
|
|
||||||
|
sub_8112B3C();
|
||||||
|
sub_805BEB8();
|
||||||
|
FieldClearPlayerInput(&fieldInput);
|
||||||
|
FieldGetPlayerInput(&fieldInput, newKeys, heldKeys);
|
||||||
|
FieldInput_HandleCancelSignpost(&fieldInput);
|
||||||
|
if (!ScriptContext2_IsEnabled())
|
||||||
|
{
|
||||||
|
if (ProcessPlayerFieldInput(&fieldInput) == TRUE)
|
||||||
|
{
|
||||||
|
if (gUnknown_3005E88 == 2)
|
||||||
|
sub_81127F8(&gInputToStoreInQuestLogMaybe);
|
||||||
|
ScriptContext2_Enable();
|
||||||
|
DismissMapNamePopup();
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
player_step(fieldInput.dpadDirection, newKeys, heldKeys);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
RunQuestLogCB();
|
||||||
|
}
|
||||||
|
|||||||
+3
-3
@@ -96,7 +96,7 @@ struct UnkStruct_203B044
|
|||||||
|
|
||||||
u8 gUnknown_3005E88;
|
u8 gUnknown_3005E88;
|
||||||
u16 sNumEventsInLogEntry;
|
u16 sNumEventsInLogEntry;
|
||||||
struct UnkStruct_3005E90 gUnknown_3005E90;
|
struct FieldInput gUnknown_3005E90;
|
||||||
struct QuestLogEntry * sCurQuestLogEntry;
|
struct QuestLogEntry * sCurQuestLogEntry;
|
||||||
|
|
||||||
static struct UnkStruct_300201C * sFlagOrVarRecords;
|
static struct UnkStruct_300201C * sFlagOrVarRecords;
|
||||||
@@ -1536,7 +1536,7 @@ void sub_811278C(u8 movementActionId, u8 duration)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void sub_81127F8(struct UnkStruct_3005E90 * a0)
|
void sub_81127F8(struct FieldInput * a0)
|
||||||
{
|
{
|
||||||
if (sQuestLogCursor < sNumEventsInLogEntry)
|
if (sQuestLogCursor < sNumEventsInLogEntry)
|
||||||
{
|
{
|
||||||
@@ -1616,7 +1616,7 @@ static void SetUpQuestLogEntry(u8 kind, struct QuestLogEntry *entry, u16 size)
|
|||||||
}
|
}
|
||||||
sQuestLogCursor = 0;
|
sQuestLogCursor = 0;
|
||||||
gUnknown_203B01C = 0;
|
gUnknown_203B01C = 0;
|
||||||
gUnknown_3005E90 = (struct UnkStruct_3005E90){};
|
gUnknown_3005E90 = (struct FieldInput){};
|
||||||
sNextStepDelay = sCurQuestLogEntry[sQuestLogCursor].unk_4;
|
sNextStepDelay = sCurQuestLogEntry[sQuestLogCursor].unk_4;
|
||||||
sMovementScripts[0][0] = sCurQuestLogEntry[sQuestLogCursor].unk_3;
|
sMovementScripts[0][0] = sCurQuestLogEntry[sQuestLogCursor].unk_3;
|
||||||
sMovementScripts[0][1] = 0xFF;
|
sMovementScripts[0][1] = 0xFF;
|
||||||
|
|||||||
+1
-26
@@ -18,33 +18,8 @@
|
|||||||
.include "random.o"
|
.include "random.o"
|
||||||
.align 2
|
.align 2
|
||||||
.include "load_save.o"
|
.include "load_save.o"
|
||||||
|
|
||||||
.align 2
|
.align 2
|
||||||
@ .include "overworld.o"
|
.include "overworld.o"
|
||||||
gBGTilemapBuffers1: @ 3005014
|
|
||||||
.space 0x4
|
|
||||||
|
|
||||||
gBGTilemapBuffers2: @ 3005018
|
|
||||||
.space 0x4
|
|
||||||
|
|
||||||
gBGTilemapBuffers3: @ 300501C
|
|
||||||
.space 0x4
|
|
||||||
|
|
||||||
gFieldCallback: @ 3005020
|
|
||||||
.space 0x4
|
|
||||||
|
|
||||||
gFieldCallback2: @ 3005024
|
|
||||||
.space 0x4
|
|
||||||
|
|
||||||
gHeldKeyCodeToSend: @ 3005028
|
|
||||||
.space 0x4
|
|
||||||
|
|
||||||
gLocalLinkPlayerId: @ 300502C
|
|
||||||
.space 0x4
|
|
||||||
|
|
||||||
gFieldLinkPlayerCount: @ 3005030
|
|
||||||
.space 0x10
|
|
||||||
|
|
||||||
.align 4
|
.align 4
|
||||||
.include "fieldmap.o"
|
.include "fieldmap.o"
|
||||||
.align 4
|
.align 4
|
||||||
|
|||||||
Reference in New Issue
Block a user