mirror of
https://github.com/zeldaret/tww.git
synced 2026-05-23 06:54:16 -04:00
59 lines
1.4 KiB
C++
59 lines
1.4 KiB
C++
#ifndef JPARESOURCEMANAGER_H
|
|
#define JPARESOURCEMANAGER_H
|
|
|
|
#include "dolphin/gx/GX.h"
|
|
#include "JSystem/JParticle/JPATexture.h"
|
|
|
|
class JKRHeap;
|
|
class JPATexture;
|
|
struct JPAEmitterData;
|
|
struct ResTIMG;
|
|
|
|
class JPATextureResource {
|
|
public:
|
|
JPATextureResource(u32, JKRHeap*);
|
|
void registration(JPATexture*);
|
|
|
|
inline void load(u16 id, GXTexMapID texMap) {
|
|
pTexResArray[id]->load(texMap);
|
|
}
|
|
|
|
inline void loadDefaultTexture(GXTexMapID texMap) {
|
|
defaultTex.load(texMap);
|
|
}
|
|
|
|
public:
|
|
/* 0x00 */ JPADefaultTexture defaultTex;
|
|
/* 0x24 */ u32 registNum;
|
|
/* 0x28 */ u32 maxNum;
|
|
/* 0x2C */ JPATexture** pTexResArray;
|
|
};
|
|
|
|
class JPAEmitterResource {
|
|
public:
|
|
JPAEmitterResource(u32, JKRHeap*);
|
|
void registration(JPAEmitterData*, u16);
|
|
JPAEmitterData * getByUserIndex(u16);
|
|
bool checkUserIndexDuplication(u16);
|
|
|
|
public:
|
|
/* 0x00 */ u32 registNum;
|
|
/* 0x04 */ u32 maxNum;
|
|
/* 0x08 */ JPAEmitterData** pEmtrResArray;
|
|
};
|
|
|
|
class JPAResourceManager {
|
|
public:
|
|
JPAResourceManager(const void*, JKRHeap*);
|
|
const ResTIMG* swapTexture(const ResTIMG*, const char*);
|
|
JPATextureResource * getTextureResource() { return pTexRes; }
|
|
JPAEmitterResource * getEmitterResource() { return pEmtrRes; }
|
|
|
|
public:
|
|
/* 0x00 */ JKRHeap * pHeap;
|
|
/* 0x04 */ JPAEmitterResource * pEmtrRes;
|
|
/* 0x08 */ JPATextureResource * pTexRes;
|
|
};
|
|
|
|
#endif /* JPARESOURCEMANAGER_H */
|