summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorLagoLunatic <LagoLunatic@users.noreply.github.com>2026-07-24 14:25:28 -0400
committerLagoLunatic <LagoLunatic@users.noreply.github.com>2026-07-24 14:25:28 -0400
commit20913851558a8d86101a025c60078905534622a6 (patch)
treed3372d43c9c0742aa98e8476c925e7533bba48b8 /src
parent5faa15219c6c94622d5ed08b162fed09b85b8ffc (diff)
Demo matches
Diffstat (limited to 'src')
-rw-r--r--src/d/actor/d_a_agb.cpp65
-rw-r--r--src/d/actor/d_a_auction.cpp2
-rw-r--r--src/d/actor/d_a_goal_flag.cpp2
-rw-r--r--src/d/actor/d_a_npc_md.cpp4
-rw-r--r--src/d/actor/d_a_npc_zl1.cpp2
-rw-r--r--src/d/actor/d_a_obj_pfall.cpp2
-rw-r--r--src/d/actor/d_a_player.cpp24
-rw-r--r--src/d/actor/d_a_player_hammer.inc4
-rw-r--r--src/d/actor/d_a_player_main.cpp88
-rw-r--r--src/d/actor/d_a_player_rope.inc10
-rw-r--r--src/d/actor/d_a_tag_volcano.cpp4
-rw-r--r--src/d/d_grass.cpp14
-rw-r--r--src/d/d_point_wind.cpp5
-rw-r--r--src/d/d_stage.cpp2
14 files changed, 141 insertions, 87 deletions
diff --git a/src/d/actor/d_a_agb.cpp b/src/d/actor/d_a_agb.cpp
index 87625827..edc82418 100644
--- a/src/d/actor/d_a_agb.cpp
+++ b/src/d/actor/d_a_agb.cpp
@@ -1,11 +1,12 @@
/**
* d_a_agb.cpp
- * Tingle Tuner Cursor
+ * Tingle Tuner Cursor / AGBカーソル (AGB Cursor)
*/
#include "d/dolzel.h" // IWYU pragma: keep
#include "d/actor/d_a_agb.h"
#include "d/d_msg.h"
+#include "d/d_s_play.h"
#include "res/Object/Agb.h"
#include "JSystem/JKernel/JKRHeap.h"
#include "JSystem/JUtility/JUTAssert.h"
@@ -407,7 +408,7 @@ int daAgb_c::uploadSelect() {
strcat(path, ".bin");
l_gbaCommand = mDoDvdThd_toMainRam_c::create(path, JKRArchive::DEFAULT_MOUNT_DIRECTION, dMsg_getAgbWorkArea());
#endif
- JUT_ASSERT(VERSION_SELECT(591, 591, 860, 861), l_gbaCommand != NULL);
+ JUT_ASSERT(VERSION_SELECT(590, 591, 860, 861), l_gbaCommand != NULL);
mDoGaC_GbaReboot();
mDoGaC_setPortNo(mPortNo);
@@ -423,7 +424,7 @@ int daAgb_c::uploadSelect() {
int daAgb_c::uploadJoyboot1() {
if (l_gbaCommand->sync()) {
void* programp = l_gbaCommand->getMemAddress();
- JUT_ASSERT(VERSION_SELECT(622, 622, 891, 892), programp != NULL);
+ JUT_ASSERT(VERSION_SELECT(621, 622, 891, 892), programp != NULL);
JUTGba::getManager()->doJoyBoot(mDoGaC_getPortNo(), 3, -1, (u8*)programp,
l_gbaCommand->getMemSize() - 4, NULL, NULL);
@@ -483,7 +484,7 @@ int daAgb_c::uploadMessageLoad() {
strcat(path, ".bin");
l_gbaCommand = mDoDvdThd_toMainRam_c::create(path, JKRArchive::DEFAULT_MOUNT_DIRECTION, NULL);
#endif
- JUT_ASSERT(VERSION_SELECT(715, 715, 1000, 1001), l_gbaCommand != NULL);
+ JUT_ASSERT(VERSION_SELECT(714, 715, 1000, 1001), l_gbaCommand != NULL);
mUploadAction = UpAct_UNK7;
mDoGaC_onComEnable();
@@ -506,7 +507,7 @@ int daAgb_c::uploadMessageLoad2() {
int daAgb_c::uploadConnect() {
if (mDoGaC_getComEnable() && mDoGaC_GbaLink()) {
void* programp = l_gbaCommand->getMemAddress();
- JUT_ASSERT(VERSION_SELECT(760, 760, 1045, 1046), programp != NULL);
+ JUT_ASSERT(VERSION_SELECT(759, 760, 1045, 1046), programp != NULL);
mDoGac_SendDataSet((u32*)programp, l_gbaCommand->getMemSize(), 0, 0);
mUploadAction = UpAct_UNK8;
@@ -1019,10 +1020,12 @@ void daAgb_c::GbaItemUse() {
temp_r29 |= (var_r28 << 8);
resetCursor(false);
break;
+#if VERSION > VERSION_DEMO
case 0x13:
resetCursor(false);
field_0x65c = 30;
break;
+#endif
case 7:
if (dComIfGs_checkGetItem(dItemNo_BAIT_BAG_e)) {
if (dComIfGs_checkBaitItemEmpty()) {
@@ -1046,11 +1049,13 @@ void daAgb_c::GbaItemUse() {
resetCursor(false);
field_0x65c = 60;
break;
+#if VERSION > VERSION_DEMO
case 9:
dComIfGp_setItemMagicCount(8);
resetCursor(false);
field_0x65c = 60;
break;
+#endif
case 10:
dComIfGp_setItemLifeCount(dComIfGs_getMaxLife());
dComIfGp_setItemMagicCount(dComIfGs_getMaxMagic());
@@ -1216,8 +1221,10 @@ void daAgb_c::FlagsSend(u32 stage_type) {
} else {
mFlags.field_0xb_0 = 0;
}
+#if VERSION > VERSION_DEMO
mFlags.field_0x5_2 = field_0x675;
mFlags.field_0x5_1 = dComIfGs_checkGetItem(dItemNo_CABANA_DEED_e) != FALSE;
+#endif
mDoGac_SendDataSet((u32*)&mFlags, 0xC, 9, 0);
}
@@ -1227,9 +1234,9 @@ void daAgb_c::CursorMove(fopAc_ac_c* actor, u32 stage_type) {
f32 f31;
if (stage_type == dStageType_SEA_e) {
- f31 = field_0x67e ? 50.0f : 781.25f;
+ f31 = field_0x67e ? DEMO_SELECT(l_HIO.field_0x18, 50.0f) : DEMO_SELECT(l_HIO.field_0x1c, 781.25f);
} else {
- f31 = 25.0f;
+ f31 = DEMO_SELECT(l_HIO.field_0x14, 25.0f);
}
if (cLib_chaseF(&field_0x628, 2.5f, field_0x62c) &&
@@ -1375,11 +1382,13 @@ void daAgb_c::modeMove() {
stage_stag_info_class* stag_info = dComIfGp_getStageStagInfo();
u16 stage_type = dStage_stagInfo_GetSTType(stag_info);
+#if VERSION > VERSION_DEMO
if (eventInfo.checkCommandTalk()) {
mUploadAction = UpAct_UNK0;
mMode = MODE_LOAD;
return;
}
+#endif
if (field_0x65c != 0) {
if (field_0x66b == 3 || field_0x66b == 12) {
@@ -1518,7 +1527,12 @@ void daAgb_c::modeMove() {
home.pos = r3->current.pos;
}
- shape_angle.setall(0);
+ shape_angle.x = 0;
+#if VERSION > VERSION_DEMO
+ shape_angle.y = 0;
+#endif
+ shape_angle.z = 0;
+
field_0x628 = 2.5f;
if (g_mDoCPd_cpadInfo[mDoGaC_getPortNo()].mGamepadErrorFlags == 0 && !CPad_CHECK_HOLD_L(mDoGaC_getPortNo()) && (
@@ -1586,8 +1600,24 @@ static BOOL daAgb_Execute(daAgb_c* i_this) {
i_this->FlagsSend(stage_type);
}
+#if VERSION > VERSION_DEMO
i_this->field_0x680 = true;
- } else if (i_this->field_0x680) {
+#endif
+ }
+#if VERSION == VERSION_DEMO
+ else {
+ i_this->resetCursor(false);
+ i_this->field_0x675 = 0;
+ i_this->field_0x676 = 0;
+ i_this->shape_angle.x = 0;
+ i_this->shape_angle.y = 0;
+ i_this->shape_angle.z = 0;
+ i_this->field_0x630 = 0;
+ i_this->field_0x632 = 0;
+ i_this->field_0x684.remove();
+ }
+#else
+ else if (i_this->field_0x680) {
i_this->field_0x680 = false;
i_this->resetCursor(true);
i_this->offActive();
@@ -1607,6 +1637,7 @@ static BOOL daAgb_Execute(daAgb_c* i_this) {
i_this->field_0x632 = 0;
i_this->field_0x684.remove();
}
+#endif
i_this->modeProcCall();
@@ -1628,13 +1659,13 @@ static BOOL daAgb_Execute(daAgb_c* i_this) {
{
f32 speedF = fabs(player->speedF);
- if (speedF <= 0.0f) {
+ if (speedF <= DEMO_SELECT(l_HIO.field_0x24, 0.0f)) {
daAgb_c::mFlags.field_0x5_3 = 0;
- } else if (speedF < 5.0f) {
+ } else if (speedF < DEMO_SELECT(l_HIO.field_0x28, 5.0f)) {
daAgb_c::mFlags.field_0x5_3 = 1;
- } else if (speedF < 10.0f) {
+ } else if (speedF < DEMO_SELECT(l_HIO.field_0x2c, 10.0f)) {
daAgb_c::mFlags.field_0x5_3 = 2;
- } else if (speedF < 15.0f) {
+ } else if (speedF < DEMO_SELECT(l_HIO.field_0x30, 15.0f)) {
daAgb_c::mFlags.field_0x5_3 = 3;
} else {
daAgb_c::mFlags.field_0x5_3 = 4;
@@ -1746,7 +1777,7 @@ static BOOL createHeap_CB(fopAc_ac_c* i_this) {
/* 800D396C-800D3B58 .text createHeap__7daAgb_cFv */
BOOL daAgb_c::createHeap() {
J3DModelData* modelData = (J3DModelData*)dComIfG_getObjectRes("Agb", dRes_INDEX_AGB_BDL_AGBCURSOR_e);
- JUT_ASSERT(VERSION_SELECT(2960, 2960, 3277, 3286), modelData != NULL);
+ JUT_ASSERT(VERSION_SELECT(2870, 2960, 3277, 3286), modelData != NULL);
mpModel = mDoExt_J3DModel__create(modelData, 0x80000, 0x11000002);
if (mpModel == NULL) {
@@ -1804,10 +1835,16 @@ static cPhs_State daAgb_Create(fopAc_ac_c* i_this) {
a_this->setTargetID(fpcM_ERROR_PROCESS_ID_e);
a_this->setFollowTarget(false);
a_this->field_0x67b = false;
+#if VERSION > VERSION_DEMO
a_this->field_0x680 = true;
+#endif
fopAcM_setStageLayer(a_this);
a_this->eventInfo.setEventName("DEFAULT_AGB_USE");
+
+#if VERSION == VERSION_DEMO
+ l_HIO.entryHIO("AGBカーソル");
+#endif
}
return phase;
diff --git a/src/d/actor/d_a_auction.cpp b/src/d/actor/d_a_auction.cpp
index a33f2d1d..9dfeeddf 100644
--- a/src/d/actor/d_a_auction.cpp
+++ b/src/d/actor/d_a_auction.cpp
@@ -1389,7 +1389,7 @@ u16 daAuction_c::next_msgStatus(u32* pMsgNo) {
break;
case 0x1D1F:
- dComIfGp_setNextStage("sea", 3, 11);
+ dComIfGp_setNextStage("sea", 3, dIsleRoom_WindfallIsland_e);
case 0x1D24:
m82B = 1;
msgStatus = fopMsgStts_MSG_ENDS_e;
diff --git a/src/d/actor/d_a_goal_flag.cpp b/src/d/actor/d_a_goal_flag.cpp
index 4c8e13bc..5a8dba74 100644
--- a/src/d/actor/d_a_goal_flag.cpp
+++ b/src/d/actor/d_a_goal_flag.cpp
@@ -894,7 +894,7 @@ BOOL daGoal_Flag_c::RaceEnd() {
if (end_chk || (mCamFramesPassed > l_HIO.mEndCamEarlyFrame &&
(CPad_CHECK_TRIG_A(0) || CPad_CHECK_TRIG_B(0) || CPad_CHECK_TRIG_START(0)) )) {
- dComIfGp_setNextStage("sea", 1, 0x30);
+ dComIfGp_setNextStage("sea", 1, dIsleRoom_BoatingCourse_e);
}
return true;
diff --git a/src/d/actor/d_a_npc_md.cpp b/src/d/actor/d_a_npc_md.cpp
index 1f3282a2..24f6cfca 100644
--- a/src/d/actor/d_a_npc_md.cpp
+++ b/src/d/actor/d_a_npc_md.cpp
@@ -3554,7 +3554,7 @@ void daNpc_Md_c::initialMsgSetEvent(int staffIdx) {
if (mMsgNo == 0x19DD) {
dComIfGs_onEventBit(dSv_event_flag_c::UNK_1620);
dComIfGs_onEventBit(dSv_event_flag_c::UNK_1608);
- dComIfGp_setNextStage("sea", 0xE3, 13, 8);
+ dComIfGp_setNextStage("sea", 0xE3, dIsleRoom_DragonRoostIsland_e, 8);
} else {
l_msgId = fpcM_ERROR_PROCESS_ID_e;
int* pMsgNo = dComIfGp_evmng_getMyIntegerP(staffIdx, "MsgNo");
@@ -3908,7 +3908,7 @@ void daNpc_Md_c::initialEndEvent(int staffIdx) {
if (mMsgNo == 0x19de) {
dComIfGs_onEventBit(dSv_event_flag_c::UNK_1620);
dComIfGs_onEventBit(dSv_event_flag_c::UNK_1608);
- dComIfGp_setNextStage("sea", 0xE3, 13, 8);
+ dComIfGp_setNextStage("sea", 0xE3, dIsleRoom_DragonRoostIsland_e, 8);
}
// Fall-through
case -1:
diff --git a/src/d/actor/d_a_npc_zl1.cpp b/src/d/actor/d_a_npc_zl1.cpp
index bbaf9219..b72de352 100644
--- a/src/d/actor/d_a_npc_zl1.cpp
+++ b/src/d/actor/d_a_npc_zl1.cpp
@@ -2202,7 +2202,7 @@ BOOL daNpc_Zl1_c::talk_1() {
dComIfGs_onEventBit(dSv_event_flag_c::UNK_0810);
break;
case 0xC90:
- dComIfGp_setNextStage("sea", 0xcd, 0x2c, 10, 0.0f, 0, 1, 0);
+ dComIfGp_setNextStage("sea", 0xcd, dIsleRoom_OutsetIsland_e, 10, 0.0f, 0, 1, 0);
field_0x7D7 = false;
return ret;
}
diff --git a/src/d/actor/d_a_obj_pfall.cpp b/src/d/actor/d_a_obj_pfall.cpp
index c2600f7a..66daf71f 100644
--- a/src/d/actor/d_a_obj_pfall.cpp
+++ b/src/d/actor/d_a_obj_pfall.cpp
@@ -347,7 +347,7 @@ void daObj_Pfall_c::mode_event() {
if(l_HIO.field_0x06 != 0) {
mode_wait_init();
} else {
- dComIfGp_setNextStage("sea", 15, 11);
+ dComIfGp_setNextStage("sea", 15, dIsleRoom_WindfallIsland_e);
}
}
} else {
diff --git a/src/d/actor/d_a_player.cpp b/src/d/actor/d_a_player.cpp
index 26628476..d2bd11d8 100644
--- a/src/d/actor/d_a_player.cpp
+++ b/src/d/actor/d_a_player.cpp
@@ -14,8 +14,9 @@ void daPy_py_c::changePlayer(fopAc_ac_c* newPlayer) {
if (!newPlayer) {
return;
}
+ s8 roomNo = newPlayer->current.roomNo;
s8 stayNo = dComIfGp_roomControl_getStayNo();
- if (stayNo != newPlayer->current.roomNo) {
+ if (stayNo != roomNo) {
return;
}
dComIfGp_setPlayer(0, newPlayer);
@@ -25,27 +26,28 @@ void daPy_py_c::changePlayer(fopAc_ac_c* newPlayer) {
/* 80102940-80102B84 .text objWindHitCheck__9daPy_py_cFP8dCcD_Cyl */
void daPy_py_c::objWindHitCheck(dCcD_Cyl* cyl) {
- cXyz targetSpeed(0.0f, 0.0f, 0.0f);
+ cXyz targetSpeedVec(0.0f, 0.0f, 0.0f);
f32 maxStep = 3.0f;
if (cyl->ChkTgHit()) {
cCcD_Obj* hitObj = cyl->GetTgHitObj();
if (hitObj && hitObj->ChkAtType(AT_TYPE_WIND)) {
- targetSpeed = *cyl->GetTgRVecP();
- f32 distXZ = cyl->GetTgRVecP()->absXZ();
+ targetSpeedVec = *cyl->GetTgRVecP();
+ f32 speedXZ = cyl->GetTgRVecP()->absXZ();
+ f32 targetSpeed = 30.0f;
maxStep = 1.0f;
- if (distXZ < 1.0f) {
- targetSpeed = (current.pos - *cyl->GetTgHitPosP()) * 30.0f;
- distXZ = targetSpeed.absXZ();
+ if (speedXZ < 1.0f) {
+ targetSpeedVec = (current.pos - *cyl->GetTgHitPosP()) * targetSpeed;
+ speedXZ = targetSpeedVec.absXZ();
}
- if (distXZ > 30.0f) {
- targetSpeed *= 30.0f / distXZ;
+ if (speedXZ > targetSpeed) {
+ targetSpeedVec *= targetSpeed / speedXZ;
}
}
}
- cLib_addCalc(&field_0x2f8.x, targetSpeed.x, 0.5f, maxStep, 0.5f);
- cLib_addCalc(&field_0x2f8.z, targetSpeed.z, 0.5f, maxStep, 0.5f);
+ cLib_addCalc(&field_0x2f8.x, targetSpeedVec.x, 0.5f, maxStep, 0.5f);
+ cLib_addCalc(&field_0x2f8.z, targetSpeedVec.z, 0.5f, maxStep, 0.5f);
current.pos.x += field_0x2f8.x;
current.pos.z += field_0x2f8.z;
}
diff --git a/src/d/actor/d_a_player_hammer.inc b/src/d/actor/d_a_player_hammer.inc
index 32a51f1f..d425aafd 100644
--- a/src/d/actor/d_a_player_hammer.inc
+++ b/src/d/actor/d_a_player_hammer.inc
@@ -68,9 +68,7 @@ void daPy_lk_c::setHammerQuake(cBgS_PolyInfo* param_1, const cXyz* param_2, int
getGroundAngle(param_1, shape_angle.y), shape_angle.y, getGroundAngle(param_1, shape_angle.y + -0x4000)
);
mDoMtx_stack_c::transM(0.0f, 0.0f, -30.0f);
- local_38.x = mDoMtx_stack_c::now[0][3];
- local_38.y = mDoMtx_stack_c::now[1][3];
- local_38.z = mDoMtx_stack_c::now[2][3];
+ mDoMtx_stack_c::multVecZero(&local_38);
if (!fopAcM_getWaterY(&local_38, &local_54) || (local_54 < (5.0f + local_38.y))) {
emitter = dComIfGp_particle_setP1(dPa_name::ID_IT_JN_HM_SENKO00, &local_38);
if (emitter != NULL) {
diff --git a/src/d/actor/d_a_player_main.cpp b/src/d/actor/d_a_player_main.cpp
index dc0a5d12..d155f5c7 100644
--- a/src/d/actor/d_a_player_main.cpp
+++ b/src/d/actor/d_a_player_main.cpp
@@ -373,7 +373,7 @@ BOOL daPy_lk_c::jointBeforeCB(int jnt_no, J3DTransformInfo* param_2, Quaternion*
mDoMtx_copy(J3DSys::mCurrentMtx, root_mtx);
mDoMtx_stack_c::quatS(&m3648);
mDoMtx_stack_c::inverse();
- mDoMtx_concat(J3DSys::mCurrentMtx, mDoMtx_stack_c::get(), J3DSys::mCurrentMtx);
+ cMtx_concat(J3DSys::mCurrentMtx, mDoMtx_stack_c::get(), J3DSys::mCurrentMtx);
} else if (jnt_no == CL_JNT_WAIST_CHN_e) {
mDoMtx_copy(root_mtx, J3DSys::mCurrentMtx);
}
@@ -540,7 +540,7 @@ BOOL daPy_lk_c::jointCB1() {
mDoMtx_stack_c::quatM(quaternion);
mpCLModel->setAnmMtx(CL_JNT_RTOE_JNT_e, mDoMtx_stack_c::get());
- return true;
+ return TRUE;
}
/* 80104178-801041B4 .text daPy_jointCallback1__FP7J3DNodei */
@@ -1113,8 +1113,7 @@ s32 daPy_lk_c::setItemModel() {
mDoMtx_stack_c::transM(0.0f, 0.0f, 30.0f);
}
mDoMtx_stack_c::revConcat(lHandA_jnt_mtx);
- MtxP mtx = mDoMtx_stack_c::now;
- boko->setMatrix(mtx);
+ boko->setMatrix(mDoMtx_stack_c::get());
}
if (mpEquipItemBtk != NULL) {
f32 dVar16 = mpEquipItemBtk->getFrame();
@@ -2369,13 +2368,13 @@ void daPy_lk_c::posMoveFromFootPos() {
cXyz spB0[2];
cXyz sp98[2];
- mDoMtx_concat(m37B4, mpCLModel->getAnmMtx(CL_JNT_LFOOT_JNT_e), mDoMtx_stack_c::get());
+ cMtx_concat(m37B4, mpCLModel->getAnmMtx(CL_JNT_LFOOT_JNT_e), mDoMtx_stack_c::get());
mDoMtx_stack_c::multVec(&l_toe_pos, &spB0[1]);
mDoMtx_stack_c::multVec(&l_heel_pos, &sp98[1]);
- mDoMtx_concat(m37B4, mpCLModel->getAnmMtx(CL_JNT_RFOOT_JNT_e), mDoMtx_stack_c::get());
+ cMtx_concat(m37B4, mpCLModel->getAnmMtx(CL_JNT_RFOOT_JNT_e), mDoMtx_stack_c::get());
mDoMtx_stack_c::multVec(&l_toe_pos, &spB0[0]);
mDoMtx_stack_c::multVec(&l_heel_pos, &sp98[0]);
- mDoMtx_concat(m37B4, mpCLModel->getAnmMtx(CL_JNT_WAIST_JNT_e), mDoMtx_stack_c::get());
+ cMtx_concat(m37B4, mpCLModel->getAnmMtx(CL_JNT_WAIST_JNT_e), mDoMtx_stack_c::get());
MtxP r26 = mDoMtx_stack_c::get();
f32 f31 = cM_ssin(m34E0);
f32 f30 = cM_scos(m34E0);
@@ -4269,10 +4268,11 @@ BOOL daPy_lk_c::checkNextActionFromButton() {
return true;
}
if (
- (dComIfGp_getRStatus() == dActStts_BLANK_e && !checkUpperReadyThrowAnime())
+ dComIfGp_getRStatus() == dActStts_BLANK_e &&
#if VERSION > VERSION_DEMO
- && !checkEquipAnime()
+ !checkUpperReadyThrowAnime() &&
#endif
+ !checkEquipAnime()
) {
if (!checkGrabAnime()) {
if (checkNoResetFlg1(daPyFlg1_NPC_CALL_COMMAND)) {
@@ -8609,8 +8609,6 @@ s16 daPy_lk_c::getGroundAngle(cBgS_PolyInfo* param_1, s16 param_2) {
/* 80119EBC-8011A508 .text setLegAngle__9daPy_lk_cFfiPsPs */
int daPy_lk_c::setLegAngle(f32 param_1, int param_2, s16* param_3, s16* param_4) {
- f32 dVar10;
- f32 dVar11;
cXyz spE8;
cXyz spDC;
cXyz spD0;
@@ -8628,19 +8626,25 @@ int daPy_lk_c::setLegAngle(f32 param_1, int param_2, s16* param_3, s16* param_4)
if (std::abs(param_1) < 0.1f) {
return false;
}
- f32 dVar9 = 0.5f * param_1;
- if (dVar9 > 10.0f) {
- dVar9 = 10.0f;
+ f32 f31;
+ f32 f30;
+ f30 = 0.5f * param_1;
+ if (f30 > 10.0f) {
+ f30 = 10.0f;
}
- mDoMtx_concat(m37B4, mFootData[param_2].field_0x088[0], mDoMtx_stack_c::get());
- spE8.set(0.0f, mDoMtx_stack_c::get()[1][3], mDoMtx_stack_c::get()[2][3]);
+ MtxP mtx;
+ cMtx_concat(m37B4, mFootData[param_2].field_0x088[0], mDoMtx_stack_c::get());
+ mtx = mDoMtx_stack_c::get();
+ spE8.set(0.0f, mtx[1][3], mtx[2][3]);
- mDoMtx_concat(m37B4, mFootData[param_2].field_0x088[1], mDoMtx_stack_c::get());
- spDC.set(0.0f, mDoMtx_stack_c::get()[1][3], mDoMtx_stack_c::get()[2][3]);
+ cMtx_concat(m37B4, mFootData[param_2].field_0x088[1], mDoMtx_stack_c::get());
+ mtx = mDoMtx_stack_c::get();
+ spDC.set(0.0f, mtx[1][3], mtx[2][3]);
- mDoMtx_concat(m37B4, mFootData[param_2].field_0x088[2], mDoMtx_stack_c::get());
- spD0.set(0.0f, mDoMtx_stack_c::get()[1][3] + 3.25f, mDoMtx_stack_c::get()[2][3]);
+ cMtx_concat(m37B4, mFootData[param_2].field_0x088[2], mDoMtx_stack_c::get());
+ mtx = mDoMtx_stack_c::get();
+ spD0.set(0.0f, mtx[1][3] + 3.25f, mtx[2][3]);
spAC = spDC - spE8;
spA0 = spD0 - spDC;
@@ -8648,45 +8652,46 @@ int daPy_lk_c::setLegAngle(f32 param_1, int param_2, s16* param_3, s16* param_4)
spB8.y = spD0.y;
spB8.z = spD0.z;
spB8.y += param_1;
- spB8.z += dVar9;
+ spB8.z += f30;
if (spB8.y >= spE8.y) {
return false;
}
sp7C = spB8 - spE8;
- dVar9 = sp7C.abs2();
- if (cM3d_IsZero(dVar9)) {
+ f31 = sp7C.abs2();
+ if (cM3d_IsZero(f31)) {
return false;
}
- dVar10 = spAC.abs2();
- dVar11 = spA0.abs2();
- if ((std::sqrtf(dVar10) + std::sqrtf(dVar11)) <= std::sqrtf(dVar9)) {
+ f30 = spAC.abs2();
+ f32 f1 = spA0.abs2();
+ if (std::sqrtf(f30) + std::sqrtf(f1) <= std::sqrtf(f31)) {
return false;
}
- f32 dVar8 = (((dVar9 + dVar10) - dVar11) / (2.0f * dVar9));
+ f32 f3 = (((f31 + f30) - f1) / (2.0f * f31));
sp58.x = 0.0f;
- sp58.y = spE8.y + (dVar8 * sp7C.y);
- sp58.z = spE8.z + (dVar8 * sp7C.z);
- f32 f4 = dVar10 - (dVar8 * (dVar9 * dVar8));
+ sp58.y = spE8.y + (f3 * sp7C.y);
+ sp58.z = spE8.z + (f3 * sp7C.z);
+ f32 f4 = f30 - (f3 * (f31 * f3));
if (f4 < 0.0f) {
f4 = 0.0f;
}
- dVar9 = std::sqrtf(f4);
+ f31 = std::sqrtf(f4);
sp70.x = 0.0f;
sp70.y = sp7C.z;
sp70.z = -sp7C.y;
- f32 dVar8_2 = sp70.abs();
- if (cM3d_IsZero(dVar8_2)) {
+ f32 f1_2 = sp70.abs();
+ if (cM3d_IsZero(f1_2)) {
return false;
}
- f32 f2 = dVar9 / dVar8_2;
+ f32 f2 = f31 / f1_2;
spC4.x = 0.0f;
spC4.y = sp58.y + f2 * sp70.y;
spC4.z = sp58.z + f2 * sp70.z;
sp94 = spC4 - spE8;
sp88 = spB8 - spC4;
- mDoMtx_concat(m37B4, mpCLModel->getAnmMtx(CL_JNT_LINK_ROOT_e), mDoMtx_stack_c::get());
- sp64.set(0.0f, mDoMtx_stack_c::get()[1][3], mDoMtx_stack_c::get()[2][3]);
+ cMtx_concat(m37B4, mpCLModel->getAnmMtx(CL_JNT_LINK_ROOT_e), mDoMtx_stack_c::get());
+ mtx = mDoMtx_stack_c::get();
+ sp64.set(0.0f, mtx[1][3], mtx[2][3]);
s16 r29 = cM_atan2s(-sp64.y, -sp64.z);
s16 r27 = cM_atan2s(sp94.y, sp94.z);
@@ -8715,13 +8720,13 @@ void daPy_lk_c::footBgCheck() {
int sp10[2];
int i;
f32* r26;
+ daPy_footData_c* r25_r26;
MtxP r30 = mpCLModel->getBaseTRMtx();
u32 r29 = checkModeFlg(ModeFlg_00000001);
- mDoMtx_concat(m37B4, mpCLModel->getAnmMtx(CL_JNT_WAIST_JNT_e), mDoMtx_stack_c::get());
+ cMtx_concat(m37B4, mpCLModel->getAnmMtx(CL_JNT_WAIST_JNT_e), mDoMtx_stack_c::get());
MtxP r31 = mDoMtx_stack_c::get();
- daPy_footData_c* r25_r26;
f32 f28 = cM_ssin(m34E0);
f32 f27 = cM_scos(m34E0);
r25_r26 = mFootData;
@@ -8804,9 +8809,10 @@ void daPy_lk_c::footBgCheck() {
}
} else {
r28 = r23 + 1 & 1;
+ daPy_footData_c* r4;
+ r4 = &mFootData[r23];
r25_r26 = &mFootData[r28];
- daPy_footData_c* temp_foot_data = &mFootData[r23];
- temp_foot_data->field_0x030 = 0.0f;
+ r4->field_0x030 = 0.0f;
if (!setLegAngle(sp18[r23] - r30[1][3], r23, &sp0C[r23], &sp08[r23])) {
sp0C[r23] = 0;
sp08[r23] = 0;
@@ -10865,7 +10871,7 @@ BOOL daPy_lk_c::startRestartRoom(u32 mode, int eventInfoIdx, f32 param_3, int i_
changePlayer(this);
if (dComIfGp_getMiniGameType() == 1) {
- dComIfGp_setNextStage("sea", 1, 48);
+ dComIfGp_setNextStage("sea", 1, dIsleRoom_BoatingCourse_e);
seStartSystem(JA_SE_FORCE_BACK);
daNpc_Sarace_c::ship_race_result = 3;
mTinkleShieldTimer = 0;
diff --git a/src/d/actor/d_a_player_rope.inc b/src/d/actor/d_a_player_rope.inc
index bd2e6b72..ab480086 100644
--- a/src/d/actor/d_a_player_rope.inc
+++ b/src/d/actor/d_a_player_rope.inc
@@ -958,15 +958,15 @@ BOOL daPy_lk_c::procRopeUp_init() {
}
}
if (dVar4 <= current.pos.y) {
- if (specialRopeHangUp()) {
- return true;
#if VERSION > VERSION_DEMO
- } else if (changeRopeToHangProc()) {
+ if (specialRopeHangUp()) {
return true;
+ }
#endif
- } else {
- return procRopeHangWait_init(0);
+ if (changeRopeToHangProc()) {
+ return true;
}
+ return procRopeHangWait_init(0);
} else {
commonProcInit(daPyProc_ROPE_UP_e);
dComIfGp_setPlayerStatus0(0, daPyStts0_UNK800000_e);
diff --git a/src/d/actor/d_a_tag_volcano.cpp b/src/d/actor/d_a_tag_volcano.cpp
index b6ac68df..6d063238 100644
--- a/src/d/actor/d_a_tag_volcano.cpp
+++ b/src/d/actor/d_a_tag_volcano.cpp
@@ -166,9 +166,9 @@ bool daTagvolcano::Act_c::_execute() {
if (field_0x2a4 == 1) {
if (eventInfo.checkCommandDemoAccrpt()) {
if (mType == 1) {
- dComIfGp_setNextStage("sea", 2, 20);
+ dComIfGp_setNextStage("sea", 2, dIsleRoom_FireMountain_e);
} else {
- dComIfGp_setNextStage("sea", 2, 40);
+ dComIfGp_setNextStage("sea", 2, dIsleRoom_IceRingIsle_e);
}
} else {
fopAcM_orderOtherEvent(this, "TAG_VOLCANO");
diff --git a/src/d/d_grass.cpp b/src/d/d_grass.cpp
index b05807f7..ad767e9d 100644
--- a/src/d/d_grass.cpp
+++ b/src/d/d_grass.cpp
@@ -207,18 +207,20 @@ void dGrass_room_c::newData(dGrass_data_c* data) {
void dGrass_room_c::deleteData() {
while (mpData != NULL) {
mpData->mState = 0;
+#if VERSION > VERSION_DEMO
mDoAud_seDeleteObject(&mpData->mPos);
+#endif
mpData = mpData->mpNextData;
}
}
/* 80077A90-80077CB8 .text __ct__15dGrass_packet_cFv */
dGrass_packet_c::dGrass_packet_c() {
- dGrass_data_c* data = getData();
+ dGrass_data_c* data = mGrassData;
for (s32 i = 0; i < ARRAY_SIZE(mGrassData); i++, data++)
data->mState = 0;
mNextIdx = 0;
- dGrass_anm_c* anm = getAnm();
+ dGrass_anm_c* anm = mGrassAnm;
for (s32 i = 0; i < ARRAY_SIZE(mGrassAnm); i++, anm++)
anm->mState = 0;
s16 angle = 0;
@@ -322,7 +324,11 @@ void dGrass_packet_c::calc() {
f32 windSpeed = 0.0f;
if (!mDoGph_gInf_c::isMonotone() || strcmp(dComIfGp_getStartStageName(), "Hyrule") != 0) {
+#if VERSION == VERSION_DEMO
+ windSpeed = dKyw_get_wind_pow() * 2000.0f;
+#else
windSpeed = dKyw_get_wind_pow() * 1000.0f + 1000.0f;
+#endif
windSpeed = cLib_maxLimit(windSpeed, 2000.0f);
}
@@ -428,7 +434,7 @@ void dGrass_packet_c::setData(dGrass_data_c* data, int nextIdx, cXyz& pos, int i
/* 800785C0-800786FC .text newData__15dGrass_packet_cFR4cXyziSc */
dGrass_data_c* dGrass_packet_c::newData(cXyz& pos, int i_roomNo, s8 itemIdx) {
- JUT_ASSERT(VERSION_SELECT(1530, 1530, 1536, 1536), 0 <= i_roomNo && i_roomNo < 64);
+ JUT_ASSERT(VERSION_SELECT(1529, 1530, 1536, 1536), 0 <= i_roomNo && i_roomNo < 64);
dGrass_data_c* data = &mGrassData[mNextIdx];
s32 i = mNextIdx;
@@ -452,7 +458,7 @@ dGrass_data_c* dGrass_packet_c::newData(cXyz& pos, int i_roomNo, s8 itemIdx) {
/* 800786FC-80078748 .text newAnm__15dGrass_packet_cFv */
s32 dGrass_packet_c::newAnm() {
- dGrass_anm_c* anm = &getAnm(8);
+ dGrass_anm_c* anm = &mGrassAnm[8];
for (s32 i = 8; i < 104; anm++, i++) {
if (anm->mState == 0) {
anm->mState = 1;
diff --git a/src/d/d_point_wind.cpp b/src/d/d_point_wind.cpp
index 951de2f0..f43cb52a 100644
--- a/src/d/d_point_wind.cpp
+++ b/src/d/d_point_wind.cpp
@@ -9,6 +9,7 @@
#include "d/d_kankyo_rain.h"
#include "d/d_kankyo_wether.h"
#include "SSystem/SComponent/c_lib.h"
+#include "d/d_s_play.h"
/* 800CF31C-800CF398 .text set_pwind_init__12dPointWind_cFP9cM3dGCpsS */
void dPointWind_c::set_pwind_init(cM3dGCpsS* pCps) {
@@ -32,7 +33,11 @@ void dPointWind_c::set_pwind_move() {
dKyr_get_vectle_calc(&p0, &p1, &dir);
if (strcmp(dComIfGp_getStartStageName(), "sea") == 0 && dComIfGp_roomControl_getStayNo() == 4) {
+#if VERSION == VERSION_DEMO
+ radScale = 11.0f + REG3_F(3);
+#else
radScale = 11.0f;
+#endif
animate = false;
mWind.mPos = p0 + (dir * -100.0f);
}
diff --git a/src/d/d_stage.cpp b/src/d/d_stage.cpp
index 9c9d68c0..194c0802 100644
--- a/src/d/d_stage.cpp
+++ b/src/d/d_stage.cpp
@@ -2323,7 +2323,7 @@ int dStage_changeSceneExitId(cBgS_PolyInfo& i_poly, f32 i_speed, u32 i_mode, s8
if (strcmp(dComIfGp_getStartStageName(), "Asoko") == 0) {
if (dComIfGs_isEventBit(dSv_event_flag_c::UNK_0808)) {
if (dComIfGs_isEventBit(dSv_event_flag_c::UNK_0520)) {
- dComIfGp_setNextStage("sea", 5, 11, -1, i_speed, i_mode);
+ dComIfGp_setNextStage("sea", 5, dIsleRoom_WindfallIsland_e, -1, i_speed, i_mode);
} else {
dComIfGp_setNextStage("MajyuE", 18, 0, -1, i_speed, i_mode);
}