sead
Loading...
Searching...
No Matches
seadDecompressor.h
Go to the documentation of this file.
1#ifndef SEAD_DECOMPRESSOR_H_
2#define SEAD_DECOMPRESSOR_H_
3
4#include <container/seadTList.h>
5#include <heap/seadDisposer.h>
6#include <prim/seadSafeString.h>
7#include <resource/seadResource.h>
8#include <resource/seadResourceMgr.h>
9
10namespace sead {
11
13{
14public:
15 Decompressor(const SafeString& default_ext)
16 : TListNode<Decompressor*>(this)
19 {
20 }
21
22 ~Decompressor() override
23 {
24 if (ResourceMgr::instance() != nullptr)
26 }
27
28 virtual u8* tryDecompFromDevice(const ResourceMgr::LoadArg& arg, Resource* res, u32* out_size, u32* out_buffer_size, bool* out_need_delete) = 0;
29
30 void setExt(const SafeString& ext)
31 {
32 mExt.copy(ext);
33 }
34
35private:
37};
38#ifdef cafe
39static_assert(sizeof(Decompressor) == 0x50, "sead::Decompressor size mismatch");
40#endif // cafe
41
42} // namespace sead
43
44#endif // SEAD_DECOMPRESSOR_H_
Definition seadDecompressor.h:13
Decompressor(const SafeString &default_ext)
Definition seadDecompressor.h:15
FixedSafeString< 32 > mExt
Definition seadDecompressor.h:36
virtual u8 * tryDecompFromDevice(const ResourceMgr::LoadArg &arg, Resource *res, u32 *out_size, u32 *out_buffer_size, bool *out_need_delete)=0
void setExt(const SafeString &ext)
Definition seadDecompressor.h:30
~Decompressor() override
Definition seadDecompressor.h:22
Definition seadSafeString.h:421
friend IDisposer::IDisposer()
Definition seadDisposer.h:12
Definition seadResourceMgr.h:45
void unregisterDecompressor(Decompressor *decompressor)
Definition seadResourceMgr.cpp:60
Definition seadResource.h:15
Definition seadAssert.h:44
SafeStringBase< char > SafeString
Definition seadSafeString.h:409
Definition seadResourceMgr.h:77