Add names from Smacker SDK

This commit is contained in:
Christian Semmler 2023-12-19 07:45:58 -05:00
parent f3e184b486
commit 12cd76a4f8
2 changed files with 13 additions and 11 deletions

View File

@ -69,13 +69,13 @@ MxResult MxSmack::LoadHeaderAndTrees(MxU8* p_data, MxSmack* p_mxSmack)
p_mxSmack->m_huffmanTables = new MxU8
[HEADER(p_mxSmack).m_codeSize + HEADER(p_mxSmack).m_abSize + HEADER(p_mxSmack).m_detailSize +
HEADER(p_mxSmack).m_typeSize + FUN_100cd782()];
HEADER(p_mxSmack).m_typeSize + SmackGetSizeTables()];
if (!p_mxSmack->m_huffmanTables) {
result = FAILURE;
}
else {
DecodeHuffmanTrees(
SmackDoTables(
huffmanTrees,
p_mxSmack->m_huffmanTables,
HEADER(p_mxSmack).m_codeSize,
@ -84,7 +84,7 @@ MxResult MxSmack::LoadHeaderAndTrees(MxU8* p_data, MxSmack* p_mxSmack)
HEADER(p_mxSmack).m_typeSize
);
MxU32 size = FUN_100d052c(HEADER(p_mxSmack).m_width, HEADER(p_mxSmack).m_height) + 32;
MxU32 size = SmackGetSizeDeltas(HEADER(p_mxSmack).m_width, HEADER(p_mxSmack).m_height) + 32;
p_mxSmack->m_unk0x6b4 = new MxU8[size];
memset(p_mxSmack->m_unk0x6b4, 0, size);
@ -142,14 +142,16 @@ void MxSmack::Destroy(MxSmack* p_mxSmack)
delete[] p_mxSmack->m_unk0x6b4;
}
// Part of the Smacker SDK
// FUNCTION: LEGO1 0x100cd782
MxU32 MxSmack::FUN_100cd782()
MxU32 MxSmack::SmackGetSizeTables()
{
return 29800;
}
// STUB: LEGO1 0x100cd7e8
void MxSmack::DecodeHuffmanTrees(
void MxSmack::SmackDoTables(
MxU8* p_huffmanTrees,
MxU8* p_huffmanTables,
MxULong p_codeSize,
@ -162,7 +164,7 @@ void MxSmack::DecodeHuffmanTrees(
}
// STUB: LEGO1 0x100d052c
MxULong MxSmack::FUN_100d052c(MxULong p_width, MxULong p_height)
MxULong MxSmack::SmackGetSizeDeltas(MxULong p_width, MxULong p_height)
{
// TODO
return 0;

View File

@ -6,8 +6,6 @@
#include <smk.h>
// This might all be part of the RAD Game Tools Smacker SDK since it looks like C-style code
// SIZE 0x6b8
struct MxSmack {
Smack m_smack; // 0x00
@ -21,8 +19,10 @@ struct MxSmack {
static MxResult LoadHeaderAndTrees(MxU8* p_data, MxSmack* p_mxSmack);
static void Destroy(MxSmack* p_mxSmack);
static MxU32 FUN_100cd782();
static void DecodeHuffmanTrees(
// Part of the Smacker SDK
static MxU32 SmackGetSizeTables();
static void SmackDoTables(
MxU8* p_huffmanTrees,
MxU8* p_huffmanTables,
MxULong p_codeSize,
@ -30,7 +30,7 @@ struct MxSmack {
MxULong p_detailSize,
MxULong p_typeSize
);
static MxULong FUN_100d052c(MxULong p_width, MxULong p_height);
static MxULong SmackGetSizeDeltas(MxULong p_width, MxULong p_height);
};
#endif // MXSMACK_H