mirror of
https://github.com/zeldaret/tww.git
synced 2026-06-14 06:04:22 -04:00
Documentation and some matching functions
This commit is contained in:
@@ -60,6 +60,11 @@ class dPa_smokeEcallBack : dPa_followEcallBack {
|
||||
public:
|
||||
dPa_smokeEcallBack(u8);
|
||||
virtual ~dPa_smokeEcallBack();
|
||||
|
||||
virtual void execute(JPABaseEmitter*);
|
||||
virtual void draw(JPABaseEmitter*);
|
||||
virtual void setup(JPABaseEmitter*, cXyz const*, csXyz const*, s8);
|
||||
virtual void end();
|
||||
|
||||
/* 0x14 */ s8 field_0x14;
|
||||
/* 0x15 */ u8 field_0x15;
|
||||
@@ -267,4 +272,4 @@ public:
|
||||
/* 0x001C */ dPa_simpleEcallBack mSimpleCallbacks[25];
|
||||
};
|
||||
|
||||
#endif /* D_PARTICLE */
|
||||
#endif /* D_PARTICLE */
|
||||
|
||||
+117
-20
@@ -4,6 +4,8 @@
|
||||
//
|
||||
|
||||
#include "f_op/f_op_actor_mng.h"
|
||||
#include "f_op/f_op_msg.h"
|
||||
#include "f_op/f_op_draw_tag.h"
|
||||
#include "JSystem/JKernel/JKRHeap.h"
|
||||
#include "JSystem/JUtility/JUTAssert.h"
|
||||
#include "JSystem/J3DGraphBase/J3DSys.h"
|
||||
@@ -11,6 +13,7 @@
|
||||
#include "d/d_com_inf_game.h"
|
||||
#include "d/d_bg_s_movebg_actor.h"
|
||||
#include "d/d_item_data.h"
|
||||
#include "d/d_particle.h"
|
||||
#include "m_Do/m_Do_ext.h"
|
||||
#include "dolphin/types.h"
|
||||
|
||||
@@ -71,7 +74,7 @@ namespace daObjMknjD {
|
||||
|
||||
void setGoal(int);
|
||||
void setPlayerAngle(int);
|
||||
void talk(int);
|
||||
u32 talk(int);
|
||||
void privateCut();
|
||||
void daObjMknjD_break();
|
||||
|
||||
@@ -80,10 +83,11 @@ namespace daObjMknjD {
|
||||
|
||||
static const char M_arcname[];
|
||||
|
||||
/* 0x02C8 */ cXyz m02C8;
|
||||
/* 0x02D4 */ cXyz m02D4;
|
||||
/* 0x02E0 */ cXyz m02E0[0x14];
|
||||
/* 0x03D0 */ float m03D0[0x14];
|
||||
/* 0x02C8 */ cXyz mLeftHalfPos;
|
||||
/* 0x02D4 */ cXyz mRightHalfPos;
|
||||
|
||||
/* 0x02E0 */ cXyz mShardPositions[0x14];
|
||||
/* 0x03D0 */ float mShardHeights[0x14];
|
||||
|
||||
/* 0x0420 */ request_of_phase_process_class mPhs;
|
||||
|
||||
@@ -93,14 +97,39 @@ namespace daObjMknjD {
|
||||
/* 0x0430 */ u16 m0430;
|
||||
/* 0x0432 */ u16 m0432;
|
||||
/* 0x0434 */ u16 m0434;
|
||||
/* 0x0438 */ u32 m0438;
|
||||
/* 0x0438 */ u32 mBreakTimer;
|
||||
|
||||
/* 0x043C */ u8 m043C;
|
||||
/* 0x043C */ u8 mModel0Alpha;
|
||||
/* 0x043D */ bool m043D;
|
||||
/* 0x043E */ u8 m043E;
|
||||
/* 0x043F */ u8 m043F;
|
||||
|
||||
/* 0x04E2 */ s16 m04E2;
|
||||
/* 0x0440 */ JPABaseEmitter* mEmitter0;
|
||||
/* 0x0444 */ JPABaseEmitter* mEmitter1;
|
||||
/* 0x0448 */ JPABaseEmitter* mEmitter2;
|
||||
/* 0x044C */ JPABaseEmitter* mEmitter3;
|
||||
|
||||
/* 0x0450 */ dPa_smokeEcallBack mSmokeCBs[4];
|
||||
|
||||
/* 0x04D0 */ cXyz m04D0;
|
||||
|
||||
/* 0x04DC */ s16 mCheckEventIdx;
|
||||
/* 0x04DE */ s16 mDemoEventIdx;
|
||||
/* 0x04E0 */ s16 mErrorEventIdx;
|
||||
/* 0x04E2 */ s16 mLessonEventIdx;
|
||||
|
||||
/* 0x04E4 */ u8 mActionIdx;
|
||||
/* 0x04E5 */ u8 mTactMode;
|
||||
/* 0x04E6 */ u8 mGiveItemId;
|
||||
|
||||
/* 0x04E8 */ cXyz mGoalPos;
|
||||
|
||||
/* 0x04F4 */ u32 mMsgId;
|
||||
/* 0x04F8 */ u32 mMsgInstId;
|
||||
/* 0x04FC */ msg_class* mMsgPtr;
|
||||
|
||||
/* 0x0500 */ s32 m0500;
|
||||
/* 0x0504 */ bool m0504;
|
||||
};
|
||||
|
||||
const char Act_c::M_arcname[] = "MknjD";
|
||||
@@ -141,8 +170,7 @@ s16 daObjMknjD::Act_c::XyCheckCB(int i_itemIdx) {
|
||||
|
||||
/* 00000314-0000031C .text XyEventCB__Q210daObjMknjD5Act_cFi */
|
||||
s16 daObjMknjD::Act_c::XyEventCB(int) {
|
||||
/* Nonmatching */
|
||||
return m04E2;
|
||||
return mLessonEventIdx;
|
||||
}
|
||||
|
||||
/* 0000031C-00000620 .text CreateHeap__Q210daObjMknjD5Act_cFv */
|
||||
@@ -165,13 +193,17 @@ s32 daObjMknjD::Act_c::Mthd_Create() {
|
||||
|
||||
/* 00000B64-00000BDC .text Delete__Q210daObjMknjD5Act_cFv */
|
||||
int daObjMknjD::Act_c::Delete() {
|
||||
/* Nonmatching */
|
||||
return 0;
|
||||
dComIfGp_getAttention().mFlags &= 0x7fffffff;
|
||||
|
||||
for (int i = 0; i < 4; i++) {
|
||||
mSmokeCBs[i].end();
|
||||
}
|
||||
|
||||
return 1;
|
||||
}
|
||||
|
||||
/* 00000BDC-00000C34 .text Mthd_Delete__Q210daObjMknjD5Act_cFv */
|
||||
s32 daObjMknjD::Act_c::Mthd_Delete() {
|
||||
/* Nonmatching */
|
||||
int bgDeleteResult = MoveBGDelete();
|
||||
|
||||
if (mBase.mUnk2 != 3) {
|
||||
@@ -202,8 +234,50 @@ void daObjMknjD::Act_c::setPlayerAngle(int) {
|
||||
}
|
||||
|
||||
/* 00000E84-00000F88 .text talk__Q210daObjMknjD5Act_cFi */
|
||||
void daObjMknjD::Act_c::talk(int) {
|
||||
/* Nonmatching */
|
||||
u32 daObjMknjD::Act_c::talk(int i_param1) {
|
||||
u32 msgMode = 0xFF;
|
||||
|
||||
if (mMsgInstId == 0xFFFFFFFF) {
|
||||
if (i_param1 == 1) {
|
||||
u32 msgId;
|
||||
|
||||
if (m0500 == 0) {
|
||||
g_dComIfG_gameInfo.play.mTactMode = mTactMode;
|
||||
msgId = 0x05B3;
|
||||
}
|
||||
else {
|
||||
msgId = 0x1901;
|
||||
}
|
||||
|
||||
mMsgId = msgId;
|
||||
}
|
||||
|
||||
mMsgInstId = fopMsgM_messageSet(mMsgId, this);
|
||||
mMsgPtr = NULL;
|
||||
}
|
||||
else {
|
||||
if (mMsgPtr) {
|
||||
msgMode = mMsgPtr->mMode;
|
||||
|
||||
if (msgMode == 0x0E) {
|
||||
if (g_dComIfG_gameInfo.play.field_0x4949 != 0) {
|
||||
m0504 = true;
|
||||
fopMsgM_messageSendOn();
|
||||
}
|
||||
|
||||
mMsgPtr->mMode = 0x10;
|
||||
}
|
||||
else if (msgMode == 0x12) {
|
||||
mMsgPtr->mMode = 0x13;
|
||||
mMsgInstId = 0xFFFFFFFF;
|
||||
}
|
||||
}
|
||||
else {
|
||||
mMsgPtr = fopMsgM_SearchByID(mMsgInstId);
|
||||
}
|
||||
}
|
||||
|
||||
return msgMode;
|
||||
}
|
||||
|
||||
/* 00000F88-00001348 .text privateCut__Q210daObjMknjD5Act_cFv */
|
||||
@@ -212,8 +286,32 @@ void daObjMknjD::Act_c::privateCut() {
|
||||
}
|
||||
|
||||
/* 00001348-00001400 .text manage_friend_draw__10daObjMknjDFi */
|
||||
void daObjMknjD::manage_friend_draw(int) {
|
||||
/* Nonmatching */
|
||||
void daObjMknjD::manage_friend_draw(int i_param1) {
|
||||
u16 medliProc = PROC_NPC_MD;
|
||||
fopAc_ac_c* judgeResult = static_cast<fopAc_ac_c*>(fopAcIt_Judge(fpcSch_JudgeForPName, &medliProc));
|
||||
|
||||
if (judgeResult != NULL) {
|
||||
if (i_param1 == 1) {
|
||||
u32 prio = fpcLf_GetPriority(judgeResult);
|
||||
fopDwTg_ToDrawQ(&judgeResult->mDwTg, prio);
|
||||
}
|
||||
else {
|
||||
fopDwTg_DrawQTo(&judgeResult->mDwTg);
|
||||
}
|
||||
}
|
||||
|
||||
u16 makarProc = PROC_NPC_CB1;
|
||||
judgeResult = static_cast<fopAc_ac_c*>(fopAcIt_Judge(fpcSch_JudgeForPName, &makarProc));
|
||||
|
||||
if (judgeResult != NULL) {
|
||||
if (i_param1 == 1) {
|
||||
u32 prio = fpcLf_GetPriority(judgeResult);
|
||||
fopDwTg_ToDrawQ(&judgeResult->mDwTg, prio);
|
||||
}
|
||||
else {
|
||||
fopDwTg_DrawQTo(&judgeResult->mDwTg);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/* 00001400-0000195C .text daObjMknjD_break__Q210daObjMknjD5Act_cFv */
|
||||
@@ -255,8 +353,7 @@ void daObjMknjD::setMaterial(J3DMaterial* i_mat, u8 i_alpha) {
|
||||
i_mat->getPEBlock()->getBlend()->setDstFactor(5);
|
||||
}
|
||||
|
||||
GXColor* tevKColor = i_mat->getTevKColor(3);
|
||||
tevKColor->a = i_alpha;
|
||||
i_mat->getTevKColor(3)->a = i_alpha;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -274,7 +371,7 @@ int daObjMknjD::Act_c::Draw() {
|
||||
J3DModelData* mdlData = mModel0->getModelData();
|
||||
u16 jointCount = mdlData->getJointNum();
|
||||
for (u16 i = 0; i < jointCount; i++) {
|
||||
setMaterial(mdlData->getJointNodePointer(i)->getMesh(), m043C);
|
||||
setMaterial(mdlData->getJointNodePointer(i)->getMesh(), mModel0Alpha);
|
||||
}
|
||||
|
||||
dComIfGd_setListSky();
|
||||
|
||||
Reference in New Issue
Block a user