2023-12-07 07:10:42 -05:00
|
|
|
#include "impl.h"
|
|
|
|
|
|
|
|
using namespace TglImpl;
|
|
|
|
|
2024-01-29 16:17:17 -05:00
|
|
|
DECOMP_SIZE_ASSERT(Camera, 0x04);
|
|
|
|
DECOMP_SIZE_ASSERT(CameraImpl, 0x08);
|
2023-12-07 07:10:42 -05:00
|
|
|
|
|
|
|
// FUNCTION: LEGO1 0x100a36f0
|
|
|
|
void* CameraImpl::ImplementationDataPtr()
|
|
|
|
{
|
|
|
|
return reinterpret_cast<void*>(&m_data);
|
|
|
|
}
|
|
|
|
|
|
|
|
// FUNCTION: LEGO1 0x100a3700
|
2024-01-12 19:34:38 -05:00
|
|
|
Result CameraImpl::SetTransformation(FloatMatrix4& matrix)
|
2023-12-07 07:10:42 -05:00
|
|
|
{
|
|
|
|
D3DRMMATRIX4D helper;
|
|
|
|
D3DRMMATRIX4D* pTransformation = Translate(matrix, helper);
|
|
|
|
|
|
|
|
D3DVECTOR position;
|
|
|
|
Result result;
|
|
|
|
Result result2;
|
|
|
|
|
|
|
|
result2 = ResultVal(m_data->GetPosition(0, &position));
|
|
|
|
result = ResultVal(m_data->AddTransform(D3DRMCOMBINE_REPLACE, *pTransformation));
|
|
|
|
// The did this second call just to assert on the return value
|
|
|
|
result2 = ResultVal(m_data->GetPosition(0, &position));
|
|
|
|
|
|
|
|
return result;
|
|
|
|
}
|