summaryrefslogtreecommitdiff
path: root/rel
diff options
context:
space:
mode:
authorJeff Padgham <jeff.ookami@gmail.com>2024-03-09 22:12:03 -0800
committerGitHub <noreply@github.com>2024-03-09 22:12:03 -0800
commit67250f6b5dc66a652ce2b2c705a9931efb3aef09 (patch)
tree401108cbe1604650b1764bec4d9048bae7379a9c /rel
parent1672cfaccea0d0e36c317c64590100024038c06a (diff)
d_a_obj_rock small cleanup and doc pass (#2089)
* A bit more cleanup and another small doc pass * d_a_obj_digsnow OK (#2090) * Decomp OK * Cleanup and format pass, removing unused asm * Updating progress * Additional cleanup and PR feedback --------- Co-authored-by: GinNoOokami <noreply> * Updating names based on feedback --------- Co-authored-by: GinNoOokami <noreply>
Diffstat (limited to 'rel')
-rw-r--r--rel/d/a/obj/d_a_obj_rock/d_a_obj_rock.cpp39
1 files changed, 20 insertions, 19 deletions
diff --git a/rel/d/a/obj/d_a_obj_rock/d_a_obj_rock.cpp b/rel/d/a/obj/d_a_obj_rock/d_a_obj_rock.cpp
index 7bdffc0d79..acdb16ee47 100644
--- a/rel/d/a/obj/d_a_obj_rock/d_a_obj_rock.cpp
+++ b/rel/d/a/obj/d_a_obj_rock/d_a_obj_rock.cpp
@@ -19,7 +19,7 @@ static int daObj_Rock_Draw(obj_rock_class* i_this) {
int room = fopAcM_GetRoomNo(i_this);
rock_ss* rock = i_this->mRocks;
- for (int i = 0; i < i_this->mCount; i++, rock++) {
+ for (int i = 0; i < i_this->mRockNum; i++, rock++) {
if (rock->mActive) {
dComIfGp_entrySimpleModel(rock->mpModel, room);
}
@@ -30,9 +30,9 @@ static int daObj_Rock_Draw(obj_rock_class* i_this) {
/* 80CBDD20-80CBDE48 000100 0128+00 2/1 0/0 0/0 .text daObj_Rock_Execute__FP14obj_rock_class */
static int daObj_Rock_Execute(obj_rock_class* i_this) {
- if (i_this->field_0x574 == 0) {
+ if (i_this->mPatchInitialized == FALSE) {
rock_ss* rock = i_this->mRocks;
- for (int i = 0; i < i_this->mCount; i++, rock++) {
+ for (int i = 0; i < i_this->mRockNum; i++, rock++) {
if (rock->mActive) {
mDoMtx_trans(mDoMtx_stack_c::get(), rock->mPos.x, rock->mPos.y + rock->mOffsetY,
rock->mPos.z);
@@ -45,10 +45,10 @@ static int daObj_Rock_Execute(obj_rock_class* i_this) {
rock->mCollider.SetR(rock->mScale.x * 100.0f);
}
}
- i_this->field_0x574 = 1;
+ i_this->mPatchInitialized = TRUE;
} else {
rock_ss* rock = i_this->mRocks;
- for (int i = 0; i < i_this->mCount; i++, rock++) {
+ for (int i = 0; i < i_this->mRockNum; i++, rock++) {
dComIfG_Ccsp2().Set(&rock->mCollider);
}
}
@@ -56,7 +56,7 @@ static int daObj_Rock_Execute(obj_rock_class* i_this) {
}
/* 80CBDE48-80CBDE50 000228 0008+00 1/0 0/0 0/0 .text daObj_Rock_IsDelete__FP14obj_rock_class */
-static bool daObj_Rock_IsDelete(obj_rock_class* param_0) {
+static bool daObj_Rock_IsDelete(obj_rock_class* i_this) {
return true;
}
@@ -76,10 +76,10 @@ static int useHeapInit(fopAc_ac_c* i_this) {
J3DModelData* model_data = (J3DModelData*)dComIfG_getObjectRes("Obj_rock", 3);
- for (int i = 0; i < a_this->mCount; i++) {
+ for (int i = 0; i < a_this->mRockNum; i++) {
a_this->mRocks[i].mpModel = mDoExt_J3DModel__create(model_data, 0x20000, 0x11000084);
if (a_this->mRocks[i].mpModel == NULL) {
- return 0;
+ return FALSE;
}
}
@@ -88,9 +88,9 @@ static int useHeapInit(fopAc_ac_c* i_this) {
/* 80CBDF84-80CBE138 000364 01B4+00 1/1 0/0 0/0 .text set_pos_check__FP14obj_rock_classi
*/
-static int set_pos_check(obj_rock_class* i_this, int index) {
- for (int i = 0; i < index; i++) {
- cXyz dir = i_this->mRocks[i].mPos - i_this->mRocks[index].mPos;
+static int set_pos_check(obj_rock_class* i_this, int target_index) {
+ for (int i = 0; i < target_index; i++) {
+ cXyz dir = i_this->mRocks[i].mPos - i_this->mRocks[target_index].mPos;
if (dir.abs() < 200.0f) {
return FALSE;
}
@@ -120,17 +120,18 @@ static int daObj_Rock_Create(fopAc_ac_c* i_this) {
cPhs__Step step = (cPhs__Step)dComIfG_resLoad(&a_this->mPhaseReq, "Obj_rock");
if (step == cPhs_COMPLEATE_e) {
- a_this->field_0x570 = fopAcM_GetParam(a_this);
- a_this->field_0x571 = fopAcM_GetParamBit(a_this, 8, 8);
+ a_this->mPatchRockNum = fopAcM_GetParam(a_this);
+ a_this->mRockSpacing = fopAcM_GetParamBit(a_this, 8, 8);
a_this->field_0x572 = fopAcM_GetParamBit(a_this, 16, 8);
if (a_this->field_0x572 == 0xFF) {
a_this->field_0x572 = 0;
}
- a_this->mCount = a_this->field_0x570 + 1;
- if (a_this->mCount > 0x10) {
- a_this->mCount = 0x10;
+ // Unclear why a separate counter is used here, or why it adds 1
+ a_this->mRockNum = a_this->mPatchRockNum + 1;
+ if (a_this->mRockNum > 16) {
+ a_this->mRockNum = 16;
}
if (!fopAcM_entrySolidHeap(i_this, (heapCallbackFunc)useHeapInit, 0x4B000)) {
@@ -150,7 +151,7 @@ static int daObj_Rock_Create(fopAc_ac_c* i_this) {
obj_gnd_chk.SetPos((Vec*)&pos);
f32 gnd_height = dComIfG_Bgsp().GroundCross(&obj_gnd_chk);
- for (int i = 0; i < a_this->mCount; i++) {
+ for (int i = 0; i < a_this->mRockNum; i++) {
MtxPush();
mDoMtx_YrotM(*calc_mtx, cM_rndF2(65536.0f));
MtxPosition(&init_pos, &a_this->mRocks[i].mPos);
@@ -181,12 +182,12 @@ static int daObj_Rock_Create(fopAc_ac_c* i_this) {
init_pos.z = cM_rndF2(1.0f);
init_pos.z = 1.0f - (init_pos.z * init_pos.z);
- init_pos.z *= 100.0f * a_this->field_0x571;
+ init_pos.z *= 100.0f * a_this->mRockSpacing;
}
a_this->mStts.Init(0xff, 0, i_this);
- for (int i = 0; i < a_this->mCount; i++) {
+ for (int i = 0; i < a_this->mRockNum; i++) {
a_this->mRocks[i].mCollider.Set(cc_sph_src);
a_this->mRocks[i].mCollider.SetStts(&a_this->mStts);
}