Executable: Difference between revisions
Jump to navigation
Jump to search
→Leftover debug or development tools: Placement
imported>Leoetlino No edit summary |
imported>Leoetlino (→Leftover debug or development tools: Placement) |
||
(6 intermediate revisions by the same user not shown) | |||
Line 19: | Line 19: | ||
== Symbols == | == Symbols == | ||
Unfortunately, release versions of ''The Legend of Zelda: Breath of the Wild'' are stripped and have absolutely no debugging symbols. This has been verified for Switch 1.0.0, Wii U 1.5.0 | Unfortunately, release versions of ''The Legend of Zelda: Breath of the Wild'' are stripped and have absolutely no debugging symbols. This has been verified for Switch 1.0.0, Wii U 1.5.0, Switch 1.5.0, Switch 1.6.0 and Switch RID_Demo. | ||
The Switch 1.5.0 | The Switch 1.5.0 and 1.6.0 executables only have some RTTI data for UI classes. This is likely also the case for all older versions. | ||
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. | ||
Line 262: | Line 262: | ||
</pre> | </pre> | ||
=== Leftover debug tools === | === Leftover debug or development tools === | ||
==== ActorCapture ==== | |||
See [[ActorCapture]] for more information. | |||
The resource factory and resource classes are still present in release builds, but no ActorCapture parameter files are included in the ROM. | |||
==== EventPatroller ==== | |||
Used to generate movies (prerendered cutscenes) for event flows. Receives orders via HostIO (in BYML format) in <code>%UKING_ROOT%/../workdir/EventPatroller/order.byml</code> and writes: | |||
* A YAML report containing frame-by-frame data with camera position, actor information, etc. Written to <code>%s/report.yml</code> % (name). | |||
* Screenshots for the entire event (maximum 18000 frames) captured using agl::utl::ScreenshotMgr, and written to <code>%s/%05d.tga</code> % (name, frame). | |||
Throughout the execution of the order, <code>%%KSYS_ROOT%%/tools/EventPatroller/ChangeStatus.bat</code> is spawned to update the order status on the host computer. | |||
EventPatroller can apparently make use of Havok script files (hks) in dev builds<ref><code>script_name</code> (in the order data) is a path to a hks file.</ref>. However, all script-related code is stubbed in release builds and both the <code>hks</code> and <code>lua</code> resource factories are unused. | |||
==== Placement ==== | |||
The <code>bplacement</code> resource factory is stubbed in release builds. The associated resource class is also stubbed. It is unknown what Placement files would have contained. (Configuration for the [[PlacementMgr]]?) | |||
Given the small resource size, it is likely that bplacement files are not [[AAMP]] resources but [[BYML]]s. | |||
==== Demo ROM types ==== | ==== Demo ROM types ==== | ||
The game calls <code>sead::EnvUtil::getRomType()</code> to get the ROM type. The result is printed to a debug log along with SD card, revision and AoC (DLC) information. | The game calls <code>sead::EnvUtil::getRomType()</code> to get the ROM type. The result is printed to a debug log along with SD card, revision and AoC (DLC) information. |