sead
Loading...
Searching...
No Matches
sead::SZSDecompressor Class Reference

#include <seadSZSDecompressor.h>

Inherits sead::Decompressor.

Classes

struct  DecompContext

Public Types

enum  Step { cStepNormal = 0 , cStepShort = 1 , cStepLong = 2 }

Public Member Functions

 SZSDecompressor (u32 work_size, u8 *work_buffer)
 ~SZSDecompressor () override
u8 * tryDecompFromDevice (const ResourceMgr::LoadArg &arg, Resource *res, u32 *out_size, u32 *out_buffer_size, bool *out_need_delete) override
void setWorkSize (u32 work_size)
Public Member Functions inherited from sead::Decompressor
 Decompressor (const SafeString &default_ext)
 ~Decompressor () override
void setExt (const SafeString &ext)
Public Member Functions inherited from sead::TListNode< Decompressor * >
 TListNode ()
void insertBack (TListNode< Decompressor * > *n)
void insertFront (TListNode< Decompressor * > *n)
void erase ()
Public Member Functions inherited from sead::ListNode
 ListNode ()
ListNodenext () const
ListNodeprev () const
bool isLinked () const
Public Member Functions inherited from sead::IDisposer
 IDisposer ()
virtual ~IDisposer ()

Static Public Member Functions

static u32 getHeaderSize ()

Static Private Member Functions

static u32 getDecompAlignment (const void *header)
static u32 getDecompSize (const void *header)
static s32 readHeader_ (DecompContext *context, const u8 *srcp, u32 src_size)
static s32 streamDecomp (DecompContext *context, const void *src, u32 len)
static s32 decomp (void *dst, u32 dst_size, const void *src, u32 src_size)

Private Attributes

u32 mWorkSize
u8 * mWorkBuffer

Additional Inherited Members

Public Attributes inherited from sead::TListNode< Decompressor * >
DecompressormData
TList< Decompressor * > * mList

Member Enumeration Documentation

◆ Step

Enumerator
cStepNormal 
cStepShort 
cStepLong 

Constructor & Destructor Documentation

◆ SZSDecompressor()

sead::SZSDecompressor::SZSDecompressor ( u32 work_size,
u8 * work_buffer )

◆ ~SZSDecompressor()

sead::SZSDecompressor::~SZSDecompressor ( )
inlineoverride

Member Function Documentation

◆ tryDecompFromDevice()

u8 * sead::SZSDecompressor::tryDecompFromDevice ( const ResourceMgr::LoadArg & arg,
Resource * res,
u32 * out_size,
u32 * out_buffer_size,
bool * out_need_delete )
overridevirtual

Implements sead::Decompressor.

◆ getHeaderSize()

u32 sead::SZSDecompressor::getHeaderSize ( )
inlinestatic

◆ setWorkSize()

void sead::SZSDecompressor::setWorkSize ( u32 work_size)

◆ getDecompAlignment()

u32 sead::SZSDecompressor::getDecompAlignment ( const void * header)
staticprivate

◆ getDecompSize()

u32 sead::SZSDecompressor::getDecompSize ( const void * header)
staticprivate

◆ readHeader_()

s32 sead::SZSDecompressor::readHeader_ ( DecompContext * context,
const u8 * srcp,
u32 src_size )
staticprivate

◆ streamDecomp()

s32 sead::SZSDecompressor::streamDecomp ( DecompContext * context,
const void * src,
u32 len )
staticprivate

◆ decomp()

s32 sead::SZSDecompressor::decomp ( void * dst,
u32 dst_size,
const void * src,
u32 src_size )
staticprivate

Member Data Documentation

◆ mWorkSize

u32 sead::SZSDecompressor::mWorkSize
private

◆ mWorkBuffer

u8* sead::SZSDecompressor::mWorkBuffer
private