mirror of
https://github.com/zeldaret/tww.git
synced 2026-07-08 21:54:50 -04:00
Execute to 90%
This commit is contained in:
@@ -110,7 +110,7 @@ public:
|
||||
virtual void checkCutCharge() const;
|
||||
virtual void getBokoFlamePos(cXyz*);
|
||||
virtual void checkTactWait() const;
|
||||
virtual void setTactZev(unsigned int, int, char*);
|
||||
virtual void setTactZev(unsigned int, int, const char*);
|
||||
virtual void onDekuSpReturnFlg(u8);
|
||||
virtual void checkComboCutTurn() const;
|
||||
virtual f32 getBaseAnimeFrameRate() = 0;
|
||||
|
||||
@@ -837,6 +837,10 @@ inline fopAc_ac_c* dComIfGp_getPlayer(int idx) {
|
||||
return g_dComIfG_gameInfo.play.getPlayer(idx);
|
||||
}
|
||||
|
||||
inline fopAc_ac_c* dComIfGp_getCb1Player() {
|
||||
return g_dComIfG_gameInfo.play.getPlayerPtr(1);
|
||||
}
|
||||
|
||||
inline roomRead_class* dComIfGp_getStageRoom() {
|
||||
return g_dComIfG_gameInfo.play.getStage().getRoom();
|
||||
}
|
||||
@@ -1195,6 +1199,10 @@ inline fopAc_ac_c* dComIfGp_event_getTalkPartner() {
|
||||
return g_dComIfG_gameInfo.play.getEvent().convPId(t);
|
||||
}
|
||||
|
||||
inline void dComIfGp_event_setTalkPartner(void* i_actor) {
|
||||
g_dComIfG_gameInfo.play.getEvent().setPtT(i_actor);
|
||||
}
|
||||
|
||||
inline fopAc_ac_c* dComIfGp_event_getItemPartner() {
|
||||
u32 i = g_dComIfG_gameInfo.play.getEvent().mPtItem;
|
||||
return g_dComIfG_gameInfo.play.getEvent().convPId(i);
|
||||
@@ -1246,6 +1254,10 @@ inline char* dComIfGp_evmng_getMyStringP(int staffIdx, const char* name) {
|
||||
return reinterpret_cast<char*>(dComIfGp_getEventManager().getMySubstanceP(staffIdx, name, 4)); //type 4 is string
|
||||
}
|
||||
|
||||
inline BOOL dComIfGp_evmng_startCheck(s16 eventID) {
|
||||
return dComIfGp_getEventManager().startCheck(eventID);
|
||||
}
|
||||
|
||||
inline BOOL dComIfGp_evmng_endCheck(s16 eventID) {
|
||||
return dComIfGp_getEventManager().endCheck(eventID);
|
||||
}
|
||||
|
||||
+3
-2
@@ -69,7 +69,7 @@ public:
|
||||
void remove();
|
||||
void getStageEventDt();
|
||||
void nextStageEventDt(void*);
|
||||
void getPId(void*);
|
||||
int getPId(void*);
|
||||
fopAc_ac_c * convPId(unsigned int);
|
||||
void getTactFreeMStick(int);
|
||||
void getTactFreeCStick(int);
|
||||
@@ -78,6 +78,7 @@ public:
|
||||
u8 getTalkXYBtn() { return mTalkButton; }
|
||||
bool chkTalkXY() { return mTalkButton == 1 || mTalkButton == 2 || mTalkButton == 3; }
|
||||
void setPtI_Id(u32 id) { mPtItem = id; }
|
||||
void setPtT(void* i_actor) { mPtTalk = getPId(i_actor); }
|
||||
u8 getPreItemNo() { return mItemNo; }
|
||||
|
||||
u16 chkEventFlag(u16 flag) { return flag & mEventFlag; }
|
||||
@@ -116,4 +117,4 @@ public:
|
||||
/* 0xEE */ u8 mTactFreeCStick[4];
|
||||
}; // Size = 0xF4
|
||||
|
||||
#endif /* D_EVENT_D_EVENT_H */
|
||||
#endif /* D_EVENT_D_EVENT_H */
|
||||
|
||||
@@ -37,7 +37,7 @@ public:
|
||||
void getEventData(s16);
|
||||
s16 getEventIdx(const char*, u8);
|
||||
void order(s16);
|
||||
void startCheck(s16);
|
||||
bool startCheck(s16);
|
||||
BOOL startCheckOld(const char*);
|
||||
BOOL endCheck(s16);
|
||||
BOOL endCheckOld(const char*);
|
||||
@@ -76,4 +76,4 @@ inline int dEvmng_strcmp(const char* s1, const char* s2) {
|
||||
return strcmp(s1, s2);
|
||||
}
|
||||
|
||||
#endif /* D_EVENT_D_EVENT_MANAGER_H */
|
||||
#endif /* D_EVENT_D_EVENT_MANAGER_H */
|
||||
|
||||
@@ -55,6 +55,10 @@ inline void mDoAud_load2ndDynamicWave() {
|
||||
mDoAud_zelAudio_c::getInterface()->load2ndDynamicWave();
|
||||
}
|
||||
|
||||
inline void mDoAud_taktModeMuteOff() {
|
||||
mDoAud_zelAudio_c::getInterface()->taktModeMuteOff();
|
||||
}
|
||||
|
||||
inline void mDoAud_resetProcess() {
|
||||
if (mDoAud_zelAudio_c::isResetFlag()) {
|
||||
mDoAud_zelAudio_c::getInterface()->resetProcess();
|
||||
|
||||
@@ -103,7 +103,7 @@ namespace daObjMknjD {
|
||||
void privateCut();
|
||||
bool daObjMknjD_break();
|
||||
|
||||
int Execute(float(**)[3][4]);
|
||||
int Execute(Mtx**);
|
||||
int Draw();
|
||||
|
||||
static const char M_arcname[];
|
||||
@@ -816,9 +816,221 @@ bool daObjMknjD::Act_c::daObjMknjD_break() {
|
||||
}
|
||||
|
||||
/* 0000195C-000020E0 .text Execute__Q210daObjMknjD5Act_cFPPA3_A4_f */
|
||||
int daObjMknjD::Act_c::Execute(float(**)[3][4]) {
|
||||
int daObjMknjD::Act_c::Execute(Mtx** i_mtx) {
|
||||
/* Nonmatching */
|
||||
return 0;
|
||||
daPy_py_c* player = static_cast<daPy_py_c*>(dComIfGp_getPlayer(0));
|
||||
daPy_py_c* partner = static_cast<daPy_py_c*>(dComIfGp_getCb1Player());
|
||||
|
||||
switch (m043F) {
|
||||
case 0:
|
||||
mEvtInfo.onCondition(1);
|
||||
|
||||
if (mEvtInfo.checkCommandTalk() == true) {
|
||||
m0500 = 1;
|
||||
m043F = 0x0B;
|
||||
}
|
||||
else if (partner != NULL) {
|
||||
cXyz partnerDiff = current.pos - partner->current.pos;
|
||||
|
||||
s16 rotDiff = cM_atan2s(partnerDiff.x, partnerDiff.z) - current.angle.y;
|
||||
f32 absXZ = partnerDiff.absXZ();
|
||||
|
||||
if (absXZ < 800.0f && (rotDiff < -0x4000 || rotDiff > 0x4000)) {
|
||||
if (dComIfGp_checkPlayerStatus1(0, 1) != 0) {
|
||||
m043F = 1;
|
||||
manage_friend_draw(0);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
break;
|
||||
case 1:
|
||||
if (m043E == 1) {
|
||||
static_cast<daPy_py_c*>(dComIfGp_getPlayer(0))->setTactZev(fopAcM_GetID(this), 4, daObjMknjD_EventName[3]);
|
||||
}
|
||||
else {
|
||||
static_cast<daPy_py_c*>(dComIfGp_getPlayer(0))->setTactZev(fopAcM_GetID(this), 3, daObjMknjD_EventName[2]);
|
||||
}
|
||||
|
||||
m043F = 2;
|
||||
break;
|
||||
case 2:
|
||||
if (dComIfGp_evmng_startCheck(mCheckEventIdx) != 0) {
|
||||
if (partner != NULL && player != NULL) {
|
||||
s16 rotDiff = cM_atan2s(current.pos.x - partner->current.pos.x, current.pos.z - partner->current.pos.z) - current.angle.y;
|
||||
f32 absXZ = (partner->current.pos - current.pos).absXZ();
|
||||
|
||||
if (absXZ < 800.0f && (rotDiff >= -0x4000 && rotDiff > 0x4000)) {
|
||||
fopAcM_orderChangeEventId(this, mDemoEventIdx, 0, 0xFFFF);
|
||||
dComIfGs_onEventBit(m0430);
|
||||
|
||||
s16 procMedli = PROC_NPC_MD;
|
||||
void* judgeResult = fopAcIt_Judge(fpcSch_JudgeForPName, &procMedli);
|
||||
|
||||
if (judgeResult != NULL) {
|
||||
dComIfGp_event_setTalkPartner(judgeResult);
|
||||
}
|
||||
|
||||
m043F = 6;
|
||||
}
|
||||
else {
|
||||
fopAcM_orderChangeEventId(this, mErrorEventIdx, 0, 0xFFFF);
|
||||
|
||||
m043F = 3;
|
||||
manage_friend_draw(1);
|
||||
}
|
||||
}
|
||||
else {
|
||||
fopAcM_orderChangeEventId(this, mErrorEventIdx, 0, 0xFFFF);
|
||||
|
||||
m043F = 3;
|
||||
manage_friend_draw(1);
|
||||
}
|
||||
}
|
||||
else {
|
||||
if (dComIfGp_checkPlayerStatus1(0, 1) == 0) {
|
||||
m043F = 0;
|
||||
manage_friend_draw(1);
|
||||
}
|
||||
}
|
||||
|
||||
break;
|
||||
case 3:
|
||||
if (mEvtInfo.checkCommandDemoAccrpt()) {
|
||||
m043F = 4;
|
||||
}
|
||||
|
||||
break;
|
||||
case 4:
|
||||
if (dComIfGp_evmng_endCheck(mErrorEventIdx)) {
|
||||
dComIfGp_event_reset();
|
||||
m043F = 5;
|
||||
}
|
||||
|
||||
break;
|
||||
case 5:
|
||||
if (dComIfGp_checkPlayerStatus1(0, 1) == 0) {
|
||||
m043F = 0;
|
||||
}
|
||||
|
||||
break;
|
||||
case 6:
|
||||
if (mEvtInfo.checkCommandDemoAccrpt()) {
|
||||
m043F = 7;
|
||||
|
||||
mDoAud_bgmStop(0x1E);
|
||||
mDoAud_taktModeMuteOff();
|
||||
|
||||
dComIfGp_getAttention().mFlags |= 0x80000000;
|
||||
|
||||
if (m043E == true) {
|
||||
m0432 = 0x2B;
|
||||
m0434 = 5;
|
||||
}
|
||||
else {
|
||||
m0432 = 0x0E;
|
||||
m0434 = 5;
|
||||
}
|
||||
}
|
||||
|
||||
break;
|
||||
case 7:
|
||||
privateCut();
|
||||
|
||||
if (dComIfGp_evmng_endCheck(mDemoEventIdx)) {
|
||||
dComIfGp_getAttention().mFlags &= ~0x80000000;
|
||||
dComIfGp_event_onEventFlag(8);
|
||||
|
||||
fopAcM_delete(this);
|
||||
}
|
||||
|
||||
break;
|
||||
case 8:
|
||||
mEvtInfo.onCondition(1);
|
||||
mEvtInfo.onCondition(32);
|
||||
|
||||
if (mEvtInfo.checkCommandTalk() == true) {
|
||||
bool bXyzTalk = false;
|
||||
|
||||
if (dComIfGp_event_chkTalkXY()) {
|
||||
bXyzTalk = true;
|
||||
}
|
||||
|
||||
if (bXyzTalk) {
|
||||
m0500 = 0;
|
||||
m043F = 9;
|
||||
|
||||
fopAcM_seStartCurrent(this, JA_SE_PRE_TAKT, 0);
|
||||
}
|
||||
else {
|
||||
m0500 = 1;
|
||||
m043F = 11;
|
||||
}
|
||||
}
|
||||
|
||||
break;
|
||||
case 9:
|
||||
m043F = 10;
|
||||
break;
|
||||
case 10:
|
||||
privateCut();
|
||||
|
||||
if (g_dComIfG_gameInfo.play.mEvtCtrl.mMode == 0) {
|
||||
if (checkItemGet(mGiveItemId, 1) != 0) {
|
||||
m043F = 0;
|
||||
}
|
||||
else {
|
||||
m043F = 8;
|
||||
}
|
||||
}
|
||||
|
||||
break;
|
||||
case 11:
|
||||
static_cast<daPy_py_c*>(dComIfGp_getPlayer(0))->onPlayerNoDraw();
|
||||
m043F = 12;
|
||||
break;
|
||||
case 12:
|
||||
if (talk(1) == 18) {
|
||||
partner->offPlayerNoDraw();
|
||||
g_dComIfG_gameInfo.play.mEvtCtrl.mEventFlag |= 8;
|
||||
|
||||
if (checkItemGet(mGiveItemId, 1) != 0) {
|
||||
m043F = 0;
|
||||
}
|
||||
else {
|
||||
m043F = 8;
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
set_mtx();
|
||||
|
||||
*i_mtx = &M_tmp_mtx;
|
||||
|
||||
if (m0432 > 1) {
|
||||
m0432--;
|
||||
}
|
||||
if (m0432 == 1) {
|
||||
if (m043E == true) {
|
||||
mDoAud_bgmStart(0x80000000 | JA_BGM_TAKT_MAKORE);
|
||||
}
|
||||
else {
|
||||
mDoAud_bgmStart(0x80000000 | JA_BGM_TAKT_MEDRI);
|
||||
}
|
||||
|
||||
m0432 = 0;
|
||||
}
|
||||
|
||||
if (m0434 > 1) {
|
||||
m0434--;
|
||||
}
|
||||
if (m0434 == 1) {
|
||||
manage_friend_draw(1);
|
||||
m0434 = 0;
|
||||
}
|
||||
|
||||
return 1;
|
||||
}
|
||||
|
||||
/* 000020E0-000022FC .text setMaterial__10daObjMknjDFP11J3DMaterialUc */
|
||||
|
||||
Reference in New Issue
Block a user