Some beta addrs for Tgl and TglImpl (#1433)

This commit is contained in:
MS 2025-04-14 18:29:38 -04:00 committed by GitHub
parent 688c203f70
commit 0bc31450a4
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
11 changed files with 120 additions and 3 deletions

View File

@ -6,6 +6,7 @@ DECOMP_SIZE_ASSERT(Camera, 0x04);
DECOMP_SIZE_ASSERT(CameraImpl, 0x08); DECOMP_SIZE_ASSERT(CameraImpl, 0x08);
// FUNCTION: LEGO1 0x100a36f0 // FUNCTION: LEGO1 0x100a36f0
// FUNCTION: BETA10 0x1016f2e0
void* CameraImpl::ImplementationDataPtr() void* CameraImpl::ImplementationDataPtr()
{ {
return reinterpret_cast<void*>(&m_data); return reinterpret_cast<void*>(&m_data);

View File

@ -5,6 +5,7 @@
using namespace TglImpl; using namespace TglImpl;
// FUNCTION: LEGO1 0x100a2bf0 // FUNCTION: LEGO1 0x100a2bf0
// FUNCTION: BETA10 0x1016ddf0
void* DeviceImpl::ImplementationDataPtr() void* DeviceImpl::ImplementationDataPtr()
{ {
return reinterpret_cast<void*>(&m_data); return reinterpret_cast<void*>(&m_data);

View File

@ -3,6 +3,7 @@
using namespace TglImpl; using namespace TglImpl;
// FUNCTION: LEGO1 0x100a31d0 // FUNCTION: LEGO1 0x100a31d0
// FUNCTION: BETA10 0x1016a480
void* GroupImpl::ImplementationDataPtr() void* GroupImpl::ImplementationDataPtr()
{ {
return reinterpret_cast<void*>(&m_data); return reinterpret_cast<void*>(&m_data);

View File

@ -43,9 +43,13 @@ class TextureImpl;
class MeshBuilderImpl; class MeshBuilderImpl;
// VTABLE: LEGO1 0x100db910 // VTABLE: LEGO1 0x100db910
// VTABLE: BETA10 0x101c30d8
class RendererImpl : public Renderer { class RendererImpl : public Renderer {
public: public:
// FUNCTION: BETA10 0x10169a20
RendererImpl() : m_data(0) {} RendererImpl() : m_data(0) {}
// FUNCTION: BETA10 0x10169d20
~RendererImpl() override { Destroy(); } ~RendererImpl() override { Destroy(); }
void* ImplementationDataPtr() override; void* ImplementationDataPtr() override;
@ -102,6 +106,7 @@ private:
extern IDirect3DRM2* g_pD3DRM; extern IDirect3DRM2* g_pD3DRM;
// FUNCTION: BETA10 0x1016dd20
inline void RendererDestroy(IDirect3DRM2* pRenderer) inline void RendererDestroy(IDirect3DRM2* pRenderer)
{ {
int refCount = pRenderer->Release(); int refCount = pRenderer->Release();
@ -111,6 +116,7 @@ inline void RendererDestroy(IDirect3DRM2* pRenderer)
} }
// Inlined only // Inlined only
// FUNCTION: BETA10 0x1016dce0
void RendererImpl::Destroy() void RendererImpl::Destroy()
{ {
if (m_data) { if (m_data) {
@ -120,9 +126,13 @@ void RendererImpl::Destroy()
} }
// VTABLE: LEGO1 0x100db988 // VTABLE: LEGO1 0x100db988
// VTABLE: BETA10 0x101c31f0
class DeviceImpl : public Device { class DeviceImpl : public Device {
public: public:
// FUNCTION: BETA10 0x1016b2e0
DeviceImpl() : m_data(0) {} DeviceImpl() : m_data(0) {}
// FUNCTION: BETA10 0x1016dd80
~DeviceImpl() override ~DeviceImpl() override
{ {
if (m_data) { if (m_data) {
@ -158,9 +168,13 @@ private:
}; };
// VTABLE: LEGO1 0x100db9e8 // VTABLE: LEGO1 0x100db9e8
// VTABLE: BETA10 0x101c3220
class ViewImpl : public View { class ViewImpl : public View {
public: public:
// FUNCTION: BETA10 0x1016b360
ViewImpl() : m_data(0) {} ViewImpl() : m_data(0) {}
// FUNCTION: BETA10 0x1016e5d0
~ViewImpl() override ~ViewImpl() override
{ {
if (m_data) { if (m_data) {
@ -211,9 +225,13 @@ private:
}; };
// VTABLE: LEGO1 0x100dbad8 // VTABLE: LEGO1 0x100dbad8
// VTABLE: BETA10 0x101c3260
class CameraImpl : public Camera { class CameraImpl : public Camera {
public: public:
// FUNCTION: BETA10 0x1016b3e0
CameraImpl() : m_data(0) {} CameraImpl() : m_data(0) {}
// FUNCTION: BETA10 0x1016f200
~CameraImpl() override ~CameraImpl() override
{ {
if (m_data) { if (m_data) {
@ -236,9 +254,13 @@ private:
}; };
// VTABLE: LEGO1 0x100dbaf8 // VTABLE: LEGO1 0x100dbaf8
// VTABLE: BETA10 0x101c31e0
class LightImpl : public Light { class LightImpl : public Light {
public: public:
// FUNCTION: BETA10 0x1016b260
LightImpl() : m_data(0) {} LightImpl() : m_data(0) {}
// FUNCTION: BETA10 0x1016c7e0
~LightImpl() override ~LightImpl() override
{ {
if (m_data) { if (m_data) {
@ -262,9 +284,13 @@ private:
}; };
// VTABLE: LEGO1 0x100dbb88 // VTABLE: LEGO1 0x100dbb88
// VTABLE: BETA10 0x101c3340
class MeshImpl : public Mesh { class MeshImpl : public Mesh {
public: public:
// FUNCTION: BETA10 0x1016f970
MeshImpl() : m_data(0) {} MeshImpl() : m_data(0) {}
// FUNCTION: BETA10 0x10170460
~MeshImpl() override ~MeshImpl() override
{ {
if (m_data) { if (m_data) {
@ -305,9 +331,13 @@ private:
}; };
// VTABLE: LEGO1 0x100dba68 // VTABLE: LEGO1 0x100dba68
// VTABLE: BETA10 0x101c3150
class GroupImpl : public Group { class GroupImpl : public Group {
public: public:
// FUNCTION: BETA10 0x1016a240
GroupImpl() : m_data(0) {} GroupImpl() : m_data(0) {}
// FUNCTION: BETA10 0x1016a410
~GroupImpl() override ~GroupImpl() override
{ {
if (m_data) { if (m_data) {
@ -346,9 +376,13 @@ private:
}; };
// VTABLE: LEGO1 0x100dbb18 // VTABLE: LEGO1 0x100dbb18
// VTABLE: BETA10 0x101c3270
class MeshBuilderImpl : public MeshBuilder { class MeshBuilderImpl : public MeshBuilder {
public: public:
// FUNCTION: BETA10 0x1016b460
MeshBuilderImpl() : m_data(0) {} MeshBuilderImpl() : m_data(0) {}
// FUNCTION: BETA10 0x1016f5c0
~MeshBuilderImpl() override ~MeshBuilderImpl() override
{ {
if (m_data) { if (m_data) {
@ -419,9 +453,13 @@ public:
}; };
// VTABLE: LEGO1 0x100dbb48 // VTABLE: LEGO1 0x100dbb48
// VTABLE: BETA10 0x101c31c0
class TextureImpl : public Texture { class TextureImpl : public Texture {
public: public:
// FUNCTION: BETA10 0x1016b1e0
TextureImpl() : m_data(0) {} TextureImpl() : m_data(0) {}
// FUNCTION: BETA10 0x1016c2d0
~TextureImpl() override ~TextureImpl() override
{ {
if (m_data) { if (m_data) {
@ -519,30 +557,39 @@ inline D3DRMMATRIX4D* Translate(FloatMatrix4& tglMatrix4x4, D3DRMMATRIX4D& rD3DR
} }
// SYNTHETIC: LEGO1 0x100a16d0 // SYNTHETIC: LEGO1 0x100a16d0
// SYNTHETIC: BETA10 0x10169aa0
// TglImpl::RendererImpl::`scalar deleting destructor' // TglImpl::RendererImpl::`scalar deleting destructor'
// SYNTHETIC: LEGO1 0x100a22c0 // SYNTHETIC: LEGO1 0x100a22c0
// SYNTHETIC: BETA10 0x1016b700
// TglImpl::DeviceImpl::`scalar deleting destructor' // TglImpl::DeviceImpl::`scalar deleting destructor'
// SYNTHETIC: LEGO1 0x100a23a0 // SYNTHETIC: LEGO1 0x100a23a0
// SYNTHETIC: BETA10 0x1016b810
// TglImpl::ViewImpl::`scalar deleting destructor' // TglImpl::ViewImpl::`scalar deleting destructor'
// SYNTHETIC: LEGO1 0x100a2480 // SYNTHETIC: LEGO1 0x100a2480
// SYNTHETIC: BETA10 0x1016a2c0
// TglImpl::GroupImpl::`scalar deleting destructor' // TglImpl::GroupImpl::`scalar deleting destructor'
// SYNTHETIC: LEGO1 0x100a2560 // SYNTHETIC: LEGO1 0x100a2560
// SYNTHETIC: BETA10 0x1016b920
// TglImpl::CameraImpl::`scalar deleting destructor' // TglImpl::CameraImpl::`scalar deleting destructor'
// SYNTHETIC: LEGO1 0x100a2640 // SYNTHETIC: LEGO1 0x100a2640
// SYNTHETIC: BETA10 0x1016b5f0
// TglImpl::LightImpl::`scalar deleting destructor' // TglImpl::LightImpl::`scalar deleting destructor'
// SYNTHETIC: LEGO1 0x100a2720 // SYNTHETIC: LEGO1 0x100a2720
// SYNTHETIC: BETA10 0x1016ba30
// TglImpl::MeshBuilderImpl::`scalar deleting destructor' // TglImpl::MeshBuilderImpl::`scalar deleting destructor'
// SYNTHETIC: LEGO1 0x100a2800 // SYNTHETIC: LEGO1 0x100a2800
// SYNTHETIC: BETA10 0x1016b4e0
// TglImpl::TextureImpl::`scalar deleting destructor' // TglImpl::TextureImpl::`scalar deleting destructor'
// SYNTHETIC: LEGO1 0x100a3d80 // SYNTHETIC: LEGO1 0x100a3d80
// SYNTHETIC: BETA10 0x1016fa90
// TglImpl::MeshImpl::`scalar deleting destructor' // TglImpl::MeshImpl::`scalar deleting destructor'
// GLOBAL: LEGO1 0x100dd1e0 // GLOBAL: LEGO1 0x100dd1e0

View File

@ -6,6 +6,7 @@ DECOMP_SIZE_ASSERT(Light, 0x04);
DECOMP_SIZE_ASSERT(LightImpl, 0x08); DECOMP_SIZE_ASSERT(LightImpl, 0x08);
// FUNCTION: LEGO1 0x100a3770 // FUNCTION: LEGO1 0x100a3770
// FUNCTION: BETA10 0x1016c9f0
void* LightImpl::ImplementationDataPtr() void* LightImpl::ImplementationDataPtr()
{ {
return reinterpret_cast<void*>(&m_data); return reinterpret_cast<void*>(&m_data);

View File

@ -8,6 +8,7 @@ DECOMP_SIZE_ASSERT(Mesh, 0x04);
DECOMP_SIZE_ASSERT(MeshImpl, 0x08); DECOMP_SIZE_ASSERT(MeshImpl, 0x08);
// FUNCTION: LEGO1 0x100a3ed0 // FUNCTION: LEGO1 0x100a3ed0
// FUNCTION: BETA10 0x101704d0
void* MeshImpl::ImplementationDataPtr() void* MeshImpl::ImplementationDataPtr()
{ {
return reinterpret_cast<void*>(&m_data); return reinterpret_cast<void*>(&m_data);

View File

@ -6,6 +6,7 @@ DECOMP_SIZE_ASSERT(MeshBuilder, 0x04);
DECOMP_SIZE_ASSERT(MeshBuilderImpl, 0x08); DECOMP_SIZE_ASSERT(MeshBuilderImpl, 0x08);
// FUNCTION: LEGO1 0x100a3830 // FUNCTION: LEGO1 0x100a3830
// FUNCTION: BETA10 0x1016f630
void* MeshBuilderImpl::ImplementationDataPtr() void* MeshBuilderImpl::ImplementationDataPtr()
{ {
return reinterpret_cast<void*>(&m_data); return reinterpret_cast<void*>(&m_data);

View File

@ -304,6 +304,7 @@ Result RendererImpl::SetTextureDefaultColorCount(unsigned long colorCount)
} }
// FUNCTION: LEGO1 0x100a22b0 // FUNCTION: LEGO1 0x100a22b0
// FUNCTION: BETA10 0x1016b050
void* RendererImpl::ImplementationDataPtr() void* RendererImpl::ImplementationDataPtr()
{ {
return reinterpret_cast<void*>(&m_data); return reinterpret_cast<void*>(&m_data);

View File

@ -224,6 +224,7 @@ Result TextureImpl::SetPalette(int entryCount, PaletteEntry* pEntries)
} }
// FUNCTION: LEGO1 0x100a3d70 // FUNCTION: LEGO1 0x100a3d70
// FUNCTION: BETA10 0x1016c760
void* TextureImpl::ImplementationDataPtr() void* TextureImpl::ImplementationDataPtr()
{ {
return reinterpret_cast<void*>(&m_data); return reinterpret_cast<void*>(&m_data);

View File

@ -122,6 +122,7 @@ inline IDirect3DRMFrame* ViewportGetLightFrame(IDirect3DRMViewport* pViewport)
} }
// FUNCTION: LEGO1 0x100a2d80 // FUNCTION: LEGO1 0x100a2d80
// FUNCTION: BETA10 0x1016e640
void* ViewImpl::ImplementationDataPtr() void* ViewImpl::ImplementationDataPtr()
{ {
return reinterpret_cast<void*>(&m_data); return reinterpret_cast<void*>(&m_data);

View File

@ -81,6 +81,7 @@ enum Result {
Success = 1 Success = 1
}; };
// FUNCTION: BETA10 0x10169c60
inline int Succeeded(Result result) inline int Succeeded(Result result)
{ {
return (result == Success); return (result == Success);
@ -99,18 +100,25 @@ class Texture;
class MeshBuilder; class MeshBuilder;
// VTABLE: LEGO1 0x100db980 // VTABLE: LEGO1 0x100db980
// VTABLE: BETA10 0x101c3148
class Object { class Object {
public: public:
// FUNCTION: LEGO1 0x100a2240 // FUNCTION: LEGO1 0x100a2240
// FUNCTION: BETA10 0x10169c90
virtual ~Object() {} virtual ~Object() {}
virtual void* ImplementationDataPtr() = 0; virtual void* ImplementationDataPtr() = 0;
// SYNTHETIC: BETA10 0x10169b50
// Tgl::Object::Object
// SYNTHETIC: LEGO1 0x100a2250 // SYNTHETIC: LEGO1 0x100a2250
// SYNTHETIC: BETA10 0x10169cb0
// Tgl::Object::`scalar deleting destructor' // Tgl::Object::`scalar deleting destructor'
}; };
// VTABLE: LEGO1 0x100db948 // VTABLE: LEGO1 0x100db948
// VTABLE: BETA10 0x101c3110
class Renderer : public Object { class Renderer : public Object {
public: public:
// vtable+0x08 // vtable+0x08
@ -147,16 +155,22 @@ public:
// vtable+0x30 // vtable+0x30
virtual Result SetTextureDefaultColorCount(unsigned long) = 0; virtual Result SetTextureDefaultColorCount(unsigned long) = 0;
// SYNTHETIC: BETA10 0x10169ae0
// Tgl::Renderer::Renderer
// SYNTHETIC: LEGO1 0x100a1770 // SYNTHETIC: LEGO1 0x100a1770
// SYNTHETIC: BETA10 0x10169b80
// Tgl::Renderer::~Renderer // Tgl::Renderer::~Renderer
// SYNTHETIC: LEGO1 0x100a17c0 // SYNTHETIC: LEGO1 0x100a17c0
// SYNTHETIC: BETA10 0x10169be0
// Tgl::Renderer::`scalar deleting destructor' // Tgl::Renderer::`scalar deleting destructor'
}; };
Renderer* CreateRenderer(); Renderer* CreateRenderer();
// VTABLE: LEGO1 0x100db9b8 // VTABLE: LEGO1 0x100db9b8
// VTABLE: BETA10 0x101c32b0
class Device : public Object { class Device : public Object {
public: public:
// vtable+0x08 // vtable+0x08
@ -174,14 +188,20 @@ public:
virtual void HandleActivate(WORD) = 0; virtual void HandleActivate(WORD) = 0;
virtual void HandlePaint(HDC) = 0; virtual void HandlePaint(HDC) = 0;
// SYNTHETIC: BETA10 0x1016b740
// Tgl::Device::Device
// SYNTHETIC: LEGO1 0x100a2350 // SYNTHETIC: LEGO1 0x100a2350
// SYNTHETIC: BETA10 0x1016b7b0
// Tgl::Device::~Device // Tgl::Device::~Device
// SYNTHETIC: LEGO1 0x100a28e0 // SYNTHETIC: LEGO1 0x100a28e0
// SYNTHETIC: BETA10 0x1016bbc0
// Tgl::Device::`scalar deleting destructor' // Tgl::Device::`scalar deleting destructor'
}; };
// VTABLE: LEGO1 0x100dba28 // VTABLE: LEGO1 0x100dba28
// VTABLE: BETA10 0x101c32e0
class View : public Object { class View : public Object {
public: public:
virtual Result Add(const Light*) = 0; virtual Result Add(const Light*) = 0;
@ -234,44 +254,59 @@ public:
int& rPickedGroupCount int& rPickedGroupCount
) = 0; ) = 0;
// SYNTHETIC: BETA10 0x1016b850
// Tgl::View::View
// SYNTHETIC: LEGO1 0x100a2430 // SYNTHETIC: LEGO1 0x100a2430
// SYNTHETIC: BETA10 0x1016b8c0
// Tgl::View::~View // Tgl::View::~View
// SYNTHETIC: LEGO1 0x100a2950 // SYNTHETIC: LEGO1 0x100a2950
// SYNTHETIC: BETA10 0x1016bc00
// Tgl::View::`scalar deleting destructor' // Tgl::View::`scalar deleting destructor'
}; };
// VTABLE: LEGO1 0x100dbae8 // VTABLE: LEGO1 0x100dbae8
// VTABLE: BETA10 0x101c3320
class Camera : public Object { class Camera : public Object {
public: public:
virtual Result SetTransformation(FloatMatrix4&) = 0; virtual Result SetTransformation(FloatMatrix4&) = 0;
// SYNTHETIC: BETA10 0x1016b960
// Tgl::Camera::Camera
// SYNTHETIC: LEGO1 0x100a25f0 // SYNTHETIC: LEGO1 0x100a25f0
// SYNTHETIC: BETA10 0x1016b9d0
// Tgl::Camera::~Camera // Tgl::Camera::~Camera
// SYNTHETIC: LEGO1 0x100a2a30 // SYNTHETIC: LEGO1 0x100a2a30
// SYNTHETIC: BETA10 0x1016bc40
// Tgl::Camera::`scalar deleting destructor' // Tgl::Camera::`scalar deleting destructor'
}; };
// VTABLE: LEGO1 0x100dbb08 // VTABLE: LEGO1 0x100dbb08
// VTABLE: BETA10 0x101c32a0
class Light : public Object { class Light : public Object {
public: public:
virtual Result SetTransformation(FloatMatrix4&) = 0; virtual Result SetTransformation(FloatMatrix4&) = 0;
virtual Result SetColor(float r, float g, float b) = 0; virtual Result SetColor(float r, float g, float b) = 0;
// SYNTHETIC: BETA10 0x1016b630
// Tgl::Light::Light
// SYNTHETIC: LEGO1 0x100a26d0 // SYNTHETIC: LEGO1 0x100a26d0
// SYNTHETIC: BETA10 0x1016b6a0
// Tgl::Light::~Light // Tgl::Light::~Light
// SYNTHETIC: LEGO1 0x100a2aa0 // SYNTHETIC: LEGO1 0x100a2aa0
// SYNTHETIC: BETA10 0x1016bb80
// Tgl::Light::`scalar deleting destructor' // Tgl::Light::`scalar deleting destructor'
}; };
// VTABLE: LEGO1 0x100dbbb0 // VTABLE: LEGO1 0x100dbbb0
// VTABLE: BETA10 0x101c3360
class Mesh : public Object { class Mesh : public Object {
public: public:
// SYNTHETIC: LEGO1 0x100a3e10
// Tgl::Mesh::~Mesh
virtual Result SetColor(float r, float g, float b, float a) = 0; virtual Result SetColor(float r, float g, float b, float a) = 0;
virtual Result SetTexture(const Texture*) = 0; virtual Result SetTexture(const Texture*) = 0;
virtual Result GetTexture(Texture*&) = 0; virtual Result GetTexture(Texture*&) = 0;
@ -285,11 +320,20 @@ public:
// Just get another Group pointing to the same underlying data // Just get another Group pointing to the same underlying data
virtual Mesh* ShallowClone(MeshBuilder*) = 0; virtual Mesh* ShallowClone(MeshBuilder*) = 0;
// SYNTHETIC: BETA10 0x1016fad0
// Tgl::Mesh::Mesh
// SYNTHETIC: LEGO1 0x100a3e10
// SYNTHETIC: BETA10 0x1016fb40
// Tgl::Mesh::~Mesh
// SYNTHETIC: LEGO1 0x100a3e60 // SYNTHETIC: LEGO1 0x100a3e60
// SYNTHETIC: BETA10 0x1016fbe0
// Tgl::Mesh::`scalar deleting destructor' // Tgl::Mesh::`scalar deleting destructor'
}; };
// VTABLE: LEGO1 0x100dbaa0 // VTABLE: LEGO1 0x100dbaa0
// VTABLE: BETA10 0x101c3188
class Group : public Object { class Group : public Object {
public: public:
virtual Result SetTransformation(FloatMatrix4&) = 0; virtual Result SetTransformation(FloatMatrix4&) = 0;
@ -307,10 +351,15 @@ public:
// to have been replaced by something else in the shipped code. // to have been replaced by something else in the shipped code.
virtual Result Bounds(D3DVECTOR*, D3DVECTOR*) = 0; virtual Result Bounds(D3DVECTOR*, D3DVECTOR*) = 0;
// SYNTHETIC: BETA10 0x1016a300
// Tgl::Group::Group
// SYNTHETIC: LEGO1 0x100a2510 // SYNTHETIC: LEGO1 0x100a2510
// SYNTHETIC: BETA10 0x1016a370
// Tgl::Group::~Group // Tgl::Group::~Group
// SYNTHETIC: LEGO1 0x100a29c0 // SYNTHETIC: LEGO1 0x100a29c0
// SYNTHETIC: BETA10 0x1016a3d0
// Tgl::Group::`scalar deleting destructor' // Tgl::Group::`scalar deleting destructor'
}; };
@ -318,6 +367,7 @@ public:
// was not in the leaked Tgl code. My suspicion is that it's // was not in the leaked Tgl code. My suspicion is that it's
// some kind of builder class for creating meshes. // some kind of builder class for creating meshes.
// VTABLE: LEGO1 0x100dbb30 // VTABLE: LEGO1 0x100dbb30
// VTABLE: BETA10 0x101c3330
class MeshBuilder : public Object { class MeshBuilder : public Object {
public: public:
virtual Mesh* CreateMesh( virtual Mesh* CreateMesh(
@ -333,14 +383,20 @@ public:
virtual Result GetBoundingBox(float min[3], float max[3]) const = 0; virtual Result GetBoundingBox(float min[3], float max[3]) const = 0;
virtual MeshBuilder* Clone() = 0; virtual MeshBuilder* Clone() = 0;
// SYNTHETIC: BETA10 0x1016ba70
// Tgl::MeshBuilder::MeshBuilder
// SYNTHETIC: LEGO1 0x100a27b0 // SYNTHETIC: LEGO1 0x100a27b0
// SYNTHETIC: BETA10 0x1016bae0
// Tgl::MeshBuilder::~MeshBuilder // Tgl::MeshBuilder::~MeshBuilder
// SYNTHETIC: LEGO1 0x100a2b10 // SYNTHETIC: LEGO1 0x100a2b10
// SYNTHETIC: BETA10 0x1016bc80
// Tgl::MeshBuilder::`scalar deleting destructor' // Tgl::MeshBuilder::`scalar deleting destructor'
}; };
// VTABLE: LEGO1 0x100dbb68 // VTABLE: LEGO1 0x100dbb68
// VTABLE: BETA10 0x101c3280
class Texture : public Object { class Texture : public Object {
public: public:
// vtable+0x08 // vtable+0x08
@ -359,10 +415,15 @@ public:
) = 0; ) = 0;
virtual Result SetPalette(int entryCount, PaletteEntry* pEntries) = 0; virtual Result SetPalette(int entryCount, PaletteEntry* pEntries) = 0;
// SYNTHETIC: BETA10 0x1016b520
// Tgl::Texture::Texture
// SYNTHETIC: LEGO1 0x100a2890 // SYNTHETIC: LEGO1 0x100a2890
// SYNTHETIC: BETA10 0x1016b590
// Tgl::Texture::~Texture // Tgl::Texture::~Texture
// SYNTHETIC: LEGO1 0x100a2b80 // SYNTHETIC: LEGO1 0x100a2b80
// SYNTHETIC: BETA10 0x1016bb40
// Tgl::Texture::`scalar deleting destructor' // Tgl::Texture::`scalar deleting destructor'
}; };