Executable: Difference between revisions
→Initialisation
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 | * '''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 | *** sead::TaskBase::CreateArg::CreateArg | ||
** sead::TaskBase::CreateArg::CreateArg | *** sead::Framework::RunArg::RunArg | ||
** sead::Framework::RunArg::RunArg | *** '''framework->run''' | ||
** framework->run | **** Constructs a sead::MethodTreeMgr | ||
**** Constructs a sead::TaskMgr | |||
* | **** '''framework->runImpl_''' | ||
** Constructs a sead::MethodTreeMgr | ***** framework->waitStartDisplayLoop_ | ||
** Constructs a sead::TaskMgr | ***** '''framework->mainLoop''' | ||
** framework->runImpl_ | ****** framework->procFrame | ||
******* framework->procCalc | |||
* | ******* framework->present | ||
** framework->procCalc | ******* framework->procReset | ||
** framework->present | ******* framework->waitForGpuDone | ||
** framework->procReset | ****** framework->setVBlankWaitInterval | ||
** framework->waitForGpuDone | |||
== Internal version == | == Internal version == |