mirror of https://github.com/zeldaret/tww
himo2 closer to matching
This commit is contained in:
parent
bac5c4a4f8
commit
3fa09b0dde
|
|
@ -64,7 +64,10 @@ struct cXyz : Vec {
|
|||
z -= f;
|
||||
}
|
||||
void operator-=(const Vec& other) { VECSubtract(this, &other, this); }
|
||||
void operator+=(const Vec& other) { VECAdd(this, &other, this); }
|
||||
cXyz* operator+=(const Vec& other) {
|
||||
VECAdd(this, &other, this);
|
||||
return this;
|
||||
}
|
||||
void operator*=(f32 scale) { VECScale(this, this, scale); }
|
||||
cXyz getCrossProduct(const Vec&) const;
|
||||
cXyz outprod(const Vec&) const;
|
||||
|
|
|
|||
|
|
@ -16,18 +16,21 @@ struct himo2_s {
|
|||
/* 0x20 */ u8 m20[0x24 - 0x20];
|
||||
}; // Size: 0x24
|
||||
|
||||
class himo2_class : public fopAc_ac_c {
|
||||
public:
|
||||
struct himo2_class {
|
||||
BOOL setTargetPos(cXyz*, float*, float*);
|
||||
|
||||
public:
|
||||
/* 0x0000 */ fopAc_ac_c actor;
|
||||
/* 0x0290 */ u8 m0290[0x029C - 0x0290];
|
||||
/* 0x029C */ s16 m029C;
|
||||
/* 0x029E */ s16 m029E;
|
||||
/* 0x02A0 */ s16 m02A0;
|
||||
/* 0x02A2 */ s16 m02A2;
|
||||
#if VERSION == VERSION_DEMO
|
||||
/* 0x02A6 */ u8 m02A6[0xC];
|
||||
#else
|
||||
/* 0x02A2 */ s16 m02A4;
|
||||
/* 0x02A6 */ u8 m02A6[0x02B4 - 0x02A6];
|
||||
#endif
|
||||
/* 0x02B4 */ cXyz m02B4;
|
||||
/* 0x02C0 */ u8 m02C0[0x02CC - 0x02C0];
|
||||
/* 0x02CC */ s32 m02CC;
|
||||
|
|
@ -69,8 +72,8 @@ public:
|
|||
/* 0x24B0 */ J3DModel* m24B0;
|
||||
/* 0x24B4 */ f32 m24B4;
|
||||
/* 0x24B8 */ f32 m24B8;
|
||||
/* 0x24BC */ s32 m24BC;
|
||||
/* 0x24C0 */ s32 m24C0;
|
||||
/* 0x24BC */ int m24BC;
|
||||
/* 0x24C0 */ int m24C0;
|
||||
/* 0x24C4 */ f32 m24C4;
|
||||
/* 0x24C8 */ s16 m24C8;
|
||||
/* 0x24CA */ s16 m24CA;
|
||||
|
|
|
|||
|
|
@ -555,7 +555,7 @@ public:
|
|||
void checkSoupPowerUp() const {}
|
||||
void checkSubjectAccept() const {}
|
||||
u32 getRopeJumpLand() const { return checkResetFlg0(daPyRFlg0_UNK200); }
|
||||
BOOL checkRopeForceEnd() const { return checkResetFlg0(daPyRFlg0_UNK40000000); }
|
||||
u32 checkRopeForceEnd() const { return checkResetFlg0(daPyRFlg0_UNK40000000); }
|
||||
|
||||
virtual MtxP getLeftHandMatrix() = 0;
|
||||
virtual MtxP getRightHandMatrix() = 0;
|
||||
|
|
|
|||
|
|
@ -33,33 +33,34 @@ public:
|
|||
static dPath* m_path;
|
||||
static JPABaseEmitter* m_emitter;
|
||||
|
||||
inline cPhs_State _create();
|
||||
inline bool _delete();
|
||||
inline bool _draw();
|
||||
inline bool _execute();
|
||||
void hide() {
|
||||
if (m_emitter == NULL) {
|
||||
return;
|
||||
}
|
||||
m_emitter->stopDrawParticle();
|
||||
return;
|
||||
}
|
||||
void setAimRate(float) {}
|
||||
void setAlpha(unsigned char alpha) { m_alpha = alpha; }
|
||||
inline void set_mtx();
|
||||
void show() {
|
||||
static void show() {
|
||||
if (m_emitter == NULL) {
|
||||
return;
|
||||
}
|
||||
m_emitter->playDrawParticle();
|
||||
return;
|
||||
}
|
||||
void start() {
|
||||
static void hide() {
|
||||
if (m_emitter == NULL) {
|
||||
return;
|
||||
}
|
||||
m_emitter->stopDrawParticle();
|
||||
return;
|
||||
}
|
||||
static void start() {
|
||||
if (m_emitter != NULL) {
|
||||
m_alpha_flag = 1;
|
||||
}
|
||||
}
|
||||
|
||||
inline cPhs_State _create();
|
||||
inline bool _delete();
|
||||
inline bool _draw();
|
||||
inline bool _execute();
|
||||
void setAimRate(float) {}
|
||||
void setAlpha(unsigned char alpha) { m_alpha = alpha; }
|
||||
inline void set_mtx();
|
||||
|
||||
f32 getPosRate();
|
||||
|
||||
public:
|
||||
|
|
|
|||
|
|
@ -39,6 +39,7 @@ public:
|
|||
static void offBlure() { mBlureFlag = false; }
|
||||
static bool isBlure() { return mBlureFlag; }
|
||||
static u8 getBlureRate() { return mBlureRate; }
|
||||
static void setBlureRate(u8 blurRate) { mBlureRate = blurRate; }
|
||||
static MtxP getBlureMtx() { return mBlureMtx; }
|
||||
static void offAutoForcus() { mAutoForcus = false; }
|
||||
static void onAutoForcus() { mAutoForcus = true; }
|
||||
|
|
@ -69,7 +70,6 @@ public:
|
|||
static void getFrameBufferMemory() {}
|
||||
static void getFrameBufferSize() {}
|
||||
static void setBlureMtx(const Mtx) {}
|
||||
static void setBlureRate(u8 blurRate) { mBlureRate = blurRate; }
|
||||
|
||||
static GXTexObj mFrameBufferTexObj;
|
||||
static GXTexObj mZbufferTexObj;
|
||||
|
|
|
|||
File diff suppressed because it is too large
Load Diff
|
|
@ -560,9 +560,15 @@ BOOL daPy_lk_c::procRopeSwing_init(fopAc_ac_c* param_0, s16 param_1) {
|
|||
dVar11 = M_PI / 2 / m35A4;
|
||||
if (pfVar7 != NULL) {
|
||||
m34D4 = daPy_HIO_rope_c0::m.field_0x0;
|
||||
#if VERSION == VERSION_DEMO
|
||||
if (strcmp(dComIfGp_getStartStageName(), "GanonK") == 0) {
|
||||
m34D4 /= 3;
|
||||
}
|
||||
#else
|
||||
if (checkSpecialRope()) {
|
||||
m34D4 *= 0.125f;
|
||||
}
|
||||
#endif
|
||||
f32 fVar1 = cM_ssin(shape_angle.y);
|
||||
f32 fVar2 = cM_scos(shape_angle.y);
|
||||
local_78.x = fVar2 * local_84.x - fVar1 * local_84.z;
|
||||
|
|
|
|||
Loading…
Reference in New Issue