mirror of
https://github.com/isledecomp/isle.git
synced 2026-01-28 18:51:16 +00:00
Add names from Smacker SDK
This commit is contained in:
parent
f3e184b486
commit
12cd76a4f8
@ -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;
|
||||
|
||||
@ -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
|
||||
|
||||
Loading…
Reference in New Issue
Block a user