mirror of
https://github.com/isledecomp/isle-portable.git
synced 2024-11-21 23:17:53 -05:00
Implement/match LegoROI::FUN_100a9dd0 (#1141)
* Implement/match LegoROI::FUN_100a9dd0 * Implement/match LegoROI::FUN_100a9cf0
This commit is contained in:
parent
86a8bad545
commit
6885abdc78
4 changed files with 30 additions and 6 deletions
|
@ -388,6 +388,13 @@ LegoBool LegoLOD::FUN_100aae20(const LegoChar* p_name)
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// FUNCTION: LEGO1 0x100aae60
|
||||||
|
// FUNCTION: BETA10 0x1018e50f
|
||||||
|
void LegoLOD::FUN_100aae60()
|
||||||
|
{
|
||||||
|
m_unk0x1c = 0;
|
||||||
|
}
|
||||||
|
|
||||||
inline BOOL GetMeshData(IDirect3DRMMesh*& mesh, D3DRMGROUPINDEX& index, Tgl::Mesh* pMesh)
|
inline BOOL GetMeshData(IDirect3DRMMesh*& mesh, D3DRMGROUPINDEX& index, Tgl::Mesh* pMesh)
|
||||||
{
|
{
|
||||||
mesh = ((TglImpl::MeshImpl*) pMesh)->ImplementationData()->groupMesh;
|
mesh = ((TglImpl::MeshImpl*) pMesh)->ImplementationData()->groupMesh;
|
||||||
|
|
|
@ -32,6 +32,7 @@ class LegoLOD : public ViewLOD {
|
||||||
LegoResult FUN_100aacb0(LegoFloat p_red, LegoFloat p_green, LegoFloat p_blue, LegoFloat p_alpha);
|
LegoResult FUN_100aacb0(LegoFloat p_red, LegoFloat p_green, LegoFloat p_blue, LegoFloat p_alpha);
|
||||||
LegoResult FUN_100aad00(LegoTextureInfo* p_textureInfo);
|
LegoResult FUN_100aad00(LegoTextureInfo* p_textureInfo);
|
||||||
LegoResult FUN_100aad70(LegoTextureInfo* p_textureInfo);
|
LegoResult FUN_100aad70(LegoTextureInfo* p_textureInfo);
|
||||||
|
void FUN_100aae60();
|
||||||
LegoResult GetTexture(LegoTextureInfo*& p_textureInfo);
|
LegoResult GetTexture(LegoTextureInfo*& p_textureInfo);
|
||||||
|
|
||||||
static LegoBool FUN_100aae20(const LegoChar* p_name);
|
static LegoBool FUN_100aae20(const LegoChar* p_name);
|
||||||
|
|
|
@ -53,6 +53,9 @@ const char* g_unk0x10101390[] = {"rcuser", "jsuser", "dunebugy", "chtrblad", "ch
|
||||||
// GLOBAL: LEGO1 0x101013ac
|
// GLOBAL: LEGO1 0x101013ac
|
||||||
ROIHandler g_unk0x101013ac = NULL;
|
ROIHandler g_unk0x101013ac = NULL;
|
||||||
|
|
||||||
|
// GLOBAL: LEGO1 0x101013b0
|
||||||
|
TextureHandler g_unk0x101013b0 = NULL;
|
||||||
|
|
||||||
// FUNCTION: LEGO1 0x100a81b0
|
// FUNCTION: LEGO1 0x100a81b0
|
||||||
void LegoROI::FUN_100a81b0(const LegoChar* p_error, const LegoChar* p_name)
|
void LegoROI::FUN_100a81b0(const LegoChar* p_error, const LegoChar* p_name)
|
||||||
{
|
{
|
||||||
|
@ -757,7 +760,7 @@ LegoBool LegoROI::FUN_100a9bf0(const LegoChar* p_param, float& p_red, float& p_g
|
||||||
|
|
||||||
if (g_unk0x101013ac) {
|
if (g_unk0x101013ac) {
|
||||||
char buf[32];
|
char buf[32];
|
||||||
if (g_unk0x101013ac(p_param, buf, 32)) {
|
if (g_unk0x101013ac(p_param, buf, sizeof(buf))) {
|
||||||
p_param = buf;
|
p_param = buf;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -782,10 +785,18 @@ LegoBool LegoROI::ColorAliasLookup(const LegoChar* p_param, float& p_red, float&
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
// STUB: LEGO1 0x100a9cf0
|
// FUNCTION: LEGO1 0x100a9cf0
|
||||||
LegoBool LegoROI::FUN_100a9cf0(const LegoChar* p_param, unsigned char* paletteEntries, LegoU32 p_numEntries)
|
LegoBool LegoROI::FUN_100a9cf0(const LegoChar* p_param, unsigned char* paletteEntries, LegoU32 p_numEntries)
|
||||||
{
|
{
|
||||||
// TODO
|
if (p_param == NULL) {
|
||||||
|
return FALSE;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (g_unk0x101013b0 != NULL) {
|
||||||
|
return g_unk0x101013b0(p_param, paletteEntries, p_numEntries);
|
||||||
|
}
|
||||||
|
|
||||||
|
paletteEntries[0] = '\0';
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -812,11 +823,15 @@ void LegoROI::SetName(const LegoChar* p_name)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// STUB: LEGO1 0x100a9dd0
|
// FUNCTION: LEGO1 0x100a9dd0
|
||||||
// STUB: BETA10 0x1018bfdb
|
// FUNCTION: BETA10 0x1018bfdb
|
||||||
void LegoROI::FUN_100a9dd0()
|
void LegoROI::FUN_100a9dd0()
|
||||||
{
|
{
|
||||||
// TODO
|
int lodCount = GetLODCount();
|
||||||
|
for (LegoS32 i = 0; i < lodCount; i++) {
|
||||||
|
LegoLOD* lod = (LegoLOD*) GetLOD(i);
|
||||||
|
lod->FUN_100aae60();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// FUNCTION: LEGO1 0x100a9e10
|
// FUNCTION: LEGO1 0x100a9e10
|
||||||
|
|
|
@ -5,6 +5,7 @@
|
||||||
#include "viewmanager/viewroi.h"
|
#include "viewmanager/viewroi.h"
|
||||||
|
|
||||||
typedef unsigned char (*ROIHandler)(const char*, char*, unsigned int);
|
typedef unsigned char (*ROIHandler)(const char*, char*, unsigned int);
|
||||||
|
typedef unsigned char (*TextureHandler)(const char*, unsigned char*, unsigned int);
|
||||||
|
|
||||||
class LegoEntity;
|
class LegoEntity;
|
||||||
class LegoTextureContainer;
|
class LegoTextureContainer;
|
||||||
|
|
Loading…
Reference in a new issue