VideoCommon: add structures to graphics mods to allow for future adding or removing parameters with less code overhead

This commit is contained in:
iwubcode
2022-07-02 14:49:51 -05:00
parent 6cf99195c6
commit bc360584a3
16 changed files with 145 additions and 81 deletions

View File

@ -21,6 +21,7 @@
#include "VideoCommon/BPMemory.h"
#include "VideoCommon/CPMemory.h"
#include "VideoCommon/FreeLookCamera.h"
#include "VideoCommon/GraphicsModSystem/Runtime/GraphicsModActionData.h"
#include "VideoCommon/RenderBase.h"
#include "VideoCommon/Statistics.h"
#include "VideoCommon/VertexLoaderManager.h"
@ -415,9 +416,10 @@ void VertexShaderManager::SetConstants(const std::vector<std::string>& textures)
if (g_freelook_camera.IsActive() && xfmem.projection.type == ProjectionType::Perspective)
corrected_matrix *= g_freelook_camera.GetView();
GraphicsModActionData::Projection projection{&corrected_matrix};
for (auto action : projection_actions)
{
action->OnProjection(&corrected_matrix);
action->OnProjection(&projection);
}
memcpy(constants.projection.data(), corrected_matrix.data.data(), 4 * sizeof(float4));