pokeheartgold/include/task.h
Adrienn Tindall 663767a8e5 Rename OverlayManager
OVY_MANAGER -> OverlayManager
OVY_FUNC -> OverlayFunction
OVY_MGR_TEMPLATE -> OverlayManagerTemplate
2025-05-25 05:18:17 -04:00

45 lines
1.4 KiB
C

#ifndef POKEHEARTGOLD_TASK_H
#define POKEHEARTGOLD_TASK_H
#include "fieldmap.h"
#include "overlay_manager.h"
typedef BOOL (*TaskFunc)(TaskManager *taskman);
typedef struct TaskManagerUnkSub1C {
u32 unk0;
} TaskManagerUnkSub1C;
struct UnkTaskEnv {
int state;
const OverlayManagerTemplate *template;
void *work;
};
struct TaskManager { // declared in field_system.h
TaskManager *prev;
TaskFunc func;
u32 state;
void *env;
u32 unk10;
void *unk14;
FieldSystem *fieldSystem;
TaskManagerUnkSub1C *unk1C; // size=4
};
TaskManager *FieldSystem_CreateTask(FieldSystem *fieldSystem, TaskFunc taskFunc, void *env);
void TaskManager_Jump(TaskManager *taskman, TaskFunc taskFunc, void *env);
void TaskManager_Call(TaskManager *taskman, TaskFunc taskFunc, void *env);
BOOL FieldSystem_RunTaskFrame(FieldSystem *fieldSystem);
BOOL FieldSystem_TaskIsRunning(FieldSystem *fieldSystem);
BOOL FieldSystem_ApplicationIsRunning(FieldSystem *fieldSystem);
void FieldSystem_LoadFieldOverlay(FieldSystem *fieldSystem);
BOOL sub_020505C8(FieldSystem *fieldSystem);
void CallApplicationAsTask(TaskManager *taskManager, const OverlayManagerTemplate *template, void *work);
FieldSystem *TaskManager_GetFieldSystem(TaskManager *taskManager);
void *TaskManager_GetEnvironment(TaskManager *taskManager);
u32 *TaskManager_GetStatePtr(TaskManager *taskManager);
u32 sub_02050658(TaskManager *taskManager);
#endif // POKEHEARTGOLD_TASK_H