mirror of
https://github.com/zeldaret/tww.git
synced 2026-07-09 14:05:28 -04:00
daPy_lk_c::checkRopeSwingWall
This commit is contained in:
+11
-11
@@ -382,17 +382,17 @@ public:
|
||||
dPa_control_c();
|
||||
|
||||
enum {
|
||||
dPtclGroup_Normal_e,
|
||||
dPtclGroup_NormalP1_e,
|
||||
dPtclGroup_Toon_e,
|
||||
dPtclGroup_ToonP1_e,
|
||||
dPtclGroup_Projection_e,
|
||||
dPtclGroup_ShipTail_e,
|
||||
dPtclGroup_Wind_e,
|
||||
dPtclGroup_2Dfore_e,
|
||||
dPtclGroup_2Dback_e,
|
||||
dPtclGroup_2DmenuFore_e,
|
||||
dPtclGroup_2DmenuBack_e,
|
||||
/* 0x0 */ dPtclGroup_Normal_e,
|
||||
/* 0x1 */ dPtclGroup_NormalP1_e,
|
||||
/* 0x2 */ dPtclGroup_Toon_e,
|
||||
/* 0x3 */ dPtclGroup_ToonP1_e,
|
||||
/* 0x4 */ dPtclGroup_Projection_e,
|
||||
/* 0x5 */ dPtclGroup_ShipTail_e,
|
||||
/* 0x6 */ dPtclGroup_Wind_e,
|
||||
/* 0x7 */ dPtclGroup_2Dfore_e,
|
||||
/* 0x8 */ dPtclGroup_2Dback_e,
|
||||
/* 0x9 */ dPtclGroup_2DmenuFore_e,
|
||||
/* 0xA */ dPtclGroup_2DmenuBack_e,
|
||||
};
|
||||
|
||||
static u8 getRM_ID(u16);
|
||||
|
||||
@@ -122,10 +122,57 @@ int daPy_lk_c::changeRopeToHangProc() {
|
||||
}
|
||||
|
||||
/* 8014327C-80143694 .text checkRopeSwingWall__9daPy_lk_cFP4cXyzP4cXyzPsPf */
|
||||
BOOL daPy_lk_c::checkRopeSwingWall(cXyz*, cXyz*, s16*, f32*) {
|
||||
/* Nonmatching */
|
||||
static JGeometry::TVec3<f32> dynamic_scale;
|
||||
static JGeometry::TVec3<f32> particle_scale;
|
||||
BOOL daPy_lk_c::checkRopeSwingWall(cXyz* r4, cXyz* r5, s16* r6, f32* r7) {
|
||||
static JGeometry::TVec3<f32> dynamic_scale(0.25f, 0.25f, 0.25f);
|
||||
static JGeometry::TVec3<f32> particle_scale(0.75f, 0.75f, 0.75f);
|
||||
|
||||
mLinkLinChk.Set(r4, r5, this);
|
||||
if (dComIfG_Bgsp()->LineCross(&mLinkLinChk)) {
|
||||
f32 f1 = -*r6 / (f32)m34D4;
|
||||
if (f1 > 1.0f) {
|
||||
f1 = 1.0f;
|
||||
} else if (f1 < -1.0f) {
|
||||
f1 = -1.0f;
|
||||
}
|
||||
if (*r7 > 0.0f) {
|
||||
*r7 = cM_atan2f(f1, -std::sqrtf(1.0f - f1*f1));
|
||||
} else {
|
||||
*r7 = cM_atan2f(f1, std::sqrtf(1.0f - f1*f1));
|
||||
}
|
||||
m35A8 = *r7 / m35A4;
|
||||
daPy_footEffect_c* foot_effect = &mFootEffect[1];
|
||||
if (foot_effect->getID() != -1) {
|
||||
foot_effect->getSmokeCallBack()->remove();
|
||||
foot_effect->getOtherCallBack()->remove();
|
||||
}
|
||||
|
||||
cM3dGPla* plane = dComIfG_Bgsp()->GetTriPla(mLinkLinChk);
|
||||
cXyz* normal = plane->GetNP();
|
||||
cXyz sp50 = mLinkLinChk.GetCross() + *normal * 10.0f;
|
||||
foot_effect->setPos(&sp50);
|
||||
csXyz angle;
|
||||
angle.x = cM_atan2s(normal->absXZ(), normal->y);
|
||||
angle.y = cM_atan2s(normal->x, normal->z);
|
||||
angle.z = 0;
|
||||
foot_effect->setAngle(&angle);
|
||||
|
||||
JPABaseEmitter* emitter = dComIfGp_particle_setToonP1(
|
||||
dPa_name::ID_COMMON_2022,
|
||||
&foot_effect->getPos(), &foot_effect->getAngle(),
|
||||
NULL, daPy_HIO_basic_c0::m.field_0x2, foot_effect->getSmokeCallBack(),
|
||||
fopAcM_GetRoomNo(this)
|
||||
);
|
||||
if (emitter) {
|
||||
emitter->setSpread(1.0f);
|
||||
emitter->setRate(8.0f);
|
||||
emitter->setGlobalDynamicsScale(dynamic_scale);
|
||||
emitter->setGlobalParticleScale(particle_scale);
|
||||
}
|
||||
|
||||
return TRUE;
|
||||
} else {
|
||||
return FALSE;
|
||||
}
|
||||
}
|
||||
|
||||
/* 80143694-80143A44 .text setBlendRopeMoveAnime__9daPy_lk_cFi */
|
||||
|
||||
+22
-22
@@ -1312,15 +1312,15 @@ int dFile_select_c::DataSelectPaneCopyMove(s16 param_1, s16 param_2) {
|
||||
case 0:
|
||||
temp1 = PaneTranceRecTlt2(field_0x3930 - param_1, g_fsHIO.field_0x28, g_fsHIO.field_0x40, 55.0f, 0.0f, 55.0f, 1, 0);
|
||||
temp2 = PaneTranceRecInfo2(field_0x3930 - param_1, g_fsHIO.field_0x28, g_fsHIO.field_0x40, 55.0f, 0.0f, 55.0f, 1, 0);
|
||||
temp3 = PaneTranceRecTlt3(field_0x3930 - param_2, g_fsHIO.field_0x28, g_fsHIO.field_0x40, 55.0, 0.0f, 55.0f, 1, 0);
|
||||
temp4 = PaneTranceRecInfo3(field_0x3930 - param_2, g_fsHIO.field_0x28, g_fsHIO.field_0x40, 55.0, 0.0f, 55.0f, 1, 0);
|
||||
temp3 = PaneTranceRecTlt3(field_0x3930 - param_2, g_fsHIO.field_0x28, g_fsHIO.field_0x40, 55.0f, 0.0f, 55.0f, 1, 0);
|
||||
temp4 = PaneTranceRecInfo3(field_0x3930 - param_2, g_fsHIO.field_0x28, g_fsHIO.field_0x40, 55.0f, 0.0f, 55.0f, 1, 0);
|
||||
|
||||
break;
|
||||
case 1:
|
||||
temp1 = PaneTranceRecTlt1(field_0x3930 - param_1, g_fsHIO.field_0x28, g_fsHIO.field_0x40, 140.0f, 0.0f, 140.0f, 1, 0);
|
||||
temp2 = PaneTranceRecInfo1(field_0x3930 - param_1, g_fsHIO.field_0x28, g_fsHIO.field_0x40, 140.0f, 0.0f, 140.0f, 1, 0);
|
||||
temp3 = PaneTranceRecTlt3(field_0x3930 - param_2, g_fsHIO.field_0x28, g_fsHIO.field_0x40, 55.0, 0.0f, 55.0f, 1, 0);
|
||||
temp4 = PaneTranceRecInfo3(field_0x3930 - param_2, g_fsHIO.field_0x28, g_fsHIO.field_0x40, 55.0, 0.0f, 55.0f, 1, 0);
|
||||
temp3 = PaneTranceRecTlt3(field_0x3930 - param_2, g_fsHIO.field_0x28, g_fsHIO.field_0x40, 55.0f, 0.0f, 55.0f, 1, 0);
|
||||
temp4 = PaneTranceRecInfo3(field_0x3930 - param_2, g_fsHIO.field_0x28, g_fsHIO.field_0x40, 55.0f, 0.0f, 55.0f, 1, 0);
|
||||
|
||||
break;
|
||||
case 2:
|
||||
@@ -1347,14 +1347,14 @@ int dFile_select_c::DataSelectPaneCopyBackMove(s16 param_1, s16 param_2) {
|
||||
temp5 = 1;
|
||||
temp6 = 1;
|
||||
if(field_0x3925 == 0) {
|
||||
temp1 = PaneTranceRecTlt3(field_0x3930 - param_1, g_fsHIO.field_0x28, g_fsHIO.field_0x40, 0.0f, 0.0, 0.0f, 1, 0);
|
||||
temp2 = PaneTranceRecInfo3(field_0x3930 - param_1, g_fsHIO.field_0x28, g_fsHIO.field_0x40, 0.0f, 0.0, 0.0f, 1, 0);
|
||||
temp1 = PaneTranceRecTlt3(field_0x3930 - param_1, g_fsHIO.field_0x28, g_fsHIO.field_0x40, 0.0f, 0.0f, 0.0f, 1, 0);
|
||||
temp2 = PaneTranceRecInfo3(field_0x3930 - param_1, g_fsHIO.field_0x28, g_fsHIO.field_0x40, 0.0f, 0.0f, 0.0f, 1, 0);
|
||||
temp3 = 1;
|
||||
temp4 = 1;
|
||||
}
|
||||
else {
|
||||
temp1 = PaneTranceRecTlt3(field_0x3930 - param_1, g_fsHIO.field_0x28, 0.0f, -85.0, 0.0f, 0.0f, g_fsHIO.field_0x07, 2);
|
||||
temp2 = PaneTranceRecInfo3(field_0x3930 - param_1, g_fsHIO.field_0x28, 0.0f, -85.0, 0.0f, 0.0f, g_fsHIO.field_0x07, 2);
|
||||
temp1 = PaneTranceRecTlt3(field_0x3930 - param_1, g_fsHIO.field_0x28, 0.0f, -85.0f, 0.0f, 0.0f, g_fsHIO.field_0x07, 2);
|
||||
temp2 = PaneTranceRecInfo3(field_0x3930 - param_1, g_fsHIO.field_0x28, 0.0f, -85.0f, 0.0f, 0.0f, g_fsHIO.field_0x07, 2);
|
||||
temp3 = PaneTranceRecTlt2(field_0x3930 - param_2, g_fsHIO.field_0x28, g_fsHIO.field_0x40, 0.0f, 0.0f, 0.0f, 1, 0);
|
||||
temp4 = PaneTranceRecInfo2(field_0x3930 - param_2, g_fsHIO.field_0x28, g_fsHIO.field_0x40, 0.0f, 0.0f, 0.0f, 1, 0);
|
||||
}
|
||||
@@ -1366,20 +1366,20 @@ int dFile_select_c::DataSelectPaneCopyBackMove(s16 param_1, s16 param_2) {
|
||||
if(field_0x3925 == 0) {
|
||||
temp1 = PaneTranceRecTlt1(field_0x3930 - param_1, g_fsHIO.field_0x28, 0.0f, 85.0f, 0.0f, 0.0f, g_fsHIO.field_0x07, 2);
|
||||
temp2 = PaneTranceRecInfo1(field_0x3930 - param_1, g_fsHIO.field_0x28, 0.0f, 85.0f, 0.0f, 0.0f, g_fsHIO.field_0x07, 2);
|
||||
temp3 = PaneTranceRecTlt3(field_0x3930 - param_2, g_fsHIO.field_0x28, g_fsHIO.field_0x40, 0.0, 0.0f, 0.0f, 1, 0);
|
||||
temp4 = PaneTranceRecInfo3(field_0x3930 - param_2, g_fsHIO.field_0x28, g_fsHIO.field_0x40, 0.0, 0.0f, 0.0f, 1, 0);
|
||||
temp3 = PaneTranceRecTlt3(field_0x3930 - param_2, g_fsHIO.field_0x28, g_fsHIO.field_0x40, 0.0f, 0.0f, 0.0f, 1, 0);
|
||||
temp4 = PaneTranceRecInfo3(field_0x3930 - param_2, g_fsHIO.field_0x28, g_fsHIO.field_0x40, 0.0f, 0.0f, 0.0f, 1, 0);
|
||||
}
|
||||
else {
|
||||
temp1 = PaneTranceRecTlt3(field_0x3930 - param_1, g_fsHIO.field_0x28, 0.0f, -85.0, 0.0f, 0.0f, g_fsHIO.field_0x07, 2);
|
||||
temp2 = PaneTranceRecInfo3(field_0x3930 - param_1, g_fsHIO.field_0x28, 0.0f, -85.0, 0.0f, 0.0f, g_fsHIO.field_0x07, 2);
|
||||
temp1 = PaneTranceRecTlt3(field_0x3930 - param_1, g_fsHIO.field_0x28, 0.0f, -85.0f, 0.0f, 0.0f, g_fsHIO.field_0x07, 2);
|
||||
temp2 = PaneTranceRecInfo3(field_0x3930 - param_1, g_fsHIO.field_0x28, 0.0f, -85.0f, 0.0f, 0.0f, g_fsHIO.field_0x07, 2);
|
||||
temp3 = PaneTranceRecTlt1(field_0x3930 - param_2, g_fsHIO.field_0x28, g_fsHIO.field_0x40, 0.0f, 0.0f, 0.0f, 1, 0);
|
||||
temp4 = PaneTranceRecInfo1(field_0x3930 - param_2, g_fsHIO.field_0x28, g_fsHIO.field_0x40, 0.0f, 0.0f, 0.0f, 1, 0);
|
||||
}
|
||||
|
||||
break;
|
||||
case 2:
|
||||
temp5 = PaneTranceRecTlt3(field_0x3930 - param_1, g_fsHIO.field_0x28, 0.0f, -170.0, 0.0f, 0.0f, g_fsHIO.field_0x07, 2);
|
||||
temp6 = PaneTranceRecInfo3(field_0x3930 - param_1, g_fsHIO.field_0x28, 0.0f, -170.0, 0.0f, 0.0f, g_fsHIO.field_0x07, 2);
|
||||
temp5 = PaneTranceRecTlt3(field_0x3930 - param_1, g_fsHIO.field_0x28, 0.0f, -170.0f, 0.0f, 0.0f, g_fsHIO.field_0x07, 2);
|
||||
temp6 = PaneTranceRecInfo3(field_0x3930 - param_1, g_fsHIO.field_0x28, 0.0f, -170.0f, 0.0f, 0.0f, g_fsHIO.field_0x07, 2);
|
||||
|
||||
if(field_0x3925 == 0) {
|
||||
temp1 = PaneTranceRecTlt1(field_0x3930 - param_1, g_fsHIO.field_0x28, 0.0f, 85.0f, 0.0f, 0.0f, g_fsHIO.field_0x07, 2);
|
||||
@@ -1412,29 +1412,29 @@ int dFile_select_c::DataSelectPaneCopyMove2(s16 param_1, s16 param_2) {
|
||||
if(field_0x3925 == 0) {
|
||||
temp1 = PaneTranceRecTlt2(field_0x3930 - param_2, g_fsHIO.field_0x28, 0.0f, 55.0f, 0.0f, 0.0f, 0, 2);
|
||||
temp2 = PaneTranceRecInfo2(field_0x3930 - param_2, g_fsHIO.field_0x28, 0.0f, 55.0f, 0.0f, 0.0f, 0, 2);
|
||||
temp3 = PaneTranceRecTlt3(field_0x3930 - param_1, g_fsHIO.field_0x28, 0.0f, 55.0, g_fsHIO.field_0x40, 55.0f, 0, 1);
|
||||
temp4 = PaneTranceRecInfo3(field_0x3930 - param_1, g_fsHIO.field_0x28, 0.0f, 55.0, g_fsHIO.field_0x40, 55.0f, 0, 1);
|
||||
temp3 = PaneTranceRecTlt3(field_0x3930 - param_1, g_fsHIO.field_0x28, 0.0f, 55.0f, g_fsHIO.field_0x40, 55.0f, 0, 1);
|
||||
temp4 = PaneTranceRecInfo3(field_0x3930 - param_1, g_fsHIO.field_0x28, 0.0f, 55.0f, g_fsHIO.field_0x40, 55.0f, 0, 1);
|
||||
}
|
||||
else {
|
||||
temp1 = PaneTranceRecTlt2(field_0x3930 - param_1, g_fsHIO.field_0x28, 0.0f, 55.0f, g_fsHIO.field_0x40, 55.0f, 0, 1);
|
||||
temp2 = PaneTranceRecInfo2(field_0x3930 - param_1, g_fsHIO.field_0x28, 0.0f, 55.0f, g_fsHIO.field_0x40, 55.0f, 0, 1);
|
||||
temp3 = PaneTranceRecTlt3(field_0x3930 - param_2, g_fsHIO.field_0x28, 0.0f, 55.0, 0.0f, -85.0f, g_fsHIO.field_0x07, 2);
|
||||
temp4 = PaneTranceRecInfo3(field_0x3930 - param_2, g_fsHIO.field_0x28, 0.0f, 55.0, 0.0f, -85.0f, g_fsHIO.field_0x07, 2);
|
||||
temp3 = PaneTranceRecTlt3(field_0x3930 - param_2, g_fsHIO.field_0x28, 0.0f, 55.0f, 0.0f, -85.0f, g_fsHIO.field_0x07, 2);
|
||||
temp4 = PaneTranceRecInfo3(field_0x3930 - param_2, g_fsHIO.field_0x28, 0.0f, 55.0f, 0.0f, -85.0f, g_fsHIO.field_0x07, 2);
|
||||
}
|
||||
|
||||
break;
|
||||
case 1:
|
||||
if(field_0x3925 == 0) {
|
||||
temp1 = PaneTranceRecTlt3(field_0x3930 - param_1, g_fsHIO.field_0x28, 0.0f, 55.0, g_fsHIO.field_0x40, 55.0f, 0, 1);
|
||||
temp2 = PaneTranceRecInfo3(field_0x3930 - param_1, g_fsHIO.field_0x28, 0.0f, 55.0, g_fsHIO.field_0x40, 55.0f, 0, 1);
|
||||
temp1 = PaneTranceRecTlt3(field_0x3930 - param_1, g_fsHIO.field_0x28, 0.0f, 55.0f, g_fsHIO.field_0x40, 55.0f, 0, 1);
|
||||
temp2 = PaneTranceRecInfo3(field_0x3930 - param_1, g_fsHIO.field_0x28, 0.0f, 55.0f, g_fsHIO.field_0x40, 55.0f, 0, 1);
|
||||
temp3 = PaneTranceRecTlt1(field_0x3930 - param_2, g_fsHIO.field_0x28, 0.0f, 140.0f, 0.0f, 85.0f, 0, 2);
|
||||
temp4 = PaneTranceRecInfo1(field_0x3930 - param_2, g_fsHIO.field_0x28, 0.0f, 140.0f, 0.0f, 85.0f, 0, 2);
|
||||
}
|
||||
else {
|
||||
temp1 = PaneTranceRecTlt1(field_0x3930 - param_1, g_fsHIO.field_0x28, 0.0f, 140.0f, g_fsHIO.field_0x40, 140.0f, 0, 1);
|
||||
temp2 = PaneTranceRecInfo1(field_0x3930 - param_1, g_fsHIO.field_0x28, 0.0f, 140.0f, g_fsHIO.field_0x40, 140.0f, 0, 1);
|
||||
temp3 = PaneTranceRecTlt3(field_0x3930 - param_2, g_fsHIO.field_0x28, 0.0f, 55.0, 0.0f, -85.0f, g_fsHIO.field_0x07, 2);
|
||||
temp4 = PaneTranceRecInfo3(field_0x3930 - param_2, g_fsHIO.field_0x28, 0.0f, 55.0, 0.0f, -85.0f, g_fsHIO.field_0x07, 2);
|
||||
temp3 = PaneTranceRecTlt3(field_0x3930 - param_2, g_fsHIO.field_0x28, 0.0f, 55.0f, 0.0f, -85.0f, g_fsHIO.field_0x07, 2);
|
||||
temp4 = PaneTranceRecInfo3(field_0x3930 - param_2, g_fsHIO.field_0x28, 0.0f, 55.0f, 0.0f, -85.0f, g_fsHIO.field_0x07, 2);
|
||||
}
|
||||
|
||||
break;
|
||||
|
||||
Reference in New Issue
Block a user