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

#include <seadSharcArchiveRes.h>

Inherits sead::ArchiveRes.

Classes

struct  ArchiveBlockHeader
struct  FATBlockHeader
struct  FATEntry
struct  FNTBlockHeader

Public Member Functions

 SharcArchiveRes ()
virtual ~SharcArchiveRes ()
Public Member Functions inherited from sead::ArchiveRes
 ArchiveRes ()
 ~ArchiveRes () override
u32 getLoadDataAlignment () override
ResourcePtr load (ResourceMgr::LoadArg &arg)
u8 * getFile (const SafeString &file_path, FileInfo *file_info=nullptr)
u8 * getFileFast (s32 entry_id, FileInfo *file_info=nullptr)
s32 convertPathToEntryID (const SafeString &file_path)
bool setCurrentDirectory (const SafeString &file_path)
bool openDirectory (HandleBuffer *handle_buffer, const SafeString &dir_path)
bool closeDirectory (HandleBuffer *handle_buffer)
u32 readDirectory (HandleBuffer *handle_buffer, DirectoryEntry *entry, u32 num)
Public Member Functions inherited from sead::DirectResource
 DirectResource ()
 ~DirectResource () override
void create (u8 *data, u32 size, u32 buffer_size, bool need_delete, Heap *instance_heap)
u8 * getData () const
u32 getSize () const
Public Member Functions inherited from sead::Resource
 Resource ()
virtual ~Resource ()
Public Member Functions inherited from sead::TListNode< Resource * >
 TListNode ()
void insertBack (TListNode< Resource * > *n)
void insertFront (TListNode< Resource * > *n)
void erase ()
Public Member Functions inherited from sead::ListNode
 ListNode ()
ListNodenext () const
ListNodeprev () const
bool isLinked () const

Static Public Attributes

static const u32 cArchiveVersion = 0x100
static const u32 cArchiveEntryMax = 0x3fff
static const u32 cFileNameTableAlign = 4

Protected Member Functions

void * getFileImpl_ (const SafeString &file_path, FileInfo *file_info) override
void * getFileFastImpl_ (s32 entry_id, FileInfo *file_info) override
s32 convertPathToEntryIDImpl_ (const SafeString &file_path) override
bool setCurrentDirectoryImpl_ (const SafeString &file_path) override
bool openDirectoryImpl_ (HandleBuffer *handle_buffer, const SafeString &dir_path) override
bool closeDirectoryImpl_ (HandleBuffer *handle_buffer) override
u32 readDirectoryImpl_ (HandleBuffer *handle_buffer, DirectoryEntry *entry, u32 num) override
bool prepareArchive_ (const void *archive) override
Protected Member Functions inherited from sead::ArchiveRes
void doCreate_ (u8 *buf, u32, Heap *) override
void setFileInfo (FileInfo *file_info, u32 start_offset, u32 length)
Protected Member Functions inherited from sead::Resource
virtual void doPostCreate_ ()

Protected Attributes

const ArchiveBlockHeadermArchiveBlockHeader
const FATBlockHeadermFATBlockHeader
const char * mFNTBlock
Buffer< const FATEntrymFATEntrys
const u8 * mDataBlock
Endian::Types mEndianType
Protected Attributes inherited from sead::ArchiveRes
bool mEnable
Protected Attributes inherited from sead::DirectResource
u8 * mRawData
u32 mRawSize
u32 mBufferSize
BitFlag32 mSettingFlag

Additional Inherited Members

Public Attributes inherited from sead::TListNode< Resource * >
ResourcemData
TList< Resource * > * mList

Constructor & Destructor Documentation

◆ SharcArchiveRes()

sead::SharcArchiveRes::SharcArchiveRes ( )

◆ ~SharcArchiveRes()

sead::SharcArchiveRes::~SharcArchiveRes ( )
virtual

Member Function Documentation

◆ getFileImpl_()

void * sead::SharcArchiveRes::getFileImpl_ ( const SafeString & file_path,
FileInfo * file_info )
overrideprotectedvirtual

Implements sead::ArchiveRes.

◆ getFileFastImpl_()

void * sead::SharcArchiveRes::getFileFastImpl_ ( s32 entry_id,
FileInfo * file_info )
overrideprotectedvirtual

Implements sead::ArchiveRes.

◆ convertPathToEntryIDImpl_()

s32 sead::SharcArchiveRes::convertPathToEntryIDImpl_ ( const SafeString & file_path)
overrideprotectedvirtual

Implements sead::ArchiveRes.

◆ setCurrentDirectoryImpl_()

bool sead::SharcArchiveRes::setCurrentDirectoryImpl_ ( const SafeString & file_path)
overrideprotectedvirtual

Implements sead::ArchiveRes.

◆ openDirectoryImpl_()

bool sead::SharcArchiveRes::openDirectoryImpl_ ( HandleBuffer * handle_buffer,
const SafeString & dir_path )
overrideprotectedvirtual

Implements sead::ArchiveRes.

◆ closeDirectoryImpl_()

bool sead::SharcArchiveRes::closeDirectoryImpl_ ( HandleBuffer * handle_buffer)
overrideprotectedvirtual

Implements sead::ArchiveRes.

◆ readDirectoryImpl_()

u32 sead::SharcArchiveRes::readDirectoryImpl_ ( HandleBuffer * handle_buffer,
DirectoryEntry * entry,
u32 num )
overrideprotectedvirtual

Implements sead::ArchiveRes.

◆ prepareArchive_()

bool sead::SharcArchiveRes::prepareArchive_ ( const void * archive)
overrideprotectedvirtual

Implements sead::ArchiveRes.

Member Data Documentation

◆ cArchiveVersion

const u32 sead::SharcArchiveRes::cArchiveVersion = 0x100
static

◆ cArchiveEntryMax

const u32 sead::SharcArchiveRes::cArchiveEntryMax = 0x3fff
static

◆ cFileNameTableAlign

const u32 sead::SharcArchiveRes::cFileNameTableAlign = 4
static

◆ mArchiveBlockHeader

const ArchiveBlockHeader* sead::SharcArchiveRes::mArchiveBlockHeader
protected

◆ mFATBlockHeader

const FATBlockHeader* sead::SharcArchiveRes::mFATBlockHeader
protected

◆ mFNTBlock

const char* sead::SharcArchiveRes::mFNTBlock
protected

◆ mFATEntrys

Buffer<const FATEntry> sead::SharcArchiveRes::mFATEntrys
protected

◆ mDataBlock

const u8* sead::SharcArchiveRes::mDataBlock
protected

◆ mEndianType

Endian::Types sead::SharcArchiveRes::mEndianType
protected