mirror of
https://github.com/zeldaret/tww.git
synced 2026-05-23 15:01:33 -04:00
84 lines
2.7 KiB
C++
84 lines
2.7 KiB
C++
#ifndef JPADRAW_H
|
|
#define JPADRAW_H
|
|
|
|
#include "dolphin/types.h"
|
|
#include "dolphin/gx/GXStruct.h"
|
|
#include "dolphin/gx/GXEnum.h"
|
|
#include "dolphin/mtx/mtx.h"
|
|
#include "JSystem/JParticle/JPAParticle.h"
|
|
|
|
class JPABaseShapeArc;
|
|
class JPAExtraShapeArc;
|
|
class JPASweepShapeArc;
|
|
class JPAExTexShapeArc;
|
|
class JPATextureResource;
|
|
class JPABaseEmitter;
|
|
class JPABaseParticle;
|
|
|
|
class JPADraw;
|
|
class JPADrawExecEmitterVisitor;
|
|
class JPADrawExecParticleVisitor;
|
|
|
|
class JPADrawContext {
|
|
/* 0x00 */ JPABaseEmitter* mpBaseEmitter;
|
|
/* 0x04 */ JPABaseShapeArc* mpBaseArc;
|
|
/* 0x08 */ JPAExtraShapeArc* mpExtraArc;
|
|
/* 0x0C */ JPASweepShapeArc* mpSweepArc;
|
|
/* 0x10 */ JPAExTexShapeArc* mpExTexShape;
|
|
/* 0x14 */ JPADraw* mpDraw;
|
|
/* 0x18 */ JSUPtrList* mpActiveParticles;
|
|
/* 0x1C */ JPATextureResource* mpTextureResource;
|
|
/* 0x20 */ s16* mpTexIdxArray;
|
|
};
|
|
|
|
class JPADraw {
|
|
public:
|
|
enum JPADrawVisitorDefFlags {};
|
|
|
|
void initialize(JPABaseEmitter*, JPATextureResource*);
|
|
void draw(MtxP);
|
|
void calc();
|
|
void calcParticle(JPABaseParticle*);
|
|
void calcChild(JPABaseParticle*);
|
|
void initParticle(JPABaseParticle*);
|
|
void initChild(JPABaseParticle*, JPABaseParticle*);
|
|
void loadTexture(unsigned char, _GXTexMapID);
|
|
void setDrawExecVisitorsBeforeCB(const JPADraw::JPADrawVisitorDefFlags&);
|
|
void setDrawExecVisitorsAfterCB(const JPADraw::JPADrawVisitorDefFlags&);
|
|
void setDrawCalcVisitors(const JPADraw::JPADrawVisitorDefFlags&);
|
|
void setParticleClipBoard();
|
|
void setChildClipBoard();
|
|
void drawParticle();
|
|
void drawChild();
|
|
void zDraw();
|
|
void zDrawParticle();
|
|
void zDrawChild();
|
|
void loadYBBMtx(MtxP);
|
|
|
|
/* 0x00 */ JPADrawExecEmitterVisitor* mpExecEmtrVis[1];
|
|
/* 0x04 */ JPADrawExecEmitterVisitor* mpExecEmtrPVis[5];
|
|
/* 0x18 */ JPADrawExecEmitterVisitor* mpExecEmtrCVis[3];
|
|
/* 0x24 */ JPADrawExecParticleVisitor* mpCalcEmtrVis[4];
|
|
/* 0x34 */ JPADrawExecParticleVisitor* mpExecPtclVis[5];
|
|
/* 0x48 */ JPADrawExecParticleVisitor* mpCalcPtclVis[10];
|
|
/* 0x70 */ JPADrawExecParticleVisitor* mpExecChldVis[4];
|
|
/* 0x80 */ JPADrawExecParticleVisitor* mpCalcChldVis[2];
|
|
/* 0x88 */ u8 mExecEmtrVisNum;
|
|
/* 0x89 */ u8 mExecEmtrPVisNum;
|
|
/* 0x8A */ u8 mExecEmtrCVisNum;
|
|
/* 0x8B */ u8 mCalcEmtrVisNum;
|
|
/* 0x8C */ u8 mExecPtclVisNum;
|
|
/* 0x8D */ u8 mCalcPtclVisNum;
|
|
/* 0x8E */ u8 mExecChldVisNum;
|
|
/* 0x8F */ u8 mCalcChldVisNum;
|
|
/* 0x90 */ JPADrawContext mDrawContext;
|
|
/* 0xB4 */ f32 mScaleOut;
|
|
/* 0xB8 */ GXColor mPrmColor;
|
|
/* 0xBC */ GXColor mEnvColor;
|
|
/* 0xC0 */ s16 mTexIdx;
|
|
/* 0xC2 */ u8 field_0xc2;
|
|
/* 0xC3 */ u8 field_0xC3[0xC4 - 0xC3];
|
|
};
|
|
|
|
#endif /* JPADRAW_H */
|