1
0
Fork 0
mirror of https://github.com/zeldaret/oot.git synced 2025-07-03 22:44:30 +00:00

Configure offsets for code and overlay assets

This commit is contained in:
cadmic 2024-06-19 14:53:35 -07:00
parent 8e0199bcc0
commit 0e43c07aa5
44 changed files with 1012 additions and 335 deletions

View file

@ -1,13 +1,13 @@
<Root> <Root>
<File Name="code" OutName="z_fbdemo_circle" RangeStart="0x10ED48" RangeEnd="0x10FF68"> <File Name="code" OutName="z_fbdemo_circle">
<Texture Name="sTransCircleNormalTex" OutName="trans_circle_normal" Format="i8" Width="16" Height="64" Offset="0x10ED48"/> <Texture Name="sTransCircleNormalTex" OutName="trans_circle_normal" Format="i8" Width="16" Height="64" Offset="0x0"/>
<Texture Name="sTransCircleWaveTex" OutName="trans_circle_wave" Format="i8" Width="16" Height="64" Offset="0x10F148"/> <Texture Name="sTransCircleWaveTex" OutName="trans_circle_wave" Format="i8" Width="16" Height="64" Offset="0x400"/>
<Texture Name="sTransCircleRippleTex" OutName="trans_circle_ripple" Format="i8" Width="16" Height="64" Offset="0x10F548"/> <Texture Name="sTransCircleRippleTex" OutName="trans_circle_ripple" Format="i8" Width="16" Height="64" Offset="0x800"/>
<Texture Name="sTransCircleStarburstTex" OutName="trans_circle_starburst" Format="i8" Width="16" Height="64" Offset="0x10F948"/> <Texture Name="sTransCircleStarburstTex" OutName="trans_circle_starburst" Format="i8" Width="16" Height="64" Offset="0xC00"/>
<Array Name="sTransCircleVtx" Count="34" Offset="0x10FD48"> <Array Name="sTransCircleVtx" Count="34" Offset="0x1000">
<Vtx/> <Vtx/>
</Array> </Array>
<!-- ZAPD isn't finding symbols correctly, instead finding them much later in `code`--> <!-- ZAPD isn't finding symbols correctly, instead finding them much later in `code`-->
<!--<DList Name="sTransCircleDL" Offset="0x10FF68"/>--> <!--<DList Name="sTransCircleDL" Offset="0x1220"/>-->
</File> </File>
</Root> </Root>

View file

@ -1,7 +1,7 @@
<Root> <Root>
<File Name="code" OutName="z_fbdemo_triforce" RangeStart="0x10E1D0" RangeEnd="0x10E2A0"> <File Name="code" OutName="z_fbdemo_triforce">
<DList Name="sTransTriforceDL" Offset="0x10E1D0"/> <DList Name="sTransTriforceDL" Offset="0x0"/>
<Array Name="sTransTriforceVtx" Count="10" Offset="0x10E200"> <Array Name="sTransTriforceVtx" Count="10" Offset="0x30">
<Vtx/> <Vtx/>
</Array> </Array>
</File> </File>

View file

@ -1,10 +1,10 @@
<Root> <Root>
<File Name="code" OutName="z_fbdemo_wipe1" RangeStart="0x10E2A0" RangeEnd="0x10EC30"> <File Name="code" OutName="z_fbdemo_wipe1">
<Array Name="sTransWipeVtx" Count="25" Offset="0x10E2A0"> <Array Name="sTransWipeVtx" Count="25" Offset="0x0">
<Vtx/> <Vtx/>
</Array> </Array>
<Texture Name="sTransWipeTex" OutName="trans_wipe" Format="i4" Width="64" Height="64" Offset="0x10E430"/> <Texture Name="sTransWipeTex" OutName="trans_wipe" Format="i4" Width="64" Height="64" Offset="0x190"/>
<!-- ZAPD isn't finding symbols correctly, instead finding them much later in `code`--> <!-- ZAPD isn't finding symbols correctly, instead finding them much later in `code`-->
<!-- <DList Name="sTransWipeDL" Offset="0x10EC30"/> --> <!-- <DList Name="sTransWipeDL" Offset="0x990"/> -->
</File> </File>
</Root> </Root>

View file

@ -1,11 +1,11 @@
<Root> <Root>
<File Name="ovl_Arrow_Fire" BaseAddress="0x80865d10" RangeStart="0x9D0" RangeEnd="0x1DF0"> <File Name="ovl_Arrow_Fire">
<Texture Name="s1Tex" OutName="fire_tex_1" Format="i8" Width="32" Height="64" Offset="0x9D0" Static="On"/> <Texture Name="s1Tex" OutName="fire_tex_1" Format="i8" Width="32" Height="64" Offset="0x0" Static="On"/>
<Texture Name="s2Tex" OutName="fire_tex_2" Format="i8" Width="32" Height="64" Offset="0x11D0" Static="On"/> <Texture Name="s2Tex" OutName="fire_tex_2" Format="i8" Width="32" Height="64" Offset="0x800" Static="On"/>
<Array Name="sVtx" Count="43" Offset="0x19D0" Static="On"> <Array Name="sVtx" Count="43" Offset="0x1000" Static="On">
<Vtx/> <Vtx/>
</Array> </Array>
<DList Name="sMaterialDL" Offset="0x1C80" Static="On"/> <DList Name="sMaterialDL" Offset="0x12B0" Static="On"/>
<DList Name="sModelDL" Offset="0x1D30" Static="On"/> <DList Name="sModelDL" Offset="0x1360" Static="On"/>
</File> </File>
</Root> </Root>

View file

@ -1,11 +1,11 @@
<Root> <Root>
<File Name="ovl_Arrow_Ice" BaseAddress="0x80867cd0" RangeStart="0x9F0" RangeEnd="0x1E10"> <File Name="ovl_Arrow_Ice">
<Texture Name="s1Tex" OutName="ice_tex_1" Format="i8" Width="32" Height="64" Offset="0x9F0" Static="On"/> <Texture Name="s1Tex" OutName="ice_tex_1" Format="i8" Width="32" Height="64" Offset="0x0" Static="On"/>
<Texture Name="s2Tex" OutName="ice_tex_2" Format="i8" Width="32" Height="64" Offset="0x11F0" Static="On"/> <Texture Name="s2Tex" OutName="ice_tex_2" Format="i8" Width="32" Height="64" Offset="0x800" Static="On"/>
<Array Name="sVtx" Count="43" Offset="0x19F0" Static="On"> <Array Name="sVtx" Count="43" Offset="0x1000" Static="On">
<Vtx/> <Vtx/>
</Array> </Array>
<DList Name="sMaterialDL" Offset="0x1CA0" Static="On"/> <DList Name="sMaterialDL" Offset="0x12B0" Static="On"/>
<DList Name="sModelDL" Offset="0x1D50" Static="On"/> <DList Name="sModelDL" Offset="0x1360" Static="On"/>
</File> </File>
</Root> </Root>

View file

@ -1,11 +1,11 @@
<Root> <Root>
<File Name="ovl_Arrow_Light" BaseAddress="0x80869cb0" RangeStart="0xA00" RangeEnd="0x1E20"> <File Name="ovl_Arrow_Light">
<Texture Name="s1Tex" OutName="light_tex_1" Format="i8" Width="32" Height="64" Offset="0xA00" Static="On"/> <Texture Name="s1Tex" OutName="light_tex_1" Format="i8" Width="32" Height="64" Offset="0x0" Static="On"/>
<Texture Name="s2Tex" OutName="light_tex_2" Format="i8" Width="32" Height="64" Offset="0x1200" Static="On"/> <Texture Name="s2Tex" OutName="light_tex_2" Format="i8" Width="32" Height="64" Offset="0x800" Static="On"/>
<Array Name="sVtx" Count="43" Offset="0x1A00" Static="On"> <Array Name="sVtx" Count="43" Offset="0x1000" Static="On">
<Vtx/> <Vtx/>
</Array> </Array>
<DList Name="sMaterialDL" Offset="0x1CB0" Static="On"/> <DList Name="sMaterialDL" Offset="0x12B0" Static="On"/>
<DList Name="sModelDL" Offset="0x1D60" Static="On"/> <DList Name="sModelDL" Offset="0x1360" Static="On"/>
</File> </File>
</Root> </Root>

View file

@ -1,29 +1,29 @@
<Root> <Root>
<File Name="ovl_Bg_Ganon_Otyuka" BaseAddress="0x80875920" RangeStart="0x11C0" RangeEnd="0x259C"> <File Name="ovl_Bg_Ganon_Otyuka">
<Texture Name="sPlatformTex" OutName="platform_tex" Format="rgba16" Width="32" Height="32" Offset="0x11C0"/> <Texture Name="sPlatformTex" OutName="platform_tex" Format="rgba16" Width="32" Height="32" Offset="0x0"/>
<Array Name="sPlatformTopVtx" Count="4" Offset="0x19C8"> <Array Name="sPlatformTopVtx" Count="4" Offset="0x808">
<Vtx/> <Vtx/>
</Array> </Array>
<DList Name="sPlatformMaterialDL" Offset="0x1A08"/> <DList Name="sPlatformMaterialDL" Offset="0x848"/>
<DList Name="sPlatformTopDL" Offset="0x1A90"/> <DList Name="sPlatformTopDL" Offset="0x8D0"/>
<Array Name="sPlatformBottomVtx" Count="4" Offset="0x1AA8"> <Array Name="sPlatformBottomVtx" Count="4" Offset="0x8E8">
<Vtx/> <Vtx/>
</Array> </Array>
<DList Name="sPlatformBottomDL" Offset="0x1AE8"/> <DList Name="sPlatformBottomDL" Offset="0x928"/>
<Array Name="sPlatformSideVtx" Count="4" Offset="0x01B00"> <Array Name="sPlatformSideVtx" Count="4" Offset="0x940">
<Vtx/> <Vtx/>
</Array> </Array>
<DList Name="sPlatformSideDL" Offset="0x1B40"/> <DList Name="sPlatformSideDL" Offset="0x980"/>
<Texture Name="sFlashTex" OutName="flash_tex" Format="i8" Width="32" Height="64" Offset="0x1B58"/> <Texture Name="sFlashTex" OutName="flash_tex" Format="i8" Width="32" Height="64" Offset="0x998"/>
<Array Name="sFlashVtx" Count="8" Offset="0x2358"> <Array Name="sFlashVtx" Count="8" Offset="0x1198">
<Vtx/> <Vtx/>
</Array> </Array>
<DList Name="sFlashDL" Offset="0x23D8"/> <DList Name="sFlashDL" Offset="0x1218"/>
<Collision Name="sCol" Offset="0x2570"/> <Collision Name="sCol" Offset="0x13B0"/>
</File> </File>
</Root> </Root>

View file

@ -1,10 +1,10 @@
<Root> <Root>
<File Name="ovl_Bg_Jya_Cobra" BaseAddress="0x808958f0" RangeStart="0x1980" RangeEnd="0x19F8"> <File Name="ovl_Bg_Jya_Cobra">
<Array Name="sShadowVtx" Count="4" Offset="0x1980"> <Array Name="sShadowVtx" Count="4" Offset="0x0">
<Vtx/> <Vtx/>
</Array> </Array>
<DList Name="sShadowDL" Offset="0x19C0"/> <DList Name="sShadowDL" Offset="0x40"/>
</File> </File>
</Root> </Root>

View file

@ -1,6 +1,6 @@
<Root> <Root>
<File Name="ovl_Boss_Dodongo" BaseAddress="0x808C1190" RangeStart="0x6238" RangeEnd="0x9238"> <File Name="ovl_Boss_Dodongo">
<Texture Name="sLavaFloorLavaTex" OutName="lava_floor_lava" Format="rgba16" Width="64" Height="64" Offset="0x6238"/> <Texture Name="sLavaFloorLavaTex" OutName="lava_floor_lava" Format="rgba16" Width="64" Height="64" Offset="0x0"/>
<Texture Name="sLavaFloorRockTex" OutName="lava_floor_rock" Format="rgba16" Width="32" Height="64" Offset="0x8238"/> <Texture Name="sLavaFloorRockTex" OutName="lava_floor_rock" Format="rgba16" Width="32" Height="64" Offset="0x2000"/>
</File> </File>
</Root> </Root>

View file

@ -1,53 +1,53 @@
<Root> <Root>
<ExternalFile XmlPath="objects/gameplay_keep.xml" OutPath="assets/objects/gameplay_keep/"/> <ExternalFile XmlPath="objects/gameplay_keep.xml" OutPath="assets/objects/gameplay_keep/"/>
<File Name="ovl_Boss_Ganon" BaseAddress="0x808D6870" RangeStart="0xE6B8" RangeEnd="0x211D8"> <File Name="ovl_Boss_Ganon">
<Texture Name="gGanondorfLightning1Tex" OutName="lightning_1" Format="i8" Width="32" Height="96" Offset="0x11600" Static="Off"/> <Texture Name="gGanondorfLightning1Tex" OutName="lightning_1" Format="i8" Width="32" Height="96" Offset="0x2F48" Static="Off"/>
<Texture Name="gGanondorfLightning2Tex" OutName="lightning_2" Format="i8" Width="32" Height="96" Offset="0x12200" Static="Off"/> <Texture Name="gGanondorfLightning2Tex" OutName="lightning_2" Format="i8" Width="32" Height="96" Offset="0x3B48" Static="Off"/>
<Texture Name="gGanondorfLightning3Tex" OutName="lightning_3" Format="i8" Width="32" Height="96" Offset="0x12E00" Static="Off"/> <Texture Name="gGanondorfLightning3Tex" OutName="lightning_3" Format="i8" Width="32" Height="96" Offset="0x4748" Static="Off"/>
<Texture Name="gGanondorfLightning4Tex" OutName="lightning_4" Format="i8" Width="32" Height="96" Offset="0x13A00" Static="Off"/> <Texture Name="gGanondorfLightning4Tex" OutName="lightning_4" Format="i8" Width="32" Height="96" Offset="0x5348" Static="Off"/>
<Texture Name="gGanondorfLightning5Tex" OutName="lightning_5" Format="i8" Width="32" Height="96" Offset="0x14600" Static="Off"/> <Texture Name="gGanondorfLightning5Tex" OutName="lightning_5" Format="i8" Width="32" Height="96" Offset="0x5F48" Static="Off"/>
<Texture Name="gGanondorfLightning6Tex" OutName="lightning_6" Format="i8" Width="32" Height="96" Offset="0x15200" Static="Off"/> <Texture Name="gGanondorfLightning6Tex" OutName="lightning_6" Format="i8" Width="32" Height="96" Offset="0x6B48" Static="Off"/>
<Texture Name="gGanondorfLightning7Tex" OutName="lightning_7" Format="i8" Width="32" Height="96" Offset="0x15E00" Static="Off"/> <Texture Name="gGanondorfLightning7Tex" OutName="lightning_7" Format="i8" Width="32" Height="96" Offset="0x7748" Static="Off"/>
<Texture Name="gGanondorfLightning8Tex" OutName="lightning_8" Format="i8" Width="32" Height="96" Offset="0x16A00" Static="Off"/> <Texture Name="gGanondorfLightning8Tex" OutName="lightning_8" Format="i8" Width="32" Height="96" Offset="0x8348" Static="Off"/>
<Texture Name="gGanondorfLightning9Tex" OutName="lightning_9" Format="i8" Width="32" Height="96" Offset="0x17600" Static="Off"/> <Texture Name="gGanondorfLightning9Tex" OutName="lightning_9" Format="i8" Width="32" Height="96" Offset="0x8F48" Static="Off"/>
<Texture Name="gGanondorfLightning10Tex" OutName="lightning_10" Format="i8" Width="32" Height="96" Offset="0x18200" Static="Off"/> <Texture Name="gGanondorfLightning10Tex" OutName="lightning_10" Format="i8" Width="32" Height="96" Offset="0x9B48" Static="Off"/>
<Texture Name="gGanondorfLightning11Tex" OutName="lightning_11" Format="i8" Width="32" Height="96" Offset="0x18E00" Static="Off"/> <Texture Name="gGanondorfLightning11Tex" OutName="lightning_11" Format="i8" Width="32" Height="96" Offset="0xA748" Static="Off"/>
<Texture Name="gGanondorfLightning12Tex" OutName="lightning_12" Format="i8" Width="32" Height="96" Offset="0x19A00" Static="Off"/> <Texture Name="gGanondorfLightning12Tex" OutName="lightning_12" Format="i8" Width="32" Height="96" Offset="0xB348" Static="Off"/>
<Texture Name="gGanondorfWindowShatterTemplateTex" OutName="window_shatter_template" Format="i8" Width="32" Height="64" Offset="0xFD38" Static="Off"/> <Texture Name="gGanondorfWindowShatterTemplateTex" OutName="window_shatter_template" Format="i8" Width="32" Height="64" Offset="0x1680" Static="Off"/>
<DList Name="gGanondorfLightStreak1DL" Offset="0x1FCF0" Static="Off"/> <DList Name="gGanondorfLightStreak1DL" Offset="0x11638" Static="Off"/>
<DList Name="gGanondorfLightStreak2DL" Offset="0x1FD28" Static="Off"/> <DList Name="gGanondorfLightStreak2DL" Offset="0x11670" Static="Off"/>
<DList Name="gGanondorfLightStreak3DL" Offset="0x1FD60" Static="Off"/> <DList Name="gGanondorfLightStreak3DL" Offset="0x116A8" Static="Off"/>
<DList Name="gGanondorfLightStreak4DL" Offset="0x1FD98" Static="Off"/> <DList Name="gGanondorfLightStreak4DL" Offset="0x116E0" Static="Off"/>
<DList Name="gGanondorfLightStreak5DL" Offset="0x1FDD0" Static="Off"/> <DList Name="gGanondorfLightStreak5DL" Offset="0x11718" Static="Off"/>
<DList Name="gGanondorfLightStreak6DL" Offset="0x1FE08" Static="Off"/> <DList Name="gGanondorfLightStreak6DL" Offset="0x11750" Static="Off"/>
<DList Name="gGanondorfLightStreak7DL" Offset="0x1FE40" Static="Off"/> <DList Name="gGanondorfLightStreak7DL" Offset="0x11788" Static="Off"/>
<DList Name="gGanondorfLightStreak8DL" Offset="0x1FE78" Static="Off"/> <DList Name="gGanondorfLightStreak8DL" Offset="0x117C0" Static="Off"/>
<DList Name="gGanondorfLightStreak9DL" Offset="0x1FEB0" Static="Off"/> <DList Name="gGanondorfLightStreak9DL" Offset="0x117F8" Static="Off"/>
<DList Name="gGanondorfLightStreak10DL" Offset="0x1FEE8" Static="Off"/> <DList Name="gGanondorfLightStreak10DL" Offset="0x11830" Static="Off"/>
<DList Name="gGanondorfLightStreak11DL" Offset="0x1FF20" Static="Off"/> <DList Name="gGanondorfLightStreak11DL" Offset="0x11868" Static="Off"/>
<DList Name="gGanondorfLightStreak12DL" Offset="0x1FF58" Static="Off"/> <DList Name="gGanondorfLightStreak12DL" Offset="0x118A0" Static="Off"/>
<DList Name="gGanondorfShadowSetupDL" Offset="0xE6F8" Static="Off"/> <DList Name="gGanondorfShadowSetupDL" Offset="0x40" Static="Off"/>
<DList Name="gGanondorfShadowModelDL" Offset="0xE718" Static="Off"/> <DList Name="gGanondorfShadowModelDL" Offset="0x60" Static="Off"/>
<DList Name="gGanondorfTriforceDL" Offset="0xF788" Static="Off"/> <DList Name="gGanondorfTriforceDL" Offset="0x10D0" Static="Off"/>
<DList Name="gGanondorfWindowShardMaterialDL" Offset="0xFC78" Static="Off"/> <DList Name="gGanondorfWindowShardMaterialDL" Offset="0x15C0" Static="Off"/>
<DList Name="gGanondorfWindowShardModelDL" Offset="0xFD20" Static="Off"/> <DList Name="gGanondorfWindowShardModelDL" Offset="0x1668" Static="Off"/>
<DList Name="gGanondorfLightBallMaterialDL" Offset="0x11578" Static="Off"/> <DList Name="gGanondorfLightBallMaterialDL" Offset="0x2EC0" Static="Off"/>
<DList Name="gGanondorfSquareDL" Offset="0x115E8" Static="Off"/> <DList Name="gGanondorfSquareDL" Offset="0x2F30" Static="Off"/>
<DList Name="gGanondorfLightningDL" Offset="0x1A640" Static="Off"/> <DList Name="gGanondorfLightningDL" Offset="0xBF88" Static="Off"/>
<DList Name="gGanondorfUnusedDL" Offset="0x1A6F0" Static="Off"/> <DList Name="gGanondorfUnusedDL" Offset="0xC038" Static="Off"/>
<DList Name="gGanondorfLightRayTriDL" Offset="0x1A768" Static="Off"/> <DList Name="gGanondorfLightRayTriDL" Offset="0xC0B0" Static="Off"/>
<DList Name="gGanondorfLightFlecksDL" Offset="0x1C1C0" Static="Off"/> <DList Name="gGanondorfLightFlecksDL" Offset="0xDB08" Static="Off"/>
<DList Name="gGanondorfBigMagicBGCircleDL" Offset="0x1C2B0" Static="Off"/> <DList Name="gGanondorfBigMagicBGCircleDL" Offset="0xDBF8" Static="Off"/>
<DList Name="gGanondorfDotDL" Offset="0x1C358" Static="Off"/> <DList Name="gGanondorfDotDL" Offset="0xDCA0" Static="Off"/>
<DList Name="gGanondorfShockwaveDL" Offset="0x1CDC0" Static="Off"/> <DList Name="gGanondorfShockwaveDL" Offset="0xE708" Static="Off"/>
<DList Name="gGanondorfImpactDarkDL" Offset="0x1DC58" Static="Off"/> <DList Name="gGanondorfImpactDarkDL" Offset="0xF5A0" Static="Off"/>
<DList Name="gGanondorfImpactLightDL" Offset="0x1DD70" Static="Off"/> <DList Name="gGanondorfImpactLightDL" Offset="0xF6B8" Static="Off"/>
<DList Name="gGanondorfShockGlowDL" Offset="0x1EEC8" Static="Off"/> <DList Name="gGanondorfShockGlowDL" Offset="0x10810" Static="Off"/>
<DList Name="gGanondorfLightCoreDL" Offset="0x20228" Static="Off"/> <DList Name="gGanondorfLightCoreDL" Offset="0x11B70" Static="Off"/>
<DList Name="gGanondorfShockDL" Offset="0x202F0" Static="Off"/> <DList Name="gGanondorfShockDL" Offset="0x11C38" Static="Off"/>
<DList Name="gGanondorfVortexDL" Offset="0x210D0" Static="Off"/> <DList Name="gGanondorfVortexDL" Offset="0x12A18" Static="Off"/>
</File> </File>
</Root> </Root>

View file

@ -1,29 +1,29 @@
<Root> <Root>
<ExternalFile XmlPath="objects/gameplay_keep.xml" OutPath="assets/objects/gameplay_keep/"/> <ExternalFile XmlPath="objects/gameplay_keep.xml" OutPath="assets/objects/gameplay_keep/"/>
<File Name="ovl_Boss_Ganon2" BaseAddress="0x808FCF40" RangeStart="0xA2C8" RangeEnd="0x10778"> <File Name="ovl_Boss_Ganon2">
<Texture Name="gGanonLightOrbTex" OutName="ganon_light_orb" Format="i8" Width="64" Height="64" Offset="0xA2C8"/> <Texture Name="gGanonLightOrbTex" OutName="ganon_light_orb" Format="i8" Width="64" Height="64" Offset="0x0"/>
<DList Name="gGanonLightOrbMaterialDL" Offset="0xB308"/> <DList Name="gGanonLightOrbMaterialDL" Offset="0x1040"/>
<DList Name="gGanonLightOrbModelDL" Offset="0xB378"/> <DList Name="gGanonLightOrbModelDL" Offset="0x10B0"/>
<DList Name="gGanonShadowMaterialDL" Offset="0xB3D0"/> <DList Name="gGanonShadowMaterialDL" Offset="0x1108"/>
<DList Name="gGanonShadowModelDL" Offset="0xB3F0"/> <DList Name="gGanonShadowModelDL" Offset="0x1128"/>
<Texture Name="gGanonSwordTrailTex" OutName="ganon_sword_trail" Format="i8" Width="32" Height="32" Offset="0xB420"/> <Texture Name="gGanonSwordTrailTex" OutName="ganon_sword_trail" Format="i8" Width="32" Height="32" Offset="0x1158"/>
<Texture Name="gGanonSwordTrailMaskTex" OutName="ganon_sword_trail_mask" Format="i4" Width="32" Height="32" Offset="0xB820"/> <Texture Name="gGanonSwordTrailMaskTex" OutName="ganon_sword_trail_mask" Format="i4" Width="32" Height="32" Offset="0x1558"/>
<Array Name="gGanonSwordTrailVtx" Count="22" Offset="0xBA20"> <Array Name="gGanonSwordTrailVtx" Count="22" Offset="0x1758">
<Vtx/> <Vtx/>
</Array> </Array>
<DList Name="gGanonSwordTrailDL" Offset="0xBB80"/> <DList Name="gGanonSwordTrailDL" Offset="0x18B8"/>
<Texture Name="gGanonTriforceTex" OutName="ganon_triforce" Format="i8" Width="64" Height="64" Offset="0xBC98"/> <Texture Name="gGanonTriforceTex" OutName="ganon_triforce" Format="i8" Width="64" Height="64" Offset="0x19D0"/>
<DList Name="gGanonTriforceDL" Offset="0xCCD8"/> <DList Name="gGanonTriforceDL" Offset="0x2A10"/>
<Texture Name="gGanonLightningTex" OutName="ganon_lightning" Format="i4" Width="32" Height="160" Offset="0xCD58"/> <Texture Name="gGanonLightningTex" OutName="ganon_lightning" Format="i4" Width="32" Height="160" Offset="0x2A90"/>
<DList Name="gGanonLightningDL" Offset="0xD798"/> <!-- Original name might be "efc_fg2_thunder1_modelT" --> <DList Name="gGanonLightningDL" Offset="0x34D0"/> <!-- Original name might be "efc_fg2_thunder1_modelT" -->
<Texture Name="gGanonFireRingTex" OutName="ganon_fire_ring" Format="i8" Width="32" Height="64" Offset="0xD820"/> <Texture Name="gGanonFireRingTex" OutName="ganon_fire_ring" Format="i8" Width="32" Height="64" Offset="0x3558"/>
<DList Name="gGanonFireRingDL" Offset="0xE1C0"/> <!-- Original name is "ganon_fire_modelT" --> <DList Name="gGanonFireRingDL" Offset="0x3EF8"/> <!-- Original name is "ganon_fire_modelT" -->
<Texture Name="gGanonZeldaMagicTex" OutName="ganon_zelda_magic" Format="i8" Width="32" Height="64" Offset="0xE2E0"/> <Texture Name="gGanonZeldaMagicTex" OutName="ganon_zelda_magic" Format="i8" Width="32" Height="64" Offset="0x4018"/>
<DList Name="gGanonZeldaMagicDL" Offset="0xEC40"/> <!-- Original name is "efc_ganon2_hadou_modelT" ("wave motion; undulation; surge") --> <DList Name="gGanonZeldaMagicDL" Offset="0x4978"/> <!-- Original name is "efc_ganon2_hadou_modelT" ("wave motion; undulation; surge") -->
<Texture Name="gGanonMasterSwordShadowTex" OutName="ganon_master_sword_shadow" Format="i8" Width="32" Height="32" Offset="0xED48"/> <Texture Name="gGanonMasterSwordShadowTex" OutName="ganon_master_sword_shadow" Format="i8" Width="32" Height="32" Offset="0x4A80"/>
<DList Name="gGanonMasterSwordShadowDL" Offset="0xF188"/> <!-- Original name is "master_sword_shadow_model" --> <DList Name="gGanonMasterSwordShadowDL" Offset="0x4EC0"/> <!-- Original name is "master_sword_shadow_model" -->
<Texture Name="gGanonMasterSwordPommelTex" OutName="ganon_master_sword_pommel" Format="rgba16" Width="16" Height="16" Offset="0xF208"/> <Texture Name="gGanonMasterSwordPommelTex" OutName="ganon_master_sword_pommel" Format="rgba16" Width="16" Height="16" Offset="0x4F40"/>
<Texture Name="gGanonMasterSwordGuardTex" OutName="ganon_master_sword_guard" Format="rgba16" Width="32" Height="32" Offset="0xF408"/> <Texture Name="gGanonMasterSwordGuardTex" OutName="ganon_master_sword_guard" Format="rgba16" Width="32" Height="32" Offset="0x5140"/>
<DList Name="gGanonMasterSwordDL" Offset="0x103A8"/> <!-- Original name is "master_gn2_swordB_model" --> <DList Name="gGanonMasterSwordDL" Offset="0x60E0"/> <!-- Original name is "master_gn2_swordB_model" -->
</File> </File>
</Root> </Root>

View file

@ -1,8 +1,8 @@
<Root> <Root>
<File Name="ovl_Boss_Sst" BaseAddress="0x8092C5D0" RangeStart="0xA3C0" RangeEnd="0xAD70"> <File Name="ovl_Boss_Sst">
<DList Name="sBodyStaticDList" Offset="0xA3C0"/> <DList Name="sBodyStaticDList" Offset="0x0"/>
<DList Name="sHandTrailDList" Offset="0xA3D8"/> <DList Name="sHandTrailDList" Offset="0x18"/>
<DList Name="sIntroVanishDList" Offset="0xA838"/> <DList Name="sIntroVanishDList" Offset="0x478"/>
<DList Name="sShadowDList" Offset="0xACF0"/> <DList Name="sShadowDList" Offset="0x930"/>
</File> </File>
</Root> </Root>

View file

@ -1,8 +1,8 @@
<Root> <Root>
<File Name="ovl_Demo_Shd" BaseAddress="0x80991230" RangeStart="0x450" RangeEnd="0x23D0"> <File Name="ovl_Demo_Shd">
<DList Name="D_809932D0" Offset="0x20A0"/> <DList Name="D_809932D0" Offset="0x1C50"/>
<DList Name="D_80993390" Offset="0x2160"/> <DList Name="D_80993390" Offset="0x1D10"/>
<DList Name="D_809934B8" Offset="0x2288"/> <DList Name="D_809934B8" Offset="0x1E38"/>
</File> </File>
</Root> </Root>

View file

@ -1,9 +1,9 @@
<Root> <Root>
<File Name="ovl_Effect_Ss_Fhg_Flash" BaseAddress="0x809A4660" RangeStart="0xA60" RangeEnd="0xF18"> <File Name="ovl_Effect_Ss_Fhg_Flash">
<Array Name="sShockVtx" Count="4" Offset="0xA60"> <Array Name="sShockVtx" Count="4" Offset="0x0">
<Vtx/> <Vtx/>
</Array> </Array>
<DList Name="sShockDL" Offset="0xAA0"/> <DList Name="sShockDL" Offset="0x40"/>
<Texture Name="sShockTex" OutName="shock" Format="i8" Width="32" Height="32" Offset="0xB18"/> <Texture Name="sShockTex" OutName="shock" Format="i8" Width="32" Height="32" Offset="0xB8"/>
</File> </File>
</Root> </Root>

View file

@ -1,16 +1,16 @@
<Root> <Root>
<File Name="ovl_Elf_Msg" BaseAddress="0x809ACB20" RangeStart="0x758" RangeEnd="0x9D8"> <File Name="ovl_Elf_Msg">
<DList Name="D_809AD278" Offset="0x758"/> <DList Name="D_809AD278" Offset="0x0"/>
<Array Name="sCylinderVtx" Count="16" Offset="0x798"> <Array Name="sCylinderVtx" Count="16" Offset="0x40">
<Vtx/> <Vtx/>
</Array> </Array>
<DList Name="sCylinderDL" Offset="0x898"/> <DList Name="sCylinderDL" Offset="0x140"/>
<Array Name="sCubeVtx" Count="8" Offset="0x918"> <Array Name="sCubeVtx" Count="8" Offset="0x1C0">
<Vtx/> <Vtx/>
</Array> </Array>
<DList Name="sCubeDL" Offset="0x998"/> <DList Name="sCubeDL" Offset="0x240"/>
</File> </File>
</Root> </Root>

View file

@ -1,11 +1,11 @@
<Root> <Root>
<File Name="ovl_Elf_Msg2" BaseAddress="0x809AD700" RangeStart="0x538" RangeEnd="0x638"> <File Name="ovl_Elf_Msg2">
<DList Name="D_809ADC38" Offset="0x538"/> <DList Name="D_809ADC38" Offset="0x0"/>
<Array Name="sCubeVtx" Count="8" Offset="0x578"> <Array Name="sCubeVtx" Count="8" Offset="0x40">
<Vtx/> <Vtx/>
</Array> </Array>
<DList Name="sCubeDL" Offset="0x5F8"/> <DList Name="sCubeDL" Offset="0xC0"/>
</File> </File>
</Root> </Root>

View file

@ -1,7 +1,7 @@
<Root> <Root>
<File Name="ovl_En_Bili" BaseAddress="0x809BF8A0" RangeStart="0x1E50" RangeEnd="0x1E70"> <File Name="ovl_En_Bili">
<DList Name="D_809C16F0" Offset="0x1E50"/> <DList Name="D_809C16F0" Offset="0x0"/>
<DList Name="D_809C1700" Offset="0x1E60"/> <DList Name="D_809C1700" Offset="0x10"/>
</File> </File>
</Root> </Root>

View file

@ -1,14 +1,14 @@
<Root> <Root>
<File Name="ovl_En_Clear_Tag" BaseAddress="0x809D35B0" RangeStart="0x26F0" RangeEnd="0x89F0"> <File Name="ovl_En_Clear_Tag">
<DList Name="gArwingDL" Offset="0x26F0"/> <DList Name="gArwingDL" Offset="0x0"/>
<DList Name="gArwingLaserDL" Offset="0x6388"/> <DList Name="gArwingLaserDL" Offset="0x3C98"/>
<DList Name="gArwingBackfireDL" Offset="0x6688"/> <DList Name="gArwingBackfireDL" Offset="0x3F98"/>
<DList Name="gArwingDebrisEffectMaterialDL" Offset="0x6A38"/> <DList Name="gArwingDebrisEffectMaterialDL" Offset="0x4348"/>
<DList Name="gArwingDebrisEffectDL" Offset="0x6AB8"/> <DList Name="gArwingDebrisEffectDL" Offset="0x43C8"/>
<DList Name="gArwingFireEffectMaterialDL" Offset="0x7100"/> <DList Name="gArwingFireEffectMaterialDL" Offset="0x4A10"/>
<DList Name="gArwingFireEffectDL" Offset="0x71A8"/> <DList Name="gArwingFireEffectDL" Offset="0x4AB8"/>
<DList Name="gArwingFlashEffectDL" Offset="0x8208"/> <DList Name="gArwingFlashEffectDL" Offset="0x5B18"/>
<DList Name="gArwingFlashEffectGroundDL" Offset="0x84B8"/> <DList Name="gArwingFlashEffectGroundDL" Offset="0x5DC8"/>
<DList Name="gArwingShadowDL" Offset="0x8970"/> <DList Name="gArwingShadowDL" Offset="0x6280"/>
</File> </File>
</Root> </Root>

View file

@ -1,21 +1,21 @@
<Root> <Root>
<File Name="ovl_En_Ganon_Mant" BaseAddress="0x80A23D60" RangeStart="0x1218" RangeEnd="0x4118"> <File Name="ovl_En_Ganon_Mant">
<Texture Name="gMantTex" OutName="mant" Format="rgba16" Width="32" Height="64" Offset="0x1218"/> <Texture Name="gMantTex" OutName="mant" Format="rgba16" Width="32" Height="64" Offset="0x0"/>
<Texture Name="gMantUnusedTex" OutName="mant_unused" Format="rgba16" Width="32" Height="32" Offset="0x2218"/> <Texture Name="gMantUnusedTex" OutName="mant_unused" Format="rgba16" Width="32" Height="32" Offset="0x1000"/>
<Array Name="gMant1Vtx" Count="144" Offset="0x2A18"> <Array Name="gMant1Vtx" Count="144" Offset="0x1800">
<Vtx/> <Vtx/>
</Array> </Array>
<DList Name="gMantMaterialDL" Offset="0x3318"/> <DList Name="gMantMaterialDL" Offset="0x2100"/>
<!-- ! @bug gMantUnusedTex is 32x32 not 32x64, however this dlist is unused --> <!-- ! @bug gMantUnusedTex is 32x32 not 32x64, however this dlist is unused -->
<DList Name="gMantUnusedMaterialDL" Offset="0x3370"/> <DList Name="gMantUnusedMaterialDL" Offset="0x2158"/>
<DList Name="gMantDL" Offset="0x33C8"/> <DList Name="gMantDL" Offset="0x21B0"/>
<Array Name="gMant2Vtx" Count="144" Offset="0x3818"> <Array Name="gMant2Vtx" Count="144" Offset="0x2600">
<Vtx/> <Vtx/>
</Array> </Array>
</File> </File>

View file

@ -1,19 +1,19 @@
<Root> <Root>
<File Name="ovl_En_Ganon_Organ" BaseAddress="0x80A28000" RangeStart="0x3E0" RangeEnd="0x6F70"> <File Name="ovl_En_Ganon_Organ">
<Texture Name="sRoomCarpetTex" OutName="room_carpet" Format="rgba16" Width="64" Height="16" Offset="0x3E8"/> <Texture Name="sRoomCarpetTex" OutName="room_carpet" Format="rgba16" Width="64" Height="16" Offset="0x0"/>
<Texture Name="sRoomOrganPipeTex" OutName="room_organ_pipe" Format="i4" Width="16" Height="64" Offset="0xBE8"/> <Texture Name="sRoomOrganPipeTex" OutName="room_organ_pipe" Format="i4" Width="16" Height="64" Offset="0x800"/>
<Texture Name="sRoomOrganCorbelsTex" OutName="room_organ_corbels" Format="i4" Width="16" Height="16" Offset="0xDE8"/> <Texture Name="sRoomOrganCorbelsTex" OutName="room_organ_corbels" Format="i4" Width="16" Height="16" Offset="0xA00"/>
<Texture Name="sRoomOrganGrillTex" OutName="room_organ_grill" Format="rgba16" Width="16" Height="16" Offset="0xE68"/> <Texture Name="sRoomOrganGrillTex" OutName="room_organ_grill" Format="rgba16" Width="16" Height="16" Offset="0xA80"/>
<Texture Name="sRoomCrestFriezeTex" OutName="room_crest_frieze" Format="i4" Width="32" Height="32" Offset="0x1068"/> <Texture Name="sRoomCrestFriezeTex" OutName="room_crest_frieze" Format="i4" Width="32" Height="32" Offset="0xC80"/>
<Texture Name="sRoomColumnFriezeAndCanopyTex" OutName="room_column_frieze_and_canopy" Format="i4" Width="16" Height="16" Offset="0x1268"/> <Texture Name="sRoomColumnFriezeAndCanopyTex" OutName="room_column_frieze_and_canopy" Format="i4" Width="16" Height="16" Offset="0xE80"/>
<Texture Name="sRoomColumnMetalEdgingTex" OutName="room_metal_edging" Format="rgba16" Width="16" Height="16" Offset="0x12E8"/> <Texture Name="sRoomColumnMetalEdgingTex" OutName="room_metal_edging" Format="rgba16" Width="16" Height="16" Offset="0xF00"/>
<Texture Name="sRoomStatueWingTex" OutName="room_statue_wing" Format="rgba16" Width="16" Height="16" Offset="0x14E8"/> <Texture Name="sRoomStatueWingTex" OutName="room_statue_wing" Format="rgba16" Width="16" Height="16" Offset="0x1100"/>
<Texture Name="sRoomPillarTex" OutName="room_pillar" Format="i8" Width="8" Height="32" Offset="0x16E8"/> <Texture Name="sRoomPillarTex" OutName="room_pillar" Format="i8" Width="8" Height="32" Offset="0x1300"/>
<Texture Name="sRoomOrganKeyboardTex" OutName="room_organ_keyboard" Format="rgba16" Width="32" Height="8" Offset="0x17E8"/> <Texture Name="sRoomOrganKeyboardTex" OutName="room_organ_keyboard" Format="rgba16" Width="32" Height="8" Offset="0x1400"/>
<Texture Name="sRoomOrganKeyEndTex" OutName="room_organ_key_end" Format="rgba16" Width="4" Height="8" Offset="0x19E8"/> <Texture Name="sRoomOrganKeyEndTex" OutName="room_organ_key_end" Format="rgba16" Width="4" Height="8" Offset="0x1600"/>
<Texture Name="sRoomStepTex" OutName="room_step" Format="i4" Width="16" Height="16" Offset="0x1A28"/> <Texture Name="sRoomStepTex" OutName="room_step" Format="i4" Width="16" Height="16" Offset="0x1640"/>
<DList Name="sRoomOrganAndFloorDL" Offset="0x4CA8"/> <DList Name="sRoomOrganAndFloorDL" Offset="0x48C0"/>
<DList Name="sRoomStatuesDL" Offset="0x6AB0"/> <DList Name="sRoomStatuesDL" Offset="0x66C8"/>
</File> </File>
</Root> </Root>

View file

@ -1,8 +1,8 @@
<Root> <Root>
<File Name="ovl_En_Holl" BaseAddress="0x80A58C10" RangeStart="0xE78" RangeEnd="0xEE0"> <File Name="ovl_En_Holl">
<Array Name="sPlaneVtx" Count="4" Offset="0xE78"> <Array Name="sPlaneVtx" Count="4" Offset="0x0">
<Vtx/> <Vtx/>
</Array> </Array>
<DList Name="sPlaneDL" Offset="0xEB8"/> <DList Name="sPlaneDL" Offset="0x40"/>
</File> </File>
</Root> </Root>

View file

@ -1,38 +1,38 @@
<Root> <Root>
<File Name="ovl_En_Jsjutan" BaseAddress="0x80A897A0" RangeStart="0x12F8" RangeEnd="0x4C88"> <File Name="ovl_En_Jsjutan">
<!-- D_80A8AA98. Carpet texture. --> <!-- D_80A8AA98. Carpet texture. -->
<Texture Name="sCarpetTex" OutName="carpet" Format="rgba16" Width="32" Height="64" Offset="0x12F8"/> <Texture Name="sCarpetTex" OutName="carpet" Format="rgba16" Width="32" Height="64" Offset="0x0"/>
<!-- D_80A8BA98. Carpet's shadow vertices. Same vertex type as sShadowEvenVtx. Used when gameplayFrames is odd. --> <!-- D_80A8BA98. Carpet's shadow vertices. Same vertex type as sShadowEvenVtx. Used when gameplayFrames is odd. -->
<Array Name="gShadowOddVtx" Count="144" Offset="0x22F8"> <Array Name="gShadowOddVtx" Count="144" Offset="0x1000">
<Vtx/> <Vtx/>
</Array> </Array>
<!-- D_80A8C398. Carpet's shadow vertices. Same vertex type as gShadowOddVtx. Used when gameplayFrames is even. --> <!-- D_80A8C398. Carpet's shadow vertices. Same vertex type as gShadowOddVtx. Used when gameplayFrames is even. -->
<Array Name="sShadowEvenVtx" Count="144" Offset="0x2BF8"> <Array Name="sShadowEvenVtx" Count="144" Offset="0x1900">
<Vtx/> <Vtx/>
</Array> </Array>
<!-- D_80A8CC98. Carpet vertices. Same vertex type as sCarpetEvenVtx. Used when gameplayFrames is odd. --> <!-- D_80A8CC98. Carpet vertices. Same vertex type as sCarpetEvenVtx. Used when gameplayFrames is odd. -->
<Array Name="sCarpetOddVtx" Count="144" Offset="0x34F8"> <Array Name="sCarpetOddVtx" Count="144" Offset="0x2200">
<Vtx/> <Vtx/>
</Array> </Array>
<!-- D_80A8E610. Variable declared in `.bss` of EnJsjutan. Used by sShadowMaterialDL --> <!-- D_80A8E610. Variable declared in `.bss` of EnJsjutan. Used by sShadowMaterialDL -->
<Symbol Name="sShadowTex" Type="u8" TypeSize="1" Count="0x800" Offset="0x4E70"/> <Symbol Name="sShadowTex" Type="u8" TypeSize="1" Count="0x800" Offset="0x3B78"/>
<!-- D_80A8D598. Draws the carpet's texture. --> <!-- D_80A8D598. Draws the carpet's texture. -->
<DList Name="sCarpetMaterialDL" Offset="0x3DF8"/> <DList Name="sCarpetMaterialDL" Offset="0x2B00"/>
<!-- D_80A8D618. Draws the carpet's shadow texture. --> <!-- D_80A8D618. Draws the carpet's shadow texture. -->
<DList Name="sShadowMaterialDL" Offset="0x3E78"/> <DList Name="sShadowMaterialDL" Offset="0x2B80"/>
<!-- D_80A8D688. Draws vertices in segment 0x0C. --> <!-- D_80A8D688. Draws vertices in segment 0x0C. -->
<DList Name="sModelDL" Offset="0x3EE8"/> <DList Name="sModelDL" Offset="0x2BF0"/>
<!-- D_80A8DAB8. Carpet vertices. Same vertex type as sCarpetOddVtx. Used when gameplayFrames is even. --> <!-- D_80A8DAB8. Carpet vertices. Same vertex type as sCarpetOddVtx. Used when gameplayFrames is even. -->
<Array Name="sCarpetEvenVtx" Count="144" Offset="0x4318"> <Array Name="sCarpetEvenVtx" Count="144" Offset="0x3020">
<Vtx/> <Vtx/>
</Array> </Array>
<!-- D_80A8E400 --> <!-- D_80A8E400 -->
<Collision Name="sCol" Offset="0x4C60"/> <Collision Name="sCol" Offset="0x3968"/>
</File> </File>
</Root> </Root>

View file

@ -1,8 +1,8 @@
<Root> <Root>
<File Name="ovl_En_Kanban" BaseAddress="0x80A91FA0" RangeStart="0x2F80" RangeEnd="0x3040"> <File Name="ovl_En_Kanban">
<Array Name="sShadowVtx" Count="4" Offset="0x2F80"> <Array Name="sShadowVtx" Count="4" Offset="0x0">
<Vtx/> <Vtx/>
</Array> </Array>
<DList Name="sShadowDL" Offset="0x2FC0"/> <DList Name="sShadowDL" Offset="0x40"/>
</File> </File>
</Root> </Root>

View file

@ -1,9 +1,9 @@
<Root> <Root>
<File Name="ovl_En_Sda" BaseAddress="0x80AF8E20" RangeStart="0x1578" RangeEnd="0x1608"> <File Name="ovl_En_Sda">
<Array Name="D_80AFA398" Count="4" Offset="0x1578"> <Array Name="D_80AFA398" Count="4" Offset="0x0">
<Vtx/> <Vtx/>
</Array> </Array>
<DList Name="D_80AFA3D8" Offset="0x15B8"/> <DList Name="D_80AFA3D8" Offset="0x40"/>
<DList Name="D_80AFA3F8" Offset="0x15D8"/> <DList Name="D_80AFA3F8" Offset="0x60"/>
</File> </File>
</Root> </Root>

View file

@ -1,8 +1,8 @@
<Root> <Root>
<File Name="ovl_En_Ssh" BaseAddress="0x80B02270" RangeStart="0x2150" RangeEnd="0x21E0"> <File Name="ovl_En_Ssh">
<Array Name="D_80B043C0" Count="4" Offset="0x2150"> <Array Name="D_80B043C0" Count="4" Offset="0x0">
<Vtx/> <Vtx/>
</Array> </Array>
<DList Name="D_80B04400" Offset="0x2190"/> <DList Name="D_80B04400" Offset="0x40"/>
</File> </File>
</Root> </Root>

View file

@ -1,8 +1,8 @@
<Root> <Root>
<File Name="ovl_En_St" BaseAddress="0x80B04890" RangeStart="0x26B0" RangeEnd="0x2740"> <File Name="ovl_En_St">
<Array Name="sSkulltulaUnusedVtx" Count="4" Offset="0x26B0"> <Array Name="sSkulltulaUnusedVtx" Count="4" Offset="0x0">
<Vtx/> <Vtx/>
</Array> </Array>
<DList Name="sSkulltulaUnusedDL" Offset="0x26F0"/> <DList Name="sSkulltulaUnusedDL" Offset="0x40"/>
</File> </File>
</Root> </Root>

View file

@ -1,15 +1,15 @@
<Root> <Root>
<File Name="ovl_En_Sth" BaseAddress="0x80B07540" RangeStart="0xEF0" RangeEnd="0x3EC4"> <File Name="ovl_En_Sth">
<Texture Name="sNoseTex" OutName="nose" Format="rgba16" Width="8" Height="8" Offset="0xEF0"/> <Texture Name="sNoseTex" OutName="nose" Format="rgba16" Width="8" Height="8" Offset="0x0"/>
<Texture Name="sHair1Tex" OutName="hair_1" Format="rgba16" Width="8" Height="16" Offset="0xF70"/> <Texture Name="sHair1Tex" OutName="hair_1" Format="rgba16" Width="8" Height="16" Offset="0x80"/>
<Texture Name="sEar1Tex" OutName="ear_1" Format="rgba16" Width="8" Height="8" Offset="0x1070"/> <Texture Name="sEar1Tex" OutName="ear_1" Format="rgba16" Width="8" Height="8" Offset="0x180"/>
<Texture Name="sEyeTex" OutName="eye" Format="rgba16" Width="32" Height="32" Offset="0x10F0"/> <Texture Name="sEyeTex" OutName="eye" Format="rgba16" Width="32" Height="32" Offset="0x200"/>
<Texture Name="sMouthTex" OutName="mouth" Format="rgba16" Width="32" Height="16" Offset="0x18F0"/> <Texture Name="sMouthTex" OutName="mouth" Format="rgba16" Width="32" Height="16" Offset="0xA00"/>
<Texture Name="sEar2Tex" OutName="ear_2" Format="rgba16" Width="8" Height="8" Offset="0x1CF0"/> <Texture Name="sEar2Tex" OutName="ear_2" Format="rgba16" Width="8" Height="8" Offset="0xE00"/>
<Texture Name="sHair2Tex" OutName="hair_2" Format="rgba16" Width="8" Height="16" Offset="0x1D70"/> <Texture Name="sHair2Tex" OutName="hair_2" Format="rgba16" Width="8" Height="16" Offset="0xE80"/>
<DList Name="D_80B0A050" Offset="0x2B10"/> <DList Name="D_80B0A050" Offset="0x1C20"/>
<DList Name="D_80B0A3C0" Offset="0x2E80"/> <DList Name="D_80B0A3C0" Offset="0x1F90"/>
<Animation Name="sChildDanceAnim" Offset="0x3620"/> <Animation Name="sChildDanceAnim" Offset="0x2730"/>
<Animation Name="sParentDanceAnim" Offset="0x3EB4"/> <Animation Name="sParentDanceAnim" Offset="0x2FC4"/>
</File> </File>
</Root> </Root>

View file

@ -1,17 +1,17 @@
<Root> <Root>
<File Name="ovl_End_Title" BaseAddress="0x80B65720" RangeStart="0x780" RangeEnd="0x4128"> <File Name="ovl_End_Title">
<Texture Name="sTheLegendOfZeldaTex" OutName="the_legend_of_zelda" Format="ia8" Width="120" Height="24" Offset="0x780"/> <Texture Name="sTheLegendOfZeldaTex" OutName="the_legend_of_zelda" Format="ia8" Width="120" Height="24" Offset="0x0"/>
<Texture Name="sOcarinaOfTimeTex" OutName="ocarina_of_time" Format="ia8" Width="112" Height="16" Offset="0x12C0"/> <Texture Name="sOcarinaOfTimeTex" OutName="ocarina_of_time" Format="ia8" Width="112" Height="16" Offset="0xB40"/>
<Texture Name="sTheEndTex" OutName="the_end" Format="ia8" Width="80" Height="24" Offset="0x19C0"/> <Texture Name="sTheEndTex" OutName="the_end" Format="ia8" Width="80" Height="24" Offset="0x1240"/>
<Texture Name="sNintendoLeftTex" OutName="nintendo_left" Format="ia8" Width="64" Height="48" Offset="0x2140"/> <Texture Name="sNintendoLeftTex" OutName="nintendo_left" Format="ia8" Width="64" Height="48" Offset="0x19C0"/>
<Texture Name="sNintendoRightTex" OutName="nintendo_right" Format="ia8" Width="64" Height="48" Offset="0x2D40"/> <Texture Name="sNintendoRightTex" OutName="nintendo_right" Format="ia8" Width="64" Height="48" Offset="0x25C0"/>
<Texture Name="sPresentedByTex" OutName="presented_by" Format="ia8" Width="96" Height="16" Offset="0x3940"/> <Texture Name="sPresentedByTex" OutName="presented_by" Format="ia8" Width="96" Height="16" Offset="0x31C0"/>
<Array Name="sTriforceVtx" Count="6" Offset="0x3F40"> <Array Name="sTriforceVtx" Count="6" Offset="0x37C0">
<Vtx/> <Vtx/>
</Array> </Array>
<DList Name="sTriforceDL" Offset="0x3FA0"/> <DList Name="sTriforceDL" Offset="0x3820"/>
<DList Name="sPresentedByNintendoDL" Offset="0x4000"/> <DList Name="sPresentedByNintendoDL" Offset="0x3880"/>
</File> </File>
</Root> </Root>

View file

@ -1,28 +0,0 @@
<Root>
<File Name="ovl_file_choose" BaseAddress="0x80803D40" RangeStart="0xDE70" RangeEnd="0xE6B0">
<Array Name="D_80811BB0" Count="24" Offset="0xDE70" Static="Off">
<Vtx/>
</Array>
<Array Name="D_80811D30" Count="16" Offset="0xDFF0" Static="Off">
<Vtx/>
</Array>
<Array Name="D_80811E30" Count="16" Offset="0xE0F0" Static="Off">
<Vtx/>
</Array>
<Array Name="D_80811F30" Count="32" Offset="0xE1F0" Static="Off">
<Vtx/>
</Array>
<Array Name="D_80812130" Count="32" Offset="0xE3F0" Static="Off">
<Vtx/>
</Array>
<Array Name="gOptionsDividerTopVtx" Count="4" Offset="0xE5F0" Static="Off">
<Vtx/>
</Array>
<Array Name="gOptionsDividerMiddleVtx" Count="4" Offset="0xE630" Static="Off">
<Vtx/>
</Array>
<Array Name="gOptionsDividerBottomVtx" Count="4" Offset="0xE670" Static="Off">
<Vtx/>
</Array>
</File>
</Root>

View file

@ -1,13 +1,13 @@
<Root> <Root>
<ExternalFile XmlPath="objects/gameplay_keep.xml" OutPath="assets/objects/gameplay_keep/"/> <ExternalFile XmlPath="objects/gameplay_keep.xml" OutPath="assets/objects/gameplay_keep/"/>
<File Name="ovl_Magic_Dark" BaseAddress="0x80B873D0" RangeStart="0xD10" RangeEnd="0x1740"> <File Name="ovl_Magic_Dark">
<Texture Name="sDiamondTex" OutName="diamond_texture" Format="i8" Width="32" Height="64" Offset="0xD10"/> <Texture Name="sDiamondTex" OutName="diamond_texture" Format="i8" Width="32" Height="64" Offset="0x0"/>
<Array Name="sDiamondVtx" Count="20" Offset="0x1510"> <Array Name="sDiamondVtx" Count="20" Offset="0x800">
<Vtx/> <Vtx/>
</Array> </Array>
<DList Name="sDiamondMaterialDL" Offset="0x1650"/> <DList Name="sDiamondMaterialDL" Offset="0x940"/>
<DList Name="sDiamondModelDL" Offset="0x1700"/> <DList Name="sDiamondModelDL" Offset="0x9F0"/>
</File> </File>
</Root> </Root>

View file

@ -1,10 +1,10 @@
<Root> <Root>
<File Name="ovl_Magic_Fire" BaseAddress="0x80B88D70" RangeStart="0xB90" RangeEnd="0x21E0"> <File Name="ovl_Magic_Fire">
<Texture Name="sTex" OutName="dins_fire" Format="i8" Width="64" Height="64" Offset="0xB90"/> <Texture Name="sTex" OutName="dins_fire" Format="i8" Width="64" Height="64" Offset="0x0"/>
<Array Name="sSphereVtx" Count="76" Offset="0x1B90"> <Array Name="sSphereVtx" Count="76" Offset="0x1000">
<Vtx/> <Vtx/>
</Array> </Array>
<DList Name="sMaterialDL" Offset="0x2050"/> <DList Name="sMaterialDL" Offset="0x14C0"/>
<DList Name="sModelDL" Offset="0x2078"/> <DList Name="sModelDL" Offset="0x14E8"/>
</File> </File>
</Root> </Root>

View file

@ -1,15 +1,15 @@
<Root> <Root>
<File Name="ovl_Magic_Wind" BaseAddress="0x80B8B100" RangeStart="0x780" RangeEnd="0x1C98"> <File Name="ovl_Magic_Wind">
<Skeleton Name="sSkel" Type="Curve" LimbType="Curve" Offset="0x1C90"/> <Skeleton Name="sSkel" Type="Curve" LimbType="Curve" Offset="0x1510"/>
<CurveAnimation Name="sAnim" SkelOffset="0x1C90" Offset="0x1C50"/> <CurveAnimation Name="sAnim" SkelOffset="0x1510" Offset="0x14D0"/>
<Limb Name="sRootLimb" LimbType="Curve" Offset="0x1C60"/> <Limb Name="sRootLimb" LimbType="Curve" Offset="0x14E0"/>
<Limb Name="sInnerCylinderLimb" LimbType="Curve" Offset="0x1C6C"/> <Limb Name="sInnerCylinderLimb" LimbType="Curve" Offset="0x14EC"/>
<Limb Name="sOuterCylinderLimb" LimbType="Curve" Offset="0x1C78"/> <Limb Name="sOuterCylinderLimb" LimbType="Curve" Offset="0x14F8"/>
<Array Name="sCylinderVtx" Count="36" Offset="0x780"> <Array Name="sCylinderVtx" Count="36" Offset="0x0">
<Vtx/> <Vtx/>
</Array> </Array>
<Texture Name="sTex" OutName="magic_wind" Format="i8" Width="64" Height="64" Offset="0x9C0"/> <Texture Name="sTex" OutName="magic_wind" Format="i8" Width="64" Height="64" Offset="0x240"/>
<DList Name="sInnerCylinderDL" Offset="0x19C0"/> <DList Name="sInnerCylinderDL" Offset="0x1240"/>
<DList Name="sOuterCylinderDL" Offset="0x1AC8"/> <DList Name="sOuterCylinderDL" Offset="0x1348"/>
</File> </File>
</Root> </Root>

View file

@ -1,10 +1,10 @@
<Root> <Root>
<File Name="ovl_Oceff_Spot" BaseAddress="0x80BA6070" RangeStart="0x7F0" RangeEnd="0xEC8"> <File Name="ovl_Oceff_Spot">
<Texture Name="sTex" OutName="sun_song_effect" Format="i8" Width="32" Height="32" Offset="0x7F0"/> <Texture Name="sTex" OutName="sun_song_effect" Format="i8" Width="32" Height="32" Offset="0x0"/>
<Array Name="sCylinderVtx" Count="27" Offset="0xBF0"> <Array Name="sCylinderVtx" Count="27" Offset="0x400">
<Vtx/> <Vtx/>
</Array> </Array>
<DList Name="sCylinderMaterialDL" Offset="0xDA0"/> <DList Name="sCylinderMaterialDL" Offset="0x5B0"/>
<DList Name="sCylinderModelDL" Offset="0xE38"/> <DList Name="sCylinderModelDL" Offset="0x648"/>
</File> </File>
</Root> </Root>

View file

@ -1,12 +1,12 @@
<Root> <Root>
<ExternalFile XmlPath="objects/gameplay_keep.xml" OutPath="assets/objects/gameplay_keep/"/> <ExternalFile XmlPath="objects/gameplay_keep.xml" OutPath="assets/objects/gameplay_keep/"/>
<File Name="ovl_Oceff_Storm" BaseAddress="0x80BA70E0" RangeStart="0x7B0" RangeEnd="0x1B40"> <File Name="ovl_Oceff_Storm">
<Texture Name="sTex" OutName="song_of_storms_effect" Format="i8" Width="64" Height="64" Offset="0x7B0"/> <Texture Name="sTex" OutName="song_of_storms_effect" Format="i8" Width="64" Height="64" Offset="0x0"/>
<DList Name="sMaterialDL" Offset="0x17B0"/> <DList Name="sMaterialDL" Offset="0x1000"/>
<Array Name="sCylinderVtx" Count="27" Offset="0x1858"> <Array Name="sCylinderVtx" Count="27" Offset="0x10A8">
<Vtx/> <Vtx/>
</Array> </Array>
<DList Name="sCylinderMaterialDL" Offset="0x1A08"/> <DList Name="sCylinderMaterialDL" Offset="0x1258"/>
<DList Name="sCylinderModelDL" Offset="0x1AB0"/> <DList Name="sCylinderModelDL" Offset="0x1300"/>
</File> </File>
</Root> </Root>

View file

@ -1,10 +1,10 @@
<Root> <Root>
<File Name="ovl_Oceff_Wipe" BaseAddress="0x80BA8D90" RangeStart="0x550" RangeEnd="0xD10"> <File Name="ovl_Oceff_Wipe">
<Texture Name="sTex" OutName="oceff" Format="i8" Width="32" Height="32" Offset="0x550"/> <Texture Name="sTex" OutName="oceff" Format="i8" Width="32" Height="32" Offset="0x0"/>
<Array Name="sFrustumVtx" Count="40" Offset="0x950"> <Array Name="sFrustumVtx" Count="40" Offset="0x400">
<Vtx/> <Vtx/>
</Array> </Array>
<DList Name="sMaterialDL" Offset="0xBD0"/> <DList Name="sMaterialDL" Offset="0x680"/>
<DList Name="sFrustumDL" Offset="0xC58"/> <DList Name="sFrustumDL" Offset="0x708"/>
</File> </File>
</Root> </Root>

View file

@ -1,11 +1,11 @@
<Root> <Root>
<File Name="ovl_Oceff_Wipe2" BaseAddress="0x80BA9BB0" RangeStart="0x480" RangeEnd="0x16E8"> <File Name="ovl_Oceff_Wipe2">
<Texture Name="s1Tex" OutName="eponas_song_effect_1" Format="i4" Width="64" Height="64" Offset="0x480"/> <Texture Name="s1Tex" OutName="eponas_song_effect_1" Format="i4" Width="64" Height="64" Offset="0x0"/>
<Texture Name="s2Tex" OutName="eponas_song_effect_2" Format="i4" Width="64" Height="64" Offset="0xC80"/> <Texture Name="s2Tex" OutName="eponas_song_effect_2" Format="i4" Width="64" Height="64" Offset="0x800"/>
<Array Name="sFrustumVtx" Count="22" Offset="0x1480"> <Array Name="sFrustumVtx" Count="22" Offset="0x1000">
<Vtx/> <Vtx/>
</Array> </Array>
<DList Name="sMaterialDL" Offset="0x15E0"/> <DList Name="sMaterialDL" Offset="0x1160"/>
<DList Name="sFrustumDL" Offset="0x1688"/> <DList Name="sFrustumDL" Offset="0x1208"/>
</File> </File>
</Root> </Root>

View file

@ -1,10 +1,10 @@
<Root> <Root>
<File Name="ovl_Oceff_Wipe3" BaseAddress="0x80BAB3F0" RangeStart="0x480" RangeEnd="0x16C8"> <File Name="ovl_Oceff_Wipe3">
<Texture Name="sTex" OutName="saria_song_effect" Format="i8" Width="64" Height="64" Offset="0x480"/> <Texture Name="sTex" OutName="saria_song_effect" Format="i8" Width="64" Height="64" Offset="0x0"/>
<Array Name="sFrustumVtx" Count="22" Offset="0x1480"> <Array Name="sFrustumVtx" Count="22" Offset="0x1000">
<Vtx/> <Vtx/>
</Array> </Array>
<DList Name="sMaterialDL" Offset="0x15E0"/> <DList Name="sMaterialDL" Offset="0x1160"/>
<DList Name="sFrustumDL" Offset="0x1668"/> <DList Name="sFrustumDL" Offset="0x11E8"/>
</File> </File>
</Root> </Root>

View file

@ -1,12 +1,12 @@
<Root> <Root>
<ExternalFile XmlPath="objects/gameplay_keep.xml" OutPath="assets/objects/gameplay_keep/"/> <ExternalFile XmlPath="objects/gameplay_keep.xml" OutPath="assets/objects/gameplay_keep/"/>
<File Name="ovl_Oceff_Wipe4" BaseAddress="0x80BACC10" RangeStart="0x460" RangeEnd="0xF48"> <File Name="ovl_Oceff_Wipe4">
<Texture Name="sTex" OutName="scarecrow_song_effect" Format="i8" Width="32" Height="64" Offset="0x460"/> <Texture Name="sTex" OutName="scarecrow_song_effect" Format="i8" Width="32" Height="64" Offset="0x0"/>
<Array Name="sFrustumVtx" Count="22" Offset="0xC60"> <Array Name="sFrustumVtx" Count="22" Offset="0x800">
<Vtx/> <Vtx/>
</Array> </Array>
<DList Name="sMaterialDL" Offset="0xDC0"/> <DList Name="sMaterialDL" Offset="0x960"/>
<DList Name="sUnusedMaterialDL" Offset="0xE28"/> <DList Name="sUnusedMaterialDL" Offset="0x9C8"/>
<DList Name="sMaterial2DL" Offset="0xE90"/> <DList Name="sMaterial2DL" Offset="0xA30"/>
</File> </File>
</Root> </Root>

View file

@ -0,0 +1,28 @@
<Root>
<File Name="ovl_file_choose">
<Array Name="D_80811BB0" Count="24" Offset="0x0" Static="Off">
<Vtx/>
</Array>
<Array Name="D_80811D30" Count="16" Offset="0x180" Static="Off">
<Vtx/>
</Array>
<Array Name="D_80811E30" Count="16" Offset="0x280" Static="Off">
<Vtx/>
</Array>
<Array Name="D_80811F30" Count="32" Offset="0x380" Static="Off">
<Vtx/>
</Array>
<Array Name="D_80812130" Count="32" Offset="0x580" Static="Off">
<Vtx/>
</Array>
<Array Name="gOptionsDividerTopVtx" Count="4" Offset="0x780" Static="Off">
<Vtx/>
</Array>
<Array Name="gOptionsDividerMiddleVtx" Count="4" Offset="0x7C0" Static="Off">
<Vtx/>
</Array>
<Array Name="gOptionsDividerBottomVtx" Count="4" Offset="0x800" Static="Off">
<Vtx/>
</Array>
</File>
</Root>

View file

@ -6,3 +6,634 @@ variables:
sFraMessageEntryTable: 0x80151658 sFraMessageEntryTable: 0x80151658
sStaffMessageEntryTable: 0x80153768 sStaffMessageEntryTable: 0x80153768
sNesMessageEntryTablePtr: 0x801538F0 sNesMessageEntryTablePtr: 0x801538F0
assets:
- xml_path: assets/xml/code/fbdemo_circle.xml
start_offset: 0x10ED48
end_offset: 0x10FF68
- xml_path: assets/xml/code/fbdemo_triforce.xml
start_offset: 0x10E1D0
end_offset: 0x10E2A0
- xml_path: assets/xml/code/fbdemo_wipe1.xml
start_offset: 0x10E2A0
end_offset: 0x10EC30
- xml_path: assets/xml/misc/link_animetion.xml
- xml_path: assets/xml/misc/z_select_static.xml
- xml_path: assets/xml/objects/gameplay_dangeon_keep.xml
- xml_path: assets/xml/objects/gameplay_field_keep.xml
- xml_path: assets/xml/objects/gameplay_keep.xml
- xml_path: assets/xml/objects/object_ahg.xml
- xml_path: assets/xml/objects/object_am.xml
- xml_path: assets/xml/objects/object_ane.xml
- xml_path: assets/xml/objects/object_ani.xml
- xml_path: assets/xml/objects/object_anubice.xml
- xml_path: assets/xml/objects/object_aob.xml
- xml_path: assets/xml/objects/object_b_heart.xml
- xml_path: assets/xml/objects/object_Bb.xml
- xml_path: assets/xml/objects/object_bba.xml
- xml_path: assets/xml/objects/object_bdan_objects.xml
- xml_path: assets/xml/objects/object_bdoor.xml
- xml_path: assets/xml/objects/object_bg.xml
- xml_path: assets/xml/objects/object_bigokuta.xml
- xml_path: assets/xml/objects/object_bird.xml
- xml_path: assets/xml/objects/object_bji.xml
- xml_path: assets/xml/objects/object_bl.xml
- xml_path: assets/xml/objects/object_blkobj.xml
- xml_path: assets/xml/objects/object_bob.xml
- xml_path: assets/xml/objects/object_boj.xml
- xml_path: assets/xml/objects/object_bombf.xml
- xml_path: assets/xml/objects/object_bombiwa.xml
- xml_path: assets/xml/objects/object_bowl.xml
- xml_path: assets/xml/objects/object_box.xml
- xml_path: assets/xml/objects/object_brob.xml
- xml_path: assets/xml/objects/object_bubble.xml
- xml_path: assets/xml/objects/object_bv.xml
- xml_path: assets/xml/objects/object_bw.xml
- xml_path: assets/xml/objects/object_bwall.xml
- xml_path: assets/xml/objects/object_bxa.xml
- xml_path: assets/xml/objects/object_cne.xml
- xml_path: assets/xml/objects/object_cob.xml
- xml_path: assets/xml/objects/object_cow.xml
- xml_path: assets/xml/objects/object_crow.xml
- xml_path: assets/xml/objects/object_cs.xml
- xml_path: assets/xml/objects/object_d_elevator.xml
- xml_path: assets/xml/objects/object_d_hsblock.xml
- xml_path: assets/xml/objects/object_d_lift.xml
- xml_path: assets/xml/objects/object_daiku.xml
- xml_path: assets/xml/objects/object_ddan_objects.xml
- xml_path: assets/xml/objects/object_dekubaba.xml
- xml_path: assets/xml/objects/object_dekujr.xml
- xml_path: assets/xml/objects/object_dekunuts.xml
- xml_path: assets/xml/objects/object_demo_6k.xml
- xml_path: assets/xml/objects/object_demo_kekkai.xml
- xml_path: assets/xml/objects/object_demo_tre_lgt.xml
- xml_path: assets/xml/objects/object_dh.xml
- xml_path: assets/xml/objects/object_dnk.xml
- xml_path: assets/xml/objects/object_dns.xml
- xml_path: assets/xml/objects/object_dodojr.xml
- xml_path: assets/xml/objects/object_dodongo.xml
- xml_path: assets/xml/objects/object_dog.xml
- xml_path: assets/xml/objects/object_door_gerudo.xml
- xml_path: assets/xml/objects/object_door_killer.xml
- xml_path: assets/xml/objects/object_ds.xml
- xml_path: assets/xml/objects/object_ds2.xml
- xml_path: assets/xml/objects/object_du.xml
- xml_path: assets/xml/objects/object_dy_obj.xml
- xml_path: assets/xml/objects/object_ec.xml
- xml_path: assets/xml/objects/object_efc_crystal_light.xml
- xml_path: assets/xml/objects/object_efc_doughnut.xml
- xml_path: assets/xml/objects/object_efc_erupc.xml
- xml_path: assets/xml/objects/object_efc_fire_ball.xml
- xml_path: assets/xml/objects/object_efc_flash.xml
- xml_path: assets/xml/objects/object_efc_lgt_shower.xml
- xml_path: assets/xml/objects/object_efc_star_field.xml
- xml_path: assets/xml/objects/object_efc_tw.xml
- xml_path: assets/xml/objects/object_ei.xml
- xml_path: assets/xml/objects/object_fa.xml
- xml_path: assets/xml/objects/object_fd.xml
- xml_path: assets/xml/objects/object_fd2.xml
- xml_path: assets/xml/objects/object_fhg.xml
- xml_path: assets/xml/objects/object_fire.xml
- xml_path: assets/xml/objects/object_firefly.xml
- xml_path: assets/xml/objects/object_fish.xml
- xml_path: assets/xml/objects/object_fr.xml
- xml_path: assets/xml/objects/object_fu.xml
- xml_path: assets/xml/objects/object_fw.xml
- xml_path: assets/xml/objects/object_fz.xml
- xml_path: assets/xml/objects/object_ganon.xml
- xml_path: assets/xml/objects/object_ganon2.xml
- xml_path: assets/xml/objects/object_ganon_anime1.xml
- xml_path: assets/xml/objects/object_ganon_anime2.xml
- xml_path: assets/xml/objects/object_ganon_anime3.xml
- xml_path: assets/xml/objects/object_ganon_objects.xml
- xml_path: assets/xml/objects/object_ge1.xml
- xml_path: assets/xml/objects/object_geff.xml
- xml_path: assets/xml/objects/object_geldb.xml
- xml_path: assets/xml/objects/object_gi_arrow.xml
- xml_path: assets/xml/objects/object_gi_arrowcase.xml
- xml_path: assets/xml/objects/object_gi_bean.xml
- xml_path: assets/xml/objects/object_gi_bomb_1.xml
- xml_path: assets/xml/objects/object_gi_bomb_2.xml
- xml_path: assets/xml/objects/object_gi_bombpouch.xml
- xml_path: assets/xml/objects/object_gi_boomerang.xml
- xml_path: assets/xml/objects/object_gi_boots_2.xml
- xml_path: assets/xml/objects/object_gi_bosskey.xml
- xml_path: assets/xml/objects/object_gi_bottle.xml
- xml_path: assets/xml/objects/object_gi_bottle_letter.xml
- xml_path: assets/xml/objects/object_gi_bow.xml
- xml_path: assets/xml/objects/object_gi_bracelet.xml
- xml_path: assets/xml/objects/object_gi_brokensword.xml
- xml_path: assets/xml/objects/object_gi_butterfly.xml
- xml_path: assets/xml/objects/object_gi_clothes.xml
- xml_path: assets/xml/objects/object_gi_coin.xml
- xml_path: assets/xml/objects/object_gi_compass.xml
- xml_path: assets/xml/objects/object_gi_dekupouch.xml
- xml_path: assets/xml/objects/object_gi_egg.xml
- xml_path: assets/xml/objects/object_gi_eye_lotion.xml
- xml_path: assets/xml/objects/object_gi_fire.xml
- xml_path: assets/xml/objects/object_gi_fish.xml
- xml_path: assets/xml/objects/object_gi_frog.xml
- xml_path: assets/xml/objects/object_gi_gerudo.xml
- xml_path: assets/xml/objects/object_gi_gerudomask.xml
- xml_path: assets/xml/objects/object_gi_ghost.xml
- xml_path: assets/xml/objects/object_gi_glasses.xml
- xml_path: assets/xml/objects/object_gi_gloves.xml
- xml_path: assets/xml/objects/object_gi_goddess.xml
- xml_path: assets/xml/objects/object_gi_golonmask.xml
- xml_path: assets/xml/objects/object_gi_grass.xml
- xml_path: assets/xml/objects/object_gi_hammer.xml
- xml_path: assets/xml/objects/object_gi_heart.xml
- xml_path: assets/xml/objects/object_gi_hearts.xml
- xml_path: assets/xml/objects/object_gi_hookshot.xml
- xml_path: assets/xml/objects/object_gi_hoverboots.xml
- xml_path: assets/xml/objects/object_gi_insect.xml
- xml_path: assets/xml/objects/object_gi_jewel.xml
- xml_path: assets/xml/objects/object_gi_key.xml
- xml_path: assets/xml/objects/object_gi_ki_tan_mask.xml
- xml_path: assets/xml/objects/object_gi_letter.xml
- xml_path: assets/xml/objects/object_gi_liquid.xml
- xml_path: assets/xml/objects/object_gi_longsword.xml
- xml_path: assets/xml/objects/object_gi_m_arrow.xml
- xml_path: assets/xml/objects/object_gi_magicpot.xml
- xml_path: assets/xml/objects/object_gi_map.xml
- xml_path: assets/xml/objects/object_gi_medal.xml
- xml_path: assets/xml/objects/object_gi_melody.xml
- xml_path: assets/xml/objects/object_gi_milk.xml
- xml_path: assets/xml/objects/object_gi_mushroom.xml
- xml_path: assets/xml/objects/object_gi_niwatori.xml
- xml_path: assets/xml/objects/object_gi_nuts.xml
- xml_path: assets/xml/objects/object_gi_ocarina.xml
- xml_path: assets/xml/objects/object_gi_ocarina_0.xml
- xml_path: assets/xml/objects/object_gi_pachinko.xml
- xml_path: assets/xml/objects/object_gi_powder.xml
- xml_path: assets/xml/objects/object_gi_prescription.xml
- xml_path: assets/xml/objects/object_gi_purse.xml
- xml_path: assets/xml/objects/object_gi_rabit_mask.xml
- xml_path: assets/xml/objects/object_gi_redead_mask.xml
- xml_path: assets/xml/objects/object_gi_rupy.xml
- xml_path: assets/xml/objects/object_gi_saw.xml
- xml_path: assets/xml/objects/object_gi_scale.xml
- xml_path: assets/xml/objects/object_gi_seed.xml
- xml_path: assets/xml/objects/object_gi_shield_1.xml
- xml_path: assets/xml/objects/object_gi_shield_2.xml
- xml_path: assets/xml/objects/object_gi_shield_3.xml
- xml_path: assets/xml/objects/object_gi_skj_mask.xml
- xml_path: assets/xml/objects/object_gi_soldout.xml
- xml_path: assets/xml/objects/object_gi_soul.xml
- xml_path: assets/xml/objects/object_gi_stick.xml
- xml_path: assets/xml/objects/object_gi_sutaru.xml
- xml_path: assets/xml/objects/object_gi_sword_1.xml
- xml_path: assets/xml/objects/object_gi_ticketstone.xml
- xml_path: assets/xml/objects/object_gi_truth_mask.xml
- xml_path: assets/xml/objects/object_gi_zoramask.xml
- xml_path: assets/xml/objects/object_gj.xml
- xml_path: assets/xml/objects/object_gjyo_objects.xml
- xml_path: assets/xml/objects/object_gla.xml
- xml_path: assets/xml/objects/object_gm.xml
- xml_path: assets/xml/objects/object_gnd.xml
- xml_path: assets/xml/objects/object_gnd_magic.xml
- xml_path: assets/xml/objects/object_gndd.xml
- xml_path: assets/xml/objects/object_god_lgt.xml
- xml_path: assets/xml/objects/object_gol.xml
- xml_path: assets/xml/objects/object_goma.xml
- xml_path: assets/xml/objects/object_goroiwa.xml
- xml_path: assets/xml/objects/object_gr.xml
- xml_path: assets/xml/objects/object_gs.xml
- xml_path: assets/xml/objects/object_gt.xml
- xml_path: assets/xml/objects/object_haka.xml
- xml_path: assets/xml/objects/object_haka_door.xml
- xml_path: assets/xml/objects/object_haka_objects.xml
- xml_path: assets/xml/objects/object_hakach_objects.xml
- xml_path: assets/xml/objects/object_hata.xml
- xml_path: assets/xml/objects/object_heavy_object.xml
- xml_path: assets/xml/objects/object_hidan_objects.xml
- xml_path: assets/xml/objects/object_hintnuts.xml
- xml_path: assets/xml/objects/object_hni.xml
- xml_path: assets/xml/objects/object_horse.xml
- xml_path: assets/xml/objects/object_horse_ganon.xml
- xml_path: assets/xml/objects/object_horse_link_child.xml
- xml_path: assets/xml/objects/object_horse_normal.xml
- xml_path: assets/xml/objects/object_horse_zelda.xml
- xml_path: assets/xml/objects/object_hs.xml
- xml_path: assets/xml/objects/object_human.xml
- xml_path: assets/xml/objects/object_ice_objects.xml
- xml_path: assets/xml/objects/object_ik.xml
- xml_path: assets/xml/objects/object_im.xml
- xml_path: assets/xml/objects/object_in.xml
- xml_path: assets/xml/objects/object_ingate.xml
- xml_path: assets/xml/objects/object_jj.xml
- xml_path: assets/xml/objects/object_js.xml
- xml_path: assets/xml/objects/object_jya_door.xml
- xml_path: assets/xml/objects/object_jya_iron.xml
- xml_path: assets/xml/objects/object_jya_obj.xml
- xml_path: assets/xml/objects/object_ka.xml
- xml_path: assets/xml/objects/object_kanban.xml
- xml_path: assets/xml/objects/object_kibako2.xml
- xml_path: assets/xml/objects/object_kingdodongo.xml
- xml_path: assets/xml/objects/object_km1.xml
- xml_path: assets/xml/objects/object_kusa.xml
- xml_path: assets/xml/objects/object_kw1.xml
- xml_path: assets/xml/objects/object_kz.xml
- xml_path: assets/xml/objects/object_light_ring.xml
- xml_path: assets/xml/objects/object_lightbox.xml
- xml_path: assets/xml/objects/object_lightswitch.xml
- xml_path: assets/xml/objects/object_link_boy.xml
- xml_path: assets/xml/objects/object_link_child.xml
- xml_path: assets/xml/objects/object_ma1.xml
- xml_path: assets/xml/objects/object_ma2.xml
- xml_path: assets/xml/objects/object_mag.xml
- xml_path: assets/xml/objects/object_mamenoki.xml
- xml_path: assets/xml/objects/object_mastergolon.xml
- xml_path: assets/xml/objects/object_masterkokiri.xml
- xml_path: assets/xml/objects/object_masterkokirihead.xml
- xml_path: assets/xml/objects/object_masterzoora.xml
- xml_path: assets/xml/objects/object_mb.xml
- xml_path: assets/xml/objects/object_md.xml
- xml_path: assets/xml/objects/object_medal.xml
- xml_path: assets/xml/objects/object_menkuri_objects.xml
- xml_path: assets/xml/objects/object_mir_ray.xml
- xml_path: assets/xml/objects/object_mizu_objects.xml
- xml_path: assets/xml/objects/object_mjin.xml
- xml_path: assets/xml/objects/object_mjin_dark.xml
- xml_path: assets/xml/objects/object_mjin_flame.xml
- xml_path: assets/xml/objects/object_mjin_flash.xml
- xml_path: assets/xml/objects/object_mjin_ice.xml
- xml_path: assets/xml/objects/object_mjin_oka.xml
- xml_path: assets/xml/objects/object_mjin_soul.xml
- xml_path: assets/xml/objects/object_mjin_wind.xml
- xml_path: assets/xml/objects/object_mk.xml
- xml_path: assets/xml/objects/object_mm.xml
- xml_path: assets/xml/objects/object_mo.xml
- xml_path: assets/xml/objects/object_mori_hineri1.xml
- xml_path: assets/xml/objects/object_mori_hineri1a.xml
- xml_path: assets/xml/objects/object_mori_hineri2.xml
- xml_path: assets/xml/objects/object_mori_hineri2a.xml
- xml_path: assets/xml/objects/object_mori_objects.xml
- xml_path: assets/xml/objects/object_mori_tex.xml
- xml_path: assets/xml/objects/object_ms.xml
- xml_path: assets/xml/objects/object_mu.xml
- xml_path: assets/xml/objects/object_nb.xml
- xml_path: assets/xml/objects/object_niw.xml
- xml_path: assets/xml/objects/object_nwc.xml
- xml_path: assets/xml/objects/object_ny.xml
- xml_path: assets/xml/objects/object_o_anime.xml
- xml_path: assets/xml/objects/object_oA1.xml
- xml_path: assets/xml/objects/object_oA2.xml
- xml_path: assets/xml/objects/object_oA3.xml
- xml_path: assets/xml/objects/object_oA4.xml
- xml_path: assets/xml/objects/object_oA5.xml
- xml_path: assets/xml/objects/object_oA6.xml
- xml_path: assets/xml/objects/object_oA7.xml
- xml_path: assets/xml/objects/object_oA8.xml
- xml_path: assets/xml/objects/object_oA9.xml
- xml_path: assets/xml/objects/object_oA10.xml
- xml_path: assets/xml/objects/object_oA11.xml
- xml_path: assets/xml/objects/object_oB1.xml
- xml_path: assets/xml/objects/object_oB2.xml
- xml_path: assets/xml/objects/object_oB3.xml
- xml_path: assets/xml/objects/object_oB4.xml
- xml_path: assets/xml/objects/object_oE1.xml
- xml_path: assets/xml/objects/object_oE1s.xml
- xml_path: assets/xml/objects/object_oE2.xml
- xml_path: assets/xml/objects/object_oE3.xml
- xml_path: assets/xml/objects/object_oE4.xml
- xml_path: assets/xml/objects/object_oE4s.xml
- xml_path: assets/xml/objects/object_oE5.xml
- xml_path: assets/xml/objects/object_oE6.xml
- xml_path: assets/xml/objects/object_oE7.xml
- xml_path: assets/xml/objects/object_oE8.xml
- xml_path: assets/xml/objects/object_oE9.xml
- xml_path: assets/xml/objects/object_oE10.xml
- xml_path: assets/xml/objects/object_oE11.xml
- xml_path: assets/xml/objects/object_oE12.xml
- xml_path: assets/xml/objects/object_oE_anime.xml
- xml_path: assets/xml/objects/object_oF1d_map.xml
- xml_path: assets/xml/objects/object_oF1s.xml
- xml_path: assets/xml/objects/object_okuta.xml
- xml_path: assets/xml/objects/object_opening_demo1.xml
- xml_path: assets/xml/objects/object_os.xml
- xml_path: assets/xml/objects/object_os_anime.xml
- xml_path: assets/xml/objects/object_ossan.xml
- xml_path: assets/xml/objects/object_ouke_haka.xml
- xml_path: assets/xml/objects/object_owl.xml
- xml_path: assets/xml/objects/object_peehat.xml
- xml_path: assets/xml/objects/object_po_composer.xml
- xml_path: assets/xml/objects/object_po_field.xml
- xml_path: assets/xml/objects/object_po_sisters.xml
- xml_path: assets/xml/objects/object_poh.xml
- xml_path: assets/xml/objects/object_ps.xml
- xml_path: assets/xml/objects/object_pu_box.xml
- xml_path: assets/xml/objects/object_rd.xml
- xml_path: assets/xml/objects/object_reeba.xml
- xml_path: assets/xml/objects/object_relay_objects.xml
- xml_path: assets/xml/objects/object_rl.xml
- xml_path: assets/xml/objects/object_rr.xml
- xml_path: assets/xml/objects/object_rs.xml
- xml_path: assets/xml/objects/object_ru1.xml
- xml_path: assets/xml/objects/object_ru2.xml
- xml_path: assets/xml/objects/object_sa.xml
- xml_path: assets/xml/objects/object_sb.xml
- xml_path: assets/xml/objects/object_sd.xml
- xml_path: assets/xml/objects/object_shop_dungen.xml
- xml_path: assets/xml/objects/object_shopnuts.xml
- xml_path: assets/xml/objects/object_siofuki.xml
- xml_path: assets/xml/objects/object_sk2.xml
- xml_path: assets/xml/objects/object_skb.xml
- xml_path: assets/xml/objects/object_skj.xml
- xml_path: assets/xml/objects/object_spot00_break.xml
- xml_path: assets/xml/objects/object_spot00_objects.xml
- xml_path: assets/xml/objects/object_spot01_matoya.xml
- xml_path: assets/xml/objects/object_spot01_matoyab.xml
- xml_path: assets/xml/objects/object_spot01_objects.xml
- xml_path: assets/xml/objects/object_spot01_objects2.xml
- xml_path: assets/xml/objects/object_spot02_objects.xml
- xml_path: assets/xml/objects/object_spot03_object.xml
- xml_path: assets/xml/objects/object_spot04_objects.xml
- xml_path: assets/xml/objects/object_spot05_objects.xml
- xml_path: assets/xml/objects/object_spot06_objects.xml
- xml_path: assets/xml/objects/object_spot07_object.xml
- xml_path: assets/xml/objects/object_spot08_obj.xml
- xml_path: assets/xml/objects/object_spot09_obj.xml
- xml_path: assets/xml/objects/object_spot11_obj.xml
- xml_path: assets/xml/objects/object_spot12_obj.xml
- xml_path: assets/xml/objects/object_spot15_obj.xml
- xml_path: assets/xml/objects/object_spot16_obj.xml
- xml_path: assets/xml/objects/object_spot17_obj.xml
- xml_path: assets/xml/objects/object_spot18_obj.xml
- xml_path: assets/xml/objects/object_ssh.xml
- xml_path: assets/xml/objects/object_sst.xml
- xml_path: assets/xml/objects/object_st.xml
- xml_path: assets/xml/objects/object_stream.xml
- xml_path: assets/xml/objects/object_syokudai.xml
- xml_path: assets/xml/objects/object_ta.xml
- xml_path: assets/xml/objects/object_timeblock.xml
- xml_path: assets/xml/objects/object_tite.xml
- xml_path: assets/xml/objects/object_tk.xml
- xml_path: assets/xml/objects/object_toki_objects.xml
- xml_path: assets/xml/objects/object_torch2.xml
- xml_path: assets/xml/objects/object_toryo.xml
- xml_path: assets/xml/objects/object_tp.xml
- xml_path: assets/xml/objects/object_tr.xml
- xml_path: assets/xml/objects/object_trap.xml
- xml_path: assets/xml/objects/object_triforce_spot.xml
- xml_path: assets/xml/objects/object_ts.xml
- xml_path: assets/xml/objects/object_tsubo.xml
- xml_path: assets/xml/objects/object_tw.xml
- xml_path: assets/xml/objects/object_umajump.xml
- xml_path: assets/xml/objects/object_vali.xml
- xml_path: assets/xml/objects/object_vase.xml
- xml_path: assets/xml/objects/object_vm.xml
- xml_path: assets/xml/objects/object_wallmaster.xml
- xml_path: assets/xml/objects/object_warp1.xml
- xml_path: assets/xml/objects/object_warp2.xml
- xml_path: assets/xml/objects/object_wf.xml
- xml_path: assets/xml/objects/object_wood02.xml
- xml_path: assets/xml/objects/object_xc.xml
- xml_path: assets/xml/objects/object_yabusame_point.xml
- xml_path: assets/xml/objects/object_ydan_objects.xml
- xml_path: assets/xml/objects/object_yukabyun.xml
- xml_path: assets/xml/objects/object_zf.xml
- xml_path: assets/xml/objects/object_zg.xml
- xml_path: assets/xml/objects/object_zl1.xml
- xml_path: assets/xml/objects/object_zl2.xml
- xml_path: assets/xml/objects/object_zl2_anime1.xml
- xml_path: assets/xml/objects/object_zl2_anime2.xml
- xml_path: assets/xml/objects/object_zl4.xml
- xml_path: assets/xml/objects/object_zo.xml
- xml_path: assets/xml/overlays/ovl_Arrow_Fire.xml
start_offset: 0x9D0
end_offset: 0x1DF0
- xml_path: assets/xml/overlays/ovl_Arrow_Ice.xml
start_offset: 0x9F0
end_offset: 0x1E10
- xml_path: assets/xml/overlays/ovl_Arrow_Light.xml
start_offset: 0xA00
end_offset: 0x1E20
- xml_path: assets/xml/overlays/ovl_Bg_Ganon_Otyuka.xml
start_offset: 0x11C0
end_offset: 0x259C
- xml_path: assets/xml/overlays/ovl_Bg_Jya_Cobra.xml
start_offset: 0x1980
end_offset: 0x19F8
- xml_path: assets/xml/overlays/ovl_Boss_Dodongo.xml
start_offset: 0x6238
end_offset: 0x9238
- xml_path: assets/xml/overlays/ovl_Boss_Ganon.xml
start_offset: 0xE6B8
end_offset: 0x211D8
- xml_path: assets/xml/overlays/ovl_Boss_Ganon2.xml
start_offset: 0xA2C8
end_offset: 0x10778
- xml_path: assets/xml/overlays/ovl_Boss_Sst.xml
start_offset: 0xA3C0
end_offset: 0xAD70
- xml_path: assets/xml/overlays/ovl_Demo_Shd.xml
start_offset: 0x450
end_offset: 0x23D0
- xml_path: assets/xml/overlays/ovl_Effect_Ss_Fhg_Flash.xml
start_offset: 0xA60
end_offset: 0xF18
- xml_path: assets/xml/overlays/ovl_Elf_Msg.xml
start_offset: 0x758
end_offset: 0x9D8
- xml_path: assets/xml/overlays/ovl_Elf_Msg2.xml
start_offset: 0x538
end_offset: 0x638
- xml_path: assets/xml/overlays/ovl_En_Bili.xml
start_offset: 0x1E50
end_offset: 0x1E70
- xml_path: assets/xml/overlays/ovl_En_Clear_Tag.xml
start_offset: 0x26F0
end_offset: 0x89F0
- xml_path: assets/xml/overlays/ovl_En_Ganon_Mant.xml
start_offset: 0x1218
end_offset: 0x4118
- xml_path: assets/xml/overlays/ovl_En_Ganon_Organ.xml
start_offset: 0x3E8
end_offset: 0x6F70
- xml_path: assets/xml/overlays/ovl_En_Holl.xml
start_offset: 0xE78
end_offset: 0xEE0
- xml_path: assets/xml/overlays/ovl_En_Jsjutan.xml
start_offset: 0x12F8
end_offset: 0x4C90
- xml_path: assets/xml/overlays/ovl_En_Kanban.xml
start_offset: 0x2F80
end_offset: 0x3040
- xml_path: assets/xml/overlays/ovl_En_Sda.xml
start_offset: 0x1578
end_offset: 0x1608
- xml_path: assets/xml/overlays/ovl_En_Ssh.xml
start_offset: 0x2150
end_offset: 0x21E0
- xml_path: assets/xml/overlays/ovl_En_St.xml
start_offset: 0x26B0
end_offset: 0x2740
- xml_path: assets/xml/overlays/ovl_En_Sth.xml
start_offset: 0xEF0
end_offset: 0x3EC4
- xml_path: assets/xml/overlays/ovl_End_Title.xml
start_offset: 0x780
end_offset: 0x4128
- xml_path: assets/xml/overlays/ovl_file_choose.xml
start_offset: 0xDE70
end_offset: 0xE6B0
- xml_path: assets/xml/overlays/ovl_Magic_Dark.xml
start_offset: 0xD10
end_offset: 0x1740
- xml_path: assets/xml/overlays/ovl_Magic_Fire.xml
start_offset: 0xB90
end_offset: 0x21E0
- xml_path: assets/xml/overlays/ovl_Magic_Wind.xml
start_offset: 0x780
end_offset: 0x1C98
- xml_path: assets/xml/overlays/ovl_Oceff_Spot.xml
start_offset: 0x7F0
end_offset: 0xEC8
- xml_path: assets/xml/overlays/ovl_Oceff_Storm.xml
start_offset: 0x7B0
end_offset: 0x1B40
- xml_path: assets/xml/overlays/ovl_Oceff_Wipe.xml
start_offset: 0x550
end_offset: 0xD10
- xml_path: assets/xml/overlays/ovl_Oceff_Wipe2.xml
start_offset: 0x480
end_offset: 0x16E8
- xml_path: assets/xml/overlays/ovl_Oceff_Wipe3.xml
start_offset: 0x480
end_offset: 0x16C8
- xml_path: assets/xml/overlays/ovl_Oceff_Wipe4.xml
start_offset: 0x460
end_offset: 0xF48
- xml_path: assets/xml/scenes/dungeons/bdan.xml
- xml_path: assets/xml/scenes/dungeons/bdan_boss.xml
- xml_path: assets/xml/scenes/dungeons/Bmori1.xml
- xml_path: assets/xml/scenes/dungeons/ddan.xml
- xml_path: assets/xml/scenes/dungeons/ddan_boss.xml
- xml_path: assets/xml/scenes/dungeons/FIRE_bs.xml
- xml_path: assets/xml/scenes/dungeons/ganon.xml
- xml_path: assets/xml/scenes/dungeons/ganon_boss.xml
- xml_path: assets/xml/scenes/dungeons/ganon_demo.xml
- xml_path: assets/xml/scenes/dungeons/ganon_final.xml
- xml_path: assets/xml/scenes/dungeons/ganon_sonogo.xml
- xml_path: assets/xml/scenes/dungeons/ganontika.xml
- xml_path: assets/xml/scenes/dungeons/ganontikasonogo.xml
- xml_path: assets/xml/scenes/dungeons/gerudoway.xml
- xml_path: assets/xml/scenes/dungeons/HAKAdan.xml
- xml_path: assets/xml/scenes/dungeons/HAKAdan_bs.xml
- xml_path: assets/xml/scenes/dungeons/HAKAdanCH.xml
- xml_path: assets/xml/scenes/dungeons/HIDAN.xml
- xml_path: assets/xml/scenes/dungeons/ice_doukutu.xml
- xml_path: assets/xml/scenes/dungeons/jyasinboss.xml
- xml_path: assets/xml/scenes/dungeons/jyasinzou.xml
- xml_path: assets/xml/scenes/dungeons/men.xml
- xml_path: assets/xml/scenes/dungeons/MIZUsin.xml
- xml_path: assets/xml/scenes/dungeons/MIZUsin_bs.xml
- xml_path: assets/xml/scenes/dungeons/moribossroom.xml
- xml_path: assets/xml/scenes/dungeons/ydan.xml
- xml_path: assets/xml/scenes/dungeons/ydan_boss.xml
- xml_path: assets/xml/scenes/indoors/bowling.xml
- xml_path: assets/xml/scenes/indoors/daiyousei_izumi.xml
- xml_path: assets/xml/scenes/indoors/hairal_niwa.xml
- xml_path: assets/xml/scenes/indoors/hairal_niwa2.xml
- xml_path: assets/xml/scenes/indoors/hairal_niwa_n.xml
- xml_path: assets/xml/scenes/indoors/hakasitarelay.xml
- xml_path: assets/xml/scenes/indoors/hut.xml
- xml_path: assets/xml/scenes/indoors/hylia_labo.xml
- xml_path: assets/xml/scenes/indoors/impa.xml
- xml_path: assets/xml/scenes/indoors/kakariko.xml
- xml_path: assets/xml/scenes/indoors/kenjyanoma.xml
- xml_path: assets/xml/scenes/indoors/kokiri_home.xml
- xml_path: assets/xml/scenes/indoors/kokiri_home3.xml
- xml_path: assets/xml/scenes/indoors/kokiri_home4.xml
- xml_path: assets/xml/scenes/indoors/kokiri_home5.xml
- xml_path: assets/xml/scenes/indoors/labo.xml
- xml_path: assets/xml/scenes/indoors/link_home.xml
- xml_path: assets/xml/scenes/indoors/mahouya.xml
- xml_path: assets/xml/scenes/indoors/malon_stable.xml
- xml_path: assets/xml/scenes/indoors/miharigoya.xml
- xml_path: assets/xml/scenes/indoors/nakaniwa.xml
- xml_path: assets/xml/scenes/indoors/souko.xml
- xml_path: assets/xml/scenes/indoors/syatekijyou.xml
- xml_path: assets/xml/scenes/indoors/takaraya.xml
- xml_path: assets/xml/scenes/indoors/tent.xml
- xml_path: assets/xml/scenes/indoors/tokinoma.xml
- xml_path: assets/xml/scenes/indoors/yousei_izumi_tate.xml
- xml_path: assets/xml/scenes/indoors/yousei_izumi_yoko.xml
- xml_path: assets/xml/scenes/misc/enrui.xml
- xml_path: assets/xml/scenes/misc/entra.xml
- xml_path: assets/xml/scenes/misc/entra_n.xml
- xml_path: assets/xml/scenes/misc/hakaana.xml
- xml_path: assets/xml/scenes/misc/hakaana2.xml
- xml_path: assets/xml/scenes/misc/hakaana_ouke.xml
- xml_path: assets/xml/scenes/misc/hiral_demo.xml
- xml_path: assets/xml/scenes/misc/kakariko3.xml
- xml_path: assets/xml/scenes/misc/kakusiana.xml
- xml_path: assets/xml/scenes/misc/kinsuta.xml
- xml_path: assets/xml/scenes/misc/market_alley.xml
- xml_path: assets/xml/scenes/misc/market_alley_n.xml
- xml_path: assets/xml/scenes/misc/market_day.xml
- xml_path: assets/xml/scenes/misc/market_night.xml
- xml_path: assets/xml/scenes/misc/market_ruins.xml
- xml_path: assets/xml/scenes/misc/shrine.xml
- xml_path: assets/xml/scenes/misc/shrine_n.xml
- xml_path: assets/xml/scenes/misc/shrine_r.xml
- xml_path: assets/xml/scenes/misc/turibori.xml
- xml_path: assets/xml/scenes/overworld/ganon_tou.xml
- xml_path: assets/xml/scenes/overworld/spot00.xml
- xml_path: assets/xml/scenes/overworld/spot01.xml
- xml_path: assets/xml/scenes/overworld/spot02.xml
- xml_path: assets/xml/scenes/overworld/spot03.xml
- xml_path: assets/xml/scenes/overworld/spot04.xml
- xml_path: assets/xml/scenes/overworld/spot05.xml
- xml_path: assets/xml/scenes/overworld/spot06.xml
- xml_path: assets/xml/scenes/overworld/spot07.xml
- xml_path: assets/xml/scenes/overworld/spot08.xml
- xml_path: assets/xml/scenes/overworld/spot09.xml
- xml_path: assets/xml/scenes/overworld/spot10.xml
- xml_path: assets/xml/scenes/overworld/spot11.xml
- xml_path: assets/xml/scenes/overworld/spot12.xml
- xml_path: assets/xml/scenes/overworld/spot13.xml
- xml_path: assets/xml/scenes/overworld/spot15.xml
- xml_path: assets/xml/scenes/overworld/spot16.xml
- xml_path: assets/xml/scenes/overworld/spot17.xml
- xml_path: assets/xml/scenes/overworld/spot18.xml
- xml_path: assets/xml/scenes/overworld/spot20.xml
- xml_path: assets/xml/scenes/shops/alley_shop.xml
- xml_path: assets/xml/scenes/shops/drag.xml
- xml_path: assets/xml/scenes/shops/face_shop.xml
- xml_path: assets/xml/scenes/shops/golon.xml
- xml_path: assets/xml/scenes/shops/kokiri_shop.xml
- xml_path: assets/xml/scenes/shops/night_shop.xml
- xml_path: assets/xml/scenes/shops/shop1.xml
- xml_path: assets/xml/scenes/shops/zoora.xml
- xml_path: assets/xml/scenes/test_levels/besitu.xml
- xml_path: assets/xml/scenes/test_levels/depth_test.xml
- xml_path: assets/xml/scenes/test_levels/sasatest.xml
- xml_path: assets/xml/scenes/test_levels/sutaru.xml
- xml_path: assets/xml/scenes/test_levels/syotes.xml
- xml_path: assets/xml/scenes/test_levels/syotes2.xml
- xml_path: assets/xml/scenes/test_levels/test01.xml
- xml_path: assets/xml/scenes/test_levels/testroom.xml
- xml_path: assets/xml/textures/backgrounds.xml
- xml_path: assets/xml/textures/do_action_static.xml
- xml_path: assets/xml/textures/icon_item_24_static.xml
- xml_path: assets/xml/textures/icon_item_dungeon_static.xml
- xml_path: assets/xml/textures/icon_item_field_static.xml
- xml_path: assets/xml/textures/icon_item_fra_static.xml
- xml_path: assets/xml/textures/icon_item_gameover_static.xml
- xml_path: assets/xml/textures/icon_item_ger_static.xml
- xml_path: assets/xml/textures/icon_item_nes_static.xml
- xml_path: assets/xml/textures/icon_item_static.xml
- xml_path: assets/xml/textures/item_name_static.xml
- xml_path: assets/xml/textures/map_48x85_static.xml
- xml_path: assets/xml/textures/map_grand_static.xml
- xml_path: assets/xml/textures/map_i_static.xml
- xml_path: assets/xml/textures/map_name_static.xml
- xml_path: assets/xml/textures/message_static.xml
- xml_path: assets/xml/textures/message_texture_static.xml
- xml_path: assets/xml/textures/nes_font_static.xml
- xml_path: assets/xml/textures/nintendo_rogo_static.xml
- xml_path: assets/xml/textures/parameter_static.xml
- xml_path: assets/xml/textures/place_title_cards.xml
- xml_path: assets/xml/textures/skyboxes.xml
- xml_path: assets/xml/textures/title_static.xml

View file

@ -8,6 +8,8 @@ import time
import multiprocessing import multiprocessing
from pathlib import Path from pathlib import Path
from tools import version_config
EXTRACTED_ASSETS_FILENAME = ".extracted-assets.json" EXTRACTED_ASSETS_FILENAME = ".extracted-assets.json"
@ -17,7 +19,9 @@ def SignalHandler(sig, frame):
mainAbort.set() mainAbort.set()
# Don't exit immediately to update the extracted assets file. # Don't exit immediately to update the extracted assets file.
def ExtractFile(xmlPath, outputPath, outputSourcePath): def ExtractFile(assetConfig, outputPath, outputSourcePath):
xmlPath = assetConfig.xml_path
version = globalVersionConfig.version
if globalAbort.is_set(): if globalAbort.is_set():
# Don't extract if another file wasn't extracted properly. # Don't extract if another file wasn't extracted properly.
return return
@ -31,7 +35,22 @@ def ExtractFile(xmlPath, outputPath, outputSourcePath):
# TODO: Extract assets from the correct version instead of the Debug ROM # TODO: Extract assets from the correct version instead of the Debug ROM
execStr = f"{zapdPath} e -eh -i {xmlPath} -b extracted/gc-eu-mq-dbg/baserom -o {outputPath} -osf {outputSourcePath} -gsf 1 -rconf {configPath} --cs-float both {ZAPDArgs}" execStr = f"{zapdPath} e -eh -i {xmlPath} -b extracted/gc-eu-mq-dbg/baserom -o {outputPath} -osf {outputSourcePath} -gsf 1 -rconf {configPath} --cs-float both {ZAPDArgs}"
if "overlays" in xmlPath: if "/code/" in xmlPath:
assert assetConfig.start_offset is not None
assert assetConfig.end_offset is not None
execStr += f" --start-offset 0x{assetConfig.start_offset:X}"
execStr += f" --end-offset 0x{assetConfig.end_offset:X}"
elif "/overlays/" in xmlPath:
assert assetConfig.start_offset is not None
assert assetConfig.end_offset is not None
overlayName = os.path.splitext(os.path.basename(xmlPath))[0]
baseAddress = globalVersionConfig.dmadata_segments[overlayName].vram + assetConfig.start_offset
execStr += f" --base-address 0x{baseAddress:X}"
execStr += f" --start-offset 0x{assetConfig.start_offset:X}"
execStr += f" --end-offset 0x{assetConfig.end_offset:X}"
execStr += " --static" execStr += " --static"
if globalUnaccounted: if globalUnaccounted:
@ -46,11 +65,13 @@ def ExtractFile(xmlPath, outputPath, outputSourcePath):
print("Aborting...", file=os.sys.stderr) print("Aborting...", file=os.sys.stderr)
print("\n") print("\n")
def ExtractFunc(fullPath): def ExtractFunc(assetConfig):
fullPath = assetConfig.xml_path
*pathList, xmlName = fullPath.split(os.sep) *pathList, xmlName = fullPath.split(os.sep)
objectName = os.path.splitext(xmlName)[0] objectName = os.path.splitext(xmlName)[0]
outPath = os.path.join("extracted", globalVersion, "assets", *pathList[2:], objectName) version = globalVersionConfig.version
outPath = os.path.join("extracted", version, "assets", *pathList[2:], objectName)
outSourcePath = outPath outSourcePath = outPath
if fullPath in globalExtractedAssetsTracker: if fullPath in globalExtractedAssetsTracker:
@ -62,7 +83,7 @@ def ExtractFunc(fullPath):
currentTimeStamp = int(time.time()) currentTimeStamp = int(time.time())
ExtractFile(fullPath, outPath, outSourcePath) ExtractFile(assetConfig, outPath, outSourcePath)
if not globalAbort.is_set(): if not globalAbort.is_set():
# Only update timestamp on succesful extractions # Only update timestamp on succesful extractions
@ -70,13 +91,13 @@ def ExtractFunc(fullPath):
globalExtractedAssetsTracker[fullPath] = globalManager.dict() globalExtractedAssetsTracker[fullPath] = globalManager.dict()
globalExtractedAssetsTracker[fullPath]["timestamp"] = currentTimeStamp globalExtractedAssetsTracker[fullPath]["timestamp"] = currentTimeStamp
def initializeWorker(version, abort, unaccounted: bool, extractedAssetsTracker: dict, manager): def initializeWorker(versionConfig, abort, unaccounted: bool, extractedAssetsTracker: dict, manager):
global globalVersion global globalVersionConfig
global globalAbort global globalAbort
global globalUnaccounted global globalUnaccounted
global globalExtractedAssetsTracker global globalExtractedAssetsTracker
global globalManager global globalManager
globalVersion = version globalVersionConfig = versionConfig
globalAbort = abort globalAbort = abort
globalUnaccounted = unaccounted globalUnaccounted = unaccounted
globalExtractedAssetsTracker = extractedAssetsTracker globalExtractedAssetsTracker = extractedAssetsTracker
@ -106,6 +127,9 @@ def main():
parser.add_argument("-Z", help="Pass the argument on to ZAPD, e.g. `-ZWunaccounted` to warn about unaccounted blocks in XMLs. Each argument should be passed separately, *without* the leading dash.", metavar="ZAPD_ARG", action="append") parser.add_argument("-Z", help="Pass the argument on to ZAPD, e.g. `-ZWunaccounted` to warn about unaccounted blocks in XMLs. Each argument should be passed separately, *without* the leading dash.", metavar="ZAPD_ARG", action="append")
args = parser.parse_args() args = parser.parse_args()
version = args.oot_version
versionConfig = version_config.load_version_config(args.oot_version)
global ZAPDArgs global ZAPDArgs
ZAPDArgs = processZAPDArgs(args.Z) if args.Z else "" ZAPDArgs = processZAPDArgs(args.Z) if args.Z else ""
@ -114,7 +138,6 @@ def main():
manager = multiprocessing.Manager() manager = multiprocessing.Manager()
signal.signal(signal.SIGINT, SignalHandler) signal.signal(signal.SIGINT, SignalHandler)
version = args.oot_version
extracted_assets_filename = os.path.join("extracted", version, EXTRACTED_ASSETS_FILENAME) extracted_assets_filename = os.path.join("extracted", version, EXTRACTED_ASSETS_FILENAME)
extractedAssetsTracker = manager.dict() extractedAssetsTracker = manager.dict()
if os.path.exists(extracted_assets_filename) and not args.force: if os.path.exists(extracted_assets_filename) and not args.force:
@ -128,19 +151,21 @@ def main():
print(f"Error. File {fullPath} does not exist.", file=os.sys.stderr) print(f"Error. File {fullPath} does not exist.", file=os.sys.stderr)
exit(1) exit(1)
initializeWorker(version, mainAbort, args.unaccounted, extractedAssetsTracker, manager) assetConfig = None
for asset in versionConfig.assets:
if asset.xml_path == fullPath:
assetConfig = asset
break
else:
print(f"Error. Asset {fullPath} not found in config.", file=os.sys.stderr)
exit(1)
initializeWorker(versionConfig, mainAbort, args.unaccounted, extractedAssetsTracker, manager)
# Always extract if -s is used. # Always extract if -s is used.
if fullPath in extractedAssetsTracker: if fullPath in extractedAssetsTracker:
del extractedAssetsTracker[fullPath] del extractedAssetsTracker[fullPath]
ExtractFunc(fullPath) ExtractFunc(assetConfig)
else: else:
xmlFiles = []
for currentPath, _, files in os.walk(os.path.join("assets", "xml")):
for file in files:
fullPath = os.path.join(currentPath, file)
if file.endswith(".xml"):
xmlFiles.append(fullPath)
class CannotMultiprocessError(Exception): class CannotMultiprocessError(Exception):
pass pass
@ -153,15 +178,15 @@ def main():
mp_context = multiprocessing.get_context("fork") mp_context = multiprocessing.get_context("fork")
except ValueError as e: except ValueError as e:
raise CannotMultiprocessError() from e raise CannotMultiprocessError() from e
with mp_context.Pool(numCores, initializer=initializeWorker, initargs=(version, mainAbort, args.unaccounted, extractedAssetsTracker, manager)) as p: with mp_context.Pool(numCores, initializer=initializeWorker, initargs=(versionConfig, mainAbort, args.unaccounted, extractedAssetsTracker, manager)) as p:
p.map(ExtractFunc, xmlFiles) p.map(ExtractFunc, versionConfig.assets)
except (multiprocessing.ProcessError, TypeError, CannotMultiprocessError): except (multiprocessing.ProcessError, TypeError, CannotMultiprocessError):
print("Warning: Multiprocessing exception ocurred.", file=os.sys.stderr) print("Warning: Multiprocessing exception ocurred.", file=os.sys.stderr)
print("Disabling mutliprocessing.", file=os.sys.stderr) print("Disabling mutliprocessing.", file=os.sys.stderr)
initializeWorker(version, mainAbort, args.unaccounted, extractedAssetsTracker, manager) initializeWorker(versionConfig, mainAbort, args.unaccounted, extractedAssetsTracker, manager)
for singlePath in xmlFiles: for assetConfig in versionConfig.assets:
ExtractFunc(singlePath) ExtractFunc(assetConfig)
with open(extracted_assets_filename, 'w', encoding='utf-8') as f: with open(extracted_assets_filename, 'w', encoding='utf-8') as f:
serializableDict = dict() serializableDict = dict()

View file

@ -1,7 +1,7 @@
#include "file_select.h" #include "file_select.h"
#include "terminal.h" #include "terminal.h"
#include "assets/textures/title_static/title_static.h" #include "assets/textures/title_static/title_static.h"
#include "assets/overlays/ovl_File_Choose/ovl_file_choose.h" #include "assets/overlays/ovl_file_choose/ovl_file_choose.h"
static s16 D_808124C0[] = { static s16 D_808124C0[] = {
0x0002, 0x0003, 0x0002, 0x0002, 0x0002, 0x0002, 0x0002, 0x0002, 0x0002, 0x0002, 0x0001, 0x0002, 0x0000, 0x0001, 0x0002, 0x0003, 0x0002, 0x0002, 0x0002, 0x0002, 0x0002, 0x0002, 0x0002, 0x0002, 0x0001, 0x0002, 0x0000, 0x0001,

View file

@ -1,6 +1,6 @@
#include "file_select.h" #include "file_select.h"
#include "assets/overlays/ovl_File_Choose/ovl_file_choose.c" #include "assets/overlays/ovl_file_choose/ovl_file_choose.c"
s16 D_808123F0[] = { s16 D_808123F0[] = {
0x000A, 0x000B, 0x000C, 0x000D, 0x000E, 0x000F, 0x0010, 0x0011, 0x0012, 0x0013, 0x0014, 0x0015, 0x0016, 0x000A, 0x000B, 0x000C, 0x000D, 0x000E, 0x000F, 0x0010, 0x0011, 0x0012, 0x0013, 0x0014, 0x0015, 0x0016,

View file

@ -18,12 +18,16 @@ PROJECT_ROOT = Path(__file__).parent.parent
@dataclasses.dataclass @dataclasses.dataclass
class VersionConfig: class VersionConfig:
# Version name
version: str
# ROM offset to start of DMA table # ROM offset to start of DMA table
dmadata_start: int dmadata_start: int
# DMA segment information, in ROM order # DMA segment information, in ROM order
dmadata_segments: OrderedDict[str, SegmentInfo] dmadata_segments: OrderedDict[str, SegmentInfo]
# Addresses of important variables needed for asset extraction # Addresses of important variables needed for asset extraction
variables: Dict[str, int] variables: Dict[str, int]
# Assets to extract
assets: list[AssetConfig]
@dataclasses.dataclass @dataclasses.dataclass
@ -32,6 +36,13 @@ class SegmentInfo:
vram: int | None vram: int | None
@dataclasses.dataclass
class AssetConfig:
xml_path: Path
start_offset: int | None
end_offset: int | None
def load_dmadata_segments(version: str) -> OrderedDict[str, SegmentInfo]: def load_dmadata_segments(version: str) -> OrderedDict[str, SegmentInfo]:
segments = OrderedDict() segments = OrderedDict()
with open(PROJECT_ROOT / f"baseroms/{version}/segments.csv", "r") as f: with open(PROJECT_ROOT / f"baseroms/{version}/segments.csv", "r") as f:
@ -46,8 +57,18 @@ def load_dmadata_segments(version: str) -> OrderedDict[str, SegmentInfo]:
def load_version_config(version: str) -> VersionConfig: def load_version_config(version: str) -> VersionConfig:
with open(PROJECT_ROOT / f"baseroms/{version}/config.yml", "r") as f: with open(PROJECT_ROOT / f"baseroms/{version}/config.yml", "r") as f:
config = yaml.load(f, Loader=yaml.Loader) config = yaml.load(f, Loader=yaml.Loader)
assets = []
for asset in config["assets"]:
xml_path = asset["xml_path"]
start_offset = asset.get("start_offset", None)
end_offset = asset.get("end_offset", None)
assets.append(AssetConfig(xml_path, start_offset, end_offset))
return VersionConfig( return VersionConfig(
version=version,
dmadata_start=config["dmadata_start"], dmadata_start=config["dmadata_start"],
dmadata_segments=load_dmadata_segments(version), dmadata_segments=load_dmadata_segments(version),
variables=config["variables"], variables=config["variables"],
assets=assets,
) )