Decompile unk_02007200 -> systask_environment

This commit is contained in:
tgsm 2023-10-17 11:20:12 -05:00
parent e3a88531d5
commit a891862aca
45 changed files with 139 additions and 150 deletions

View File

@ -2,8 +2,8 @@
#pragma once
.public UnloadOverlayByID
.public HandleLoadOverlay
.public sub_02007200
.public sub_02007234
.public CreateSysTaskAndEnvironment
.public DestroySysTaskAndEnvironment
.public NARC_New
.public NARC_Delete
.public GfGfxLoader_LoadCharDataFromOpenNarc

View File

@ -1,7 +1,7 @@
#include <nitro/fs/overlay.h>
#pragma once
.public sub_02007200
.public sub_02007234
.public CreateSysTaskAndEnvironment
.public DestroySysTaskAndEnvironment
.public sub_0200E374
.public DestroySysTask
.public sub_0201F988

View File

@ -2,8 +2,8 @@
#pragma once
.public UnloadOverlayByID
.public HandleLoadOverlay
.public sub_02007200
.public sub_02007234
.public CreateSysTaskAndEnvironment
.public DestroySysTaskAndEnvironment
.public BeginNormalPaletteFade
.public IsPaletteFadeFinished
.public sub_0201F988

View File

@ -13,8 +13,8 @@
.public sub_0200398C
.public sub_02003B74
.public PlaySE
.public sub_02007200
.public sub_02007234
.public CreateSysTaskAndEnvironment
.public DestroySysTaskAndEnvironment
.public NARC_New
.public NARC_Delete
.public NARC_AllocAndReadWholeMember

View File

@ -10,8 +10,8 @@
.public sub_02003370
.public sub_02003B44
.public PlaySE
.public sub_02007200
.public sub_02007234
.public CreateSysTaskAndEnvironment
.public DestroySysTaskAndEnvironment
.public AllocAndReadWholeNarcMemberByIdPair
.public NARC_New
.public NARC_Delete

View File

@ -9,8 +9,8 @@
.public sub_02006118
.public StopSE
.public PlayCry
.public sub_02007200
.public sub_02007234
.public CreateSysTaskAndEnvironment
.public DestroySysTaskAndEnvironment
.public AllocAndReadWholeNarcMemberByIdPair
.public NARC_New
.public NARC_Delete

View File

@ -5,8 +5,8 @@
.public FontID_Release
.public FontID_String_GetWidth
.public PlaySE
.public sub_02007200
.public sub_02007234
.public CreateSysTaskAndEnvironment
.public DestroySysTaskAndEnvironment
.public NARC_New
.public NARC_Delete
.public GfGfxLoader_LoadCharData

View File

@ -4,8 +4,8 @@
.public FontID_Release
.public PlaySE_SetPitch
.public StopSE
.public sub_02007200
.public sub_02007234
.public CreateSysTaskAndEnvironment
.public DestroySysTaskAndEnvironment
.public NARC_New
.public NARC_Delete
.public GfGfxLoader_LoadCharDataFromOpenNarc

View File

@ -4,8 +4,8 @@
.public FontID_Release
.public FontID_String_GetWidth
.public PlaySE
.public sub_02007200
.public sub_02007234
.public CreateSysTaskAndEnvironment
.public DestroySysTaskAndEnvironment
.public NARC_New
.public NARC_Delete
.public GfGfxLoader_LoadCharDataFromOpenNarc

View File

@ -3,8 +3,8 @@
.public sub_02002B8C
.public LoadFontPal0
.public PlaySE
.public sub_02007200
.public sub_02007234
.public CreateSysTaskAndEnvironment
.public DestroySysTaskAndEnvironment
.public GfGfxLoader_LoadCharData
.public GfGfxLoader_LoadScrnData
.public GfGfxLoader_GXLoadPal

View File

@ -6,8 +6,8 @@
.public LoadFontPal0
.public LoadFontPal1
.public PlaySE
.public sub_02007200
.public sub_02007234
.public CreateSysTaskAndEnvironment
.public DestroySysTaskAndEnvironment
.public GfGfxLoader_LoadCharData
.public GfGfxLoader_GXLoadPal
.public GfGfxLoader_GetScrnData

View File

@ -4,8 +4,8 @@
.public FontID_Release
.public FontID_String_GetWidth
.public PlaySE
.public sub_02007200
.public sub_02007234
.public CreateSysTaskAndEnvironment
.public DestroySysTaskAndEnvironment
.public NARC_New
.public NARC_Delete
.public GfGfxLoader_LoadCharDataFromOpenNarc

View File

@ -3,8 +3,8 @@
.public FontID_Alloc
.public FontID_Release
.public FontID_String_GetWidth
.public sub_02007200
.public sub_02007234
.public CreateSysTaskAndEnvironment
.public DestroySysTaskAndEnvironment
.public NARC_New
.public NARC_Delete
.public GfGfxLoader_LoadCharDataFromOpenNarc

View File

@ -3,8 +3,8 @@
.public FontID_SetAccessDirect
.public FontID_SetAccessLazy
.public PlaySE
.public sub_02007200
.public sub_02007234
.public CreateSysTaskAndEnvironment
.public DestroySysTaskAndEnvironment
.public GfGfxLoader_LoadCharData
.public GfGfxLoader_LoadScrnData
.public GfGfxLoader_GXLoadPal

View File

@ -9,8 +9,8 @@
.public FontID_String_GetCenterAlignmentX
.public sub_02004EC4
.public PlaySE
.public sub_02007200
.public sub_02007234
.public CreateSysTaskAndEnvironment
.public DestroySysTaskAndEnvironment
.public OverlayManager_CreateAndGetData
.public OverlayManager_GetData
.public OverlayManager_FreeData

View File

@ -11,8 +11,8 @@
.public sub_02004EC4
.public PlaySE
.public StopSE
.public sub_02007200
.public sub_02007234
.public CreateSysTaskAndEnvironment
.public DestroySysTaskAndEnvironment
.public OverlayManager_New
.public OverlayManager_Delete
.public OverlayManager_CreateAndGetData

View File

@ -5,8 +5,8 @@
.public PaletteData_LoadNarc
.public sub_02003E5C
.public sub_02003EA4
.public sub_02007200
.public sub_02007234
.public CreateSysTaskAndEnvironment
.public DestroySysTaskAndEnvironment
.public NARC_New
.public NARC_Delete
.public GfGfxLoader_GetPlttData

View File

@ -1,8 +1,8 @@
#include <nitro/fs/overlay.h>
#pragma once
.public sub_020027F0
.public sub_02007200
.public sub_02007234
.public CreateSysTaskAndEnvironment
.public DestroySysTaskAndEnvironment
.public AllocAndReadWholeNarcMemberByIdPair
.public GfGfxLoader_LoadCharData
.public GfGfxLoader_GXLoadPal

View File

@ -1,7 +1,7 @@
#include <nitro/fs/overlay.h>
#pragma once
.public sub_02007200
.public sub_02007234
.public CreateSysTaskAndEnvironment
.public DestroySysTaskAndEnvironment
.public CreateSysTask
.public DestroySysTask
.public AllocFromHeap

View File

@ -2,8 +2,8 @@
#pragma once
.public PaletteData_LoadPalette
.public PaletteData_GetUnfadedBuf
.public sub_02007200
.public sub_02007234
.public CreateSysTaskAndEnvironment
.public DestroySysTaskAndEnvironment
.public sub_020163E0
.public sub_0201649C
.public sub_020164C4

View File

@ -12,8 +12,8 @@
.public LoadFontPal1
.public sub_02004EC4
.public PlaySE
.public sub_02007200
.public sub_02007234
.public CreateSysTaskAndEnvironment
.public DestroySysTaskAndEnvironment
.public OverlayManager_CreateAndGetData
.public OverlayManager_GetData
.public OverlayManager_FreeData

View File

@ -194,7 +194,7 @@ ov01_021EFC94: ; 0x021EFC94
mov r1, #0x24
mov r2, #5
mov r3, #4
bl sub_02007200
bl CreateSysTaskAndEnvironment
bl sub_0201F988
add r4, r0, #0
str r5, [r4, #0x10]
@ -228,7 +228,7 @@ ov01_021EFCDC: ; 0x021EFCDC
mov r0, #4
bl FreeToHeapExplicit
add r0, r4, #0
bl sub_02007234
bl DestroySysTaskAndEnvironment
pop {r3, r4, r5, pc}
thumb_func_end ov01_021EFCDC

View File

@ -22,7 +22,7 @@ ov01_021F4464: ; 0x021F4464
ldr r3, [r5, #0x28]
mov r1, #0x38
mov r2, #5
bl sub_02007200
bl CreateSysTaskAndEnvironment
add r6, r0, #0
bl sub_0201F988
add r4, r0, #0
@ -116,7 +116,7 @@ _021F4524:
_021F452A:
ldr r0, [r4]
ldr r0, [r0, #0x34]
bl sub_02007234
bl DestroySysTaskAndEnvironment
mov r0, #0
str r0, [r4]
pop {r4, pc}

View File

@ -128,7 +128,7 @@ ov01_021F68DC: ; 0x021F68DC
mov r1, #0x10
mov r2, #0xa
mov r3, #4
bl sub_02007200
bl CreateSysTaskAndEnvironment
add r4, r0, #0
bl sub_0201F988
ldr r1, [r5, #0x1c]
@ -185,7 +185,7 @@ ov01_021F6930: ; 0x021F6930
bl ov01_021F69A4
add r5, #0xd8
ldr r0, [r5]
bl sub_02007234
bl DestroySysTaskAndEnvironment
mov r0, #1
pop {r3, r4, r5, pc}
_021F6960:

View File

@ -12,7 +12,7 @@ ov05_0221BA00: ; 0x0221BA00
ldr r1, _0221BA60 ; =0x00000BD4
ldr r3, [r5, #0x24]
mov r2, #0x64
bl sub_02007200
bl CreateSysTaskAndEnvironment
bl sub_0201F988
ldr r2, _0221BA60 ; =0x00000BD4
mov r1, #0
@ -2337,7 +2337,7 @@ _0221CCCA:
add r0, #0x2b
strb r1, [r0]
add r0, r5, #0
bl sub_02007234
bl DestroySysTaskAndEnvironment
mov r0, #1
pop {r3, r4, r5, pc}
thumb_func_end ov05_0221CC74

View File

@ -19,7 +19,7 @@ _0221BE2E:
ldr r1, _0221BE8C ; =0x00002090
ldr r3, [r5, #0xc]
mov r2, #0
bl sub_02007200
bl CreateSysTaskAndEnvironment
bl sub_0201F988
ldr r2, _0221BE8C ; =0x00002090
add r4, r0, #0
@ -2031,7 +2031,7 @@ _0221CDA8:
add r0, #0x36
strb r1, [r0]
add r0, r5, #0
bl sub_02007234
bl DestroySysTaskAndEnvironment
mov r0, #1
pop {r3, r4, r5, pc}
nop
@ -12720,7 +12720,7 @@ ov08_022225D4: ; 0x022225D4
ldr r1, _02222668 ; =0x0000115C
ldr r3, [r5, #0xc]
mov r2, #0x64
bl sub_02007200
bl CreateSysTaskAndEnvironment
bl sub_0201F988
ldr r2, _02222668 ; =0x0000115C
add r4, r0, #0
@ -13823,7 +13823,7 @@ _02222EAC:
add r0, #0x26
strb r1, [r0]
add r0, r7, #0
bl sub_02007234
bl DestroySysTaskAndEnvironment
mov r0, #1
pop {r3, r4, r5, r6, r7, pc}
nop

View File

@ -689,7 +689,7 @@ ov106_021E5E0C: ; 0x021E5E0C
ldr r3, [r5, #0x28]
mov r1, #0x38
mov r2, #5
bl sub_02007200
bl CreateSysTaskAndEnvironment
add r6, r0, #0
bl sub_0201F988
add r4, r0, #0
@ -780,7 +780,7 @@ _021E5EC8:
bl GX_SetBankForLCDC
_021E5ECE:
ldr r0, [r4, #0x34]
bl sub_02007234
bl DestroySysTaskAndEnvironment
pop {r4, pc}
nop
_021E5ED8: .word 0x06820000

View File

@ -44,7 +44,7 @@ ov27_02259F80: ; 0x02259F80
lsl r1, r1, #6
mov r2, #0xa
mov r3, #8
bl sub_02007200
bl CreateSysTaskAndEnvironment
add r7, r0, #0
bl sub_0201F988
add r4, r0, #0
@ -333,7 +333,7 @@ _0225A246:
mov r0, #4
bl FontID_Release
ldr r0, [sp, #4]
bl sub_02007234
bl DestroySysTaskAndEnvironment
ldr r0, [sp]
mov r1, #5
bl FreeBgTilemapBuffer
@ -4457,7 +4457,7 @@ ov27_0225C250: ; 0x0225C250
lsl r1, r1, #2
mov r2, #0xa
mov r3, #8
bl sub_02007200
bl CreateSysTaskAndEnvironment
add r6, r0, #0
bl sub_0201F988
add r4, r0, #0
@ -4567,7 +4567,7 @@ _0225C3C4:
mov r0, #4
bl FontID_Release
ldr r0, [sp, #4]
bl sub_02007234
bl DestroySysTaskAndEnvironment
ldr r0, [sp]
mov r1, #6
bl FreeBgTilemapBuffer

View File

@ -24,7 +24,7 @@ ov28_0225D520: ; 0x0225D520
lsl r1, r1, #6
mov r2, #0xa
mov r3, #8
bl sub_02007200
bl CreateSysTaskAndEnvironment
add r6, r0, #0
bl sub_0201F988
add r4, r0, #0
@ -110,7 +110,7 @@ ov28_0225D5EC: ; 0x0225D5EC
ldr r0, [r4, #0x10]
bl ov28_0225D6E0
add r0, r5, #0
bl sub_02007234
bl DestroySysTaskAndEnvironment
mov r0, #8
bl DestroyHeap
pop {r3, r4, r5, pc}

View File

@ -24,7 +24,7 @@ ov29_0225D520: ; 0x0225D520
lsl r1, r1, #2
mov r2, #0xa
mov r3, #8
bl sub_02007200
bl CreateSysTaskAndEnvironment
str r0, [sp, #4]
bl sub_0201F988
add r4, r0, #0
@ -114,7 +114,7 @@ ov29_0225D5EC: ; 0x0225D5EC
ldr r0, [r4]
bl ov29_0225D6B4
add r0, r5, #0
bl sub_02007234
bl DestroySysTaskAndEnvironment
mov r0, #8
bl DestroyHeap
pop {r3, r4, r5, pc}

View File

@ -75,7 +75,7 @@ ov30_0225D520: ; 0x0225D520
mov r1, #0x6c
mov r2, #0xa
mov r3, #8
bl sub_02007200
bl CreateSysTaskAndEnvironment
add r6, r0, #0
bl sub_0201F988
add r4, r0, #0
@ -169,7 +169,7 @@ _0225D69E:
add r0, r4, #0
bl ov30_0225D86C
add r0, r6, #0
bl sub_02007234
bl DestroySysTaskAndEnvironment
add r0, r5, #0
mov r1, #6
bl FreeBgTilemapBuffer

View File

@ -21,7 +21,7 @@ ov31_0225D520: ; 0x0225D520
lsl r1, r1, #4
mov r2, #0xa
mov r3, #8
bl sub_02007200
bl CreateSysTaskAndEnvironment
add r5, r0, #0
bl sub_0201F988
add r4, r0, #0
@ -245,7 +245,7 @@ ov31_0225D710: ; 0x0225D710
add r0, r4, #0
bl ov31_0225D654
add r0, r6, #0
bl sub_02007234
bl DestroySysTaskAndEnvironment
add r0, r5, #0
mov r1, #6
bl FreeBgTilemapBuffer

View File

@ -24,7 +24,7 @@ ov32_0225D520: ; 0x0225D520
lsl r1, r1, #2
mov r2, #0xa
mov r3, #8
bl sub_02007200
bl CreateSysTaskAndEnvironment
add r7, r0, #0
bl sub_0201F988
add r5, r0, #0
@ -97,7 +97,7 @@ ov32_0225D5CC: ; 0x0225D5CC
mov r0, #4
bl FontID_Release
add r0, r5, #0
bl sub_02007234
bl DestroySysTaskAndEnvironment
mov r0, #8
bl DestroyHeap
pop {r3, r4, r5, pc}

View File

@ -24,7 +24,7 @@ ov33_0225D520: ; 0x0225D520
lsl r1, r1, #6
mov r2, #0xa
mov r3, #8
bl sub_02007200
bl CreateSysTaskAndEnvironment
add r7, r0, #0
bl sub_0201F988
add r4, r0, #0
@ -75,7 +75,7 @@ ov33_0225D5A8: ; 0x0225D5A8
ldr r0, [r4]
bl ov33_0225D7B8
add r0, r5, #0
bl sub_02007234
bl DestroySysTaskAndEnvironment
mov r0, #8
bl DestroyHeap
pop {r3, r4, r5, pc}

View File

@ -334,7 +334,7 @@ ov34_0225D7A8: ; 0x0225D7A8
ldr r0, _0225D874 ; =ov34_0225D5A0
lsl r1, r1, #2
add r3, r2, #0
bl sub_02007200
bl CreateSysTaskAndEnvironment
add r6, r0, #0
bl sub_0201F988
add r4, r0, #0
@ -467,7 +467,7 @@ _0225D8B2:
mov r0, #0xa9
lsl r0, r0, #2
ldr r0, [r6, r0]
bl sub_02007234
bl DestroySysTaskAndEnvironment
pop {r3, r4, r5, r6, r7, pc}
_0225D8F8:
bl GF_AssertFail

View File

@ -3188,7 +3188,7 @@ ov41_022476B8: ; 0x022476B8
mov r1, #0x10
mov r2, #0xa
mov r3, #0xd
bl sub_02007200
bl CreateSysTaskAndEnvironment
bl sub_0201F988
str r5, [r0]
str r4, [r0, #4]
@ -3362,7 +3362,7 @@ _02247818:
ldr r1, [r4, #4]
mov r2, #1
str r2, [r1]
bl sub_02007234
bl DestroySysTaskAndEnvironment
_02247822:
add sp, #4
pop {r3, r4, pc}
@ -3378,7 +3378,7 @@ ov41_02247828: ; 0x02247828
mov r1, #0x10
mov r2, #0xa
mov r3, #0xd
bl sub_02007200
bl CreateSysTaskAndEnvironment
bl sub_0201F988
str r5, [r0]
str r4, [r0, #4]
@ -3558,7 +3558,7 @@ _02247998:
ldr r1, [r4, #4]
mov r2, #1
str r2, [r1]
bl sub_02007234
bl DestroySysTaskAndEnvironment
_022479A2:
add sp, #4
pop {r3, r4, pc}
@ -6098,7 +6098,7 @@ ov41_02248B84: ; 0x02248B84
mov r1, #0x30
mov r2, #0
mov r3, #0xd
bl sub_02007200
bl CreateSysTaskAndEnvironment
bl sub_0201F988
add r4, r0, #0
str r5, [r4]
@ -6316,7 +6316,7 @@ _02248D20:
ldr r0, [r4, #0x28]
bl FreeToHeap
add r0, r5, #0
bl sub_02007234
bl DestroySysTaskAndEnvironment
add sp, #4
pop {r3, r4, r5, r6, pc}
_02248D54:
@ -7308,7 +7308,7 @@ ov41_02249480: ; 0x02249480
mov r1, #0x2c
mov r2, #0
mov r3, #0xd
bl sub_02007200
bl CreateSysTaskAndEnvironment
bl sub_0201F988
add r4, r0, #0
ldr r0, [r5, #8]
@ -7404,7 +7404,7 @@ _02249532:
bl ov41_022463FC
_0224955A:
add r0, r5, #0
bl sub_02007234
bl DestroySysTaskAndEnvironment
add sp, #8
pop {r3, r4, r5, pc}
_02249564:
@ -8613,7 +8613,7 @@ ov41_02249DB4: ; 0x02249DB4
mov r1, #0x4c
mov r2, #0
mov r3, #0xd
bl sub_02007200
bl CreateSysTaskAndEnvironment
bl sub_0201F988
add r4, r0, #0
str r6, [r4]
@ -8831,7 +8831,7 @@ _02249F40:
str r0, [r1]
_02249F74:
add r0, r5, #0
bl sub_02007234
bl DestroySysTaskAndEnvironment
pop {r3, r4, r5, pc}
thumb_func_end ov41_02249F0C

View File

@ -18915,7 +18915,7 @@ ov70_02240EF4: ; 0x02240EF4
mov r1, #0x10
mov r2, #5
mov r3, #0x3d
bl sub_02007200
bl CreateSysTaskAndEnvironment
ldr r1, _02240F34 ; =0x000011D8
str r0, [r5, r1]
ldr r0, [r5, r1]
@ -19034,7 +19034,7 @@ _02240FE2:
mov r2, #1
strh r2, [r1, r0]
add r0, r6, #0
bl sub_02007234
bl DestroySysTaskAndEnvironment
_02240FF6:
pop {r4, r5, r6, pc}
.balign 4, 0
@ -19052,7 +19052,7 @@ ov70_02241004: ; 0x02241004
mov r1, #0x10
mov r2, #5
mov r3, #0x3d
bl sub_02007200
bl CreateSysTaskAndEnvironment
ldr r1, _02241040 ; =0x000011D8
str r0, [r5, r1]
ldr r0, [r5, r1]
@ -19150,7 +19150,7 @@ _022410D6:
ldr r1, _022410EC ; =0x000011DC
mov r2, #1
strh r2, [r5, r1]
bl sub_02007234
bl DestroySysTaskAndEnvironment
_022410E0:
pop {r3, r4, r5, pc}
nop

View File

@ -17,7 +17,7 @@ ov80_0223A00C: ; 0x0223A00C
lsl r1, r1, #2
lsl r2, r2, #2
mov r3, #0x65
bl sub_02007200
bl CreateSysTaskAndEnvironment
bl sub_0201F988
add r4, r0, #0
str r5, [r4, #0x10]
@ -104,7 +104,7 @@ ov80_0223A0C0: ; 0x0223A0C0
mov r0, #0x65
bl FreeToHeapExplicit
add r0, r4, #0
bl sub_02007234
bl DestroySysTaskAndEnvironment
pop {r3, r4, r5, pc}
thumb_func_end ov80_0223A0C0

View File

@ -2264,7 +2264,7 @@ _0200F564:
add r0, r4, #0
bl ov01_021E86F4
add r0, r5, #0
bl sub_02007234
bl DestroySysTaskAndEnvironment
pop {r3, r4, r5, pc}
_0200F582:
mov r1, #3
@ -2312,7 +2312,7 @@ sub_0200F5C4: ; 0x0200F5C4
ldr r3, [sp, #0x18]
lsl r1, r1, #4
mov r2, #0
bl sub_02007200
bl CreateSysTaskAndEnvironment
bl sub_0201F988
ldr r1, _0200F5FC ; =0x0000016F
mov r2, #0

View File

@ -1,49 +0,0 @@
.include "asm/macros.inc"
.include "unk_02007200.inc"
.include "global.inc"
.text
thumb_func_start sub_02007200
sub_02007200: ; 0x02007200
push {r3, r4, r5, r6, r7, lr}
add r5, r1, #0
add r6, r0, #0
add r7, r2, #0
cmp r5, #0
beq _02007224
add r0, r3, #0
bl AllocFromHeap
add r4, r0, #0
bne _0200721A
mov r0, #0
pop {r3, r4, r5, r6, r7, pc}
_0200721A:
mov r1, #0
add r2, r5, #0
bl memset
b _02007226
_02007224:
mov r4, #0
_02007226:
add r0, r6, #0
add r1, r4, #0
add r2, r7, #0
bl CreateSysTask
pop {r3, r4, r5, r6, r7, pc}
.balign 4, 0
thumb_func_end sub_02007200
thumb_func_start sub_02007234
sub_02007234: ; 0x02007234
push {r4, lr}
add r4, r0, #0
bl sub_0201F988
cmp r0, #0
beq _02007244
bl FreeToHeap
_02007244:
add r0, r4, #0
bl DestroySysTask
pop {r4, pc}
thumb_func_end sub_02007234

View File

@ -14,7 +14,7 @@ sub_020163E0: ; 0x020163E0
ldr r0, _02016488 ; =sub_020164D0
mov r1, #0x50
mov r2, #0
bl sub_02007200
bl CreateSysTaskAndEnvironment
str r0, [sp, #4]
bl sub_0201F988
add r4, r0, #0
@ -123,11 +123,11 @@ _020164BA:
thumb_func_start sub_020164C4
sub_020164C4: ; 0x020164C4
ldr r3, _020164CC ; =sub_02007234
ldr r3, _020164CC ; =DestroySysTaskAndEnvironment
ldr r0, [r0]
bx r3
nop
_020164CC: .word sub_02007234
_020164CC: .word DestroySysTaskAndEnvironment
thumb_func_end sub_020164C4
thumb_func_start sub_020164D0
@ -193,7 +193,7 @@ _02016538:
add r1, #0xc
blx r2
add r0, r5, #0
bl sub_02007234
bl DestroySysTaskAndEnvironment
_02016546:
pop {r3, r4, r5, pc}
thumb_func_end sub_020164D0

View File

@ -820,7 +820,7 @@ _02082F86:
lsl r7, r7, #2
_02082F98:
ldr r0, [r5, r7]
bl sub_02007234
bl DestroySysTaskAndEnvironment
add r6, r6, #1
add r5, r5, #4
cmp r6, #7
@ -2197,7 +2197,7 @@ _02083AFE:
mov r1, #0x10
mov r2, #5
mov r3, #0x12
bl sub_02007200
bl CreateSysTaskAndEnvironment
mov r1, #0xe7
lsl r1, r1, #2
str r0, [r4, r1]
@ -2467,7 +2467,7 @@ _02083D18:
ldr r0, [r4]
bl Sprite_SetMatrix
add r0, r5, #0
bl sub_02007234
bl DestroySysTaskAndEnvironment
_02083D2A:
ldr r0, [r4, #4]
add r0, r0, #1
@ -2582,7 +2582,7 @@ _02083DE6:
mov r1, #0x10
mov r2, #0
mov r3, #0x12
bl sub_02007200
bl CreateSysTaskAndEnvironment
bl sub_0201F988
add r7, r0, #0
ldr r0, [sp, #0x48]

View File

@ -0,0 +1,10 @@
#ifndef POKEHEARTGOLD_SYSTASK_ENVIRONMENT_H
#define POKEHEARTGOLD_SYSTASK_ENVIRONMENT_H
#include "heap.h"
#include "unk_0200E320.h"
SysTask *CreateSysTaskAndEnvironment(SysTaskFunc function, u32 environmentSize, u32 priority, HeapID heapId);
void DestroySysTaskAndEnvironment(SysTask *task);
#endif

View File

@ -23,7 +23,7 @@ Static main
Object asm/unk_02005D10.o
Object src/sound_chatot.o
Object src/poke_overlay.o
Object asm/unk_02007200.o
Object src/systask_environment.o
Object src/overlay_manager.o
Object src/filesystem.o
Object src/gf_gfx_loader.o

28
src/systask_environment.c Normal file
View File

@ -0,0 +1,28 @@
#include "global.h"
#include "systask_environment.h"
#include "unk_0201F79C.h"
SysTask *CreateSysTaskAndEnvironment(SysTaskFunc function, u32 environmentSize, u32 priority, HeapID heapId) {
void *environment;
if (environmentSize != 0) {
environment = AllocFromHeap(heapId, environmentSize);
if (environment == NULL) {
return NULL;
}
memset(environment, 0, environmentSize);
} else {
environment = NULL;
}
return CreateSysTask(function, environment, priority);
}
void DestroySysTaskAndEnvironment(SysTask *task) {
void *environment = sub_0201F988(task);
if (environment != NULL) {
FreeToHeap(environment);
}
DestroySysTask(task);
}