Lv5key / Iceblock done (#2177)

* obj_lv5key

* obj_iceblock done

* remove asm
This commit is contained in:
TakaRikka
2024-07-12 23:24:50 -07:00
committed by GitHub
parent 89e14f9f97
commit ca1ece683b
94 changed files with 1303 additions and 5515 deletions
+43 -17
View File
@@ -1,3 +1,6 @@
#include "d/a/d_a_alink.h"
#include "d/com/d_com_inf_game.h"
/* 800E3830-800E3858 0DE170 0028+00 2/2 0/0 0/0 .text daAlink_checkLightBallA__FP10fopAc_ac_c */
static bool daAlink_checkLightBallA(fopAc_ac_c* p_actor) {
if (fopAcM_GetName(p_actor) == PROC_Obj_Carry &&
@@ -127,8 +130,7 @@ BOOL daAlink_c::checkGrabCarryActor() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::checkGrabSlowMoveActor() {
nofralloc
asm void daAlink_c::checkGrabSlowMoveActor(){nofralloc
#include "asm/d/a/d_a_alink/checkGrabSlowMoveActor__9daAlink_cFv.s"
}
#pragma pop
@@ -150,8 +152,7 @@ BOOL daAlink_c::checkGrabSideActor() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::setGrabUpperAnime(f32 param_0) {
nofralloc
asm void daAlink_c::setGrabUpperAnime(f32 param_0){nofralloc
#include "asm/d/a/d_a_alink/setGrabUpperAnime__9daAlink_cFf.s"
}
#pragma pop
@@ -261,8 +262,7 @@ asm void daAlink_c::setGrabUpperSpeedRate() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::setCarryArmAngle(f32 param_0, f32 param_1) {
nofralloc
asm void daAlink_c::setCarryArmAngle(f32 param_0, f32 param_1){nofralloc
#include "asm/d/a/d_a_alink/setCarryArmAngle__9daAlink_cFff.s"
}
#pragma pop
@@ -485,8 +485,7 @@ asm int daAlink_c::procGrabStandInit() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm int daAlink_c::procGrabStand() {
nofralloc
asm int daAlink_c::procGrabStand(){nofralloc
#include "asm/d/a/d_a_alink/procGrabStand__9daAlink_cFv.s"
}
#pragma pop
@@ -576,8 +575,7 @@ asm int daAlink_c::procPickPut() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::checkSetChainPullAnime(s16 param_0) {
nofralloc
asm void daAlink_c::checkSetChainPullAnime(s16 param_0){nofralloc
#include "asm/d/a/d_a_alink/checkSetChainPullAnime__9daAlink_cFs.s"
}
#pragma pop
@@ -712,14 +710,42 @@ BOOL daAlink_c::wallGrabButton() {
/* 800E7F3C-800E80A4 0E287C 0168+00 4/4 0/0 0/0 .text
* setPushPullKeepData__9daAlink_cFQ29dBgW_Base13PushPullLabeli */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::setPushPullKeepData(dBgW_Base::PushPullLabel param_0, int param_1) {
nofralloc
#include "asm/d/a/d_a_alink/setPushPullKeepData__9daAlink_cFQ29dBgW_Base13PushPullLabeli.s"
int daAlink_c::setPushPullKeepData(dBgW_Base::PushPullLabel i_label, int param_1) {
if (i_label != dBgW::PPLABEL_NONE) {
if (checkPowerGloveGet()) {
cLib_onBit<dBgW::PushPullLabel>(i_label, dBgW::PPLABEL_HEAVY);
}
if (field_0x3198) {
cLib_onBit<dBgW::PushPullLabel>(i_label, dBgW::PPLABEL_4);
}
}
fopAc_ac_c* pp_actor = dComIfG_Bgsp().PushPullCallBack(mPolyInfo1, this, shape_angle.y, i_label);
if (pp_actor == NULL) {
return 0;
}
cXyz unused;
if (i_label != dBgW::PPLABEL_NONE || param_1) {
if (pp_actor->shape_angle.y != mProcVar2.field_0x300c) {
s16 var_r28 = pp_actor->shape_angle.y - mProcVar2.field_0x300c;
mProcVar3.field_0x300e.x += var_r28;
current.pos.x = field_0x37c8.x + field_0x347c * cM_ssin(mProcVar3.field_0x300e.x);
current.pos.z = field_0x37c8.z + field_0x347c * cM_scos(mProcVar3.field_0x300e.x);
shape_angle.y += var_r28;
current.angle.y += var_r28;
}
current.pos.x += pp_actor->current.pos.x - field_0x37c8.x;
current.pos.z += pp_actor->current.pos.z - field_0x37c8.z;
}
field_0x37c8 = pp_actor->current.pos;
mProcVar2.field_0x300c = pp_actor->shape_angle.y;
return 1;
}
#pragma pop
/* 800E80A4-800E8148 0E29E4 00A4+00 2/2 0/0 0/0 .text checkPushPullTurnBlock__9daAlink_cFv */
#pragma push
+4 -4
View File
@@ -848,8 +848,8 @@ void dBgS::ArrowStickCallBack(cBgS_PolyInfo const& poly, fopAc_ac_c* param_1, cX
/* 80075C6C-80075D0C 0705AC 00A0+00 0/0 1/1 0/0 .text
* PushPullCallBack__4dBgSFRC13cBgS_PolyInfoP10fopAc_ac_csQ29dBgW_Base13PushPullLabel */
bool dBgS::PushPullCallBack(cBgS_PolyInfo const& param_0, fopAc_ac_c* param_1, s16 param_2,
dBgW_Base::PushPullLabel param_3) {
fopAc_ac_c* dBgS::PushPullCallBack(cBgS_PolyInfo const& param_0, fopAc_ac_c* i_pushActor, s16 i_angle,
dBgW_Base::PushPullLabel i_label) {
u16 bg_index = param_0.GetBgIndex();
dBgW_Base* base = m_chk_element[bg_index].m_bgw_base_ptr;
if (!base->ChkUsed()) {
@@ -864,8 +864,8 @@ bool dBgS::PushPullCallBack(cBgS_PolyInfo const& param_0, fopAc_ac_c* param_1, s
return false;
}
return base->GetPushPullCallback()(m_chk_element[bg_index].m_actor_ptr, param_1, param_2,
param_3);
return base->GetPushPullCallback()(m_chk_element[bg_index].m_actor_ptr, i_pushActor, i_angle,
i_label);
}
/* 80075D0C-80075D7C 07064C 0070+00 0/0 8/8 1/1 .text dBgS_CheckBWallPoly__FRC13cBgS_PolyInfo */