Merge branch 'main' into z64-remove

This commit is contained in:
Dragorn421 2025-06-04 19:17:24 +02:00
commit 9e87239897
No known key found for this signature in database
GPG Key ID: 381AEBAF3D429335
60 changed files with 1486 additions and 160 deletions

View File

@ -22,6 +22,44 @@
<!-- Forest Stage scrub Deku Nut (used by Nutsball) -->
<DList Name="gDntStageNutDL" Offset="0x1890"/>
<!-- Vertices -->
<Array Name="object_dnk_Vtx_000B80" Count="6" Offset="0xB80">
<Vtx/>
</Array>
<Array Name="object_dnk_Vtx_000BE0" Count="10" Offset="0xBE0">
<Vtx/>
</Array>
<Array Name="object_dnk_Vtx_000C80" Count="15" Offset="0xC80">
<Vtx/>
</Array>
<Array Name="object_dnk_Vtx_000D70" Count="28" Offset="0xD70">
<Vtx/>
</Array>
<Array Name="object_dnk_Vtx_000F30" Count="6" Offset="0xF30">
<Vtx/>
</Array>
<Array Name="object_dnk_Vtx_000F90" Count="6" Offset="0xF90">
<Vtx/>
</Array>
<Array Name="object_dnk_Vtx_000FF0" Count="4" Offset="0xFF0">
<Vtx/>
</Array>
<Array Name="object_dnk_Vtx_001030" Count="4" Offset="0x1030">
<Vtx/>
</Array>
<Array Name="object_dnk_Vtx_001070" Count="7" Offset="0x1070">
<Vtx/>
</Array>
<Array Name="object_dnk_Vtx_0010E0" Count="7" Offset="0x10E0">
<Vtx/>
</Array>
<Array Name="gDntStageNutVtx" Count="3" Offset="0x1860">
<Vtx/>
</Array>
<Array Name="gDntStageFlowerVtx" Count="30" Offset="0x1920">
<Vtx/>
</Array>
<!-- Unused Content -->
<!-- Forest Stage scrub animation -->

View File

@ -23,6 +23,50 @@
<!-- Forest Stage leader deku nut (used by NutsBall) -->
<DList Name="gDntJijiNutDL" Offset="0x2410"/>
<!-- Vertices -->
<Array Name="object_dns_Vtx_0012C0" Count="6" Offset="0x12C0">
<Vtx/>
</Array>
<Array Name="object_dns_Vtx_001320" Count="7" Offset="0x1320">
<Vtx/>
</Array>
<Array Name="object_dns_Vtx_001390" Count="7" Offset="0x1390">
<Vtx/>
</Array>
<Array Name="object_dns_Vtx_001400" Count="10" Offset="0x1400">
<Vtx/>
</Array>
<Array Name="object_dns_Vtx_0014A0" Count="15" Offset="0x14A0">
<Vtx/>
</Array>
<Array Name="object_dns_Vtx_001590" Count="29" Offset="0x1590">
<Vtx/>
</Array>
<Array Name="object_dns_Vtx_001760" Count="4" Offset="0x1760">
<Vtx/>
</Array>
<Array Name="object_dns_Vtx_0017A0" Count="4" Offset="0x17A0">
<Vtx/>
</Array>
<Array Name="object_dns_Vtx_0017E0" Count="4" Offset="0x17E0">
<Vtx/>
</Array>
<Array Name="object_dns_Vtx_001820" Count="4" Offset="0x1820">
<Vtx/>
</Array>
<Array Name="object_dns_Vtx_001860" Count="6" Offset="0x1860">
<Vtx/>
</Array>
<Array Name="object_dns_Vtx_0018C0" Count="4" Offset="0x18C0">
<Vtx/>
</Array>
<Array Name="gDntJijiFlowerVtx" Count="30" Offset="0x2130">
<Vtx/>
</Array>
<Array Name="gDntJijiNutVtx" Count="3" Offset="0x23E0">
<Vtx/>
</Array>
<!-- Unused Content -->
<!-- Forest Stage leader unused animations -->
@ -30,6 +74,5 @@
<Animation Name="gDntJijiDanceAnim" Offset="0x82C"/>
<Animation Name="gDntJijiUnkAnim" Offset="0xF98"/> <!-- This animation seems corrupted-->
<Animation Name="gDntJijiWaitAnim" Offset="0x364C"/>
</File>
</Root>

View File

@ -37,5 +37,46 @@
<!-- Fire Effect -->
<DList Name="gDodongoFireDL" Offset="0x98A0"/>
<!-- Vertices -->
<Array Name="object_dodongo_Vtx_004C30" Count="30" Offset="0x4C30">
<Vtx/>
</Array>
<Array Name="object_dodongo_Vtx_004E10" Count="29" Offset="0x4E10">
<Vtx/>
</Array>
<Array Name="object_dodongo_Vtx_004FE0" Count="19" Offset="0x4FE0">
<Vtx/>
</Array>
<Array Name="object_dodongo_Vtx_005110" Count="57" Offset="0x5110">
<Vtx/>
</Array>
<Array Name="object_dodongo_Vtx_0054A0" Count="27" Offset="0x54A0">
<Vtx/>
</Array>
<Array Name="object_dodongo_Vtx_005650" Count="19" Offset="0x5650">
<Vtx/>
</Array>
<Array Name="object_dodongo_Vtx_005780" Count="12" Offset="0x5780">
<Vtx/>
</Array>
<Array Name="object_dodongo_Vtx_005840" Count="68" Offset="0x5840">
<Vtx/>
</Array>
<Array Name="object_dodongo_Vtx_005C80" Count="78" Offset="0x5C80">
<Vtx/>
</Array>
<Array Name="object_dodongo_Vtx_006160" Count="19" Offset="0x6160">
<Vtx/>
</Array>
<Array Name="object_dodongo_Vtx_006290" Count="29" Offset="0x6290">
<Vtx/>
</Array>
<Array Name="object_dodongo_Vtx_006460" Count="30" Offset="0x6460">
<Vtx/>
</Array>
<Array Name="gDodongoFireVtx" Count="4" Offset="0x9900">
<Vtx/>
</Array>
</File>
</Root>

View File

@ -1,6 +1,9 @@
<Root>
<File Name="object_door_gerudo" Segment="6">
<Texture Name="gGerudoCellDoorTex" OutName="cell_door" Format="rgba16" Width="16" Height="64" Offset="0x1A0"/>
<Array Name="gGerudoCellDoorVtx" Count="4" Offset="0x0">
<Vtx/>
</Array>
<DList Name="gGerudoCellDoorDL" Offset="0x40"/>
<Collision Name="gGerudoCellDoorCol" Offset="0x170"/>
</File>

View File

@ -34,5 +34,19 @@
<!-- Potion Shop Lady Animations-->
<Animation Name="gPotionShopLadyAnim" Offset="0x39C"/>
<!-- Vertices -->
<Array Name="gPotionShopLadyHeadVtx" Count="315" Offset="0x3B0">
<Vtx/>
</Array>
<Array Name="gPotionShopLadyArmVtx" Count="141" Offset="0x1760">
<Vtx/>
</Array>
<Array Name="gPotionShopLadyTorsoVtx" Count="40" Offset="0x2030">
<Vtx/>
</Array>
<Array Name="gPotionShopLadyCatVtx" Count="121" Offset="0x22B0">
<Vtx/>
</Array>
</File>
</Root>

View File

@ -117,5 +117,96 @@
<Vtx/>
</Array>
<!-- Vertices -->
<Array Name="gGreatFairyParticleModelVtx" Count="4" Offset="0x5820">
<Vtx/>
</Array>
<Array Name="gGreatFairyBetaVtx" Count="778" Offset="0xA0B0">
<Vtx/>
</Array>
<Array Name="gGreatFairyFlowerVtx" Count="6" Offset="0xD150">
<Vtx/>
</Array>
<Array Name="gGreatFairyLeftFootVtx" Count="28" Offset="0xDD00">
<Vtx/>
</Array>
<Array Name="gGreatFairyLeftLegVtx" Count="33" Offset="0xDEC0">
<Vtx/>
</Array>
<Array Name="gGreatFairyLeftThighVtx" Count="75" Offset="0xE0D0">
<Vtx/>
</Array>
<Array Name="gGreatFairyLeftHairTipVtx" Count="7" Offset="0xE580">
<Vtx/>
</Array>
<Array Name="gGreatFairyLeftHairUpperPartVtx" Count="31" Offset="0xE5F0">
<Vtx/>
</Array>
<Array Name="gGreatFairyLeftHairMiddlePartVtx" Count="13" Offset="0xE7E0">
<Vtx/>
</Array>
<Array Name="gGreatFairyLeftHairLowerPartVtx" Count="43" Offset="0xE8B0">
<Vtx/>
</Array>
<Array Name="gGreatFairyRightHairTipVtx" Count="7" Offset="0xEB60">
<Vtx/>
</Array>
<Array Name="gGreatFairyRightHairUpperPartVtx" Count="13" Offset="0xEBD0">
<Vtx/>
</Array>
<Array Name="gGreatFairyRightHairMiddlePartVtx" Count="27" Offset="0xECA0">
<Vtx/>
</Array>
<Array Name="gGreatFairyRightHairLowerPartVtx" Count="19" Offset="0xEE50">
<Vtx/>
</Array>
<Array Name="gGreatFairyMiddleHairTipVtx" Count="9" Offset="0xEF80">
<Vtx/>
</Array>
<Array Name="gGreatFairyMiddleHairUpperPartVtx" Count="17" Offset="0xF010">
<Vtx/>
</Array>
<Array Name="gGreatFairyMiddleHairMiddlePartVtx" Count="17" Offset="0xF120">
<Vtx/>
</Array>
<Array Name="gGreatFairyMiddleHairLowerPartVtx" Count="41" Offset="0xF230">
<Vtx/>
</Array>
<Array Name="gGreatFairyHeadVtx" Count="221" Offset="0xF4C0">
<Vtx/>
</Array>
<Array Name="gGreatFairyLeftHandVtx" Count="120" Offset="0x10290">
<Vtx/>
</Array>
<Array Name="gGreatFairyLeftForearmVtx" Count="47" Offset="0x10A10">
<Vtx/>
</Array>
<Array Name="gGreatFairyLeftUpperArmVtx" Count="25" Offset="0x10D00">
<Vtx/>
</Array>
<Array Name="gGreatFairyRightHandVtx" Count="120" Offset="0x10E90">
<Vtx/>
</Array>
<Array Name="gGreatFairyRightForearmVtx" Count="47" Offset="0x11610">
<Vtx/>
</Array>
<Array Name="gGreatFairyRightUpperArmVtx" Count="25" Offset="0x11900">
<Vtx/>
</Array>
<Array Name="gGreatFairyTorsoVtx" Count="275" Offset="0x11A90">
<Vtx/>
</Array>
<Array Name="gGreatFairyRightFootVtx" Count="28" Offset="0x12BC0">
<Vtx/>
</Array>
<Array Name="gGreatFairyRightLegVtx" Count="33" Offset="0x12D80">
<Vtx/>
</Array>
<Array Name="gGreatFairyRightThighVtx" Count="60" Offset="0x12F90">
<Vtx/>
</Array>
<Array Name="gGreatFairyWaistVtx" Count="56" Offset="0x13350">
<Vtx/>
</Array>
</File>
</Root>

View File

@ -2,7 +2,13 @@
<File Name="object_efc_doughnut" Segment="6">
<Texture Name="gDeathMountainCloudFireTex" OutName="cloud_fire" Format="ia8" Width="16" Height="32" Offset="0x0"/>
<Texture Name="gDeathMountainCloudNormalTex" OutName="cloud_normal" Format="ia16" Width="32" Height="32" Offset="0x780"/>
<Array Name="gDeathMountainCloudCircleFieryVtx" Count="70" Offset="0x200">
<Vtx/>
</Array>
<DList Name="gDeathMountainCloudCircleFieryDL" Offset="0x660"/>
<Array Name="gDeathMountainCloudCircleNormalVtx" Count="4" Offset="0xF80">
<Vtx/>
</Array>
<DList Name="gDeathMountainCloudCircleNormalDL" Offset="0xFC0"/>
</File>
</Root>

View File

@ -52,5 +52,40 @@
<Animation Name="gStingerBackflipAnim" Offset="0x704"/>
<Animation Name="gStingerHitAnim" Offset="0xFC0"/>
<Animation Name="gStingerIdleAnim" Offset="0x12AC"/>
<!-- Vertices -->
<Array Name="gStingerLeftWingBaseVtx" Count="24" Offset="0x1700">
<Vtx/>
</Array>
<Array Name="gStingerLeftWingEndVtx" Count="30" Offset="0x1880">
<Vtx/>
</Array>
<Array Name="gStingerRightWingBaseVtx" Count="24" Offset="0x1A60">
<Vtx/>
</Array>
<Array Name="gStingerRightWingEndVtx" Count="30" Offset="0x1BE0">
<Vtx/>
</Array>
<Array Name="gStingerBodyVtx" Count="25" Offset="0x1DC0">
<Vtx/>
</Array>
<Array Name="gStingerTailRootVtx" Count="28" Offset="0x1F50">
<Vtx/>
</Array>
<Array Name="gStingerTailUpperVtx" Count="10" Offset="0x2110">
<Vtx/>
</Array>
<Array Name="gStingerTailLowerVtx" Count="5" Offset="0x21B0">
<Vtx/>
</Array>
<Array Name="gStingerHeadVtx" Count="23" Offset="0x2200">
<Vtx/>
</Array>
<Array Name="gStingerFinUpperVtx" Count="9" Offset="0x2370">
<Vtx/>
</Array>
<Array Name="gStingerFinLowerVtx" Count="7" Offset="0x2400">
<Vtx/>
</Array>
</File>
</Root>

View File

@ -38,5 +38,118 @@
<Array Name="gHoleVolvagiaVtx_00D000" Count="150" Offset="0xD000">
<Vtx/>
</Array>
<!-- Vertices -->
<Array Name="object_fd2_Vtx_000000" Count="67" Offset="0x0">
<Vtx/>
</Array>
<Array Name="object_fd2_Vtx_000430" Count="23" Offset="0x430">
<Vtx/>
</Array>
<Array Name="object_fd2_Vtx_0005A0" Count="32" Offset="0x5A0">
<Vtx/>
</Array>
<Array Name="object_fd2_Vtx_0007A0" Count="20" Offset="0x7A0">
<Vtx/>
</Array>
<Array Name="object_fd2_Vtx_0008E0" Count="20" Offset="0x8E0">
<Vtx/>
</Array>
<Array Name="object_fd2_Vtx_000A20" Count="12" Offset="0xA20">
<Vtx/>
</Array>
<Array Name="object_fd2_Vtx_000AE0" Count="8" Offset="0xAE0">
<Vtx/>
</Array>
<Array Name="object_fd2_Vtx_000B60" Count="5" Offset="0xB60">
<Vtx/>
</Array>
<Array Name="object_fd2_Vtx_000BB0" Count="8" Offset="0xBB0">
<Vtx/>
</Array>
<Array Name="object_fd2_Vtx_000C30" Count="8" Offset="0xC30">
<Vtx/>
</Array>
<Array Name="object_fd2_Vtx_000CB0" Count="8" Offset="0xCB0">
<Vtx/>
</Array>
<Array Name="object_fd2_Vtx_000D30" Count="9" Offset="0xD30">
<Vtx/>
</Array>
<Array Name="object_fd2_Vtx_000DC0" Count="8" Offset="0xDC0">
<Vtx/>
</Array>
<Array Name="object_fd2_Vtx_000E40" Count="5" Offset="0xE40">
<Vtx/>
</Array>
<Array Name="object_fd2_Vtx_000E90" Count="8" Offset="0xE90">
<Vtx/>
</Array>
<Array Name="object_fd2_Vtx_000F10" Count="8" Offset="0xF10">
<Vtx/>
</Array>
<Array Name="object_fd2_Vtx_000F90" Count="8" Offset="0xF90">
<Vtx/>
</Array>
<Array Name="gHoleVolvagiaManeModelVtx" Count="4" Offset="0x4B08">
<Vtx/>
</Array>
<Array Name="gHoleVolvagiaBrokenFaceVtx" Count="21" Offset="0x4CE8">
<Vtx/>
</Array>
<Array Name="object_fd2_Vtx_00CDC0" Count="36" Offset="0xCDC0">
<Vtx/>
</Array>
<Array Name="object_fd2_Vtx_00D960" Count="66" Offset="0xD960">
<Vtx/>
</Array>
<Array Name="object_fd2_Vtx_00E720" Count="25" Offset="0xE720">
<Vtx/>
</Array>
<Array Name="object_fd2_Vtx_00E8B0" Count="25" Offset="0xE8B0">
<Vtx/>
</Array>
<Array Name="object_fd2_Vtx_00EA40" Count="25" Offset="0xEA40">
<Vtx/>
</Array>
<Array Name="object_fd2_Vtx_00EBD0" Count="26" Offset="0xEBD0">
<Vtx/>
</Array>
<Array Name="object_fd2_Vtx_00ED70" Count="25" Offset="0xED70">
<Vtx/>
</Array>
<Array Name="object_fd2_Vtx_00EF00" Count="25" Offset="0xEF00">
<Vtx/>
</Array>
<Array Name="object_fd2_Vtx_00F090" Count="25" Offset="0xF090">
<Vtx/>
</Array>
<Array Name="object_fd2_Vtx_00F220" Count="20" Offset="0xF220">
<Vtx/>
</Array>
<Array Name="object_fd2_Vtx_00F360" Count="25" Offset="0xF360">
<Vtx/>
</Array>
<Array Name="object_fd2_Vtx_00F4F0" Count="26" Offset="0xF4F0">
<Vtx/>
</Array>
<Array Name="object_fd2_Vtx_00F690" Count="20" Offset="0xF690">
<Vtx/>
</Array>
<Array Name="object_fd2_Vtx_00F7D0" Count="21" Offset="0xF7D0">
<Vtx/>
</Array>
<Array Name="object_fd2_Vtx_00F920" Count="25" Offset="0xF920">
<Vtx/>
</Array>
<Array Name="object_fd2_Vtx_00FAB0" Count="26" Offset="0xFAB0">
<Vtx/>
</Array>
<Array Name="object_fd2_Vtx_00FC50" Count="25" Offset="0xFC50">
<Vtx/>
</Array>
<Array Name="object_fd2_Vtx_00FDE0" Count="25" Offset="0xFDE0">
<Vtx/>
</Array>
</File>
</Root>

View File

@ -17,5 +17,39 @@
<Texture Name="gFireKeeseEarTex" OutName="fire_ear" Format="rgba16" Width="16" Height="8" Offset="0x310"/>
<Texture Name="gFireKeeseTalonTex" OutName="fire_talon" Format="rgba16" Width="8" Height="16" Offset="0x410"/>
<Texture Name="gFireKeeseWingTex" OutName="fire_wing" Format="rgba16" Width="4" Height="16" Offset="0x510"/>
<Array Name="object_firefly_Vtx_000890" Count="26" Offset="0x890">
<Vtx/>
</Array>
<Array Name="object_firefly_Vtx_000A30" Count="17" Offset="0xA30">
<Vtx/>
</Array>
<Array Name="object_firefly_Vtx_000B40" Count="3" Offset="0xB40">
<Vtx/>
</Array>
<Array Name="object_firefly_Vtx_000B70" Count="4" Offset="0xB70">
<Vtx/>
</Array>
<Array Name="object_firefly_Vtx_000BB0" Count="3" Offset="0xBB0">
<Vtx/>
</Array>
<Array Name="object_firefly_Vtx_000BE0" Count="3" Offset="0xBE0">
<Vtx/>
</Array>
<Array Name="object_firefly_Vtx_000C10" Count="3" Offset="0xC10">
<Vtx/>
</Array>
<Array Name="object_firefly_Vtx_000C40" Count="3" Offset="0xC40">
<Vtx/>
</Array>
<Array Name="object_firefly_Vtx_000C70" Count="3" Offset="0xC70">
<Vtx/>
</Array>
<Array Name="object_firefly_Vtx_000CA0" Count="3" Offset="0xCA0">
<Vtx/>
</Array>
<Array Name="gKeeseEyesVtx" Count="6" Offset="0xCD0">
<Vtx/>
</Array>
</File>
</Root>

View File

@ -51,5 +51,51 @@
<Limb Name="gWindmillManRightHandAndCrankLimb" LimbType="Standard" Offset="0x6C30"/>
<Limb Name="gWindmillManHeadLimb" LimbType="Standard" Offset="0x6C3C"/>
<Limb Name="gWindmillManHornLimb" LimbType="Standard" Offset="0x6C48"/>
<Array Name="gWindmillManBlueTriangleVtx" Count="3" Offset="0xB20">
<Vtx/>
</Array>
<Array Name="gWindmillManLeftArmAndMusicBoxVtx" Count="59" Offset="0xB50">
<Vtx/>
</Array>
<Array Name="gWindmillManRightHandAndCrankVtx" Count="58" Offset="0xF00">
<Vtx/>
</Array>
<Array Name="gWindmillManRightArmVtx" Count="24" Offset="0x12A0">
<Vtx/>
</Array>
<Array Name="gWindmillManRightShoulderVtx" Count="24" Offset="0x1420">
<Vtx/>
</Array>
<Array Name="gWindmillManHornVtx" Count="48" Offset="0x15A0">
<Vtx/>
</Array>
<Array Name="gWindmillManHeadVtx" Count="133" Offset="0x18A0">
<Vtx/>
</Array>
<Array Name="gWindmillManChestAndMusicBoxPipeVtx" Count="112" Offset="0x20F0">
<Vtx/>
</Array>
<Array Name="gWindmillManLeftFootVtx" Count="14" Offset="0x27F0">
<Vtx/>
</Array>
<Array Name="gWindmillManLeftLegVtx" Count="28" Offset="0x28D0">
<Vtx/>
</Array>
<Array Name="gWindmillManLeftThighVtx" Count="23" Offset="0x2A90">
<Vtx/>
</Array>
<Array Name="gWindmillManRightFootVtx" Count="14" Offset="0x2C00">
<Vtx/>
</Array>
<Array Name="gWindmillManRightLegVtx" Count="28" Offset="0x2CE0">
<Vtx/>
</Array>
<Array Name="gWindmillManRightThighVtx" Count="23" Offset="0x2EA0">
<Vtx/>
</Array>
<Array Name="gWindmillManTorsoVtx" Count="18" Offset="0x3010">
<Vtx/>
</Array>
</File>
</Root>

View File

@ -101,5 +101,100 @@
<Animation Name="gFlareDancerCoreInitRunCycleAnim" Offset="0x6CF8"/>
<Animation Name="gFlareDancerCoreRunCycleAnim" Offset="0x7CD0"/>
<Animation Name="gFlareDancerCoreEndRunCycleAnim" Offset="0x7DC8"/>
<!-- Vertices -->
<Array Name="gFlareDancerRightStiltVtx" Count="12" Offset="0x2AF0">
<Vtx/>
</Array>
<Array Name="gFlareDancerLowerRightLegVtx" Count="9" Offset="0x2BB0">
<Vtx/>
</Array>
<Array Name="gFlareDancerUpperRightLegVtx" Count="12" Offset="0x2C40">
<Vtx/>
</Array>
<Array Name="gFlareDancerLeftStiltVtx" Count="12" Offset="0x2D00">
<Vtx/>
</Array>
<Array Name="gFlareDancerLowerLeftLegVtx" Count="12" Offset="0x2DC0">
<Vtx/>
</Array>
<Array Name="gFlareDancerUpperLeftLegVtx" Count="12" Offset="0x2E80">
<Vtx/>
</Array>
<Array Name="gFlareDancerDressVtx" Count="30" Offset="0x2F40">
<Vtx/>
</Array>
<Array Name="gFlareDancerFuseVtx" Count="23" Offset="0x3120">
<Vtx/>
</Array>
<Array Name="gFlareDancerRightSwordVtx" Count="40" Offset="0x3290">
<Vtx/>
</Array>
<Array Name="gFlareDancerRightForearmVtx" Count="16" Offset="0x3510">
<Vtx/>
</Array>
<Array Name="gFlareDancerRightUpperArmVtx" Count="16" Offset="0x3610">
<Vtx/>
</Array>
<Array Name="gFlareDancerLeftSwordVtx" Count="40" Offset="0x3710">
<Vtx/>
</Array>
<Array Name="gFlareDancerLeftForearmVtx" Count="13" Offset="0x3990">
<Vtx/>
</Array>
<Array Name="gFlareDancerLeftUpperArmVtx" Count="16" Offset="0x3A60">
<Vtx/>
</Array>
<Array Name="gFlareDancerHeadVtx" Count="16" Offset="0x3B60">
<Vtx/>
</Array>
<Array Name="gFlareDancerTorsoVtx" Count="20" Offset="0x3C60">
<Vtx/>
</Array>
<Array Name="gFlareDancerLowerFireHairVtx" Count="10" Offset="0x3DA0">
<Vtx/>
</Array>
<Array Name="gFlareDancerMiddleFireHair3Vtx" Count="6" Offset="0x3E40">
<Vtx/>
</Array>
<Array Name="gFlareDancerMiddleFireHair2Vtx" Count="6" Offset="0x3EA0">
<Vtx/>
</Array>
<Array Name="gFlareDancerMiddleFireHair1Vtx" Count="6" Offset="0x3F00">
<Vtx/>
</Array>
<Array Name="gFlareDancerUpperFireHairVtx" Count="6" Offset="0x3F60">
<Vtx/>
</Array>
<Array Name="gFlareDancerCoreFuseVtx" Count="23" Offset="0x6D10">
<Vtx/>
</Array>
<Array Name="gFlareDancerCoreBodyVtx" Count="20" Offset="0x6E80">
<Vtx/>
</Array>
<Array Name="gFlareDancerCoreRightFootVtx" Count="12" Offset="0x6FC0">
<Vtx/>
</Array>
<Array Name="gFlareDancerCoreLowerRightLegVtx" Count="12" Offset="0x7080">
<Vtx/>
</Array>
<Array Name="gFlareDancerCoreUpperRightLegVtx" Count="8" Offset="0x7140">
<Vtx/>
</Array>
<Array Name="gFlareDancerCoreLeftFootVtx" Count="17" Offset="0x71C0">
<Vtx/>
</Array>
<Array Name="gFlareDancerCoreLowerLeftLegVtx" Count="12" Offset="0x72D0">
<Vtx/>
</Array>
<Array Name="gFlareDancerCoreUpperLeftLegVtx" Count="8" Offset="0x7390">
<Vtx/>
</Array>
<Array Name="gFlareDancerSquareParticleVtx" Count="4" Offset="0x7988">
<Vtx/>
</Array>
<Array Name="gFlareDancerTriangleParticleVtx" Count="3" Offset="0x79C8">
<Vtx/>
</Array>
</File>
</Root>

View File

@ -9,5 +9,24 @@
<DList Name="gFreezardIceTriangleDL" Offset="0x3260"/>
<DList Name="gFreezardIceRockDL" Offset="0x33F0"/>
<Texture Name="gFreezardSteamTex" OutName="steam" Format="i4" Width="32" Height="32" Offset="0x2E70"/>
<Array Name="gFreezardIntactVtx" Count="275" Offset="0x0">
<Vtx/>
</Array>
<Array Name="gFreezardTopRightHornChippedVtx" Count="219" Offset="0x13F0">
<Vtx/>
</Array>
<Array Name="gFreezardHeadChippedVtx" Count="139" Offset="0x23F0">
<Vtx/>
</Array>
<Array Name="gFreezardSteamVtx" Count="3" Offset="0x3070">
<Vtx/>
</Array>
<Array Name="gFreezardIceTriangleVtx" Count="14" Offset="0x3180">
<Vtx/>
</Array>
<Array Name="gFreezardIceRockVtx" Count="14" Offset="0x3310">
<Vtx/>
</Array>
</File>
</Root>

View File

@ -74,5 +74,61 @@
<Animation Name="gGerudoWhiteIdleAnim" Offset="0x0228"/>
<Animation Name="gGerudoWhiteClapAnim" Offset="0xA048"/>
<Animation Name="gGerudoWhiteDismissiveAnim" Offset="0xA498"/>
<!-- Vertices -->
<Array Name="gGerudoWhiteHeadVtx" Count="123" Offset="0x2B08">
<Vtx/>
</Array>
<Array Name="gGerudoWhiteLeftHandVtx" Count="55" Offset="0x32B8">
<Vtx/>
</Array>
<Array Name="gGerudoWhiteLeftForearmVtx" Count="24" Offset="0x3628">
<Vtx/>
</Array>
<Array Name="gGerudoWhiteLeftUpperArmVtx" Count="24" Offset="0x37A8">
<Vtx/>
</Array>
<Array Name="gGerudoWhiteRightHandVtx" Count="55" Offset="0x3928">
<Vtx/>
</Array>
<Array Name="gGerudoWhiteRightForearmVtx" Count="24" Offset="0x3C98">
<Vtx/>
</Array>
<Array Name="gGerudoWhiteRightUpperArmVtx" Count="24" Offset="0x3E18">
<Vtx/>
</Array>
<Array Name="gGerudoWhiteTorsoVtx" Count="118" Offset="0x3F98">
<Vtx/>
</Array>
<Array Name="gGerudoWhiteLeftFootVtx" Count="49" Offset="0x46F8">
<Vtx/>
</Array>
<Array Name="gGerudoWhiteLeftShinVtx" Count="32" Offset="0x4A08">
<Vtx/>
</Array>
<Array Name="gGerudoWhiteLeftThighVtx" Count="28" Offset="0x4C08">
<Vtx/>
</Array>
<Array Name="gGerudoWhiteRightFootVtx" Count="49" Offset="0x4DC8">
<Vtx/>
</Array>
<Array Name="gGerudoWhiteRightShinVtx" Count="32" Offset="0x50D8">
<Vtx/>
</Array>
<Array Name="gGerudoWhiteRightThighVtx" Count="28" Offset="0x52D8">
<Vtx/>
</Array>
<Array Name="gGerudoWhiteWaistVtx" Count="23" Offset="0x5498">
<Vtx/>
</Array>
<Array Name="gGerudoWhiteHairstyleBobVtx" Count="161" Offset="0x7588">
<Vtx/>
</Array>
<Array Name="gGerudoWhiteHairstyleStraightFringeVtx" Count="125" Offset="0x7F98">
<Vtx/>
</Array>
<Array Name="gGerudoWhiteHairstyleSpikyVtx" Count="163" Offset="0x8768">
<Vtx/>
</Array>
</File>
</Root>

View File

@ -24,5 +24,64 @@
<!-- These hints are currently needed for ZAPD to extract the textures properly. -->
<Texture Name="sGerudoRedTexHint1" Format="rgba16" Width="18" Height="14" Offset="0x5D30"/>
<Texture Name="sGerudoRedTexHint2" Format="ci8" Width="8" Height="8" Offset="0x5F28" TlutOffset="0x5D30"/>
<!-- Vertices -->
<Array Name="object_geldb_Vtx_002C00" Count="30" Offset="0x2C00">
<Vtx/>
</Array>
<Array Name="object_geldb_Vtx_002DE0" Count="25" Offset="0x2DE0">
<Vtx/>
</Array>
<Array Name="object_geldb_Vtx_002F70" Count="30" Offset="0x2F70">
<Vtx/>
</Array>
<Array Name="object_geldb_Vtx_003150" Count="25" Offset="0x3150">
<Vtx/>
</Array>
<Array Name="object_geldb_Vtx_0032E0" Count="101" Offset="0x32E0">
<Vtx/>
</Array>
<Array Name="object_geldb_Vtx_003930" Count="65" Offset="0x3930">
<Vtx/>
</Array>
<Array Name="object_geldb_Vtx_003D40" Count="31" Offset="0x3D40">
<Vtx/>
</Array>
<Array Name="object_geldb_Vtx_003F30" Count="61" Offset="0x3F30">
<Vtx/>
</Array>
<Array Name="object_geldb_Vtx_004300" Count="31" Offset="0x4300">
<Vtx/>
</Array>
<Array Name="object_geldb_Vtx_0044F0" Count="63" Offset="0x44F0">
<Vtx/>
</Array>
<Array Name="object_geldb_Vtx_007128" Count="43" Offset="0x7128">
<Vtx/>
</Array>
<Array Name="object_geldb_Vtx_0073D8" Count="43" Offset="0x73D8">
<Vtx/>
</Array>
<Array Name="object_geldb_Vtx_007688" Count="34" Offset="0x7688">
<Vtx/>
</Array>
<Array Name="object_geldb_Vtx_0078A8" Count="35" Offset="0x78A8">
<Vtx/>
</Array>
<Array Name="object_geldb_Vtx_007AD8" Count="34" Offset="0x7AD8">
<Vtx/>
</Array>
<Array Name="object_geldb_Vtx_007CF8" Count="35" Offset="0x7CF8">
<Vtx/>
</Array>
<Array Name="object_geldb_Vtx_007F28" Count="12" Offset="0x7F28">
<Vtx/>
</Array>
<Array Name="object_geldb_Vtx_007FE8" Count="14" Offset="0x7FE8">
<Vtx/>
</Array>
<Array Name="object_geldb_Vtx_0080C8" Count="232" Offset="0x80C8">
<Vtx/>
</Array>
</File>
</Root>

View File

@ -1,6 +1,9 @@
<Root>
<File Name="object_gjyo_objects" Segment="6">
<Texture Name="gRainbowBridgeTex" OutName="rainbow_bridge" Format="rgba16" Width="32" Height="32" Offset="0xDF0"/>
<Array Name="gRainbowBridgeVtx" Count="96" Offset="0x0">
<Vtx/>
</Array>
<DList Name="gRainbowBridgeDL" Offset="0x600"/>
<Collision Name="gRainbowBridgeCol" Offset="0xDB8"/>
</File>

View File

@ -81,5 +81,60 @@
<Animation Name="gGerudoPurpleLookingAboutAnim" Offset="0x98AC"/>
<Animation Name="gGerudoPurpleWalkingAnim" Offset="0x9ED4"/>
<!-- Vertices -->
<Array Name="gGerudoPurpleRightForearmVtx" Count="30" Offset="0x1B50">
<Vtx/>
</Array>
<Array Name="gGerudoPurpleRightUpperArmVtx" Count="25" Offset="0x1D30">
<Vtx/>
</Array>
<Array Name="gGerudoPurpleLeftForearmVtx" Count="30" Offset="0x1EC0">
<Vtx/>
</Array>
<Array Name="gGerudoPurpleLeftUpperArmVtx" Count="25" Offset="0x20A0">
<Vtx/>
</Array>
<Array Name="gGerudoPurpleTorsoVtx" Count="97" Offset="0x2230">
<Vtx/>
</Array>
<Array Name="gGerudoPurpleLeftShinVtx" Count="53" Offset="0x2840">
<Vtx/>
</Array>
<Array Name="gGerudoPurpleLeftThighVtx" Count="32" Offset="0x2B90">
<Vtx/>
</Array>
<Array Name="gGerudoPurpleRightShinVtx" Count="53" Offset="0x2D90">
<Vtx/>
</Array>
<Array Name="gGerudoPurpleRightThighVtx" Count="32" Offset="0x30E0">
<Vtx/>
</Array>
<Array Name="gGerudoPurpleWaistVtx" Count="38" Offset="0x32E0">
<Vtx/>
</Array>
<Array Name="gGerudoPurpleLeftFootVtx" Count="43" Offset="0x5FF8">
<Vtx/>
</Array>
<Array Name="gGerudoPurpleRightFootVtx" Count="43" Offset="0x62A8">
<Vtx/>
</Array>
<Array Name="gGerudoPurpleLeftHandVtx" Count="34" Offset="0x6558">
<Vtx/>
</Array>
<Array Name="gGerudoPurpleRightHandVtx" Count="34" Offset="0x6778">
<Vtx/>
</Array>
<Array Name="gGerudoPurpleGlaiveVtx" Count="25" Offset="0x6998">
<Vtx/>
</Array>
<Array Name="gGerudoPurpleVeilVtx" Count="12" Offset="0x6B28">
<Vtx/>
</Array>
<Array Name="gGerudoPurplePonytailVtx" Count="14" Offset="0x6BE8">
<Vtx/>
</Array>
<Array Name="gGerudoPurpleHeadVtx" Count="203" Offset="0x6CC8">
<Vtx/>
</Array>
</File>
</Root>

View File

@ -82,5 +82,60 @@
<DList Name="gPhantomGanonBarsDL" Offset="0x12AB0"/>
<Collision Name="gPhantomGanonBarsCol" Offset="0x12FD0"/>
<!-- Vertices -->
<Array Name="gPhantomGanonFaceVtx" Count="209" Offset="0x41B0">
<Vtx/>
</Array>
<Array Name="object_gnd_Vtx_005548" Count="188" Offset="0x5548">
<Vtx/>
</Array>
<Array Name="object_gnd_Vtx_006108" Count="35" Offset="0x6108">
<Vtx/>
</Array>
<Array Name="object_gnd_Vtx_006338" Count="11" Offset="0x6338">
<Vtx/>
</Array>
<Array Name="object_gnd_Vtx_0063E8" Count="30" Offset="0x63E8">
<Vtx/>
</Array>
<Array Name="object_gnd_Vtx_0065C8" Count="147" Offset="0x65C8">
<Vtx/>
</Array>
<Array Name="object_gnd_Vtx_006EF8" Count="61" Offset="0x6EF8">
<Vtx/>
</Array>
<Array Name="object_gnd_Vtx_0072C8" Count="47" Offset="0x72C8">
<Vtx/>
</Array>
<Array Name="object_gnd_Vtx_0075B8" Count="15" Offset="0x75B8">
<Vtx/>
</Array>
<Array Name="object_gnd_Vtx_0076A8" Count="17" Offset="0x76A8">
<Vtx/>
</Array>
<Array Name="object_gnd_Vtx_0077B8" Count="20" Offset="0x77B8">
<Vtx/>
</Array>
<Array Name="object_gnd_Vtx_0078F8" Count="30" Offset="0x78F8">
<Vtx/>
</Array>
<Array Name="object_gnd_Vtx_007AD8" Count="11" Offset="0x7AD8">
<Vtx/>
</Array>
<Array Name="object_gnd_Vtx_007B88" Count="35" Offset="0x7B88">
<Vtx/>
</Array>
<Array Name="object_gnd_Vtx_007DB8" Count="15" Offset="0x7DB8">
<Vtx/>
</Array>
<Array Name="object_gnd_Vtx_007EA8" Count="20" Offset="0x7EA8">
<Vtx/>
</Array>
<Array Name="object_gnd_Vtx_007FE8" Count="17" Offset="0x7FE8">
<Vtx/>
</Array>
<Array Name="gPhantomGanonBarsVtx" Count="12" Offset="0x129F0">
<Vtx/>
</Array>
</File>
</Root>

View File

@ -55,5 +55,37 @@
<Limb Name="gObjectGolRightFootLimb" LimbType="Standard" Offset="0x3AC0"/>
<Limb Name="gObjectGolRightShinLimb" LimbType="Standard" Offset="0x3ACC"/>
<Limb Name="gObjectGolRightThighLimb" LimbType="Standard" Offset="0x3AD8"/>
<!-- Vertices -->
<Array Name="gObjectGolLeftFootVtx" Count="10" Offset="0x1560">
<Vtx/>
</Array>
<Array Name="gObjectGolLeftThighVtx" Count="26" Offset="0x16C0">
<Vtx/>
</Array>
<Array Name="gObjectGolLeftShinVtx" Count="10" Offset="0x1958">
<Vtx/>
</Array>
<Array Name="gObjectGolRightFootVtx" Count="10" Offset="0x1A88">
<Vtx/>
</Array>
<Array Name="gObjectGolRightThighVtx" Count="25" Offset="0x1BE8">
<Vtx/>
</Array>
<Array Name="gObjectGolRightShinVtx" Count="10" Offset="0x1E70">
<Vtx/>
</Array>
<Array Name="gObjectGolBodyVtx" Count="84" Offset="0x1FA0">
<Vtx/>
</Array>
<Array Name="gObjectGolEggVtx" Count="59" Offset="0x26C0">
<Vtx/>
</Array>
<Array Name="gObjectGolEyeIrisVtx" Count="3" Offset="0x2BE0">
<Vtx/>
</Array>
<Array Name="gObjectGolAntennaVtx" Count="34" Offset="0x2C98">
<Vtx/>
</Array>
</File>
</Root>

View File

@ -1,6 +1,8 @@
#ifndef TRANSLATION_H
#define TRANSLATION_H
#include "libu64/debug.h"
/**
* The "T" macro holds translations in English for original debug strings written in Japanese.
* The translated strings are only direct translations. Certain names or terms may not reflect
@ -13,4 +15,6 @@
*/
#define T(jp, en) jp
#define LOG_STRING_T(stringJP, stringEN, file, line) LOG(#stringJP, stringJP, "%s", file, line)
#endif

View File

@ -7,7 +7,7 @@
#include "z_lib.h"
#include "z_math.h"
#pragma increment_block_number "gc-eu:77 gc-eu-mq:77 gc-jp:77 gc-jp-ce:77 gc-jp-mq:77 gc-us:77 gc-us-mq:77 ique-cn:67" \
#pragma increment_block_number "gc-eu:76 gc-eu-mq:76 gc-jp:76 gc-jp-ce:76 gc-jp-mq:76 gc-us:76 gc-us-mq:76 ique-cn:66" \
"ntsc-1.0:64 ntsc-1.1:64 ntsc-1.2:64 pal-1.0:64 pal-1.1:64"
s32 Math3D_LineVsLineClosestTwoPoints(Vec3f* lineAPointA, Vec3f* lineAPointB, Vec3f* lineBPointA, Vec3f* lineBPointB,

View File

@ -3661,7 +3661,7 @@ s32 Camera_KeepOn3(Camera* camera) {
}
#pragma increment_block_number "gc-eu:128 gc-eu-mq:128 gc-jp:128 gc-jp-ce:128 gc-jp-mq:128 gc-us:128 gc-us-mq:128" \
"ique-cn:128 ntsc-1.0:83 ntsc-1.1:83 ntsc-1.2:83 pal-1.0:83 pal-1.1:83"
"ique-cn:128 ntsc-1.0:82 ntsc-1.1:82 ntsc-1.2:82 pal-1.0:82 pal-1.1:82"
s32 Camera_KeepOn4(Camera* camera) {
static Vec3f D_8015BD50;

View File

@ -1,5 +1,5 @@
#include "libu64/debug.h"
#include "rand.h"
#include "translation.h"
#include "play_state.h"
#include "player.h"
#include "quest_hint.h"
@ -73,7 +73,7 @@ u32 QuestHint_CheckCondition(QuestHintCmd* hintCmd) {
}
}
LOG_STRING("企画外 条件", "../z_elf_message.c", 156); // "Unplanned conditions"
LOG_STRING_T("企画外 条件", "Unplanned conditions", "../z_elf_message.c", 156);
ASSERT(0, "0", "../z_elf_message.c", 157);
return false;
@ -170,7 +170,7 @@ u16 QuestHint_GetTextIdFromScript(QuestHintCmd* hintCmd) {
return hintCmd->byte2 | 0x100;
default:
LOG_STRING("企画外 条件", "../z_elf_message.c", 281); // "Unplanned conditions"
LOG_STRING_T("企画外 条件", "Unplanned conditions", "../z_elf_message.c", 281);
ASSERT(0, "0", "../z_elf_message.c", 282);
}

View File

@ -895,8 +895,8 @@ void Play_Update(PlayState* this) {
this->envCtx.sandstormState = SANDSTORM_DISSIPATE;
this->envCtx.sandstormPrimA = 255;
this->envCtx.sandstormEnvA = 255;
// "It's here!!!!!!!!!"
LOG_STRING("来た!!!!!!!!!!!!!!!!!!!!!", "../z_play.c", 3471);
LOG_STRING_T("来た!!!!!!!!!!!!!!!!!!!!!", "It's here!!!!!!!!!!!!!!!!!!!!!", "../z_play.c",
3471);
this->transitionMode = TRANS_MODE_SANDSTORM_END;
} else {
this->transitionMode = TRANS_MODE_SANDSTORM_INIT;

View File

@ -7,12 +7,13 @@
#include "z_arrow_fire.h"
#include "overlays/actors/ovl_En_Arrow/z_en_arrow.h"
#include "libu64/debug.h"
#include "gfx.h"
#include "gfx_setupdl.h"
#include "ichain.h"
#include "sfx.h"
#include "sys_matrix.h"
#include "tex_len.h"
#include "translation.h"
#include "z_lib.h"
#include "play_state.h"
@ -27,7 +28,29 @@ void ArrowFire_Charge(ArrowFire* this, PlayState* play);
void ArrowFire_Fly(ArrowFire* this, PlayState* play);
void ArrowFire_Hit(ArrowFire* this, PlayState* play);
#include "assets/overlays/ovl_Arrow_Fire/ovl_Arrow_Fire.c"
#define s1Tex_WIDTH 32
#define s1Tex_HEIGHT 64
static u64 s1Tex[TEX_LEN(u64, s1Tex_WIDTH, s1Tex_HEIGHT, 8)] = {
#include "assets/overlays/ovl_Arrow_Fire/s1Tex.i8.inc.c"
};
#define s2Tex_WIDTH 32
#define s2Tex_HEIGHT 64
static u64 s2Tex[TEX_LEN(u64, s2Tex_WIDTH, s2Tex_HEIGHT, 8)] = {
#include "assets/overlays/ovl_Arrow_Fire/s2Tex.i8.inc.c"
};
static Vtx sVtx[] = {
#include "assets/overlays/ovl_Arrow_Fire/sVtx.inc.c"
};
static Gfx sMaterialDL[22] = {
#include "assets/overlays/ovl_Arrow_Fire/sMaterialDL.inc.c"
};
static Gfx sModelDL[24] = {
#include "assets/overlays/ovl_Arrow_Fire/sModelDL.inc.c"
};
ActorProfile Arrow_Fire_Profile = {
/**/ ACTOR_ARROW_FIRE,
@ -64,7 +87,7 @@ void ArrowFire_Init(Actor* thisx, PlayState* play) {
void ArrowFire_Destroy(Actor* thisx, PlayState* play) {
Magic_Reset(play);
LOG_STRING("消滅", "../z_arrow_fire.c", 421); // "Disappearance"
LOG_STRING_T("消滅", "Disappearance", "../z_arrow_fire.c", 421);
}
void ArrowFire_Charge(ArrowFire* this, PlayState* play) {

View File

@ -7,12 +7,13 @@
#include "z_arrow_ice.h"
#include "overlays/actors/ovl_En_Arrow/z_en_arrow.h"
#include "libu64/debug.h"
#include "gfx.h"
#include "gfx_setupdl.h"
#include "ichain.h"
#include "sfx.h"
#include "sys_matrix.h"
#include "tex_len.h"
#include "translation.h"
#include "z_lib.h"
#include "play_state.h"
@ -27,7 +28,29 @@ void ArrowIce_Charge(ArrowIce* this, PlayState* play);
void ArrowIce_Fly(ArrowIce* this, PlayState* play);
void ArrowIce_Hit(ArrowIce* this, PlayState* play);
#include "assets/overlays/ovl_Arrow_Ice/ovl_Arrow_Ice.c"
#define s1Tex_WIDTH 32
#define s1Tex_HEIGHT 64
static u64 s1Tex[TEX_LEN(u64, s1Tex_WIDTH, s1Tex_HEIGHT, 8)] = {
#include "assets/overlays/ovl_Arrow_Ice/s1Tex.i8.inc.c"
};
#define s2Tex_WIDTH 32
#define s2Tex_HEIGHT 64
static u64 s2Tex[TEX_LEN(u64, s2Tex_WIDTH, s2Tex_HEIGHT, 8)] = {
#include "assets/overlays/ovl_Arrow_Ice/s2Tex.i8.inc.c"
};
static Vtx sVtx[] = {
#include "assets/overlays/ovl_Arrow_Ice/sVtx.inc.c"
};
static Gfx sMaterialDL[22] = {
#include "assets/overlays/ovl_Arrow_Ice/sMaterialDL.inc.c"
};
static Gfx sModelDL[24] = {
#include "assets/overlays/ovl_Arrow_Ice/sModelDL.inc.c"
};
ActorProfile Arrow_Ice_Profile = {
/**/ ACTOR_ARROW_ICE,
@ -64,7 +87,7 @@ void ArrowIce_Init(Actor* thisx, PlayState* play) {
void ArrowIce_Destroy(Actor* thisx, PlayState* play) {
Magic_Reset(play);
LOG_STRING("消滅", "../z_arrow_ice.c", 415); // "Disappearance"
LOG_STRING_T("消滅", "Disappearance", "../z_arrow_ice.c", 415);
}
void ArrowIce_Charge(ArrowIce* this, PlayState* play) {

View File

@ -7,12 +7,13 @@
#include "z_arrow_light.h"
#include "overlays/actors/ovl_En_Arrow/z_en_arrow.h"
#include "libu64/debug.h"
#include "gfx.h"
#include "gfx_setupdl.h"
#include "ichain.h"
#include "sfx.h"
#include "sys_matrix.h"
#include "tex_len.h"
#include "translation.h"
#include "z_lib.h"
#include "play_state.h"
@ -27,7 +28,29 @@ void ArrowLight_Charge(ArrowLight* this, PlayState* play);
void ArrowLight_Fly(ArrowLight* this, PlayState* play);
void ArrowLight_Hit(ArrowLight* this, PlayState* play);
#include "assets/overlays/ovl_Arrow_Light/ovl_Arrow_Light.c"
#define s1Tex_WIDTH 32
#define s1Tex_HEIGHT 64
static u64 s1Tex[TEX_LEN(u64, s1Tex_WIDTH, s1Tex_HEIGHT, 8)] = {
#include "assets/overlays/ovl_Arrow_Light/s1Tex.i8.inc.c"
};
#define s2Tex_WIDTH 32
#define s2Tex_HEIGHT 64
static u64 s2Tex[TEX_LEN(u64, s2Tex_WIDTH, s2Tex_HEIGHT, 8)] = {
#include "assets/overlays/ovl_Arrow_Light/s2Tex.i8.inc.c"
};
static Vtx sVtx[] = {
#include "assets/overlays/ovl_Arrow_Light/sVtx.inc.c"
};
static Gfx sMaterialDL[22] = {
#include "assets/overlays/ovl_Arrow_Light/sMaterialDL.inc.c"
};
static Gfx sModelDL[24] = {
#include "assets/overlays/ovl_Arrow_Light/sModelDL.inc.c"
};
ActorProfile Arrow_Light_Profile = {
/**/ ACTOR_ARROW_LIGHT,
@ -64,7 +87,7 @@ void ArrowLight_Init(Actor* thisx, PlayState* play) {
void ArrowLight_Destroy(Actor* thisx, PlayState* play) {
Magic_Reset(play);
LOG_STRING("消滅", "../z_arrow_light.c", 403); // "Disappearance"
LOG_STRING_T("消滅", "Disappearance", "../z_arrow_light.c", 403);
}
void ArrowLight_Charge(ArrowLight* this, PlayState* play) {

View File

@ -16,6 +16,7 @@
#include "sfx.h"
#include "sys_matrix.h"
#include "terminal.h"
#include "tex_len.h"
#include "z_lib.h"
#include "effect.h"
#include "play_state.h"
@ -76,7 +77,75 @@ static Vec3f sSideCenters[] = {
static f32 sSideAngles[] = { M_PI / 2, -M_PI / 2, 0.0f, M_PI };
#include "assets/overlays/ovl_Bg_Ganon_Otyuka/ovl_Bg_Ganon_Otyuka.c"
#define sPlatformTex_WIDTH 32
#define sPlatformTex_HEIGHT 32
static u64 sPlatformTex[TEX_LEN(u64, sPlatformTex_WIDTH, sPlatformTex_HEIGHT, 16)] = {
#include "assets/overlays/ovl_Bg_Ganon_Otyuka/sPlatformTex.rgba16.inc.c"
};
static u8 sZeros[8] = { 0 };
static Vtx sPlatformTopVtx[4] = {
#include "assets/overlays/ovl_Bg_Ganon_Otyuka/sPlatformTopVtx.inc.c"
};
static Gfx sPlatformMaterialDL[17] = {
#include "assets/overlays/ovl_Bg_Ganon_Otyuka/sPlatformMaterialDL.inc.c"
};
static Gfx sPlatformTopDL[3] = {
#include "assets/overlays/ovl_Bg_Ganon_Otyuka/sPlatformTopDL.inc.c"
};
static Vtx sPlatformBottomVtx[4] = {
#include "assets/overlays/ovl_Bg_Ganon_Otyuka/sPlatformBottomVtx.inc.c"
};
static Gfx sPlatformBottomDL[3] = {
#include "assets/overlays/ovl_Bg_Ganon_Otyuka/sPlatformBottomDL.inc.c"
};
static Vtx sPlatformSideVtx[4] = {
#include "assets/overlays/ovl_Bg_Ganon_Otyuka/sPlatformSideVtx.inc.c"
};
static Gfx sPlatformSideDL[3] = {
#include "assets/overlays/ovl_Bg_Ganon_Otyuka/sPlatformSideDL.inc.c"
};
#define sFlashTex_WIDTH 32
#define sFlashTex_HEIGHT 64
static u64 sFlashTex[TEX_LEN(u64, sFlashTex_WIDTH, sFlashTex_HEIGHT, 8)] = {
#include "assets/overlays/ovl_Bg_Ganon_Otyuka/sFlashTex.i8.inc.c"
};
static Vtx sFlashVtx[8] = {
#include "assets/overlays/ovl_Bg_Ganon_Otyuka/sFlashVtx.inc.c"
};
static Gfx sFlashDL[22] = {
#include "assets/overlays/ovl_Bg_Ganon_Otyuka/sFlashDL.inc.c"
};
static BgCamInfo sBgCamList[1] = {
#include "assets/overlays/ovl_Bg_Ganon_Otyuka/sBgCamList.inc.c"
};
static SurfaceType sSurfaceTypes[2] = {
#include "assets/overlays/ovl_Bg_Ganon_Otyuka/sSurfaceTypes.inc.c"
};
static CollisionPoly sPolyList[10] = {
#include "assets/overlays/ovl_Bg_Ganon_Otyuka/sPolyList.inc.c"
};
static Vec3s sVtxList[8] = {
#include "assets/overlays/ovl_Bg_Ganon_Otyuka/sVtxList.inc.c"
};
static CollisionHeader sCol = {
#include "assets/overlays/ovl_Bg_Ganon_Otyuka/sCol.inc.c"
};
void BgGanonOtyuka_Init(Actor* thisx, PlayState* play2) {
BgGanonOtyuka* this = (BgGanonOtyuka*)thisx;

View File

@ -28,7 +28,13 @@ void func_80896950(BgJyaCobra* this, PlayState* play);
void func_808969F8(BgJyaCobra* this, PlayState* play);
void func_80896ABC(BgJyaCobra* this, PlayState* play);
#include "assets/overlays/ovl_Bg_Jya_Cobra/ovl_Bg_Jya_Cobra.c"
static Vtx sShadowVtx[] = {
#include "assets/overlays/ovl_Bg_Jya_Cobra/sShadowVtx.inc.c"
};
static Gfx sShadowDL[7] = {
#include "assets/overlays/ovl_Bg_Jya_Cobra/sShadowDL.inc.c"
};
ActorProfile Bg_Jya_Cobra_Profile = {
/**/ ACTOR_BG_JYA_COBRA,

View File

@ -15,6 +15,7 @@
#include "sequence.h"
#include "sfx.h"
#include "sys_matrix.h"
#include "tex_len.h"
#include "z_lib.h"
#include "effect.h"
#include "play_state.h"
@ -69,7 +70,18 @@ ActorProfile Boss_Dodongo_Profile = {
};
#include "z_boss_dodongo_data.inc.c"
#include "assets/overlays/ovl_Boss_Dodongo/ovl_Boss_Dodongo.c"
#define sLavaFloorLavaTex_WIDTH 64
#define sLavaFloorLavaTex_HEIGHT 64
static u64 sLavaFloorLavaTex[TEX_LEN(u64, sLavaFloorLavaTex_WIDTH, sLavaFloorLavaTex_HEIGHT, 16)] = {
#include "assets/overlays/ovl_Boss_Dodongo/sLavaFloorLavaTex.rgba16.inc.c"
};
#define sLavaFloorRockTex_WIDTH 32
#define sLavaFloorRockTex_HEIGHT 64
static u64 sLavaFloorRockTex[TEX_LEN(u64, sLavaFloorRockTex_WIDTH, sLavaFloorRockTex_HEIGHT, 16)] = {
#include "assets/overlays/ovl_Boss_Dodongo/sLavaFloorRockTex.rgba16.inc.c"
};
static InitChainEntry sInitChain[] = {
ICHAIN_U8(attentionRangeType, ATTENTION_RANGE_5, ICHAIN_CONTINUE),

View File

@ -6,7 +6,6 @@
#include "z_demo_kekkai.h"
#include "libu64/debug.h"
#include "gfx.h"
#include "gfx_setupdl.h"
#include "rand.h"
@ -14,6 +13,7 @@
#include "sequence.h"
#include "sfx.h"
#include "sys_matrix.h"
#include "translation.h"
#include "z_lib.h"
#include "audio.h"
#include "effect.h"
@ -267,8 +267,7 @@ void DemoKekkai_TrialBarrierIdle(Actor* thisx, PlayState* play) {
CollisionCheck_SetOC(play, &play->colChkCtx, &this->collider1.base);
if (this->collider2.base.acFlags & AC_HIT) {
Sfx_PlaySfxCentered(NA_SE_SY_CORRECT_CHIME);
// "I got it"
LOG_STRING("当ったよ", "../z_demo_kekkai.c", 572);
LOG_STRING_T("当ったよ", "I got it", "../z_demo_kekkai.c", 572);
this->actor.update = DemoKekkai_TrialBarrierDispel;
this->timer = 0;
play->csCtx.script = SEGMENTED_TO_VIRTUAL(sSageCutscenes[this->actor.params]);

View File

@ -6,7 +6,6 @@
#include "z_elf_msg.h"
#include "libu64/debug.h"
#include "gfx.h"
#include "gfx_setupdl.h"
#include "ichain.h"
@ -64,14 +63,14 @@ void ElfMsg_SetupAction(ElfMsg* this, ElfMsgActionFunc actionFunc) {
s32 ElfMsg_KillCheck(ElfMsg* this, PlayState* play) {
if ((this->actor.world.rot.y > 0) && (this->actor.world.rot.y < 0x41) &&
Flags_GetSwitch(play, this->actor.world.rot.y - 1)) {
LOG_STRING("共倒れ", "../z_elf_msg.c", 161); // "Mutual destruction"
LOG_STRING_T("共倒れ", "Mutual destruction", "../z_elf_msg.c", 161);
if (PARAMS_GET_U(this->actor.params, 8, 6) != 0x3F) {
Flags_SetSwitch(play, PARAMS_GET_U(this->actor.params, 8, 6));
}
Actor_Kill(&this->actor);
return 1;
} else if ((this->actor.world.rot.y == -1) && Flags_GetClear(play, this->actor.room)) {
LOG_STRING("共倒れ", "../z_elf_msg.c", 172); // "Mutual destruction"
LOG_STRING_T("共倒れ", "Mutual destruction", "../z_elf_msg.c", 172);
if (PARAMS_GET_U(this->actor.params, 8, 6) != 0x3F) {
Flags_SetSwitch(play, PARAMS_GET_U(this->actor.params, 8, 6));
}

View File

@ -6,7 +6,6 @@
#include "z_elf_msg2.h"
#include "libu64/debug.h"
#include "gfx.h"
#include "gfx_setupdl.h"
#include "ichain.h"
@ -14,6 +13,7 @@
#include "regs.h"
#include "sys_matrix.h"
#include "terminal.h"
#include "translation.h"
#include "play_state.h"
#define FLAGS ACTOR_FLAG_UPDATE_CULLING_DISABLED
@ -61,14 +61,14 @@ void ElfMsg2_SetupAction(ElfMsg2* this, ElfMsg2ActionFunc actionFunc) {
s32 ElfMsg2_KillCheck(ElfMsg2* this, PlayState* play) {
if ((this->actor.world.rot.y > 0) && (this->actor.world.rot.y < 0x41) &&
Flags_GetSwitch(play, this->actor.world.rot.y - 1)) {
LOG_STRING("共倒れ", "../z_elf_msg2.c", 171); // "Mutual destruction"
LOG_STRING_T("共倒れ", "Mutual destruction", "../z_elf_msg2.c", 171);
if (PARAMS_GET_U(this->actor.params, 8, 6) != 0x3F) {
Flags_SetSwitch(play, PARAMS_GET_U(this->actor.params, 8, 6));
}
Actor_Kill(&this->actor);
return 1;
} else if ((this->actor.world.rot.y == -1) && Flags_GetClear(play, this->actor.room)) {
LOG_STRING("共倒れ2", "../z_elf_msg2.c", 182); // "Mutual destruction 2"
LOG_STRING_T("共倒れ2", "Mutual destruction 2", "../z_elf_msg2.c", 182);
if (PARAMS_GET_U(this->actor.params, 8, 6) != 0x3F) {
Flags_SetSwitch(play, PARAMS_GET_U(this->actor.params, 8, 6));
}
@ -77,7 +77,7 @@ s32 ElfMsg2_KillCheck(ElfMsg2* this, PlayState* play) {
} else if (PARAMS_GET_U(this->actor.params, 8, 6) == 0x3F) {
return 0;
} else if (Flags_GetSwitch(play, PARAMS_GET_U(this->actor.params, 8, 6))) {
LOG_STRING("共倒れ", "../z_elf_msg2.c", 192); // "Mutual destruction"
LOG_STRING_T("共倒れ", "Mutual destruction", "../z_elf_msg2.c", 192);
Actor_Kill(&this->actor);
return 1;
}

View File

@ -107,7 +107,7 @@ void EnDivingGame_Init(Actor* thisx, PlayState* play) {
this->actor.scale.y = 0.012999999f;
this->actor.scale.z = 0.0139999995f;
if (D_809EF0B0) {
PRINTF(VT_FGCOL(GREEN) T("☆☆☆☆☆ もういてる原 ☆☆☆☆☆ \n", "☆☆☆☆☆ Original is already here ☆☆☆☆☆ \n") VT_RST);
PRINTF(VT_FGCOL(GREEN) T("☆☆☆☆☆ もういてる原 ☆☆☆☆☆ \n", "☆☆☆☆☆ I'm already here -Hara ☆☆☆☆☆ \n") VT_RST);
this->unk_31F = 1;
Actor_Kill(&this->actor);
} else {

View File

@ -12,6 +12,7 @@
#include "segmented_address.h"
#include "sys_math.h"
#include "sys_matrix.h"
#include "tex_len.h"
#include "z_lib.h"
#include "play_state.h"
@ -102,12 +103,39 @@ static u16 sVerticesMap[GANON_MANT_NUM_STRANDS * GANON_MANT_NUM_JOINTS] = {
MAP_STRAND_TO_VTX(3), MAP_STRAND_TO_VTX(2), MAP_STRAND_TO_VTX(1), MAP_STRAND_TO_VTX(0),
};
#define MANT_TEX_WIDTH 32
#define MANT_TEX_HEIGHT 64
static u64 sForceAlignment = 0;
#include "assets/overlays/ovl_En_Ganon_Mant/ovl_En_Ganon_Mant.c"
#define gMantTex_WIDTH 32
#define gMantTex_HEIGHT 64
static u64 gMantTex[TEX_LEN(u64, gMantTex_WIDTH, gMantTex_HEIGHT, 16)] = {
#include "assets/overlays/ovl_En_Ganon_Mant/gMantTex.rgba16.inc.c"
};
#define gMantUnusedTex_WIDTH 32
#define gMantUnusedTex_HEIGHT 32
static u64 gMantUnusedTex[TEX_LEN(u64, gMantUnusedTex_WIDTH, gMantUnusedTex_HEIGHT, 16)] = {
#include "assets/overlays/ovl_En_Ganon_Mant/gMantUnusedTex.rgba16.inc.c"
};
static Vtx gMant1Vtx[] = {
#include "assets/overlays/ovl_En_Ganon_Mant/gMant1Vtx.inc.c"
};
static Gfx gMantMaterialDL[11] = {
#include "assets/overlays/ovl_En_Ganon_Mant/gMantMaterialDL.inc.c"
};
static Gfx gMantUnusedMaterialDL[11] = {
#include "assets/overlays/ovl_En_Ganon_Mant/gMantUnusedMaterialDL.inc.c"
};
static Gfx gMantDL[138] = {
#include "assets/overlays/ovl_En_Ganon_Mant/gMantDL.inc.c"
};
static Vtx gMant2Vtx[] = {
#include "assets/overlays/ovl_En_Ganon_Mant/gMant2Vtx.inc.c"
};
void EnGanonMant_Init(Actor* thisx, PlayState* play) {
EnGanonMant* this = (EnGanonMant*)thisx;
@ -127,8 +155,8 @@ void EnGanonMant_Tear(EnGanonMant* this) {
s16 areaX;
s16 areaY;
s16 texIdx;
f32 tx = Rand_ZeroFloat(MANT_TEX_WIDTH);
f32 ty = Rand_ZeroFloat(MANT_TEX_HEIGHT);
f32 tx = Rand_ZeroFloat(gMantTex_WIDTH);
f32 ty = Rand_ZeroFloat(gMantTex_HEIGHT);
f32 tearAngle = Rand_ZeroFloat(2 * M_PI);
f32 tearDirX = sinf(tearAngle);
f32 tearDirY = cosf(tearAngle);
@ -137,11 +165,11 @@ void EnGanonMant_Tear(EnGanonMant* this) {
s16* tearAreaSizes = shape->tearAreaSizes;
for (i = 0; i < count; i++) {
if ((0 <= tx && tx < MANT_TEX_WIDTH) && (0 <= ty && ty < MANT_TEX_HEIGHT)) {
if ((0 <= tx && tx < gMantTex_WIDTH) && (0 <= ty && ty < gMantTex_HEIGHT)) {
for (areaX = 0; areaX <= tearAreaSizes[i]; areaX++) {
for (areaY = 0; areaY <= tearAreaSizes[i]; areaY++) {
texIdx = (s16)((s16)tx + ((s16)ty * MANT_TEX_WIDTH)) + ((s16)areaX + ((s16)areaY * MANT_TEX_WIDTH));
if (texIdx >= MANT_TEX_WIDTH * MANT_TEX_HEIGHT) {
texIdx = (s16)((s16)tx + ((s16)ty * gMantTex_WIDTH)) + ((s16)areaX + ((s16)areaY * gMantTex_WIDTH));
if (texIdx >= gMantTex_WIDTH * gMantTex_HEIGHT) {
continue;
}
((u16*)gMantTex)[texIdx] = 0;

View File

@ -415,7 +415,13 @@ void EnHoll_Update(Actor* thisx, PlayState* play) {
this->actionFunc(this, play);
}
#include "assets/overlays/ovl_En_Holl/ovl_En_Holl.c"
static Vtx sPlaneVtx[] = {
#include "assets/overlays/ovl_En_Holl/sPlaneVtx.inc.c"
};
static Gfx sPlaneDL[5] = {
#include "assets/overlays/ovl_En_Holl/sPlaneDL.inc.c"
};
void EnHoll_Draw(Actor* thisx, PlayState* play) {
EnHoll* this = (EnHoll*)thisx;

View File

@ -13,6 +13,7 @@
#include "segmented_address.h"
#include "sys_math.h"
#include "sys_matrix.h"
#include "tex_len.h"
#include "z_lib.h"
#include "play_state.h"
#include "player.h"
@ -46,7 +47,59 @@ static Vec3s D_80A8EE10[0x90];
static s32 sUnused[2] = { 0, 0 };
#include "assets/overlays/ovl_En_Jsjutan/ovl_En_Jsjutan.c"
#define sCarpetTex_WIDTH 32
#define sCarpetTex_HEIGHT 64
static u64 sCarpetTex[TEX_LEN(u64, sCarpetTex_WIDTH, sCarpetTex_HEIGHT, 16)] = {
#include "assets/overlays/ovl_En_Jsjutan/sCarpetTex.rgba16.inc.c"
};
static Vtx gShadowOddVtx[] = {
#include "assets/overlays/ovl_En_Jsjutan/gShadowOddVtx.inc.c"
};
static Vtx sShadowEvenVtx[] = {
#include "assets/overlays/ovl_En_Jsjutan/sShadowEvenVtx.inc.c"
};
static Vtx sCarpetOddVtx[] = {
#include "assets/overlays/ovl_En_Jsjutan/sCarpetOddVtx.inc.c"
};
static Gfx sCarpetMaterialDL[16] = {
#include "assets/overlays/ovl_En_Jsjutan/sCarpetMaterialDL.inc.c"
};
static Gfx sShadowMaterialDL[14] = {
#include "assets/overlays/ovl_En_Jsjutan/sShadowMaterialDL.inc.c"
};
static Gfx sModelDL[134] = {
#include "assets/overlays/ovl_En_Jsjutan/sModelDL.inc.c"
};
static Vtx sCarpetEvenVtx[] = {
#include "assets/overlays/ovl_En_Jsjutan/sCarpetEvenVtx.inc.c"
};
static BgCamInfo sBgCamList[] = {
#include "assets/overlays/ovl_En_Jsjutan/sBgCamList.inc.c"
};
static SurfaceType sSurfaceTypes[] = {
#include "assets/overlays/ovl_En_Jsjutan/sSurfaceTypes.inc.c"
};
static CollisionPoly sPolyList[] = {
#include "assets/overlays/ovl_En_Jsjutan/sPolyList.inc.c"
};
static Vec3s sVtxList[] = {
#include "assets/overlays/ovl_En_Jsjutan/sVtxList.inc.c"
};
static CollisionHeader sCol = {
#include "assets/overlays/ovl_En_Jsjutan/sCol.inc.c"
};
void EnJsjutan_Init(Actor* thisx, PlayState* play) {
EnJsjutan* this = (EnJsjutan*)thisx;

View File

@ -824,7 +824,13 @@ static f32 sCutAngles[] = {
static s32 sUnused[] = { 0, 0, 0 }; // Unused zero vector?
#include "assets/overlays/ovl_En_Kanban/ovl_En_Kanban.c"
static Vtx sShadowVtx[] = {
#include "assets/overlays/ovl_En_Kanban/sShadowVtx.inc.c"
};
static Gfx sShadowDL[16] = {
#include "assets/overlays/ovl_En_Kanban/sShadowDL.inc.c"
};
void EnKanban_Draw(Actor* thisx, PlayState* play) {
EnKanban* this = (EnKanban*)thisx;

View File

@ -155,7 +155,7 @@ void EnNiw_Init(Actor* thisx, PlayState* play) {
if (sLowerRiverSpawned) {
Actor_Kill(&this->actor);
PRINTF(VT_FGCOL(YELLOW)
T("☆☆☆☆☆ もういてる原 Ver.1 ☆☆☆☆☆ \n", "☆☆☆☆☆ Original is already here Ver.1 ☆☆☆☆☆ \n") VT_RST);
T("☆☆☆☆☆ もういてる原 Ver.1 ☆☆☆☆☆ \n", "☆☆☆☆☆ I'm already here -Hara Ver.1 ☆☆☆☆☆ \n") VT_RST);
return;
}
sLowerRiverSpawned = true;
@ -167,7 +167,7 @@ void EnNiw_Init(Actor* thisx, PlayState* play) {
if (sUpperRiverSpawned) {
Actor_Kill(&this->actor);
PRINTF(VT_FGCOL(YELLOW)
T("☆☆☆☆☆ もういてる原 Ver.2 ☆☆☆☆☆ \n", "☆☆☆☆☆ Original is already here Ver.2 ☆☆☆☆☆ \n") VT_RST);
T("☆☆☆☆☆ もういてる原 Ver.2 ☆☆☆☆☆ \n", "☆☆☆☆☆ I'm already here -Hara Ver.2 ☆☆☆☆☆ \n") VT_RST);
return;
}
sUpperRiverSpawned = true;

View File

@ -15,6 +15,7 @@
#include "segmented_address.h"
#include "sys_matrix.h"
#include "terminal.h"
#include "translation.h"
#include "z_lib.h"
#include "play_state.h"
#include "player.h"
@ -90,15 +91,21 @@ void EnNiwGirl_Init(Actor* thisx, PlayState* play) {
&play->actorCtx, &this->actor, play, ACTOR_EN_NIW, this->actor.world.pos.x + vec2.x,
this->actor.world.pos.y + vec2.y, this->actor.world.pos.z + vec2.z, 0, this->actor.world.rot.y, 0, 0xA);
if (this->chasedEnNiw != NULL) {
PRINTF(VT_FGCOL(GREEN) "☆☆☆☆☆ シツレイしちゃうわね!プンプン ☆☆☆☆☆ %d\n" VT_RST, this->actor.params);
PRINTF(VT_FGCOL(YELLOW) "☆☆☆☆☆ きゃははははは、まてー ☆☆☆☆☆ %d\n" VT_RST, this->path);
PRINTF(VT_FGCOL(GREEN) T("☆☆☆☆☆ シツレイしちゃうわね!プンプン ☆☆☆☆☆ %d\n",
"☆☆☆☆☆ That's so mean! Punpun ☆☆☆☆☆ %d\n") VT_RST,
this->actor.params);
PRINTF(VT_FGCOL(YELLOW) T("☆☆☆☆☆ きゃははははは、まてー ☆☆☆☆☆ %d\n", "☆☆☆☆☆ Kyahahahaha, wait ☆☆☆☆☆ %d\n")
VT_RST,
this->path);
PRINTF("\n\n");
this->actor.colChkInfo.mass = MASS_IMMOVABLE;
this->actionFunc = EnNiwGirl_Talk;
} else {
PRINTF("\n\n");
PRINTF(VT_FGCOL(GREEN) "☆☆☆☆☆ なぜか、セットできむぅあせん ☆☆☆☆☆ %d\n" VT_RST, this->actor.params);
PRINTF(VT_FGCOL(YELLOW) "☆☆☆☆☆ んんがくく ☆☆☆☆☆ %d\n" VT_RST, this->path);
PRINTF(VT_FGCOL(GREEN) T("☆☆☆☆☆ なぜか、セットできむぅあせん ☆☆☆☆☆ %d\n",
"☆☆☆☆☆ For some reason, I can't set it up ☆☆☆☆☆ %d\n") VT_RST,
this->actor.params);
PRINTF(VT_FGCOL(YELLOW) T("☆☆☆☆☆ んんがくく ☆☆☆☆☆ %d\n", "☆☆☆☆☆ Language ☆☆☆☆☆ %d\n") VT_RST, this->path);
PRINTF("\n\n");
Actor_Kill(&this->actor);
}

View File

@ -229,7 +229,7 @@ void func_80ABF28C(EnOkarinaTag* this, PlayState* play) {
break;
default:
PRINTF(VT_FGCOL(GREEN) T("☆☆☆☆☆ オカリナ透明君デモ開始チェックエラー原 ☆☆☆☆☆ %d\n",
"☆☆☆☆☆ Ocarina Invisible-kun demo start check error source ☆☆☆☆☆ %d\n")
"☆☆☆☆☆ Ocarina Invisible-kun demo start check error -Hara ☆☆☆☆☆ %d\n")
VT_RST,
this->type);
Actor_Kill(&this->actor);

View File

@ -1203,7 +1203,7 @@ void EnOssan_State_BrowseLeftShelf(EnOssan* this, PlayState* play, Player* playe
s32 d;
if (!EnOssan_ReturnItemToShelf(this)) {
PRINTF("%s[%d]:" VT_FGCOL(GREEN) "ズーム中!!" VT_RST "\n", "../z_en_oB1.c", 2152);
PRINTF("%s[%d]:" VT_FGCOL(GREEN) T("ズーム中!!", "Zooming!!") VT_RST "\n", "../z_en_oB1.c", 2152);
this->delayTimer = 3;
return;
}
@ -1262,7 +1262,7 @@ void EnOssan_State_BrowseRightShelf(EnOssan* this, PlayState* play, Player* play
prevIndex = this->cursorIndex;
if (!EnOssan_ReturnItemToShelf(this)) {
PRINTF("%s[%d]:" VT_FGCOL(GREEN) "ズーム中!!" VT_RST "\n", "../z_en_oB1.c", 2244);
PRINTF("%s[%d]:" VT_FGCOL(GREEN) T("ズーム中!!", "Zooming!!") VT_RST "\n", "../z_en_oB1.c", 2244);
this->delayTimer = 3;
return;
}
@ -1327,7 +1327,7 @@ void EnOssan_State_LookFromShelfToShopkeeper(EnOssan* this, PlayState* play, Pla
void EnOssan_State_DisplayOnlyBombDialog(EnOssan* this, PlayState* play, Player* player) {
if (!EnOssan_ReturnItemToShelf(this)) {
PRINTF("%s[%d]:" VT_FGCOL(GREEN) "ズーム中!!" VT_RST "\n", "../z_en_oB1.c", 2355);
PRINTF("%s[%d]:" VT_FGCOL(GREEN) T("ズーム中!!", "Zooming!!") VT_RST "\n", "../z_en_oB1.c", 2355);
return;
}
Math_ApproachF(&this->cameraFaceAngle, 0.0f, 0.5f, 10.0f);
@ -1344,7 +1344,7 @@ void EnOssan_State_DisplayOnlyBombDialog(EnOssan* this, PlayState* play, Player*
void EnOssan_GiveItemWithFanfare(PlayState* play, EnOssan* this) {
Player* player = GET_PLAYER(play);
PRINTF("\n" VT_FGCOL(YELLOW) "初めて手にいれた!!" VT_RST "\n\n");
PRINTF("\n" VT_FGCOL(YELLOW) T("初めて手にいれた!!", "I got it for the first time!!") VT_RST "\n\n");
Actor_OfferGetItem(&this->actor, play, this->shelfSlots[this->cursorIndex]->getItemId, 120.0f, 120.0f);
play->msgCtx.msgMode = MSGMODE_TEXT_CLOSING;
play->msgCtx.stateTimer = 4;
@ -1354,7 +1354,7 @@ void EnOssan_GiveItemWithFanfare(PlayState* play, EnOssan* this) {
this->drawCursor = 0;
EnOssan_UpdateCameraDirection(this, play, 0.0f);
this->stateFlag = OSSAN_STATE_GIVE_ITEM_FANFARE;
PRINTF(VT_FGCOL(YELLOW) "持ち上げ開始!!" VT_RST "\n\n");
PRINTF(VT_FGCOL(YELLOW) T("持ち上げ開始!!", "Start lifting!!") VT_RST "\n\n");
}
void EnOssan_SetStateCantGetItem(PlayState* play, EnOssan* this, u16 textId) {
@ -1506,7 +1506,7 @@ void EnOssan_State_ItemSelected(EnOssan* this, PlayState* play2, Player* player)
PlayState* play = play2; // Necessary for OKs
if (!EnOssan_TakeItemOffShelf(this)) {
PRINTF("%s[%d]:" VT_FGCOL(GREEN) "ズーム中!!" VT_RST "\n", "../z_en_oB1.c", 2654);
PRINTF("%s[%d]:" VT_FGCOL(GREEN) T("ズーム中!!", "Zooming!!") VT_RST "\n", "../z_en_oB1.c", 2654);
return;
}
if (Message_GetState(&play->msgCtx) == TEXT_STATE_CHOICE &&
@ -1527,7 +1527,7 @@ void EnOssan_State_SelectMilkBottle(EnOssan* this, PlayState* play2, Player* pla
PlayState* play = play2; // Need for OK
if (!EnOssan_TakeItemOffShelf(this)) {
PRINTF("%s[%d]:" VT_FGCOL(GREEN) "ズーム中!!" VT_RST "\n", "../z_en_oB1.c", 2693);
PRINTF("%s[%d]:" VT_FGCOL(GREEN) T("ズーム中!!", "Zooming!!") VT_RST "\n", "../z_en_oB1.c", 2693);
return;
}
if (Message_GetState(&play->msgCtx) == TEXT_STATE_CHOICE &&
@ -1548,7 +1548,7 @@ void EnOssan_State_SelectWeirdEgg(EnOssan* this, PlayState* play2, Player* playe
PlayState* play = play2; // Needed for OK
if (!EnOssan_TakeItemOffShelf(this)) {
PRINTF("%s[%d]:" VT_FGCOL(GREEN) "ズーム中!!" VT_RST "\n", "../z_en_oB1.c", 2732);
PRINTF("%s[%d]:" VT_FGCOL(GREEN) T("ズーム中!!", "Zooming!!") VT_RST "\n", "../z_en_oB1.c", 2732);
return;
}
if (Message_GetState(&play->msgCtx) == TEXT_STATE_CHOICE &&
@ -1567,7 +1567,7 @@ void EnOssan_State_SelectWeirdEgg(EnOssan* this, PlayState* play2, Player* playe
void EnOssan_State_SelectUnimplementedItem(EnOssan* this, PlayState* play, Player* player) {
if (!EnOssan_TakeItemOffShelf(this)) {
PRINTF("%s[%d]:" VT_FGCOL(GREEN) "ズーム中!!" VT_RST "\n", "../z_en_oB1.c", 2771);
PRINTF("%s[%d]:" VT_FGCOL(GREEN) T("ズーム中!!", "Zooming!!") VT_RST "\n", "../z_en_oB1.c", 2771);
return;
}
if (Message_GetState(&play->msgCtx) == TEXT_STATE_EVENT && Message_ShouldAdvance(play)) {
@ -1578,10 +1578,10 @@ void EnOssan_State_SelectUnimplementedItem(EnOssan* this, PlayState* play, Playe
void EnOssan_State_SelectBombs(EnOssan* this, PlayState* play, Player* player) {
if (!EnOssan_TakeItemOffShelf(this)) {
PRINTF("%s[%d]:" VT_FGCOL(GREEN) "ズーム中!!" VT_RST "\n", "../z_en_oB1.c", 2798);
PRINTF("%s[%d]:" VT_FGCOL(GREEN) T("ズーム中!!", "Zooming!!") VT_RST "\n", "../z_en_oB1.c", 2798);
return;
}
PRINTF("店主の依頼 ( %d )\n", GET_INFTABLE(INFTABLE_FC));
PRINTF(T("店主の依頼 ( %d )\n", "Shopkeeper's request ( %d )\n"), GET_INFTABLE(INFTABLE_FC));
if (this->actor.params != OSSAN_TYPE_GORON) {
EnOssan_State_ItemSelected(this, play, player);
return;
@ -1605,7 +1605,7 @@ void EnOssan_State_SelectMaskItem(EnOssan* this, PlayState* play, Player* player
EnGirlA* item = this->shelfSlots[this->cursorIndex];
if (!EnOssan_TakeItemOffShelf(this)) {
PRINTF("%s[%d]:" VT_FGCOL(GREEN) "ズーム中!!" VT_RST "\n", "../z_en_oB1.c", 2845);
PRINTF("%s[%d]:" VT_FGCOL(GREEN) T("ズーム中!!", "Zooming!!") VT_RST "\n", "../z_en_oB1.c", 2845);
return;
}
if (talkState == TEXT_STATE_EVENT) {
@ -1722,7 +1722,7 @@ void EnOssan_State_ContinueShoppingPrompt(EnOssan* this, PlayState* play, Player
switch (play->msgCtx.choiceIndex) {
case 0:
PRINTF(VT_FGCOL(YELLOW) "★★★ 続けるよ!! ★★★" VT_RST "\n");
PRINTF(VT_FGCOL(YELLOW) T("★★★ 続けるよ!! ★★★", "★★★ I will continue!! ★★★") VT_RST "\n");
player->actor.shape.rot.y += 0x8000;
player->stateFlags2 |= PLAYER_STATE2_29;
Play_SetViewpoint(play, VIEWPOINT_PIVOT);
@ -1732,7 +1732,7 @@ void EnOssan_State_ContinueShoppingPrompt(EnOssan* this, PlayState* play, Player
break;
case 1:
default:
PRINTF(VT_FGCOL(YELLOW) "★★★ やめるよ!! ★★★" VT_RST "\n");
PRINTF(VT_FGCOL(YELLOW) T("★★★ やめるよ!! ★★★", "★★★ I'm quitting!! ★★★") VT_RST "\n");
EnOssan_EndInteraction(play, this);
break;
}

View File

@ -99,8 +99,8 @@ ActorProfile En_Rr_Profile = {
#if DEBUG_FEATURES
static char* sDropNames[] = {
// "type 7", "small magic jar", "arrow", "fairy", "20 rupees", "50 rupees"
"タイプ7 ", "魔法の壷小", "", "妖精 ", "20ルピー ", "50ルピー ",
T("タイプ7 ", "Type 7 "), T("魔法の壷小", "Small magic jar"), T("", "Arrow "),
T("妖精 ", "Fairy "), T("20ルピー ", "20 rupees "), T("50ルピー ", "50 rupees "),
};
#endif
@ -438,8 +438,7 @@ void EnRr_CollisionCheck(EnRr* this, PlayState* play) {
if (this->collider2.base.acFlags & AC_HIT) {
this->collider2.base.acFlags &= ~AC_HIT;
// "Kakin" (not sure what this means)
PRINTF(VT_FGCOL(GREEN) "カキン(%d)" VT_RST "\n", this->frameCount);
PRINTF(VT_FGCOL(GREEN) T("カキン(%d)", "Kakin (%d)!!") VT_RST "\n", this->frameCount);
hitPos.x = this->collider2.elem.acDmgInfo.hitPos.x;
hitPos.y = this->collider2.elem.acDmgInfo.hitPos.y;
hitPos.z = this->collider2.elem.acDmgInfo.hitPos.z;

View File

@ -1307,35 +1307,35 @@ void func_80AED83C(EnRu1* this) {
Math_SmoothStepToS(&torsoRot->y, 0, 0x14, 0x1838, 0x64);
}
void func_80AED8DC(EnRu1* this) {
s32 temp_hi;
s16* unk_2AC = &this->unk_2AC;
void EnRu1_UpdateHeadRotation(EnRu1* this) {
s32 headRotOffset;
s16* headRotTimer = &this->headRotTimer;
s16* headRotY = &this->interactInfo.headRot.y;
s16* unk_29E = &this->unk_29E;
s16* headTurnSpeed = &this->headTurnSpeed;
s32 pad[2];
if (DECR(*unk_2AC) == 0) {
*unk_2AC = Rand_S16Offset(0xA, 0x19);
temp_hi = *unk_2AC % 5;
if (temp_hi == 0) {
this->unk_2B0 = 1;
} else if (temp_hi == 1) {
this->unk_2B0 = 2;
if (DECR(*headRotTimer) == 0) {
*headRotTimer = Rand_S16Offset(0xA, 0x19);
headRotOffset = *headRotTimer % 5;
if (headRotOffset == 0) {
this->headRotDirection = 1;
} else if (headRotOffset == 1) {
this->headRotDirection = 2;
} else {
this->unk_2B0 = 0;
this->headRotDirection = 0;
}
*unk_29E = 0;
*headTurnSpeed = 0;
}
if (this->unk_2B0 == 0) {
Math_SmoothStepToS(unk_29E, 0 - *headRotY, 1, 0x190, 0x190);
Math_SmoothStepToS(headRotY, 0, 3, ABS(*unk_29E), 0x64);
} else if (this->unk_2B0 == 1) {
Math_SmoothStepToS(unk_29E, -0x2AAA - *headRotY, 1, 0x190, 0x190);
Math_SmoothStepToS(headRotY, -0x2AAA, 3, ABS(*unk_29E), 0x64);
if (this->headRotDirection == 0) {
Math_SmoothStepToS(headTurnSpeed, 0 - *headRotY, 1, 0x190, 0x190);
Math_SmoothStepToS(headRotY, 0, 3, ABS(*headTurnSpeed), 0x64);
} else if (this->headRotDirection == 1) {
Math_SmoothStepToS(headTurnSpeed, -0x2AAA - *headRotY, 1, 0x190, 0x190);
Math_SmoothStepToS(headRotY, -0x2AAA, 3, ABS(*headTurnSpeed), 0x64);
} else {
Math_SmoothStepToS(unk_29E, 0x2AAA - *headRotY, 1, 0x190, 0x190);
Math_SmoothStepToS(headRotY, 0x2AAA, 3, ABS(*unk_29E), 0x64);
Math_SmoothStepToS(headTurnSpeed, 0x2AAA - *headRotY, 1, 0x190, 0x190);
Math_SmoothStepToS(headRotY, 0x2AAA, 3, ABS(*headTurnSpeed), 0x64);
}
}
@ -1655,10 +1655,10 @@ s32 func_80AEE6D0(EnRu1* this, PlayState* play) {
return false;
}
void func_80AEE7C4(EnRu1* this, PlayState* play) {
void EnRu1_UpdateCarriedBehavior(EnRu1* this, PlayState* play) {
s32 pad[9];
Player* player;
f32* unk_370 = &this->unk_370;
f32* carryIdleTimer = &this->carryIdleTimer;
if (Actor_HasNoParent(&this->actor, play)) {
f32 frameCount = Animation_GetLastFrame(&gRutoChildSittingAnim);
@ -1671,17 +1671,17 @@ void func_80AEE7C4(EnRu1* this, PlayState* play) {
this->actor.gravity = -((kREG(23) * 0.01f) + 1.3f);
func_80AED57C(this);
this->action = 28;
*unk_370 = 0.0f;
*carryIdleTimer = 0.0f;
} else if (func_80AEE6D0(this, play)) {
s32 pad;
*unk_370 = 0.0f;
*carryIdleTimer = 0.0f;
} else {
player = GET_PLAYER(play);
if (player->stateFlags2 & PLAYER_STATE2_IDLE_FIDGET) {
this->unk_370 += 1.0f;
this->carryIdleTimer += 1.0f;
if (this->action != 32) {
if (*unk_370 > 30.0f) {
if (*carryIdleTimer > 30.0f) {
if (Rand_S16Offset(0, 3) == 0) {
f32 frameCount = Animation_GetLastFrame(&gRutoChildSquirmAnim);
@ -1690,23 +1690,23 @@ void func_80AEE7C4(EnRu1* this, PlayState* play) {
func_80AED5DC(this);
this->action = 32;
}
*unk_370 = 0.0f;
*carryIdleTimer = 0.0f;
}
} else {
if (*unk_370 > 50.0f) {
if (*carryIdleTimer > 50.0f) {
f32 frameCount = Animation_GetLastFrame(&gRutoChildSittingAnim);
Animation_Change(&this->skelAnime, &gRutoChildSittingAnim, 1.0f, 0, frameCount, ANIMMODE_LOOP,
-8.0f);
this->action = 31;
*unk_370 = 0.0f;
*carryIdleTimer = 0.0f;
}
}
} else {
f32 frameCount = Animation_GetLastFrame(&gRutoChildSittingAnim);
Animation_Change(&this->skelAnime, &gRutoChildSittingAnim, 1.0f, 0, frameCount, ANIMMODE_LOOP, -8.0f);
*unk_370 = 0.0f;
*carryIdleTimer = 0.0f;
}
}
}
@ -1784,13 +1784,13 @@ void func_80AEED58(EnRu1* this, PlayState* play) {
}
void func_80AEEDCC(EnRu1* this, PlayState* play) {
func_80AED8DC(this);
EnRu1_UpdateHeadRotation(this);
EnRu1_UpdateSkelAnime(this);
func_80AEAECC(this, play);
func_80AEE2F8(this, play);
EnRu1_UpdateEyes(this);
func_80AED6F8(play);
func_80AEE7C4(this, play);
EnRu1_UpdateCarriedBehavior(this, play);
}
void func_80AEEE34(EnRu1* this, PlayState* play) {
@ -1800,7 +1800,7 @@ void func_80AEEE34(EnRu1* this, PlayState* play) {
func_80AEE2F8(this, play);
EnRu1_UpdateEyes(this);
func_80AED6F8(play);
func_80AEE7C4(this, play);
EnRu1_UpdateCarriedBehavior(this, play);
}
void func_80AEEE9C(EnRu1* this, PlayState* play) {

View File

@ -38,12 +38,12 @@ typedef struct EnRu1 {
/* 0x0294 */ char unk_294[0x4];
/* 0x0298 */ s32 unk_298;
/* 0x029C */ char unk_29C[0x2];
/* 0x029E */ s16 unk_29E;
/* 0x029E */ s16 headTurnSpeed;
/* 0x02A0 */ char unk_2A0[0x4];
/* 0x02A4 */ f32 unk_2A4;
/* 0x02A8 */ s32 alpha;
/* 0x02AC */ s16 unk_2AC;
/* 0x02B0 */ s32 unk_2B0;
/* 0x02AC */ s16 headRotTimer;
/* 0x02B0 */ s32 headRotDirection;
/* 0x02B4 */ ColliderCylinder collider;
/* 0x0300 */ ColliderCylinder collider2;
/* 0x034C */ s32 unk_34C;
@ -53,7 +53,7 @@ typedef struct EnRu1 {
/* 0x035C */ s16 unk_35C;
/* 0x0360 */ f32 unk_360;
/* 0x0364 */ Vec3f unk_364;
/* 0x0370 */ f32 unk_370;
/* 0x0370 */ f32 carryIdleTimer;
/* 0x0374 */ NpcInteractInfo interactInfo;
} EnRu1; // size = 0x039C

View File

@ -36,7 +36,13 @@ void EnSt_Die(EnSt* this, PlayState* play);
void EnSt_BounceAround(EnSt* this, PlayState* play);
void EnSt_FinishBouncing(EnSt* this, PlayState* play);
#include "assets/overlays/ovl_En_St/ovl_En_St.c"
static Vtx sSkulltulaUnusedVtx[] = {
#include "assets/overlays/ovl_En_St/sSkulltulaUnusedVtx.inc.c"
};
static Gfx sSkulltulaUnusedDL[10] = {
#include "assets/overlays/ovl_En_St/sSkulltulaUnusedDL.inc.c"
};
ActorProfile En_St_Profile = {
/**/ ACTOR_EN_ST,

View File

@ -86,7 +86,7 @@ void EnSyatekiItm_Init(Actor* thisx, PlayState* play2) {
this->man = (EnSyatekiMan*)Actor_SpawnAsChild(&play->actorCtx, &this->actor, play, ACTOR_EN_SYATEKI_MAN, 140.0f,
0.0f, 255.0f, 0, -0x4000, 0, 0);
if (this->man == NULL) {
PRINTF(VT_FGCOL(GREEN) T("☆☆☆☆☆ エラー原 ☆☆☆☆ \n", "☆☆☆☆☆ Spawn error ☆☆☆☆ \n") VT_RST);
PRINTF(VT_FGCOL(GREEN) T("☆☆☆☆☆ エラー原 ☆☆☆☆ \n", "☆☆☆☆☆ Error -Hara ☆☆☆☆ \n") VT_RST);
Actor_Kill(&this->actor);
return;
}
@ -94,7 +94,7 @@ void EnSyatekiItm_Init(Actor* thisx, PlayState* play2) {
this->markers[i] = (EnExRuppy*)Actor_SpawnAsChild(&play->actorCtx, &this->actor, play, ACTOR_EN_EX_RUPPY,
sRupeePos[i].x, sRupeePos[i].y, sRupeePos[i].z, 0, 0, 0, 4);
if (this->markers[i] == NULL) {
PRINTF(VT_FGCOL(YELLOW) T("☆☆☆☆☆ エラー原セカンド ☆☆☆☆ \n", "☆☆☆☆☆ Second spawn error ☆☆☆☆ \n") VT_RST);
PRINTF(VT_FGCOL(YELLOW) T("☆☆☆☆☆ エラー原セカンド ☆☆☆☆ \n", "☆☆☆☆☆ Second error -Hara ☆☆☆☆ \n") VT_RST);
Actor_Kill(&this->actor);
return;
}
@ -245,7 +245,7 @@ void EnSyatekiItm_SpawnTargets(EnSyatekiItm* this, PlayState* play) {
&play->actorCtx, &this->actor, play, ACTOR_EN_G_SWITCH, this->targetHome[i].x, this->targetHome[i].y,
this->targetHome[i].z, 0, 0, 0, (ENGSWITCH_TARGET_RUPEE << 0xC) | 0x3F);
if (this->targets[i] == NULL) {
PRINTF(VT_FGCOL(GREEN) T("☆☆☆☆☆ ルピーでエラー原 ☆☆☆☆ \n", "☆☆☆☆☆ Rupee spawn error ☆☆☆☆ \n") VT_RST);
PRINTF(VT_FGCOL(GREEN) T("☆☆☆☆☆ ルピーでエラー原 ☆☆☆☆ \n", "☆☆☆☆☆ Rupee error -Hara ☆☆☆☆ \n") VT_RST);
Actor_Kill(&this->actor);
return;
}

View File

@ -231,7 +231,8 @@ void EnTa_Init(Actor* thisx, PlayState* play2) {
this->actor.shape.shadowScale = 54.0f;
}
} else if (play->sceneId == SCENE_LON_LON_BUILDINGS) {
PRINTF(VT_FGCOL(CYAN) " ロンロン牧場の倉庫 の タロン\n" VT_RST);
PRINTF(VT_FGCOL(CYAN) T(" ロンロン牧場の倉庫 の タロン\n", " Talon in the warehouse at Lon Lon Ranch\n")
VT_RST);
if (!GET_EVENTCHKINF(EVENTCHKINF_TALON_RETURNED_FROM_CASTLE)) {
Actor_Kill(&this->actor);
} else if (LINK_IS_ADULT) {

View File

@ -57,7 +57,7 @@ void EnTakaraMan_Init(Actor* thisx, PlayState* play) {
if (sTakaraIsInitialized) {
Actor_Kill(&this->actor);
PRINTF(VT_FGCOL(GREEN) T("☆☆☆☆☆ もういてる原 ☆☆☆☆☆ \n", "☆☆☆☆☆ Original is already here ☆☆☆☆☆ \n") VT_RST);
PRINTF(VT_FGCOL(GREEN) T("☆☆☆☆☆ もういてる原 ☆☆☆☆☆ \n", "☆☆☆☆☆ I'm already here -Hara ☆☆☆☆☆ \n") VT_RST);
return;
}

View File

@ -11,6 +11,7 @@
#include "printf.h"
#include "segmented_address.h"
#include "sys_matrix.h"
#include "translation.h"
#include "play_state.h"
#include "assets/objects/object_shop_dungen/object_shop_dungen.h"
@ -40,8 +41,8 @@ ActorProfile En_Tana_Profile = {
//! next data entry will be dereferenced and print garbage, stopping any future printing.
//! In a non-matching context, this can cause a crash if the next item isn't a valid pointer.
static const char* sShelfTypes[] = {
"木の棚", // "Wooden Shelves"
"石の棚", // "Stone Shelves"
T("木の棚", "Wooden shelf"),
T("石の棚", "Stone shelf"),
#ifdef AVOID_UB
"",
#endif

View File

@ -135,12 +135,12 @@ void EnWallTubo_SetWallFall(EnWallTubo* this, PlayState* play) {
if ((wall != NULL) && (wall->dyna.actor.update != NULL)) {
wall->isHit = true;
// "You did it field!" (repeated 5 times)
PRINTF(VT_FGCOL(GREEN) "☆☆☆☆ やった原! ☆☆☆☆☆ \n" VT_RST);
PRINTF(VT_FGCOL(YELLOW) "☆☆☆☆ やった原! ☆☆☆☆☆ \n" VT_RST);
PRINTF(VT_FGCOL(BLUE) "☆☆☆☆ やった原! ☆☆☆☆☆ \n" VT_RST);
PRINTF(VT_FGCOL(MAGENTA) "☆☆☆☆ やった原! ☆☆☆☆☆ \n" VT_RST);
PRINTF(VT_FGCOL(CYAN) "☆☆☆☆ やった原! ☆☆☆☆☆ \n" VT_RST);
// "Hara" may stand for the developer name Kuzuhara
PRINTF(VT_FGCOL(GREEN) T("☆☆☆☆ やった原! ☆☆☆☆☆ \n", "☆☆☆☆ I did it! -Hara ☆☆☆☆☆ \n") VT_RST);
PRINTF(VT_FGCOL(YELLOW) T("☆☆☆☆ やった原! ☆☆☆☆☆ \n", "☆☆☆☆ I did it! -Hara ☆☆☆☆☆ \n") VT_RST);
PRINTF(VT_FGCOL(BLUE) T("☆☆☆☆ やった原! ☆☆☆☆☆ \n", "☆☆☆☆ I did it! -Hara ☆☆☆☆☆ \n") VT_RST);
PRINTF(VT_FGCOL(MAGENTA) T("☆☆☆☆ やった原! ☆☆☆☆☆ \n", "☆☆☆☆ I did it! -Hara ☆☆☆☆☆ \n") VT_RST);
PRINTF(VT_FGCOL(CYAN) T("☆☆☆☆ やった原! ☆☆☆☆☆ \n", "☆☆☆☆ I did it! -Hara ☆☆☆☆☆ \n") VT_RST);
}
Actor_Kill(&this->actor);

View File

@ -11,6 +11,7 @@
#include "sequence.h"
#include "sfx.h"
#include "terminal.h"
#include "translation.h"
#include "z_lib.h"
#include "audio.h"
#include "debug_display.h"
@ -90,11 +91,14 @@ void EnYabusameMark_Init(Actor* thisx, PlayState* play) {
EnYabusameMark* this = (EnYabusameMark*)thisx;
PRINTF("\n\n");
PRINTF(VT_FGCOL(GREEN) "☆☆☆☆☆ やぶさめまと ☆☆☆☆☆ %x\n" VT_RST, this->actor.params);
// "まと" could be a typo for "まこ", in which case this could be "Yabusame mark"
PRINTF(VT_FGCOL(GREEN) T("☆☆☆☆☆ やぶさめまと ☆☆☆☆☆ %x\n", "☆☆☆☆☆ Yabusame mato ☆☆☆☆☆ %x\n") VT_RST,
this->actor.params);
this->actor.flags &= ~ACTOR_FLAG_ATTENTION_ENABLED;
this->typeIndex = this->actor.params;
this->actor.attentionRangeType = ATTENTION_RANGE_5;
PRINTF(VT_FGCOL(GREEN) "☆☆☆☆☆ 種類インデックス \t ☆☆☆☆☆ %d\n" VT_RST, this->typeIndex);
PRINTF(VT_FGCOL(GREEN) T("☆☆☆☆☆ 種類インデックス \t ☆☆☆☆☆ %d\n", "☆☆☆☆☆ Type index \t ☆☆☆☆☆ %d\n") VT_RST,
this->typeIndex);
switch (this->typeIndex) {
case 0:
this->subTypeIndex = 0;
@ -120,8 +124,9 @@ void EnYabusameMark_Init(Actor* thisx, PlayState* play) {
Actor_Kill(&this->actor);
return;
}
PRINTF(VT_FGCOL(MAGENTA) "☆☆☆☆☆ 種類 ☆☆☆☆☆ %d\n" VT_RST, this->typeIndex);
PRINTF(VT_FGCOL(CYAN) "☆☆☆☆☆ さらに分類 ☆☆☆☆☆ %d\n" VT_RST, this->subTypeIndex);
PRINTF(VT_FGCOL(MAGENTA) T("☆☆☆☆☆ 種類 ☆☆☆☆☆ %d\n", "☆☆☆☆☆ Type ☆☆☆☆☆ %d\n") VT_RST, this->typeIndex);
PRINTF(VT_FGCOL(CYAN) T("☆☆☆☆☆ さらに分類 ☆☆☆☆☆ %d\n", "☆☆☆☆☆ Further classification ☆☆☆☆☆ %d\n") VT_RST,
this->subTypeIndex);
this->actionFunc = func_80B42F74;
}
@ -177,8 +182,8 @@ void func_80B42F74(EnYabusameMark* this, PlayState* play) {
PRINTF(VT_FGCOL(YELLOW) "☆☆☆☆☆ hit ☆☆☆☆☆ %f\n" VT_RST, sTargetPos[this->subTypeIndex].x);
PRINTF(VT_FGCOL(YELLOW) "☆☆☆☆☆ hit ☆☆☆☆☆ %f\n" VT_RST, sTargetPos[this->subTypeIndex].y);
PRINTF(VT_FGCOL(YELLOW) "☆☆☆☆☆ hit ☆☆☆☆☆ %f\n" VT_RST, sTargetPos[this->subTypeIndex].z);
PRINTF(VT_FGCOL(MAGENTA) "☆☆☆☆☆ 小 ☆☆☆☆☆ %f\n" VT_RST, scoreDistance100);
PRINTF(VT_FGCOL(MAGENTA) "☆☆☆☆☆ 大 ☆☆☆☆☆ %f\n" VT_RST, scoreDistance60);
PRINTF(VT_FGCOL(MAGENTA) T("☆☆☆☆☆ 小 ☆☆☆☆☆ %f\n", "☆☆☆☆☆ small ☆☆☆☆☆ %f\n") VT_RST, scoreDistance100);
PRINTF(VT_FGCOL(MAGENTA) T("☆☆☆☆☆ 大 ☆☆☆☆☆ %f\n", "☆☆☆☆☆ large ☆☆☆☆☆ %f\n") VT_RST, scoreDistance60);
PRINTF(VT_FGCOL(MAGENTA) "☆☆☆☆☆ point ☆☆☆☆☆ %d\n" VT_RST, scoreIndex);
PRINTF("\n\n");

View File

@ -9,6 +9,7 @@
#include "gfx.h"
#include "gfx_setupdl.h"
#include "sys_matrix.h"
#include "tex_len.h"
#include "versions.h"
#include "play_state.h"
#include "player.h"
@ -33,7 +34,125 @@ ActorProfile End_Title_Profile = {
/**/ EndTitle_DrawFull,
};
#include "assets/overlays/ovl_End_Title/ovl_End_Title.c"
#if OOT_VERSION != IQUE_CN
#define sTheLegendOfZeldaTex_WIDTH 120
#define sTheLegendOfZeldaTex_HEIGHT 24
static u64 sTheLegendOfZeldaTex[TEX_LEN(u64, sTheLegendOfZeldaTex_WIDTH, sTheLegendOfZeldaTex_HEIGHT, 8)] = {
#include "assets/overlays/ovl_End_Title/sTheLegendOfZeldaTex.ia8.inc.c"
};
#define sOcarinaOfTimeTex_WIDTH 112
#define sOcarinaOfTimeTex_HEIGHT 16
static u64 sOcarinaOfTimeTex[TEX_LEN(u64, sOcarinaOfTimeTex_WIDTH, sOcarinaOfTimeTex_HEIGHT, 8)] = {
#include "assets/overlays/ovl_End_Title/sOcarinaOfTimeTex.ia8.inc.c"
};
#define sTheEndTex_WIDTH 80
#define sTheEndTex_HEIGHT 24
static u64 sTheEndTex[TEX_LEN(u64, sTheEndTex_WIDTH, sTheEndTex_HEIGHT, 8)] = {
#include "assets/overlays/ovl_End_Title/sTheEndTex.ia8.inc.c"
};
#else
static Gfx sEmptyDL1[1] = {
#include "assets/overlays/ovl_End_Title/sEmptyDL1.inc.c"
};
#define sIQueTop_WIDTH 128
#define sIQueTop_HEIGHT 24
static u64 sIQueTop[TEX_LEN(u64, sIQueTop_WIDTH, sIQueTop_HEIGHT, 8)] = {
#include "assets/overlays/ovl_End_Title/sIQueTop.ia8.inc.c"
};
#define sIQueBottom_WIDTH 128
#define sIQueBottom_HEIGHT 24
static u64 sIQueBottom[TEX_LEN(u64, sIQueBottom_WIDTH, sIQueBottom_HEIGHT, 8)] = {
#include "assets/overlays/ovl_End_Title/sIQueBottom.ia8.inc.c"
};
static Gfx sEmptyDL2[1] = {
#include "assets/overlays/ovl_End_Title/sEmptyDL2.inc.c"
};
#endif
#define sNintendoLeftTex_WIDTH 64
#define sNintendoLeftTex_HEIGHT 48
static u64 sNintendoLeftTex[TEX_LEN(u64, sNintendoLeftTex_WIDTH, sNintendoLeftTex_HEIGHT, 8)] = {
#include "assets/overlays/ovl_End_Title/sNintendoLeftTex.ia8.inc.c"
};
#if OOT_VERSION == IQUE_CN
static Gfx sEmptyDL3[1] = {
#include "assets/overlays/ovl_End_Title/sEmptyDL3.inc.c"
};
#endif
#define sNintendoRightTex_WIDTH 64
#define sNintendoRightTex_HEIGHT 48
static u64 sNintendoRightTex[TEX_LEN(u64, sNintendoRightTex_WIDTH, sNintendoRightTex_HEIGHT, 8)] = {
#include "assets/overlays/ovl_End_Title/sNintendoRightTex.ia8.inc.c"
};
#if OOT_VERSION == IQUE_CN
static Gfx sEmptyDL4[1] = {
#include "assets/overlays/ovl_End_Title/sEmptyDL4.inc.c"
};
#endif
#define sPresentedByTex_WIDTH 96
#define sPresentedByTex_HEIGHT 16
static u64 sPresentedByTex[TEX_LEN(u64, sPresentedByTex_WIDTH, sPresentedByTex_HEIGHT, 8)] = {
#include "assets/overlays/ovl_End_Title/sPresentedByTex.ia8.inc.c"
};
#if OOT_VERSION == IQUE_CN
static Gfx sEmptyDL5[1] = {
#include "assets/overlays/ovl_End_Title/sEmptyDL5.inc.c"
};
#define sTheEndTex_WIDTH 80
#define sTheEndTex_HEIGHT 24
static u64 sTheEndTex[TEX_LEN(u64, sTheEndTex_WIDTH, sTheEndTex_HEIGHT, 8)] = {
#include "assets/overlays/ovl_End_Title/sTheEndTex.ia8.inc.c"
};
static Gfx sEmptyDL6[1] = {
#include "assets/overlays/ovl_End_Title/sEmptyDL6.inc.c"
};
#define sTheLegendOfZeldaTex_WIDTH 120
#define sTheLegendOfZeldaTex_HEIGHT 24
static u64 sTheLegendOfZeldaTex[TEX_LEN(u64, sTheLegendOfZeldaTex_WIDTH, sTheLegendOfZeldaTex_HEIGHT, 8)] = {
#include "assets/overlays/ovl_End_Title/sTheLegendOfZeldaTex.ia8.inc.c"
};
static Gfx sEmptyDL7[1] = {
#include "assets/overlays/ovl_End_Title/sEmptyDL7.inc.c"
};
#define sOcarinaOfTimeTex_WIDTH 112
#define sOcarinaOfTimeTex_HEIGHT 16
static u64 sOcarinaOfTimeTex[TEX_LEN(u64, sOcarinaOfTimeTex_WIDTH, sOcarinaOfTimeTex_HEIGHT, 8)] = {
#include "assets/overlays/ovl_End_Title/sOcarinaOfTimeTex.ia8.inc.c"
};
#endif
static Vtx sTriforceVtx[] = {
#include "assets/overlays/ovl_End_Title/sTriforceVtx.inc.c"
};
static Gfx sTriforceDL[12] = {
#include "assets/overlays/ovl_End_Title/sTriforceDL.inc.c"
};
static Gfx sPresentedByNintendoDL[] = {
#include "assets/overlays/ovl_End_Title/sPresentedByNintendoDL.inc.c"
};
void EndTitle_Init(Actor* thisx, PlayState* play) {
EndTitle* this = (EndTitle*)thisx;
@ -94,19 +213,21 @@ void EndTitle_DrawFull(Actor* thisx, PlayState* play) {
gDPSetCombineLERP(OVERLAY_DISP++, PRIMITIVE, ENVIRONMENT, TEXEL0, ENVIRONMENT, TEXEL0, 0, PRIMITIVE, 0, 0, 0, 0,
COMBINED, 0, 0, 0, COMBINED);
gDPSetPrimColor(OVERLAY_DISP++, 0x00, 0x80, 0, 0, 0, this->endAlpha);
gDPLoadTextureTile(OVERLAY_DISP++, sTheEndTex, G_IM_FMT_IA, G_IM_SIZ_8b, 80, 24, 0, 0, 80, 24, 0,
G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMIRROR | G_TX_WRAP, 0, 0, 0, 0);
gDPLoadTextureTile(OVERLAY_DISP++, sTheEndTex, G_IM_FMT_IA, G_IM_SIZ_8b, sTheEndTex_WIDTH, sTheEndTex_HEIGHT, 0, 0,
80, 24, 0, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMIRROR | G_TX_WRAP, 0, 0, 0, 0);
gSPTextureRectangle(OVERLAY_DISP++, 120 << 2, 90 << 2, 200 << 2, 113 << 2, G_TX_RENDERTILE, 0, 0, 1 << 10, 1 << 10);
gDPPipeSync(OVERLAY_DISP++);
gDPSetPrimColor(OVERLAY_DISP++, 0x00, 0x80, 0, 0, 0, this->tlozAlpha);
gDPLoadTextureTile(OVERLAY_DISP++, sTheLegendOfZeldaTex, G_IM_FMT_IA, G_IM_SIZ_8b, 120, 24, 0, 0, 120, 24, 0,
G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMIRROR | G_TX_WRAP, 0, 0, 0, 0);
gDPLoadTextureTile(OVERLAY_DISP++, sTheLegendOfZeldaTex, G_IM_FMT_IA, G_IM_SIZ_8b, sTheLegendOfZeldaTex_WIDTH,
sTheLegendOfZeldaTex_HEIGHT, 0, 0, 120, 24, 0, G_TX_NOMIRROR | G_TX_WRAP,
G_TX_NOMIRROR | G_TX_WRAP, 0, 0, 0, 0);
gSPTextureRectangle(OVERLAY_DISP++, 100 << 2, 160 << 2, 220 << 2, 183 << 2, G_TX_RENDERTILE, 0, 0, 1 << 10,
1 << 10);
gDPPipeSync(OVERLAY_DISP++);
gDPSetPrimColor(OVERLAY_DISP++, 0x00, 0x80, 0, 0, 0, this->ootAlpha);
gDPLoadTextureTile(OVERLAY_DISP++, sOcarinaOfTimeTex, G_IM_FMT_IA, G_IM_SIZ_8b, 112, 16, 0, 0, 112, 16, 0,
G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMIRROR | G_TX_WRAP, 0, 0, 0, 0);
gDPLoadTextureTile(OVERLAY_DISP++, sOcarinaOfTimeTex, G_IM_FMT_IA, G_IM_SIZ_8b, sOcarinaOfTimeTex_WIDTH,
sOcarinaOfTimeTex_HEIGHT, 0, 0, 112, 16, 0, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMIRROR | G_TX_WRAP,
0, 0, 0, 0);
gSPTextureRectangle(OVERLAY_DISP++, 104 << 2, 177 << 2, 216 << 2, 192 << 2, G_TX_RENDERTILE, 0, 0, 1 << 10,
1 << 10);

View File

@ -6,7 +6,6 @@
#include "z_magic_wind.h"
#include "libu64/debug.h"
#include "array_count.h"
#include "gfx.h"
#include "gfx_setupdl.h"
@ -69,8 +68,7 @@ void MagicWind_Init(Actor* thisx, PlayState* play) {
case 1:
SkelCurve_SetAnim(&this->skelCurve, &sAnim, 60.0f, 0.0f, 60.0f, -1.0f);
MagicWind_SetupAction(this, MagicWind_Shrink);
// "Means start"
LOG_STRING("表示開始", "../z_magic_wind.c", 486);
LOG_STRING_T("表示開始", "Start displaying", "../z_magic_wind.c", 486);
Player_PlaySfx(player, NA_SE_PL_MAGIC_WIND_WARP);
break;
}
@ -80,8 +78,7 @@ void MagicWind_Destroy(Actor* thisx, PlayState* play) {
MagicWind* this = (MagicWind*)thisx;
SkelCurve_Destroy(play, &this->skelCurve);
Magic_Reset(play);
// "wipe out"
LOG_STRING("消滅", "../z_magic_wind.c", 505);
LOG_STRING_T("消滅", "Disappearance", "../z_magic_wind.c", 505);
}
void MagicWind_UpdateAlpha(f32 alpha) {
@ -100,8 +97,7 @@ void MagicWind_WaitForTimer(MagicWind* this, PlayState* play) {
return;
}
// "Means start"
LOG_STRING("表示開始", "../z_magic_wind.c", 539);
LOG_STRING_T("表示開始", "Start displaying", "../z_magic_wind.c", 539);
Player_PlaySfx(player, NA_SE_PL_MAGIC_WIND_NORMAL);
MagicWind_UpdateAlpha(1.0f);
MagicWind_SetupAction(this, MagicWind_Grow);

View File

@ -186,8 +186,7 @@ void MirRay_Init(Actor* thisx, PlayState* play) {
LOG_NUM("this->actor.arg_data", this->actor.params, "../z_mir_ray.c", 518);
if (this->actor.params >= 0xA) {
// "Reflected light generation failure"
LOG_STRING("反射光 発生失敗", "../z_mir_ray.c", 521);
LOG_STRING_T("反射光 発生失敗", "Reflected light generation failure", "../z_mir_ray.c", 521);
Actor_Kill(&this->actor);
}

View File

@ -39,8 +39,6 @@ EffectSsProfile Effect_Ss_Fhg_Flash_Profile = {
EffectSsFhgFlash_Init,
};
// Should eventually come from assets/overlays/ovl_Effect_Ss_Fhg_Flash/ovl_Effect_Ss_Fhg_Flash.h
//! TODO: investigate having ZAPD forward declare static variables
static Gfx sShockDL[15];
u32 EffectSsFhgFlash_Init(PlayState* play, u32 index, EffectSs* this, void* initParamsx) {
@ -216,4 +214,18 @@ void EffectSsFhgFlash_UpdateShock(PlayState* play, u32 index, EffectSs* this) {
}
}
#include "assets/overlays/ovl_Effect_Ss_Fhg_Flash/ovl_Effect_Ss_Fhg_Flash.c"
static Vtx sShockVtx[] = {
#include "assets/overlays/ovl_Effect_Ss_Fhg_Flash/sShockVtx.inc.c"
};
#define sShockTex_WIDTH 32
#define sShockTex_HEIGHT 32
static u64 sShockTex[TEX_LEN(u64, sShockTex_WIDTH, sShockTex_HEIGHT, 8)];
static Gfx sShockDL[15] = {
#include "assets/overlays/ovl_Effect_Ss_Fhg_Flash/sShockDL.inc.c"
};
static u64 sShockTex[TEX_LEN(u64, sShockTex_WIDTH, sShockTex_HEIGHT, 8)] = {
#include "assets/overlays/ovl_Effect_Ss_Fhg_Flash/sShockTex.i8.inc.c"
};

View File

@ -225,4 +225,26 @@ void FileSelect_DrawCharacter(GraphicsContext* gfxCtx, void* texture, s16 vtx);
extern s16 D_808124C0[];
#endif
extern Vtx gNameEntryVtx[];
extern Vtx gOptionsMenuHeadersVtx[];
extern Vtx gOptionsMenuSettingsVtx[];
extern Vtx gOptionsDividerSoundVtx[];
extern Vtx gOptionsDividerZTargetVtx[];
extern Vtx gOptionsDividerBrightnessVtx[];
extern s16 gCharPageEng[];
#if OOT_NTSC
extern s16 gCharPageHira[];
extern s16 gCharPageKata[];
extern s16 gNextCharPage[];
#endif
#if OOT_PAL && PLATFORM_N64
extern Vtx gOptionsMenuBrightnessVtx[];
extern Vtx gOptionsMenuLanguageVtx[];
extern Vtx gOptionsDividerLanguageVtx[];
#endif
#if OOT_PAL && PLATFORM_GC
extern Vtx gOptionsMenuHeadersGERVtx[];
extern Vtx gOptionsMenuSettingsGERVtx[];
#endif
#endif

View File

@ -18,7 +18,6 @@
#include "save.h"
#include "assets/textures/title_static/title_static.h"
#include "assets/overlays/ovl_file_choose/ovl_file_choose.h"
void FileSelect_DrawCharacter(GraphicsContext* gfxCtx, void* texture, s16 vtx) {
OPEN_DISPS(gfxCtx, "../z_file_nameset_PAL.c", 110);

View File

@ -1 +1,83 @@
#include "assets/overlays/ovl_file_choose/ovl_file_choose.c"
#include "file_select.h"
#include "ultra64.h"
#include "gfx.h"
#include "versions.h"
Vtx gNameEntryVtx[] = {
#include "assets/overlays/ovl_file_choose/gNameEntryVtx.inc.c"
};
#if OOT_NTSC
s16 gCharPageHira[] = {
#include "assets/overlays/ovl_file_choose/gCharPageHira.inc.c"
};
s16 gCharPageKata[] = {
#include "assets/overlays/ovl_file_choose/gCharPageKata.inc.c"
};
s16 gCharPageEng[] = {
#include "assets/overlays/ovl_file_choose/gCharPageEng.inc.c"
};
s16 gNextCharPage[] = {
#include "assets/overlays/ovl_file_choose/gNextCharPage.inc.c"
};
#endif
Vtx gOptionsMenuHeadersVtx[] = {
#include "assets/overlays/ovl_file_choose/gOptionsMenuHeadersVtx.inc.c"
};
#if OOT_PAL && PLATFORM_GC
Vtx gOptionsMenuHeadersGERVtx[] = {
#include "assets/overlays/ovl_file_choose/gOptionsMenuHeadersGERVtx.inc.c"
};
#endif
Vtx gOptionsMenuSettingsVtx[] = {
#include "assets/overlays/ovl_file_choose/gOptionsMenuSettingsVtx.inc.c"
};
#if OOT_PAL && PLATFORM_GC
Vtx gOptionsMenuSettingsGERVtx[] = {
#include "assets/overlays/ovl_file_choose/gOptionsMenuSettingsGERVtx.inc.c"
};
#endif
#if OOT_PAL && PLATFORM_N64
Vtx gOptionsMenuBrightnessVtx[] = {
#include "assets/overlays/ovl_file_choose/gOptionsMenuBrightnessVtx.inc.c"
};
Vtx gOptionsMenuLanguageVtx[] = {
#include "assets/overlays/ovl_file_choose/gOptionsMenuLanguageVtx.inc.c"
};
u8 ovl_file_choose_zeros_000640[320] = { 0 };
#endif
Vtx gOptionsDividerSoundVtx[] = {
#include "assets/overlays/ovl_file_choose/gOptionsDividerSoundVtx.inc.c"
};
Vtx gOptionsDividerZTargetVtx[] = {
#include "assets/overlays/ovl_file_choose/gOptionsDividerZTargetVtx.inc.c"
};
Vtx gOptionsDividerBrightnessVtx[] = {
#include "assets/overlays/ovl_file_choose/gOptionsDividerBrightnessVtx.inc.c"
};
#if OOT_PAL && PLATFORM_N64
Vtx gOptionsDividerLanguageVtx[] = {
#include "assets/overlays/ovl_file_choose/gOptionsDividerLanguageVtx.inc.c"
};
#endif
#if OOT_PAL
s16 gCharPageEng[] = {
#include "assets/overlays/ovl_file_choose/gCharPageEng.inc.c"
};
#endif

View File

@ -382,32 +382,19 @@ assets/objects/object_zl2_anime2/object_zl2_anime2.c
assets/objects/object_zl2/object_zl2.c
assets/objects/object_zl4/object_zl4.c
assets/objects/object_zo/object_zo.c
assets/overlays/ovl_Arrow_Fire/ovl_Arrow_Fire.c
assets/overlays/ovl_Arrow_Ice/ovl_Arrow_Ice.c
assets/overlays/ovl_Arrow_Light/ovl_Arrow_Light.c
assets/overlays/ovl_Bg_Ganon_Otyuka/ovl_Bg_Ganon_Otyuka.c
assets/overlays/ovl_Bg_Jya_Cobra/ovl_Bg_Jya_Cobra.c
assets/overlays/ovl_Boss_Dodongo/ovl_Boss_Dodongo.c
assets/overlays/ovl_Boss_Ganon2/ovl_Boss_Ganon2.c
assets/overlays/ovl_Boss_Ganon/ovl_Boss_Ganon.c
assets/overlays/ovl_Boss_Sst/ovl_Boss_Sst.c
assets/overlays/ovl_Demo_Shd/ovl_Demo_Shd.c
assets/overlays/ovl_Effect_Ss_Fhg_Flash/ovl_Effect_Ss_Fhg_Flash.c
assets/overlays/ovl_Elf_Msg2/ovl_Elf_Msg2.c
assets/overlays/ovl_Elf_Msg/ovl_Elf_Msg.c
assets/overlays/ovl_En_Bili/ovl_En_Bili.c
assets/overlays/ovl_En_Clear_Tag/ovl_En_Clear_Tag.c
assets/overlays/ovl_End_Title/ovl_End_Title.c
assets/overlays/ovl_En_Ganon_Mant/ovl_En_Ganon_Mant.c
assets/overlays/ovl_En_Ganon_Organ/ovl_En_Ganon_Organ.c
assets/overlays/ovl_En_Holl/ovl_En_Holl.c
assets/overlays/ovl_En_Jsjutan/ovl_En_Jsjutan.c
assets/overlays/ovl_En_Kanban/ovl_En_Kanban.c
assets/overlays/ovl_En_Mag/ovl_En_Mag.c
assets/overlays/ovl_En_Sda/ovl_En_Sda.c
assets/overlays/ovl_En_Ssh/ovl_En_Ssh.c
assets/overlays/ovl_En_Sth/ovl_En_Sth.c
assets/overlays/ovl_En_St/ovl_En_St.c
assets/overlays/ovl_file_choose/ovl_file_choose.c
assets/overlays/ovl_Magic_Dark/ovl_Magic_Dark.c
assets/overlays/ovl_Magic_Fire/ovl_Magic_Fire.c