mirror of
https://github.com/Mauler125/r5sdk.git
synced 2025-02-09 19:15:03 +01:00
Proper SSE structure for OverlayBox_t::Transforms
This commit is contained in:
parent
d47eaf98a0
commit
521cbad760
@ -247,6 +247,8 @@ void DrawAIScriptNodes()
|
||||
#ifndef CLIENT_DLL
|
||||
if (*g_pAINetwork)
|
||||
{
|
||||
OverlayBox_t::Transforms vTransforms;
|
||||
|
||||
for (int i = ai_script_nodes_draw_index->GetInt(); i < (*g_pAINetwork)->GetNumScriptNodes(); i++)
|
||||
{
|
||||
if (i < 0)
|
||||
@ -254,12 +256,9 @@ void DrawAIScriptNodes()
|
||||
return;
|
||||
}
|
||||
|
||||
OverlayBox_t::Transforms vTransforms{}; /*!FIXME: using '__m128' without type cast shifts the stack with 0x10 despite being the same size!*/
|
||||
__m128* pTransforms = reinterpret_cast<__m128*>(&vTransforms.u0);
|
||||
|
||||
pTransforms[0] = _mm_set_ps((*g_pAINetwork)->m_ScriptNode[i].m_vOrigin.x - 50.f, 0.0f, 0.0f, 1.0f);
|
||||
pTransforms[1] = _mm_set_ps((*g_pAINetwork)->m_ScriptNode[i].m_vOrigin.y - 50.f, 0.0f, 1.0f, 0.0f);
|
||||
pTransforms[2] = _mm_set_ps((*g_pAINetwork)->m_ScriptNode[i].m_vOrigin.z - 50.f, 1.0f, 0.0f, 0.0f);
|
||||
vTransforms.xmm[0] = _mm_set_ps((*g_pAINetwork)->m_ScriptNode[i].m_vOrigin.x - 50.f, 0.0f, 0.0f, 1.0f);
|
||||
vTransforms.xmm[1] = _mm_set_ps((*g_pAINetwork)->m_ScriptNode[i].m_vOrigin.y - 50.f, 0.0f, 1.0f, 0.0f);
|
||||
vTransforms.xmm[2] = _mm_set_ps((*g_pAINetwork)->m_ScriptNode[i].m_vOrigin.z - 50.f, 1.0f, 0.0f, 0.0f);
|
||||
|
||||
v_RenderBox(vTransforms, {0, 0, 0}, {100, 100, 100}, Color(0, 255, 0, 255), r_debug_overlay_zbuffer->GetBool());
|
||||
|
||||
|
@ -1,6 +1,7 @@
|
||||
#pragma once
|
||||
#include "mathlib/vector.h"
|
||||
#include "mathlib/color.h"
|
||||
#include "mathlib/vector4d.h"
|
||||
|
||||
// Something has to be hardcoded..
|
||||
#if defined (GAMEDLL_S0) || defined (GAMEDLL_S1) || defined (GAMEDLL_S2)
|
||||
@ -73,12 +74,17 @@ struct OverlayBox_t : public OverlayBase_t
|
||||
|
||||
struct Transforms
|
||||
{
|
||||
Vector3D u0;
|
||||
float x;
|
||||
Vector3D u1;
|
||||
float y;
|
||||
Vector3D u2;
|
||||
float z;
|
||||
Transforms()
|
||||
{
|
||||
xmm[0] = _mm_setzero_ps();
|
||||
xmm[1] = _mm_setzero_ps();
|
||||
xmm[2] = _mm_setzero_ps();
|
||||
};
|
||||
union
|
||||
{
|
||||
__m128 xmm[3];
|
||||
Vector4D vec[3];
|
||||
};
|
||||
};
|
||||
|
||||
Transforms transforms;
|
||||
|
Loading…
x
Reference in New Issue
Block a user