Loading [MathJax]/extensions/tex2jax.js
A reimplementation of Mario Kart Wii's physics engine in C++
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Pages Concepts
System::ResourceManager Class Reference0x809BD738

#include <ResourceManager.hh>

Description

Highest level abstraction for archive management and subsequent file retrieval.

ResourceManager is responsible for loading and unloading archives. For example, it is used by Field::CourseColMgr to load the KCL collision file from a particular course archive.

Definition at line 16 of file ResourceManager.hh.

Inheritance diagram for System::ResourceManager:

Public Member Functions

void * getFile (const char *filename, size_t *size, ArchiveId id)
 
void * getBsp (Vehicle vehicle, size_t *size)
 
MultiDvdArchiveload (Course courseId)
 
MultiDvdArchiveload (s32 idx, const char *filename)
 
void unmount (MultiDvdArchive *archive)
 

Static Public Member Functions

static const char * GetVehicleName (Vehicle vehicle)
 
static ResourceManagerCreateInstance ()
 
static void DestroyInstance ()
 
static ResourceManagerInstance ()
 

Static Private Member Functions

static MultiDvdArchiveCreate (u8 i)
 
- Static Private Member Functions inherited from EGG::Disposer
static constexpr u16 getLinkOffset ()
 

Private Attributes

MultiDvdArchive ** m_archives
 

Static Private Attributes

static ResourceManagers_instance = nullptr
 

Constructor & Destructor Documentation

◆ ResourceManager()

System::ResourceManager::ResourceManager ( )
private0x8053FCEC

Definition at line 75 of file ResourceManager.cc.

Member Function Documentation

◆ ~ResourceManager()

System::ResourceManager::~ResourceManager ( )
overrideprivate0x8053FF1C

Definition at line 83 of file ResourceManager.cc.

◆ Create()

MultiDvdArchive * System::ResourceManager::Create ( u8 i)
staticnodiscardprivateInlined in 0x8053FCEC

Definition at line 91 of file ResourceManager.cc.

◆ CreateInstance()

ResourceManager * System::ResourceManager::CreateInstance ( )
static0x8053FC4C

Definition at line 60 of file ResourceManager.cc.

◆ DestroyInstance()

void System::ResourceManager::DestroyInstance ( )
static0x8053FC9C

Definition at line 67 of file ResourceManager.cc.

◆ getBsp()

void * System::ResourceManager::getBsp ( Vehicle vehicle,
size_t * size )
0x805414A8

Definition at line 21 of file ResourceManager.cc.

◆ getFile()

void * System::ResourceManager::getFile ( const char * filename,
size_t * size,
ArchiveId id )
0x805411FC

Definition at line 15 of file ResourceManager.cc.

◆ GetVehicleName()

static const char * System::ResourceManager::GetVehicleName ( Vehicle vehicle)
inlinestaticnodiscard0x805419EC

Definition at line 25 of file ResourceManager.hh.

◆ Instance()

static ResourceManager * System::ResourceManager::Instance ( )
inlinestaticnodiscard

Definition at line 32 of file ResourceManager.hh.

◆ load() [1/2]

MultiDvdArchive * System::ResourceManager::load ( Course courseId)
nodiscard0x80540760

Definition at line 47 of file ResourceManager.cc.

◆ load() [2/2]

MultiDvdArchive * System::ResourceManager::load ( s32 idx,
const char * filename )
nodiscard0x80540450

Definition at line 31 of file ResourceManager.cc.

◆ unmount()

void System::ResourceManager::unmount ( MultiDvdArchive * archive)
0x805411E4

Definition at line 55 of file ResourceManager.cc.

Member Data Documentation

◆ m_archives

MultiDvdArchive** System::ResourceManager::m_archives
private

Definition at line 42 of file ResourceManager.hh.

◆ s_instance

ResourceManager * System::ResourceManager::s_instance = nullptr
staticprivate0x809BD738

Definition at line 45 of file ResourceManager.hh.