mirror of
https://github.com/isledecomp/isle.git
synced 2026-01-23 16:21:15 +00:00
Rename Something -> Unk
This commit is contained in:
parent
83de02d08d
commit
87a20e1557
@ -216,7 +216,7 @@ add_library(lego1 SHARED
|
||||
LEGO1/tgl/d3drm/light.cpp
|
||||
LEGO1/tgl/d3drm/mesh.cpp
|
||||
LEGO1/tgl/d3drm/renderer.cpp
|
||||
LEGO1/tgl/d3drm/something.cpp
|
||||
LEGO1/tgl/d3drm/unk.cpp
|
||||
LEGO1/tgl/d3drm/texture.cpp
|
||||
LEGO1/tgl/d3drm/view.cpp
|
||||
LEGO1/towtrack.cpp
|
||||
|
||||
@ -33,6 +33,7 @@ class CameraImpl;
|
||||
class GroupImpl;
|
||||
class MeshImpl;
|
||||
class TextureImpl;
|
||||
class UnkImpl;
|
||||
|
||||
// VTABLE 0x100db910
|
||||
class RendererImpl : public Renderer {
|
||||
@ -60,7 +61,7 @@ class RendererImpl : public Renderer {
|
||||
virtual Group* CreateGroup(const Group* p_parent);
|
||||
|
||||
// vtable+0x20
|
||||
virtual Something* CreateSomething();
|
||||
virtual Unk* CreateUnk();
|
||||
virtual Texture* CreateTexture();
|
||||
virtual Texture* CreateTexture(
|
||||
int p_width,
|
||||
@ -216,10 +217,10 @@ class MeshImpl : public Mesh {
|
||||
virtual Result GetTexture(Texture*&);
|
||||
virtual Result SetTextureMappingMode(ProjectionType);
|
||||
virtual Result SetShadingModel(ShadingModel);
|
||||
virtual Mesh* DeepClone(Something*);
|
||||
virtual Mesh* DeepClone(Unk*);
|
||||
|
||||
// vtable+0x20
|
||||
virtual Mesh* ShallowClone(Something*);
|
||||
virtual Mesh* ShallowClone(Unk*);
|
||||
|
||||
struct MeshData {
|
||||
IDirect3DRMMesh* groupMesh;
|
||||
@ -268,10 +269,10 @@ class GroupImpl : public Group {
|
||||
};
|
||||
|
||||
// VTABLE 0x100dbb18
|
||||
class SomethingImpl : public Something {
|
||||
class UnkImpl : public Unk {
|
||||
public:
|
||||
SomethingImpl() : m_data(0) {}
|
||||
~SomethingImpl();
|
||||
UnkImpl() : m_data(0) {}
|
||||
~UnkImpl();
|
||||
|
||||
virtual void* ImplementationDataPtr();
|
||||
|
||||
@ -288,7 +289,7 @@ class SomethingImpl : public Something {
|
||||
virtual Result GetBoundingBox(float p_min[3], float p_max[3]);
|
||||
|
||||
// vtable+0x10
|
||||
virtual Something* Clone();
|
||||
virtual Unk* Clone();
|
||||
|
||||
inline IDirect3DRMMesh* ImplementationData() const { return m_data; }
|
||||
|
||||
|
||||
@ -82,12 +82,12 @@ Result MeshImpl::SetShadingModel(ShadingModel p_model)
|
||||
}
|
||||
|
||||
// OFFSET: LEGO1 0x100a4030
|
||||
Mesh* MeshImpl::DeepClone(Something* p_mesh)
|
||||
Mesh* MeshImpl::DeepClone(Unk* p_mesh)
|
||||
{
|
||||
// Create group
|
||||
MeshImpl* newSomething = new MeshImpl();
|
||||
MeshImpl* newMesh = new MeshImpl();
|
||||
MeshData* data = new MeshData();
|
||||
newSomething->m_data = data;
|
||||
newMesh->m_data = data;
|
||||
|
||||
// Query information from old group
|
||||
DWORD dataSize;
|
||||
@ -105,10 +105,10 @@ Mesh* MeshImpl::DeepClone(Something* p_mesh)
|
||||
D3DCOLOR color = m_data->groupMesh->GetGroupColor(m_data->groupIndex);
|
||||
|
||||
// Push information to new group
|
||||
SomethingImpl* target = static_cast<SomethingImpl*>(p_mesh);
|
||||
UnkImpl* target = static_cast<UnkImpl*>(p_mesh);
|
||||
D3DRMGROUPINDEX index;
|
||||
target->ImplementationData()->AddGroup(vcount, fcount, vperface, faceBuffer, &index);
|
||||
newSomething->m_data->groupIndex = index;
|
||||
newMesh->m_data->groupIndex = index;
|
||||
target->ImplementationData()->SetVertices(index, 0, vcount, vertexBuffer);
|
||||
target->ImplementationData()->SetGroupTexture(index, textureRef);
|
||||
target->ImplementationData()->SetGroupMapping(index, mapping);
|
||||
@ -119,22 +119,22 @@ Mesh* MeshImpl::DeepClone(Something* p_mesh)
|
||||
delete[] faceBuffer;
|
||||
delete[] vertexBuffer;
|
||||
if (result == Error) {
|
||||
delete newSomething;
|
||||
newSomething = NULL;
|
||||
delete newMesh;
|
||||
newMesh = NULL;
|
||||
}
|
||||
|
||||
return newSomething;
|
||||
return newMesh;
|
||||
}
|
||||
|
||||
// OFFSET: LEGO1 0x100a4240
|
||||
Mesh* MeshImpl::ShallowClone(Something* p_mesh)
|
||||
Mesh* MeshImpl::ShallowClone(Unk* p_mesh)
|
||||
{
|
||||
MeshImpl* newGroup = new MeshImpl();
|
||||
MeshData* newData = new MeshData();
|
||||
newGroup->m_data = newData;
|
||||
if (newData) {
|
||||
newData->groupIndex = m_data->groupIndex;
|
||||
newData->groupMesh = static_cast<SomethingImpl*>(p_mesh)->ImplementationData();
|
||||
newData->groupMesh = static_cast<UnkImpl*>(p_mesh)->ImplementationData();
|
||||
}
|
||||
else {
|
||||
delete newGroup;
|
||||
|
||||
@ -216,20 +216,20 @@ Light* RendererImpl::CreateLight(LightType p_type, float p_r, float p_g, float p
|
||||
}
|
||||
|
||||
// OFFSET: LEGO1 0x100a1e90
|
||||
Something* RendererImpl::CreateSomething()
|
||||
Unk* RendererImpl::CreateUnk()
|
||||
{
|
||||
// Note: I'm fairly certain that Something is not what Tgl calls a
|
||||
// Note: I'm fairly certain that Unknown is not what Tgl calls a
|
||||
// "Mesh", because the methods on Mesh in the Tgl leak line up much
|
||||
// more closely with a different vtable than the one assigned in
|
||||
// this method (meaning this method is not creating a Mesh).
|
||||
// Maybe this method is something like CreateMeshBuilder where the
|
||||
// Mesh data type in the Tgl leak was split into builder/result?
|
||||
SomethingImpl* something = new SomethingImpl();
|
||||
if (FAILED(m_data->CreateMesh(&something->m_data))) {
|
||||
delete something;
|
||||
something = NULL;
|
||||
UnkImpl* unknown = new UnkImpl();
|
||||
if (FAILED(m_data->CreateMesh(&unknown->m_data))) {
|
||||
delete unknown;
|
||||
unknown = NULL;
|
||||
}
|
||||
return something;
|
||||
return unknown;
|
||||
}
|
||||
|
||||
inline Result RendererCreateTexture(
|
||||
|
||||
@ -2,11 +2,11 @@
|
||||
|
||||
using namespace TglImpl;
|
||||
|
||||
DECOMP_SIZE_ASSERT(Something, 0x4);
|
||||
DECOMP_SIZE_ASSERT(SomethingImpl, 0x8);
|
||||
DECOMP_SIZE_ASSERT(Unk, 0x4);
|
||||
DECOMP_SIZE_ASSERT(UnkImpl, 0x8);
|
||||
|
||||
// Inlined only
|
||||
SomethingImpl::~SomethingImpl()
|
||||
UnkImpl::~UnkImpl()
|
||||
{
|
||||
if (m_data) {
|
||||
m_data->Release();
|
||||
@ -15,13 +15,13 @@ SomethingImpl::~SomethingImpl()
|
||||
}
|
||||
|
||||
// OFFSET: LEGO1 0x100a3830
|
||||
void* SomethingImpl::ImplementationDataPtr()
|
||||
void* UnkImpl::ImplementationDataPtr()
|
||||
{
|
||||
return reinterpret_cast<void*>(&m_data);
|
||||
}
|
||||
|
||||
// OFFSET: LEGO1 0x100a3840 STUB
|
||||
Result SomethingImpl::SetMeshData(
|
||||
Result UnkImpl::SetMeshData(
|
||||
unsigned long p_faceCount,
|
||||
unsigned long p_vertexCount,
|
||||
const float (*p_positions)[3],
|
||||
@ -35,7 +35,7 @@ Result SomethingImpl::SetMeshData(
|
||||
}
|
||||
|
||||
// OFFSET: LEGO1 0x100a3ae0
|
||||
Result SomethingImpl::GetBoundingBox(float p_min[3], float p_max[3])
|
||||
Result UnkImpl::GetBoundingBox(float p_min[3], float p_max[3])
|
||||
{
|
||||
D3DRMBOX box;
|
||||
Result result = ResultVal(m_data->GetBox(&box));
|
||||
@ -51,9 +51,9 @@ Result SomethingImpl::GetBoundingBox(float p_min[3], float p_max[3])
|
||||
}
|
||||
|
||||
// OFFSET: LEGO1 0x100a3b40
|
||||
Something* SomethingImpl::Clone()
|
||||
Unk* UnkImpl::Clone()
|
||||
{
|
||||
SomethingImpl* mesh = new SomethingImpl();
|
||||
UnkImpl* mesh = new UnkImpl();
|
||||
int ret = m_data->Clone(0, IID_IDirect3DRMMeshBuilder, (void**) &mesh->m_data);
|
||||
if (ret < 0) {
|
||||
delete mesh;
|
||||
@ -96,7 +96,7 @@ class Camera;
|
||||
class Group;
|
||||
class Mesh;
|
||||
class Texture;
|
||||
class Something;
|
||||
class Unk;
|
||||
|
||||
// VTABLE 0x100db980
|
||||
class Object {
|
||||
@ -127,7 +127,7 @@ class Renderer : public Object {
|
||||
virtual Group* CreateGroup(const Group* p_parent = 0) = 0;
|
||||
|
||||
// vtable+0x20
|
||||
virtual Something* CreateSomething() = 0;
|
||||
virtual Unk* CreateUnk() = 0;
|
||||
virtual Texture* CreateTexture() = 0;
|
||||
virtual Texture* CreateTexture(
|
||||
int p_width,
|
||||
@ -243,10 +243,10 @@ class Mesh : public Object {
|
||||
virtual Result SetShadingModel(ShadingModel) = 0;
|
||||
|
||||
// Clone data in underlying group
|
||||
virtual Mesh* DeepClone(Something*) = 0;
|
||||
virtual Mesh* DeepClone(Unk*) = 0;
|
||||
|
||||
// Just get another Group pointing to the same underlying data
|
||||
virtual Mesh* ShallowClone(Something*) = 0;
|
||||
virtual Mesh* ShallowClone(Unk*) = 0;
|
||||
};
|
||||
|
||||
// VTABLE 0x100dbaa0
|
||||
@ -272,7 +272,7 @@ class Group : public Object {
|
||||
// was not in the leaked Tgl code. My suspicion is that it's
|
||||
// some kind of builder class for creating meshes.
|
||||
// VTABLE 0x100dbb30
|
||||
class Something : public Object {
|
||||
class Unk : public Object {
|
||||
public:
|
||||
virtual Result SetMeshData(
|
||||
unsigned long p_faceCount,
|
||||
@ -284,7 +284,7 @@ class Something : public Object {
|
||||
unsigned long* p_faceData
|
||||
) = 0;
|
||||
virtual Result GetBoundingBox(float p_min[3], float p_max[3]) = 0;
|
||||
virtual Something* Clone() = 0;
|
||||
virtual Unk* Clone() = 0;
|
||||
};
|
||||
|
||||
// VTABLE 0x100dbb68
|
||||
|
||||
Loading…
Reference in New Issue
Block a user