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
|
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_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) {
|
if (!p_mxSmack->m_huffmanTables) {
|
||||||
result = FAILURE;
|
result = FAILURE;
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
DecodeHuffmanTrees(
|
SmackDoTables(
|
||||||
huffmanTrees,
|
huffmanTrees,
|
||||||
p_mxSmack->m_huffmanTables,
|
p_mxSmack->m_huffmanTables,
|
||||||
HEADER(p_mxSmack).m_codeSize,
|
HEADER(p_mxSmack).m_codeSize,
|
||||||
@ -84,7 +84,7 @@ MxResult MxSmack::LoadHeaderAndTrees(MxU8* p_data, MxSmack* p_mxSmack)
|
|||||||
HEADER(p_mxSmack).m_typeSize
|
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];
|
p_mxSmack->m_unk0x6b4 = new MxU8[size];
|
||||||
memset(p_mxSmack->m_unk0x6b4, 0, size);
|
memset(p_mxSmack->m_unk0x6b4, 0, size);
|
||||||
|
|
||||||
@ -142,14 +142,16 @@ void MxSmack::Destroy(MxSmack* p_mxSmack)
|
|||||||
delete[] p_mxSmack->m_unk0x6b4;
|
delete[] p_mxSmack->m_unk0x6b4;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Part of the Smacker SDK
|
||||||
|
|
||||||
// FUNCTION: LEGO1 0x100cd782
|
// FUNCTION: LEGO1 0x100cd782
|
||||||
MxU32 MxSmack::FUN_100cd782()
|
MxU32 MxSmack::SmackGetSizeTables()
|
||||||
{
|
{
|
||||||
return 29800;
|
return 29800;
|
||||||
}
|
}
|
||||||
|
|
||||||
// STUB: LEGO1 0x100cd7e8
|
// STUB: LEGO1 0x100cd7e8
|
||||||
void MxSmack::DecodeHuffmanTrees(
|
void MxSmack::SmackDoTables(
|
||||||
MxU8* p_huffmanTrees,
|
MxU8* p_huffmanTrees,
|
||||||
MxU8* p_huffmanTables,
|
MxU8* p_huffmanTables,
|
||||||
MxULong p_codeSize,
|
MxULong p_codeSize,
|
||||||
@ -162,7 +164,7 @@ void MxSmack::DecodeHuffmanTrees(
|
|||||||
}
|
}
|
||||||
|
|
||||||
// STUB: LEGO1 0x100d052c
|
// STUB: LEGO1 0x100d052c
|
||||||
MxULong MxSmack::FUN_100d052c(MxULong p_width, MxULong p_height)
|
MxULong MxSmack::SmackGetSizeDeltas(MxULong p_width, MxULong p_height)
|
||||||
{
|
{
|
||||||
// TODO
|
// TODO
|
||||||
return 0;
|
return 0;
|
||||||
|
|||||||
@ -6,8 +6,6 @@
|
|||||||
|
|
||||||
#include <smk.h>
|
#include <smk.h>
|
||||||
|
|
||||||
// This might all be part of the RAD Game Tools Smacker SDK since it looks like C-style code
|
|
||||||
|
|
||||||
// SIZE 0x6b8
|
// SIZE 0x6b8
|
||||||
struct MxSmack {
|
struct MxSmack {
|
||||||
Smack m_smack; // 0x00
|
Smack m_smack; // 0x00
|
||||||
@ -21,8 +19,10 @@ struct MxSmack {
|
|||||||
|
|
||||||
static MxResult LoadHeaderAndTrees(MxU8* p_data, MxSmack* p_mxSmack);
|
static MxResult LoadHeaderAndTrees(MxU8* p_data, MxSmack* p_mxSmack);
|
||||||
static void Destroy(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_huffmanTrees,
|
||||||
MxU8* p_huffmanTables,
|
MxU8* p_huffmanTables,
|
||||||
MxULong p_codeSize,
|
MxULong p_codeSize,
|
||||||
@ -30,7 +30,7 @@ struct MxSmack {
|
|||||||
MxULong p_detailSize,
|
MxULong p_detailSize,
|
||||||
MxULong p_typeSize
|
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
|
#endif // MXSMACK_H
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user