mirror of
https://github.com/isledecomp/isle.git
synced 2026-01-24 08:41:16 +00:00
39 lines
854 B
C++
39 lines
854 B
C++
#include "impl.h"
|
|
|
|
using namespace TglImpl;
|
|
|
|
DECOMP_SIZE_ASSERT(Camera, 0x4);
|
|
DECOMP_SIZE_ASSERT(CameraImpl, 0x8);
|
|
|
|
// Inlined only
|
|
CameraImpl::~CameraImpl()
|
|
{
|
|
if (m_data) {
|
|
m_data->Release();
|
|
m_data = NULL;
|
|
}
|
|
}
|
|
|
|
// OFFSET: LEGO1 0x100a36f0
|
|
void* CameraImpl::ImplementationDataPtr()
|
|
{
|
|
return reinterpret_cast<void*>(&m_data);
|
|
}
|
|
|
|
// OFFSET: LEGO1 0x100a3700
|
|
Result CameraImpl::SetTransformation(const FloatMatrix4& p_matrix)
|
|
{
|
|
D3DRMMATRIX4D helper;
|
|
D3DRMMATRIX4D* pTransformation = Translate(p_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;
|
|
} |