diff options
Diffstat (limited to 'Source/Core/VideoCommon/GraphicsModSystem/Runtime/Actions/MoveAction.cpp')
| -rw-r--r-- | Source/Core/VideoCommon/GraphicsModSystem/Runtime/Actions/MoveAction.cpp | 20 |
1 files changed, 14 insertions, 6 deletions
diff --git a/Source/Core/VideoCommon/GraphicsModSystem/Runtime/Actions/MoveAction.cpp b/Source/Core/VideoCommon/GraphicsModSystem/Runtime/Actions/MoveAction.cpp index cc724c0480..d141af585c 100644 --- a/Source/Core/VideoCommon/GraphicsModSystem/Runtime/Actions/MoveAction.cpp +++ b/Source/Core/VideoCommon/GraphicsModSystem/Runtime/Actions/MoveAction.cpp @@ -30,18 +30,26 @@ MoveAction::MoveAction(Common::Vec3 position_offset) : m_position_offset(positio { } -void MoveAction::OnProjection(Common::Matrix44* matrix) +void MoveAction::OnProjection(GraphicsModActionData::Projection* projection) { - if (!matrix) + if (!projection) [[unlikely]] return; - *matrix *= Common::Matrix44::Translate(m_position_offset); + if (!projection->matrix) [[unlikely]] + return; + + auto& matrix = *projection->matrix; + matrix = matrix * Common::Matrix44::Translate(m_position_offset); } -void MoveAction::OnProjectionAndTexture(Common::Matrix44* matrix) +void MoveAction::OnProjectionAndTexture(GraphicsModActionData::Projection* projection) { - if (!matrix) + if (!projection) [[unlikely]] + return; + + if (!projection->matrix) [[unlikely]] return; - *matrix *= Common::Matrix44::Translate(m_position_offset); + auto& matrix = *projection->matrix; + matrix = matrix * Common::Matrix44::Translate(m_position_offset); } |
