mirror of
https://github.com/isledecomp/isle.git
synced 2025-10-22 16:04:17 +00:00
Add BETA10 addresses for LegoROI
and others (#1569)
--------- Co-authored-by: jonschz <jonschz@users.noreply.github.com>
This commit is contained in:
@@ -16,65 +16,60 @@ float ViewROI::IntrinsicImportance() const
|
||||
} // for now
|
||||
|
||||
// FUNCTION: LEGO1 0x100a9ec0
|
||||
// FUNCTION: BETA10 0x1018c740
|
||||
Tgl::Group* ViewROI::GetGeometry()
|
||||
{
|
||||
return geometry;
|
||||
}
|
||||
|
||||
// FUNCTION: LEGO1 0x100a9ed0
|
||||
// FUNCTION: BETA10 0x1018c760
|
||||
const Tgl::Group* ViewROI::GetGeometry() const
|
||||
{
|
||||
return geometry;
|
||||
}
|
||||
|
||||
// FUNCTION: LEGO1 0x100a9ee0
|
||||
// FUNCTION: BETA10 0x1018c780
|
||||
void ViewROI::UpdateWorldDataWithTransformAndChildren(const Matrix4& parent2world)
|
||||
{
|
||||
OrientableROI::UpdateWorldDataWithTransformAndChildren(parent2world);
|
||||
SetGeometryTransformation();
|
||||
}
|
||||
|
||||
// FUNCTION: BETA10 0x1018c7b0
|
||||
inline void ViewROI::SetGeometryTransformation()
|
||||
{
|
||||
if (geometry) {
|
||||
Tgl::FloatMatrix4 matrix;
|
||||
Matrix4 in(matrix);
|
||||
SETMAT4(in, m_local2world);
|
||||
Tgl::Result result = geometry->SetTransformation(matrix);
|
||||
// assert(Tgl::Succeeded(result));
|
||||
geometry->SetTransformation(matrix);
|
||||
}
|
||||
}
|
||||
|
||||
// FUNCTION: LEGO1 0x100a9fc0
|
||||
// FUNCTION: BETA10 0x1018cad0
|
||||
void ViewROI::UpdateWorldDataWithTransform(const Matrix4& p_transform)
|
||||
{
|
||||
OrientableROI::UpdateWorldDataWithTransform(p_transform);
|
||||
if (geometry) {
|
||||
Tgl::FloatMatrix4 matrix;
|
||||
Matrix4 in(matrix);
|
||||
SETMAT4(in, m_local2world);
|
||||
geometry->SetTransformation(matrix);
|
||||
}
|
||||
SetGeometryTransformation();
|
||||
}
|
||||
|
||||
// FUNCTION: LEGO1 0x100aa0a0
|
||||
// FUNCTION: BETA10 0x1018cb00
|
||||
void ViewROI::SetLocal2WorldWithWorldDataUpdate(const Matrix4& p_transform)
|
||||
{
|
||||
OrientableROI::SetLocal2WorldWithWorldDataUpdate(p_transform);
|
||||
if (geometry) {
|
||||
Tgl::FloatMatrix4 matrix;
|
||||
Matrix4 in(matrix);
|
||||
SETMAT4(in, m_local2world);
|
||||
geometry->SetTransformation(matrix);
|
||||
}
|
||||
SetGeometryTransformation();
|
||||
}
|
||||
|
||||
// FUNCTION: LEGO1 0x100aa180
|
||||
// FUNCTION: BETA10 0x1018cb30
|
||||
void ViewROI::UpdateWorldData()
|
||||
{
|
||||
OrientableROI::UpdateWorldData();
|
||||
if (geometry) {
|
||||
Tgl::FloatMatrix4 matrix;
|
||||
Matrix4 in(matrix);
|
||||
SETMAT4(in, m_local2world);
|
||||
geometry->SetTransformation(matrix);
|
||||
}
|
||||
SetGeometryTransformation();
|
||||
}
|
||||
|
||||
// FUNCTION: LEGO1 0x100aa500
|
||||
|
@@ -13,6 +13,7 @@
|
||||
*/
|
||||
|
||||
// VTABLE: LEGO1 0x100dbe70
|
||||
// VTABLE: BETA10 0x101c3908
|
||||
// SIZE 0xe4
|
||||
class ViewROI : public OrientableROI {
|
||||
public:
|
||||
@@ -21,6 +22,7 @@ public:
|
||||
c_lodLevelInvisible = -2,
|
||||
};
|
||||
|
||||
// FUNCTION: BETA10 0x1018c5e0
|
||||
ViewROI(Tgl::Renderer* pRenderer, ViewLODList* lodList)
|
||||
{
|
||||
SetLODList(lodList);
|
||||
@@ -29,6 +31,7 @@ public:
|
||||
}
|
||||
|
||||
// FUNCTION: LEGO1 0x100a9e20
|
||||
// FUNCTION: BETA10 0x1018c680
|
||||
~ViewROI() override
|
||||
{
|
||||
// SetLODList() will decrease refCount of LODList
|
||||
@@ -36,6 +39,7 @@ public:
|
||||
delete geometry;
|
||||
}
|
||||
|
||||
// FUNCTION: BETA10 0x1007b540
|
||||
void SetLODList(ViewLODList* lodList)
|
||||
{
|
||||
// ??? inherently type unsafe - kind of... because, now, ROI
|
||||
@@ -69,6 +73,8 @@ public:
|
||||
protected:
|
||||
void UpdateWorldDataWithTransformAndChildren(const Matrix4& parent2world) override; // vtable+0x28
|
||||
|
||||
void SetGeometryTransformation();
|
||||
|
||||
Tgl::Group* geometry; // 0xdc
|
||||
int m_lodLevel; // 0xe0
|
||||
};
|
||||
|
Reference in New Issue
Block a user