mirror of
https://github.com/isledecomp/isle.git
synced 2026-01-24 16:51:15 +00:00
Fixups FloatMatrix -> FloatMatrix4
This commit is contained in:
parent
d476b7a7a0
commit
76aa524129
@ -21,7 +21,7 @@ void* CameraImpl::ImplementationDataPtr()
|
||||
}
|
||||
|
||||
// OFFSET: LEGO1 0x100a3700
|
||||
Result CameraImpl::SetTransformation(const FloatMatrix& p_matrix)
|
||||
Result CameraImpl::SetTransformation(const FloatMatrix4& p_matrix)
|
||||
{
|
||||
D3DRMMATRIX4D helper;
|
||||
D3DRMMATRIX4D* pTransformation = Translate(p_matrix, helper);
|
||||
|
||||
@ -18,7 +18,7 @@ void* GroupImpl::ImplementationDataPtr()
|
||||
}
|
||||
|
||||
// OFFSET: LEGO1 0x100a31e0
|
||||
Result GroupImpl::SetTransformation(const FloatMatrix& p_matrix)
|
||||
Result GroupImpl::SetTransformation(const FloatMatrix4& p_matrix)
|
||||
{
|
||||
D3DRMMATRIX4D helper;
|
||||
D3DRMMATRIX4D* matrix = Translate(p_matrix, helper);
|
||||
|
||||
@ -170,7 +170,7 @@ class CameraImpl : public Camera {
|
||||
virtual void* ImplementationDataPtr();
|
||||
|
||||
// vtable+0x08
|
||||
virtual Result SetTransformation(const FloatMatrix&);
|
||||
virtual Result SetTransformation(const FloatMatrix4&);
|
||||
|
||||
inline IDirect3DRMFrame* ImplementationData() const { return m_data; }
|
||||
|
||||
@ -189,7 +189,7 @@ class LightImpl : public Light {
|
||||
virtual void* ImplementationDataPtr();
|
||||
|
||||
// vtable+0x08
|
||||
virtual Result SetTransformation(const FloatMatrix&);
|
||||
virtual Result SetTransformation(const FloatMatrix4&);
|
||||
virtual Result SetColor(float p_r, float p_g, float p_b);
|
||||
|
||||
inline IDirect3DRMFrame* ImplementationData() const { return m_data; }
|
||||
@ -243,7 +243,7 @@ class GroupImpl : public Group {
|
||||
virtual void* ImplementationDataPtr();
|
||||
|
||||
// vtable+0x08
|
||||
virtual Result SetTransformation(const FloatMatrix&);
|
||||
virtual Result SetTransformation(const FloatMatrix4&);
|
||||
virtual Result SetColor(float p_r, float p_g, float p_b, float p_a);
|
||||
|
||||
// vtable+0x10
|
||||
@ -405,7 +405,7 @@ inline D3DRMPROJECTIONTYPE Translate(ProjectionType p_tglProjectionType)
|
||||
// Yes this function serves no purpose, originally they intended it to
|
||||
// convert from doubles to floats but ended up using floats throughout
|
||||
// the software stack.
|
||||
inline D3DRMMATRIX4D* Translate(const FloatMatrix& tglMatrix4x4, D3DRMMATRIX4D& rD3DRMMatrix4x4)
|
||||
inline D3DRMMATRIX4D* Translate(const FloatMatrix4& tglMatrix4x4, D3DRMMATRIX4D& rD3DRMMatrix4x4)
|
||||
{
|
||||
for (int i = 0; i < (sizeof(rD3DRMMatrix4x4) / sizeof(rD3DRMMatrix4x4[0])); i++) {
|
||||
for (int j = 0; j < (sizeof(rD3DRMMatrix4x4[0]) / sizeof(rD3DRMMatrix4x4[0][0])); j++) {
|
||||
|
||||
@ -21,7 +21,7 @@ void* LightImpl::ImplementationDataPtr()
|
||||
}
|
||||
|
||||
// OFFSET: LEGO1 0x100a3780
|
||||
Result LightImpl::SetTransformation(const FloatMatrix& p_matrix)
|
||||
Result LightImpl::SetTransformation(const FloatMatrix4& p_matrix)
|
||||
{
|
||||
D3DRMMATRIX4D helper;
|
||||
D3DRMMATRIX4D* matrix = Translate(p_matrix, helper);
|
||||
|
||||
@ -222,13 +222,13 @@ class View : public Object {
|
||||
// VTABLE 0x100dbae8
|
||||
class Camera : public Object {
|
||||
public:
|
||||
virtual Result SetTransformation(const FloatMatrix&) = 0;
|
||||
virtual Result SetTransformation(const FloatMatrix4&) = 0;
|
||||
};
|
||||
|
||||
// VTABLE 0x100dbb08
|
||||
class Light : public Object {
|
||||
public:
|
||||
virtual Result SetTransformation(const FloatMatrix&) = 0;
|
||||
virtual Result SetTransformation(const FloatMatrix4&) = 0;
|
||||
virtual Result SetColor(float p_r, float p_g, float p_b) = 0;
|
||||
};
|
||||
|
||||
@ -252,7 +252,7 @@ class Mesh : public Object {
|
||||
// VTABLE 0x100dbaa0
|
||||
class Group : public Object {
|
||||
public:
|
||||
virtual Result SetTransformation(const FloatMatrix&) = 0;
|
||||
virtual Result SetTransformation(const FloatMatrix4&) = 0;
|
||||
virtual Result SetColor(float p_r, float p_g, float p_b, float p_a) = 0;
|
||||
virtual Result SetTexture(const Texture*) = 0;
|
||||
virtual Result GetTexture(Texture*&) = 0;
|
||||
|
||||
@ -75,22 +75,22 @@ inline void Array<T, N>::operator+=(const Array<T, N>& rArray)
|
||||
|
||||
//////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// FloatMatrix
|
||||
// FloatMatrix4
|
||||
|
||||
class FloatMatrix : public Array<Array<float, 4>, 4> {
|
||||
class FloatMatrix4 : public Array<Array<float, 4>, 4> {
|
||||
public:
|
||||
FloatMatrix() {}
|
||||
FloatMatrix(const FloatMatrix& rMatrix) { *this = rMatrix; }
|
||||
FloatMatrix(const FloatMatrix&, const FloatMatrix&);
|
||||
FloatMatrix4() {}
|
||||
FloatMatrix4(const FloatMatrix4& rMatrix) { *this = rMatrix; }
|
||||
FloatMatrix4(const FloatMatrix4&, const FloatMatrix4&);
|
||||
|
||||
void operator*=(const FloatMatrix&);
|
||||
void operator*=(const FloatMatrix4&);
|
||||
};
|
||||
|
||||
//////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// FloatMatrix implementation
|
||||
// FloatMatrix4 implementation
|
||||
|
||||
inline FloatMatrix::FloatMatrix(const FloatMatrix& rMatrix1, const FloatMatrix& rMatrix2)
|
||||
inline FloatMatrix4::FloatMatrix4(const FloatMatrix4& rMatrix1, const FloatMatrix4& rMatrix2)
|
||||
{
|
||||
for (int row = 0; row < 4; row++) {
|
||||
for (int column = 0; column < 4; column++) {
|
||||
@ -105,11 +105,11 @@ inline FloatMatrix::FloatMatrix(const FloatMatrix& rMatrix1, const FloatMatrix&
|
||||
}
|
||||
}
|
||||
|
||||
inline void FloatMatrix::operator*=(const FloatMatrix& rMatrix)
|
||||
inline void FloatMatrix4::operator*=(const FloatMatrix4& rMatrix)
|
||||
{
|
||||
FloatMatrix temp(*this, rMatrix);
|
||||
FloatMatrix4 temp(*this, rMatrix);
|
||||
|
||||
// *this = FloatMatrix(*this, rMatrix);
|
||||
// *this = FloatMatrix4(*this, rMatrix);
|
||||
*this = temp;
|
||||
}
|
||||
|
||||
@ -117,7 +117,7 @@ inline void FloatMatrix::operator*=(const FloatMatrix& rMatrix)
|
||||
//
|
||||
// Transformation matrices
|
||||
|
||||
class Translation : public FloatMatrix {
|
||||
class Translation : public FloatMatrix4 {
|
||||
public:
|
||||
Translation(const float[3]);
|
||||
Translation(float x, float y, float z);
|
||||
@ -126,7 +126,7 @@ class Translation : public FloatMatrix {
|
||||
void Init(float x, float y, float z);
|
||||
};
|
||||
|
||||
class Scale : public FloatMatrix {
|
||||
class Scale : public FloatMatrix4 {
|
||||
public:
|
||||
Scale(const float[3]);
|
||||
Scale(float x, float y, float z);
|
||||
@ -136,12 +136,12 @@ class Scale : public FloatMatrix {
|
||||
void Init(float x, float y, float z);
|
||||
};
|
||||
|
||||
class RotationX : public FloatMatrix {
|
||||
class RotationX : public FloatMatrix4 {
|
||||
public:
|
||||
RotationX(float radians);
|
||||
};
|
||||
|
||||
class RotationY : public FloatMatrix {
|
||||
class RotationY : public FloatMatrix4 {
|
||||
public:
|
||||
RotationY(float radians);
|
||||
};
|
||||
|
||||
@ -44,7 +44,7 @@ class ViewLODList : public LODList<ViewLOD> {
|
||||
// ??? for now, until we have symbol management
|
||||
typedef const char* ROIName;
|
||||
struct ROINameComparator {
|
||||
bool operator()(const ROIName& rName1, const ROIName& rName2) const
|
||||
int operator()(const ROIName& rName1, const ROIName& rName2) const
|
||||
{
|
||||
return strcmp((const char*) rName1, (const char*) rName2) > 0;
|
||||
}
|
||||
|
||||
@ -27,8 +27,7 @@ void ViewROI::UpdateWorldData(const Matrix4Data& parent2world)
|
||||
{
|
||||
OrientableROI::UpdateWorldData(parent2world);
|
||||
if (geometry) {
|
||||
// Tgl::FloatMatrix4 tgl_mat;
|
||||
Matrix4 mat;
|
||||
Tgl::FloatMatrix4 mat;
|
||||
SETMAT4(mat, m_local2world.GetMatrix());
|
||||
Tgl::Result result = geometry->SetTransformation(mat);
|
||||
// assert(Tgl::Succeeded(result));
|
||||
|
||||
Loading…
Reference in New Issue
Block a user