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
|
#ifndef CLIENT_DLL
|
||||||
if (*g_pAINetwork)
|
if (*g_pAINetwork)
|
||||||
{
|
{
|
||||||
|
OverlayBox_t::Transforms vTransforms;
|
||||||
|
|
||||||
for (int i = ai_script_nodes_draw_index->GetInt(); i < (*g_pAINetwork)->GetNumScriptNodes(); i++)
|
for (int i = ai_script_nodes_draw_index->GetInt(); i < (*g_pAINetwork)->GetNumScriptNodes(); i++)
|
||||||
{
|
{
|
||||||
if (i < 0)
|
if (i < 0)
|
||||||
@ -254,12 +256,9 @@ void DrawAIScriptNodes()
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
OverlayBox_t::Transforms vTransforms{}; /*!FIXME: using '__m128' without type cast shifts the stack with 0x10 despite being the same size!*/
|
vTransforms.xmm[0] = _mm_set_ps((*g_pAINetwork)->m_ScriptNode[i].m_vOrigin.x - 50.f, 0.0f, 0.0f, 1.0f);
|
||||||
__m128* pTransforms = reinterpret_cast<__m128*>(&vTransforms.u0);
|
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);
|
||||||
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);
|
|
||||||
|
|
||||||
v_RenderBox(vTransforms, {0, 0, 0}, {100, 100, 100}, Color(0, 255, 0, 255), r_debug_overlay_zbuffer->GetBool());
|
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
|
#pragma once
|
||||||
#include "mathlib/vector.h"
|
#include "mathlib/vector.h"
|
||||||
#include "mathlib/color.h"
|
#include "mathlib/color.h"
|
||||||
|
#include "mathlib/vector4d.h"
|
||||||
|
|
||||||
// Something has to be hardcoded..
|
// Something has to be hardcoded..
|
||||||
#if defined (GAMEDLL_S0) || defined (GAMEDLL_S1) || defined (GAMEDLL_S2)
|
#if defined (GAMEDLL_S0) || defined (GAMEDLL_S1) || defined (GAMEDLL_S2)
|
||||||
@ -73,12 +74,17 @@ struct OverlayBox_t : public OverlayBase_t
|
|||||||
|
|
||||||
struct Transforms
|
struct Transforms
|
||||||
{
|
{
|
||||||
Vector3D u0;
|
Transforms()
|
||||||
float x;
|
{
|
||||||
Vector3D u1;
|
xmm[0] = _mm_setzero_ps();
|
||||||
float y;
|
xmm[1] = _mm_setzero_ps();
|
||||||
Vector3D u2;
|
xmm[2] = _mm_setzero_ps();
|
||||||
float z;
|
};
|
||||||
|
union
|
||||||
|
{
|
||||||
|
__m128 xmm[3];
|
||||||
|
Vector4D vec[3];
|
||||||
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
Transforms transforms;
|
Transforms transforms;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user