mirror of https://github.com/zeldaret/tp.git
parent
f8a6d0df95
commit
c612bfbca8
|
|
@ -1759,7 +1759,7 @@ config.libs = [
|
|||
ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_e_warpappear"),
|
||||
ActorRel(NonMatching, "d_a_e_wb"),
|
||||
ActorRel(NonMatching, "d_a_e_ws"),
|
||||
ActorRel(NonMatching, "d_a_e_ww"),
|
||||
ActorRel(Equivalent, "d_a_e_ww"), # weak func order
|
||||
ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_e_yc"),
|
||||
ActorRel(NonMatching, "d_a_e_yd"),
|
||||
ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_e_yd_leaf"),
|
||||
|
|
|
|||
|
|
@ -71,7 +71,8 @@ struct himo_s {
|
|||
*
|
||||
* @details
|
||||
*
|
||||
*/
|
||||
*/
|
||||
|
||||
class e_wb_class : public fopEn_enemy_c {
|
||||
public:
|
||||
BOOL checkWait();
|
||||
|
|
@ -241,21 +242,22 @@ public:
|
|||
/* 807E20DC */ virtual ~daE_WB_HIO_c() {};
|
||||
void genMessage(JORMContext*);
|
||||
|
||||
/* イノシシ - Wild Boar */
|
||||
/* 0x00 */ // vtable
|
||||
/* 0x04 */ s8 field_0x04;
|
||||
/* 0x08 */ f32 mBaseSize;
|
||||
/* 0x0C */ f32 mLeaderSizeRatio;
|
||||
/* 0x10 */ f32 mMovementSpeed;
|
||||
/* 0x14 */ f32 mMaxSpeed;
|
||||
/* 0x18 */ f32 mCalvaryBattleMaxSpeed;
|
||||
/* 0x1C */ f32 mNormalSpeedVi;
|
||||
/* 0x20 */ f32 mMediumSpeedVi;
|
||||
/* 0x08 */ f32 base_size; // 基本サイズ - Base Size
|
||||
/* 0x0C */ f32 leader_size_ratio; // リーダーサイズ比 - Leader Size Ratio
|
||||
/* 0x10 */ f32 movement_speed; // 移動速度 - Movement Speed
|
||||
/* 0x14 */ f32 max_speed; // 最速度 - Max Speed
|
||||
/* 0x18 */ f32 cavalry_battle_max_speed; // 騎馬戦最速 - Cavalry Battle Max Speed
|
||||
/* 0x1C */ f32 normal_speed_vi;
|
||||
/* 0x20 */ f32 medium_speed_vi;
|
||||
/* 0x24 */ f32 mMaxSpeedVi;
|
||||
/* 0x28 */ f32 mLeaderWalkingSpeed;
|
||||
/* 0x2C */ f32 mLeaderMaxSpeed;
|
||||
/* 0x30 */ f32 mLeaderCalvaryBattleMaxSpeed;
|
||||
/* 0x28 */ f32 leader_walking_speed; // 歩き速(リ)- Leader Walking Speed
|
||||
/* 0x2C */ f32 leader_max_speed; // 最速度(リ)- Leader Max Speed
|
||||
/* 0x30 */ f32 leader_cavalry_battle_max_speed; // 騎馬戦最(リ)- Leader Cavalry Battle Max Speed
|
||||
/* 0x34 */ f32 mSingleRiderSpeed;
|
||||
/* 0x38 */ f32 mPlayerRecognitionDistance;
|
||||
/* 0x38 */ f32 player_recognition_dist; // PL認識距離 - Player Recognition Distance
|
||||
/* 0x3C */ f32 mPlayerMountedMaxSpeed;
|
||||
/* 0x40 */ f32 mPlayerMountedMotionPlaybackSpeed;
|
||||
/* 0x44 */ s16 mPlayerMountedDashTime;
|
||||
|
|
|
|||
|
|
@ -3,6 +3,7 @@
|
|||
|
||||
#include "d/d_bg_s_acch.h"
|
||||
#include "d/d_cc_d.h"
|
||||
#include "d/d_cc_uty.h"
|
||||
#include "f_op/f_op_actor_mng.h"
|
||||
|
||||
/**
|
||||
|
|
@ -12,40 +13,12 @@
|
|||
*
|
||||
* @details
|
||||
*
|
||||
*/
|
||||
|
||||
enum Action_ww {
|
||||
/* 0x0 */ ACTION_EXECUTE_MASTER,
|
||||
/* 0x1 */ ACTION_EXECUTE_WAIT,
|
||||
/* 0x2 */ ACTION_EXECUTE_ATTACK,
|
||||
/* 0x3 */ ACTION_EXECUTE_CHASE,
|
||||
/* 0x4 */ ACTION_EXECUTE_DAMAGE,
|
||||
/* 0x5 */ ACTION_EXECUTE_MOVE_OUT,
|
||||
/* 0x6 */ ACTION_EXECUTE_WALK,
|
||||
};
|
||||
|
||||
enum Animation {
|
||||
/* 0x04 */ ANM_APPEAR = 4,
|
||||
/* 0x05 */ ANM_BACKSTEP,
|
||||
/* 0x06 */ ANM_DAMAGE,
|
||||
/* 0x07 */ ANM_DEAD,
|
||||
/* 0x08 */ ANM_JUMP_ATTACKA,
|
||||
/* 0x09 */ ANM_JUMP_ATTACKB,
|
||||
/* 0x0A */ ANM_JUMP_ATTACKC,
|
||||
/* 0x0B */ ANM_RUN,
|
||||
/* 0x0C */ ANM_SIDESTEP_LEFT,
|
||||
/* 0x0D */ ANM_SIDESTEP_RIGHT,
|
||||
/* 0x0E */ ANM_TURN,
|
||||
/* 0x0F */ ANM_WAIT,
|
||||
/* 0x10 */ ANM_WALK,
|
||||
};
|
||||
*/
|
||||
|
||||
class daE_WW_c : public fopEn_enemy_c {
|
||||
public:
|
||||
// daE_WW_c() {}
|
||||
|
||||
/* 807E7748 */ int ctrlJoint(J3DJoint*, J3DModel*);
|
||||
/* 807E7800 */ int JointCallBack(J3DJoint*, int);
|
||||
/* 807E7800 */ static int JointCallBack(J3DJoint*, int);
|
||||
/* 807E784C */ void setHeadAngle();
|
||||
/* 807E79D4 */ int draw();
|
||||
/* 807E7ADC */ void setBck(int, u8, f32, f32);
|
||||
|
|
@ -56,158 +29,92 @@ public:
|
|||
/* 807E7FCC */ s16 getNearPlayerAngle();
|
||||
/* 807E804C */ void setGroundAngle();
|
||||
/* 807E830C */ f32 checkCreateBg(cXyz);
|
||||
/* 807E8560 */ int checkAttackWall();
|
||||
/* 807E8560 */ bool checkAttackWall();
|
||||
/* 807E8624 */ void setBlurEffect();
|
||||
/* 807E8700 */ void setAppearEffect();
|
||||
/* 807E8C54 */ int checkSideStep();
|
||||
/* 807E8C54 */ bool checkSideStep();
|
||||
/* 807E8EEC */ void createWolf(cXyz, u8);
|
||||
/* 807E905C */ void executeMaster();
|
||||
/* 807E972C */ void executeWait();
|
||||
/* 807E99B8 */ int calcJumpSpeed();
|
||||
/* 807E9C1C */ void executeAttack();
|
||||
/* 807EA474 */ int checkAttackStart();
|
||||
/* 807EA474 */ bool checkAttackStart();
|
||||
/* 807EA870 */ void executeChase();
|
||||
/* 807EB650 */ void executeDamage();
|
||||
/* 807EB964 */ int checkMoveOut();
|
||||
/* 807EB964 */ bool checkMoveOut();
|
||||
/* 807EBAE0 */ void executeMoveOut();
|
||||
/* 807EC940 */ int checkWalkStart();
|
||||
/* 807EC940 */ bool checkWalkStart();
|
||||
/* 807ECE58 */ void executeWalk();
|
||||
/* 807ED674 */ void eWW_posMoveF();
|
||||
/* 807ED78C */ void action();
|
||||
/* 807EDA78 */ void mtx_set();
|
||||
/* 807EDB00 */ void cc_set();
|
||||
/* 807EDCC4 */ int execute();
|
||||
/* 807EDE8C */ int calcMoveDir(s16*, s16);
|
||||
/* 807EDE8C */ bool calcMoveDir(s16*, s16);
|
||||
/* 807EE440 */ int _delete();
|
||||
/* 807EE4D4 */ int CreateHeap();
|
||||
/* 807EE63C */ int create();
|
||||
|
||||
u8 isAttack() { return field_0x756; }
|
||||
void setAttack() { mAttackActionID = 10; }
|
||||
void setAttack() { mActionMode = 10; }
|
||||
f32 const getSpeedF() { return speedF; }
|
||||
|
||||
private:
|
||||
/* 0x5AC */ request_of_phase_process_class mPhase;
|
||||
// /* 0x5AC */ char pad5AC[8];
|
||||
/* 0x5B4 */ mDoExt_McaMorfSO* mpMorf;
|
||||
/* 0x5B4 */ mDoExt_McaMorfSO* mpModelMorf;
|
||||
/* 0x5B8 */ Z2CreatureEnemy mSound;
|
||||
// /* 0x5B8 */ char pad5B8[0xA4];
|
||||
/* 0x65C */ cXyz field_0x65C; // Under ground position ? see jump speed calc
|
||||
// /* 0x660 */ f32 field_0x660;
|
||||
// /* 0x664 */ f32 field_0x664;
|
||||
/* 0x65C */ cXyz field_0x65c; // Under ground position ? see jump speed calc
|
||||
/* 0x668 */ cXyz field_0x668;
|
||||
// /* 0x66C */ f32 field_0x66C;
|
||||
// /* 0x670 */ f32 field_0x670;
|
||||
/* 0x674 */ csXyz field_0x674; // Probably csXyz
|
||||
// /* 0x676 */ char pad676[2];
|
||||
// /* 0x678 */ s16 field_0x678;
|
||||
/* 0x67A */ s16 field_0x67A; // Head angle x ? csXyz ???
|
||||
/* 0x67C */ s16 field_0x67C; // Head angle y ?
|
||||
/* 0x67E */ s16 field_0x67E; // Head angle z ?
|
||||
/* 0x67A */ s16 field_0x67a; // Head angle x ? csXyz ???
|
||||
/* 0x67C */ s16 field_0x67c; // Head angle y ?
|
||||
/* 0x67E */ s16 field_0x67e; // Head angle z ?
|
||||
/* 0x680 */ fpc_ProcID mChildID[10];
|
||||
// /* 0x684 */ char pad684[0x24];
|
||||
/* 0x6A8 */ f32 field_0x6A8; // Radius draw circle debug ?
|
||||
/* 0x6AC */ f32 field_0x6AC; // Off set draw circle debug ??
|
||||
/* 0x6A8 */ f32 field_0x6a8; // Radius draw circle debug ?
|
||||
/* 0x6AC */ f32 field_0x6ac; // Off set draw circle debug ??
|
||||
/* 0x6B0 */ f32 mDistCheckModifier;
|
||||
/* 0x6B4 */ u8 field_0x6B4; // Arg0 ??
|
||||
/* 0x6B5 */ u8 field_0x6B5;
|
||||
/* 0x6B6 */ u8 field_0x6B6;
|
||||
/* 0x6B7 */ u8 field_0x6B7;
|
||||
/* 0x6B8 */ s32 mActionID;
|
||||
/* 0x6BC */ s32 mAttackActionID; // Which wolf does action ? 1 jump ? 0 init ?, 26 Hide ? check sound action just before, check execute chase for cases in switch
|
||||
/* 0x6C0 */ int field_0x6C0; // Side step ? 0-> step left, 1 step right
|
||||
/* 0x6C4 */ s32 field_0x6C4; // Active index for the int arrays later ? Change to int ?
|
||||
/* 0x6C8 */ s32 field_0x6C8;
|
||||
/* 0x6CC */ s16 field_0x6CC; // angleY storage ?
|
||||
/* 0x6CE */ s16 field_0x6CE;
|
||||
/* 0x6D0 */ int field_0x6D0;
|
||||
/* 0x6D4 */ int field_0x6D4[10]; // Existing wolf ?
|
||||
/* 0x6FC */ int field_0x6FC[10];
|
||||
/* 0x6B4 */ u8 field_0x6b4; // Arg0 ??
|
||||
/* 0x6B5 */ u8 field_0x6b5;
|
||||
/* 0x6B6 */ u8 field_0x6b6;
|
||||
/* 0x6B7 */ u8 field_0x6b7;
|
||||
/* 0x6B8 */ s32 mAction;
|
||||
/* 0x6BC */ s32 mActionMode; // Which wolf does action ? 1 jump ? 0 init ?, 26 Hide ? check sound action just before, check execute chase for cases in switch
|
||||
/* 0x6C0 */ int field_0x6c0; // Side step ? 0-> step left, 1 step right
|
||||
/* 0x6C4 */ s32 field_0x6c4; // Active index for the int arrays later ? Change to int ?
|
||||
/* 0x6C8 */ s32 field_0x6c8;
|
||||
/* 0x6CC */ s16 field_0x6cc; // angleY storage ?
|
||||
/* 0x6CE */ s16 field_0x6ce;
|
||||
/* 0x6D0 */ int field_0x6d0;
|
||||
/* 0x6D4 */ int field_0x6d4[10]; // Existing wolf ?
|
||||
/* 0x6FC */ int field_0x6fc[10];
|
||||
/* 0x724 */ u16 field_0x724; // Linked with getting damage to link
|
||||
// /* 0x726 */ char pad726[2];
|
||||
/* 0x728 */ int field_0x728;
|
||||
/* 0x72C */ int field_0x72C;
|
||||
/* 0x72C */ int field_0x72c;
|
||||
/* 0x730 */ int field_0x730;
|
||||
/* 0x734 */ int field_0x734; // Attack interval ?
|
||||
/* 0x738 */ int field_0x738;
|
||||
/* 0x73C */ int field_0x73C;
|
||||
/* 0x73C */ int field_0x73c;
|
||||
/* 0x740 */ int field_0x740;
|
||||
/* 0x744 */ char pad744[4];
|
||||
/* 0x748 */ int field_0x748;
|
||||
/* 0x74C */ int field_0x74C;
|
||||
/* 0x750 */ char pad750[2];
|
||||
/* 0x752 */ s16 field_0x752;
|
||||
/* 0x754 */ s16 field_0x754;
|
||||
/* 0x744 */ int field_0x744[2];
|
||||
/* 0x74C */ int field_0x74c;
|
||||
/* 0x750 */ s16 field_0x750[3];
|
||||
/* 0x756 */ u8 field_0x756;
|
||||
/* 0x757 */ u8 field_0x757;
|
||||
/* 0x758 */ u8 field_0x758;
|
||||
/* 0x759 */ u8 field_0x759;
|
||||
/* 0x75A */ u8 field_0x75A;
|
||||
/* 0x75B */ u8 field_0x75B; // Used in posMoveF
|
||||
/* 0x75C */ u8 field_0x75C;
|
||||
/* 0x75D */ s8 field_0x75D;
|
||||
/* 0x75E */ char pad75E[2]; /* maybe part of field_0x75D[3]? */
|
||||
/* 0x75A */ u8 field_0x75a;
|
||||
/* 0x75B */ u8 field_0x75b;
|
||||
/* 0x75C */ u8 field_0x75c;
|
||||
/* 0x75D */ bool field_0x75d;
|
||||
/* 0x760 */ dBgS_AcchCir mAcchCir;
|
||||
// /* 0x760 */ char pad760[0x40];
|
||||
/* 0x7A0 */ dBgS_ObjAcch mAcch;
|
||||
// /* 0x7A0 */ char pad7A0[0x2C];
|
||||
// /* 0x7CC */ s32 field_0x7CC;
|
||||
// /* 0x7D0 */ char pad7D0[0x68]; /* maybe part of field_0x7CC[0x1B]? */
|
||||
// /* 0x838 */ f32 field_0x838;
|
||||
// /* 0x83C */ char pad83C[0x54]; /* maybe part of field_0x838[0x16]? */
|
||||
// /* 0x890 */ cBgS_PolyInfo field_0x890;
|
||||
// /* 0x890 */ char pad890[0xE8];
|
||||
// /* 0x978 */ cXyz field_0x978;
|
||||
// /* 0x978 */ char pad978[0x18];
|
||||
// /* 0x990 */ cXyz* field_0x990;
|
||||
/* 0x7A0 */ dBgS_ObjAcch mObjAcch;
|
||||
/* 0x994 */ dCcD_Stts mCcStts;
|
||||
// /* 0x994 */ char pad994[0x20];
|
||||
/* 0x9B4 */ dCcD_Sph mSph1[2];
|
||||
// /* 0x9B4 */ char pad9B4[0x44];
|
||||
// /* 0x9F8 */ cXyz *field_0x9F8;
|
||||
// /* 0x9FC */ char pad9FC[0xDC]; /* maybe part of field_0x9F8[0x38]? */
|
||||
// /* 0xAD8 */ cM3dGSph field_0xAD8;
|
||||
// /* 0xAD8 */ char padAD8[0x14];
|
||||
// /* 0xAEC */ cCcD_Obj field_0xAEC;
|
||||
// /* 0xAEC */ char padAEC[0x44];
|
||||
// /* 0xB30 */ cXyz *field_0xB30;
|
||||
// /* 0xB34 */ char padB34[0x14]; /* maybe part of field_0xB30[6]? */
|
||||
// /* 0xB48 */ s32 field_0xB48;
|
||||
// /* 0xB4C */ char padB4C[0xC4]; /* maybe part of field_0xB48[0x32]? */
|
||||
// /* 0xC10 */ cM3dGSph field_0xC10;
|
||||
// /* 0xC10 */ char padC10[0x14];
|
||||
/* 0xC24 */ dCcD_Sph mSph2[2];
|
||||
// /* 0xC24 */ char padC24[0x18];
|
||||
// /* 0xC3C */ s32 field_0xC3C;
|
||||
// /* 0xC40 */ char padC40[0x28]; /* maybe part of field_0xC3C[0xB]? */
|
||||
// /* 0xC68 */ cXyz *field_0xC68;
|
||||
// /* 0xC6C */ char padC6C[0x54]; /* maybe part of field_0xC68[0x16]? */
|
||||
// /* 0xCC0 */ s32 field_0xCC0;
|
||||
// /* 0xCC4 */ char padCC4[0x84]; /* maybe part of field_0xCC0[0x22]? */
|
||||
// /* 0xD48 */ cM3dGSph field_0xD48;
|
||||
// /* 0xD48 */ char padD48[0x14];
|
||||
// /* 0xD5C */ dCcD_GObjInf field_0xD5C;
|
||||
// /* 0xD5C */ char padD5C[0x18];
|
||||
// /* 0xD74 */ s32 field_0xD74;
|
||||
// /* 0xD78 */ char padD78[0x28]; /* maybe part of field_0xD74[0xB]? */
|
||||
// /* 0xDA0 */ cXyz *field_0xDA0;
|
||||
// /* 0xDA4 */ char padDA4[0x54]; /* maybe part of field_0xDA0[0x16]? */
|
||||
// /* 0xDF8 */ s32 field_0xDF8;
|
||||
// /* 0xDFC */ char padDFC[0x84]; /* maybe part of field_0xDF8[0x22]? */
|
||||
// /* 0xE80 */ cM3dGSph field_0xE80;
|
||||
// /* 0xE80 */ char padE80[0x14];
|
||||
/* 0xE94 */ cCcD_Obj* mpHitObj; // Probably mCollider
|
||||
/* 0xE98 */ char padE98[4];
|
||||
/* 0xE9C */ Z2CreatureEnemy* mpSound;
|
||||
/* 0xEA0 */ char padEA0[2];
|
||||
/* 0xEA2 */ s16 field_0xEA2;
|
||||
/* 0xEA4 */ char padEA4[0xC]; /* maybe part of field_0xEA2[7]? */
|
||||
/* 0xEB0 */ u16 field_0xEB0;
|
||||
/* 0xEB2 */ s8 field_0xEB2;
|
||||
/* 0xEB3 */ s8 field_0xEB3;
|
||||
/* 0xEB4 */ char padEB4[0xC]; /* maybe part of field_0xEB3[0xD]? */
|
||||
/* 0xEC0 */ u32 mParticleKey; // mParticleKey ??
|
||||
/* 0xEC4 */ u8 field_0xEC4;
|
||||
/* 0xE94 */ dCcU_AtInfo mAtInfo;
|
||||
/* 0xEB8 */ u8 field_0xeb8[0xec0 - 0xeb8];
|
||||
/* 0xEC0 */ u32 mParticleKey;
|
||||
/* 0xEC4 */ u8 field_0xec4;
|
||||
};
|
||||
|
||||
STATIC_ASSERT(sizeof(daE_WW_c) == 0xec8);
|
||||
|
|
@ -215,19 +122,20 @@ STATIC_ASSERT(sizeof(daE_WW_c) == 0xec8);
|
|||
class daE_WW_HIO_c : public JORReflexible {
|
||||
public:
|
||||
/* 807E76EC */ daE_WW_HIO_c();
|
||||
/* 807EEEBC */ virtual ~daE_WW_HIO_c() {};
|
||||
/* 807EEEBC */ virtual ~daE_WW_HIO_c() {}
|
||||
|
||||
void genMessage(JORMContext*);
|
||||
|
||||
/* ホワイトウルフォス - White Werewolf */
|
||||
/* 0x04 */ s8 field_0x04;
|
||||
/* 0x08 */ f32 mModelSize;
|
||||
/* 0x0C */ f32 mAttackInterval;
|
||||
/* 0x10 */ f32 mRunAnm;
|
||||
/* 0x14 */ f32 mWalkAnm;
|
||||
/* 0x18 */ f32 mRunSpeed;
|
||||
/* 0x1C */ f32 mWolfEscapeSpeed;
|
||||
/* 0x20 */ f32 mLinkEscapeSpeed;
|
||||
/* 0x24 */ u8 mMoveRangeDebugDisp;
|
||||
/* 0x08 */ f32 model_size; // モデルサイズ - Model Size
|
||||
/* 0x0C */ f32 attack_interval; // 攻撃間隔 - Attack Interval
|
||||
/* 0x10 */ f32 run_anm; // 走りアニメーション - Run Animation
|
||||
/* 0x14 */ f32 walk_anm; // 歩きアニメーション - Walk Animation
|
||||
/* 0x18 */ f32 run_speed; // 走る速度 - Run Speed
|
||||
/* 0x1C */ f32 wolf_escape_speed; // 狼から逃亡速度 - Wolf Escape Speed
|
||||
/* 0x20 */ f32 link_escape_speed; // リンクから逃亡速度 - Link Escape Speed
|
||||
/* 0x24 */ u8 move_range_debug_display; // 移動範囲デバック表示 - Move Range Debug Display
|
||||
};
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -126,17 +126,17 @@ static dCcD_SrcSph at_sph_src = {
|
|||
/* 807D248C-807D2548 0000EC 00BC+00 1/1 0/0 0/0 .text __ct__12daE_WB_HIO_cFv */
|
||||
daE_WB_HIO_c::daE_WB_HIO_c() {
|
||||
field_0x04 = -1;
|
||||
mBaseSize = 1.2f;
|
||||
mLeaderSizeRatio = 1.2f;
|
||||
mMovementSpeed = 3.5f;
|
||||
mPlayerRecognitionDistance = 600.0f;
|
||||
mMaxSpeed = 37.0f;
|
||||
mCalvaryBattleMaxSpeed = 50.0f;
|
||||
mLeaderWalkingSpeed = 10.0f;
|
||||
mLeaderMaxSpeed = 40.0f;
|
||||
mLeaderCalvaryBattleMaxSpeed = 54.0f;
|
||||
mNormalSpeedVi = 25.0f;
|
||||
mMediumSpeedVi = 45.0f;
|
||||
base_size = 1.2f;
|
||||
leader_size_ratio = 1.2f;
|
||||
movement_speed = 3.5f;
|
||||
player_recognition_dist = 600.0f;
|
||||
max_speed = 37.0f;
|
||||
cavalry_battle_max_speed = 50.0f;
|
||||
leader_walking_speed = 10.0f;
|
||||
leader_max_speed = 40.0f;
|
||||
leader_cavalry_battle_max_speed = 54.0f;
|
||||
normal_speed_vi = 25.0f;
|
||||
medium_speed_vi = 45.0f;
|
||||
mMaxSpeedVi = 55.0f;
|
||||
mSingleRiderSpeed = 50.0f;
|
||||
mPlayerMountedMaxSpeed = 30.0f;
|
||||
|
|
@ -153,23 +153,23 @@ daE_WB_HIO_c::daE_WB_HIO_c() {
|
|||
#ifdef DEBUG
|
||||
void daE_WB_HIO_c::genMessage(JORMContext* ctx) {
|
||||
ctx->genLabel(" イノシシ", 0x80000001, 0, NULL, 0xFFFF, 0xFFFF, 512, 24);
|
||||
ctx->genSlider("基本サイズ", &mBaseSize, 0.0f, 5.0f, 0, NULL, 0xFFFF, 0xFFFF, 512, 24);
|
||||
ctx->genSlider("リーダーサイズ比", &mLeaderSizeRatio, 0.0f, 5.0, 0, NULL, 0xFFFF, 0xFFFF, 512,
|
||||
ctx->genSlider("基本サイズ", &base_size, 0.0f, 5.0f, 0, NULL, 0xFFFF, 0xFFFF, 512, 24);
|
||||
ctx->genSlider("リーダーサイズ比", &leader_size_ratio, 0.0f, 5.0, 0, NULL, 0xFFFF, 0xFFFF, 512,
|
||||
24);
|
||||
ctx->genSlider("移動速度", &mMovementSpeed, 0.0f, 20.0f, 0, NULL, 0xFFFF, 0xFFFF, 512, 24);
|
||||
ctx->genSlider("PL認識距離", &mPlayerRecognitionDistance, 0.0f, 2000.0f, 0, NULL, 0xFFFF,
|
||||
ctx->genSlider("移動速度", &movement_speed, 0.0f, 20.0f, 0, NULL, 0xFFFF, 0xFFFF, 512, 24);
|
||||
ctx->genSlider("PL認識距離", &player_recognition_dist, 0.0f, 2000.0f, 0, NULL, 0xFFFF,
|
||||
0xFFFF, 512, 24);
|
||||
ctx->genSlider("最速度", &mMaxSpeed, 0.0f, 100.0f, 0, NULL, 0xFFFF, 0xFFFF, 512, 24);
|
||||
ctx->genSlider("騎馬戦最速", &mCalvaryBattleMaxSpeed, 0.0f, 100.0f, 0, NULL, 0xFFFF, 0xFFFF,
|
||||
ctx->genSlider("最速度", &max_speed, 0.0f, 100.0f, 0, NULL, 0xFFFF, 0xFFFF, 512, 24);
|
||||
ctx->genSlider("騎馬戦最速", &cavalry_battle_max_speed, 0.0f, 100.0f, 0, NULL, 0xFFFF, 0xFFFF,
|
||||
512, 24);
|
||||
ctx->genSlider("歩き速(リ)", &mLeaderWalkingSpeed, 0.0f, 30.0f, 0, NULL, 0xFFFF, 0xFFFF, 512,
|
||||
ctx->genSlider("歩き速(リ)", &leader_walking_speed, 0.0f, 30.0f, 0, NULL, 0xFFFF, 0xFFFF, 512,
|
||||
24);
|
||||
ctx->genSlider("最速度(リ)", &mLeaderMaxSpeed, 0.0f, 100.0f, 0, NULL, 0xFFFF, 0xFFFF, 512,
|
||||
ctx->genSlider("最速度(リ)", &leader_max_speed, 0.0f, 100.0f, 0, NULL, 0xFFFF, 0xFFFF, 512,
|
||||
24);
|
||||
ctx->genSlider("騎馬戦最(リ)", &mLeaderCalvaryBattleMaxSpeed, 0.0f, 100.0f, 0, NULL, 0xFFFF,
|
||||
ctx->genSlider("騎馬戦最(リ)", &leader_cavalry_battle_max_speed, 0.0f, 100.0f, 0, NULL, 0xFFFF,
|
||||
0xFFFF, 512, 24);
|
||||
ctx->genSlider("通常速(車)", &mNormalSpeedVi, 0.0f, 100.0f, 0, NULL, 0xFFFF, 0xFFFF, 512, 24);
|
||||
ctx->genSlider("中速度(車)", &mMediumSpeedVi, 0.0f, 100.0f, 0, NULL, 0xFFFF, 0xFFFF, 512, 24);
|
||||
ctx->genSlider("通常速(車)", &normal_speed_vi, 0.0f, 100.0f, 0, NULL, 0xFFFF, 0xFFFF, 512, 24);
|
||||
ctx->genSlider("中速度(車)", &medium_speed_vi, 0.0f, 100.0f, 0, NULL, 0xFFFF, 0xFFFF, 512, 24);
|
||||
ctx->genSlider("最速度(車)", &mMaxSpeedVi, 0.0f, 100.0f, 0, NULL, 0xFFFF, 0xFFFF, 512, 24);
|
||||
ctx->genSlider("一騎速", &mSingleRiderSpeed, 0.0f, 100.0f, 0, NULL, 0xFFFF, 0xFFFF, 512, 24);
|
||||
ctx->genCheckBox("手綱ナシ", &mNoReins, 1, 0, NULL, 0xFFFF, 0xFFFF, 512, 24);
|
||||
|
|
@ -319,10 +319,10 @@ static void himo_control1(e_wb_class* i_this, cXyz* i_pos, int i_idx, s8 param_3
|
|||
}
|
||||
|
||||
if (i_this->field_0x79d != 0) {
|
||||
sp60.z *= l_HIO.mLeaderSizeRatio;
|
||||
sp48 *= l_HIO.mLeaderSizeRatio;
|
||||
sp30 *= l_HIO.mLeaderSizeRatio;
|
||||
sp24 *= l_HIO.mLeaderSizeRatio;
|
||||
sp60.z *= l_HIO.leader_size_ratio;
|
||||
sp48 *= l_HIO.leader_size_ratio;
|
||||
sp30 *= l_HIO.leader_size_ratio;
|
||||
sp24 *= l_HIO.leader_size_ratio;
|
||||
}
|
||||
|
||||
i = 1;
|
||||
|
|
@ -846,7 +846,7 @@ static void e_wb_pl_ride_now(e_wb_class* i_this) {
|
|||
|
||||
/* 807D4154-807D48C0 001DB4 076C+00 1/1 0/0 0/0 .text e_wb_pl_ride__FP10e_wb_class */
|
||||
static void e_wb_pl_ride(e_wb_class* i_this) {
|
||||
f32 fVar11 = l_HIO.mCalvaryBattleMaxSpeed;
|
||||
f32 fVar11 = l_HIO.cavalry_battle_max_speed;
|
||||
f32 fVar2;
|
||||
|
||||
if (i_this->field_0x1432 != 0) {
|
||||
|
|
@ -952,8 +952,8 @@ static void e_wb_pl_ride(e_wb_class* i_this) {
|
|||
i_this->mActionID = ACT_PL_RIDE;
|
||||
i_this->field_0x1432 = 0;
|
||||
|
||||
if (l_HIO.mNormalSpeedVi < i_this->speedF) {
|
||||
i_this->speedF = l_HIO.mNormalSpeedVi;
|
||||
if (l_HIO.normal_speed_vi < i_this->speedF) {
|
||||
i_this->speedF = l_HIO.normal_speed_vi;
|
||||
}
|
||||
}
|
||||
} else if (i_this->field_0x142f && iVar4 == 1) {
|
||||
|
|
@ -993,7 +993,7 @@ static void e_wb_pl_ride(e_wb_class* i_this) {
|
|||
|
||||
i_this->mWaitRollAngle = i_this->current.angle.y - curr_angle_y;
|
||||
f32 fVar10 =
|
||||
i_this->mWaitRollAngle * TREG_S(7) - 8 * i_this->speedF / l_HIO.mBaseSize + 1.0f;
|
||||
i_this->mWaitRollAngle * TREG_S(7) - 8 * i_this->speedF / l_HIO.base_size + 1.0f;
|
||||
|
||||
if (fVar10 <= NREG_F(0x11) + 4500.0f) {
|
||||
if (fVar10 < -NREG_F(0x11) + 4500.0f)
|
||||
|
|
@ -1281,7 +1281,7 @@ static void e_wb_b_run2(e_wb_class* i_this) {
|
|||
cLib_addCalcAngleS2(&i_this->mTargetAngleStep, 0x400, 1, 0x10);
|
||||
|
||||
fVar1 = 3.0f;
|
||||
fVar10 = l_HIO.mLeaderMaxSpeed;
|
||||
fVar10 = l_HIO.leader_max_speed;
|
||||
i_this->field_0x142c = 1;
|
||||
|
||||
if (i_this->field_0x698 == 0 && dist < 5000.0f) {
|
||||
|
|
@ -1348,7 +1348,7 @@ static void e_wb_b_run(e_wb_class* i_this) {
|
|||
i_this->mActionMode = 0;
|
||||
} else {
|
||||
s8 bVar11 = false;
|
||||
f32 fVar14 = l_HIO.mLeaderCalvaryBattleMaxSpeed;
|
||||
f32 fVar14 = l_HIO.leader_cavalry_battle_max_speed;
|
||||
if (daPy_getPlayerActorClass()->checkHorseRide() &&
|
||||
dComIfGp_getHorseActor()->speedF >= 30.0f)
|
||||
{
|
||||
|
|
@ -1447,20 +1447,20 @@ static void e_wb_b_run(e_wb_class* i_this) {
|
|||
if (bVar11) {
|
||||
// float regalloc
|
||||
horse_speed = dComIfGp_getHorseActor()->speedF;
|
||||
speed_target = l_HIO.mLeaderCalvaryBattleMaxSpeed;
|
||||
speed_target = l_HIO.leader_cavalry_battle_max_speed;
|
||||
|
||||
if (speed_target > horse_speed) {
|
||||
speed_target = horse_speed;
|
||||
} else {
|
||||
if (speed_target < l_HIO.mLeaderMaxSpeed) {
|
||||
speed_target = l_HIO.mLeaderMaxSpeed;
|
||||
if (speed_target < l_HIO.leader_max_speed) {
|
||||
speed_target = l_HIO.leader_max_speed;
|
||||
}
|
||||
}
|
||||
|
||||
if (fopAcM_searchPlayerDistanceXZ(i_this) < 2000.0f) {
|
||||
speed_target *= 1.2f;
|
||||
|
||||
if (i_this->speedF < l_HIO.mMaxSpeed) {
|
||||
if (i_this->speedF < l_HIO.max_speed) {
|
||||
speed_step = 0.5f;
|
||||
} else {
|
||||
speed_step = 1.5f;
|
||||
|
|
@ -1476,7 +1476,7 @@ static void e_wb_b_run(e_wb_class* i_this) {
|
|||
horse_speed = 1.2f;
|
||||
} else {
|
||||
speed_step = 3.0;
|
||||
speed_target = l_HIO.mLeaderMaxSpeed;
|
||||
speed_target = l_HIO.leader_max_speed;
|
||||
}
|
||||
|
||||
if (dist > 6000.0f) {
|
||||
|
|
@ -1488,7 +1488,7 @@ static void e_wb_b_run(e_wb_class* i_this) {
|
|||
break;
|
||||
case 3:
|
||||
i_this->field_0x6bd = 1;
|
||||
speed_target = l_HIO.mMaxSpeed;
|
||||
speed_target = l_HIO.max_speed;
|
||||
speed_step = 3.0f;
|
||||
|
||||
if (i_this->field_0x698 == 10) {
|
||||
|
|
@ -1514,7 +1514,7 @@ static void e_wb_b_run(e_wb_class* i_this) {
|
|||
|
||||
break;
|
||||
case 10: // jumping a fence / hit wall
|
||||
speed_target = l_HIO.mMaxSpeed;
|
||||
speed_target = l_HIO.max_speed;
|
||||
speed_step = 3.0f;
|
||||
int anm_id = i_this->mAnmID;
|
||||
|
||||
|
|
@ -1683,7 +1683,7 @@ static void e_wb_a_run(e_wb_class* i_this) {
|
|||
}
|
||||
default:
|
||||
cLib_addCalcAngleS2(&i_this->current.angle.y, i_this->mAngleTarget, 8, 0x800);
|
||||
cLib_addCalc2(&i_this->speedF, l_HIO.mMaxSpeed * 1.2f, 1.0f, 2.0f);
|
||||
cLib_addCalc2(&i_this->speedF, l_HIO.max_speed * 1.2f, 1.0f, 2.0f);
|
||||
cLib_addCalcAngleS2(&i_this->field_0x79a, (i_this->current.angle.y - curr_angle_y) * -8, 8,
|
||||
0x200);
|
||||
}
|
||||
|
|
@ -1957,14 +1957,14 @@ static s8 e_wb_c_run(e_wb_class* i_this) {
|
|||
local_10c = diff;
|
||||
|
||||
dist = JMAFastSqrt(local_10c.x * local_10c.x + local_10c.z * local_10c.z);
|
||||
target_speed = l_HIO.mMaxSpeed;
|
||||
target_speed = l_HIO.max_speed;
|
||||
|
||||
if (dist >= 500.0f) {
|
||||
target_speed = l_HIO.mMaxSpeed;
|
||||
target_speed = l_HIO.max_speed;
|
||||
}
|
||||
|
||||
if (dist > 3000.0f) {
|
||||
target_speed = l_HIO.mMaxSpeed;
|
||||
target_speed = l_HIO.max_speed;
|
||||
}
|
||||
|
||||
return_value = (i_this->field_0x6be & 2) == 0;
|
||||
|
|
|
|||
File diff suppressed because it is too large
Load Diff
Loading…
Reference in New Issue