mirror of
https://github.com/TwilitRealm/dusklight
synced 2026-05-26 23:26:45 -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
78 lines
2.5 KiB
C
78 lines
2.5 KiB
C
#ifndef J3DSHAPEFACTORY_H
|
|
#define J3DSHAPEFACTORY_H
|
|
|
|
#include "dolphin/gx/GX.h"
|
|
#include "dolphin/types.h"
|
|
|
|
struct J3DShape;
|
|
struct J3DShapeMtx;
|
|
struct J3DShapeDraw;
|
|
struct ResNTAB;
|
|
|
|
struct J3DShapeInitData {
|
|
/* 0x00 */ u8 mShapeMtxType;
|
|
/* 0x02 */ u16 mMtxGroupNum;
|
|
/* 0x04 */ u16 mVtxDescListIndex;
|
|
/* 0x06 */ u16 mMtxInitDataIndex;
|
|
/* 0x08 */ u16 mDrawInitDataIndex;
|
|
/* 0x0C */ f32 mRadius;
|
|
/* 0x10 */ Vec mMin;
|
|
/* 0x1C */ Vec mMax;
|
|
};
|
|
|
|
struct J3DShapeMtxInitData {
|
|
/* 0x00 */ u16 mUseMtxIndex;
|
|
/* 0x02 */ u16 mUseMtxCount;
|
|
/* 0x04 */ u32 mFirstUseMtxIndex;
|
|
};
|
|
|
|
struct J3DShapeDrawInitData {
|
|
/* 0x00 */ u32 mDisplayListSize;
|
|
/* 0x04 */ u32 mDisplayListIndex;
|
|
};
|
|
|
|
struct J3DShapeBlock {
|
|
/* 0x00 */ u8 mMagic[4];
|
|
/* 0x04 */ u32 mSize;
|
|
|
|
/* 0x08 */ u16 mShapeNum;
|
|
/* 0x0A */ u16 _pad;
|
|
|
|
/* 0x0C */ J3DShapeInitData* mShapeInitData;
|
|
/* 0x10 */ u16* mIndexTable;
|
|
/* 0x14 */ ResNTAB* mNameTable;
|
|
/* 0x18 */ GXVtxDescList* mVtxDescList;
|
|
/* 0x1C */ u16* mMtxTable;
|
|
/* 0x20 */ u8* mDisplayListData;
|
|
/* 0x24 */ J3DShapeMtxInitData* mMtxInitData;
|
|
/* 0x28 */ J3DShapeDrawInitData* mDrawInitData;
|
|
};
|
|
|
|
struct J3DShapeFactory {
|
|
/* 80337350 */ J3DShapeFactory(J3DShapeBlock const&);
|
|
/* 80337400 */ J3DShape* create(int, u32, GXVtxDescList*);
|
|
/* 803375BC */ J3DShapeMtx* newShapeMtx(u32, int, int) const;
|
|
/* 8033784C */ J3DShapeDraw* newShapeDraw(int, int) const;
|
|
/* 803378D8 */ void allocVcdVatCmdBuffer(u32);
|
|
/* 80337944 */ s32 calcSize(int, u32);
|
|
/* 803379D8 */ s32 calcSizeVcdVatCmdBuffer(u32);
|
|
/* 803379E8 */ s32 calcSizeShapeMtx(u32, int, int) const;
|
|
|
|
/* 0x00 */ J3DShapeInitData* mShapeInitData;
|
|
/* 0x04 */ u16* mIndexTable;
|
|
/* 0x08 */ GXVtxDescList* mVtxDescList;
|
|
/* 0x0C */ u16* mMtxTable;
|
|
/* 0x10 */ u8* mDisplayListData;
|
|
/* 0x14 */ J3DShapeMtxInitData* mMtxInitData;
|
|
/* 0x18 */ J3DShapeDrawInitData* mDrawInitData;
|
|
/* 0x1C */ u8* mVcdVatCmdBuffer;
|
|
|
|
u32 getMtxGroupNum(int no) const { return mShapeInitData[mIndexTable[no]].mMtxGroupNum; }
|
|
GXVtxDescList* getVtxDescList(int no) const { return (GXVtxDescList*)((u8*)mVtxDescList + mShapeInitData[mIndexTable[no]].mVtxDescListIndex); }
|
|
f32 getRadius(int no) const { return mShapeInitData[mIndexTable[no]].mRadius; }
|
|
Vec& getMin(int no) const { return mShapeInitData[mIndexTable[no]].mMin; }
|
|
Vec& getMax(int no) const { return mShapeInitData[mIndexTable[no]].mMax; }
|
|
};
|
|
|
|
|
|
#endif /* J3DSHAPEFACTORY_H */ |