mirror of
https://github.com/zeldaret/tww.git
synced 2026-05-23 06:54:16 -04:00
Merge pull request #735 from 123456789758/d_a_player_rope
d_a_player_rope.inc - Almost all matching except minor issues (also extra matches in d_a_player_vomit).
This commit is contained in:
@@ -13,6 +13,11 @@ public:
|
||||
|
||||
public:
|
||||
/* Place member variables here */
|
||||
// TODO: is this right?
|
||||
/* 0x290 */ u8 field_0x290[0x2DC - 0x290];
|
||||
/* 0x2DC */ s32 field_0x2DC;
|
||||
/* 0x2E0 */ u8 field_0x2E0[0x15F8 - 0x2E0];
|
||||
/* 0x15FC */ cXyz field_0x15F8;
|
||||
};
|
||||
|
||||
class himo2HIO_c {
|
||||
|
||||
@@ -161,6 +161,7 @@ public:
|
||||
daPyRFlg0_UNK8000000 = 0x08000000,
|
||||
daPyRFlg0_UNK10000000 = 0x10000000,
|
||||
daPyRFlg0_ARROW_SHOOT = 0x20000000,
|
||||
daPyRFlg0_UNK40000000 = 0x40000000,
|
||||
// 0x00000001 and 0x00000002 set in daPy_lk_c::dProcLastCombo
|
||||
// 0x00001000 set in daPy_lk_c::procCrawlMove_init, checked in checkNoCollisionCorret__9daPy_lk_cFv
|
||||
// 0x04000000 set in daPy_lk_c::procShipPaddle
|
||||
|
||||
@@ -1492,14 +1492,14 @@ public:
|
||||
BOOL procShipRestart();
|
||||
BOOL checkRopeAnime() const;
|
||||
void freeRopeItem();
|
||||
BOOL checkRopeRoofHit(s16);
|
||||
void changeRopeSwingProc();
|
||||
void changeRopeEndProc(int);
|
||||
f32 checkRopeRoofHit(s16);
|
||||
int changeRopeSwingProc();
|
||||
int changeRopeEndProc(int);
|
||||
BOOL checkSpecialRope();
|
||||
void changeRopeToHangProc();
|
||||
int changeRopeToHangProc();
|
||||
BOOL checkRopeSwingWall(cXyz*, cXyz*, s16*, f32*);
|
||||
void setBlendRopeMoveAnime(int);
|
||||
void throwRope();
|
||||
int throwRope();
|
||||
BOOL checkNextActionRopeReady();
|
||||
BOOL checkNextRopeMode();
|
||||
BOOL checkHangRopeActorNull();
|
||||
@@ -1511,7 +1511,7 @@ public:
|
||||
BOOL procRopeSwing();
|
||||
BOOL procRopeHangWait_init(int);
|
||||
BOOL procRopeHangWait();
|
||||
void specialRopeHangUp();
|
||||
int specialRopeHangUp();
|
||||
BOOL procRopeUp_init();
|
||||
BOOL procRopeUp();
|
||||
BOOL procRopeDown_init();
|
||||
|
||||
+1032
-63
File diff suppressed because it is too large
Load Diff
@@ -16,7 +16,6 @@
|
||||
|
||||
/* 8014F8A0-8014F994 .text checkJumpFlower__9daPy_lk_cFv */
|
||||
BOOL daPy_lk_c::checkJumpFlower() {
|
||||
/* Nonmatching - floats, branching */
|
||||
fopAc_ac_c* iVar1;
|
||||
short sVar3;
|
||||
|
||||
@@ -24,17 +23,16 @@ BOOL daPy_lk_c::checkJumpFlower() {
|
||||
if (((mCyl.ChkCoHit()) && (iVar1 != 0)) && (fopAcM_GetName(iVar1) == PROC_JBO)) {
|
||||
if (checkModeFlg(ModeFlg_MIDAIR)) {
|
||||
if ((speed.y <= 0.0f) && (current.pos.y > iVar1->current.pos.y - 50.0f)) {
|
||||
procVomitWait_init();
|
||||
return procVomitWait_init();
|
||||
}
|
||||
} else if ((sVar3 = fopAcM_searchActorAngleY(this, iVar1),
|
||||
cLib_distanceAngleS(sVar3, shape_angle.y) < 0x2000) &&
|
||||
(mStickDistance > 0.2f))
|
||||
{
|
||||
procVomitReady_init(sVar3, fopAcM_searchActorDistanceXZ(this, iVar1));
|
||||
return procVomitReady_init(sVar3, fopAcM_searchActorDistanceXZ(this, iVar1));
|
||||
}
|
||||
} else {
|
||||
return false;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
/* 8014F994-8014FA88 .text procVomitReady_init__9daPy_lk_cFsf */
|
||||
@@ -94,40 +92,46 @@ BOOL daPy_lk_c::procVomitWait_init() {
|
||||
|
||||
/* 8014FC20-8014FD8C .text procVomitWait__9daPy_lk_cFv */
|
||||
BOOL daPy_lk_c::procVomitWait() {
|
||||
/* Nonmatching - floats, branching */
|
||||
int iVar1;
|
||||
s16 sVar2;
|
||||
/* Nonmatching - floats */
|
||||
s16 r30 = 0;
|
||||
|
||||
if (checkNoResetFlg1(daPyFlg1_FORCE_VOMIT_JUMP)) {
|
||||
sVar2 = 0;
|
||||
procVomitJump_init(0);
|
||||
} else if (mStickDistance > 0.05f) {
|
||||
iVar1 = getDirectionFromAngle(m34DC);
|
||||
if (iVar1 == 2) {
|
||||
sVar2 = (int)(512.0f * mStickDistance);
|
||||
if (sVar2 > m34D4) {
|
||||
m34D4 += (int)(64.0f * mStickDistance);
|
||||
if (m34D4 > sVar2) {
|
||||
m34D4 = sVar2;
|
||||
} else {
|
||||
if (mStickDistance > 0.05f) {
|
||||
int iVar1 = getDirectionFromAngle(m34DC);
|
||||
if (iVar1 == 2) {
|
||||
s16 r5 = 512.0f * mStickDistance;
|
||||
if (r5 > m34D4) {
|
||||
s16 r0 = 64.0f * mStickDistance;
|
||||
m34D4 += r0;
|
||||
if (m34D4 > r5) {
|
||||
m34D4 = r5;
|
||||
}
|
||||
r30 = m34D4;
|
||||
} else {
|
||||
r30 = r5;
|
||||
}
|
||||
sVar2 = m34D4;
|
||||
}
|
||||
} else if (iVar1 == 3) {
|
||||
sVar2 = (int)(-512.0f * mStickDistance);
|
||||
if (sVar2 < m34D4) {
|
||||
m34D4 -= (int)(64.0f * mStickDistance);
|
||||
if (m34D4 < sVar2) {
|
||||
m34D4 = sVar2;
|
||||
} else if (iVar1 == 3) {
|
||||
s16 r5 = -512.0f * mStickDistance;
|
||||
if (r5 < m34D4) {
|
||||
s16 r0 = 64.0f * mStickDistance;
|
||||
m34D4 -= r0;
|
||||
if (m34D4 < r5) {
|
||||
m34D4 = r5;
|
||||
}
|
||||
r30 = m34D4;
|
||||
} else {
|
||||
r30 = r5;
|
||||
}
|
||||
sVar2 = m34D4;
|
||||
} else {
|
||||
sVar2 = 0;
|
||||
r30 = 0;
|
||||
}
|
||||
} else {
|
||||
sVar2 = 0;
|
||||
r30 = 0;
|
||||
}
|
||||
|
||||
cLib_addCalcAngleS(&m34D4, sVar2, 3, 0x40, 0x10);
|
||||
cLib_addCalcAngleS(&m34D4, r30, 3, 0x40, 0x10);
|
||||
shape_angle.y += m34D4;
|
||||
current.angle.y = shape_angle.y;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user