Files
tww/src/JSystem/JParticle/JPADraw.cpp
T
Jasper St. Pierre 8874b5a9eb JPADraw start
2023-11-11 14:06:33 -08:00

227 lines
7.1 KiB
C++

//
// Generated by dtk
// Translation Unit: JPADraw.cpp
//
#include "JSystem/JParticle/JPADraw.h"
#include "JSystem/JParticle/JPABaseShape.h"
#include "JSystem/JParticle/JPAExtraShape.h"
#include "JSystem/JParticle/JPASweepShape.h"
#include "JSystem/JParticle/JPAResourceManager.h"
#include "JSystem/JUtility/JUTAssert.h"
#include "dolphin/types.h"
class JPADrawClipBoard {
public:
~JPADrawClipBoard();
};
class JPADrawVisitorContainer {
public:
JPADrawVisitorContainer();
~JPADrawVisitorContainer();
};
JPADrawVisitorContainer JPADraw::vc;
JPADrawClipBoard JPADraw::cb;
/* 80267F40-80268634 .text initialize__7JPADrawFP14JPABaseEmitterP18JPATextureResource */
bool JPADraw::initialize(JPABaseEmitter* emtr, JPATextureResource* texRes) {
/* Nonmatching */
JPADrawContext::pcb = &cb;
dc.pbe = emtr;
dc.pbsp = dc.pbe->getEmitterDataBlockInfoPtr()->getBaseShape();
dc.pesp = dc.pbe->getEmitterDataBlockInfoPtr()->getExtraShape();
dc.pssp = dc.pbe->getEmitterDataBlockInfoPtr()->getSweepShape();
dc.petx = dc.pbe->getEmitterDataBlockInfoPtr()->getExTexShape();
dc.mpDraw = this;
dc.mpTextureResource = texRes;
dc.pTexIdx = dc.pbe->getEmitterDataBlockInfoPtr()->getTextureDataBase();
dc.mpActiveParticles = &dc.pbe->mActiveParticles;
field_0xc2 = 0;
mScaleOut = 1.0f;
GXColor white = { 0xFF, 0xFF, 0xFF, 0xFF };
if (dc.pbsp->isEnablePrm()) {
if (!dc.pbsp->isEnablePrmAnm()) {
mPrmColor = dc.pbsp->getPrmColor();
}
} else {
mPrmColor = white;
}
if (dc.pbsp->isEnableEnv()) {
if (!dc.pbsp->isEnableEnvAnm()) {
mEnvColor = dc.pbsp->getEnvColor();
}
} else {
mEnvColor = white;
}
calcChldVisNum = 0;
calcPtclVisNum = 0;
execChldVisNum = 0;
execPtclVisNum = 0;
calcEmtrVisNum = 0;
execEmtrCVisNum = 0;
execEmtrPVisNum = 0;
execEmtrVisNum = 0;
for (u32 i = 0; i < ARRAY_SIZE(mpExecEmtrVis); i++)
mpExecEmtrVis[i] = NULL;
for (u32 i = 0; i < ARRAY_SIZE(mpExecEmtrPVis); i++)
mpExecEmtrPVis[i] = NULL;
for (u32 i = 0; i < ARRAY_SIZE(mpExecEmtrCVis); i++)
mpExecEmtrCVis[i] = NULL;
for (u32 i = 0; i < ARRAY_SIZE(mpCalcEmtrVis); i++)
mpCalcEmtrVis[i] = NULL;
for (u32 i = 0; i < ARRAY_SIZE(mpExecPtclVis); i++)
mpExecPtclVis[i] = NULL;
for (u32 i = 0; i < ARRAY_SIZE(mpExecChldVis); i++)
mpExecChldVis[i] = NULL;
for (u32 i = 0; i < ARRAY_SIZE(mpCalcPtclVis); i++)
mpCalcPtclVis[i] = NULL;
for (u32 i = 0; i < ARRAY_SIZE(mpCalcChldVis); i++)
mpCalcChldVis[i] = NULL;
JPADrawVisitorDefFlags flags;
flags.mbIsEnableDrawParent = dc.pssp != NULL && dc.pssp->isEnableDrawParent();
flags.mbHasPrmAnm = dc.pbsp->isEnablePrm() && dc.pbsp->isEnablePrmAnm();
flags.mbHasEnvAnm = dc.pbsp->isEnableEnv() && dc.pbsp->isEnableEnvAnm();
flags.mbIsStripe = dc.pbsp->getType() == JPABaseShape::JPAType_Stripe || dc.pbsp->getType() == JPABaseShape::JPAType_StripeCross;
flags.mbIsPointOrLine = dc.pbsp->getType() == JPABaseShape::JPAType_Point || dc.pbsp->getType() == JPABaseShape::JPAType_Line;
flags.mbIsEnableAlpha = dc.pesp != NULL && dc.pesp->isEnableAlpha();
setDrawExecVisitorsBeforeCB(flags);
// TODO: setup visitor container
// mpExecEmtrPVis[execEmtrVisNum++] = vc.something;
setDrawExecVisitorsAfterCB(flags);
setDrawCalcVisitors(flags);
JUT_ASSERT(0x65, execEmtrVisNum <= 1);
JUT_ASSERT(0x66, execEmtrPVisNum <= 5);
JUT_ASSERT(0x67, execEmtrCVisNum <= 3);
JUT_ASSERT(0x68, calcEmtrVisNum <= 4);
JUT_ASSERT(0x69, execPtclVisNum <= 5);
JUT_ASSERT(0x6a, execChldVisNum <= 4);
JUT_ASSERT(0x6b, calcPtclVisNum <= 10);
JUT_ASSERT(0x6c, calcChldVisNum <= 2);
return true;
}
/* 80268634-802688D4 .text draw__7JPADrawFPA4_f */
void JPADraw::draw(float(*)[4]) {
/* Nonmatching */
}
/* 802688D4-80268940 .text calc__7JPADrawFv */
void JPADraw::calc() {
/* Nonmatching */
}
/* 80268940-802689C4 .text calcParticle__7JPADrawFP15JPABaseParticle */
void JPADraw::calcParticle(JPABaseParticle*) {
/* Nonmatching */
}
/* 802689C4-80268A48 .text calcChild__7JPADrawFP15JPABaseParticle */
void JPADraw::calcChild(JPABaseParticle*) {
/* Nonmatching */
}
/* 80268A48-80268F28 .text initParticle__7JPADrawFP15JPABaseParticle */
void JPADraw::initParticle(JPABaseParticle*) {
/* Nonmatching */
}
/* 80268F28-802692A4 .text initChild__7JPADrawFP15JPABaseParticleP15JPABaseParticle */
void JPADraw::initChild(JPABaseParticle*, JPABaseParticle*) {
/* Nonmatching */
}
/* 802692A4-80269358 .text loadTexture__7JPADrawFUc11_GXTexMapID */
bool JPADraw::loadTexture(u8 tex_no, GXTexMapID texMap) {
JUT_ASSERT(0x17e, dc.pbe->getEmitterDataBlockInfoPtr()->getTextureNum() > tex_no);
JPATexture * tex = dc.mpTextureResource->pTexResArray[dc.pTexIdx[tex_no]];
tex->load(texMap);
return TRUE;
}
/* 80269358-80269C08 .text setDrawExecVisitorsBeforeCB__7JPADrawFRCQ27JPADraw22JPADrawVisitorDefFlags */
void JPADraw::setDrawExecVisitorsBeforeCB(const JPADraw::JPADrawVisitorDefFlags&) {
/* Nonmatching */
}
/* 80269C08-8026A2EC .text setDrawExecVisitorsAfterCB__7JPADrawFRCQ27JPADraw22JPADrawVisitorDefFlags */
void JPADraw::setDrawExecVisitorsAfterCB(const JPADraw::JPADrawVisitorDefFlags&) {
/* Nonmatching */
}
/* 8026A2EC-8026ADB0 .text setDrawCalcVisitors__7JPADrawFRCQ27JPADraw22JPADrawVisitorDefFlags */
void JPADraw::setDrawCalcVisitors(const JPADraw::JPADrawVisitorDefFlags&) {
/* Nonmatching */
}
/* 8026ADB0-8026B3DC .text setParticleClipBoard__7JPADrawFv */
void JPADraw::setParticleClipBoard() {
/* Nonmatching */
}
/* 8026B3DC-8026B938 .text setChildClipBoard__7JPADrawFv */
void JPADraw::setChildClipBoard() {
/* Nonmatching */
}
/* 8026B938-8026BC2C .text drawParticle__7JPADrawFv */
void JPADraw::drawParticle() {
/* Nonmatching */
}
/* 8026BC2C-8026BF88 .text drawChild__7JPADrawFv */
void JPADraw::drawChild() {
/* Nonmatching */
}
/* 8026BF88-8026C024 .text zDraw__7JPADrawFv */
void JPADraw::zDraw() {
/* Nonmatching */
field_0xc2 |= 0x01;
if (dc.pbsp->getChildOrder() && dc.pssp != NULL)
zDrawChild();
zDrawParticle();
if (!dc.pbsp->getChildOrder() && dc.pssp != NULL)
zDrawChild();
}
/* 8026C024-8026C24C .text zDrawParticle__7JPADrawFv */
void JPADraw::zDrawParticle() {
/* Nonmatching */
}
/* 8026C24C-8026C4DC .text zDrawChild__7JPADrawFv */
void JPADraw::zDrawChild() {
/* Nonmatching */
}
/* 8026C4DC-8026C640 .text loadYBBMtx__7JPADrawFPA4_f */
void JPADraw::loadYBBMtx(float(*)[4]) {
/* Nonmatching */
}
/* 8026C6C0-8026C6FC .text __dt__16JPADrawClipBoardFv */
JPADrawClipBoard::~JPADrawClipBoard() {
/* Nonmatching */
}
/* 8026C700-8026D2E0 .text __dt__23JPADrawVisitorContainerFv */
JPADrawVisitorContainer::~JPADrawVisitorContainer() {
/* Nonmatching */
}
/* 8026D2E0-8026D7B8 .text __ct__23JPADrawVisitorContainerFv */
JPADrawVisitorContainer::JPADrawVisitorContainer() {
/* Nonmatching */
}