mirror of
https://github.com/pret/pokeheartgold.git
synced 2026-06-02 21:54:45 -05:00
Start decomping overlay 121
This commit is contained in:
parent
6619c7256f
commit
3912a8b88b
|
|
@ -4,231 +4,6 @@
|
|||
|
||||
.text
|
||||
|
||||
thumb_func_start ov121_021E5900
|
||||
ov121_021E5900: ; 0x021E5900
|
||||
push {r3, lr}
|
||||
bl ov121_021E5AEC
|
||||
mov r0, #1
|
||||
pop {r3, pc}
|
||||
.balign 4, 0
|
||||
thumb_func_end ov121_021E5900
|
||||
|
||||
thumb_func_start ov121_021E590C
|
||||
ov121_021E590C: ; 0x021E590C
|
||||
push {r3, r4, lr}
|
||||
sub sp, #0xc
|
||||
bl OverlayManager_GetData
|
||||
mov r1, #0x23
|
||||
add r4, r0, #0
|
||||
lsl r1, r1, #4
|
||||
ldrb r1, [r4, r1]
|
||||
cmp r1, #4
|
||||
bhi _021E59B0
|
||||
add r1, r1, r1
|
||||
add r1, pc
|
||||
ldrh r1, [r1, #6]
|
||||
lsl r1, r1, #0x10
|
||||
asr r1, r1, #0x10
|
||||
add pc, r1
|
||||
_021E592C: ; jump table
|
||||
.short _021E5936 - _021E592C - 2 ; case 0
|
||||
.short _021E5956 - _021E592C - 2 ; case 1
|
||||
.short _021E5968 - _021E592C - 2 ; case 2
|
||||
.short _021E597A - _021E592C - 2 ; case 3
|
||||
.short _021E599C - _021E592C - 2 ; case 4
|
||||
_021E5936:
|
||||
mov r0, #6
|
||||
str r0, [sp]
|
||||
mov r1, #1
|
||||
str r1, [sp, #4]
|
||||
mov r0, #0x9e
|
||||
str r0, [sp, #8]
|
||||
mov r0, #0
|
||||
add r2, r1, #0
|
||||
add r3, r0, #0
|
||||
bl BeginNormalPaletteFade
|
||||
mov r0, #0x23
|
||||
mov r1, #1
|
||||
lsl r0, r0, #4
|
||||
strb r1, [r4, r0]
|
||||
b _021E59B0
|
||||
_021E5956:
|
||||
bl IsPaletteFadeFinished
|
||||
cmp r0, #0
|
||||
beq _021E59B0
|
||||
mov r0, #0x23
|
||||
mov r1, #2
|
||||
lsl r0, r0, #4
|
||||
strb r1, [r4, r0]
|
||||
b _021E59B0
|
||||
_021E5968:
|
||||
bl ov121_021E5C50
|
||||
cmp r0, #0
|
||||
beq _021E59B0
|
||||
mov r0, #0x23
|
||||
mov r1, #3
|
||||
lsl r0, r0, #4
|
||||
strb r1, [r4, r0]
|
||||
b _021E59B0
|
||||
_021E597A:
|
||||
mov r0, #6
|
||||
str r0, [sp]
|
||||
mov r0, #1
|
||||
str r0, [sp, #4]
|
||||
mov r0, #0x9e
|
||||
str r0, [sp, #8]
|
||||
mov r0, #0
|
||||
add r1, r0, #0
|
||||
add r2, r0, #0
|
||||
add r3, r0, #0
|
||||
bl BeginNormalPaletteFade
|
||||
mov r0, #0x23
|
||||
mov r1, #4
|
||||
lsl r0, r0, #4
|
||||
strb r1, [r4, r0]
|
||||
b _021E59B0
|
||||
_021E599C:
|
||||
bl IsPaletteFadeFinished
|
||||
cmp r0, #0
|
||||
beq _021E59B0
|
||||
add r0, r4, #0
|
||||
bl ov121_021E6F78
|
||||
add sp, #0xc
|
||||
mov r0, #1
|
||||
pop {r3, r4, pc}
|
||||
_021E59B0:
|
||||
add r0, r4, #0
|
||||
bl ov121_021E5CB4
|
||||
mov r0, #0
|
||||
add sp, #0xc
|
||||
pop {r3, r4, pc}
|
||||
thumb_func_end ov121_021E590C
|
||||
|
||||
thumb_func_start ov121_021E59BC
|
||||
ov121_021E59BC: ; 0x021E59BC
|
||||
push {r3, r4, r5, r6, r7, lr}
|
||||
bl OverlayManager_GetData
|
||||
add r4, r0, #0
|
||||
ldr r0, _021E5AE0 ; =gSystem + 0x60
|
||||
mov r1, #0
|
||||
strb r1, [r0, #9]
|
||||
bl GfGfx_SwapDisplay
|
||||
mov r0, #0
|
||||
add r1, r0, #0
|
||||
bl Main_SetVBlankIntrCB
|
||||
ldr r0, _021E5AE4 ; =0x04000050
|
||||
mov r1, #0
|
||||
strh r1, [r0]
|
||||
add r0, r4, #0
|
||||
bl ov121_021E6A4C
|
||||
add r0, r4, #4
|
||||
bl RemoveWindow
|
||||
add r0, r4, #0
|
||||
add r0, #0x14
|
||||
bl RemoveWindow
|
||||
add r0, r4, #0
|
||||
add r0, #0x24
|
||||
bl RemoveWindow
|
||||
add r0, r4, #0
|
||||
add r0, #0x34
|
||||
bl RemoveWindow
|
||||
add r0, r4, #0
|
||||
add r0, #0x44
|
||||
bl RemoveWindow
|
||||
add r0, r4, #0
|
||||
add r0, #0x54
|
||||
bl RemoveWindow
|
||||
ldr r0, [r4]
|
||||
mov r1, #0
|
||||
bl FreeBgTilemapBuffer
|
||||
ldr r0, [r4]
|
||||
mov r1, #1
|
||||
bl FreeBgTilemapBuffer
|
||||
ldr r0, [r4]
|
||||
mov r1, #2
|
||||
bl FreeBgTilemapBuffer
|
||||
ldr r0, [r4]
|
||||
mov r1, #3
|
||||
bl FreeBgTilemapBuffer
|
||||
ldr r0, [r4]
|
||||
mov r1, #4
|
||||
bl FreeBgTilemapBuffer
|
||||
add r0, r4, #0
|
||||
bl ov121_021E611C
|
||||
mov r0, #0x77
|
||||
lsl r0, r0, #2
|
||||
ldr r0, [r4, r0]
|
||||
bl sub_0200AEB0
|
||||
mov r0, #0x1e
|
||||
lsl r0, r0, #4
|
||||
ldr r0, [r4, r0]
|
||||
bl sub_0200B0A8
|
||||
mov r7, #0x71
|
||||
mov r6, #0
|
||||
add r5, r4, #0
|
||||
lsl r7, r7, #2
|
||||
_021E5A5A:
|
||||
ldr r0, [r5, r7]
|
||||
bl Destroy2DGfxResObjMan
|
||||
add r6, r6, #1
|
||||
add r5, r5, #4
|
||||
cmp r6, #6
|
||||
blt _021E5A5A
|
||||
add r0, r4, #0
|
||||
add r0, #0x98
|
||||
ldr r0, [r0]
|
||||
bl SpriteList_Delete
|
||||
mov r0, #4
|
||||
bl FontID_Release
|
||||
bl OamManager_Free
|
||||
bl ObjCharTransfer_Destroy
|
||||
bl sub_02022608
|
||||
add r0, r4, #0
|
||||
add r0, #0x94
|
||||
ldr r0, [r0]
|
||||
bl YesNoPrompt_Destroy
|
||||
mov r0, #0x8b
|
||||
lsl r0, r0, #2
|
||||
ldr r0, [r4, r0]
|
||||
bl FreeToHeap
|
||||
ldr r0, [r4]
|
||||
bl FreeToHeap
|
||||
ldr r0, _021E5AE8 ; =0x0000025E
|
||||
mov r5, #0
|
||||
ldrb r0, [r4, r0]
|
||||
add r0, r0, #1
|
||||
cmp r0, #0
|
||||
ble _021E5AC4
|
||||
ldr r7, _021E5AE8 ; =0x0000025E
|
||||
add r6, r4, #0
|
||||
_021E5AAE:
|
||||
mov r0, #0x8e
|
||||
lsl r0, r0, #2
|
||||
ldr r0, [r6, r0]
|
||||
bl sub_0202EAFC
|
||||
ldrb r0, [r4, r7]
|
||||
add r5, r5, #1
|
||||
add r6, r6, #4
|
||||
add r0, r0, #1
|
||||
cmp r5, r0
|
||||
blt _021E5AAE
|
||||
_021E5AC4:
|
||||
mov r0, #0x95
|
||||
lsl r0, r0, #2
|
||||
ldr r0, [r4, r0]
|
||||
bl FreeToHeap
|
||||
add r0, r4, #0
|
||||
bl FreeToHeap
|
||||
mov r0, #0x9e
|
||||
bl DestroyHeap
|
||||
mov r0, #1
|
||||
pop {r3, r4, r5, r6, r7, pc}
|
||||
nop
|
||||
_021E5AE0: .word gSystem + 0x60
|
||||
_021E5AE4: .word 0x04000050
|
||||
_021E5AE8: .word 0x0000025E
|
||||
thumb_func_end ov121_021E59BC
|
||||
|
||||
thumb_func_start ov121_021E5AEC
|
||||
ov121_021E5AEC: ; 0x021E5AEC
|
||||
push {r3, r4, r5, lr}
|
||||
|
|
@ -34,7 +34,8 @@ typedef enum HeapID {
|
|||
HEAP_ID_GAME_BOARD = 110,
|
||||
HEAP_ID_BERRY_POTS = 130,
|
||||
HEAP_ID_BERRY_POTS_APP = 131,
|
||||
HEAP_ID_VOLTORB_FLIP = 160
|
||||
HEAP_ID_9E = 158,
|
||||
HEAP_ID_VOLTORB_FLIP = 160,
|
||||
} HeapID;
|
||||
|
||||
typedef struct HeapParam {
|
||||
|
|
|
|||
|
|
@ -146,7 +146,7 @@ void PokeathlonCourse_LaunchApp(FieldSystem *fieldSystem, PokeathlonCourseArgs *
|
|||
void sub_0203FC68(FieldSystem *fieldSystem, void *args);
|
||||
void sub_0203FC90(FieldSystem *fieldSystem, void *args);
|
||||
LegendaryCinematicArgs *LegendaryCinematic_LaunchApp(FieldSystem *fieldSystem, UnkStruct_0203FCC4 *a1, u16 a2, u16 a3, HeapID heapId);
|
||||
void sub_0203FD08(FieldSystem *fieldSystem, UnkStruct_02097D48 *args);
|
||||
void sub_0203FD08(FieldSystem *fieldSystem, UnkStruct_02097D56 *args);
|
||||
PartyMenuArgs *PartyMenu_LaunchApp_Unk1(FieldSystem *fieldSystem, FieldMoveCheckData *fieldMoveCheckData, u8 partySlot);
|
||||
void CallTask_NamingScreen(TaskManager *taskManager, NameScreenType type, int species, int maxLen, int initPos, const u16 *defaultStr, u16 *retVar);
|
||||
void sub_0203E960(TaskManager *a0, int a1, UnkStruct_0203E8C8 *a2, u16 *a3, u16 *a4);
|
||||
|
|
|
|||
|
|
@ -1,21 +1,19 @@
|
|||
#ifndef POKEHEARTGOLD_UNK_02097D3C_H
|
||||
#define POKEHEARTGOLD_UNK_02097D3C_H
|
||||
|
||||
#include "field_types_def.h"
|
||||
#include "save.h"
|
||||
|
||||
typedef struct UnkStruct_02097D56 {
|
||||
u16 unk00;
|
||||
u16 unk02;
|
||||
u16 unk_0;
|
||||
u16 unk_2;
|
||||
SaveData *saveData;
|
||||
} UnkStruct_02097D56;
|
||||
|
||||
typedef struct UnkStruct_02097D48 {
|
||||
u32 unk00;
|
||||
UnkStruct_02097D56 *unk04;
|
||||
} UnkStruct_02097D48;
|
||||
|
||||
typedef struct UnkStruct_02097D8E {
|
||||
u32 state;
|
||||
UnkStruct_02097D48 *unk04;
|
||||
} UnkStruct_02097D8E;
|
||||
UnkStruct_02097D56 *args;
|
||||
} UnkStruct_02097D48;
|
||||
|
||||
void sub_02097D3C(FieldSystem *fieldSystem, u8 a1, u8 a2);
|
||||
|
||||
|
|
|
|||
3
main.lsf
3
main.lsf
|
|
@ -1180,7 +1180,8 @@ Overlay OVY_120
|
|||
Overlay OVY_121
|
||||
{
|
||||
After main
|
||||
Object asm/overlay_121.o
|
||||
Object src/overlay_121.o
|
||||
Object asm/overlay_121_s.o
|
||||
}
|
||||
Overlay voltorb_flip
|
||||
{
|
||||
|
|
|
|||
|
|
@ -1397,7 +1397,7 @@ LegendaryCinematicArgs *LegendaryCinematic_LaunchApp(FieldSystem *fieldSystem, U
|
|||
return args;
|
||||
}
|
||||
|
||||
void sub_0203FD08(FieldSystem *fieldSystem, UnkStruct_02097D48 *args) {
|
||||
void sub_0203FD08(FieldSystem *fieldSystem, UnkStruct_02097D56 *args) {
|
||||
static const OVY_MGR_TEMPLATE _020FA494 = { ov121_021E5900, ov121_021E590C, ov121_021E59BC, FS_OVERLAY_ID(OVY_121) };
|
||||
FieldSystem_LaunchApplication(fieldSystem, &_020FA494, args);
|
||||
}
|
||||
|
|
|
|||
123
src/overlay_121.c
Normal file
123
src/overlay_121.c
Normal file
|
|
@ -0,0 +1,123 @@
|
|||
#include "bg_window.h"
|
||||
#include "font.h"
|
||||
#include "global.h"
|
||||
#include "overlay_121.h"
|
||||
#include "obj_char_transfer.h"
|
||||
#include "system.h"
|
||||
#include "unk_02009D48.h"
|
||||
#include "unk_0200A090.h"
|
||||
#include "unk_0200ACF0.h"
|
||||
#include "unk_0200B150.h"
|
||||
#include "unk_0200FA24.h"
|
||||
#include "unk_02022588.h"
|
||||
#include "unk_02023694.h"
|
||||
#include "unk_0202E4B0.h"
|
||||
#include "unk_02097D3C.h"
|
||||
#include "yes_no_prompt.h"
|
||||
|
||||
typedef struct Overlay121Appdata {
|
||||
BgConfig *unk_000;
|
||||
Window unk_004[6];
|
||||
u8 filler_064[0x30];
|
||||
YesNoPrompt *unk_094;
|
||||
SpriteList *unk_098;
|
||||
u8 filler_09C[0x128];
|
||||
GF_2DGfxResMan *unk_1C4[6];
|
||||
GF_2DGfxResObj *unk_1DC;
|
||||
GF_2DGfxResObj *unk_1E0;
|
||||
u8 filler_1E4[0x48];
|
||||
void *unk_22C;
|
||||
u8 unk_230;
|
||||
u8 filler_231[0x7];
|
||||
UnkStruct_0202E4B0 *unk_238[7];
|
||||
void *unk_254;
|
||||
u8 filler_258[6];
|
||||
u8 unk_25E;
|
||||
} Overlay121AppData;
|
||||
|
||||
void ov121_021E5AEC(OVY_MANAGER *man, int *pState);
|
||||
BOOL ov121_021E5C50(Overlay121AppData *appData);
|
||||
void ov121_021E5CB4(Overlay121AppData *appData);
|
||||
void ov121_021E611C(Overlay121AppData *appData);
|
||||
void ov121_021E6A4C(Overlay121AppData *appData);
|
||||
BOOL ov121_021E6F78(Overlay121AppData *appData);
|
||||
|
||||
BOOL ov121_021E5900(OVY_MANAGER *man, int *pState) {
|
||||
ov121_021E5AEC(man, pState);
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
BOOL ov121_021E590C(OVY_MANAGER *man, int *pState) {
|
||||
Overlay121AppData *appData = OverlayManager_GetData(man);
|
||||
switch (appData->unk_230) {
|
||||
case 0:
|
||||
BeginNormalPaletteFade(0, 1, 1, RGB_BLACK, 6, 1, HEAP_ID_9E);
|
||||
appData->unk_230 = 1;
|
||||
break;
|
||||
case 1:
|
||||
if (IsPaletteFadeFinished()) {
|
||||
appData->unk_230 = 2;
|
||||
}
|
||||
break;
|
||||
case 2:
|
||||
if (ov121_021E5C50(appData)) {
|
||||
appData->unk_230 = 3;
|
||||
}
|
||||
break;
|
||||
case 3:
|
||||
BeginNormalPaletteFade(0, 0, 0, RGB_BLACK, 6, 1, HEAP_ID_9E);
|
||||
appData->unk_230 = 4;
|
||||
break;
|
||||
case 4:
|
||||
if (IsPaletteFadeFinished()) {
|
||||
ov121_021E6F78(appData);
|
||||
return TRUE;
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
ov121_021E5CB4(appData);
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
BOOL ov121_021E59BC(OVY_MANAGER *man, int *pState) {
|
||||
Overlay121AppData *appData = OverlayManager_GetData(man);
|
||||
|
||||
gSystem.screensFlipped = FALSE;
|
||||
GfGfx_SwapDisplay();
|
||||
Main_SetVBlankIntrCB(NULL, NULL);
|
||||
G2_BlendNone();
|
||||
ov121_021E6A4C(appData);
|
||||
RemoveWindow(&appData->unk_004[0]);
|
||||
RemoveWindow(&appData->unk_004[1]);
|
||||
RemoveWindow(&appData->unk_004[2]);
|
||||
RemoveWindow(&appData->unk_004[3]);
|
||||
RemoveWindow(&appData->unk_004[4]);
|
||||
RemoveWindow(&appData->unk_004[5]);
|
||||
FreeBgTilemapBuffer(appData->unk_000, GF_BG_LYR_MAIN_0);
|
||||
FreeBgTilemapBuffer(appData->unk_000, GF_BG_LYR_MAIN_1);
|
||||
FreeBgTilemapBuffer(appData->unk_000, GF_BG_LYR_MAIN_2);
|
||||
FreeBgTilemapBuffer(appData->unk_000, GF_BG_LYR_MAIN_3);
|
||||
FreeBgTilemapBuffer(appData->unk_000, GF_BG_LYR_SUB_0);
|
||||
ov121_021E611C(appData);
|
||||
sub_0200AEB0(appData->unk_1DC);
|
||||
sub_0200B0A8(appData->unk_1E0);
|
||||
for (int i = 0; i < 6; ++i) {
|
||||
Destroy2DGfxResObjMan(appData->unk_1C4[i]);
|
||||
}
|
||||
SpriteList_Delete(appData->unk_098);
|
||||
FontID_Release(4);
|
||||
OamManager_Free();
|
||||
ObjCharTransfer_Destroy();
|
||||
sub_02022608();
|
||||
YesNoPrompt_Destroy(appData->unk_094);
|
||||
FreeToHeap(appData->unk_22C);
|
||||
FreeToHeap(appData->unk_000);
|
||||
for (int i = 0; i < appData->unk_25E + 1; ++i) {
|
||||
sub_0202EAFC(appData->unk_238[i]);
|
||||
}
|
||||
FreeToHeap(appData->unk_254);
|
||||
FreeToHeap(appData);
|
||||
DestroyHeap(HEAP_ID_9E);
|
||||
return TRUE;
|
||||
}
|
||||
|
|
@ -27,17 +27,17 @@
|
|||
#include "save_local_field_data.h"
|
||||
#include "save_trainer_house.h"
|
||||
#include "save_special_ribbons.h"
|
||||
#include "unk_0202E4B0.h"
|
||||
#include "game_stats.h"
|
||||
|
||||
#define DECL_CHUNK(prefix) extern u32 prefix##_sizeof(void); extern void prefix##_Init(void *);
|
||||
#define DECL_CHUNK_EX(sizefn, initfn) extern u32 sizefn(void); extern void initfn(void *);
|
||||
|
||||
DECL_CHUNK_EX(sub_020290B8, sub_020290C8)
|
||||
DECL_CHUNK(Save_FashionData)
|
||||
DECL_CHUNK(GameStats)
|
||||
DECL_CHUNK_EX(sub_02031000, sub_02031008)
|
||||
DECL_CHUNK_EX(sub_0202DB40, sub_0202DB44)
|
||||
DECL_CHUNK_EX(sub_0202E41C, sub_0202E424)
|
||||
DECL_CHUNK_EX(sub_0202E4F4, sub_0202E4FC)
|
||||
DECL_CHUNK_EX(sub_0202C034, sub_0202C03C)
|
||||
DECL_CHUNK_EX(sub_0202CA24, sub_0202CA2C)
|
||||
DECL_CHUNK_EX(sub_0202EB30, sub_0202EB38)
|
||||
|
|
|
|||
12
src/unk_0202E4B0.h
Normal file
12
src/unk_0202E4B0.h
Normal file
|
|
@ -0,0 +1,12 @@
|
|||
#ifndef GUARD_POKEHEARTGOLD_UNK_0202E4B0_H
|
||||
#define GUARD_POKEHEARTGOLD_UNK_0202E4B0_H
|
||||
|
||||
#include "global.h"
|
||||
|
||||
typedef struct UnkStruct_0202E4B0 UnkStruct_0202E4B0;
|
||||
|
||||
u32 sub_0202E4F4(void); // ???_sizeof
|
||||
void sub_0202E4FC(UnkStruct_0202E4B0 *a0); // ???_Init
|
||||
void sub_0202EAFC(UnkStruct_0202E4B0 *a0);
|
||||
|
||||
#endif //GUARD_POKEHEARTGOLD_UNK_0202E4B0_H
|
||||
|
|
@ -8,57 +8,57 @@
|
|||
static BOOL sub_02097D80(TaskManager *taskManager);
|
||||
|
||||
void sub_02097D3C(FieldSystem *fieldSystem, u8 a1, u8 a2) {
|
||||
UnkStruct_02097D48 *unk0 = AllocFromHeapAtEnd(HEAP_ID_FIELD, sizeof(UnkStruct_02097D48));
|
||||
unk0->unk00 = 0;
|
||||
unk0->unk04 = AllocFromHeapAtEnd(HEAP_ID_FIELD, sizeof(UnkStruct_02097D56));
|
||||
unk0->unk04->saveData = FieldSystem_GetSaveData(fieldSystem);
|
||||
unk0->unk04->unk00 = a1;
|
||||
unk0->unk04->unk02 = a2;
|
||||
TaskManager_Call(fieldSystem->taskman, sub_02097D80, unk0);
|
||||
UnkStruct_02097D48 *taskData = AllocFromHeapAtEnd(HEAP_ID_FIELD, sizeof(UnkStruct_02097D48));
|
||||
taskData->state = 0;
|
||||
taskData->args = AllocFromHeapAtEnd(HEAP_ID_FIELD, sizeof(UnkStruct_02097D56));
|
||||
taskData->args->saveData = FieldSystem_GetSaveData(fieldSystem);
|
||||
taskData->args->unk_0 = a1;
|
||||
taskData->args->unk_2 = a2;
|
||||
TaskManager_Call(fieldSystem->taskman, sub_02097D80, taskData);
|
||||
}
|
||||
|
||||
static BOOL sub_02097D80(TaskManager *taskManager) {
|
||||
FieldSystem *fieldSystem = TaskManager_GetFieldSystem(taskManager);
|
||||
UnkStruct_02097D8E *unk1 = TaskManager_GetEnvironment(taskManager);
|
||||
|
||||
switch (unk1->state) {
|
||||
case 0:
|
||||
BeginNormalPaletteFade(0, 0, 0, RGB_BLACK, 6, 1, HEAP_ID_4);
|
||||
unk1->state++;
|
||||
UnkStruct_02097D48 *taskData = TaskManager_GetEnvironment(taskManager);
|
||||
|
||||
switch (taskData->state) {
|
||||
case 0:
|
||||
BeginNormalPaletteFade(0, 0, 0, RGB_BLACK, 6, 1, HEAP_ID_4);
|
||||
taskData->state++;
|
||||
|
||||
break;
|
||||
case 1:
|
||||
if (!IsPaletteFadeFinished()) {
|
||||
break;
|
||||
case 1:
|
||||
if (!IsPaletteFadeFinished()) {
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
sub_0203FD08(fieldSystem, unk1->unk04);
|
||||
sub_0203E30C();
|
||||
unk1->state++;
|
||||
sub_0203FD08(fieldSystem, taskData->args);
|
||||
sub_0203E30C();
|
||||
taskData->state++;
|
||||
break;
|
||||
case 2:
|
||||
if (FieldSystem_ApplicationIsRunning(fieldSystem)) {
|
||||
break;
|
||||
case 2:
|
||||
if (FieldSystem_ApplicationIsRunning(fieldSystem)) {
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
unk1->state++;
|
||||
sub_020505C0(fieldSystem);
|
||||
taskData->state++;
|
||||
sub_020505C0(fieldSystem);
|
||||
break;
|
||||
case 3:
|
||||
if (sub_020505C8(fieldSystem)) {
|
||||
BeginNormalPaletteFade(0, 1, 1, RGB_BLACK, 6, 1, HEAP_ID_4);
|
||||
taskData->state++;
|
||||
}
|
||||
|
||||
break;
|
||||
case 4:
|
||||
if (!IsPaletteFadeFinished()) {
|
||||
break;
|
||||
case 3:
|
||||
if (sub_020505C8(fieldSystem)) {
|
||||
BeginNormalPaletteFade(0, 1, 1, RGB_BLACK, 6, 1, HEAP_ID_4);
|
||||
unk1->state++;
|
||||
}
|
||||
}
|
||||
|
||||
break;
|
||||
case 4:
|
||||
if (!IsPaletteFadeFinished()) {
|
||||
break;
|
||||
}
|
||||
|
||||
FreeToHeap(unk1->unk04);
|
||||
FreeToHeap(unk1);
|
||||
return TRUE;
|
||||
FreeToHeap(taskData->args);
|
||||
FreeToHeap(taskData);
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
return FALSE;
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user