mirror of
https://github.com/pret/pokeplatinum.git
synced 2026-07-16 08:05:55 -05:00
49 lines
2.0 KiB
C
49 lines
2.0 KiB
C
#ifndef POKEPLATINUM_POKETCH_TASK_H
|
|
#define POKEPLATINUM_POKETCH_TASK_H
|
|
|
|
#include "sys_task_manager.h"
|
|
|
|
#define POKETCH_TASK_LIST_VALIDATOR 0x12345678 // If activeList[VALIDATOR_IDX] is not this value, tasks will not be added or removed.
|
|
#define POKETCH_EMPTY_TASK 0xFFFFFFFF
|
|
|
|
#define NUM_SLOTS_IDX 0
|
|
#define VALIDATOR_IDX 1
|
|
#define BASE_IDX 2
|
|
|
|
typedef struct PoketchTask {
|
|
u32 taskId;
|
|
SysTaskFunc taskFunc;
|
|
u32 extraDataSize;
|
|
} PoketchTask;
|
|
|
|
typedef struct PoketchTaskManager {
|
|
u32 taskId;
|
|
u32 poketchTaskState;
|
|
void *taskData;
|
|
void *extraData;
|
|
const void *constTaskData;
|
|
SysTask *task;
|
|
} PoketchTaskManager;
|
|
|
|
#include "bg_window.h"
|
|
|
|
void PoketchTask_InitActiveTaskList(u32 *activeList, u32 numTaskSlots);
|
|
BOOL PoketchTask_TaskIsNotActive(u32 *activeList, u32 taskId);
|
|
BOOL PoketchTask_NoActiveTasks(u32 *activeList);
|
|
void PoketchTask_Start(const PoketchTask *appTasks, u32 taskId, void *taskData, const void *constTaskData, u32 *activeList, u32 taskPriority, u32 heapID);
|
|
void PoketchTask_EndTask(u32 *activeList, PoketchTaskManager *task);
|
|
void *PoketchTask_GetTaskData(PoketchTaskManager *taskMan);
|
|
const void *PoketchTask_GetConstTaskData(PoketchTaskManager *taskMan);
|
|
void *PoketchTask_GetExtraData(PoketchTaskManager *taskMan);
|
|
u32 PoketchTask_GetState(PoketchTaskManager *taskMan);
|
|
void PoketchTask_IncrementState(PoketchTaskManager *taskMan);
|
|
void PoketchTask_SetState(PoketchTaskManager *taskMan, u32 state);
|
|
void PoketchTask_UpdateTilemap2x2(u16 *tileBuffer, u32 x, u32 y, u32 bufferWidth, u32 tileIdx, u32 tilesetWidth, u32 palette);
|
|
void PoketchTask_MapToActivePaletteFromLuminance(u16 *rawData, u32 numPaletteEntries);
|
|
void PoketchTask_FillPaletteFromActivePaletteSlot(u32 slot, u32 offset);
|
|
void PoketchTask_LoadPokemonIconLuminancePalette(u32 offset);
|
|
void PoketchTask_LoadPokemonIcons(u32 offset, const u32 *iconIdxList, u32 numIcons, BOOL isLarge);
|
|
void ov25_02255440(BgConfig *bgConfig, u32 digit, u32 bgLayer);
|
|
|
|
#endif // POKEPLATINUM_POKETCH_TASK_H
|