mirror of
https://github.com/isledecomp/isle.git
synced 2026-01-28 18:51:16 +00:00
37 lines
923 B
C
37 lines
923 B
C
#ifndef MXSMACK_H
|
|
#define MXSMACK_H
|
|
|
|
#include "decomp.h"
|
|
#include "mxtypes.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
|
|
struct MxSmack {
|
|
Smack m_smack; // 0x00
|
|
undefined m_unk0x3f4[784]; // 0x390
|
|
MxU32* m_frameSizes; // 0x6a0
|
|
MxU8* m_frameTypes; // 0x6a4
|
|
MxU8* m_huffmanTrees; // 0x6a8
|
|
MxU8* m_huffmanTables; // 0x6ac
|
|
MxU32 m_maxFrameSize; // 0x6b0
|
|
MxU8* m_unk0x6b4; // 0x6b4
|
|
|
|
static MxResult LoadHeaderAndTrees(MxU8* p_data, MxSmack* p_mxSmack);
|
|
static void Destroy(MxSmack* p_mxSmack);
|
|
static MxU32 FUN_100cd782();
|
|
static void DecodeHuffmanTrees(
|
|
MxU8* p_huffmanTrees,
|
|
MxU8* p_huffmanTables,
|
|
MxULong p_codeSize,
|
|
MxULong p_abSize,
|
|
MxULong p_detailSize,
|
|
MxULong p_typeSize
|
|
);
|
|
static MxULong FUN_100d052c(MxULong p_width, MxULong p_height);
|
|
};
|
|
|
|
#endif // MXSMACK_H
|