marioparty4/include/game/data.h
2023-12-25 16:26:49 -06:00

67 lines
No EOL
1.7 KiB
C

#ifndef _GAME_DATA_H
#define _GAME_DATA_H
#include "game/dvd.h"
#define DATA_DECODE_NONE 0
#define DATA_DECODE_LZ 1
#define DATA_DECODE_SLIDE 2
#define DATA_DECODE_FSLIDE_ALT 3
#define DATA_DECODE_FSLIDE 4
#define DATA_DECODE_RLE 5
#define MAKE_DATA_NUM(dir, file) (((dir) << 16)+(file))
#define MAKE_DIR_NUM(dir) ((dir) << 16)
#define DATA_NUM_LISTEND -1
#include "dolphin/types.h"
#define DATADIR_DEFINE(name, path) name,
typedef enum {
#include "datadir_table.h"
DATADIR_COUNT
} DataDirID;
#undef DATADIR_DEFINE
typedef struct data_read_stat {
s32 dir_id;
void *dir;
void *file;
u32 raw_len;
u32 comp_type;
BOOL used;
s32 num;
u32 status;
DVDFileInfo file_info;
} DataReadStat;
void HuDataInit(void);
int HuDataReadChk(s32 data_num);
DataReadStat *HuDataGetStatus(void *dir_ptr);
void *HuDataGetDirPtr(s32 data_num);
DataReadStat *HuDataDirRead(s32 data_num);
DataReadStat *HuDataDirReadNum(s32 data_num, s32 num);
DataReadStat *HuDataDirSet(void *dir_ptr, s32 data_num);
void HuDataDirReadAsyncCallBack(s32 result, DVDFileInfo* fileInfo);
s32 HuDataDirReadAsync(s32 data_num);
s32 HuDataDirReadNumAsync(s32 data_num, s32 num);
BOOL HuDataGetAsyncStat(s32 status);
void *HuDataRead(s32 data_num);
void *HuDataReadNum(s32 data_num, s32 num);
void *HuDataSelHeapRead(s32 data_num, HeapID heap);
void *HuDataSelHeapReadNum(s32 data_num, s32 num, HeapID heap);
void **HuDataReadMulti(s32 *data_ids);
s32 HuDataGetSize(s32 data_num);
void HuDataClose(void *ptr);
void HuDataCloseMulti(void **ptrs);
void HuDataDirClose(s32 data_id);
void HuDataDirCloseNum(s32 num);
void *HuDataReadNumHeapShortForce(s32 data_id, s32 num, HeapID heap);
void HuDecodeData(void *src, void *dst, u32 size, int decode_type);
#endif