start d_a_player_tact, add player status enums

This commit is contained in:
LagoLunatic
2023-12-28 18:58:56 -05:00
parent a04f2c6b61
commit e6edfa7b6f
15 changed files with 217 additions and 62 deletions
+4
View File
@@ -24,6 +24,10 @@ public:
void melodyPlay(s32);
void melodyStop();
// one of these inlines returns field_0x30, not sure which
void getBeat() {}
void getBeatFrames() {}
public:
/* 0x00 */ int field_0x0;
/* 0x04 */ u8 field_0x4[5];
+1 -1
View File
@@ -266,7 +266,7 @@ public:
virtual MtxP getLeftHandMatrix() = 0;
virtual MtxP getRightHandMatrix() = 0;
virtual f32 getGroundY() = 0;
virtual int getTactMusic() const { return -1; }
virtual s32 getTactMusic() const { return -1; }
virtual int getTactTimerCancel() const { return 0; }
virtual BOOL checkPlayerGuard() const { return FALSE; }
virtual fopAc_ac_c* getGrabMissActor() { return NULL; }
+11 -8
View File
@@ -154,6 +154,8 @@ public:
daPy_waterDropEcallBack_c() {}
~daPy_waterDropEcallBack_c() {}
static daPy_waterDropPcallBack_c m_pcallback;
/* 0x1C */ u8 field_0x1C[0x4];
}; // Size: 0x20
@@ -1932,13 +1934,13 @@ public:
u32 getDayNightParamData();
void setTactModel();
BOOL checkNpcStatus();
void getTactPlayRightArmAnm(s32);
void getTactPlayLeftArmAnm(s32);
int getTactPlayRightArmAnm(s32);
int getTactPlayLeftArmAnm(s32);
BOOL checkEndTactMusic() const;
f32 getTactMetronomeRate();
BOOL checkTactLastInput();
BOOL getTactTopPos(cXyz*);
void getTactNormalWait() const;
BOOL getTactNormalWait() const;
BOOL checkTactPlayMelody();
void resetTactCount();
BOOL procTactWait_init(int);
@@ -2167,7 +2169,7 @@ public:
virtual MtxP getLeftHandMatrix() { return mpCLModel->getAnmMtx(0x08); } // cl_LhandA joint
virtual MtxP getRightHandMatrix() { return mpCLModel->getAnmMtx(0x0C); } // cl_RhandA joint
virtual f32 getGroundY() { return mAcch.GetGroundH(); }
virtual int getTactMusic() const;
virtual s32 getTactMusic() const;
virtual int getTactTimerCancel() const;
virtual BOOL checkPlayerGuard() const;
virtual fopAc_ac_c* getGrabMissActor();
@@ -2454,8 +2456,8 @@ public:
/* 0x3568 */ s16 m3568;
/* 0x356A */ u8 m356A[0x356C - 0x356A];
/* 0x356C */ int mCameraInfoIdx;
/* 0x3570 */ int m3570;
/* 0x3574 */ int m3574;
/* 0x3570 */ s32 m3570;
/* 0x3574 */ s32 m3574;
/* 0x3578 */ int m3578;
/* 0x357C */ u8 m357C[0x3580 - 0x357C];
/* 0x3580 */ int m3580;
@@ -2468,7 +2470,8 @@ public:
/* 0x359C */ u8 m359C[0x35A0 - 0x359C];
/* 0x35A0 */ f32 m35A0;
/* 0x35A4 */ f32 m35A4;
/* 0x35A8 */ u8 m35A8[0x35B0 - 0x35A8];
/* 0x35A8 */ u8 m35A8[0x35AC - 0x35A8];
/* 0x35AC */ f32 m35AC;
/* 0x35B0 */ f32 m35B0;
/* 0x35B4 */ u8 m35B4[0x35BC - 0x35B4];
/* 0x35BC */ f32 mVelocity;
@@ -2498,7 +2501,7 @@ public:
/* 0x3620 */ u32 m3620;
/* 0x3624 */ int m3624;
/* 0x3628 */ int m3628;
/* 0x362C */ int m362C;
/* 0x362C */ unsigned int mTactZevPartnerPID;
/* 0x3630 */ u32 m3630;
/* 0x3634 */ int m3634;
/* 0x3638 */ int mMsgId;
+24 -7
View File
@@ -15,7 +15,6 @@
#include "d/d_save.h"
#include "d/d_stage.h"
#include "d/d_vibration.h"
#include "d/d_wood.h"
#include "d/d_demo.h"
#include "d/d_timer.h"
#include "SSystem/SComponent/c_data_tbl.h"
@@ -23,22 +22,40 @@
class JKRArchive;
class JKRAramBlock;
class JKRExpHeap;
class dPa_control_c;
class dDemo_manager_c;
class dMagma_packet_c;
class dGrass_packet_c;
class dTree_packet_c;
class dFlower_packet_c;
class Packet_c;
namespace dWood { class Packet_c; };
class daPy_py_c;
class daPy_lk_c;
class daPy_npc_c;
class daShip_c;
class daAgb_c;
class dTimer_c;
class camera_class;
class J2DOrthoGraph;
class dDemo_actor_c;
enum daPy__PlayerStatus0 {
daPyStts0_UNK10_e = 0x00000010,
daPyStts0_BOW_AIM_e = 0x00001000,
daPyStts0_SWORD_SWING_e = 0x00008000,
daPyStts0_SHIP_RIDE_e = 0x00010000,
daPyStts0_BOOMERANG_AIM_e = 0x00080000,
daPyStts0_SWIM_e = 0x00100000,
daPyStts0_TELESCOPE_LOOK_e = 0x00200000,
daPyStts0_BOOMERANG_WAIT_e = 0x00400000,
daPyStts0_CRAWL_e = 0x08000000,
daPyStts0_SPIN_ATTACK_e = 0x40000000,
};
enum daPy__PlayerStatus1 {
daPyStts1_WIND_WAKER_CONDUCT_e = 0x00000001,
daPyStts1_PICTO_BOX_AIM_e = 0x00000008,
daPyStts1_DEKU_LEAF_FLY_e = 0x00000020,
daPyStts1_DEKU_LEAF_FAN_e = 0x00000040,
daPyStts1_SAIL_e = 0x00000400,
daPyStts1_UNK8000_e = 0x00008000,
daPyStts1_UNK40000_e = 0x00040000,
};
enum ALWAYS_RES_FILE_ID { // IDs and indexes are synced
/* BCK */
+19
View File
@@ -18,14 +18,21 @@ public:
static void offResetFlag() { mResetFlag = false; }
static bool isInitFlag() { return mInitFlag; }
static void onInitFlag() { mInitFlag = true; }
static void offInitFlag() { mInitFlag = false; }
static bool isBgmSet() { return mBgmSet; }
static void onBgmSet() { mBgmSet = true; }
static void offBgmSet() { mBgmSet = false; }
static void setLoadTimer(u8 i_timer) { mLoadTimer = i_timer; }
static u8 getLoadTimer() { return mLoadTimer; }
static JAIZelInst& getTact() { return mTact; }
static void getMode() {}
static void setMode(u8) {}
static bool mInitFlag;
static bool mResetFlag;
static bool mBgmSet;
@@ -158,6 +165,18 @@ inline f32 mDoAud_tact_getMelodyPattern(s32 melody_no, s32 note_no, s32 * patter
return mDoAud_zelAudio_c::mTact.getMelodyPattern(melody_no, note_no, pattern);
}
inline void mDoAud_tact_reset() {
mDoAud_zelAudio_c::getTact().reset();
}
inline void mDoAud_tact_getBeat() {
return mDoAud_zelAudio_c::getTact().getBeat();
}
inline void mDoAud_tact_getBeatFrames() {
return mDoAud_zelAudio_c::getTact().getBeatFrames();
}
inline BOOL mDoAud_checkCbPracticePlay() {
return mDoAud_zelAudio_c::getInterface()->checkCbPracticePlay();
}
+7 -4
View File
@@ -679,10 +679,13 @@ void daAgb_c::GbaItemUse() {
switch (temp_r29) {
case 16:
if (daPy_getPlayerLinkActorClass()->checkNoControll() ||
dComIfGp_checkPlayerStatus0(0, 0x8000000) ||
(daPy_getPlayerActorClass()->checkPlayerFly() &&
!dComIfGp_checkPlayerStatus0(0, 0x100000) && !dComIfGp_checkPlayerStatus0(0, 0x10000)))
{
dComIfGp_checkPlayerStatus0(0, daPyStts0_CRAWL_e) ||
(
daPy_getPlayerActorClass()->checkPlayerFly() &&
!dComIfGp_checkPlayerStatus0(0, daPyStts0_SWIM_e) &&
!dComIfGp_checkPlayerStatus0(0, daPyStts0_SHIP_RIDE_e)
)
) {
mEffect = BigLittleChange(0x1F0300);
return;
} else if (field_0x67d != 0) {
+12 -4
View File
@@ -1825,25 +1825,33 @@ BOOL daAgbsw0_c::MoveCheck(s16 param_1) {
break;
case 0x23:
if(dComIfGp_checkPlayerStatus0(0, 0x100000)) {
if(dComIfGp_checkPlayerStatus0(0, daPyStts0_SWIM_e)) {
return 0;
}
break;
case 0x24:
if(dComIfGp_checkPlayerStatus0(0, 0x10000)) {
if (dComIfGp_checkPlayerStatus0(0, daPyStts0_SHIP_RIDE_e)) {
return 0;
}
break;
case 0x25:
if(dComIfGp_checkPlayerStatus0(0, 0x10000) && dComIfGp_getSelectItem(0) != BOMB_BAG && dComIfGp_getSelectItem(1) != BOMB_BAG && dComIfGp_getSelectItem(2) != BOMB_BAG) {
if (dComIfGp_checkPlayerStatus0(0, daPyStts0_SHIP_RIDE_e) &&
dComIfGp_getSelectItem(0) != BOMB_BAG &&
dComIfGp_getSelectItem(1) != BOMB_BAG &&
dComIfGp_getSelectItem(2) != BOMB_BAG)
{
return 0;
}
break;
case 0x26:
if(dComIfGp_checkPlayerStatus0(0, 0x10000) && dComIfGp_getSelectItem(0) != ROPE && dComIfGp_getSelectItem(1) != ROPE && dComIfGp_getSelectItem(2) != ROPE) {
if (dComIfGp_checkPlayerStatus0(0, daPyStts0_SHIP_RIDE_e) &&
dComIfGp_getSelectItem(0) != ROPE &&
dComIfGp_getSelectItem(1) != ROPE &&
dComIfGp_getSelectItem(2) != ROPE)
{
return 0;
}
+3 -3
View File
@@ -733,7 +733,7 @@ int daObjMknjD::Act_c::Execute(Mtx** i_mtx) {
f32 absXZ = partnerDiff.absXZ();
if (absXZ < 800.0f && (rotDiff < -0x4000 || rotDiff > 0x4000)) {
if (dComIfGp_checkPlayerStatus1(0, 1) != 0) {
if (dComIfGp_checkPlayerStatus1(0, daPyStts1_WIND_WAKER_CONDUCT_e)) {
m043F = 1;
manage_friend_draw(0);
}
@@ -787,7 +787,7 @@ int daObjMknjD::Act_c::Execute(Mtx** i_mtx) {
}
}
else {
if (dComIfGp_checkPlayerStatus1(0, 1) == 0) {
if (!dComIfGp_checkPlayerStatus1(0, daPyStts1_WIND_WAKER_CONDUCT_e)) {
m043F = 0;
manage_friend_draw(1);
}
@@ -808,7 +808,7 @@ int daObjMknjD::Act_c::Execute(Mtx** i_mtx) {
break;
case 5:
if (dComIfGp_checkPlayerStatus1(0, 1) == 0) {
if (!dComIfGp_checkPlayerStatus1(0, daPyStts1_WIND_WAKER_CONDUCT_e)) {
m043F = 0;
}
+1
View File
@@ -4,6 +4,7 @@
//
#include "d/actor/d_a_obj_wood.h"
#include "d/d_wood.h"
#include "d/d_com_inf_game.h"
#include "d/d_procname.h"
#include "f_op/f_op_actor_mng.h"
+20 -7
View File
@@ -22,6 +22,8 @@
#include "m_Do/m_Do_mtx.h"
#include "d/d_material.h"
const Vec l_tact_top = {38.0f, 7.5f, 12.5f};
const daPy_lk_c::TexAnmTableEntry daPy_lk_c::mTexAnmIndexTable[] = {
{LKANM_BTP_TMABAA, LKANM_BTK_TMABA},
{LKANM_BTP_TMABAA, LKANM_BTK_TEUP},
@@ -1842,8 +1844,8 @@ const daPy_lk_c::AnmDataTableEntry daPy_lk_c::mAnmDataTable[] = {
#include "d/actor/d_a_player_HIO.inc"
// Needed for the .data section to match.
static f32 dummy1[3] = {1.0f, 1.0f, 1.0f};
static f32 dummy2[3] = {1.0f, 1.0f, 1.0f};
static Vec dummy_2100 = {1.0f, 1.0f, 1.0f};
static Vec dummy_2080 = {1.0f, 1.0f, 1.0f};
char l_arcName[] = "Link";
@@ -2031,6 +2033,9 @@ static dCcD_SrcSph l_fan_wind_sph_src = {
},
};
Vec dummy_3569;
JGeometry::TVec3<f32> l_hammer_splash_particle_scale(0.00002f, 0.00002f, 0.00002f);
daPy_lk_c::ProcInitTableEntry daPy_lk_c::mProcInitTable[] = {
/* 0x00 */ {&daPy_lk_c::procScope, 0x00000001},
/* 0x01 */ {&daPy_lk_c::procSubjectivity, 0x20001005},
@@ -2333,6 +2338,7 @@ daPy_lk_c::ProcFunc daPy_lk_c::mDemoProcInitFuncTable[] = {
GXColor l_freeze_fade_color = {0xFF, 0xFF, 0xFF, 0xFF};
cXyz l_debug_keep_pos;
csXyz l_debug_current_angle;
csXyz l_debug_shape_angle;
@@ -2344,6 +2350,13 @@ u8 daPy_matAnm_c::m_morf_frame;
s16 daPy_dmEcallBack_c::m_timer = 0;
u16 daPy_dmEcallBack_c::m_type = 3;
daPy_waterDropPcallBack_c daPy_waterDropEcallBack_c::m_pcallback;
static mDoExt_offCupOnAupPacket l_offCupOnAupPacket1;
static mDoExt_offCupOnAupPacket l_offCupOnAupPacket2;
static mDoExt_onCupOffAupPacket l_onCupOffAupPacket1;
static mDoExt_onCupOffAupPacket l_onCupOffAupPacket2;
/* 80102E8C-80102EAC .text daPy_createHeap__FP10fopAc_ac_c */
static BOOL daPy_createHeap(fopAc_ac_c* i_this) {
return static_cast<daPy_lk_c*>(i_this)->createHeap();
@@ -3403,8 +3416,8 @@ BOOL daPy_lk_c::commonProcInit(daPy_lk_c::daPy_PROC proc) {
mAcch.OnLineCheck();
}
dComIfGp_clearPlayerStatus0(0, ~0x00400010);
dComIfGp_clearPlayerStatus1(0, ~0xFFF48400);
dComIfGp_clearPlayerStatus0(0, ~(daPyStts0_BOOMERANG_WAIT_e | daPyStts0_UNK10_e));
dComIfGp_clearPlayerStatus1(0, ~(daPyStts1_SAIL_e | daPyStts1_UNK8000_e | daPyStts1_UNK40000_e) & 0x000FFFFF);
mGravity = daPy_HIO_autoJump_c0::m.field_0xC;
m34F2 = 0;
@@ -4405,8 +4418,8 @@ BOOL daPy_lk_c::playerDelete() {
*mpCurrLinktex = mOtherLinktex;
}
dComIfGp_clearPlayerStatus0(0, 0x00400000); // Waiting for the boomerang to come back
dComIfGp_clearPlayerStatus1(0, 0x00040000);
dComIfGp_clearPlayerStatus0(0, daPyStts0_BOOMERANG_WAIT_e);
dComIfGp_clearPlayerStatus1(0, daPyStts1_UNK40000_e);
g_dComIfG_gameInfo.play.field_0x4947 = 0;
cancelNoDamageMode();
@@ -4755,7 +4768,7 @@ void daPy_lk_c::playerInit() {
mActorKeepRope.clearData();
m3628 = -1;
m3634 = -1;
m362C = -1;
mTactZevPartnerPID = fpcM_ERROR_PROCESS_ID_e;
m3630 = -1;
ResTIMG* blur_img = (ResTIMG*)dComIfG_getObjectRes(l_arcName, LINK_BTI_BLUR);
+2 -2
View File
@@ -36,7 +36,7 @@ void daPy_lk_c::setShipRideArmAngle(int, J3DTransformInfo*) {
/* 8013FE78-8013FEF4 .text checkShipRideUseItem__9daPy_lk_cFi */
int daPy_lk_c::checkShipRideUseItem(int param_1) {
if (dComIfGp_checkPlayerStatus0(0, 0x10000) && dComIfGp_getShipActor() != NULL) {
if (dComIfGp_checkPlayerStatus0(0, daPyStts0_SHIP_RIDE_e) && dComIfGp_getShipActor() != NULL) {
if (param_1 != 0) {
deleteEquipItem(0);
}
@@ -60,7 +60,7 @@ void daPy_lk_c::initShipRideUseItem(int param_1, int param_2) {
if (param_1 == 1) {
setOldRootQuaternion(0, 0x4000, 0);
}
dComIfGp_setPlayerStatus0(0, 0x10000);
dComIfGp_setPlayerStatus0(0, daPyStts0_SHIP_RIDE_e);
if (param_2 == 2) {
setShipRidePosUseItem();
} else if (param_2 == 1) {
+109 -23
View File
@@ -11,80 +11,166 @@
*/
#include "d/actor/d_a_player_main.h"
#include "JSystem/J3DGraphLoader/J3DAnmLoader.h"
/* 8014D778-8014D7D4 .text getDayNightParamData__9daPy_lk_cFv */
u32 daPy_lk_c::getDayNightParamData() {
/* Nonmatching */
u32 spawnType = dComIfGp_checkPlayerStatus0(0, daPyStts0_SHIP_RIDE_e) ? 2 : 0;
u32 eventIdx = 0xCC;
u32 extraParams = dComIfGp_getShipActor() != NULL ? 0x140 : 0x40;
return setParamData(current.roomNo, spawnType, eventIdx, extraParams);
}
/* 8014D7D4-8014D8AC .text setTactModel__9daPy_lk_cFv */
void daPy_lk_c::setTactModel() {
/* Nonmatching */
if (mHeldItemType == WIND_TACT)
return;
deleteEquipItem(0);
mHeldItemType = WIND_TACT;
JKRHeap* oldHeap = setItemHeap();
J3DModelData* modelData = initModel(&mpHeldItemModel, LINK_BDL_TAKT, 0x37221222);
u8* buffer = new(0x20) u8[0x400];
dComIfGp_getAnmArchive()->readIdxResource(buffer, 0x400, LKANM_BRK_TTAKT);
mpHeldItemAnimBRK = (J3DAnmTevRegKey*)J3DAnmLoaderDataBase::load(buffer);
mpHeldItemAnimBRK->setFrame(0.0f);
mpHeldItemAnimBRK->searchUpdateMaterialID(modelData);
modelData->entryTevRegAnimator(mpHeldItemAnimBRK);
mDoExt_setCurrentHeap(oldHeap);
}
/* 8014D8AC-8014D8F4 .text checkNpcStatus__9daPy_lk_cFv */
BOOL daPy_lk_c::checkNpcStatus() {
/* Nonmatching */
daPy_py_c* partner = (daPy_py_c*)dComIfGp_getCb1Player();
if (partner) {
if (!partner->checkNpcNotChange() && partner->current.roomNo == current.roomNo) {
return TRUE;
}
}
return FALSE;
}
/* 8014D8F4-8014D938 .text getTactPlayRightArmAnm__9daPy_lk_cFl */
void daPy_lk_c::getTactPlayRightArmAnm(s32) {
/* Nonmatching */
int daPy_lk_c::getTactPlayRightArmAnm(s32 r4) {
if (r4 == 1)
return LKANM_BCK_ACTIONTAKTRUP;
else if (r4 == 3)
return LKANM_BCK_ACTIONTAKTRDW;
else if (r4 == 2)
return LKANM_BCK_WAITTAKTRHANDL;
else if (r4 == 4)
return LKANM_BCK_WAITTAKTRHANDR;
else
return LKANM_BCK_WAITTAKT;
}
/* 8014D938-8014D97C .text getTactPlayLeftArmAnm__9daPy_lk_cFl */
void daPy_lk_c::getTactPlayLeftArmAnm(s32) {
/* Nonmatching */
int daPy_lk_c::getTactPlayLeftArmAnm(s32 r4) {
if (r4 == 1)
return LKANM_BCK_WAITTAKTLHANDU;
else if (r4 == 3)
return LKANM_BCK_WAITTAKTLHANDD;
else if (r4 == 2)
return LKANM_BCK_WAITTAKTLHANDL;
else if (r4 == 4)
return LKANM_BCK_WAITTAKTLHANDR;
else
return LKANM_BCK_WAITTAKT;
}
/* 8014D97C-8014D9A4 .text checkEndTactMusic__9daPy_lk_cCFv */
BOOL daPy_lk_c::checkEndTactMusic() const {
/* Nonmatching */
if (mCurProc == PROC_TACT_PLAY_e && m34D0 != 0) {
return TRUE;
}
return FALSE;
}
/* 8014D9A4-8014D9D0 .text getTactMetronomeRate__9daPy_lk_cFv */
f32 daPy_lk_c::getTactMetronomeRate() {
/* Nonmatching */
if (mCurProc == PROC_TACT_WAIT_e) {
return m35A0 / mDoAud_zelAudio_c::getTact().field_0x30;
} else {
return -1.0f;
}
}
/* 8014D9D0-8014D9F8 .text checkTactLastInput__9daPy_lk_cFv */
int daPy_lk_c::checkTactLastInput() {
/* Nonmatching */
BOOL daPy_lk_c::checkTactLastInput() {
if (mCurProc == PROC_TACT_WAIT_e && m34D2 != -1) {
return TRUE;
}
return FALSE;
}
/* 8014D9F8-8014DA78 .text setTactZev__9daPy_lk_cFUiiPc */
void daPy_lk_c::setTactZev(unsigned int, int, char*) {
/* Nonmatching */
void daPy_lk_c::setTactZev(unsigned int tactZevPartnerPID, int r30, char* r31) {
if (tactZevPartnerPID != fpcM_ERROR_PROCESS_ID_e) {
mDoAud_seStart(JA_SE_PRE_TAKT);
}
mTactZevPartnerPID = tactZevPartnerPID;
m34CC = r30;
m3494 = r31;
}
/* 8014DA78-8014DACC .text getTactTopPos__9daPy_lk_cFP4cXyz */
int daPy_lk_c::getTactTopPos(cXyz*) {
/* Nonmatching */
BOOL daPy_lk_c::getTactTopPos(cXyz* out) {
if (mHeldItemType != WIND_TACT || mpHeldItemModel == NULL) {
return FALSE;
} else {
MTXMultVec(mpHeldItemModel->getBaseTRMtx(), &l_tact_top, out);
return TRUE;
}
}
/* 8014DACC-8014DB00 .text getTactNormalWait__9daPy_lk_cCFv */
void daPy_lk_c::getTactNormalWait() const {
/* Nonmatching */
BOOL daPy_lk_c::getTactNormalWait() const {
if (mCurProc == PROC_TACT_WAIT_e && m3570 == -1 && m34D2 == -1) {
return TRUE;
}
return FALSE;
}
/* 8014DB00-8014DB2C .text getTactMusic__9daPy_lk_cCFv */
int daPy_lk_c::getTactMusic() const {
/* Nonmatching */
s32 daPy_lk_c::getTactMusic() const {
if (mCurProc == PROC_TACT_PLAY_e)
return m3570;
if (mCurProc == PROC_TACT_WAIT_e)
return m3574;
return -1;
}
/* 8014DB2C-8014DB74 .text getTactTimerCancel__9daPy_lk_cCFv */
int daPy_lk_c::getTactTimerCancel() const {
/* Nonmatching */
if (mCurProc == PROC_TACT_WAIT_e && m35AC <= 0.0f) {
if (m35AC <= -100.0f) {
return 2;
} else {
return 1;
}
}
return 0;
}
/* 8014DB74-8014DB9C .text checkTactPlayMelody__9daPy_lk_cFv */
int daPy_lk_c::checkTactPlayMelody() {
/* Nonmatching */
BOOL daPy_lk_c::checkTactPlayMelody() {
if (mCurProc == PROC_TACT_PLAY_e && m34DA == 0) {
return TRUE;
}
return FALSE;
}
/* 8014DB9C-8014DBEC .text resetTactCount__9daPy_lk_cFv */
void daPy_lk_c::resetTactCount() {
/* Nonmatching */
if (mCurProc == PROC_TACT_WAIT_e) {
m34D8 = 0;
m35A0 = 0.0f;
m34DA = 0;
m34D0 = -1;
mDoAud_tact_reset();
}
}
/* 8014DBEC-8014E100 .text procTactWait_init__9daPy_lk_cFi */
+2 -2
View File
@@ -113,9 +113,9 @@ s32 daSwTact_c::getAnswer() {
/* 00000410-000006AC .text _execute__10daSwTact_cFv */
bool daSwTact_c::_execute() {
daPy_py_c * player = daPy_getPlayerActorClass();
u32 stts1 = dComIfGp_checkPlayerStatus1(0, 0x01);
u32 stts1 = dComIfGp_checkPlayerStatus1(0, daPyStts1_WIND_WAKER_CONDUCT_e);
if (player == NULL || dComIfGp_checkPlayerStatus0(0, 0x10000))
if (player == NULL || dComIfGp_checkPlayerStatus0(0, daPyStts0_SHIP_RIDE_e))
return true;
if ((player->current.pos - current.pos).absXZ() <= getR()) {
+1
View File
@@ -16,6 +16,7 @@
#include "d/d_magma.h"
#include "d/d_particle.h"
#include "d/d_tree.h"
#include "d/d_wood.h"
#include "f_op/f_op_scene_mng.h"
#include "m_Do/m_Do_Reset.h"
#include "m_Do/m_Do_audio.h"
+1 -1
View File
@@ -837,7 +837,7 @@ void snap_sunmoon_proc(cXyz* pPos, int type) {
dSnap_Obj snapObj;
camera_class * pCamera = dComIfGp_getCamera(0);
if (dComIfGp_checkPlayerStatus1(0, 0x08) != 0) {
if (dComIfGp_checkPlayerStatus1(0, daPyStts1_PICTO_BOX_AIM_e)) {
cXyz pos;
pos.x = (pPos->x - pCamera->mLookat.mEye.x);
pos.y = (pPos->y - pCamera->mLookat.mEye.y);