mirror of
https://github.com/AxioDL/metaforce.git
synced 2025-05-15 21:51:29 +00:00
Implement class declaration for CFluidPlane/CFluidPlaneCPU
This commit is contained in:
parent
2f2ff96965
commit
e67a142013
@ -7,6 +7,9 @@ namespace DataSpec
|
|||||||
{
|
{
|
||||||
struct ITweakBall : ITweak
|
struct ITweakBall : ITweak
|
||||||
{
|
{
|
||||||
|
virtual float GetMaxBallTranslationAcceleration(int s) const=0;
|
||||||
|
virtual float GetBallTranslationFriction(int s) const=0;
|
||||||
|
virtual float GetBallTranslationMaxSpeed(int s) const=0;
|
||||||
virtual float GetBallCameraControlDistance() const=0;
|
virtual float GetBallCameraControlDistance() const=0;
|
||||||
virtual float GetLeftStickDivisor() const=0;
|
virtual float GetLeftStickDivisor() const=0;
|
||||||
virtual float GetRightStickDivisor() const=0;
|
virtual float GetRightStickDivisor() const=0;
|
||||||
|
@ -9,14 +9,14 @@ namespace DataSpec
|
|||||||
|
|
||||||
struct ITweakPlayer : ITweak
|
struct ITweakPlayer : ITweak
|
||||||
{
|
{
|
||||||
virtual float GetX50() const=0;
|
virtual float GetMaxTranslationalAcceleration(int s) const=0;
|
||||||
virtual float GetX54() const=0;
|
virtual float GetPlayerTranslationFriction(int s) const=0;
|
||||||
virtual float GetX58() const=0;
|
virtual float GetPlayerTranslationMaxSpeed(int s) const=0;
|
||||||
virtual float GetX5C() const=0;
|
|
||||||
virtual float GetNormalGravAccel() const=0;
|
virtual float GetNormalGravAccel() const=0;
|
||||||
virtual float GetFluidGravAccel() const=0;
|
virtual float GetFluidGravAccel() const=0;
|
||||||
virtual float GetEyeOffset() const=0;
|
virtual float GetEyeOffset() const=0;
|
||||||
virtual float GetHudLagAmount() const=0;
|
virtual float GetFreeLookSpeed() const=0;
|
||||||
|
virtual float GetFreeLookSnapSpeed() const=0;
|
||||||
virtual float GetFreeLookCenteredThresholdAngle() const=0;
|
virtual float GetFreeLookCenteredThresholdAngle() const=0;
|
||||||
virtual float GetFreeLookCenteredTime() const=0;
|
virtual float GetFreeLookCenteredTime() const=0;
|
||||||
virtual float GetOrbitNormalDistance() const=0;
|
virtual float GetOrbitNormalDistance() const=0;
|
||||||
@ -56,7 +56,7 @@ struct ITweakPlayer : ITweak
|
|||||||
virtual bool GetGunNotFiringHolstersGun() const=0;
|
virtual bool GetGunNotFiringHolstersGun() const=0;
|
||||||
virtual float GetPlayerHeight() const=0; // x26c
|
virtual float GetPlayerHeight() const=0; // x26c
|
||||||
virtual float GetPlayerXYHalfExtent() const=0; // x270
|
virtual float GetPlayerXYHalfExtent() const=0; // x270
|
||||||
virtual bool GetX228_24() const=0; // x228_24
|
virtual bool GetFreeLookTurnsPlayer() const=0; // x228_24
|
||||||
virtual float GetX274() const=0; // x274
|
virtual float GetX274() const=0; // x274
|
||||||
virtual float GetX278() const=0; // x278
|
virtual float GetX278() const=0; // x278
|
||||||
virtual float GetPlayerBallHalfExtent() const=0; // x27c
|
virtual float GetPlayerBallHalfExtent() const=0; // x27c
|
||||||
@ -85,7 +85,6 @@ struct ITweakPlayer : ITweak
|
|||||||
virtual float GetX29C() const=0; // x29c
|
virtual float GetX29C() const=0; // x29c
|
||||||
virtual float GetX280() const=0; // x280
|
virtual float GetX280() const=0; // x280
|
||||||
virtual float GetX2B0() const=0; // x2b0
|
virtual float GetX2B0() const=0; // x2b0
|
||||||
virtual float GetX138() const=0; // x138
|
|
||||||
virtual float GetX14C() const=0; // x14c
|
virtual float GetX14C() const=0; // x14c
|
||||||
virtual float GetLeftLogicalThreshold() const=0;
|
virtual float GetLeftLogicalThreshold() const=0;
|
||||||
virtual float GetRightLogicalThreshold() const=0;
|
virtual float GetRightLogicalThreshold() const=0;
|
||||||
|
@ -8,53 +8,53 @@ namespace DNAMP1
|
|||||||
void CTweakBall::read(athena::io::IStreamReader& __dna_reader)
|
void CTweakBall::read(athena::io::IStreamReader& __dna_reader)
|
||||||
{
|
{
|
||||||
/* x4_[0] */
|
/* x4_[0] */
|
||||||
x4_[0] = __dna_reader.readFloatBig();
|
x4_maxTranslationAcceleration[0] = __dna_reader.readFloatBig();
|
||||||
/* x4_[1] */
|
/* x4_[1] */
|
||||||
x4_[1] = __dna_reader.readFloatBig();
|
x4_maxTranslationAcceleration[1] = __dna_reader.readFloatBig();
|
||||||
/* x4_[2] */
|
/* x4_[2] */
|
||||||
x4_[2] = __dna_reader.readFloatBig();
|
x4_maxTranslationAcceleration[2] = __dna_reader.readFloatBig();
|
||||||
/* x4_[3] */
|
/* x4_[3] */
|
||||||
x4_[3] = __dna_reader.readFloatBig();
|
x4_maxTranslationAcceleration[3] = __dna_reader.readFloatBig();
|
||||||
/* x4_[4] */
|
/* x4_[4] */
|
||||||
x4_[4] = __dna_reader.readFloatBig();
|
x4_maxTranslationAcceleration[4] = __dna_reader.readFloatBig();
|
||||||
/* x4_[5] */
|
/* x4_[5] */
|
||||||
x4_[5] = __dna_reader.readFloatBig();
|
x4_maxTranslationAcceleration[5] = __dna_reader.readFloatBig();
|
||||||
/* x4_[6] */
|
/* x4_[6] */
|
||||||
x4_[6] = __dna_reader.readFloatBig();
|
x4_maxTranslationAcceleration[6] = __dna_reader.readFloatBig();
|
||||||
/* x4_[7] */
|
/* x4_[7] */
|
||||||
x4_[7] = __dna_reader.readFloatBig();
|
x4_maxTranslationAcceleration[7] = __dna_reader.readFloatBig();
|
||||||
/* x24_[0] */
|
/* x24_[0] */
|
||||||
x24_[0] = __dna_reader.readFloatBig();
|
x24_translationFriction[0] = __dna_reader.readFloatBig();
|
||||||
/* x24_[1] */
|
/* x24_[1] */
|
||||||
x24_[1] = __dna_reader.readFloatBig();
|
x24_translationFriction[1] = __dna_reader.readFloatBig();
|
||||||
/* x24_[2] */
|
/* x24_[2] */
|
||||||
x24_[2] = __dna_reader.readFloatBig();
|
x24_translationFriction[2] = __dna_reader.readFloatBig();
|
||||||
/* x24_[3] */
|
/* x24_[3] */
|
||||||
x24_[3] = __dna_reader.readFloatBig();
|
x24_translationFriction[3] = __dna_reader.readFloatBig();
|
||||||
/* x24_[4] */
|
/* x24_[4] */
|
||||||
x24_[4] = __dna_reader.readFloatBig();
|
x24_translationFriction[4] = __dna_reader.readFloatBig();
|
||||||
/* x24_[5] */
|
/* x24_[5] */
|
||||||
x24_[5] = __dna_reader.readFloatBig();
|
x24_translationFriction[5] = __dna_reader.readFloatBig();
|
||||||
/* x24_[6] */
|
/* x24_[6] */
|
||||||
x24_[6] = __dna_reader.readFloatBig();
|
x24_translationFriction[6] = __dna_reader.readFloatBig();
|
||||||
/* x24_[7] */
|
/* x24_[7] */
|
||||||
x24_[7] = __dna_reader.readFloatBig();
|
x24_translationFriction[7] = __dna_reader.readFloatBig();
|
||||||
/* x44_[0] */
|
/* x44_[0] */
|
||||||
x44_[0] = __dna_reader.readFloatBig();
|
x44_translationMaxSpeed[0] = __dna_reader.readFloatBig();
|
||||||
/* x44_[1] */
|
/* x44_[1] */
|
||||||
x44_[1] = __dna_reader.readFloatBig();
|
x44_translationMaxSpeed[1] = __dna_reader.readFloatBig();
|
||||||
/* x44_[2] */
|
/* x44_[2] */
|
||||||
x44_[2] = __dna_reader.readFloatBig();
|
x44_translationMaxSpeed[2] = __dna_reader.readFloatBig();
|
||||||
/* x44_[3] */
|
/* x44_[3] */
|
||||||
x44_[3] = __dna_reader.readFloatBig();
|
x44_translationMaxSpeed[3] = __dna_reader.readFloatBig();
|
||||||
/* x44_[4] */
|
/* x44_[4] */
|
||||||
x44_[4] = __dna_reader.readFloatBig();
|
x44_translationMaxSpeed[4] = __dna_reader.readFloatBig();
|
||||||
/* x44_[5] */
|
/* x44_[5] */
|
||||||
x44_[5] = __dna_reader.readFloatBig();
|
x44_translationMaxSpeed[5] = __dna_reader.readFloatBig();
|
||||||
/* x44_[6] */
|
/* x44_[6] */
|
||||||
x44_[6] = __dna_reader.readFloatBig();
|
x44_translationMaxSpeed[6] = __dna_reader.readFloatBig();
|
||||||
/* x44_[7] */
|
/* x44_[7] */
|
||||||
x44_[7] = __dna_reader.readFloatBig();
|
x44_translationMaxSpeed[7] = __dna_reader.readFloatBig();
|
||||||
/* x64_ */
|
/* x64_ */
|
||||||
x64_ = __dna_reader.readFloatBig();
|
x64_ = __dna_reader.readFloatBig();
|
||||||
/* x68_ */
|
/* x68_ */
|
||||||
@ -228,53 +228,53 @@ void CTweakBall::read(athena::io::IStreamReader& __dna_reader)
|
|||||||
void CTweakBall::write(athena::io::IStreamWriter& __dna_writer) const
|
void CTweakBall::write(athena::io::IStreamWriter& __dna_writer) const
|
||||||
{
|
{
|
||||||
/* x4_[0] */
|
/* x4_[0] */
|
||||||
__dna_writer.writeFloatBig(x4_[0]);
|
__dna_writer.writeFloatBig(x4_maxTranslationAcceleration[0]);
|
||||||
/* x4_[1] */
|
/* x4_[1] */
|
||||||
__dna_writer.writeFloatBig(x4_[1]);
|
__dna_writer.writeFloatBig(x4_maxTranslationAcceleration[1]);
|
||||||
/* x4_[2] */
|
/* x4_[2] */
|
||||||
__dna_writer.writeFloatBig(x4_[2]);
|
__dna_writer.writeFloatBig(x4_maxTranslationAcceleration[2]);
|
||||||
/* x4_[3] */
|
/* x4_[3] */
|
||||||
__dna_writer.writeFloatBig(x4_[3]);
|
__dna_writer.writeFloatBig(x4_maxTranslationAcceleration[3]);
|
||||||
/* x4_[4] */
|
/* x4_[4] */
|
||||||
__dna_writer.writeFloatBig(x4_[4]);
|
__dna_writer.writeFloatBig(x4_maxTranslationAcceleration[4]);
|
||||||
/* x4_[5] */
|
/* x4_[5] */
|
||||||
__dna_writer.writeFloatBig(x4_[5]);
|
__dna_writer.writeFloatBig(x4_maxTranslationAcceleration[5]);
|
||||||
/* x4_[6] */
|
/* x4_[6] */
|
||||||
__dna_writer.writeFloatBig(x4_[6]);
|
__dna_writer.writeFloatBig(x4_maxTranslationAcceleration[6]);
|
||||||
/* x4_[7] */
|
/* x4_[7] */
|
||||||
__dna_writer.writeFloatBig(x4_[7]);
|
__dna_writer.writeFloatBig(x4_maxTranslationAcceleration[7]);
|
||||||
/* x24_[0] */
|
/* x24_[0] */
|
||||||
__dna_writer.writeFloatBig(x24_[0]);
|
__dna_writer.writeFloatBig(x24_translationFriction[0]);
|
||||||
/* x24_[1] */
|
/* x24_[1] */
|
||||||
__dna_writer.writeFloatBig(x24_[1]);
|
__dna_writer.writeFloatBig(x24_translationFriction[1]);
|
||||||
/* x24_[2] */
|
/* x24_[2] */
|
||||||
__dna_writer.writeFloatBig(x24_[2]);
|
__dna_writer.writeFloatBig(x24_translationFriction[2]);
|
||||||
/* x24_[3] */
|
/* x24_[3] */
|
||||||
__dna_writer.writeFloatBig(x24_[3]);
|
__dna_writer.writeFloatBig(x24_translationFriction[3]);
|
||||||
/* x24_[4] */
|
/* x24_[4] */
|
||||||
__dna_writer.writeFloatBig(x24_[4]);
|
__dna_writer.writeFloatBig(x24_translationFriction[4]);
|
||||||
/* x24_[5] */
|
/* x24_[5] */
|
||||||
__dna_writer.writeFloatBig(x24_[5]);
|
__dna_writer.writeFloatBig(x24_translationFriction[5]);
|
||||||
/* x24_[6] */
|
/* x24_[6] */
|
||||||
__dna_writer.writeFloatBig(x24_[6]);
|
__dna_writer.writeFloatBig(x24_translationFriction[6]);
|
||||||
/* x24_[7] */
|
/* x24_[7] */
|
||||||
__dna_writer.writeFloatBig(x24_[7]);
|
__dna_writer.writeFloatBig(x24_translationFriction[7]);
|
||||||
/* x44_[0] */
|
/* x44_[0] */
|
||||||
__dna_writer.writeFloatBig(x44_[0]);
|
__dna_writer.writeFloatBig(x44_translationMaxSpeed[0]);
|
||||||
/* x44_[1] */
|
/* x44_[1] */
|
||||||
__dna_writer.writeFloatBig(x44_[1]);
|
__dna_writer.writeFloatBig(x44_translationMaxSpeed[1]);
|
||||||
/* x44_[2] */
|
/* x44_[2] */
|
||||||
__dna_writer.writeFloatBig(x44_[2]);
|
__dna_writer.writeFloatBig(x44_translationMaxSpeed[2]);
|
||||||
/* x44_[3] */
|
/* x44_[3] */
|
||||||
__dna_writer.writeFloatBig(x44_[3]);
|
__dna_writer.writeFloatBig(x44_translationMaxSpeed[3]);
|
||||||
/* x44_[4] */
|
/* x44_[4] */
|
||||||
__dna_writer.writeFloatBig(x44_[4]);
|
__dna_writer.writeFloatBig(x44_translationMaxSpeed[4]);
|
||||||
/* x44_[5] */
|
/* x44_[5] */
|
||||||
__dna_writer.writeFloatBig(x44_[5]);
|
__dna_writer.writeFloatBig(x44_translationMaxSpeed[5]);
|
||||||
/* x44_[6] */
|
/* x44_[6] */
|
||||||
__dna_writer.writeFloatBig(x44_[6]);
|
__dna_writer.writeFloatBig(x44_translationMaxSpeed[6]);
|
||||||
/* x44_[7] */
|
/* x44_[7] */
|
||||||
__dna_writer.writeFloatBig(x44_[7]);
|
__dna_writer.writeFloatBig(x44_translationMaxSpeed[7]);
|
||||||
/* x64_ */
|
/* x64_ */
|
||||||
__dna_writer.writeFloatBig(x64_);
|
__dna_writer.writeFloatBig(x64_);
|
||||||
/* x68_ */
|
/* x68_ */
|
||||||
@ -452,63 +452,63 @@ void CTweakBall::read(athena::io::YAMLDocReader& __dna_docin)
|
|||||||
if (auto v = __dna_docin.enterSubVector("x4_", __x4_Count))
|
if (auto v = __dna_docin.enterSubVector("x4_", __x4_Count))
|
||||||
{
|
{
|
||||||
/* x4_[0] */
|
/* x4_[0] */
|
||||||
x4_[0] = __dna_docin.readFloat("x4_");
|
x4_maxTranslationAcceleration[0] = __dna_docin.readFloat("x4_");
|
||||||
/* x4_[1] */
|
/* x4_[1] */
|
||||||
x4_[1] = __dna_docin.readFloat("x4_");
|
x4_maxTranslationAcceleration[1] = __dna_docin.readFloat("x4_");
|
||||||
/* x4_[2] */
|
/* x4_[2] */
|
||||||
x4_[2] = __dna_docin.readFloat("x4_");
|
x4_maxTranslationAcceleration[2] = __dna_docin.readFloat("x4_");
|
||||||
/* x4_[3] */
|
/* x4_[3] */
|
||||||
x4_[3] = __dna_docin.readFloat("x4_");
|
x4_maxTranslationAcceleration[3] = __dna_docin.readFloat("x4_");
|
||||||
/* x4_[4] */
|
/* x4_[4] */
|
||||||
x4_[4] = __dna_docin.readFloat("x4_");
|
x4_maxTranslationAcceleration[4] = __dna_docin.readFloat("x4_");
|
||||||
/* x4_[5] */
|
/* x4_[5] */
|
||||||
x4_[5] = __dna_docin.readFloat("x4_");
|
x4_maxTranslationAcceleration[5] = __dna_docin.readFloat("x4_");
|
||||||
/* x4_[6] */
|
/* x4_[6] */
|
||||||
x4_[6] = __dna_docin.readFloat("x4_");
|
x4_maxTranslationAcceleration[6] = __dna_docin.readFloat("x4_");
|
||||||
/* x4_[7] */
|
/* x4_[7] */
|
||||||
x4_[7] = __dna_docin.readFloat("x4_");
|
x4_maxTranslationAcceleration[7] = __dna_docin.readFloat("x4_");
|
||||||
}
|
}
|
||||||
/* x24_ */
|
/* x24_ */
|
||||||
size_t __x24_Count;
|
size_t __x24_Count;
|
||||||
if (auto v = __dna_docin.enterSubVector("x24_", __x24_Count))
|
if (auto v = __dna_docin.enterSubVector("x24_", __x24_Count))
|
||||||
{
|
{
|
||||||
/* x24_[0] */
|
/* x24_[0] */
|
||||||
x24_[0] = __dna_docin.readFloat("x24_");
|
x24_translationFriction[0] = __dna_docin.readFloat("x24_");
|
||||||
/* x24_[1] */
|
/* x24_[1] */
|
||||||
x24_[1] = __dna_docin.readFloat("x24_");
|
x24_translationFriction[1] = __dna_docin.readFloat("x24_");
|
||||||
/* x24_[2] */
|
/* x24_[2] */
|
||||||
x24_[2] = __dna_docin.readFloat("x24_");
|
x24_translationFriction[2] = __dna_docin.readFloat("x24_");
|
||||||
/* x24_[3] */
|
/* x24_[3] */
|
||||||
x24_[3] = __dna_docin.readFloat("x24_");
|
x24_translationFriction[3] = __dna_docin.readFloat("x24_");
|
||||||
/* x24_[4] */
|
/* x24_[4] */
|
||||||
x24_[4] = __dna_docin.readFloat("x24_");
|
x24_translationFriction[4] = __dna_docin.readFloat("x24_");
|
||||||
/* x24_[5] */
|
/* x24_[5] */
|
||||||
x24_[5] = __dna_docin.readFloat("x24_");
|
x24_translationFriction[5] = __dna_docin.readFloat("x24_");
|
||||||
/* x24_[6] */
|
/* x24_[6] */
|
||||||
x24_[6] = __dna_docin.readFloat("x24_");
|
x24_translationFriction[6] = __dna_docin.readFloat("x24_");
|
||||||
/* x24_[7] */
|
/* x24_[7] */
|
||||||
x24_[7] = __dna_docin.readFloat("x24_");
|
x24_translationFriction[7] = __dna_docin.readFloat("x24_");
|
||||||
}
|
}
|
||||||
/* x44_ */
|
/* x44_ */
|
||||||
size_t __x44_Count;
|
size_t __x44_Count;
|
||||||
if (auto v = __dna_docin.enterSubVector("x44_", __x44_Count))
|
if (auto v = __dna_docin.enterSubVector("x44_", __x44_Count))
|
||||||
{
|
{
|
||||||
/* x44_[0] */
|
/* x44_[0] */
|
||||||
x44_[0] = __dna_docin.readFloat("x44_");
|
x44_translationMaxSpeed[0] = __dna_docin.readFloat("x44_");
|
||||||
/* x44_[1] */
|
/* x44_[1] */
|
||||||
x44_[1] = __dna_docin.readFloat("x44_");
|
x44_translationMaxSpeed[1] = __dna_docin.readFloat("x44_");
|
||||||
/* x44_[2] */
|
/* x44_[2] */
|
||||||
x44_[2] = __dna_docin.readFloat("x44_");
|
x44_translationMaxSpeed[2] = __dna_docin.readFloat("x44_");
|
||||||
/* x44_[3] */
|
/* x44_[3] */
|
||||||
x44_[3] = __dna_docin.readFloat("x44_");
|
x44_translationMaxSpeed[3] = __dna_docin.readFloat("x44_");
|
||||||
/* x44_[4] */
|
/* x44_[4] */
|
||||||
x44_[4] = __dna_docin.readFloat("x44_");
|
x44_translationMaxSpeed[4] = __dna_docin.readFloat("x44_");
|
||||||
/* x44_[5] */
|
/* x44_[5] */
|
||||||
x44_[5] = __dna_docin.readFloat("x44_");
|
x44_translationMaxSpeed[5] = __dna_docin.readFloat("x44_");
|
||||||
/* x44_[6] */
|
/* x44_[6] */
|
||||||
x44_[6] = __dna_docin.readFloat("x44_");
|
x44_translationMaxSpeed[6] = __dna_docin.readFloat("x44_");
|
||||||
/* x44_[7] */
|
/* x44_[7] */
|
||||||
x44_[7] = __dna_docin.readFloat("x44_");
|
x44_translationMaxSpeed[7] = __dna_docin.readFloat("x44_");
|
||||||
}
|
}
|
||||||
/* x64_ */
|
/* x64_ */
|
||||||
x64_ = __dna_docin.readFloat("x64_");
|
x64_ = __dna_docin.readFloat("x64_");
|
||||||
@ -691,61 +691,61 @@ void CTweakBall::write(athena::io::YAMLDocWriter& __dna_docout) const
|
|||||||
if (auto v = __dna_docout.enterSubVector("x4_"))
|
if (auto v = __dna_docout.enterSubVector("x4_"))
|
||||||
{
|
{
|
||||||
/* x4_[0] */
|
/* x4_[0] */
|
||||||
__dna_docout.writeFloat("x4_", x4_[0]);
|
__dna_docout.writeFloat("x4_", x4_maxTranslationAcceleration[0]);
|
||||||
/* x4_[1] */
|
/* x4_[1] */
|
||||||
__dna_docout.writeFloat("x4_", x4_[1]);
|
__dna_docout.writeFloat("x4_", x4_maxTranslationAcceleration[1]);
|
||||||
/* x4_[2] */
|
/* x4_[2] */
|
||||||
__dna_docout.writeFloat("x4_", x4_[2]);
|
__dna_docout.writeFloat("x4_", x4_maxTranslationAcceleration[2]);
|
||||||
/* x4_[3] */
|
/* x4_[3] */
|
||||||
__dna_docout.writeFloat("x4_", x4_[3]);
|
__dna_docout.writeFloat("x4_", x4_maxTranslationAcceleration[3]);
|
||||||
/* x4_[4] */
|
/* x4_[4] */
|
||||||
__dna_docout.writeFloat("x4_", x4_[4]);
|
__dna_docout.writeFloat("x4_", x4_maxTranslationAcceleration[4]);
|
||||||
/* x4_[5] */
|
/* x4_[5] */
|
||||||
__dna_docout.writeFloat("x4_", x4_[5]);
|
__dna_docout.writeFloat("x4_", x4_maxTranslationAcceleration[5]);
|
||||||
/* x4_[6] */
|
/* x4_[6] */
|
||||||
__dna_docout.writeFloat("x4_", x4_[6]);
|
__dna_docout.writeFloat("x4_", x4_maxTranslationAcceleration[6]);
|
||||||
/* x4_[7] */
|
/* x4_[7] */
|
||||||
__dna_docout.writeFloat("x4_", x4_[7]);
|
__dna_docout.writeFloat("x4_", x4_maxTranslationAcceleration[7]);
|
||||||
}
|
}
|
||||||
/* x24_ */
|
/* x24_ */
|
||||||
if (auto v = __dna_docout.enterSubVector("x24_"))
|
if (auto v = __dna_docout.enterSubVector("x24_"))
|
||||||
{
|
{
|
||||||
/* x24_[0] */
|
/* x24_[0] */
|
||||||
__dna_docout.writeFloat("x24_", x24_[0]);
|
__dna_docout.writeFloat("x24_", x24_translationFriction[0]);
|
||||||
/* x24_[1] */
|
/* x24_[1] */
|
||||||
__dna_docout.writeFloat("x24_", x24_[1]);
|
__dna_docout.writeFloat("x24_", x24_translationFriction[1]);
|
||||||
/* x24_[2] */
|
/* x24_[2] */
|
||||||
__dna_docout.writeFloat("x24_", x24_[2]);
|
__dna_docout.writeFloat("x24_", x24_translationFriction[2]);
|
||||||
/* x24_[3] */
|
/* x24_[3] */
|
||||||
__dna_docout.writeFloat("x24_", x24_[3]);
|
__dna_docout.writeFloat("x24_", x24_translationFriction[3]);
|
||||||
/* x24_[4] */
|
/* x24_[4] */
|
||||||
__dna_docout.writeFloat("x24_", x24_[4]);
|
__dna_docout.writeFloat("x24_", x24_translationFriction[4]);
|
||||||
/* x24_[5] */
|
/* x24_[5] */
|
||||||
__dna_docout.writeFloat("x24_", x24_[5]);
|
__dna_docout.writeFloat("x24_", x24_translationFriction[5]);
|
||||||
/* x24_[6] */
|
/* x24_[6] */
|
||||||
__dna_docout.writeFloat("x24_", x24_[6]);
|
__dna_docout.writeFloat("x24_", x24_translationFriction[6]);
|
||||||
/* x24_[7] */
|
/* x24_[7] */
|
||||||
__dna_docout.writeFloat("x24_", x24_[7]);
|
__dna_docout.writeFloat("x24_", x24_translationFriction[7]);
|
||||||
}
|
}
|
||||||
/* x44_ */
|
/* x44_ */
|
||||||
if (auto v = __dna_docout.enterSubVector("x44_"))
|
if (auto v = __dna_docout.enterSubVector("x44_"))
|
||||||
{
|
{
|
||||||
/* x44_[0] */
|
/* x44_[0] */
|
||||||
__dna_docout.writeFloat("x44_", x44_[0]);
|
__dna_docout.writeFloat("x44_", x44_translationMaxSpeed[0]);
|
||||||
/* x44_[1] */
|
/* x44_[1] */
|
||||||
__dna_docout.writeFloat("x44_", x44_[1]);
|
__dna_docout.writeFloat("x44_", x44_translationMaxSpeed[1]);
|
||||||
/* x44_[2] */
|
/* x44_[2] */
|
||||||
__dna_docout.writeFloat("x44_", x44_[2]);
|
__dna_docout.writeFloat("x44_", x44_translationMaxSpeed[2]);
|
||||||
/* x44_[3] */
|
/* x44_[3] */
|
||||||
__dna_docout.writeFloat("x44_", x44_[3]);
|
__dna_docout.writeFloat("x44_", x44_translationMaxSpeed[3]);
|
||||||
/* x44_[4] */
|
/* x44_[4] */
|
||||||
__dna_docout.writeFloat("x44_", x44_[4]);
|
__dna_docout.writeFloat("x44_", x44_translationMaxSpeed[4]);
|
||||||
/* x44_[5] */
|
/* x44_[5] */
|
||||||
__dna_docout.writeFloat("x44_", x44_[5]);
|
__dna_docout.writeFloat("x44_", x44_translationMaxSpeed[5]);
|
||||||
/* x44_[6] */
|
/* x44_[6] */
|
||||||
__dna_docout.writeFloat("x44_", x44_[6]);
|
__dna_docout.writeFloat("x44_", x44_translationMaxSpeed[6]);
|
||||||
/* x44_[7] */
|
/* x44_[7] */
|
||||||
__dna_docout.writeFloat("x44_", x44_[7]);
|
__dna_docout.writeFloat("x44_", x44_translationMaxSpeed[7]);
|
||||||
}
|
}
|
||||||
/* x64_ */
|
/* x64_ */
|
||||||
__dna_docout.writeFloat("x64_", x64_);
|
__dna_docout.writeFloat("x64_", x64_);
|
||||||
|
@ -12,9 +12,9 @@ struct CTweakBall : public ITweakBall
|
|||||||
{
|
{
|
||||||
DECL_YAML
|
DECL_YAML
|
||||||
Delete __d;
|
Delete __d;
|
||||||
Value<float> x4_[8];
|
Value<float> x4_maxTranslationAcceleration[8];
|
||||||
Value<float> x24_[8];
|
Value<float> x24_translationFriction[8];
|
||||||
Value<float> x44_[8];
|
Value<float> x44_translationMaxSpeed[8];
|
||||||
Value<float> x64_;
|
Value<float> x64_;
|
||||||
Value<float> x68_;
|
Value<float> x68_;
|
||||||
Value<float> x6c_;
|
Value<float> x6c_;
|
||||||
@ -137,6 +137,9 @@ struct CTweakBall : public ITweakBall
|
|||||||
x1ec_ = zeus::degToRad(x1ec_);
|
x1ec_ = zeus::degToRad(x1ec_);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
float GetMaxBallTranslationAcceleration(int s) const { return x4_maxTranslationAcceleration[s]; }
|
||||||
|
float GetBallTranslationFriction(int s) const { return x24_translationFriction[s]; }
|
||||||
|
float GetBallTranslationMaxSpeed(int s) const { return x44_translationMaxSpeed[s]; }
|
||||||
float GetBallCameraControlDistance() const { return x1d0_ballCameraControlDistance; }
|
float GetBallCameraControlDistance() const { return x1d0_ballCameraControlDistance; }
|
||||||
float GetLeftStickDivisor() const { return x1e4_leftStickDivisor; }
|
float GetLeftStickDivisor() const { return x1e4_leftStickDivisor; }
|
||||||
float GetRightStickDivisor() const { return x1e8_rightStickDivisor; }
|
float GetRightStickDivisor() const { return x1e8_rightStickDivisor; }
|
||||||
|
@ -7,22 +7,22 @@ namespace DNAMP1
|
|||||||
{
|
{
|
||||||
void CTweakPlayer::read(athena::io::IStreamReader& __dna_reader)
|
void CTweakPlayer::read(athena::io::IStreamReader& __dna_reader)
|
||||||
{
|
{
|
||||||
/* x4_[0] */
|
/* x4_maxTranslationalAcceleration[0] */
|
||||||
x4_[0] = __dna_reader.readFloatBig();
|
x4_maxTranslationalAcceleration[0] = __dna_reader.readFloatBig();
|
||||||
/* x4_[1] */
|
/* x4_maxTranslationalAcceleration[1] */
|
||||||
x4_[1] = __dna_reader.readFloatBig();
|
x4_maxTranslationalAcceleration[1] = __dna_reader.readFloatBig();
|
||||||
/* x4_[2] */
|
/* x4_maxTranslationalAcceleration[2] */
|
||||||
x4_[2] = __dna_reader.readFloatBig();
|
x4_maxTranslationalAcceleration[2] = __dna_reader.readFloatBig();
|
||||||
/* x4_[3] */
|
/* x4_maxTranslationalAcceleration[3] */
|
||||||
x4_[3] = __dna_reader.readFloatBig();
|
x4_maxTranslationalAcceleration[3] = __dna_reader.readFloatBig();
|
||||||
/* x4_[4] */
|
/* x4_maxTranslationalAcceleration[4] */
|
||||||
x4_[4] = __dna_reader.readFloatBig();
|
x4_maxTranslationalAcceleration[4] = __dna_reader.readFloatBig();
|
||||||
/* x4_[5] */
|
/* x4_maxTranslationalAcceleration[5] */
|
||||||
x4_[5] = __dna_reader.readFloatBig();
|
x4_maxTranslationalAcceleration[5] = __dna_reader.readFloatBig();
|
||||||
/* x4_[6] */
|
/* x4_maxTranslationalAcceleration[6] */
|
||||||
x4_[6] = __dna_reader.readFloatBig();
|
x4_maxTranslationalAcceleration[6] = __dna_reader.readFloatBig();
|
||||||
/* x4_[7] */
|
/* x4_maxTranslationalAcceleration[7] */
|
||||||
x4_[7] = __dna_reader.readFloatBig();
|
x4_maxTranslationalAcceleration[7] = __dna_reader.readFloatBig();
|
||||||
/* x24_[0] */
|
/* x24_[0] */
|
||||||
x24_[0] = __dna_reader.readFloatBig();
|
x24_[0] = __dna_reader.readFloatBig();
|
||||||
/* x24_[1] */
|
/* x24_[1] */
|
||||||
@ -39,22 +39,22 @@ void CTweakPlayer::read(athena::io::IStreamReader& __dna_reader)
|
|||||||
x24_[6] = __dna_reader.readFloatBig();
|
x24_[6] = __dna_reader.readFloatBig();
|
||||||
/* x24_[7] */
|
/* x24_[7] */
|
||||||
x24_[7] = __dna_reader.readFloatBig();
|
x24_[7] = __dna_reader.readFloatBig();
|
||||||
/* x44_[0] */
|
/* x44_translationFriction[0] */
|
||||||
x44_[0] = __dna_reader.readFloatBig();
|
x44_translationFriction[0] = __dna_reader.readFloatBig();
|
||||||
/* x44_[1] */
|
/* x44_translationFriction[1] */
|
||||||
x44_[1] = __dna_reader.readFloatBig();
|
x44_translationFriction[1] = __dna_reader.readFloatBig();
|
||||||
/* x44_[2] */
|
/* x44_translationFriction[2] */
|
||||||
x44_[2] = __dna_reader.readFloatBig();
|
x44_translationFriction[2] = __dna_reader.readFloatBig();
|
||||||
/* x44_[3] */
|
/* x44_translationFriction[3] */
|
||||||
x44_[3] = __dna_reader.readFloatBig();
|
x44_translationFriction[3] = __dna_reader.readFloatBig();
|
||||||
/* x44_[4] */
|
/* x44_translationFriction[4] */
|
||||||
x44_[4] = __dna_reader.readFloatBig();
|
x44_translationFriction[4] = __dna_reader.readFloatBig();
|
||||||
/* x44_[5] */
|
/* x44_translationFriction[5] */
|
||||||
x44_[5] = __dna_reader.readFloatBig();
|
x44_translationFriction[5] = __dna_reader.readFloatBig();
|
||||||
/* x44_[6] */
|
/* x44_translationFriction[6] */
|
||||||
x44_[6] = __dna_reader.readFloatBig();
|
x44_translationFriction[6] = __dna_reader.readFloatBig();
|
||||||
/* x44_[7] */
|
/* x44_translationFriction[7] */
|
||||||
x44_[7] = __dna_reader.readFloatBig();
|
x44_translationFriction[7] = __dna_reader.readFloatBig();
|
||||||
/* x64_[0] */
|
/* x64_[0] */
|
||||||
x64_[0] = __dna_reader.readFloatBig();
|
x64_[0] = __dna_reader.readFloatBig();
|
||||||
/* x64_[1] */
|
/* x64_[1] */
|
||||||
@ -87,22 +87,22 @@ void CTweakPlayer::read(athena::io::IStreamReader& __dna_reader)
|
|||||||
x84_[6] = __dna_reader.readFloatBig();
|
x84_[6] = __dna_reader.readFloatBig();
|
||||||
/* x84_[7] */
|
/* x84_[7] */
|
||||||
x84_[7] = __dna_reader.readFloatBig();
|
x84_[7] = __dna_reader.readFloatBig();
|
||||||
/* xa4_[0] */
|
/* xa4_translationMaxSpeed[0] */
|
||||||
xa4_[0] = __dna_reader.readFloatBig();
|
xa4_translationMaxSpeed[0] = __dna_reader.readFloatBig();
|
||||||
/* xa4_[1] */
|
/* xa4_translationMaxSpeed[1] */
|
||||||
xa4_[1] = __dna_reader.readFloatBig();
|
xa4_translationMaxSpeed[1] = __dna_reader.readFloatBig();
|
||||||
/* xa4_[2] */
|
/* xa4_translationMaxSpeed[2] */
|
||||||
xa4_[2] = __dna_reader.readFloatBig();
|
xa4_translationMaxSpeed[2] = __dna_reader.readFloatBig();
|
||||||
/* xa4_[3] */
|
/* xa4_translationMaxSpeed[3] */
|
||||||
xa4_[3] = __dna_reader.readFloatBig();
|
xa4_translationMaxSpeed[3] = __dna_reader.readFloatBig();
|
||||||
/* xa4_[4] */
|
/* xa4_translationMaxSpeed[4] */
|
||||||
xa4_[4] = __dna_reader.readFloatBig();
|
xa4_translationMaxSpeed[4] = __dna_reader.readFloatBig();
|
||||||
/* xa4_[5] */
|
/* xa4_translationMaxSpeed[5] */
|
||||||
xa4_[5] = __dna_reader.readFloatBig();
|
xa4_translationMaxSpeed[5] = __dna_reader.readFloatBig();
|
||||||
/* xa4_[6] */
|
/* xa4_translationMaxSpeed[6] */
|
||||||
xa4_[6] = __dna_reader.readFloatBig();
|
xa4_translationMaxSpeed[6] = __dna_reader.readFloatBig();
|
||||||
/* xa4_[7] */
|
/* xa4_translationMaxSpeed[7] */
|
||||||
xa4_[7] = __dna_reader.readFloatBig();
|
xa4_translationMaxSpeed[7] = __dna_reader.readFloatBig();
|
||||||
/* xc4_normalGravAccel */
|
/* xc4_normalGravAccel */
|
||||||
xc4_normalGravAccel = __dna_reader.readFloatBig();
|
xc4_normalGravAccel = __dna_reader.readFloatBig();
|
||||||
/* xc8_fluidGravAccel */
|
/* xc8_fluidGravAccel */
|
||||||
@ -161,10 +161,10 @@ void CTweakPlayer::read(athena::io::IStreamReader& __dna_reader)
|
|||||||
x130_horizontalFreeLookAngleVel = __dna_reader.readFloatBig();
|
x130_horizontalFreeLookAngleVel = __dna_reader.readFloatBig();
|
||||||
/* x134_verticalFreeLookAngleVel */
|
/* x134_verticalFreeLookAngleVel */
|
||||||
x134_verticalFreeLookAngleVel = __dna_reader.readFloatBig();
|
x134_verticalFreeLookAngleVel = __dna_reader.readFloatBig();
|
||||||
/* x138_hudLagAmount */
|
/* x138_freeLookSpeed */
|
||||||
x138_hudLagAmount = __dna_reader.readFloatBig();
|
x138_freeLookSpeed = __dna_reader.readFloatBig();
|
||||||
/* x13c_ */
|
/* x13c_freeLookSnapSpeed */
|
||||||
x13c_ = __dna_reader.readFloatBig();
|
x13c_freeLookSnapSpeed = __dna_reader.readFloatBig();
|
||||||
/* x140_ */
|
/* x140_ */
|
||||||
x140_ = __dna_reader.readFloatBig();
|
x140_ = __dna_reader.readFloatBig();
|
||||||
/* x144_freeLookCenteredThresholdAngle */
|
/* x144_freeLookCenteredThresholdAngle */
|
||||||
@ -177,8 +177,8 @@ void CTweakPlayer::read(athena::io::IStreamReader& __dna_reader)
|
|||||||
x150_leftDiv = __dna_reader.readFloatBig();
|
x150_leftDiv = __dna_reader.readFloatBig();
|
||||||
/* x154_rightDiv */
|
/* x154_rightDiv */
|
||||||
x154_rightDiv = __dna_reader.readFloatBig();
|
x154_rightDiv = __dna_reader.readFloatBig();
|
||||||
/* x228_24_ */
|
/* x228_24_freelookTurnsPlayer */
|
||||||
x228_24_ = __dna_reader.readBool();
|
x228_24_freelookTurnsPlayer = __dna_reader.readBool();
|
||||||
/* x228_25_ */
|
/* x228_25_ */
|
||||||
x228_25_ = __dna_reader.readBool();
|
x228_25_ = __dna_reader.readBool();
|
||||||
/* x228_26_ */
|
/* x228_26_ */
|
||||||
@ -447,22 +447,22 @@ void CTweakPlayer::read(athena::io::IStreamReader& __dna_reader)
|
|||||||
|
|
||||||
void CTweakPlayer::write(athena::io::IStreamWriter& __dna_writer) const
|
void CTweakPlayer::write(athena::io::IStreamWriter& __dna_writer) const
|
||||||
{
|
{
|
||||||
/* x4_[0] */
|
/* x4_maxTranslationalAcceleration[0] */
|
||||||
__dna_writer.writeFloatBig(x4_[0]);
|
__dna_writer.writeFloatBig(x4_maxTranslationalAcceleration[0]);
|
||||||
/* x4_[1] */
|
/* x4_maxTranslationalAcceleration[1] */
|
||||||
__dna_writer.writeFloatBig(x4_[1]);
|
__dna_writer.writeFloatBig(x4_maxTranslationalAcceleration[1]);
|
||||||
/* x4_[2] */
|
/* x4_maxTranslationalAcceleration[2] */
|
||||||
__dna_writer.writeFloatBig(x4_[2]);
|
__dna_writer.writeFloatBig(x4_maxTranslationalAcceleration[2]);
|
||||||
/* x4_[3] */
|
/* x4_maxTranslationalAcceleration[3] */
|
||||||
__dna_writer.writeFloatBig(x4_[3]);
|
__dna_writer.writeFloatBig(x4_maxTranslationalAcceleration[3]);
|
||||||
/* x4_[4] */
|
/* x4_maxTranslationalAcceleration[4] */
|
||||||
__dna_writer.writeFloatBig(x4_[4]);
|
__dna_writer.writeFloatBig(x4_maxTranslationalAcceleration[4]);
|
||||||
/* x4_[5] */
|
/* x4_maxTranslationalAcceleration[5] */
|
||||||
__dna_writer.writeFloatBig(x4_[5]);
|
__dna_writer.writeFloatBig(x4_maxTranslationalAcceleration[5]);
|
||||||
/* x4_[6] */
|
/* x4_maxTranslationalAcceleration[6] */
|
||||||
__dna_writer.writeFloatBig(x4_[6]);
|
__dna_writer.writeFloatBig(x4_maxTranslationalAcceleration[6]);
|
||||||
/* x4_[7] */
|
/* x4_maxTranslationalAcceleration[7] */
|
||||||
__dna_writer.writeFloatBig(x4_[7]);
|
__dna_writer.writeFloatBig(x4_maxTranslationalAcceleration[7]);
|
||||||
/* x24_[0] */
|
/* x24_[0] */
|
||||||
__dna_writer.writeFloatBig(x24_[0]);
|
__dna_writer.writeFloatBig(x24_[0]);
|
||||||
/* x24_[1] */
|
/* x24_[1] */
|
||||||
@ -479,22 +479,22 @@ void CTweakPlayer::write(athena::io::IStreamWriter& __dna_writer) const
|
|||||||
__dna_writer.writeFloatBig(x24_[6]);
|
__dna_writer.writeFloatBig(x24_[6]);
|
||||||
/* x24_[7] */
|
/* x24_[7] */
|
||||||
__dna_writer.writeFloatBig(x24_[7]);
|
__dna_writer.writeFloatBig(x24_[7]);
|
||||||
/* x44_[0] */
|
/* x44_translationFriction[0] */
|
||||||
__dna_writer.writeFloatBig(x44_[0]);
|
__dna_writer.writeFloatBig(x44_translationFriction[0]);
|
||||||
/* x44_[1] */
|
/* x44_translationFriction[1] */
|
||||||
__dna_writer.writeFloatBig(x44_[1]);
|
__dna_writer.writeFloatBig(x44_translationFriction[1]);
|
||||||
/* x44_[2] */
|
/* x44_translationFriction[2] */
|
||||||
__dna_writer.writeFloatBig(x44_[2]);
|
__dna_writer.writeFloatBig(x44_translationFriction[2]);
|
||||||
/* x44_[3] */
|
/* x44_translationFriction[3] */
|
||||||
__dna_writer.writeFloatBig(x44_[3]);
|
__dna_writer.writeFloatBig(x44_translationFriction[3]);
|
||||||
/* x44_[4] */
|
/* x44_translationFriction[4] */
|
||||||
__dna_writer.writeFloatBig(x44_[4]);
|
__dna_writer.writeFloatBig(x44_translationFriction[4]);
|
||||||
/* x44_[5] */
|
/* x44_translationFriction[5] */
|
||||||
__dna_writer.writeFloatBig(x44_[5]);
|
__dna_writer.writeFloatBig(x44_translationFriction[5]);
|
||||||
/* x44_[6] */
|
/* x44_translationFriction[6] */
|
||||||
__dna_writer.writeFloatBig(x44_[6]);
|
__dna_writer.writeFloatBig(x44_translationFriction[6]);
|
||||||
/* x44_[7] */
|
/* x44_translationFriction[7] */
|
||||||
__dna_writer.writeFloatBig(x44_[7]);
|
__dna_writer.writeFloatBig(x44_translationFriction[7]);
|
||||||
/* x64_[0] */
|
/* x64_[0] */
|
||||||
__dna_writer.writeFloatBig(x64_[0]);
|
__dna_writer.writeFloatBig(x64_[0]);
|
||||||
/* x64_[1] */
|
/* x64_[1] */
|
||||||
@ -527,22 +527,22 @@ void CTweakPlayer::write(athena::io::IStreamWriter& __dna_writer) const
|
|||||||
__dna_writer.writeFloatBig(x84_[6]);
|
__dna_writer.writeFloatBig(x84_[6]);
|
||||||
/* x84_[7] */
|
/* x84_[7] */
|
||||||
__dna_writer.writeFloatBig(x84_[7]);
|
__dna_writer.writeFloatBig(x84_[7]);
|
||||||
/* xa4_[0] */
|
/* xa4_translationMaxSpeed[0] */
|
||||||
__dna_writer.writeFloatBig(xa4_[0]);
|
__dna_writer.writeFloatBig(xa4_translationMaxSpeed[0]);
|
||||||
/* xa4_[1] */
|
/* xa4_translationMaxSpeed[1] */
|
||||||
__dna_writer.writeFloatBig(xa4_[1]);
|
__dna_writer.writeFloatBig(xa4_translationMaxSpeed[1]);
|
||||||
/* xa4_[2] */
|
/* xa4_translationMaxSpeed[2] */
|
||||||
__dna_writer.writeFloatBig(xa4_[2]);
|
__dna_writer.writeFloatBig(xa4_translationMaxSpeed[2]);
|
||||||
/* xa4_[3] */
|
/* xa4_translationMaxSpeed[3] */
|
||||||
__dna_writer.writeFloatBig(xa4_[3]);
|
__dna_writer.writeFloatBig(xa4_translationMaxSpeed[3]);
|
||||||
/* xa4_[4] */
|
/* xa4_translationMaxSpeed[4] */
|
||||||
__dna_writer.writeFloatBig(xa4_[4]);
|
__dna_writer.writeFloatBig(xa4_translationMaxSpeed[4]);
|
||||||
/* xa4_[5] */
|
/* xa4_translationMaxSpeed[5] */
|
||||||
__dna_writer.writeFloatBig(xa4_[5]);
|
__dna_writer.writeFloatBig(xa4_translationMaxSpeed[5]);
|
||||||
/* xa4_[6] */
|
/* xa4_translationMaxSpeed[6] */
|
||||||
__dna_writer.writeFloatBig(xa4_[6]);
|
__dna_writer.writeFloatBig(xa4_translationMaxSpeed[6]);
|
||||||
/* xa4_[7] */
|
/* xa4_translationMaxSpeed[7] */
|
||||||
__dna_writer.writeFloatBig(xa4_[7]);
|
__dna_writer.writeFloatBig(xa4_translationMaxSpeed[7]);
|
||||||
/* xc4_normalGravAccel */
|
/* xc4_normalGravAccel */
|
||||||
__dna_writer.writeFloatBig(xc4_normalGravAccel);
|
__dna_writer.writeFloatBig(xc4_normalGravAccel);
|
||||||
/* xc8_fluidGravAccel */
|
/* xc8_fluidGravAccel */
|
||||||
@ -601,10 +601,10 @@ void CTweakPlayer::write(athena::io::IStreamWriter& __dna_writer) const
|
|||||||
__dna_writer.writeFloatBig(x130_horizontalFreeLookAngleVel);
|
__dna_writer.writeFloatBig(x130_horizontalFreeLookAngleVel);
|
||||||
/* x134_verticalFreeLookAngleVel */
|
/* x134_verticalFreeLookAngleVel */
|
||||||
__dna_writer.writeFloatBig(x134_verticalFreeLookAngleVel);
|
__dna_writer.writeFloatBig(x134_verticalFreeLookAngleVel);
|
||||||
/* x138_ */
|
/* x138_freeLookSpeed */
|
||||||
__dna_writer.writeFloatBig(x138_hudLagAmount);
|
__dna_writer.writeFloatBig(x138_freeLookSpeed);
|
||||||
/* x13c_ */
|
/* x13c_freeLookSnapSpeed */
|
||||||
__dna_writer.writeFloatBig(x13c_);
|
__dna_writer.writeFloatBig(x13c_freeLookSnapSpeed);
|
||||||
/* x140_ */
|
/* x140_ */
|
||||||
__dna_writer.writeFloatBig(x140_);
|
__dna_writer.writeFloatBig(x140_);
|
||||||
/* x144_freeLookCenteredThresholdAngle */
|
/* x144_freeLookCenteredThresholdAngle */
|
||||||
@ -617,8 +617,8 @@ void CTweakPlayer::write(athena::io::IStreamWriter& __dna_writer) const
|
|||||||
__dna_writer.writeFloatBig(x150_leftDiv);
|
__dna_writer.writeFloatBig(x150_leftDiv);
|
||||||
/* x154_rightDiv */
|
/* x154_rightDiv */
|
||||||
__dna_writer.writeFloatBig(x154_rightDiv);
|
__dna_writer.writeFloatBig(x154_rightDiv);
|
||||||
/* x228_24_ */
|
/* x228_24_freelookTurnsPlayer */
|
||||||
__dna_writer.writeBool(x228_24_);
|
__dna_writer.writeBool(x228_24_freelookTurnsPlayer);
|
||||||
/* x228_25_ */
|
/* x228_25_ */
|
||||||
__dna_writer.writeBool(x228_25_);
|
__dna_writer.writeBool(x228_25_);
|
||||||
/* x228_26_ */
|
/* x228_26_ */
|
||||||
@ -887,26 +887,26 @@ void CTweakPlayer::write(athena::io::IStreamWriter& __dna_writer) const
|
|||||||
|
|
||||||
void CTweakPlayer::read(athena::io::YAMLDocReader& __dna_docin)
|
void CTweakPlayer::read(athena::io::YAMLDocReader& __dna_docin)
|
||||||
{
|
{
|
||||||
/* x4_ */
|
/* x4_maxTranslationalAcceleration */
|
||||||
size_t __x4_Count;
|
size_t __x4_Count;
|
||||||
if (auto v = __dna_docin.enterSubVector("x4_", __x4_Count))
|
if (auto v = __dna_docin.enterSubVector("x4_maxTranslationalAcceleration", __x4_Count))
|
||||||
{
|
{
|
||||||
/* x4_[0] */
|
/* x4_maxTranslationalAcceleration[0] */
|
||||||
x4_[0] = __dna_docin.readFloat("x4_");
|
x4_maxTranslationalAcceleration[0] = __dna_docin.readFloat("x4_maxTranslationalAcceleration");
|
||||||
/* x4_[1] */
|
/* x4_maxTranslationalAcceleration[1] */
|
||||||
x4_[1] = __dna_docin.readFloat("x4_");
|
x4_maxTranslationalAcceleration[1] = __dna_docin.readFloat("x4_maxTranslationalAcceleration");
|
||||||
/* x4_[2] */
|
/* x4_maxTranslationalAcceleration[2] */
|
||||||
x4_[2] = __dna_docin.readFloat("x4_");
|
x4_maxTranslationalAcceleration[2] = __dna_docin.readFloat("x4_maxTranslationalAcceleration");
|
||||||
/* x4_[3] */
|
/* x4_maxTranslationalAcceleration[3] */
|
||||||
x4_[3] = __dna_docin.readFloat("x4_");
|
x4_maxTranslationalAcceleration[3] = __dna_docin.readFloat("x4_maxTranslationalAcceleration");
|
||||||
/* x4_[4] */
|
/* x4_maxTranslationalAcceleration[4] */
|
||||||
x4_[4] = __dna_docin.readFloat("x4_");
|
x4_maxTranslationalAcceleration[4] = __dna_docin.readFloat("x4_maxTranslationalAcceleration");
|
||||||
/* x4_[5] */
|
/* x4_maxTranslationalAcceleration[5] */
|
||||||
x4_[5] = __dna_docin.readFloat("x4_");
|
x4_maxTranslationalAcceleration[5] = __dna_docin.readFloat("x4_maxTranslationalAcceleration");
|
||||||
/* x4_[6] */
|
/* x4_maxTranslationalAcceleration[6] */
|
||||||
x4_[6] = __dna_docin.readFloat("x4_");
|
x4_maxTranslationalAcceleration[6] = __dna_docin.readFloat("x4_maxTranslationalAcceleration");
|
||||||
/* x4_[7] */
|
/* x4_maxTranslationalAcceleration[7] */
|
||||||
x4_[7] = __dna_docin.readFloat("x4_");
|
x4_maxTranslationalAcceleration[7] = __dna_docin.readFloat("x4_maxTranslationalAcceleration");
|
||||||
}
|
}
|
||||||
/* x24_ */
|
/* x24_ */
|
||||||
size_t __x24_Count;
|
size_t __x24_Count;
|
||||||
@ -929,26 +929,26 @@ void CTweakPlayer::read(athena::io::YAMLDocReader& __dna_docin)
|
|||||||
/* x24_[7] */
|
/* x24_[7] */
|
||||||
x24_[7] = __dna_docin.readFloat("x24_");
|
x24_[7] = __dna_docin.readFloat("x24_");
|
||||||
}
|
}
|
||||||
/* x44_ */
|
/* x44_translationFriction */
|
||||||
size_t __x44_Count;
|
size_t __x44_Count;
|
||||||
if (auto v = __dna_docin.enterSubVector("x44_", __x44_Count))
|
if (auto v = __dna_docin.enterSubVector("x44_translationFriction", __x44_Count))
|
||||||
{
|
{
|
||||||
/* x44_[0] */
|
/* x44_translationFriction[0] */
|
||||||
x44_[0] = __dna_docin.readFloat("x44_");
|
x44_translationFriction[0] = __dna_docin.readFloat("x44_translationFriction");
|
||||||
/* x44_[1] */
|
/* x44_translationFriction[1] */
|
||||||
x44_[1] = __dna_docin.readFloat("x44_");
|
x44_translationFriction[1] = __dna_docin.readFloat("x44_translationFriction");
|
||||||
/* x44_[2] */
|
/* x44_translationFriction[2] */
|
||||||
x44_[2] = __dna_docin.readFloat("x44_");
|
x44_translationFriction[2] = __dna_docin.readFloat("x44_translationFriction");
|
||||||
/* x44_[3] */
|
/* x44_translationFriction[3] */
|
||||||
x44_[3] = __dna_docin.readFloat("x44_");
|
x44_translationFriction[3] = __dna_docin.readFloat("x44_translationFriction");
|
||||||
/* x44_[4] */
|
/* x44_translationFriction[4] */
|
||||||
x44_[4] = __dna_docin.readFloat("x44_");
|
x44_translationFriction[4] = __dna_docin.readFloat("x44_translationFriction");
|
||||||
/* x44_[5] */
|
/* x44_translationFriction[5] */
|
||||||
x44_[5] = __dna_docin.readFloat("x44_");
|
x44_translationFriction[5] = __dna_docin.readFloat("x44_translationFriction");
|
||||||
/* x44_[6] */
|
/* x44_translationFriction[6] */
|
||||||
x44_[6] = __dna_docin.readFloat("x44_");
|
x44_translationFriction[6] = __dna_docin.readFloat("x44_translationFriction");
|
||||||
/* x44_[7] */
|
/* x44_translationFriction[7] */
|
||||||
x44_[7] = __dna_docin.readFloat("x44_");
|
x44_translationFriction[7] = __dna_docin.readFloat("x44_translationFriction");
|
||||||
}
|
}
|
||||||
/* x64_ */
|
/* x64_ */
|
||||||
size_t __x64_Count;
|
size_t __x64_Count;
|
||||||
@ -992,26 +992,26 @@ void CTweakPlayer::read(athena::io::YAMLDocReader& __dna_docin)
|
|||||||
/* x84_[7] */
|
/* x84_[7] */
|
||||||
x84_[7] = __dna_docin.readFloat("x84_");
|
x84_[7] = __dna_docin.readFloat("x84_");
|
||||||
}
|
}
|
||||||
/* xa4_ */
|
/* xa4_translationMaxSpeed */
|
||||||
size_t __xa4_Count;
|
size_t __xa4_Count;
|
||||||
if (auto v = __dna_docin.enterSubVector("xa4_", __xa4_Count))
|
if (auto v = __dna_docin.enterSubVector("xa4_translationMaxSpeed", __xa4_Count))
|
||||||
{
|
{
|
||||||
/* xa4_[0] */
|
/* xa4_translationMaxSpeed[0] */
|
||||||
xa4_[0] = __dna_docin.readFloat("xa4_");
|
xa4_translationMaxSpeed[0] = __dna_docin.readFloat("xa4_translationMaxSpeed");
|
||||||
/* xa4_[1] */
|
/* xa4_translationMaxSpeed[1] */
|
||||||
xa4_[1] = __dna_docin.readFloat("xa4_");
|
xa4_translationMaxSpeed[1] = __dna_docin.readFloat("xa4_translationMaxSpeed");
|
||||||
/* xa4_[2] */
|
/* xa4_translationMaxSpeed[2] */
|
||||||
xa4_[2] = __dna_docin.readFloat("xa4_");
|
xa4_translationMaxSpeed[2] = __dna_docin.readFloat("xa4_translationMaxSpeed");
|
||||||
/* xa4_[3] */
|
/* xa4_translationMaxSpeed[3] */
|
||||||
xa4_[3] = __dna_docin.readFloat("xa4_");
|
xa4_translationMaxSpeed[3] = __dna_docin.readFloat("xa4_translationMaxSpeed");
|
||||||
/* xa4_[4] */
|
/* xa4_translationMaxSpeed[4] */
|
||||||
xa4_[4] = __dna_docin.readFloat("xa4_");
|
xa4_translationMaxSpeed[4] = __dna_docin.readFloat("xa4_translationMaxSpeed");
|
||||||
/* xa4_[5] */
|
/* xa4_translationMaxSpeed[5] */
|
||||||
xa4_[5] = __dna_docin.readFloat("xa4_");
|
xa4_translationMaxSpeed[5] = __dna_docin.readFloat("xa4_translationMaxSpeed");
|
||||||
/* xa4_[6] */
|
/* xa4_translationMaxSpeed[6] */
|
||||||
xa4_[6] = __dna_docin.readFloat("xa4_");
|
xa4_translationMaxSpeed[6] = __dna_docin.readFloat("xa4_translationMaxSpeed");
|
||||||
/* xa4_[7] */
|
/* xa4_translationMaxSpeed[7] */
|
||||||
xa4_[7] = __dna_docin.readFloat("xa4_");
|
xa4_translationMaxSpeed[7] = __dna_docin.readFloat("xa4_translationMaxSpeed");
|
||||||
}
|
}
|
||||||
/* xc4_normalGravAccel */
|
/* xc4_normalGravAccel */
|
||||||
xc4_normalGravAccel = __dna_docin.readFloat("xc4_normalGravAccel");
|
xc4_normalGravAccel = __dna_docin.readFloat("xc4_normalGravAccel");
|
||||||
@ -1071,10 +1071,10 @@ void CTweakPlayer::read(athena::io::YAMLDocReader& __dna_docin)
|
|||||||
x130_horizontalFreeLookAngleVel = __dna_docin.readFloat("x130_horizontalFreeLookAngleVel");
|
x130_horizontalFreeLookAngleVel = __dna_docin.readFloat("x130_horizontalFreeLookAngleVel");
|
||||||
/* x134_verticalFreeLookAngleVel */
|
/* x134_verticalFreeLookAngleVel */
|
||||||
x134_verticalFreeLookAngleVel = __dna_docin.readFloat("x134_verticalFreeLookAngleVel");
|
x134_verticalFreeLookAngleVel = __dna_docin.readFloat("x134_verticalFreeLookAngleVel");
|
||||||
/* x138_hudLagAmount */
|
/* x138_freeLookSpeed */
|
||||||
x138_hudLagAmount = __dna_docin.readFloat("x138_hudLagAmount");
|
x138_freeLookSpeed = __dna_docin.readFloat("x138_freeLookSpeed");
|
||||||
/* x13c_ */
|
/* x13c_freeLookSnapSpeed */
|
||||||
x13c_ = __dna_docin.readFloat("x13c_");
|
x13c_freeLookSnapSpeed = __dna_docin.readFloat("x13c_freeLookSnapSpeed");
|
||||||
/* x140_ */
|
/* x140_ */
|
||||||
x140_ = __dna_docin.readFloat("x140_");
|
x140_ = __dna_docin.readFloat("x140_");
|
||||||
/* x144_freeLookCenteredThresholdAngle */
|
/* x144_freeLookCenteredThresholdAngle */
|
||||||
@ -1087,8 +1087,8 @@ void CTweakPlayer::read(athena::io::YAMLDocReader& __dna_docin)
|
|||||||
x150_leftDiv = __dna_docin.readFloat("x150_leftDiv");
|
x150_leftDiv = __dna_docin.readFloat("x150_leftDiv");
|
||||||
/* x154_rightDiv */
|
/* x154_rightDiv */
|
||||||
x154_rightDiv = __dna_docin.readFloat("x154_rightDiv");
|
x154_rightDiv = __dna_docin.readFloat("x154_rightDiv");
|
||||||
/* x228_24_ */
|
/* x228_24_freelookTurnsPlayer */
|
||||||
x228_24_ = __dna_docin.readBool("x228_24_");
|
x228_24_freelookTurnsPlayer = __dna_docin.readBool("x228_24_freelookTurnsPlayer");
|
||||||
/* x228_25_ */
|
/* x228_25_ */
|
||||||
x228_25_ = __dna_docin.readBool("x228_25_");
|
x228_25_ = __dna_docin.readBool("x228_25_");
|
||||||
/* x228_26_ */
|
/* x228_26_ */
|
||||||
@ -1402,25 +1402,25 @@ void CTweakPlayer::read(athena::io::YAMLDocReader& __dna_docin)
|
|||||||
|
|
||||||
void CTweakPlayer::write(athena::io::YAMLDocWriter& __dna_docout) const
|
void CTweakPlayer::write(athena::io::YAMLDocWriter& __dna_docout) const
|
||||||
{
|
{
|
||||||
/* x4_ */
|
/* x4_maxTranslationalAcceleration */
|
||||||
if (auto v = __dna_docout.enterSubVector("x4_"))
|
if (auto v = __dna_docout.enterSubVector("x4_maxTranslationalAcceleration"))
|
||||||
{
|
{
|
||||||
/* x4_[0] */
|
/* x4_maxTranslationalAcceleration[0] */
|
||||||
__dna_docout.writeFloat("x4_", x4_[0]);
|
__dna_docout.writeFloat("x4_maxTranslationalAcceleration", x4_maxTranslationalAcceleration[0]);
|
||||||
/* x4_[1] */
|
/* x4_maxTranslationalAcceleration[1] */
|
||||||
__dna_docout.writeFloat("x4_", x4_[1]);
|
__dna_docout.writeFloat("x4_maxTranslationalAcceleration", x4_maxTranslationalAcceleration[1]);
|
||||||
/* x4_[2] */
|
/* x4_maxTranslationalAcceleration[2] */
|
||||||
__dna_docout.writeFloat("x4_", x4_[2]);
|
__dna_docout.writeFloat("x4_maxTranslationalAcceleration", x4_maxTranslationalAcceleration[2]);
|
||||||
/* x4_[3] */
|
/* x4_maxTranslationalAcceleration[3] */
|
||||||
__dna_docout.writeFloat("x4_", x4_[3]);
|
__dna_docout.writeFloat("x4_maxTranslationalAcceleration", x4_maxTranslationalAcceleration[3]);
|
||||||
/* x4_[4] */
|
/* x4_maxTranslationalAcceleration[4] */
|
||||||
__dna_docout.writeFloat("x4_", x4_[4]);
|
__dna_docout.writeFloat("x4_maxTranslationalAcceleration", x4_maxTranslationalAcceleration[4]);
|
||||||
/* x4_[5] */
|
/* x4_maxTranslationalAcceleration[5] */
|
||||||
__dna_docout.writeFloat("x4_", x4_[5]);
|
__dna_docout.writeFloat("x4_maxTranslationalAcceleration", x4_maxTranslationalAcceleration[5]);
|
||||||
/* x4_[6] */
|
/* x4_maxTranslationalAcceleration[6] */
|
||||||
__dna_docout.writeFloat("x4_", x4_[6]);
|
__dna_docout.writeFloat("x4_maxTranslationalAcceleration", x4_maxTranslationalAcceleration[6]);
|
||||||
/* x4_[7] */
|
/* x4_maxTranslationalAcceleration[7] */
|
||||||
__dna_docout.writeFloat("x4_", x4_[7]);
|
__dna_docout.writeFloat("x4_maxTranslationalAcceleration", x4_maxTranslationalAcceleration[7]);
|
||||||
}
|
}
|
||||||
/* x24_ */
|
/* x24_ */
|
||||||
if (auto v = __dna_docout.enterSubVector("x24_"))
|
if (auto v = __dna_docout.enterSubVector("x24_"))
|
||||||
@ -1442,25 +1442,25 @@ void CTweakPlayer::write(athena::io::YAMLDocWriter& __dna_docout) const
|
|||||||
/* x24_[7] */
|
/* x24_[7] */
|
||||||
__dna_docout.writeFloat("x24_", x24_[7]);
|
__dna_docout.writeFloat("x24_", x24_[7]);
|
||||||
}
|
}
|
||||||
/* x44_ */
|
/* x44_translationFriction */
|
||||||
if (auto v = __dna_docout.enterSubVector("x44_"))
|
if (auto v = __dna_docout.enterSubVector("x44_translationFriction"))
|
||||||
{
|
{
|
||||||
/* x44_[0] */
|
/* x44_translationFriction[0] */
|
||||||
__dna_docout.writeFloat("x44_", x44_[0]);
|
__dna_docout.writeFloat("x44_translationFriction", x44_translationFriction[0]);
|
||||||
/* x44_[1] */
|
/* x44_translationFriction[1] */
|
||||||
__dna_docout.writeFloat("x44_", x44_[1]);
|
__dna_docout.writeFloat("x44_translationFriction", x44_translationFriction[1]);
|
||||||
/* x44_[2] */
|
/* x44_translationFriction[2] */
|
||||||
__dna_docout.writeFloat("x44_", x44_[2]);
|
__dna_docout.writeFloat("x44_translationFriction", x44_translationFriction[2]);
|
||||||
/* x44_[3] */
|
/* x44_translationFriction[3] */
|
||||||
__dna_docout.writeFloat("x44_", x44_[3]);
|
__dna_docout.writeFloat("x44_translationFriction", x44_translationFriction[3]);
|
||||||
/* x44_[4] */
|
/* x44_translationFriction[4] */
|
||||||
__dna_docout.writeFloat("x44_", x44_[4]);
|
__dna_docout.writeFloat("x44_translationFriction", x44_translationFriction[4]);
|
||||||
/* x44_[5] */
|
/* x44_translationFriction[5] */
|
||||||
__dna_docout.writeFloat("x44_", x44_[5]);
|
__dna_docout.writeFloat("x44_translationFriction", x44_translationFriction[5]);
|
||||||
/* x44_[6] */
|
/* x44_translationFriction[6] */
|
||||||
__dna_docout.writeFloat("x44_", x44_[6]);
|
__dna_docout.writeFloat("x44_translationFriction", x44_translationFriction[6]);
|
||||||
/* x44_[7] */
|
/* x44_translationFriction[7] */
|
||||||
__dna_docout.writeFloat("x44_", x44_[7]);
|
__dna_docout.writeFloat("x44_translationFriction", x44_translationFriction[7]);
|
||||||
}
|
}
|
||||||
/* x64_ */
|
/* x64_ */
|
||||||
if (auto v = __dna_docout.enterSubVector("x64_"))
|
if (auto v = __dna_docout.enterSubVector("x64_"))
|
||||||
@ -1502,25 +1502,25 @@ void CTweakPlayer::write(athena::io::YAMLDocWriter& __dna_docout) const
|
|||||||
/* x84_[7] */
|
/* x84_[7] */
|
||||||
__dna_docout.writeFloat("x84_", x84_[7]);
|
__dna_docout.writeFloat("x84_", x84_[7]);
|
||||||
}
|
}
|
||||||
/* xa4_ */
|
/* xa4_translationMaxSpeed */
|
||||||
if (auto v = __dna_docout.enterSubVector("xa4_"))
|
if (auto v = __dna_docout.enterSubVector("xa4_translationMaxSpeed"))
|
||||||
{
|
{
|
||||||
/* xa4_[0] */
|
/* xa4_translationMaxSpeed[0] */
|
||||||
__dna_docout.writeFloat("xa4_", xa4_[0]);
|
__dna_docout.writeFloat("xa4_translationMaxSpeed", xa4_translationMaxSpeed[0]);
|
||||||
/* xa4_[1] */
|
/* xa4_translationMaxSpeed[1] */
|
||||||
__dna_docout.writeFloat("xa4_", xa4_[1]);
|
__dna_docout.writeFloat("xa4_translationMaxSpeed", xa4_translationMaxSpeed[1]);
|
||||||
/* xa4_[2] */
|
/* xa4_translationMaxSpeed[2] */
|
||||||
__dna_docout.writeFloat("xa4_", xa4_[2]);
|
__dna_docout.writeFloat("xa4_translationMaxSpeed", xa4_translationMaxSpeed[2]);
|
||||||
/* xa4_[3] */
|
/* xa4_translationMaxSpeed[3] */
|
||||||
__dna_docout.writeFloat("xa4_", xa4_[3]);
|
__dna_docout.writeFloat("xa4_translationMaxSpeed", xa4_translationMaxSpeed[3]);
|
||||||
/* xa4_[4] */
|
/* xa4_translationMaxSpeed[4] */
|
||||||
__dna_docout.writeFloat("xa4_", xa4_[4]);
|
__dna_docout.writeFloat("xa4_translationMaxSpeed", xa4_translationMaxSpeed[4]);
|
||||||
/* xa4_[5] */
|
/* xa4_translationMaxSpeed[5] */
|
||||||
__dna_docout.writeFloat("xa4_", xa4_[5]);
|
__dna_docout.writeFloat("xa4_translationMaxSpeed", xa4_translationMaxSpeed[5]);
|
||||||
/* xa4_[6] */
|
/* xa4_translationMaxSpeed[6] */
|
||||||
__dna_docout.writeFloat("xa4_", xa4_[6]);
|
__dna_docout.writeFloat("xa4_translationMaxSpeed", xa4_translationMaxSpeed[6]);
|
||||||
/* xa4_[7] */
|
/* xa4_translationMaxSpeed[7] */
|
||||||
__dna_docout.writeFloat("xa4_", xa4_[7]);
|
__dna_docout.writeFloat("xa4_translationMaxSpeed", xa4_translationMaxSpeed[7]);
|
||||||
}
|
}
|
||||||
/* xc4_normalGravAccel */
|
/* xc4_normalGravAccel */
|
||||||
__dna_docout.writeFloat("xc4_normalGravAccel", xc4_normalGravAccel);
|
__dna_docout.writeFloat("xc4_normalGravAccel", xc4_normalGravAccel);
|
||||||
@ -1580,10 +1580,10 @@ void CTweakPlayer::write(athena::io::YAMLDocWriter& __dna_docout) const
|
|||||||
__dna_docout.writeFloat("x130_horizontalFreeLookAngleVel", x130_horizontalFreeLookAngleVel);
|
__dna_docout.writeFloat("x130_horizontalFreeLookAngleVel", x130_horizontalFreeLookAngleVel);
|
||||||
/* x134_verticalFreeLookAngleVel */
|
/* x134_verticalFreeLookAngleVel */
|
||||||
__dna_docout.writeFloat("x134_verticalFreeLookAngleVel", x134_verticalFreeLookAngleVel);
|
__dna_docout.writeFloat("x134_verticalFreeLookAngleVel", x134_verticalFreeLookAngleVel);
|
||||||
/* x138_hudLagAmount */
|
/* x138_freeLookSpeed */
|
||||||
__dna_docout.writeFloat("x138_hudLagAmount", x138_hudLagAmount);
|
__dna_docout.writeFloat("x138_freeLookSpeed", x138_freeLookSpeed);
|
||||||
/* x13c_ */
|
/* x13c_freeLookSnapSpeed */
|
||||||
__dna_docout.writeFloat("x13c_", x13c_);
|
__dna_docout.writeFloat("x13c_freeLookSnapSpeed", x13c_freeLookSnapSpeed);
|
||||||
/* x140_ */
|
/* x140_ */
|
||||||
__dna_docout.writeFloat("x140_", x140_);
|
__dna_docout.writeFloat("x140_", x140_);
|
||||||
/* x144_freeLookCenteredThresholdAngle */
|
/* x144_freeLookCenteredThresholdAngle */
|
||||||
@ -1596,8 +1596,8 @@ void CTweakPlayer::write(athena::io::YAMLDocWriter& __dna_docout) const
|
|||||||
__dna_docout.writeFloat("x150_leftDiv", x150_leftDiv);
|
__dna_docout.writeFloat("x150_leftDiv", x150_leftDiv);
|
||||||
/* x154_rightDiv */
|
/* x154_rightDiv */
|
||||||
__dna_docout.writeFloat("x154_rightDiv", x154_rightDiv);
|
__dna_docout.writeFloat("x154_rightDiv", x154_rightDiv);
|
||||||
/* x228_24_ */
|
/* x228_24_freelookTurnsPlayer */
|
||||||
__dna_docout.writeBool("x228_24_", x228_24_);
|
__dna_docout.writeBool("x228_24_freelookTurnsPlayer", x228_24_freelookTurnsPlayer);
|
||||||
/* x228_25_ */
|
/* x228_25_ */
|
||||||
__dna_docout.writeBool("x228_25_", x228_25_);
|
__dna_docout.writeBool("x228_25_", x228_25_);
|
||||||
/* x228_26_ */
|
/* x228_26_ */
|
||||||
@ -1904,8 +1904,8 @@ void CTweakPlayer::FixupValues()
|
|||||||
{
|
{
|
||||||
x130_horizontalFreeLookAngleVel = zeus::degToRad(x130_horizontalFreeLookAngleVel);
|
x130_horizontalFreeLookAngleVel = zeus::degToRad(x130_horizontalFreeLookAngleVel);
|
||||||
x134_verticalFreeLookAngleVel = zeus::degToRad(x134_verticalFreeLookAngleVel);
|
x134_verticalFreeLookAngleVel = zeus::degToRad(x134_verticalFreeLookAngleVel);
|
||||||
x138_hudLagAmount = zeus::degToRad(x138_hudLagAmount);
|
x138_freeLookSpeed = zeus::degToRad(x138_freeLookSpeed);
|
||||||
x13c_ = zeus::degToRad(x13c_);
|
x13c_freeLookSnapSpeed = zeus::degToRad(x13c_freeLookSnapSpeed);
|
||||||
x140_ = zeus::degToRad(x140_);
|
x140_ = zeus::degToRad(x140_);
|
||||||
x144_freeLookCenteredThresholdAngle = zeus::degToRad(x144_freeLookCenteredThresholdAngle);
|
x144_freeLookCenteredThresholdAngle = zeus::degToRad(x144_freeLookCenteredThresholdAngle);
|
||||||
x23c_ = zeus::degToRad(x23c_);
|
x23c_ = zeus::degToRad(x23c_);
|
||||||
|
@ -11,12 +11,12 @@ namespace DNAMP1
|
|||||||
struct CTweakPlayer : ITweakPlayer
|
struct CTweakPlayer : ITweakPlayer
|
||||||
{
|
{
|
||||||
Delete _d;
|
Delete _d;
|
||||||
Value<float> x4_[8];
|
Value<float> x4_maxTranslationalAcceleration[8];
|
||||||
Value<float> x24_[8];
|
Value<float> x24_[8];
|
||||||
Value<float> x44_[8];
|
Value<float> x44_translationFriction[8];
|
||||||
Value<float> x64_[8];
|
Value<float> x64_[8];
|
||||||
Value<float> x84_[8];
|
Value<float> x84_[8];
|
||||||
Value<float> xa4_[8];
|
Value<float> xa4_translationMaxSpeed[8];
|
||||||
Value<float> xc4_normalGravAccel;
|
Value<float> xc4_normalGravAccel;
|
||||||
Value<float> xc8_fluidGravAccel;
|
Value<float> xc8_fluidGravAccel;
|
||||||
Value<float> xcc_;
|
Value<float> xcc_;
|
||||||
@ -46,8 +46,8 @@ struct CTweakPlayer : ITweakPlayer
|
|||||||
Value<float> x12c_;
|
Value<float> x12c_;
|
||||||
Value<float> x130_horizontalFreeLookAngleVel;
|
Value<float> x130_horizontalFreeLookAngleVel;
|
||||||
Value<float> x134_verticalFreeLookAngleVel;
|
Value<float> x134_verticalFreeLookAngleVel;
|
||||||
Value<float> x138_hudLagAmount;
|
Value<float> x138_freeLookSpeed;
|
||||||
Value<float> x13c_;
|
Value<float> x13c_freeLookSnapSpeed;
|
||||||
Value<float> x140_;
|
Value<float> x140_;
|
||||||
Value<float> x144_freeLookCenteredThresholdAngle;
|
Value<float> x144_freeLookCenteredThresholdAngle;
|
||||||
Value<float> x148_freeLookCenteredTime;
|
Value<float> x148_freeLookCenteredTime;
|
||||||
@ -97,7 +97,7 @@ struct CTweakPlayer : ITweakPlayer
|
|||||||
Value<bool> x21c_26_orbitWhileScanning : 1;
|
Value<bool> x21c_26_orbitWhileScanning : 1;
|
||||||
Value<float> x220_;
|
Value<float> x220_;
|
||||||
Value<float> x224_scanningFrameSenseRange;
|
Value<float> x224_scanningFrameSenseRange;
|
||||||
Value<bool> x228_24_ : 1;
|
Value<bool> x228_24_freelookTurnsPlayer : 1;
|
||||||
Value<bool> x228_25_ : 1;
|
Value<bool> x228_25_ : 1;
|
||||||
Value<bool> x228_26_ : 1;
|
Value<bool> x228_26_ : 1;
|
||||||
Value<bool> x228_27_ : 1;
|
Value<bool> x228_27_ : 1;
|
||||||
@ -175,14 +175,14 @@ struct CTweakPlayer : ITweakPlayer
|
|||||||
Value<float> x300_variaDamageReduction;
|
Value<float> x300_variaDamageReduction;
|
||||||
Value<float> x304_gravityDamageReduction;
|
Value<float> x304_gravityDamageReduction;
|
||||||
Value<float> x308_phazonDamageReduction;
|
Value<float> x308_phazonDamageReduction;
|
||||||
float GetX50() const { return x44_[3]; }
|
float GetMaxTranslationalAcceleration(int s) const { return x4_maxTranslationalAcceleration[s]; }
|
||||||
float GetX54() const { return x44_[4]; }
|
float GetPlayerTranslationFriction(int s) const { return x44_translationFriction[s]; }
|
||||||
float GetX58() const { return x44_[5]; }
|
float GetPlayerTranslationMaxSpeed(int s) const { return xa4_translationMaxSpeed[s]; }
|
||||||
float GetX5C() const { return x44_[6]; }
|
|
||||||
float GetNormalGravAccel() const { return xc4_normalGravAccel; }
|
float GetNormalGravAccel() const { return xc4_normalGravAccel; }
|
||||||
float GetFluidGravAccel() const { return xc8_fluidGravAccel; }
|
float GetFluidGravAccel() const { return xc8_fluidGravAccel; }
|
||||||
float GetEyeOffset() const { return x124_eyeOffset; }
|
float GetEyeOffset() const { return x124_eyeOffset; }
|
||||||
float GetHudLagAmount() const { return x138_hudLagAmount; }
|
float GetFreeLookSpeed() const { return x138_freeLookSpeed; }
|
||||||
|
float GetFreeLookSnapSpeed() const { return x13c_freeLookSnapSpeed; }
|
||||||
float GetFreeLookCenteredThresholdAngle() const { return x144_freeLookCenteredThresholdAngle; }
|
float GetFreeLookCenteredThresholdAngle() const { return x144_freeLookCenteredThresholdAngle; }
|
||||||
float GetFreeLookCenteredTime() const { return x148_freeLookCenteredTime; }
|
float GetFreeLookCenteredTime() const { return x148_freeLookCenteredTime; }
|
||||||
float GetOrbitNormalDistance() const { return x180_orbitNormalDistance; }
|
float GetOrbitNormalDistance() const { return x180_orbitNormalDistance; }
|
||||||
@ -242,7 +242,7 @@ struct CTweakPlayer : ITweakPlayer
|
|||||||
float GetVerticalFreeLookAngleVel() const { return x134_verticalFreeLookAngleVel; }
|
float GetVerticalFreeLookAngleVel() const { return x134_verticalFreeLookAngleVel; }
|
||||||
float GetX184() const { return x184_; }
|
float GetX184() const { return x184_; }
|
||||||
float GetX1fc() const { return x1fc_; }
|
float GetX1fc() const { return x1fc_; }
|
||||||
bool GetX228_24() const { return x228_24_; }
|
bool GetFreeLookTurnsPlayer() const { return x228_24_freelookTurnsPlayer; }
|
||||||
float GetX288() const { return x288_; }
|
float GetX288() const { return x288_; }
|
||||||
float GetX28c() const { return x28c_; }
|
float GetX28c() const { return x28c_; }
|
||||||
float GetX290() const { return x290_; }
|
float GetX290() const { return x290_; }
|
||||||
@ -251,7 +251,6 @@ struct CTweakPlayer : ITweakPlayer
|
|||||||
float GetX29C() const { return x29c_; }
|
float GetX29C() const { return x29c_; }
|
||||||
float GetX280() const { return x280_; }
|
float GetX280() const { return x280_; }
|
||||||
float GetX2B0() const { return x2b0_; }
|
float GetX2B0() const { return x2b0_; }
|
||||||
float GetX138() const { return x138_hudLagAmount; }
|
|
||||||
float GetX14C() const { return x14c_; }
|
float GetX14C() const { return x14c_; }
|
||||||
float GetLeftLogicalThreshold() const { return x150_leftDiv; }
|
float GetLeftLogicalThreshold() const { return x150_leftDiv; }
|
||||||
float GetRightLogicalThreshold() const { return x154_rightDiv; }
|
float GetRightLogicalThreshold() const { return x154_rightDiv; }
|
||||||
|
@ -1310,9 +1310,9 @@ void CStateManager::KnockBackPlayer(CPlayer& player, const zeus::CVector3f& pos,
|
|||||||
if (player.GetMorphballTransitionState() != CPlayer::EPlayerMorphBallState::Morphed)
|
if (player.GetMorphballTransitionState() != CPlayer::EPlayerMorphBallState::Morphed)
|
||||||
{
|
{
|
||||||
usePower = power * 1000.f;
|
usePower = power * 1000.f;
|
||||||
CPlayer::EPlayerMovementSurface surface =
|
CPlayer::ESurfaceRestraints surface =
|
||||||
player.x2b0_ == 2 ? player.x2ac_movementSurface : CPlayer::EPlayerMovementSurface::Four;
|
player.x2b0_ == 2 ? player.x2ac_surfaceRestraint : CPlayer::ESurfaceRestraints::Four;
|
||||||
if (surface != CPlayer::EPlayerMovementSurface::Normal &&
|
if (surface != CPlayer::ESurfaceRestraints::Normal &&
|
||||||
player.GetOrbitState() == CPlayer::EPlayerOrbitState::Zero)
|
player.GetOrbitState() == CPlayer::EPlayerOrbitState::Zero)
|
||||||
usePower /= 7.f;
|
usePower /= 7.f;
|
||||||
}
|
}
|
||||||
|
@ -262,12 +262,12 @@ void CCameraManager::UpdateListener(CStateManager& mgr)
|
|||||||
|
|
||||||
float CCameraManager::CalculateFogDensity(CStateManager& mgr, const CScriptWater* water)
|
float CCameraManager::CalculateFogDensity(CStateManager& mgr, const CScriptWater* water)
|
||||||
{
|
{
|
||||||
float f31 = 1.f /* 1.f - water->x1b4_->x40_; */;
|
float f31 = water->GetFluidPlane().GetAlpha();
|
||||||
float f1 = 0;
|
float f1 = 0;
|
||||||
if (mgr.GetPlayerState()->HasPowerUp(CPlayerState::EItemType::GravitySuit))
|
if (mgr.GetPlayerState()->HasPowerUp(CPlayerState::EItemType::GravitySuit))
|
||||||
f1 = (g_tweakPlayer->GetX54() * g_tweakPlayer->GetX50()) + f31;
|
f1 = (g_tweakPlayer->GetPlayerTranslationFriction(4) * g_tweakPlayer->GetPlayerTranslationFriction(3)) + f31;
|
||||||
else
|
else
|
||||||
f1 = (g_tweakPlayer->GetX5C() * g_tweakPlayer->GetX58()) + f31;
|
f1 = (g_tweakPlayer->GetPlayerTranslationFriction(6) * g_tweakPlayer->GetPlayerTranslationFriction(5)) + f31;
|
||||||
|
|
||||||
return f1 * x94_;
|
return f1 * x94_;
|
||||||
}
|
}
|
||||||
|
@ -91,9 +91,9 @@ void CFirstPersonCamera::UpdateTransform(CStateManager& mgr, float dt)
|
|||||||
angle = (player->x3ec_freeLookPitchAngle > -0.f ? -1.f : 1.f);
|
angle = (player->x3ec_freeLookPitchAngle > -0.f ? -1.f : 1.f);
|
||||||
zeus::CVector3f vec;
|
zeus::CVector3f vec;
|
||||||
vec.z = std::sin(angle);
|
vec.z = std::sin(angle);
|
||||||
vec.y = std::cos(-player->x3e4_) * std::cos(angle);
|
vec.y = std::cos(-player->x3e4_freeLookYawAngle) * std::cos(angle);
|
||||||
vec.x = std::sin(-player->x3e4_) * std::cos(angle);
|
vec.x = std::sin(-player->x3e4_freeLookYawAngle) * std::cos(angle);
|
||||||
if (g_tweakPlayer->GetX228_24() && !zeus::close_enough(vec, zeus::CVector3f::skZero))
|
if (g_tweakPlayer->GetFreeLookTurnsPlayer() && !zeus::close_enough(vec, zeus::CVector3f::skZero))
|
||||||
vec.normalize();
|
vec.normalize();
|
||||||
|
|
||||||
rVec = zeus::CQuaternion::lookAt({0.f, 1.f, 0.f}, rVec, zeus::CRelAngle::FromDegrees(360.f)).transform(vec);
|
rVec = zeus::CQuaternion::lookAt({0.f, 1.f, 0.f}, rVec, zeus::CRelAngle::FromDegrees(360.f)).transform(vec);
|
||||||
@ -240,7 +240,7 @@ void CFirstPersonCamera::UpdateTransform(CStateManager& mgr, float dt)
|
|||||||
float angle = gunFront.dot(rVec);
|
float angle = gunFront.dot(rVec);
|
||||||
if (std::fabs(angle) > 1.f)
|
if (std::fabs(angle) > 1.f)
|
||||||
angle = (angle > -0.f ? -1.f : 1.f);
|
angle = (angle > -0.f ? -1.f : 1.f);
|
||||||
float sdt = dt * g_tweakPlayer->GetX138();
|
float sdt = dt * g_tweakPlayer->GetFreeLookSpeed();
|
||||||
qGun = zeus::CQuaternion::lookAt(
|
qGun = zeus::CQuaternion::lookAt(
|
||||||
rVec, gunFront, sdt * zeus::clamp(0.f, g_tweakPlayer->GetX14C() * (std::acos(angle) / sdt), 1.f));
|
rVec, gunFront, sdt * zeus::clamp(0.f, g_tweakPlayer->GetX14C() * (std::acos(angle) / sdt), 1.f));
|
||||||
}
|
}
|
||||||
|
@ -110,7 +110,7 @@ void CSamusFaceReflection::Update(float dt, const CStateManager& mgr, CRandom16&
|
|||||||
lookDot = lookDot > 0.f ? 1.f : -1.f;
|
lookDot = lookDot > 0.f ? 1.f : -1.f;
|
||||||
float lookAng = std::acos(lookDot);
|
float lookAng = std::acos(lookDot);
|
||||||
x50_lookRot = zeus::CQuaternion::slerp(x50_lookRot, xfLook2,
|
x50_lookRot = zeus::CQuaternion::slerp(x50_lookRot, xfLook2,
|
||||||
zeus::clamp(0.f, 18.f * dt * ((lookAng > 0.f) ? 0.5f * dt * g_tweakPlayer->GetHudLagAmount() / lookAng : 0.f), 1.f));
|
zeus::clamp(0.f, 18.f * dt * ((lookAng > 0.f) ? 0.5f * dt * g_tweakPlayer->GetFreeLookSpeed() / lookAng : 0.f), 1.f));
|
||||||
x60_lookDir = lookDir;
|
x60_lookDir = lookDir;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -690,7 +690,7 @@ void CSamusHud::ApplyClassicLag(const zeus::CUnitVector3f& lookDir, zeus::CQuate
|
|||||||
float angle = std::acos(dot);
|
float angle = std::acos(dot);
|
||||||
float tmp = 0.f;
|
float tmp = 0.f;
|
||||||
if (angle > 0.f)
|
if (angle > 0.f)
|
||||||
tmp = 0.5f * dt * g_tweakPlayer->GetHudLagAmount() / angle;
|
tmp = 0.5f * dt * g_tweakPlayer->GetFreeLookSpeed() / angle;
|
||||||
|
|
||||||
float t = zeus::clamp(0.f, 18.f * dt * tmp, 1.f);
|
float t = zeus::clamp(0.f, 18.f * dt * tmp, 1.f);
|
||||||
rot = zeus::CQuaternion::slerp(rot, doubleRot, t);
|
rot = zeus::CQuaternion::slerp(rot, doubleRot, t);
|
||||||
|
@ -1,9 +1,21 @@
|
|||||||
|
#include <Runtime/GameGlobalObjects.hpp>
|
||||||
#include "CFluidPlane.hpp"
|
#include "CFluidPlane.hpp"
|
||||||
|
#include "CSimplePool.hpp"
|
||||||
|
|
||||||
namespace urde
|
namespace urde
|
||||||
{
|
{
|
||||||
CFluidPlane::CFluidPlane(u32, u32, u32, EFluidType, float, const urde::CFluidUVMotion&, float)
|
|
||||||
|
CFluidPlane::CFluidPlane(ResId texPattern1, ResId texPattern2, ResId texColor, float alpha, EFluidType fluidType,
|
||||||
|
float f2, const CFluidUVMotion& motion)
|
||||||
|
: x4_texPattern1Id(texPattern1), x8_texPattern2Id(texPattern2), xc_texColorId(texColor), x40_alpha(alpha),
|
||||||
|
x44_fluidType(fluidType), x48_f2(f2), x4c_uvMotion(motion)
|
||||||
{
|
{
|
||||||
|
if (g_ResFactory->GetResourceTypeById(texPattern1) == FOURCC('TXTR'))
|
||||||
|
x10_texPattern1.emplace(g_SimplePool->GetObj(SObjectTag{FOURCC('TXTR'), texPattern1}));
|
||||||
|
if (g_ResFactory->GetResourceTypeById(texPattern2) == FOURCC('TXTR'))
|
||||||
|
x20_texPattern2.emplace(g_SimplePool->GetObj(SObjectTag{FOURCC('TXTR'), texPattern2}));
|
||||||
|
if (g_ResFactory->GetResourceTypeById(texColor) == FOURCC('TXTR'))
|
||||||
|
x30_texColor.emplace(g_SimplePool->GetObj(SObjectTag{FOURCC('TXTR'), texColor}));
|
||||||
}
|
}
|
||||||
|
|
||||||
void CFluidPlane::Ripple(float mag, TUniqueId rippler, const zeus::CVector3f& pos,
|
void CFluidPlane::Ripple(float mag, TUniqueId rippler, const zeus::CVector3f& pos,
|
||||||
|
@ -2,6 +2,12 @@
|
|||||||
#define __URDE_CFLUIDPLANE_HPP__
|
#define __URDE_CFLUIDPLANE_HPP__
|
||||||
|
|
||||||
#include "RetroTypes.hpp"
|
#include "RetroTypes.hpp"
|
||||||
|
#include "CToken.hpp"
|
||||||
|
#include "Graphics/CTexture.hpp"
|
||||||
|
#include "CFluidUVMotion.hpp"
|
||||||
|
#include "zeus/CAABox.hpp"
|
||||||
|
#include "zeus/CFrustum.hpp"
|
||||||
|
|
||||||
namespace urde
|
namespace urde
|
||||||
{
|
{
|
||||||
class CFluidUVMotion;
|
class CFluidUVMotion;
|
||||||
@ -22,28 +28,36 @@ public:
|
|||||||
};
|
};
|
||||||
|
|
||||||
private:
|
private:
|
||||||
u32 x4_;
|
ResId x4_texPattern1Id;
|
||||||
u32 x8_;
|
ResId x8_texPattern2Id;
|
||||||
u32 xc_;
|
ResId xc_texColorId;
|
||||||
float x40_;
|
std::experimental::optional<TLockedToken<CTexture>> x10_texPattern1;
|
||||||
|
std::experimental::optional<TLockedToken<CTexture>> x20_texPattern2;
|
||||||
|
std::experimental::optional<TLockedToken<CTexture>> x30_texColor;
|
||||||
|
float x40_alpha;
|
||||||
EFluidType x44_fluidType;
|
EFluidType x44_fluidType;
|
||||||
float x48_;
|
float x48_f2;
|
||||||
|
CFluidUVMotion x4c_uvMotion;
|
||||||
public:
|
public:
|
||||||
CFluidPlane() = default;
|
CFluidPlane(ResId texPattern1, ResId texPattern2, ResId texColor, float alpha, EFluidType fluidType,
|
||||||
CFluidPlane(u32, u32, u32, EFluidType, float, const CFluidUVMotion&, float);
|
float f2, const CFluidUVMotion& motion);
|
||||||
|
|
||||||
virtual void Ripple(float mag, TUniqueId rippler, const zeus::CVector3f& pos,
|
virtual void Ripple(float mag, TUniqueId rippler, const zeus::CVector3f& pos,
|
||||||
CScriptWater& water, CStateManager& mgr);
|
CScriptWater& water, CStateManager& mgr);
|
||||||
virtual void Update();
|
virtual void Update();
|
||||||
float GetAlpha() const;
|
virtual void Render(const CStateManager& mgr, const zeus::CAABox& aabb, const zeus::CTransform& xf,
|
||||||
|
const zeus::CTransform& areaXf, bool noSubdiv, const zeus::CFrustum& frustum,
|
||||||
|
const std::experimental::optional<CRippleManager>& rippleManager, TUniqueId waterId,
|
||||||
|
const bool* gridFlags, u32 gridDimX, u32 gridDimY, const zeus::CVector3f& areaCenter) const {}
|
||||||
|
float GetAlpha() const { return x40_alpha; }
|
||||||
EFluidType GetFluidType() const { return x44_fluidType; }
|
EFluidType GetFluidType() const { return x44_fluidType; }
|
||||||
const CFluidUVMotion& GetUVMotion() const;
|
const CFluidUVMotion& GetUVMotion() const { return x4c_uvMotion; }
|
||||||
void GetColorTexture() const;
|
const CTexture& GetColorTexture() const { return **x30_texColor; }
|
||||||
bool HasColorTexture() const;
|
bool HasColorTexture() const { return x30_texColor.operator bool(); }
|
||||||
void GetTexturePattern1() const;
|
const CTexture& GetTexturePattern1() const { return **x10_texPattern1; }
|
||||||
bool HasTexturePattern1() const;
|
bool HasTexturePattern1() const { return x10_texPattern1.operator bool(); }
|
||||||
void GetTexturePattern2() const;
|
const CTexture& GetTexturePattern2() const { return **x20_texPattern2; }
|
||||||
bool HasTexturePattern2() const;
|
bool HasTexturePattern2() const { return x20_texPattern2.operator bool(); }
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1,13 +1,91 @@
|
|||||||
#include "CFluidPlaneCPU.hpp"
|
#include "CFluidPlaneCPU.hpp"
|
||||||
|
#include "CSimplePool.hpp"
|
||||||
|
#include "GameGlobalObjects.hpp"
|
||||||
|
|
||||||
|
#define kTableSize 2048
|
||||||
|
|
||||||
namespace urde
|
namespace urde
|
||||||
{
|
{
|
||||||
CFluidPlaneCPU::CFluidPlaneCPU(u32 w1, u32 w2, u32 w3, u32 w4, u32 w5, u32 w6, float f1, u32 w7, u32 w8,
|
CFluidPlaneCPU::CTurbulence::CTurbulence(float speed, float distance, float freqMax, float freqMin,
|
||||||
EFluidType fluidType, float f2, const zeus::CVector3f& v1, float f3,
|
float phaseMax, float phaseMin, float amplitudeMax, float amplitudeMin)
|
||||||
const urde::CFluidUVMotion& motion, float f4, float f5, float f6, float f7, float f8,
|
: x0_speed(speed), x4_distance(distance), x8_freqMax(freqMax), xc_freqMin(freqMin),
|
||||||
float f9, float f10, float f11, float f12, float f13, float f14, float f15, float f16,
|
x10_phaseMax(phaseMax), x14_phaseMin(phaseMin), x18_amplitudeMax(amplitudeMax), x1c_amplitudeMin(amplitudeMin),
|
||||||
float f17)
|
x2c_ooTurbSpeed(1.f / x0_speed), x30_ooTurbDistance(1.f / x4_distance)
|
||||||
: CFluidPlane(w1, w2, w3, fluidType, f3, motion, f17)
|
|
||||||
{
|
{
|
||||||
|
if (x18_amplitudeMax != 0.f || x1c_amplitudeMin != 0.f)
|
||||||
|
{
|
||||||
|
x24_tableCount = kTableSize;
|
||||||
|
x28_heightSelPitch = x24_tableCount;
|
||||||
|
x20_table.reset(new float[x24_tableCount]);
|
||||||
|
float anglePitch = 2.f * M_PIF / x28_heightSelPitch;
|
||||||
|
float freqConstant = 0.5f * (x8_freqMax + xc_freqMin);
|
||||||
|
float freqLinear = 0.5f * (x8_freqMax - xc_freqMin);
|
||||||
|
float phaseConstant = 0.5f * (x10_phaseMax + x14_phaseMin);
|
||||||
|
float phaseLinear = 0.5f * (x10_phaseMax - x14_phaseMin);
|
||||||
|
float amplitudeConstant = 0.5f * (x18_amplitudeMax + x1c_amplitudeMin);
|
||||||
|
float amplitudeLinear = 0.5f * (x18_amplitudeMax - x1c_amplitudeMin);
|
||||||
|
|
||||||
|
float curAng = 0.f;
|
||||||
|
for (int i=0 ; i<x24_tableCount ; ++i, curAng += anglePitch)
|
||||||
|
{
|
||||||
|
float angCos = std::cos(curAng);
|
||||||
|
x20_table[i] = (amplitudeLinear * angCos + amplitudeConstant) *
|
||||||
|
std::sin((freqLinear * angCos + freqConstant) * curAng + (phaseLinear * angCos + phaseConstant));
|
||||||
|
}
|
||||||
|
|
||||||
|
x34_hasTurbulence = true;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
CFluidPlaneCPU::CFluidPlaneCPU(ResId texPattern1, ResId texPattern2, ResId texColor, ResId bumpMap, ResId envMap,
|
||||||
|
ResId envBumpMap, ResId unkMap, float f1, float tileSize, u32 tileSubdivisions,
|
||||||
|
EFluidType fluidType, float alpha, const zeus::CVector3f& bumpLightDir, float bumpScale,
|
||||||
|
const CFluidUVMotion& mot, float turbSpeed, float turbDistance, float turbFreqMax,
|
||||||
|
float turbFreqMin, float turbPhaseMax, float turbPhaseMin, float turbAmplitudeMax,
|
||||||
|
float turbAmplitudeMin, float specularMin, float specularMax, float reflectionBlend,
|
||||||
|
float reflectionSize, float fluidPlaneF2)
|
||||||
|
: CFluidPlane(texPattern1, texPattern2, texColor, alpha, fluidType, fluidPlaneF2, mot),
|
||||||
|
xa0_texIdBumpMap(bumpMap), xa4_texIdEnvMap(envMap), xa8_texIdEnvBumpMap(envBumpMap), xac_texId4(unkMap),
|
||||||
|
xf0_bumpLightDir(bumpLightDir), xfc_bumpScale(bumpScale), x100_tileSize(tileSize),
|
||||||
|
x104_tileSubdivisions(tileSubdivisions & ~0x1),
|
||||||
|
x108_rippleResolution(x100_tileSize / float(x104_tileSubdivisions)),
|
||||||
|
x10c_specularMin(specularMin), x110_specularMax(specularMax), x114_reflectionBlend(reflectionBlend),
|
||||||
|
x118_reflectionSize(reflectionSize), x11c_f1(f1),
|
||||||
|
x120_turbulence(turbSpeed, turbDistance, turbFreqMax, turbFreqMin, turbPhaseMax,
|
||||||
|
turbPhaseMin, turbAmplitudeMax, turbAmplitudeMin)
|
||||||
|
{
|
||||||
|
if (g_ResFactory->GetResourceTypeById(xa0_texIdBumpMap) == FOURCC('TXTR'))
|
||||||
|
xb0_bumpMap.emplace(g_SimplePool->GetObj(SObjectTag{FOURCC('TXTR'), xa0_texIdBumpMap}));
|
||||||
|
if (g_ResFactory->GetResourceTypeById(xa4_texIdEnvMap) == FOURCC('TXTR'))
|
||||||
|
xc0_envMap.emplace(g_SimplePool->GetObj(SObjectTag{FOURCC('TXTR'), xa4_texIdEnvMap}));
|
||||||
|
if (g_ResFactory->GetResourceTypeById(xa8_texIdEnvBumpMap) == FOURCC('TXTR'))
|
||||||
|
xd0_envBumpMap.emplace(g_SimplePool->GetObj(SObjectTag{FOURCC('TXTR'), xa8_texIdEnvBumpMap}));
|
||||||
|
if (g_ResFactory->GetResourceTypeById(xac_texId4) == FOURCC('TXTR'))
|
||||||
|
xe0_tex4.emplace(g_SimplePool->GetObj(SObjectTag{FOURCC('TXTR'), xac_texId4}));
|
||||||
|
}
|
||||||
|
|
||||||
|
void CFluidPlaneCPU::CreateRipple(const CRipple& ripple, CStateManager& mgr)
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
void CFluidPlaneCPU::RenderSetup(const CStateManager& mgr, float, const zeus::CTransform& xf,
|
||||||
|
const zeus::CTransform& areaXf, const zeus::CAABox& aabb, CScriptWater* water) const
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
void CFluidPlaneCPU::Render(const CStateManager& mgr, const zeus::CAABox& aabb, const zeus::CTransform& xf,
|
||||||
|
const zeus::CTransform& areaXf, bool noSubdiv, const zeus::CFrustum& frustum,
|
||||||
|
const std::experimental::optional<CRippleManager>& rippleManager, TUniqueId waterId,
|
||||||
|
const bool* gridFlags, u32 gridDimX, u32 gridDimY, const zeus::CVector3f& areaCenter) const
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
void CFluidPlaneCPU::RenderCleanup() const
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -2,16 +2,91 @@
|
|||||||
#define __URDE_CFLUIDPLANECPU_HPP__
|
#define __URDE_CFLUIDPLANECPU_HPP__
|
||||||
|
|
||||||
#include "CFluidPlane.hpp"
|
#include "CFluidPlane.hpp"
|
||||||
|
#include "CRipple.hpp"
|
||||||
|
|
||||||
namespace urde
|
namespace urde
|
||||||
{
|
{
|
||||||
class CFluidUVMotion;
|
class CFluidUVMotion;
|
||||||
class CFluidPlaneCPU : public CFluidPlane
|
class CFluidPlaneCPU : public CFluidPlane
|
||||||
{
|
{
|
||||||
|
class CTurbulence
|
||||||
|
{
|
||||||
|
float x0_speed;
|
||||||
|
float x4_distance;
|
||||||
|
float x8_freqMax;
|
||||||
|
float xc_freqMin;
|
||||||
|
float x10_phaseMax;
|
||||||
|
float x14_phaseMin;
|
||||||
|
float x18_amplitudeMax;
|
||||||
|
float x1c_amplitudeMin;
|
||||||
|
std::unique_ptr<float[]> x20_table; // x140
|
||||||
|
u32 x24_tableCount = 0; // x144
|
||||||
|
float x28_heightSelPitch = 0.f; // x148
|
||||||
|
float x2c_ooTurbSpeed; // x14c
|
||||||
|
float x30_ooTurbDistance; // x150
|
||||||
|
bool x34_hasTurbulence = false; // x154
|
||||||
|
public:
|
||||||
|
CTurbulence(float speed, float distance, float freqMax, float freqMin,
|
||||||
|
float phaseMax, float phaseMin, float amplitudeMax, float amplitudeMin);
|
||||||
|
float GetHeight(float sel) const { return x20_table[(x24_tableCount - 1) & int(sel * x28_heightSelPitch)]; }
|
||||||
|
float GetOODistance() const { return x30_ooTurbDistance; }
|
||||||
|
float GetOOSpeed() const { return x2c_ooTurbSpeed; }
|
||||||
|
bool HasTurbulence() const { return x34_hasTurbulence; }
|
||||||
|
};
|
||||||
|
|
||||||
|
ResId xa0_texIdBumpMap;
|
||||||
|
ResId xa4_texIdEnvMap;
|
||||||
|
ResId xa8_texIdEnvBumpMap;
|
||||||
|
ResId xac_texId4;
|
||||||
|
std::experimental::optional<TLockedToken<CTexture>> xb0_bumpMap;
|
||||||
|
std::experimental::optional<TLockedToken<CTexture>> xc0_envMap;
|
||||||
|
std::experimental::optional<TLockedToken<CTexture>> xd0_envBumpMap;
|
||||||
|
std::experimental::optional<TLockedToken<CTexture>> xe0_tex4;
|
||||||
|
zeus::CVector3f xf0_bumpLightDir;
|
||||||
|
float xfc_bumpScale;
|
||||||
|
float x100_tileSize;
|
||||||
|
u32 x104_tileSubdivisions;
|
||||||
|
float x108_rippleResolution;
|
||||||
|
float x10c_specularMin;
|
||||||
|
float x110_specularMax;
|
||||||
|
float x114_reflectionBlend;
|
||||||
|
float x118_reflectionSize;
|
||||||
|
float x11c_f1;
|
||||||
|
CTurbulence x120_turbulence;
|
||||||
public:
|
public:
|
||||||
CFluidPlaneCPU(u32, u32, u32, u32, u32, u32, float, u32, u32, EFluidType, float, const zeus::CVector3f&,
|
CFluidPlaneCPU(ResId texPattern1, ResId texPattern2, ResId texColor, ResId bumpMap, ResId envMap, ResId envBumpMap,
|
||||||
float, const CFluidUVMotion&, float, float, float, float, float, float, float, float, float, float,
|
ResId unkMap, float f1, float tileSize, u32 tileSubdivisions, EFluidType fluidType, float alpha,
|
||||||
float, float, float, float);
|
const zeus::CVector3f& bumpLightDir, float bumpScale, const CFluidUVMotion& mot, float turbSpeed,
|
||||||
|
float turbDistance, float turbFreqMax, float turbFreqMin, float turbPhaseMax, float turbPhaseMin,
|
||||||
|
float turbAmplitudeMax, float turbAmplitudeMin, float specularMin, float specularMax,
|
||||||
|
float reflectionBlend, float reflectionSize, float fluidPlaneF2);
|
||||||
|
void CreateRipple(const CRipple& ripple, CStateManager& mgr);
|
||||||
|
void RenderSetup(const CStateManager& mgr, float, const zeus::CTransform& xf, const zeus::CTransform& areaXf,
|
||||||
|
const zeus::CAABox& aabb, CScriptWater* water) const;
|
||||||
|
void Render(const CStateManager& mgr, const zeus::CAABox& aabb, const zeus::CTransform& xf,
|
||||||
|
const zeus::CTransform& areaXf, bool noSubdiv, const zeus::CFrustum& frustum,
|
||||||
|
const std::experimental::optional<CRippleManager>& rippleManager, TUniqueId waterId,
|
||||||
|
const bool* gridFlags, u32 gridDimX, u32 gridDimY, const zeus::CVector3f& areaCenter) const;
|
||||||
|
void RenderCleanup() const;
|
||||||
|
float GetReflectionBlend() const { return x114_reflectionBlend; }
|
||||||
|
float GetSpecularMax() const { return x110_specularMax; }
|
||||||
|
float GetSpecularMin() const { return x10c_specularMin; }
|
||||||
|
float GetReflectionSize() const { return x118_reflectionSize; }
|
||||||
|
float GetBumpScale() const { return xfc_bumpScale; }
|
||||||
|
bool HasBumpMap() const { return xb0_bumpMap.operator bool(); }
|
||||||
|
const CTexture& GetBumpMap() const { return **xb0_bumpMap; }
|
||||||
|
bool HasEnvMap() const { return xc0_envMap.operator bool(); }
|
||||||
|
const CTexture& GetEnvMap() const { return **xc0_envMap; }
|
||||||
|
bool HasEnvBumpMap() const { return xd0_envBumpMap.operator bool(); }
|
||||||
|
const CTexture& GetEnvBumpMap() const { return **xd0_envBumpMap; }
|
||||||
|
const zeus::CVector3f& GetBumpLightDir() const { return xf0_bumpLightDir; }
|
||||||
|
float GetTileSize() const { return x100_tileSize; }
|
||||||
|
u32 GetTileSubdivisions() const { return x104_tileSubdivisions; }
|
||||||
|
float GetRippleResolution() const { return x108_rippleResolution; }
|
||||||
|
float GetTurbulenceHeight(float sel) const { return x120_turbulence.GetHeight(sel); }
|
||||||
|
float GetOOTurbulenceDistance() const { return x120_turbulence.GetOODistance(); }
|
||||||
|
float GetOOTurbulenceSpeed() const { return x120_turbulence.GetOOSpeed(); }
|
||||||
|
bool HasTurbulence() const { return x120_turbulence.HasTurbulence(); }
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -23,11 +23,11 @@ public:
|
|||||||
float x8_b = 0.f;
|
float x8_b = 0.f;
|
||||||
float xc_c = 1.f;
|
float xc_c = 1.f;
|
||||||
float x10_d = 5.f;
|
float x10_d = 5.f;
|
||||||
float x14_e = 0.2f;
|
float x14_envNormalScale = 0.2f;
|
||||||
|
|
||||||
SFluidLayerMotion() = default;
|
SFluidLayerMotion() = default;
|
||||||
SFluidLayerMotion(EFluidUVMotion motion, float a, float b, float c, float d)
|
SFluidLayerMotion(EFluidUVMotion motion, float a, float b, float c, float d)
|
||||||
: x0_motion(motion), x4_a(1.f / a), x8_b(b), xc_c(c), x10_d(d), x14_e(1.f / d)
|
: x0_motion(motion), x4_a(1.f / a), x8_b(b), xc_c(c), x10_d(d), x14_envNormalScale(1.f / d)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
@ -128,7 +128,7 @@ public:
|
|||||||
void SetTouchedHalfPipeRecently(bool) {}
|
void SetTouchedHalfPipeRecently(bool) {}
|
||||||
void DisableHalfPipeStatus() {}
|
void DisableHalfPipeStatus() {}
|
||||||
void BallCloseToCollision(const CStateManager&, float) const {}
|
void BallCloseToCollision(const CStateManager&, float) const {}
|
||||||
void CollidedWith(const TUniqueId&, const CCollisionInfoList&, CStateManager&) {}
|
void CollidedWith(TUniqueId, const CCollisionInfoList&, CStateManager&) {}
|
||||||
bool IsInFrustum(const zeus::CFrustum&) const { return false; }
|
bool IsInFrustum(const zeus::CFrustum&) const { return false; }
|
||||||
void ComputeLiftForces(const zeus::CVector3f&, const zeus::CVector3f&, const CStateManager&) {}
|
void ComputeLiftForces(const zeus::CVector3f&, const zeus::CVector3f&, const CStateManager&) {}
|
||||||
void CalculateSurfaceFriction() const {}
|
void CalculateSurfaceFriction() const {}
|
||||||
|
@ -346,7 +346,7 @@ void CPlayer::TakeDamage(bool significant, const zeus::CVector3f& location,
|
|||||||
doRumble = true;
|
doRumble = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (damageLoopSfx && !x9c7_24_ && x2ac_movementSurface >= EPlayerMovementSurface::Ice)
|
if (damageLoopSfx && !x9c7_24_ && x2ac_surfaceRestraint >= ESurfaceRestraints::Ice)
|
||||||
{
|
{
|
||||||
if (!x770_damageLoopSfx || x788_damageLoopSfxId != damageLoopSfx)
|
if (!x770_damageLoopSfx || x788_damageLoopSfxId != damageLoopSfx)
|
||||||
{
|
{
|
||||||
@ -987,7 +987,7 @@ void CPlayer::UpdateFreeLookState(const CFinalInput& input, float dt, CStateMana
|
|||||||
zeus::CVector3f lookDir = mgr.GetCameraManager()->GetFirstPersonCamera()->GetTransform().basis[1];
|
zeus::CVector3f lookDir = mgr.GetCameraManager()->GetFirstPersonCamera()->GetTransform().basis[1];
|
||||||
zeus::CVector3f lookDirFlat = lookDir;
|
zeus::CVector3f lookDirFlat = lookDir;
|
||||||
lookDirFlat.z = 0.f;
|
lookDirFlat.z = 0.f;
|
||||||
x3e4_ = 0.f;
|
x3e4_freeLookYawAngle = 0.f;
|
||||||
if (lookDirFlat.canBeNormalized())
|
if (lookDirFlat.canBeNormalized())
|
||||||
{
|
{
|
||||||
lookDirFlat.normalize();
|
lookDirFlat.normalize();
|
||||||
@ -1022,7 +1022,7 @@ void CPlayer::UpdateFreeLookState(const CFinalInput& input, float dt, CStateMana
|
|||||||
ControlMapper::GetAnalogInput(ControlMapper::ECommands::LookDown, input) >= 0.1f ||
|
ControlMapper::GetAnalogInput(ControlMapper::ECommands::LookDown, input) >= 0.1f ||
|
||||||
ControlMapper::GetAnalogInput(ControlMapper::ECommands::LookUp, input) >= 0.1f);
|
ControlMapper::GetAnalogInput(ControlMapper::ECommands::LookUp, input) >= 0.1f);
|
||||||
x3dd_freeLookPitchAngleCalculated = false;
|
x3dd_freeLookPitchAngleCalculated = false;
|
||||||
if (std::fabs(x3e4_) < g_tweakPlayer->GetFreeLookCenteredThresholdAngle() &&
|
if (std::fabs(x3e4_freeLookYawAngle) < g_tweakPlayer->GetFreeLookCenteredThresholdAngle() &&
|
||||||
std::fabs(x3ec_freeLookPitchAngle) < g_tweakPlayer->GetFreeLookCenteredThresholdAngle())
|
std::fabs(x3ec_freeLookPitchAngle) < g_tweakPlayer->GetFreeLookCenteredThresholdAngle())
|
||||||
{
|
{
|
||||||
if (x3e0_curFreeLookCenteredTime > g_tweakPlayer->GetFreeLookCenteredTime())
|
if (x3e0_curFreeLookCenteredTime > g_tweakPlayer->GetFreeLookCenteredTime())
|
||||||
@ -1046,9 +1046,34 @@ void CPlayer::UpdateFreeLookState(const CFinalInput& input, float dt, CStateMana
|
|||||||
UpdateCrosshairsState(input);
|
UpdateCrosshairsState(input);
|
||||||
}
|
}
|
||||||
|
|
||||||
void CPlayer::UpdateFreeLook(float dt) {}
|
void CPlayer::UpdateFreeLook(float dt)
|
||||||
|
{
|
||||||
|
if (GetFrozenState())
|
||||||
|
return;
|
||||||
|
float lookDeltaAngle = dt * g_tweakPlayer->GetFreeLookSpeed();
|
||||||
|
if (!x3de_lookControlHeld)
|
||||||
|
lookDeltaAngle = dt * g_tweakPlayer->GetFreeLookSnapSpeed();
|
||||||
|
float angleVelP = x3f0_vertFreeLookAngleVel - x3ec_freeLookPitchAngle;
|
||||||
|
float vertLookDamp = zeus::clamp(0.f, std::fabs(angleVelP / 1.0471976f), 1.f);
|
||||||
|
float dx = lookDeltaAngle * (2.f * vertLookDamp - std::sin((M_PIF / 2.f) * vertLookDamp));
|
||||||
|
if (0.f <= angleVelP)
|
||||||
|
x3ec_freeLookPitchAngle += dx;
|
||||||
|
else
|
||||||
|
x3ec_freeLookPitchAngle -= dx;
|
||||||
|
angleVelP = x3e8_horizFreeLookAngleVel - x3e4_freeLookYawAngle;
|
||||||
|
dx = lookDeltaAngle * zeus::clamp(0.f, std::fabs(angleVelP / g_tweakPlayer->GetHorizontalFreeLookAngleVel()), 1.f);
|
||||||
|
if (0.f <= angleVelP)
|
||||||
|
x3e4_freeLookYawAngle += dx;
|
||||||
|
else
|
||||||
|
x3e4_freeLookYawAngle -= dx;
|
||||||
|
if (g_tweakPlayer->GetFreeLookTurnsPlayer())
|
||||||
|
x3e4_freeLookYawAngle = 0.f;
|
||||||
|
}
|
||||||
|
|
||||||
float CPlayer::GetMaximumPlayerPositiveVerticalVelocity(CStateManager&) const { return 0.f; }
|
float CPlayer::GetMaximumPlayerPositiveVerticalVelocity(CStateManager& mgr) const
|
||||||
|
{
|
||||||
|
return mgr.GetPlayerState()->GetItemAmount(CPlayerState::EItemType::SpaceJumpBoots) ? 14.f : 11.666666f;
|
||||||
|
}
|
||||||
|
|
||||||
void CPlayer::StartLandingControlFreeze()
|
void CPlayer::StartLandingControlFreeze()
|
||||||
{
|
{
|
||||||
@ -1652,16 +1677,16 @@ void CPlayer::AcceptScriptMsg(EScriptObjectMessage msg, TUniqueId sender, CState
|
|||||||
SetMoveState(EPlayerMovementState::StartingJump, mgr);
|
SetMoveState(EPlayerMovementState::StartingJump, mgr);
|
||||||
break;
|
break;
|
||||||
case EScriptObjectMessage::OnIceSurface:
|
case EScriptObjectMessage::OnIceSurface:
|
||||||
x2ac_movementSurface = EPlayerMovementSurface::Ice;
|
x2ac_surfaceRestraint = ESurfaceRestraints::Ice;
|
||||||
break;
|
break;
|
||||||
case EScriptObjectMessage::OnMudSlowSurface:
|
case EScriptObjectMessage::OnMudSlowSurface:
|
||||||
x2ac_movementSurface = EPlayerMovementSurface::MudSlow;
|
x2ac_surfaceRestraint = ESurfaceRestraints::MudSlow;
|
||||||
break;
|
break;
|
||||||
case EScriptObjectMessage::OnNormalSurface:
|
case EScriptObjectMessage::OnNormalSurface:
|
||||||
x2ac_movementSurface = EPlayerMovementSurface::Normal;
|
x2ac_surfaceRestraint = ESurfaceRestraints::Normal;
|
||||||
break;
|
break;
|
||||||
case EScriptObjectMessage::InSnakeWeed:
|
case EScriptObjectMessage::InSnakeWeed:
|
||||||
x2ac_movementSurface = EPlayerMovementSurface::SnakeWeed;
|
x2ac_surfaceRestraint = ESurfaceRestraints::SnakeWeed;
|
||||||
break;
|
break;
|
||||||
case EScriptObjectMessage::AddSplashInhabitant:
|
case EScriptObjectMessage::AddSplashInhabitant:
|
||||||
{
|
{
|
||||||
@ -1690,13 +1715,13 @@ void CPlayer::AcceptScriptMsg(EScriptObjectMessage msg, TUniqueId sender, CState
|
|||||||
break;
|
break;
|
||||||
case CFluidPlane::EFluidType::Two:
|
case CFluidPlane::EFluidType::Two:
|
||||||
case CFluidPlane::EFluidType::Five:
|
case CFluidPlane::EFluidType::Five:
|
||||||
x2ac_movementSurface = EPlayerMovementSurface::Fluid2Or5;
|
x2ac_surfaceRestraint = ESurfaceRestraints::Fluid2Or5;
|
||||||
break;
|
break;
|
||||||
case CFluidPlane::EFluidType::One:
|
case CFluidPlane::EFluidType::One:
|
||||||
x2b0_ = 0;
|
x2b0_ = 0;
|
||||||
break;
|
break;
|
||||||
case CFluidPlane::EFluidType::Three:
|
case CFluidPlane::EFluidType::Three:
|
||||||
x2ac_movementSurface = EPlayerMovementSurface::Fluid3;
|
x2ac_surfaceRestraint = ESurfaceRestraints::Fluid3;
|
||||||
break;
|
break;
|
||||||
default: break;
|
default: break;
|
||||||
}
|
}
|
||||||
@ -1775,7 +1800,7 @@ void CPlayer::UpdateFootstepSounds(const CFinalInput& input, CStateManager& mgr,
|
|||||||
float sfxDelay = 0.f;
|
float sfxDelay = 0.f;
|
||||||
if (forward > 0.05f || x304_orbitState != EPlayerOrbitState::Zero)
|
if (forward > 0.05f || x304_orbitState != EPlayerOrbitState::Zero)
|
||||||
{
|
{
|
||||||
float vel = std::min(1.f, x138_velocity.magnitude() / GetActualFirstPersonMaxVelocity());
|
float vel = std::min(1.f, x138_velocity.magnitude() / GetActualFirstPersonMaxVelocity(dt));
|
||||||
if (vel > 0.05f)
|
if (vel > 0.05f)
|
||||||
{
|
{
|
||||||
sfxDelay = -0.475f * vel + 0.85f;
|
sfxDelay = -0.475f * vel + 0.85f;
|
||||||
@ -3830,6 +3855,11 @@ float CPlayer::GetEyeHeight() const
|
|||||||
return x9c8_eyeZBias + (x2d8_fpBounds.max.z - g_tweakPlayer->GetEyeOffset());
|
return x9c8_eyeZBias + (x2d8_fpBounds.max.z - g_tweakPlayer->GetEyeOffset());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
float CPlayer::GetUnbiasedEyeHeight() const
|
||||||
|
{
|
||||||
|
return x2d8_fpBounds.max.z - g_tweakPlayer->GetEyeOffset();
|
||||||
|
}
|
||||||
|
|
||||||
float CPlayer::GetStepUpHeight() const
|
float CPlayer::GetStepUpHeight() const
|
||||||
{
|
{
|
||||||
if (x258_movementState == EPlayerMovementState::Jump ||
|
if (x258_movementState == EPlayerMovementState::Jump ||
|
||||||
@ -3878,11 +3908,34 @@ const CCollidableSphere* CPlayer::GetCollidableSphere() const
|
|||||||
return x768_morphball->GetCollidableSphere();
|
return x768_morphball->GetCollidableSphere();
|
||||||
}
|
}
|
||||||
|
|
||||||
zeus::CTransform CPlayer::GetPrimitiveTransform() const { return {}; }
|
zeus::CTransform CPlayer::GetPrimitiveTransform() const
|
||||||
|
{
|
||||||
|
return CPhysicsActor::GetPrimitiveTransform();
|
||||||
|
}
|
||||||
|
|
||||||
void CPlayer::CollidedWith(TUniqueId, const CCollisionInfoList&, CStateManager& mgr) {}
|
void CPlayer::CollidedWith(TUniqueId id, const CCollisionInfoList& list, CStateManager& mgr)
|
||||||
|
{
|
||||||
|
if (x2f8_morphTransState != EPlayerMorphBallState::Unmorphed)
|
||||||
|
x768_morphball->CollidedWith(id, list, mgr);
|
||||||
|
}
|
||||||
|
|
||||||
float CPlayer::GetActualFirstPersonMaxVelocity() const { return 0.f; }
|
float CPlayer::GetActualBallMaxVelocity(float dt) const
|
||||||
|
{
|
||||||
|
ESurfaceRestraints surf = x2b0_ == 2 ? x2ac_surfaceRestraint : ESurfaceRestraints::Four;
|
||||||
|
float friction = g_tweakBall->GetBallTranslationFriction(int(surf));
|
||||||
|
float maxSpeed = g_tweakBall->GetBallTranslationMaxSpeed(int(surf));
|
||||||
|
float acceleration = g_tweakBall->GetMaxBallTranslationAcceleration(int(surf));
|
||||||
|
return -(friction * xe8_mass * maxSpeed / (acceleration * dt) - maxSpeed - friction);
|
||||||
|
}
|
||||||
|
|
||||||
|
float CPlayer::GetActualFirstPersonMaxVelocity(float dt) const
|
||||||
|
{
|
||||||
|
ESurfaceRestraints surf = x2b0_ == 2 ? x2ac_surfaceRestraint : ESurfaceRestraints::Four;
|
||||||
|
float friction = g_tweakPlayer->GetPlayerTranslationFriction(int(surf));
|
||||||
|
float maxSpeed = g_tweakPlayer->GetPlayerTranslationMaxSpeed(int(surf));
|
||||||
|
float acceleration = g_tweakPlayer->GetMaxTranslationalAcceleration(int(surf));
|
||||||
|
return -(friction * xe8_mass * maxSpeed / (acceleration * dt) - maxSpeed - friction);
|
||||||
|
}
|
||||||
|
|
||||||
void CPlayer::SetMoveState(EPlayerMovementState, CStateManager& mgr) {}
|
void CPlayer::SetMoveState(EPlayerMovementState, CStateManager& mgr) {}
|
||||||
|
|
||||||
@ -4004,7 +4057,7 @@ void CPlayer::LeaveMorphBallState(CStateManager& mgr)
|
|||||||
SetHudDisable(FLT_EPSILON, 0.f, 2.f);
|
SetHudDisable(FLT_EPSILON, 0.f, 2.f);
|
||||||
SetIntoBallReadyAnimation(mgr);
|
SetIntoBallReadyAnimation(mgr);
|
||||||
CPhysicsActor::Stop();
|
CPhysicsActor::Stop();
|
||||||
x3e4_ = 0.f;
|
x3e4_freeLookYawAngle = 0.f;
|
||||||
x3e8_horizFreeLookAngleVel = 0.f;
|
x3e8_horizFreeLookAngleVel = 0.f;
|
||||||
x3ec_freeLookPitchAngle = 0.f;
|
x3ec_freeLookPitchAngle = 0.f;
|
||||||
x3f0_vertFreeLookAngleVel = 0.f;
|
x3f0_vertFreeLookAngleVel = 0.f;
|
||||||
|
@ -122,7 +122,7 @@ public:
|
|||||||
Four
|
Four
|
||||||
};
|
};
|
||||||
|
|
||||||
enum class EPlayerMovementSurface
|
enum class ESurfaceRestraints
|
||||||
{
|
{
|
||||||
Normal,
|
Normal,
|
||||||
One,
|
One,
|
||||||
@ -217,7 +217,7 @@ private:
|
|||||||
float x2a0_ = 0.f;
|
float x2a0_ = 0.f;
|
||||||
bool x2a4_cancelCameraPitch = false;
|
bool x2a4_cancelCameraPitch = false;
|
||||||
float x2a8_ = 1000.f;
|
float x2a8_ = 1000.f;
|
||||||
EPlayerMovementSurface x2ac_movementSurface = EPlayerMovementSurface::Normal;
|
ESurfaceRestraints x2ac_surfaceRestraint = ESurfaceRestraints::Normal;
|
||||||
u32 x2b0_ = 2;
|
u32 x2b0_ = 2;
|
||||||
rstl::reserved_vector<float, 6> x2b4_;
|
rstl::reserved_vector<float, 6> x2b4_;
|
||||||
u32 x2d0_ = 3;
|
u32 x2d0_ = 3;
|
||||||
@ -271,7 +271,7 @@ private:
|
|||||||
bool x3dd_freeLookPitchAngleCalculated = false;
|
bool x3dd_freeLookPitchAngleCalculated = false;
|
||||||
bool x3de_lookControlHeld = false;
|
bool x3de_lookControlHeld = false;
|
||||||
float x3e0_curFreeLookCenteredTime = 0.f;
|
float x3e0_curFreeLookCenteredTime = 0.f;
|
||||||
float x3e4_ = 0.f;
|
float x3e4_freeLookYawAngle = 0.f;
|
||||||
float x3e8_horizFreeLookAngleVel = 0.f;
|
float x3e8_horizFreeLookAngleVel = 0.f;
|
||||||
float x3ec_freeLookPitchAngle = 0.f;
|
float x3ec_freeLookPitchAngle = 0.f;
|
||||||
float x3f0_vertFreeLookAngleVel = 0.f;
|
float x3f0_vertFreeLookAngleVel = 0.f;
|
||||||
@ -554,6 +554,7 @@ public:
|
|||||||
zeus::CVector3f GetBallPosition() const;
|
zeus::CVector3f GetBallPosition() const;
|
||||||
zeus::CVector3f GetEyePosition() const;
|
zeus::CVector3f GetEyePosition() const;
|
||||||
float GetEyeHeight() const;
|
float GetEyeHeight() const;
|
||||||
|
float GetUnbiasedEyeHeight() const;
|
||||||
float GetStepUpHeight() const;
|
float GetStepUpHeight() const;
|
||||||
float GetStepDownHeight() const;
|
float GetStepDownHeight() const;
|
||||||
void Teleport(const zeus::CTransform& xf, CStateManager& mgr, bool);
|
void Teleport(const zeus::CTransform& xf, CStateManager& mgr, bool);
|
||||||
@ -563,7 +564,8 @@ public:
|
|||||||
const CCollidableSphere* GetCollidableSphere() const;
|
const CCollidableSphere* GetCollidableSphere() const;
|
||||||
zeus::CTransform GetPrimitiveTransform() const;
|
zeus::CTransform GetPrimitiveTransform() const;
|
||||||
void CollidedWith(TUniqueId, const CCollisionInfoList&, CStateManager& mgr);
|
void CollidedWith(TUniqueId, const CCollisionInfoList&, CStateManager& mgr);
|
||||||
float GetActualFirstPersonMaxVelocity() const;
|
float GetActualBallMaxVelocity(float dt) const;
|
||||||
|
float GetActualFirstPersonMaxVelocity(float dt) const;
|
||||||
void SetMoveState(EPlayerMovementState, CStateManager& mgr);
|
void SetMoveState(EPlayerMovementState, CStateManager& mgr);
|
||||||
float JumpInput(const CFinalInput& input, CStateManager& mgr);
|
float JumpInput(const CFinalInput& input, CStateManager& mgr);
|
||||||
float TurnInput(const CFinalInput& input) const;
|
float TurnInput(const CFinalInput& input) const;
|
||||||
|
@ -39,6 +39,26 @@ private:
|
|||||||
u32 x264_ = 0;
|
u32 x264_ = 0;
|
||||||
TLockedToken<CParticleGen> x268_splashEffects[5];
|
TLockedToken<CParticleGen> x268_splashEffects[5];
|
||||||
u16 x29c_splashSounds[5];
|
u16 x29c_splashSounds[5];
|
||||||
|
u32 x2c0_tesselationSize;
|
||||||
|
u32 x2c4_gridDimX = 0;
|
||||||
|
u32 x2c8_gridDimY = 0;
|
||||||
|
u32 x2cc_gridCellCount = 0;
|
||||||
|
std::unique_ptr<bool[]> x2d8_gridFlags;
|
||||||
|
std::unique_ptr<bool[]> x2e0_;
|
||||||
|
u32 x2e4_gridCellCount2 = 0;
|
||||||
|
union
|
||||||
|
{
|
||||||
|
struct
|
||||||
|
{
|
||||||
|
bool x2e8_24 : 1;
|
||||||
|
bool x2e8_25 : 1;
|
||||||
|
bool x2e8_26 : 1;
|
||||||
|
bool x2e8_27 : 1;
|
||||||
|
bool x2e8_28 : 1;
|
||||||
|
};
|
||||||
|
u32 _dummy = 0;
|
||||||
|
};
|
||||||
|
void SetupGrid(bool b);
|
||||||
public:
|
public:
|
||||||
CScriptWater(CStateManager&, TUniqueId, const std::string& name, const CEntityInfo&, const zeus::CVector3f&,
|
CScriptWater(CStateManager&, TUniqueId, const std::string& name, const CEntityInfo&, const zeus::CVector3f&,
|
||||||
const zeus::CAABox&, CDamageInfo const&, zeus::CVector3f&, ETriggerFlags, bool, bool, ResId, ResId, ResId, ResId,
|
const zeus::CAABox&, CDamageInfo const&, zeus::CVector3f&, ETriggerFlags, bool, bool, ResId, ResId, ResId, ResId,
|
||||||
|
Loading…
x
Reference in New Issue
Block a user