mirror of
https://github.com/TwilitRealm/dusklight
synced 2026-07-09 04:30:49 -04:00
+1
-1
@@ -1524,7 +1524,7 @@ config.libs = [
|
||||
ActorRel(MatchingFor("GZ2E01"), "d_a_alldie"),
|
||||
ActorRel(MatchingFor("GZ2E01"), "d_a_andsw2"),
|
||||
ActorRel(NonMatching, "d_a_bd"),
|
||||
ActorRel(NonMatching, "d_a_canoe"),
|
||||
ActorRel(MatchingFor("GZ2E01"), "d_a_canoe"),
|
||||
ActorRel(NonMatching, "d_a_cstaF"),
|
||||
ActorRel(NonMatching, "d_a_demo_item"),
|
||||
ActorRel(MatchingFor("GZ2E01"), "d_a_door_bossL1"),
|
||||
|
||||
@@ -3281,6 +3281,14 @@ public:
|
||||
virtual bool checkCopyRodEquip() const { return mEquipItem == fpcNm_ITEM_COPY_ROD; }
|
||||
virtual BOOL checkCutJumpMode() const { return mProcID == PROC_CUT_JUMP; }
|
||||
|
||||
static BOOL checkDebugMoveInput() {
|
||||
if (mDoCPd_c::isConnect(PAD_3)) {
|
||||
return mDoCPd_c::getHoldB(PAD_1) && mDoCPd_c::getAnalogR(PAD_1) > 0.8f && mDoCPd_c::getTrigA(PAD_1);
|
||||
}
|
||||
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
u32 checkModeFlg(u32 pFlag) const { return mModeFlg & pFlag; }
|
||||
BOOL checkSmallUpperGuardAnime() const { return checkUpperAnime(0x16); }
|
||||
BOOL checkFmChainGrabAnime() const { return checkUpperAnime(0x62) || checkUpperAnime(0x2A0); }
|
||||
@@ -3538,6 +3546,8 @@ public:
|
||||
return mProcID == PROC_SPINNER_WAIT && mProcVar2.field_0x300c == 0;
|
||||
}
|
||||
bool checkRoofSwitchHang() const { return mProcID == PROC_ROOF_SWITCH_HANG; }
|
||||
bool checkCanoeWait() const { return mProcID == PROC_CANOE_WAIT; }
|
||||
bool checkCanoeSubjectivity() const { return mProcID == PROC_CANOE_SUBJECTIVITY; }
|
||||
|
||||
fopAc_ac_c* getCopyRodActor() { return mCopyRodAcKeep.getActor(); }
|
||||
fopAc_ac_c* getHookshotRoofWaitActor() { return mCargoCarryAcKeep.getActor(); }
|
||||
@@ -3555,6 +3565,7 @@ public:
|
||||
|
||||
void seStartSystem(u32 i_seID) { mDoAud_seStart(i_seID, NULL, 0, 0); }
|
||||
bool checkIronBallEquip() const { return mEquipItem == fpcNm_ITEM_IRONBALL; }
|
||||
BOOL checkFishingRodEquip() const { return checkFishingRodItem(mEquipItem); }
|
||||
|
||||
f32 getAnmSpeedStickRate(f32 param_0, f32 param_1) const {
|
||||
return param_0 + (field_0x33a8 * (param_1 - param_0));
|
||||
|
||||
+38
-35
@@ -16,8 +16,8 @@
|
||||
*/
|
||||
class daCanoe_c : public fopAc_ac_c {
|
||||
public:
|
||||
/* 804DA5F4 */ void createHeap();
|
||||
/* 804DA740 */ void create();
|
||||
/* 804DA5F4 */ int createHeap();
|
||||
/* 804DA740 */ int create();
|
||||
/* 804DAEA8 */ ~daCanoe_c();
|
||||
/* 804DB008 */ void setRoomInfo();
|
||||
/* 804DB0B0 */ void setMatrix();
|
||||
@@ -28,8 +28,8 @@ public:
|
||||
/* 804DB828 */ void frontBackBgCheck();
|
||||
/* 804DC330 */ void setPaddleEffect();
|
||||
/* 804DC554 */ void setCanoeSliderEffect();
|
||||
/* 804DC7B4 */ void execute();
|
||||
/* 804DD35C */ void draw();
|
||||
/* 804DC7B4 */ int execute();
|
||||
/* 804DD35C */ int draw();
|
||||
|
||||
J3DModel* getModel() { return mpModel; }
|
||||
MtxP getModelMtx() { return mpModel->getBaseTRMtx(); }
|
||||
@@ -38,7 +38,7 @@ public:
|
||||
void incShapeOffsetY(f32 offset) { mShapeOffsetY += offset; }
|
||||
void incShapeAngleZ(s16 incZ) { shape_angle.z += incZ; }
|
||||
void onRodID(fpc_ProcID i_rodID) { mRodID = i_rodID; }
|
||||
void setWaterFallDownSe() { field_0x141c.startSound(Z2SE_AL_CANOE_FALL_DW, 0, -1); }
|
||||
void setWaterFallDownSe() { mSound.startSound(Z2SE_AL_CANOE_FALL_DW, 0, -1); }
|
||||
bool checkPaddleChangeWater() { return mPaddleWaterType == 3; }
|
||||
void startInitPaddleWater() { mPaddleWaterType = 4; }
|
||||
fpc_ProcID getRodID() { return mRodID; }
|
||||
@@ -46,23 +46,23 @@ public:
|
||||
void setAimSpeed(f32 i_speed) { mAimSpeed = i_speed; }
|
||||
void setAimAngle(s16 i_angle) {
|
||||
mAimAngle = i_angle;
|
||||
field_0x1442 = 1;
|
||||
mIsForceAimAngle = TRUE;
|
||||
}
|
||||
|
||||
void setPosAndAngle(cXyz const* i_pos, s16 i_angle) {
|
||||
field_0x14d0 = *i_pos;
|
||||
field_0x144a = i_angle;
|
||||
field_0x1446 = 1;
|
||||
mForcePos = *i_pos;
|
||||
mForceAngle = i_angle;
|
||||
mIsForcePosAngle = TRUE;
|
||||
}
|
||||
|
||||
void setPaddleOffsetRight() {
|
||||
field_0x1454 = 0x40;
|
||||
field_0x1456 = 0xF;
|
||||
field_0x1454 = 64;
|
||||
field_0x1456 = 15;
|
||||
}
|
||||
|
||||
void setPaddleOffsetLeft() {
|
||||
field_0x1454 = -0x40;
|
||||
field_0x1456 = 0xF;
|
||||
field_0x1454 = -64;
|
||||
field_0x1456 = 15;
|
||||
}
|
||||
|
||||
private:
|
||||
@@ -70,22 +70,23 @@ private:
|
||||
/* 0x0570 */ J3DModel* mpModel;
|
||||
/* 0x0574 */ J3DModel* mpPaddleModel;
|
||||
/* 0x0578 */ J3DModel* mpMaskModel;
|
||||
/* 0x057C */ dCcD_Stts field_0x57c;
|
||||
/* 0x05B8 */ dBgS_AcchCir field_0x5b8[9];
|
||||
/* 0x07F8 */ dBgS_LinkAcch field_0x7f8[3];
|
||||
/* 0x0D80 */ dCcD_Cyl field_0xd80[5];
|
||||
/* 0x13AC */ dBgS_LinkLinChk field_0x13ac;
|
||||
/* 0x141C */ Z2SoundObjSimple field_0x141c;
|
||||
/* 0x143C */ char* mResName;
|
||||
/* 0x057C */ dCcD_Stts mCcStts;
|
||||
/* 0x05B8 */ dBgS_AcchCir mAcchCir[3][3];
|
||||
/* 0x07F8 */ dBgS_LinkAcch mAcch[3];
|
||||
/* 0x0D80 */ dCcD_Cyl mCcCyl[5];
|
||||
/* 0x13AC */ dBgS_LinkLinChk mLineChk;
|
||||
/* 0x141C */ Z2SoundObjSimple mSound;
|
||||
/* 0x143C */ const char* mArcName;
|
||||
/* 0x1440 */ u8 mPaddleWaterType;
|
||||
/* 0x1441 */ u8 field_0x1441;
|
||||
/* 0x1442 */ u8 field_0x1442;
|
||||
/* 0x1442 */ u8 mIsForceAimAngle;
|
||||
/* 0x1443 */ u8 mJumpRideFlg;
|
||||
/* 0x1444 */ u8 field_0x1444;
|
||||
/* 0x1445 */ u8 mReverb;
|
||||
/* 0x1446 */ u8 field_0x1446;
|
||||
/* 0x1445 */ s8 mReverb;
|
||||
/* 0x1446 */ u8 mIsForcePosAngle;
|
||||
/* 0x1447 */ u8 mIsSliderHit;
|
||||
/* 0x1448 */ s16 field_0x1448;
|
||||
/* 0x144A */ s16 field_0x144a;
|
||||
/* 0x144A */ s16 mForceAngle;
|
||||
/* 0x144C */ s16 mAimAngle;
|
||||
/* 0x144E */ s16 field_0x144e;
|
||||
/* 0x1450 */ s16 field_0x1450;
|
||||
@@ -94,24 +95,26 @@ private:
|
||||
/* 0x1456 */ s16 field_0x1456;
|
||||
/* 0x1458 */ s16 field_0x1458;
|
||||
/* 0x145A */ s16 field_0x145a;
|
||||
/* 0x145C */ s16 field_0x145c;
|
||||
/* 0x145E */ s16 field_0x145e;
|
||||
/* 0x145C */ s16 mHitInvulnerabilityTimer;
|
||||
/* 0x145E */ u16 mHitCount;
|
||||
/* 0x1460 */ s16 field_0x1460;
|
||||
/* 0x1464 */ fpc_ProcID mRodID;
|
||||
/* 0x1468 */ f32 mAimSpeed;
|
||||
/* 0x146C */ f32 mShapeOffsetY;
|
||||
/* 0x1470 */ f32 field_0x1470;
|
||||
/* 0x1474 */ u32 field_0x1474;
|
||||
/* 0x1478 */ u8 field_0x1478[0x1480 - 0x1478];
|
||||
/* 0x1474 */ u32 mShadowId;
|
||||
/* 0x1478 */ u32 field_0x1478;
|
||||
/* 0x147C */ u8 field_0x147c[0x1480 - 0x147C];
|
||||
/* 0x1480 */ u32 field_0x1480;
|
||||
/* 0x1484 */ u8 field_0x1484[0x1490 - 0x1484];
|
||||
/* 0x1484 */ u8 field_0x1484[0x1488 - 0x1484];
|
||||
/* 0x1488 */ u32 field_0x1488[2];
|
||||
/* 0x1490 */ u32 field_0x1490;
|
||||
/* 0x1494 */ cXyz field_0x1494;
|
||||
/* 0x14A0 */ cXyz field_0x14a0;
|
||||
/* 0x14AC */ cXyz field_0x14ac;
|
||||
/* 0x14B8 */ cXyz field_0x14b8;
|
||||
/* 0x14C4 */ cXyz field_0x14c4;
|
||||
/* 0x14D0 */ cXyz field_0x14d0;
|
||||
/* 0x1494 */ cXyz mFrontPos;
|
||||
/* 0x14A0 */ cXyz mBackPos;
|
||||
/* 0x14AC */ cXyz mOldFrontPos;
|
||||
/* 0x14B8 */ cXyz mOldBackPos;
|
||||
/* 0x14C4 */ cXyz mWaterSpeed;
|
||||
/* 0x14D0 */ cXyz mForcePos;
|
||||
};
|
||||
|
||||
STATIC_ASSERT(sizeof(daCanoe_c) == 0x14dc);
|
||||
|
||||
@@ -1046,6 +1046,8 @@ public:
|
||||
void onForceSubjectCancel() { onEndResetFlg0(ERFLG0_FORCE_SUBJECT_CANCEL); }
|
||||
void onEnemyDead() { onEndResetFlg0(ERFLG0_ENEMY_DEAD); }
|
||||
void offDkCaught2() { offNoResetFlg0(FLG0_UNK_20000); }
|
||||
void onWaterFallFrontHit() { onEndResetFlg1(ERFLG1_UNK_800); }
|
||||
void onCanoeItemCancel() { onEndResetFlg1(ERFLG1_UNK_20000000); }
|
||||
|
||||
u32 checkBoarSingleBattle() const { return checkNoResetFlg2(daPy_FLG2(FLG2_UNK_1000000 | FLG2_BOAR_SINGLE_BATTLE)); }
|
||||
u32 checkWolfDashAutoJump() const { return checkNoResetFlg2(FLG2_WOLF_DASH_AUTO_JUMP); }
|
||||
|
||||
@@ -156,7 +156,7 @@ public:
|
||||
void setMsgTimeMs(u32 msgTime) { mMsgTimeMs = msgTime; }
|
||||
void setTimeMs(s32 i_time) { mTimeMs = i_time; }
|
||||
u32 getTimeMs() { return mTimeMs; }
|
||||
int getNowCount() { return mNowCount; }
|
||||
u8 getNowCount() { return mNowCount; }
|
||||
int getMaxCount() { return mMaxCount; }
|
||||
void setScopeZoomPointer(u8 param_0) { mScopeZoomPointer = param_0; }
|
||||
u8 getItemExplainWindowStatus() { return mItemExplainWindowStatus; }
|
||||
@@ -635,7 +635,7 @@ inline void dMeter2Info_setTimeMs(s32 i_time) {
|
||||
g_meter2_info.setTimeMs(i_time);
|
||||
}
|
||||
|
||||
inline int dMeter2Info_getNowCount() {
|
||||
inline u8 dMeter2Info_getNowCount() {
|
||||
return g_meter2_info.getNowCount();
|
||||
}
|
||||
|
||||
@@ -816,6 +816,10 @@ inline void dMeter2Info_setFloatingMessage(u16 pMessageID, s16 pMessageTimer, bo
|
||||
g_meter2_info.setFloatingMessage(pMessageID, pMessageTimer, pWakuVisible);
|
||||
}
|
||||
|
||||
inline void dMeter2Info_setMiniGameCount(s8 i_count) {
|
||||
g_meter2_info.setMiniGameCount(i_count);
|
||||
}
|
||||
|
||||
const char* dMeter2Info_getPlusTextureName();
|
||||
const char* dMeter2Info_getNumberTextureName(int pIndex);
|
||||
int dMeter2Info_recieveLetter();
|
||||
|
||||
@@ -364,7 +364,7 @@ int daDr_c::create() {
|
||||
if (dComIfG_play_c::getLayerNo(0) == 3) {
|
||||
phase_state = dComIfG_resLoad(&mPhase, "B_dr");
|
||||
if (phase_state == cPhs_COMPLEATE_e) {
|
||||
OS_REPORT("dr PARAM %x\n", fopAcM_GetParam());
|
||||
OS_REPORT("dr PARAM %x\n", fopAcM_GetParam(this));
|
||||
OS_REPORT("dr//////////////DR SET 1 !!\n");
|
||||
|
||||
if (!fopAcM_entrySolidHeap(this, useHeapInit, 0x68C0)) {
|
||||
|
||||
+890
-1111
File diff suppressed because it is too large
Load Diff
@@ -2236,15 +2236,18 @@ BOOL daNpc_zrA_c::swimGoalRiverDescend(void* param_0) {
|
||||
if (player->current.pos.y < -14100.0f) {
|
||||
if (!daNpcF_chkEvtBit(0x60)) {
|
||||
mOrderEvtNo = EVT_THANKS_BLAST;
|
||||
} else if (dMeter2Info_getNowCount() >= 30) {
|
||||
dComIfGs_onSwitch(mSwitch1, fopAcM_GetRoomNo(this));
|
||||
dComIfGs_onSwitch(mSwitch2, fopAcM_GetRoomNo(this));
|
||||
mOrderEvtNo = EVT_THANKS_BLAST;
|
||||
} else if (dMeter2Info_getNowCount() >= 25) {
|
||||
dComIfGs_onSwitch(mSwitch1, fopAcM_GetRoomNo(this));
|
||||
mOrderEvtNo = EVT_THANKS_BLAST;
|
||||
} else {
|
||||
mOrderEvtNo = EVT_RESULT_ANNOUNCE;
|
||||
int count = dMeter2Info_getNowCount();
|
||||
if (count >= 30) {
|
||||
dComIfGs_onSwitch(mSwitch1, fopAcM_GetRoomNo(this));
|
||||
dComIfGs_onSwitch(mSwitch2, fopAcM_GetRoomNo(this));
|
||||
mOrderEvtNo = EVT_THANKS_BLAST;
|
||||
} else if (count >= 25) {
|
||||
dComIfGs_onSwitch(mSwitch1, fopAcM_GetRoomNo(this));
|
||||
mOrderEvtNo = EVT_THANKS_BLAST;
|
||||
} else {
|
||||
mOrderEvtNo = EVT_RESULT_ANNOUNCE;
|
||||
}
|
||||
}
|
||||
} else {
|
||||
mPath.getDstPos(current.pos, pos);
|
||||
|
||||
@@ -1688,8 +1688,7 @@ bool jmessage_tMeasureProcessor::do_tag(u32 i_tag, void const* i_data, u32 i_siz
|
||||
dMsgUnit_setTag(0x10001, (u32)dComIfGp_getMessageCountNumber(), buffer_0);
|
||||
break;
|
||||
case 7:
|
||||
u8 now_count = dMeter2Info_getNowCount();
|
||||
dMsgUnit_setTag(8, now_count, buffer_0);
|
||||
dMsgUnit_setTag(8, dMeter2Info_getNowCount(), buffer_0);
|
||||
break;
|
||||
default:
|
||||
return false;
|
||||
|
||||
@@ -2023,16 +2023,16 @@ void fpoAcM_relativePos(fopAc_ac_c const* i_actor, cXyz const* i_pos, cXyz* o_po
|
||||
|
||||
/* 8001D9A8-8001DAE4 0182E8 013C+00 0/0 1/1 9/9 .text
|
||||
* fopAcM_getWaterStream__FPC4cXyzRC13cBgS_PolyInfoP4cXyzPii */
|
||||
s32 fopAcM_getWaterStream(cXyz const* param_0, cBgS_PolyInfo const& param_1, cXyz* speed,
|
||||
int* param_3, int param_4) {
|
||||
s32 fopAcM_getWaterStream(cXyz const* pos, cBgS_PolyInfo const& polyinfo, cXyz* speed,
|
||||
int* power, BOOL param_4) {
|
||||
daTagStream_c* stream = daTagStream_c::getTop();
|
||||
if (stream != NULL) {
|
||||
for (stream = daTagStream_c::getTop(); stream != NULL; stream = stream->getNext()) {
|
||||
if (stream->checkStreamOn() && (param_4 == 0 || stream->checkCanoeOn()) &&
|
||||
stream->checkArea(param_0))
|
||||
if (stream->checkStreamOn() && (!param_4 || stream->checkCanoeOn()) &&
|
||||
stream->checkArea(pos))
|
||||
{
|
||||
*speed = stream->speed;
|
||||
*param_3 = stream->getPower() & 0xff;
|
||||
*power = stream->getPower() & 0xff;
|
||||
return 1;
|
||||
}
|
||||
}
|
||||
@@ -2042,14 +2042,14 @@ s32 fopAcM_getWaterStream(cXyz const* param_0, cBgS_PolyInfo const& param_1, cXy
|
||||
return 0;
|
||||
}
|
||||
|
||||
if (dComIfG_Bgsp().ChkPolySafe(param_1)) {
|
||||
if (dPath_GetPolyRoomPathVec(param_1, speed, param_3)) {
|
||||
if (dComIfG_Bgsp().ChkPolySafe(polyinfo)) {
|
||||
if (dPath_GetPolyRoomPathVec(polyinfo, speed, power)) {
|
||||
speed->normalizeZP();
|
||||
return 1;
|
||||
}
|
||||
} else {
|
||||
*speed = cXyz::Zero;
|
||||
*param_3 = 0;
|
||||
*power = 0;
|
||||
}
|
||||
|
||||
return 0;
|
||||
|
||||
Reference in New Issue
Block a user