mirror of
https://github.com/zeldaret/oot.git
synced 2024-12-27 07:07:09 +00:00
Decompile some more objects (#848)
* Object_FU limbs and skel OK * limbs OK * Object_FU textures OK * Object_FU face textures OK * Symbols in en_fu.c * en_fu.c limb enum * Remove Object_fu from undefined_syms, move textures to draw, and small cleanup * Object_bird OK * Object_Bird OK, added cutscene for shot sun, and song of storms * Rainbow Bridge CS * Great fairy CS * Cutscene -> Cs * remove '&' from Cutscenes * Cleanup object_bird * Update z_en_fu.c * Update z_en_fu.h * Update z_en_fu.c * Update z_en_fu.h * Update z_en_fu.h * DC intro CS * Zeldas lullaby CS * Nabooru Knuckle CS * Owl Lake Hylia CS * Sun song CS * Undefined sym in Boss Dodongo * Missed a few more * DC tex name * Windmill man limbs
This commit is contained in:
parent
a6bd227137
commit
7446e5eb80
27 changed files with 179 additions and 204 deletions
|
@ -1,27 +1,30 @@
|
|||
<Root>
|
||||
<File Name="object_bird" Segment="6">
|
||||
<Animation Name="object_bird_Anim_00006C" Offset="0x6C"/>
|
||||
<DList Name="object_bird_DL_000080" Offset="0x80"/>
|
||||
<DList Name="object_bird_DL_000120" Offset="0x120"/>
|
||||
<DList Name="object_bird_DL_000130" Offset="0x130"/>
|
||||
<DList Name="object_bird_DL_000180" Offset="0x180"/>
|
||||
<DList Name="object_bird_DL_000220" Offset="0x220"/>
|
||||
<DList Name="object_bird_DL_000230" Offset="0x230"/>
|
||||
<DList Name="object_bird_DL_000280" Offset="0x280"/>
|
||||
<DList Name="object_bird_DL_0003D0" Offset="0x3D0"/>
|
||||
<DList Name="object_bird_DL_0003E0" Offset="0x3E0"/>
|
||||
<Texture Name="object_bird_Tex_000500" OutName="tex_00000500" Format="rgb5a1" Width="32" Height="32" Offset="0x500"/>
|
||||
<Texture Name="object_bird_Tex_000D00" OutName="tex_00000D00" Format="rgb5a1" Width="16" Height="32" Offset="0xD00"/>
|
||||
<Texture Name="object_bird_Tex_001100" OutName="tex_00001100" Format="rgb5a1" Width="64" Height="32" Offset="0x1100"/>
|
||||
<Limb Name="object_bird_Limb_002100" LimbType="Standard" Offset="0x2100"/>
|
||||
<Limb Name="object_bird_Limb_00210C" LimbType="Standard" Offset="0x210C"/>
|
||||
<Limb Name="object_bird_Limb_002118" LimbType="Standard" Offset="0x2118"/>
|
||||
<Limb Name="object_bird_Limb_002124" LimbType="Standard" Offset="0x2124"/>
|
||||
<Limb Name="object_bird_Limb_002130" LimbType="Standard" Offset="0x2130"/>
|
||||
<Limb Name="object_bird_Limb_00213C" LimbType="Standard" Offset="0x213C"/>
|
||||
<Limb Name="object_bird_Limb_002148" LimbType="Standard" Offset="0x2148"/>
|
||||
<Limb Name="object_bird_Limb_002154" LimbType="Standard" Offset="0x2154"/>
|
||||
<Limb Name="object_bird_Limb_002160" LimbType="Standard" Offset="0x2160"/>
|
||||
<Skeleton Name="object_bird_Skel_002190" Type="Normal" LimbType="Standard" Offset="0x2190"/>
|
||||
<Animation Name="gBirdFlyAnim" Offset="0x6C"/>
|
||||
<DList Name="gBirdLeftWingDL" Offset="0x80"/>
|
||||
<DList Name="gBirdLeftWingWrapper1DL" Offset="0x120"/>
|
||||
<DList Name="gBirdLeftWingWrapper2DL" Offset="0x130"/>
|
||||
|
||||
<DList Name="gBirdRightWingDL" Offset="0x180"/>
|
||||
<DList Name="gBirdRightWingWrapper1DL" Offset="0x220"/>
|
||||
<DList Name="gBirdRightWingWrapper2DL" Offset="0x230"/>
|
||||
|
||||
<DList Name="gBirdBodyDL" Offset="0x280"/>
|
||||
<DList Name="gBirdBodyWrapper1DL" Offset="0x3D0"/>
|
||||
<DList Name="gBirdBodyWrapper2DL" Offset="0x3E0"/>
|
||||
|
||||
<Texture Name="gBirdFaceTex" OutName="face" Format="rgb5a1" Width="32" Height="32" Offset="0x500"/>
|
||||
<Texture Name="gBirdTailTex" OutName="tail" Format="rgb5a1" Width="16" Height="32" Offset="0xD00"/>
|
||||
<Texture Name="gBirdWingTex" OutName="wing" Format="rgb5a1" Width="64" Height="32" Offset="0x1100"/>
|
||||
<Limb Name="gBirdLimb_002100" LimbType="Standard" Offset="0x2100"/>
|
||||
<Limb Name="gBirdLimb_00210C" LimbType="Standard" Offset="0x210C"/>
|
||||
<Limb Name="gBirdLimb_002118" LimbType="Standard" Offset="0x2118"/>
|
||||
<Limb Name="gBirdLimb_002124" LimbType="Standard" Offset="0x2124"/>
|
||||
<Limb Name="gBirdLeftWingLimb" LimbType="Standard" Offset="0x2130"/>
|
||||
<Limb Name="gBirdLimb_00213C" LimbType="Standard" Offset="0x213C"/>
|
||||
<Limb Name="gBirdLimb_002148" LimbType="Standard" Offset="0x2148"/>
|
||||
<Limb Name="gBirdRightWingLimb" LimbType="Standard" Offset="0x2154"/>
|
||||
<Limb Name="gBirdBodyLimb" LimbType="Standard" Offset="0x2160"/>
|
||||
<Skeleton Name="gBirdSkel" Type="Normal" LimbType="Standard" Offset="0x2190"/>
|
||||
</File>
|
||||
</Root>
|
||||
|
|
|
@ -1,49 +1,55 @@
|
|||
<Root>
|
||||
<File Name="object_fu" Segment="6">
|
||||
<Animation Name="object_fu_Anim_00057C" Offset="0x57C"/>
|
||||
<Animation Name="object_fu_Anim_000B04" Offset="0xB04"/>
|
||||
<DList Name="object_fu_DL_003130" Offset="0x3130"/>
|
||||
<DList Name="object_fu_DL_003320" Offset="0x3320"/>
|
||||
<DList Name="object_fu_DL_0036A0" Offset="0x36A0"/>
|
||||
<DList Name="object_fu_DL_003BD8" Offset="0x3BD8"/>
|
||||
<DList Name="object_fu_DL_003D08" Offset="0x3D08"/>
|
||||
<DList Name="object_fu_DL_003E38" Offset="0x3E38"/>
|
||||
<DList Name="object_fu_DL_0040E0" Offset="0x40E0"/>
|
||||
<DList Name="object_fu_DL_004390" Offset="0x4390"/>
|
||||
<DList Name="object_fu_DL_004460" Offset="0x4460"/>
|
||||
<DList Name="object_fu_DL_004570" Offset="0x4570"/>
|
||||
<DList Name="object_fu_DL_004690" Offset="0x4690"/>
|
||||
<DList Name="object_fu_DL_0047E0" Offset="0x47E0"/>
|
||||
<DList Name="object_fu_DL_0048E8" Offset="0x48E8"/>
|
||||
<DList Name="object_fu_DL_004A08" Offset="0x4A08"/>
|
||||
<DList Name="object_fu_DL_004B58" Offset="0x4B58"/>
|
||||
<Texture Name="object_fu_TLUT_004C60" OutName="tlut_00004C60" Format="rgb5a1" Width="16" Height="16" Offset="0x4C60"/>
|
||||
<Texture Name="object_fu_TLUT_004E60" OutName="tlut_00004E60" Format="rgb5a1" Width="16" Height="16" Offset="0x4E60"/>
|
||||
<Texture Name="object_fu_Tex_005060" OutName="tex_00005060" Format="ci8" Width="16" Height="16" Offset="0x5060"/>
|
||||
<Texture Name="object_fu_Tex_005160" OutName="tex_00005160" Format="ci8" Width="8" Height="8" Offset="0x5160"/>
|
||||
<Texture Name="object_fu_Tex_0051A0" OutName="tex_000051A0" Format="ci8" Width="32" Height="32" Offset="0x51A0"/>
|
||||
<Texture Name="object_fu_Tex_0055A0" OutName="tex_000055A0" Format="ci8" Width="16" Height="16" Offset="0x55A0"/>
|
||||
<Texture Name="object_fu_Tex_0056A0" OutName="tex_000056A0" Format="ci8" Width="8" Height="8" Offset="0x56A0"/>
|
||||
<Texture Name="object_fu_Tex_0056E0" OutName="tex_000056E0" Format="ci8" Width="32" Height="32" Offset="0x56E0"/>
|
||||
<Texture Name="object_fu_Tex_005AE0" OutName="tex_00005AE0" Format="ci8" Width="32" Height="32" Offset="0x5AE0"/>
|
||||
<Texture Name="object_fu_Tex_005EE0" OutName="tex_00005EE0" Format="ci8" Width="8" Height="8" Offset="0x5EE0"/>
|
||||
<Blob Name="object_fu_Blob_005F20" Size="0xC00" Offset="0x5F20"/>
|
||||
<Texture Name="object_fu_Tex_006B20" OutName="tex_00006B20" Format="ci8" Width="8" Height="16" Offset="0x6B20"/>
|
||||
<Limb Name="object_fu_Limb_006BA0" LimbType="Standard" Offset="0x6BA0"/>
|
||||
<Limb Name="object_fu_Limb_006BAC" LimbType="Standard" Offset="0x6BAC"/>
|
||||
<Limb Name="object_fu_Limb_006BB8" LimbType="Standard" Offset="0x6BB8"/>
|
||||
<Limb Name="object_fu_Limb_006BC4" LimbType="Standard" Offset="0x6BC4"/>
|
||||
<Limb Name="object_fu_Limb_006BD0" LimbType="Standard" Offset="0x6BD0"/>
|
||||
<Limb Name="object_fu_Limb_006BDC" LimbType="Standard" Offset="0x6BDC"/>
|
||||
<Limb Name="object_fu_Limb_006BE8" LimbType="Standard" Offset="0x6BE8"/>
|
||||
<Limb Name="object_fu_Limb_006BF4" LimbType="Standard" Offset="0x6BF4"/>
|
||||
<Limb Name="object_fu_Limb_006C00" LimbType="Standard" Offset="0x6C00"/>
|
||||
<Limb Name="object_fu_Limb_006C0C" LimbType="Standard" Offset="0x6C0C"/>
|
||||
<Limb Name="object_fu_Limb_006C18" LimbType="Standard" Offset="0x6C18"/>
|
||||
<Limb Name="object_fu_Limb_006C24" LimbType="Standard" Offset="0x6C24"/>
|
||||
<Limb Name="object_fu_Limb_006C30" LimbType="Standard" Offset="0x6C30"/>
|
||||
<Limb Name="object_fu_Limb_006C3C" LimbType="Standard" Offset="0x6C3C"/>
|
||||
<Limb Name="object_fu_Limb_006C48" LimbType="Standard" Offset="0x6C48"/>
|
||||
<Skeleton Name="object_fu_Skel_006C90" Type="Flex" LimbType="Standard" Offset="0x6C90"/>
|
||||
<Animation Name="gWindmillManPlayAndMoveHeadAnim" Offset="0x57C"/>
|
||||
<Animation Name="gWindmillManPlayStillAnim" Offset="0xB04"/>
|
||||
<DList Name="gWindmillManHornDL" Offset="0x3130"/>
|
||||
<DList Name="gWindmillManChestAndMusicBoxPipeDL" Offset="0x3320"/>
|
||||
<DList Name="gWindmillManHeadDL" Offset="0x36A0"/>
|
||||
<DList Name="gWindmillManRightShoulderDL" Offset="0x3BD8"/>
|
||||
<DList Name="gWindmillManRightArmDL" Offset="0x3D08"/>
|
||||
<DList Name="gWindmillManRightHandAndCrankDL" Offset="0x3E38"/>
|
||||
<DList Name="gWindmillManLeftArmAndMusicBoxDL" Offset="0x40E0"/>
|
||||
<DList Name="gWindmillManBlueTriangleDL" Offset="0x4390"/>
|
||||
<DList Name="gWindmillManTorsoDL" Offset="0x4460"/>
|
||||
<DList Name="gWindmillManRightThighDL" Offset="0x4570"/>
|
||||
<DList Name="gWindmillManRightLegDL" Offset="0x4690"/>
|
||||
<DList Name="gWindmillManRightFootDL" Offset="0x47E0"/>
|
||||
<DList Name="gWindmillManLeftThighDL" Offset="0x48E8"/>
|
||||
<DList Name="gWindmillManLeftLegDL" Offset="0x4A08"/>
|
||||
<DList Name="gWindmillManLeftFootDL" Offset="0x4B58"/>
|
||||
<Texture Name="gWindmillManClothesTLUT" OutName="clothes_tlut" Format="rgb5a1" Width="16" Height="16" Offset="0x4C60"/>
|
||||
<Texture Name="gWindmillManSkinTLUT" OutName="skin_tlut" Format="rgb5a1" Width="16" Height="16" Offset="0x4E60"/>
|
||||
<Texture Name="gWindmillManPantsTex" OutName="pants" Format="ci8" Width="16" Height="16" Offset="0x5060"/>
|
||||
<Texture Name="gWindmillManHeadSkinTex" OutName="head_skin" Format="ci8" Width="8" Height="8" Offset="0x5160"/>
|
||||
<Texture Name="gWindmillManMusicBoxTex" OutName="music_box" Format="ci8" Width="32" Height="32" Offset="0x51A0"/>
|
||||
<Texture Name="gWindmillManFingersAndToesTex" OutName="fingers_and_toes" Format="ci8" Width="16" Height="16" Offset="0x55A0"/>
|
||||
<Texture Name="gWindmillManEarTex" OutName="ear" Format="ci8" Width="8" Height="8" Offset="0x56A0"/>
|
||||
<Texture Name="gWindmillManUpperHornAndCrankTex" OutName="upper_horn_and_crank" Format="ci8" Width="32" Height="32" Offset="0x56E0"/>
|
||||
<Texture Name="gWindmillManShirtTex" OutName="shirt" Format="ci8" Width="32" Height="32" Offset="0x5AE0"/>
|
||||
<Texture Name="gWindmillManHornAndPipeTex" OutName="horn_and_pipe" Format="ci8" Width="8" Height="8" Offset="0x5EE0"/>
|
||||
|
||||
<Texture Name="gWindmillManEyeClosedTex" OutName="eye_closed" Format="ci8" Width="32" Height="32" Offset="0x5F20"/>
|
||||
<Texture Name="gWindmillManEyeAngryTex" OutName="eye_angry" Format="ci8" Width="32" Height="32" Offset="0x6320"/>
|
||||
|
||||
<Texture Name="gWindMillManMouthOpenTex" OutName="mouth_open" Format="ci8" Width="32" Height="16" Offset="0x6720"/>
|
||||
<Texture Name="gWindMillManMouthAngryTex" OutName="mouth_angry" Format="ci8" Width="32" Height="16" Offset="0x6920"/>
|
||||
|
||||
<Texture Name="gWindmillManHairTex" OutName="hair" Format="ci8" Width="8" Height="16" Offset="0x6B20"/>
|
||||
<Skeleton Name="gWindmillManSkel" Type="Flex" LimbType="Standard" Offset="0x6C90"/>
|
||||
<Limb Name="gWindmillManTorsoLimb" LimbType="Standard" Offset="0x6BA0"/>
|
||||
<Limb Name="gWindmillManLeftThighLimb" LimbType="Standard" Offset="0x6BAC"/>
|
||||
<Limb Name="gWindmillManLeftLegLimb" LimbType="Standard" Offset="0x6BB8"/>
|
||||
<Limb Name="gWindmillManLeftFootLimb" LimbType="Standard" Offset="0x6BC4"/>
|
||||
<Limb Name="gWindmillManRightThighLimb" LimbType="Standard" Offset="0x6BD0"/>
|
||||
<Limb Name="gWindmillManRightLegLimb" LimbType="Standard" Offset="0x6BDC"/>
|
||||
<Limb Name="gWindmillManRightFootLimb" LimbType="Standard" Offset="0x6BE8"/>
|
||||
<Limb Name="gWindmillManChestAndMusicBoxPipeLimb" LimbType="Standard" Offset="0x6BF4"/>
|
||||
<Limb Name="gWindmillManLeftArmAndMusicBoxLimb" LimbType="Standard" Offset="0x6C00"/>
|
||||
<Limb Name="gWindmillManLimb_006C0C" LimbType="Standard" Offset="0x6C0C"/> <!--A random triangle near the right side of the music box-->
|
||||
<Limb Name="gWindmillManRightShoulderLimb" LimbType="Standard" Offset="0x6C18"/>
|
||||
<Limb Name="gWindmillManRightArmLimb" LimbType="Standard" Offset="0x6C24"/>
|
||||
<Limb Name="gWindmillManRightHandAndCrankLimb" LimbType="Standard" Offset="0x6C30"/>
|
||||
<Limb Name="gWindmillManHeadLimb" LimbType="Standard" Offset="0x6C3C"/>
|
||||
<Limb Name="gWindmillManHornLimb" LimbType="Standard" Offset="0x6C48"/>
|
||||
</File>
|
||||
</Root>
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
<Root>
|
||||
<File Name="ddan_scene" Segment="2">
|
||||
<Scene Name="ddan_scene"/>
|
||||
<Scene Name="ddan_scene" Offset="0x0"/>
|
||||
<Cutscene Name="gDcOpeningCs" Offset="0x14F80"/>
|
||||
</File>
|
||||
<File Name="ddan_room_0" Segment="3">
|
||||
<Room Name="ddan_room_0" Offset="0x0"/>
|
||||
|
|
|
@ -6,6 +6,7 @@
|
|||
<Room Name="ddan_boss_room_0" Offset="0x0"/>
|
||||
</File>
|
||||
<File Name="ddan_boss_room_1" Segment="3">
|
||||
<Texture Name="gDodongosCavernBossLavaFloorTex" OutName="lava_floor" Format="rgb5a1" Width="64" Height="32" Offset="0x21D8"/>
|
||||
<Room Name="ddan_boss_room_1" Offset="0x0"/>
|
||||
</File>
|
||||
</Root>
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
<Root>
|
||||
<File Name="ganon_tou_scene" Segment="2">
|
||||
<Scene Name="ganon_tou_scene"/>
|
||||
<Cutscene Name="gRainbowBridgeCs" Offset="0x2640"/>
|
||||
<Scene Name="ganon_tou_scene" Offset="0x0"/>
|
||||
</File>
|
||||
<File Name="ganon_tou_room_0" Segment="3">
|
||||
<Room Name="ganon_tou_room_0" Offset="0x0"/>
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
<Root>
|
||||
<File Name="jyasinboss_scene" Segment="2">
|
||||
<Scene Name="jyasinboss_scene"/>
|
||||
<Cutscene Name="gNabooruKnuckleDefeatCs" Offset="0x3F80"/>
|
||||
<Scene Name="jyasinboss_scene" Offset="0x0"/>
|
||||
</File>
|
||||
<File Name="jyasinboss_room_0" Segment="3">
|
||||
<Room Name="jyasinboss_room_0" Offset="0x0"/>
|
||||
|
|
|
@ -1,6 +1,9 @@
|
|||
<Root>
|
||||
<File Name="daiyousei_izumi_scene" Segment="2">
|
||||
<Scene Name="daiyousei_izumi_scene"/>
|
||||
<Cutscene Name="gGreatFairyMagicCs" Offset="0x0130"/>
|
||||
<Cutscene Name="gGreatFairyDoubleMagicCs" Offset="0x13E0"/>
|
||||
<Cutscene Name="gGreatFairyDoubleDefenceCs" Offset="0x25D0"/>
|
||||
<Scene Name="daiyousei_izumi_scene" Offset="0x0"/>
|
||||
</File>
|
||||
<File Name="daiyousei_izumi_room_0" Segment="3">
|
||||
<Room Name="daiyousei_izumi_room_0" Offset="0x0"/>
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
<Root>
|
||||
<File Name="hakasitarelay_scene" Segment="2">
|
||||
<Scene Name="hakasitarelay_scene"/>
|
||||
<Scene Name="hakasitarelay_scene" Offset="0x0"/>
|
||||
<Cutscene Name="gSongOfStormsCs" Offset="0xE080"/>
|
||||
</File>
|
||||
<File Name="hakasitarelay_room_0" Segment="3">
|
||||
<Room Name="hakasitarelay_room_0" Offset="0x0"/>
|
||||
|
|
|
@ -3,6 +3,7 @@
|
|||
<Cutscene Name="gZeldasCourtyardGanonCs" Offset="0x104"/>
|
||||
<Cutscene Name="gZeldasCourtyardWindowCs" Offset="0x444"/>
|
||||
<Cutscene Name="gZeldasCourtyardMeetCs" Offset="0x3994"/>
|
||||
<Cutscene Name="gZeldasCourtyardLullabyCs" Offset="0x2524"/>
|
||||
|
||||
<Scene Name="nakaniwa_scene" Offset="0x0"/>
|
||||
</File>
|
||||
|
|
|
@ -1,6 +1,9 @@
|
|||
<Root>
|
||||
<File Name="yousei_izumi_yoko_scene" Segment="2">
|
||||
<Scene Name="yousei_izumi_yoko_scene"/>
|
||||
<Cutscene Name="gGreatFairyFaroresWindCs" Offset="0x0160"/>
|
||||
<Cutscene Name="gGreatFairyDinsFireCs" Offset="0x1020"/>
|
||||
<Cutscene Name="gGreatFairyNayrusLoveCs" Offset="0x1F40"/>
|
||||
<Scene Name="yousei_izumi_yoko_scene" Offset="0x0"/>
|
||||
</File>
|
||||
<File Name="yousei_izumi_yoko_room_0" Segment="3">
|
||||
<Room Name="yousei_izumi_yoko_room_0" Offset="0x0"/>
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
<Root>
|
||||
<File Name="hakaana_ouke_scene" Segment="2">
|
||||
<Scene Name="hakaana_ouke_scene"/>
|
||||
<Cutscene Name="gSunSongTeachCs" Offset="0x24A0"/>
|
||||
<Scene Name="hakaana_ouke_scene" Offset="0x0"/>
|
||||
</File>
|
||||
<File Name="hakaana_ouke_room_0" Segment="3">
|
||||
<Room Name="hakaana_ouke_room_0" Offset="0x0"/>
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
<Root>
|
||||
<File Name="spot05_scene" Segment="2">
|
||||
<Cutscene Name="gMinuetCs" Offset="0x3F80"/>
|
||||
|
||||
<Path Name="gSpot05Path_0069D8" Offset="0x69D8"/>
|
||||
<Path Name="gSpot05Path_0069E0" Offset="0x69E0"/>
|
||||
<Path Name="gSpot05Path_0069E8" Offset="0x69E8"/>
|
||||
<Path Name="gSpot05Path_0069F0" Offset="0x69F0"/>
|
||||
|
|
|
@ -1,10 +1,8 @@
|
|||
<Root>
|
||||
<File Name="spot06_scene" Segment="2">
|
||||
<Cutscene Name="gSpot06Cs_007020" Offset="0x7020"/>
|
||||
<Cutscene Name="gSpot06Cs_01B0C0" Offset="0x1B0C0"/>
|
||||
|
||||
<Cutscene Name="gFireArrowsCS" Offset="0x7020"/>
|
||||
<Cutscene Name="gLakeHyliaOwlCs" Offset="0x1B0C0"/>
|
||||
<Path Name="gSpot06Path_00776C" Offset="0x776C"/>
|
||||
|
||||
<Scene Name="spot06_scene" Offset="0x0"/>
|
||||
</File>
|
||||
<File Name="spot06_room_0" Segment="3">
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
<Root>
|
||||
<File Name="spot16_scene" Segment="2">
|
||||
<Cutscene Name="gDmtOwlCs" Offset="0x1E6A0"/>
|
||||
<Scene Name="spot16_scene" Offset="0x0"/>
|
||||
</File>
|
||||
<File Name="spot16_room_0" Segment="3">
|
||||
|
|
|
@ -5,6 +5,7 @@
|
|||
*/
|
||||
|
||||
#include "z_bg_breakwall.h"
|
||||
#include "scenes/dungeons/ddan/ddan_scene.h"
|
||||
|
||||
#define FLAGS 0x00000010
|
||||
|
||||
|
@ -25,8 +26,6 @@ void BgBreakwall_WaitForObject(BgBreakwall* this, GlobalContext* globalCtx);
|
|||
void BgBreakwall_Wait(BgBreakwall* this, GlobalContext* globalCtx);
|
||||
void BgBreakwall_LavaCoverMove(BgBreakwall* this, GlobalContext* globalCtx);
|
||||
|
||||
extern UNK_TYPE D_02014F80;
|
||||
|
||||
const ActorInit Bg_Breakwall_InitVars = {
|
||||
ACTOR_BG_BREAKWALL,
|
||||
ACTORCAT_BG,
|
||||
|
@ -252,7 +251,7 @@ void BgBreakwall_Wait(BgBreakwall* this, GlobalContext* globalCtx) {
|
|||
|
||||
if ((wallType == BWALL_DC_ENTRANCE) && (!(Flags_GetEventChkInf(0xB0)))) {
|
||||
Flags_SetEventChkInf(0xB0);
|
||||
Cutscene_SetSegment(globalCtx, &D_02014F80);
|
||||
Cutscene_SetSegment(globalCtx, gDcOpeningCs);
|
||||
gSaveContext.cutsceneTrigger = 1;
|
||||
Audio_PlaySoundGeneral(NA_SE_SY_CORRECT_CHIME, &D_801333D4, 4, &D_801333E0, &D_801333E0, &D_801333E8);
|
||||
func_8002DF54(globalCtx, NULL, 0x31);
|
||||
|
|
|
@ -7,13 +7,15 @@
|
|||
#include "z_bg_dy_yoseizo.h"
|
||||
#include "vt.h"
|
||||
#include "overlays/actors/ovl_Demo_Effect/z_demo_effect.h"
|
||||
#include "scenes/indoors/yousei_izumi_yoko/yousei_izumi_yoko_scene.h"
|
||||
#include "scenes/indoors/daiyousei_izumi/daiyousei_izumi_scene.h"
|
||||
|
||||
#define FLAGS 0x02000030
|
||||
|
||||
#define THIS ((BgDyYoseizo*)thisx)
|
||||
|
||||
typedef enum {
|
||||
/* 0 */ FAIRY_UPGRADE_SPIN_ATTACK,
|
||||
/* 0 */ FAIRY_UPGRADE_MAGIC,
|
||||
/* 1 */ FAIRY_UPGRADE_DOUBLE_MAGIC,
|
||||
/* 2 */ FAIRY_UPGRADE_HALF_DAMAGE
|
||||
} BgDyYoseizoRewardType;
|
||||
|
@ -65,12 +67,6 @@ const ActorInit Bg_Dy_Yoseizo_InitVars = {
|
|||
NULL,
|
||||
};
|
||||
|
||||
extern CutsceneData D_02000130;
|
||||
extern CutsceneData D_02000160;
|
||||
extern CutsceneData D_02001020;
|
||||
extern CutsceneData D_020013E0;
|
||||
extern CutsceneData D_02001F40;
|
||||
extern CutsceneData D_020025D0;
|
||||
extern AnimationHeader D_0600092C; // Giving spell to spin-shrink, arms, leg, hair up
|
||||
extern AnimationHeader D_06001DF0; // Lounging
|
||||
extern AnimationHeader D_060031C0; // Upright to Lounging
|
||||
|
@ -202,7 +198,7 @@ void BgDyYoseizo_CheckMagicAcquired(BgDyYoseizo* this, GlobalContext* globalCtx)
|
|||
if (Flags_GetSwitch(globalCtx, 0x38)) {
|
||||
globalCtx->msgCtx.unk_E3EE = 4;
|
||||
if (globalCtx->sceneNum == SCENE_DAIYOUSEI_IZUMI) {
|
||||
if (!gSaveContext.magicAcquired && (this->fountainType != FAIRY_UPGRADE_SPIN_ATTACK)) {
|
||||
if (!gSaveContext.magicAcquired && (this->fountainType != FAIRY_UPGRADE_MAGIC)) {
|
||||
Actor_Kill(&this->actor);
|
||||
return;
|
||||
}
|
||||
|
@ -245,7 +241,7 @@ void BgDyYoseizo_ChooseType(BgDyYoseizo* this, GlobalContext* globalCtx) {
|
|||
}
|
||||
} else {
|
||||
switch (this->fountainType) {
|
||||
case FAIRY_UPGRADE_SPIN_ATTACK:
|
||||
case FAIRY_UPGRADE_MAGIC:
|
||||
if (!gSaveContext.magicAcquired || BREG(2)) {
|
||||
// Spin Attack speed UP
|
||||
osSyncPrintf(VT_FGCOL(GREEN) " ☆☆☆☆☆ 回転切り速度UP ☆☆☆☆☆ \n" VT_RST, &gSaveContext);
|
||||
|
@ -277,30 +273,30 @@ void BgDyYoseizo_ChooseType(BgDyYoseizo* this, GlobalContext* globalCtx) {
|
|||
if (globalCtx->sceneNum != SCENE_DAIYOUSEI_IZUMI) {
|
||||
switch (this->fountainType) {
|
||||
case FAIRY_SPELL_FARORES_WIND:
|
||||
globalCtx->csCtx.segment = SEGMENTED_TO_VIRTUAL(&D_02000160);
|
||||
globalCtx->csCtx.segment = SEGMENTED_TO_VIRTUAL(gGreatFairyFaroresWindCs);
|
||||
gSaveContext.cutsceneTrigger = 1;
|
||||
break;
|
||||
case FAIRY_SPELL_DINS_FIRE:
|
||||
globalCtx->csCtx.segment = SEGMENTED_TO_VIRTUAL(&D_02001020);
|
||||
globalCtx->csCtx.segment = SEGMENTED_TO_VIRTUAL(gGreatFairyDinsFireCs);
|
||||
gSaveContext.cutsceneTrigger = 1;
|
||||
break;
|
||||
case FAIRY_SPELL_NAYRUS_LOVE:
|
||||
globalCtx->csCtx.segment = SEGMENTED_TO_VIRTUAL(&D_02001F40);
|
||||
globalCtx->csCtx.segment = SEGMENTED_TO_VIRTUAL(gGreatFairyNayrusLoveCs);
|
||||
gSaveContext.cutsceneTrigger = 1;
|
||||
break;
|
||||
}
|
||||
} else {
|
||||
switch (this->fountainType) {
|
||||
case FAIRY_UPGRADE_SPIN_ATTACK:
|
||||
globalCtx->csCtx.segment = SEGMENTED_TO_VIRTUAL(&D_02000130);
|
||||
case FAIRY_UPGRADE_MAGIC:
|
||||
globalCtx->csCtx.segment = SEGMENTED_TO_VIRTUAL(gGreatFairyMagicCs);
|
||||
gSaveContext.cutsceneTrigger = 1;
|
||||
break;
|
||||
case FAIRY_UPGRADE_DOUBLE_MAGIC:
|
||||
globalCtx->csCtx.segment = SEGMENTED_TO_VIRTUAL(&D_020013E0);
|
||||
globalCtx->csCtx.segment = SEGMENTED_TO_VIRTUAL(gGreatFairyDoubleMagicCs);
|
||||
gSaveContext.cutsceneTrigger = 1;
|
||||
break;
|
||||
case FAIRY_UPGRADE_HALF_DAMAGE:
|
||||
globalCtx->csCtx.segment = SEGMENTED_TO_VIRTUAL(&D_020025D0);
|
||||
globalCtx->csCtx.segment = SEGMENTED_TO_VIRTUAL(gGreatFairyDoubleDefenceCs);
|
||||
gSaveContext.cutsceneTrigger = 1;
|
||||
break;
|
||||
}
|
||||
|
@ -712,7 +708,7 @@ void BgDyYoseizo_Give_Reward(BgDyYoseizo* this, GlobalContext* globalCtx) {
|
|||
actionIndex = globalCtx->csCtx.npcActions[0]->action - 10;
|
||||
|
||||
switch (actionIndex) {
|
||||
case FAIRY_UPGRADE_SPIN_ATTACK:
|
||||
case FAIRY_UPGRADE_MAGIC:
|
||||
gSaveContext.magicAcquired = true;
|
||||
gSaveContext.unk_13F6 = 0x30;
|
||||
Interface_ChangeAlpha(9);
|
||||
|
|
|
@ -5,6 +5,7 @@
|
|||
*/
|
||||
|
||||
#include "z_bg_gjyo_bridge.h"
|
||||
#include "scenes/dungeons/ganon_tou/ganon_tou_scene.h"
|
||||
|
||||
#define FLAGS 0x00000000
|
||||
|
||||
|
@ -38,7 +39,6 @@ static InitChainEntry sInitChain[] = {
|
|||
|
||||
extern Gfx D_06000600[];
|
||||
extern CollisionHeader D_06000DB8;
|
||||
extern CutsceneData D_02002640[];
|
||||
|
||||
void BgGjyoBridge_Init(Actor* thisx, GlobalContext* globalCtx) {
|
||||
BgGjyoBridge* this = THIS;
|
||||
|
@ -79,7 +79,7 @@ void BgGjyoBridge_TriggerCutscene(BgGjyoBridge* this, GlobalContext* globalCtx)
|
|||
(player->actor.world.pos.x < 300.0f) && (player->actor.world.pos.y > 1340.0f) &&
|
||||
(player->actor.world.pos.z > 1340.0f) && (player->actor.world.pos.z < 1662.0f) &&
|
||||
!Gameplay_InCsMode(globalCtx)) {
|
||||
globalCtx->csCtx.segment = SEGMENTED_TO_VIRTUAL(&D_02002640);
|
||||
globalCtx->csCtx.segment = SEGMENTED_TO_VIRTUAL(gRainbowBridgeCs);
|
||||
gSaveContext.cutsceneTrigger = 1;
|
||||
this->actionFunc = BgGjyoBridge_SpawnBridge;
|
||||
}
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
#include "z_boss_dodongo.h"
|
||||
#include "scenes/dungeons/ddan_boss/ddan_boss_room_1.h"
|
||||
|
||||
#define FLAGS 0x00000035
|
||||
|
||||
|
@ -55,7 +56,6 @@ static InitChainEntry sInitChain[] = {
|
|||
|
||||
extern SkeletonHeader D_0601B310;
|
||||
extern AnimationHeader D_0600F0D8;
|
||||
extern u64 D_030021D8[];
|
||||
extern AnimationHeader D_06008EEC;
|
||||
extern u64 D_06017410[]; // Title card
|
||||
extern AnimationHeader D_0601CAE0;
|
||||
|
@ -231,7 +231,7 @@ void BossDodongo_Init(Actor* thisx, GlobalContext* globalCtx) {
|
|||
Collider_SetJntSph(globalCtx, &this->collider, &this->actor, &sJntSphInit, this->items);
|
||||
|
||||
if (Flags_GetClear(globalCtx, globalCtx->roomCtx.curRoom.num)) { // KD is dead
|
||||
temp_s1_3 = SEGMENTED_TO_VIRTUAL(&D_030021D8);
|
||||
temp_s1_3 = SEGMENTED_TO_VIRTUAL(gDodongosCavernBossLavaFloorTex);
|
||||
temp_s2 = SEGMENTED_TO_VIRTUAL(sLavaFloorRockTex);
|
||||
|
||||
Actor_Kill(&this->actor);
|
||||
|
@ -1021,7 +1021,7 @@ void BossDodongo_Update(Actor* thisx, GlobalContext* globalCtx2) {
|
|||
}
|
||||
}
|
||||
|
||||
func_808C1554(D_030021D8, sLavaFloorLavaTex, this->unk_19E, this->unk_224);
|
||||
func_808C1554(gDodongosCavernBossLavaFloorTex, sLavaFloorLavaTex, this->unk_19E, this->unk_224);
|
||||
}
|
||||
|
||||
if (this->unk_1C6 != 0) {
|
||||
|
|
|
@ -6,6 +6,7 @@
|
|||
|
||||
#include "z_demo_im.h"
|
||||
#include "overlays/actors/ovl_En_Arrow/z_en_arrow.h"
|
||||
#include "scenes/indoors/nakaniwa/nakaniwa_scene.h"
|
||||
#include "vt.h"
|
||||
|
||||
#define FLAGS 0x00000011
|
||||
|
@ -101,7 +102,6 @@ const ActorInit Demo_Im_InitVars = {
|
|||
(ActorFunc)DemoIm_Draw,
|
||||
};
|
||||
|
||||
extern UNK_PTR D_02002524;
|
||||
extern AnimationHeader D_06000710;
|
||||
extern AnimationHeader D_06000AFC;
|
||||
extern Gfx D_0600EDE8[];
|
||||
|
@ -906,7 +906,7 @@ void func_80986BF8(DemoIm* this, GlobalContext* globalCtx) {
|
|||
|
||||
void func_80986C30(DemoIm* this, GlobalContext* globalCtx) {
|
||||
if (func_80986A5C(this, globalCtx)) {
|
||||
globalCtx->csCtx.segment = SEGMENTED_TO_VIRTUAL(&D_02002524);
|
||||
globalCtx->csCtx.segment = SEGMENTED_TO_VIRTUAL(gZeldasCourtyardLullabyCs);
|
||||
gSaveContext.cutsceneTrigger = 1;
|
||||
gSaveContext.eventChkInf[5] |= 0x200;
|
||||
Item_Give(globalCtx, ITEM_SONG_LULLABY);
|
||||
|
|
|
@ -5,6 +5,7 @@
|
|||
*/
|
||||
|
||||
#include "z_en_bird.h"
|
||||
#include "objects/object_bird/object_bird.h"
|
||||
|
||||
#define FLAGS 0x00000000
|
||||
|
||||
|
@ -36,9 +37,6 @@ static InitChainEntry sInitChain[] = {
|
|||
ICHAIN_F32(targetArrowOffset, 5600, ICHAIN_STOP),
|
||||
};
|
||||
|
||||
extern AnimationHeader D_0600006C;
|
||||
extern SkeletonHeader D_06002190;
|
||||
|
||||
void EnBird_SetupAction(EnBird* this, EnBirdActionFunc actionFunc) {
|
||||
this->actionFunc = actionFunc;
|
||||
}
|
||||
|
@ -48,7 +46,7 @@ void EnBird_Init(Actor* thisx, GlobalContext* globalCtx) {
|
|||
|
||||
Actor_ProcessInitChain(&this->actor, sInitChain);
|
||||
Actor_SetScale(&this->actor, 0.01);
|
||||
SkelAnime_Init(globalCtx, &this->skelAnime, &D_06002190, &D_0600006C, NULL, NULL, 0);
|
||||
SkelAnime_Init(globalCtx, &this->skelAnime, &gBirdSkel, &gBirdFlyAnim, NULL, NULL, 0);
|
||||
ActorShape_Init(&this->actor.shape, 5500, ActorShadow_DrawCircle, 4);
|
||||
this->unk_194 = 0;
|
||||
this->unk_198 = 0;
|
||||
|
@ -68,9 +66,9 @@ void EnBird_Destroy(Actor* thisx, GlobalContext* globalCtx) {
|
|||
}
|
||||
|
||||
void func_809C1CAC(EnBird* this, s16 params) {
|
||||
f32 frameCount = Animation_GetLastFrame(&D_0600006C);
|
||||
f32 frameCount = Animation_GetLastFrame(&gBirdFlyAnim);
|
||||
f32 playbackSpeed = this->unk_19C ? 0.0f : 1.0f;
|
||||
AnimationHeader* anim = &D_0600006C;
|
||||
AnimationHeader* anim = &gBirdFlyAnim;
|
||||
|
||||
this->unk_198 = Rand_S16Offset(5, 0x23);
|
||||
Animation_Change(&this->skelAnime, anim, playbackSpeed, 0.0f, frameCount, ANIMMODE_LOOP, 0.0f);
|
||||
|
|
|
@ -5,6 +5,8 @@
|
|||
*/
|
||||
|
||||
#include "z_en_fu.h"
|
||||
#include "objects/object_fu/object_fu.h"
|
||||
#include "scenes/indoors/hakasitarelay/hakasitarelay_scene.h"
|
||||
|
||||
#define FLAGS 0x02000019
|
||||
|
||||
|
@ -66,21 +68,6 @@ static Vec3f sMtxSrc = {
|
|||
0.0f,
|
||||
};
|
||||
|
||||
static UNK_PTR sEyesSegments[] = {
|
||||
0x06005F20,
|
||||
0x06006320,
|
||||
};
|
||||
|
||||
static UNK_PTR sMouthSegments[] = {
|
||||
0x06006720,
|
||||
0x06006920,
|
||||
};
|
||||
|
||||
extern AnimationHeader D_0600057C;
|
||||
extern AnimationHeader D_06000B04;
|
||||
extern FlexSkeletonHeader D_06006C90;
|
||||
extern CutsceneData D_0200E080[];
|
||||
|
||||
typedef enum {
|
||||
/* 0x00 */ FU_FACE_CALM,
|
||||
/* 0x01 */ FU_FACE_MAD
|
||||
|
@ -91,8 +78,9 @@ void EnFu_Init(Actor* thisx, GlobalContext* globalCtx) {
|
|||
EnFu* this = THIS;
|
||||
|
||||
ActorShape_Init(&this->actor.shape, 0.0f, ActorShadow_DrawCircle, 36.0f);
|
||||
SkelAnime_InitFlex(globalCtx, &this->skelanime, &D_06006C90, &D_06000B04, this->jointTable, this->morphTable, 16);
|
||||
Animation_PlayLoop(&this->skelanime, &D_06000B04);
|
||||
SkelAnime_InitFlex(globalCtx, &this->skelanime, &gWindmillManSkel, &gWindmillManPlayStillAnim, this->jointTable,
|
||||
this->morphTable, FU_LIMB_MAX);
|
||||
Animation_PlayLoop(&this->skelanime, &gWindmillManPlayStillAnim);
|
||||
Collider_InitCylinder(globalCtx, &this->collider);
|
||||
Collider_SetCylinder(globalCtx, &this->collider, &this->actor, &sCylinderInit);
|
||||
this->actor.colChkInfo.mass = MASS_IMMOVABLE;
|
||||
|
@ -138,9 +126,9 @@ void func_80A1DA04(EnFu* this, GlobalContext* globalCtx) {
|
|||
this->behaviorFlags &= ~FU_WAIT;
|
||||
this->actionFunc = EnFu_WaitChild;
|
||||
|
||||
if (this->skelanime.animation == &D_0600057C) {
|
||||
Animation_Change(&this->skelanime, &D_06000B04, 1.0f, 0.0f, Animation_GetLastFrame(&D_06000B04),
|
||||
ANIMMODE_ONCE, -4.0f);
|
||||
if (this->skelanime.animation == &gWindmillManPlayAndMoveHeadAnim) {
|
||||
Animation_Change(&this->skelanime, &gWindmillManPlayStillAnim, 1.0f, 0.0f,
|
||||
Animation_GetLastFrame(&gWindmillManPlayStillAnim), ANIMMODE_ONCE, -4.0f);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -158,8 +146,8 @@ void EnFu_WaitChild(EnFu* this, GlobalContext* globalCtx) {
|
|||
// if func_80A1D94C returns 1, actionFunc is set to func_80A1DA04
|
||||
if (func_80A1D94C(this, globalCtx, textID, func_80A1DA04)) {
|
||||
if (textID == 0x5033) {
|
||||
Animation_Change(&this->skelanime, &D_0600057C, 1.0f, 0.0f, Animation_GetLastFrame(&D_0600057C),
|
||||
ANIMMODE_ONCE, -4.0f);
|
||||
Animation_Change(&this->skelanime, &gWindmillManPlayAndMoveHeadAnim, 1.0f, 0.0f,
|
||||
Animation_GetLastFrame(&gWindmillManPlayAndMoveHeadAnim), ANIMMODE_ONCE, -4.0f);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -190,7 +178,7 @@ void func_80A1DBD4(EnFu* this, GlobalContext* globalCtx) {
|
|||
func_80078884(NA_SE_SY_CORRECT_CHIME);
|
||||
this->actionFunc = func_80A1DB60;
|
||||
this->actor.flags &= ~0x10000;
|
||||
globalCtx->csCtx.segment = SEGMENTED_TO_VIRTUAL(&D_0200E080);
|
||||
globalCtx->csCtx.segment = SEGMENTED_TO_VIRTUAL(gSongOfStormsCs);
|
||||
gSaveContext.cutsceneTrigger = 1;
|
||||
Item_Give(globalCtx, ITEM_SONG_STORMS);
|
||||
globalCtx->msgCtx.unk_E3EE = 0;
|
||||
|
@ -239,7 +227,7 @@ void EnFu_WaitAdult(EnFu* this, GlobalContext* globalCtx) {
|
|||
func_8010B680(globalCtx, this->actor.textId, NULL);
|
||||
this->actionFunc = EnFu_TeachSong;
|
||||
this->behaviorFlags |= FU_WAIT;
|
||||
} else if (func_8002F194(&this->actor, globalCtx) != 0) {
|
||||
} else if (func_8002F194(&this->actor, globalCtx)) {
|
||||
this->actionFunc = func_80A1DBA0;
|
||||
} else if (ABS(yawDiff) < 0x2301) {
|
||||
if (this->actor.xzDistToPlayer < 100.0f) {
|
||||
|
@ -276,17 +264,17 @@ void EnFu_Update(Actor* thisx, GlobalContext* globalCtx) {
|
|||
|
||||
s32 EnFu_OverrideLimbDraw(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, Vec3f* pos, Vec3s* rot, void* thisx) {
|
||||
EnFu* this = THIS;
|
||||
s32 pad1;
|
||||
s32 pad;
|
||||
|
||||
if (limbIndex == 10) {
|
||||
if (limbIndex == FU_LIMB_UNK) {
|
||||
return false;
|
||||
}
|
||||
switch (limbIndex) {
|
||||
case 14:
|
||||
case FU_LIMB_HEAD:
|
||||
rot->x += this->lookAngleOffset.y;
|
||||
rot->z += this->lookAngleOffset.x;
|
||||
break;
|
||||
case 8:
|
||||
case FU_LIMB_CHEST_MUSIC_BOX:
|
||||
break;
|
||||
}
|
||||
|
||||
|
@ -294,7 +282,7 @@ s32 EnFu_OverrideLimbDraw(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList,
|
|||
return false;
|
||||
}
|
||||
|
||||
if (limbIndex == 8) {
|
||||
if (limbIndex == FU_LIMB_CHEST_MUSIC_BOX) {
|
||||
rot->y += (Math_SinS((globalCtx->state.frames * (limbIndex * 50 + 0x814))) * 200.0f);
|
||||
rot->z += (Math_CosS((globalCtx->state.frames * (limbIndex * 50 + 0x940))) * 200.0f);
|
||||
}
|
||||
|
@ -304,12 +292,14 @@ s32 EnFu_OverrideLimbDraw(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList,
|
|||
void EnFu_PostLimbDraw(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, Vec3s* rot, void* thisx) {
|
||||
EnFu* this = THIS;
|
||||
|
||||
if (limbIndex == 14) {
|
||||
if (limbIndex == FU_LIMB_HEAD) {
|
||||
Matrix_MultVec3f(&sMtxSrc, &this->actor.focus.pos);
|
||||
}
|
||||
}
|
||||
|
||||
void EnFu_Draw(Actor* thisx, GlobalContext* globalCtx) {
|
||||
static void* sEyesSegments[] = { gWindmillManEyeClosedTex, gWindmillManEyeAngryTex };
|
||||
static void* sMouthSegments[] = { gWindMillManMouthOpenTex, gWindMillManMouthAngryTex };
|
||||
s32 pad;
|
||||
EnFu* this = THIS;
|
||||
|
||||
|
|
|
@ -8,12 +8,32 @@ struct EnFu;
|
|||
|
||||
typedef void (*EnFuActionFunc)(struct EnFu*, GlobalContext*);
|
||||
|
||||
typedef enum {
|
||||
/* 0x00 */ FU_LIMB_ROOT,
|
||||
/* 0x01 */ FU_LIMB_TORSO,
|
||||
/* 0x02 */ FU_LIMB_LEFT_THIGH,
|
||||
/* 0x03 */ FU_LIMB_LEFT_LEG,
|
||||
/* 0x04 */ FU_LIMB_LEFT_FOOT,
|
||||
/* 0x05 */ FU_LIMB_RIGHT_THIGH,
|
||||
/* 0x06 */ FU_LIMB_RIGHT_LEG,
|
||||
/* 0x07 */ FU_LIMB_RIGHT_FOOT,
|
||||
/* 0x08 */ FU_LIMB_CHEST_MUSIC_BOX,
|
||||
/* 0x09 */ FU_LIMB_LEFT_ARM_MUSIC_BOX,
|
||||
/* 0x0A */ FU_LIMB_UNK,
|
||||
/* 0x0B */ FU_LIMB_RIGHT_SHOULDER,
|
||||
/* 0x0C */ FU_LIMB_RIGHT_ARM,
|
||||
/* 0x0D */ FU_LIMB_RIGHT_HAND_AND_CRANK,
|
||||
/* 0x0E */ FU_LIMB_HEAD,
|
||||
/* 0x0F */ FU_LIMB_HORN,
|
||||
/* 0x10 */ FU_LIMB_MAX
|
||||
} EnFuLimb;
|
||||
|
||||
typedef struct EnFu {
|
||||
/* 0x0000 */ Actor actor;
|
||||
/* 0x014C */ ColliderCylinder collider;
|
||||
/* 0x0198 */ SkelAnime skelanime;
|
||||
/* 0x01DC */ Vec3s jointTable[16];
|
||||
/* 0x023C */ Vec3s morphTable[16];
|
||||
/* 0x01DC */ Vec3s jointTable[FU_LIMB_MAX];
|
||||
/* 0x023C */ Vec3s morphTable[FU_LIMB_MAX];
|
||||
/* 0x029C */ Vec3s lookAngleOffset; // offset applied to neck rotation to look at link when he is close
|
||||
/* 0x02A2 */ Vec3s unk_2A2;
|
||||
/* 0x02A8 */ u16 behaviorFlags;
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
*/
|
||||
|
||||
#include "z_en_ik.h"
|
||||
|
||||
#include "scenes/dungeons/jyasinboss/jyasinboss_scene.h"
|
||||
#include "vt.h"
|
||||
|
||||
#define FLAGS 0x00000010
|
||||
|
@ -53,7 +53,6 @@ void func_80A77EDC(EnIk* this, GlobalContext* globalCtx);
|
|||
void func_80A78160(EnIk* this, GlobalContext* globalCtx);
|
||||
void func_80A781CC(Actor* thisx, GlobalContext* globalCtx);
|
||||
|
||||
extern UNK_TYPE D_02003F80;
|
||||
extern AnimationHeader D_06001C28;
|
||||
extern AnimationHeader D_06002538;
|
||||
extern AnimationHeader D_060029FC;
|
||||
|
@ -1451,7 +1450,7 @@ void func_80A781CC(Actor* thisx, GlobalContext* globalCtx) {
|
|||
if (!Gameplay_InCsMode(globalCtx)) {
|
||||
this->actor.update = EnIk_Update;
|
||||
this->actor.draw = EnIk_Draw;
|
||||
Cutscene_SetSegment(globalCtx, &D_02003F80);
|
||||
Cutscene_SetSegment(globalCtx, gNabooruKnuckleDefeatCs);
|
||||
gSaveContext.cutsceneTrigger = 1;
|
||||
Actor_SetScale(&this->actor, 0.01f);
|
||||
gSaveContext.eventChkInf[3] |= 0x1000;
|
||||
|
|
|
@ -5,6 +5,7 @@
|
|||
*/
|
||||
|
||||
#include "z_en_okarina_tag.h"
|
||||
#include "scenes/misc/hakaana_ouke/hakaana_ouke_scene.h"
|
||||
#include "vt.h"
|
||||
|
||||
#define FLAGS 0x02000010
|
||||
|
@ -36,7 +37,6 @@ const ActorInit En_Okarina_Tag_InitVars = {
|
|||
|
||||
extern CutsceneData D_02003C80[];
|
||||
extern CutsceneData D_02005020[];
|
||||
extern CutsceneData D_020024A0[];
|
||||
extern CutsceneData D_80ABF9D0[];
|
||||
extern CutsceneData D_80ABFB40[];
|
||||
|
||||
|
@ -308,7 +308,7 @@ void func_80ABF7CC(EnOkarinaTag* this, GlobalContext* globalCtx) {
|
|||
if ((func_8010BDBC(&globalCtx->msgCtx) == 5) && (func_80106BC8(globalCtx) != 0)) {
|
||||
func_80106CCC(globalCtx);
|
||||
if (!CHECK_QUEST_ITEM(QUEST_SONG_SUN)) {
|
||||
globalCtx->csCtx.segment = SEGMENTED_TO_VIRTUAL(&D_020024A0);
|
||||
globalCtx->csCtx.segment = SEGMENTED_TO_VIRTUAL(&gSunSongTeachCs);
|
||||
gSaveContext.cutsceneTrigger = 1;
|
||||
}
|
||||
this->actionFunc = func_80ABF708;
|
||||
|
|
|
@ -5,6 +5,8 @@
|
|||
*/
|
||||
|
||||
#include "z_en_owl.h"
|
||||
#include "scenes/overworld/spot06/spot06_scene.h"
|
||||
#include "scenes/overworld/spot16/spot16_scene.h"
|
||||
#include "vt.h"
|
||||
|
||||
#define FLAGS 0x00000019
|
||||
|
@ -12,8 +14,6 @@
|
|||
#define THIS ((EnOwl*)thisx)
|
||||
|
||||
extern AnimationHeader D_0600C1C4;
|
||||
extern CsCmdActorAction D_0201E6A0;
|
||||
extern CsCmdActorAction D_0201B0C0;
|
||||
extern AnimationHeader D_06001168;
|
||||
extern FlexSkeletonHeader D_0600C0E8;
|
||||
extern FlexSkeletonHeader D_060100B0;
|
||||
|
@ -945,12 +945,12 @@ void func_80ACC00C(EnOwl* this, GlobalContext* globalCtx) {
|
|||
osSyncPrintf(VT_FGCOL(CYAN));
|
||||
osSyncPrintf("SPOT 06 の デモがはしった\n"); // Demo of SPOT 06
|
||||
osSyncPrintf(VT_RST);
|
||||
globalCtx->csCtx.segment = SEGMENTED_TO_VIRTUAL(&D_0201B0C0);
|
||||
globalCtx->csCtx.segment = SEGMENTED_TO_VIRTUAL(gLakeHyliaOwlCs);
|
||||
this->actor.draw = NULL;
|
||||
break;
|
||||
case 8:
|
||||
case 9:
|
||||
globalCtx->csCtx.segment = SEGMENTED_TO_VIRTUAL(&D_0201E6A0);
|
||||
globalCtx->csCtx.segment = SEGMENTED_TO_VIRTUAL(gDmtOwlCs);
|
||||
this->actor.draw = NULL;
|
||||
break;
|
||||
default:
|
||||
|
|
|
@ -6,6 +6,7 @@
|
|||
|
||||
#include "z_shot_sun.h"
|
||||
#include "overlays/actors/ovl_En_Elf/z_en_elf.h"
|
||||
#include "scenes/overworld/spot06/spot06_scene.h"
|
||||
#include "vt.h"
|
||||
|
||||
#define FLAGS 0x00000009
|
||||
|
@ -21,8 +22,6 @@ void ShotSun_TriggerFairy(ShotSun* this, GlobalContext* globalCtx);
|
|||
void func_80BADF0C(ShotSun* this, GlobalContext* globalCtx);
|
||||
void ShotSun_UpdateHyliaSun(ShotSun* this, GlobalContext* globalCtx);
|
||||
|
||||
extern CutsceneData D_02007020[];
|
||||
|
||||
const ActorInit Shot_Sun_InitVars = {
|
||||
ACTOR_SHOT_SUN,
|
||||
ACTORCAT_PROP,
|
||||
|
@ -166,7 +165,7 @@ void ShotSun_UpdateHyliaSun(ShotSun* this, GlobalContext* globalCtx) {
|
|||
osSyncPrintf(VT_FGCOL(CYAN) "SHOT_SUN HIT!!!!!!!\n" VT_RST);
|
||||
if (INV_CONTENT(ITEM_ARROW_FIRE) == ITEM_NONE) {
|
||||
Actor_Spawn(&globalCtx->actorCtx, globalCtx, ACTOR_ITEM_ETCETERA, 700.0f, -800.0f, 7261.0f, 0, 0, 0, 7);
|
||||
globalCtx->csCtx.segment = SEGMENTED_TO_VIRTUAL(D_02007020);
|
||||
globalCtx->csCtx.segment = SEGMENTED_TO_VIRTUAL(gFireArrowsCS);
|
||||
if (1) {}
|
||||
gSaveContext.cutsceneTrigger = 1;
|
||||
} else {
|
||||
|
|
|
@ -305,10 +305,6 @@ D_06000170 = 0x06000170;
|
|||
D_060005C0 = 0x60005C0;
|
||||
D_06006260 = 0x6006260;
|
||||
|
||||
// z_en_bird
|
||||
D_0600006C = 0x0600006C;
|
||||
D_06002190 = 0x06002190;
|
||||
|
||||
// z_en_blkobj
|
||||
D_060014E0 = 0x060014E0;
|
||||
D_060053D0 = 0x060053D0;
|
||||
|
@ -346,7 +342,6 @@ D_06001DA8 = 0x06001DA8;
|
|||
// z_bg_gjyo_bridge
|
||||
D_06000600 = 0x06000600;
|
||||
D_06000DB8 = 0x06000DB8;
|
||||
D_02002640 = 0x02002640;
|
||||
|
||||
// z_bg_spot15_saku
|
||||
D_060003C0 = 0x060003C0;
|
||||
|
@ -376,9 +371,6 @@ D_01002720 = 0x01002720;
|
|||
D_01001800 = 0x01001800;
|
||||
D_01000000 = 0x01000000;
|
||||
|
||||
// z_shot_sun
|
||||
D_02007020 = 0x02007020;
|
||||
|
||||
// z_demo_geff
|
||||
D_06000EA0 = 0x06000EA0;
|
||||
|
||||
|
@ -401,7 +393,6 @@ D_060041A0 = 0x060041A0;
|
|||
D_06009B08 = 0x06009B80;
|
||||
|
||||
// z_demo_im
|
||||
D_02002524 = 0x02002524;
|
||||
D_06000710 = 0x06000710;
|
||||
D_06000AFC = 0x06000AFC;
|
||||
D_0600EDE8 = 0x0600EDE8;
|
||||
|
@ -537,12 +528,6 @@ D_06001DDC = 0x06001DDC;
|
|||
D_60013500 = 0x06001350;
|
||||
|
||||
// z_bg_dy_yoseizo
|
||||
D_02000160 = 0x02000160;
|
||||
D_02001020 = 0x02001020;
|
||||
D_02001F40 = 0x02001F40;
|
||||
D_02000130 = 0x02000130;
|
||||
D_020013E0 = 0x020013E0;
|
||||
D_020025D0 = 0x020025D0;
|
||||
D_06008698 = 0x06008698;
|
||||
D_0601C450 = 0x0601C450;
|
||||
D_060031C0 = 0x060031C0;
|
||||
|
@ -628,8 +613,6 @@ D_0600039C = 0x0600039C;
|
|||
|
||||
// z_en_owl
|
||||
D_0600C1C4 = 0x0600C1C4;
|
||||
D_0201E6A0 = 0x0201E6A0;
|
||||
D_0201B0C0 = 0x0201B0C0;
|
||||
D_06001168 = 0x06001168;
|
||||
D_06003F18 = 0x06003F18;
|
||||
D_060100B0 = 0x060100B0;
|
||||
|
@ -662,26 +645,14 @@ D_060013C0 = 0x060013C0;
|
|||
D_06001A30 = 0x06001A30;
|
||||
D_060018A0 = 0x060018A0;
|
||||
|
||||
// z_en_heishi2
|
||||
D_0602B060 = 0x0602B060;
|
||||
D_06002C10 = 0x06002C10;
|
||||
|
||||
// z_bg_ddan_kd
|
||||
D_06004F30 = 0x06004F30;
|
||||
D_060048A8 = 0x060048A8;
|
||||
|
||||
|
||||
|
||||
// z_en_floormas
|
||||
D_06002158 = 0x06002158;
|
||||
D_060039B0 = 0x060039B0;
|
||||
|
||||
// z_en_fu
|
||||
D_0600057C = 0x0600057C;
|
||||
D_06000B04 = 0x06000B04;
|
||||
D_06006C90 = 0x06006C90;
|
||||
D_0200E080 = 0x0200E080;
|
||||
|
||||
// z_en_bx
|
||||
D_060022F0 = 0x060022F0;
|
||||
|
||||
|
@ -882,10 +853,6 @@ D_0600CB1C = 0x0600CB1C;
|
|||
D_0600DDB8 = 0x0600DDB8;
|
||||
D_0600E8A0 = 0x0600E8A0;
|
||||
|
||||
// z_obj_kibako
|
||||
D_05005290 = 0x05005290;
|
||||
D_05005380 = 0x05005380;
|
||||
|
||||
// z_en_geldb
|
||||
D_0600ADF8 = 0x0600ADF8;
|
||||
D_0600B6D4 = 0x0600B6D4;
|
||||
|
@ -906,7 +873,6 @@ D_060009D0 = 0x060009D0;
|
|||
D_06000A60 = 0x06000A60;
|
||||
|
||||
// z_en_ik
|
||||
D_02003F80 = 0x02003F80;
|
||||
D_06001C28 = 0x06001C28;
|
||||
D_06002538 = 0x06002538;
|
||||
D_060029FC = 0x060029FC;
|
||||
|
@ -941,7 +907,6 @@ D_060032D8 = 0x060032D8;
|
|||
// z_en_okarina_Tag
|
||||
D_02003C80 = 0x02003C80;
|
||||
D_02005020 = 0x02005020;
|
||||
D_020024A0 = 0x020024A0;
|
||||
|
||||
// z_en_okuta
|
||||
D_06000344 = 0x06000344;
|
||||
|
@ -1160,16 +1125,7 @@ D_06002428 = 0x06002428;
|
|||
D_060023D0 = 0x060023D0;
|
||||
D_06002594 = 0x06002594;
|
||||
|
||||
// z_bg_breakwall
|
||||
D_02014F80 = 0x02014F80;
|
||||
|
||||
// z_bg_dy_yoseizo
|
||||
D_02000130 = 0x02000130;
|
||||
D_02000160 = 0x02000160;
|
||||
D_02001020 = 0x02001020;
|
||||
D_020013E0 = 0x020013E0;
|
||||
D_02001F40 = 0x02001F40;
|
||||
D_020025D0 = 0x020025D0;
|
||||
D_0600092C = 0x0600092C;
|
||||
D_06001DF0 = 0x06001DF0;
|
||||
D_060031C0 = 0x060031C0;
|
||||
|
@ -1287,7 +1243,6 @@ D_06007EE0 = 0x06007EE0;
|
|||
D_06008190 = 0x06008190;
|
||||
|
||||
// z_boss_dodongo
|
||||
D_030021D8 = 0x030021D8;
|
||||
D_06001074 = 0x06001074;
|
||||
D_06002D0C = 0x06002D0C;
|
||||
D_06003CF8 = 0x06003CF8;
|
||||
|
@ -1863,8 +1818,6 @@ D_0600DE80 = 0x0600DE80;
|
|||
D_0600FEF0 = 0x0600FEF0;
|
||||
|
||||
// z_en_owl
|
||||
D_0201B0C0 = 0x0201B0C0;
|
||||
D_0201E6A0 = 0x0201E6A0;
|
||||
D_06001168 = 0x06001168;
|
||||
D_060015CC = 0x060015CC;
|
||||
D_0600C0E8 = 0x0600C0E8;
|
||||
|
|
Loading…
Reference in a new issue