3#include <game/framework/f_list_mg_ptmf.hpp>
4#include <game/framework/f_list_mg.hpp>
5#include <game/framework/f_list_nd.hpp>
6#include <game/framework/f_list_nd_prio.hpp>
7#include <game/framework/f_tree_mg_ptmf.hpp>
8#include <game/framework/f_tree_nd.hpp>
11#define GET_PROC_FLAG(proc) BIT_FLAG((proc)-1)
75 NONE, CONNECT, CREATE, EXECUTE, DELETE, DRAW
80 PROC_FLAG_NONE = GET_PROC_FLAG(NONE),
81 PROC_FLAG_CONNECT = GET_PROC_FLAG(CONNECT),
82 PROC_FLAG_CREATE = GET_PROC_FLAG(CREATE),
83 PROC_FLAG_EXECUTE = GET_PROC_FLAG(EXECUTE),
84 PROC_FLAG_DELETE = GET_PROC_FLAG(DELETE),
85 PROC_FLAG_DRAW = GET_PROC_FLAG(DRAW)
The base class for all scenes, actors and various other processes.
A base list, made of fLiNdBa_c nodes.
A base list made of fLiNdPrio_c nodes, with a reference to a process function.
A base list node, with priority fields for reordering.
Manages the execution of base operations.
static fLiMgPTMF_c m_drawManage
A list of all the bases scheduled for drawing.
static fTrMgPTMF_c m_connectManage
A tree that connects all loaded bases.
static fLiMgBa_c m_searchManage[8]
An array of lists used for base lookup.
static LOOP_PROC_e m_nowLoopProc
The current operation being globally executed. See mainLoop.
static fBase_c * searchBaseByGroupType(unsigned char groupType, const fBase_c *parent)
Searches for a base with a given group type, optionally under a given parent.
LOOP_PROC_e
The operation types.
PROC_FLAGS_e
The operation disable flags, induced from LOOP_PROC_e.
static fLiMgPTMF_c m_executeManage
A list of all the bases scheduled for execution.
static u32 m_StopProcInf
[Unused]. The operations which should be globally skipped this frame.
int getSearchTableNum()
Gets the index of the search list the owning base was added to. See m_searchManage.
static fLiMgPTMF_c m_deleteManage
A list of all the bases scheduled for deletion.
fLiNdPrio_c mDrawNode
The node in the draw list.
static void mainLoop()
Executes the currently enabled operations on all the bases in the respective lists.
fTrNdBa_c mConnectNode
The node in the connect tree.
static fLiMgPTMF_c m_createManage
A list of all the bases scheduled for creation.
fLiNdBa_c mSearchNode
The node in the search lists.
fLiNdPrio_c mMainNode
The node in the create, execute or delete list.
static fBase_c * searchBaseByID(fBaseID_e id)
Searches for a base with the given ID.
static fBase_c * searchBaseByProfName(ProfileName profID, const fBase_c *parent)
Searches for a base with a given profile name, optionally under a given parent.
fManager_c(fBase_c *owner)
Constructs a new manager.
A base tree made of fTrNdBa_c nodes, with a reference to a process function.
fBaseID_e
A unique identifier for each base.
u16 ProfileName
The name of a profile. Value is a fProfile::PROFILE_NAME_e.