Executable: Difference between revisions

imported>Leoetlino
imported>Leoetlino
Line 23: Line 23:
However, the game uses lots of [[Software libraries|software libraries]], some of which are included in games that do ship with complete symbols such as ''Super Mario Odyssey''. BotW seems to have been compiled at a higher optimisation level that causes unused functions to be fully removed.
However, the game uses lots of [[Software libraries|software libraries]], some of which are included in games that do ship with complete symbols such as ''Super Mario Odyssey''. BotW seems to have been compiled at a higher optimisation level that causes unused functions to be fully removed.


== Initialisation ==
== Initialisation and main loop outline ==
* main (first half of nnMain)
* '''main'''
** nn::oe::Initialize
** nn::oe::Initialize
** sead::GameFrameworkNx::initialize (implicitly calls nn::oe::Initialize again; this looks like a mistake from the Zelda developers)
** sead::GameFrameworkNx::initialize (implicitly calls nn::oe::Initialize again; this looks like a mistake from the Zelda developers)
Line 40: Line 40:
** [Debug] sead::DebugFontMgrNvn
** [Debug] sead::DebugFontMgrNvn
** [Debug] sead::DebugFontMgrJis1Nvn
** [Debug] sead::DebugFontMgrJis1Nvn
 
** '''RootTask'''
* RootTask launching (second half of nnMain)
*** sead::TaskBase::CreateArg::CreateArg
** sead::TaskBase::CreateArg::CreateArg
*** sead::Framework::RunArg::RunArg
** sead::Framework::RunArg::RunArg
*** '''framework->run'''
** framework->run(taskCreateArg)
**** Constructs a sead::MethodTreeMgr
 
**** Constructs a sead::TaskMgr
* sead::Framework::run
**** '''framework->runImpl_'''
** Constructs a sead::MethodTreeMgr
***** framework->waitStartDisplayLoop_
** Constructs a sead::TaskMgr
***** '''framework->mainLoop'''
** framework->runImpl_
****** framework->procFrame
 
******* framework->procCalc
* sead::Framework::runImpl_
******* framework->present
** framework->procCalc
******* framework->procReset
** framework->present
******* framework->waitForGpuDone
** framework->procReset
****** framework->setVBlankWaitInterval
** framework->waitForGpuDone


== Internal version ==
== Internal version ==
Anonymous user