mirror of
https://github.com/TwilitRealm/dusklight
synced 2026-05-25 07:02:47 -04:00
bd670ab091
daBaseNpc_c::setBckAnm and J3DAnmTransform* daBaseNpc_c daBaseNpc_c::setBtpAnm daBaseNpc_c::attnSttsOn daBaseNpc_c::orderEvent daBaseNpc_c::setEnvTevColor daBaseNpc_c::setRoomNo daBaseNpc_c::checkEndAnm attempt CheckCreateHeap daNpcF_addIdx daNpcF_subIdx daNpcF_incIdx daNpcF_decIdx daNpcF_ActorMngr_c::initialize() daNpcF_ActorMngr_c::entry cleanup daNpcF_ActorMngr_c::entry daNpcF_ActorMngr_c::remove daNpcF_ActorMngr_c::getActorP daNpcF_MatAnm_c::calc attempt daNpcF_SPCurve_c::initialize minor fixes daNpcF_Path_c::initialize daNpcF_Path_c::setPathInfo daNpcF_Path_c::chkPassed daNpcF_Path_c::reverse daNpcF_Path_c::setNextIdx daNpcF_Path_c::getNextIdx daNpcF_Path_c::getBeforeIdx daNpcF_Path_c::getBeforePos daNpcF_Path_c::getNextPos daNpcT_MatAnm_c::initialize daNpcT_MatAnm_c::calc daNpcT_addIdx daNpcT_subIdx daNpcT_decIdx daNpcT_Path_c::hermite daNpcT_Path_c::initialize daNpcT_Path_c::setPathInfo attempt daNpcT_Path_c::setNextPathInfo daNpcT_Path_c::reverse daNpcT_Path_c::setNextIdx daNpcT_Path_c::getDstPos attempt daNpcT_DmgStagger_c::setParam Add FLOAT_LABEL where possible fopEn_enemy / fix e_wb move jasper's jsystem work over d_attention / d_demo / d_lib work remove asm clean up dolphin files / work on some rels (#212) * d_a_alldie / d_a_tboxSw / d_a_tag_gstart / d_a_tag_hstop * dolphin OS work / cleanup * dolphin GX work / cleanup * finish changing dolphin files to C * more files into C * match rest of MSL_C math functions * more dolphin files converted to C * remove asm * d_bg_w work * remove asm * d_a_alink work / kytag14 initial changes to d_a_e_yc checkpoint until virtual destructor issue is solved daNpcF_Lookat_c::adjustMoveDisAngle daBaseNpc_c::setMtx daBaseNpc_moveBgActor_c::daBaseNpc_moveBgActor_c() daNpcT_c::ctrlFaceMotion daNpcT_c::ctrlMsgAnm attempt daNpcT_c::initTalk daNpcF_clearMessageTmpBit daNpcF_getDistTableIdx daNpcF_offTmpBit daNpcF_onTmpBit daNpcF_chkTmpBit daNpcF_onEvtBit daNpcF_chkEvtBit daNpcF_c::getDistTableIdx daNpcF_chkPointInArea daNpcF_chkDoBtnEqSpeak daNpcF_getPlayerInfoFromPlayerList attempt daNpcF_pntVsLineSegmentLengthSquare2D daNpcF_c::chkPointInArea daNpcF_c::chkPointInArea daNpcF_c::getAttentionPos daNpcT_chkTmpBit daNpcT_offTmpBit daNpcT_onTmpBit daNpcT_chkEvtBit daNpcT_offEvtBit daNpcT_onEvtBit daNpcT_chkDoBtnIsSpeak daNpcT_getDistTableIdx daBaseNpc_acMngr_c::entry daNpcF_c::initTalk undo override
168 lines
4.4 KiB
C++
168 lines
4.4 KiB
C++
#ifndef J3DPACKET_H
|
|
#define J3DPACKET_H
|
|
|
|
#include "JSystem/J3DGraphBase/J3DSys.h"
|
|
#include "dolphin/gd/GDBase.h"
|
|
#include "dolphin/mtx/mtx.h"
|
|
#include "dolphin/types.h"
|
|
|
|
class J3DMatPacket;
|
|
|
|
class J3DDrawBuffer;
|
|
class J3DMaterial;
|
|
class J3DMaterialAnm;
|
|
class J3DModel;
|
|
class J3DMtxBuffer;
|
|
class J3DShape;
|
|
class J3DTexMtx;
|
|
class J3DTexture;
|
|
|
|
class J3DDisplayListObj {
|
|
public:
|
|
J3DDisplayListObj() {
|
|
mpData[0] = NULL;
|
|
mpData[1] = NULL;
|
|
mSize = 0;
|
|
mCapacity = 0;
|
|
}
|
|
|
|
J3DError newDisplayList(u32);
|
|
J3DError newSingleDisplayList(u32);
|
|
J3DError single_To_Double();
|
|
void setSingleDisplayList(void*, u32);
|
|
void swapBuffer();
|
|
void callDL() const;
|
|
void beginDL();
|
|
u32 endDL();
|
|
void beginPatch();
|
|
u32 endPatch();
|
|
|
|
u8* getDisplayList(int idx) const { return (u8*)mpData[idx]; }
|
|
u32 getDisplayListSize() const { return mSize; }
|
|
|
|
static GDLObj sGDLObj;
|
|
static s32 sInterruptFlag;
|
|
|
|
/* 0x0 */ void* mpData[2];
|
|
/* 0x8 */ u32 mSize;
|
|
/* 0xC */ u32 mCapacity;
|
|
}; // Size: 0x10
|
|
|
|
class J3DPacket {
|
|
public:
|
|
J3DPacket() {
|
|
mpNextPacket = NULL;
|
|
mpFirstChild = NULL;
|
|
mpUserData = NULL;
|
|
}
|
|
|
|
void addChildPacket(J3DPacket*);
|
|
|
|
J3DPacket* getNextPacket() const { return mpNextPacket; }
|
|
void setNextPacket(J3DPacket* i_packet) { mpNextPacket = i_packet; }
|
|
|
|
void drawClear() {
|
|
mpNextPacket = NULL;
|
|
mpFirstChild = NULL;
|
|
}
|
|
|
|
void setUserArea(u32 area) { mpUserData = (void*)area; }
|
|
|
|
virtual int entry(J3DDrawBuffer*);
|
|
virtual void draw();
|
|
virtual ~J3DPacket() {}
|
|
|
|
public:
|
|
/* 0x04 */ J3DPacket* mpNextPacket;
|
|
/* 0x08 */ J3DPacket* mpFirstChild;
|
|
/* 0x0C */ void* mpUserData;
|
|
}; // Size: 0x10
|
|
|
|
class J3DDrawPacket : public J3DPacket {
|
|
public:
|
|
J3DDrawPacket();
|
|
~J3DDrawPacket();
|
|
J3DError newDisplayList(u32);
|
|
J3DError newSingleDisplayList(u32);
|
|
virtual void draw();
|
|
|
|
J3DDisplayListObj* getDisplayListObj() const { return mpDisplayListObj; }
|
|
void setDisplayListObj(J3DDisplayListObj* pObj) { mpDisplayListObj = pObj; }
|
|
|
|
void callDL() const { getDisplayListObj()->callDL(); }
|
|
|
|
enum {
|
|
LOCKED = 0x01,
|
|
};
|
|
|
|
bool checkFlag(u32 flag) const { return (mFlags & flag) != 0; }
|
|
void onFlag(u32 flag) { mFlags |= flag; }
|
|
void offFlag(u32 flag) { mFlags &= ~flag; }
|
|
void lock() { onFlag(LOCKED); }
|
|
void unlock() { offFlag(LOCKED); }
|
|
J3DTexMtx* getTexMtxObj() const { return mpTexMtx; }
|
|
|
|
public:
|
|
/* 0x10 */ u32 mFlags;
|
|
/* 0x14 */ char mPad0[0x0C]; // unk
|
|
/* 0x20 */ J3DDisplayListObj* mpDisplayListObj;
|
|
/* 0x24 */ J3DTexMtx* mpTexMtx;
|
|
}; // Size: 0x28
|
|
|
|
class J3DShapePacket : public J3DDrawPacket {
|
|
public:
|
|
J3DShapePacket();
|
|
u32 calcDifferedBufferSize(u32);
|
|
J3DError newDifferedDisplayList(u32);
|
|
void prepareDraw() const;
|
|
void drawFast();
|
|
|
|
virtual ~J3DShapePacket();
|
|
virtual void draw();
|
|
|
|
void setShape(J3DShape* pShape) { mpShape = pShape; }
|
|
void setModel(J3DModel* pModel) { mpModel = pModel; }
|
|
void setMtxBuffer(J3DMtxBuffer* pMtxBuffer) { mpMtxBuffer = pMtxBuffer; }
|
|
void setBaseMtxPtr(Mtx* pMtx) { mpBaseMtxPtr = pMtx; }
|
|
|
|
J3DShape* getShape() const { return mpShape; }
|
|
J3DModel* getModel() const { return mpModel; }
|
|
Mtx* getBaseMtxPtr() const { return mpBaseMtxPtr; }
|
|
|
|
public:
|
|
/* 0x28 */ J3DShape* mpShape;
|
|
/* 0x2C */ J3DMtxBuffer* mpMtxBuffer;
|
|
/* 0x30 */ Mtx* mpBaseMtxPtr;
|
|
/* 0x34 */ u32 mDiffFlag;
|
|
/* 0x38 */ J3DModel* mpModel;
|
|
}; // Size: 0x3C
|
|
|
|
class J3DMatPacket : public J3DDrawPacket {
|
|
public:
|
|
J3DMatPacket();
|
|
void addShapePacket(J3DShapePacket*);
|
|
void beginDiff();
|
|
void endDiff();
|
|
bool isSame(J3DMatPacket*) const;
|
|
|
|
J3DMaterial* getMaterial() const { return mpMaterial; }
|
|
J3DShapePacket* getShapePacket() const { return mpShapePacket; }
|
|
void setShapePacket(J3DShapePacket* packet) { mpShapePacket = packet; }
|
|
void setInitShapePacket(J3DShapePacket* packet) { mpInitShapePacket = packet; }
|
|
bool isChanged() const { return mDiffFlag < 0; }
|
|
|
|
virtual ~J3DMatPacket();
|
|
virtual int entry(J3DDrawBuffer*);
|
|
virtual void draw();
|
|
|
|
public:
|
|
/* 0x28 */ J3DShapePacket* mpInitShapePacket;
|
|
/* 0x2C */ J3DShapePacket* mpShapePacket;
|
|
/* 0x30 */ J3DMaterial* mpMaterial;
|
|
/* 0x34 */ u32 mDiffFlag;
|
|
/* 0x38 */ J3DTexture* mpTexture;
|
|
/* 0x3C */ J3DMaterialAnm* mpMaterialAnm;
|
|
}; // Size: 0x40
|
|
|
|
#endif /* J3DPACKET_H */
|