1#ifndef SEAD_SZS_DECOMPRESSOR_H_
2#define SEAD_SZS_DECOMPRESSOR_H_
4#include <resource/seadDecompressor.h>
5#include <resource/seadResource.h>
6#include <resource/seadResourceMgr.h>
38 static_assert(
sizeof(
DecompContext) == 0x18,
"sead::SZSDecompressor::DecompContext size mismatch");
55 static s32 decomp(
void* dst, u32 dst_size,
const void* src, u32 src_size);
61static_assert(
sizeof(
SZSDecompressor) == 0x58,
"sead::SZSDecompressor size mismatch");
Definition seadDecompressor.h:13
Definition seadResourceMgr.h:45
Definition seadResource.h:15
Definition seadSZSDecompressor.h:11
Step
Definition seadSZSDecompressor.h:14
@ cStepLong
Definition seadSZSDecompressor.h:17
@ cStepShort
Definition seadSZSDecompressor.h:16
@ cStepNormal
Definition seadSZSDecompressor.h:15
SZSDecompressor(u32 work_size, u8 *work_buffer)
Definition seadSZSDecompressor.cpp:148
u8 * tryDecompFromDevice(const ResourceMgr::LoadArg &arg, Resource *res, u32 *out_size, u32 *out_buffer_size, bool *out_need_delete) override
Definition seadSZSDecompressor.cpp:169
u32 mWorkSize
Definition seadSZSDecompressor.h:57
u8 * mWorkBuffer
Definition seadSZSDecompressor.h:58
void setWorkSize(u32 work_size)
Definition seadSZSDecompressor.cpp:335
static u32 getHeaderSize()
Definition seadSZSDecompressor.h:47
~SZSDecompressor() override
Definition seadSZSDecompressor.h:43
static s32 readHeader_(DecompContext *context, const u8 *srcp, u32 src_size)
Definition seadSZSDecompressor.cpp:359
static u32 getDecompSize(const void *header)
Definition seadSZSDecompressor.cpp:353
static s32 decomp(void *dst, u32 dst_size, const void *src, u32 src_size)
Definition seadSZSDecompressor.cpp:519
static s32 streamDecomp(DecompContext *context, const void *src, u32 len)
Definition seadSZSDecompressor.cpp:404
static u32 getDecompAlignment(const void *header)
Definition seadSZSDecompressor.cpp:347
Definition seadAssert.h:44
Definition seadResourceMgr.h:77
Definition seadSZSDecompressor.h:21
void initialize(void *dst)
Definition seadSZSDecompressor.cpp:135
DecompContext()
Definition seadSZSDecompressor.cpp:123
u8 flags
Definition seadSZSDecompressor.h:31
DecompContext(void *dst)
Definition seadSZSDecompressor.cpp:128
Step step
Definition seadSZSDecompressor.h:33
u8 packHigh
Definition seadSZSDecompressor.h:32
u8 headerSize
Definition seadSZSDecompressor.h:35
s32 destCount
Definition seadSZSDecompressor.h:28
u8 flagMask
Definition seadSZSDecompressor.h:30
u16 lzOffset
Definition seadSZSDecompressor.h:34
s32 forceDestCount
Definition seadSZSDecompressor.h:29
u8 * destp
Definition seadSZSDecompressor.h:27