#pragma once #include "DataSpec/DNACommon/Tweaks/ITweakAutoMapper.hpp" #include namespace hecl { class CVar; } namespace DataSpec::DNAMP1 { struct CTweakAutoMapper final : public ITweakAutoMapper { AT_DECL_DNA_YAML Value x4_24_showOneMiniMapArea; Value x4_25_; Value x4_26_scaleMoveSpeedWithCamDist; Value x8_camDist; Value xc_minCamDist; Value x10_maxCamDist; Value x14_minCamRotateX; Value x18_maxCamRotateX; Value x1c_camAngle; Value x20_; DNAColor x24_automapperWidgetColor; Value x28_miniCamDist; Value x2c_miniCamXAngle; Value x30_miniCamAngle; Value x34_; DNAColor x38_automapperWidgetMiniColor; DNAColor x3c_surfColorVisited; DNAColor x40_outlineColorVisited; DNAColor x44_surfColorUnvisited; DNAColor x48_outlineColorUnvisited; DNAColor x4c_surfaceSelectColorVisited; DNAColor x50_outlineSelectColorVisited; Value x54_mapSurfaceNormColorLinear; Value x58_mapSurfaceNormColorConstant; Value x5c_; float x60_ = 0.4f; Value x64_openMapScreenTime; Value x68_closeMapScreenTime; Value x6c_hintPanTime; Value x70_zoomUnitsPerFrame; Value x74_rotateDegPerFrame; Value x78_baseMapScreenCameraMoveSpeed; DNAColor x7c_surfaceSelectColorUnvisited; DNAColor x80_outlineSelectColorUnvisited; Value x84_miniAlphaSurfaceVisited; Value x88_alphaSurfaceVisited; Value x8c_miniAlphaOutlineVisited; Value x90_alphaOutlineVisited; Value x94_miniAlphaSurfaceUnvisited; Value x98_alphaSurfaceUnvisited; Value x9c_miniAlphaOutlineUnvisited; Value xa0_alphaOutlineUnvisited; /* Originally 4 separate floats */ Value xa4_doorCenter; Value xb0_; Value xb4_; Value xb8_miniMapViewportWidth; Value xbc_miniMapViewportHeight; Value xc0_miniMapCamDistScale; Value xc4_mapPlaneScaleX; Value xc8_mapPlaneScaleZ; Value xcc_; Value xd0_universeCamDist; Value xd4_minUniverseCamDist; Value xd8_maxUniverseCamDist; Value xdc_switchToFromUniverseTime; Value xe0_camPanUnitsPerFrame; Value xe4_automapperScaleX; Value xe8_automapperScaleZ; Value xec_camVerticalOffset; DNAColor xf0_miniMapSamusModColor; DNAColor xf4_areaFlashPulseColor; DNAColor xf8_; DNAColor xfc_; Value x100_doorColorCount; Vector x104_doorColors; DNAColor x118_doorBorderColor; DNAColor x11c_openDoorColor; CTweakAutoMapper() = default; CTweakAutoMapper(athena::io::IStreamReader& r) { this->read(r); } bool GetShowOneMiniMapArea() const override { return x4_24_showOneMiniMapArea; } bool GetScaleMoveSpeedWithCamDist() const override { return x4_26_scaleMoveSpeedWithCamDist; } float GetCamDist() const override { return x8_camDist; } float GetMinCamDist() const override { return xc_minCamDist; } float GetMaxCamDist() const override { return x10_maxCamDist; } float GetMinCamRotateX() const override { return x14_minCamRotateX; } float GetMaxCamRotateX() const override { return x18_maxCamRotateX; } float GetCamAngle() const override { return x1c_camAngle; } const zeus::CColor& GetAutomapperWidgetColor() const override { return x24_automapperWidgetColor; } float GetMiniCamDist() const override { return x28_miniCamDist; } float GetMiniCamXAngle() const override { return x2c_miniCamXAngle; } float GetMiniCamAngle() const override { return x30_miniCamAngle; } const zeus::CColor& GetAutomapperWidgetMiniColor() const override { return x38_automapperWidgetMiniColor; } const zeus::CColor& GetSurfaceVisitedColor() const override { return x3c_surfColorVisited; } const zeus::CColor& GetOutlineVisitedColor() const override { return x40_outlineColorVisited; } const zeus::CColor& GetSurfaceUnvisitedColor() const override { return x44_surfColorUnvisited; } const zeus::CColor& GetOutlineUnvisitedColor() const override { return x48_outlineColorUnvisited; } const zeus::CColor& GetSurfaceSelectVisitedColor() const override { return x4c_surfaceSelectColorVisited; } const zeus::CColor& GetOutlineSelectVisitedColor() const override { return x50_outlineSelectColorVisited; } float GetMapSurfaceNormColorLinear() const override { return x54_mapSurfaceNormColorLinear; } float GetMapSurfaceNormColorConstant() const override { return x58_mapSurfaceNormColorConstant; } float GetOpenMapScreenTime() const override { return x64_openMapScreenTime; } float GetCloseMapScreenTime() const override { return x68_closeMapScreenTime; } float GetHintPanTime() const override { return x6c_hintPanTime; } float GetCamZoomUnitsPerFrame() const override { return x70_zoomUnitsPerFrame; } float GetCamRotateDegreesPerFrame() const override { return x74_rotateDegPerFrame; } float GetBaseMapScreenCameraMoveSpeed() const override { return x78_baseMapScreenCameraMoveSpeed; } const zeus::CColor& GetSurfaceSelectUnvisitedColor() const override { return x7c_surfaceSelectColorUnvisited; } const zeus::CColor& GetOutlineSelectUnvisitedColor() const override { return x80_outlineSelectColorUnvisited; } float GetMiniAlphaSurfaceVisited() const override { return x84_miniAlphaSurfaceVisited; } float GetAlphaSurfaceVisited() const override { return x88_alphaSurfaceVisited; } float GetMiniAlphaOutlineVisited() const override { return x8c_miniAlphaOutlineVisited; } float GetAlphaOutlineVisited() const override { return x90_alphaOutlineVisited; } float GetMiniAlphaSurfaceUnvisited() const override { return x94_miniAlphaSurfaceUnvisited; } float GetAlphaSurfaceUnvisited() const override { return x98_alphaSurfaceUnvisited; } float GetMiniAlphaOutlineUnvisited() const override { return x9c_miniAlphaOutlineUnvisited; } float GetAlphaOutlineUnvisited() const override { return xa0_alphaOutlineUnvisited; } const zeus::CVector3f& GetDoorCenter() const override { return xa4_doorCenter; } float GetMiniMapViewportWidth() const override { return xb8_miniMapViewportWidth; } float GetMiniMapViewportHeight() const override { return xbc_miniMapViewportHeight; } float GetMiniMapCamDistScale() const override { return xc0_miniMapCamDistScale; } float GetMapPlaneScaleX() const override { return xc4_mapPlaneScaleX; } float GetMapPlaneScaleZ() const override { return xc8_mapPlaneScaleZ; } float GetUniverseCamDist() const override { return xd0_universeCamDist; } float GetMinUniverseCamDist() const override { return xd4_minUniverseCamDist; } float GetMaxUniverseCamDist() const override { return xd8_maxUniverseCamDist; } float GetSwitchToFromUniverseTime() const override { return xdc_switchToFromUniverseTime; } float GetCamPanUnitsPerFrame() const override { return xe0_camPanUnitsPerFrame; } float GetAutomapperScaleX() const override { return xe4_automapperScaleX; } float GetAutomapperScaleZ() const override { return xe8_automapperScaleZ; } float GetCamVerticalOffset() const override { return xec_camVerticalOffset; } const zeus::CColor& GetMiniMapSamusModColor() const override { return xf0_miniMapSamusModColor; } const zeus::CColor& GetAreaFlashPulseColor() const override { return xf4_areaFlashPulseColor; } const zeus::CColor& GetDoorColor(int idx) const override { return x104_doorColors[idx]; } const zeus::CColor& GetOpenDoorColor() const override { return x11c_openDoorColor; } void initCVars(hecl::CVarManager*) override; private: void _tweakListener(hecl::CVar* cv); }; } // namespace DataSpec::DNAMP1