Link BigTreasureMgr.cpp

This commit is contained in:
HeartPiece 2022-10-26 13:57:42 +11:00
parent 97fc17cf38
commit f61ed8a120
6 changed files with 147 additions and 4233 deletions

File diff suppressed because it is too large Load Diff

View File

@ -7,37 +7,17 @@
#include "Game/EnemyMgrBase.h"
#include "Game/JointFuncs.h"
#include "Game/EnemyBase.h"
#include "efx/TOoota.h"
#include "efx/TDama.h"
#include "JSystem/J3D/J3DGXColor.h"
#include "Sys/MatBaseAnimation.h"
#include "Sys/MatBaseAnimator.h"
#include "Collinfo.h"
/**
* --Header for Titan Dweevil (BigTreasure)--
*/
namespace efx {
// TODO: make headers for these
struct TChasePos2;
struct TDamaFootw;
struct TDamaSmoke;
struct TOootaStartBody;
struct TOootaStartOta;
struct TOootaStartLeg;
struct TChasePosPosLocalYScale3;
struct TChaseMtx3;
struct TOootaDeadAwa;
struct TOootaChangeLeg;
struct TOootaChangeBody;
struct TOootaParticle;
struct TChasePos4;
struct TChasePosPosLocalZScale3;
struct TOootaElecparts;
} // namespace efx
namespace Sys {
struct MatTevRegAnimation;
struct MatLoopAnimator;
} // namespace Sys
namespace Game {
struct IKSystemMgr;
struct IKSystemParms;
@ -75,7 +55,7 @@ struct Obj : public EnemyBase {
virtual void inWaterCallback(WaterBox*); // _84 (weak)
virtual void outWaterCallback(); // _88 (weak)
virtual void getShadowParam(ShadowParam&); // _134
virtual ~Obj(); // _1BC (weak)
virtual ~Obj() { } // _1BC (weak)
virtual void setInitialSetting(EnemyInitialParamBase*); // _1C4
virtual void doUpdate(); // _1CC
virtual void doUpdateCommon(); // _1D0
@ -236,14 +216,20 @@ struct Mgr : public EnemyMgrBase {
Mgr(int objLimit, u8 modelType);
//////////////// VTABLE
virtual ~Mgr(); // _58 (weak)
virtual void createObj(int); // _A0
virtual EnemyBase* getEnemy(int idx); // _A4
virtual void doAlloc(); // _A8
virtual EnemyTypeID::EEnemyTypeID getEnemyTypeID(); // _AC (weak)
virtual SysShape::Model* createModel(); // _B0
virtual void loadModelData(); // _C8
virtual J3DModelData* doLoadBmd(void*); // _D4 (weak)
// virtual ~Mgr(); // _58 (weak)
virtual void createObj(int); // _A0
virtual EnemyBase* getEnemy(int idx); // _A4
virtual void doAlloc(); // _A8
virtual SysShape::Model* createModel(); // _B0
virtual void loadModelData(); // _C8
virtual EnemyTypeID::EEnemyTypeID getEnemyTypeID() // _AC (weak)
{
return EnemyTypeID::EnemyID_BigTreasure;
}
virtual J3DModelData* doLoadBmd(void* filename) // _D4 (weak)
{
return J3DModelLoaderDataBase::load(filename, 0x01240030);
}
//////////////// VTABLE END
// _00 = VTBL
@ -253,7 +239,77 @@ struct Mgr : public EnemyMgrBase {
struct Parms : public EnemyParmsBase {
struct ProperParms : public Parameters {
ProperParms(); // (weak)
ProperParms()
: Parameters(nullptr, "EnemyParmsBase")
, m_fp01(this, 'fp01', "ベース係数", 3.0f, 0.0f, 10.0f) // 'base factor'
, m_fp02(this, 'fp02', "上げ減速係数", -0.2f, -5.0f, 5.0f) // 'raising deceleration factor'
, m_fp03(this, 'fp03', "下げ加速係数", 0.5f, -5.0f, 5.0f) // 'downward acceleration factor'
, m_fp04(this, 'fp04', "最低減加速係数", -2.0f, -10.0f, 10.0f) // 'min reduced acceleration factor'
, m_fp05(this, 'fp05', "最高減加速係数", 10.0f, -10.0f, 10.0f) // 'max deceleration acceleration factor'
, m_fp06(this, 'fp06', "足の振り上げ", 120.0f, 0.0f, 200.0f) // 'leg swing'
, m_fp10(this, 'fp10', "\備時間(電気)", 2.5f, 0.0f, 10.0f) // 'wait time (electricity)'
, m_fp11(this, 'fp11', "\備時間(火:1)", 2.8f, 0.0f, 10.0f) // 'wait time (fire:1)'
, m_fp31(this, 'fp31', "\備時間(火:2)", 2.5f, 0.0f, 10.0f) // 'wait time (fire:2)'
, m_fp12(this, 'fp12', "\備時間(ガス)", 2.5f, 0.0f, 10.0f) // 'wait time (gas)'
, m_fp13(this, 'fp13', "\備時間(水)", 2.5f, 0.0f, 10.0f) // 'wait time (water)'
, m_elecAttackTimeMax(this, 'fp20', "攻撃時間(電気)", 5.0f, 0.0f, 10.0f) // 'attack time (electricity)'
, m_fireAttackTimeMax(this, 'fp21', "攻撃時間(火)", 5.0f, 0.0f, 10.0f) // 'attack time (fire)'
, m_gasAttackTimeMax(this, 'fp22', "攻撃時間(ガス)", 5.0f, 0.0f, 10.0f) // 'attack time (gas)'
, m_waterAttackTimeMax(this, 'fp23', "攻撃時間(水)", 5.0f, 0.0f, 10.0f) // 'attack time (water)'
, m_fe00(this, 'fe00', "跳返係数(1-1)", 0.75f, 0.0f, 1.0f) // 'bounce coefficient (1-1)'
, m_fe01(this, 'fe01', "摩擦係数(1-1)", 0.65f, 0.0f, 1.0f) // 'friction coefficient (1-1)'
, m_fe02(this, 'fe02', "XZ初速Base(1-1)", 100.0f, 0.0f, 500.0f) // 'XZ muzzle velocity Base (1-1)'
, m_fe03(this, 'fe03', "XZ初速Rand(1-1)", 220.0f, 0.0f, 500.0f) // 'XZ muzzle velocity Rand (1-1)'
, m_fe04(this, 'fe04', "Y初速Base(1-1)", 170.0f, 0.0f, 500.0f) // 'Y muzzle velocity Base (1-1)'
, m_fe05(this, 'fe05', "Y初速Rand(1-1)", 200.0f, 0.0f, 500.0f) // 'Y muzzle velocity Rand (1-1)'
, m_fe06(this, 'fe06', "放電開始(1-1)", 2.7f, 0.0f, 5.0f) // 'discharge start (1-1)'
, m_fe08(this, 'fe08', "連鎖間隔(1-1)", 0.02f, 0.0f, 1.0f) // 'chain interval (1-1)'
, m_fe07(this, 'fe07', "放電数(1-1)", 10, 0, 16) // 'number of discharges (1-1)'
, m_fe10(this, 'fe10', "跳返係数(1-2)", 0.7f, 0.0f, 1.0f) // 'bounce coefficient (1-2)'
, m_fe11(this, 'fe11', "摩擦係数(1-2)", 0.65f, 0.0f, 1.0f) // 'friction coefficient (1-2)'
, m_fe12(this, 'fe12', "XZ初速Base(1-2)", 80.0f, 0.0f, 500.0f) // 'XZ muzzle velocity Base (1-2)'
, m_fe13(this, 'fe13', "XZ初速Rand(1-2)", 250.0f, 0.0f, 500.0f) // 'XZ muzzle velocity Rand (1-2)'
, m_fe14(this, 'fe14', "Y初速Base(1-2)", 350.0f, 0.0f, 500.0f) // 'Y muzzle velocity Base (1-2)'
, m_fe15(this, 'fe15', "Y初速Rand(1-2)", 100.0f, 0.0f, 500.0f) // 'Y muzzle velocity Rand (1-2)'
, m_fe16(this, 'fe16', "放電開始(1-2)", 4.5f, 0.0f, 5.0f) // 'discharge start (1-2)'
, m_fe18(this, 'fe18', "連鎖間隔(1-2)", 0.02f, 0.0f, 1.0f) // 'chain interval (1-2)'
, m_fe17(this, 'fe17', "放電数(1-2)", 12, 0, 16) // 'number of discharges (1-2)'
, m_fe20(this, 'fe20', "跳返係数(2-1)", 0.97f, 0.0f, 1.0f) // 'bounce coefficient (2-1)'
, m_fe21(this, 'fe21', "摩擦係数(2-1)", 0.75f, 0.0f, 1.0f) // 'friction coefficient (2-1)'
, m_fe22(this, 'fe22', "XZ初速Base(2-1)", 60.0f, 0.0f, 500.0f) // 'XZ muzzle velocity Base (2-1)'
, m_fe23(this, 'fe23', "XZ初速Rand(2-1)", 70.0f, 0.0f, 500.0f) // 'XZ muzzle velocity Rand (2-1)'
, m_fe24(this, 'fe24', "Y初速Base(2-1)", 350.0f, 0.0f, 500.0f) // 'Y muzzle velocity Base (2-1)'
, m_fe25(this, 'fe25', "Y初速Rand(2-1)", 100.0f, 0.0f, 500.0f) // 'Y muzzle velocity Rand (2-1)'
, m_fe26(this, 'fe26', "放電開始(2-1)", 0.5f, 0.0f, 5.0f) // 'discharge start (2-1)'
, m_fe28(this, 'fe28', "連鎖間隔(2-1)", 0.25f, 0.0f, 1.0f) // 'chain interval (2-1)'
, m_fe27(this, 'fe27', "放電数(2-1)", 8, 0, 16) // 'number of discharges (2-1)'
, m_fe30(this, 'fe30', "跳返係数(2-2)", 0.2f, 0.0f, 1.0f) // 'bounce coefficient (2-2)'
, m_fe31(this, 'fe31', "摩擦係数(2-2)", 0.985f, 0.0f, 1.0f) // 'friction coefficient (2-2)'
, m_fe32(this, 'fe32', "XZ初速Base(2-2)", 100.0f, 0.0f, 500.0f) // 'XZ muzzle velocity Base (2-2)'
, m_fe33(this, 'fe33', "XZ初速Rand(2-2)", 90.0f, 0.0f, 500.0f) // 'XZ muzzle velocity Rand (2-2)'
, m_fe34(this, 'fe34', "Y初速Base(2-2)", 70.0f, 0.0f, 500.0f) // 'Y muzzle velocity Base (2-2)'
, m_fe35(this, 'fe35', "Y初速Rand(2-2)", 20.0f, 0.0f, 500.0f) // 'Y muzzle velocity Rand (2-2)'
, m_fe36(this, 'fe36', "放電開始(2-2)", 0.2f, 0.0f, 5.0f) // 'discharge start (2-2)'
, m_fe38(this, 'fe38', "連鎖間隔(2-2)", 0.15f, 0.0f, 1.0f) // 'chain interval (2-2)'
, m_fe37(this, 'fe37', "放電数(2-2)", 14, 0, 16) // 'number of discharges (2-2)'
, m_fe99(this, 'fe99', "パターンチェック", 0, 0, 4) // 'pattern check'
, m_ff00(this, 'ff00', "火炎スケール(1)", 1.0f, 0.5f, 5.0f) // 'flame scale (1)'
, m_ff10(this, 'ff10', "火炎スケール(2)", 1.25f, 0.5f, 5.0f) // 'flame scale (2)'
, m_fg99x01(this, 'fg99', "パターンチェック", 0, 0, 2) // 'pattern check'
, m_fg00(this, 'fg00', "回転スピード(1)", 0.015f, 0.01f, 0.03f) // 'rotation speed (1)'
, m_fg10(this, 'fg10', "回転スピード(2)", 0.02f, 0.01f, 0.03f) // 'rotation speed (2)'
, m_fg30(this, 'fg30', "反転時間(2-1)", 30.0f, 0.0f, 30.0f) // 'reversal time (2-1)'
, m_fg40(this, 'fg40', "反転時間(2-2)", 2.0f, 0.0f, 30.0f) // 'reversal time (2-2)'
, m_fg99x02(this, 'fg99', "パターンチェック", 0, 0, 3) // 'pattern check'
, m_fw00(this, 'fw00', "放水間隔(1)", 0.5f, 0.1f, 1.0f) // 'water discharge interval (1)'
, m_fw01(this, 'fw01', "ランダム角度(1)", 0.5f, 0.0f, 1.0f) // 'random angle (1)'
, m_fw02(this, 'fw02', "ランダム距離(1)", 100.0f, 0.0f, 500.0f) // 'random distance (1)'
, m_fw10(this, 'fw10', "放水間隔(2)", 0.25f, 0.1f, 1.0f) // 'water discharge interval (2)
, m_fw11(this, 'fw11', "ランダム角度(2)", 0.4f, 0.0f, 1.0f) // 'random angle (2)'
, m_fw12(this, 'fw12', "ランダム距離(2)", 50.0f, 0.0f, 500.0f) // 'random distance (2)'
, m_fw99(this, 'fw99', "パターンチェック", 0, 0, 2) // 'pattern check'
{
}
Parm<f32> m_fp01; // _804
Parm<f32> m_fp02; // _82C
@ -324,9 +380,14 @@ struct Parms : public EnemyParmsBase {
Parm<int> m_fw99; // _1254
};
Parms();
Parms() { }
virtual void read(Stream&); // _08 (weak)
virtual void read(Stream& stream) // _08 (weak)
{
CreatureParms::read(stream);
m_general.read(stream);
m_properParms.read(stream);
}
// _00-_7F8 = EnemyParmsBase
ProperParms m_properParms; // _7F8

View File

@ -12,42 +12,42 @@ struct TDamaDeadBomb : public TSimple1 {
};
struct TDamaDeadElecA : public TChasePosPos {
virtual void ~TDamaDeadElecA(); // _48 (weak)
virtual ~TDamaDeadElecA(); // _48 (weak)
// _00 = VTBL
// _00-_18 = TChasePosPos
};
struct TDamaDeadElecB : public TChasePos {
virtual void ~TDamaDeadElecB(); // _48 (weak)
virtual ~TDamaDeadElecB(); // _48 (weak)
// _00 = VTBL
// _00-_14 = TChasePos
};
struct TDamaDeadHahenA : public TChasePosPos {
virtual void ~TDamaDeadHahenA(); // _48 (weak)
virtual ~TDamaDeadHahenA(); // _48 (weak)
// _00 = VTBL
// _00-_18 = TChasePosPos
};
struct TDamaDeadHahenB : public TChasePosPos {
virtual void ~TDamaDeadHahenB(); // _48 (weak)
virtual ~TDamaDeadHahenB(); // _48 (weak)
// _00 = VTBL
// _00-_18 = TChasePosPos
};
struct TDamaDeadHahenC1 : public TChaseMtx {
virtual void ~TDamaDeadHahenC1(); // _48 (weak)
virtual ~TDamaDeadHahenC1(); // _48 (weak)
// _00 = VTBL
// _00-_14 = TChaseMtx
};
struct TDamaDeadHahenC2 : public TChaseMtx {
virtual void ~TDamaDeadHahenC2(); // _48 (weak)
virtual ~TDamaDeadHahenC2(); // _48 (weak)
// _00 = VTBL
// _00-_14 = TChaseMtx
@ -59,21 +59,21 @@ struct TDamaFoot : public TChasePos2 {
};
struct TDamaFootw : public TChasePos {
virtual void ~TDamaFootw(); // _48 (weak)
virtual ~TDamaFootw(); // _48 (weak)
// _00 = VTBL
// _00-_14 = TChasePos
};
struct TDamaHahen : public TChasePosPos {
virtual void ~TDamaHahen(); // _48 (weak)
virtual ~TDamaHahen(); // _48 (weak)
// _00 = VTBL
// _00-_18 = TChasePosPos
};
struct TDamaSmoke : public TChasePos {
virtual void ~TDamaSmoke(); // _48 (weak)
virtual ~TDamaSmoke(); // _48 (weak)
// _00 = VTBL
// _00-_14 = TChasePos

View File

@ -811,7 +811,7 @@ NISHIMURA:=\
$(BUILD_DIR)/src/plugProjectNishimuraU/OniKurageMgr.o\
$(BUILD_DIR)/asm/plugProjectNishimuraU/OniKurage.o\
$(BUILD_DIR)/src/plugProjectNishimuraU/BigTreasureState.o\
$(BUILD_DIR)/asm/plugProjectNishimuraU/BigTreasureMgr.o\
$(BUILD_DIR)/src/plugProjectNishimuraU/BigTreasureMgr.o\
$(BUILD_DIR)/asm/plugProjectNishimuraU/BigTreasureShadow.o\
$(BUILD_DIR)/asm/plugProjectNishimuraU/BigTreasure.o\
$(BUILD_DIR)/asm/plugProjectNishimuraU/KabutoState.o\

File diff suppressed because it is too large Load Diff

View File

@ -191,3 +191,5 @@ You have 853 out of 10000 Pokos and 39 out of 201 treasures.",2022-10-25 14:38:5
You have 858 out of 10000 Pokos and 40 out of 201 treasures.",2022-10-25 19:05:41.382931
862,401272,0.08625142723508453,40,143532,0.20134781779209265,"
You have 862 out of 10000 Pokos and 40 out of 201 treasures.",2022-10-26 11:38:34.801217
874,406620,0.08740095332425406,41,145722,0.20441996700595913,"
You have 874 out of 10000 Pokos and 41 out of 201 treasures.",2022-10-26 13:40:30.078487

1 code_count_in_pokos code_completion_in_bytes code_completion_in_percentage data_count_in_treasures data_completion_in_bytes data_completion_in_percentage sentence created_at
191
192
193
194
195