mirror of https://github.com/zeldaret/tp.git
46 lines
1.1 KiB
C++
46 lines
1.1 KiB
C++
#ifndef JASRESARCLOADER_H
|
|
#define JASRESARCLOADER_H
|
|
|
|
#include "JSystem/JKernel/JKRArchive.h"
|
|
#include <dolphin/os.h>
|
|
|
|
namespace JASResArcLoader {
|
|
/* 80290BD0 */ size_t getResSize(JKRArchive const*, u16);
|
|
/* 80290C04 */ size_t getResMaxSize(JKRArchive const*);
|
|
/* 80290C7C */ static void loadResourceCallback(void*);
|
|
/* 80290D18 */ int loadResourceAsync(JKRArchive*, u16, u8*, u32, void (*)(u32, u32), u32);
|
|
};
|
|
|
|
class JKRArchive;
|
|
|
|
// from pikmin2
|
|
typedef void (*LoadCallback)(u32, u32);
|
|
|
|
enum ResArcMessage {
|
|
RESARCMSG_Error = -1,
|
|
RESARCMSG_Success = 0,
|
|
};
|
|
|
|
struct CallbackArgs {
|
|
inline CallbackArgs(u16 id, u8* buf, u32 size, JKRArchive* archive)
|
|
: mArchive(archive)
|
|
, mID(id)
|
|
, mBuffer(buf)
|
|
, mBufferSize(size)
|
|
, mCallback(0)
|
|
, mCallbackArg(0)
|
|
, mQueue(0)
|
|
{
|
|
}
|
|
|
|
JKRArchive* mArchive; // _00
|
|
u16 mID; // _04
|
|
u8* mBuffer; // _08
|
|
u32 mBufferSize; // _0C
|
|
LoadCallback mCallback; // _10
|
|
u32 mCallbackArg; // _14, arg to pass to mCallback along with readResource result
|
|
OSMessageQueue* mQueue; // _18
|
|
};
|
|
|
|
#endif /* JASRESARCLOADER_H */
|