mirror of
https://github.com/AxioDL/metaforce.git
synced 2025-12-09 22:27:41 +00:00
Initial InGameGuiManager imps
This commit is contained in:
@@ -8,6 +8,7 @@ namespace DataSpec
|
||||
struct ITweakAutoMapper : public ITweak
|
||||
{
|
||||
virtual const zeus::CVector3f& GetDoorCenter() const=0;
|
||||
virtual float GetCamVerticalOffset() const=0;
|
||||
};
|
||||
}
|
||||
|
||||
|
||||
@@ -9,10 +9,33 @@ namespace DataSpec
|
||||
|
||||
struct ITweakGui : ITweak
|
||||
{
|
||||
virtual float GetScanAppearanceOffset() const = 0;
|
||||
enum class EHudVisMode : atUint32
|
||||
{
|
||||
Zero,
|
||||
One,
|
||||
Two,
|
||||
Three
|
||||
};
|
||||
|
||||
enum class EHelmetVisMode : atUint32
|
||||
{
|
||||
Zero,
|
||||
One,
|
||||
Two,
|
||||
Three,
|
||||
Four
|
||||
};
|
||||
|
||||
virtual EHudVisMode GetHudVisMode() const=0;
|
||||
virtual EHelmetVisMode GetHelmetVisMode() const=0;
|
||||
virtual atUint32 GetEnableAutoMapper() const=0;
|
||||
virtual atUint32 GetEnableTargetingManager() const=0;
|
||||
virtual atUint32 GetEnablePlayerVisor() const=0;
|
||||
virtual float GetScanAppearanceOffset() const=0;
|
||||
virtual float GetScanSpeed(int idx) const=0;
|
||||
virtual float GetXrayBlurScaleLinear() const=0;
|
||||
virtual float GetXrayBlurScaleQuadratic() const=0;
|
||||
virtual float GetWorldTransManagerCharsPerSfx() const=0;
|
||||
};
|
||||
|
||||
}
|
||||
|
||||
@@ -3,6 +3,7 @@
|
||||
|
||||
#include "ITweak.hpp"
|
||||
#include "Runtime/IFactory.hpp"
|
||||
#include "Runtime/CPlayerState.hpp"
|
||||
|
||||
namespace DataSpec
|
||||
{
|
||||
@@ -10,14 +11,7 @@ namespace DataSpec
|
||||
struct ITweakPlayerRes : ITweak
|
||||
{
|
||||
using ResId = int64_t;
|
||||
enum class EBeamId
|
||||
{
|
||||
Power,
|
||||
Ice,
|
||||
Plasma,
|
||||
Wave,
|
||||
Phazon
|
||||
};
|
||||
using EBeamId = urde::CPlayerState::EBeamId;
|
||||
|
||||
ResId x4_saveStationIcon;
|
||||
ResId x8_missileStationIcon;
|
||||
@@ -132,7 +126,7 @@ struct ITweakPlayerRes : ITweak
|
||||
xc4_ballTransitionsANCS = factory.GetResourceIdByName(GetBallTransitionsANCS().c_str())->id;
|
||||
|
||||
for (int i=0 ; i<5 ; ++i)
|
||||
xc8_ballTransitions[i] = factory.GetResourceIdByName(GetBallTransitionModel(i).c_str())->id;
|
||||
xc8_ballTransitions[i] = factory.GetResourceIdByName(GetBallTransitionBeamRes(i).c_str())->id;
|
||||
|
||||
for (int i=0 ; i<5 ; ++i)
|
||||
xc8_cineGun[i] = factory.GetResourceIdByName(GetBeamCineModel(i).c_str())->id;
|
||||
@@ -163,7 +157,7 @@ protected:
|
||||
|
||||
virtual const std::string& GetBallTransitionsANCS() const=0;
|
||||
|
||||
virtual const std::string& GetBallTransitionModel(size_t idx) const=0;
|
||||
virtual const std::string& GetBallTransitionBeamRes(size_t idx) const=0;
|
||||
virtual const std::string& GetBeamCineModel(size_t idx) const=0;
|
||||
|
||||
virtual float GetUnkFloat() const=0;
|
||||
|
||||
@@ -70,7 +70,7 @@ struct CTweakAutoMapper : public ITweakAutoMapper
|
||||
Value<float> xe0_;
|
||||
Value<float> xe4_;
|
||||
Value<float> xe8_;
|
||||
Value<float> xec_;
|
||||
Value<float> xec_camVerticalOffset;
|
||||
DNAColor xf0_;
|
||||
DNAColor xf4_;
|
||||
DNAColor xf8_;
|
||||
@@ -83,6 +83,7 @@ struct CTweakAutoMapper : public ITweakAutoMapper
|
||||
CTweakAutoMapper() = default;
|
||||
CTweakAutoMapper(athena::io::IStreamReader& r) { this->read(r); }
|
||||
const zeus::CVector3f& GetDoorCenter() const { return xa4_doorCenter; }
|
||||
float GetCamVerticalOffset() const { return xec_camVerticalOffset; }
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
@@ -67,12 +67,12 @@ struct CTweakGui : ITweakGui
|
||||
Value<float> xec_;
|
||||
Value<float> xf0_;
|
||||
Value<float> xf4_;
|
||||
Value<atUint32> xf8_;
|
||||
Value<atUint32> xfc_;
|
||||
Value<atUint32> x100_;
|
||||
Value<EHudVisMode> xf8_hudVisMode;
|
||||
Value<EHelmetVisMode> xfc_helmetVisMode;
|
||||
Value<atUint32> x100_enableAutoMapper;
|
||||
Value<atUint32> x104_;
|
||||
Value<atUint32> x108_;
|
||||
Value<atUint32> x10c_;
|
||||
Value<atUint32> x108_enableTargetingManager;
|
||||
Value<atUint32> x10c_enablePlayerVisor;
|
||||
Value<float> x110_;
|
||||
Value<float> x114_;
|
||||
Value<float> x118_;
|
||||
@@ -150,7 +150,7 @@ struct CTweakGui : ITweakGui
|
||||
Value<float> x270_;
|
||||
Value<bool> x274_;
|
||||
bool x275_ = true;
|
||||
Value<float> x278_;
|
||||
Value<float> x278_wtMgrCharsPerSfx;
|
||||
Value<atUint32> x27c_;
|
||||
Value<float> x280_;
|
||||
Value<float> x284_;
|
||||
@@ -195,9 +195,15 @@ struct CTweakGui : ITweakGui
|
||||
CTweakGui() = default;
|
||||
CTweakGui(athena::io::IStreamReader& r) { this->read(r); }
|
||||
|
||||
EHudVisMode GetHudVisMode() const { return xf8_hudVisMode; }
|
||||
EHelmetVisMode GetHelmetVisMode() const { return xfc_helmetVisMode; }
|
||||
atUint32 GetEnableAutoMapper() const { return x100_enableAutoMapper; }
|
||||
atUint32 GetEnableTargetingManager() const { return x108_enableTargetingManager; }
|
||||
atUint32 GetEnablePlayerVisor() const { return x10c_enablePlayerVisor; }
|
||||
float GetScanAppearanceOffset() const { return x244_scanAppearanceOffset; }
|
||||
float GetXrayBlurScaleLinear() const { return x204_xrayBlurScaleLinear; }
|
||||
float GetXrayBlurScaleQuadratic() const { return x208_xrayBlurScaleQuadratic; }
|
||||
float GetWorldTransManagerCharsPerSfx() const { return x278_wtMgrCharsPerSfx; }
|
||||
|
||||
float GetScanSpeed(int idx) const
|
||||
{
|
||||
|
||||
@@ -94,7 +94,7 @@ struct CTweakPlayerRes : ITweakPlayerRes
|
||||
|
||||
const std::string& GetBallTransitionsANCS() const { return m_ballTransitionsANCS; }
|
||||
|
||||
const std::string& GetBallTransitionModel(size_t idx) const { return (&m_ballTransitionsPower)[idx]; }
|
||||
const std::string& GetBallTransitionBeamRes(size_t idx) const { return (&m_ballTransitionsPower)[idx]; }
|
||||
const std::string& GetBeamCineModel(size_t idx) const { return (&m_cinePower)[idx]; }
|
||||
|
||||
float GetUnkFloat() const { return m_unkFloat; }
|
||||
|
||||
@@ -53,10 +53,18 @@ struct OriginalIDs
|
||||
{
|
||||
static void Generate(PAKRouter<DNAMP1::PAKBridge>& pakRouter, hecl::Database::Project& project)
|
||||
{
|
||||
std::unordered_set<UniqueID32> addedIDs;
|
||||
std::vector<UniqueID32> originalIDs;
|
||||
pakRouter.enumerateResources([&](const DNAMP1::PAK::Entry* ent) -> bool {
|
||||
if (ent->type == FOURCC('MLVL') || ent->type == FOURCC('SCAN'))
|
||||
originalIDs.push_back(ent->id);
|
||||
if (ent->type == FOURCC('MLVL') || ent->type == FOURCC('SCAN') ||
|
||||
ent->id.toUint32() == 0xB7BBD0B4 || ent->id.toUint32() == 0x1F9DA858)
|
||||
{
|
||||
if (addedIDs.find(ent->id) == addedIDs.cend())
|
||||
{
|
||||
addedIDs.insert(ent->id);
|
||||
originalIDs.push_back(ent->id);
|
||||
}
|
||||
}
|
||||
return true;
|
||||
});
|
||||
std::sort(originalIDs.begin(), originalIDs.end());
|
||||
|
||||
Reference in New Issue
Block a user