mirror of https://github.com/zeldaret/tp.git
d_a_obj_carry mostly done (#2301)
* d_a_obj_carry mostly done * cleanup some acch inlines
This commit is contained in:
parent
2453c0e333
commit
6e94efaefb
|
|
@ -558,6 +558,7 @@ config.libs = [
|
|||
Object(MatchingFor("GZ2E01"), "d/d_model.cpp"),
|
||||
Object(MatchingFor("GZ2E01"), "d/d_eye_hl.cpp"),
|
||||
Object(NonMatching, "d/d_error_msg.cpp"),
|
||||
Object(NonMatching, "d/d_debug_viewer.cpp"),
|
||||
Object(NonMatching, "d/actor/d_a_alink.cpp"),
|
||||
Object(MatchingFor("GZ2E01"), "d/actor/d_a_itembase.cpp"),
|
||||
Object(MatchingFor("GZ2E01"), "d/actor/d_a_no_chg_room.cpp"),
|
||||
|
|
|
|||
|
|
@ -66,6 +66,7 @@ public:
|
|||
J3DJoint* getChild() { return mChild; }
|
||||
u8 getMtxType() { return (mKind & 0xf0) >> 4; }
|
||||
void setMtxType(u8 type) { mKind = (mKind & ~0xf0) | (type << 4); }
|
||||
f32 getRadius() const { return mBoundingSphereRadius; }
|
||||
|
||||
static J3DMtxCalc* mCurrentMtxCalc;
|
||||
|
||||
|
|
|
|||
|
|
@ -6,6 +6,7 @@
|
|||
#include "dolphin/types.h"
|
||||
|
||||
enum J3DMdlFlag {
|
||||
J3DMdlFlag_None = 0x0,
|
||||
/* 0x00001 */ J3DMdlFlag_Unk00001 = 0x1,
|
||||
/* 0x00002 */ J3DMdlFlag_Unk00002 = 0x2,
|
||||
/* 0x00004 */ J3DMdlFlag_SkinPosCpu = 0x4,
|
||||
|
|
|
|||
|
|
@ -38,6 +38,8 @@ public:
|
|||
void setVisible(bool visible) { mVisible = visible; }
|
||||
JUTFont* getFont() const { return mFont; }
|
||||
|
||||
void setCharColor(JUtility::TColor color) { mColor = color; };
|
||||
|
||||
static JUTDbPrint* sDebugPrint;
|
||||
|
||||
private:
|
||||
|
|
|
|||
|
|
@ -539,6 +539,8 @@ public:
|
|||
cCcD_Obj* GetTgHitObj() { return mObjTg.GetHitObj(); }
|
||||
cCcD_Obj* GetCoHitObj() { return mObjCo.GetHitObj(); }
|
||||
u32 ChkAtSPrm(u32 prm) { return mObjAt.ChkSPrm(prm); }
|
||||
u32 ChkCoSPrm(u32 prm) const { return mObjCo.ChkSPrm(prm); }
|
||||
void OnTgNoSlingHitInfSet() { mObjTg.OnSPrmBit(0x40); }
|
||||
|
||||
}; // Size = 0x40
|
||||
|
||||
|
|
|
|||
|
|
@ -22,7 +22,7 @@ public:
|
|||
/* 8046EABC */ void Draw();
|
||||
/* 8046EC10 */ void Delete();
|
||||
|
||||
static void make_prm_burnbox(u32* param_0, u8 param_1) {
|
||||
static void make_prm_burnBox(u32* param_0, u8 param_1) {
|
||||
*param_0 = param_1;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -1,36 +1,103 @@
|
|||
#ifndef D_A_OBJ_CARRY_H
|
||||
#define D_A_OBJ_CARRY_H
|
||||
|
||||
#include "d/d_jnt_col.h"
|
||||
#include "f_op/f_op_actor_mng.h"
|
||||
#include "d/d_com_inf_game.h"
|
||||
#include "d/actor/d_a_player.h"
|
||||
#include "d/d_bg_s_acch.h"
|
||||
#include "d/d_cc_d.h"
|
||||
#include "d/d_jnt_col.h"
|
||||
|
||||
struct daObjCarry_dt_t {
|
||||
/* 0x00 */ f32 m_throwInitSpeedY;
|
||||
/* 0x04 */ f32 m_throwInitSpeedXZ;
|
||||
/* 0x08 */ f32 m_wolfThrowInitSpeedY;
|
||||
/* 0x0C */ f32 m_wolfThrowInitSpeedXZ;
|
||||
/* 0x10 */ f32 field_0x10;
|
||||
/* 0x14 */ f32 field_0x14;
|
||||
/* 0x18 */ f32 m_gravity;
|
||||
/* 0x1C */ f32 m_Buoyancy;
|
||||
/* 0x20 */ f32 m_urnWindEffRatio;
|
||||
/* 0x24 */ f32 field_0x24;
|
||||
/* 0x28 */ f32 field_0x28;
|
||||
/* 0x2C */ f32 field_0x2c;
|
||||
/* 0x30 */ f32 scale;
|
||||
/* 0x34 */ u8 m_carry_attn_dist;
|
||||
/* 0x35 */ u8 m_flags;
|
||||
/* 0x36 */ u8 m_colliderWeight;
|
||||
/* 0x37 */ u8 m_cyl_atp;
|
||||
/* 0x38 */ f32 m_cullsph_min_x;
|
||||
/* 0x3C */ f32 m_cullsph_min_y;
|
||||
/* 0x40 */ f32 m_cullsph_min_z;
|
||||
/* 0x44 */ f32 field_0x44;
|
||||
/* 0x48 */ f32 field_0x48;
|
||||
/* 0x4C */ f32 m_height;
|
||||
/* 0x50 */ f32 m_radius;
|
||||
/* 0x54 */ f32 field_0x54;
|
||||
/* 0x58 */ f32 field_0x58;
|
||||
/* 0x5C */ u32 m_breakSound;
|
||||
/* 0x60 */ u32 m_putSound;
|
||||
/* 0x64 */ u32 m_putWaterSound;
|
||||
/* 0x68 */ u32 m_fallSound;
|
||||
/* 0x6C */ u32 m_fallWaterSound;
|
||||
/* 0x70 */ u32 field_0x70;
|
||||
/* 0x74 */ f32 field_0x74;
|
||||
/* 0x78 */ s16 m_rollAngle;
|
||||
/* 0x7A */ s16 m_urnRotateFactor;
|
||||
/* 0x7C */ s16 field_0x7c;
|
||||
/* 0x80 */ f32 m_slopeInfluence;
|
||||
/* 0x84 */ f32 m_friction;
|
||||
/* 0x88 */ f32 field_0x88;
|
||||
/* 0x8C */ f32 field_0x8c;
|
||||
/* 0x90 */ u32 m_heapSize;
|
||||
};
|
||||
|
||||
/**
|
||||
* @ingroup actors-objects
|
||||
* @class daObjCarry_c
|
||||
* @brief Carryable Object
|
||||
*
|
||||
* @details This is a multi-use class for carryable objects.
|
||||
* It's used by: small and large blue pot, small and large red pot, box, cannon ball, barrel, skull, deku nut, Sols, small and large Twilight pots.
|
||||
*
|
||||
*
|
||||
* @details This is a multi-use class for carryable objects.
|
||||
* It's used by: small and large blue pot, small and large red pot, box, cannon ball, barrel, skull,
|
||||
* deku nut, Sols, small and large Twilight pots.
|
||||
*
|
||||
*/
|
||||
class daObjCarry_c : public fopAc_ac_c {
|
||||
public:
|
||||
enum {
|
||||
/* 0x0 */ TYPE_TSUBO, /**< Small Blue Pot */
|
||||
/* 0x1 */ TYPE_OOTSUBO, /**< Big Red Pot */
|
||||
/* 0x2 */ TYPE_KIBAKO, /**< Box */
|
||||
/* 0x3 */ TYPE_IRON_BALL, /**< Cannon Ball */
|
||||
/* 0x4 */ TYPE_TARU, /**< Barrel */
|
||||
/* 0x5 */ TYPE_DOKURO, /**< Skull */
|
||||
/* 0x6 */ TYPE_BOKKURI, /**< Deku Nut */
|
||||
/* 0x7 */ TYPE_TSUBO_2, /**< Small Red Pot */
|
||||
/* 0x8 */ TYPE_BALL_S, /**< Light Ball A */
|
||||
/* 0x9 */ TYPE_BALL_S_2, /**< Light Ball B */
|
||||
/* 0xA */ TYPE_AOTSUBO, /**< Big Blue Pot */
|
||||
/* 0xB */ TYPE_LV8_BALL, /**< Light Ball? Probably unused */
|
||||
/* 0xC */ TYPE_TSUBO_S, /**< Small pot - Twilight */
|
||||
/* 0xD */ TYPE_TSUBO_B, /**< Big pot - Twilight */
|
||||
/* 0x0 */ TYPE_TSUBO, /**< Small Blue Pot */
|
||||
/* 0x1 */ TYPE_OOTSUBO, /**< Big Red Pot */
|
||||
/* 0x2 */ TYPE_KIBAKO, /**< Box */
|
||||
/* 0x3 */ TYPE_IRON_BALL, /**< Cannon Ball */
|
||||
/* 0x4 */ TYPE_TARU, /**< Barrel */
|
||||
/* 0x5 */ TYPE_DOKURO, /**< Skull */
|
||||
/* 0x6 */ TYPE_BOKKURI, /**< Deku Nut */
|
||||
/* 0x7 */ TYPE_TSUBO_2, /**< Small Red Pot */
|
||||
/* 0x8 */ TYPE_BALL_S, /**< Light Ball A */
|
||||
/* 0x9 */ TYPE_BALL_S_2, /**< Light Ball B */
|
||||
/* 0xA */ TYPE_AOTSUBO, /**< Big Blue Pot */
|
||||
/* 0xB */ TYPE_LV8_BALL, /**< Light Ball? Probably unused */
|
||||
/* 0xC */ TYPE_TSUBO_S, /**< Small pot - Twilight */
|
||||
/* 0xD */ TYPE_TSUBO_B, /**< Big pot - Twilight */
|
||||
};
|
||||
|
||||
enum {
|
||||
MODE_WAIT,
|
||||
MODE_WALK,
|
||||
MODE_CARRY,
|
||||
MODE_DROP,
|
||||
MODE_FLOAT,
|
||||
MODE_SINK,
|
||||
MODE_YOGAN,
|
||||
MODE_MAGNE,
|
||||
MODE_MAGNE_CARRY,
|
||||
MODE_BOOM_CARRY,
|
||||
MODE_GROWTH,
|
||||
MODE_DB_DROP,
|
||||
MODE_HOOK_CARRY,
|
||||
MODE_END,
|
||||
MODE_FIT,
|
||||
MODE_CONTROLED,
|
||||
MODE_RESET_LIGHTBALL,
|
||||
};
|
||||
|
||||
/* 80031CF8 */ static void clrSaveFlag();
|
||||
|
|
@ -43,101 +110,101 @@ public:
|
|||
/* 80031D8C */ static u8 chkSttsFlag(int, u8);
|
||||
/* 80031DAC */ static void setRoomNo(int, s8);
|
||||
/* 80031DB8 */ static s8 getRoomNo(int);
|
||||
/* 8046F6A4 */ u8 data();
|
||||
/* 8046F6A4 */ const daObjCarry_dt_t& data();
|
||||
/* 8046F6BC */ char* getArcName();
|
||||
/* 8046F6D4 */ int getBmdName();
|
||||
/* 8046F6EC */ void checkFlag(u8);
|
||||
/* 8046F6D4 */ char* getBmdName();
|
||||
/* 8046F6EC */ BOOL checkFlag(u8);
|
||||
/* 8046F724 */ void initBaseMtx();
|
||||
/* 8046F7AC */ void setBaseMtx();
|
||||
/* 8046FACC */ s32 preInit();
|
||||
/* 8046FACC */ int preInit();
|
||||
/* 8046FB78 */ daObjCarry_c();
|
||||
/* 8046FFA4 */ s32 checkBreakWolfAttack();
|
||||
/* 8046FFF8 */ s32 checkCarryBoomerang();
|
||||
/* 80470054 */ s32 checkCarryHookshot();
|
||||
/* 80470080 */ s32 checkCarryWolf();
|
||||
/* 804700B4 */ s32 checkCarryOneHand();
|
||||
/* 804700F0 */ void Create();
|
||||
/* 804705DC */ s32 CreateInit_tsubo();
|
||||
/* 80470650 */ s32 CreateInit_ootubo();
|
||||
/* 80470674 */ s32 CreateInit_kibako();
|
||||
/* 804706D4 */ s32 CreateInit_ironball();
|
||||
/* 804707E0 */ s32 CreateInit_taru();
|
||||
/* 80470840 */ bool CreateInit_dokuro();
|
||||
/* 80470890 */ s32 CreateInit_bokkuri();
|
||||
/* 804709DC */ s32 CreateInit_LightBall();
|
||||
/* 80470AB4 */ s32 CreateInit_Lv8Ball();
|
||||
/* 80470B5C */ s32 CreateHeap();
|
||||
/* 80470BF4 */ cPhs__Step create();
|
||||
/* 80470CF0 */ s32 checkCreate_LightBallA();
|
||||
/* 8047114C */ s32 checkCreate_LightBallB();
|
||||
/* 804715A8 */ s32 checkCreate_Lv8Ball();
|
||||
/* 8046FFA4 */ BOOL checkBreakWolfAttack();
|
||||
/* 8046FFF8 */ BOOL checkCarryBoomerang();
|
||||
/* 80470054 */ BOOL checkCarryHookshot();
|
||||
/* 80470080 */ BOOL checkCarryWolf();
|
||||
/* 804700B4 */ BOOL checkCarryOneHand();
|
||||
/* 804700F0 */ int Create();
|
||||
/* 804705DC */ int CreateInit_tsubo();
|
||||
/* 80470650 */ int CreateInit_ootubo();
|
||||
/* 80470674 */ int CreateInit_kibako();
|
||||
/* 804706D4 */ int CreateInit_ironball();
|
||||
/* 804707E0 */ int CreateInit_taru();
|
||||
/* 80470840 */ int CreateInit_dokuro();
|
||||
/* 80470890 */ int CreateInit_bokkuri();
|
||||
/* 804709DC */ int CreateInit_LightBall();
|
||||
/* 80470AB4 */ int CreateInit_Lv8Ball();
|
||||
/* 80470B5C */ int CreateHeap();
|
||||
/* 80470BF4 */ int create();
|
||||
/* 80470CF0 */ int checkCreate_LightBallA();
|
||||
/* 8047114C */ int checkCreate_LightBallB();
|
||||
/* 804715A8 */ int checkCreate_Lv8Ball();
|
||||
/* 80471680 */ void resetIconPosForLightBallA();
|
||||
/* 804716D4 */ void setIconPosForLightBallAAtR00();
|
||||
/* 804717B4 */ void setIconPosForLightBallBAtR00();
|
||||
/* 80471894 */ void resetIconPosForLightBallB();
|
||||
/* 804718E8 */ void execute();
|
||||
/* 8047233C */ void checkCulling();
|
||||
/* 80472460 */ void draw();
|
||||
/* 804718E8 */ int execute();
|
||||
/* 8047233C */ BOOL checkCulling();
|
||||
/* 80472460 */ int draw();
|
||||
/* 80472730 */ void debugDraw();
|
||||
/* 80472734 */ void _delete();
|
||||
/* 80472734 */ int _delete();
|
||||
/* 80472B54 */ void crr_pos();
|
||||
/* 80472D8C */ void check_sink(f32*);
|
||||
/* 80472E5C */ void calc_gravity();
|
||||
/* 80472EF0 */ void checkRollAngle();
|
||||
/* 80472D8C */ int check_sink(f32*);
|
||||
/* 80472E5C */ f32 calc_gravity();
|
||||
/* 80472EF0 */ BOOL checkRollAngle();
|
||||
/* 80473050 */ void mode_proc_call();
|
||||
/* 804733E8 */ void mode_init_wait();
|
||||
/* 804734B0 */ void mode_proc_wait();
|
||||
/* 804734B0 */ int mode_proc_wait();
|
||||
/* 80473718 */ void mode_init_walk(u8);
|
||||
/* 804737CC */ void mode_proc_walk();
|
||||
/* 804737CC */ int mode_proc_walk();
|
||||
/* 80473ED8 */ void mode_init_carry();
|
||||
/* 804741A8 */ void mode_proc_carry();
|
||||
/* 804741A8 */ int mode_proc_carry();
|
||||
/* 80474448 */ void mode_init_drop(u8);
|
||||
/* 80474540 */ void mode_proc_drop();
|
||||
/* 80474540 */ int mode_proc_drop();
|
||||
/* 80474618 */ void mode_init_float();
|
||||
/* 80474734 */ void mode_proc_float();
|
||||
/* 80474734 */ int mode_proc_float();
|
||||
/* 80474A08 */ void mode_init_sink();
|
||||
/* 80474B8C */ void mode_proc_sink();
|
||||
/* 80474B8C */ int mode_proc_sink();
|
||||
/* 80474D64 */ void mode_init_yogan();
|
||||
/* 80474E08 */ void mode_proc_yogan();
|
||||
/* 80474E98 */ bool mode_proc_magne();
|
||||
/* 80474EA0 */ bool mode_proc_magneCarry();
|
||||
/* 80474E08 */ int mode_proc_yogan();
|
||||
/* 80474E98 */ int mode_proc_magne();
|
||||
/* 80474EA0 */ int mode_proc_magneCarry();
|
||||
/* 80474EA8 */ void mode_init_boomCarry();
|
||||
/* 80474FA8 */ void mode_proc_boomCarry();
|
||||
/* 80474FA8 */ int mode_proc_boomCarry();
|
||||
/* 80475014 */ void mode_init_growth();
|
||||
/* 804750C8 */ void mode_proc_growth();
|
||||
/* 8047515C */ bool mode_proc_end();
|
||||
/* 804750C8 */ int mode_proc_growth();
|
||||
/* 8047515C */ int mode_proc_end();
|
||||
/* 80475164 */ void mode_init_dbDrop(u8);
|
||||
/* 80475210 */ void mode_proc_dbDrop();
|
||||
/* 80475210 */ int mode_proc_dbDrop();
|
||||
/* 80475238 */ void mode_init_hookCarry();
|
||||
/* 80475354 */ void mode_proc_hookCarry();
|
||||
/* 80475354 */ int mode_proc_hookCarry();
|
||||
/* 80475384 */ void mode_init_fit();
|
||||
/* 80475450 */ void mode_proc_fit();
|
||||
/* 80475478 */ void mode_proc_controled();
|
||||
/* 80475450 */ int mode_proc_fit();
|
||||
/* 80475478 */ int mode_proc_controled();
|
||||
/* 804754D0 */ void mode_init_resetLightBall();
|
||||
/* 80475598 */ void mode_proc_resetLightBall();
|
||||
/* 80475618 */ void chkSinkAll();
|
||||
/* 8047567C */ void chkWaterLineIn();
|
||||
/* 804756D4 */ void chkSinkObj();
|
||||
/* 80475598 */ int mode_proc_resetLightBall();
|
||||
/* 80475618 */ BOOL chkSinkAll();
|
||||
/* 8047567C */ BOOL chkWaterLineIn();
|
||||
/* 804756D4 */ BOOL chkSinkObj();
|
||||
/* 8047573C */ void bg_check();
|
||||
/* 80476618 */ void check_bg_damage_proc_base();
|
||||
/* 80476764 */ void bg_damage_proc_kotubo();
|
||||
/* 804767C4 */ void bg_damage_proc_ootubo();
|
||||
/* 804767E4 */ void bg_damage_proc_kibako();
|
||||
/* 80476618 */ bool check_bg_damage_proc_base();
|
||||
/* 80476764 */ bool bg_damage_proc_kotubo();
|
||||
/* 804767C4 */ bool bg_damage_proc_ootubo();
|
||||
/* 804767E4 */ bool bg_damage_proc_kibako();
|
||||
/* 80476804 */ bool bg_damage_proc_ironball();
|
||||
/* 8047680C */ void bg_damage_proc_taru();
|
||||
/* 8047682C */ void bg_damage_proc_dokuro();
|
||||
/* 8047684C */ void bg_damage_proc_bokkuri();
|
||||
/* 8047680C */ bool bg_damage_proc_taru();
|
||||
/* 8047682C */ bool bg_damage_proc_dokuro();
|
||||
/* 8047684C */ bool bg_damage_proc_bokkuri();
|
||||
/* 80476930 */ bool bg_damage_proc_LightBall();
|
||||
/* 80476938 */ bool bg_damage_proc_Lv8Ball();
|
||||
/* 80476940 */ void obj_break(bool, bool, bool);
|
||||
/* 80476A5C */ void check_cc_damage_proc_base(bool);
|
||||
/* 80476B04 */ void cc_damage_proc_kotubo();
|
||||
/* 80476B68 */ void cc_damage_proc_ootubo();
|
||||
/* 80476B88 */ void cc_damage_proc_kibako();
|
||||
/* 80476CE4 */ void cc_damage_proc_ironball();
|
||||
/* 80476E04 */ void cc_damage_proc_taru();
|
||||
/* 80476F88 */ void cc_damage_proc_dokuro();
|
||||
/* 80476FA8 */ void cc_damage_proc_bokkuri();
|
||||
/* 80476A5C */ bool check_cc_damage_proc_base(bool);
|
||||
/* 80476B04 */ bool cc_damage_proc_kotubo();
|
||||
/* 80476B68 */ bool cc_damage_proc_ootubo();
|
||||
/* 80476B88 */ bool cc_damage_proc_kibako();
|
||||
/* 80476CE4 */ bool cc_damage_proc_ironball();
|
||||
/* 80476E04 */ bool cc_damage_proc_taru();
|
||||
/* 80476F88 */ bool cc_damage_proc_dokuro();
|
||||
/* 80476FA8 */ bool cc_damage_proc_bokkuri();
|
||||
/* 804771B0 */ bool cc_damage_proc_LightBall();
|
||||
/* 804771B8 */ bool cc_damage_proc_Lv8Ball();
|
||||
/* 804771C0 */ void eff_break_tuboBmd(u16, cXyz);
|
||||
|
|
@ -187,28 +254,36 @@ public:
|
|||
/* 80479480 */ void obj_execute_proc_call();
|
||||
/* 8047962C */ void setTgHitCallBack();
|
||||
/* 80479648 */ void setCoHitCallBack();
|
||||
/* 80479664 */ void CreateInitCall();
|
||||
/* 80479664 */ int CreateInitCall();
|
||||
|
||||
s32 getType() { return mType; }
|
||||
u32 getSwbit() { return fopAcM_GetParamBit(this,6,8);}
|
||||
u32 getSwbit2() { return fopAcM_GetParamBit(this,0xe,8); }
|
||||
u32 checkOnMoveBg() { return ~((field_0xd18 >> 0xc) & 1);}
|
||||
u32 checkCrashRoll() { return field_0xd18 >> 6 & 1;}
|
||||
u32 getSwbit() { return fopAcM_GetParamBit(this, 6, 8); }
|
||||
u32 getSwbit2() { return fopAcM_GetParamBit(this, 14, 8); }
|
||||
s8 getRoomNo() { return fopAcM_GetParamBit(this, 0, 6); }
|
||||
|
||||
u32 checkOnMoveBg() { return ~((field_0xd18 >> 0xc) & 1); }
|
||||
u32 checkCrashRoll() { return field_0xd18 >> 6 & 1; }
|
||||
u8 getItemNo() { return mItemNo; }
|
||||
u8 getItemBit() { return mItemNo >> 8; }
|
||||
u8 getItemType() { return field_0xd18 & 1; }
|
||||
u8 getSaveID() { return getItemNo(); }
|
||||
u32 getSetType() { return (u32)(field_0xd18 << 16) >> 29;} // fake match?
|
||||
s8 prm_chk_type_ironball() { return (s8)(getType() == TYPE_IRON_BALL); }
|
||||
s8 prm_chk_type_lightball() { return (getType() == TYPE_BALL_S || getType() == TYPE_BALL_S_2); }
|
||||
u8 getTrboxBit() { return (mItemNo >> 8) & 0x3F; }
|
||||
u32 getSetType() { return (field_0xd18 >> 13) & 0x7; }
|
||||
bool prm_chk_type_ironball() { return getType() == TYPE_IRON_BALL; }
|
||||
bool prm_chk_type_lightball() { return getType() == TYPE_BALL_S || getType() == TYPE_BALL_S_2; }
|
||||
void startCtrl() { mCtrl = 1; }
|
||||
void endCtrl() { mCtrl = 0; }
|
||||
void setDrop() { field_0xcf2 = 3; }
|
||||
|
||||
static void make_prm(csXyz* param_1, u8 param_2, u8 param_3, u8 param_4, u8 param_5, u8 param_6=0) {
|
||||
bool isDraw() { return mDraw == false; }
|
||||
|
||||
static void make_prm(csXyz* param_1, u8 param_2, u8 param_3, u8 param_4, u8 param_5,
|
||||
u8 param_6 = 0) {
|
||||
param_1->x = (param_4 << 8) | param_3;
|
||||
param_1->z = param_5 | (param_6 << 13) | ((u32(param_2) & 0xFF) << 1);
|
||||
}
|
||||
|
||||
static u8 const mData[2072];
|
||||
static const daObjCarry_dt_t mData[];
|
||||
static cXyz mPos[5];
|
||||
static u8 mSttsFlag[5];
|
||||
static s8 mRoomNo[5];
|
||||
|
|
@ -220,37 +295,39 @@ public:
|
|||
/* 0x574 */ dBgS_ObjAcch mAcch;
|
||||
/* 0x74C */ dBgS_AcchCir mAcchCir;
|
||||
/* 0x78C */ dCcD_Stts mStts;
|
||||
/* 0x7C8 */ dCcD_Cyl field_0x7c8;
|
||||
/* 0x904 */ dCcD_Sph field_0x904;
|
||||
/* 0xA3C */ dCcD_Cps field_0xa3c;
|
||||
/* 0xB80 */ dCcD_Cyl field_0xb80;
|
||||
/* 0x7C8 */ dCcD_Cyl mCyl;
|
||||
/* 0x904 */ dCcD_Sph mLightAtSph;
|
||||
/* 0xA3C */ dCcD_Cps mAtCps;
|
||||
/* 0xB80 */ dCcD_Cyl mTgCyl;
|
||||
/* 0xCBC */ u8 field_0xCBC[0xCEC - 0xCBC];
|
||||
/* 0xCEC */ float field_0xcec;
|
||||
/* 0xCEC */ f32 field_0xcec;
|
||||
/* 0xCF0 */ u8 mType;
|
||||
/* 0xCF1 */ u8 field_0xcf1;
|
||||
/* 0xCF1 */ u8 mMode;
|
||||
/* 0xCF2 */ u8 field_0xcf2;
|
||||
/* 0xCF3 */ u8 field_0xCF3[0xCF4 - 0xCF3];
|
||||
/* 0xCF4 */ cXyz field_0xcf4;
|
||||
/* 0xD00 */ s16 field_0xd00;
|
||||
/* 0xCF3 */ u8 field_0xcf3;
|
||||
/* 0xCF4 */ cXyz mRotAxis;
|
||||
/* 0xD00 */ s16 mRotation;
|
||||
/* 0xD02 */ u8 field_0xD02[0xD04 - 0xD02];
|
||||
/* 0xD04 */ s16 field_0xd04;
|
||||
/* 0xD06 */ u8 field_0xD06[0xD15 - 0xD06];
|
||||
/* 0xD15 */ u8 field_0xd15;
|
||||
/* 0xD08 */ cXyz field_0xd08;
|
||||
/* 0xD14 */ u8 field_0xd14;
|
||||
/* 0xD15 */ bool mInitParams;
|
||||
/* 0xD16 */ u16 mItemNo;
|
||||
/* 0xD18 */ u16 field_0xd18;
|
||||
/* 0xD1A */ u8 field_0xD1A[0xD1C - 0xD1A];
|
||||
/* 0xD1C */ cXyz field_0xd1c;
|
||||
/* 0xD28 */ u8 field_0xD28[0xD3C - 0xD28];
|
||||
/* 0xD28 */ daPy_boomerangMove_c mBoomerangMove;
|
||||
/* 0xD34 */ u8 field_0xD34[0xD3C - 0xD34];
|
||||
/* 0xD3C */ Quaternion field_0xd3c;
|
||||
/* 0xD4C */ Quaternion field_0xd4c;
|
||||
/* 0xD5C */ float field_0xd5c;
|
||||
/* 0xD60 */ float field_0xd60;
|
||||
/* 0xD5C */ f32 field_0xd5c;
|
||||
/* 0xD60 */ f32 field_0xd60;
|
||||
/* 0xD64 */ s16 field_0xd64;
|
||||
/* 0xD66 */ s16 field_0xd66;
|
||||
/* 0xD68 */ s16 field_0xd68;
|
||||
/* 0xD6A */ s16 field_0xd6a;
|
||||
/* 0xD6C */ u8 field_0xD6C[0xD70 - 0xD6C];
|
||||
/* 0xD70 */ float field_0xd70;
|
||||
/* 0xD6C */ f32 field_0xd6c;
|
||||
/* 0xD70 */ f32 field_0xd70;
|
||||
/* 0xD74 */ u8 field_0xd74;
|
||||
/* 0xD75 */ u8 field_0xd75;
|
||||
/* 0xD76 */ u8 field_0xd76;
|
||||
|
|
@ -258,48 +335,53 @@ public:
|
|||
/* 0xD78 */ u8 field_0xD78[0xD79 - 0xD78];
|
||||
/* 0xD79 */ u8 field_0xd79;
|
||||
/* 0xD7A */ u8 field_0xd7a;
|
||||
/* 0xD7B */ u8 field_0xd7b;
|
||||
/* 0xD7B */ s8 field_0xd7b;
|
||||
/* 0xD7C */ csXyz field_0xd7c;
|
||||
/* 0xD82 */ u8 field_0xD82[0xD84 - 0xD82];
|
||||
/* 0xD84 */ float field_0xd84;
|
||||
/* 0xD88 */ Z2SoundObjSimple field_0xd88;
|
||||
/* 0xDA8 */ u8 field_0xDA8[0xDAA - 0xDA8];
|
||||
/* 0xD84 */ f32 field_0xd84;
|
||||
/* 0xD88 */ Z2SoundObjSimple mSound;
|
||||
/* 0xDA8 */ u8 field_0xda8;
|
||||
/* 0xDA9 */ bool field_0xda9;
|
||||
/* 0xDAA */ u8 field_0xdaa;
|
||||
/* 0xDAB */ u8 field_0xDAB[0xDAC - 0xDAB];
|
||||
/* 0xDAB */ u8 field_0xdab;
|
||||
/* 0xDAC */ bool field_0xdac;
|
||||
/* 0xDAD */ u8 field_0xdad;
|
||||
/* 0xDAE */ u8 field_0xDAE[0xDAF - 0xDAE];
|
||||
/* 0xDAE */ u8 field_0xdae;
|
||||
/* 0xDAF */ u8 field_0xdaf;
|
||||
/* 0xDB0 */ u8 field_0xdb0;
|
||||
/* 0xDB1 */ u8 field_0xDB1[0xDB2 - 0xDB1];
|
||||
/* 0xDB1 */ u8 field_0xdb1;
|
||||
/* 0xDB2 */ u8 mOnMoveBG;
|
||||
/* 0xDB3 */ u8 field_0xdb3;
|
||||
/* 0xDB4 */ u8 field_0xdb4;
|
||||
/* 0xDB5 */ u8 mCrashRoll;
|
||||
/* 0xDB6 */ u8 field_0xdb6;
|
||||
/* 0xDB7 */ u8 mDraw;
|
||||
/* 0xDB5 */ bool mCanCrashRoll;
|
||||
/* 0xDB6 */ u8 mDeleteTimer;
|
||||
/* 0xDB7 */ bool mDraw;
|
||||
/* 0xDB8 */ u8 mCtrl;
|
||||
/* 0xDB9 */ u8 field_0xdb9;
|
||||
/* 0xDBA */ u8 mReset;
|
||||
/* 0xDBA */ bool mReset;
|
||||
/* 0xDBB */ u8 mCarryHookOK;
|
||||
/* 0xDBC */ u8 mRecover;
|
||||
/* 0xDBD */ u8 field_0xDBD[0xDD0 - 0xDBD];
|
||||
/* 0xDD0 */ fopAc_ac_c* field_0xdd0;
|
||||
/* 0xDD4 */ u8 field_0xDD4[0xDDC - 0xDD4];
|
||||
/* 0xDDC */ float field_0xddc;
|
||||
/* 0xDE0 */ float field_0xde0;
|
||||
/* 0xDE4 */ float field_0xde4;
|
||||
/* 0xDBD */ u8 field_0xDBD[0xDC4 - 0xDBD];
|
||||
/* 0xDC4 */ int field_0xdc4;
|
||||
/* 0xDC8 */ f32 field_0xdc8;
|
||||
/* 0xDCC */ f32 field_0xdcc;
|
||||
/* 0xDD0 */ fopAc_ac_c* mpCannonActor;
|
||||
/* 0xDD4 */ u32 field_0xdd4;
|
||||
/* 0xDD8 */ u8 field_0xDD8[0xDDC - 0xDD8];
|
||||
/* 0xDDC */ f32 field_0xddc;
|
||||
/* 0xDE0 */ f32 field_0xde0;
|
||||
/* 0xDE4 */ f32 field_0xde4;
|
||||
/* 0xDE8 */ s16 field_0xde8;
|
||||
/* 0xDEA */ u8 field_0xdea;
|
||||
/* 0xDEB */ u8 mCannon;
|
||||
/* 0xDEB */ bool mCannon;
|
||||
/* 0xDEC */ cXyz field_0xdec;
|
||||
/* 0xDF8 */ DALKMIST_INFLUENCE field_0xdf8;
|
||||
/* 0xDF8 */ DALKMIST_INFLUENCE mDalkmistInf;
|
||||
/* 0xE0C */ u8 field_0xe0c;
|
||||
/* 0xE0D */ u8 field_0xe0d;
|
||||
/* 0xE0E */ u8 field_0xE0E[0xE10 - 0xE0E];
|
||||
/* 0xE10 */ dJntCol_c field_0xe10;
|
||||
/* 0xE20 */ float field_0xe20;
|
||||
/* 0xE24 */ u8 field_0xe24;
|
||||
/* 0xE10 */ dJntCol_c mJntCol;
|
||||
/* 0xE20 */ f32 field_0xe20;
|
||||
/* 0xE24 */ s8 field_0xe24;
|
||||
/* 0xE25 */ u8 field_0xe25;
|
||||
/* 0xE26 */ u8 field_0xe26;
|
||||
/* 0xE27 */ u8 field_0xe27;
|
||||
|
|
@ -310,15 +392,4 @@ private:
|
|||
|
||||
STATIC_ASSERT(sizeof(daObjCarry_c) == 0xE28);
|
||||
|
||||
struct daObjCarry_Data {
|
||||
/* 0x0000 */ u8 field_0x0000[0x0030 - 0x0000];
|
||||
/* 0x0030 */ float field_0x0030;
|
||||
/* 0x0034 */ u8 field_0x0034;
|
||||
/* 0x0035 */ u8 field_0x0035[0x0038 - 0x0035];
|
||||
/* 0x0038 */ float field_0x0038;
|
||||
/* 0x003C */ float field_0x003c;
|
||||
/* 0x0040 */ float field_0x0040;
|
||||
/* 0x0044 */ u8 field_0x0044[0x94-0x44];
|
||||
};
|
||||
|
||||
#endif /* D_A_OBJ_CARRY_H */
|
||||
|
|
|
|||
|
|
@ -113,9 +113,6 @@ public:
|
|||
/* 800773EC */ void OnWallSort();
|
||||
/* 800773FC */ bool ChkWallSort();
|
||||
/* 80077408 */ bool ChkLineDown();
|
||||
/* 800D00D0 */ bool ChkRoofHit() const;
|
||||
/* 800D00DC */ void ClrGroundHit();
|
||||
/* 80141404 */ bool ChkGroundHit() const;
|
||||
|
||||
/* 80075F94 */ virtual ~dBgS_Acch();
|
||||
|
||||
|
|
@ -126,37 +123,37 @@ public:
|
|||
int GetTblSize() { return m_tbl_size; }
|
||||
void SetLin() { m_lin.SetStartEnd(*pm_old_pos, *pm_pos); }
|
||||
bool ChkGroundFind() { return m_flags & GROUND_FIND; }
|
||||
bool ChkGroundHit() { return m_flags & GROUND_HIT; }
|
||||
bool ChkGroundLanding() { return m_flags & GROUND_LANDING; }
|
||||
bool ChkGroundHit() const { return m_flags & GROUND_HIT; }
|
||||
bool ChkGroundLanding() const { return m_flags & GROUND_LANDING; }
|
||||
void ClrGroundLanding() { m_flags &= ~GROUND_LANDING; }
|
||||
void ClrGroundAway() { m_flags &= ~GROUND_AWAY; }
|
||||
void ClrWallHit() { m_flags &= ~WALL_HIT; }
|
||||
void SetRoofNone() { m_flags |= ROOF_NONE; }
|
||||
void SetRoofHit() { m_flags |= ROOF_HIT; }
|
||||
void SetWaterNone() { m_flags |= WATER_NONE; }
|
||||
bool ChkWallHit() { return m_flags & WALL_HIT; }
|
||||
u32 ChkWallHit() const { return m_flags & WALL_HIT; }
|
||||
void OffLineCheckHit() { m_flags &= ~LINE_CHECK_HIT; }
|
||||
void OffLineCheck() { m_flags &= ~LINE_CHECK; }
|
||||
bool ChkLineCheckNone() { return m_flags & LINE_CHECK_NONE; }
|
||||
bool ChkLineCheck() { return m_flags & LINE_CHECK; }
|
||||
u32 ChkLineCheckNone() const { return m_flags & LINE_CHECK_NONE; }
|
||||
u32 ChkLineCheck() const { return m_flags & LINE_CHECK; }
|
||||
void ClrRoofHit() { m_flags &= ~ROOF_HIT; }
|
||||
void ClrWaterHit() { m_flags &= ~WATER_HIT; }
|
||||
void SetWaterHit() { m_flags |= WATER_HIT; }
|
||||
void ClrWaterIn() { m_flags &= ~WATER_IN; }
|
||||
void SetWaterIn() { m_flags |= WATER_IN; }
|
||||
const u32 MaskWaterIn() { return m_flags & WATER_IN; }
|
||||
const bool ChkWaterIn() { return MaskWaterIn();}
|
||||
const u32 MaskWaterIn() const { return m_flags & WATER_IN; }
|
||||
const bool ChkWaterIn() const { return MaskWaterIn();}
|
||||
void ClrGroundFind() { m_flags &= ~GROUND_FIND; }
|
||||
u32 MaskRoofHit() { return m_flags & ROOF_HIT; }
|
||||
bool ChkRoofHit() { return MaskRoofHit(); }
|
||||
u32 MaskRoofHit() const { return m_flags & ROOF_HIT; }
|
||||
bool ChkRoofHit() const { return MaskRoofHit(); }
|
||||
void OffClrSpeedY() { m_flags |= CLR_SPEED_Y; }
|
||||
bool ChkClrSpeedY() { return !(m_flags & CLR_SPEED_Y); }
|
||||
bool ChkClrSpeedY() const { return !(m_flags & CLR_SPEED_Y); }
|
||||
void SetGroundFind() { m_flags |= GROUND_FIND; }
|
||||
void SetGroundHit() { m_flags |= GROUND_HIT; }
|
||||
void SetGroundLanding() { m_flags |= GROUND_LANDING; }
|
||||
void SetGroundAway() { m_flags |= GROUND_AWAY; }
|
||||
const u32 MaskWaterHit() { return m_flags & WATER_HIT; }
|
||||
const bool ChkWaterHit() { return MaskWaterHit(); }
|
||||
const u32 MaskWaterHit() const { return m_flags & WATER_HIT; }
|
||||
const bool ChkWaterHit() const { return MaskWaterHit(); }
|
||||
void ClrWaterNone() { m_flags &= ~WATER_NONE; }
|
||||
void SetWaterCheckOffset(f32 offset) { m_wtr_chk_offset = offset; }
|
||||
void OnLineCheck() { m_flags |= LINE_CHECK; }
|
||||
|
|
@ -172,11 +169,14 @@ public:
|
|||
void OffLineCheckNone() { m_flags &= ~LINE_CHECK_NONE; }
|
||||
void SetWallNone() { m_flags |= WALL_NONE; }
|
||||
void OnLineCheckHit() { m_flags |= LINE_CHECK_HIT; }
|
||||
bool ChkGroundAway() const { return m_flags & GROUND_AWAY; }
|
||||
void ClrGroundHit() { m_flags &= ~GROUND_HIT; }
|
||||
|
||||
cM3dGCyl* GetWallBmdCylP() { return &m_wall_cyl; }
|
||||
fopAc_ac_c* getMyAc() { return m_my_ac; }
|
||||
|
||||
cM3dGCir* GetWallCirP(int index) {
|
||||
JUT_ASSERT(0, index <= m_tbl_size);
|
||||
JUT_ASSERT(730, index <= m_tbl_size);
|
||||
return pm_acch_cir[index].GetCirP();
|
||||
}
|
||||
|
||||
|
|
@ -190,10 +190,6 @@ public:
|
|||
|
||||
f32 GetCx() const { return pm_pos->x; }
|
||||
f32 GetCz() const { return pm_pos->z; }
|
||||
|
||||
// inline dupe
|
||||
void i_ClrGroundHit() { m_flags &= ~GROUND_HIT; }
|
||||
u32 i_ChkGroundHit() const { return m_flags & GROUND_HIT; }
|
||||
|
||||
public:
|
||||
/* 0x02C */ u32 m_flags;
|
||||
|
|
@ -218,7 +214,7 @@ public:
|
|||
/* 0x098 */ f32 m_ground_h;
|
||||
/* 0x09C */ f32 field_0x9c;
|
||||
/* 0x0A0 */ cM3dGPla field_0xa0;
|
||||
/* 0x0B4 */ u8 field_0xb4;
|
||||
/* 0x0B4 */ bool field_0xb4;
|
||||
/* 0x0B8 */ f32 field_0xb8;
|
||||
/* 0x0BC */ f32 field_0xbc;
|
||||
/* 0x0C0 */ u8 field_0xc0;
|
||||
|
|
|
|||
|
|
@ -9,12 +9,11 @@ class dBgS_RoofChk : public cBgS_PolyInfo, public cBgS_Chk, public dBgS_Chk {
|
|||
public:
|
||||
/* 80078FF4 */ dBgS_RoofChk();
|
||||
/* 80079124 */ void Init();
|
||||
/* 800B146C */ void SetPos(cXyz const&);
|
||||
|
||||
/* 80079090 */ virtual ~dBgS_RoofChk();
|
||||
|
||||
void SetNowY(f32 y) { mNowY = y; }
|
||||
void i_SetPos(cXyz const& pos) { m_pos = pos; }
|
||||
void SetPos(cXyz const& pos) { m_pos = pos; }
|
||||
f32 GetNowY() { return mNowY; }
|
||||
cXyz* GetPosP() { return &m_pos; }
|
||||
|
||||
|
|
|
|||
|
|
@ -822,7 +822,7 @@ public:
|
|||
/* 0x1DE08 */ u8 field_0x1de08;
|
||||
/* 0x1DE09 */ u8 field_0x1de09;
|
||||
/* 0x1DE0A */ u8 field_0x1de0a;
|
||||
/* 0x1DE0B */ u8 field_0x1de0b;
|
||||
/* 0x1DE0B */ u8 mIsDebugMode;
|
||||
/* 0x1DE0C */ u8 field_0x1de0c;
|
||||
|
||||
static __d_timer_info_c dComIfG_mTimerInfo;
|
||||
|
|
@ -888,6 +888,10 @@ inline void dComIfG_setTimerLimitTimeMs(int i_time) {
|
|||
g_dComIfG_gameInfo.play.setTimerLimitTimeMs(i_time);
|
||||
}
|
||||
|
||||
inline BOOL dComIfG_isDebugMode() {
|
||||
return g_dComIfG_gameInfo.mIsDebugMode;
|
||||
}
|
||||
|
||||
/**
|
||||
* Attempts to add a new Object Resource Archive (*.arc) into the Resource Control.
|
||||
* @param i_arcName Name of archive to be added
|
||||
|
|
|
|||
|
|
@ -0,0 +1,124 @@
|
|||
#ifndef D_DEBUG_VIEWER_H
|
||||
#define D_DEBUG_VIEWER_H
|
||||
|
||||
#include <dolphin/gx.h>
|
||||
#include "SSystem/SComponent/c_xyz.h"
|
||||
#include "SSystem/SComponent/c_sxyz.h"
|
||||
|
||||
class J3DPacket;
|
||||
|
||||
J3DPacket* dDbVw_setDrawPacketList(J3DPacket* i_packet, int i_bufferType);
|
||||
void dDbVw_deleteDrawPacketList();
|
||||
|
||||
void dDbVw_drawCube8p(int i_bufferType, cXyz* i_points, const GXColor& i_color);
|
||||
void dDbVw_drawCube(int i_bufferType, cXyz& i_pos, cXyz& i_size, csXyz& i_angle, const GXColor& i_color);
|
||||
void dDbVw_drawTriangle(int i_bufferType, cXyz* i_points, const GXColor& i_color, u8 i_clipZ);
|
||||
void dDbVw_drawQuad(int i_bufferType, cXyz* i_points, const GXColor& i_color, u8 i_clipZ);
|
||||
void dDbVw_drawQuad(int i_bufferType, cXyz* param_1, cXyz* param_2, cXyz* i_pos, s16 i_rotY, const GXColor& i_color, u8 i_clipZ);
|
||||
void dDbVw_drawLine(int i_bufferType, cXyz& i_start, cXyz& i_end, const GXColor& i_color, u8 i_clipZ, u8 i_width);
|
||||
void dDbVw_drawArrow(int i_bufferType, cXyz& i_pos, cXyz& param_2, const GXColor& i_color, u8 i_clipZ, u8 i_width);
|
||||
void dDbVw_drawPoint(int i_bufferType, cXyz& i_pos, const GXColor& i_color, u8 i_clipZ, u8 i_width);
|
||||
void dDbVw_drawCircle(int i_bufferType, cXyz& i_pos, f32 i_radius, const GXColor& i_color, u8 i_clipZ, u8 i_width);
|
||||
void dDbVw_drawSphere(int i_bufferType, cXyz& i_pos, f32 i_size, const GXColor& i_color, u8 i_clipZ);
|
||||
void dDbVw_drawCylinder(int i_bufferType, cXyz& i_pos, f32 i_radius, f32 i_height, const GXColor& i_color, u8 i_clipZ);
|
||||
void dDbVw_drawCylinderM(int i_bufferType, Mtx i_mtx, const GXColor& i_color, u8 i_clipZ);
|
||||
|
||||
inline void dDbVw_drawCube8pOpa(cXyz* i_points, const GXColor& i_color) {
|
||||
dDbVw_drawCube8p(0, i_points, i_color);
|
||||
}
|
||||
|
||||
inline void dDbVw_drawCube8pXlu(cXyz* i_points, const GXColor& i_color) {
|
||||
dDbVw_drawCube8p(1, i_points, i_color);
|
||||
}
|
||||
|
||||
inline void dDbVw_drawCubeOpa(cXyz& i_pos, cXyz& i_size, csXyz& i_angle, const GXColor& i_color) {
|
||||
dDbVw_drawCube(0, i_pos, i_size, i_angle, i_color);
|
||||
}
|
||||
|
||||
inline void dDbVw_drawCubeXlu(cXyz& i_pos, cXyz& i_size, csXyz& i_angle, const GXColor& i_color) {
|
||||
dDbVw_drawCube(1, i_pos, i_size, i_angle, i_color);
|
||||
}
|
||||
|
||||
inline void dDbVw_drawTriangleOpa(cXyz* i_points, const GXColor& i_color, u8 i_clipZ) {
|
||||
dDbVw_drawTriangle(0, i_points, i_color, i_clipZ);
|
||||
}
|
||||
|
||||
inline void dDbVw_drawTriangleXlu(cXyz* i_points, const GXColor& i_color, u8 i_clipZ) {
|
||||
dDbVw_drawTriangle(1, i_points, i_color, i_clipZ);
|
||||
}
|
||||
|
||||
inline void dDbVw_drawQuadOpa(cXyz* i_points, const GXColor& i_color, u8 i_clipZ) {
|
||||
dDbVw_drawQuad(0, i_points, i_color, i_clipZ);
|
||||
}
|
||||
|
||||
inline void dDbVw_drawQuadXlu(cXyz* i_points, const GXColor& i_color, u8 i_clipZ) {
|
||||
dDbVw_drawQuad(1, i_points, i_color, i_clipZ);
|
||||
}
|
||||
|
||||
inline void dDbVw_drawQuadOpa(cXyz* param_1, cXyz* param_2, cXyz* i_pos, s16 i_rotY, const GXColor& i_color, u8 i_clipZ) {
|
||||
dDbVw_drawQuad(0, param_1, param_2, i_pos, i_rotY, i_color, i_clipZ);
|
||||
}
|
||||
|
||||
inline void dDbVw_drawQuadXlu(cXyz* param_1, cXyz* param_2, cXyz* i_pos, s16 i_rotY, const GXColor& i_color, u8 i_clipZ) {
|
||||
dDbVw_drawQuad(1, param_1, param_2, i_pos, i_rotY, i_color, i_clipZ);
|
||||
}
|
||||
|
||||
inline void dDbVw_drawLineOpa(cXyz& i_start, cXyz& i_end, const GXColor& i_color, u8 i_clipZ, u8 i_width) {
|
||||
dDbVw_drawLine(0, i_start, i_end, i_color, i_clipZ, i_width);
|
||||
}
|
||||
|
||||
inline void dDbVw_drawLineXlu(cXyz& i_start, cXyz& i_end, const GXColor& i_color, u8 i_clipZ, u8 i_width) {
|
||||
dDbVw_drawLine(1, i_start, i_end, i_color, i_clipZ, i_width);
|
||||
}
|
||||
|
||||
inline void dDbVw_drawArrowOpa(cXyz& i_pos, cXyz& param_2, const GXColor& i_color, u8 i_clipZ, u8 i_width) {
|
||||
dDbVw_drawArrow(0, i_pos, param_2, i_color, i_clipZ, i_width);
|
||||
}
|
||||
|
||||
inline void dDbVw_drawArrowXlu(cXyz& i_pos, cXyz& param_2, const GXColor& i_color, u8 i_clipZ, u8 i_width) {
|
||||
dDbVw_drawArrow(1, i_pos, param_2, i_color, i_clipZ, i_width);
|
||||
}
|
||||
|
||||
inline void dDbVw_drawPointOpa(cXyz& i_pos, const GXColor& i_color, u8 i_clipZ, u8 i_width) {
|
||||
dDbVw_drawPoint(0, i_pos, i_color, i_clipZ, i_width);
|
||||
}
|
||||
|
||||
inline void dDbVw_drawPointXlu(cXyz& i_pos, const GXColor& i_color, u8 i_clipZ, u8 i_width) {
|
||||
dDbVw_drawPoint(1, i_pos, i_color, i_clipZ, i_width);
|
||||
}
|
||||
|
||||
inline void dDbVw_drawCircleOpa(cXyz& i_pos, f32 i_radius, const GXColor& i_color, u8 i_clipZ, u8 i_width) {
|
||||
dDbVw_drawCircle(0, i_pos, i_radius, i_color, i_clipZ, i_width);
|
||||
}
|
||||
|
||||
inline void dDbVw_drawCircleXlu(cXyz& i_pos, f32 i_radius, const GXColor& i_color, u8 i_clipZ, u8 i_width) {
|
||||
dDbVw_drawCircle(1, i_pos, i_radius, i_color, i_clipZ, i_width);
|
||||
}
|
||||
|
||||
inline void dDbVw_drawSphereOpa(cXyz& i_pos, f32 i_size, const GXColor& i_color, u8 i_clipZ) {
|
||||
dDbVw_drawSphere(0, i_pos, i_size, i_color, i_clipZ);
|
||||
}
|
||||
|
||||
inline void dDbVw_drawSphereXlu(cXyz& i_pos, f32 i_size, const GXColor& i_color, u8 i_clipZ) {
|
||||
dDbVw_drawSphere(1, i_pos, i_size, i_color, i_clipZ);
|
||||
}
|
||||
|
||||
inline void dDbVw_drawCylinderOpa(cXyz& i_pos, f32 i_radius, f32 i_height, const GXColor& i_color, u8 i_clipZ) {
|
||||
dDbVw_drawCylinder(0, i_pos, i_radius, i_height, i_color, i_clipZ);
|
||||
}
|
||||
|
||||
inline void dDbVw_drawCylinderXlu(cXyz& i_pos, f32 i_radius, f32 i_height, const GXColor& i_color, u8 i_clipZ) {
|
||||
dDbVw_drawCylinder(1, i_pos, i_radius, i_height, i_color, i_clipZ);
|
||||
}
|
||||
|
||||
inline void dDbVw_drawCylinderMOpa(Mtx i_mtx, const GXColor& i_color, u8 i_clipZ) {
|
||||
dDbVw_drawCylinderM(0, i_mtx, i_color, i_clipZ);
|
||||
}
|
||||
|
||||
inline void dDbVw_drawCylinderMXlu(Mtx i_mtx, const GXColor& i_color, u8 i_clipZ) {
|
||||
dDbVw_drawCylinderM(1, i_mtx, i_color, i_clipZ);
|
||||
}
|
||||
|
||||
int dDbVw_Report(int x, int y, char const* string, ...);
|
||||
|
||||
#endif /* D_DEBUG_VIEWER_H */
|
||||
|
|
@ -190,7 +190,7 @@ public:
|
|||
static void setModel(JPABaseEmitter* param_0, J3DModelData* param_1,
|
||||
const dKy_tevstr_c& param_2, u8 param_3, J3DAnmTexPattern* param_4,
|
||||
u8 param_5) {
|
||||
setModel(param_0, param_1, param_2, param_3, param_4, param_5);
|
||||
setModel(param_0, param_1, param_2, param_3, param_4, 0, param_5);
|
||||
}
|
||||
|
||||
static dPa_modelEcallBack& getEcallback() { return mEcallback; }
|
||||
|
|
|
|||
|
|
@ -78,6 +78,14 @@ public:
|
|||
setPosition(i_tboxNo, 4, i_pos, -1);
|
||||
}
|
||||
|
||||
static void setIconPositionOfCarryLight(int i_tboxNo, const Vec* i_pos, int param_2) {
|
||||
setPosition(i_tboxNo, 12, i_pos, param_2);
|
||||
}
|
||||
|
||||
static void setCarryIron(int i_tboxNo, const Vec* i_pos) {
|
||||
setPosition(i_tboxNo, 11, i_pos, -1);
|
||||
}
|
||||
|
||||
static u8 const typeToTypeGroup[17][2];
|
||||
static type_group_list mTypeGroupListAll[17];
|
||||
static typeGroupData_c* mTypeGroupData;
|
||||
|
|
|
|||
|
|
@ -311,6 +311,10 @@ inline void fopAcM_SetModel(fopAc_ac_c* actor, J3DModel* model) {
|
|||
actor->model = model;
|
||||
}
|
||||
|
||||
inline J3DModel* fopAcM_GetModel(fopAc_ac_c* actor) {
|
||||
return actor->model;
|
||||
}
|
||||
|
||||
inline fopAcM_prm_class* fopAcM_GetAppend(void* actor) {
|
||||
return (fopAcM_prm_class*)fpcM_GetAppend(actor);
|
||||
}
|
||||
|
|
@ -713,6 +717,10 @@ inline void fopAcM_OnCarryType(fopAc_ac_c* i_actor, fopAcM_CARRY param_2) {
|
|||
i_actor->carryType |= param_2;
|
||||
}
|
||||
|
||||
inline void fopAcM_OffCarryType(fopAc_ac_c* i_actor, fopAcM_CARRY param_2) {
|
||||
i_actor->carryType &= ~param_2;
|
||||
}
|
||||
|
||||
enum fopAcM_FOOD {
|
||||
fopAcM_FOOD_0,
|
||||
fopAcM_FOOD_1,
|
||||
|
|
|
|||
|
|
@ -588,13 +588,12 @@ public:
|
|||
|
||||
class mDoExt_cylinderPacket : public J3DPacket {
|
||||
public:
|
||||
mDoExt_cylinderPacket(cXyz& i_position, f32 i_radius, f32 i_height, const GXColor& i_color,
|
||||
u8 param_4) {
|
||||
mDoExt_cylinderPacket(cXyz& i_position, f32 i_radius, f32 i_height, const GXColor& i_color, u8 i_clipZ) {
|
||||
mPosition = i_position;
|
||||
mRadius = i_radius;
|
||||
mHeight = i_height;
|
||||
mColor = i_color;
|
||||
field_0x28 = param_4;
|
||||
mClipZ = i_clipZ;
|
||||
}
|
||||
|
||||
virtual void draw();
|
||||
|
|
@ -604,7 +603,186 @@ public:
|
|||
/* 0x1C */ f32 mRadius;
|
||||
/* 0x20 */ f32 mHeight;
|
||||
/* 0x24 */ GXColor mColor;
|
||||
/* 0x28 */ u8 field_0x28;
|
||||
/* 0x28 */ u8 mClipZ;
|
||||
};
|
||||
|
||||
class mDoExt_spherePacket : public J3DPacket {
|
||||
public:
|
||||
mDoExt_spherePacket(cXyz& i_position, f32 i_size, const GXColor& i_color, u8 i_clipZ) {
|
||||
mPosition = i_position;
|
||||
mSize = i_size;
|
||||
mColor = i_color;
|
||||
mClipZ = i_clipZ;
|
||||
}
|
||||
|
||||
virtual void draw();
|
||||
virtual ~mDoExt_spherePacket() {}
|
||||
|
||||
/* 0x10 */ cXyz mPosition;
|
||||
/* 0x1C */ f32 mSize;
|
||||
/* 0x20 */ GXColor mColor;
|
||||
/* 0x24 */ u8 mClipZ;
|
||||
};
|
||||
|
||||
class mDoExt_cube8pPacket : public J3DPacket {
|
||||
public:
|
||||
mDoExt_cube8pPacket(cXyz* i_points, const GXColor& i_color) {
|
||||
cXyz* pnt_array = i_points;
|
||||
|
||||
for (int i = 0; i < 8; i++) {
|
||||
mPoints[i] = *pnt_array;
|
||||
pnt_array++;
|
||||
}
|
||||
|
||||
DCStoreRangeNoSync(mPoints, sizeof(cXyz) * 8);
|
||||
mColor = i_color;
|
||||
}
|
||||
|
||||
virtual void draw();
|
||||
virtual ~mDoExt_cube8pPacket() {}
|
||||
|
||||
/* 0x10 */ cXyz mPoints[8];
|
||||
/* 0x70 */ GXColor mColor;
|
||||
};
|
||||
|
||||
class mDoExt_trianglePacket : public J3DPacket {
|
||||
public:
|
||||
mDoExt_trianglePacket(cXyz* i_points, const GXColor& i_color, u8 i_clipZ) {
|
||||
cXyz* pnt_array = i_points;
|
||||
|
||||
for (int i = 0; i < 3; i++) {
|
||||
mPoints[i] = *pnt_array;
|
||||
pnt_array++;
|
||||
}
|
||||
|
||||
DCStoreRangeNoSync(mPoints, sizeof(cXyz) * 3);
|
||||
mColor = i_color;
|
||||
mClipZ = i_clipZ;
|
||||
}
|
||||
|
||||
virtual void draw();
|
||||
virtual ~mDoExt_trianglePacket() {}
|
||||
|
||||
/* 0x10 */ cXyz mPoints[3];
|
||||
/* 0x34 */ GXColor mColor;
|
||||
/* 0x38 */ u8 mClipZ;
|
||||
};
|
||||
|
||||
class mDoExt_quadPacket : public J3DPacket {
|
||||
public:
|
||||
mDoExt_quadPacket(cXyz* i_points, const GXColor& i_color, u8 i_clipZ) {
|
||||
cXyz* pnt_array = i_points;
|
||||
|
||||
for (int i = 0; i < 4; i++) {
|
||||
mPoints[i] = *pnt_array;
|
||||
pnt_array++;
|
||||
}
|
||||
|
||||
DCStoreRangeNoSync(mPoints, sizeof(cXyz) * 4);
|
||||
mColor = i_color;
|
||||
mClipZ = i_clipZ;
|
||||
}
|
||||
|
||||
virtual void draw();
|
||||
virtual ~mDoExt_quadPacket() {}
|
||||
|
||||
/* 0x10 */ cXyz mPoints[4];
|
||||
/* 0x40 */ GXColor mColor;
|
||||
/* 0x44 */ u8 mClipZ;
|
||||
};
|
||||
|
||||
class mDoExt_linePacket : public J3DPacket {
|
||||
public:
|
||||
mDoExt_linePacket(cXyz& i_start, cXyz& i_end, const GXColor& i_color, u8 i_clipZ, u8 i_width) {
|
||||
mStart = i_start;
|
||||
mEnd = i_end;
|
||||
mColor = i_color;
|
||||
mClipZ = i_clipZ;
|
||||
mWidth = i_width;
|
||||
}
|
||||
|
||||
virtual void draw();
|
||||
virtual ~mDoExt_linePacket() {}
|
||||
|
||||
/* 0x10 */ cXyz mStart;
|
||||
/* 0x1C */ cXyz mEnd;
|
||||
/* 0x28 */ GXColor mColor;
|
||||
/* 0x2C */ u8 mClipZ;
|
||||
/* 0x2D */ u8 mWidth;
|
||||
};
|
||||
|
||||
class mDoExt_cylinderMPacket : public J3DPacket {
|
||||
public:
|
||||
mDoExt_cylinderMPacket(Mtx i_mtx, const GXColor& i_color, u8 i_clipZ) {
|
||||
PSMTXCopy(i_mtx, mMatrix);
|
||||
mColor = i_color;
|
||||
mClipZ = i_clipZ;
|
||||
}
|
||||
|
||||
virtual void draw();
|
||||
virtual ~mDoExt_cylinderMPacket() {}
|
||||
|
||||
/* 0x10 */ Mtx mMatrix;
|
||||
/* 0x40 */ GXColor mColor;
|
||||
/* 0x44 */ u8 mClipZ;
|
||||
};
|
||||
|
||||
class mDoExt_circlePacket : public J3DPacket {
|
||||
public:
|
||||
mDoExt_circlePacket(cXyz& i_position, f32 i_radius, const GXColor& i_color, u8 i_clipZ, u8 i_lineWidth) {
|
||||
mPosition = i_position;
|
||||
mRadius = i_radius;
|
||||
mColor = i_color;
|
||||
mClipZ = i_clipZ;
|
||||
mLineWidth = i_lineWidth;
|
||||
}
|
||||
|
||||
virtual void draw();
|
||||
virtual ~mDoExt_circlePacket() {}
|
||||
|
||||
/* 0x10 */ cXyz mPosition;
|
||||
/* 0x1C */ f32 mRadius;
|
||||
/* 0x20 */ GXColor mColor;
|
||||
/* 0x24 */ u8 mClipZ;
|
||||
/* 0x25 */ u8 mLineWidth;
|
||||
};
|
||||
|
||||
class mDoExt_ArrowPacket : public J3DPacket {
|
||||
public:
|
||||
mDoExt_ArrowPacket(cXyz& i_position, cXyz& param_1, const GXColor& i_color, u8 i_clipZ, u8 i_lineWidth) {
|
||||
mPosition = i_position;
|
||||
field_0x1c = param_1;
|
||||
mColor = i_color;
|
||||
mClipZ = i_clipZ;
|
||||
m_lineWidth = i_lineWidth;
|
||||
}
|
||||
|
||||
virtual void draw();
|
||||
virtual ~mDoExt_ArrowPacket() {}
|
||||
|
||||
/* 0x10 */ cXyz mPosition;
|
||||
/* 0x1C */ cXyz field_0x1c;
|
||||
/* 0x28 */ GXColor mColor;
|
||||
/* 0x2C */ u8 mClipZ;
|
||||
/* 0x2D */ u8 m_lineWidth;
|
||||
};
|
||||
|
||||
class mDoExt_pointPacket : public J3DPacket {
|
||||
public:
|
||||
mDoExt_pointPacket(cXyz& i_position, const GXColor& i_color, u8 i_clipZ, u8 i_lineWidth) {
|
||||
mPosition = i_position;
|
||||
mColor = i_color;
|
||||
mClipZ = i_clipZ;
|
||||
mLineWidth = i_lineWidth;
|
||||
}
|
||||
|
||||
virtual void draw();
|
||||
virtual ~mDoExt_pointPacket() {}
|
||||
|
||||
/* 0x10 */ cXyz mPosition;
|
||||
/* 0x1C */ GXColor mColor;
|
||||
/* 0x20 */ u8 mClipZ;
|
||||
/* 0x21 */ u8 mLineWidth;
|
||||
};
|
||||
|
||||
inline void mDoExt_bckAnmRemove(J3DModelData* i_modelData) {
|
||||
|
|
|
|||
|
|
@ -3837,7 +3837,7 @@ void daAlink_c::footBgCheck() {
|
|||
mDoMtx_multVec(mpLinkModel->getAnmMtx(0x19), &localRightFootOffset, &sp68[1]);
|
||||
mDoMtx_multVec(mpLinkModel->getAnmMtx(0x1A), &localRightToeOffset, &sp80[1]);
|
||||
|
||||
BOOL sp1C = (!mLinkAcch.i_ChkGroundHit() || checkMagneBootsOn()) || (mLinkAcch.i_ChkGroundHit() && mSinkShapeOffset < 0.0f) || checkModeFlg(0x78C52);
|
||||
BOOL sp1C = (!mLinkAcch.ChkGroundHit() || checkMagneBootsOn()) || (mLinkAcch.ChkGroundHit() && mSinkShapeOffset < 0.0f) || checkModeFlg(0x78C52);
|
||||
|
||||
for (i = 0; i < 2; i++, var_r29++, sp24++) {
|
||||
cXyz sp5C = (sp80[i] + sp68[i]) * 0.5f;
|
||||
|
|
@ -6385,7 +6385,7 @@ void daAlink_c::setStepsOffset() {
|
|||
|
||||
/* 800A6DCC-800A7050 0A170C 0284+00 1/1 0/0 0/0 .text iceSlipBgCheck__9daAlink_cFv */
|
||||
void daAlink_c::iceSlipBgCheck() {
|
||||
if (mLinkAcch.i_ChkGroundHit() && checkModeFlg(1)) {
|
||||
if (mLinkAcch.ChkGroundHit() && checkModeFlg(1)) {
|
||||
f32 var_f30 = field_0x35c4.absXZ();
|
||||
if (var_f30 > 0.1f) {
|
||||
cXyz sp3C(field_0x3798.x, field_0x3798.y + 10.0f, field_0x3798.z);
|
||||
|
|
@ -6415,7 +6415,7 @@ void daAlink_c::iceSlipBgCheck() {
|
|||
void daAlink_c::setIceSlipSpeed() {
|
||||
field_0x35d0 = field_0x35c4;
|
||||
|
||||
if (!checkModeFlg(0x1210C52) && !checkEventRun() && !checkHeavyStateOn(1, 1) && mGndPolySpecialCode == dBgW_SPCODE_ICE && !mLinkAcch.ChkWallHit() && mLinkAcch.i_ChkGroundHit()) {
|
||||
if (!checkModeFlg(0x1210C52) && !checkEventRun() && !checkHeavyStateOn(1, 1) && mGndPolySpecialCode == dBgW_SPCODE_ICE && !mLinkAcch.ChkWallHit() && mLinkAcch.ChkGroundHit()) {
|
||||
f32 var_f31, var_f30, var_f29;
|
||||
if (checkWolf()) {
|
||||
var_f31 = 0.1f;
|
||||
|
|
@ -6462,7 +6462,7 @@ void daAlink_c::setPolygonSpeed() {
|
|||
field_0x35a0 = cXyz::Zero;
|
||||
}
|
||||
|
||||
if ((mLinkAcch.i_ChkGroundHit() && !checkHeavyStateOn(1, 1) && mWaterY > 30.0f + current.pos.y) || checkModeFlg(0x40000)) {
|
||||
if ((mLinkAcch.ChkGroundHit() && !checkHeavyStateOn(1, 1) && mWaterY > 30.0f + current.pos.y) || checkModeFlg(0x40000)) {
|
||||
cXyz sp18;
|
||||
int sp8;
|
||||
if (fopAcM_getWaterStream(¤t.pos, mLinkAcch.m_gnd, &sp18, &sp8, 0)) {
|
||||
|
|
@ -6510,7 +6510,7 @@ void daAlink_c::setPolygonSpeed() {
|
|||
}
|
||||
|
||||
cLib_addCalcPos(&field_0x3594, sp18, 0.5f, var_f30, 0.5f);
|
||||
} else if (field_0x2fbd == 4 && mLinkAcch.i_ChkGroundHit() && dComIfG_Bgsp().ChkPolySafe(mLinkAcch.m_gnd) && dComIfG_Bgsp().GetTriPla(mLinkAcch.m_gnd, &sp24) && sp24.mNormal.y <= cM_scos(cM_deg2s(29.9f))) {
|
||||
} else if (field_0x2fbd == 4 && mLinkAcch.ChkGroundHit() && dComIfG_Bgsp().ChkPolySafe(mLinkAcch.m_gnd) && dComIfG_Bgsp().GetTriPla(mLinkAcch.m_gnd, &sp24) && sp24.mNormal.y <= cM_scos(cM_deg2s(29.9f))) {
|
||||
f32 temp_f26 = sp24.mNormal.y;
|
||||
f32 temp_f27 = cM_sht2d(cM_atan2s(sp24.mNormal.absXZ(), sp24.mNormal.y)) - 29.9f;
|
||||
sp24.mNormal.y = 0.0f;
|
||||
|
|
@ -6975,7 +6975,7 @@ void daAlink_c::setAttentionPos() {
|
|||
/* 800A8CE4-800A9248 0A3624 0564+00 3/3 0/0 0/0 .text setMatrix__9daAlink_cFv */
|
||||
void daAlink_c::setMatrix() {
|
||||
f32 var_f31;
|
||||
if (field_0x3174 == 8 && mLinkAcch.i_ChkGroundHit() && !checkModeFlg(0x70C52)) {
|
||||
if (field_0x3174 == 8 && mLinkAcch.ChkGroundHit() && !checkModeFlg(0x70C52)) {
|
||||
var_f31 = 20.0f;
|
||||
} else {
|
||||
var_f31 = 0.0f;
|
||||
|
|
@ -9860,7 +9860,7 @@ void daAlink_c::setFrontWallType() {
|
|||
|
||||
if (i == 0 && var_r27 == 3 && checkStageName("D_MN10") != 0 && fopAcM_GetRoomNo(this) == 6) {
|
||||
sp4C = 1;
|
||||
} else if (!checkWolf() && sp5C == 0 && ((i == 0 && mLinkAcch.i_ChkGroundHit() && !checkModeFlg(0x70C52)) || mProcID == PROC_HOOKSHOT_FLY) && var_r27 == 0) {
|
||||
} else if (!checkWolf() && sp5C == 0 && ((i == 0 && mLinkAcch.ChkGroundHit() && !checkModeFlg(0x70C52)) || mProcID == PROC_HOOKSHOT_FLY) && var_r27 == 0) {
|
||||
sp5C = 1;
|
||||
sp98.y = sp54;
|
||||
sp8C.y = sp98.y;
|
||||
|
|
@ -10207,11 +10207,6 @@ void daAlink_c::setFrontWallType() {
|
|||
}
|
||||
}
|
||||
|
||||
/* 800B146C-800B1488 0ABDAC 001C+00 1/1 0/0 0/0 .text SetPos__12dBgS_RoofChkFRC4cXyz */
|
||||
void dBgS_RoofChk::SetPos(cXyz const& pos) {
|
||||
m_pos = pos;
|
||||
}
|
||||
|
||||
/* 800B1488-800B14B4 0ABDC8 002C+00 4/4 0/0 0/0 .text checkWaterPolygonUnder__9daAlink_cFv */
|
||||
BOOL daAlink_c::checkWaterPolygonUnder() {
|
||||
return checkModeFlg(MODE_SWIMMING) || current.pos.y < mWaterY;
|
||||
|
|
@ -10414,7 +10409,7 @@ void daAlink_c::setSandShapeOffset() {
|
|||
f32 temp_f29 = mSinkShapeOffset;
|
||||
BOOL temp_r29 = checkEventRun();
|
||||
|
||||
if (mLinkAcch.i_ChkGroundHit() && (field_0x2fbb == 3 || checkSnowCode()) && !checkModeFlg(0x440)) {
|
||||
if (mLinkAcch.ChkGroundHit() && (field_0x2fbb == 3 || checkSnowCode()) && !checkModeFlg(0x440)) {
|
||||
if (!temp_r29 && !checkModeFlg(0x02000000)) {
|
||||
if (checkSnowCode()) {
|
||||
if (!checkZeroSpeedF() || mProcID == PROC_TURN_MOVE) {
|
||||
|
|
@ -10523,7 +10518,7 @@ bool daAlink_c::checkLv2MiddleBossBgRide(s16 i_procName) {
|
|||
|
||||
/* 800B1FD8-800B21EC 0AC918 0214+00 11/11 0/0 0/0 .text getSlidePolygon__9daAlink_cFP8cM3dGPla */
|
||||
bool daAlink_c::getSlidePolygon(cM3dGPla* param_0) {
|
||||
if (!checkMagneBootsOn() && mLinkAcch.i_ChkGroundHit() && !checkModeFlg(0x40000) && (mGndPolySpecialCode != 6) && dComIfG_Bgsp().ChkPolySafe(mLinkAcch.m_gnd)) {
|
||||
if (!checkMagneBootsOn() && mLinkAcch.ChkGroundHit() && !checkModeFlg(0x40000) && (mGndPolySpecialCode != 6) && dComIfG_Bgsp().ChkPolySafe(mLinkAcch.m_gnd)) {
|
||||
if ((checkEquipHeavyBoots() && daTagMagne_c::checkMagnetCode(mLinkAcch.m_gnd)) || mProcID == PROC_GORON_MOVE) {
|
||||
return 0;
|
||||
}
|
||||
|
|
@ -11144,7 +11139,7 @@ void daAlink_c::setNormalSpeedF(f32 i_incSpeed, f32 param_1) {
|
|||
var_f31 = field_0x594;
|
||||
}
|
||||
|
||||
if ((checkUpperReadyThrowAnime() && mLinkAcch.i_ChkGroundHit() && field_0x2f8c == 1) || ((checkRoomOnly() || checkCopyRodControllAnime() || checkGrabSlowMoveActor() || (checkUpperGuardAnime() && field_0x2f8c == 1) || (field_0x2fbd == 4 && mSinkShapeOffset < -15.0f)) && (mProcID == PROC_MOVE || mProcID == PROC_ATN_MOVE || mProcID == PROC_ATN_ACTOR_MOVE || mProcID == PROC_WOLF_MOVE || mProcID == PROC_WOLF_ATN_AC_MOVE || mProcID == PROC_MOVE_TURN))) {
|
||||
if ((checkUpperReadyThrowAnime() && mLinkAcch.ChkGroundHit() && field_0x2f8c == 1) || ((checkRoomOnly() || checkCopyRodControllAnime() || checkGrabSlowMoveActor() || (checkUpperGuardAnime() && field_0x2f8c == 1) || (field_0x2fbd == 4 && mSinkShapeOffset < -15.0f)) && (mProcID == PROC_MOVE || mProcID == PROC_ATN_MOVE || mProcID == PROC_ATN_ACTOR_MOVE || mProcID == PROC_WOLF_MOVE || mProcID == PROC_WOLF_ATN_AC_MOVE || mProcID == PROC_MOVE_TURN))) {
|
||||
f32 temp_f30 = field_0x594 * daAlinkHIO_basic_c0::m.mIndoorSpeedFactor;
|
||||
if (var_f31 > temp_f30) {
|
||||
var_f31 = temp_f30;
|
||||
|
|
@ -12093,7 +12088,7 @@ BOOL daAlink_c::checkAutoJumpAction() {
|
|||
return 0;
|
||||
}
|
||||
|
||||
if (!checkModeFlg(0x70C12) && mProcID != PROC_DOOR_OPEN && mProcID != PROC_WARP && !getSumouMode() && mDemo.getDemoType() != 5 && !checkMagneBootsOn() && !mLinkAcch.i_ChkGroundHit()) {
|
||||
if (!checkModeFlg(0x70C12) && mProcID != PROC_DOOR_OPEN && mProcID != PROC_WARP && !getSumouMode() && mDemo.getDemoType() != 5 && !checkMagneBootsOn() && !mLinkAcch.ChkGroundHit()) {
|
||||
if (checkNoResetFlg0(FLG0_UNDERWATER)) {
|
||||
speed.y = 0.0f;
|
||||
return procSwimWaitInit(0);
|
||||
|
|
@ -12253,9 +12248,9 @@ BOOL daAlink_c::checkAutoJumpAction() {
|
|||
}
|
||||
}
|
||||
} else if (checkGrabGlide() && mWindSpeed.y > 10.0f) {
|
||||
mLinkAcch.i_ClrGroundHit();
|
||||
mLinkAcch.ClrGroundHit();
|
||||
return procAutoJumpInit(1);
|
||||
} else if (checkEndResetFlg0(ERFLG0_UNK_100) && mLinkAcch.i_ChkGroundHit() && !checkWolf()) {
|
||||
} else if (checkEndResetFlg0(ERFLG0_UNK_100) && mLinkAcch.ChkGroundHit() && !checkWolf()) {
|
||||
return procRollJumpInit();
|
||||
} else if (checkMagneBootsOn() && !checkNoResetFlg0(FLG0_UNK_2000) && cancelMagneBootsOn()) {
|
||||
return procFallInit(1, 5.0f);
|
||||
|
|
@ -12665,7 +12660,7 @@ BOOL daAlink_c::checkUpperItemAction() {
|
|||
if (field_0x30f6 < 0 || !checkNoResetFlg0(FLG0_UNK_20000)) {
|
||||
voiceStart(Z2SE_AL_V_ZENTEN_FAIL_2);
|
||||
|
||||
if (mLinkAcch.i_ChkGroundHit()) {
|
||||
if (mLinkAcch.ChkGroundHit()) {
|
||||
return procStEscapeInit();
|
||||
}
|
||||
resetUpperAnime(UPPER_2, 3.0f);
|
||||
|
|
@ -12774,7 +12769,7 @@ static void* daAlink_searchKolin(fopAc_ac_c* i_actor, void* i_data) {
|
|||
|
||||
/* 800B80C4-800B8374 0B2A04 02B0+00 2/2 0/0 0/0 .text orderZTalk__9daAlink_cFv */
|
||||
int daAlink_c::orderZTalk() {
|
||||
if ((!checkReinRide() && !checkModeFlg(0x40000) && !checkMagneBootsOn() && (!mLinkAcch.i_ChkGroundHit() || checkModeFlg(0x70C52))) || mThrowBoomerangAcKeep.getActor() != NULL || dComIfGp_checkPlayerStatus0(0, 0x8000000) || mProcID == PROC_CRAWL_END || checkHorseZelda() || checkCloudSea() || checkStageName("D_MN08A") || (checkStageName("D_MN09A") && ((fopAcM_GetRoomNo(this) == 50 && dComIfG_play_c::getLayerNo(0) == 0) || fopAcM_GetRoomNo(this) == 51)) || (checkMagneBootsOn() && (!checkStageName("D_MN04B") || !cBgW_CheckBGround(mMagneBootsTopVec.y))) || dComIfGs_isEventBit(0x6140)) {
|
||||
if ((!checkReinRide() && !checkModeFlg(0x40000) && !checkMagneBootsOn() && (!mLinkAcch.ChkGroundHit() || checkModeFlg(0x70C52))) || mThrowBoomerangAcKeep.getActor() != NULL || dComIfGp_checkPlayerStatus0(0, 0x8000000) || mProcID == PROC_CRAWL_END || checkHorseZelda() || checkCloudSea() || checkStageName("D_MN08A") || (checkStageName("D_MN09A") && ((fopAcM_GetRoomNo(this) == 50 && dComIfG_play_c::getLayerNo(0) == 0) || fopAcM_GetRoomNo(this) == 51)) || (checkMagneBootsOn() && (!checkStageName("D_MN04B") || !cBgW_CheckBGround(mMagneBootsTopVec.y))) || dComIfGs_isEventBit(0x6140)) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
|
@ -13116,7 +13111,7 @@ BOOL daAlink_c::checkItemAction() {
|
|||
|
||||
return checkCutAction();
|
||||
}
|
||||
} else if (checkFishingRodItem(mEquipItem) && mLinkAcch.i_ChkGroundHit()) {
|
||||
} else if (checkFishingRodItem(mEquipItem) && mLinkAcch.ChkGroundHit()) {
|
||||
if (checkNoResetFlg2(FLG2_UNK_20000000)) {
|
||||
return procFishingCastInit();
|
||||
}
|
||||
|
|
@ -13148,7 +13143,7 @@ BOOL daAlink_c::checkItemAction() {
|
|||
}
|
||||
}
|
||||
|
||||
if (((dComIfGs_isEventBit(0x2908) || checkNoResetFlg3(FLG3_UNK_8)) && checkGuardActionChange() && !checkUpperReadyThrowAnime() && !checkModeFlg(0x70C52) && i_checkShieldGet() && !checkNotBattleStage()) && ((mLinkAcch.i_ChkGroundHit() || checkMagneBootsOn()) && dComIfGp_getRStatus() == 0)) {
|
||||
if (((dComIfGs_isEventBit(0x2908) || checkNoResetFlg3(FLG3_UNK_8)) && checkGuardActionChange() && !checkUpperReadyThrowAnime() && !checkModeFlg(0x70C52) && i_checkShieldGet() && !checkNotBattleStage()) && ((mLinkAcch.ChkGroundHit() || checkMagneBootsOn()) && dComIfGp_getRStatus() == 0)) {
|
||||
setRStatus(0x3A);
|
||||
|
||||
if (spActionTrigger()) {
|
||||
|
|
@ -13759,7 +13754,7 @@ void daAlink_c::setItemAction() {
|
|||
|
||||
daPy_frameCtrl_c* frame_ctrl = &mUpperFrameCtrl[2];
|
||||
|
||||
if (!checkMagneBootsOn() && checkEquipHeavyBoots() && mLinkAcch.i_ChkGroundHit() && !checkModeFlg(0x70C52)) {
|
||||
if (!checkMagneBootsOn() && checkEquipHeavyBoots() && mLinkAcch.ChkGroundHit() && !checkModeFlg(0x70C52)) {
|
||||
if (dComIfG_Bgsp().ChkPolySafe(mLinkAcch.m_gnd) && daTagMagne_c::checkMagnetCode(mLinkAcch.m_gnd)) {
|
||||
onNoResetFlg0(FLG0_MAGNE_BOOTS_ON);
|
||||
setMagneBootsMtx(&mLinkAcch.m_gnd, 1);
|
||||
|
|
@ -14681,7 +14676,7 @@ void daAlink_c::autoGroundHit() {
|
|||
cM3dGPla sp74;
|
||||
f32 temp_f30 = mLinkAcch.GetGroundH() - current.pos.y;
|
||||
|
||||
if (!mLinkAcch.i_ChkGroundHit()) {
|
||||
if (!mLinkAcch.ChkGroundHit()) {
|
||||
if (checkBoardRide() && shape_angle.x < 0) {
|
||||
return;
|
||||
}
|
||||
|
|
@ -14912,7 +14907,7 @@ BOOL daAlink_c::checkRestartRoom() {
|
|||
startRestartRoom(5, 0xC9, 4, 0);
|
||||
return true;
|
||||
}
|
||||
} else if (mLinkAcch.i_ChkGroundHit() && field_0x2fbd == 2) {
|
||||
} else if (mLinkAcch.ChkGroundHit() && field_0x2fbd == 2) {
|
||||
return procCoLavaReturnInit(1);
|
||||
} else if ((checkModeFlg(0x40000) || (checkNoResetFlg0(FLG0_UNK_80) && mWaterY - current.pos.y > daAlinkHIO_swim_c0::m.mInitHeight)) && fopAcM_GetRoomNo(this) == 0 && checkStageName("F_SP114")) {
|
||||
return procCoSwimFreezeReturnInit();
|
||||
|
|
@ -14935,7 +14930,7 @@ BOOL daAlink_c::checkRestartRoom() {
|
|||
var_f30 = 2000.0f;
|
||||
}
|
||||
|
||||
if ((field_0x3174 != 10 && ((temp_r28 && checkModeFlg(0x40000)) || (!temp_r28 && (checkModeFlg(2) || checkNoResetFlg3(FLG3_UNK_80000)) && mProcID != PROC_HOOKSHOT_FLY && !checkModeFlg(0x800) && var_f31 > var_f30))) || (field_0x3174 == 10 && var_f31 <= 3000.0f) || (checkSpinnerRide() && mRideAcKeep.getActor() != NULL && ((daSpinner_c*)mRideAcKeep.getActor())->checkGroundHit()) || (mLinkAcch.i_ChkGroundHit() && mProcID != PROC_HOOKSHOT_FLY)) {
|
||||
if ((field_0x3174 != 10 && ((temp_r28 && checkModeFlg(0x40000)) || (!temp_r28 && (checkModeFlg(2) || checkNoResetFlg3(FLG3_UNK_80000)) && mProcID != PROC_HOOKSHOT_FLY && !checkModeFlg(0x800) && var_f31 > var_f30))) || (field_0x3174 == 10 && var_f31 <= 3000.0f) || (checkSpinnerRide() && mRideAcKeep.getActor() != NULL && ((daSpinner_c*)mRideAcKeep.getActor())->checkGroundHit()) || (mLinkAcch.ChkGroundHit() && mProcID != PROC_HOOKSHOT_FLY)) {
|
||||
int var_r29;
|
||||
s8 var_r27;
|
||||
|
||||
|
|
@ -14949,7 +14944,7 @@ BOOL daAlink_c::checkRestartRoom() {
|
|||
}
|
||||
|
||||
if (checkModeFlg(2)) {
|
||||
mLinkAcch.i_ClrGroundHit();
|
||||
mLinkAcch.ClrGroundHit();
|
||||
}
|
||||
} else {
|
||||
var_r29 = 0x3F;
|
||||
|
|
@ -14984,7 +14979,7 @@ BOOL daAlink_c::checkRestartRoom() {
|
|||
|
||||
return true;
|
||||
}
|
||||
} else if ((mLinkAcch.i_ChkGroundHit() && (dKy_pol_argument_get(&mLinkAcch.m_gnd) & 0x80)) || (checkWaterPolygonUnder() && checkNoResetFlg0(FLG0_UNK_80) && (dKy_pol_argument_get(&mLinkAcch.m_wtr) & 0x80)) || (checkModeFlg(0x40) && field_0x33bc < field_0x33b8 && -1000000000.0f != field_0x33b8 && (field_0x2fc6 & 0x80)) || (field_0x2fbc == 6 && checkNoResetFlg0(FLG0_UNK_80) && checkWaterPolygonUnder() && mWaterY > (daAlinkHIO_basic_c0::m.mLavaDeathDepth + mLinkAcch.GetGroundH())) || (field_0x2fc5 == 6 && -1000000000.0f != field_0x33b8 && field_0x33bc < field_0x33b8 && checkModeFlg(0x40) && field_0x33b8 > (field_0x33d8 + daAlinkHIO_basic_c0::m.mLavaDeathDepth))) {
|
||||
} else if ((mLinkAcch.ChkGroundHit() && (dKy_pol_argument_get(&mLinkAcch.m_gnd) & 0x80)) || (checkWaterPolygonUnder() && checkNoResetFlg0(FLG0_UNK_80) && (dKy_pol_argument_get(&mLinkAcch.m_wtr) & 0x80)) || (checkModeFlg(0x40) && field_0x33bc < field_0x33b8 && -1000000000.0f != field_0x33b8 && (field_0x2fc6 & 0x80)) || (field_0x2fbc == 6 && checkNoResetFlg0(FLG0_UNK_80) && checkWaterPolygonUnder() && mWaterY > (daAlinkHIO_basic_c0::m.mLavaDeathDepth + mLinkAcch.GetGroundH())) || (field_0x2fc5 == 6 && -1000000000.0f != field_0x33b8 && field_0x33bc < field_0x33b8 && checkModeFlg(0x40) && field_0x33b8 > (field_0x33d8 + daAlinkHIO_basic_c0::m.mLavaDeathDepth))) {
|
||||
if (field_0x2fbc == 6 || (checkModeFlg(0x40) && field_0x2fc5 == 6)) {
|
||||
return procCoLavaReturnInit(0);
|
||||
}
|
||||
|
|
@ -15046,7 +15041,7 @@ int daAlink_c::checkSceneChange(int exitID) {
|
|||
(mExitID & 0x8000 && checkModeFlg(2)))
|
||||
{
|
||||
if (field_0x3174 == 5 || (mExitID & 0x8000 && mExitDirection == 0xFF)) {
|
||||
mLinkAcch.i_ClrGroundHit();
|
||||
mLinkAcch.ClrGroundHit();
|
||||
}
|
||||
|
||||
if (checkNoResetFlg0(FLG0_UNK_4000)) {
|
||||
|
|
|
|||
|
|
@ -545,7 +545,7 @@ int daAlink_c::procCanoeGetOff() {
|
|||
}
|
||||
|
||||
if (checkModeFlg(2)) {
|
||||
if (mLinkAcch.i_ChkGroundHit()) {
|
||||
if (mLinkAcch.ChkGroundHit()) {
|
||||
checkLandAction(0);
|
||||
} else if (speed.y < -gravity) {
|
||||
procFallInit(2, daAlinkHIO_smallJump_c0::m.mFallInterpolation);
|
||||
|
|
|
|||
|
|
@ -293,7 +293,7 @@ void daAlink_c::decideCrawlDoStatus() {
|
|||
|
||||
/* 800F89E0-800F8A50 0F3320 0070+00 3/3 0/0 0/0 .text checkNotCrawlStand__9daAlink_cFP4cXyz */
|
||||
BOOL daAlink_c::checkNotCrawlStand(cXyz* param_0) {
|
||||
mLinkRoofChk.i_SetPos(*param_0);
|
||||
mLinkRoofChk.SetPos(*param_0);
|
||||
return dComIfG_Bgsp().RoofChk(&mLinkRoofChk) - current.pos.y <= field_0x598;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -295,7 +295,7 @@ int daAlink_c::checkPolyDamage() {
|
|||
}
|
||||
|
||||
int var_r29;
|
||||
if (!checkBoardRide() && mLinkAcch.i_ChkGroundHit()) {
|
||||
if (!checkBoardRide() && mLinkAcch.ChkGroundHit()) {
|
||||
if (dComIfG_Bgsp().ChkPolySafe(mLinkAcch.m_gnd) && (dKy_pol_argument_get(&mLinkAcch.m_gnd) & 0x60)) {
|
||||
var_r29 = 1;
|
||||
if (checkIcePolygonDamage(&mLinkAcch.m_gnd)) {
|
||||
|
|
@ -545,7 +545,7 @@ BOOL daAlink_c::checkDamageAction() {
|
|||
seStartOnlyReverb(Z2SE_AL_DAMAGE_NORMAL);
|
||||
}
|
||||
} else {
|
||||
if (!checkModeFlg(0x40000) && ((sp2C & 0x40) || (!mLinkAcch.i_ChkGroundHit() && (sp28 == 3 || sp28 == 4)))) {
|
||||
if (!checkModeFlg(0x40000) && ((sp2C & 0x40) || (!mLinkAcch.ChkGroundHit() && (sp28 == 3 || sp28 == 4)))) {
|
||||
dComIfGp_getVibration().StartShock(2, 0x1F, cXyz(0.0f, 1.0f, 0.0f));
|
||||
|
||||
int sp24;
|
||||
|
|
@ -730,7 +730,7 @@ BOOL daAlink_c::checkDamageAction() {
|
|||
} else if (!armor_no_dmg) {
|
||||
return procSwimDamageInit(var_r29);
|
||||
}
|
||||
} else if (dmg == 0 && !checkWolf() && (at_spl == 10 || at_spl == 11 || at_spl == 9) && mLinkAcch.i_ChkGroundHit() && !checkModeFlg(0x70C52)) {
|
||||
} else if (dmg == 0 && !checkWolf() && (at_spl == 10 || at_spl == 11 || at_spl == 9) && mLinkAcch.ChkGroundHit() && !checkModeFlg(0x70C52)) {
|
||||
return procGuardBreakInit();
|
||||
} else if (checkHugeAttack(at_spl)) {
|
||||
return procCoLargeDamageInit(-1, 0, 0, 0, var_r29, 0);
|
||||
|
|
@ -1197,7 +1197,7 @@ int daAlink_c::procCoLargeDamage() {
|
|||
setFallVoice();
|
||||
}
|
||||
|
||||
if ((mLinkAcch.i_ChkGroundHit() || checkEndResetFlg2(ERFLG2_UNK_100)) && !checkBoarSingleBattle()) {
|
||||
if ((mLinkAcch.ChkGroundHit() || checkEndResetFlg2(ERFLG2_UNK_100)) && !checkBoarSingleBattle()) {
|
||||
if (checkWolf()) {
|
||||
procWolfLargeDamageUpInit(field_0x3198, mProcVar1.field_0x300a, field_0x3080, field_0x3082);
|
||||
} else {
|
||||
|
|
@ -1669,7 +1669,7 @@ int daAlink_c::procCoElecDamageInit(fopAc_ac_c* param_0, dCcD_GObjInf* param_1,
|
|||
|
||||
daAlink_ANM var_r29;
|
||||
daAlink_WANM var_r28;
|
||||
if ((mLinkAcch.i_ChkGroundHit() && !temp_r27) || checkMagneBootsOn()) {
|
||||
if ((mLinkAcch.ChkGroundHit() && !temp_r27) || checkMagneBootsOn()) {
|
||||
if (mEquipItem == fpcNm_ITEM_IRONBALL) {
|
||||
setIronBallWaitUpperAnime(1);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1286,7 +1286,7 @@ BOOL daAlink_c::checkDeadHP() {
|
|||
BOOL daAlink_c::checkDeadAction(int param_0) {
|
||||
if (!checkEventRun()) {
|
||||
if (checkDeadHP() && mProcID != PROC_HORSE_RIDE && mProcID != PROC_HORSE_GETOFF && mProcID != PROC_LARGE_DAMAGE && mProcID != PROC_LARGE_DAMAGE_WALL && (param_0 || (mProcID != PROC_LARGE_DAMAGE_UP && mProcID != PROC_WOLF_LARGE_DAMAGE_UP))) {
|
||||
if (mLinkAcch.i_ChkGroundHit() || checkModeFlg(0x40000) || checkBoarRide() || (checkHorseRide() && !dComIfGp_getHorseActor()->checkJump())) {
|
||||
if (mLinkAcch.ChkGroundHit() || checkModeFlg(0x40000) || checkBoarRide() || (checkHorseRide() && !dComIfGp_getHorseActor()->checkJump())) {
|
||||
return procCoDeadInit(1);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -318,7 +318,7 @@ void daAlink_c::setEffect() {
|
|||
setElecDamageEffect();
|
||||
}
|
||||
|
||||
if (checkMagneBootsOn() || (checkEquipHeavyBoots() && mLinkAcch.i_ChkGroundHit() &&
|
||||
if (checkMagneBootsOn() || (checkEquipHeavyBoots() && mLinkAcch.ChkGroundHit() &&
|
||||
dComIfG_Bgsp().GetMagnetCode(mLinkAcch.m_gnd) == 2))
|
||||
{
|
||||
if (!checkMagneBootsOn() && !checkNoResetFlg3(FLG3_UNK_1)) {
|
||||
|
|
@ -543,7 +543,7 @@ void daAlink_c::setEffect() {
|
|||
}
|
||||
|
||||
f32 temp_f30 = field_0x3798.absXZ(current.pos);
|
||||
if ((!checkModeFlg(0x70C52) && (mLinkAcch.i_ChkGroundHit() || checkMagneBootsOn())) ||
|
||||
if ((!checkModeFlg(0x70C52) && (mLinkAcch.ChkGroundHit() || checkMagneBootsOn())) ||
|
||||
mProcID == PROC_SUMOU_WIN_LOSE || (checkBoardRide() && !checkModeFlg(2)) ||
|
||||
mProcID == PROC_WOLF_TAG_JUMP)
|
||||
{
|
||||
|
|
|
|||
|
|
@ -2351,7 +2351,7 @@ int daAlink_c::procGoatCatch() {
|
|||
return procWaitInit();
|
||||
}
|
||||
|
||||
if (!mLinkAcch.i_ChkGroundHit() && mProcVar5.field_0x3012 == 0 && (!checkMagneBootsOn() || !checkNoResetFlg0(FLG0_UNK_2000))) {
|
||||
if (!mLinkAcch.ChkGroundHit() && mProcVar5.field_0x3012 == 0 && (!checkMagneBootsOn() || !checkNoResetFlg0(FLG0_UNK_2000))) {
|
||||
setGoatStopGameFail(temp_r3);
|
||||
return 1;
|
||||
}
|
||||
|
|
@ -2415,7 +2415,7 @@ int daAlink_c::procGoatCatch() {
|
|||
return 1;
|
||||
}
|
||||
|
||||
if (!doButton() || (!mLinkAcch.i_ChkGroundHit() && (!checkMagneBootsOn() || !checkNoResetFlg0(FLG0_UNK_2000))) || field_0x3198 > 0 && mNormalSpeed >= 30.0f) {
|
||||
if (!doButton() || (!mLinkAcch.ChkGroundHit() && (!checkMagneBootsOn() || !checkNoResetFlg0(FLG0_UNK_2000))) || field_0x3198 > 0 && mNormalSpeed >= 30.0f) {
|
||||
|
||||
if (checkMagneBootsOn()) {
|
||||
cancelMagneBootsOn();
|
||||
|
|
|
|||
|
|
@ -99,7 +99,7 @@ BOOL daAlink_c::hangMoveBgCheck(s16 param_0, cXyz* param_1) {
|
|||
|
||||
/* 800FA338-800FA5C8 0F4C78 0290+00 3/3 0/0 0/0 .text changeHangMoveProc__9daAlink_cFi */
|
||||
BOOL daAlink_c::changeHangMoveProc(int i_direction) {
|
||||
if (!mLinkAcch.i_ChkGroundHit() || !dComIfG_Bgsp().ChkPolySafe(mLinkAcch.m_gnd)) {
|
||||
if (!mLinkAcch.ChkGroundHit() || !dComIfG_Bgsp().ChkPolySafe(mLinkAcch.m_gnd)) {
|
||||
return false;
|
||||
}
|
||||
|
||||
|
|
@ -1792,7 +1792,7 @@ void daAlink_c::changeClimbMoveProc(int param_0) {
|
|||
if (field_0x2f98 == DIR_FORWARD || field_0x2f98 == DIR_BACKWARD) {
|
||||
cXyz sp44(current.pos.x - cM_ssin(shape_angle.y) * 15.0f, current.pos.y + field_0x598,
|
||||
current.pos.z - cM_scos(shape_angle.y) * 15.0f);
|
||||
mLinkRoofChk.i_SetPos(sp44);
|
||||
mLinkRoofChk.SetPos(sp44);
|
||||
|
||||
f32 roof_y = dComIfG_Bgsp().RoofChk(&mLinkRoofChk);
|
||||
if (field_0x2f98 == DIR_FORWARD && roof_y < sp44.y + 110.0f &&
|
||||
|
|
@ -1886,7 +1886,7 @@ int daAlink_c::setMoveBGClimbCorrect() {
|
|||
return 0;
|
||||
}
|
||||
|
||||
if (mLinkAcch.i_ChkGroundHit()) {
|
||||
if (mLinkAcch.ChkGroundHit()) {
|
||||
return procFallInit(1, daAlinkHIO_autoJump_c0::m.mFallInterpolation);
|
||||
}
|
||||
|
||||
|
|
@ -1961,7 +1961,7 @@ int daAlink_c::checkBgCorrectClimbMove(cXyz* i_startPos, cXyz* i_endPos) {
|
|||
BOOL daAlink_c::checkClimbRoof(f32 param_0) {
|
||||
cXyz sp44(current.pos.x - cM_ssin(shape_angle.y) * 30.0f, param_0 - 30.0f,
|
||||
current.pos.z - cM_scos(shape_angle.y) * 30.0f);
|
||||
mLinkRoofChk.i_SetPos(sp44);
|
||||
mLinkRoofChk.SetPos(sp44);
|
||||
|
||||
if (dComIfG_Bgsp().RoofChk(&mLinkRoofChk) < param_0 + 30.0f &&
|
||||
dComIfG_Bgsp().GetMonkeyBarsCode(mLinkRoofChk))
|
||||
|
|
@ -2049,7 +2049,7 @@ BOOL daAlink_c::checkBgClimbMove(int i_direction) {
|
|||
|
||||
sp8C.set(var_f26 + (current.pos.x + var_f31), current.pos.y,
|
||||
var_f25 + (current.pos.z + var_f30));
|
||||
mLinkRoofChk.i_SetPos(sp8C);
|
||||
mLinkRoofChk.SetPos(sp8C);
|
||||
|
||||
f32 var_f29 = dComIfG_Bgsp().RoofChk(&mLinkRoofChk) - field_0x598;
|
||||
if (var_f29 < current.pos.y) {
|
||||
|
|
@ -2058,7 +2058,7 @@ BOOL daAlink_c::checkBgClimbMove(int i_direction) {
|
|||
|
||||
sp8C.set(var_f26 + (current.pos.x - var_f31), current.pos.y,
|
||||
var_f25 + (current.pos.z - var_f30));
|
||||
mLinkRoofChk.i_SetPos(sp8C);
|
||||
mLinkRoofChk.SetPos(sp8C);
|
||||
|
||||
var_f29 = dComIfG_Bgsp().RoofChk(&mLinkRoofChk) - field_0x598;
|
||||
if (var_f29 < current.pos.y) {
|
||||
|
|
@ -2597,7 +2597,7 @@ int daAlink_c::procClimbToRoof() {
|
|||
|
||||
cXyz sp38(current.pos.x + cM_ssin(shape_angle.y) * 95.0f, current.pos.y,
|
||||
current.pos.z + cM_scos(shape_angle.y) * 95.0f);
|
||||
mLinkRoofChk.i_SetPos(sp38);
|
||||
mLinkRoofChk.SetPos(sp38);
|
||||
|
||||
sp38.y = dComIfG_Bgsp().RoofChk(&mLinkRoofChk);
|
||||
if (sp38.y < current.pos.y + 214.0f + 110.0f) {
|
||||
|
|
@ -2644,7 +2644,7 @@ int daAlink_c::checkRoofHangMovePos() {
|
|||
|
||||
cXyz sp38(current.pos.x + cM_ssin(angle) * 60.0f, (current.pos.y + 214.0f) - 10.0f,
|
||||
current.pos.z + cM_scos(angle) * 60.0f);
|
||||
mLinkRoofChk.i_SetPos(sp38);
|
||||
mLinkRoofChk.SetPos(sp38);
|
||||
|
||||
if (dComIfG_Bgsp().RoofChk(&mLinkRoofChk) < sp38.y + 50.0f) {
|
||||
if (dComIfG_Bgsp().GetMonkeyBarsCode(mLinkRoofChk)) {
|
||||
|
|
@ -2669,7 +2669,7 @@ int daAlink_c::commonRoofHangProc() {
|
|||
}
|
||||
|
||||
cXyz sp28(current.pos.x, (current.pos.y + 214.0f) - 10.0f, current.pos.z);
|
||||
mLinkRoofChk.i_SetPos(sp28);
|
||||
mLinkRoofChk.SetPos(sp28);
|
||||
|
||||
f32 roof_y = dComIfG_Bgsp().RoofChk(&mLinkRoofChk);
|
||||
if (roof_y < sp28.y + 50.0f && dComIfG_Bgsp().GetMonkeyBarsCode(mLinkRoofChk) &&
|
||||
|
|
|
|||
|
|
@ -1648,7 +1648,7 @@ int daAlink_c::procHorseGetOff() {
|
|||
} else {
|
||||
field_0x2f99 = 7;
|
||||
|
||||
if (mLinkAcch.i_ChkGroundHit()) {
|
||||
if (mLinkAcch.ChkGroundHit()) {
|
||||
horseGetOffEnd();
|
||||
return procLandInit(0.0f);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -58,7 +58,7 @@ int daAlink_c::boardCommon(BOOL i_canMove) {
|
|||
}
|
||||
}
|
||||
|
||||
if (!checkSnowCode() && mLinkAcch.i_ChkGroundHit() && !checkModeFlg(2)) {
|
||||
if (!checkSnowCode() && mLinkAcch.ChkGroundHit() && !checkModeFlg(2)) {
|
||||
setJumpMode();
|
||||
procBackJumpInit(0);
|
||||
|
||||
|
|
@ -71,7 +71,7 @@ int daAlink_c::boardCommon(BOOL i_canMove) {
|
|||
}
|
||||
|
||||
s16 var_r27;
|
||||
if (mLinkAcch.i_ChkGroundHit() && dComIfG_Bgsp().ChkPolySafe(mLinkAcch.m_gnd)) {
|
||||
if (mLinkAcch.ChkGroundHit() && dComIfG_Bgsp().ChkPolySafe(mLinkAcch.m_gnd)) {
|
||||
cM3dGPla poly;
|
||||
dComIfG_Bgsp().GetTriPla(mLinkAcch.m_gnd, &poly);
|
||||
|
||||
|
|
@ -115,11 +115,11 @@ int daAlink_c::boardCommon(BOOL i_canMove) {
|
|||
}
|
||||
|
||||
if (checkZeroSpeedF() && temp_r26 > 0x7000 && mProcID == PROC_BOARD_WAIT && !checkModeFlg(2)) {
|
||||
if (mProcVar3.field_0x300e <= 910.0f && checkUnderMove0BckNoArc(ANM_RIDE_WAIT) && mLinkAcch.i_ChkGroundHit()) {
|
||||
if (mProcVar3.field_0x300e <= 910.0f && checkUnderMove0BckNoArc(ANM_RIDE_WAIT) && mLinkAcch.ChkGroundHit()) {
|
||||
return procBoardTurnInit();
|
||||
}
|
||||
}
|
||||
} else if (temp_r26 < 0x2000 && field_0x2f8c == 0xB && mProcID == PROC_BOARD_WAIT && !checkModeFlg(2) && mLinkAcch.i_ChkGroundHit() && (mProcVar3.field_0x300e < field_0x3122) && (checkUnderMove0BckNoArc(ANM_RIDE_WAIT) || checkUnderMove0BckNoArc(ANM_RIDE_FRONT))) {
|
||||
} else if (temp_r26 < 0x2000 && field_0x2f8c == 0xB && mProcID == PROC_BOARD_WAIT && !checkModeFlg(2) && mLinkAcch.ChkGroundHit() && (mProcVar3.field_0x300e < field_0x3122) && (checkUnderMove0BckNoArc(ANM_RIDE_WAIT) || checkUnderMove0BckNoArc(ANM_RIDE_FRONT))) {
|
||||
if (mNormalSpeed <= daAlinkHIO_board_c0::m.mMaxPushSpeed) {
|
||||
return procBoardRowInit();
|
||||
}
|
||||
|
|
@ -159,7 +159,7 @@ int daAlink_c::boardCommon(BOOL i_canMove) {
|
|||
shape_angle.z = field_0x2fee >> 1;
|
||||
mBodyAngle.z = shape_angle.z;
|
||||
|
||||
if (mLinkAcch.i_ChkGroundHit() && dComIfG_Bgsp().ChkPolySafe(mLinkAcch.m_gnd)) {
|
||||
if (mLinkAcch.ChkGroundHit() && dComIfG_Bgsp().ChkPolySafe(mLinkAcch.m_gnd)) {
|
||||
if (checkModeFlg(2)) {
|
||||
offModeFlg(2);
|
||||
speed.y = 0.0f;
|
||||
|
|
@ -499,7 +499,7 @@ int daAlink_c::procBoardRow() {
|
|||
daPy_frameCtrl_c* frame_ctrl = &mUnderFrameCtrl[0];
|
||||
|
||||
if (frame_ctrl->checkPass(0.0f)) {
|
||||
if (checkInputOnR() && abs(mStickAngle) < 0x2000 && !checkModeFlg(2) && mLinkAcch.i_ChkGroundHit() && mProcVar3.field_0x300e < field_0x3122 && mNormalSpeed <= daAlinkHIO_board_c0::m.mMaxPushSpeed) {
|
||||
if (checkInputOnR() && abs(mStickAngle) < 0x2000 && !checkModeFlg(2) && mLinkAcch.ChkGroundHit() && mProcVar3.field_0x300e < field_0x3122 && mNormalSpeed <= daAlinkHIO_board_c0::m.mMaxPushSpeed) {
|
||||
mProcVar5.field_0x3012 = 0;
|
||||
} else {
|
||||
setCommonBoardAnime(FALSE);
|
||||
|
|
|
|||
|
|
@ -275,7 +275,7 @@ void daAlink_c::setIronBallChainPos() {
|
|||
sp274 = mIronBallBgChkPos;
|
||||
field_0x0778->CrrPos(dComIfG_Bgsp());
|
||||
|
||||
if (field_0x0778->i_ChkGroundHit()) {
|
||||
if (field_0x0778->ChkGroundHit()) {
|
||||
*mIronBallChainPos += mIronBallBgChkPos - sp274;
|
||||
}
|
||||
|
||||
|
|
@ -679,8 +679,8 @@ void daAlink_c::setIronBallPos() {
|
|||
mZ2Link.startHitItemSE(Z2SE_HIT_HAMMER, var_r29, mpHookSound, var_f31);
|
||||
}
|
||||
|
||||
if (field_0x0778->ChkWallHit() || field_0x0778->i_ChkGroundHit() || field_0x0778->ChkRoofHit() || (mItemVar0.field_0x3018 == 5 && (var_r26 != 0 || mItemMode > var_r23))) {
|
||||
if (field_0x0778->ChkWallHit() || field_0x0778->i_ChkGroundHit() || field_0x0778->ChkRoofHit()) {
|
||||
if (field_0x0778->ChkWallHit() || field_0x0778->ChkGroundHit() || field_0x0778->ChkRoofHit() || (mItemVar0.field_0x3018 == 5 && (var_r26 != 0 || mItemMode > var_r23))) {
|
||||
if (field_0x0778->ChkWallHit() || field_0x0778->ChkGroundHit() || field_0x0778->ChkRoofHit()) {
|
||||
*mIronBallChainPos += mIronBallBgChkPos - sp10C;
|
||||
|
||||
if (field_0x0778->ChkWallHit()) {
|
||||
|
|
@ -692,7 +692,7 @@ void daAlink_c::setIronBallPos() {
|
|||
}
|
||||
}
|
||||
|
||||
if (field_0x0778->i_ChkGroundHit()) {
|
||||
if (field_0x0778->ChkGroundHit()) {
|
||||
field_0x3848->x *= 0.5f;
|
||||
field_0x3848->z *= 0.5f;
|
||||
|
||||
|
|
@ -787,7 +787,7 @@ void daAlink_c::setIronBallPos() {
|
|||
|
||||
if (mItemVar0.field_0x3018 == 4) {
|
||||
field_0x0778->CrrPos(dComIfG_Bgsp());
|
||||
if (field_0x0778->i_ChkGroundHit() || field_0x0778->ChkRoofHit() || field_0x0778->ChkWallHit()) {
|
||||
if (field_0x0778->ChkGroundHit() || field_0x0778->ChkRoofHit() || field_0x0778->ChkWallHit()) {
|
||||
mItemVar0.field_0x3018 = 8;
|
||||
dComIfGp_getVibration().StartShock(4, 1, cXyz(0.0f, 1.0f, 0.0f));
|
||||
}
|
||||
|
|
|
|||
|
|
@ -393,7 +393,7 @@ int daAlink_c::procKandelaarSwingInit() {
|
|||
mNormalSpeed = 0.0f;
|
||||
current.angle.y = shape_angle.y;
|
||||
|
||||
if ((mLinkAcch.i_ChkGroundHit() && getMoveBGActorName(mLinkAcch.m_gnd, FALSE) == PROC_OBJ_WEB1) ||
|
||||
if ((mLinkAcch.ChkGroundHit() && getMoveBGActorName(mLinkAcch.m_gnd, FALSE) == PROC_OBJ_WEB1) ||
|
||||
(checkStageName("F_SP108") &&
|
||||
fopAcIt_Judge((fopAcIt_JudgeFunc)daAlink_searchTagKtOnFire, NULL) != NULL))
|
||||
{
|
||||
|
|
|
|||
|
|
@ -1615,7 +1615,7 @@ int daAlink_c::procRollJumpInit() {
|
|||
shape_angle.y = field_0x30ee;
|
||||
current.angle.y = shape_angle.y;
|
||||
|
||||
mLinkAcch.i_ClrGroundHit();
|
||||
mLinkAcch.ClrGroundHit();
|
||||
field_0x347c = 0.0f;
|
||||
shape_angle.x = 1;
|
||||
|
||||
|
|
@ -2139,7 +2139,7 @@ int daAlink_c::procCoMetamorphose() {
|
|||
}
|
||||
|
||||
daPy_frameCtrl_c* temp_r29 = mUnderFrameCtrl;
|
||||
if (!mLinkAcch.i_ChkGroundHit()) {
|
||||
if (!mLinkAcch.ChkGroundHit()) {
|
||||
current.pos.y = field_0x3484;
|
||||
speed.y = 0.0f;
|
||||
} else {
|
||||
|
|
@ -4338,7 +4338,7 @@ bool daAlink_c::acceptSubjectModeChange() {
|
|||
!checkEventRun() &&
|
||||
!checkModeFlg(0x310040) &&
|
||||
(checkNoUpperAnime() || checkHorseTiredAnime() || checkGrabAnime() || checkWolfGrabAnime()) &&
|
||||
!(checkWolf() && checkWolfWaitSlipPolygon() && mLinkAcch.i_ChkGroundHit());
|
||||
!(checkWolf() && checkWolfWaitSlipPolygon() && mLinkAcch.ChkGroundHit());
|
||||
}
|
||||
|
||||
/* 800CE628-800CE728 0C8F68 0100+00 5/5 0/0 0/0 .text checkSubjectAction__9daAlink_cFv */
|
||||
|
|
|
|||
|
|
@ -1092,7 +1092,7 @@ void daAlink_c::setBlendWolfAtnMoveAnime(f32 param_0) {
|
|||
field_0x2fc1 = 0;
|
||||
|
||||
s16 var_r28;
|
||||
if (field_0x3174 == 8 || !mLinkAcch.i_ChkGroundHit()) {
|
||||
if (field_0x3174 == 8 || !mLinkAcch.ChkGroundHit()) {
|
||||
var_r28 = 0;
|
||||
} else {
|
||||
var_r28 = getGroundAngle(&mLinkAcch.m_gnd, current.angle.y);
|
||||
|
|
@ -1754,7 +1754,7 @@ void daAlink_c::wolfBgCheck() {
|
|||
int i = 0;
|
||||
for (; i < 2; i++) {
|
||||
sp38.set(current.pos.x, current.pos.y + mAcchCir[2].GetWallH(), current.pos.z);
|
||||
if (mLinkAcch.i_ChkGroundHit()) {
|
||||
if (mLinkAcch.ChkGroundHit()) {
|
||||
sp38.y -= speed.y;
|
||||
}
|
||||
|
||||
|
|
@ -1938,8 +1938,8 @@ void daAlink_c::wolfFootBgCheck() {
|
|||
mDoMtx_multVec(mpLinkModel->getAnmMtx(0x1F), &localFootOffset, &spE0);
|
||||
mDoMtx_multVec(mpLinkModel->getAnmMtx(0x24), &localFootOffset, &spEC);
|
||||
|
||||
BOOL sp28 = !mLinkAcch.i_ChkGroundHit() || checkModeFlg(0x78C52);
|
||||
BOOL sp24 = sp28 || (mLinkAcch.i_ChkGroundHit() && mSinkShapeOffset < 0.0f);
|
||||
BOOL sp28 = !mLinkAcch.ChkGroundHit() || checkModeFlg(0x78C52);
|
||||
BOOL sp24 = sp28 || (mLinkAcch.ChkGroundHit() && mSinkShapeOffset < 0.0f);
|
||||
|
||||
f32* sp20 = &spA0[0][0];
|
||||
cXyz* var_r26 = &spC8;
|
||||
|
|
@ -5061,7 +5061,7 @@ int daAlink_c::getWolfTagJumpTime() const {
|
|||
|
||||
/* 80133EF0-80134000 12E830 0110+00 3/3 1/1 1/1 .text checkMidnaLockJumpPoint__9daAlink_cCFv */
|
||||
const cXyz* daAlink_c::checkMidnaLockJumpPoint() const {
|
||||
if ((!mLinkAcch.i_ChkGroundHit() && mProcID != PROC_WOLF_TAG_JUMP) || checkMidnaUseAbility() ||
|
||||
if ((!mLinkAcch.ChkGroundHit() && mProcID != PROC_WOLF_TAG_JUMP) || checkMidnaUseAbility() ||
|
||||
getMidnaActor()->eventInfo.checkCommandTalk())
|
||||
{
|
||||
return NULL;
|
||||
|
|
@ -9285,7 +9285,7 @@ int daAlink_c::procWolfDig() {
|
|||
onEndResetFlg1(ERFLG1_WOLF_EYE_KEEP);
|
||||
|
||||
cXyz sp14(field_0x37c8);
|
||||
dComIfG_Bgsp().MoveBgCrrPos(mLinkAcch.m_gnd, mLinkAcch.i_ChkGroundHit(), &field_0x37c8, NULL, NULL, false, false);
|
||||
dComIfG_Bgsp().MoveBgCrrPos(mLinkAcch.m_gnd, mLinkAcch.ChkGroundHit(), &field_0x37c8, NULL, NULL, false, false);
|
||||
field_0x37d4 += field_0x37c8 - sp14;
|
||||
|
||||
if (mProcVar3.mDigChangeArea) {
|
||||
|
|
|
|||
|
|
@ -605,7 +605,7 @@ void daB_DS_c::mSmokeSet() {
|
|||
return;
|
||||
}
|
||||
|
||||
if (mAcch.i_ChkGroundHit()) {
|
||||
if (mAcch.ChkGroundHit()) {
|
||||
if (field_0x84d == 0 && mAcch.GetGroundH() != -1000000000.0f) {
|
||||
cXyz particle_scale(1.0f, 1.0f, 1.0f);
|
||||
cXyz particle_pos(current.pos);
|
||||
|
|
@ -3617,7 +3617,7 @@ void daB_DS_c::executeBattle2Damage() {
|
|||
// fallthrough
|
||||
case 2:
|
||||
mCameraCenter = current.pos;
|
||||
if (!mAcch.i_ChkGroundHit() && current.pos.y - 100.0f > chk_pos.y) {
|
||||
if (!mAcch.ChkGroundHit() && current.pos.y - 100.0f > chk_pos.y) {
|
||||
break;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -1066,7 +1066,7 @@ static int core_chance(b_ob_class* i_this) {
|
|||
}
|
||||
break;
|
||||
case 1:
|
||||
if (i_this->mAcch.i_ChkGroundHit()) {
|
||||
if (i_this->mAcch.ChkGroundHit()) {
|
||||
if (i_this->mTimers[0] == 0) {
|
||||
i_this->mMode = 2;
|
||||
} else {
|
||||
|
|
|
|||
|
|
@ -1214,7 +1214,7 @@ void daB_YO_c::executeOpening() {
|
|||
mActionTimer2 = 31;
|
||||
player->changeDemoMode(40, 0, 0, 0);
|
||||
}
|
||||
if (mAcch.i_ChkGroundHit()) {
|
||||
if (mAcch.ChkGroundHit()) {
|
||||
mRoomType = 1;
|
||||
mColorMode = 4;
|
||||
mColBlend = 0.0f;
|
||||
|
|
@ -2550,7 +2550,7 @@ void daB_YO_c::executeDeath() {
|
|||
case 6:
|
||||
mCamCenter.y = current.pos.y + 540.0f;
|
||||
cLib_chaseF(&speed.y, -100.0f, 10.0f);
|
||||
if (mAcch.i_ChkGroundHit()) {
|
||||
if (mAcch.ChkGroundHit()) {
|
||||
dComIfGp_getVibration().StartQuake(8, 0x1f, cXyz(0.0f, 1.0f, 0.0f));
|
||||
mQuakeTimer = 30;
|
||||
speed.y = 0.0f;
|
||||
|
|
|
|||
|
|
@ -2547,7 +2547,7 @@ void daB_ZANT_c::executeSimaJump() {
|
|||
cLib_addCalcAngleS(&shape_angle.y, fopAcM_searchPlayerAngleY(this), 8, 0x800, 0x80);
|
||||
|
||||
if (fopAcM_searchPlayerDistance(this) < 550.0f) {
|
||||
if (mAcch.i_ChkGroundHit()) {
|
||||
if (mAcch.ChkGroundHit()) {
|
||||
mMode = 11;
|
||||
return;
|
||||
}
|
||||
|
|
@ -2559,7 +2559,7 @@ void daB_ZANT_c::executeSimaJump() {
|
|||
}
|
||||
|
||||
if (mMode == 1) {
|
||||
if (mAcch.i_ChkGroundHit() && field_0x6ec == 0) {
|
||||
if (mAcch.ChkGroundHit() && field_0x6ec == 0) {
|
||||
setBck(ANM_JUMP_A, J3DFrameCtrl::LOOP_ONCE_e, 3.0f, 1.0f);
|
||||
mMode = 2;
|
||||
}
|
||||
|
|
@ -2582,7 +2582,7 @@ void daB_ZANT_c::executeSimaJump() {
|
|||
mpModelMorf->setPlaySpeed(0.0f);
|
||||
}
|
||||
|
||||
if (mAcch.i_ChkGroundHit()) {
|
||||
if (mAcch.ChkGroundHit()) {
|
||||
mSound.startCreatureSound(Z2SE_EN_ZAN_MG_LAND, 0, -1);
|
||||
mpModelMorf->setPlaySpeed(1.0f);
|
||||
mpModelMorf->setFrame(8.0f);
|
||||
|
|
@ -2594,7 +2594,7 @@ void daB_ZANT_c::executeSimaJump() {
|
|||
field_0x6ec = 5;
|
||||
}
|
||||
|
||||
if (mAcch.i_ChkGroundHit() && mModeTimer == 0) {
|
||||
if (mAcch.ChkGroundHit() && mModeTimer == 0) {
|
||||
mMode = 11;
|
||||
}
|
||||
break;
|
||||
|
|
@ -2765,7 +2765,7 @@ void daB_ZANT_c::executeIceJump() {
|
|||
mFoot2Cc[4].SetAtAtp(4);
|
||||
}
|
||||
} else {
|
||||
if (mAcch.i_ChkGroundHit()) {
|
||||
if (mAcch.ChkGroundHit()) {
|
||||
field_0x70e = 1;
|
||||
mSound.startCreatureSound(Z2SE_EN_ZAN_YO_LAND_HUGE, 0, -1);
|
||||
dComIfGp_getVibration().StartShock(8, 31, cXyz(0.0f, 1.0f, 0.0f));
|
||||
|
|
@ -3140,7 +3140,7 @@ void daB_ZANT_c::executeIceDamage() {
|
|||
}
|
||||
break;
|
||||
case 4:
|
||||
if (mAcch.i_ChkGroundHit()) {
|
||||
if (mAcch.ChkGroundHit()) {
|
||||
s16 sp8 = fopAcM_searchPlayerAngleY(this) + (4096.0f * cM_rndFX(4.9f)) + 32768.0f;
|
||||
|
||||
if (current.pos.absXZ() > 1200.0f) {
|
||||
|
|
@ -3457,7 +3457,7 @@ void daB_ZANT_c::executeMonkey() {
|
|||
case 6:
|
||||
cLib_addCalcAngleS2(&shape_angle.y, cLib_targetAngleY(¤t.pos, &field_0x6ac), 8, 0x800);
|
||||
|
||||
if (mModeTimer == 0 && mAcch.i_ChkGroundHit()) {
|
||||
if (mModeTimer == 0 && mAcch.ChkGroundHit()) {
|
||||
setBck(ANM_LV1_JUMP_A, J3DFrameCtrl::LOOP_ONCE_e, 3.0f, 1.0f);
|
||||
mMode = 8;
|
||||
}
|
||||
|
|
@ -3488,7 +3488,7 @@ void daB_ZANT_c::executeMonkey() {
|
|||
setBck(ANM_LB1_JUMP_B, J3DFrameCtrl::LOOP_ONCE_e, 3.0f, 1.0f);
|
||||
}
|
||||
|
||||
if (mAcch.i_ChkGroundHit()) {
|
||||
if (mAcch.ChkGroundHit()) {
|
||||
current.pos = field_0x6ac;
|
||||
field_0x707 = 1;
|
||||
field_0x70a = field_0x709;
|
||||
|
|
@ -3571,7 +3571,7 @@ void daB_ZANT_c::executeMonkeyFall() {
|
|||
}
|
||||
break;
|
||||
case 12:
|
||||
if (mAcch.i_ChkGroundHit()) {
|
||||
if (mAcch.ChkGroundHit()) {
|
||||
mSound.startCreatureSound(Z2SE_EN_ZAN_MK_UMARU, 0, -1);
|
||||
setMonkeyFallEffect();
|
||||
dComIfGp_getVibration().StartShock(3, 31, cXyz(0.0f, 1.0f, 0.0f));
|
||||
|
|
@ -3858,7 +3858,7 @@ void daB_ZANT_c::executeLastStartDemo() {
|
|||
sp1C.set(0.0f, 90.0f, -900.0f);
|
||||
cLib_addCalcPos(&mDemoCamCenter, sp1C, 0.2f, 5.0f, 1.0f);
|
||||
|
||||
if (mAcch.i_ChkGroundHit()) {
|
||||
if (mAcch.ChkGroundHit()) {
|
||||
speed.y = 0.0f;
|
||||
speedF = 0.0f;
|
||||
dComIfGp_getVibration().StartShock(4, 31, cXyz(0.0f, 1.0f, 0.0f));
|
||||
|
|
@ -4148,7 +4148,7 @@ void daB_ZANT_c::executeLastAttack() {
|
|||
}
|
||||
|
||||
if (field_0x70b != 0) {
|
||||
if (mAcch.i_ChkGroundHit()) {
|
||||
if (mAcch.ChkGroundHit()) {
|
||||
field_0x70b--;
|
||||
|
||||
if (field_0x70b != 0) {
|
||||
|
|
|
|||
|
|
@ -159,7 +159,7 @@ void daB_ZANTM_c::executeSmall() {
|
|||
Z2GetAudioMgr()->seStartLevel(Z2SE_EN_ZAN_FIRE, ¤t.pos, 0, 0, 1.0f, 1.0f, -1.0f, -1.0f, false);
|
||||
cLib_chaseF(&field_0x5e8, 1.0f, 0.1f);
|
||||
|
||||
if (mAliveTimer == 0 || mAcch.ChkWallHit() || mAcch.i_ChkGroundHit()) {
|
||||
if (mAliveTimer == 0 || mAcch.ChkWallHit() || mAcch.ChkGroundHit()) {
|
||||
speed.z = 0.0f;
|
||||
speed.y = 0.0f;
|
||||
speed.x = 0.0f;
|
||||
|
|
|
|||
|
|
@ -1195,7 +1195,7 @@ static void do_hang(do_class* i_this) {
|
|||
|
||||
if (i_this->mTimer[0] == 0) {
|
||||
i_this->mBgS_Acch.CrrPos(dComIfG_Bgsp());
|
||||
if (i_this->mBgS_Acch.i_ChkGroundHit()) {
|
||||
if (i_this->mBgS_Acch.ChkGroundHit()) {
|
||||
i_this->current.angle.x = 0;
|
||||
anm_init(i_this, ANM_DOWN, 2.0f, 0, 2.0f);
|
||||
i_this->mMode = 6;
|
||||
|
|
@ -1723,7 +1723,7 @@ static s8 do_boat(do_class* i_this) {
|
|||
break;
|
||||
|
||||
case 7:
|
||||
if (i_this->mBgS_Acch.i_ChkGroundHit()) {
|
||||
if (i_this->mBgS_Acch.ChkGroundHit()) {
|
||||
i_this->mAction = ACT_HELP;
|
||||
i_this->mMode = 0;
|
||||
_this->speedF = 0.0f;
|
||||
|
|
|
|||
|
|
@ -914,7 +914,7 @@ void daE_PM_c::DemoAfterEscape() {
|
|||
¤t.angle, &scale, 0xff, NULL,
|
||||
-1, NULL, NULL, NULL);
|
||||
mCamCenterTarget.y = current.pos.y + 50.0f;
|
||||
if (mAcch.i_ChkGroundHit()) {
|
||||
if (mAcch.ChkGroundHit()) {
|
||||
mCreatureSound.startCreatureSound(Z2SE_EN_PM_FN_L, 0, -1);
|
||||
mCreatureSound.startCreatureSound(Z2SE_EN_PM_FN_R, 0, -1);
|
||||
SetAnm(ANM_APPEAR02, J3DFrameCtrl::LOOP_ONCE_e, 5.0f, 1.0f);
|
||||
|
|
@ -1286,7 +1286,7 @@ void daE_PM_c::DemoBossStart2() {
|
|||
}
|
||||
mCamCenterTarget.y = current.pos.y + 100.0f;
|
||||
|
||||
if (mAcch.i_ChkGroundHit() && mAnm == ANM_APPEAR01) {
|
||||
if (mAcch.ChkGroundHit() && mAnm == ANM_APPEAR01) {
|
||||
SetAnm(ANM_APPEAR02, J3DFrameCtrl::LOOP_ONCE_e, 5.0f, 1.0f);
|
||||
mCreatureSound.startCreatureSound(Z2SE_EN_PM_FN_L, 0, -1);
|
||||
mCreatureSound.startCreatureSound(Z2SE_EN_PM_FN_R, 0, -1);
|
||||
|
|
@ -1503,7 +1503,7 @@ void daE_PM_c::DemoBossStart() {
|
|||
mDemoMode++;
|
||||
}
|
||||
|
||||
if (mAcch.i_ChkGroundHit() && mAnm == ANM_APPEAR01) {
|
||||
if (mAcch.ChkGroundHit() && mAnm == ANM_APPEAR01) {
|
||||
SetAnm(ANM_APPEAR02, J3DFrameCtrl::LOOP_ONCE_e, 5.0f, 1.0f);
|
||||
mCreatureSound.startCreatureSound(Z2SE_EN_PM_FN_L, 0, -1);
|
||||
mCreatureSound.startCreatureSound(Z2SE_EN_PM_FN_R, 0, -1);
|
||||
|
|
@ -1613,7 +1613,7 @@ void daE_PM_c::BossEscapeAction() {
|
|||
cLib_addCalcAngleS2(¤t.angle.y, mTargetAngleY, 0x10, 0x1000);
|
||||
shape_angle.y = current.angle.y;
|
||||
|
||||
if (mAcch.i_ChkGroundHit()) {
|
||||
if (mAcch.ChkGroundHit()) {
|
||||
SetAnm(ANM_APPEAR02, J3DFrameCtrl::LOOP_ONCE_e, 5.0f, 1.0f);
|
||||
mMode++;
|
||||
mCreatureSound.startCreatureSound(Z2SE_EN_PM_FN_L, 0, -1);
|
||||
|
|
@ -1754,7 +1754,7 @@ void daE_PM_c::BossDamageAction() {
|
|||
cLib_addCalcAngleS2(¤t.angle.y, mTargetAngleY, 0x10, 0x1000);
|
||||
shape_angle.y = current.angle.y;
|
||||
|
||||
if (mAcch.i_ChkGroundHit()) {
|
||||
if (mAcch.ChkGroundHit()) {
|
||||
SetAnm(ANM_APPEAR02, J3DFrameCtrl::LOOP_ONCE_e, 5.0f, 1.0f);
|
||||
mMode++;
|
||||
mCreatureSound.startCreatureSound(Z2SE_EN_PM_FN_L, 0, -1);
|
||||
|
|
@ -2103,7 +2103,7 @@ void daE_PM_c::StartAction() {
|
|||
break;
|
||||
|
||||
case 1:
|
||||
if (mTimer[0] == 0 && mAcch.i_ChkGroundHit()) {
|
||||
if (mTimer[0] == 0 && mAcch.ChkGroundHit()) {
|
||||
SetAnm(ANM_APPEAR02, J3DFrameCtrl::LOOP_ONCE_e, 5.0f, 1.0f);
|
||||
mCreatureSound.startCreatureSound(Z2SE_EN_PM_FN_L, 0, -1);
|
||||
mCreatureSound.startCreatureSound(Z2SE_EN_PM_FN_R, 0, -1);
|
||||
|
|
|
|||
|
|
@ -553,7 +553,7 @@ static void e_s1_roof(e_s1_class* i_this) {
|
|||
if (i_this->mTimers[0] == 0) {
|
||||
i_this->mDrawShadow = true;
|
||||
|
||||
if (i_this->mAcch.i_ChkGroundHit()) {
|
||||
if (i_this->mAcch.ChkGroundHit()) {
|
||||
anm_init(i_this, ANM_DOWN, 1.0f, J3DFrameCtrl::LOOP_ONCE_e, 1.0f);
|
||||
i_this->mMode = 4;
|
||||
i_this->mSound.startCreatureSound(Z2SE_EN_NS_DOSA, 0, -1);
|
||||
|
|
@ -1211,7 +1211,7 @@ static void e_s1_warpappear(e_s1_class* i_this) {
|
|||
break;
|
||||
}
|
||||
|
||||
if (!i_this->mAcch.i_ChkGroundHit()) {
|
||||
if (!i_this->mAcch.ChkGroundHit()) {
|
||||
break;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -2626,7 +2626,7 @@ void daE_VA_c::executeOpaciDamage() {
|
|||
}
|
||||
break;
|
||||
case 2:
|
||||
if (mAcch.i_ChkGroundHit() || speed.y <= nREG_F(4) + -30.0f) {
|
||||
if (mAcch.ChkGroundHit() || speed.y <= nREG_F(4) + -30.0f) {
|
||||
setActionMode(ACTION_OPACI_CHASE_e, 0);
|
||||
}
|
||||
break;
|
||||
|
|
@ -2697,7 +2697,7 @@ void daE_VA_c::executeOpaciChase() {
|
|||
field_0x1324 = 0;
|
||||
}
|
||||
|
||||
if (mAcch.i_ChkGroundHit()) {
|
||||
if (mAcch.ChkGroundHit()) {
|
||||
field_0x1324 = 2;
|
||||
gravity = -5.0f;
|
||||
}
|
||||
|
|
@ -3237,7 +3237,7 @@ void daE_VA_c::calcMagicMove() {
|
|||
mDoMtx_stack_c::multVecZero(&mMagicPos[i]);
|
||||
mMagicOldPos[i] = mMagicPos[i];
|
||||
|
||||
mMagicAcch[i].i_ClrGroundHit();
|
||||
mMagicAcch[i].ClrGroundHit();
|
||||
mMagicAcch[i].ClrWallHit();
|
||||
mMagicSphs[i].ClrAtHit();
|
||||
|
||||
|
|
@ -3258,7 +3258,7 @@ void daE_VA_c::calcMagicMove() {
|
|||
mMagicSphs[i].SetR(50.0f);
|
||||
dComIfG_Ccsp()->Set(&mMagicSphs[i]);
|
||||
|
||||
if (mMagicAcch[i].i_ChkGroundHit() || mMagicAcch[i].ChkWallHit() ||
|
||||
if (mMagicAcch[i].ChkGroundHit() || mMagicAcch[i].ChkWallHit() ||
|
||||
mMagicSphs[i].ChkAtHit())
|
||||
{
|
||||
Z2GetAudioMgr()->seStart(Z2SE_EN_VA_FIRE_BURST, &mMagicPos[i], 0, 0, 1.0f, 1.0f,
|
||||
|
|
|
|||
|
|
@ -2105,13 +2105,13 @@ void daHorse_c::setRoomInfo(int param_0) {
|
|||
|
||||
if (m_acch.ChkWaterHit() && m_acch.m_wtr.GetHeight() > current.pos.y) {
|
||||
m_poly_sound = dKy_pol_sound_get(&m_acch.m_wtr);
|
||||
} else if (m_acch.i_ChkGroundHit()) {
|
||||
} else if (m_acch.ChkGroundHit()) {
|
||||
m_poly_sound = dKy_pol_sound_get(&m_acch.m_gnd);
|
||||
} else {
|
||||
m_poly_sound = 0;
|
||||
}
|
||||
|
||||
if (m_acch.i_ChkGroundHit() && m_procID != PROC_LARGE_DAMAGE_e && m_procID != PROC_JUMP_e) {
|
||||
if (m_acch.ChkGroundHit() && m_procID != PROC_LARGE_DAMAGE_e && m_procID != PROC_JUMP_e) {
|
||||
savePos();
|
||||
}
|
||||
|
||||
|
|
@ -2278,7 +2278,7 @@ void daHorse_c::setEffect() {
|
|||
sp40 |= 0x20000;
|
||||
}
|
||||
|
||||
if (m_acch.i_ChkGroundHit()) {
|
||||
if (m_acch.ChkGroundHit()) {
|
||||
field_0x17dc.setEffectFour(&tevStr,
|
||||
¤t.pos,
|
||||
sp44,
|
||||
|
|
@ -2417,7 +2417,7 @@ void daHorse_c::setCollision() {
|
|||
void daHorse_c::autoGroundHit() {
|
||||
if (checkStateFlg0(FLG0_UNK_10) && m_procID != PROC_LARGE_DAMAGE_e && m_procID != PROC_JUMP_e) {
|
||||
f32 dist_to_ground = m_acch.GetGroundH() - current.pos.y;
|
||||
if (!m_acch.i_ChkGroundHit() && dist_to_ground < 0.0f && dist_to_ground >= -l_autoUpHeight) {
|
||||
if (!m_acch.ChkGroundHit() && dist_to_ground < 0.0f && dist_to_ground >= -l_autoUpHeight) {
|
||||
current.pos.y = m_acch.GetGroundH();
|
||||
m_acch.SetGroundHit();
|
||||
speed.y = 0.0f;
|
||||
|
|
@ -2741,7 +2741,7 @@ void daHorse_c::footBgCheck() {
|
|||
}
|
||||
}
|
||||
|
||||
if (!m_acch.i_ChkGroundHit() || m_procID == PROC_TOOL_DEMO_e) {
|
||||
if (!m_acch.ChkGroundHit() || m_procID == PROC_TOOL_DEMO_e) {
|
||||
sp24 = 4;
|
||||
} else {
|
||||
f32 var_f30 = 1000.0f + current.pos.y;
|
||||
|
|
@ -3632,7 +3632,7 @@ int daHorse_c::procMove() {
|
|||
speedF = daHorse_hio_c0::m.fastwalk_to_run_rate * m_normalMaxSpeedF;
|
||||
}
|
||||
|
||||
if (checkStateFlg0(daHorse_FLG0(FLG0_UNK_200000 | FLG0_UNK_100000)) && !m_acch.i_ChkGroundHit()) {
|
||||
if (checkStateFlg0(daHorse_FLG0(FLG0_UNK_200000 | FLG0_UNK_100000)) && !m_acch.ChkGroundHit()) {
|
||||
field_0x1768 = 350.0f;
|
||||
field_0x176c = 0.0f;
|
||||
field_0x1770 = field_0x1768;
|
||||
|
|
@ -4068,7 +4068,7 @@ int daHorse_c::procJump() {
|
|||
field_0x1722--;
|
||||
}
|
||||
|
||||
if ((field_0x171c != 0) && ((speed.y < 0.0f && field_0x17d0.abs2XZ(current.pos) > field_0x1778) || field_0x1722 == 0) && m_acch.i_ChkGroundHit()) {
|
||||
if ((field_0x171c != 0) && ((speed.y < 0.0f && field_0x17d0.abs2XZ(current.pos) > field_0x1778) || field_0x1722 == 0) && m_acch.ChkGroundHit()) {
|
||||
return procLandInit(field_0x1774, field_0x1720);
|
||||
}
|
||||
|
||||
|
|
@ -4289,7 +4289,7 @@ int daHorse_c::execute() {
|
|||
onStateFlg0(FLG0_UNK_200000);
|
||||
}
|
||||
|
||||
if (m_acch.i_ChkGroundHit()) {
|
||||
if (m_acch.ChkGroundHit()) {
|
||||
onStateFlg0(FLG0_UNK_10);
|
||||
} else {
|
||||
offStateFlg0(FLG0_UNK_10);
|
||||
|
|
@ -4390,7 +4390,7 @@ int daHorse_c::execute() {
|
|||
speed.y = old_speed_y;
|
||||
}
|
||||
|
||||
if (checkStateFlg0(FLG0_UNK_1) && m_acch.i_ChkGroundHit() && checkStateFlg0(FLG0_UNK_2)) {
|
||||
if (checkStateFlg0(FLG0_UNK_1) && m_acch.ChkGroundHit() && checkStateFlg0(FLG0_UNK_2)) {
|
||||
if (!checkStateFlg0(FLG0_UNK_1000)) {
|
||||
dComIfGp_getVibration().StartQuake(VIBMODE_S_DOKUTT, 1, cXyz(0.0f, 1.0f, 0.0f));
|
||||
onStateFlg0(FLG0_UNK_1000);
|
||||
|
|
|
|||
|
|
@ -937,7 +937,7 @@ BOOL daNbomb_c::procWait() {
|
|||
|
||||
f32 prev_speedf = speedF;
|
||||
|
||||
if (mAcch.i_ChkGroundHit() && !mAcch.ChkGroundLanding()) {
|
||||
if (mAcch.ChkGroundHit() && !mAcch.ChkGroundLanding()) {
|
||||
s16 var_r28 = fopAcM_getPolygonAngle(mAcch.m_gnd, current.angle.y);
|
||||
|
||||
speed.y -= speedF * fabsf(cM_ssin(var_r28));
|
||||
|
|
@ -1009,12 +1009,12 @@ BOOL daNbomb_c::procWait() {
|
|||
setRoomInfo();
|
||||
|
||||
if (checkStateFlg0(FLG0_INSECT_BOMB) &&
|
||||
(mAcch.i_ChkGroundHit() || mAcch.ChkWallHit() || mAcch.ChkRoofHit()))
|
||||
(mAcch.ChkGroundHit() || mAcch.ChkWallHit() || mAcch.ChkRoofHit()))
|
||||
{
|
||||
return procExplodeInit();
|
||||
}
|
||||
|
||||
if (mAcch.i_ChkGroundHit()) {
|
||||
if (mAcch.ChkGroundHit()) {
|
||||
cM3dGPla plane;
|
||||
dComIfG_Bgsp().GetTriPla(mAcch.m_gnd, &plane);
|
||||
|
||||
|
|
@ -1047,7 +1047,7 @@ BOOL daNbomb_c::procWait() {
|
|||
speedF *= player->getBombBoundRate();
|
||||
current.angle.y = (var_r27 * 2) - (current.angle.y + 0x8000);
|
||||
mAcch.ClrGroundLanding();
|
||||
mAcch.i_ClrGroundHit();
|
||||
mAcch.ClrGroundHit();
|
||||
speed.y = prev_speedY;
|
||||
}
|
||||
}
|
||||
|
|
@ -1083,7 +1083,7 @@ BOOL daNbomb_c::procWait() {
|
|||
}
|
||||
|
||||
fopAcM_seStartCurrent(this, Z2SE_OBJ_BOMB_BOUND, 0);
|
||||
} else if (mAcch.i_ChkGroundHit()) {
|
||||
} else if (mAcch.ChkGroundHit()) {
|
||||
cM3dGPla plane;
|
||||
dComIfG_Bgsp().GetTriPla(mAcch.m_gnd, &plane);
|
||||
|
||||
|
|
@ -1275,7 +1275,7 @@ BOOL daNbomb_c::procInsectMove() {
|
|||
speed.y = field_0xbfc.y;
|
||||
speedF = field_0xbfc.absXZ();
|
||||
current.angle.y = field_0xbfc.atan2sX_Z();
|
||||
mAcch.i_ClrGroundHit();
|
||||
mAcch.ClrGroundHit();
|
||||
mAcch.ClrWallHit();
|
||||
mAcch.ClrRoofHit();
|
||||
mAcch.ClrRoofNone();
|
||||
|
|
@ -1450,7 +1450,7 @@ int daNbomb_c::execute() {
|
|||
}
|
||||
|
||||
if ((mAcch.ChkWallHit() && daAlink_c::checkIcePolygonDamage(&mAcchCir)) ||
|
||||
(mAcch.i_ChkGroundHit() && daAlink_c::checkIcePolygonDamage(&mAcch.m_gnd)) ||
|
||||
(mAcch.ChkGroundHit() && daAlink_c::checkIcePolygonDamage(&mAcch.m_gnd)) ||
|
||||
(mAcch.ChkRoofHit() && daAlink_c::checkIcePolygonDamage(&mAcch.m_roof)))
|
||||
{
|
||||
setFreeze();
|
||||
|
|
@ -1547,7 +1547,7 @@ int daNbomb_c::execute() {
|
|||
var_f27 = speedF;
|
||||
temp_r3 = current.angle.y;
|
||||
|
||||
if (mAcch.i_ChkGroundHit()) {
|
||||
if (mAcch.ChkGroundHit()) {
|
||||
var_r27 = 0;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -752,7 +752,7 @@ static void ni_away(ni_class* i_this) {
|
|||
if (a_this->mDistToPlayer > l_HIO.mRecognizeRange + 50.0f) {
|
||||
a_this->mAction = ACTION_NORMAL_e;
|
||||
a_this->mMode = 0;
|
||||
} else if (a_this->mAcch.i_ChkGroundHit() &&
|
||||
} else if (a_this->mAcch.ChkGroundHit() &&
|
||||
(target != NULL || a_this->mDistToPlayer < l_HIO.mRecognizeRange - 100.0f))
|
||||
{
|
||||
anm_init(a_this, BCK_FLY, 1.0f, J3DFrameCtrl::LOOP_REPEAT_e, 1.0f);
|
||||
|
|
@ -780,7 +780,7 @@ static void ni_away(ni_class* i_this) {
|
|||
if (i_this->speed.y <= 0.0f) {
|
||||
i_this->gravity = l_HIO.mFleeJumpGravity;
|
||||
|
||||
if (a_this->mAcch.i_ChkGroundHit() || a_this->field_0x848 != 0) {
|
||||
if (a_this->mAcch.ChkGroundHit() || a_this->field_0x848 != 0) {
|
||||
a_this->mMode = 0;
|
||||
}
|
||||
}
|
||||
|
|
@ -951,7 +951,7 @@ static void ni_fly(ni_class* i_this) {
|
|||
if (i_this->checkGold() && i_this->mTimers[0] == 0) {
|
||||
i_this->mAction = ACTION_RETURN_e;
|
||||
i_this->mMode = 0;
|
||||
} else if (i_this->mAcch.i_ChkGroundHit() || i_this->mAcch.ChkWallHit() ||
|
||||
} else if (i_this->mAcch.ChkGroundHit() || i_this->mAcch.ChkWallHit() ||
|
||||
i_this->field_0x848 != 0)
|
||||
{
|
||||
i_this->mAction = ACTION_DAMAGE_e;
|
||||
|
|
@ -974,7 +974,7 @@ static void ni_drop(ni_class* i_this) {
|
|||
}
|
||||
|
||||
i_this->gravity = l_HIO.mFleeJumpGravity;
|
||||
if (i_this->mAcch.i_ChkGroundHit() || i_this->field_0x848 != 0) {
|
||||
if (i_this->mAcch.ChkGroundHit() || i_this->field_0x848 != 0) {
|
||||
i_this->mAction = ACTION_NORMAL_e;
|
||||
i_this->mMode = 0;
|
||||
}
|
||||
|
|
@ -1337,7 +1337,7 @@ static int ni_play(ni_class* i_this) {
|
|||
i_this->gravity = -2.0f;
|
||||
}
|
||||
|
||||
if (i_this->mAcch.i_ChkGroundHit() || i_this->field_0x848) {
|
||||
if (i_this->mAcch.ChkGroundHit() || i_this->field_0x848) {
|
||||
i_this->mMode = 0;
|
||||
i_this->field_0xaf0 = 0.0f;
|
||||
}
|
||||
|
|
@ -1916,7 +1916,7 @@ static void action(ni_class* i_this) {
|
|||
}
|
||||
|
||||
i_this->mAcch.CrrPos(dComIfG_Bgsp());
|
||||
if (i_this->mAcch.i_ChkGroundHit()) {
|
||||
if (i_this->mAcch.ChkGroundHit()) {
|
||||
a_this->home.pos.y = a_this->current.pos.y;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1631,7 +1631,7 @@ static BOOL npc_ne_home(npc_ne_class* i_this) {
|
|||
case 4:
|
||||
i_this->current.angle.x = 0x3000;
|
||||
target_speed = l_HIO.mRunSpeed;
|
||||
if (i_this->mTimers[1] == 0 && i_this->mAcch.i_ChkGroundHit()) {
|
||||
if (i_this->mTimers[1] == 0 && i_this->mAcch.ChkGroundHit()) {
|
||||
i_this->mMode = 1;
|
||||
anm_init(i_this, npc_ne_class::ANM_RUN, 2.0f, 2, 1.5f);
|
||||
}
|
||||
|
|
@ -2114,7 +2114,7 @@ static void npc_ne_drop(npc_ne_class* i_this) {
|
|||
|
||||
case 1:
|
||||
i_this->current.angle.x = 0x3000;
|
||||
if (i_this->mAcch.i_ChkGroundHit()) {
|
||||
if (i_this->mAcch.ChkGroundHit()) {
|
||||
i_this->shape_angle.x = 0;
|
||||
i_this->current.angle.x = 0;
|
||||
i_this->mpMorf->setPlaySpeed(2.0f);
|
||||
|
|
@ -2167,7 +2167,7 @@ static void npc_ne_s_drop(npc_ne_class* i_this) {
|
|||
} else {
|
||||
max_speed_step = target_speed = 2.0f;
|
||||
}
|
||||
if (i_this->mTimers[0] == 0 && i_this->mAcch.i_ChkGroundHit()) {
|
||||
if (i_this->mTimers[0] == 0 && i_this->mAcch.ChkGroundHit()) {
|
||||
anm_init(i_this, npc_ne_class::ANM_JUMP_END, 3.0f, 0, 1.0f);
|
||||
i_this->mpMorf->setFrame(4.0f);
|
||||
i_this->mMode++;
|
||||
|
|
|
|||
|
|
@ -183,7 +183,7 @@ void daObjLv5Key_c::Fall(int param_0) {
|
|||
|
||||
OS_REPORT("FALL SPD = %f\n", speed.y);
|
||||
|
||||
if (mAcch.i_ChkGroundHit()) {
|
||||
if (mAcch.ChkGroundHit()) {
|
||||
fopAcM_GetSpeed(this);
|
||||
fopAcM_SetSpeedF(this, 4.0f);
|
||||
fopAcM_SetSpeed(this, 0.0f, 22.0f, 0.0f);
|
||||
|
|
@ -204,7 +204,7 @@ void daObjLv5Key_c::Fall(int param_0) {
|
|||
mAcch.CrrPos(dComIfG_Bgsp());
|
||||
current.pos.y = prev_y;
|
||||
|
||||
if (mAcch.i_ChkGroundHit()) {
|
||||
if (mAcch.ChkGroundHit()) {
|
||||
setAction(&Land, 1);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -5,6 +5,7 @@
|
|||
|
||||
#include "d/actor/d_a_obj_bk_leaf.h"
|
||||
#include "d/actor/d_a_obj_carry.h"
|
||||
#include "d/d_com_inf_game.h"
|
||||
|
||||
/* 80BB60D8-80BB60F8 000078 0020+00 1/1 0/0 0/0 .text CheckCreateHeap__FP10fopAc_ac_c */
|
||||
static int CheckCreateHeap(fopAc_ac_c* i_this) {
|
||||
|
|
|
|||
File diff suppressed because it is too large
Load Diff
|
|
@ -179,7 +179,7 @@ void daObjDAN_c::DamageAction() {
|
|||
break;
|
||||
|
||||
case 1:
|
||||
if (mAcch.i_ChkGroundHit()) {
|
||||
if (mAcch.ChkGroundHit()) {
|
||||
speed.y *= -0.5f;
|
||||
mAcch.ClrGroundLanding();
|
||||
mBounceCount++;
|
||||
|
|
|
|||
|
|
@ -244,7 +244,7 @@ void daItem_c::CreateInit() {
|
|||
speed = old_speed;
|
||||
|
||||
mAcch.ClrGroundLanding();
|
||||
mAcch.i_ClrGroundHit();
|
||||
mAcch.ClrGroundHit();
|
||||
mAcch.ClrWaterHit();
|
||||
mAcch.ClrWaterIn();
|
||||
mAcch.ClrWallHit();
|
||||
|
|
@ -726,7 +726,7 @@ void daItem_c::move_proc_call() {
|
|||
}
|
||||
|
||||
bool update_pos = true;
|
||||
if (mAcch.i_ChkGroundHit() && !mAcch.ChkGroundLanding() && !mAcch.ChkWallHit() &&
|
||||
if (mAcch.ChkGroundHit() && !mAcch.ChkGroundLanding() && !mAcch.ChkWallHit() &&
|
||||
!dComIfG_Bgsp().ChkMoveBG_NoDABg(mAcch.m_gnd) && !mCcCyl.ChkCoHit() &&
|
||||
mLastPos == current.pos)
|
||||
{
|
||||
|
|
@ -1040,7 +1040,7 @@ int daItem_c::itemActionForHeart() {
|
|||
|
||||
mAcch.CrrPos(dComIfG_Bgsp());
|
||||
|
||||
if (mAcch.ChkGroundLanding() || mAcch.i_ChkGroundHit()) {
|
||||
if (mAcch.ChkGroundLanding() || mAcch.ChkGroundHit()) {
|
||||
clrFlag(FLAG_UNK_2_e);
|
||||
shape_angle.z = 0;
|
||||
fopAcM_SetSpeed(this, 0.0f, -1.0f, 0.0f);
|
||||
|
|
@ -1059,7 +1059,7 @@ int daItem_c::itemActionForArrow() {
|
|||
mAcch.CrrPos(dComIfG_Bgsp());
|
||||
bg_check();
|
||||
|
||||
if (mAcch.i_ChkGroundHit() && !mAcch.ChkGroundLanding()) {
|
||||
if (mAcch.ChkGroundHit() && !mAcch.ChkGroundLanding()) {
|
||||
fopAcM_SetSpeedF(this, 0.0f);
|
||||
RotateYBase();
|
||||
}
|
||||
|
|
|
|||
|
|
@ -212,7 +212,7 @@ void daObjLife_c::bg_check() {
|
|||
fopAcM_seStart(this, Z2SE_OBJ_KEY_BOUND, fabsf(mPrevSpeed.y) * 2.0f);
|
||||
}
|
||||
|
||||
if (mGndLandCount >= 2 || (!mAcch.ChkGroundLanding() && mAcch.i_ChkGroundHit())) {
|
||||
if (mGndLandCount >= 2 || (!mAcch.ChkGroundLanding() && mAcch.ChkGroundHit())) {
|
||||
endEffect02();
|
||||
}
|
||||
}
|
||||
|
|
@ -252,7 +252,7 @@ int daObjLife_c::actionWait() {
|
|||
fopAcM_posMoveF(this, mCcStts.GetCCMoveP());
|
||||
mAcch.CrrPos(dComIfG_Bgsp());
|
||||
|
||||
if (mAcch.ChkGroundLanding() || mAcch.i_ChkGroundHit()) {
|
||||
if (mAcch.ChkGroundLanding() || mAcch.ChkGroundHit()) {
|
||||
fopAcM_SetSpeed(this, 0.0f, -1.0f, 0.0f);
|
||||
fopAcM_SetSpeedF(this, 0.0f);
|
||||
} else if (speed.y < 0.0f) {
|
||||
|
|
@ -270,7 +270,7 @@ int daObjLife_c::actionWait() {
|
|||
mAcch.CrrPos(dComIfG_Bgsp());
|
||||
bg_check();
|
||||
|
||||
if (mAcch.i_ChkGroundHit()) {
|
||||
if (mAcch.ChkGroundHit()) {
|
||||
speedF *= 0.9f;
|
||||
if (speedF < 1.0f) {
|
||||
speedF = 0.0f;
|
||||
|
|
|
|||
|
|
@ -1117,7 +1117,7 @@ int daObjMovebox::Act_c::Execute(Mtx** param_0) {
|
|||
if (mCcCyl.ChkTgHit() && hit_obj != NULL) {
|
||||
if (!hit_obj->ChkAtType(AT_TYPE_LANTERN_SWING) && hit_obj->GetAtMtrl() == dCcD_MTRL_FIRE) {
|
||||
u32 params;
|
||||
daObjBurnBox_c::make_prm_burnbox(¶ms, 1);
|
||||
daObjBurnBox_c::make_prm_burnBox(¶ms, 1);
|
||||
|
||||
fopAcM_createChild(PROC_Obj_BurnBox, fopAcM_GetID(this), params, ¤t.pos,
|
||||
fopAcM_GetRoomNo(this), &shape_angle, &scale, -1, NULL);
|
||||
|
|
|
|||
|
|
@ -98,7 +98,7 @@ int daObj_SSItem_c::Execute() {
|
|||
setParam();
|
||||
if (field_0xAFC != 0) {
|
||||
mAcch.ClrWallHit();
|
||||
mAcch.i_ClrGroundHit();
|
||||
mAcch.ClrGroundHit();
|
||||
speedF = 0.0f;
|
||||
speed.set(0.0f, 0.0f, 0.0f);
|
||||
} else {
|
||||
|
|
|
|||
|
|
@ -6,6 +6,7 @@
|
|||
#include "d/actor/d_a_obj_swBallA.h"
|
||||
#include "d/actor/d_a_player.h"
|
||||
#include "d/actor/d_a_obj_carry.h"
|
||||
#include "d/d_com_inf_game.h"
|
||||
#include "JSystem/J3DGraphBase/J3DMaterial.h"
|
||||
#include "dol2asm.h"
|
||||
#include "d/d_lib.h"
|
||||
|
|
|
|||
|
|
@ -6,6 +6,7 @@
|
|||
#include "d/actor/d_a_obj_swBallB.h"
|
||||
#include "d/actor/d_a_player.h"
|
||||
#include "d/actor/d_a_obj_carry.h"
|
||||
#include "d/d_com_inf_game.h"
|
||||
#include "JSystem/J3DGraphBase/J3DMaterial.h"
|
||||
#include "dol2asm.h"
|
||||
#include "d/d_lib.h"
|
||||
|
|
|
|||
|
|
@ -6,6 +6,7 @@
|
|||
#include "d/actor/d_a_obj_swBallB.h"
|
||||
#include "d/actor/d_a_obj_carry.h"
|
||||
#include "JSystem/J3DGraphBase/J3DMaterial.h"
|
||||
#include "d/d_com_inf_game.h"
|
||||
#include "d/d_meter2_info.h"
|
||||
#include "d/d_item.h"
|
||||
#include "d/actor/d_a_player.h"
|
||||
|
|
|
|||
|
|
@ -141,7 +141,7 @@ int daObj_YBag_c::Execute() {
|
|||
gravity = daObj_YBag_Param_c::m[1];
|
||||
if (local_8c != 0) {
|
||||
mAcch.ClrWallHit();
|
||||
mAcch.i_ClrGroundHit();
|
||||
mAcch.ClrGroundHit();
|
||||
mAcch.SetWallNone();
|
||||
mAcch.SetGrndNone();
|
||||
speed.setall(0.0f);
|
||||
|
|
@ -191,7 +191,7 @@ int daObj_YBag_c::Execute() {
|
|||
current.pos.y + daObj_YBag_Param_c::m[10])
|
||||
{
|
||||
field_0x9dc.y = 0x100;
|
||||
mAcch.i_ClrGroundHit();
|
||||
mAcch.ClrGroundHit();
|
||||
field_0xa31 = 1;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -272,7 +272,7 @@ static void sq_fly(sq_class* i_this) {
|
|||
}
|
||||
|
||||
cLib_addCalc2(&i_this->speedF, l_HIO.mFallSpeedXZ, 1.0f, 10.0f);
|
||||
if (i_this->mAcch.i_ChkGroundHit()) {
|
||||
if (i_this->mAcch.ChkGroundHit()) {
|
||||
i_this->mAction = sq_class::ACT_NORMAL;
|
||||
i_this->mMode = -1;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -7,6 +7,7 @@
|
|||
#include "SSystem/SComponent/c_phase.h"
|
||||
#include "d/actor/d_a_obj_carry.h"
|
||||
#include "d/actor/d_a_player.h"
|
||||
#include "d/d_com_inf_game.h"
|
||||
#include "d/d_lib.h"
|
||||
#include "f_op/f_op_actor_mng.h"
|
||||
|
||||
|
|
|
|||
|
|
@ -1831,7 +1831,7 @@ void daTbox_c::mode_exec() {
|
|||
if (field_0x97c) {
|
||||
mAcch.CrrPos(dComIfG_Bgsp());
|
||||
} else {
|
||||
mAcch.i_ClrGroundHit();
|
||||
mAcch.ClrGroundHit();
|
||||
}
|
||||
|
||||
attention_info.position = current.pos;
|
||||
|
|
|
|||
|
|
@ -103,11 +103,12 @@ void dBgS_Acch::Set(cXyz* i_pos, cXyz* i_old_pos, fopAc_ac_c* i_actor, int i_tbl
|
|||
pm_pos = i_pos;
|
||||
pm_old_pos = i_old_pos;
|
||||
|
||||
JUT_ASSERT(pm_pos != 0);
|
||||
JUT_ASSERT(pm_old_pos != 0);
|
||||
JUT_ASSERT(246, pm_pos != 0);
|
||||
JUT_ASSERT(247, pm_old_pos != 0);
|
||||
|
||||
m_my_ac = i_actor;
|
||||
SetActorPid(fopAcM_GetID(i_actor));
|
||||
fpc_ProcID id = fopAcM_GetID(i_actor);
|
||||
SetActorPid(id);
|
||||
pm_speed = i_speed;
|
||||
m_tbl_size = i_tbl_size;
|
||||
pm_acch_cir = i_acchcir;
|
||||
|
|
@ -134,10 +135,12 @@ void dBgS_Acch::Set(fopAc_ac_c* i_actor, int i_tbl_size, dBgS_AcchCir* i_acchcir
|
|||
*/
|
||||
void dBgS_Acch::GroundCheckInit(dBgS& i_bgs) {
|
||||
if (!(m_flags & 2)) {
|
||||
i_bgs; // necessary to match
|
||||
|
||||
m_ground_h = -1000000000.0f;
|
||||
m_gnd.SetExtChk(*this);
|
||||
field_0xb4 = ChkGroundHit();
|
||||
i_ClrGroundHit();
|
||||
ClrGroundHit();
|
||||
ClrGroundLanding();
|
||||
ClrGroundAway();
|
||||
}
|
||||
|
|
@ -153,7 +156,7 @@ void dBgS_Acch::GroundCheck(dBgS& i_bgs) {
|
|||
if (!ChkGndThinCellingOff()) {
|
||||
static dBgS_RoofChk tmpRoofChk;
|
||||
tmpRoofChk.SetActorPid(m_gnd.GetActorPid());
|
||||
tmpRoofChk.i_SetPos(*pm_pos);
|
||||
tmpRoofChk.SetPos(*pm_pos);
|
||||
|
||||
f32 roof_chk = i_bgs.RoofChk(&tmpRoofChk);
|
||||
if (grnd_pos.y > roof_chk) {
|
||||
|
|
@ -189,7 +192,7 @@ void dBgS_Acch::GroundCheck(dBgS& i_bgs) {
|
|||
}
|
||||
}
|
||||
|
||||
if (field_0xb4 && !i_ChkGroundHit()) {
|
||||
if (field_0xb4 && !ChkGroundHit()) {
|
||||
SetGroundAway();
|
||||
}
|
||||
}
|
||||
|
|
@ -207,7 +210,7 @@ void dBgS_Acch::GroundRoofProc(dBgS& i_bgs) {
|
|||
m_roof.SetExtChk(*this);
|
||||
ClrRoofHit();
|
||||
cXyz roof_pos(*pm_pos);
|
||||
m_roof.i_SetPos(roof_pos);
|
||||
m_roof.SetPos(roof_pos);
|
||||
m_roof_height = i_bgs.RoofChk(&m_roof);
|
||||
}
|
||||
}
|
||||
|
|
@ -217,7 +220,7 @@ void dBgS_Acch::GroundRoofProc(dBgS& i_bgs) {
|
|||
void dBgS_Acch::LineCheck(dBgS& i_bgs) {
|
||||
dBgS_RoofChk roof_chk;
|
||||
roof_chk.SetActorPid(m_gnd.GetActorPid());
|
||||
roof_chk.i_SetPos(*GetOldPos());
|
||||
roof_chk.SetPos(*GetOldPos());
|
||||
|
||||
f32 temp_f31 = dComIfG_Bgsp().RoofChk(&roof_chk);
|
||||
|
||||
|
|
@ -230,12 +233,11 @@ void dBgS_Acch::LineCheck(dBgS& i_bgs) {
|
|||
cXyz old_pos;
|
||||
cXyz pos;
|
||||
|
||||
old_pos = *pm_old_pos;
|
||||
pos = *pm_pos;
|
||||
old_pos = *GetOldPos();
|
||||
pos = *GetPos();
|
||||
|
||||
f32 temp_f0 = GetWallH(i);
|
||||
f32 var_f2 = temp_f0;
|
||||
if (temp_f31 < old_pos.y + temp_f0) {
|
||||
f32 var_f2 = GetWallH(i);
|
||||
if (temp_f31 < old_pos.y + var_f2) {
|
||||
if (var_r29) {
|
||||
continue;
|
||||
} else {
|
||||
|
|
@ -272,14 +274,13 @@ void dBgS_Acch::LineCheck(dBgS& i_bgs) {
|
|||
cM3dGPla plane;
|
||||
i_bgs.GetTriPla(lin_chk, &plane);
|
||||
if (!cBgW_CheckBGround(plane.mNormal.y)) {
|
||||
VECAdd(GetPos(), &plane.mNormal, GetPos());
|
||||
if (!cM3d_IsZero(JMAFastSqrt(plane.mNormal.x * plane.mNormal.x +
|
||||
plane.mNormal.z * plane.mNormal.z)))
|
||||
{
|
||||
PSVECAdd(GetPos(), &plane.mNormal, GetPos());
|
||||
f32 var_f28 = JMAFastSqrt(plane.mNormal.x * plane.mNormal.x + plane.mNormal.z * plane.mNormal.z);
|
||||
if (!cM3d_IsZero(var_f28)) {
|
||||
pm_acch_cir[i].SetWallHDirect(GetPos()->y);
|
||||
}
|
||||
|
||||
GetPos()->y -= pm_acch_cir[i].GetWallH();
|
||||
GetPos()->y -= GetWallH(i);
|
||||
} else {
|
||||
GetPos()->y -= 1.0f;
|
||||
GroundCheck(i_bgs);
|
||||
|
|
@ -322,17 +323,17 @@ void dBgS_Acch::LineCheck(dBgS& i_bgs) {
|
|||
void dBgS_Acch::CrrPos(dBgS& i_bgs) {
|
||||
bool bvar9;
|
||||
if (!(m_flags & 1)) {
|
||||
JUT_ASSERT(pm_pos != 0);
|
||||
JUT_ASSERT(pm_old_pos != 0);
|
||||
JUT_ASSERT(792, pm_pos != 0);
|
||||
JUT_ASSERT(793, pm_old_pos != 0);
|
||||
|
||||
JUT_ASSERT(fpclassify(pm_pos->x) == 1);
|
||||
JUT_ASSERT(fpclassify(pm_pos->y) == 1);
|
||||
JUT_ASSERT(fpclassify(pm_pos->z) == 1);
|
||||
JUT_ASSERT(833, fpclassify(pm_pos->x) == 1);
|
||||
JUT_ASSERT(834, fpclassify(pm_pos->y) == 1);
|
||||
JUT_ASSERT(835, fpclassify(pm_pos->z) == 1);
|
||||
|
||||
JUT_ASSERT(-1.0e32f < pm_pos->x && pm_pos->x < 1.0e32f);
|
||||
JUT_ASSERT(-1.0e32f < pm_pos->y);
|
||||
JUT_ASSERT(pm_pos->y < 1.0e32f);
|
||||
JUT_ASSERT(-1.0e32f < pm_pos->z && pm_pos->z < 1.0e32f);
|
||||
JUT_ASSERT(837, -1.0e32f < pm_pos->x && pm_pos->x < 1.0e32f);
|
||||
JUT_ASSERT(838, -1.0e32f < pm_pos->y);
|
||||
JUT_ASSERT(839, pm_pos->y < 1.0e32f);
|
||||
JUT_ASSERT(840, -1.0e32f < pm_pos->z && pm_pos->z < 1.0e32f);
|
||||
|
||||
i_bgs.MoveBgCrrPos(m_gnd, ChkGroundHit(), pm_pos, pm_angle, pm_shape_angle, false, false);
|
||||
|
||||
|
|
@ -398,7 +399,7 @@ void dBgS_Acch::CrrPos(dBgS& i_bgs) {
|
|||
roof_pos.y = pm_pos->y;
|
||||
roof_pos.z = pm_pos->z;
|
||||
|
||||
m_roof.i_SetPos(roof_pos);
|
||||
m_roof.SetPos(roof_pos);
|
||||
m_roof_height = i_bgs.RoofChk(&m_roof);
|
||||
|
||||
if (m_roof_height != 1000000000.0f) {
|
||||
|
|
@ -441,7 +442,7 @@ void dBgS_Acch::CrrPos(dBgS& i_bgs) {
|
|||
} else {
|
||||
dBgS_RoofChk roof_chk;
|
||||
roof_chk.SetUnderwaterRoof();
|
||||
roof_chk.i_SetPos(*pm_pos);
|
||||
roof_chk.SetPos(*pm_pos);
|
||||
|
||||
var_f30 = i_bgs.RoofChk(&roof_chk);
|
||||
if (var_f30 == 1000000000.0f) {
|
||||
|
|
|
|||
|
|
@ -3059,7 +3059,7 @@ f32 dCamera_c::getWaterSurfaceHeight(cXyz* param_0) {
|
|||
cXyz spF8(*param_0);
|
||||
dBgS_RoofChk roofchk;
|
||||
roofchk.SetUnderwaterRoof();
|
||||
roofchk.i_SetPos(spF8);
|
||||
roofchk.SetPos(spF8);
|
||||
|
||||
f32 roof_y = dComIfG_Bgsp().RoofChk(&roofchk);
|
||||
if (spF8.y < roof_y) {
|
||||
|
|
|
|||
|
|
@ -0,0 +1,156 @@
|
|||
#include "d/d_debug_viewer.h"
|
||||
#include "d/d_com_inf_game.h"
|
||||
#include "f_ap/f_ap_game.h"
|
||||
#include "JSystem/J3DGraphBase/J3DDrawBuffer.h"
|
||||
#include "JSystem/JUtility/JUTDbPrint.h"
|
||||
#include "JSystem/JUtility/JUTReport.h"
|
||||
|
||||
class dDebugPad_c {
|
||||
public:
|
||||
bool Active();
|
||||
};
|
||||
|
||||
extern dDebugPad_c dDebugPad;
|
||||
|
||||
J3DPacket* l_drawPacketList[1000];
|
||||
int l_drawPacketListNum;
|
||||
|
||||
J3DPacket* dDbVw_setDrawPacketList(J3DPacket* i_packet, int i_bufferType) {
|
||||
if (i_packet == NULL) {
|
||||
return NULL;
|
||||
}
|
||||
|
||||
if (l_drawPacketListNum >= 1000) {
|
||||
delete (void*)i_packet;
|
||||
return NULL;
|
||||
}
|
||||
|
||||
l_drawPacketList[l_drawPacketListNum++] = i_packet;
|
||||
j3dSys.getDrawBuffer(i_bufferType)->entryImm(i_packet, 0);
|
||||
return i_packet;
|
||||
}
|
||||
|
||||
void dDbVw_deleteDrawPacketList() {
|
||||
for (int i = 0; i < l_drawPacketListNum; i++) {
|
||||
delete (void*)l_drawPacketList[i];
|
||||
}
|
||||
|
||||
l_drawPacketListNum = 0;
|
||||
}
|
||||
|
||||
void dDbVw_drawCube8p(int i_bufferType, cXyz* i_points, const GXColor& i_color) {
|
||||
mDoExt_cube8pPacket* packet = new mDoExt_cube8pPacket(i_points, i_color);
|
||||
dDbVw_setDrawPacketList(packet, i_bufferType);
|
||||
}
|
||||
|
||||
void dDbVw_drawCube(int i_bufferType, cXyz& i_pos, cXyz& i_size, csXyz& i_angle, const GXColor& i_color) {
|
||||
mDoExt_cubePacket* packet = new mDoExt_cubePacket(i_pos, i_size, i_angle, i_color);
|
||||
dDbVw_setDrawPacketList(packet, i_bufferType);
|
||||
}
|
||||
|
||||
void dDbVw_drawTriangle(int i_bufferType, cXyz* i_points, const GXColor& i_color, u8 i_clipZ) {
|
||||
mDoExt_trianglePacket* packet = new mDoExt_trianglePacket(i_points, i_color, i_clipZ);
|
||||
dDbVw_setDrawPacketList(packet, i_bufferType);
|
||||
}
|
||||
|
||||
void dDbVw_drawQuad(int i_bufferType, cXyz* i_points, const GXColor& i_color, u8 i_clipZ) {
|
||||
mDoExt_quadPacket* packet = new mDoExt_quadPacket(i_points, i_color, i_clipZ);
|
||||
dDbVw_setDrawPacketList(packet, i_bufferType);
|
||||
}
|
||||
|
||||
void dDbVw_drawQuad(int i_bufferType, cXyz* param_1, cXyz* param_2, cXyz* i_pos, s16 i_rotY, const GXColor& i_color, u8 i_clipZ) {
|
||||
cXyz points[4];
|
||||
|
||||
points[0] = *param_1;
|
||||
points[2] = *param_2;
|
||||
|
||||
points[1].x = param_2->x;
|
||||
points[1].y = param_1->y;
|
||||
points[1].z = param_1->z;
|
||||
|
||||
points[3].x = param_1->x;
|
||||
points[3].y = param_1->y;
|
||||
points[3].z = param_2->z;
|
||||
|
||||
mDoMtx_stack_c::transS(*i_pos);
|
||||
mDoMtx_stack_c::YrotM(i_rotY);
|
||||
|
||||
for (int i = 0; i < 4; i++) {
|
||||
mDoMtx_stack_c::multVec(&points[i], &points[i]);
|
||||
}
|
||||
|
||||
mDoExt_quadPacket* packet = new mDoExt_quadPacket(points, i_color, i_clipZ);
|
||||
dDbVw_setDrawPacketList(packet, i_bufferType);
|
||||
}
|
||||
|
||||
void dDbVw_drawLine(int i_bufferType, cXyz& i_start, cXyz& i_end, const GXColor& i_color, u8 i_clipZ, u8 i_width) {
|
||||
mDoExt_linePacket* packet = new mDoExt_linePacket(i_start, i_end, i_color, i_clipZ, i_width);
|
||||
dDbVw_setDrawPacketList(packet, i_bufferType);
|
||||
}
|
||||
|
||||
void dDbVw_drawArrow(int i_bufferType, cXyz& i_pos, cXyz& param_2, const GXColor& i_color, u8 i_clipZ, u8 i_width) {
|
||||
mDoExt_ArrowPacket* packet = new mDoExt_ArrowPacket(i_pos, param_2, i_color, i_clipZ, i_width);
|
||||
dDbVw_setDrawPacketList(packet, i_bufferType);
|
||||
}
|
||||
|
||||
void dDbVw_drawPoint(int i_bufferType, cXyz& i_pos, const GXColor& i_color, u8 i_clipZ, u8 i_width) {
|
||||
mDoExt_pointPacket* packet = new mDoExt_pointPacket(i_pos, i_color, i_clipZ, i_width);
|
||||
dDbVw_setDrawPacketList(packet, i_bufferType);
|
||||
}
|
||||
|
||||
void dDbVw_drawCircle(int i_bufferType, cXyz& i_pos, f32 i_radius, const GXColor& i_color, u8 i_clipZ, u8 i_width) {
|
||||
mDoExt_circlePacket* packet = new mDoExt_circlePacket(i_pos, i_radius, i_color, i_clipZ, i_width);
|
||||
dDbVw_setDrawPacketList(packet, i_bufferType);
|
||||
}
|
||||
|
||||
void dDbVw_drawSphere(int i_bufferType, cXyz& i_pos, f32 i_size, const GXColor& i_color, u8 i_clipZ) {
|
||||
mDoExt_spherePacket* packet = new mDoExt_spherePacket(i_pos, i_size, i_color, i_clipZ);
|
||||
dDbVw_setDrawPacketList(packet, i_bufferType);
|
||||
}
|
||||
|
||||
void dDbVw_drawCylinder(int i_bufferType, cXyz& i_pos, f32 i_radius, f32 i_height, const GXColor& i_color, u8 i_clipZ) {
|
||||
mDoExt_cylinderPacket* packet = new mDoExt_cylinderPacket(i_pos, i_radius, i_height, i_color, i_clipZ);
|
||||
dDbVw_setDrawPacketList(packet, i_bufferType);
|
||||
}
|
||||
|
||||
void dDbVw_drawCylinderM(int i_bufferType, Mtx i_mtx, const GXColor& i_color, u8 i_clipZ) {
|
||||
mDoExt_cylinderMPacket* packet = new mDoExt_cylinderMPacket(i_mtx, i_color, i_clipZ);
|
||||
dDbVw_setDrawPacketList(packet, i_bufferType);
|
||||
}
|
||||
|
||||
static bool reportOK() {
|
||||
return !dComIfG_isDebugMode() && !dDebugPad.Active();
|
||||
}
|
||||
|
||||
static JUtility::TColor ShadowDarkColor(0, 0, 0, 0x80);
|
||||
static JUtility::TColor ShadowLightColor(0xFF, 0xFF, 0xFF, 0x80);
|
||||
|
||||
// NONMATCHING - string being put in stack instead of register
|
||||
int dDbVw_Report(int x, int y, char const* string, ...) {
|
||||
char buffer[256];
|
||||
|
||||
if (reportOK()) {
|
||||
va_list list;
|
||||
va_start(list, string);
|
||||
vsnprintf(buffer, sizeof(buffer), string, list);
|
||||
va_end(list);
|
||||
|
||||
JUTDbPrint::getManager()->flush();
|
||||
|
||||
if (g_HIO.mColor & 0xF0F0F000) {
|
||||
JUTDbPrint::getManager()->setCharColor(ShadowDarkColor);
|
||||
} else {
|
||||
JUTDbPrint::getManager()->setCharColor(ShadowLightColor);
|
||||
}
|
||||
|
||||
JUTReport(x + 2, y + 2, buffer);
|
||||
JUTDbPrint::getManager()->flush();
|
||||
|
||||
JUTDbPrint::getManager()->setCharColor(g_HIO.mColor);
|
||||
JUTReport(x, y, buffer);
|
||||
JUTDbPrint::getManager()->flush();
|
||||
return 1;
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
|
@ -466,7 +466,7 @@ static BOOL overhead_bg_chk() {
|
|||
cXyz chkPos = camera->lookat.eye;
|
||||
chkPos.y += 50.0f;
|
||||
|
||||
roofchk.i_SetPos(chkPos);
|
||||
roofchk.SetPos(chkPos);
|
||||
if (dComIfG_Bgsp().RoofChk(&roofchk) != 1.0e9f) {
|
||||
chk = true;
|
||||
// Outside East Castle Town
|
||||
|
|
@ -504,7 +504,7 @@ static BOOL forward_overhead_bg_chk(cXyz* ppos, f32 dist) {
|
|||
chk_pos.y = 50.0f + camera->lookat.eye.y;
|
||||
*ppos = chk_pos;
|
||||
|
||||
roofchk.i_SetPos(chk_pos);
|
||||
roofchk.SetPos(chk_pos);
|
||||
if (1000000000.0f != dComIfG_Bgsp().RoofChk(&roofchk)) {
|
||||
chk = TRUE;
|
||||
if (strcmp(dComIfGp_getStartStageName(), "F_SP122") == 0) {
|
||||
|
|
|
|||
|
|
@ -7,6 +7,7 @@
|
|||
#include "d/d_save_init.h"
|
||||
#include "JSystem/JUtility/JUTGamePad.h"
|
||||
#include "stdio.h"
|
||||
#include "d/d_com_inf_game.h"
|
||||
#include "d/d_meter2_info.h"
|
||||
#include "d/actor/d_a_obj_carry.h"
|
||||
|
||||
|
|
|
|||
|
|
@ -2103,7 +2103,7 @@ bool fopAcM_gc_c::gndCheck(cXyz const* i_pos) {
|
|||
|
||||
/* 8001DD1C-8001DD84 01865C 0068+00 0/0 0/0 3/3 .text roofCheck__11fopAcM_rc_cFPC4cXyz */
|
||||
bool fopAcM_rc_c::roofCheck(cXyz const* i_pos) {
|
||||
mRoofCheck.i_SetPos(*i_pos);
|
||||
mRoofCheck.SetPos(*i_pos);
|
||||
mRoofY = dComIfG_Bgsp().RoofChk(&mRoofCheck);
|
||||
return 1000000000.0f != mRoofY;
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue