mirror of https://github.com/zeldaret/tp.git
46 lines
1.0 KiB
C++
46 lines
1.0 KiB
C++
#ifndef JPAEXTEXSHAPE_H
|
|
#define JPAEXTEXSHAPE_H
|
|
|
|
#include "dolphin/types.h"
|
|
|
|
class JPAEmitterWorkData;
|
|
|
|
/**
|
|
* @ingroup jsystem-jparticle
|
|
*
|
|
*/
|
|
struct JPAExTexShapeData {
|
|
// Common header.
|
|
/* 0x00 */ u8 mMagic[4];
|
|
/* 0x04 */ u32 mSize;
|
|
|
|
/* 0x08 */ u32 mFlags;
|
|
/* 0x0C */ f32 mIndTexMtx[2][3];
|
|
/* 0x24 */ s8 mExpScale;
|
|
/* 0x25 */ s8 mIndTexIdx;
|
|
/* 0x26 */ s8 mSecTexIdx;
|
|
};
|
|
|
|
/**
|
|
* @ingroup jsystem-jparticle
|
|
*
|
|
*/
|
|
class JPAExTexShape {
|
|
public:
|
|
/* 8027B13C */ JPAExTexShape(u8 const*);
|
|
|
|
const f32* getIndTexMtx() const { return &mpData->mIndTexMtx[0][0]; }
|
|
s8 getExpScale() const { return mpData->mExpScale; }
|
|
u8 getIndTexIdx() const { return mpData->mIndTexIdx; }
|
|
u8 getSecTexIdx() const { return mpData->mSecTexIdx; }
|
|
bool isUseIndirect() const { return !!(mpData->mFlags & 0x01); }
|
|
bool isUseSecTex() const { return !!(mpData->mFlags & 0x0100); }
|
|
|
|
public:
|
|
const JPAExTexShapeData* mpData;
|
|
};
|
|
|
|
void JPALoadExTex(JPAEmitterWorkData*);
|
|
|
|
#endif /* JPAEXTEXSHAPE_H */
|