quick hack for getting compilation to work

This commit is contained in:
Joshua Peisach 2025-06-15 13:58:22 -04:00
parent 272318cf20
commit d3a90a9fc0
No known key found for this signature in database
GPG Key ID: 41C3D4189AFEDB5A
15 changed files with 274 additions and 251 deletions

View File

@ -645,6 +645,15 @@ set(CPACK_PACKAGE_DIRECTORY "dist")
set(CPACK_PACKAGE_FILE_NAME "isle-${PROJECT_VERSION}-${ISLE_PACKAGE_NAME}-${CMAKE_SYSTEM_PROCESSOR}")
if(MSVC)
set(CPACK_GENERATOR ZIP)
elseif(NINTENDO_3DS)
include(Tools3DS)
set(APP_TITLE "LEGO Island")
set(APP_DESCRIPTION "LEGO Island port for 3DS")
set(APP_AUTHOR "LEGO Island Team")
set(APP_ICON "${PROJECT_SOURCE_DIR}/CONFIG/res/lego3ds.png")
set(APP_VERSION ${PROJECT_VERSION})
add_3dsx_target(isle)
else()
set(CPACK_GENERATOR TGZ)
endif()

View File

@ -84,7 +84,7 @@ BOOL TglSurface::Create(const CreateStruct& rCreateStruct, Renderer* pRenderer,
BOOL dither = TRUE;
int textureShadeCount = -1;
int textureColorCount = -1;
Result result;
Tgl::Result result;
m_pRenderer = pRenderer;
m_pScene = pScene;
@ -181,7 +181,7 @@ double TglSurface::Render()
MxStopWatch renderTimer;
if (m_isInitialized && !m_stopRendering) {
Result result;
Tgl::Result result;
#ifdef _DEBUG
m_triangleRateMeter.StartOperation();

View File

@ -15,14 +15,14 @@ void* CameraImpl::ImplementationDataPtr()
}
// FUNCTION: BETA10 0x1016f390
inline Result CameraSetTransformation(IDirect3DRMFrame2* pCamera, FloatMatrix4& matrix)
inline Tgl::Result CameraSetTransformation(IDirect3DRMFrame2* pCamera, FloatMatrix4& matrix)
{
D3DRMMATRIX4D helper;
D3DRMMATRIX4D* pTransformation = Translate(matrix, helper);
D3DVECTOR position;
Result result;
Result result2;
Tgl::Result result;
Tgl::Result result2;
result2 = ResultVal(pCamera->GetPosition(NULL, &position));
assert(Succeeded(result2));
@ -38,7 +38,7 @@ inline Result CameraSetTransformation(IDirect3DRMFrame2* pCamera, FloatMatrix4&
// FUNCTION: LEGO1 0x100a3700
// FUNCTION: BETA10 0x1016f330
Result CameraImpl::SetTransformation(FloatMatrix4& matrix)
Tgl::Result CameraImpl::SetTransformation(FloatMatrix4& matrix)
{
assert(m_data);

View File

@ -47,14 +47,14 @@ unsigned int DeviceImpl::GetHeight()
}
// FUNCTION: BETA10 0x1016dfa0
inline Result DeviceSetColorModel(IDirect3DRMDevice2* pDevice, ColorModel)
inline Tgl::Result DeviceSetColorModel(IDirect3DRMDevice2* pDevice, ColorModel)
{
return Success;
}
// FUNCTION: LEGO1 0x100a2c20
// FUNCTION: BETA10 0x1016df40
Result DeviceImpl::SetColorModel(ColorModel p_model)
Tgl::Result DeviceImpl::SetColorModel(ColorModel p_model)
{
assert(m_data);
@ -62,7 +62,7 @@ Result DeviceImpl::SetColorModel(ColorModel p_model)
}
// FUNCTION: BETA10 0x1016e020
inline Result DeviceSetShadingModel(IDirect3DRMDevice2* pDevice, ShadingModel model)
inline Tgl::Result DeviceSetShadingModel(IDirect3DRMDevice2* pDevice, ShadingModel model)
{
D3DRMRENDERQUALITY renderQuality = Translate(model);
return ResultVal(pDevice->SetQuality(renderQuality));
@ -70,7 +70,7 @@ inline Result DeviceSetShadingModel(IDirect3DRMDevice2* pDevice, ShadingModel mo
// FUNCTION: LEGO1 0x100a2c30
// FUNCTION: BETA10 0x1016dfc0
Result DeviceImpl::SetShadingModel(ShadingModel model)
Tgl::Result DeviceImpl::SetShadingModel(ShadingModel model)
{
assert(m_data);
@ -78,14 +78,14 @@ Result DeviceImpl::SetShadingModel(ShadingModel model)
}
// FUNCTION: BETA10 0x1016e140
inline Result DeviceSetShadeCount(IDirect3DRMDevice2* pDevice, unsigned int shadeCount)
inline Tgl::Result DeviceSetShadeCount(IDirect3DRMDevice2* pDevice, unsigned int shadeCount)
{
return ResultVal(pDevice->SetShades(shadeCount));
}
// FUNCTION: LEGO1 0x100a2ca0
// FUNCTION: BETA10 0x1016e0e0
Result DeviceImpl::SetShadeCount(unsigned int shadeCount)
Tgl::Result DeviceImpl::SetShadeCount(unsigned int shadeCount)
{
assert(m_data);
@ -93,14 +93,14 @@ Result DeviceImpl::SetShadeCount(unsigned int shadeCount)
}
// FUNCTION: BETA10 0x1016e1d0
inline Result DeviceSetDither(IDirect3DRMDevice2* pDevice, int dither)
inline Tgl::Result DeviceSetDither(IDirect3DRMDevice2* pDevice, int dither)
{
return ResultVal(pDevice->SetDither(dither));
}
// FUNCTION: LEGO1 0x100a2cc0
// FUNCTION: BETA10 0x1016e170
Result DeviceImpl::SetDither(int dither)
Tgl::Result DeviceImpl::SetDither(int dither)
{
assert(m_data);
@ -112,7 +112,7 @@ inline void DeviceHandleActivate(IDirect3DRMDevice2* pDevice, WORD wParam)
{
IDirect3DRMWinDevice* winDevice;
Result result = ResultVal(pDevice->QueryInterface(IID_IDirect3DRMWinDevice, (LPVOID*) &winDevice));
Tgl::Result result = ResultVal(pDevice->QueryInterface(IID_IDirect3DRMWinDevice, (LPVOID*) &winDevice));
if (Succeeded(result)) {
winDevice->HandleActivate(wParam);
int refCount = winDevice->Release();
@ -134,7 +134,7 @@ inline void DeviceHandlePaint(IDirect3DRMDevice2* pDevice, void* p_data)
{
IDirect3DRMWinDevice* winDevice;
Result result = ResultVal(pDevice->QueryInterface(IID_IDirect3DRMWinDevice, (LPVOID*) &winDevice));
Tgl::Result result = ResultVal(pDevice->QueryInterface(IID_IDirect3DRMWinDevice, (LPVOID*) &winDevice));
if (Succeeded(result)) {
HDC hdc = (HDC) p_data;
winDevice->HandlePaint(hdc);
@ -153,14 +153,14 @@ void DeviceImpl::HandlePaint(void* p_data)
}
// FUNCTION: BETA10 0x1016e460
inline Result DeviceUpdate(IDirect3DRMDevice2* pDevice)
inline Tgl::Result DeviceUpdate(IDirect3DRMDevice2* pDevice)
{
return ResultVal(pDevice->Update());
}
// FUNCTION: LEGO1 0x100a2d60
// FUNCTION: BETA10 0x1016e400
Result DeviceImpl::Update()
Tgl::Result DeviceImpl::Update()
{
assert(m_data);

View File

@ -12,7 +12,7 @@ void* GroupImpl::ImplementationDataPtr()
}
// FUNCTION: BETA10 0x1016c340
inline Result GroupSetTransformation(IDirect3DRMFrame2* pGroup, FloatMatrix4& matrix)
inline Tgl::Result GroupSetTransformation(IDirect3DRMFrame2* pGroup, FloatMatrix4& matrix)
{
D3DRMMATRIX4D helper;
D3DRMMATRIX4D* d3dMatrix = Translate(matrix, helper);
@ -21,7 +21,7 @@ inline Result GroupSetTransformation(IDirect3DRMFrame2* pGroup, FloatMatrix4& ma
// FUNCTION: LEGO1 0x100a31e0
// FUNCTION: BETA10 0x1016a4d0
Result GroupImpl::SetTransformation(FloatMatrix4& matrix)
Tgl::Result GroupImpl::SetTransformation(FloatMatrix4& matrix)
{
assert(m_data);
@ -29,7 +29,7 @@ Result GroupImpl::SetTransformation(FloatMatrix4& matrix)
}
// FUNCTION: BETA10 0x1016c400
inline Result GroupSetColor(IDirect3DRMFrame2* pGroup, float r, float g, float b, float a)
inline Tgl::Result GroupSetColor(IDirect3DRMFrame2* pGroup, float r, float g, float b, float a)
{
if (a > 0) {
D3DCOLOR color = D3DRMCreateColorRGBA(r, g, b, a);
@ -42,7 +42,7 @@ inline Result GroupSetColor(IDirect3DRMFrame2* pGroup, float r, float g, float b
// FUNCTION: LEGO1 0x100a3240
// FUNCTION: BETA10 0x1016a530
Result GroupImpl::SetColor(float r, float g, float b, float a)
Tgl::Result GroupImpl::SetColor(float r, float g, float b, float a)
{
assert(m_data);
@ -50,13 +50,13 @@ Result GroupImpl::SetColor(float r, float g, float b, float a)
}
// FUNCTION: BETA10 0x1016c5a0
inline Result GroupSetTexture(IDirect3DRMFrame2* pGroup, IDirect3DRMTexture* pD3DTexture)
inline Tgl::Result GroupSetTexture(IDirect3DRMFrame2* pGroup, IDirect3DRMTexture* pD3DTexture)
{
return ResultVal(pGroup->SetTexture(pD3DTexture));
}
// FUNCTION: BETA10 0x1016bcc0
inline Result GroupImpl::SetTexture(const TextureImpl* pTexture)
inline Tgl::Result GroupImpl::SetTexture(const TextureImpl* pTexture)
{
assert(m_data);
assert(!pTexture || pTexture->ImplementationData());
@ -67,7 +67,7 @@ inline Result GroupImpl::SetTexture(const TextureImpl* pTexture)
// FUNCTION: LEGO1 0x100a32b0
// FUNCTION: BETA10 0x1016a5a0
Result GroupImpl::SetTexture(const Texture* pTexture)
Tgl::Result GroupImpl::SetTexture(const Texture* pTexture)
{
assert(m_data);
@ -75,13 +75,13 @@ Result GroupImpl::SetTexture(const Texture* pTexture)
}
// FUNCTION: BETA10 0x1016c640
inline Result GroupGetTexture(IDirect3DRMFrame2* pGroup, IDirect3DRMTexture** pD3DTexture)
inline Tgl::Result GroupGetTexture(IDirect3DRMFrame2* pGroup, IDirect3DRMTexture** pD3DTexture)
{
return ResultVal(pGroup->GetTexture(pD3DTexture));
}
// FUNCTION: BETA10 0x1016beb0
inline Result GroupImpl::GetTexture(TextureImpl** ppTexture)
inline Tgl::Result GroupImpl::GetTexture(TextureImpl** ppTexture)
{
assert(m_data);
assert(ppTexture);
@ -91,7 +91,7 @@ inline Result GroupImpl::GetTexture(TextureImpl** ppTexture)
// TODO: This helps retail match, but it adds to the stack
IDirect3DRMTexture* tex;
Result result = GroupGetTexture(m_data, &tex);
Tgl::Result result = GroupGetTexture(m_data, &tex);
#ifndef BETA10
if (Succeeded(result)) {
@ -106,7 +106,7 @@ inline Result GroupImpl::GetTexture(TextureImpl** ppTexture)
// FUNCTION: LEGO1 0x100a32e0
// FUNCTION: BETA10 0x1016a600
Result GroupImpl::GetTexture(Texture*& pTexture)
Tgl::Result GroupImpl::GetTexture(Texture*& pTexture)
{
assert(m_data);
@ -114,7 +114,7 @@ Result GroupImpl::GetTexture(Texture*& pTexture)
}
// FUNCTION: BETA10 0x1016c500
inline Result GroupSetMaterialMode(IDirect3DRMFrame2* pGroup, MaterialMode mode)
inline Tgl::Result GroupSetMaterialMode(IDirect3DRMFrame2* pGroup, MaterialMode mode)
{
D3DRMMATERIALMODE d3dMode = Translate(mode);
return ResultVal(pGroup->SetMaterialMode(d3dMode));
@ -122,7 +122,7 @@ inline Result GroupSetMaterialMode(IDirect3DRMFrame2* pGroup, MaterialMode mode)
// FUNCTION: LEGO1 0x100a33c0
// FUNCTION: BETA10 0x1016a660
Result GroupImpl::SetMaterialMode(MaterialMode mode)
Tgl::Result GroupImpl::SetMaterialMode(MaterialMode mode)
{
assert(m_data);
@ -130,13 +130,13 @@ Result GroupImpl::SetMaterialMode(MaterialMode mode)
}
// FUNCTION: BETA10 0x1016c670
inline Result GroupAddGroup(IDirect3DRMFrame2* pGroup, const IDirect3DRMFrame* pChildGroup)
inline Tgl::Result GroupAddGroup(IDirect3DRMFrame2* pGroup, const IDirect3DRMFrame* pChildGroup)
{
return ResultVal(pGroup->AddVisual(const_cast<IDirect3DRMFrame*>(pChildGroup)));
}
// FUNCTION: BETA10 0x1016c090
inline Result GroupImpl::Add(const GroupImpl& rGroup)
inline Tgl::Result GroupImpl::Add(const GroupImpl& rGroup)
{
assert(m_data);
assert(rGroup.ImplementationData());
@ -146,7 +146,7 @@ inline Result GroupImpl::Add(const GroupImpl& rGroup)
// FUNCTION: LEGO1 0x100a3410
// FUNCTION: BETA10 0x1016a6c0
Result GroupImpl::Add(const Group* pGroup)
Tgl::Result GroupImpl::Add(const Group* pGroup)
{
assert(m_data);
assert(pGroup);
@ -155,13 +155,13 @@ Result GroupImpl::Add(const Group* pGroup)
}
// FUNCTION: BETA10 0x1016c700
inline Result GroupAddMeshBuilder(IDirect3DRMFrame2* pGroup, const IDirect3DRMMesh* pMesh)
inline Tgl::Result GroupAddMeshBuilder(IDirect3DRMFrame2* pGroup, const IDirect3DRMMesh* pMesh)
{
return ResultVal(pGroup->AddVisual(const_cast<IDirect3DRMMesh*>(pMesh)));
}
// FUNCTION: BETA10 0x1016bff0
inline Result GroupImpl::Add(const MeshBuilderImpl& rMesh)
inline Tgl::Result GroupImpl::Add(const MeshBuilderImpl& rMesh)
{
assert(m_data);
assert(rMesh.ImplementationData());
@ -171,7 +171,7 @@ inline Result GroupImpl::Add(const MeshBuilderImpl& rMesh)
// FUNCTION: LEGO1 0x100a3430
// FUNCTION: BETA10 0x1016a740
Result GroupImpl::Add(const MeshBuilder* pMeshBuilder)
Tgl::Result GroupImpl::Add(const MeshBuilder* pMeshBuilder)
{
assert(m_data);
assert(pMeshBuilder);
@ -180,13 +180,13 @@ Result GroupImpl::Add(const MeshBuilder* pMeshBuilder)
}
// FUNCTION: BETA10 0x1016c7b0
inline Result GroupRemoveMeshBuilder(IDirect3DRMFrame2* pGroup, const IDirect3DRMMesh* pMesh)
inline Tgl::Result GroupRemoveMeshBuilder(IDirect3DRMFrame2* pGroup, const IDirect3DRMMesh* pMesh)
{
return ResultVal(pGroup->DeleteVisual(const_cast<IDirect3DRMMesh*>(pMesh)));
}
// FUNCTION: BETA10 0x1016c130
inline Result GroupImpl::Remove(const MeshBuilderImpl& rMesh)
inline Tgl::Result GroupImpl::Remove(const MeshBuilderImpl& rMesh)
{
assert(m_data);
assert(rMesh.ImplementationData());
@ -196,7 +196,7 @@ inline Result GroupImpl::Remove(const MeshBuilderImpl& rMesh)
// FUNCTION: LEGO1 0x100a3450
// FUNCTION: BETA10 0x1016a7c0
Result GroupImpl::Remove(const MeshBuilder* pMeshBuilder)
Tgl::Result GroupImpl::Remove(const MeshBuilder* pMeshBuilder)
{
assert(m_data);
assert(pMeshBuilder);
@ -205,13 +205,13 @@ Result GroupImpl::Remove(const MeshBuilder* pMeshBuilder)
}
// FUNCTION: BETA10 0x1016c730
inline Result GroupRemoveGroup(IDirect3DRMFrame2* pGroup, const IDirect3DRMFrame* pChildGroup)
inline Tgl::Result GroupRemoveGroup(IDirect3DRMFrame2* pGroup, const IDirect3DRMFrame* pChildGroup)
{
return ResultVal(pGroup->DeleteVisual(const_cast<IDirect3DRMFrame*>(pChildGroup)));
}
// FUNCTION: BETA10 0x1016c1d0
inline Result GroupImpl::Remove(const GroupImpl& rGroup)
inline Tgl::Result GroupImpl::Remove(const GroupImpl& rGroup)
{
assert(m_data);
assert(rGroup.ImplementationData());
@ -221,7 +221,7 @@ inline Result GroupImpl::Remove(const GroupImpl& rGroup)
// FUNCTION: LEGO1 0x100a3480
// FUNCTION: BETA10 0x1016a840
Result GroupImpl::Remove(const Group* pGroup)
Tgl::Result GroupImpl::Remove(const Group* pGroup)
{
assert(m_data);
assert(pGroup);
@ -230,12 +230,12 @@ Result GroupImpl::Remove(const Group* pGroup)
}
// FUNCTION: BETA10 0x1016c850
inline Result GroupRemoveAll(IDirect3DRMFrame2* pFrame)
inline Tgl::Result GroupRemoveAll(IDirect3DRMFrame2* pFrame)
{
IDirect3DRMVisualArray* visuals;
int refCount;
Result result = ResultVal(pFrame->GetVisuals(&visuals));
Tgl::Result result = ResultVal(pFrame->GetVisuals(&visuals));
assert(Succeeded(result));
if (Succeeded(result)) {
@ -260,7 +260,7 @@ inline Result GroupRemoveAll(IDirect3DRMFrame2* pFrame)
// FUNCTION: LEGO1 0x100a34b0
// FUNCTION: BETA10 0x1016a8c0
Result GroupImpl::RemoveAll()
Tgl::Result GroupImpl::RemoveAll()
{
assert(m_data);
@ -268,7 +268,7 @@ Result GroupImpl::RemoveAll()
}
// FUNCTION: BETA10 0x1016cb70
inline Result GroupBounds(IDirect3DRMFrame2* pFrame, D3DVECTOR* p_min, D3DVECTOR* p_max)
inline Tgl::Result GroupBounds(IDirect3DRMFrame2* pFrame, D3DVECTOR* p_min, D3DVECTOR* p_max)
{
D3DRMBOX size;
int refCount;
@ -277,7 +277,7 @@ inline Result GroupBounds(IDirect3DRMFrame2* pFrame, D3DVECTOR* p_min, D3DVECTOR
size.max.x = size.max.y = size.max.z = -88888.f;
IDirect3DRMVisualArray* visuals;
Result result = ResultVal(pFrame->GetVisuals(&visuals));
Tgl::Result result = ResultVal(pFrame->GetVisuals(&visuals));
assert(Succeeded(result));
if (Succeeded(result)) {
@ -337,7 +337,7 @@ inline Result GroupBounds(IDirect3DRMFrame2* pFrame, D3DVECTOR* p_min, D3DVECTOR
// FUNCTION: LEGO1 0x100a3540
// FUNCTION: BETA10 0x1016a920
Result GroupImpl::Bounds(D3DVECTOR* p_min, D3DVECTOR* p_max)
Tgl::Result GroupImpl::Bounds(D3DVECTOR* p_min, D3DVECTOR* p_max)
{
assert(m_data);

View File

@ -30,7 +30,7 @@ using namespace Tgl;
// Utility function used by implementations
// FUNCTION: BETA10 0x10169cf0
inline Result ResultVal(HRESULT result)
inline Tgl::Result ResultVal(HRESULT result)
{
return SUCCEEDED(result) ? Success : Error;
}
@ -88,10 +88,10 @@ class RendererImpl : public Renderer {
) override;
Texture* CreateTexture() override;
Result SetTextureDefaultShadeCount(unsigned int) override;
Tgl::Result SetTextureDefaultShadeCount(unsigned int) override;
// vtable+0x30
Result SetTextureDefaultColorCount(unsigned int) override;
Tgl::Result SetTextureDefaultColorCount(unsigned int) override;
HRESULT CreateTextureFromSurface(LPDIRECTDRAWSURFACE pSurface, LPDIRECT3DRMTEXTURE2* pTexture2)
{
@ -106,11 +106,11 @@ class RendererImpl : public Renderer {
RendererDataType& ImplementationData() { return m_data; }
public:
inline Result Create();
inline Tgl::Result Create();
inline void Destroy();
inline Result CreateLight(LightType type, float r, float g, float b, LightImpl& rLight);
inline Result CreateGroup(const GroupImpl* pParentGroup, GroupImpl& rpGroup);
inline Result CreateView(
inline Tgl::Result CreateLight(LightType type, float r, float g, float b, LightImpl& rLight);
inline Tgl::Result CreateGroup(const GroupImpl* pParentGroup, GroupImpl& rpGroup);
inline Tgl::Result CreateView(
const DeviceImpl& rDevice,
const CameraImpl& rCamera,
unsigned int x,
@ -119,10 +119,10 @@ class RendererImpl : public Renderer {
unsigned int height,
ViewImpl& rView
);
inline Result CreateMeshBuilder(MeshBuilderImpl& rMesh);
inline Result CreateCamera(CameraImpl& rCamera);
inline Result CreateTexture(TextureImpl& rTexture);
inline Result CreateTexture(
inline Tgl::Result CreateMeshBuilder(MeshBuilderImpl& rMesh);
inline Tgl::Result CreateCamera(CameraImpl& rCamera);
inline Tgl::Result CreateTexture(TextureImpl& rTexture);
inline Tgl::Result CreateTexture(
TextureImpl& rTexture,
int width,
int height,
@ -132,8 +132,8 @@ class RendererImpl : public Renderer {
int paletteEntryCount,
const PaletteEntry* pEntries
);
inline Result CreateDevice(const DeviceDirect3DCreateData& rCreateData, DeviceImpl& rDevice);
inline Result CreateDevice(const DeviceDirectDrawCreateData& rCreateData, DeviceImpl& rDevice);
inline Tgl::Result CreateDevice(const DeviceDirect3DCreateData& rCreateData, DeviceImpl& rDevice);
inline Tgl::Result CreateDevice(const DeviceDirectDrawCreateData& rCreateData, DeviceImpl& rDevice);
private:
RendererDataType m_data;
@ -177,13 +177,13 @@ class DeviceImpl : public Device {
unsigned int GetHeight() override;
// vtable+0x10
Result SetColorModel(ColorModel) override;
Result SetShadingModel(ShadingModel) override;
Result SetShadeCount(unsigned int) override;
Result SetDither(int) override;
Tgl::Result SetColorModel(ColorModel) override;
Tgl::Result SetShadingModel(ShadingModel) override;
Tgl::Result SetShadeCount(unsigned int) override;
Tgl::Result SetDither(int) override;
// vtable+0x20
Result Update() override;
Tgl::Result Update() override;
void HandleActivate(WORD) override;
void HandlePaint(void*) override;
@ -233,25 +233,25 @@ class ViewImpl : public View {
void* ImplementationDataPtr() override;
// vtable+0x08
Result Add(const Light*) override;
Result Remove(const Light*) override;
Tgl::Result Add(const Light*) override;
Tgl::Result Remove(const Light*) override;
// vtable+0x10
Result SetCamera(const Camera*) override;
Result SetProjection(ProjectionType) override;
Result SetFrustrum(float frontClippingDistance, float backClippingDistance, float degrees) override;
Result SetBackgroundColor(float r, float g, float b) override;
Tgl::Result SetCamera(const Camera*) override;
Tgl::Result SetProjection(ProjectionType) override;
Tgl::Result SetFrustrum(float frontClippingDistance, float backClippingDistance, float degrees) override;
Tgl::Result SetBackgroundColor(float r, float g, float b) override;
// vtable+0x20
Result GetBackgroundColor(float* r, float* g, float* b) override;
Result Clear() override;
Result Render(const Group*) override;
Result ForceUpdate(unsigned int x, unsigned int y, unsigned int width, unsigned int height) override;
Tgl::Result GetBackgroundColor(float* r, float* g, float* b) override;
Tgl::Result Clear() override;
Tgl::Result Render(const Group*) override;
Tgl::Result ForceUpdate(unsigned int x, unsigned int y, unsigned int width, unsigned int height) override;
// vtable+0x30
Result TransformWorldToScreen(const float world[3], float screen[4]) override;
Result TransformScreenToWorld(const float screen[4], float world[3]) override;
Result Pick(
Tgl::Result TransformWorldToScreen(const float world[3], float screen[4]) override;
Tgl::Result TransformScreenToWorld(const float screen[4], float world[3]) override;
Tgl::Result Pick(
unsigned int x,
unsigned int y,
const Group** ppGroupsToPickFrom,
@ -269,14 +269,14 @@ class ViewImpl : public View {
void SetImplementationData(IDirect3DRMViewport* viewport) { m_data = viewport; }
static Result ViewportCreateAppData(IDirect3DRM2*, IDirect3DRMViewport*, IDirect3DRMFrame2*);
static Tgl::Result ViewportCreateAppData(IDirect3DRM2*, IDirect3DRMViewport*, IDirect3DRMFrame2*);
inline void Destroy();
Result Add(const LightImpl& rLight);
Result Remove(const LightImpl& rLight);
Result SetCamera(const CameraImpl& rCamera);
Result Render(const GroupImpl& rScene);
Result Pick(
Tgl::Result Add(const LightImpl& rLight);
Tgl::Result Remove(const LightImpl& rLight);
Tgl::Result SetCamera(const CameraImpl& rCamera);
Tgl::Result Render(const GroupImpl& rScene);
Tgl::Result Pick(
unsigned int x,
unsigned int y,
const GroupImpl** ppGroupsToPickFrom,
@ -319,7 +319,7 @@ class CameraImpl : public Camera {
void* ImplementationDataPtr() override;
// vtable+0x08
Result SetTransformation(FloatMatrix4&) override;
Tgl::Result SetTransformation(FloatMatrix4&) override;
typedef IDirect3DRMFrame2* CameraDataType;
@ -365,8 +365,8 @@ class LightImpl : public Light {
void* ImplementationDataPtr() override;
// vtable+0x08
Result SetTransformation(FloatMatrix4&) override;
Result SetColor(float r, float g, float b) override;
Tgl::Result SetTransformation(FloatMatrix4&) override;
Tgl::Result SetColor(float r, float g, float b) override;
typedef IDirect3DRMFrame2* LightDataType;
@ -412,13 +412,13 @@ class MeshImpl : public Mesh {
void* ImplementationDataPtr() override;
// vtable+0x08
Result SetColor(float r, float g, float b, float a) override;
Result SetTexture(const Texture*) override;
Tgl::Result SetColor(float r, float g, float b, float a) override;
Tgl::Result SetTexture(const Texture*) override;
// vtable+0x10
Result GetTexture(Texture*&) override;
Result SetTextureMappingMode(TextureMappingMode) override;
Result SetShadingModel(ShadingModel) override;
Tgl::Result GetTexture(Texture*&) override;
Tgl::Result SetTextureMappingMode(TextureMappingMode) override;
Tgl::Result SetShadingModel(ShadingModel) override;
Mesh* DeepClone(MeshBuilder*) override;
// vtable+0x20
@ -438,8 +438,8 @@ class MeshImpl : public Mesh {
inline void Destroy();
inline Mesh* DeepClone(const MeshBuilderImpl& rMesh);
inline Result GetTexture(TextureImpl** ppTexture);
inline Result SetTexture(const TextureImpl* pTexture);
inline Tgl::Result GetTexture(TextureImpl** ppTexture);
inline Tgl::Result SetTexture(const TextureImpl* pTexture);
inline Mesh* ShallowClone(const MeshBuilderImpl& rMesh);
friend class RendererImpl;
@ -476,23 +476,23 @@ class GroupImpl : public Group {
void* ImplementationDataPtr() override;
// vtable+0x08
Result SetTransformation(FloatMatrix4&) override;
Result SetColor(float r, float g, float b, float a) override;
Tgl::Result SetTransformation(FloatMatrix4&) override;
Tgl::Result SetColor(float r, float g, float b, float a) override;
// vtable+0x10
Result SetTexture(const Texture*) override;
Result GetTexture(Texture*&) override;
Result SetMaterialMode(MaterialMode) override;
Result Add(const Group*) override;
Tgl::Result SetTexture(const Texture*) override;
Tgl::Result GetTexture(Texture*&) override;
Tgl::Result SetMaterialMode(MaterialMode) override;
Tgl::Result Add(const Group*) override;
// vtable+0x20
Result Add(const MeshBuilder*) override;
Result Remove(const Group*) override;
Result Remove(const MeshBuilder*) override;
Result RemoveAll() override;
Tgl::Result Add(const MeshBuilder*) override;
Tgl::Result Remove(const Group*) override;
Tgl::Result Remove(const MeshBuilder*) override;
Tgl::Result RemoveAll() override;
// vtable+0x30
Result Bounds(D3DVECTOR* p_min, D3DVECTOR* p_max) override;
Tgl::Result Bounds(D3DVECTOR* p_min, D3DVECTOR* p_max) override;
typedef IDirect3DRMFrame2* GroupDataType;
@ -503,12 +503,12 @@ class GroupImpl : public Group {
GroupDataType& ImplementationData() { return m_data; }
inline void Destroy();
inline Result SetTexture(const TextureImpl* pTexture);
inline Result GetTexture(TextureImpl** ppTexture);
inline Result Add(const GroupImpl& rGroup);
inline Result Add(const MeshBuilderImpl& rMesh);
inline Result Remove(const GroupImpl& rGroup);
inline Result Remove(const MeshBuilderImpl& rMesh);
inline Tgl::Result SetTexture(const TextureImpl* pTexture);
inline Tgl::Result GetTexture(TextureImpl** ppTexture);
inline Tgl::Result Add(const GroupImpl& rGroup);
inline Tgl::Result Add(const MeshBuilderImpl& rMesh);
inline Tgl::Result Remove(const GroupImpl& rGroup);
inline Tgl::Result Remove(const MeshBuilderImpl& rMesh);
friend class RendererImpl;
@ -554,7 +554,7 @@ class MeshBuilderImpl : public MeshBuilder {
unsigned int (*pTextureIndices)[3],
ShadingModel shadingModel
) override;
Result GetBoundingBox(float min[3], float max[3]) const override;
Tgl::Result GetBoundingBox(float min[3], float max[3]) const override;
// vtable+0x10
MeshBuilder* Clone() override;
@ -572,7 +572,7 @@ class MeshBuilderImpl : public MeshBuilder {
friend class RendererImpl;
private:
inline Result CreateMeshImpl(
inline Tgl::Result CreateMeshImpl(
MeshImpl* pMeshImpl,
unsigned int faceCount,
unsigned int vertexCount,
@ -616,10 +616,10 @@ class TglD3DRMIMAGE {
);
~TglD3DRMIMAGE();
Result CreateBuffer(int width, int height, int depth, void* pBuffer, int useBuffer);
Tgl::Result CreateBuffer(int width, int height, int depth, void* pBuffer, int useBuffer);
void Destroy();
Result FillRowsOfTexture(int y, int height, char* content);
Result InitializePalette(int paletteSize, PaletteEntry* pEntries);
Tgl::Result FillRowsOfTexture(int y, int height, char* content);
Tgl::Result InitializePalette(int paletteSize, PaletteEntry* pEntries);
D3DRMIMAGE m_image;
int m_texelsAllocatedByClient;
@ -641,12 +641,12 @@ class TextureImpl : public Texture {
void* ImplementationDataPtr() override;
// vtable+0x08
Result SetTexels(int width, int height, int bitsPerTexel, void* pTexels, int pTexelsArePersistent) override;
Tgl::Result SetTexels(int width, int height, int bitsPerTexel, void* pTexels, int pTexelsArePersistent) override;
void FillRowsOfTexture(int y, int height, void* pBuffer) override;
// vtable+0x10
Result Changed(int texelsChanged, int paletteChanged) override;
Result GetBufferAndPalette(
Tgl::Result Changed(int texelsChanged, int paletteChanged) override;
Tgl::Result GetBufferAndPalette(
int* pWidth,
int* pHeight,
int* pDepth,
@ -654,7 +654,7 @@ class TextureImpl : public Texture {
int* ppPaletteSize,
unsigned char (*pEntries)[3]
) override;
Result SetPalette(int entryCount, PaletteEntry* entries) override;
Tgl::Result SetPalette(int entryCount, PaletteEntry* entries) override;
typedef IDirect3DRMTexture* TextureDataType;
@ -670,7 +670,7 @@ class TextureImpl : public Texture {
friend class RendererImpl;
static Result SetImage(IDirect3DRMTexture* pSelf, TglD3DRMIMAGE* pImage);
static Tgl::Result SetImage(IDirect3DRMTexture* pSelf, TglD3DRMIMAGE* pImage);
private:
TextureDataType m_data;
@ -693,7 +693,7 @@ void TextureImpl::Destroy()
// Used by both Mesh and MeshBuilder
// FUNCTION: BETA10 0x10170270
inline Result MeshSetTextureMappingMode(MeshImpl::MeshData* pMesh, TextureMappingMode mode)
inline Tgl::Result MeshSetTextureMappingMode(MeshImpl::MeshData* pMesh, TextureMappingMode mode)
{
if (mode == PerspectiveCorrect) {
return ResultVal(pMesh->groupMesh->SetGroupMapping(pMesh->groupIndex, D3DRMMAP_PERSPCORRECT));

View File

@ -15,7 +15,7 @@ void* LightImpl::ImplementationDataPtr()
}
// FUNCTION: BETA10 0x1016f6e0
inline Result LightSetTransformation(IDirect3DRMFrame2* pLight, FloatMatrix4& matrix)
inline Tgl::Result LightSetTransformation(IDirect3DRMFrame2* pLight, FloatMatrix4& matrix)
{
D3DRMMATRIX4D helper;
D3DRMMATRIX4D* d3dMatrix = Translate(matrix, helper);
@ -24,7 +24,7 @@ inline Result LightSetTransformation(IDirect3DRMFrame2* pLight, FloatMatrix4& ma
// FUNCTION: LEGO1 0x100a3780
// FUNCTION: BETA10 0x1016f680
Result LightImpl::SetTransformation(FloatMatrix4& matrix)
Tgl::Result LightImpl::SetTransformation(FloatMatrix4& matrix)
{
assert(m_data);
@ -32,11 +32,11 @@ Result LightImpl::SetTransformation(FloatMatrix4& matrix)
}
// FUNCTION: BETA10 0x1016f860
inline Result LightSetColor(IDirect3DRMFrame2* pLight, float r, float g, float b)
inline Tgl::Result LightSetColor(IDirect3DRMFrame2* pLight, float r, float g, float b)
{
IDirect3DRMLightArray* lights;
IDirect3DRMLight* light;
Result result = ResultVal(pLight->GetLights(&lights));
Tgl::Result result = ResultVal(pLight->GetLights(&lights));
assert(Succeeded(result));
assert(lights->GetSize() == 1);
@ -48,7 +48,7 @@ inline Result LightSetColor(IDirect3DRMFrame2* pLight, float r, float g, float b
// FUNCTION: LEGO1 0x100a37e0
// FUNCTION: BETA10 0x1016f7f0
Result LightImpl::SetColor(float r, float g, float b)
Tgl::Result LightImpl::SetColor(float r, float g, float b)
{
assert(m_data);

View File

@ -17,7 +17,7 @@ void* MeshImpl::ImplementationDataPtr()
}
// FUNCTION: BETA10 0x10170590
inline Result MeshSetColor(MeshImpl::MeshData* pMesh, float r, float g, float b, float a)
inline Tgl::Result MeshSetColor(MeshImpl::MeshData* pMesh, float r, float g, float b, float a)
{
if (a > 0) {
D3DCOLOR color = D3DRMCreateColorRGBA(r, g, b, a);
@ -30,7 +30,7 @@ inline Result MeshSetColor(MeshImpl::MeshData* pMesh, float r, float g, float b,
// FUNCTION: LEGO1 0x100a3ee0
// FUNCTION: BETA10 0x10170520
Result MeshImpl::SetColor(float r, float g, float b, float a)
Tgl::Result MeshImpl::SetColor(float r, float g, float b, float a)
{
assert(m_data);
@ -38,14 +38,14 @@ Result MeshImpl::SetColor(float r, float g, float b, float a)
}
// FUNCTION: BETA10 0x10171320
inline Result MeshSetTexture(MeshImpl::MeshData* pMesh, IDirect3DRMTexture* pD3DTexture)
inline Tgl::Result MeshSetTexture(MeshImpl::MeshData* pMesh, IDirect3DRMTexture* pD3DTexture)
{
Result result = ResultVal(pMesh->groupMesh->SetGroupTexture(pMesh->groupIndex, pD3DTexture));
Tgl::Result result = ResultVal(pMesh->groupMesh->SetGroupTexture(pMesh->groupIndex, pD3DTexture));
return result;
}
// FUNCTION: BETA10 0x10171260
inline Result MeshImpl::SetTexture(const TextureImpl* pTexture)
inline Tgl::Result MeshImpl::SetTexture(const TextureImpl* pTexture)
{
assert(m_data);
assert(!pTexture || pTexture->ImplementationData());
@ -56,7 +56,7 @@ inline Result MeshImpl::SetTexture(const TextureImpl* pTexture)
// FUNCTION: LEGO1 0x100a3f50
// FUNCTION: BETA10 0x10170630
Result MeshImpl::SetTexture(const Texture* pTexture)
Tgl::Result MeshImpl::SetTexture(const Texture* pTexture)
{
assert(m_data);
@ -65,7 +65,7 @@ Result MeshImpl::SetTexture(const Texture* pTexture)
// FUNCTION: LEGO1 0x100a3f80
// FUNCTION: BETA10 0x10170690
Result MeshImpl::SetTextureMappingMode(TextureMappingMode mode)
Tgl::Result MeshImpl::SetTextureMappingMode(TextureMappingMode mode)
{
assert(m_data);
@ -73,7 +73,7 @@ Result MeshImpl::SetTextureMappingMode(TextureMappingMode mode)
}
// FUNCTION: BETA10 0x10170750
inline Result MeshSetShadingModel(MeshImpl::MeshData* pMesh, ShadingModel model)
inline Tgl::Result MeshSetShadingModel(MeshImpl::MeshData* pMesh, ShadingModel model)
{
D3DRMRENDERQUALITY mode = Translate(model);
return ResultVal(pMesh->groupMesh->SetGroupQuality(pMesh->groupIndex, mode));
@ -81,14 +81,14 @@ inline Result MeshSetShadingModel(MeshImpl::MeshData* pMesh, ShadingModel model)
// FUNCTION: LEGO1 0x100a3fc0
// FUNCTION: BETA10 0x101706f0
Result MeshImpl::SetShadingModel(ShadingModel model)
Tgl::Result MeshImpl::SetShadingModel(ShadingModel model)
{
assert(m_data);
return MeshSetShadingModel(m_data, model);
}
// FUNCTION: BETA10 0x101714e0
inline Result MeshDeepClone(MeshImpl::MeshData* pSource, MeshImpl::MeshData*& rpTarget, IDirect3DRMMesh* pMesh)
inline Tgl::Result MeshDeepClone(MeshImpl::MeshData* pSource, MeshImpl::MeshData*& rpTarget, IDirect3DRMMesh* pMesh)
{
rpTarget = new MeshImpl::MeshData();
rpTarget->groupMesh = pMesh;
@ -97,13 +97,13 @@ inline Result MeshDeepClone(MeshImpl::MeshData* pSource, MeshImpl::MeshData*& rp
DWORD dataSize;
unsigned int vcount, fcount, vperface;
Result result =
ResultVal(pSource->groupMesh->GetGroup(pSource->groupIndex, &vcount, &fcount, &vperface, &dataSize, NULL));
Tgl::Result result =
ResultVal(pSource->groupMesh->GetGroup(pSource->groupIndex, (long unsigned int*)&vcount, (long unsigned int*)&fcount, (long unsigned int*)&vperface, &dataSize, NULL));
assert(Succeeded(result));
unsigned int* faceBuffer = new unsigned int[dataSize];
result =
ResultVal(pSource->groupMesh->GetGroup(pSource->groupIndex, &vcount, &fcount, &vperface, &dataSize, faceBuffer)
ResultVal(pSource->groupMesh->GetGroup(pSource->groupIndex, (long unsigned int*)&vcount, (long unsigned int*)&fcount, (long unsigned int*)&vperface, &dataSize, (long unsigned int*)&faceBuffer)
);
assert(Succeeded(result));
@ -122,7 +122,7 @@ inline Result MeshDeepClone(MeshImpl::MeshData* pSource, MeshImpl::MeshData*& rp
// Push information to new group
D3DRMGROUPINDEX index;
result = ResultVal(pMesh->AddGroup(vcount, fcount, 3, faceBuffer, &index));
result = ResultVal(pMesh->AddGroup(vcount, fcount, 3, (long unsigned int*)&faceBuffer, &index));
assert(Succeeded(result));
rpTarget->groupIndex = index;
@ -180,9 +180,9 @@ Mesh* MeshImpl::DeepClone(MeshBuilder* pMesh)
return DeepClone(*static_cast<MeshBuilderImpl*>(pMesh));
}
inline Result MeshShallowClone(MeshImpl::MeshData* pSource, MeshImpl::MeshData*& rpTarget, IDirect3DRMMesh* pMesh)
inline Tgl::Result MeshShallowClone(MeshImpl::MeshData* pSource, MeshImpl::MeshData*& rpTarget, IDirect3DRMMesh* pMesh)
{
Result result = Error;
Tgl::Result result = Error;
rpTarget = new MeshImpl::MeshData();
if (rpTarget) {
@ -220,13 +220,13 @@ Mesh* MeshImpl::ShallowClone(MeshBuilder* pMeshBuilder)
}
// FUNCTION: BETA10 0x10171ac0
inline Result MeshGetTexture(MeshImpl::MeshData* pMesh, IDirect3DRMTexture** pD3DTexture)
inline Tgl::Result MeshGetTexture(MeshImpl::MeshData* pMesh, IDirect3DRMTexture** pD3DTexture)
{
return ResultVal(pMesh->groupMesh->GetGroupTexture(pMesh->groupIndex, pD3DTexture));
}
// FUNCTION: BETA10 0x10171980
inline Result MeshImpl::GetTexture(TextureImpl** ppTexture)
inline Tgl::Result MeshImpl::GetTexture(TextureImpl** ppTexture)
{
assert(m_data);
assert(ppTexture);
@ -236,7 +236,7 @@ inline Result MeshImpl::GetTexture(TextureImpl** ppTexture)
// TODO: This helps retail match, but it adds to the stack
IDirect3DRMTexture* tex;
Result result = MeshGetTexture(m_data, &tex);
Tgl::Result result = MeshGetTexture(m_data, &tex);
#ifndef BETA10
if (Succeeded(result)) {
@ -251,7 +251,7 @@ inline Result MeshImpl::GetTexture(TextureImpl** ppTexture)
// FUNCTION: LEGO1 0x100a4330
// FUNCTION: BETA10 0x10170820
Result MeshImpl::GetTexture(Texture*& rpTexture)
Tgl::Result MeshImpl::GetTexture(Texture*& rpTexture)
{
assert(m_data);

View File

@ -45,7 +45,7 @@ Mesh* MeshBuilderImpl::CreateMesh(
return pMeshImpl;
}
inline Result CreateMesh(
inline Tgl::Result CreateMesh(
IDirect3DRMMesh* pD3DRM,
unsigned int faceCount,
unsigned int vertexCount,
@ -96,8 +96,8 @@ inline Result CreateMesh(
}
}
Result result;
result = ResultVal(pD3DRM->AddGroup(vertexCount, faceCount, 3, fData, &groupIndex));
Tgl::Result result;
result = ResultVal(pD3DRM->AddGroup(vertexCount, faceCount, 3, (long unsigned int*)fData, &groupIndex));
if (Succeeded(result)) {
rpMesh->groupIndex = groupIndex;
@ -125,7 +125,7 @@ inline Result CreateMesh(
return result;
}
inline Result MeshBuilderImpl::CreateMeshImpl(
inline Tgl::Result MeshBuilderImpl::CreateMeshImpl(
MeshImpl* pMeshImpl,
unsigned int faceCount,
unsigned int vertexCount,
@ -152,10 +152,10 @@ inline Result MeshBuilderImpl::CreateMeshImpl(
}
// FUNCTION: BETA10 0x1016e060
inline Result MeshBuilderGetBoundingBox(IDirect3DRMMesh* pMesh, float min[3], float max[3])
inline Tgl::Result MeshBuilderGetBoundingBox(IDirect3DRMMesh* pMesh, float min[3], float max[3])
{
D3DRMBOX box;
Result result = ResultVal(pMesh->GetBox(&box));
Tgl::Result result = ResultVal(pMesh->GetBox(&box));
if (Succeeded(result)) {
min[0] = box.min.x;
min[1] = box.min.y;
@ -169,7 +169,7 @@ inline Result MeshBuilderGetBoundingBox(IDirect3DRMMesh* pMesh, float min[3], fl
// FUNCTION: LEGO1 0x100a3ae0
// FUNCTION: BETA10 0x1016ce00
Result MeshBuilderImpl::GetBoundingBox(float min[3], float max[3]) const
Tgl::Result MeshBuilderImpl::GetBoundingBox(float min[3], float max[3]) const
{
assert(m_data);

View File

@ -22,7 +22,7 @@ IDirect3DRM2* g_pD3DRM = NULL;
} // namespace TglImpl
// Inlined only
Result RendererImpl::Create()
Tgl::Result RendererImpl::Create()
{
if (g_pD3DRM) {
g_pD3DRM->AddRef();
@ -37,19 +37,19 @@ Result RendererImpl::Create()
}
// FUNCTION: BETA10 0x1016cf00
inline Result RendererCreateDevice(
inline Tgl::Result RendererCreateDevice(
IDirect3DRM2* pD3DRM,
const DeviceDirect3DCreateData& rCreateData,
IDirect3DRMDevice2*& rpDevice
)
{
Result result =
Tgl::Result result =
ResultVal(pD3DRM->CreateDeviceFromD3D(rCreateData.m_pDirect3D, rCreateData.m_pDirect3DDevice, &rpDevice));
return result;
}
// FUNCTION: BETA10 0x1016ce60
inline Result RendererImpl::CreateDevice(const DeviceDirect3DCreateData& rCreateData, DeviceImpl& rDevice)
inline Tgl::Result RendererImpl::CreateDevice(const DeviceDirect3DCreateData& rCreateData, DeviceImpl& rDevice)
{
assert(m_data);
assert(!rDevice.ImplementationData());
@ -73,13 +73,13 @@ Device* RendererImpl::CreateDevice(const DeviceDirect3DCreateData& data)
}
// FUNCTION: BETA10 0x1016cfe0
inline Result RendererCreateDevice(
inline Tgl::Result RendererCreateDevice(
IDirect3DRM2* pD3DRM,
const DeviceDirectDrawCreateData& rCreateData,
IDirect3DRMDevice2*& rpDevice
)
{
Result result = ResultVal(pD3DRM->CreateDeviceFromSurface(
Tgl::Result result = ResultVal(pD3DRM->CreateDeviceFromSurface(
const_cast<GUID*>(rCreateData.m_driverGUID),
rCreateData.m_pDirectDraw,
rCreateData.m_pBackBuffer,
@ -92,7 +92,7 @@ inline Result RendererCreateDevice(
// GLOBAL: BETA10 0x102055f4
static int g_setBufferCount = 1;
if (g_setBufferCount) {
Result result2 = ResultVal(rpDevice->SetBufferCount(2));
Tgl::Result result2 = ResultVal(rpDevice->SetBufferCount(2));
assert(Succeeded(result));
}
}
@ -102,7 +102,7 @@ inline Result RendererCreateDevice(
}
// FUNCTION: BETA10 0x1016cf40
inline Result RendererImpl::CreateDevice(const DeviceDirectDrawCreateData& rCreateData, DeviceImpl& rDevice)
inline Tgl::Result RendererImpl::CreateDevice(const DeviceDirectDrawCreateData& rCreateData, DeviceImpl& rDevice)
{
assert(m_data);
assert(!rDevice.ImplementationData());
@ -126,7 +126,7 @@ Device* RendererImpl::CreateDevice(const DeviceDirectDrawCreateData& data)
}
// FUNCTION: BETA10 0x1016d1d0
inline Result RendererCreateView(
inline Tgl::Result RendererCreateView(
IDirect3DRM2* pRenderer,
const IDirect3DRMDevice2* pDevice,
const IDirect3DRMFrame2* pCamera,
@ -137,7 +137,7 @@ inline Result RendererCreateView(
IDirect3DRMViewport*& rpView
)
{
Result result = ResultVal(pRenderer->CreateViewport(
Tgl::Result result = ResultVal(pRenderer->CreateViewport(
const_cast<IDirect3DRMDevice2*>(pDevice),
const_cast<IDirect3DRMFrame2*>(pCamera),
x,
@ -159,7 +159,7 @@ inline Result RendererCreateView(
}
// FUNCTION: BETA10 0x1016d0b0
inline Result RendererImpl::CreateView(
inline Tgl::Result RendererImpl::CreateView(
const DeviceImpl& rDevice,
const CameraImpl& rCamera,
unsigned int x,
@ -219,13 +219,13 @@ View* RendererImpl::CreateView(
}
// FUNCTION: BETA10 0x1016d380
inline Result RendererCreateGroup(
inline Tgl::Result RendererCreateGroup(
IDirect3DRM2* pRenderer,
const IDirect3DRMFrame2* pParent,
IDirect3DRMFrame2*& rpGroup
)
{
Result result = ResultVal(pRenderer->CreateFrame(NULL, &rpGroup));
Tgl::Result result = ResultVal(pRenderer->CreateFrame(NULL, &rpGroup));
if (Succeeded(result) && pParent) {
result = ResultVal(const_cast<IDirect3DRMFrame2*>(pParent)->AddVisual(rpGroup));
if (!Succeeded(result)) {
@ -237,7 +237,7 @@ inline Result RendererCreateGroup(
}
// FUNCTION: BETA10 0x1016d280
inline Result RendererImpl::CreateGroup(const GroupImpl* pParentGroup, GroupImpl& rGroup)
inline Tgl::Result RendererImpl::CreateGroup(const GroupImpl* pParentGroup, GroupImpl& rGroup)
{
assert(m_data);
assert(!pParentGroup || pParentGroup->ImplementationData());
@ -265,13 +265,13 @@ Group* RendererImpl::CreateGroup(const Group* pParent)
}
// FUNCTION: BETA10 0x1016d4b0
inline Result RendererCreateCamera(IDirect3DRM2* pD3DRM, IDirect3DRMFrame2*& rpCamera)
inline Tgl::Result RendererCreateCamera(IDirect3DRM2* pD3DRM, IDirect3DRMFrame2*& rpCamera)
{
return ResultVal(pD3DRM->CreateFrame(NULL, &rpCamera));
}
// FUNCTION: BETA10 0x1016d420
inline Result RendererImpl::CreateCamera(CameraImpl& rCamera)
inline Tgl::Result RendererImpl::CreateCamera(CameraImpl& rCamera)
{
assert(m_data);
assert(!rCamera.ImplementationData());
@ -295,7 +295,7 @@ Camera* RendererImpl::CreateCamera()
}
// FUNCTION: BETA10 0x1016d580
inline Result RendererCreateLight(
inline Tgl::Result RendererCreateLight(
IDirect3DRM2* pD3DRM,
LightType type,
float r,
@ -307,7 +307,7 @@ inline Result RendererCreateLight(
D3DRMLIGHTTYPE lightType = Translate(type);
IDirect3DRMFrame2* pLightFrame;
IDirect3DRMLight* pLight;
Result result;
Tgl::Result result;
result = ResultVal(pD3DRM->CreateFrame(NULL, &pLightFrame));
assert(Succeeded(result));
@ -348,7 +348,7 @@ inline Result RendererCreateLight(
}
// FUNCTION: BETA10 0x1016d4e0
inline Result RendererImpl::CreateLight(LightType type, float r, float g, float b, LightImpl& rLight)
inline Tgl::Result RendererImpl::CreateLight(LightType type, float r, float g, float b, LightImpl& rLight)
{
assert(m_data);
assert(!rLight.ImplementationData());
@ -373,13 +373,13 @@ Light* RendererImpl::CreateLight(LightType type, float r, float g, float b)
}
// FUNCTION: BETA10 0x1016d8e0
inline Result RendererCreateMeshBuilder(IDirect3DRM2* pD3DRM, IDirect3DRMMesh*& rpMesh)
inline Tgl::Result RendererCreateMeshBuilder(IDirect3DRM2* pD3DRM, IDirect3DRMMesh*& rpMesh)
{
return ResultVal(pD3DRM->CreateMesh(&rpMesh));
}
// FUNCTION: BETA10 0x1016d850
inline Result RendererImpl::CreateMeshBuilder(MeshBuilderImpl& rMesh)
inline Tgl::Result RendererImpl::CreateMeshBuilder(MeshBuilderImpl& rMesh)
{
assert(m_data);
assert(!rMesh.ImplementationData());
@ -403,7 +403,7 @@ MeshBuilder* RendererImpl::CreateMeshBuilder()
}
// FUNCTION: BETA10 0x1016d9c0
inline Result RendererCreateTexture(
inline Tgl::Result RendererCreateTexture(
IDirect3DRM2* pRenderer,
int width,
int height,
@ -415,7 +415,7 @@ inline Result RendererCreateTexture(
IDirect3DRMTexture*& rpTexture
)
{
Result result;
Tgl::Result result;
TglD3DRMIMAGE* pImage = new TglD3DRMIMAGE(width, height, bytesPerPixel, pBuffer, useBuffer, paletteSize, pEntries);
assert(pImage);
@ -443,7 +443,7 @@ inline Result RendererCreateTexture(
}
// FUNCTION: BETA10 0x1016d910
inline Result RendererImpl::CreateTexture(
inline Tgl::Result RendererImpl::CreateTexture(
TextureImpl& rTexture,
int width,
int height,
@ -502,13 +502,13 @@ Texture* RendererImpl::CreateTexture(
}
// FUNCTION: BETA10 0x1016dcb0
inline Result RendererCreateTexture(IDirect3DRM2* pRenderer, IDirect3DRMTexture*& rpTexture)
inline Tgl::Result RendererCreateTexture(IDirect3DRM2* pRenderer, IDirect3DRMTexture*& rpTexture)
{
return RendererCreateTexture(pRenderer, 0, 0, 0, NULL, FALSE, 0, NULL, rpTexture);
}
// FUNCTION: BETA10 0x1016dc20
inline Result RendererImpl::CreateTexture(TextureImpl& rTexture)
inline Tgl::Result RendererImpl::CreateTexture(TextureImpl& rTexture)
{
assert(m_data);
assert(!rTexture.ImplementationData());
@ -532,14 +532,14 @@ Texture* RendererImpl::CreateTexture()
}
// FUNCTION: BETA10 0x1016af90
inline Result RendererSetTextureDefaultShadeCount(IDirect3DRM2* pRenderer, unsigned long shadeCount)
inline Tgl::Result RendererSetTextureDefaultShadeCount(IDirect3DRM2* pRenderer, unsigned long shadeCount)
{
return ResultVal(pRenderer->SetDefaultTextureShades(shadeCount));
}
// FUNCTION: LEGO1 0x100a2270
// FUNCTION: BETA10 0x1016af30
Result RendererImpl::SetTextureDefaultShadeCount(unsigned int shadeCount)
Tgl::Result RendererImpl::SetTextureDefaultShadeCount(unsigned int shadeCount)
{
assert(m_data);
@ -547,14 +547,14 @@ Result RendererImpl::SetTextureDefaultShadeCount(unsigned int shadeCount)
}
// FUNCTION: BETA10 0x1016b020
inline Result RendererSetTextureDefaultColorCount(IDirect3DRM2* pRenderer, unsigned long colorCount)
inline Tgl::Result RendererSetTextureDefaultColorCount(IDirect3DRM2* pRenderer, unsigned long colorCount)
{
return ResultVal(pRenderer->SetDefaultTextureColors(colorCount));
}
// FUNCTION: LEGO1 0x100a2290
// FUNCTION: BETA10 0x1016afc0
Result RendererImpl::SetTextureDefaultColorCount(unsigned int colorCount)
Tgl::Result RendererImpl::SetTextureDefaultColorCount(unsigned int colorCount)
{
assert(m_data);

View File

@ -17,10 +17,10 @@ void TextureDestroyCallback(IDirect3DRMObject* pObject, void* pArg);
// FUNCTION: LEGO1 0x100a12a0
// FUNCTION: BETA10 0x10169113
Result TextureImpl::SetImage(IDirect3DRMTexture* pSelf, TglD3DRMIMAGE* pImage)
Tgl::Result TextureImpl::SetImage(IDirect3DRMTexture* pSelf, TglD3DRMIMAGE* pImage)
{
void* appData;
Result result;
Tgl::Result result;
appData = pImage;
assert(reinterpret_cast<TglD3DRMIMAGE*>(appData) == pImage);
@ -84,7 +84,7 @@ TglD3DRMIMAGE::TglD3DRMIMAGE(
m_image.palette = NULL;
m_texelsAllocatedByClient = 0;
Result result;
Tgl::Result result;
if (pBuffer != NULL) {
result = CreateBuffer(width, height, depth, pBuffer, useBuffer);
assert(Succeeded(result));
@ -122,7 +122,7 @@ inline static int IsPowerOfTwo(int v)
// FUNCTION: LEGO1 0x100a13e0
// FUNCTION: BETA10 0x101694a4
Result TglD3DRMIMAGE::CreateBuffer(int width, int height, int depth, void* pBuffer, int useBuffer)
Tgl::Result TglD3DRMIMAGE::CreateBuffer(int width, int height, int depth, void* pBuffer, int useBuffer)
{
int bytesPerScanline = width;
@ -162,7 +162,7 @@ Result TglD3DRMIMAGE::CreateBuffer(int width, int height, int depth, void* pBuff
// FUNCTION: LEGO1 0x100a1510
// FUNCTION: BETA10 0x1016969c
Result TglD3DRMIMAGE::FillRowsOfTexture(int destVOffset, int srcHeight, char* pTexels)
Tgl::Result TglD3DRMIMAGE::FillRowsOfTexture(int destVOffset, int srcHeight, char* pTexels)
{
assert(m_image.buffer1 && pTexels);
assert((destVOffset + srcHeight) <= m_image.height);
@ -175,7 +175,7 @@ Result TglD3DRMIMAGE::FillRowsOfTexture(int destVOffset, int srcHeight, char* pT
// FUNCTION: LEGO1 0x100a1550
// FUNCTION: BETA10 0x10169758
Result TglD3DRMIMAGE::InitializePalette(int paletteSize, PaletteEntry* pEntries)
Tgl::Result TglD3DRMIMAGE::InitializePalette(int paletteSize, PaletteEntry* pEntries)
{
// This function is a 100% match if the PaletteEntry class is copied
// into into the TglD3DRMIMAGE class instead of being a global struct.
@ -204,7 +204,7 @@ Result TglD3DRMIMAGE::InitializePalette(int paletteSize, PaletteEntry* pEntries)
}
// FUNCTION: BETA10 0x1016ee80
inline Result TextureSetTexels(
inline Tgl::Result TextureSetTexels(
IDirect3DRMTexture* pTexture,
int width,
int height,
@ -216,7 +216,7 @@ inline Result TextureSetTexels(
TglD3DRMIMAGE* pImage = TextureGetImage(pTexture);
assert(pImage);
Result result = pImage->CreateBuffer(width, height, bitsPerTexel, pTexels, pTexelsArePersistent);
Tgl::Result result = pImage->CreateBuffer(width, height, bitsPerTexel, pTexels, pTexelsArePersistent);
assert(Succeeded(result));
if (Succeeded(result)) {
@ -229,7 +229,7 @@ inline Result TextureSetTexels(
// FUNCTION: LEGO1 0x100a3c10
// FUNCTION: BETA10 0x1016c390
Result TextureImpl::SetTexels(int width, int height, int bitsPerTexel, void* pTexels, int pTexelsArePersistent)
Tgl::Result TextureImpl::SetTexels(int width, int height, int bitsPerTexel, void* pTexels, int pTexelsArePersistent)
{
assert(m_data);
@ -237,12 +237,12 @@ Result TextureImpl::SetTexels(int width, int height, int bitsPerTexel, void* pTe
}
// FUNCTION: BETA10 0x1016f160
inline Result TextureFillRowsOfTexture(IDirect3DRMTexture* pTexture, int y, int height, void* pBuffer)
inline Tgl::Result TextureFillRowsOfTexture(IDirect3DRMTexture* pTexture, int y, int height, void* pBuffer)
{
TglD3DRMIMAGE* pImage = TextureGetImage(pTexture);
assert(pImage);
Result result = pImage->FillRowsOfTexture(y, height, (char*) pBuffer);
Tgl::Result result = pImage->FillRowsOfTexture(y, height, (char*) pBuffer);
assert(Succeeded(result));
return result;
@ -258,16 +258,16 @@ void TextureImpl::FillRowsOfTexture(int y, int height, void* pBuffer)
}
// FUNCTION: BETA10 0x1016f270
inline Result TextureChanged(IDirect3DRMTexture* pTexture, int texelsChanged, int paletteChanged)
inline Tgl::Result TextureChanged(IDirect3DRMTexture* pTexture, int texelsChanged, int paletteChanged)
{
Result result = ResultVal(pTexture->Changed(texelsChanged, paletteChanged));
Tgl::Result result = ResultVal(pTexture->Changed(texelsChanged, paletteChanged));
assert(Succeeded(result));
return result;
}
// FUNCTION: LEGO1 0x100a3c90
// FUNCTION: BETA10 0x1016c540
Result TextureImpl::Changed(int texelsChanged, int paletteChanged)
Tgl::Result TextureImpl::Changed(int texelsChanged, int paletteChanged)
{
assert(m_data);
@ -275,7 +275,7 @@ Result TextureImpl::Changed(int texelsChanged, int paletteChanged)
}
// FUNCTION: BETA10 0x1016f4c0
inline Result TextureGetBufferAndPalette(
inline Tgl::Result TextureGetBufferAndPalette(
IDirect3DRMTexture* pTexture,
int* width,
int* height,
@ -305,7 +305,7 @@ inline Result TextureGetBufferAndPalette(
// FUNCTION: LEGO1 0x100a3cc0
// FUNCTION: BETA10 0x1016c5d0
Result TextureImpl::GetBufferAndPalette(
Tgl::Result TextureImpl::GetBufferAndPalette(
int* width,
int* height,
int* depth,
@ -320,13 +320,13 @@ Result TextureImpl::GetBufferAndPalette(
}
// FUNCTION: BETA10 0x1016f730
inline Result TextureSetPalette(IDirect3DRMTexture* pTexture, int entryCount, PaletteEntry* pEntries)
inline Tgl::Result TextureSetPalette(IDirect3DRMTexture* pTexture, int entryCount, PaletteEntry* pEntries)
{
TglD3DRMIMAGE* pImage = TextureGetImage(pTexture);
assert(pImage);
pImage->InitializePalette(entryCount, pEntries);
Result result = ResultVal(pTexture->Changed(FALSE, TRUE));
Tgl::Result result = ResultVal(pTexture->Changed(FALSE, TRUE));
assert(Succeeded(result));
return Success;
@ -334,7 +334,7 @@ inline Result TextureSetPalette(IDirect3DRMTexture* pTexture, int entryCount, Pa
// FUNCTION: LEGO1 0x100a3d40
// FUNCTION: BETA10 0x1016c6a0
Result TextureImpl::SetPalette(int entryCount, PaletteEntry* pEntries)
Tgl::Result TextureImpl::SetPalette(int entryCount, PaletteEntry* pEntries)
{
assert(m_data);

View File

@ -22,7 +22,7 @@ DECOMP_SIZE_ASSERT(ViewportAppData, 0x18);
// FUNCTION: BETA10 0x10168920
ViewportAppData::ViewportAppData(IDirect3DRM2* pRenderer)
{
Result result = ResultVal(pRenderer->CreateFrame(NULL, &m_pLightFrame));
Tgl::Result result = ResultVal(pRenderer->CreateFrame(NULL, &m_pLightFrame));
assert(Succeeded(result));
m_pCamera = NULL;
@ -39,7 +39,7 @@ ViewportAppData::~ViewportAppData()
int refCount;
IDirect3DRMFrameArray* pChildFrames;
IDirect3DRMFrame* pChildFrame = NULL;
Result result = ResultVal(m_pLightFrame->GetChildren(&pChildFrames));
Tgl::Result result = ResultVal(m_pLightFrame->GetChildren(&pChildFrames));
assert(Succeeded(result));
for (int i = 0; i < (int) pChildFrames->GetSize(); i++) {
@ -65,7 +65,7 @@ void ViewportDestroyCallback(IDirect3DRMObject* pObject, void* pArg);
// FUNCTION: LEGO1 0x100a1160
// FUNCTION: BETA10 0x10168ba5
Result ViewImpl::ViewportCreateAppData(
Tgl::Result ViewImpl::ViewportCreateAppData(
IDirect3DRM2* pDevice,
IDirect3DRMViewport* pViewport,
IDirect3DRMFrame2* pCamera
@ -77,7 +77,7 @@ Result ViewImpl::ViewportCreateAppData(
pViewportAppData->m_pCamera = pCamera;
assert(!pViewport->GetAppData());
Result result = ResultVal(pViewport->SetAppData(reinterpret_cast<LPD3DRM_APPDATA>(pViewportAppData)));
Tgl::Result result = ResultVal(pViewport->SetAppData(reinterpret_cast<LPD3DRM_APPDATA>(pViewportAppData)));
assert(Succeeded(result));
assert(reinterpret_cast<ViewportAppData*>(pViewport->GetAppData()) == pViewportAppData);
@ -95,13 +95,13 @@ Result ViewImpl::ViewportCreateAppData(
}
// FUNCTION: BETA10 0x1016bd80
inline Result ViewRestoreFrameAfterRender(
inline Tgl::Result ViewRestoreFrameAfterRender(
IDirect3DRMFrame* pFrame,
IDirect3DRMFrame* pCamera,
IDirect3DRMFrame* pLightFrame
)
{
Result result = Success;
Tgl::Result result = Success;
if (pFrame) {
// remove camera and light frame from frame that was rendered
// this doesn't destroy the camera as it is still the camera of the viewport...
@ -128,7 +128,7 @@ void ViewportDestroyCallback(IDirect3DRMObject* pObject, void* pArg)
assert(static_cast<ViewImpl::ViewDataType>(pObject));
assert(pViewportAppData);
Result result = ViewRestoreFrameAfterRender(
Tgl::Result result = ViewRestoreFrameAfterRender(
pViewportAppData->m_pLastRenderedFrame,
pViewportAppData->m_pCamera,
pViewportAppData->m_pLightFrame
@ -141,7 +141,7 @@ void ViewportDestroyCallback(IDirect3DRMObject* pObject, void* pArg)
// FUNCTION: LEGO1 0x100a1290
// FUNCTION: BETA10 0x10168eab
Result ViewportPickImpl(
Tgl::Result ViewportPickImpl(
IDirect3DRMViewport* pViewport,
int x,
int y,
@ -175,7 +175,7 @@ void* ViewImpl::ImplementationDataPtr()
}
// FUNCTION: BETA10 0x10170a40
inline Result ViewAddLight(IDirect3DRMViewport* pViewport, const IDirect3DRMFrame* pLight)
inline Tgl::Result ViewAddLight(IDirect3DRMViewport* pViewport, const IDirect3DRMFrame* pLight)
{
IDirect3DRMFrame* pLightFrame = ViewportGetLightFrame(pViewport);
@ -184,7 +184,7 @@ inline Result ViewAddLight(IDirect3DRMViewport* pViewport, const IDirect3DRMFram
}
// FUNCTION: BETA10 0x101709a0
inline Result ViewImpl::Add(const LightImpl& rLight)
inline Tgl::Result ViewImpl::Add(const LightImpl& rLight)
{
assert(m_data);
assert(rLight.ImplementationData());
@ -194,7 +194,7 @@ inline Result ViewImpl::Add(const LightImpl& rLight)
// FUNCTION: LEGO1 0x100a2d90
// FUNCTION: BETA10 0x1016e690
Result ViewImpl::Add(const Light* pLight)
Tgl::Result ViewImpl::Add(const Light* pLight)
{
assert(m_data);
assert(pLight);
@ -203,7 +203,7 @@ Result ViewImpl::Add(const Light* pLight)
}
// FUNCTION: BETA10 0x10170bb0
inline Result ViewRemoveLight(IDirect3DRMViewport* pViewport, const IDirect3DRMFrame* pLight)
inline Tgl::Result ViewRemoveLight(IDirect3DRMViewport* pViewport, const IDirect3DRMFrame* pLight)
{
IDirect3DRMFrame* pLightFrame = ViewportGetLightFrame(pViewport);
@ -212,7 +212,7 @@ inline Result ViewRemoveLight(IDirect3DRMViewport* pViewport, const IDirect3DRMF
}
// FUNCTION: BETA10 0x10170b10
inline Result ViewImpl::Remove(const LightImpl& rLight)
inline Tgl::Result ViewImpl::Remove(const LightImpl& rLight)
{
assert(m_data);
assert(rLight.ImplementationData());
@ -222,7 +222,7 @@ inline Result ViewImpl::Remove(const LightImpl& rLight)
// FUNCTION: LEGO1 0x100a2dc0
// FUNCTION: BETA10 0x1016e710
Result ViewImpl::Remove(const Light* pLight)
Tgl::Result ViewImpl::Remove(const Light* pLight)
{
assert(m_data);
assert(pLight);
@ -231,10 +231,10 @@ Result ViewImpl::Remove(const Light* pLight)
}
// FUNCTION: BETA10 0x10170cc0
inline Result ViewSetCamera(IDirect3DRMViewport* pViewport, const IDirect3DRMFrame2* pCamera)
inline Tgl::Result ViewSetCamera(IDirect3DRMViewport* pViewport, const IDirect3DRMFrame2* pCamera)
{
ViewportAppData* pViewportAppData;
Result result;
Tgl::Result result;
pViewportAppData = reinterpret_cast<ViewportAppData*>(pViewport->GetAppData());
assert(pViewportAppData);
@ -252,7 +252,7 @@ inline Result ViewSetCamera(IDirect3DRMViewport* pViewport, const IDirect3DRMFra
}
// FUNCTION: BETA10 0x10170c20
inline Result ViewImpl::SetCamera(const CameraImpl& rCamera)
inline Tgl::Result ViewImpl::SetCamera(const CameraImpl& rCamera)
{
assert(m_data);
assert(rCamera.ImplementationData());
@ -262,7 +262,7 @@ inline Result ViewImpl::SetCamera(const CameraImpl& rCamera)
// FUNCTION: LEGO1 0x100a2df0
// FUNCTION: BETA10 0x1016e790
Result ViewImpl::SetCamera(const Camera* pCamera)
Tgl::Result ViewImpl::SetCamera(const Camera* pCamera)
{
assert(m_data);
assert(pCamera);
@ -271,7 +271,7 @@ Result ViewImpl::SetCamera(const Camera* pCamera)
}
// FUNCTION: BETA10 0x1016e870
inline Result ViewSetProjection(IDirect3DRMViewport* pViewport, ProjectionType type)
inline Tgl::Result ViewSetProjection(IDirect3DRMViewport* pViewport, ProjectionType type)
{
D3DRMPROJECTIONTYPE projectionType = Translate(type);
@ -280,7 +280,7 @@ inline Result ViewSetProjection(IDirect3DRMViewport* pViewport, ProjectionType t
// FUNCTION: LEGO1 0x100a2e70
// FUNCTION: BETA10 0x1016e810
Result ViewImpl::SetProjection(ProjectionType type)
Tgl::Result ViewImpl::SetProjection(ProjectionType type)
{
assert(m_data);
@ -288,7 +288,7 @@ Result ViewImpl::SetProjection(ProjectionType type)
}
// FUNCTION: BETA10 0x1016e920
inline Result ViewSetFrustrum(
inline Tgl::Result ViewSetFrustrum(
IDirect3DRMViewport* pViewport,
float frontClippingDistance,
float backClippingDistance,
@ -296,7 +296,7 @@ inline Result ViewSetFrustrum(
)
{
float field = frontClippingDistance * tan(DegreesToRadians(degrees / 2));
Result result;
Tgl::Result result;
result = ResultVal(pViewport->SetFront(frontClippingDistance));
if (Succeeded(result)) {
result = ResultVal(pViewport->SetBack(backClippingDistance));
@ -310,7 +310,7 @@ inline Result ViewSetFrustrum(
// FUNCTION: LEGO1 0x100a2eb0
// FUNCTION: BETA10 0x1016e8b0
Result ViewImpl::SetFrustrum(float frontClippingDistance, float backClippingDistance, float degrees)
Tgl::Result ViewImpl::SetFrustrum(float frontClippingDistance, float backClippingDistance, float degrees)
{
assert(m_data);
@ -318,9 +318,9 @@ Result ViewImpl::SetFrustrum(float frontClippingDistance, float backClippingDist
}
// FUNCTION: BETA10 0x1016ea70
inline Result ViewSetBackgroundColor(IDirect3DRMViewport* pViewport, float r, float g, float b)
inline Tgl::Result ViewSetBackgroundColor(IDirect3DRMViewport* pViewport, float r, float g, float b)
{
Result result = Success;
Tgl::Result result = Success;
ViewportAppData* pViewportAppData = reinterpret_cast<ViewportAppData*>(pViewport->GetAppData());
assert(pViewportAppData);
@ -339,7 +339,7 @@ inline Result ViewSetBackgroundColor(IDirect3DRMViewport* pViewport, float r, fl
// FUNCTION: LEGO1 0x100a2f30
// FUNCTION: BETA10 0x1016ea00
Result ViewImpl::SetBackgroundColor(float r, float g, float b)
Tgl::Result ViewImpl::SetBackgroundColor(float r, float g, float b)
{
assert(m_data);
@ -347,7 +347,7 @@ Result ViewImpl::SetBackgroundColor(float r, float g, float b)
}
// FUNCTION: BETA10 0x1016ebd0
inline Result ViewGetBackgroundColor(IDirect3DRMViewport* pViewport, float* r, float* g, float* b)
inline Tgl::Result ViewGetBackgroundColor(IDirect3DRMViewport* pViewport, float* r, float* g, float* b)
{
ViewportAppData* pViewportAppData = reinterpret_cast<ViewportAppData*>(pViewport->GetAppData());
assert(pViewportAppData);
@ -361,7 +361,7 @@ inline Result ViewGetBackgroundColor(IDirect3DRMViewport* pViewport, float* r, f
// FUNCTION: LEGO1 0x100a2f80
// FUNCTION: BETA10 0x1016eb60
Result ViewImpl::GetBackgroundColor(float* r, float* g, float* b)
Tgl::Result ViewImpl::GetBackgroundColor(float* r, float* g, float* b)
{
assert(m_data);
@ -369,14 +369,14 @@ Result ViewImpl::GetBackgroundColor(float* r, float* g, float* b)
}
// FUNCTION: BETA10 0x1016ecb0
inline Result ViewClear(IDirect3DRMViewport* pViewport)
inline Tgl::Result ViewClear(IDirect3DRMViewport* pViewport)
{
return ResultVal(pViewport->Clear());
}
// FUNCTION: LEGO1 0x100a2fb0
// FUNCTION: BETA10 0x1016ec50
Result ViewImpl::Clear()
Tgl::Result ViewImpl::Clear()
{
assert(m_data);
@ -384,7 +384,7 @@ Result ViewImpl::Clear()
}
// FUNCTION: BETA10 0x10170fb0
inline Result ViewPrepareFrameForRender(
inline Tgl::Result ViewPrepareFrameForRender(
IDirect3DRMFrame* pFrame,
IDirect3DRMFrame* pCamera,
IDirect3DRMFrame* pLightFrame,
@ -393,7 +393,7 @@ inline Result ViewPrepareFrameForRender(
float backgroundBlue
)
{
Result result = Success;
Tgl::Result result = Success;
if (pFrame) {
// set background color
@ -416,10 +416,10 @@ inline Result ViewPrepareFrameForRender(
}
// FUNCTION: BETA10 0x10170e30
inline Result ViewRender(IDirect3DRMViewport* pViewport, const IDirect3DRMFrame2* pGroup)
inline Tgl::Result ViewRender(IDirect3DRMViewport* pViewport, const IDirect3DRMFrame2* pGroup)
{
ViewportAppData* pViewportAppData;
Result result;
Tgl::Result result;
pViewportAppData = reinterpret_cast<ViewportAppData*>(pViewport->GetAppData());
assert(pViewportAppData);
@ -454,7 +454,7 @@ inline Result ViewRender(IDirect3DRMViewport* pViewport, const IDirect3DRMFrame2
}
// FUNCTION: BETA10 0x10170d90
inline Result ViewImpl::Render(const GroupImpl& rScene)
inline Tgl::Result ViewImpl::Render(const GroupImpl& rScene)
{
assert(m_data);
assert(rScene.ImplementationData());
@ -464,7 +464,7 @@ inline Result ViewImpl::Render(const GroupImpl& rScene)
// FUNCTION: LEGO1 0x100a2fd0
// FUNCTION: BETA10 0x1016ece0
Result ViewImpl::Render(const Group* pGroup)
Tgl::Result ViewImpl::Render(const Group* pGroup)
{
assert(m_data);
assert(pGroup);
@ -473,7 +473,7 @@ Result ViewImpl::Render(const Group* pGroup)
}
// FUNCTION: BETA10 0x1016edd0
inline Result ViewForceUpdate(
inline Tgl::Result ViewForceUpdate(
IDirect3DRMViewport* pViewport,
unsigned int x,
unsigned int y,
@ -486,7 +486,7 @@ inline Result ViewForceUpdate(
// FUNCTION: LEGO1 0x100a3080
// FUNCTION: BETA10 0x1016ed60
Result ViewImpl::ForceUpdate(unsigned int x, unsigned int y, unsigned int width, unsigned int height)
Tgl::Result ViewImpl::ForceUpdate(unsigned int x, unsigned int y, unsigned int width, unsigned int height)
{
assert(m_data);
@ -494,7 +494,7 @@ Result ViewImpl::ForceUpdate(unsigned int x, unsigned int y, unsigned int width,
}
// FUNCTION: BETA10 0x101710f0
inline Result ViewImpl::Pick(
inline Tgl::Result ViewImpl::Pick(
unsigned int x,
unsigned int y,
const GroupImpl** ppGroupsToPickFrom,
@ -518,7 +518,7 @@ inline Result ViewImpl::Pick(
// FUNCTION: LEGO1 0x100a30c0
// FUNCTION: BETA10 0x1016ee10
Result ViewImpl::Pick(
Tgl::Result ViewImpl::Pick(
unsigned int x,
unsigned int y,
const Group** ppGroupsToPickFrom,
@ -540,12 +540,12 @@ Result ViewImpl::Pick(
}
// FUNCTION: BETA10 0x1016eff0
inline Result ViewTransformWorldToScreen(IDirect3DRMViewport* pViewport, const float world[3], float screen[4])
inline Tgl::Result ViewTransformWorldToScreen(IDirect3DRMViewport* pViewport, const float world[3], float screen[4])
{
D3DRMVECTOR4D d3dRMScreen;
D3DVECTOR d3dRMWorld;
D3DVECTOR* pD3DRMWorld = Translate(world, d3dRMWorld);
Result result;
Tgl::Result result;
result = ResultVal(pViewport->Transform(&d3dRMScreen, pD3DRMWorld));
@ -561,7 +561,7 @@ inline Result ViewTransformWorldToScreen(IDirect3DRMViewport* pViewport, const f
// FUNCTION: LEGO1 0x100a30f0
// FUNCTION: BETA10 0x1016ef90
Result ViewImpl::TransformWorldToScreen(const float world[3], float screen[4])
Tgl::Result ViewImpl::TransformWorldToScreen(const float world[3], float screen[4])
{
assert(m_data);
@ -569,7 +569,7 @@ Result ViewImpl::TransformWorldToScreen(const float world[3], float screen[4])
}
// FUNCTION: BETA10 0x1016f0d0
inline Result ViewTransformScreenToWorld(IDirect3DRMViewport* pViewport, const float screen[4], float world[3])
inline Tgl::Result ViewTransformScreenToWorld(IDirect3DRMViewport* pViewport, const float screen[4], float world[3])
{
D3DVECTOR d3dRMWorld;
D3DRMVECTOR4D d3dScreen;
@ -577,7 +577,7 @@ inline Result ViewTransformScreenToWorld(IDirect3DRMViewport* pViewport, const f
d3dScreen.y = screen[1];
d3dScreen.z = screen[2];
d3dScreen.w = screen[3];
Result result;
Tgl::Result result;
result = ResultVal(pViewport->InverseTransform(&d3dRMWorld, &d3dScreen));
@ -592,7 +592,7 @@ inline Result ViewTransformScreenToWorld(IDirect3DRMViewport* pViewport, const f
// FUNCTION: LEGO1 0x100a3160
// FUNCTION: BETA10 0x1016f070
Result ViewImpl::TransformScreenToWorld(const float screen[4], float world[3])
Tgl::Result ViewImpl::TransformScreenToWorld(const float screen[4], float world[3])
{
assert(m_data);

View File

@ -1,5 +1,8 @@
#pragma once
#if defined(__3DS__)
#include <3ds/types.h>
#endif
#include <SDL3/SDL_video.h>
#include <limits.h>
#include <stdint.h>

View File

@ -192,6 +192,7 @@ Direct3DRMRenderer* Direct3DRMSDL3GPURenderer::Create(DWORD width, DWORD height)
)};
if (!device.ptr) {
SDL_LogError(LOG_CATEGORY_MINIWIN, "SDL_CreateGPUDevice failed (%s)", SDL_GetError());
SDL_Log("width: %d height: %d", width, height);
return nullptr;
}

View File

@ -4,6 +4,7 @@
#include "mathutils.h"
#include "meshutils.h"
#include "miniwin.h"
#include "miniwin/windows.h"
#include <SDL3/SDL.h>
#include <algorithm>
@ -67,6 +68,15 @@ void Direct3DRMSoftwareRenderer::ClearZBuffer()
_mm_empty();
}
#endif
#elif defined(__3DS__)
SDL_Log("FIXME!");
// if (SDL_HasNEON()) {
// float32x4_t inf4 = vdupq_n_f32(inf);
// for (; i + 4 <= size; i += 4) {
// vst1q_f32(&m_zBuffer[i], inf4);
// }
// }
// FIXME
#elif defined(__arm__) || defined(__aarch64__)
if (SDL_HasNEON()) {
float32x4_t inf4 = vdupq_n_f32(inf);