From d10eaa3ef8b258d5edc4eb8756280155ec342481 Mon Sep 17 00:00:00 2001 From: LagoLunatic Date: Thu, 21 May 2026 14:41:15 -0400 Subject: [PATCH] d_a_obj_jump initial documentation pass --- include/d/actor/d_a_obj_jump.h | 86 +++++++++++--------- include/d/d_bg_s_movebg_actor.h | 2 +- include/d/d_com_inf_game.h | 4 +- src/d/actor/d_a_fm.cpp | 4 +- src/d/actor/d_a_npc_cb1.cpp | 2 +- src/d/actor/d_a_npc_os.cpp | 2 +- src/d/actor/d_a_obj_jump.cpp | 136 +++++++++++++++----------------- src/d/actor/d_a_player_hang.inc | 12 +-- src/d/d_bg_s_movebg_actor.cpp | 2 +- src/d/d_camera.cpp | 10 +-- src/d/d_meter.cpp | 2 +- 11 files changed, 131 insertions(+), 131 deletions(-) diff --git a/include/d/actor/d_a_obj_jump.h b/include/d/actor/d_a_obj_jump.h index 2277858b7..4c6a1cf7c 100644 --- a/include/d/actor/d_a_obj_jump.h +++ b/include/d/actor/d_a_obj_jump.h @@ -10,24 +10,23 @@ class J3DNode; namespace daObjJump { struct Attr_c { - /* 0x00 */ u32 resSize; - /* 0x04 */ s16 resIndex; - /* 0x06 */ s16 field_0x006; + /* 0x00 */ u32 heapSize; + /* 0x04 */ s16 dzbResIndex; + /* 0x06 */ s16 bdlResIndex; /* 0x08 */ SVec cullSizeBoxMin; /* 0x0e */ SVec cullSizeBoxMax; - /* 0x14 */ u8 field_0x014; - /* 0x15 */ u8 field_0x015; - /* 0x16 */ u16 field_0x016; - /* 0x18 */ float field_0x018; - /* 0x1C */ float field_0x01C; - /* 0x20 */ float field_0x020; - /* 0x24 */ float field_0x024; - /* 0x28 */ float field_0x028; - /* 0x2C */ float field_0x02C; - /* 0x30 */ float field_0x030; - /* 0x34 */ float field_0x034; - /* 0x38 */ float field_0x038; - /* 0x3c */ float field_0x03C; + /* 0x14 */ bool hasShadow; + /* 0x16 */ u16 springJntNum; + /* 0x18 */ f32 field_0x018; + /* 0x1C */ f32 field_0x01C; + /* 0x20 */ f32 field_0x020; + /* 0x24 */ f32 field_0x024; + /* 0x28 */ f32 field_0x028; + /* 0x2C */ f32 field_0x02C; + /* 0x30 */ f32 field_0x030; + /* 0x34 */ f32 field_0x034; + /* 0x38 */ f32 field_0x038; + /* 0x3c */ f32 field_0x03C; /* 0x40 */ u8 field_0x040; /* 0x41 */ u8 field_0x041; /* 0x42 */ u8 field_0x042; @@ -37,27 +36,38 @@ namespace daObjJump { /* 0x46 */ u8 field_0x046; /* 0x47 */ u8 field_0x047; /* 0x48 */ u8 field_0x048; - /* 0x49 */ u8 field_0x049[0x4c - 0x49]; - /* 0x4c */ float field_0x04C; + /* 0x4c */ f32 field_0x04C; }; // Size: 0x50 class Act_c : public dBgS_MoveBgActor { public: - static u32 prm_make_b() { - return 1; - } - + enum Type_e { + Type_SPRING_e, + Type_SPRING_ON_BOX_e, + }; + + enum Mode_e { + /* 0x0 */ Mode_WAIT_e, + /* 0x1 */ Mode_WAIT_LOWER_e, + /* 0x2 */ Mode_LOWER_e, + /* 0x3 */ Mode_LOWER_UPPER_e, + /* 0x4 */ Mode_UPPER_e, + /* 0x5 */ Mode_UPPER_WAIT_e, + }; + void setup(const cXyz* pos) { current.pos = *pos; - m336 = 1; + mIsSetup = true; } - const Attr_c& attr() const { return M_attr[field_0x2D4]; } + const Attr_c& attr() const { return M_attr[mType]; } enum Prm_e { - PRM_JUMP_W = 0x01, - PRM_JUMP_S = 0x00, + PRM_TYPE_W = 0x01, + PRM_TYPE_S = 0x00, }; - int prm_get_type() const { return daObj::PrmAbstract(this, PRM_JUMP_W, PRM_JUMP_S); } + int prm_get_type() const { return daObj::PrmAbstract(this, PRM_TYPE_W, PRM_TYPE_S); } + + static u32 prm_make_b() { return Type_SPRING_ON_BOX_e; } virtual BOOL CreateHeap(); virtual BOOL Create(); @@ -92,33 +102,31 @@ namespace daObjJump { public: /* 0x2C8 */ request_of_phase_process_class mPhase; /* 0x2D0 */ J3DModel* mModel; - /* 0x2D4 */ int field_0x2D4; - /* 0x2D8 */ dBgS_ObjGndChk field_0x2D8; - /* 0x32C */ f32 field_0x32C; - /* 0x330 */ int field_0x330; - /* 0x334 */ s16 field_0x334; - /* 0x336 */ u8 m336; - /* 0x337 */ u8 m337; + /* 0x2D4 */ int mType; + /* 0x2D8 */ dBgS_ObjGndChk mGndChk; + /* 0x32C */ f32 mGroundY; + /* 0x330 */ int mMode; + /* 0x334 */ s16 mTimer; + /* 0x336 */ bool mIsSetup; /* 0x338 */ f32 field_0x338; /* 0x33C */ f32 field_0x33C; /* 0x340 */ f32 field_0x340; - /* 0x344 */ u8 field_0x344; + /* 0x344 */ bool mIsRide; /* 0x345 */ u8 field_0x345; /* 0x346 */ u8 field_0x346; /* 0x347 */ u8 field_0x347; /* 0x348 */ u8 field_0x348; - /* 0x349 */ u8 field_0x349; + /* 0x349 */ bool mIsPlayerRide; /* 0x34A */ u8 field_0x34a; /* 0x34B */ u8 field_0x34b; - /* 0x34C */ u8 field_0x34c; + /* 0x34C */ bool mIsHeavyRide; /* 0x34D */ u8 field_0x34d; /* 0x34E */ u8 field_0x34e; /* 0x34F */ u8 field_0x34f; /* 0x350 */ u8 field_0x350; /* 0x351 */ u8 field_0x351; /* 0x352 */ s16 field_0x352; - /* 0x354 */ u8 field_0x354; - /* 0x355 */ u8 field_0x355[0x358 - 0x355]; + /* 0x354 */ bool field_0x354; // Wobbling? }; // Size: 0x358 }; diff --git a/include/d/d_bg_s_movebg_actor.h b/include/d/d_bg_s_movebg_actor.h index 8996ecb32..f8d7ea8ec 100644 --- a/include/d/d_bg_s_movebg_actor.h +++ b/include/d/d_bg_s_movebg_actor.h @@ -20,7 +20,7 @@ public: dBgS_MoveBgActor(); BOOL MoveBGCreateHeap(); - cPhs_State MoveBGCreate(char const* resName, int resIndex, MoveBGActor_SetFunc callback, u32 resSize); + cPhs_State MoveBGCreate(const char* i_arcName, int i_dzb_id, MoveBGActor_SetFunc i_setFunc, u32 i_heapSize); BOOL MoveBGDelete(); BOOL MoveBGExecute(); diff --git a/include/d/d_com_inf_game.h b/include/d/d_com_inf_game.h index df179afc1..fb2773c9f 100644 --- a/include/d/d_com_inf_game.h +++ b/include/d/d_com_inf_game.h @@ -41,7 +41,7 @@ enum daPy__PlayerStatus0 { daPyStts0_UNK20_e = 0x00000020, daPyStts0_UNK40_e = 0x00000040, daPyStts0_UNK80_e = 0x00000080, // Maybe inside a Baba Bud before being spat out? - daPyStts0_UNK100_e = 0x00000100, + daPyStts0_HANG_e = 0x00000100, daPyStts0_UNK200_e = 0x00000200, daPyStts0_UNK400_e = 0x00000400, daPyStts0_UNK800_e = 0x00000800, @@ -68,7 +68,7 @@ enum daPy__PlayerStatus0 { // This is some combination of flags which is seemingly related to "judgement", used in dAttention_c daPyStts0_UNK37a02371_e = daPyStts0_UNK1_e | daPyStts0_UNK10_e | daPyStts0_UNK20_e - | daPyStts0_UNK40_e | daPyStts0_UNK100_e | daPyStts0_UNK200_e + | daPyStts0_UNK40_e | daPyStts0_HANG_e | daPyStts0_UNK200_e | daPyStts0_SUBJECT_e| daPyStts0_TELESCOPE_LOOK_e | daPyStts0_UNK800000_e | daPyStts0_UNK1000000_e | daPyStts0_UNK2000000_e | daPyStts0_UNK4000000_e diff --git a/src/d/actor/d_a_fm.cpp b/src/d/actor/d_a_fm.cpp index 7dc4c6e03..e99b0cb25 100644 --- a/src/d/actor/d_a_fm.cpp +++ b/src/d/actor/d_a_fm.cpp @@ -1121,7 +1121,7 @@ bool daFm_c::isGrab() { return false; } - if(isLink(mpActorTarget) && (dComIfGp_checkPlayerStatus0(0, daPyStts0_UNK100_e) || checkPlayerGrabBomb())) { + if(isLink(mpActorTarget) && (dComIfGp_checkPlayerStatus0(0, daPyStts0_HANG_e) || checkPlayerGrabBomb())) { return false; } @@ -2819,7 +2819,7 @@ void daFm_c::searchTarget() { if(mpActorTarget == NULL && field_0x2DC != 2) { fopAc_ac_c* link_actor = dComIfGp_getLinkPlayer(); daPy_lk_c* link_player = (daPy_lk_c*)link_actor; - if(dComIfGp_getLinkPlayer() != NULL && !dComIfGp_checkPlayerStatus0(0, daPyStts0_HOOKSHOT_AIM_e | daPyStts0_UNK100_e)) { + if(dComIfGp_getLinkPlayer() != NULL && !dComIfGp_checkPlayerStatus0(0, daPyStts0_HOOKSHOT_AIM_e | daPyStts0_HANG_e)) { if(!checkPlayerGrabBomb()) { if(!checkPlayerGrabNpc() && !isLinkControl()) { if(!((daPy_lk_c*)dComIfGp_getLinkPlayer())->checkCarryActionNow() && link_player->getGrabActorID() == -1) { diff --git a/src/d/actor/d_a_npc_cb1.cpp b/src/d/actor/d_a_npc_cb1.cpp index 39c88a28f..5828586c9 100644 --- a/src/d/actor/d_a_npc_cb1.cpp +++ b/src/d/actor/d_a_npc_cb1.cpp @@ -2063,7 +2063,7 @@ BOOL daNpc_Cb1_c::searchNpcAction(void*) { } temp = fopAcM_searchPlayerAngleY(this); - if(door || !routeCheck(dist_xz_sq, &temp) || dComIfGp_checkPlayerStatus0(0, daPyStts0_UNK2000000_e | daPyStts0_UNK100_e | daPyStts0_UNK1_e) || ((daPy_py_c*)pPlayer)->checkAttentionLock()) { + if(door || !routeCheck(dist_xz_sq, &temp) || dComIfGp_checkPlayerStatus0(0, daPyStts0_UNK2000000_e | daPyStts0_HANG_e | daPyStts0_UNK1_e) || ((daPy_py_c*)pPlayer)->checkAttentionLock()) { temp2 = 0.0f; if(speedF == 0.0f) { diff --git a/src/d/actor/d_a_npc_os.cpp b/src/d/actor/d_a_npc_os.cpp index 06edaa1b4..f673140cb 100644 --- a/src/d/actor/d_a_npc_os.cpp +++ b/src/d/actor/d_a_npc_os.cpp @@ -1134,7 +1134,7 @@ BOOL daNpc_Os_c::searchNpcAction(void*) { s16 angle, adjustedAngle; angle = adjustedAngle = fopAcM_searchPlayerAngleY(this); BOOL temp3 = routeCheck(dist_sq, &adjustedAngle) && cLib_distanceAngleS(angle, adjustedAngle) <= 0x2000; - if(door || !temp3 || (dComIfGp_checkPlayerStatus0(0, daPyStts0_UNK2000000_e | daPyStts0_UNK100_e | daPyStts0_UNK1_e) || player->checkAttentionLock())) { + if(door || !temp3 || (dComIfGp_checkPlayerStatus0(0, daPyStts0_UNK2000000_e | daPyStts0_HANG_e | daPyStts0_UNK1_e) || player->checkAttentionLock())) { temp = 0.0f; offNpcCallCommand(); } diff --git a/src/d/actor/d_a_obj_jump.cpp b/src/d/actor/d_a_obj_jump.cpp index c9ea0179c..3f216c51e 100644 --- a/src/d/actor/d_a_obj_jump.cpp +++ b/src/d/actor/d_a_obj_jump.cpp @@ -8,21 +8,21 @@ #include "d/actor/d_a_player.h" #include "d/d_procname.h" #include "d/d_priority.h" +#include "d/res/res_hjump.h" namespace daObjJump { Mtx daObjJump::Act_c::M_tmp_mtx; const char Act_c::M_arcname[] = "Hjump"; const Attr_c Act_c::M_attr[2] = { - { - /* resSize */ DEMO_SELECT(0x8000, 0x840), - /* resIndex */ 12, - /* field_0x006 */ 6, + { // Type_SPRING_e + /* heapSize */ DEMO_SELECT(0x8000, 0x840), + /* dzbResIndex */ HJUMP_DZB_HJUMP2, + /* bdlResIndex */ HJUMP_BDL_HJUMP2, /* cullSizeBoxMin */ { -60, -1, -60 }, /* cullSizeBoxMax */ { 60, VERSION_SELECT(151, 151, 251, 251), 60 }, - /* field_0x014 */ 1, - /* field_0x015 */ 0, - /* field_0x016 */ 1, + /* hasShadow */ true, + /* springJntNum */ 1, /* field_0x018 */ 40.0f, /* field_0x01C */ 125.0f, /* field_0x020 */ 150.0f, @@ -42,18 +42,16 @@ const Attr_c Act_c::M_attr[2] = { /* field_0x046 */ 0x04, /* field_0x047 */ 0x04, /* field_0x048 */ 0x01, - /* field_0x049 */ { 0, 0, 0 }, /* field_0x04C */ 2.0f }, - { - /* resSize */ DEMO_SELECT(0x8000, 0x840), - /* resIndex */ 11, - /* field_0x006 */ 5, + { // Type_SPRING_ON_BOX_e + /* heapSize */ DEMO_SELECT(0x8000, 0x840), + /* dzbResIndex */ HJUMP_DZB_HJUMP1B, + /* bdlResIndex */ HJUMP_BDL_HJUMP1, /* cullSizeBoxMin */ { -90, -1, -90 }, /* cullSizeBoxMax */ { 90, VERSION_SELECT(301, 301, 401, 401), 90 }, - /* field_0x014 */ 0, - /* field_0x015 */ 0, - /* field_0x016 */ 1, + /* hasShadow */ false, + /* springJntNum */ 1, /* field_0x018 */ 160.0f, /* field_0x01C */ 270.0f, /* field_0x020 */ 300.0f, @@ -73,7 +71,6 @@ const Attr_c Act_c::M_attr[2] = { /* field_0x046 */ 0x04, /* field_0x047 */ 0x04, /* field_0x048 */ 0x01, - /* field_0x049 */ { 0, 0, 0 }, /* field_0x04C */ 2.0f } }; @@ -81,12 +78,12 @@ const Attr_c Act_c::M_attr[2] = { /* 00000078-00000184 .text CreateHeap__Q29daObjJump5Act_cFv */ BOOL daObjJump::Act_c::CreateHeap() { - J3DModelData* model_data = (J3DModelData*)dComIfG_getObjectRes(M_arcname, attr().field_0x006); + J3DModelData* model_data = (J3DModelData*)dComIfG_getObjectRes(M_arcname, attr().bdlResIndex); JUT_ASSERT(DEMO_SELECT(277, 282), model_data != NULL); mModel = mDoExt_J3DModel__create(model_data, 0x80000, 0x11000022); if (mModel != NULL) { - model_data->getJointTree().getJointNodePointer(attr().field_0x016)->setCallBack(jnodeCB_lower); + model_data->getJointTree().getJointNodePointer(attr().springJntNum)->setCallBack(jnodeCB_lower); mModel->setUserArea((u32)this); } return mModel != NULL; @@ -94,10 +91,9 @@ BOOL daObjJump::Act_c::CreateHeap() { /* 00000184-0000033C .text Create__Q29daObjJump5Act_cFv */ BOOL daObjJump::Act_c::Create() { - unsigned int uVar2; field_0x338 = 1.0f; field_0x33C = 1.0f; - cullMtx = mModel->getBaseTRMtx(); + fopAcM_SetMtx(this, mModel->getBaseTRMtx()); init_mtx(); fopAcM_setCullSizeBox( this, @@ -108,15 +104,14 @@ BOOL daObjJump::Act_c::Create() { attr().cullSizeBoxMax.y, attr().cullSizeBoxMax.z ); - if (attr().field_0x014 != 0) { - cXyz temp(current.pos.x, current.pos.y + 50.0f, current.pos.z); - field_0x2D8.SetPos(&temp); - uVar2 = fopAcM_GetID(this); - field_0x2D8.SetActorPid(uVar2); - field_0x32C = dComIfG_Bgsp()->GroundCross(&field_0x2D8); + if (attr().hasShadow) { + cXyz pos(current.pos.x, current.pos.y + 50.0f, current.pos.z); + mGndChk.SetPos(&pos); + mGndChk.SetActorPid(fopAcM_GetID(this)); + mGroundY = dComIfG_Bgsp()->GroundCross(&mGndChk); } #if VERSION > VERSION_DEMO - if (field_0x2D4 == 1) { + if (mType == Type_SPRING_ON_BOX_e) { actor_status &= ~0x3F; gbaName = 0; } @@ -131,12 +126,12 @@ cPhs_State daObjJump::Act_c::Mthd_Create() { fopAcM_ct(this, daObjJump::Act_c); cPhs_State phase_state = dComIfG_resLoad(&mPhase, M_arcname); if (phase_state == cPhs_COMPLEATE_e) { - field_0x2D4 = prm_get_type(); + mType = prm_get_type(); phase_state = MoveBGCreate( M_arcname, - attr().resIndex, + attr().dzbResIndex, dBgS_MoveBGProc_Typical, - attr().resSize + attr().heapSize ); JUT_ASSERT(DEMO_SELECT(373, 384), (phase_state == cPhs_COMPLEATE_e) || (phase_state == cPhs_ERROR_e)); } @@ -160,10 +155,10 @@ void daObjJump::Act_c::set_mtx() { mDoMtx_stack_c::transS(current.pos); mDoMtx_stack_c::ZXYrotM(shape_angle); mModel->setBaseTRMtx(mDoMtx_stack_c::get()); - float fVar1 = attr().field_0x020 - attr().field_0x024; - float fVar2 = attr().field_0x01C - attr().field_0x018; - float fVar3 = (field_0x33C - 1.0f); - float fVar4 = (fVar1 + fVar2 * fVar3) / fVar1; + f32 fVar1 = attr().field_0x020 - attr().field_0x024; + f32 fVar2 = attr().field_0x01C - attr().field_0x018; + f32 fVar3 = (field_0x33C - 1.0f); + f32 fVar4 = (fVar1 + fVar2 * fVar3) / fVar1; mDoMtx_stack_c::transM(0.0f, attr().field_0x024, 0.0f); mDoMtx_stack_c::scaleM(1.0f, fVar4,1.0f); mDoMtx_stack_c::transM(0.0f, -attr().field_0x024, 0.0f); @@ -179,7 +174,7 @@ void daObjJump::Act_c::init_mtx() { /* 00000BB4-00000D9C .text set_push_flag__Q29daObjJump5Act_cFv */ void daObjJump::Act_c::set_push_flag() { field_0x345 = 0; - if (field_0x344 != 0) { + if (mIsRide) { if (field_0x347 < 0xff) { field_0x347 += 1; } @@ -190,7 +185,7 @@ void daObjJump::Act_c::set_push_flag() { field_0x347 = 0; } field_0x346 = 0; - if (field_0x344 != 0) { + if (mIsRide) { field_0x348 = 0; } else { if (field_0x348 < 0xff) { @@ -201,7 +196,7 @@ void daObjJump::Act_c::set_push_flag() { } } field_0x34a = 0; - if (field_0x349 != 0 && dComIfGp_checkPlayerStatus0(0, daPyStts0_UNK100_e)) { + if (mIsPlayerRide && dComIfGp_checkPlayerStatus0(0, daPyStts0_HANG_e)) { if (field_0x34b < 0xff) { field_0x34b += 1; } @@ -212,7 +207,7 @@ void daObjJump::Act_c::set_push_flag() { field_0x34b = 0; } field_0x34d = 0; - if (field_0x34c != 0) { + if (mIsHeavyRide) { if (field_0x34f < 0xff) { field_0x34f += 1; } @@ -223,7 +218,7 @@ void daObjJump::Act_c::set_push_flag() { field_0x34f = 0; } field_0x34e = 0; - if (field_0x34c != 0) { + if (mIsHeavyRide) { field_0x350 = 0; return; } @@ -238,34 +233,33 @@ void daObjJump::Act_c::set_push_flag() { /* 00000D9C-00000DB4 .text clear_push_flag__Q29daObjJump5Act_cFv */ void daObjJump::Act_c::clear_push_flag() { - field_0x344 = 0; - field_0x34c = 0; - field_0x349 = 0; + mIsRide = false; + mIsHeavyRide = false; + mIsPlayerRide = false; field_0x354 = 0; } /* 00000DB4-00000E1C .text calc_vib_pos__Q29daObjJump5Act_cFv */ void daObjJump::Act_c::calc_vib_pos() { f32 f2 = field_0x33C - field_0x338; - field_0x340 = field_0x340 - f2 * attr().field_0x02C; - field_0x340 = field_0x340 - field_0x340 * attr().field_0x028; - field_0x33C = field_0x33C + field_0x340; + field_0x340 -= f2 * attr().field_0x02C; + field_0x340 -= field_0x340 * attr().field_0x028; + field_0x33C += field_0x340; } /* 00000E1C-00000E74 .text rideCB__Q29daObjJump5Act_cFP4dBgWP10fopAc_ac_cP10fopAc_ac_c */ void daObjJump::Act_c::rideCB(dBgW*, fopAc_ac_c* param_2, fopAc_ac_c* param_3) { Act_c* i_this = (Act_c *) param_2; daPy_py_c* player = (daPy_py_c *) param_3; - i_this->field_0x344 = 1; - if (fopAcM_GetProfName(param_3) != PROC_PLAYER) { - return; - } - i_this->field_0x349 = 1; - if (player->checkEquipHeavyBoots()) { - i_this->field_0x34c = 1; - } - if (fopAcM_GetSpeedF(player) > i_this->attr().field_0x04C) { - i_this->field_0x354 = 1; + i_this->mIsRide = true; + if (fopAcM_GetProfName(param_3) == PROC_PLAYER) { + i_this->mIsPlayerRide = true; + if (player->checkEquipHeavyBoots()) { + i_this->mIsHeavyRide = true; + } + if (fopAcM_GetSpeedF(player) > i_this->attr().field_0x04C) { + i_this->field_0x354 = true; + } } } @@ -276,7 +270,7 @@ BOOL daObjJump::Act_c::jnodeCB_lower(J3DNode* node, int calcTiming) { Act_c* i_this = (Act_c *) model->getUserArea(); J3DJoint* joint = (J3DJoint*) node; u16 jntNo = joint->getJntNo(); - PSMTXCopy(model->getAnmMtx(jntNo), mDoMtx_stack_c::get()); + MTXCopy(model->getAnmMtx(jntNo), mDoMtx_stack_c::get()); mDoMtx_stack_c::scaleM(i_this->field_0x33C,1.0f,1.0f); model->setAnmMtx(jntNo, mDoMtx_stack_c::get()); f32 f2 = i_this->attr().field_0x01C - i_this->attr().field_0x018; @@ -288,7 +282,7 @@ BOOL daObjJump::Act_c::jnodeCB_lower(J3DNode* node, int calcTiming) { /* 00000F48-00000F64 .text mode_wait_init__Q29daObjJump5Act_cFv */ void daObjJump::Act_c::mode_wait_init() { - field_0x330 = 0; + mMode = Mode_WAIT_e; field_0x338 = 1.0f; field_0x352 = 0; } @@ -310,7 +304,7 @@ void daObjJump::Act_c::mode_wait() { /* 0000108C-000010B4 .text mode_w_l_init__Q29daObjJump5Act_cFv */ void daObjJump::Act_c::mode_w_l_init() { - field_0x330 = 1; + mMode = Mode_WAIT_LOWER_e; field_0x338 = attr().field_0x038; } @@ -323,7 +317,7 @@ void daObjJump::Act_c::mode_w_l() { /* 000010E8-000010FC .text mode_lower_init__Q29daObjJump5Act_cFv */ void daObjJump::Act_c::mode_lower_init() { - field_0x330 = 2; + mMode = Mode_LOWER_e; field_0x352 = 0; } @@ -344,7 +338,7 @@ void daObjJump::Act_c::mode_lower() { /* 00001200-00001228 .text mode_l_u_init__Q29daObjJump5Act_cFv */ void daObjJump::Act_c::mode_l_u_init() { - field_0x330 = 3; + mMode = Mode_LOWER_UPPER_e; field_0x338 = attr().field_0x03C; } @@ -353,7 +347,7 @@ void daObjJump::Act_c::mode_l_u() { if (field_0x33C >= field_0x338) { field_0x33C = field_0x338; field_0x340 = 0.0f; - if (field_0x349 != 0) { + if (mIsPlayerRide) { daPy_py_c* player = daPy_getPlayerActorClass(); player->onForceVomitJump(); } @@ -363,22 +357,20 @@ void daObjJump::Act_c::mode_l_u() { /* 00001290-000012B8 .text mode_upper_init__Q29daObjJump5Act_cFv */ void daObjJump::Act_c::mode_upper_init() { - field_0x330 = 4; - field_0x334 = attr().field_0x042; + mMode = Mode_UPPER_e; + mTimer = attr().field_0x042; } /* 000012B8-000012EC .text mode_upper__Q29daObjJump5Act_cFv */ void daObjJump::Act_c::mode_upper() { - s16 var = field_0x334; - field_0x334 = var - 1; - if ((s16)(var - 1) <= 0) { + if (--mTimer <= 0) { mode_u_w_init(); } } /* 000012EC-00001304 .text mode_u_w_init__Q29daObjJump5Act_cFv */ void daObjJump::Act_c::mode_u_w_init() { - field_0x330 = 5; + mMode = Mode_UPPER_WAIT_e; field_0x338 = 1.0f; } @@ -405,9 +397,9 @@ BOOL daObjJump::Act_c::Execute(Mtx** param_1) { &daObjJump::Act_c::mode_u_w }; - (this->*mode_proc[field_0x330])(); + (this->*mode_proc[mMode])(); - if ((field_0x330 == 0 || field_0x330 == 2) && field_0x354 != 0) { + if ((mMode == Mode_WAIT_e || mMode == Mode_LOWER_e) && field_0x354) { field_0x340 += attr().field_0x034; } calc_vib_pos(); @@ -424,12 +416,12 @@ BOOL daObjJump::Act_c::Draw() { dComIfGd_setListBG(); mDoExt_modelUpdateDL(mModel); dComIfGd_setList(); - if (attr().field_0x014 != 0) { + if (attr().hasShadow != 0) { dComIfGd_setSimpleShadow2( ¤t.pos, - field_0x32C, + mGroundY, 70.0f, - field_0x2D8, + mGndChk, shape_angle.y, 1.0f, NULL diff --git a/src/d/actor/d_a_player_hang.inc b/src/d/actor/d_a_player_hang.inc index afb8fa822..c544520b7 100644 --- a/src/d/actor/d_a_player_hang.inc +++ b/src/d/actor/d_a_player_hang.inc @@ -229,7 +229,7 @@ BOOL daPy_lk_c::procHangStart_init() { current.angle.y = shape_angle.y; mVelocity = 0.0f; speed.y = 0.0f; - dComIfGp_setPlayerStatus0(0, daPyStts0_UNK100_e); + dComIfGp_setPlayerStatus0(0, daPyStts0_HANG_e); mHangGroundH = mAcch.GetGroundH(); return true; } @@ -332,7 +332,7 @@ BOOL daPy_lk_c::procHangFallStart_init(cM3dGPla* param_0) { ); mVelocity = 0.0f; speed.y = 0.0f; - dComIfGp_setPlayerStatus0(0, daPyStts0_UNK100_e); + dComIfGp_setPlayerStatus0(0, daPyStts0_HANG_e); voiceStart(11); return true; } @@ -378,7 +378,7 @@ BOOL daPy_lk_c::procHangUp_init(int param_0) { m_HIO->mHang.m.field_0x2, m_HIO->mHang.m.field_0x20 ); - dComIfGp_setPlayerStatus0(0, daPyStts0_UNK100_e); + dComIfGp_setPlayerStatus0(0, daPyStts0_HANG_e); mProcVar0.m3570 = param_0; mVelocity = 0.0f; return true; @@ -416,7 +416,7 @@ BOOL daPy_lk_c::procHangWait_init() { mpSeAnmFrameCtrl = NULL; mVelocity = 0.0f; speed.y = 0.0f; - dComIfGp_setPlayerStatus0(0, daPyStts0_UNK100_e); + dComIfGp_setPlayerStatus0(0, daPyStts0_HANG_e); return true; } @@ -456,7 +456,7 @@ BOOL daPy_lk_c::procHangMove_init(int param_0) { current.angle.y = shape_angle.y + -0x4000; } setSingleMoveAnime(anm, getHangMoveAnmSpeed(), 0.0f, -1, m_HIO->mHang.m.field_0x2C); - dComIfGp_setPlayerStatus0(0, daPyStts0_UNK100_e); + dComIfGp_setPlayerStatus0(0, daPyStts0_HANG_e); mVelocity = 0.0f; cXyz local_1c = mLeftHandPos - mRightHandPos; m35A0 = local_1c.absXZ(); @@ -604,7 +604,7 @@ BOOL daPy_lk_c::procHangWallCatch_init() { current.angle.y = shape_angle.y; mVelocity = 0.0f; speed.y = 0.0f; - dComIfGp_setPlayerStatus0(0, daPyStts0_UNK100_e); + dComIfGp_setPlayerStatus0(0, daPyStts0_HANG_e); return true; } diff --git a/src/d/d_bg_s_movebg_actor.cpp b/src/d/d_bg_s_movebg_actor.cpp index 72520f87b..ecbba4b61 100644 --- a/src/d/d_bg_s_movebg_actor.cpp +++ b/src/d/d_bg_s_movebg_actor.cpp @@ -45,7 +45,7 @@ BOOL dBgS_MoveBgActor::MoveBGCreateHeap() { /* 800A57F4-800A58F4 .text MoveBGCreate__16dBgS_MoveBgActorFPCciPFP4dBgWPvR13cBgS_PolyInfobP4cXyzP5csXyzP5csXyz_vUl */ cPhs_State dBgS_MoveBgActor::MoveBGCreate(const char* i_arcName, int i_dzb_id, - MoveBGActor_SetFunc i_setFunc, u32 i_heapSize) { + MoveBGActor_SetFunc i_setFunc, u32 i_heapSize) { mDoMtx_stack_c::transS(current.pos.x, current.pos.y, current.pos.z); mDoMtx_stack_c::YrotM(shape_angle.y); mDoMtx_stack_c::scaleM(scale.x, scale.y, scale.z); diff --git a/src/d/d_camera.cpp b/src/d/d_camera.cpp index ca90e05bc..44b2b3fd0 100644 --- a/src/d/d_camera.cpp +++ b/src/d/d_camera.cpp @@ -2752,7 +2752,7 @@ bool dCamera_c::followCamera(s32 param_1) { } } - if (check_owner_action(mPadId, daPyStts0_UNK200_e | daPyStts0_UNK100_e) && !check_owner_action(mPadId, daPyStts0_UNK2000000_e)) { + if (check_owner_action(mPadId, daPyStts0_UNK200_e | daPyStts0_HANG_e) && !check_owner_action(mPadId, daPyStts0_UNK2000000_e)) { if (dVar21 > -10.0f) { mWork.follow.m3B0 = -10.0f; } @@ -2982,7 +2982,7 @@ bool dCamera_c::followCamera(s32 param_1) { setDMCAngle(); } - if ((check_owner_action(mPadId, daPyStts0_UNK2000000_e | daPyStts0_UNK100_e | daPyStts0_UNK40_e | daPyStts0_UNK20_e | daPyStts0_UNK1_e) && check_owner_action1(mPadId, daPyStts1_UNK10000_e)) || (cSAngle::_270 < local_4ac && local_4ac < cSAngle::_90)) { + if ((check_owner_action(mPadId, daPyStts0_UNK2000000_e | daPyStts0_HANG_e | daPyStts0_UNK40_e | daPyStts0_UNK20_e | daPyStts0_UNK1_e) && check_owner_action1(mPadId, daPyStts1_UNK10000_e)) || (cSAngle::_270 < local_4ac && local_4ac < cSAngle::_90)) { mWork.follow.m3EC = dVar23; } else { @@ -3033,7 +3033,7 @@ bool dCamera_c::followCamera(s32 param_1) { if (m780) { cXyz attn_pos = attentionPos(mpPlayerActor); - if (check_owner_action(mPadId, daPyStts0_CRAWL_e | daPyStts0_SWIM_e | daPyStts0_UNK100_e)) { + if (check_owner_action(mPadId, daPyStts0_CRAWL_e | daPyStts0_SWIM_e | daPyStts0_HANG_e)) { attn_pos.y = eyePos(mpPlayerActor).y + 30.0f; } else { @@ -3097,7 +3097,7 @@ bool dCamera_c::followCamera(s32 param_1) { } if ( - check_owner_action(mPadId, daPyStts0_UNK2000000_e | daPyStts0_UNK100_e) || + check_owner_action(mPadId, daPyStts0_UNK2000000_e | daPyStts0_HANG_e) || check_owner_action1(mPadId, check_owner_action1(mPadId, daPyStts1_UNK10000_e)) ) { if (mWork.follow.m38C == 0) { @@ -3249,7 +3249,7 @@ bool dCamera_c::followCamera(s32 param_1) { mWork.follow.m3A4 = positionOf(mpPlayerActor).y; - if (check_owner_action(mPadId, daPyStts0_UNK2000000_e | daPyStts0_UNK100_e | daPyStts0_UNK40_e | daPyStts0_UNK20_e | daPyStts0_UNK1_e || check_owner_action1(mPadId, daPyStts1_UNK10000_e))) { + if (check_owner_action(mPadId, daPyStts0_UNK2000000_e | daPyStts0_HANG_e | daPyStts0_UNK40_e | daPyStts0_UNK20_e | daPyStts0_UNK1_e || check_owner_action1(mPadId, daPyStts1_UNK10000_e))) { mWork.follow.m3B4 = 1; } else { diff --git a/src/d/d_meter.cpp b/src/d/d_meter.cpp index 53201e682..13c0f28e9 100644 --- a/src/d/d_meter.cpp +++ b/src/d/d_meter.cpp @@ -825,7 +825,7 @@ void dMeter_statusCheck(sub_meter_class* i_Meter) { } } else if (dComIfGp_checkPlayerStatus0(0, daPyStts0_SWIM_e)) { i_Meter->mStatusFlags |= dMtrStts_UNK2000_e; - } else if (dComIfGp_checkPlayerStatus0(0, (daPyStts0_UNK100_e | daPyStts0_UNK2000000_e))) { + } else if (dComIfGp_checkPlayerStatus0(0, (daPyStts0_HANG_e | daPyStts0_UNK2000000_e))) { i_Meter->mStatusFlags |= dMtrStts_UNK8000_e; } else if (dComIfGp_checkPlayerStatus0(0, daPyStts0_UNK4000000_e)) { i_Meter->mStatusFlags |= dMtrStts_UNK10000_e;