NSMBW-Decomp
A decompilation of New Super Mario Bros. Wii
Loading...
Searching...
No Matches
dDyl Namespace Reference

Description

Serves as the bridge between the game's profile system and the dynamic module linking system.

Functions

bool Init (int profileCount, const sDynNameTableEntry *pNameTable, int nNameTable, EGG::Heap *heap)
 First initialization step of the dynamic module system.
void InitAsync ()
 Initializes the dynamic module system.
bool InitAsyncIsDone ()
 Checks whether initialization has completed.
int LinkASync (ProfileName profile)
 Links the module associated with the given profile.
bool Unlink (ProfileName profile)
 Unlinks the module associated with the given profile.

Variables

DynamicModuleControlBase ** pDMC
 A table that keeps track of which module is associated with each profile.
int nDMC
 The number of entries in pDMC.
EGG::FrmHeap * cCc_frmHeap
 The heap to be used for allocating the module handlers and the profile to module table.
BOOL Initialized
 Whether the dynamic module system has finished initializing.
mDvd_callback_cDVD
 The asynchronous DVD task used during the dynamic module system initialization.

Function Documentation

◆ Init()

bool dDyl::Init ( int profileCount,
const sDynNameTableEntry * pNameTable,
int nNameTable,
EGG::Heap * heap )

First initialization step of the dynamic module system.

Creates the necessary data structures and maps the profiles to the corresponding modules using the provided name table.

Parameters
profileCountThe total number of profiles.
pNameTableThe profile to module name table.
nNameTableThe number of entries in pNameTable.
heapThe heap to be used for allocations.
Returns
Always returns true .

Definition at line 24 of file d_dylink.cpp.

◆ InitAsync()

void dDyl::InitAsync ( )

Initializes the dynamic module system.

The initialization occurs in two steps:

Definition at line 106 of file d_dylink.cpp.

◆ InitAsyncIsDone()

bool dDyl::InitAsyncIsDone ( )

Checks whether initialization has completed.

Returns
true if initialization is complete, else false .

Definition at line 111 of file d_dylink.cpp.

◆ LinkASync()

int dDyl::LinkASync ( ProfileName profile)

Links the module associated with the given profile.

Decompilation Note
The original implementation has been stripped from the final binary. The reconstructed code has been added inside a never-executing block.
Parameters
profileThe profile whose module needs to be linked.
Returns
Non-zero on success, else zero.

Definition at line 73 of file d_dylink.cpp.

◆ Unlink()

bool dDyl::Unlink ( ProfileName profile)

Unlinks the module associated with the given profile.

Decompilation Note
The original implementation has been stripped from the final binary. The reconstructed code has been added inside a never-executing block.
Parameters
profileThe profile whose module needs to be unlinked.
Returns
true on success, else false .

Definition at line 62 of file d_dylink.cpp.

Variable Documentation

◆ pDMC

DynamicModuleControlBase ** dDyl::pDMC
extern

A table that keeps track of which module is associated with each profile.

Definition at line 18 of file d_dylink.cpp.

◆ nDMC

int dDyl::nDMC
extern

The number of entries in pDMC.

Definition at line 19 of file d_dylink.cpp.

◆ cCc_frmHeap

EGG::FrmHeap * dDyl::cCc_frmHeap
extern

The heap to be used for allocating the module handlers and the profile to module table.

Definition at line 20 of file d_dylink.cpp.

◆ Initialized

BOOL dDyl::Initialized
extern

Whether the dynamic module system has finished initializing.

Definition at line 21 of file d_dylink.cpp.

◆ DVD

mDvd_callback_c * dDyl::DVD
extern

The asynchronous DVD task used during the dynamic module system initialization.

Definition at line 22 of file d_dylink.cpp.