mirror of
https://github.com/pret/pokeheartgold.git
synced 2026-05-27 18:43:54 -05:00
Decompile SysTask half of unk_0201F79C
This commit is contained in:
parent
6de99de2a7
commit
4e0d89d64e
|
|
@ -4,10 +4,10 @@
|
|||
.public DestroySysTask
|
||||
.public AllocFromHeap
|
||||
.public FreeToHeap
|
||||
.public sub_0201F82C
|
||||
.public sub_0201F834
|
||||
.public sub_0201F880
|
||||
.public sub_0201F8C0
|
||||
.public SysTaskQueue_GetArenaSize
|
||||
.public SysTaskQueue_PlacementNew
|
||||
.public SysTaskQueue_RunTasks
|
||||
.public SysTaskQueue_InsertTask
|
||||
.public GF_AssertFail
|
||||
.public sub_0203DF8C
|
||||
.public MIi_CpuClear32
|
||||
|
|
|
|||
|
|
@ -59,7 +59,7 @@
|
|||
.public GetBgTilemapBuffer
|
||||
.public FillWindowPixelRect
|
||||
.public ScheduleBgTilemapBufferTransfer
|
||||
.public sub_0201F988
|
||||
.public SysTask_GetData
|
||||
.public GfGfx_SetBanks
|
||||
.public GfGfx_EngineATogglePlanes
|
||||
.public Camera_SetPerspectiveClippingPlane
|
||||
|
|
|
|||
|
|
@ -9,7 +9,7 @@
|
|||
.public AllocFromHeapAtEnd
|
||||
.public FreeToHeap
|
||||
.public FreeToHeapExplicit
|
||||
.public sub_0201F988
|
||||
.public SysTask_GetData
|
||||
.public GF_AssertFail
|
||||
.public StartScriptFromMenu
|
||||
.public FieldSystem_FlagSet
|
||||
|
|
|
|||
|
|
@ -4,7 +4,7 @@
|
|||
.public DestroySysTaskAndEnvironment
|
||||
.public sub_0200E374
|
||||
.public DestroySysTask
|
||||
.public sub_0201F988
|
||||
.public SysTask_GetData
|
||||
.public GX_SetGraphicsMode
|
||||
.public GX_SetBankForLCDC
|
||||
.public GX_GetBankForLCDC
|
||||
|
|
|
|||
|
|
@ -14,7 +14,7 @@
|
|||
.public sub_0201F53C
|
||||
.public Draw3dModel
|
||||
.public Bind3dModelSet
|
||||
.public sub_0201F988
|
||||
.public SysTask_GetData
|
||||
.public GF_AssertFail
|
||||
.public Save_PlayerData_GetProfileAddr
|
||||
.public PlayerProfile_GetTrainerGender
|
||||
|
|
|
|||
|
|
@ -6,7 +6,7 @@
|
|||
.public DestroySysTaskAndEnvironment
|
||||
.public BeginNormalPaletteFade
|
||||
.public IsPaletteFadeFinished
|
||||
.public sub_0201F988
|
||||
.public SysTask_GetData
|
||||
.public GF_AssertFail
|
||||
.public ov01_021F6830
|
||||
.public ov01_021F6840
|
||||
|
|
|
|||
|
|
@ -6,7 +6,7 @@
|
|||
.public AllocFromHeap
|
||||
.public AllocFromHeapAtEnd
|
||||
.public FreeToHeap
|
||||
.public sub_0201F988
|
||||
.public SysTask_GetData
|
||||
.public GF_AssertFail
|
||||
.public MIi_CpuClear32
|
||||
.public ov01_021FB254
|
||||
|
|
|
|||
|
|
@ -13,7 +13,7 @@
|
|||
.public AllocFromHeapAtEnd
|
||||
.public FreeToHeap
|
||||
.public RemoveWindow
|
||||
.public sub_0201F988
|
||||
.public SysTask_GetData
|
||||
.public LCRandom
|
||||
.public GF_AssertFail
|
||||
.public String_New
|
||||
|
|
|
|||
|
|
@ -4,7 +4,7 @@
|
|||
.public DestroySysTask
|
||||
.public AllocFromHeapAtEnd
|
||||
.public FreeToHeap
|
||||
.public sub_0201F988
|
||||
.public SysTask_GetData
|
||||
.public Camera_SetDistance
|
||||
.public Camera_GetDistance
|
||||
.public memset
|
||||
|
|
|
|||
|
|
@ -97,7 +97,7 @@
|
|||
.public FillWindowPixelBuffer
|
||||
.public ScheduleBgTilemapBufferTransfer
|
||||
.public ScheduleSetBgPosText
|
||||
.public sub_0201F988
|
||||
.public SysTask_GetData
|
||||
.public GF_SinDeg
|
||||
.public GF_CosDeg
|
||||
.public GF_DegreeToSinCosIdxNoWrap
|
||||
|
|
|
|||
|
|
@ -109,7 +109,7 @@
|
|||
.public DoScheduledBgGpuUpdates
|
||||
.public ScheduleBgTilemapBufferTransfer
|
||||
.public ScheduleSetBgPosText
|
||||
.public sub_0201F988
|
||||
.public SysTask_GetData
|
||||
.public LCRandom
|
||||
.public AddTextPrinterParameterized
|
||||
.public AddTextPrinterParameterizedWithColor
|
||||
|
|
|
|||
|
|
@ -142,7 +142,7 @@
|
|||
.public BgClearTilemapBufferAndCommit
|
||||
.public BgGetCharPtr
|
||||
.public GetBgPriority
|
||||
.public sub_0201F98C
|
||||
.public SysTask_GetPriority
|
||||
.public GF_SinDeg
|
||||
.public LCRandom
|
||||
.public GF_CreateNewVramTransferTask
|
||||
|
|
|
|||
|
|
@ -90,7 +90,7 @@
|
|||
.public GetWindowWidth
|
||||
.public ScheduleBgTilemapBufferTransfer
|
||||
.public ScheduleSetBgPosText
|
||||
.public sub_0201F988
|
||||
.public SysTask_GetData
|
||||
.public TextPrinterCheckActive
|
||||
.public AddTextPrinterParameterized
|
||||
.public AddTextPrinterParameterizedWithColor
|
||||
|
|
|
|||
|
|
@ -108,7 +108,7 @@
|
|||
.public FillWindowPixelRect
|
||||
.public DoScheduledBgGpuUpdates
|
||||
.public ScheduleBgTilemapBufferTransfer
|
||||
.public sub_0201F988
|
||||
.public SysTask_GetData
|
||||
.public MsgArray_SkipControlCode
|
||||
.public AddTextPrinterParameterizedWithColor
|
||||
.public sub_020215A0
|
||||
|
|
|
|||
|
|
@ -63,7 +63,7 @@
|
|||
.public Draw3dModel
|
||||
.public sub_0201F590
|
||||
.public sub_0201F63C
|
||||
.public sub_0201F988
|
||||
.public SysTask_GetData
|
||||
.public GfGfx_SetBanks
|
||||
.public GfGfx_EngineATogglePlanes
|
||||
.public GfGfx_EngineASetPlanes
|
||||
|
|
|
|||
|
|
@ -7,7 +7,7 @@
|
|||
.public DestroySysTask
|
||||
.public AllocFromHeap
|
||||
.public FreeToHeap
|
||||
.public sub_0201F988
|
||||
.public SysTask_GetData
|
||||
.public GF_AssertFail
|
||||
.public MI_CpuFill8
|
||||
.public ov12_0223A900
|
||||
|
|
|
|||
|
|
@ -38,7 +38,7 @@
|
|||
.public ClearWindowTilemapAndCopyToVram
|
||||
.public FillWindowPixelBuffer
|
||||
.public ScheduleBgTilemapBufferTransfer
|
||||
.public sub_0201F988
|
||||
.public SysTask_GetData
|
||||
.public AddTextPrinterParameterizedWithColor
|
||||
.public GfGfx_EngineBTogglePlanes
|
||||
.public sub_0202457C
|
||||
|
|
|
|||
|
|
@ -63,7 +63,7 @@
|
|||
.public GetWindowX
|
||||
.public GetWindowY
|
||||
.public ScheduleBgTilemapBufferTransfer
|
||||
.public sub_0201F988
|
||||
.public SysTask_GetData
|
||||
.public AddTextPrinterParameterizedWithColor
|
||||
.public GfGfx_EngineBTogglePlanes
|
||||
.public SpriteList_Delete
|
||||
|
|
|
|||
|
|
@ -44,7 +44,7 @@
|
|||
.public ClearWindowTilemapAndScheduleTransfer
|
||||
.public FillWindowPixelBuffer
|
||||
.public ScheduleBgTilemapBufferTransfer
|
||||
.public sub_0201F988
|
||||
.public SysTask_GetData
|
||||
.public GF_SinDeg
|
||||
.public GF_CosDeg
|
||||
.public GF_DegreeToSinCosIdx
|
||||
|
|
|
|||
|
|
@ -47,7 +47,7 @@
|
|||
.public FillWindowPixelBuffer
|
||||
.public GetWindowWidth
|
||||
.public ScheduleBgTilemapBufferTransfer
|
||||
.public sub_0201F988
|
||||
.public SysTask_GetData
|
||||
.public AddTextPrinterParameterizedWithColor
|
||||
.public SpriteList_Delete
|
||||
.public sub_0202457C
|
||||
|
|
|
|||
|
|
@ -52,7 +52,7 @@
|
|||
.public ClearWindowTilemapAndScheduleTransfer
|
||||
.public FillWindowPixelBuffer
|
||||
.public ScheduleBgTilemapBufferTransfer
|
||||
.public sub_0201F988
|
||||
.public SysTask_GetData
|
||||
.public AddTextPrinterParameterized
|
||||
.public AddTextPrinterParameterizedWithColor
|
||||
.public GfGfx_EngineBTogglePlanes
|
||||
|
|
|
|||
|
|
@ -53,7 +53,7 @@
|
|||
.public FillWindowPixelBuffer
|
||||
.public GetWindowWidth
|
||||
.public ScheduleBgTilemapBufferTransfer
|
||||
.public sub_0201F988
|
||||
.public SysTask_GetData
|
||||
.public AddTextPrinterParameterizedWithColor
|
||||
.public SpriteList_Delete
|
||||
.public sub_0202457C
|
||||
|
|
|
|||
|
|
@ -30,7 +30,7 @@
|
|||
.public FillWindowPixelBuffer
|
||||
.public GetWindowWidth
|
||||
.public ScheduleBgTilemapBufferTransfer
|
||||
.public sub_0201F988
|
||||
.public SysTask_GetData
|
||||
.public AddTextPrinterParameterizedWithColor
|
||||
.public TouchscreenHitbox_FindRectAtTouchHeld
|
||||
.public TouchscreenHitbox_FindRectAtTouchNew
|
||||
|
|
|
|||
|
|
@ -45,7 +45,7 @@
|
|||
.public CopyWindowToVram
|
||||
.public ScheduleWindowCopyToVram
|
||||
.public FillWindowPixelBuffer
|
||||
.public sub_0201F988
|
||||
.public SysTask_GetData
|
||||
.public AddTextPrinterParameterizedWithColor
|
||||
.public GfGfx_EngineBTogglePlanes
|
||||
.public SpriteList_Delete
|
||||
|
|
|
|||
|
|
@ -135,7 +135,7 @@
|
|||
.public DoScheduledBgGpuUpdates
|
||||
.public ScheduleBgTilemapBufferTransfer
|
||||
.public ScheduleSetBgPosText
|
||||
.public sub_0201F988
|
||||
.public SysTask_GetData
|
||||
.public MTRandom
|
||||
.public TextPrinterCheckActive
|
||||
.public AddTextPrinterParameterizedWithColor
|
||||
|
|
|
|||
|
|
@ -68,7 +68,7 @@
|
|||
.public ClearWindowTilemapAndCopyToVram
|
||||
.public FillWindowPixelBuffer
|
||||
.public DoScheduledBgGpuUpdates
|
||||
.public sub_0201F988
|
||||
.public SysTask_GetData
|
||||
.public GF_SinDegNoWrap
|
||||
.public LCRandom
|
||||
.public AddTextPrinterParameterizedWithColor
|
||||
|
|
|
|||
|
|
@ -93,7 +93,7 @@
|
|||
.public DoScheduledBgGpuUpdates
|
||||
.public ScheduleBgTilemapBufferTransfer
|
||||
.public ScheduleSetBgPosText
|
||||
.public sub_0201F988
|
||||
.public SysTask_GetData
|
||||
.public GF_SinDegNoWrap
|
||||
.public GF_CosDegNoWrap
|
||||
.public SetLCRNGSeed
|
||||
|
|
|
|||
|
|
@ -134,7 +134,7 @@
|
|||
.public FillWindowPixelBuffer
|
||||
.public FillWindowPixelRect
|
||||
.public DoScheduledBgGpuUpdates
|
||||
.public sub_0201F988
|
||||
.public SysTask_GetData
|
||||
.public LCRandom
|
||||
.public TextPrinterCheckActive
|
||||
.public AddTextPrinterParameterized
|
||||
|
|
|
|||
|
|
@ -86,8 +86,8 @@
|
|||
.public Draw3dModel
|
||||
.public Bind3dModelSet
|
||||
.public AllocAndLoad3dTexResources
|
||||
.public sub_0201F984
|
||||
.public sub_0201F988
|
||||
.public SysTask_SetFunc
|
||||
.public SysTask_GetData
|
||||
.public sub_0201F990
|
||||
.public GF_SinDegNoWrap
|
||||
.public GF_CosDegNoWrap
|
||||
|
|
|
|||
|
|
@ -51,7 +51,7 @@
|
|||
.public RemoveWindow
|
||||
.public ScheduleBgTilemapBufferTransfer
|
||||
.public ScheduleSetBgPosText
|
||||
.public sub_0201F988
|
||||
.public SysTask_GetData
|
||||
.public AddTextPrinterParameterizedWithColorAndSpacing
|
||||
.public sub_02021AC8
|
||||
.public sub_02021B5C
|
||||
|
|
|
|||
|
|
@ -56,7 +56,7 @@
|
|||
.public GetWindowX
|
||||
.public GetWindowY
|
||||
.public ScheduleBgTilemapBufferTransfer
|
||||
.public sub_0201F988
|
||||
.public SysTask_GetData
|
||||
.public GfGfx_EngineBTogglePlanes
|
||||
.public sub_0202457C
|
||||
.public Set2dSpriteAnimSeqNo
|
||||
|
|
|
|||
|
|
@ -87,7 +87,7 @@
|
|||
.public DestroySysTask
|
||||
.public AllocFromHeap
|
||||
.public FreeToHeap
|
||||
.public sub_0201F988
|
||||
.public SysTask_GetData
|
||||
.public GF_AssertFail
|
||||
.public NNS_SndPlayerStopSeq
|
||||
.public NNS_SndPlayerStopSeqBySeqNo
|
||||
|
|
|
|||
|
|
@ -5,6 +5,6 @@
|
|||
.public sub_0200E358
|
||||
.public sub_0200E374
|
||||
.public DestroySysTask
|
||||
.public sub_0201F8C0
|
||||
.public sub_0201F954
|
||||
.public SysTaskQueue_InsertTask
|
||||
.public SysTask_Delete
|
||||
.public gSystem
|
||||
|
|
|
|||
|
|
@ -8,7 +8,7 @@
|
|||
.public sub_0201649C
|
||||
.public sub_020164C4
|
||||
.public BG_LoadPlttData
|
||||
.public sub_0201F988
|
||||
.public SysTask_GetData
|
||||
.public sub_02026E84
|
||||
.public sub_02026E94
|
||||
.public MIi_CpuCopy16
|
||||
|
|
|
|||
|
|
@ -1,13 +1,13 @@
|
|||
#include <nitro/fs/overlay.h>
|
||||
#pragma once
|
||||
.public sub_0201F82C
|
||||
.public sub_0201F834
|
||||
.public sub_0201F880
|
||||
.public sub_0201F8C0
|
||||
.public sub_0201F954
|
||||
.public sub_0201F984
|
||||
.public sub_0201F988
|
||||
.public sub_0201F98C
|
||||
.public SysTaskQueue_GetArenaSize
|
||||
.public SysTaskQueue_PlacementNew
|
||||
.public SysTaskQueue_RunTasks
|
||||
.public SysTaskQueue_InsertTask
|
||||
.public SysTask_Delete
|
||||
.public SysTask_SetFunc
|
||||
.public SysTask_GetData
|
||||
.public SysTask_GetPriority
|
||||
.public sub_0201F990
|
||||
.public sub_0201FA34
|
||||
.public GF_AssertFail
|
||||
|
|
@ -5,7 +5,7 @@
|
|||
.public DestroySysTask
|
||||
.public AllocFromHeapAtEnd
|
||||
.public FreeToHeapExplicit
|
||||
.public sub_0201F988
|
||||
.public SysTask_GetData
|
||||
.public GF_AssertFail
|
||||
.public MapObjectManager_GetHeapID
|
||||
.public MapObject_SetFlagsBits
|
||||
|
|
|
|||
|
|
@ -6,7 +6,7 @@
|
|||
.public AllocFromHeapAtEnd
|
||||
.public FreeToHeap
|
||||
.public FreeToHeapExplicit
|
||||
.public sub_0201F988
|
||||
.public SysTask_GetData
|
||||
.public GF_SinDegNoWrap
|
||||
.public sub_02023EE0
|
||||
.public sub_02023EF4
|
||||
|
|
|
|||
|
|
@ -84,7 +84,7 @@
|
|||
.public BlitBitmapRectToWindow
|
||||
.public FillWindowPixelRect
|
||||
.public GetWindowWidth
|
||||
.public sub_0201F988
|
||||
.public SysTask_GetData
|
||||
.public GF_SinDeg
|
||||
.public LCRandom
|
||||
.public TextPrinterCheckActive
|
||||
|
|
|
|||
|
|
@ -39,14 +39,14 @@ ov01_021E66E4: ; 0x021E66E4
|
|||
add r2, r7, #0
|
||||
bl MIi_CpuClear32
|
||||
add r0, r6, #0
|
||||
bl sub_0201F82C
|
||||
bl SysTaskQueue_GetArenaSize
|
||||
add r1, r0, #0
|
||||
add r0, r5, #0
|
||||
bl AllocFromHeap
|
||||
str r0, [r4, #0x10]
|
||||
ldr r1, [r4, #0x10]
|
||||
add r0, r6, #0
|
||||
bl sub_0201F834
|
||||
bl SysTaskQueue_PlacementNew
|
||||
str r0, [r4, #0x10]
|
||||
add r0, r4, #0
|
||||
pop {r3, r4, r5, r6, r7, pc}
|
||||
|
|
@ -82,11 +82,11 @@ _021E6754:
|
|||
|
||||
thumb_func_start ov01_021E6768
|
||||
ov01_021E6768: ; 0x021E6768
|
||||
ldr r3, _021E6770 ; =sub_0201F880
|
||||
ldr r3, _021E6770 ; =SysTaskQueue_RunTasks
|
||||
ldr r0, [r0, #0x10]
|
||||
bx r3
|
||||
nop
|
||||
_021E6770: .word sub_0201F880
|
||||
_021E6770: .word SysTaskQueue_RunTasks
|
||||
thumb_func_end ov01_021E6768
|
||||
|
||||
thumb_func_start ov01_021E6774
|
||||
|
|
@ -156,7 +156,7 @@ _021E67CC:
|
|||
ldr r1, _021E6838 ; =ov01_021E6798
|
||||
ldr r3, [r6]
|
||||
add r2, r4, #0
|
||||
bl sub_0201F8C0
|
||||
bl SysTaskQueue_InsertTask
|
||||
str r0, [r4, #8]
|
||||
str r5, [r4]
|
||||
str r6, [r4, #0xc]
|
||||
|
|
|
|||
|
|
@ -195,7 +195,7 @@ ov01_021EFC94: ; 0x021EFC94
|
|||
mov r2, #5
|
||||
mov r3, #4
|
||||
bl CreateSysTaskAndEnvironment
|
||||
bl sub_0201F988
|
||||
bl SysTask_GetData
|
||||
add r4, r0, #0
|
||||
str r5, [r4, #0x10]
|
||||
str r6, [r4, #0x14]
|
||||
|
|
|
|||
|
|
@ -2728,7 +2728,7 @@ Field_PlayerMovementSavingClear: ; 0x021F2FF0
|
|||
push {r4, r5, r6, lr}
|
||||
add r5, r0, #0
|
||||
beq _021F302E
|
||||
bl sub_0201F988
|
||||
bl SysTask_GetData
|
||||
add r6, r0, #0
|
||||
ldr r0, [r6, #4]
|
||||
ldr r4, [r6, #0xc]
|
||||
|
|
|
|||
|
|
@ -24,7 +24,7 @@ ov01_021F4464: ; 0x021F4464
|
|||
mov r2, #5
|
||||
bl CreateSysTaskAndEnvironment
|
||||
add r6, r0, #0
|
||||
bl sub_0201F988
|
||||
bl SysTask_GetData
|
||||
add r4, r0, #0
|
||||
add r2, r4, #4
|
||||
mov r3, #5
|
||||
|
|
|
|||
|
|
@ -4204,7 +4204,7 @@ _021F6610: .word 0x0000086C
|
|||
thumb_func_start ov01_021F6614
|
||||
ov01_021F6614: ; 0x021F6614
|
||||
push {r3, lr}
|
||||
bl sub_0201F988
|
||||
bl SysTask_GetData
|
||||
mov r1, #1
|
||||
str r1, [r0, #0x20]
|
||||
pop {r3, pc}
|
||||
|
|
|
|||
|
|
@ -130,7 +130,7 @@ ov01_021F68DC: ; 0x021F68DC
|
|||
mov r3, #4
|
||||
bl CreateSysTaskAndEnvironment
|
||||
add r4, r0, #0
|
||||
bl sub_0201F988
|
||||
bl SysTask_GetData
|
||||
ldr r1, [r5, #0x1c]
|
||||
strb r1, [r0]
|
||||
mov r1, #0
|
||||
|
|
@ -151,7 +151,7 @@ ov01_021F690C: ; 0x021F690C
|
|||
add r4, r0, #0
|
||||
add r0, #0xd8
|
||||
ldr r0, [r0]
|
||||
bl sub_0201F988
|
||||
bl SysTask_GetData
|
||||
add r2, r0, #0
|
||||
ldr r1, [r2, #4]
|
||||
ldrb r2, [r2]
|
||||
|
|
@ -171,7 +171,7 @@ ov01_021F6930: ; 0x021F6930
|
|||
add r5, r0, #0
|
||||
add r0, #0xd8
|
||||
ldr r0, [r0]
|
||||
bl sub_0201F988
|
||||
bl SysTask_GetData
|
||||
add r4, r0, #0
|
||||
ldrb r1, [r4]
|
||||
ldr r0, [r5, #8]
|
||||
|
|
@ -366,7 +366,7 @@ ov01_021F6A9C: ; 0x021F6A9C
|
|||
ldr r0, [r0]
|
||||
add r5, r1, #0
|
||||
add r4, r2, #0
|
||||
bl sub_0201F988
|
||||
bl SysTask_GetData
|
||||
ldrb r1, [r0, #1]
|
||||
cmp r1, #1
|
||||
bne _021F6AB8
|
||||
|
|
@ -388,9 +388,9 @@ ov01_021F6ABC: ; 0x021F6ABC
|
|||
add r6, r1, #0
|
||||
add r7, r2, #0
|
||||
str r3, [sp]
|
||||
bl sub_0201F988
|
||||
bl SysTask_GetData
|
||||
ldr r0, [r0, #4]
|
||||
bl sub_0201F988
|
||||
bl SysTask_GetData
|
||||
add r4, r0, #0
|
||||
add r0, r5, #0
|
||||
bl ov01_021F6B00
|
||||
|
|
@ -409,9 +409,9 @@ ov01_021F6AEC: ; 0x021F6AEC
|
|||
push {r3, lr}
|
||||
add r0, #0xd8
|
||||
ldr r0, [r0]
|
||||
bl sub_0201F988
|
||||
bl SysTask_GetData
|
||||
ldr r0, [r0, #4]
|
||||
bl sub_0201F988
|
||||
bl SysTask_GetData
|
||||
ldr r0, [r0]
|
||||
pop {r3, pc}
|
||||
thumb_func_end ov01_021F6AEC
|
||||
|
|
@ -421,7 +421,7 @@ ov01_021F6B00: ; 0x021F6B00
|
|||
push {r3, lr}
|
||||
add r0, #0xd8
|
||||
ldr r0, [r0]
|
||||
bl sub_0201F988
|
||||
bl SysTask_GetData
|
||||
ldrb r0, [r0]
|
||||
pop {r3, pc}
|
||||
.balign 4, 0
|
||||
|
|
@ -432,7 +432,7 @@ ov01_021F6B10: ; 0x021F6B10
|
|||
push {r3, lr}
|
||||
add r0, #0xd8
|
||||
ldr r0, [r0]
|
||||
bl sub_0201F988
|
||||
bl SysTask_GetData
|
||||
ldrb r0, [r0, #1]
|
||||
pop {r3, pc}
|
||||
.balign 4, 0
|
||||
|
|
@ -443,9 +443,9 @@ ov01_021F6B20: ; 0x021F6B20
|
|||
push {r3, lr}
|
||||
add r0, #0xd8
|
||||
ldr r0, [r0]
|
||||
bl sub_0201F988
|
||||
bl SysTask_GetData
|
||||
ldr r0, [r0, #4]
|
||||
bl sub_0201F988
|
||||
bl SysTask_GetData
|
||||
add r0, #0xc
|
||||
pop {r3, pc}
|
||||
thumb_func_end ov01_021F6B20
|
||||
|
|
@ -457,7 +457,7 @@ ov01_021F6B34: ; 0x021F6B34
|
|||
ldr r0, [r0]
|
||||
add r5, r1, #0
|
||||
add r4, r2, #0
|
||||
bl sub_0201F988
|
||||
bl SysTask_GetData
|
||||
ldr r0, [r0, #4]
|
||||
add r1, r5, #0
|
||||
add r2, r4, #0
|
||||
|
|
@ -471,7 +471,7 @@ ov01_021F6B50: ; 0x021F6B50
|
|||
push {r3, lr}
|
||||
add r0, #0xd8
|
||||
ldr r0, [r0]
|
||||
bl sub_0201F988
|
||||
bl SysTask_GetData
|
||||
ldr r0, [r0, #4]
|
||||
bl ov27_0225A2CC
|
||||
pop {r3, pc}
|
||||
|
|
@ -484,7 +484,7 @@ ov01_021F6B64: ; 0x021F6B64
|
|||
add r0, #0xd8
|
||||
ldr r0, [r0]
|
||||
add r5, r1, #0
|
||||
bl sub_0201F988
|
||||
bl SysTask_GetData
|
||||
add r4, r0, #0
|
||||
cmp r5, #0
|
||||
ble _021F6B7A
|
||||
|
|
|
|||
|
|
@ -436,7 +436,7 @@ _021FB350: .word ov01_021FB174
|
|||
thumb_func_start ov01_021FB354
|
||||
ov01_021FB354: ; 0x021FB354
|
||||
push {r3, lr}
|
||||
bl sub_0201F988
|
||||
bl SysTask_GetData
|
||||
mov r1, #1
|
||||
str r1, [r0, #0x74]
|
||||
pop {r3, pc}
|
||||
|
|
|
|||
|
|
@ -142,7 +142,7 @@ _021FC768: .word ov01_021FC798
|
|||
thumb_func_start ov01_021FC76C
|
||||
ov01_021FC76C: ; 0x021FC76C
|
||||
push {r3, lr}
|
||||
bl sub_0201F988
|
||||
bl SysTask_GetData
|
||||
ldr r0, [r0, #4]
|
||||
pop {r3, pc}
|
||||
.balign 4, 0
|
||||
|
|
@ -151,7 +151,7 @@ ov01_021FC76C: ; 0x021FC76C
|
|||
thumb_func_start ov01_021FC778
|
||||
ov01_021FC778: ; 0x021FC778
|
||||
push {r3, lr}
|
||||
bl sub_0201F988
|
||||
bl SysTask_GetData
|
||||
ldr r0, [r0, #8]
|
||||
pop {r3, pc}
|
||||
.balign 4, 0
|
||||
|
|
@ -161,7 +161,7 @@ ov01_021FC778: ; 0x021FC778
|
|||
ov01_021FC784: ; 0x021FC784
|
||||
push {r4, lr}
|
||||
add r4, r0, #0
|
||||
bl sub_0201F988
|
||||
bl SysTask_GetData
|
||||
bl FreeToHeap
|
||||
add r0, r4, #0
|
||||
bl DestroySysTask
|
||||
|
|
|
|||
|
|
@ -48,7 +48,7 @@ _021FCD68: .word 0x0000FFFF
|
|||
thumb_func_start ov01_021FCD6C
|
||||
ov01_021FCD6C: ; 0x021FCD6C
|
||||
push {r3, lr}
|
||||
bl sub_0201F988
|
||||
bl SysTask_GetData
|
||||
ldr r0, [r0, #8]
|
||||
pop {r3, pc}
|
||||
.balign 4, 0
|
||||
|
|
@ -58,7 +58,7 @@ ov01_021FCD6C: ; 0x021FCD6C
|
|||
ov01_021FCD78: ; 0x021FCD78
|
||||
push {r4, lr}
|
||||
add r4, r0, #0
|
||||
bl sub_0201F988
|
||||
bl SysTask_GetData
|
||||
bl FreeToHeap
|
||||
add r0, r4, #0
|
||||
bl DestroySysTask
|
||||
|
|
@ -71,7 +71,7 @@ ov01_021FCD8C: ; 0x021FCD8C
|
|||
add r5, r1, #0
|
||||
add r4, r2, #0
|
||||
add r6, r3, #0
|
||||
bl sub_0201F988
|
||||
bl SysTask_GetData
|
||||
mov r1, #0
|
||||
str r1, [r0, #4]
|
||||
str r1, [r0, #8]
|
||||
|
|
|
|||
|
|
@ -7577,7 +7577,7 @@ _02249538: .word ov02_022499B8
|
|||
thumb_func_start ov02_0224953C
|
||||
ov02_0224953C: ; 0x0224953C
|
||||
push {r3, lr}
|
||||
bl sub_0201F988
|
||||
bl SysTask_GetData
|
||||
ldr r0, [r0, #4]
|
||||
pop {r3, pc}
|
||||
.balign 4, 0
|
||||
|
|
@ -7587,7 +7587,7 @@ ov02_0224953C: ; 0x0224953C
|
|||
ov02_02249548: ; 0x02249548
|
||||
push {r4, lr}
|
||||
add r4, r0, #0
|
||||
bl sub_0201F988
|
||||
bl SysTask_GetData
|
||||
bl ov02_0224957C
|
||||
add r0, r4, #0
|
||||
bl DestroySysTask
|
||||
|
|
@ -11774,7 +11774,7 @@ _0224B438: .word ov02_0224B45C
|
|||
thumb_func_start ov02_0224B43C
|
||||
ov02_0224B43C: ; 0x0224B43C
|
||||
push {r3, lr}
|
||||
bl sub_0201F988
|
||||
bl SysTask_GetData
|
||||
ldr r0, [r0, #4]
|
||||
pop {r3, pc}
|
||||
.balign 4, 0
|
||||
|
|
@ -11784,7 +11784,7 @@ ov02_0224B43C: ; 0x0224B43C
|
|||
ov02_0224B448: ; 0x0224B448
|
||||
push {r4, lr}
|
||||
add r4, r0, #0
|
||||
bl sub_0201F988
|
||||
bl SysTask_GetData
|
||||
bl FreeToHeap
|
||||
add r0, r4, #0
|
||||
bl DestroySysTask
|
||||
|
|
|
|||
|
|
@ -13,7 +13,7 @@ ov05_0221BA00: ; 0x0221BA00
|
|||
ldr r3, [r5, #0x24]
|
||||
mov r2, #0x64
|
||||
bl CreateSysTaskAndEnvironment
|
||||
bl sub_0201F988
|
||||
bl SysTask_GetData
|
||||
ldr r2, _0221BA60 ; =0x00000BD4
|
||||
mov r1, #0
|
||||
add r4, r0, #0
|
||||
|
|
|
|||
|
|
@ -34837,7 +34837,7 @@ _0222CB34:
|
|||
bl ov07_0221FAF8
|
||||
add r7, r0, #0
|
||||
ldr r0, [sp, #0x14]
|
||||
bl sub_0201F98C
|
||||
bl SysTask_GetPriority
|
||||
str r0, [sp, #0x18]
|
||||
ldrh r0, [r4, #0x10]
|
||||
ldrh r1, [r4, #0x12]
|
||||
|
|
|
|||
|
|
@ -20,7 +20,7 @@ _0221BE2E:
|
|||
ldr r3, [r5, #0xc]
|
||||
mov r2, #0
|
||||
bl CreateSysTaskAndEnvironment
|
||||
bl sub_0201F988
|
||||
bl SysTask_GetData
|
||||
ldr r2, _0221BE8C ; =0x00002090
|
||||
add r4, r0, #0
|
||||
mov r1, #0
|
||||
|
|
@ -12721,7 +12721,7 @@ ov08_022225D4: ; 0x022225D4
|
|||
ldr r3, [r5, #0xc]
|
||||
mov r2, #0x64
|
||||
bl CreateSysTaskAndEnvironment
|
||||
bl sub_0201F988
|
||||
bl SysTask_GetData
|
||||
ldr r2, _02222668 ; =0x0000115C
|
||||
add r4, r0, #0
|
||||
mov r1, #0
|
||||
|
|
|
|||
|
|
@ -4034,7 +4034,7 @@ _021E9484:
|
|||
ldr r0, [r5, #8]
|
||||
cmp r0, #0
|
||||
beq _021E9498
|
||||
bl sub_0201F988
|
||||
bl SysTask_GetData
|
||||
ldr r0, [r0, #0xc]
|
||||
cmp r0, r6
|
||||
bne _021E9498
|
||||
|
|
|
|||
|
|
@ -691,7 +691,7 @@ ov106_021E5E0C: ; 0x021E5E0C
|
|||
mov r2, #5
|
||||
bl CreateSysTaskAndEnvironment
|
||||
add r6, r0, #0
|
||||
bl sub_0201F988
|
||||
bl SysTask_GetData
|
||||
add r4, r0, #0
|
||||
add r2, r4, #4
|
||||
mov r3, #5
|
||||
|
|
|
|||
|
|
@ -30,7 +30,7 @@ _0226BEEC: .word ov12_0226BF04
|
|||
ov12_0226BEF0: ; 0x0226BEF0
|
||||
push {r4, lr}
|
||||
add r4, r0, #0
|
||||
bl sub_0201F988
|
||||
bl SysTask_GetData
|
||||
bl FreeToHeap
|
||||
add r0, r4, #0
|
||||
bl DestroySysTask
|
||||
|
|
|
|||
|
|
@ -53,7 +53,7 @@ ov19_02259918: ; 0x02259918
|
|||
add r5, r0, #0
|
||||
add r0, #0xd8
|
||||
ldr r0, [r0]
|
||||
bl sub_0201F988
|
||||
bl SysTask_GetData
|
||||
add r4, r0, #0
|
||||
mov r0, #0x43
|
||||
lsl r0, r0, #2
|
||||
|
|
|
|||
|
|
@ -46,7 +46,7 @@ ov27_02259F80: ; 0x02259F80
|
|||
mov r3, #8
|
||||
bl CreateSysTaskAndEnvironment
|
||||
add r7, r0, #0
|
||||
bl sub_0201F988
|
||||
bl SysTask_GetData
|
||||
add r4, r0, #0
|
||||
str r7, [r4, #8]
|
||||
mov r0, #0
|
||||
|
|
@ -241,7 +241,7 @@ ov27_0225A19C: ; 0x0225A19C
|
|||
str r0, [sp]
|
||||
add r0, r1, #0
|
||||
str r1, [sp, #4]
|
||||
bl sub_0201F988
|
||||
bl SysTask_GetData
|
||||
add r6, r0, #0
|
||||
ldr r1, _0225A2B0 ; =FS_OVERLAY_ID(OVY_123)
|
||||
mov r0, #0
|
||||
|
|
@ -374,7 +374,7 @@ ov27_0225A2C8: ; 0x0225A2C8
|
|||
thumb_func_start ov27_0225A2CC
|
||||
ov27_0225A2CC: ; 0x0225A2CC
|
||||
push {r4, lr}
|
||||
bl sub_0201F988
|
||||
bl SysTask_GetData
|
||||
add r4, r0, #0
|
||||
bne _0225A2DA
|
||||
bl GF_AssertFail
|
||||
|
|
@ -393,7 +393,7 @@ _0225A2E8: .word 0x0000051C
|
|||
ov27_0225A2EC: ; 0x0225A2EC
|
||||
push {r3, r4, r5, lr}
|
||||
add r5, r1, #0
|
||||
bl sub_0201F988
|
||||
bl SysTask_GetData
|
||||
add r4, r0, #0
|
||||
bne _0225A2FC
|
||||
bl GF_AssertFail
|
||||
|
|
@ -4459,7 +4459,7 @@ ov27_0225C250: ; 0x0225C250
|
|||
mov r3, #8
|
||||
bl CreateSysTaskAndEnvironment
|
||||
add r6, r0, #0
|
||||
bl sub_0201F988
|
||||
bl SysTask_GetData
|
||||
add r4, r0, #0
|
||||
str r6, [r4, #0x1c]
|
||||
mov r0, #0
|
||||
|
|
@ -4535,7 +4535,7 @@ ov27_0225C398: ; 0x0225C398
|
|||
str r0, [sp]
|
||||
add r0, r1, #0
|
||||
str r1, [sp, #4]
|
||||
bl sub_0201F988
|
||||
bl SysTask_GetData
|
||||
add r7, r0, #0
|
||||
mov r0, #0xd5
|
||||
lsl r0, r0, #2
|
||||
|
|
@ -4595,7 +4595,7 @@ ov27_0225C41C: ; 0x0225C41C
|
|||
push {r3, r4, r5, lr}
|
||||
add r5, r1, #0
|
||||
add r4, r2, #0
|
||||
bl sub_0201F988
|
||||
bl SysTask_GetData
|
||||
mov r1, #0xe7
|
||||
lsl r1, r1, #2
|
||||
str r5, [r0, r1]
|
||||
|
|
|
|||
|
|
@ -26,7 +26,7 @@ ov28_0225D520: ; 0x0225D520
|
|||
mov r3, #8
|
||||
bl CreateSysTaskAndEnvironment
|
||||
add r6, r0, #0
|
||||
bl sub_0201F988
|
||||
bl SysTask_GetData
|
||||
add r4, r0, #0
|
||||
str r5, [r4, #0x10]
|
||||
ldr r0, [sp]
|
||||
|
|
@ -98,7 +98,7 @@ ov28_0225D5EC: ; 0x0225D5EC
|
|||
push {r3, r4, r5, lr}
|
||||
add r5, r1, #0
|
||||
add r0, r5, #0
|
||||
bl sub_0201F988
|
||||
bl SysTask_GetData
|
||||
add r4, r0, #0
|
||||
bl DowsingMchn_FreeHiddenItemLocs
|
||||
add r0, r4, #0
|
||||
|
|
|
|||
|
|
@ -26,7 +26,7 @@ ov29_0225D520: ; 0x0225D520
|
|||
mov r3, #8
|
||||
bl CreateSysTaskAndEnvironment
|
||||
str r0, [sp, #4]
|
||||
bl sub_0201F988
|
||||
bl SysTask_GetData
|
||||
add r4, r0, #0
|
||||
ldr r0, [sp]
|
||||
mov r1, #0x7f
|
||||
|
|
@ -104,7 +104,7 @@ ov29_0225D5EC: ; 0x0225D5EC
|
|||
push {r3, r4, r5, lr}
|
||||
add r5, r1, #0
|
||||
add r0, r5, #0
|
||||
bl sub_0201F988
|
||||
bl SysTask_GetData
|
||||
add r4, r0, #0
|
||||
bl ov29_0225DC34
|
||||
add r0, r4, #0
|
||||
|
|
|
|||
|
|
@ -23,7 +23,7 @@ ov31_0225D520: ; 0x0225D520
|
|||
mov r3, #8
|
||||
bl CreateSysTaskAndEnvironment
|
||||
add r5, r0, #0
|
||||
bl sub_0201F988
|
||||
bl SysTask_GetData
|
||||
add r4, r0, #0
|
||||
str r5, [r4, #8]
|
||||
mov r1, #0
|
||||
|
|
@ -236,7 +236,7 @@ ov31_0225D710: ; 0x0225D710
|
|||
add r6, r1, #0
|
||||
add r5, r0, #0
|
||||
add r0, r6, #0
|
||||
bl sub_0201F988
|
||||
bl SysTask_GetData
|
||||
add r4, r0, #0
|
||||
mov r0, #0
|
||||
bl sub_02002B8C
|
||||
|
|
|
|||
|
|
@ -26,7 +26,7 @@ ov32_0225D520: ; 0x0225D520
|
|||
mov r3, #8
|
||||
bl CreateSysTaskAndEnvironment
|
||||
add r7, r0, #0
|
||||
bl sub_0201F988
|
||||
bl SysTask_GetData
|
||||
add r5, r0, #0
|
||||
ldr r0, [sp]
|
||||
str r6, [r5]
|
||||
|
|
@ -83,7 +83,7 @@ ov32_0225D5CC: ; 0x0225D5CC
|
|||
push {r3, r4, r5, lr}
|
||||
add r5, r1, #0
|
||||
add r0, r5, #0
|
||||
bl sub_0201F988
|
||||
bl SysTask_GetData
|
||||
add r4, r0, #0
|
||||
bl ov32_0225DDAC
|
||||
add r0, r4, #0
|
||||
|
|
|
|||
|
|
@ -26,7 +26,7 @@ ov33_0225D520: ; 0x0225D520
|
|||
mov r3, #8
|
||||
bl CreateSysTaskAndEnvironment
|
||||
add r7, r0, #0
|
||||
bl sub_0201F988
|
||||
bl SysTask_GetData
|
||||
add r4, r0, #0
|
||||
ldr r0, [sp]
|
||||
str r6, [r4]
|
||||
|
|
@ -69,7 +69,7 @@ ov33_0225D5A8: ; 0x0225D5A8
|
|||
push {r3, r4, r5, lr}
|
||||
add r5, r1, #0
|
||||
add r0, r5, #0
|
||||
bl sub_0201F988
|
||||
bl SysTask_GetData
|
||||
add r4, r0, #0
|
||||
bl ov33_0225D820
|
||||
ldr r0, [r4]
|
||||
|
|
|
|||
|
|
@ -336,7 +336,7 @@ ov34_0225D7A8: ; 0x0225D7A8
|
|||
add r3, r2, #0
|
||||
bl CreateSysTaskAndEnvironment
|
||||
add r6, r0, #0
|
||||
bl sub_0201F988
|
||||
bl SysTask_GetData
|
||||
add r4, r0, #0
|
||||
str r5, [r4, #0xc]
|
||||
ldr r0, [r5, #8]
|
||||
|
|
|
|||
|
|
@ -3189,7 +3189,7 @@ ov41_022476B8: ; 0x022476B8
|
|||
mov r2, #0xa
|
||||
mov r3, #0xd
|
||||
bl CreateSysTaskAndEnvironment
|
||||
bl sub_0201F988
|
||||
bl SysTask_GetData
|
||||
str r5, [r0]
|
||||
str r4, [r0, #4]
|
||||
mov r1, #0
|
||||
|
|
@ -3379,7 +3379,7 @@ ov41_02247828: ; 0x02247828
|
|||
mov r2, #0xa
|
||||
mov r3, #0xd
|
||||
bl CreateSysTaskAndEnvironment
|
||||
bl sub_0201F988
|
||||
bl SysTask_GetData
|
||||
str r5, [r0]
|
||||
str r4, [r0, #4]
|
||||
mov r1, #0
|
||||
|
|
@ -6099,7 +6099,7 @@ ov41_02248B84: ; 0x02248B84
|
|||
mov r2, #0
|
||||
mov r3, #0xd
|
||||
bl CreateSysTaskAndEnvironment
|
||||
bl sub_0201F988
|
||||
bl SysTask_GetData
|
||||
add r4, r0, #0
|
||||
str r5, [r4]
|
||||
str r6, [r4, #4]
|
||||
|
|
@ -7309,7 +7309,7 @@ ov41_02249480: ; 0x02249480
|
|||
mov r2, #0
|
||||
mov r3, #0xd
|
||||
bl CreateSysTaskAndEnvironment
|
||||
bl sub_0201F988
|
||||
bl SysTask_GetData
|
||||
add r4, r0, #0
|
||||
ldr r0, [r5, #8]
|
||||
add r1, sp, #8
|
||||
|
|
@ -8614,7 +8614,7 @@ ov41_02249DB4: ; 0x02249DB4
|
|||
mov r2, #0
|
||||
mov r3, #0xd
|
||||
bl CreateSysTaskAndEnvironment
|
||||
bl sub_0201F988
|
||||
bl SysTask_GetData
|
||||
add r4, r0, #0
|
||||
str r6, [r4]
|
||||
add r7, r5, #0
|
||||
|
|
|
|||
|
|
@ -1514,7 +1514,7 @@ ov62_021E6480: ; 0x021E6480
|
|||
add r6, r3, #0
|
||||
bl CreateSysTask
|
||||
str r0, [r4, #0x2c]
|
||||
bl sub_0201F988
|
||||
bl SysTask_GetData
|
||||
add r4, r0, #0
|
||||
ldr r0, [sp, #0x24]
|
||||
str r7, [r4]
|
||||
|
|
|
|||
|
|
@ -6452,7 +6452,7 @@ ov63_0221F324: ; 0x0221F324
|
|||
push {r4, r5, r6, lr}
|
||||
add r5, r1, #0
|
||||
add r6, r2, #0
|
||||
bl sub_0201F988
|
||||
bl SysTask_GetData
|
||||
ldr r1, _0221F360 ; =0x0000083C
|
||||
add r4, r0, #0
|
||||
ldr r3, [r4, r1]
|
||||
|
|
@ -6740,7 +6740,7 @@ ov63_0221F580: ; 0x0221F580
|
|||
push {r3, lr}
|
||||
cmp r0, #0
|
||||
beq _0221F5A6
|
||||
bl sub_0201F988
|
||||
bl SysTask_GetData
|
||||
add r3, r0, #0
|
||||
ldr r0, _0221F5A8 ; =0x04000444
|
||||
mov r1, #0
|
||||
|
|
@ -6770,7 +6770,7 @@ ov63_0221F5B4: ; 0x0221F5B4
|
|||
str r2, [r1]
|
||||
cmp r0, #0
|
||||
beq _0221F5F0
|
||||
bl sub_0201F988
|
||||
bl SysTask_GetData
|
||||
add r6, r0, #0
|
||||
ldr r0, _0221F5F8 ; =0x0000083C
|
||||
mov r4, #0
|
||||
|
|
@ -6782,7 +6782,7 @@ ov63_0221F5B4: ; 0x0221F5B4
|
|||
_0221F5D4:
|
||||
ldr r0, _0221F5FC ; =0x00000818
|
||||
ldr r0, [r5, r0]
|
||||
bl sub_0201F988
|
||||
bl SysTask_GetData
|
||||
bl FreeToHeap
|
||||
ldr r0, [r6, r7]
|
||||
add r4, r4, #1
|
||||
|
|
@ -7025,7 +7025,7 @@ ov63_0221F7C4: ; 0x0221F7C4
|
|||
push {r4, lr}
|
||||
add r4, r0, #0
|
||||
beq _0221F7D8
|
||||
bl sub_0201F988
|
||||
bl SysTask_GetData
|
||||
bl FreeToHeap
|
||||
add r0, r4, #0
|
||||
bl DestroySysTask
|
||||
|
|
@ -7039,7 +7039,7 @@ ov63_0221F7DC: ; 0x0221F7DC
|
|||
push {r3, lr}
|
||||
cmp r0, #0
|
||||
beq _0221F7EA
|
||||
bl sub_0201F988
|
||||
bl SysTask_GetData
|
||||
mov r1, #1
|
||||
str r1, [r0]
|
||||
_0221F7EA:
|
||||
|
|
@ -7365,7 +7365,7 @@ ov63_0221FAA0: ; 0x0221FAA0
|
|||
push {r4, lr}
|
||||
cmp r0, #0
|
||||
beq _0221FAD0
|
||||
bl sub_0201F988
|
||||
bl SysTask_GetData
|
||||
add r4, r0, #0
|
||||
ldr r0, [r4, #4]
|
||||
cmp r0, #0
|
||||
|
|
|
|||
|
|
@ -18919,7 +18919,7 @@ ov70_02240EF4: ; 0x02240EF4
|
|||
ldr r1, _02240F34 ; =0x000011D8
|
||||
str r0, [r5, r1]
|
||||
ldr r0, [r5, r1]
|
||||
bl sub_0201F988
|
||||
bl SysTask_GetData
|
||||
mov r1, #0
|
||||
add r2, r1, #0
|
||||
str r1, [r0]
|
||||
|
|
@ -19056,7 +19056,7 @@ ov70_02241004: ; 0x02241004
|
|||
ldr r1, _02241040 ; =0x000011D8
|
||||
str r0, [r5, r1]
|
||||
ldr r0, [r5, r1]
|
||||
bl sub_0201F988
|
||||
bl SysTask_GetData
|
||||
mov r1, #0
|
||||
str r1, [r0]
|
||||
mov r1, #0x8a
|
||||
|
|
|
|||
|
|
@ -757,7 +757,7 @@ ov71_02246F60: ; 0x02246F60
|
|||
ldr r0, [r6, r4]
|
||||
cmp r0, #0
|
||||
beq _02246F8E
|
||||
bl sub_0201F988
|
||||
bl SysTask_GetData
|
||||
bl FreeToHeap
|
||||
ldr r0, [r6, r4]
|
||||
bl DestroySysTask
|
||||
|
|
@ -3092,7 +3092,7 @@ ov71_02248120: ; 0x02248120
|
|||
ldr r0, [r4, #0x78]
|
||||
cmp r0, #0
|
||||
beq _0224813C
|
||||
bl sub_0201F988
|
||||
bl SysTask_GetData
|
||||
bl ov71_02247424
|
||||
ldr r0, [r4, #0x78]
|
||||
bl DestroySysTask
|
||||
|
|
@ -3190,7 +3190,7 @@ ov71_022481D8: ; 0x022481D8
|
|||
ldr r0, [r0, #0x7c]
|
||||
cmp r0, #0
|
||||
beq _022481E8
|
||||
bl sub_0201F988
|
||||
bl SysTask_GetData
|
||||
ldr r0, [r0, #0x20]
|
||||
pop {r3, pc}
|
||||
_022481E8:
|
||||
|
|
@ -3205,7 +3205,7 @@ ov71_022481EC: ; 0x022481EC
|
|||
ldr r0, [r4, #0x7c]
|
||||
cmp r0, #0
|
||||
beq _02248208
|
||||
bl sub_0201F988
|
||||
bl SysTask_GetData
|
||||
bl FreeToHeap
|
||||
ldr r0, [r4, #0x7c]
|
||||
bl DestroySysTask
|
||||
|
|
@ -4581,7 +4581,7 @@ ov71_02248CF4: ; 0x02248CF4
|
|||
push {r4, lr}
|
||||
add r4, r0, #0
|
||||
beq _02248D0A
|
||||
bl sub_0201F988
|
||||
bl SysTask_GetData
|
||||
ldr r0, [r0]
|
||||
mov r1, #0
|
||||
str r1, [r0]
|
||||
|
|
@ -4721,7 +4721,7 @@ ov71_02248E04: ; 0x02248E04
|
|||
push {r3, r4, r5, lr}
|
||||
add r5, r0, #0
|
||||
beq _02248E2E
|
||||
bl sub_0201F988
|
||||
bl SysTask_GetData
|
||||
add r4, r0, #0
|
||||
mov r0, #0x5a
|
||||
lsl r0, r0, #2
|
||||
|
|
@ -5227,7 +5227,7 @@ ov71_02249184: ; 0x02249184
|
|||
str r0, [r4, #0x7c]
|
||||
ldr r1, _02249204 ; =ov71_02249208
|
||||
add r0, r5, #0
|
||||
bl sub_0201F984
|
||||
bl SysTask_SetFunc
|
||||
_022491E4:
|
||||
add r0, r4, #0
|
||||
bl ov71_0224903C
|
||||
|
|
@ -5286,7 +5286,7 @@ _02249252:
|
|||
thumb_func_start ov71_02249254
|
||||
ov71_02249254: ; 0x02249254
|
||||
push {r3, lr}
|
||||
bl sub_0201F988
|
||||
bl SysTask_GetData
|
||||
ldr r0, [r0, #0x78]
|
||||
pop {r3, pc}
|
||||
.balign 4, 0
|
||||
|
|
@ -5295,7 +5295,7 @@ ov71_02249254: ; 0x02249254
|
|||
thumb_func_start ov71_02249260
|
||||
ov71_02249260: ; 0x02249260
|
||||
push {r3, lr}
|
||||
bl sub_0201F988
|
||||
bl SysTask_GetData
|
||||
ldr r0, [r0, #0x7c]
|
||||
pop {r3, pc}
|
||||
.balign 4, 0
|
||||
|
|
@ -5306,7 +5306,7 @@ ov71_0224926C: ; 0x0224926C
|
|||
push {r3, r4, r5, lr}
|
||||
sub sp, #8
|
||||
add r5, r0, #0
|
||||
bl sub_0201F988
|
||||
bl SysTask_GetData
|
||||
add r4, r0, #0
|
||||
mov r1, #0
|
||||
str r1, [r4, #0x78]
|
||||
|
|
@ -5359,7 +5359,7 @@ ov71_0224926C: ; 0x0224926C
|
|||
bl ov71_02247704
|
||||
ldr r1, _022492F8 ; =ov71_022492FC
|
||||
add r0, r5, #0
|
||||
bl sub_0201F984
|
||||
bl SysTask_SetFunc
|
||||
add sp, #8
|
||||
pop {r3, r4, r5, pc}
|
||||
.balign 4, 0
|
||||
|
|
@ -5398,7 +5398,7 @@ ov71_022492FC: ; 0x022492FC
|
|||
bne _0224933C
|
||||
ldr r1, _02249354 ; =ov71_02249358
|
||||
add r0, r5, #0
|
||||
bl sub_0201F984
|
||||
bl SysTask_SetFunc
|
||||
_0224933C:
|
||||
add r1, r4, #0
|
||||
ldr r0, [r4]
|
||||
|
|
@ -5444,7 +5444,7 @@ ov71_02249358: ; 0x02249358
|
|||
str r1, [r0]
|
||||
ldr r1, _022493B4 ; =ov71_022493B8
|
||||
add r0, r5, #0
|
||||
bl sub_0201F984
|
||||
bl SysTask_SetFunc
|
||||
_0224939A:
|
||||
add r1, r4, #0
|
||||
ldr r0, [r4]
|
||||
|
|
@ -5491,7 +5491,7 @@ ov71_022493B8: ; 0x022493B8
|
|||
bne _022493F8
|
||||
ldr r1, _02249410 ; =ov71_02249414
|
||||
add r0, r5, #0
|
||||
bl sub_0201F984
|
||||
bl SysTask_SetFunc
|
||||
_022493F8:
|
||||
add r1, r4, #0
|
||||
ldr r0, [r4]
|
||||
|
|
@ -5530,7 +5530,7 @@ ov71_02249414: ; 0x02249414
|
|||
str r0, [r4, #0x2c]
|
||||
ldr r1, _0224945C ; =ov71_02249460
|
||||
add r0, r5, #0
|
||||
bl sub_0201F984
|
||||
bl SysTask_SetFunc
|
||||
_02249446:
|
||||
add r1, r4, #0
|
||||
ldr r0, [r4]
|
||||
|
|
@ -8973,7 +8973,7 @@ ov71_0224AFB8: ; 0x0224AFB8
|
|||
push {r4, lr}
|
||||
add r4, r0, #0
|
||||
beq _0224AFD2
|
||||
bl sub_0201F988
|
||||
bl SysTask_GetData
|
||||
ldr r1, [r0, #0x1c]
|
||||
mov r2, #0
|
||||
str r2, [r1]
|
||||
|
|
@ -9065,7 +9065,7 @@ ov71_0224B068: ; 0x0224B068
|
|||
push {r4, lr}
|
||||
add r4, r0, #0
|
||||
beq _0224B082
|
||||
bl sub_0201F988
|
||||
bl SysTask_GetData
|
||||
ldr r1, [r0]
|
||||
mov r2, #0
|
||||
str r2, [r1]
|
||||
|
|
@ -9160,7 +9160,7 @@ ov71_0224B11C: ; 0x0224B11C
|
|||
push {r4, lr}
|
||||
add r4, r0, #0
|
||||
beq _0224B136
|
||||
bl sub_0201F988
|
||||
bl SysTask_GetData
|
||||
ldr r1, [r0]
|
||||
mov r2, #0
|
||||
str r2, [r1]
|
||||
|
|
@ -10183,7 +10183,7 @@ ov71_0224B970: ; 0x0224B970
|
|||
ldr r0, [r4, #0x7c]
|
||||
cmp r0, #0
|
||||
beq _0224B98C
|
||||
bl sub_0201F988
|
||||
bl SysTask_GetData
|
||||
bl ov71_02247424
|
||||
ldr r0, [r4, #0x7c]
|
||||
bl DestroySysTask
|
||||
|
|
@ -10290,7 +10290,7 @@ ov71_0224BA48: ; 0x0224BA48
|
|||
push {r4, lr}
|
||||
add r4, r0, #0
|
||||
beq _0224BA62
|
||||
bl sub_0201F988
|
||||
bl SysTask_GetData
|
||||
ldr r1, [r0]
|
||||
mov r2, #0
|
||||
str r2, [r1]
|
||||
|
|
|
|||
|
|
@ -18,7 +18,7 @@ ov80_0223A00C: ; 0x0223A00C
|
|||
lsl r2, r2, #2
|
||||
mov r3, #0x65
|
||||
bl CreateSysTaskAndEnvironment
|
||||
bl sub_0201F988
|
||||
bl SysTask_GetData
|
||||
add r4, r0, #0
|
||||
str r5, [r4, #0x10]
|
||||
ldr r0, [sp]
|
||||
|
|
|
|||
|
|
@ -2313,7 +2313,7 @@ sub_0200F5C4: ; 0x0200F5C4
|
|||
lsl r1, r1, #4
|
||||
mov r2, #0
|
||||
bl CreateSysTaskAndEnvironment
|
||||
bl sub_0201F988
|
||||
bl SysTask_GetData
|
||||
ldr r1, _0200F5FC ; =0x0000016F
|
||||
mov r2, #0
|
||||
strb r2, [r0, r1]
|
||||
|
|
|
|||
|
|
@ -1491,7 +1491,7 @@ sub_020068F8: ; 0x020068F8
|
|||
ldr r0, [r4]
|
||||
cmp r0, #0
|
||||
beq _0200691A
|
||||
bl sub_0201F988
|
||||
bl SysTask_GetData
|
||||
add r5, r0, #0
|
||||
ldr r0, [r4]
|
||||
bl DestroySysTask
|
||||
|
|
|
|||
|
|
@ -14,7 +14,7 @@ CreateSysTask: ; 0x0200E320
|
|||
ldr r0, [r0, #0x18]
|
||||
add r1, r5, #0
|
||||
add r2, r4, #0
|
||||
bl sub_0201F8C0
|
||||
bl SysTaskQueue_InsertTask
|
||||
pop {r3, r4, r5, pc}
|
||||
nop
|
||||
_0200E338: .word gSystem
|
||||
|
|
@ -30,7 +30,7 @@ sub_0200E33C: ; 0x0200E33C
|
|||
ldr r0, [r0, #0x1c]
|
||||
add r1, r5, #0
|
||||
add r2, r4, #0
|
||||
bl sub_0201F8C0
|
||||
bl SysTaskQueue_InsertTask
|
||||
pop {r3, r4, r5, pc}
|
||||
nop
|
||||
_0200E354: .word gSystem
|
||||
|
|
@ -46,7 +46,7 @@ sub_0200E358: ; 0x0200E358
|
|||
ldr r0, [r0, #0x24]
|
||||
add r1, r5, #0
|
||||
add r2, r4, #0
|
||||
bl sub_0201F8C0
|
||||
bl SysTaskQueue_InsertTask
|
||||
pop {r3, r4, r5, pc}
|
||||
nop
|
||||
_0200E370: .word gSystem
|
||||
|
|
@ -62,7 +62,7 @@ sub_0200E374: ; 0x0200E374
|
|||
ldr r0, [r0, #0x20]
|
||||
add r1, r5, #0
|
||||
add r2, r4, #0
|
||||
bl sub_0201F8C0
|
||||
bl SysTaskQueue_InsertTask
|
||||
pop {r3, r4, r5, pc}
|
||||
nop
|
||||
_0200E38C: .word gSystem
|
||||
|
|
@ -70,8 +70,8 @@ _0200E38C: .word gSystem
|
|||
|
||||
thumb_func_start DestroySysTask
|
||||
DestroySysTask: ; 0x0200E390
|
||||
ldr r3, _0200E394 ; =sub_0201F954
|
||||
ldr r3, _0200E394 ; =SysTask_Delete
|
||||
bx r3
|
||||
.balign 4, 0
|
||||
_0200E394: .word sub_0201F954
|
||||
_0200E394: .word SysTask_Delete
|
||||
thumb_func_end DestroySysTask
|
||||
|
|
|
|||
|
|
@ -16,7 +16,7 @@ sub_020163E0: ; 0x020163E0
|
|||
mov r2, #0
|
||||
bl CreateSysTaskAndEnvironment
|
||||
str r0, [sp, #4]
|
||||
bl sub_0201F988
|
||||
bl SysTask_GetData
|
||||
add r4, r0, #0
|
||||
cmp r5, #0
|
||||
beq _02016424
|
||||
|
|
|
|||
|
|
@ -1,520 +0,0 @@
|
|||
.include "asm/macros.inc"
|
||||
.include "unk_0201F79C.inc"
|
||||
.include "global.inc"
|
||||
|
||||
.public NNS_G3dGlb
|
||||
.public NNS_G3dGlb
|
||||
|
||||
.text
|
||||
|
||||
thumb_func_start sub_0201F79C
|
||||
sub_0201F79C: ; 0x0201F79C
|
||||
str r0, [r1]
|
||||
add r0, r0, #4
|
||||
str r0, [r1, #8]
|
||||
str r0, [r1, #4]
|
||||
mov r0, #0
|
||||
str r0, [r1, #0xc]
|
||||
str r0, [r1, #0x10]
|
||||
str r0, [r1, #0x14]
|
||||
bx lr
|
||||
.balign 4, 0
|
||||
thumb_func_end sub_0201F79C
|
||||
|
||||
thumb_func_start sub_0201F7B0
|
||||
sub_0201F7B0: ; 0x0201F7B0
|
||||
push {r3, r4, r5, r6, r7, lr}
|
||||
add r5, r0, #0
|
||||
ldrh r0, [r5]
|
||||
mov r7, #0
|
||||
cmp r0, #0
|
||||
ble _0201F7DE
|
||||
add r4, r7, #0
|
||||
add r6, r7, #0
|
||||
_0201F7C0:
|
||||
ldr r1, [r5, #0x24]
|
||||
add r0, r5, #0
|
||||
add r1, r1, r4
|
||||
bl sub_0201F79C
|
||||
ldr r0, [r5, #0x24]
|
||||
add r7, r7, #1
|
||||
add r1, r0, r4
|
||||
ldr r0, [r5, #0x20]
|
||||
add r4, #0x1c
|
||||
str r1, [r0, r6]
|
||||
ldrh r0, [r5]
|
||||
add r6, r6, #4
|
||||
cmp r7, r0
|
||||
blt _0201F7C0
|
||||
_0201F7DE:
|
||||
mov r0, #0
|
||||
strh r0, [r5, #2]
|
||||
pop {r3, r4, r5, r6, r7, pc}
|
||||
thumb_func_end sub_0201F7B0
|
||||
|
||||
thumb_func_start sub_0201F7E4
|
||||
sub_0201F7E4: ; 0x0201F7E4
|
||||
ldrh r3, [r0, #2]
|
||||
ldrh r1, [r0]
|
||||
cmp r3, r1
|
||||
bne _0201F7F0
|
||||
mov r0, #0
|
||||
bx lr
|
||||
_0201F7F0:
|
||||
ldr r2, [r0, #0x20]
|
||||
lsl r1, r3, #2
|
||||
ldr r2, [r2, r1]
|
||||
add r1, r3, #1
|
||||
strh r1, [r0, #2]
|
||||
add r0, r2, #0
|
||||
bx lr
|
||||
.balign 4, 0
|
||||
thumb_func_end sub_0201F7E4
|
||||
|
||||
thumb_func_start sub_0201F800
|
||||
sub_0201F800: ; 0x0201F800
|
||||
ldrh r2, [r0, #2]
|
||||
cmp r2, #0
|
||||
bne _0201F80A
|
||||
mov r0, #0
|
||||
bx lr
|
||||
_0201F80A:
|
||||
str r0, [r1]
|
||||
add r2, r0, #4
|
||||
str r2, [r1, #8]
|
||||
str r2, [r1, #4]
|
||||
mov r2, #0
|
||||
str r2, [r1, #0xc]
|
||||
str r2, [r1, #0x10]
|
||||
str r2, [r1, #0x14]
|
||||
ldrh r2, [r0, #2]
|
||||
sub r2, r2, #1
|
||||
strh r2, [r0, #2]
|
||||
ldr r2, [r0, #0x20]
|
||||
ldrh r0, [r0, #2]
|
||||
lsl r0, r0, #2
|
||||
str r1, [r2, r0]
|
||||
mov r0, #1
|
||||
bx lr
|
||||
thumb_func_end sub_0201F800
|
||||
|
||||
thumb_func_start sub_0201F82C
|
||||
sub_0201F82C: ; 0x0201F82C
|
||||
lsl r0, r0, #5
|
||||
add r0, #0x34
|
||||
bx lr
|
||||
.balign 4, 0
|
||||
thumb_func_end sub_0201F82C
|
||||
|
||||
thumb_func_start sub_0201F834
|
||||
sub_0201F834: ; 0x0201F834
|
||||
push {r3, r4, r5, lr}
|
||||
add r5, r0, #0
|
||||
add r4, r1, #0
|
||||
bne _0201F840
|
||||
bl GF_AssertFail
|
||||
_0201F840:
|
||||
add r1, r4, #0
|
||||
add r1, #0x34
|
||||
lsl r0, r5, #2
|
||||
str r1, [r4, #0x20]
|
||||
add r0, r1, r0
|
||||
str r0, [r4, #0x24]
|
||||
strh r5, [r4]
|
||||
mov r0, #0
|
||||
strh r0, [r4, #2]
|
||||
str r0, [r4, #0x28]
|
||||
add r0, r4, #0
|
||||
bl sub_0201F860
|
||||
add r0, r4, #0
|
||||
pop {r3, r4, r5, pc}
|
||||
.balign 4, 0
|
||||
thumb_func_end sub_0201F834
|
||||
|
||||
thumb_func_start sub_0201F860
|
||||
sub_0201F860: ; 0x0201F860
|
||||
push {r4, lr}
|
||||
add r4, r0, #0
|
||||
bl sub_0201F7B0
|
||||
str r4, [r4, #4]
|
||||
add r0, r4, #4
|
||||
str r0, [r4, #0xc]
|
||||
str r0, [r4, #8]
|
||||
mov r0, #0
|
||||
str r0, [r4, #0x10]
|
||||
str r0, [r4, #0x14]
|
||||
str r0, [r4, #0x18]
|
||||
ldr r0, [r4, #0xc]
|
||||
str r0, [r4, #0x2c]
|
||||
pop {r4, pc}
|
||||
.balign 4, 0
|
||||
thumb_func_end sub_0201F860
|
||||
|
||||
thumb_func_start sub_0201F880
|
||||
sub_0201F880: ; 0x0201F880
|
||||
push {r4, r5, r6, lr}
|
||||
add r5, r0, #0
|
||||
ldr r0, [r5, #0x28]
|
||||
cmp r0, #0
|
||||
bne _0201F8BC
|
||||
ldr r1, [r5, #0xc]
|
||||
add r4, r5, #4
|
||||
str r1, [r5, #0x2c]
|
||||
cmp r1, r4
|
||||
beq _0201F8B8
|
||||
mov r6, #0
|
||||
_0201F896:
|
||||
ldr r0, [r1, #8]
|
||||
str r0, [r5, #0x30]
|
||||
ldr r0, [r5, #0x2c]
|
||||
ldr r1, [r0, #0x18]
|
||||
cmp r1, #0
|
||||
bne _0201F8AE
|
||||
ldr r2, [r0, #0x14]
|
||||
cmp r2, #0
|
||||
beq _0201F8B0
|
||||
ldr r1, [r0, #0x10]
|
||||
blx r2
|
||||
b _0201F8B0
|
||||
_0201F8AE:
|
||||
str r6, [r0, #0x18]
|
||||
_0201F8B0:
|
||||
ldr r1, [r5, #0x30]
|
||||
str r1, [r5, #0x2c]
|
||||
cmp r1, r4
|
||||
bne _0201F896
|
||||
_0201F8B8:
|
||||
mov r0, #0
|
||||
str r0, [r1, #0x14]
|
||||
_0201F8BC:
|
||||
pop {r4, r5, r6, pc}
|
||||
.balign 4, 0
|
||||
thumb_func_end sub_0201F880
|
||||
|
||||
thumb_func_start sub_0201F8C0
|
||||
sub_0201F8C0: ; 0x0201F8C0
|
||||
push {r3, r4, r5, lr}
|
||||
add r4, r0, #0
|
||||
mov r5, #1
|
||||
str r5, [r4, #0x28]
|
||||
bl sub_0201F8D4
|
||||
mov r1, #0
|
||||
str r1, [r4, #0x28]
|
||||
pop {r3, r4, r5, pc}
|
||||
.balign 4, 0
|
||||
thumb_func_end sub_0201F8C0
|
||||
|
||||
thumb_func_start sub_0201F8D4
|
||||
sub_0201F8D4: ; 0x0201F8D4
|
||||
push {r3, r4, r5, r6, r7, lr}
|
||||
add r5, r0, #0
|
||||
add r6, r1, #0
|
||||
add r7, r2, #0
|
||||
add r4, r3, #0
|
||||
bl sub_0201F7E4
|
||||
cmp r0, #0
|
||||
bne _0201F8EA
|
||||
mov r0, #0
|
||||
pop {r3, r4, r5, r6, r7, pc}
|
||||
_0201F8EA:
|
||||
str r4, [r0, #0xc]
|
||||
str r7, [r0, #0x10]
|
||||
str r6, [r0, #0x14]
|
||||
ldr r2, [r5, #0x2c]
|
||||
ldr r1, [r2, #0x14]
|
||||
cmp r1, #0
|
||||
beq _0201F90A
|
||||
ldr r1, [r2, #0xc]
|
||||
cmp r1, r4
|
||||
bhi _0201F904
|
||||
mov r1, #1
|
||||
str r1, [r0, #0x18]
|
||||
b _0201F90E
|
||||
_0201F904:
|
||||
mov r1, #0
|
||||
str r1, [r0, #0x18]
|
||||
b _0201F90E
|
||||
_0201F90A:
|
||||
mov r1, #0
|
||||
str r1, [r0, #0x18]
|
||||
_0201F90E:
|
||||
ldr r3, [r5, #0xc]
|
||||
add r2, r5, #4
|
||||
cmp r3, r2
|
||||
beq _0201F93A
|
||||
ldr r4, [r0, #0xc]
|
||||
_0201F918:
|
||||
ldr r1, [r3, #0xc]
|
||||
cmp r1, r4
|
||||
bls _0201F934
|
||||
ldr r1, [r3, #4]
|
||||
str r1, [r0, #4]
|
||||
str r3, [r0, #8]
|
||||
ldr r1, [r3, #4]
|
||||
str r0, [r1, #8]
|
||||
str r0, [r3, #4]
|
||||
ldr r1, [r5, #0x30]
|
||||
cmp r3, r1
|
||||
bne _0201F952
|
||||
str r0, [r5, #0x30]
|
||||
pop {r3, r4, r5, r6, r7, pc}
|
||||
_0201F934:
|
||||
ldr r3, [r3, #8]
|
||||
cmp r3, r2
|
||||
bne _0201F918
|
||||
_0201F93A:
|
||||
ldr r2, [r5, #0x30]
|
||||
add r1, r5, #4
|
||||
cmp r2, r1
|
||||
bne _0201F944
|
||||
str r0, [r5, #0x30]
|
||||
_0201F944:
|
||||
ldr r1, [r5, #8]
|
||||
str r1, [r0, #4]
|
||||
add r1, r5, #4
|
||||
str r1, [r0, #8]
|
||||
ldr r1, [r5, #8]
|
||||
str r0, [r1, #8]
|
||||
str r0, [r5, #8]
|
||||
_0201F952:
|
||||
pop {r3, r4, r5, r6, r7, pc}
|
||||
thumb_func_end sub_0201F8D4
|
||||
|
||||
thumb_func_start sub_0201F954
|
||||
sub_0201F954: ; 0x0201F954
|
||||
push {r4, lr}
|
||||
add r4, r0, #0
|
||||
ldr r0, [r4, #0x14]
|
||||
cmp r0, #0
|
||||
bne _0201F962
|
||||
bl GF_AssertFail
|
||||
_0201F962:
|
||||
ldr r1, [r4]
|
||||
ldr r0, [r1, #0x30]
|
||||
cmp r0, r4
|
||||
bne _0201F96E
|
||||
ldr r0, [r4, #8]
|
||||
str r0, [r1, #0x30]
|
||||
_0201F96E:
|
||||
ldr r1, [r4, #8]
|
||||
ldr r0, [r4, #4]
|
||||
str r1, [r0, #8]
|
||||
ldr r1, [r4, #4]
|
||||
ldr r0, [r4, #8]
|
||||
str r1, [r0, #4]
|
||||
ldr r0, [r4]
|
||||
add r1, r4, #0
|
||||
bl sub_0201F800
|
||||
pop {r4, pc}
|
||||
thumb_func_end sub_0201F954
|
||||
|
||||
thumb_func_start sub_0201F984
|
||||
sub_0201F984: ; 0x0201F984
|
||||
str r1, [r0, #0x14]
|
||||
bx lr
|
||||
thumb_func_end sub_0201F984
|
||||
|
||||
thumb_func_start sub_0201F988
|
||||
sub_0201F988: ; 0x0201F988
|
||||
ldr r0, [r0, #0x10]
|
||||
bx lr
|
||||
thumb_func_end sub_0201F988
|
||||
|
||||
thumb_func_start sub_0201F98C
|
||||
sub_0201F98C: ; 0x0201F98C
|
||||
ldr r0, [r0, #0xc]
|
||||
bx lr
|
||||
thumb_func_end sub_0201F98C
|
||||
|
||||
thumb_func_start sub_0201F990
|
||||
sub_0201F990: ; 0x0201F990
|
||||
push {r4, r5, r6, r7, lr}
|
||||
sub sp, #0x34
|
||||
add r6, r1, #0
|
||||
add r4, r0, #0
|
||||
add r5, r2, #0
|
||||
ldmia r6!, {r0, r1}
|
||||
add r2, sp, #0x1c
|
||||
stmia r2!, {r0, r1}
|
||||
ldr r0, [r6]
|
||||
add r7, r3, #0
|
||||
str r0, [r2]
|
||||
cmp r4, #0
|
||||
beq _0201F9AE
|
||||
add r4, #0x14
|
||||
b _0201F9B0
|
||||
_0201F9AE:
|
||||
mov r4, #0
|
||||
_0201F9B0:
|
||||
mov r0, #0x20
|
||||
ldrsh r0, [r4, r0]
|
||||
mov r1, #0x1a
|
||||
mov r2, #0x1c
|
||||
str r0, [sp]
|
||||
mov r0, #0x22
|
||||
ldrsh r0, [r4, r0]
|
||||
mov r3, #0x1e
|
||||
str r0, [sp, #4]
|
||||
add r0, sp, #0x28
|
||||
str r0, [sp, #8]
|
||||
mov r0, #0x18
|
||||
ldrsh r0, [r4, r0]
|
||||
ldrsh r1, [r4, r1]
|
||||
ldrsh r2, [r4, r2]
|
||||
ldrsh r3, [r4, r3]
|
||||
bl sub_0201FAA4
|
||||
add r0, sp, #0x1c
|
||||
bl NNS_G3dGlbSetBaseTrans
|
||||
ldr r1, _0201FA2C ; =NNS_G3dGlb + 0xBC
|
||||
add r0, r5, #0
|
||||
bl MI_Copy36B
|
||||
ldr r1, _0201FA30 ; =NNS_G3dGlb + 0x80
|
||||
mov r0, #0xa4
|
||||
ldr r2, [r1, #0x7c]
|
||||
bic r2, r0
|
||||
add r0, r7, #0
|
||||
str r2, [r1, #0x7c]
|
||||
bl NNS_G3dGlbSetBaseScale
|
||||
bl NNS_G3dGlbFlushP
|
||||
mov r1, #0
|
||||
mov r0, #0x11
|
||||
add r2, r1, #0
|
||||
bl NNS_G3dGeBufferOP_N
|
||||
ldr r0, [r4, #0x24]
|
||||
add r1, sp, #0x10
|
||||
str r0, [sp, #0x10]
|
||||
str r0, [sp, #0x14]
|
||||
str r0, [sp, #0x18]
|
||||
mov r0, #0x1b
|
||||
mov r2, #3
|
||||
bl NNS_G3dGeBufferOP_N
|
||||
add r0, sp, #0x28
|
||||
bl sub_0201FAC8
|
||||
add r4, r0, #0
|
||||
mov r2, #1
|
||||
mov r0, #0x12
|
||||
add r1, sp, #0xc
|
||||
str r2, [sp, #0xc]
|
||||
bl NNS_G3dGeBufferOP_N
|
||||
add r0, r4, #0
|
||||
add sp, #0x34
|
||||
pop {r4, r5, r6, r7, pc}
|
||||
.balign 4, 0
|
||||
_0201FA2C: .word NNS_G3dGlb + 0xBC
|
||||
_0201FA30: .word NNS_G3dGlb + 0x80
|
||||
thumb_func_end sub_0201F990
|
||||
|
||||
thumb_func_start sub_0201FA34
|
||||
sub_0201FA34: ; 0x0201FA34
|
||||
push {r3, r4, r5, lr}
|
||||
sub sp, #0x28
|
||||
add r5, r0, #0
|
||||
add r4, r1, #0
|
||||
mov r0, #2
|
||||
ldrsh r0, [r4, r0]
|
||||
str r0, [sp]
|
||||
mov r0, #4
|
||||
ldrsh r0, [r4, r0]
|
||||
str r0, [sp, #4]
|
||||
add r0, sp, #0x1c
|
||||
str r0, [sp, #8]
|
||||
mov r0, #0
|
||||
ldrsh r3, [r4, r0]
|
||||
add r1, r0, #0
|
||||
add r2, r0, #0
|
||||
bl sub_0201FAA4
|
||||
add r0, r5, #0
|
||||
bl NNS_G3dGlbSetBaseTrans
|
||||
bl NNS_G3dGlbFlushP
|
||||
mov r1, #0
|
||||
mov r0, #0x11
|
||||
add r2, r1, #0
|
||||
bl NNS_G3dGeBufferOP_N
|
||||
ldr r0, [r4, #0x10]
|
||||
lsl r2, r0, #0xc
|
||||
ldr r0, [r4, #0xc]
|
||||
lsl r1, r0, #0xc
|
||||
ldr r0, [r4, #8]
|
||||
lsl r0, r0, #0xc
|
||||
str r0, [sp, #0x10]
|
||||
str r1, [sp, #0x14]
|
||||
str r2, [sp, #0x18]
|
||||
mov r0, #0x1b
|
||||
add r1, sp, #0x10
|
||||
mov r2, #3
|
||||
bl NNS_G3dGeBufferOP_N
|
||||
add r0, sp, #0x1c
|
||||
bl sub_0201FAC8
|
||||
add r4, r0, #0
|
||||
mov r2, #1
|
||||
mov r0, #0x12
|
||||
add r1, sp, #0xc
|
||||
str r2, [sp, #0xc]
|
||||
bl NNS_G3dGeBufferOP_N
|
||||
add r0, r4, #0
|
||||
add sp, #0x28
|
||||
pop {r3, r4, r5, pc}
|
||||
.balign 4, 0
|
||||
thumb_func_end sub_0201FA34
|
||||
|
||||
thumb_func_start sub_0201FAA4
|
||||
sub_0201FAA4: ; 0x0201FAA4
|
||||
push {r3, r4}
|
||||
ldr r4, [sp, #0x10]
|
||||
strh r0, [r4]
|
||||
strh r1, [r4, #2]
|
||||
ldr r1, _0201FAC4 ; =0xFFFFFFF8
|
||||
strh r2, [r4, #4]
|
||||
strh r3, [r4, #6]
|
||||
add r1, sp
|
||||
mov r0, #0x10
|
||||
ldrsh r0, [r1, r0]
|
||||
strh r0, [r4, #8]
|
||||
mov r0, #0x14
|
||||
ldrsh r0, [r1, r0]
|
||||
strh r0, [r4, #0xa]
|
||||
pop {r3, r4}
|
||||
bx lr
|
||||
.balign 4, 0
|
||||
_0201FAC4: .word 0xFFFFFFF8
|
||||
thumb_func_end sub_0201FAA4
|
||||
|
||||
thumb_func_start sub_0201FAC8
|
||||
sub_0201FAC8: ; 0x0201FAC8
|
||||
push {r3, r4, lr}
|
||||
sub sp, #0xc
|
||||
add r4, r0, #0
|
||||
ldr r0, _0201FB18 ; =0x000030C1
|
||||
mov r2, #1
|
||||
str r0, [sp, #4]
|
||||
mov r0, #0x29
|
||||
add r1, sp, #4
|
||||
str r2, [sp, #8]
|
||||
bl NNS_G3dGeBufferOP_N
|
||||
mov r0, #0
|
||||
str r0, [sp]
|
||||
mov r0, #0x40
|
||||
add r1, sp, #0
|
||||
mov r2, #1
|
||||
bl NNS_G3dGeBufferOP_N
|
||||
mov r1, #0
|
||||
mov r0, #0x41
|
||||
add r2, r1, #0
|
||||
bl NNS_G3dGeBufferOP_N
|
||||
mov r0, #0x70
|
||||
add r1, r4, #0
|
||||
mov r2, #3
|
||||
bl NNS_G3dGeBufferOP_N
|
||||
bl NNS_G3dGeFlushBuffer
|
||||
add r4, sp, #8
|
||||
_0201FB06:
|
||||
add r0, r4, #0
|
||||
bl G3X_GetBoxTestResult
|
||||
cmp r0, #0
|
||||
bne _0201FB06
|
||||
ldr r0, [sp, #8]
|
||||
add sp, #0xc
|
||||
pop {r3, r4, pc}
|
||||
nop
|
||||
_0201FB18: .word 0x000030C1
|
||||
thumb_func_end sub_0201FAC8
|
||||
204
asm/unk_0201F990.s
Normal file
204
asm/unk_0201F990.s
Normal file
|
|
@ -0,0 +1,204 @@
|
|||
.include "asm/macros.inc"
|
||||
.include "unk_0201F990.inc"
|
||||
.include "global.inc"
|
||||
|
||||
.public NNS_G3dGlb
|
||||
.extern SysTaskQueue_InitTask
|
||||
.extern SysTaskQueue_InitHeap
|
||||
.extern SysTaskQueue_CreateTask
|
||||
.extern SysTaskQueue_DeleteTask
|
||||
|
||||
.text
|
||||
|
||||
thumb_func_start sub_0201F990
|
||||
sub_0201F990: ; 0x0201F990
|
||||
push {r4, r5, r6, r7, lr}
|
||||
sub sp, #0x34
|
||||
add r6, r1, #0
|
||||
add r4, r0, #0
|
||||
add r5, r2, #0
|
||||
ldmia r6!, {r0, r1}
|
||||
add r2, sp, #0x1c
|
||||
stmia r2!, {r0, r1}
|
||||
ldr r0, [r6]
|
||||
add r7, r3, #0
|
||||
str r0, [r2]
|
||||
cmp r4, #0
|
||||
beq _0201F9AE
|
||||
add r4, #0x14
|
||||
b _0201F9B0
|
||||
_0201F9AE:
|
||||
mov r4, #0
|
||||
_0201F9B0:
|
||||
mov r0, #0x20
|
||||
ldrsh r0, [r4, r0]
|
||||
mov r1, #0x1a
|
||||
mov r2, #0x1c
|
||||
str r0, [sp]
|
||||
mov r0, #0x22
|
||||
ldrsh r0, [r4, r0]
|
||||
mov r3, #0x1e
|
||||
str r0, [sp, #4]
|
||||
add r0, sp, #0x28
|
||||
str r0, [sp, #8]
|
||||
mov r0, #0x18
|
||||
ldrsh r0, [r4, r0]
|
||||
ldrsh r1, [r4, r1]
|
||||
ldrsh r2, [r4, r2]
|
||||
ldrsh r3, [r4, r3]
|
||||
bl sub_0201FAA4
|
||||
add r0, sp, #0x1c
|
||||
bl NNS_G3dGlbSetBaseTrans
|
||||
ldr r1, _0201FA2C ; =NNS_G3dGlb + 0xBC
|
||||
add r0, r5, #0
|
||||
bl MI_Copy36B
|
||||
ldr r1, _0201FA30 ; =NNS_G3dGlb + 0x80
|
||||
mov r0, #0xa4
|
||||
ldr r2, [r1, #0x7c]
|
||||
bic r2, r0
|
||||
add r0, r7, #0
|
||||
str r2, [r1, #0x7c]
|
||||
bl NNS_G3dGlbSetBaseScale
|
||||
bl NNS_G3dGlbFlushP
|
||||
mov r1, #0
|
||||
mov r0, #0x11
|
||||
add r2, r1, #0
|
||||
bl NNS_G3dGeBufferOP_N
|
||||
ldr r0, [r4, #0x24]
|
||||
add r1, sp, #0x10
|
||||
str r0, [sp, #0x10]
|
||||
str r0, [sp, #0x14]
|
||||
str r0, [sp, #0x18]
|
||||
mov r0, #0x1b
|
||||
mov r2, #3
|
||||
bl NNS_G3dGeBufferOP_N
|
||||
add r0, sp, #0x28
|
||||
bl sub_0201FAC8
|
||||
add r4, r0, #0
|
||||
mov r2, #1
|
||||
mov r0, #0x12
|
||||
add r1, sp, #0xc
|
||||
str r2, [sp, #0xc]
|
||||
bl NNS_G3dGeBufferOP_N
|
||||
add r0, r4, #0
|
||||
add sp, #0x34
|
||||
pop {r4, r5, r6, r7, pc}
|
||||
.balign 4, 0
|
||||
_0201FA2C: .word NNS_G3dGlb + 0xBC
|
||||
_0201FA30: .word NNS_G3dGlb + 0x80
|
||||
thumb_func_end sub_0201F990
|
||||
|
||||
thumb_func_start sub_0201FA34
|
||||
sub_0201FA34: ; 0x0201FA34
|
||||
push {r3, r4, r5, lr}
|
||||
sub sp, #0x28
|
||||
add r5, r0, #0
|
||||
add r4, r1, #0
|
||||
mov r0, #2
|
||||
ldrsh r0, [r4, r0]
|
||||
str r0, [sp]
|
||||
mov r0, #4
|
||||
ldrsh r0, [r4, r0]
|
||||
str r0, [sp, #4]
|
||||
add r0, sp, #0x1c
|
||||
str r0, [sp, #8]
|
||||
mov r0, #0
|
||||
ldrsh r3, [r4, r0]
|
||||
add r1, r0, #0
|
||||
add r2, r0, #0
|
||||
bl sub_0201FAA4
|
||||
add r0, r5, #0
|
||||
bl NNS_G3dGlbSetBaseTrans
|
||||
bl NNS_G3dGlbFlushP
|
||||
mov r1, #0
|
||||
mov r0, #0x11
|
||||
add r2, r1, #0
|
||||
bl NNS_G3dGeBufferOP_N
|
||||
ldr r0, [r4, #0x10]
|
||||
lsl r2, r0, #0xc
|
||||
ldr r0, [r4, #0xc]
|
||||
lsl r1, r0, #0xc
|
||||
ldr r0, [r4, #8]
|
||||
lsl r0, r0, #0xc
|
||||
str r0, [sp, #0x10]
|
||||
str r1, [sp, #0x14]
|
||||
str r2, [sp, #0x18]
|
||||
mov r0, #0x1b
|
||||
add r1, sp, #0x10
|
||||
mov r2, #3
|
||||
bl NNS_G3dGeBufferOP_N
|
||||
add r0, sp, #0x1c
|
||||
bl sub_0201FAC8
|
||||
add r4, r0, #0
|
||||
mov r2, #1
|
||||
mov r0, #0x12
|
||||
add r1, sp, #0xc
|
||||
str r2, [sp, #0xc]
|
||||
bl NNS_G3dGeBufferOP_N
|
||||
add r0, r4, #0
|
||||
add sp, #0x28
|
||||
pop {r3, r4, r5, pc}
|
||||
.balign 4, 0
|
||||
thumb_func_end sub_0201FA34
|
||||
|
||||
thumb_func_start sub_0201FAA4
|
||||
sub_0201FAA4: ; 0x0201FAA4
|
||||
push {r3, r4}
|
||||
ldr r4, [sp, #0x10]
|
||||
strh r0, [r4]
|
||||
strh r1, [r4, #2]
|
||||
ldr r1, _0201FAC4 ; =0xFFFFFFF8
|
||||
strh r2, [r4, #4]
|
||||
strh r3, [r4, #6]
|
||||
add r1, sp
|
||||
mov r0, #0x10
|
||||
ldrsh r0, [r1, r0]
|
||||
strh r0, [r4, #8]
|
||||
mov r0, #0x14
|
||||
ldrsh r0, [r1, r0]
|
||||
strh r0, [r4, #0xa]
|
||||
pop {r3, r4}
|
||||
bx lr
|
||||
.balign 4, 0
|
||||
_0201FAC4: .word 0xFFFFFFF8
|
||||
thumb_func_end sub_0201FAA4
|
||||
|
||||
thumb_func_start sub_0201FAC8
|
||||
sub_0201FAC8: ; 0x0201FAC8
|
||||
push {r3, r4, lr}
|
||||
sub sp, #0xc
|
||||
add r4, r0, #0
|
||||
ldr r0, _0201FB18 ; =0x000030C1
|
||||
mov r2, #1
|
||||
str r0, [sp, #4]
|
||||
mov r0, #0x29
|
||||
add r1, sp, #4
|
||||
str r2, [sp, #8]
|
||||
bl NNS_G3dGeBufferOP_N
|
||||
mov r0, #0
|
||||
str r0, [sp]
|
||||
mov r0, #0x40
|
||||
add r1, sp, #0
|
||||
mov r2, #1
|
||||
bl NNS_G3dGeBufferOP_N
|
||||
mov r1, #0
|
||||
mov r0, #0x41
|
||||
add r2, r1, #0
|
||||
bl NNS_G3dGeBufferOP_N
|
||||
mov r0, #0x70
|
||||
add r1, r4, #0
|
||||
mov r2, #3
|
||||
bl NNS_G3dGeBufferOP_N
|
||||
bl NNS_G3dGeFlushBuffer
|
||||
add r4, sp, #8
|
||||
_0201FB06:
|
||||
add r0, r4, #0
|
||||
bl G3X_GetBoxTestResult
|
||||
cmp r0, #0
|
||||
bne _0201FB06
|
||||
ldr r0, [sp, #8]
|
||||
add sp, #0xc
|
||||
pop {r3, r4, pc}
|
||||
nop
|
||||
_0201FB18: .word 0x000030C1
|
||||
thumb_func_end sub_0201FAC8
|
||||
|
|
@ -208,7 +208,7 @@ _0206225C: .word MovementScriptMachine
|
|||
thumb_func_start EventObjectMovementMan_IsFinish
|
||||
EventObjectMovementMan_IsFinish: ; 0x02062260
|
||||
push {r3, lr}
|
||||
bl sub_0201F988
|
||||
bl SysTask_GetData
|
||||
ldr r0, [r0, #4]
|
||||
pop {r3, pc}
|
||||
.balign 4, 0
|
||||
|
|
@ -218,7 +218,7 @@ EventObjectMovementMan_IsFinish: ; 0x02062260
|
|||
EventObjectMovementMan_Delete: ; 0x0206226C
|
||||
push {r3, r4, r5, lr}
|
||||
add r5, r0, #0
|
||||
bl sub_0201F988
|
||||
bl SysTask_GetData
|
||||
add r4, r0, #0
|
||||
ldr r0, [r4, #0xc]
|
||||
bl MapObject_IsMovementPaused
|
||||
|
|
|
|||
|
|
@ -2620,7 +2620,7 @@ _02064608: .word sub_02064630
|
|||
thumb_func_start sub_0206460C
|
||||
sub_0206460C: ; 0x0206460C
|
||||
push {r3, lr}
|
||||
bl sub_0201F988
|
||||
bl SysTask_GetData
|
||||
ldr r0, [r0, #4]
|
||||
pop {r3, pc}
|
||||
.balign 4, 0
|
||||
|
|
@ -2630,7 +2630,7 @@ sub_0206460C: ; 0x0206460C
|
|||
sub_02064618: ; 0x02064618
|
||||
push {r4, lr}
|
||||
add r4, r0, #0
|
||||
bl sub_0201F988
|
||||
bl SysTask_GetData
|
||||
add r1, r0, #0
|
||||
mov r0, #4
|
||||
bl FreeToHeapExplicit
|
||||
|
|
|
|||
|
|
@ -2203,7 +2203,7 @@ _02083AFE:
|
|||
str r0, [r4, r1]
|
||||
add r0, r1, #0
|
||||
ldr r0, [r4, r0]
|
||||
bl sub_0201F988
|
||||
bl SysTask_GetData
|
||||
mov r1, #0xd2
|
||||
lsl r1, r1, #2
|
||||
ldr r1, [r6, r1]
|
||||
|
|
@ -2583,7 +2583,7 @@ _02083DE6:
|
|||
mov r2, #0
|
||||
mov r3, #0x12
|
||||
bl CreateSysTaskAndEnvironment
|
||||
bl sub_0201F988
|
||||
bl SysTask_GetData
|
||||
add r7, r0, #0
|
||||
ldr r0, [sp, #0x48]
|
||||
ldr r0, [r0, #0x1c]
|
||||
|
|
|
|||
|
|
@ -3,7 +3,7 @@
|
|||
|
||||
#include "battle/battle_setup.h"
|
||||
#include "script.h"
|
||||
#include "unk_0201F79C.h"
|
||||
#include "sys_task.h"
|
||||
#include "unk_0203BC10.h"
|
||||
|
||||
struct FieldLongWarpTaskData;
|
||||
|
|
@ -35,9 +35,9 @@ typedef struct UnkStruct_Ov02_0224E4EC {
|
|||
u8 *unk20; // points to fieldSystem->unk_111
|
||||
} UnkStruct_Ov02_0224E4EC;
|
||||
|
||||
UNK_0201F79C_Sub *ov02_0224B418(FieldSystem *fieldSystem, int gender);
|
||||
BOOL ov02_0224B43C(UNK_0201F79C_Sub *unk);
|
||||
void ov02_0224B448(UNK_0201F79C_Sub *unk);
|
||||
SysTask *ov02_0224B418(FieldSystem *fieldSystem, int gender);
|
||||
BOOL ov02_0224B43C(SysTask *unk);
|
||||
void ov02_0224B448(SysTask *unk);
|
||||
struct FieldLongWarpTaskData *CreateFieldEscapeRopeTaskEnv(FieldSystem *fieldSystem, HeapID heapId);
|
||||
struct FieldLongWarpTaskData *CreateFieldTeleportTaskEnv(FieldSystem *fieldSystem, Pokemon *mon, u8 slotno, HeapID heapId);
|
||||
struct FieldLongWarpTaskData *CreateFieldDigTaskEnv(FieldSystem *fieldSystem, Pokemon *mon, u8 slotno, HeapID heapId);
|
||||
|
|
|
|||
40
include/sys_task.h
Normal file
40
include/sys_task.h
Normal file
|
|
@ -0,0 +1,40 @@
|
|||
#ifndef POKEHEARTGOLD_SYS_TASK_H
|
||||
#define POKEHEARTGOLD_SYS_TASK_H
|
||||
|
||||
#include "global.h"
|
||||
|
||||
typedef struct SysTask SysTask;
|
||||
typedef struct SysTaskQueue SysTaskQueue;
|
||||
typedef void (*SysTaskFunc)(SysTask *task, void *data);
|
||||
|
||||
struct SysTask {
|
||||
SysTaskQueue *queue;
|
||||
SysTask *prev;
|
||||
SysTask *next;
|
||||
u32 priority;
|
||||
void *data;
|
||||
SysTaskFunc func;
|
||||
u32 runNow;
|
||||
};
|
||||
|
||||
struct SysTaskQueue {
|
||||
u16 limit;
|
||||
u16 activeCount;
|
||||
SysTask headSentinel;
|
||||
SysTask **taskStack;
|
||||
SysTask *taskList;
|
||||
BOOL isInsertingTask;
|
||||
SysTask *runningTask;
|
||||
SysTask *nextTask;
|
||||
};
|
||||
|
||||
void SysTaskQueue_RunTasks(SysTaskQueue *a0);
|
||||
u32 SysTaskQueue_GetArenaSize(u32 num);
|
||||
SysTaskQueue *SysTaskQueue_PlacementNew(u32 num, void *p_mem);
|
||||
void *SysTask_GetData(SysTask *task);
|
||||
SysTask *SysTaskQueue_InsertTask(SysTaskQueue *queue, SysTaskFunc func, void *arg, u32 priority);
|
||||
void SysTask_SetFunc(SysTask *task, SysTaskFunc func);
|
||||
BOOL SysTask_Delete(SysTask *task);
|
||||
u32 SysTask_GetPriority(SysTask *task);
|
||||
|
||||
#endif // POKEHEARTGOLD_SYS_TASK_H
|
||||
|
|
@ -1,7 +1,7 @@
|
|||
#ifndef POKEHEARTGOLD_SYSTEM_H
|
||||
#define POKEHEARTGOLD_SYSTEM_H
|
||||
|
||||
#include "unk_0201F79C.h"
|
||||
#include "sys_task.h"
|
||||
#include "heap.h"
|
||||
|
||||
#define BUTTONMODE_NORMAL 0
|
||||
|
|
|
|||
|
|
@ -1,9 +1,7 @@
|
|||
#ifndef POKEHEARTGOLD_UNK_0200E320_H
|
||||
#define POKEHEARTGOLD_UNK_0200E320_H
|
||||
|
||||
typedef struct SysTask SysTask;
|
||||
typedef void (*SysTaskFunc)(SysTask *task, void *data);
|
||||
typedef void (*UnkSysTaskFunc)(int a0, void *data, int a2);
|
||||
#include "sys_task.h"
|
||||
|
||||
SysTask *CreateSysTask(SysTaskFunc func, void *data, int priority);
|
||||
SysTask *sub_0200E33C(SysTaskFunc func, void *data, int priority);
|
||||
|
|
|
|||
|
|
@ -1,14 +0,0 @@
|
|||
#ifndef POKEHEARTGOLD_UNK_0201F79C_H
|
||||
#define POKEHEARTGOLD_UNK_0201F79C_H
|
||||
|
||||
#include "unk_0200E320.h"
|
||||
|
||||
typedef struct UnkStruct_0201F79C_Sub UNK_0201F79C_Sub;
|
||||
typedef struct UnkStruct_0201F79C SysTaskQueue;
|
||||
|
||||
void sub_0201F880(SysTaskQueue *a0);
|
||||
u32 sub_0201F82C(u32 num);
|
||||
SysTaskQueue *sub_0201F834(u32 num, void *p_mem);
|
||||
void *sub_0201F988(SysTask *task);
|
||||
|
||||
#endif //POKEHEARTGOLD_UNK_0201F79C_H
|
||||
3
main.lsf
3
main.lsf
|
|
@ -65,7 +65,8 @@ Static main
|
|||
Object src/heap.o
|
||||
Object src/bg_window.o
|
||||
Object asm/unk_0201F4C4.o
|
||||
Object asm/unk_0201F79C.o
|
||||
Object src/sys_task.o
|
||||
Object asm/unk_0201F990.o
|
||||
Object src/string_control_code.o
|
||||
Object src/math_util.o
|
||||
Object src/text.o
|
||||
|
|
|
|||
|
|
@ -3,7 +3,7 @@
|
|||
#include "battle/battle_system.h"
|
||||
#include "battle/overlay_12_02266024.h"
|
||||
#include "heap.h"
|
||||
#include "unk_0201F79C.h"
|
||||
#include "sys_task.h"
|
||||
#include "unk_02005D10.h"
|
||||
|
||||
static void ov12_0226BF04(SysTask *task, void *data);
|
||||
|
|
@ -17,7 +17,7 @@ SysTask *ov12_0226BEC4(BattleSystem *bsys) {
|
|||
}
|
||||
|
||||
void ov12_0226BEF0(SysTask *task) {
|
||||
FreeToHeap(sub_0201F988(task));
|
||||
FreeToHeap(SysTask_GetData(task));
|
||||
DestroySysTask(task);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -29,7 +29,7 @@
|
|||
#include "overlay_01.h"
|
||||
#include "overlay_02.h"
|
||||
#include "constants/maps.h"
|
||||
#include "unk_0201F79C.h"
|
||||
#include "sys_task.h"
|
||||
#include "unk_02055418.h"
|
||||
|
||||
struct UnkTaskEnv_02053688 {
|
||||
|
|
@ -40,7 +40,7 @@ struct UnkTaskEnv_02053688 {
|
|||
|
||||
struct UnkTaskEnv_02053950 {
|
||||
int unk0;
|
||||
UNK_0201F79C_Sub *unk4;
|
||||
SysTask *unk4;
|
||||
Location location;
|
||||
u8 padding[4];
|
||||
};
|
||||
|
|
@ -48,7 +48,7 @@ struct UnkTaskEnv_02053950 {
|
|||
struct UnkTaskEnv_02053B3C {
|
||||
int unk0;
|
||||
int unk4;
|
||||
UNK_0201F79C_Sub *unk8;
|
||||
SysTask *unk8;
|
||||
Location location;
|
||||
};
|
||||
|
||||
|
|
|
|||
10
src/main.c
10
src/main.c
|
|
@ -15,7 +15,7 @@
|
|||
#include "unk_0200B150.h"
|
||||
#include "unk_02018380.h"
|
||||
#include "unk_02035900.h"
|
||||
#include "unk_0201F79C.h"
|
||||
#include "sys_task.h"
|
||||
#include "communication_error.h"
|
||||
#include "math_util.h"
|
||||
#include "unk_020210A0.h"
|
||||
|
|
@ -106,8 +106,8 @@ void NitroMain(void) {
|
|||
OS_GetTick();
|
||||
Main_RunOverlayManager();
|
||||
OS_GetTick();
|
||||
sub_0201F880(gSystem.unk18);
|
||||
sub_0201F880(gSystem.unk24);
|
||||
SysTaskQueue_RunTasks(gSystem.unk18);
|
||||
SysTaskQueue_RunTasks(gSystem.unk24);
|
||||
if (!gSystem.unk30) {
|
||||
OS_WaitIrq(TRUE, OS_IE_VBLANK);
|
||||
gSystem.vblankCounter++;
|
||||
|
|
@ -116,7 +116,7 @@ void NitroMain(void) {
|
|||
GF_RTC_UpdateOnFrame();
|
||||
sub_020183B0();
|
||||
sub_02026E60();
|
||||
sub_0201F880(gSystem.unk24);
|
||||
SysTaskQueue_RunTasks(gSystem.unk24);
|
||||
OS_WaitIrq(TRUE, OS_IE_VBLANK);
|
||||
gSystem.vblankCounter++;
|
||||
gSystem.unk30 = 0;
|
||||
|
|
@ -126,7 +126,7 @@ void NitroMain(void) {
|
|||
gSystem.vBlankIntr(gSystem.vBlankIntrArg);
|
||||
}
|
||||
DoSoundUpdateFrame();
|
||||
sub_0201F880(gSystem.unk20);
|
||||
SysTaskQueue_RunTasks(gSystem.unk20);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
165
src/sys_task.c
Normal file
165
src/sys_task.c
Normal file
|
|
@ -0,0 +1,165 @@
|
|||
#include "global.h"
|
||||
#include "sys_task.h"
|
||||
|
||||
void SysTaskQueue_InitTask(SysTaskQueue *queue, SysTask *task);
|
||||
void SysTaskQueue_InitStack(SysTaskQueue *queue);
|
||||
SysTask *SysTaskQueue_CreateTask(SysTaskQueue *queue);
|
||||
BOOL SysTaskQueue_DeleteTask(SysTaskQueue *queue, SysTask *task);
|
||||
void SysTaskQueue_Init(SysTaskQueue *queue);
|
||||
SysTask *SysTaskQueue_InsertTaskCore(SysTaskQueue *queue, SysTaskFunc func, void *data, u32 priority);
|
||||
|
||||
void SysTaskQueue_InitTask(SysTaskQueue *queue, SysTask *task) {
|
||||
task->queue = queue;
|
||||
task->prev = task->next = &queue->headSentinel;
|
||||
task->priority = 0;
|
||||
task->data = NULL;
|
||||
task->func = NULL;
|
||||
}
|
||||
|
||||
void SysTaskQueue_InitStack(SysTaskQueue *queue) {
|
||||
for (int i = 0; i < queue->limit; ++i) {
|
||||
SysTaskQueue_InitTask(queue, &queue->taskList[i]);
|
||||
queue->taskStack[i] = &queue->taskList[i];
|
||||
}
|
||||
queue->activeCount = 0;
|
||||
}
|
||||
|
||||
SysTask *SysTaskQueue_CreateTask(SysTaskQueue *queue) {
|
||||
if (queue->activeCount == queue->limit) {
|
||||
return NULL;
|
||||
}
|
||||
SysTask *ret = queue->taskStack[queue->activeCount];
|
||||
++queue->activeCount;
|
||||
return ret;
|
||||
}
|
||||
|
||||
BOOL SysTaskQueue_DeleteTask(SysTaskQueue *queue, SysTask *task) {
|
||||
if (queue->activeCount == 0) {
|
||||
return FALSE;
|
||||
}
|
||||
task->queue = queue;
|
||||
task->prev = task->next = &queue->headSentinel;
|
||||
task->priority = 0;
|
||||
task->data = NULL;
|
||||
task->func = NULL;
|
||||
--queue->activeCount;
|
||||
queue->taskStack[queue->activeCount] = task;
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
u32 SysTaskQueue_GetArenaSize(u32 num) {
|
||||
return num * (sizeof(SysTask) + sizeof(SysTask *)) + sizeof(SysTaskQueue);
|
||||
}
|
||||
|
||||
SysTaskQueue *SysTaskQueue_PlacementNew(u32 num, void *p_mem) {
|
||||
GF_ASSERT(p_mem != NULL);
|
||||
|
||||
SysTaskQueue *ret = (SysTaskQueue *)p_mem;
|
||||
SysTask **taskStack = (SysTask **)((char *)p_mem + sizeof(SysTaskQueue));
|
||||
ret->taskStack = taskStack;
|
||||
SysTask *taskList = (SysTask *)((char *)taskStack + num * sizeof(SysTask *));
|
||||
ret->taskList = taskList;
|
||||
ret->limit = num;
|
||||
ret->activeCount = 0;
|
||||
ret->isInsertingTask = 0;
|
||||
SysTaskQueue_Init(ret);
|
||||
return ret;
|
||||
}
|
||||
|
||||
void SysTaskQueue_Init(SysTaskQueue *queue) {
|
||||
SysTaskQueue_InitStack(queue);
|
||||
queue->headSentinel.queue = queue;
|
||||
queue->headSentinel.prev = queue->headSentinel.next = &queue->headSentinel;
|
||||
queue->headSentinel.priority = 0;
|
||||
queue->headSentinel.data = NULL;
|
||||
queue->headSentinel.func = NULL;
|
||||
queue->runningTask = queue->headSentinel.next;
|
||||
}
|
||||
|
||||
void SysTaskQueue_RunTasks(SysTaskQueue *queue) {
|
||||
if (!queue->isInsertingTask) {
|
||||
queue->runningTask = queue->headSentinel.next;
|
||||
while (queue->runningTask != &queue->headSentinel) {
|
||||
queue->nextTask = queue->runningTask->next;
|
||||
if (!queue->runningTask->runNow) {
|
||||
if (queue->runningTask->func != NULL) {
|
||||
queue->runningTask->func(queue->runningTask, queue->runningTask->data);
|
||||
}
|
||||
} else {
|
||||
queue->runningTask->runNow = FALSE;
|
||||
}
|
||||
queue->runningTask = queue->nextTask;
|
||||
}
|
||||
queue->runningTask->func = NULL;
|
||||
}
|
||||
}
|
||||
|
||||
SysTask *SysTaskQueue_InsertTask(SysTaskQueue *queue, SysTaskFunc func, void *data, u32 priority) {
|
||||
queue->isInsertingTask = TRUE;
|
||||
SysTask *ret = SysTaskQueue_InsertTaskCore(queue, func, data, priority);
|
||||
queue->isInsertingTask = FALSE;
|
||||
return ret;
|
||||
}
|
||||
|
||||
SysTask *SysTaskQueue_InsertTaskCore(SysTaskQueue *queue, SysTaskFunc func, void *data, u32 priority) {
|
||||
SysTask *ret = SysTaskQueue_CreateTask(queue);
|
||||
SysTask *tail;
|
||||
if (ret == NULL) {
|
||||
return NULL;
|
||||
}
|
||||
ret->priority = priority;
|
||||
ret->data = data;
|
||||
ret->func = func;
|
||||
|
||||
if (queue->runningTask->func != NULL) {
|
||||
if (queue->runningTask->priority <= priority) {
|
||||
ret->runNow = TRUE;
|
||||
} else {
|
||||
ret->runNow = FALSE;
|
||||
}
|
||||
} else {
|
||||
ret->runNow = FALSE;
|
||||
}
|
||||
for (tail = queue->headSentinel.next; tail != &queue->headSentinel; tail = tail->next) {
|
||||
if (tail->priority > ret->priority) {
|
||||
ret->prev = tail->prev;
|
||||
ret->next = tail;
|
||||
tail->prev->next = ret;
|
||||
tail->prev = ret;
|
||||
if (tail == queue->nextTask) {
|
||||
queue->nextTask = ret;
|
||||
}
|
||||
return ret;
|
||||
}
|
||||
}
|
||||
if (queue->nextTask == &queue->headSentinel) {
|
||||
queue->nextTask = ret;
|
||||
}
|
||||
ret->prev = queue->headSentinel.prev;
|
||||
ret->next = &queue->headSentinel;
|
||||
queue->headSentinel.prev->next = ret;
|
||||
queue->headSentinel.prev = ret;
|
||||
return ret;
|
||||
}
|
||||
|
||||
BOOL SysTask_Delete(SysTask *task) {
|
||||
GF_ASSERT(task->func != NULL);
|
||||
if (task->queue->nextTask == task) {
|
||||
task->queue->nextTask = task->next;
|
||||
}
|
||||
task->prev->next = task->next;
|
||||
task->next->prev = task->prev;
|
||||
return SysTaskQueue_DeleteTask(task->queue, task);
|
||||
}
|
||||
|
||||
void SysTask_SetFunc(SysTask *task, SysTaskFunc func) {
|
||||
task->func = func;
|
||||
}
|
||||
|
||||
void *SysTask_GetData(SysTask *task) {
|
||||
return task->data;
|
||||
}
|
||||
|
||||
u32 SysTask_GetPriority(SysTask *task) {
|
||||
return task->priority;
|
||||
}
|
||||
|
|
@ -1,6 +1,6 @@
|
|||
#include "global.h"
|
||||
#include "systask_environment.h"
|
||||
#include "unk_0201F79C.h"
|
||||
#include "sys_task.h"
|
||||
|
||||
SysTask *CreateSysTaskAndEnvironment(SysTaskFunc function, u32 environmentSize, u32 priority, HeapID heapId) {
|
||||
void *environment;
|
||||
|
|
@ -19,7 +19,7 @@ SysTask *CreateSysTaskAndEnvironment(SysTaskFunc function, u32 environmentSize,
|
|||
}
|
||||
|
||||
void DestroySysTaskAndEnvironment(SysTask *task) {
|
||||
void *environment = sub_0201F988(task);
|
||||
void *environment = SysTask_GetData(task);
|
||||
if (environment != NULL) {
|
||||
FreeToHeap(environment);
|
||||
}
|
||||
|
|
|
|||
10
src/system.c
10
src/system.c
|
|
@ -18,7 +18,7 @@ void sub_0201A5E8(void);
|
|||
void sub_0201A08C(void) {
|
||||
OS_SetIrqCheckFlag(OS_IE_VBLANK);
|
||||
MI_WaitDma(GX_DEFAULT_DMAID);
|
||||
sub_0201F880(gSystem.unk1C);
|
||||
SysTaskQueue_RunTasks(gSystem.unk1C);
|
||||
gSystem.unk30++;
|
||||
}
|
||||
|
||||
|
|
@ -118,10 +118,10 @@ void InitSystemForTheGame(void) {
|
|||
GX_Init();
|
||||
OS_InitTick();
|
||||
sub_0201A1B4();
|
||||
gSystem.unk18 = sub_0201F834(160, OS_AllocFromArenaLo(OS_ARENA_MAIN, sub_0201F82C(160), 4));
|
||||
gSystem.unk1C = sub_0201F834(32, OS_AllocFromArenaLo(OS_ARENA_MAIN, sub_0201F82C(32), 4));
|
||||
gSystem.unk20 = sub_0201F834(32, OS_AllocFromArenaLo(OS_ARENA_MAIN, sub_0201F82C(32), 4));
|
||||
gSystem.unk24 = sub_0201F834(4, OS_AllocFromArenaLo(OS_ARENA_MAIN, sub_0201F82C(4), 4));
|
||||
gSystem.unk18 = SysTaskQueue_PlacementNew(160, OS_AllocFromArenaLo(OS_ARENA_MAIN, SysTaskQueue_GetArenaSize(160), 4));
|
||||
gSystem.unk1C = SysTaskQueue_PlacementNew(32, OS_AllocFromArenaLo(OS_ARENA_MAIN, SysTaskQueue_GetArenaSize(32), 4));
|
||||
gSystem.unk20 = SysTaskQueue_PlacementNew(32, OS_AllocFromArenaLo(OS_ARENA_MAIN, SysTaskQueue_GetArenaSize(32), 4));
|
||||
gSystem.unk24 = SysTaskQueue_PlacementNew(4, OS_AllocFromArenaLo(OS_ARENA_MAIN, SysTaskQueue_GetArenaSize(4), 4));
|
||||
GX_DispOff();
|
||||
GXS_DispOff();
|
||||
GX_SetDispSelect(GX_DISP_SELECT_MAIN_SUB);
|
||||
|
|
|
|||
|
|
@ -2,7 +2,7 @@
|
|||
#include "font.h"
|
||||
#include "gf_gfx_loader.h"
|
||||
#include "text.h"
|
||||
#include "unk_0201F79C.h"
|
||||
#include "sys_task.h"
|
||||
|
||||
static const struct FontInfo *sFonts;
|
||||
|
||||
|
|
@ -47,7 +47,7 @@ static void DestroyTextPrinterSysTask(u8 printerId) {
|
|||
return;
|
||||
}
|
||||
|
||||
TextPrinter *printer = sub_0201F988(sTextPrinterTasks[printerId]);
|
||||
TextPrinter *printer = SysTask_GetData(sTextPrinterTasks[printerId]);
|
||||
if (printer != NULL) {
|
||||
sub_02020548(printer);
|
||||
FreeToHeap(printer);
|
||||
|
|
|
|||
|
|
@ -15,7 +15,7 @@
|
|||
#include "unk_02005D10.h"
|
||||
#include "unk_0200E320.h"
|
||||
#include "yes_no_prompt.h"
|
||||
#include "unk_0201F79C.h"
|
||||
#include "sys_task.h"
|
||||
#include "unk_020183F0.h"
|
||||
|
||||
FS_EXTERN_OVERLAY(OVY_123);
|
||||
|
|
@ -189,7 +189,7 @@ SysTask *ov30_0225D520(BgConfig *bgConfig, void* a1, FieldSystem *fieldSystem, v
|
|||
GfGfx_EngineBTogglePlanes(GX_PLANEMASK_OBJ, GF_PLANE_TOGGLE_OFF);
|
||||
|
||||
SysTask *task = CreateSysTaskAndEnvironment((SysTaskFunc)ov30_0225D700, sizeof(TouchSaveAppData), 10, HEAP_ID_8);
|
||||
TouchSaveAppData *data = sub_0201F988(task);
|
||||
TouchSaveAppData *data = SysTask_GetData(task);
|
||||
data->task = task;
|
||||
data->unk0 = 0;
|
||||
data->bgConfig = bgConfig;
|
||||
|
|
@ -213,7 +213,7 @@ SysTask *ov30_0225D520(BgConfig *bgConfig, void* a1, FieldSystem *fieldSystem, v
|
|||
}
|
||||
|
||||
void ov30_0225D64C(BgConfig *bgConfig, SysTask *task) {
|
||||
TouchSaveAppData *data = sub_0201F988(task);
|
||||
TouchSaveAppData *data = SysTask_GetData(task);
|
||||
|
||||
FS_LoadOverlay(MI_PROCESSOR_ARM9, FS_OVERLAY_ID(OVY_123));
|
||||
|
||||
|
|
|
|||
|
|
@ -4,6 +4,7 @@
|
|||
#include "gf_gfx_loader.h"
|
||||
#include "system.h"
|
||||
#include "unk_02005D10.h"
|
||||
#include "unk_0200E320.h"
|
||||
|
||||
struct UnkStruct_02016C28 {
|
||||
BgConfig *bgConfig;
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user