mirror of https://github.com/zeldaret/oot.git
Merge branch 'main' into doc_pause_menu
This commit is contained in:
commit
cf9e2cf4f0
|
@ -1,7 +1,7 @@
|
|||
<Root>
|
||||
<ExternalFile OutPath="assets/objects/gameplay_keep"/>
|
||||
<File Name="object_gi_boots_2" Segment="6">
|
||||
<Texture Name="object_gi_boots_2_000000_Tex" Format="ia8" Width="16" Height="16" Offset="0x0"/>
|
||||
<Texture Name="gGiIronBootsRivetsTex" Format="ia8" Width="16" Height="16" Offset="0x0"/>
|
||||
<Array Name="gGiIronBootsVtx" Count="287" Offset="0x100">
|
||||
<Vtx/>
|
||||
</Array>
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
<Root>
|
||||
<ExternalFile OutPath="assets/objects/gameplay_keep"/>
|
||||
<File Name="object_gi_butterfly" Segment="6">
|
||||
<Texture Name="object_gi_butterfly_000000_Tex" Format="ia4" Width="24" Height="48" Offset="0x0"/>
|
||||
<Texture Name="gGiButterflyTex" Format="ia4" Width="24" Height="48" Offset="0x0"/>
|
||||
<Array Name="gGiButterflyContainerVtx" Count="65" Offset="0x240">
|
||||
<Vtx/>
|
||||
</Array>
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
<Root>
|
||||
<File Name="object_gi_clothes" Segment="6">
|
||||
<Texture Name="object_gi_clothes_000000_Tex" Format="i4" Width="64" Height="64" Offset="0x0"/>
|
||||
<Texture Name="gGiTunicCollarTex" Format="i4" Width="64" Height="64" Offset="0x0"/>
|
||||
<Array Name="gGiTunicCollarVtx" Count="16" Offset="0x800">
|
||||
<Vtx/>
|
||||
</Array>
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
<ExternalFile OutPath="assets/objects/gameplay_keep"/>
|
||||
<File Name="object_gi_dekupouch" Segment="6">
|
||||
<Texture Name="object_gi_dekupouch_000000_Tex" Format="i4" Width="32" Height="16" Offset="0x0"/>
|
||||
<Texture Name="object_gi_dekupouch_000100_Tex" Format="i4" Width="32" Height="32" Offset="0x100"/>
|
||||
<Texture Name="gGiBulletBagWritingTex" Format="i4" Width="32" Height="32" Offset="0x100"/>
|
||||
<Array Name="gGiBulletBagVtx" Count="111" Offset="0x300">
|
||||
<Vtx/>
|
||||
</Array>
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
<Root>
|
||||
<ExternalFile OutPath="assets/objects/gameplay_keep"/>
|
||||
<File Name="object_gi_fire" Segment="6">
|
||||
<Texture Name="object_gi_fire_000000_Tex" Format="i8" Width="16" Height="32" Offset="0x0"/>
|
||||
<Texture Name="object_gi_fire_000200_Tex" Format="i8" Width="16" Height="32" Offset="0x200"/>
|
||||
<Texture Name="gGiBlueFireFlameTex" Format="i8" Width="16" Height="32" Offset="0x0"/>
|
||||
<Texture Name="gGiBlueFireFireEffectTex" Format="i8" Width="16" Height="32" Offset="0x200"/>
|
||||
<Array Name="gGiBlueFireChamberstickVtx" Count="130" Offset="0x400">
|
||||
<Vtx/>
|
||||
</Array>
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
<Root>
|
||||
<ExternalFile OutPath="assets/objects/gameplay_keep"/>
|
||||
<File Name="object_gi_frog" Segment="6">
|
||||
<Texture Name="object_gi_frog_000000_Tex" Format="i8" Width="32" Height="32" Offset="0x0"/>
|
||||
<Texture Name="gGiFrogEyeTex" Format="i8" Width="32" Height="32" Offset="0x0"/>
|
||||
<Array Name="gGiFrogVtx" Count="139" Offset="0x400">
|
||||
<Vtx/>
|
||||
</Array>
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
<Root>
|
||||
<ExternalFile OutPath="assets/objects/gameplay_keep"/>
|
||||
<File Name="object_gi_gerudo" Segment="6">
|
||||
<Texture Name="object_gi_gerudo_000000_Tex" Format="i8" Width="32" Height="32" Offset="0x0"/>
|
||||
<Texture Name="gGiGerudoCardTex" Format="i8" Width="32" Height="32" Offset="0x0"/>
|
||||
<Array Name="gGiGerudoCardVtx" Count="182" Offset="0x400">
|
||||
<Vtx/>
|
||||
</Array>
|
||||
|
|
|
@ -1,11 +1,11 @@
|
|||
<Root>
|
||||
<File Name="object_gi_gerudomask" Segment="6">
|
||||
<Texture Name="object_gi_gerudomask_000000_Tex" Format="rgba16" Width="256" Height="1" Offset="0x0"/>
|
||||
<Texture Name="gGiGerudoMaskTLUT" Format="rgba16" Width="256" Height="1" Offset="0x0"/>
|
||||
<Blob Name="object_gi_gerudomask_000200_Blob" Size="0x8" Offset="0x200"/>
|
||||
<Texture Name="object_gi_gerudomask_000208_Tex" Format="ci8" Width="8" Height="8" Offset="0x208" TlutOffset="0x0"/>
|
||||
<Texture Name="object_gi_gerudomask_000248_Tex" Format="ci8" Width="16" Height="16" Offset="0x248" TlutOffset="0x0"/>
|
||||
<Texture Name="object_gi_gerudomask_000348_Tex" Format="ci8" Width="16" Height="16" Offset="0x348" TlutOffset="0x0"/>
|
||||
<Texture Name="object_gi_gerudomask_000448_Tex" Format="ci8" Width="32" Height="32" Offset="0x448" TlutOffset="0x0"/>
|
||||
<Texture Name="gGiGerudoMaskSkinTex" Format="ci8" Width="8" Height="8" Offset="0x208" TlutOffset="0x0"/>
|
||||
<Texture Name="gGiGerudoMaskHairTex" Format="ci8" Width="16" Height="16" Offset="0x248" TlutOffset="0x0"/>
|
||||
<Texture Name="gGiGerudoMaskLipsTex" Format="ci8" Width="16" Height="16" Offset="0x348" TlutOffset="0x0"/>
|
||||
<Texture Name="gGiGerudoMaskEyeTex" Format="ci8" Width="32" Height="32" Offset="0x448" TlutOffset="0x0"/>
|
||||
<Array Name="gGiGerudoMaskVtx" Count="138" Offset="0x848">
|
||||
<Vtx/>
|
||||
</Array>
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
<Root>
|
||||
<ExternalFile OutPath="assets/objects/gameplay_keep"/>
|
||||
<File Name="object_gi_ghost" Segment="6">
|
||||
<Texture Name="object_gi_ghost_000000_Tex" Format="i8" Width="16" Height="32" Offset="0x0"/>
|
||||
<Texture Name="object_gi_ghost_000200_Tex" Format="i8" Width="16" Height="32" Offset="0x200"/>
|
||||
<Texture Name="gGiGhostFlameTex" Format="i8" Width="16" Height="32" Offset="0x0"/>
|
||||
<Texture Name="gGiGhostFireEffectTex" Format="i8" Width="16" Height="32" Offset="0x200"/>
|
||||
<Array Name="gGiGhostContainerLidVtx" Count="56" Offset="0x400">
|
||||
<Vtx/>
|
||||
</Array>
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
<Root>
|
||||
<ExternalFile OutPath="assets/objects/gameplay_keep"/>
|
||||
<File Name="object_gi_gloves" Segment="6">
|
||||
<Texture Name="object_gi_gloves_000000_Tex" Format="i8" Width="64" Height="32" Offset="0x0"/>
|
||||
<Texture Name="gGiGauntletsPlateTex" Format="i8" Width="64" Height="32" Offset="0x0"/>
|
||||
<Array Name="gGiGauntletsVtx" Count="152" Offset="0x800">
|
||||
<Vtx/>
|
||||
</Array>
|
||||
|
|
|
@ -1,11 +1,11 @@
|
|||
<Root>
|
||||
<File Name="object_gi_golonmask" Segment="6">
|
||||
<Texture Name="object_gi_golonmask_000000_Tex" Format="rgba16" Width="256" Height="1" Offset="0x0"/>
|
||||
<Texture Name="gGiGoronMaskTLUT" Format="rgba16" Width="256" Height="1" Offset="0x0"/>
|
||||
<Blob Name="object_gi_golonmask_000200_Blob" Size="0x8" Offset="0x200"/>
|
||||
<Texture Name="object_gi_golonmask_000208_Tex" Format="ci8" Width="8" Height="8" Offset="0x208" TlutOffset="0x0"/>
|
||||
<Texture Name="object_gi_golonmask_000248_Tex" Format="ci8" Width="16" Height="16" Offset="0x248" TlutOffset="0x0"/>
|
||||
<Texture Name="object_gi_golonmask_000348_Tex" Format="ci8" Width="32" Height="32" Offset="0x348" TlutOffset="0x0"/>
|
||||
<Texture Name="object_gi_golonmask_000748_Tex" Format="ci8" Width="64" Height="32" Offset="0x748" TlutOffset="0x0"/>
|
||||
<Texture Name="gGiGoronMaskSkinTex" Format="ci8" Width="8" Height="8" Offset="0x208" TlutOffset="0x0"/>
|
||||
<Texture Name="gGiGoronMaskHairTex" Format="ci8" Width="16" Height="16" Offset="0x248" TlutOffset="0x0"/>
|
||||
<Texture Name="gGiGoronMaskEyeTex" Format="ci8" Width="32" Height="32" Offset="0x348" TlutOffset="0x0"/>
|
||||
<Texture Name="gGiGoronMaskMouthTex" Format="ci8" Width="64" Height="32" Offset="0x748" TlutOffset="0x0"/>
|
||||
<Array Name="gGiGoronMaskVtx" Count="91" Offset="0xF48">
|
||||
<Vtx/>
|
||||
</Array>
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
<Root>
|
||||
<ExternalFile OutPath="assets/objects/gameplay_keep"/>
|
||||
<File Name="object_gi_hoverboots" Segment="6">
|
||||
<Texture Name="object_gi_hoverboots_000000_Tex" Format="ia4" Width="48" Height="32" Offset="0x0"/>
|
||||
<Texture Name="gGiHoverBootsWingTex" Format="ia4" Width="48" Height="32" Offset="0x0"/>
|
||||
<Texture Name="object_gi_hoverboots_000300_Tex" Format="i4" Width="16" Height="32" Offset="0x300"/>
|
||||
<Array Name="gGiHoverBootsVtx" Count="325" Offset="0x400">
|
||||
<Vtx/>
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
<Root>
|
||||
<ExternalFile OutPath="assets/objects/gameplay_keep"/>
|
||||
<File Name="object_gi_ki_tan_mask" Segment="6">
|
||||
<Texture Name="object_gi_ki_tan_mask_000000_Tex" Format="ia8" Width="8" Height="32" Offset="0x0"/>
|
||||
<Texture Name="gGiKeatonMaskEyeTex" Format="ia8" Width="8" Height="32" Offset="0x0"/>
|
||||
<Array Name="gGiKeatonMaskVtx" Count="148" Offset="0x100">
|
||||
<Vtx/>
|
||||
</Array>
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
<Root>
|
||||
<File Name="object_gi_letter" Segment="6">
|
||||
<Texture Name="object_gi_letter_000000_Tex" Format="i8" Width="48" Height="32" Offset="0x0"/>
|
||||
<Texture Name="object_gi_letter_000600_Tex" Format="ia8" Width="48" Height="32" Offset="0x600"/>
|
||||
<Texture Name="gGiLetterPaperTex" Format="i8" Width="48" Height="32" Offset="0x0"/>
|
||||
<Texture Name="gGiLetterWritingTex" Format="ia8" Width="48" Height="32" Offset="0x600"/>
|
||||
<Array Name="gGiLetterVtx" Count="8" Offset="0xC00">
|
||||
<Vtx/>
|
||||
</Array>
|
||||
|
|
|
@ -1,9 +1,9 @@
|
|||
<Root>
|
||||
<ExternalFile OutPath="assets/objects/gameplay_keep"/>
|
||||
<File Name="object_gi_liquid" Segment="6">
|
||||
<Texture Name="object_gi_liquid_000000_Tex" Format="ia8" Width="16" Height="32" Offset="0x0"/>
|
||||
<Texture Name="object_gi_liquid_000200_Tex" Format="ia8" Width="16" Height="32" Offset="0x200"/>
|
||||
<Texture Name="object_gi_liquid_000400_Tex" Format="ia8" Width="16" Height="32" Offset="0x400"/>
|
||||
<Texture Name="gGiGreenPotionPatternTex" Format="ia8" Width="16" Height="32" Offset="0x0"/>
|
||||
<Texture Name="gGiRedPotionPatternTex" Format="ia8" Width="16" Height="32" Offset="0x200"/>
|
||||
<Texture Name="gGiBluePotionPatternTex" Format="ia8" Width="16" Height="32" Offset="0x400"/>
|
||||
<Array Name="gGiPotionPotVtx" Count="176" Offset="0x600">
|
||||
<Vtx/>
|
||||
</Array>
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
<Root>
|
||||
<ExternalFile OutPath="assets/objects/gameplay_keep"/>
|
||||
<File Name="object_gi_milk" Segment="6">
|
||||
<Texture Name="object_gi_milk_000000_Tex" Format="i8" Width="72" Height="24" Offset="0x0"/>
|
||||
<Texture Name="gGiMilkBottleLabelTex" Format="i8" Width="72" Height="24" Offset="0x0"/>
|
||||
<Array Name="gGiMilkBottleContentsVtx" Count="63" Offset="0x6C0">
|
||||
<Vtx/>
|
||||
</Array>
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
<Root>
|
||||
<ExternalFile OutPath="assets/objects/gameplay_keep"/>
|
||||
<File Name="object_gi_niwatori" Segment="6">
|
||||
<Texture Name="object_gi_niwatori_000000_Tex" Format="i8" Width="32" Height="64" Offset="0x0"/>
|
||||
<Texture Name="object_gi_niwatori_000800_Tex" Format="ia8" Width="32" Height="32" Offset="0x800"/>
|
||||
<Texture Name="gGiChickenFeathersTex" Format="i8" Width="32" Height="64" Offset="0x0"/>
|
||||
<Texture Name="gGiChickenEyeTex" Format="ia8" Width="32" Height="32" Offset="0x800"/>
|
||||
<Array Name="gGiChickenVtx" Count="153" Offset="0xC00">
|
||||
<Vtx/>
|
||||
</Array>
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
<Root>
|
||||
<ExternalFile OutPath="assets/objects/gameplay_keep"/>
|
||||
<File Name="object_gi_ocarina" Segment="6">
|
||||
<Texture Name="object_gi_ocarina_000000_Tex" Format="i8" Width="16" Height="16" Offset="0x0"/>
|
||||
<Texture Name="gGiOcarinaTimeHoleTex" Format="i8" Width="16" Height="16" Offset="0x0"/>
|
||||
<Array Name="gGiOcarinaTimeVtx" Count="100" Offset="0x100">
|
||||
<Vtx/>
|
||||
</Array>
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
<Root>
|
||||
<ExternalFile OutPath="assets/objects/gameplay_keep"/>
|
||||
<File Name="object_gi_ocarina_0" Segment="6">
|
||||
<Texture Name="object_gi_ocarina_0_000000_Tex" Format="i8" Width="16" Height="16" Offset="0x0"/>
|
||||
<Texture Name="gGiOcarinaFairyHoleTex" Format="i8" Width="16" Height="16" Offset="0x0"/>
|
||||
<Array Name="gGiOcarinaFairyVtx" Count="105" Offset="0x100">
|
||||
<Vtx/>
|
||||
</Array>
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
<Root>
|
||||
<ExternalFile OutPath="assets/objects/gameplay_keep"/>
|
||||
<File Name="object_gi_prescription" Segment="6">
|
||||
<Texture Name="object_gi_prescription_000000_Tex" Format="ia8" Width="32" Height="48" Offset="0x0"/>
|
||||
<Texture Name="gGiPrescriptionWritingTex" Format="ia8" Width="32" Height="48" Offset="0x0"/>
|
||||
<Array Name="gGiPrescriptionVtx" Count="30" Offset="0x600">
|
||||
<Vtx/>
|
||||
</Array>
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
<Root>
|
||||
<ExternalFile OutPath="assets/objects/gameplay_keep"/>
|
||||
<File Name="object_gi_rabit_mask" Segment="6">
|
||||
<Texture Name="object_gi_rabit_mask_000000_Tex" Format="ia8" Width="16" Height="16" Offset="0x0"/>
|
||||
<Texture Name="gGiBunnyHoodEyeTex" Format="ia8" Width="16" Height="16" Offset="0x0"/>
|
||||
<Array Name="gGiBunnyHoodVtx" Count="166" Offset="0x100">
|
||||
<Vtx/>
|
||||
</Array>
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
<Root>
|
||||
<ExternalFile OutPath="assets/objects/gameplay_keep"/>
|
||||
<File Name="object_gi_shield_3" Segment="6">
|
||||
<Texture Name="object_gi_shield_3_000000_Tex" Format="i4" Width="64" Height="32" Offset="0x0"/>
|
||||
<Texture Name="object_gi_shield_3_000400_Tex" Format="i4" Width="64" Height="64" Offset="0x400"/>
|
||||
<Texture Name="gGiMirrorShieldSymbol1Tex" Format="i4" Width="64" Height="32" Offset="0x0"/>
|
||||
<Texture Name="gGiMirrorShieldSymbol2Tex" Format="i4" Width="64" Height="64" Offset="0x400"/>
|
||||
<Array Name="gGiMirrorShieldVtx" Count="49" Offset="0xC00">
|
||||
<Vtx/>
|
||||
</Array>
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
<Root>
|
||||
<File Name="object_gi_soldout" Segment="6">
|
||||
<Texture Name="object_gi_soldout_000000_Tex" Format="ia8" Width="32" Height="32" Offset="0x0"/>
|
||||
<Texture Name="gGiSoldOutTex" Format="ia8" Width="32" Height="32" Offset="0x0"/>
|
||||
<Array Name="gGiSoldOutVtx" Count="4" Offset="0x400">
|
||||
<Vtx/>
|
||||
</Array>
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
<Root>
|
||||
<ExternalFile OutPath="assets/objects/gameplay_keep"/>
|
||||
<File Name="object_gi_soul" Segment="6">
|
||||
<Texture Name="object_gi_soul_000000_Tex" Format="i8" Width="32" Height="32" Offset="0x0"/>
|
||||
<Texture Name="gGiFairyTex" Format="i8" Width="32" Height="32" Offset="0x0"/>
|
||||
<Array Name="gGiFairyContainerBaseCapVtx" Count="69" Offset="0x400">
|
||||
<Vtx/>
|
||||
</Array>
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
<Root>
|
||||
<ExternalFile OutPath="assets/objects/gameplay_keep"/>
|
||||
<File Name="object_gi_ticketstone" Segment="6">
|
||||
<Texture Name="object_gi_ticketstone_000000_Tex" Format="i4" Width="48" Height="24" Offset="0x0"/>
|
||||
<Texture Name="object_gi_ticketstone_000240_Tex" Format="i8" Width="32" Height="24" Offset="0x240"/>
|
||||
<Texture Name="gGiClaimCheckWriting1Tex" Format="i4" Width="48" Height="24" Offset="0x0"/>
|
||||
<Texture Name="gGiClaimCheckWriting2Tex" Format="i8" Width="32" Height="24" Offset="0x240"/>
|
||||
<Array Name="gGiClaimCheckVtx" Count="138" Offset="0x540">
|
||||
<Vtx/>
|
||||
</Array>
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
<Root>
|
||||
<ExternalFile OutPath="assets/objects/gameplay_keep"/>
|
||||
<File Name="object_gi_truth_mask" Segment="6">
|
||||
<Texture Name="object_gi_truth_mask_000000_Tex" Format="i8" Width="32" Height="32" Offset="0x0"/>
|
||||
<Texture Name="object_gi_truth_mask_000400_Tex" Format="i8" Width="32" Height="32" Offset="0x400"/>
|
||||
<Texture Name="gGiMaskOfTruthAccent1Tex" Format="i8" Width="32" Height="32" Offset="0x0"/>
|
||||
<Texture Name="gGiMaskOfTruthAccent2Tex" Format="i8" Width="32" Height="32" Offset="0x400"/>
|
||||
<Array Name="gGiMaskOfTruthVtx" Count="158" Offset="0x800">
|
||||
<Vtx/>
|
||||
</Array>
|
||||
|
|
|
@ -1,11 +1,11 @@
|
|||
<Root>
|
||||
<File Name="object_gi_zoramask" Segment="6">
|
||||
<Texture Name="object_gi_zoramask_000000_Tex" Format="rgba16" Width="256" Height="1" Offset="0x0"/>
|
||||
<Texture Name="gGiZoraMaskTLUT" Format="rgba16" Width="256" Height="1" Offset="0x0"/>
|
||||
<Blob Name="object_gi_zoramask_000200_Blob" Size="0x8" Offset="0x200"/>
|
||||
<Texture Name="object_gi_zoramask_000208_Tex" Format="ci8" Width="8" Height="8" Offset="0x208" TlutOffset="0x0"/>
|
||||
<Texture Name="object_gi_zoramask_000248_Tex" Format="ci8" Width="32" Height="32" Offset="0x248" TlutOffset="0x0"/>
|
||||
<Texture Name="object_gi_zoramask_000648_Tex" Format="ci8" Width="32" Height="32" Offset="0x648" TlutOffset="0x0"/>
|
||||
<Texture Name="object_gi_zoramask_000A48_Tex" Format="ci8" Width="32" Height="32" Offset="0xA48" TlutOffset="0x0"/>
|
||||
<Texture Name="gGiZoraMaskEyeTex" Format="ci8" Width="32" Height="32" Offset="0x648" TlutOffset="0x0"/>
|
||||
<Texture Name="gGiZoraMaskMouthTex" Format="ci8" Width="32" Height="32" Offset="0xA48" TlutOffset="0x0"/>
|
||||
<Array Name="gGiZoraMaskVtx" Count="85" Offset="0xE48">
|
||||
<Vtx/>
|
||||
</Array>
|
||||
|
|
|
@ -216,27 +216,27 @@
|
|||
<DList Name="gIngoAdultEraLeftLegDL" Offset="0x137C0"/>
|
||||
<DList Name="gIngoAdultEraLeftFootDL" Offset="0x13910"/>
|
||||
|
||||
<Limb Name="gIngoRootLimb" LimbType="Standard" Offset="0x13A58"/>
|
||||
<Limb Name="gIngoLeftThighLimb" LimbType="Standard" Offset="0x13A64"/>
|
||||
<Limb Name="gIngoLeftLegLimb" LimbType="Standard" Offset="0x13A70"/>
|
||||
<Limb Name="gIngoLeftFootLimb" LimbType="Standard" Offset="0x13A7C"/>
|
||||
<Limb Name="gIngoRightThighLimb" LimbType="Standard" Offset="0x13A88"/>
|
||||
<Limb Name="gIngoRightLegLimb" LimbType="Standard" Offset="0x13A94"/>
|
||||
<Limb Name="gIngoRightFootLimb" LimbType="Standard" Offset="0x13AA0"/>
|
||||
<Limb Name="gIngoTorsoLimb" LimbType="Standard" Offset="0x13AAC"/>
|
||||
<Limb Name="gIngoChestLimb" LimbType="Standard" Offset="0x13AB8"/>
|
||||
<Limb Name="gIngoLeftShoulderLimb" LimbType="Standard" Offset="0x13AC4"/>
|
||||
<Limb Name="gIngoLeftArmLimb" LimbType="Standard" Offset="0x13AD0"/>
|
||||
<Limb Name="gIngoLeftHandLimb" LimbType="Standard" Offset="0x13ADC"/>
|
||||
<Limb Name="gIngoRightShoulderLimb" LimbType="Standard" Offset="0x13AE8"/>
|
||||
<Limb Name="gIngoRightArmLimb" LimbType="Standard" Offset="0x13AF4"/>
|
||||
<Limb Name="gIngoRightHandLimb" LimbType="Standard" Offset="0x13B00"/>
|
||||
<Limb Name="gIngoHeadLimb" LimbType="Standard" Offset="0x13B0C"/>
|
||||
<Limb Name="gIngoLeftEyebrowLimb" LimbType="Standard" Offset="0x13B18"/>
|
||||
<Limb Name="gIngoRightEyebrowLimb" LimbType="Standard" Offset="0x13B24"/>
|
||||
<Limb Name="gIngoMustacheLimb" LimbType="Standard" Offset="0x13B30"/>
|
||||
<Limb Name="gIngoRootLimb" LimbType="Standard" EnumName="INGO_LIMB_ROOT" Offset="0x13A58"/>
|
||||
<Limb Name="gIngoLeftThighLimb" LimbType="Standard" EnumName="INGO_LIMB_LEFT_THIGH" Offset="0x13A64"/>
|
||||
<Limb Name="gIngoLeftLegLimb" LimbType="Standard" EnumName="INGO_LIMB_LEFT_LEG" Offset="0x13A70"/>
|
||||
<Limb Name="gIngoLeftFootLimb" LimbType="Standard" EnumName="INGO_LIMB_LEFT_FOOT" Offset="0x13A7C"/>
|
||||
<Limb Name="gIngoRightThighLimb" LimbType="Standard" EnumName="INGO_LIMB_RIGHT_THIGH" Offset="0x13A88"/>
|
||||
<Limb Name="gIngoRightLegLimb" LimbType="Standard" EnumName="INGO_LIMB_RIGHT_LEG" Offset="0x13A94"/>
|
||||
<Limb Name="gIngoRightFootLimb" LimbType="Standard" EnumName="INGO_LIMB_RIGHT_FOOT" Offset="0x13AA0"/>
|
||||
<Limb Name="gIngoTorsoLimb" LimbType="Standard" EnumName="INGO_LIMB_TORSO" Offset="0x13AAC"/>
|
||||
<Limb Name="gIngoChestLimb" LimbType="Standard" EnumName="INGO_LIMB_CHEST" Offset="0x13AB8"/>
|
||||
<Limb Name="gIngoLeftShoulderLimb" LimbType="Standard" EnumName="INGO_LIMB_LEFT_SHOULDER" Offset="0x13AC4"/>
|
||||
<Limb Name="gIngoLeftArmLimb" LimbType="Standard" EnumName="INGO_LIMB_LEFT_ARM" Offset="0x13AD0"/>
|
||||
<Limb Name="gIngoLeftHandLimb" LimbType="Standard" EnumName="INGO_LIMB_LEFT_HAND" Offset="0x13ADC"/>
|
||||
<Limb Name="gIngoRightShoulderLimb" LimbType="Standard" EnumName="INGO_LIMB_RIGHT_SHOULDER" Offset="0x13AE8"/>
|
||||
<Limb Name="gIngoRightArmLimb" LimbType="Standard" EnumName="INGO_LIMB_RIGHT_ARM" Offset="0x13AF4"/>
|
||||
<Limb Name="gIngoRightHandLimb" LimbType="Standard" EnumName="INGO_LIMB_RIGHT_HAND" Offset="0x13B00"/>
|
||||
<Limb Name="gIngoHeadLimb" LimbType="Standard" EnumName="INGO_LIMB_HEAD" Offset="0x13B0C"/>
|
||||
<Limb Name="gIngoLeftEyebrowLimb" LimbType="Standard" EnumName="INGO_LIMB_LEFT_EYEBROW" Offset="0x13B18"/>
|
||||
<Limb Name="gIngoRightEyebrowLimb" LimbType="Standard" EnumName="INGO_LIMB_RIGHT_EYEBROW" Offset="0x13B24"/>
|
||||
<Limb Name="gIngoMustacheLimb" LimbType="Standard" EnumName="INGO_LIMB_MUSTACHE" Offset="0x13B30"/>
|
||||
|
||||
<Skeleton Name="gIngoSkel" Type="Flex" LimbType="Standard" Offset="0x13B88"/>
|
||||
<Skeleton Name="gIngoSkel" Type="Flex" LimbType="Standard" LimbNone="INGO_LIMB_NONE" LimbMax="INGO_LIMB_MAX" EnumName="IngoLimb" Offset="0x13B88"/>
|
||||
|
||||
<Animation Name="object_in_Anim_013C6C" Offset="0x13C6C"/>
|
||||
<Animation Name="object_in_Anim_013D60" Offset="0x13D60"/>
|
||||
|
|
|
@ -99,25 +99,25 @@
|
|||
<DList Name="gMalonAdultLeftLegDL" Offset="0x8A60"/>
|
||||
<DList Name="gMalonAdultLeftFootDL" Offset="0x8B50"/>
|
||||
|
||||
<Skeleton Name="gMalonAdultSkel" Type="Flex" LimbType="Standard" Offset="0x8D90"/>
|
||||
<Limb Name="gMalonAdultRootLimb" LimbType="Standard" Offset="0x8C70"/>
|
||||
<Limb Name="gMalonAdultLowerControlLimb" LimbType="Standard" Offset="0x8C7C"/>
|
||||
<Limb Name="gMalonAdultLeftThighLimb" LimbType="Standard" Offset="0x8C88"/>
|
||||
<Limb Name="gMalonAdultLeftLegLimb" LimbType="Standard" Offset="0x8C94"/>
|
||||
<Limb Name="gMalonAdultLeftFootLimb" LimbType="Standard" Offset="0x8CA0"/>
|
||||
<Limb Name="gMalonAdultRightThighLimb" LimbType="Standard" Offset="0x8CAC"/>
|
||||
<Limb Name="gMalonAdultRightLegLimb" LimbType="Standard" Offset="0x8CB8"/>
|
||||
<Limb Name="gMalonAdultRightFootLimb" LimbType="Standard" Offset="0x8CC4"/>
|
||||
<Limb Name="gMalonAdultTorsoLimb" LimbType="Standard" Offset="0x8CD0"/>
|
||||
<Limb Name="gMalonAdultDressLimb" LimbType="Standard" Offset="0x8CDC"/>
|
||||
<Limb Name="gMalonAdultChestAndNeckLimb" LimbType="Standard" Offset="0x8CE8"/>
|
||||
<Limb Name="gMalonAdultLeftShoulderLimb" LimbType="Standard" Offset="0x8CF4"/>
|
||||
<Limb Name="gMalonAdultLeftArmLimb" LimbType="Standard" Offset="0x8D00"/>
|
||||
<Limb Name="gMalonAdultLeftHandLimb" LimbType="Standard" Offset="0x8D0C"/>
|
||||
<Limb Name="gMalonAdultRightShoulderLimb" LimbType="Standard" Offset="0x8D18"/>
|
||||
<Limb Name="gMalonAdultRightArmLimb" LimbType="Standard" Offset="0x8D24"/>
|
||||
<Limb Name="gMalonAdultRightHandLimb" LimbType="Standard" Offset="0x8D30"/>
|
||||
<Limb Name="gMalonAdultHeadLimb" LimbType="Standard" Offset="0x8D3C"/>
|
||||
<Skeleton Name="gMalonAdultSkel" Type="Flex" LimbType="Standard" LimbNone="MALON_ADULT_LIMB_NONE" LimbMax="MALON_ADULT_LIMB_MAX" EnumName="MalonAdultLimb" Offset="0x8D90"/>
|
||||
<Limb Name="gMalonAdultRootLimb" LimbType="Standard" EnumName="MALON_ADULT_LIMB_ROOT" Offset="0x8C70"/>
|
||||
<Limb Name="gMalonAdultLowerControlLimb" LimbType="Standard" EnumName="MALON_ADULT_LIMB_LOWER_CONTROL" Offset="0x8C7C"/>
|
||||
<Limb Name="gMalonAdultLeftThighLimb" LimbType="Standard" EnumName="MALON_ADULT_LIMB_LEFT_THIGH" Offset="0x8C88"/>
|
||||
<Limb Name="gMalonAdultLeftLegLimb" LimbType="Standard" EnumName="MALON_ADULT_LIMB_LEFT_LEG" Offset="0x8C94"/>
|
||||
<Limb Name="gMalonAdultLeftFootLimb" LimbType="Standard" EnumName="MALON_ADULT_LIMB_LEFT_FOOT" Offset="0x8CA0"/>
|
||||
<Limb Name="gMalonAdultRightThighLimb" LimbType="Standard" EnumName="MALON_ADULT_LIMB_RIGHT_THIGH" Offset="0x8CAC"/>
|
||||
<Limb Name="gMalonAdultRightLegLimb" LimbType="Standard" EnumName="MALON_ADULT_LIMB_RIGHT_LEG" Offset="0x8CB8"/>
|
||||
<Limb Name="gMalonAdultRightFootLimb" LimbType="Standard" EnumName="MALON_ADULT_LIMB_RIGHT_FOOT" Offset="0x8CC4"/>
|
||||
<Limb Name="gMalonAdultTorsoLimb" LimbType="Standard" EnumName="MALON_ADULT_LIMB_TORSO" Offset="0x8CD0"/>
|
||||
<Limb Name="gMalonAdultDressLimb" LimbType="Standard" EnumName="MALON_ADULT_LIMB_DRESS" Offset="0x8CDC"/>
|
||||
<Limb Name="gMalonAdultChestAndNeckLimb" LimbType="Standard" EnumName="MALON_ADULT_LIMB_CHEST_AND_NECK" Offset="0x8CE8"/>
|
||||
<Limb Name="gMalonAdultLeftShoulderLimb" LimbType="Standard" EnumName="MALON_ADULT_LIMB_LEFT_SHOULDER" Offset="0x8CF4"/>
|
||||
<Limb Name="gMalonAdultLeftArmLimb" LimbType="Standard" EnumName="MALON_ADULT_LIMB_LEFT_ARM" Offset="0x8D00"/>
|
||||
<Limb Name="gMalonAdultLeftHandLimb" LimbType="Standard" EnumName="MALON_ADULT_LIMB_LEFT_HAND" Offset="0x8D0C"/>
|
||||
<Limb Name="gMalonAdultRightShoulderLimb" LimbType="Standard" EnumName="MALON_ADULT_LIMB_RIGHT_SHOULDER" Offset="0x8D18"/>
|
||||
<Limb Name="gMalonAdultRightArmLimb" LimbType="Standard" EnumName="MALON_ADULT_LIMB_RIGHT_ARM" Offset="0x8D24"/>
|
||||
<Limb Name="gMalonAdultRightHandLimb" LimbType="Standard" EnumName="MALON_ADULT_LIMB_RIGHT_HAND" Offset="0x8D30"/>
|
||||
<Limb Name="gMalonAdultHeadLimb" LimbType="Standard" EnumName="MALON_ADULT_LIMB_HEAD" Offset="0x8D3C"/>
|
||||
<Animation Name="gMalonAdultIdleAnim" Offset="0x7D4"/>
|
||||
<Animation Name="gMalonAdultSingToIdleAnim" Offset="0x92F0"/> <!-- Unused -->
|
||||
<Animation Name="gMalonAdultStandStillAnim" Offset="0x93BC"/>
|
||||
|
|
|
@ -1,25 +1,25 @@
|
|||
<Root>
|
||||
<File Name="object_md" Segment="6">
|
||||
<!-- Mido Skeleton -->
|
||||
<Skeleton Name="gMidoSkel" Type="Flex" LimbType="Standard" Offset="0x7FB8"/>
|
||||
<Skeleton Name="gMidoSkel" Type="Flex" LimbType="Standard" LimbNone="MIDO_LIMB_NONE" LimbMax="MIDO_LIMB_MAX" EnumName="MidoLimb" Offset="0x7FB8"/>
|
||||
|
||||
<!-- Mido Limbs -->
|
||||
<Limb Name="gMidoRootLimb" LimbType="Standard" Offset="0x7EB8"/>
|
||||
<Limb Name="gMidoWaistLimb" LimbType="Standard" Offset="0x7EC4"/>
|
||||
<Limb Name="gMidoLeftThighLimb" LimbType="Standard" Offset="0x7ED0"/>
|
||||
<Limb Name="gMidoLeftLegLimb" LimbType="Standard" Offset="0x7EDC"/>
|
||||
<Limb Name="gMidoLeftFootLimb" LimbType="Standard" Offset="0x7EE8"/>
|
||||
<Limb Name="gMidoRightThighLimb" LimbType="Standard" Offset="0x7EF4"/>
|
||||
<Limb Name="gMidoRightLegLimb" LimbType="Standard" Offset="0x7F00"/>
|
||||
<Limb Name="gMidoRightFootLimb" LimbType="Standard" Offset="0x7F0C"/>
|
||||
<Limb Name="gMidoTorsoLimb" LimbType="Standard" Offset="0x7F18"/>
|
||||
<Limb Name="gMidoLeftUpperArmLimb" LimbType="Standard" Offset="0x7F24"/>
|
||||
<Limb Name="gMidoLeftForearmLimb" LimbType="Standard" Offset="0x7F30"/>
|
||||
<Limb Name="gMidoLeftHandLimb" LimbType="Standard" Offset="0x7F3C"/>
|
||||
<Limb Name="gMidoRightUpperArmLimb" LimbType="Standard" Offset="0x7F48"/>
|
||||
<Limb Name="gMidoRightForearmLimb" LimbType="Standard" Offset="0x7F54"/>
|
||||
<Limb Name="gMidoRightHandLimb" LimbType="Standard" Offset="0x7F60"/>
|
||||
<Limb Name="gMidoHeadLimb" LimbType="Standard" Offset="0x7F6C"/>
|
||||
<Limb Name="gMidoRootLimb" LimbType="Standard" EnumName="MIDO_LIMB_ROOT" Offset="0x7EB8"/>
|
||||
<Limb Name="gMidoWaistLimb" LimbType="Standard" EnumName="MIDO_LIMB_WAIST" Offset="0x7EC4"/>
|
||||
<Limb Name="gMidoLeftThighLimb" LimbType="Standard" EnumName="MIDO_LIMB_LEFT_THIGH" Offset="0x7ED0"/>
|
||||
<Limb Name="gMidoLeftLegLimb" LimbType="Standard" EnumName="MIDO_LIMB_LEFT_LEG" Offset="0x7EDC"/>
|
||||
<Limb Name="gMidoLeftFootLimb" LimbType="Standard" EnumName="MIDO_LIMB_LEFT_FOOT" Offset="0x7EE8"/>
|
||||
<Limb Name="gMidoRightThighLimb" LimbType="Standard" EnumName="MIDO_LIMB_RIGHT_THIGH" Offset="0x7EF4"/>
|
||||
<Limb Name="gMidoRightLegLimb" LimbType="Standard" EnumName="MIDO_LIMB_RIGHT_LEG" Offset="0x7F00"/>
|
||||
<Limb Name="gMidoRightFootLimb" LimbType="Standard" EnumName="MIDO_LIMB_RIGHT_FOOT" Offset="0x7F0C"/>
|
||||
<Limb Name="gMidoTorsoLimb" LimbType="Standard" EnumName="MIDO_LIMB_TORSO" Offset="0x7F18"/>
|
||||
<Limb Name="gMidoLeftUpperArmLimb" LimbType="Standard" EnumName="MIDO_LIMB_LEFT_UPPER_ARM" Offset="0x7F24"/>
|
||||
<Limb Name="gMidoLeftForearmLimb" LimbType="Standard" EnumName="MIDO_LIMB_LEFT_FOREARM" Offset="0x7F30"/>
|
||||
<Limb Name="gMidoLeftHandLimb" LimbType="Standard" EnumName="MIDO_LIMB_LEFT_HAND" Offset="0x7F3C"/>
|
||||
<Limb Name="gMidoRightUpperArmLimb" LimbType="Standard" EnumName="MIDO_LIMB_RIGHT_UPPER_ARM" Offset="0x7F48"/>
|
||||
<Limb Name="gMidoRightForearmLimb" LimbType="Standard" EnumName="MIDO_LIMB_RIGHT_FOREARM" Offset="0x7F54"/>
|
||||
<Limb Name="gMidoRightHandLimb" LimbType="Standard" EnumName="MIDO_LIMB_RIGHT_HAND" Offset="0x7F60"/>
|
||||
<Limb Name="gMidoHeadLimb" LimbType="Standard" EnumName="MIDO_LIMB_HEAD" Offset="0x7F6C"/>
|
||||
|
||||
<!-- Mido Limb Vertices -->
|
||||
<Array Name="gMidoLeftHandVtx" Count="48" Offset="0x15E0">
|
||||
|
|
|
@ -2,27 +2,27 @@
|
|||
<File Name="object_nb" Segment="6">
|
||||
|
||||
<!-- Nabooru Skeleton -->
|
||||
<Skeleton Name="gNabooruSkel" Type="Flex" LimbType="Standard" Offset="0x181C8"/>
|
||||
<Skeleton Name="gNabooruSkel" Type="Flex" LimbType="Standard" LimbNone="NABOORU_LIMB_NONE" LimbMax="NABOORU_LIMB_MAX" EnumName="NabooruLimb" Offset="0x181C8"/>
|
||||
|
||||
<!-- Nabooru Limbs -->
|
||||
<Limb Name="gNabooruRootLimb" LimbType="Standard" Offset="0x180A8"/>
|
||||
<Limb Name="gNabooruLeftThighLimb" LimbType="Standard" Offset="0x180B4"/>
|
||||
<Limb Name="gNabooruLeftShinLimb" LimbType="Standard" Offset="0x180C0"/>
|
||||
<Limb Name="gNabooruLeftFootLimb" LimbType="Standard" Offset="0x180CC"/>
|
||||
<Limb Name="gNabooruRightThighLimb" LimbType="Standard" Offset="0x180D8"/>
|
||||
<Limb Name="gNabooruRightShinLimb" LimbType="Standard" Offset="0x180E4"/>
|
||||
<Limb Name="gNabooruRightFootLimb" LimbType="Standard" Offset="0x180F0"/>
|
||||
<Limb Name="gNabooruTorsoLimb" LimbType="Standard" Offset="0x180FC"/>
|
||||
<Limb Name="gNabooruLeftUpperArmLimb" LimbType="Standard" Offset="0x18108"/>
|
||||
<Limb Name="gNabooruLeftForearmLimb" LimbType="Standard" Offset="0x18114"/>
|
||||
<Limb Name="gNabooruLeftHandLimb" LimbType="Standard" Offset="0x18120"/>
|
||||
<Limb Name="gNabooruRightUpperArmLimb" LimbType="Standard" Offset="0x1812C"/>
|
||||
<Limb Name="gNabooruRightForearmLimb" LimbType="Standard" Offset="0x18138"/>
|
||||
<Limb Name="gNabooruRightHandLimb" LimbType="Standard" Offset="0x18144"/>
|
||||
<Limb Name="gNabooruHeadLimb" LimbType="Standard" Offset="0x18150"/>
|
||||
<Limb Name="gNabooruBlankLimb" LimbType="Standard" Offset="0x1815C"/>
|
||||
<Limb Name="gNabooruPonytailLimb" LimbType="Standard" Offset="0x18168"/>
|
||||
<Limb Name="gNabooruWaistLimb" LimbType="Standard" Offset="0x18174"/>
|
||||
<Limb Name="gNabooruRootLimb" LimbType="Standard" EnumName="NABOORU_LIMB_ROOT" Offset="0x180A8"/>
|
||||
<Limb Name="gNabooruLeftThighLimb" LimbType="Standard" EnumName="NABOORU_LIMB_L_THIGH" Offset="0x180B4"/>
|
||||
<Limb Name="gNabooruLeftShinLimb" LimbType="Standard" EnumName="NABOORU_LIMB_L_SHIN" Offset="0x180C0"/>
|
||||
<Limb Name="gNabooruLeftFootLimb" LimbType="Standard" EnumName="NABOORU_LIMB_L_FOOT" Offset="0x180CC"/>
|
||||
<Limb Name="gNabooruRightThighLimb" LimbType="Standard" EnumName="NABOORU_LIMB_R_THIGH" Offset="0x180D8"/>
|
||||
<Limb Name="gNabooruRightShinLimb" LimbType="Standard" EnumName="NABOORU_LIMB_R_SHIN" Offset="0x180E4"/>
|
||||
<Limb Name="gNabooruRightFootLimb" LimbType="Standard" EnumName="NABOORU_LIMB_R_FOOT" Offset="0x180F0"/>
|
||||
<Limb Name="gNabooruTorsoLimb" LimbType="Standard" EnumName="NABOORU_LIMB_TORSO" Offset="0x180FC"/>
|
||||
<Limb Name="gNabooruLeftUpperArmLimb" LimbType="Standard" EnumName="NABOORU_LIMB_L_UPPER_ARM" Offset="0x18108"/>
|
||||
<Limb Name="gNabooruLeftForearmLimb" LimbType="Standard" EnumName="NABOORU_LIMB_L_FOREARM" Offset="0x18114"/>
|
||||
<Limb Name="gNabooruLeftHandLimb" LimbType="Standard" EnumName="NABOORU_LIMB_L_HAND" Offset="0x18120"/>
|
||||
<Limb Name="gNabooruRightUpperArmLimb" LimbType="Standard" EnumName="NABOORU_LIMB_R_UPPER_ARM" Offset="0x1812C"/>
|
||||
<Limb Name="gNabooruRightForearmLimb" LimbType="Standard" EnumName="NABOORU_LIMB_R_FOREARM" Offset="0x18138"/>
|
||||
<Limb Name="gNabooruRightHandLimb" LimbType="Standard" EnumName="NABOORU_LIMB_R_HAND" Offset="0x18144"/>
|
||||
<Limb Name="gNabooruHeadLimb" LimbType="Standard" EnumName="NABOORU_LIMB_HEAD" Offset="0x18150"/>
|
||||
<Limb Name="gNabooruBlankLimb" LimbType="Standard" EnumName="NABOORU_LIMB_BLANK" Offset="0x1815C"/>
|
||||
<Limb Name="gNabooruPonytailLimb" LimbType="Standard" EnumName="NABOORU_LIMB_PONYTAIL" Offset="0x18168"/>
|
||||
<Limb Name="gNabooruWaistLimb" LimbType="Standard" EnumName="NABOORU_LIMB_WAIST" Offset="0x18174"/>
|
||||
|
||||
<!-- Nabooru Limb Vertices -->
|
||||
<Array Name="gNabooruHeadMouthClosedVtx" Count="297" Offset="0xDD68">
|
||||
|
|
|
@ -116,67 +116,67 @@
|
|||
<Texture Name="gStalfosTrousersTopTex" Format="rgba16" Width="8" Height="8" Offset="0x77E8"/>
|
||||
|
||||
<!-- Stalfos limbs and skeleton -->
|
||||
<Limb Name="gStalfosRootLimb" LimbType="Standard" Offset="0x7868"/>
|
||||
<Limb Name="gStalfosUpperBodyRootLimb" LimbType="Standard" Offset="0x7874"/>
|
||||
<Limb Name="gStalfosLowerCoreRootLimb" LimbType="Standard" Offset="0x7880"/>
|
||||
<Limb Name="gStalfosUpperCoreRootLimb" LimbType="Standard" Offset="0x788C"/>
|
||||
<Limb Name="gStalfosLowerNeckRootLimb" LimbType="Standard" Offset="0x7898"/>
|
||||
<Limb Name="gStalfosSkullRootLimb" LimbType="Standard" Offset="0x78A4"/>
|
||||
<Limb Name="gStalfosLimb7Limb" LimbType="Standard" Offset="0x78B0"/>
|
||||
<Limb Name="gStalfosLimb8Limb" LimbType="Standard" Offset="0x78BC"/>
|
||||
<Limb Name="gStalfosJawRootLimb" LimbType="Standard" Offset="0x78C8"/>
|
||||
<Limb Name="gStalfosJawLimb" LimbType="Standard" Offset="0x78D4"/>
|
||||
<Limb Name="gStalfosSkullLimb" LimbType="Standard" Offset="0x78E0"/>
|
||||
<Limb Name="gStalfosUpperNeckLimb" LimbType="Standard" Offset="0x78EC"/>
|
||||
<Limb Name="gStalfosLowerNeckLimb" LimbType="Standard" Offset="0x78F8"/>
|
||||
<Limb Name="gStalfosUpperCoreLimb" LimbType="Standard" Offset="0x7904"/>
|
||||
<Limb Name="gStalfosChestLimb" LimbType="Standard" Offset="0x7910"/>
|
||||
<Limb Name="gStalfosRightShoulderRootLimb" LimbType="Standard" Offset="0x791C"/>
|
||||
<Limb Name="gStalfosRightShoulderArmorRootLimb" LimbType="Standard" Offset="0x7928"/>
|
||||
<Limb Name="gStalfosRightShoulderArmorLimb" LimbType="Standard" Offset="0x7934"/>
|
||||
<Limb Name="gStalfosLeftShoulderRootLimb" LimbType="Standard" Offset="0x7940"/>
|
||||
<Limb Name="gStalfosLeftShoulderArmorRootLimb" LimbType="Standard" Offset="0x794C"/>
|
||||
<Limb Name="gStalfosLeftShoulderArmorLimb" LimbType="Standard" Offset="0x7958"/>
|
||||
<Limb Name="gStalfosLeftArmRootLimb" LimbType="Standard" Offset="0x7964"/>
|
||||
<Limb Name="gStalfosLeftUpperArmRootLimb" LimbType="Standard" Offset="0x7970"/>
|
||||
<Limb Name="gStalfosLeftForearmRootLimb" LimbType="Standard" Offset="0x797C"/>
|
||||
<Limb Name="gStalfosLeftHandRootLimb" LimbType="Standard" Offset="0x7988"/>
|
||||
<Limb Name="gStalfosLeftHandLimb" LimbType="Standard" Offset="0x7994"/>
|
||||
<Limb Name="gStalfosShieldLimb" LimbType="Standard" Offset="0x79A0"/>
|
||||
<Limb Name="gStalfosLeftForearmLimb" LimbType="Standard" Offset="0x79AC"/>
|
||||
<Limb Name="gStalfosLeftUpperArmLimb" LimbType="Standard" Offset="0x79B8"/>
|
||||
<Limb Name="gStalfosRightArmRootLimb" LimbType="Standard" Offset="0x79C4"/>
|
||||
<Limb Name="gStalfosRightUpperArmRootLimb" LimbType="Standard" Offset="0x79D0"/>
|
||||
<Limb Name="gStalfosRightForearmRootLimb" LimbType="Standard" Offset="0x79DC"/>
|
||||
<Limb Name="gStalfosRightHandRootLimb" LimbType="Standard" Offset="0x79E8"/>
|
||||
<Limb Name="gStalfosSwordLimb" LimbType="Standard" Offset="0x79F4"/>
|
||||
<Limb Name="gStalfosRightHandLimb" LimbType="Standard" Offset="0x7A00"/>
|
||||
<Limb Name="gStalfosRightForearmLimb" LimbType="Standard" Offset="0x7A0C"/>
|
||||
<Limb Name="gStalfosRightUpperArmLimb" LimbType="Standard" Offset="0x7A18"/>
|
||||
<Limb Name="gStalfosLowerCoreLimb" LimbType="Standard" Offset="0x7A24"/>
|
||||
<Limb Name="gStalfosLowerBodyRootLimb" LimbType="Standard" Offset="0x7A30"/>
|
||||
<Limb Name="gStalfosWaistRootLimb" LimbType="Standard" Offset="0x7A3C"/>
|
||||
<Limb Name="gStalfosLegsRootLimb" LimbType="Standard" Offset="0x7A48"/>
|
||||
<Limb Name="gStalfosLeftLegRootLimb" LimbType="Standard" Offset="0x7A54"/>
|
||||
<Limb Name="gStalfosLeftThighRootLimb" LimbType="Standard" Offset="0x7A60"/>
|
||||
<Limb Name="gStalfosLeftLowerLegRootLimb" LimbType="Standard" Offset="0x7A6C"/>
|
||||
<Limb Name="gStalfosLeftAnkleRootLimb" LimbType="Standard" Offset="0x7A78"/>
|
||||
<Limb Name="gStalfosLeftAnkleLimb" LimbType="Standard" Offset="0x7A84"/>
|
||||
<Limb Name="gStalfosLeftFootRootLimb" LimbType="Standard" Offset="0x7A90"/>
|
||||
<Limb Name="gStalfosLeftFootLimb" LimbType="Standard" Offset="0x7A9C"/>
|
||||
<Limb Name="gStalfosLeftLowerLegLimb" LimbType="Standard" Offset="0x7AA8"/>
|
||||
<Limb Name="gStalfosLeftThighLimb" LimbType="Standard" Offset="0x7AB4"/>
|
||||
<Limb Name="gStalfosRightLegRootLimb" LimbType="Standard" Offset="0x7AC0"/>
|
||||
<Limb Name="gStalfosRightThighRootLimb" LimbType="Standard" Offset="0x7ACC"/>
|
||||
<Limb Name="gStalfosRightLowerLegRootLimb" LimbType="Standard" Offset="0x7AD8"/>
|
||||
<Limb Name="gStalfosRightAnkleRootLimb" LimbType="Standard" Offset="0x7AE4"/>
|
||||
<Limb Name="gStalfosRightAnkleLimb" LimbType="Standard" Offset="0x7AF0"/>
|
||||
<Limb Name="gStalfosRightFootRootLimb" LimbType="Standard" Offset="0x7AFC"/>
|
||||
<Limb Name="gStalfosRightFootLimb" LimbType="Standard" Offset="0x7B08"/>
|
||||
<Limb Name="gStalfosRightLowerLegLimb" LimbType="Standard" Offset="0x7B14"/>
|
||||
<Limb Name="gStalfosRightThighLimb" LimbType="Standard" Offset="0x7B20"/>
|
||||
<Limb Name="gStalfosWaistLimb" LimbType="Standard" Offset="0x7B2C"/>
|
||||
<Skeleton Name="gStalfosSkel" Type="Normal" LimbType="Standard" Offset="0x7C28"/>
|
||||
<Limb Name="gStalfosRootLimb" LimbType="Standard" EnumName="STALFOS_LIMB_ROOT" Offset="0x7868"/>
|
||||
<Limb Name="gStalfosUpperBodyRootLimb" LimbType="Standard" EnumName="STALFOS_LIMB_UPPERBODY_ROOT" Offset="0x7874"/>
|
||||
<Limb Name="gStalfosLowerCoreRootLimb" LimbType="Standard" EnumName="STALFOS_LIMB_CORE_LOWER_ROOT" Offset="0x7880"/>
|
||||
<Limb Name="gStalfosUpperCoreRootLimb" LimbType="Standard" EnumName="STALFOS_LIMB_CORE_UPPER_ROOT" Offset="0x788C"/>
|
||||
<Limb Name="gStalfosLowerNeckRootLimb" LimbType="Standard" EnumName="STALFOS_LIMB_NECK_ROOT" Offset="0x7898"/>
|
||||
<Limb Name="gStalfosSkullRootLimb" LimbType="Standard" EnumName="STALFOS_LIMB_HEAD_ROOT" Offset="0x78A4"/>
|
||||
<Limb Name="gStalfosLimb7Limb" LimbType="Standard" EnumName="STALFOS_LIMB_7" Offset="0x78B0"/>
|
||||
<Limb Name="gStalfosLimb8Limb" LimbType="Standard" EnumName="STALFOS_LIMB_8" Offset="0x78BC"/>
|
||||
<Limb Name="gStalfosJawRootLimb" LimbType="Standard" EnumName="STALFOS_LIMB_JAW_ROOT" Offset="0x78C8"/>
|
||||
<Limb Name="gStalfosJawLimb" LimbType="Standard" EnumName="STALFOS_LIMB_JAW" Offset="0x78D4"/>
|
||||
<Limb Name="gStalfosSkullLimb" LimbType="Standard" EnumName="STALFOS_LIMB_HEAD" Offset="0x78E0"/>
|
||||
<Limb Name="gStalfosUpperNeckLimb" LimbType="Standard" EnumName="STALFOS_LIMB_NECK_UPPER" Offset="0x78EC"/>
|
||||
<Limb Name="gStalfosLowerNeckLimb" LimbType="Standard" EnumName="STALFOS_LIMB_NECK_LOWER" Offset="0x78F8"/>
|
||||
<Limb Name="gStalfosUpperCoreLimb" LimbType="Standard" EnumName="STALFOS_LIMB_CORE_UPPER" Offset="0x7904"/>
|
||||
<Limb Name="gStalfosChestLimb" LimbType="Standard" EnumName="STALFOS_LIMB_CHEST" Offset="0x7910"/>
|
||||
<Limb Name="gStalfosRightShoulderRootLimb" LimbType="Standard" EnumName="STALFOS_LIMB_SHOULDER_R_ROOT" Offset="0x791C"/>
|
||||
<Limb Name="gStalfosRightShoulderArmorRootLimb" LimbType="Standard" EnumName="STALFOS_LIMB_SHOULDER_ARMOR_R_ROOT" Offset="0x7928"/>
|
||||
<Limb Name="gStalfosRightShoulderArmorLimb" LimbType="Standard" EnumName="STALFOS_LIMB_SHOULDER_ARMOR_R" Offset="0x7934"/>
|
||||
<Limb Name="gStalfosLeftShoulderRootLimb" LimbType="Standard" EnumName="STALFOS_LIMB_SHOULDER_L_ROOT" Offset="0x7940"/>
|
||||
<Limb Name="gStalfosLeftShoulderArmorRootLimb" LimbType="Standard" EnumName="STALFOS_LIMB_SHOULDER_ARMOR_L_ROOT" Offset="0x794C"/>
|
||||
<Limb Name="gStalfosLeftShoulderArmorLimb" LimbType="Standard" EnumName="STALFOS_LIMB_SHOULDER_ARMOR_L" Offset="0x7958"/>
|
||||
<Limb Name="gStalfosLeftArmRootLimb" LimbType="Standard" EnumName="STALFOS_LIMB_ARM_L_ROOT" Offset="0x7964"/>
|
||||
<Limb Name="gStalfosLeftUpperArmRootLimb" LimbType="Standard" EnumName="STALFOS_LIMB_UPPERARM_L_ROOT" Offset="0x7970"/>
|
||||
<Limb Name="gStalfosLeftForearmRootLimb" LimbType="Standard" EnumName="STALFOS_LIMB_FOREARM_L_ROOT" Offset="0x797C"/>
|
||||
<Limb Name="gStalfosLeftHandRootLimb" LimbType="Standard" EnumName="STALFOS_LIMB_HAND_L_ROOT" Offset="0x7988"/>
|
||||
<Limb Name="gStalfosLeftHandLimb" LimbType="Standard" EnumName="STALFOS_LIMB_HAND_L" Offset="0x7994"/>
|
||||
<Limb Name="gStalfosShieldLimb" LimbType="Standard" EnumName="STALFOS_LIMB_SHIELD" Offset="0x79A0"/>
|
||||
<Limb Name="gStalfosLeftForearmLimb" LimbType="Standard" EnumName="STALFOS_LIMB_FOREARM_L" Offset="0x79AC"/>
|
||||
<Limb Name="gStalfosLeftUpperArmLimb" LimbType="Standard" EnumName="STALFOS_LIMB_UPPERARM_L" Offset="0x79B8"/>
|
||||
<Limb Name="gStalfosRightArmRootLimb" LimbType="Standard" EnumName="STALFOS_LIMB_ARM_R_ROOT" Offset="0x79C4"/>
|
||||
<Limb Name="gStalfosRightUpperArmRootLimb" LimbType="Standard" EnumName="STALFOS_LIMB_UPPERARM_R_ROOT" Offset="0x79D0"/>
|
||||
<Limb Name="gStalfosRightForearmRootLimb" LimbType="Standard" EnumName="STALFOS_LIMB_FOREARM_R_ROOT" Offset="0x79DC"/>
|
||||
<Limb Name="gStalfosRightHandRootLimb" LimbType="Standard" EnumName="STALFOS_LIMB_HAND_R_ROOT" Offset="0x79E8"/>
|
||||
<Limb Name="gStalfosSwordLimb" LimbType="Standard" EnumName="STALFOS_LIMB_SWORD" Offset="0x79F4"/>
|
||||
<Limb Name="gStalfosRightHandLimb" LimbType="Standard" EnumName="STALFOS_LIMB_HAND_R" Offset="0x7A00"/>
|
||||
<Limb Name="gStalfosRightForearmLimb" LimbType="Standard" EnumName="STALFOS_LIMB_FOREARM_R" Offset="0x7A0C"/>
|
||||
<Limb Name="gStalfosRightUpperArmLimb" LimbType="Standard" EnumName="STALFOS_LIMB_UPPERARM_R" Offset="0x7A18"/>
|
||||
<Limb Name="gStalfosLowerCoreLimb" LimbType="Standard" EnumName="STALFOS_LIMB_CORE_LOWER" Offset="0x7A24"/>
|
||||
<Limb Name="gStalfosLowerBodyRootLimb" LimbType="Standard" EnumName="STALFOS_LIMB_LOWERBODY_ROOT" Offset="0x7A30"/>
|
||||
<Limb Name="gStalfosWaistRootLimb" LimbType="Standard" EnumName="STALFOS_LIMB_WAIST_ROOT" Offset="0x7A3C"/>
|
||||
<Limb Name="gStalfosLegsRootLimb" LimbType="Standard" EnumName="STALFOS_LIMB_LEGS_ROOT" Offset="0x7A48"/>
|
||||
<Limb Name="gStalfosLeftLegRootLimb" LimbType="Standard" EnumName="STALFOS_LIMB_LEG_L_ROOT" Offset="0x7A54"/>
|
||||
<Limb Name="gStalfosLeftThighRootLimb" LimbType="Standard" EnumName="STALFOS_LIMB_THIGH_L_ROOT" Offset="0x7A60"/>
|
||||
<Limb Name="gStalfosLeftLowerLegRootLimb" LimbType="Standard" EnumName="STALFOS_LIMB_LOWERLEG_L_ROOT" Offset="0x7A6C"/>
|
||||
<Limb Name="gStalfosLeftAnkleRootLimb" LimbType="Standard" EnumName="STALFOS_LIMB_ANKLE_L_ROOT" Offset="0x7A78"/>
|
||||
<Limb Name="gStalfosLeftAnkleLimb" LimbType="Standard" EnumName="STALFOS_LIMB_ANKLE_L" Offset="0x7A84"/>
|
||||
<Limb Name="gStalfosLeftFootRootLimb" LimbType="Standard" EnumName="STALFOS_LIMB_FOOT_L_ROOT" Offset="0x7A90"/>
|
||||
<Limb Name="gStalfosLeftFootLimb" LimbType="Standard" EnumName="STALFOS_LIMB_FOOT_L" Offset="0x7A9C"/>
|
||||
<Limb Name="gStalfosLeftLowerLegLimb" LimbType="Standard" EnumName="STALFOS_LIMB_LOWERLEG_L" Offset="0x7AA8"/>
|
||||
<Limb Name="gStalfosLeftThighLimb" LimbType="Standard" EnumName="STALFOS_LIMB_THIGH_L" Offset="0x7AB4"/>
|
||||
<Limb Name="gStalfosRightLegRootLimb" LimbType="Standard" EnumName="STALFOS_LIMB_LEG_R_ROOT" Offset="0x7AC0"/>
|
||||
<Limb Name="gStalfosRightThighRootLimb" LimbType="Standard" EnumName="STALFOS_LIMB_THIGH_R_ROOT" Offset="0x7ACC"/>
|
||||
<Limb Name="gStalfosRightLowerLegRootLimb" LimbType="Standard" EnumName="STALFOS_LIMB_LOWERLEG_R_ROOT" Offset="0x7AD8"/>
|
||||
<Limb Name="gStalfosRightAnkleRootLimb" LimbType="Standard" EnumName="STALFOS_LIMB_ANKLE_R_ROOT" Offset="0x7AE4"/>
|
||||
<Limb Name="gStalfosRightAnkleLimb" LimbType="Standard" EnumName="STALFOS_LIMB_ANKLE_R" Offset="0x7AF0"/>
|
||||
<Limb Name="gStalfosRightFootRootLimb" LimbType="Standard" EnumName="STALFOS_LIMB_FOOT_R_ROOT" Offset="0x7AFC"/>
|
||||
<Limb Name="gStalfosRightFootLimb" LimbType="Standard" EnumName="STALFOS_LIMB_FOOT_R" Offset="0x7B08"/>
|
||||
<Limb Name="gStalfosRightLowerLegLimb" LimbType="Standard" EnumName="STALFOS_LIMB_LOWERLEG_R" Offset="0x7B14"/>
|
||||
<Limb Name="gStalfosRightThighLimb" LimbType="Standard" EnumName="STALFOS_LIMB_THIGH_R" Offset="0x7B20"/>
|
||||
<Limb Name="gStalfosWaistLimb" LimbType="Standard" EnumName="STALFOS_LIMB_WAIST" Offset="0x7B2C"/>
|
||||
<Skeleton Name="gStalfosSkel" Type="Normal" LimbType="Standard" LimbNone="STALFOS_LIMB_NONE" LimbMax="STALFOS_LIMB_MAX" EnumName="StalfosLimb" Offset="0x7C28"/>
|
||||
|
||||
<!-- Stalfos Animations -->
|
||||
<Animation Name="gStalfosFlinchFromHitBehindAnim" Offset="0x444"/>
|
||||
|
|
|
@ -1,22 +1,22 @@
|
|||
<Root>
|
||||
<File Name="object_ta" Segment="6">
|
||||
<Skeleton Name="gTalonSkel" Type="Flex" LimbType="Standard" Offset="0xB7B8"/>
|
||||
<Limb Name="gTalonRootLimb" LimbType="Standard" Offset="0xB6B8"/>
|
||||
<Limb Name="gTalonLeftThighLimb" LimbType="Standard" Offset="0xB6C4"/>
|
||||
<Limb Name="gTalonLeftLegLimb" LimbType="Standard" Offset="0xB6D0"/>
|
||||
<Limb Name="gTalonLeftFootLimb" LimbType="Standard" Offset="0xB6DC"/>
|
||||
<Limb Name="gTalonRightThighLimb" LimbType="Standard" Offset="0xB6E8"/>
|
||||
<Limb Name="gTalonRightLegLimb" LimbType="Standard" Offset="0xB6F4"/>
|
||||
<Limb Name="gTalonRightFootLimb" LimbType="Standard" Offset="0xB700"/>
|
||||
<Limb Name="gTalonChestLimb" LimbType="Standard" Offset="0xB70C"/>
|
||||
<Limb Name="gTalonLeftShoulderLimb" LimbType="Standard" Offset="0xB718"/>
|
||||
<Limb Name="gTalonLeftArmLimb" LimbType="Standard" Offset="0xB724"/>
|
||||
<Limb Name="gTalonLeftHandLimb" LimbType="Standard" Offset="0xB730"/>
|
||||
<Limb Name="gTalonRightShoulderLimb" LimbType="Standard" Offset="0xB73C"/>
|
||||
<Limb Name="gTalonRightArmLimb" LimbType="Standard" Offset="0xB748"/>
|
||||
<Limb Name="gTalonRightHandLimb" LimbType="Standard" Offset="0xB754"/>
|
||||
<Limb Name="gTalonHeadLimb" LimbType="Standard" Offset="0xB760"/>
|
||||
<Limb Name="gTalonTorsoLimb" LimbType="Standard" Offset="0xB76C"/>
|
||||
<Skeleton Name="gTalonSkel" Type="Flex" LimbType="Standard" LimbNone="TALON_LIMB_NONE" LimbMax="TALON_LIMB_MAX" EnumName="TalonLimb" Offset="0xB7B8"/>
|
||||
<Limb Name="gTalonRootLimb" LimbType="Standard" EnumName="TALON_LIMB_ROOT" Offset="0xB6B8"/>
|
||||
<Limb Name="gTalonLeftThighLimb" LimbType="Standard" EnumName="TALON_LIMB_LEFT_THIGH" Offset="0xB6C4"/>
|
||||
<Limb Name="gTalonLeftLegLimb" LimbType="Standard" EnumName="TALON_LIMB_LEFT_LEG" Offset="0xB6D0"/>
|
||||
<Limb Name="gTalonLeftFootLimb" LimbType="Standard" EnumName="TALON_LIMB_LEFT_FOOT" Offset="0xB6DC"/>
|
||||
<Limb Name="gTalonRightThighLimb" LimbType="Standard" EnumName="TALON_LIMB_RIGHT_THIGH" Offset="0xB6E8"/>
|
||||
<Limb Name="gTalonRightLegLimb" LimbType="Standard" EnumName="TALON_LIMB_RIGHT_LEG" Offset="0xB6F4"/>
|
||||
<Limb Name="gTalonRightFootLimb" LimbType="Standard" EnumName="TALON_LIMB_RIGHT_FOOT" Offset="0xB700"/>
|
||||
<Limb Name="gTalonChestLimb" LimbType="Standard" EnumName="TALON_LIMB_CHEST" Offset="0xB70C"/>
|
||||
<Limb Name="gTalonLeftShoulderLimb" LimbType="Standard" EnumName="TALON_LIMB_LEFT_SHOULDER" Offset="0xB718"/>
|
||||
<Limb Name="gTalonLeftArmLimb" LimbType="Standard" EnumName="TALON_LIMB_LEFT_ARM" Offset="0xB724"/>
|
||||
<Limb Name="gTalonLeftHandLimb" LimbType="Standard" EnumName="TALON_LIMB_LEFT_HAND" Offset="0xB730"/>
|
||||
<Limb Name="gTalonRightShoulderLimb" LimbType="Standard" EnumName="TALON_LIMB_RIGHT_SHOULDER" Offset="0xB73C"/>
|
||||
<Limb Name="gTalonRightArmLimb" LimbType="Standard" EnumName="TALON_LIMB_RIGHT_ARM" Offset="0xB748"/>
|
||||
<Limb Name="gTalonRightHandLimb" LimbType="Standard" EnumName="TALON_LIMB_RIGHT_HAND" Offset="0xB754"/>
|
||||
<Limb Name="gTalonHeadLimb" LimbType="Standard" EnumName="TALON_LIMB_HEAD" Offset="0xB760"/>
|
||||
<Limb Name="gTalonTorsoLimb" LimbType="Standard" EnumName="TALON_LIMB_TORSO" Offset="0xB76C"/>
|
||||
<Animation Name="gTalonSitSleepingAnim" Offset="0x17E8"/>
|
||||
<Animation Name="gTalonStandAnim" Offset="0x1C94"/>
|
||||
<Animation Name="gTalonSitHandsUpAnim" Offset="0xBF38"/>
|
||||
|
|
|
@ -71,34 +71,34 @@
|
|||
<Texture Name="gBariInnerHoodTex" Format="ia16" Width="32" Height="32" Offset="0x3E88"/>
|
||||
|
||||
<!-- Bari Limbs and Skeleton -->
|
||||
<Limb Name="gBariNucleusBaseLimb" LimbType="Standard" Offset="0x4688"/>
|
||||
<Limb Name="gBariNucleusLimb" LimbType="Standard" Offset="0x4694"/>
|
||||
<Limb Name="gBariRightMandibleBaseBaseLimb" LimbType="Standard" Offset="0x46A0"/>
|
||||
<Limb Name="gBariRightMandibleBaseLimb" LimbType="Standard" Offset="0x46AC"/>
|
||||
<Limb Name="gBariRightMandibleLimb" LimbType="Standard" Offset="0x46B8"/>
|
||||
<Limb Name="gBariLeftMandibleBaseBaseLimb" LimbType="Standard" Offset="0x46C4"/>
|
||||
<Limb Name="gBariLeftMandibleBaseLimb" LimbType="Standard" Offset="0x46D0"/>
|
||||
<Limb Name="gBariLeftMandibleLimb" LimbType="Standard" Offset="0x46DC"/>
|
||||
<Limb Name="gBariLeftArmBaseLimb" LimbType="Standard" Offset="0x46E8"/>
|
||||
<Limb Name="gBariLeftUpperArmBaseLimb" LimbType="Standard" Offset="0x46F4"/>
|
||||
<Limb Name="gBariLeftForearmBaseLimb" LimbType="Standard" Offset="0x4700"/>
|
||||
<Limb Name="gBariLeftClawBodyBaseLimb" LimbType="Standard" Offset="0x470C"/>
|
||||
<Limb Name="gBariLeftClawTipBaseLimb" LimbType="Standard" Offset="0x4718"/>
|
||||
<Limb Name="gBariLeftClawTipLimb" LimbType="Standard" Offset="0x4724"/>
|
||||
<Limb Name="gBariLeftClawBodyLimb" LimbType="Standard" Offset="0x4730"/>
|
||||
<Limb Name="gBariLeftForearmLimb" LimbType="Standard" Offset="0x473C"/>
|
||||
<Limb Name="gBariLeftUpperArmLimb" LimbType="Standard" Offset="0x4748"/>
|
||||
<Limb Name="gBariRightArmBaseLimb" LimbType="Standard" Offset="0x4754"/>
|
||||
<Limb Name="gBariRightUpperArmBaseLimb" LimbType="Standard" Offset="0x4760"/>
|
||||
<Limb Name="gBariRightForearmBaseLimb" LimbType="Standard" Offset="0x476C"/>
|
||||
<Limb Name="gBariRightClawBodyBaseLimb" LimbType="Standard" Offset="0x4778"/>
|
||||
<Limb Name="gBariRightClawTipBaseLimb" LimbType="Standard" Offset="0x4784"/>
|
||||
<Limb Name="gBariRightClawTipLimb" LimbType="Standard" Offset="0x4790"/>
|
||||
<Limb Name="gBariRightClawBodyLimb" LimbType="Standard" Offset="0x479C"/>
|
||||
<Limb Name="gBariRightForearmLimb" LimbType="Standard" Offset="0x47A8"/>
|
||||
<Limb Name="gBariRightUpperArmLimb" LimbType="Standard" Offset="0x47B4"/>
|
||||
<Limb Name="gBariInnerHoodLimb" LimbType="Standard" Offset="0x47C0"/>
|
||||
<Limb Name="gBariOuterHoodLimb" LimbType="Standard" Offset="0x47CC"/>
|
||||
<Skeleton Name="gBariSkel" Type="Normal" LimbType="Standard" Offset="0x4848"/>
|
||||
<Limb Name="gBariNucleusBaseLimb" LimbType="Standard" EnumName="VALI_LIMB_NUCLEUS_BASE" Offset="0x4688"/>
|
||||
<Limb Name="gBariNucleusLimb" LimbType="Standard" EnumName="VALI_LIMB_NUCLEUS" Offset="0x4694"/>
|
||||
<Limb Name="gBariRightMandibleBaseBaseLimb" LimbType="Standard" EnumName="VALI_LIMB_RIGHT_MANDIBLE_BASE_BASE" Offset="0x46A0"/>
|
||||
<Limb Name="gBariRightMandibleBaseLimb" LimbType="Standard" EnumName="VALI_LIMB_RIGHT_MANDIBLE_BASE" Offset="0x46AC"/>
|
||||
<Limb Name="gBariRightMandibleLimb" LimbType="Standard" EnumName="VALI_LIMB_RIGHT_MANDIBLE" Offset="0x46B8"/>
|
||||
<Limb Name="gBariLeftMandibleBaseBaseLimb" LimbType="Standard" EnumName="VALI_LIMB_LEFT_MANDIBLE_BASE_BASE" Offset="0x46C4"/>
|
||||
<Limb Name="gBariLeftMandibleBaseLimb" LimbType="Standard" EnumName="VALI_LIMB_LEFT_MANDIBLE_BASE" Offset="0x46D0"/>
|
||||
<Limb Name="gBariLeftMandibleLimb" LimbType="Standard" EnumName="VALI_LIMB_LEFT_MANDIBLE" Offset="0x46DC"/>
|
||||
<Limb Name="gBariLeftArmBaseLimb" LimbType="Standard" EnumName="VALI_LIMB_LEFT_ARM_BASE" Offset="0x46E8"/>
|
||||
<Limb Name="gBariLeftUpperArmBaseLimb" LimbType="Standard" EnumName="VALI_LIMB_LEFT_UPPER_ARM_BASE" Offset="0x46F4"/>
|
||||
<Limb Name="gBariLeftForearmBaseLimb" LimbType="Standard" EnumName="VALI_LIMB_LEFT_FOREARM_BASE" Offset="0x4700"/>
|
||||
<Limb Name="gBariLeftClawBodyBaseLimb" LimbType="Standard" EnumName="VALI_LIMB_LEFT_CLAW_BODY_BASE" Offset="0x470C"/>
|
||||
<Limb Name="gBariLeftClawTipBaseLimb" LimbType="Standard" EnumName="VALI_LIMB_LEFT_CLAW_TIP_BASE" Offset="0x4718"/>
|
||||
<Limb Name="gBariLeftClawTipLimb" LimbType="Standard" EnumName="VALI_LIMB_LEFT_CLAW_TIP" Offset="0x4724"/>
|
||||
<Limb Name="gBariLeftClawBodyLimb" LimbType="Standard" EnumName="VALI_LIMB_LEFT_CLAW_BODY" Offset="0x4730"/>
|
||||
<Limb Name="gBariLeftForearmLimb" LimbType="Standard" EnumName="VALI_LIMB_LEFT_FOREARM" Offset="0x473C"/>
|
||||
<Limb Name="gBariLeftUpperArmLimb" LimbType="Standard" EnumName="VALI_LIMB_LEFT_UPPER_ARM" Offset="0x4748"/>
|
||||
<Limb Name="gBariRightArmBaseLimb" LimbType="Standard" EnumName="VALI_LIMB_RIGHT_ARM_BASE" Offset="0x4754"/>
|
||||
<Limb Name="gBariRightUpperArmBaseLimb" LimbType="Standard" EnumName="VALI_LIMB_RIGHT_UPPER_ARM_BASE" Offset="0x4760"/>
|
||||
<Limb Name="gBariRightForearmBaseLimb" LimbType="Standard" EnumName="VALI_LIMB_RIGHT_FOREARM_BASE" Offset="0x476C"/>
|
||||
<Limb Name="gBariRightClawBodyBaseLimb" LimbType="Standard" EnumName="VALI_LIMB_RIGHT_CLAW_BODY_BASE" Offset="0x4778"/>
|
||||
<Limb Name="gBariRightClawTipBaseLimb" LimbType="Standard" EnumName="VALI_LIMB_RIGHT_CLAW_TIP_BASE" Offset="0x4784"/>
|
||||
<Limb Name="gBariRightClawTipLimb" LimbType="Standard" EnumName="VALI_LIMB_RIGHT_CLAW_TIP" Offset="0x4790"/>
|
||||
<Limb Name="gBariRightClawBodyLimb" LimbType="Standard" EnumName="VALI_LIMB_RIGHT_CLAW_BODY" Offset="0x479C"/>
|
||||
<Limb Name="gBariRightForearmLimb" LimbType="Standard" EnumName="VALI_LIMB_RIGHT_FOREARM" Offset="0x47A8"/>
|
||||
<Limb Name="gBariRightUpperArmLimb" LimbType="Standard" EnumName="VALI_LIMB_RIGHT_UPPER_ARM" Offset="0x47B4"/>
|
||||
<Limb Name="gBariInnerHoodLimb" LimbType="Standard" EnumName="VALI_LIMB_INNER_HOOD" Offset="0x47C0"/>
|
||||
<Limb Name="gBariOuterHoodLimb" LimbType="Standard" EnumName="VALI_LIMB_OUTER_HOOD" Offset="0x47CC"/>
|
||||
<Skeleton Name="gBariSkel" Type="Normal" LimbType="Standard" LimbNone="VALI_LIMB_NONE" LimbMax="VALI_LIMB_MAX" EnumName="ValiLimb" Offset="0x4848"/>
|
||||
</File>
|
||||
</Root>
|
||||
|
|
|
@ -80,22 +80,35 @@ typedef struct ColliderInitToActor {
|
|||
/* 0x07 */ u8 shape;
|
||||
} ColliderInitToActor; // size = 0x08
|
||||
|
||||
typedef enum HitSpecialEffect {
|
||||
HIT_SPECIAL_EFFECT_0, // None
|
||||
HIT_SPECIAL_EFFECT_1, // Fire
|
||||
HIT_SPECIAL_EFFECT_2, // Ice
|
||||
HIT_SPECIAL_EFFECT_3,
|
||||
HIT_SPECIAL_EFFECT_4
|
||||
} HitSpecialEffect;
|
||||
|
||||
typedef struct ColliderElementDamageInfoAT {
|
||||
/* 0x00 */ u32 dmgFlags; // Damage types dealt by this collider element as AT.
|
||||
/* 0x04 */ u8 effect; // Damage Effect (Knockback, Fire, etc.)
|
||||
/* 0x04 */ u8 hitSpecialEffect; // The hit special effect applied to any actor attacked by this AT collider.
|
||||
/* 0x05 */ u8 damage; // Damage
|
||||
} ColliderElementDamageInfoAT; // size = 0x08
|
||||
|
||||
typedef enum HitBacklash {
|
||||
HIT_BACKLASH_0,
|
||||
HIT_BACKLASH_1 // Shock?
|
||||
} HitBacklash;
|
||||
|
||||
typedef struct ColliderElementDamageInfoAC {
|
||||
/* 0x00 */ u32 dmgFlags; // Damage types that may affect this collider element as AC.
|
||||
/* 0x04 */ u8 effect; // Damage Effect (Knockback, Fire, etc.)
|
||||
/* 0x04 */ u8 hitBacklash; // The hit backlash type applied to any attacker hurting this AC collider.
|
||||
/* 0x05 */ u8 defense; // Damage Resistance
|
||||
/* 0x06 */ Vec3s hitPos; // Point of contact
|
||||
} ColliderElementDamageInfoAC; // size = 0x0C
|
||||
|
||||
typedef struct ColliderElementDamageInfoACInit {
|
||||
/* 0x00 */ u32 dmgFlags; // Damage types that may affect this collider element as AC.
|
||||
/* 0x04 */ u8 effect; // Damage Effect (Knockback, Fire, etc.)
|
||||
/* 0x04 */ u8 hitBacklash; // The hit backlash type applied to any attacker hurting this AC collider.
|
||||
/* 0x05 */ u8 defense; // Damage Resistance
|
||||
} ColliderElementDamageInfoACInit; // size = 0x08
|
||||
|
||||
|
@ -465,8 +478,8 @@ typedef struct CollisionCheckInfo {
|
|||
/* 0x17 */ u8 health; // Note: some actors may use their own health variable instead of this one
|
||||
/* 0x18 */ u8 damage; // Amount to decrement health by
|
||||
/* 0x19 */ u8 damageReaction; // Stores what reaction should occur after being hit
|
||||
/* 0x1A */ u8 atHitEffect; // Stores what effect should occur when AT connects with an AC
|
||||
/* 0x1B */ u8 acHitEffect; // Stores what effect should occur when AC is touched by an AT
|
||||
/* 0x1A */ u8 atHitBacklash; // Stores the hit backlash type received from attacking an AC collider
|
||||
/* 0x1B */ u8 acHitSpecialEffect; // Stores the hit special effect received from being attacked by an AT collider
|
||||
} CollisionCheckInfo; // size = 0x1C
|
||||
|
||||
DamageTable* DamageTable_Get(s32 index);
|
||||
|
|
|
@ -353,7 +353,6 @@ typedef union CsCmdCam {
|
|||
s32 _words[2];
|
||||
} CsCmdCam; // size = 0x8
|
||||
|
||||
|
||||
typedef union CsCmdMisc {
|
||||
struct {
|
||||
/* 0x00 */ u16 type;
|
||||
|
|
|
@ -401,6 +401,7 @@ typedef enum SceneLayer {
|
|||
} SceneLayer;
|
||||
|
||||
#define IS_CUTSCENE_LAYER (gSaveContext.sceneLayer >= SCENE_LAYER_CUTSCENE_FIRST)
|
||||
#define GET_CUTSCENE_LAYER(index) (SCENE_LAYER_CUTSCENE_FIRST + (index & 0xF))
|
||||
|
||||
typedef enum LinkAge {
|
||||
/* 0 */ LINK_AGE_ADULT,
|
||||
|
@ -408,6 +409,53 @@ typedef enum LinkAge {
|
|||
} LinkAge;
|
||||
|
||||
|
||||
// Usage in Map Select suggests that `gSaveContext.save.cutsceneIndex` was,
|
||||
// at one point in development, a variable related to the time.
|
||||
// This is further supported by debug strings showing that its original name was "day_time".
|
||||
// These macros exist for the rare cases in the codebase where `cutsceneIndex` is treated as a time value.
|
||||
// In practice, both values do not lead to a cutscene being played.
|
||||
// See `CS_INDEX_NONE` below for the more common usage of value 0x0000.
|
||||
#define CS_INDEX_NIGHT 0x0000
|
||||
#define CS_INDEX_DAY 0x8000
|
||||
|
||||
// Indicates that no scripted cutscene is playing (or should be played).
|
||||
// While this value overlaps with `CS_INDEX_NIGHT` defined above, it is not related to the time.
|
||||
// This is the more common interpretation of this value, as much of the codebase uses 0x0000 to mean "no cutscene"
|
||||
// except for Map Select.
|
||||
#define CS_INDEX_NONE 0x0000
|
||||
|
||||
// Values 0xFFF0-0xFFFF indicate that a cutscene script should be played.
|
||||
// If the value of `nextCutsceneIndex` is 0xFFF0-0xFFFF on scene load,
|
||||
// `Play_Init` will copy the value to `gSaveContext.cutsceneIndex`, load a
|
||||
// corresponding scene layer and start the scripted cutscene in the scene layer
|
||||
// (except for the value 0xFFFD, which is special-cased to do nothing in `Play_Init`).
|
||||
// It loads layer 4 for 0xFFF0, layer 5 for 0xFFF1, and so on.
|
||||
//
|
||||
// 0xFFFD is used by the cutscene system to indicate a scripted cutscene has been triggered.
|
||||
// This is why `Play_Init` ignores that value, so that if the cutscene is interrupted
|
||||
// by a new play state load (e.g. if the player falls out of bounds), it does not then
|
||||
// try to wrongly load a cutscene layer.
|
||||
#define CS_INDEX_0 0xFFF0
|
||||
#define CS_INDEX_1 0xFFF1
|
||||
#define CS_INDEX_2 0xFFF2
|
||||
#define CS_INDEX_3 0xFFF3
|
||||
#define CS_INDEX_4 0xFFF4
|
||||
#define CS_INDEX_5 0xFFF5
|
||||
#define CS_INDEX_6 0xFFF6
|
||||
#define CS_INDEX_7 0xFFF7
|
||||
#define CS_INDEX_8 0xFFF8
|
||||
#define CS_INDEX_9 0xFFF9
|
||||
#define CS_INDEX_A 0xFFFA
|
||||
#define CS_INDEX_B 0xFFFB
|
||||
#define CS_INDEX_C 0xFFFC
|
||||
#define CS_INDEX_D 0xFFFD // does not load a cutscene scene layer (see above)
|
||||
#define CS_INDEX_E 0xFFFE
|
||||
#define CS_INDEX_F 0xFFFF
|
||||
|
||||
// Sentinel value for `nextCutsceneIndex` to indicate that no cutscene should be played next.
|
||||
#define NEXT_CS_INDEX_NONE 0xFFEF
|
||||
|
||||
|
||||
#define LINK_IS_ADULT (gSaveContext.save.linkAge == LINK_AGE_ADULT)
|
||||
#define LINK_IS_CHILD (gSaveContext.save.linkAge == LINK_AGE_CHILD)
|
||||
|
||||
|
|
|
@ -157,6 +157,14 @@ typedef struct SfxParams {
|
|||
#define SFX_DIST_SCALING 10.0f
|
||||
#endif
|
||||
|
||||
#define SFX_PLAY_CENTERED(sfxId) \
|
||||
Audio_PlaySfxGeneral(sfxId, &gSfxDefaultPos, 4, &gSfxDefaultFreqAndVolScale, &gSfxDefaultFreqAndVolScale, \
|
||||
&gSfxDefaultReverb);
|
||||
|
||||
#define SFX_PLAY_AT_POS(projectedPos, sfxId) \
|
||||
Audio_PlaySfxGeneral(sfxId, projectedPos, 4, &gSfxDefaultFreqAndVolScale, &gSfxDefaultFreqAndVolScale, \
|
||||
&gSfxDefaultReverb);
|
||||
|
||||
void Audio_SetSfxBanksMute(u16 muteMask);
|
||||
void Audio_QueueSeqCmdMute(u8 channelIndex);
|
||||
void Audio_ClearBGMMute(u8 channelIndex);
|
||||
|
|
|
@ -842,9 +842,7 @@ void AudioDebug_ProcessInput_SndCont(void) {
|
|||
break;
|
||||
case 2:
|
||||
case 3:
|
||||
Audio_PlaySfxGeneral(((sAudioSndContWork[2] << 12) & 0xFFFF) + sAudioSndContWork[3] + SFX_FLAG,
|
||||
&gSfxDefaultPos, 4, &gSfxDefaultFreqAndVolScale, &gSfxDefaultFreqAndVolScale,
|
||||
&gSfxDefaultReverb);
|
||||
SFX_PLAY_CENTERED(((sAudioSndContWork[2] << 12) & 0xFFFF) + sAudioSndContWork[3] + SFX_FLAG);
|
||||
break;
|
||||
case 4:
|
||||
Audio_SetSoundOutputMode(sAudioSndContWork[sAudioSndContSel]);
|
||||
|
@ -1245,8 +1243,7 @@ void AudioDebug_ProcessInput_SfxParamChg(void) {
|
|||
|
||||
if (CHECK_BTN_ANY(sDebugPadPress, BTN_A)) {
|
||||
sfx = (u16)(sAudioSfxParamChgWork[0] << 12) + sAudioSfxParamChgWork[1] + SFX_FLAG;
|
||||
Audio_PlaySfxGeneral(sfx, &gSfxDefaultPos, 4, &gSfxDefaultFreqAndVolScale, &gSfxDefaultFreqAndVolScale,
|
||||
&gSfxDefaultReverb);
|
||||
SFX_PLAY_CENTERED(sfx);
|
||||
}
|
||||
|
||||
if (CHECK_BTN_ANY(sDebugPadPress, BTN_B)) {
|
||||
|
|
|
@ -2816,8 +2816,7 @@ void func_800F4190(Vec3f* pos, u16 sfxId) {
|
|||
void Audio_PlaySfxRandom(Vec3f* pos, u16 baseSfxId, u8 randLim) {
|
||||
u8 offset = AudioThread_NextRandom() % randLim;
|
||||
|
||||
Audio_PlaySfxGeneral(baseSfxId + offset, pos, 4, &gSfxDefaultFreqAndVolScale, &gSfxDefaultFreqAndVolScale,
|
||||
&gSfxDefaultReverb);
|
||||
SFX_PLAY_AT_POS(pos, baseSfxId + offset);
|
||||
}
|
||||
|
||||
void func_800F4254(Vec3f* pos, u8 level) {
|
||||
|
@ -3081,7 +3080,7 @@ void func_800F4C58(Vec3f* pos, u16 sfxId, u8 ioData) {
|
|||
}
|
||||
channelIndex++;
|
||||
}
|
||||
Audio_PlaySfxGeneral(sfxId, pos, 4, &gSfxDefaultFreqAndVolScale, &gSfxDefaultFreqAndVolScale, &gSfxDefaultReverb);
|
||||
SFX_PLAY_AT_POS(pos, sfxId);
|
||||
}
|
||||
|
||||
void func_800F4E30(Vec3f* pos, f32 arg1) {
|
||||
|
@ -3704,12 +3703,10 @@ void Audio_UpdateMalonSinging(f32 dist, u16 seqId) {
|
|||
void func_800F64E0(u8 arg0) {
|
||||
D_80130608 = arg0;
|
||||
if (arg0 != 0) {
|
||||
Audio_PlaySfxGeneral(NA_SE_SY_WIN_OPEN, &gSfxDefaultPos, 4, &gSfxDefaultFreqAndVolScale,
|
||||
&gSfxDefaultFreqAndVolScale, &gSfxDefaultReverb);
|
||||
SFX_PLAY_CENTERED(NA_SE_SY_WIN_OPEN);
|
||||
AUDIOCMD_GLOBAL_MUTE();
|
||||
} else {
|
||||
Audio_PlaySfxGeneral(NA_SE_SY_WIN_CLOSE, &gSfxDefaultPos, 4, &gSfxDefaultFreqAndVolScale,
|
||||
&gSfxDefaultFreqAndVolScale, &gSfxDefaultReverb);
|
||||
SFX_PLAY_CENTERED(NA_SE_SY_WIN_CLOSE);
|
||||
AUDIOCMD_GLOBAL_UNMUTE(0);
|
||||
}
|
||||
}
|
||||
|
@ -3818,8 +3815,7 @@ void Audio_SetBaseFilter(u8 filter) {
|
|||
if (filter == 0) {
|
||||
Audio_StopSfxById(NA_SE_PL_IN_BUBBLE);
|
||||
} else if (sAudioBaseFilter == 0) {
|
||||
Audio_PlaySfxGeneral(NA_SE_PL_IN_BUBBLE, &gSfxDefaultPos, 4, &gSfxDefaultFreqAndVolScale,
|
||||
&gSfxDefaultFreqAndVolScale, &gSfxDefaultReverb);
|
||||
SFX_PLAY_CENTERED(NA_SE_PL_IN_BUBBLE);
|
||||
}
|
||||
}
|
||||
sAudioBaseFilter = filter;
|
||||
|
|
|
@ -373,8 +373,7 @@ void func_800B44E0(DebugCam* debugCam, Camera* cam) {
|
|||
|
||||
if (debugCam->sub.nPoints < 6) {
|
||||
if (sDebugCamAnim.unk_0A != 0) {
|
||||
Audio_PlaySfxGeneral(NA_SE_SY_ERROR, &gSfxDefaultPos, 4, &gSfxDefaultFreqAndVolScale,
|
||||
&gSfxDefaultFreqAndVolScale, &gSfxDefaultReverb);
|
||||
SFX_PLAY_CENTERED(NA_SE_SY_ERROR);
|
||||
sDebugCamAnim.unk_0A = 0;
|
||||
}
|
||||
DebugCamera_ScreenTextColored(17, 23, DEBUG_CAM_TEXT_ORANGE, D_8012CEE0[0]);
|
||||
|
@ -388,8 +387,7 @@ void func_800B44E0(DebugCam* debugCam, Camera* cam) {
|
|||
!func_800BB2B4(&sDebugCamAnim.lookAtPos, &sDebugCamAnim.roll, &sDebugCamAnim.fov, debugCam->sub.lookAt,
|
||||
&sDebugCamAnim.keyframe, &sDebugCamAnim.curFrame) &&
|
||||
sDebugCamAnim.unk_0A == 1) {
|
||||
Audio_PlaySfxGeneral(NA_SE_SY_HP_RECOVER, &gSfxDefaultPos, 4, &gSfxDefaultFreqAndVolScale,
|
||||
&gSfxDefaultFreqAndVolScale, &gSfxDefaultReverb);
|
||||
SFX_PLAY_CENTERED(NA_SE_SY_HP_RECOVER);
|
||||
sDebugCamAnim.unk_04++;
|
||||
|
||||
if (debugCam->sub.nFrames > 0 && debugCam->sub.nFrames < sDebugCamAnim.unk_04) {
|
||||
|
@ -617,8 +615,7 @@ void DebugCamera_Update(DebugCam* debugCam, Camera* cam) {
|
|||
debugCam->unk_40 = -1;
|
||||
debugCam->sub.demoCtrlActionIdx = 0;
|
||||
sDebugCamAnim.unk_0A = 0;
|
||||
Audio_PlaySfxGeneral(NA_SE_SY_LOCK_ON, &gSfxDefaultPos, 4, &gSfxDefaultFreqAndVolScale,
|
||||
&gSfxDefaultFreqAndVolScale, &gSfxDefaultReverb);
|
||||
SFX_PLAY_CENTERED(NA_SE_SY_LOCK_ON);
|
||||
} else if (debugCam->unk_38 == -1) {
|
||||
debugCam->unk_38 = 1;
|
||||
} else {
|
||||
|
@ -938,25 +935,21 @@ void DebugCamera_Update(DebugCam* debugCam, Camera* cam) {
|
|||
debugCam->unk_1C.z = 0.0f;
|
||||
debugCam->unk_1C.y = 1.0f;
|
||||
} else if (debugCam->sub.unk_08 == 2) {
|
||||
Audio_PlaySfxGeneral(NA_SE_SY_CURSOR, &gSfxDefaultPos, 4, &gSfxDefaultFreqAndVolScale,
|
||||
&gSfxDefaultFreqAndVolScale, &gSfxDefaultReverb);
|
||||
SFX_PLAY_CENTERED(NA_SE_SY_CURSOR);
|
||||
debugCam->sub.unk_08 = 0;
|
||||
func_800B41DC(debugCam, debugCam->sub.unkIdx, cam);
|
||||
} else {
|
||||
|
||||
if (CHECK_BTN_ALL(sPlay->state.input[DEBUG_CAM_CONTROLLER_PORT].press.button, BTN_R) &&
|
||||
CHECK_BTN_ALL(sPlay->state.input[DEBUG_CAM_CONTROLLER_PORT].cur.button, BTN_L)) {
|
||||
Audio_PlaySfxGeneral(NA_SE_SY_CANCEL, &gSfxDefaultPos, 4, &gSfxDefaultFreqAndVolScale,
|
||||
&gSfxDefaultFreqAndVolScale, &gSfxDefaultReverb);
|
||||
SFX_PLAY_CENTERED(NA_SE_SY_CANCEL);
|
||||
debugCam->sub.nPoints = debugCam->sub.unkIdx + 1;
|
||||
func_800B4088(debugCam, cam);
|
||||
} else if (CHECK_BTN_ALL(sPlay->state.input[DEBUG_CAM_CONTROLLER_PORT].press.button, BTN_R)) {
|
||||
if (debugCam->sub.unkIdx == 0x80) {
|
||||
Audio_PlaySfxGeneral(NA_SE_SY_ERROR, &gSfxDefaultPos, 4, &gSfxDefaultFreqAndVolScale,
|
||||
&gSfxDefaultFreqAndVolScale, &gSfxDefaultReverb);
|
||||
SFX_PLAY_CENTERED(NA_SE_SY_ERROR);
|
||||
} else {
|
||||
Audio_PlaySfxGeneral(NA_SE_IT_SWORD_PUTAWAY, &gSfxDefaultPos, 4, &gSfxDefaultFreqAndVolScale,
|
||||
&gSfxDefaultFreqAndVolScale, &gSfxDefaultReverb);
|
||||
SFX_PLAY_CENTERED(NA_SE_IT_SWORD_PUTAWAY);
|
||||
func_800B42C0(debugCam, cam);
|
||||
if (debugCam->sub.unkIdx == (debugCam->sub.nPoints - 1)) {
|
||||
debugCam->sub.unkIdx++;
|
||||
|
@ -1009,8 +1002,7 @@ void DebugCamera_Update(DebugCam* debugCam, Camera* cam) {
|
|||
} else {
|
||||
if (CHECK_BTN_ALL(sPlay->state.input[DEBUG_CAM_CONTROLLER_PORT].press.button, BTN_CRIGHT) &&
|
||||
CHECK_BTN_ALL(sPlay->state.input[DEBUG_CAM_CONTROLLER_PORT].cur.button, BTN_L)) {
|
||||
Audio_PlaySfxGeneral(NA_SE_SY_GET_RUPY, &gSfxDefaultPos, 4, &gSfxDefaultFreqAndVolScale,
|
||||
&gSfxDefaultFreqAndVolScale, &gSfxDefaultReverb);
|
||||
SFX_PLAY_CENTERED(NA_SE_SY_GET_RUPY);
|
||||
PRINTF("@@@\n@@@\n@@@/* *** spline point data ** start here *** */\n@@@\n");
|
||||
DebugCamera_PrintPoints("Lookat", debugCam->sub.nPoints, debugCam->sub.lookAt);
|
||||
DebugCamera_PrintPoints("Position", debugCam->sub.nPoints, debugCam->sub.position);
|
||||
|
@ -1019,15 +1011,13 @@ void DebugCamera_Update(DebugCam* debugCam, Camera* cam) {
|
|||
PRINTF("@@@static short Mode = %d;\n@@@\n", debugCam->sub.mode);
|
||||
PRINTF("@@@\n@@@\n@@@/* *** spline point data ** finish! *** */\n@@@\n");
|
||||
} else if (CHECK_BTN_ALL(sPlay->state.input[DEBUG_CAM_CONTROLLER_PORT].press.button, BTN_CLEFT)) {
|
||||
Audio_PlaySfxGeneral(NA_SE_SY_CURSOR, &gSfxDefaultPos, 4, &gSfxDefaultFreqAndVolScale,
|
||||
&gSfxDefaultFreqAndVolScale, &gSfxDefaultReverb);
|
||||
SFX_PLAY_CENTERED(NA_SE_SY_CURSOR);
|
||||
debugCam->sub.unk_08 = (debugCam->sub.unk_08 + 1) % 3;
|
||||
}
|
||||
|
||||
if (CHECK_BTN_ALL(sPlay->state.input[DEBUG_CAM_CONTROLLER_PORT].press.button, BTN_CUP) &&
|
||||
CHECK_BTN_ALL(sPlay->state.input[DEBUG_CAM_CONTROLLER_PORT].cur.button, BTN_L)) {
|
||||
Audio_PlaySfxGeneral(NA_SE_IT_SWORD_IMPACT, &gSfxDefaultPos, 4, &gSfxDefaultFreqAndVolScale,
|
||||
&gSfxDefaultFreqAndVolScale, &gSfxDefaultReverb);
|
||||
SFX_PLAY_CENTERED(NA_SE_IT_SWORD_IMPACT);
|
||||
if (debugCam->sub.unkIdx > 0) {
|
||||
debugCam->sub.unkIdx--;
|
||||
} else {
|
||||
|
@ -1035,8 +1025,7 @@ void DebugCamera_Update(DebugCam* debugCam, Camera* cam) {
|
|||
}
|
||||
} else {
|
||||
if (CHECK_BTN_ALL(sPlay->state.input[DEBUG_CAM_CONTROLLER_PORT].press.button, BTN_CUP)) {
|
||||
Audio_PlaySfxGeneral(NA_SE_IT_SWORD_IMPACT, &gSfxDefaultPos, 4, &gSfxDefaultFreqAndVolScale,
|
||||
&gSfxDefaultFreqAndVolScale, &gSfxDefaultReverb);
|
||||
SFX_PLAY_CENTERED(NA_SE_IT_SWORD_IMPACT);
|
||||
if (debugCam->sub.unkIdx > 0) {
|
||||
debugCam->sub.unkIdx--;
|
||||
} else {
|
||||
|
@ -1057,8 +1046,7 @@ void DebugCamera_Update(DebugCam* debugCam, Camera* cam) {
|
|||
}
|
||||
if (CHECK_BTN_ALL(sPlay->state.input[DEBUG_CAM_CONTROLLER_PORT].cur.button, BTN_L) &&
|
||||
CHECK_BTN_ALL(sPlay->state.input[DEBUG_CAM_CONTROLLER_PORT].press.button, BTN_CDOWN)) {
|
||||
Audio_PlaySfxGeneral(NA_SE_IT_SWORD_IMPACT, &gSfxDefaultPos, 4, &gSfxDefaultFreqAndVolScale,
|
||||
&gSfxDefaultFreqAndVolScale, &gSfxDefaultReverb);
|
||||
SFX_PLAY_CENTERED(NA_SE_IT_SWORD_IMPACT);
|
||||
if (debugCam->sub.unkIdx < (debugCam->sub.nPoints - 1)) {
|
||||
debugCam->sub.unkIdx++;
|
||||
} else {
|
||||
|
@ -1066,8 +1054,7 @@ void DebugCamera_Update(DebugCam* debugCam, Camera* cam) {
|
|||
}
|
||||
} else {
|
||||
if (CHECK_BTN_ALL(sPlay->state.input[DEBUG_CAM_CONTROLLER_PORT].press.button, BTN_CDOWN)) {
|
||||
Audio_PlaySfxGeneral(NA_SE_IT_SWORD_IMPACT, &gSfxDefaultPos, 4, &gSfxDefaultFreqAndVolScale,
|
||||
&gSfxDefaultFreqAndVolScale, &gSfxDefaultReverb);
|
||||
SFX_PLAY_CENTERED(NA_SE_IT_SWORD_IMPACT);
|
||||
if (debugCam->sub.unkIdx < (debugCam->sub.nPoints - 1)) {
|
||||
debugCam->sub.unkIdx++;
|
||||
} else {
|
||||
|
@ -1140,8 +1127,7 @@ void DebugCamera_Update(DebugCam* debugCam, Camera* cam) {
|
|||
case 1:
|
||||
debugCam->unk_3C = true;
|
||||
if (CHECK_BTN_ALL(sPlay->state.input[DEBUG_CAM_CONTROLLER_PORT].press.button, BTN_DUP)) {
|
||||
Audio_PlaySfxGeneral(NA_SE_SY_ATTENTION_ON, &gSfxDefaultPos, 4, &gSfxDefaultFreqAndVolScale,
|
||||
&gSfxDefaultFreqAndVolScale, &gSfxDefaultReverb);
|
||||
SFX_PLAY_CENTERED(NA_SE_SY_ATTENTION_ON);
|
||||
if (debugCam->sub.unk_0A == 0) {
|
||||
debugCam->sub.unk_0A = 5;
|
||||
} else {
|
||||
|
@ -1149,8 +1135,7 @@ void DebugCamera_Update(DebugCam* debugCam, Camera* cam) {
|
|||
}
|
||||
}
|
||||
if (CHECK_BTN_ALL(sPlay->state.input[DEBUG_CAM_CONTROLLER_PORT].press.button, BTN_DDOWN)) {
|
||||
Audio_PlaySfxGeneral(NA_SE_SY_ATTENTION_ON, &gSfxDefaultPos, 4, &gSfxDefaultFreqAndVolScale,
|
||||
&gSfxDefaultFreqAndVolScale, &gSfxDefaultReverb);
|
||||
SFX_PLAY_CENTERED(NA_SE_SY_ATTENTION_ON);
|
||||
if (debugCam->sub.unk_0A == 5) {
|
||||
debugCam->sub.unk_0A = 0;
|
||||
} else {
|
||||
|
@ -1158,8 +1143,7 @@ void DebugCamera_Update(DebugCam* debugCam, Camera* cam) {
|
|||
}
|
||||
}
|
||||
if (CHECK_BTN_ALL(sPlay->state.input[DEBUG_CAM_CONTROLLER_PORT].press.button, BTN_DLEFT)) {
|
||||
Audio_PlaySfxGeneral(NA_SE_SY_ATTENTION_ON, &gSfxDefaultPos, 4, &gSfxDefaultFreqAndVolScale,
|
||||
&gSfxDefaultFreqAndVolScale, &gSfxDefaultReverb);
|
||||
SFX_PLAY_CENTERED(NA_SE_SY_ATTENTION_ON);
|
||||
switch (debugCam->sub.unk_0A) {
|
||||
case 1:
|
||||
if (CHECK_BTN_ALL(sPlay->state.input[DEBUG_CAM_CONTROLLER_PORT].cur.button, BTN_L)) {
|
||||
|
@ -1208,8 +1192,7 @@ void DebugCamera_Update(DebugCam* debugCam, Camera* cam) {
|
|||
|
||||
if (CHECK_BTN_ALL(sPlay->state.input[DEBUG_CAM_CONTROLLER_PORT].cur.button, BTN_DLEFT)) {
|
||||
if ((D_8012D10C++ % 5) == 0) {
|
||||
Audio_PlaySfxGeneral(NA_SE_SY_ATTENTION_ON, &gSfxDefaultPos, 4, &gSfxDefaultFreqAndVolScale,
|
||||
&gSfxDefaultFreqAndVolScale, &gSfxDefaultReverb);
|
||||
SFX_PLAY_CENTERED(NA_SE_SY_ATTENTION_ON);
|
||||
}
|
||||
|
||||
switch (debugCam->sub.unk_0A) {
|
||||
|
@ -1246,8 +1229,7 @@ void DebugCamera_Update(DebugCam* debugCam, Camera* cam) {
|
|||
}
|
||||
|
||||
if (CHECK_BTN_ALL(sPlay->state.input[DEBUG_CAM_CONTROLLER_PORT].press.button, BTN_DRIGHT)) {
|
||||
Audio_PlaySfxGeneral(NA_SE_SY_ATTENTION_ON, &gSfxDefaultPos, 4, &gSfxDefaultFreqAndVolScale,
|
||||
&gSfxDefaultFreqAndVolScale, &gSfxDefaultReverb);
|
||||
SFX_PLAY_CENTERED(NA_SE_SY_ATTENTION_ON);
|
||||
|
||||
switch (debugCam->sub.unk_0A) {
|
||||
case 1:
|
||||
|
@ -1296,8 +1278,7 @@ void DebugCamera_Update(DebugCam* debugCam, Camera* cam) {
|
|||
}
|
||||
if (CHECK_BTN_ALL(sPlay->state.input[DEBUG_CAM_CONTROLLER_PORT].cur.button, BTN_DRIGHT)) {
|
||||
if ((D_8012D10C++ % 5) == 0) {
|
||||
Audio_PlaySfxGeneral(NA_SE_SY_ATTENTION_ON, &gSfxDefaultPos, 4, &gSfxDefaultFreqAndVolScale,
|
||||
&gSfxDefaultFreqAndVolScale, &gSfxDefaultReverb);
|
||||
SFX_PLAY_CENTERED(NA_SE_SY_ATTENTION_ON);
|
||||
}
|
||||
|
||||
switch (debugCam->sub.unk_0A) {
|
||||
|
@ -1460,8 +1441,7 @@ void DebugCamera_Update(DebugCam* debugCam, Camera* cam) {
|
|||
debugCam->fov = 60.0f;
|
||||
debugCam->rollDegrees = debugCam->roll * 1.40625f;
|
||||
if (CHECK_BTN_ALL(sPlay->state.input[DEBUG_CAM_CONTROLLER_PORT].press.button, BTN_CLEFT)) {
|
||||
Audio_PlaySfxGeneral(NA_SE_SY_CURSOR, &gSfxDefaultPos, 4, &gSfxDefaultFreqAndVolScale,
|
||||
&gSfxDefaultFreqAndVolScale, &gSfxDefaultReverb);
|
||||
SFX_PLAY_CENTERED(NA_SE_SY_CURSOR);
|
||||
debugCam->unk_78 = (debugCam->unk_78 + 1) % 3;
|
||||
debugCam->unk_38 = -1;
|
||||
}
|
||||
|
@ -1745,8 +1725,7 @@ void DebugCamera_DrawSlotLetters(char* str, s16 y, s16 x, s32 colorIndex) {
|
|||
void DebugCamera_PrintAllCuts(Camera* cam) {
|
||||
s32 i;
|
||||
|
||||
Audio_PlaySfxGeneral(NA_SE_SY_GET_RUPY, &gSfxDefaultPos, 4, &gSfxDefaultFreqAndVolScale,
|
||||
&gSfxDefaultFreqAndVolScale, &gSfxDefaultReverb);
|
||||
SFX_PLAY_CENTERED(NA_SE_SY_GET_RUPY);
|
||||
PRINTF("@@@\n@@@\n@@@/* ****** spline point data ** start here ***** */\n@@@\n");
|
||||
|
||||
for (i = 0; i < ARRAY_COUNT(sDebugCamCuts) - 1; i++) {
|
||||
|
@ -1894,8 +1873,7 @@ s32 DebugCamera_UpdateDemoControl(DebugCam* debugCam, Camera* cam) {
|
|||
if ((1 << sCurFileIdx) & sMempakFiles) {
|
||||
if (CHECK_BTN_ALL(sPlay->state.input[DEBUG_CAM_CONTROLLER_PORT].press.button, BTN_DLEFT) ||
|
||||
CHECK_BTN_ALL(sPlay->state.input[DEBUG_CAM_CONTROLLER_PORT].press.button, BTN_DRIGHT)) {
|
||||
Audio_PlaySfxGeneral(NA_SE_SY_CURSOR, &gSfxDefaultPos, 4, &gSfxDefaultFreqAndVolScale,
|
||||
&gSfxDefaultFreqAndVolScale, &gSfxDefaultReverb);
|
||||
SFX_PLAY_CENTERED(NA_SE_SY_CURSOR);
|
||||
debugCam->sub.demoCtrlToggleSwitch ^= 1;
|
||||
}
|
||||
D_8012CEE0[41][9] = MEMPAK_INDEX_TO_LETTER(sCurFileIdx);
|
||||
|
@ -1913,12 +1891,10 @@ s32 DebugCamera_UpdateDemoControl(DebugCam* debugCam, Camera* cam) {
|
|||
|
||||
if (CHECK_BTN_ALL(sPlay->state.input[DEBUG_CAM_CONTROLLER_PORT].press.button, BTN_A)) {
|
||||
if (debugCam->sub.demoCtrlToggleSwitch == 0) {
|
||||
Audio_PlaySfxGeneral(NA_SE_SY_DECIDE, &gSfxDefaultPos, 4, &gSfxDefaultFreqAndVolScale,
|
||||
&gSfxDefaultFreqAndVolScale, &gSfxDefaultReverb);
|
||||
SFX_PLAY_CENTERED(NA_SE_SY_DECIDE);
|
||||
debugCam->sub.demoCtrlMenu++;
|
||||
} else {
|
||||
Audio_PlaySfxGeneral(NA_SE_SY_CANCEL, &gSfxDefaultPos, 4, &gSfxDefaultFreqAndVolScale,
|
||||
&gSfxDefaultFreqAndVolScale, &gSfxDefaultReverb);
|
||||
SFX_PLAY_CENTERED(NA_SE_SY_CANCEL);
|
||||
debugCam->sub.demoCtrlMenu = 0;
|
||||
}
|
||||
}
|
||||
|
@ -1937,8 +1913,7 @@ s32 DebugCamera_UpdateDemoControl(DebugCam* debugCam, Camera* cam) {
|
|||
}
|
||||
}
|
||||
if (CHECK_BTN_ALL(sPlay->state.input[DEBUG_CAM_CONTROLLER_PORT].press.button, BTN_B)) {
|
||||
Audio_PlaySfxGeneral(NA_SE_SY_CANCEL, &gSfxDefaultPos, 4, &gSfxDefaultFreqAndVolScale,
|
||||
&gSfxDefaultFreqAndVolScale, &gSfxDefaultReverb);
|
||||
SFX_PLAY_CENTERED(NA_SE_SY_CANCEL);
|
||||
debugCam->sub.demoCtrlMenu = 0;
|
||||
return 1;
|
||||
}
|
||||
|
@ -1978,8 +1953,7 @@ s32 DebugCamera_UpdateDemoControl(DebugCam* debugCam, Camera* cam) {
|
|||
|
||||
if (CHECK_BTN_ALL(sPlay->state.input[DEBUG_CAM_CONTROLLER_PORT].press.button, BTN_A) ||
|
||||
CHECK_BTN_ALL(sPlay->state.input[DEBUG_CAM_CONTROLLER_PORT].press.button, BTN_B)) {
|
||||
Audio_PlaySfxGeneral(NA_SE_SY_DECIDE, &gSfxDefaultPos, 4, &gSfxDefaultFreqAndVolScale,
|
||||
&gSfxDefaultFreqAndVolScale, &gSfxDefaultReverb);
|
||||
SFX_PLAY_CENTERED(NA_SE_SY_DECIDE);
|
||||
if (debugCam->sub.demoCtrlMenu == DEMO_CTRL_MENU(ACTION_LOAD, MENU_SUCCESS)) {
|
||||
debugCam->sub.demoCtrlActionIdx = ACTION_E;
|
||||
}
|
||||
|
@ -2004,8 +1978,7 @@ s32 DebugCamera_UpdateDemoControl(DebugCam* debugCam, Camera* cam) {
|
|||
|
||||
if (CHECK_BTN_ALL(sPlay->state.input[DEBUG_CAM_CONTROLLER_PORT].press.button, BTN_A) ||
|
||||
CHECK_BTN_ALL(sPlay->state.input[DEBUG_CAM_CONTROLLER_PORT].press.button, BTN_B)) {
|
||||
Audio_PlaySfxGeneral(NA_SE_SY_DECIDE, &gSfxDefaultPos, 4, &gSfxDefaultFreqAndVolScale,
|
||||
&gSfxDefaultFreqAndVolScale, &gSfxDefaultReverb);
|
||||
SFX_PLAY_CENTERED(NA_SE_SY_DECIDE);
|
||||
debugCam->sub.demoCtrlMenu -= 9;
|
||||
}
|
||||
block_2:
|
||||
|
@ -2040,8 +2013,7 @@ s32 DebugCamera_UpdateDemoControl(DebugCam* debugCam, Camera* cam) {
|
|||
sp74[i * 2 + 1] = '\0';
|
||||
|
||||
if (CHECK_BTN_ALL(sPlay->state.input[DEBUG_CAM_CONTROLLER_PORT].press.button, BTN_DRIGHT)) {
|
||||
Audio_PlaySfxGeneral(NA_SE_SY_CURSOR, &gSfxDefaultPos, 4, &gSfxDefaultFreqAndVolScale,
|
||||
&gSfxDefaultFreqAndVolScale, &gSfxDefaultReverb);
|
||||
SFX_PLAY_CENTERED(NA_SE_SY_CURSOR);
|
||||
if (sCurFileIdx >= 4) {
|
||||
sCurFileIdx = 0;
|
||||
} else {
|
||||
|
@ -2058,8 +2030,7 @@ s32 DebugCamera_UpdateDemoControl(DebugCam* debugCam, Camera* cam) {
|
|||
}
|
||||
}
|
||||
if (CHECK_BTN_ALL(sPlay->state.input[DEBUG_CAM_CONTROLLER_PORT].press.button, BTN_DLEFT)) {
|
||||
Audio_PlaySfxGeneral(NA_SE_SY_CURSOR, &gSfxDefaultPos, 4, &gSfxDefaultFreqAndVolScale,
|
||||
&gSfxDefaultFreqAndVolScale, &gSfxDefaultReverb);
|
||||
SFX_PLAY_CENTERED(NA_SE_SY_CURSOR);
|
||||
if (sCurFileIdx <= 0) {
|
||||
sCurFileIdx = 4;
|
||||
} else {
|
||||
|
@ -2103,25 +2074,21 @@ s32 DebugCamera_UpdateDemoControl(DebugCam* debugCam, Camera* cam) {
|
|||
DebugCamera_ScreenTextColored(20, 26, DEBUG_CAM_TEXT_WHITE, D_8012CF70);
|
||||
|
||||
if (CHECK_BTN_ALL(sPlay->state.input[DEBUG_CAM_CONTROLLER_PORT].press.button, BTN_DUP)) {
|
||||
Audio_PlaySfxGeneral(NA_SE_SY_CURSOR, &gSfxDefaultPos, 4, &gSfxDefaultFreqAndVolScale,
|
||||
&gSfxDefaultFreqAndVolScale, &gSfxDefaultReverb);
|
||||
SFX_PLAY_CENTERED(NA_SE_SY_CURSOR);
|
||||
debugCam->sub.demoCtrlActionIdx = (debugCam->sub.demoCtrlActionIdx - 1) % 4u;
|
||||
}
|
||||
if (CHECK_BTN_ALL(sPlay->state.input[DEBUG_CAM_CONTROLLER_PORT].press.button, BTN_DDOWN)) {
|
||||
Audio_PlaySfxGeneral(NA_SE_SY_CURSOR, &gSfxDefaultPos, 4, &gSfxDefaultFreqAndVolScale,
|
||||
&gSfxDefaultFreqAndVolScale, &gSfxDefaultReverb);
|
||||
SFX_PLAY_CENTERED(NA_SE_SY_CURSOR);
|
||||
debugCam->sub.demoCtrlActionIdx = (debugCam->sub.demoCtrlActionIdx + 1) % 4u;
|
||||
}
|
||||
|
||||
if (CHECK_BTN_ALL(sPlay->state.input[DEBUG_CAM_CONTROLLER_PORT].press.button, BTN_A)) {
|
||||
Audio_PlaySfxGeneral(NA_SE_SY_DECIDE, &gSfxDefaultPos, 4, &gSfxDefaultFreqAndVolScale,
|
||||
&gSfxDefaultFreqAndVolScale, &gSfxDefaultReverb);
|
||||
SFX_PLAY_CENTERED(NA_SE_SY_DECIDE);
|
||||
debugCam->sub.demoCtrlToggleSwitch = 0;
|
||||
debugCam->sub.demoCtrlMenu = DEMO_CTRL_MENU(debugCam->sub.demoCtrlActionIdx, MENU_INFO);
|
||||
}
|
||||
if (CHECK_BTN_ALL(sPlay->state.input[DEBUG_CAM_CONTROLLER_PORT].press.button, BTN_B)) {
|
||||
Audio_PlaySfxGeneral(NA_SE_SY_CANCEL, &gSfxDefaultPos, 4, &gSfxDefaultFreqAndVolScale,
|
||||
&gSfxDefaultFreqAndVolScale, &gSfxDefaultReverb);
|
||||
SFX_PLAY_CENTERED(NA_SE_SY_CANCEL);
|
||||
debugCam->sub.demoCtrlActionIdx = ACTION_E;
|
||||
return 1;
|
||||
}
|
||||
|
@ -2133,8 +2100,7 @@ s32 DebugCamera_UpdateDemoControl(DebugCam* debugCam, Camera* cam) {
|
|||
CHECK_BTN_ALL(sPlay->state.input[DEBUG_CAM_CONTROLLER_PORT].press.button, BTN_DUP) ||
|
||||
CHECK_BTN_ALL(sPlay->state.input[DEBUG_CAM_CONTROLLER_PORT].press.button, BTN_DDOWN)) {
|
||||
|
||||
Audio_PlaySfxGeneral(NA_SE_SY_CANCEL, &gSfxDefaultPos, 4, &gSfxDefaultFreqAndVolScale,
|
||||
&gSfxDefaultFreqAndVolScale, &gSfxDefaultReverb);
|
||||
SFX_PLAY_CENTERED(NA_SE_SY_CANCEL);
|
||||
debugCam->sub.demoCtrlActionIdx = ACTION_E;
|
||||
}
|
||||
return 2;
|
||||
|
@ -2146,15 +2112,13 @@ s32 DebugCamera_UpdateDemoControl(DebugCam* debugCam, Camera* cam) {
|
|||
|
||||
default: {
|
||||
if (CHECK_BTN_ALL(sPlay->state.input[DEBUG_CAM_CONTROLLER_PORT].press.button, BTN_DUP)) {
|
||||
Audio_PlaySfxGeneral(NA_SE_SY_CURSOR, &gSfxDefaultPos, 4, &gSfxDefaultFreqAndVolScale,
|
||||
&gSfxDefaultFreqAndVolScale, &gSfxDefaultReverb);
|
||||
SFX_PLAY_CENTERED(NA_SE_SY_CURSOR);
|
||||
debugCam->sub.demoCtrlMenu = DEMO_CTRL_MENU(ACTION_E, MENU_INFO);
|
||||
debugCam->sub.demoCtrlActionIdx = (debugCam->sub.demoCtrlActionIdx - 1) % 4u;
|
||||
sCurFileIdx = 0;
|
||||
}
|
||||
if (CHECK_BTN_ALL(sPlay->state.input[DEBUG_CAM_CONTROLLER_PORT].press.button, BTN_DDOWN)) {
|
||||
Audio_PlaySfxGeneral(NA_SE_SY_CURSOR, &gSfxDefaultPos, 4, &gSfxDefaultFreqAndVolScale,
|
||||
&gSfxDefaultFreqAndVolScale, &gSfxDefaultReverb);
|
||||
SFX_PLAY_CENTERED(NA_SE_SY_CURSOR);
|
||||
debugCam->sub.demoCtrlMenu = DEMO_CTRL_MENU(ACTION_E, MENU_INFO);
|
||||
debugCam->sub.demoCtrlActionIdx = (debugCam->sub.demoCtrlActionIdx + 1) % 4u;
|
||||
sCurFileIdx = 0;
|
||||
|
@ -2193,8 +2157,7 @@ s32 DebugCamera_UpdateDemoControl(DebugCam* debugCam, Camera* cam) {
|
|||
if (func_800B91B0(cam, debugCam) == 0) {
|
||||
Interface_ChangeHudVisibilityMode(HUD_VISIBILITY_NOTHING_ALT);
|
||||
Letterbox_SetSizeTarget(0);
|
||||
Audio_PlaySfxGeneral(NA_SE_SY_GET_RUPY, &gSfxDefaultPos, 4, &gSfxDefaultFreqAndVolScale,
|
||||
&gSfxDefaultFreqAndVolScale, &gSfxDefaultReverb);
|
||||
SFX_PLAY_CENTERED(NA_SE_SY_GET_RUPY);
|
||||
}
|
||||
sp5C = OLib_Vec3fDiffToVecGeo(&debugCam->eye, &debugCam->at);
|
||||
debugCam->unk_1C =
|
||||
|
@ -2204,7 +2167,7 @@ s32 DebugCamera_UpdateDemoControl(DebugCam* debugCam, Camera* cam) {
|
|||
|
||||
if (CHECK_BTN_ALL(sPlay->state.input[1].press.button, BTN_CRIGHT)) {
|
||||
gUseCutsceneCam = false;
|
||||
gSaveContext.save.cutsceneIndex = 0xFFFD;
|
||||
gSaveContext.save.cutsceneIndex = CS_INDEX_D;
|
||||
gSaveContext.cutsceneTrigger = 1;
|
||||
sDebugCamAnim.curFrame = 0.0f;
|
||||
sDebugCamAnim.keyframe = 0;
|
||||
|
@ -2212,8 +2175,7 @@ s32 DebugCamera_UpdateDemoControl(DebugCam* debugCam, Camera* cam) {
|
|||
sDebugCamAnim.unk_0A = 1;
|
||||
sDebugCamAnim.unk_0C = 0;
|
||||
D_8016110C = 0;
|
||||
Audio_PlaySfxGeneral(NA_SE_SY_HP_RECOVER, &gSfxDefaultPos, 4, &gSfxDefaultFreqAndVolScale,
|
||||
&gSfxDefaultFreqAndVolScale, &gSfxDefaultReverb);
|
||||
SFX_PLAY_CENTERED(NA_SE_SY_HP_RECOVER);
|
||||
}
|
||||
|
||||
if (CHECK_BTN_ALL(sPlay->state.input[DEBUG_CAM_CONTROLLER_PORT].press.button, BTN_L)) {
|
||||
|
@ -2229,15 +2191,13 @@ s32 DebugCamera_UpdateDemoControl(DebugCam* debugCam, Camera* cam) {
|
|||
if (sLastFileIdx != -1) {
|
||||
switch (sp74[sCurFileIdx]) {
|
||||
case '?':
|
||||
Audio_PlaySfxGeneral(NA_SE_SY_DECIDE, &gSfxDefaultPos, 4, &gSfxDefaultFreqAndVolScale,
|
||||
&gSfxDefaultFreqAndVolScale, &gSfxDefaultReverb);
|
||||
SFX_PLAY_CENTERED(NA_SE_SY_DECIDE);
|
||||
sDebugCamCuts[idx1] = sDebugCamCuts[idx2];
|
||||
sp74[sCurFileIdx] = '?'; // useless
|
||||
DebugCamera_ResetCut(idx2, false);
|
||||
break;
|
||||
case '-':
|
||||
Audio_PlaySfxGeneral(NA_SE_SY_DECIDE, &gSfxDefaultPos, 4, &gSfxDefaultFreqAndVolScale,
|
||||
&gSfxDefaultFreqAndVolScale, &gSfxDefaultReverb);
|
||||
SFX_PLAY_CENTERED(NA_SE_SY_DECIDE);
|
||||
|
||||
sp64 = sDebugCamCuts[idx2];
|
||||
if (sLastFileIdx < sCurFileIdx) {
|
||||
|
@ -2259,8 +2219,7 @@ s32 DebugCamera_UpdateDemoControl(DebugCam* debugCam, Camera* cam) {
|
|||
}
|
||||
break;
|
||||
default:
|
||||
Audio_PlaySfxGeneral(NA_SE_SY_ERROR, &gSfxDefaultPos, 4, &gSfxDefaultFreqAndVolScale,
|
||||
&gSfxDefaultFreqAndVolScale, &gSfxDefaultReverb);
|
||||
SFX_PLAY_CENTERED(NA_SE_SY_ERROR);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
@ -2269,8 +2228,7 @@ s32 DebugCamera_UpdateDemoControl(DebugCam* debugCam, Camera* cam) {
|
|||
|
||||
if (CHECK_BTN_ALL(sPlay->state.input[DEBUG_CAM_CONTROLLER_PORT].press.button, BTN_A)) {
|
||||
if (sp74[sCurFileIdx] == '?') {
|
||||
Audio_PlaySfxGeneral(NA_SE_SY_DECIDE, &gSfxDefaultPos, 4, &gSfxDefaultFreqAndVolScale,
|
||||
&gSfxDefaultFreqAndVolScale, &gSfxDefaultReverb);
|
||||
SFX_PLAY_CENTERED(NA_SE_SY_DECIDE);
|
||||
sp74[sCurFileIdx] = DebugCamera_InitCut(idx1, &debugCam->sub);
|
||||
if (sp74[sCurFileIdx] == '?') {
|
||||
DebugCamera_ScreenTextColored(15, 24, DEBUG_CAM_TEXT_GREEN, D_8012CF48);
|
||||
|
@ -2280,8 +2238,7 @@ s32 DebugCamera_UpdateDemoControl(DebugCam* debugCam, Camera* cam) {
|
|||
|
||||
if (CHECK_BTN_ALL(sPlay->state.input[DEBUG_CAM_CONTROLLER_PORT].press.button, BTN_B)) {
|
||||
if (sp74[sCurFileIdx] != '?' && sp74[sCurFileIdx] != '-') {
|
||||
Audio_PlaySfxGeneral(NA_SE_SY_CANCEL, &gSfxDefaultPos, 4, &gSfxDefaultFreqAndVolScale,
|
||||
&gSfxDefaultFreqAndVolScale, &gSfxDefaultReverb);
|
||||
SFX_PLAY_CENTERED(NA_SE_SY_CANCEL);
|
||||
sp74[sCurFileIdx] = '?';
|
||||
DebugCamera_ResetCut(idx1, true);
|
||||
}
|
||||
|
@ -2289,8 +2246,7 @@ s32 DebugCamera_UpdateDemoControl(DebugCam* debugCam, Camera* cam) {
|
|||
|
||||
if (CHECK_BTN_ALL(sPlay->state.input[DEBUG_CAM_CONTROLLER_PORT].press.button, BTN_R)) {
|
||||
if (sp74[sCurFileIdx] != '?' && sp74[sCurFileIdx] != '-') {
|
||||
Audio_PlaySfxGeneral(NA_SE_SY_DECIDE, &gSfxDefaultPos, 4, &gSfxDefaultFreqAndVolScale,
|
||||
&gSfxDefaultFreqAndVolScale, &gSfxDefaultReverb);
|
||||
SFX_PLAY_CENTERED(NA_SE_SY_DECIDE);
|
||||
|
||||
for (i = 0; i < sDebugCamCuts[idx1].nPoints; i++) {
|
||||
debugCam->sub.lookAt[i] = sDebugCamCuts[idx1].lookAt[i];
|
||||
|
@ -2312,8 +2268,7 @@ s32 DebugCamera_UpdateDemoControl(DebugCam* debugCam, Camera* cam) {
|
|||
}
|
||||
|
||||
if (CHECK_BTN_ALL(sPlay->state.input[DEBUG_CAM_CONTROLLER_PORT].press.button, BTN_DRIGHT)) {
|
||||
Audio_PlaySfxGeneral(NA_SE_SY_CURSOR, &gSfxDefaultPos, 4, &gSfxDefaultFreqAndVolScale,
|
||||
&gSfxDefaultFreqAndVolScale, &gSfxDefaultReverb);
|
||||
SFX_PLAY_CENTERED(NA_SE_SY_CURSOR);
|
||||
if (sCurFileIdx == 0x1E) {
|
||||
sCurFileIdx = 0;
|
||||
} else {
|
||||
|
@ -2321,8 +2276,7 @@ s32 DebugCamera_UpdateDemoControl(DebugCam* debugCam, Camera* cam) {
|
|||
}
|
||||
}
|
||||
if (CHECK_BTN_ALL(sPlay->state.input[DEBUG_CAM_CONTROLLER_PORT].press.button, BTN_DLEFT)) {
|
||||
Audio_PlaySfxGeneral(NA_SE_SY_CURSOR, &gSfxDefaultPos, 4, &gSfxDefaultFreqAndVolScale,
|
||||
&gSfxDefaultFreqAndVolScale, &gSfxDefaultReverb);
|
||||
SFX_PLAY_CENTERED(NA_SE_SY_CURSOR);
|
||||
sCurFileIdx = (sCurFileIdx == 0) ? 0x1E : sCurFileIdx - 1;
|
||||
}
|
||||
|
||||
|
@ -2336,8 +2290,7 @@ s32 DebugCamera_UpdateDemoControl(DebugCam* debugCam, Camera* cam) {
|
|||
DebugCamera_PrintAllCuts(cam);
|
||||
} else if (CHECK_BTN_ALL(sPlay->state.input[DEBUG_CAM_CONTROLLER_PORT].cur.button, BTN_L) &&
|
||||
CHECK_BTN_ALL(sPlay->state.input[DEBUG_CAM_CONTROLLER_PORT].press.button, BTN_CLEFT)) {
|
||||
Audio_PlaySfxGeneral(NA_SE_SY_GET_RUPY, &gSfxDefaultPos, 4, &gSfxDefaultFreqAndVolScale,
|
||||
&gSfxDefaultFreqAndVolScale, &gSfxDefaultReverb);
|
||||
SFX_PLAY_CENTERED(NA_SE_SY_GET_RUPY);
|
||||
for (i = 0; i < ARRAY_COUNT(sDebugCamCuts) - 1; i++) {
|
||||
if (sDebugCamCuts[i].nPoints != 0) {
|
||||
PRINTF("\n@@@ /* CUT [%d]\t*/", i);
|
||||
|
@ -2353,8 +2306,7 @@ s32 DebugCamera_UpdateDemoControl(DebugCam* debugCam, Camera* cam) {
|
|||
Interface_ChangeHudVisibilityMode(HUD_VISIBILITY_ALL);
|
||||
Letterbox_SetSizeTarget(32);
|
||||
D_8016110C = 0;
|
||||
Audio_PlaySfxGeneral(NA_SE_SY_HP_RECOVER, &gSfxDefaultPos, 4, &gSfxDefaultFreqAndVolScale,
|
||||
&gSfxDefaultFreqAndVolScale, &gSfxDefaultReverb);
|
||||
SFX_PLAY_CENTERED(NA_SE_SY_HP_RECOVER);
|
||||
}
|
||||
|
||||
DebugCamera_ScreenTextColored(4, 7, DEBUG_CAM_TEXT_WHITE, D_8012CF50[0]);
|
||||
|
|
|
@ -35,8 +35,8 @@
|
|||
#include "assets/objects/gameplay_dangeon_keep/gameplay_dangeon_keep.h"
|
||||
#include "assets/objects/object_bdoor/object_bdoor.h"
|
||||
|
||||
#pragma increment_block_number "gc-eu:128 gc-eu-mq:128 gc-jp:0 gc-jp-ce:0 gc-jp-mq:0 gc-us:0 gc-us-mq:0 ntsc-1.0:0" \
|
||||
"ntsc-1.1:0 ntsc-1.2:0 pal-1.0:0 pal-1.1:0"
|
||||
#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" \
|
||||
"ntsc-1.0:0 ntsc-1.1:0 ntsc-1.2:0 pal-1.0:0 pal-1.1:0"
|
||||
|
||||
CollisionPoly* sCurCeilingPoly;
|
||||
s32 sCurCeilingBgId;
|
||||
|
@ -2030,8 +2030,7 @@ void Actor_SetPlayerKnockbackSmallNoDamage(PlayState* play, Actor* actor, f32 sp
|
|||
* Play a sound effect at the player's position
|
||||
*/
|
||||
void Player_PlaySfx(Player* player, u16 sfxId) {
|
||||
Audio_PlaySfxGeneral(sfxId, &player->actor.projectedPos, 4, &gSfxDefaultFreqAndVolScale,
|
||||
&gSfxDefaultFreqAndVolScale, &gSfxDefaultReverb);
|
||||
SFX_PLAY_AT_POS(&player->actor.projectedPos, sfxId);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -2641,8 +2640,7 @@ void Actor_Draw(PlayState* play, Actor* actor) {
|
|||
|
||||
void Actor_UpdateFlaggedAudio(Actor* actor) {
|
||||
if (actor->flags & ACTOR_FLAG_SFX_ACTOR_POS_2) {
|
||||
Audio_PlaySfxGeneral(actor->sfx, &actor->projectedPos, 4, &gSfxDefaultFreqAndVolScale,
|
||||
&gSfxDefaultFreqAndVolScale, &gSfxDefaultReverb);
|
||||
SFX_PLAY_AT_POS(&actor->projectedPos, actor->sfx);
|
||||
} else if (actor->flags & ACTOR_AUDIO_FLAG_SFX_CENTERED_1) {
|
||||
Sfx_PlaySfxCentered(actor->sfx);
|
||||
} else if (actor->flags & ACTOR_AUDIO_FLAG_SFX_CENTERED_2) {
|
||||
|
@ -5670,8 +5668,7 @@ void func_80036E50(u16 textId, s16 arg1) {
|
|||
Flags_SetInfTable(INFTABLE_0C);
|
||||
return;
|
||||
case 0x1033:
|
||||
Audio_PlaySfxGeneral(NA_SE_SY_CORRECT_CHIME, &gSfxDefaultPos, 4, &gSfxDefaultFreqAndVolScale,
|
||||
&gSfxDefaultFreqAndVolScale, &gSfxDefaultReverb);
|
||||
SFX_PLAY_CENTERED(NA_SE_SY_CORRECT_CHIME);
|
||||
Flags_SetEventChkInf(EVENTCHKINF_04);
|
||||
Flags_SetInfTable(INFTABLE_0E);
|
||||
return;
|
||||
|
@ -6136,8 +6133,7 @@ s32 func_80037CB8(PlayState* play, Actor* actor, s16 arg2) {
|
|||
case TEXT_STATE_CHOICE:
|
||||
case TEXT_STATE_EVENT:
|
||||
if (Message_ShouldAdvance(play) && func_80037C94(play, actor, arg2)) {
|
||||
Audio_PlaySfxGeneral(NA_SE_SY_CANCEL, &gSfxDefaultPos, 4, &gSfxDefaultFreqAndVolScale,
|
||||
&gSfxDefaultFreqAndVolScale, &gSfxDefaultReverb);
|
||||
SFX_PLAY_CENTERED(NA_SE_SY_CANCEL);
|
||||
msgCtx->msgMode = MSGMODE_TEXT_CLOSING;
|
||||
ret = true;
|
||||
}
|
||||
|
|
|
@ -14,7 +14,7 @@
|
|||
#include "player.h"
|
||||
#include "skin_matrix.h"
|
||||
|
||||
#pragma increment_block_number "ntsc-1.0:144 ntsc-1.1:144 ntsc-1.2:144"
|
||||
#pragma increment_block_number "ntsc-1.0:136 ntsc-1.1:136 ntsc-1.2:136"
|
||||
|
||||
u16 DynaSSNodeList_GetNextNodeIdx(DynaSSNodeList* nodeList);
|
||||
void BgCheck_GetStaticLookupIndicesFromPos(CollisionContext* colCtx, Vec3f* pos, Vec3i* sector);
|
||||
|
|
|
@ -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:79 ntsc-1.1:79 ntsc-1.2:79 pal-1.0:79 pal-1.1:79"
|
||||
"ique-cn:128 ntsc-1.0:73 ntsc-1.1:73 ntsc-1.2:73 pal-1.0:73 pal-1.1:73"
|
||||
|
||||
s32 Camera_KeepOn4(Camera* camera) {
|
||||
static Vec3f sAtTarget;
|
||||
|
|
|
@ -172,7 +172,7 @@ s32 Collider_DestroyElementDamageInfoAT(PlayState* play, ColliderElementDamageIn
|
|||
s32 Collider_SetElementDamageInfoAT(PlayState* play, ColliderElementDamageInfoAT* dest,
|
||||
ColliderElementDamageInfoAT* src) {
|
||||
dest->dmgFlags = src->dmgFlags;
|
||||
dest->effect = src->effect;
|
||||
dest->hitSpecialEffect = src->hitSpecialEffect;
|
||||
dest->damage = src->damage;
|
||||
return true;
|
||||
}
|
||||
|
@ -194,7 +194,7 @@ s32 Collider_DestroyElementDamageInfoAC(PlayState* play, ColliderElementDamageIn
|
|||
s32 Collider_SetElementDamageInfoAC(PlayState* play, ColliderElementDamageInfoAC* acDmgInfo,
|
||||
ColliderElementDamageInfoACInit* init) {
|
||||
acDmgInfo->dmgFlags = init->dmgFlags;
|
||||
acDmgInfo->effect = init->effect;
|
||||
acDmgInfo->hitBacklash = init->hitBacklash;
|
||||
acDmgInfo->defense = init->defense;
|
||||
return true;
|
||||
}
|
||||
|
@ -1566,11 +1566,9 @@ void CollisionCheck_HitSolid(PlayState* play, ColliderElement* elem, Collider* c
|
|||
if (flags == ATELEM_SFX_NORMAL && collider->colMaterial != COL_MATERIAL_METAL) {
|
||||
EffectSsHitMark_SpawnFixedScale(play, EFFECT_HITMARK_WHITE, hitPos);
|
||||
if (collider->actor == NULL) {
|
||||
Audio_PlaySfxGeneral(NA_SE_IT_SHIELD_BOUND, &gSfxDefaultPos, 4, &gSfxDefaultFreqAndVolScale,
|
||||
&gSfxDefaultFreqAndVolScale, &gSfxDefaultReverb);
|
||||
SFX_PLAY_CENTERED(NA_SE_IT_SHIELD_BOUND);
|
||||
} else {
|
||||
Audio_PlaySfxGeneral(NA_SE_IT_SHIELD_BOUND, &collider->actor->projectedPos, 4, &gSfxDefaultFreqAndVolScale,
|
||||
&gSfxDefaultFreqAndVolScale, &gSfxDefaultReverb);
|
||||
SFX_PLAY_AT_POS(&collider->actor->projectedPos, NA_SE_IT_SHIELD_BOUND);
|
||||
}
|
||||
} else if (flags == ATELEM_SFX_NORMAL) { // collider->colMaterial == COL_MATERIAL_METAL
|
||||
EffectSsHitMark_SpawnFixedScale(play, EFFECT_HITMARK_METAL, hitPos);
|
||||
|
@ -1582,20 +1580,16 @@ void CollisionCheck_HitSolid(PlayState* play, ColliderElement* elem, Collider* c
|
|||
} else if (flags == ATELEM_SFX_HARD) {
|
||||
EffectSsHitMark_SpawnFixedScale(play, EFFECT_HITMARK_WHITE, hitPos);
|
||||
if (collider->actor == NULL) {
|
||||
Audio_PlaySfxGeneral(NA_SE_IT_SHIELD_BOUND, &gSfxDefaultPos, 4, &gSfxDefaultFreqAndVolScale,
|
||||
&gSfxDefaultFreqAndVolScale, &gSfxDefaultReverb);
|
||||
SFX_PLAY_CENTERED(NA_SE_IT_SHIELD_BOUND);
|
||||
} else {
|
||||
Audio_PlaySfxGeneral(NA_SE_IT_SHIELD_BOUND, &collider->actor->projectedPos, 4, &gSfxDefaultFreqAndVolScale,
|
||||
&gSfxDefaultFreqAndVolScale, &gSfxDefaultReverb);
|
||||
SFX_PLAY_AT_POS(&collider->actor->projectedPos, NA_SE_IT_SHIELD_BOUND);
|
||||
}
|
||||
} else if (flags == ATELEM_SFX_WOOD) {
|
||||
EffectSsHitMark_SpawnFixedScale(play, EFFECT_HITMARK_DUST, hitPos);
|
||||
if (collider->actor == NULL) {
|
||||
Audio_PlaySfxGeneral(NA_SE_IT_REFLECTION_WOOD, &gSfxDefaultPos, 4, &gSfxDefaultFreqAndVolScale,
|
||||
&gSfxDefaultFreqAndVolScale, &gSfxDefaultReverb);
|
||||
SFX_PLAY_CENTERED(NA_SE_IT_REFLECTION_WOOD);
|
||||
} else {
|
||||
Audio_PlaySfxGeneral(NA_SE_IT_REFLECTION_WOOD, &collider->actor->projectedPos, 4,
|
||||
&gSfxDefaultFreqAndVolScale, &gSfxDefaultFreqAndVolScale, &gSfxDefaultReverb);
|
||||
SFX_PLAY_AT_POS(&collider->actor->projectedPos, NA_SE_IT_REFLECTION_WOOD);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -1606,17 +1600,13 @@ void CollisionCheck_HitSolid(PlayState* play, ColliderElement* elem, Collider* c
|
|||
s32 CollisionCheck_SwordHitAudio(Collider* atCol, ColliderElement* acElem) {
|
||||
if (atCol->actor != NULL && atCol->actor->category == ACTORCAT_PLAYER) {
|
||||
if (acElem->elemMaterial == ELEM_MATERIAL_UNK0) {
|
||||
Audio_PlaySfxGeneral(NA_SE_IT_SWORD_STRIKE, &atCol->actor->projectedPos, 4, &gSfxDefaultFreqAndVolScale,
|
||||
&gSfxDefaultFreqAndVolScale, &gSfxDefaultReverb);
|
||||
SFX_PLAY_AT_POS(&atCol->actor->projectedPos, NA_SE_IT_SWORD_STRIKE);
|
||||
} else if (acElem->elemMaterial == ELEM_MATERIAL_UNK1) {
|
||||
Audio_PlaySfxGeneral(NA_SE_IT_SWORD_STRIKE_HARD, &atCol->actor->projectedPos, 4,
|
||||
&gSfxDefaultFreqAndVolScale, &gSfxDefaultFreqAndVolScale, &gSfxDefaultReverb);
|
||||
SFX_PLAY_AT_POS(&atCol->actor->projectedPos, NA_SE_IT_SWORD_STRIKE_HARD);
|
||||
} else if (acElem->elemMaterial == ELEM_MATERIAL_UNK2) {
|
||||
Audio_PlaySfxGeneral(NA_SE_NONE, &atCol->actor->projectedPos, 4, &gSfxDefaultFreqAndVolScale,
|
||||
&gSfxDefaultFreqAndVolScale, &gSfxDefaultReverb);
|
||||
SFX_PLAY_AT_POS(&atCol->actor->projectedPos, NA_SE_NONE);
|
||||
} else if (acElem->elemMaterial == ELEM_MATERIAL_UNK3) {
|
||||
Audio_PlaySfxGeneral(NA_SE_NONE, &atCol->actor->projectedPos, 4, &gSfxDefaultFreqAndVolScale,
|
||||
&gSfxDefaultFreqAndVolScale, &gSfxDefaultReverb);
|
||||
SFX_PLAY_AT_POS(&atCol->actor->projectedPos, NA_SE_NONE);
|
||||
}
|
||||
}
|
||||
return true;
|
||||
|
@ -1693,8 +1683,7 @@ void CollisionCheck_HitEffects(PlayState* play, Collider* atCol, ColliderElement
|
|||
} else if (sHitInfo[acCol->colMaterial].effect == HIT_WOOD) {
|
||||
if (atCol->actor == NULL) {
|
||||
CollisionCheck_SpawnShieldParticles(play, hitPos);
|
||||
Audio_PlaySfxGeneral(NA_SE_IT_REFLECTION_WOOD, &gSfxDefaultPos, 4, &gSfxDefaultFreqAndVolScale,
|
||||
&gSfxDefaultFreqAndVolScale, &gSfxDefaultReverb);
|
||||
SFX_PLAY_CENTERED(NA_SE_IT_REFLECTION_WOOD);
|
||||
} else {
|
||||
CollisionCheck_SpawnShieldParticlesWood(play, hitPos, &atCol->actor->projectedPos);
|
||||
}
|
||||
|
@ -1707,11 +1696,9 @@ void CollisionCheck_HitEffects(PlayState* play, Collider* atCol, ColliderElement
|
|||
} else {
|
||||
EffectSsHitMark_SpawnFixedScale(play, EFFECT_HITMARK_WHITE, hitPos);
|
||||
if (acCol->actor == NULL) {
|
||||
Audio_PlaySfxGeneral(NA_SE_IT_SHIELD_BOUND, &gSfxDefaultPos, 4, &gSfxDefaultFreqAndVolScale,
|
||||
&gSfxDefaultFreqAndVolScale, &gSfxDefaultReverb);
|
||||
SFX_PLAY_CENTERED(NA_SE_IT_SHIELD_BOUND);
|
||||
} else {
|
||||
Audio_PlaySfxGeneral(NA_SE_IT_SHIELD_BOUND, &acCol->actor->projectedPos, 4, &gSfxDefaultFreqAndVolScale,
|
||||
&gSfxDefaultFreqAndVolScale, &gSfxDefaultReverb);
|
||||
SFX_PLAY_AT_POS(&acCol->actor->projectedPos, NA_SE_IT_SHIELD_BOUND);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -1739,7 +1726,7 @@ s32 CollisionCheck_SetATvsAC(PlayState* play, Collider* atCol, ColliderElement*
|
|||
atElem->atHitElem = acElem;
|
||||
atElem->atElemFlags |= ATELEM_HIT;
|
||||
if (atCol->actor != NULL) {
|
||||
atCol->actor->colChkInfo.atHitEffect = acElem->acDmgInfo.effect;
|
||||
atCol->actor->colChkInfo.atHitBacklash = acElem->acDmgInfo.hitBacklash;
|
||||
}
|
||||
}
|
||||
acCol->acFlags |= AC_HIT;
|
||||
|
@ -1748,7 +1735,7 @@ s32 CollisionCheck_SetATvsAC(PlayState* play, Collider* atCol, ColliderElement*
|
|||
acElem->acHitElem = atElem;
|
||||
acElem->acElemFlags |= ACELEM_HIT;
|
||||
if (acCol->actor != NULL) {
|
||||
acCol->actor->colChkInfo.acHitEffect = atElem->atDmgInfo.effect;
|
||||
acCol->actor->colChkInfo.acHitSpecialEffect = atElem->atDmgInfo.hitSpecialEffect;
|
||||
}
|
||||
acElem->acDmgInfo.hitPos.x = hitPos->x;
|
||||
acElem->acDmgInfo.hitPos.y = hitPos->y;
|
||||
|
@ -3028,8 +3015,8 @@ void CollisionCheck_InitInfo(CollisionCheckInfo* info) {
|
|||
void CollisionCheck_ResetDamage(CollisionCheckInfo* info) {
|
||||
info->damage = 0;
|
||||
info->damageReaction = 0;
|
||||
info->atHitEffect = 0;
|
||||
info->acHitEffect = 0;
|
||||
info->atHitBacklash = HIT_BACKLASH_0;
|
||||
info->acHitSpecialEffect = HIT_SPECIAL_EFFECT_0;
|
||||
info->displacement.x = info->displacement.y = info->displacement.z = 0.0f;
|
||||
}
|
||||
|
||||
|
@ -3525,8 +3512,7 @@ void CollisionCheck_SpawnShieldParticles(PlayState* play, Vec3f* v) {
|
|||
*/
|
||||
void CollisionCheck_SpawnShieldParticlesMetal(PlayState* play, Vec3f* v) {
|
||||
CollisionCheck_SpawnShieldParticles(play, v);
|
||||
Audio_PlaySfxGeneral(NA_SE_IT_SHIELD_REFLECT_SW, &gSfxDefaultPos, 4, &gSfxDefaultFreqAndVolScale,
|
||||
&gSfxDefaultFreqAndVolScale, &gSfxDefaultReverb);
|
||||
SFX_PLAY_CENTERED(NA_SE_IT_SHIELD_REFLECT_SW);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -3534,8 +3520,7 @@ void CollisionCheck_SpawnShieldParticlesMetal(PlayState* play, Vec3f* v) {
|
|||
*/
|
||||
void CollisionCheck_SpawnShieldParticlesMetalSfx(PlayState* play, Vec3f* v, Vec3f* pos) {
|
||||
CollisionCheck_SpawnShieldParticles(play, v);
|
||||
Audio_PlaySfxGeneral(NA_SE_IT_SHIELD_REFLECT_SW, pos, 4, &gSfxDefaultFreqAndVolScale, &gSfxDefaultFreqAndVolScale,
|
||||
&gSfxDefaultReverb);
|
||||
SFX_PLAY_AT_POS(pos, NA_SE_IT_SHIELD_REFLECT_SW);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -3575,8 +3560,7 @@ void CollisionCheck_SpawnShieldParticlesWood(PlayState* play, Vec3f* v, Vec3f* a
|
|||
woodInit.lightPoint.z = woodInit.position.z;
|
||||
|
||||
Effect_Add(play, &effectIndex, EFFECT_SHIELD_PARTICLE, 0, 1, &woodInit);
|
||||
Audio_PlaySfxGeneral(NA_SE_IT_REFLECTION_WOOD, actorPos, 4, &gSfxDefaultFreqAndVolScale,
|
||||
&gSfxDefaultFreqAndVolScale, &gSfxDefaultReverb);
|
||||
SFX_PLAY_AT_POS(actorPos, NA_SE_IT_REFLECTION_WOOD);
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
@ -25,7 +25,7 @@ void SaveContext_Init(void) {
|
|||
gSaveContext.seqId = (u8)NA_BGM_DISABLED;
|
||||
gSaveContext.natureAmbienceId = NATURE_ID_DISABLED;
|
||||
gSaveContext.forcedSeqId = NA_BGM_GENERAL_SFX;
|
||||
gSaveContext.nextCutsceneIndex = 0xFFEF;
|
||||
gSaveContext.nextCutsceneIndex = NEXT_CS_INDEX_NONE;
|
||||
gSaveContext.cutsceneTrigger = 0;
|
||||
gSaveContext.chamberCutsceneNum = CHAMBER_CS_FOREST;
|
||||
gSaveContext.nextDayTime = NEXT_TIME_NONE;
|
||||
|
|
|
@ -202,7 +202,7 @@ void Cutscene_StopManual(PlayState* play, CutsceneContext* csCtx) {
|
|||
}
|
||||
|
||||
void Cutscene_UpdateManual(PlayState* play, CutsceneContext* csCtx) {
|
||||
if (gSaveContext.save.cutsceneIndex < 0xFFF0) {
|
||||
if (gSaveContext.save.cutsceneIndex < CS_INDEX_0) {
|
||||
sManualCutsceneHandlers[csCtx->state](play, csCtx);
|
||||
}
|
||||
}
|
||||
|
@ -214,14 +214,14 @@ void Cutscene_UpdateScripted(PlayState* play, CutsceneContext* csCtx) {
|
|||
|
||||
if (CHECK_BTN_ALL(input->press.button, BTN_DLEFT) && (csCtx->state == CS_STATE_IDLE) && IS_CUTSCENE_LAYER) {
|
||||
gUseCutsceneCam = false;
|
||||
gSaveContext.save.cutsceneIndex = 0xFFFD;
|
||||
gSaveContext.save.cutsceneIndex = CS_INDEX_D;
|
||||
gSaveContext.cutsceneTrigger = 1;
|
||||
}
|
||||
|
||||
if (CHECK_BTN_ALL(input->press.button, BTN_DUP) && (csCtx->state == CS_STATE_IDLE) && IS_CUTSCENE_LAYER &&
|
||||
!gDebugCamEnabled) {
|
||||
gUseCutsceneCam = true;
|
||||
gSaveContext.save.cutsceneIndex = 0xFFFD;
|
||||
gSaveContext.save.cutsceneIndex = CS_INDEX_D;
|
||||
gSaveContext.cutsceneTrigger = 1;
|
||||
}
|
||||
}
|
||||
|
@ -233,11 +233,11 @@ void Cutscene_UpdateScripted(PlayState* play, CutsceneContext* csCtx) {
|
|||
|
||||
if ((gSaveContext.cutsceneTrigger != 0) && (csCtx->state == CS_STATE_IDLE)) {
|
||||
PRINTF(T("\nデモ開始要求 発令!", "\nDemo start request issued!"));
|
||||
gSaveContext.save.cutsceneIndex = 0xFFFD;
|
||||
gSaveContext.save.cutsceneIndex = CS_INDEX_D;
|
||||
gSaveContext.cutsceneTrigger = 1;
|
||||
}
|
||||
|
||||
if (gSaveContext.save.cutsceneIndex >= 0xFFF0) {
|
||||
if (gSaveContext.save.cutsceneIndex >= CS_INDEX_0) {
|
||||
Cutscene_SetupScripted(play, csCtx);
|
||||
sScriptedCutsceneHandlers[csCtx->state](play, csCtx);
|
||||
}
|
||||
|
@ -596,8 +596,7 @@ void CutsceneCmd_Destination(PlayState* play, CutsceneContext* csCtx, CsCmdDesti
|
|||
CHECK_BTN_ALL(play->state.input[0].press.button, BTN_B) ||
|
||||
CHECK_BTN_ALL(play->state.input[0].press.button, BTN_START)) &&
|
||||
(gSaveContext.fileNum != 0xFEDC) && (play->transitionTrigger == TRANS_TRIGGER_OFF)) {
|
||||
Audio_PlaySfxGeneral(NA_SE_SY_PIECE_OF_HEART, &gSfxDefaultPos, 4, &gSfxDefaultFreqAndVolScale,
|
||||
&gSfxDefaultFreqAndVolScale, &gSfxDefaultReverb);
|
||||
SFX_PLAY_CENTERED(NA_SE_SY_PIECE_OF_HEART);
|
||||
titleDemoSkipped = true;
|
||||
}
|
||||
|
||||
|
@ -617,54 +616,54 @@ void CutsceneCmd_Destination(PlayState* play, CutsceneContext* csCtx, CsCmdDesti
|
|||
gSaveContext.forceRisingButtonAlphas = true;
|
||||
}
|
||||
|
||||
gSaveContext.save.cutsceneIndex = 0;
|
||||
gSaveContext.save.cutsceneIndex = CS_INDEX_NONE;
|
||||
|
||||
switch (cmd->destination) {
|
||||
case CS_DEST_CUTSCENE_MAP_GANON_HORSE:
|
||||
play->nextEntranceIndex = ENTR_CUTSCENE_MAP_0;
|
||||
gSaveContext.save.cutsceneIndex = 0xFFF1;
|
||||
gSaveContext.save.cutsceneIndex = CS_INDEX_1;
|
||||
play->transitionTrigger = TRANS_TRIGGER_START;
|
||||
play->transitionType = TRANS_TYPE_FADE_BLACK;
|
||||
break;
|
||||
|
||||
case CS_DEST_CUTSCENE_MAP_THREE_GODDESSES:
|
||||
play->nextEntranceIndex = ENTR_CUTSCENE_MAP_0;
|
||||
gSaveContext.save.cutsceneIndex = 0xFFF0;
|
||||
gSaveContext.save.cutsceneIndex = CS_INDEX_0;
|
||||
play->transitionTrigger = TRANS_TRIGGER_START;
|
||||
play->transitionType = TRANS_TYPE_FILL_WHITE;
|
||||
break;
|
||||
|
||||
case CS_DEST_GERUDO_VALLEY_DIN_PART_1:
|
||||
play->nextEntranceIndex = ENTR_GERUDO_VALLEY_0;
|
||||
gSaveContext.save.cutsceneIndex = 0xFFF1;
|
||||
gSaveContext.save.cutsceneIndex = CS_INDEX_1;
|
||||
play->transitionTrigger = TRANS_TRIGGER_START;
|
||||
play->transitionType = TRANS_TYPE_FILL_WHITE;
|
||||
break;
|
||||
|
||||
case CS_DEST_DEATH_MOUNTAIN_TRAIL_NAYRU:
|
||||
play->nextEntranceIndex = ENTR_DEATH_MOUNTAIN_TRAIL_0;
|
||||
gSaveContext.save.cutsceneIndex = 0xFFF0;
|
||||
gSaveContext.save.cutsceneIndex = CS_INDEX_0;
|
||||
play->transitionTrigger = TRANS_TRIGGER_START;
|
||||
play->transitionType = TRANS_TYPE_FILL_WHITE;
|
||||
break;
|
||||
|
||||
case CS_DEST_KOKIRI_FOREST_FARORE:
|
||||
play->nextEntranceIndex = ENTR_KOKIRI_FOREST_0;
|
||||
gSaveContext.save.cutsceneIndex = 0xFFF0;
|
||||
gSaveContext.save.cutsceneIndex = CS_INDEX_0;
|
||||
play->transitionTrigger = TRANS_TRIGGER_START;
|
||||
play->transitionType = TRANS_TYPE_FILL_WHITE;
|
||||
break;
|
||||
|
||||
case CS_DEST_CUTSCENE_MAP_TRIFORCE_CREATION:
|
||||
play->nextEntranceIndex = ENTR_CUTSCENE_MAP_0;
|
||||
gSaveContext.save.cutsceneIndex = 0xFFF2;
|
||||
gSaveContext.save.cutsceneIndex = CS_INDEX_2;
|
||||
play->transitionTrigger = TRANS_TRIGGER_START;
|
||||
play->transitionType = TRANS_TYPE_FILL_WHITE;
|
||||
break;
|
||||
|
||||
case CS_DEST_KOKIRI_FOREST_RECEIVE_KOKIRI_EMERALD:
|
||||
play->nextEntranceIndex = ENTR_KOKIRI_FOREST_0;
|
||||
gSaveContext.save.cutsceneIndex = 0xFFF2;
|
||||
gSaveContext.save.cutsceneIndex = CS_INDEX_2;
|
||||
play->transitionTrigger = TRANS_TRIGGER_START;
|
||||
play->transitionType = TRANS_TYPE_INSTANT;
|
||||
break;
|
||||
|
@ -677,7 +676,7 @@ void CutsceneCmd_Destination(PlayState* play, CutsceneContext* csCtx, CsCmdDesti
|
|||
SET_EVENTCHKINF(EVENTCHKINF_45);
|
||||
play->nextEntranceIndex = ENTR_CUTSCENE_MAP_0;
|
||||
play->transitionTrigger = TRANS_TRIGGER_START;
|
||||
gSaveContext.save.cutsceneIndex = 0xFFF3;
|
||||
gSaveContext.save.cutsceneIndex = CS_INDEX_3;
|
||||
play->transitionType = TRANS_TYPE_INSTANT;
|
||||
} else {
|
||||
if (!IS_CUTSCENE_LAYER) {
|
||||
|
@ -697,21 +696,21 @@ void CutsceneCmd_Destination(PlayState* play, CutsceneContext* csCtx, CsCmdDesti
|
|||
|
||||
case CS_DEST_GERUDO_VALLEY_DIN_PART_2:
|
||||
play->nextEntranceIndex = ENTR_GERUDO_VALLEY_0;
|
||||
gSaveContext.save.cutsceneIndex = 0xFFF0;
|
||||
gSaveContext.save.cutsceneIndex = CS_INDEX_0;
|
||||
play->transitionTrigger = TRANS_TRIGGER_START;
|
||||
play->transitionType = TRANS_TYPE_FILL_BROWN;
|
||||
break;
|
||||
|
||||
case CS_DEST_LINKS_HOUSE_INTRO:
|
||||
play->nextEntranceIndex = ENTR_LINKS_HOUSE_0;
|
||||
gSaveContext.save.cutsceneIndex = 0xFFF0;
|
||||
gSaveContext.save.cutsceneIndex = CS_INDEX_0;
|
||||
play->transitionTrigger = TRANS_TRIGGER_START;
|
||||
play->transitionType = TRANS_TYPE_FADE_BLACK;
|
||||
break;
|
||||
|
||||
case CS_DEST_KOKIRI_FOREST_INTRO:
|
||||
play->nextEntranceIndex = ENTR_KOKIRI_FOREST_0;
|
||||
gSaveContext.save.cutsceneIndex = 0xFFF3;
|
||||
gSaveContext.save.cutsceneIndex = CS_INDEX_3;
|
||||
play->transitionTrigger = TRANS_TRIGGER_START;
|
||||
play->transitionType = TRANS_TYPE_FADE_WHITE;
|
||||
break;
|
||||
|
@ -738,21 +737,21 @@ void CutsceneCmd_Destination(PlayState* play, CutsceneContext* csCtx, CsCmdDesti
|
|||
case CS_DEST_TEMPLE_OF_TIME_KOKIRI_EMERALD_RESTORED:
|
||||
play->nextEntranceIndex = ENTR_TEMPLE_OF_TIME_0;
|
||||
play->transitionTrigger = TRANS_TRIGGER_START;
|
||||
gSaveContext.save.cutsceneIndex = 0xFFF4;
|
||||
gSaveContext.save.cutsceneIndex = CS_INDEX_4;
|
||||
play->transitionType = TRANS_TYPE_FADE_WHITE;
|
||||
break;
|
||||
|
||||
case CS_DEST_TEMPLE_OF_TIME_GORON_RUBY_RESTORED:
|
||||
play->nextEntranceIndex = ENTR_TEMPLE_OF_TIME_0;
|
||||
play->transitionTrigger = TRANS_TRIGGER_START;
|
||||
gSaveContext.save.cutsceneIndex = 0xFFF5;
|
||||
gSaveContext.save.cutsceneIndex = CS_INDEX_5;
|
||||
play->transitionType = TRANS_TYPE_FADE_WHITE;
|
||||
break;
|
||||
|
||||
case CS_DEST_TEMPLE_OF_TIME_ZORAS_SAPPHIRE_RESTORED:
|
||||
play->nextEntranceIndex = ENTR_TEMPLE_OF_TIME_0;
|
||||
play->transitionTrigger = TRANS_TRIGGER_START;
|
||||
gSaveContext.save.cutsceneIndex = 0xFFF6;
|
||||
gSaveContext.save.cutsceneIndex = CS_INDEX_6;
|
||||
play->transitionType = TRANS_TYPE_FADE_WHITE;
|
||||
break;
|
||||
|
||||
|
@ -770,13 +769,13 @@ void CutsceneCmd_Destination(PlayState* play, CutsceneContext* csCtx, CsCmdDesti
|
|||
play->nextEntranceIndex = ENTR_DEATH_MOUNTAIN_TRAIL_0;
|
||||
play->transitionTrigger = TRANS_TRIGGER_START;
|
||||
play->transitionType = TRANS_TYPE_FADE_BLACK_FAST;
|
||||
gSaveContext.save.cutsceneIndex = 0x8000;
|
||||
gSaveContext.save.cutsceneIndex = CS_INDEX_DAY;
|
||||
break;
|
||||
|
||||
case CS_DEST_LAKE_HYLIA_WATER_RESTORED:
|
||||
play->nextEntranceIndex = ENTR_LAKE_HYLIA_0;
|
||||
play->transitionTrigger = TRANS_TRIGGER_START;
|
||||
gSaveContext.save.cutsceneIndex = 0xFFF0;
|
||||
gSaveContext.save.cutsceneIndex = CS_INDEX_0;
|
||||
play->transitionType = TRANS_TYPE_FADE_WHITE;
|
||||
break;
|
||||
|
||||
|
@ -784,14 +783,14 @@ void CutsceneCmd_Destination(PlayState* play, CutsceneContext* csCtx, CsCmdDesti
|
|||
Item_Give(play, ITEM_SONG_REQUIEM);
|
||||
play->nextEntranceIndex = ENTR_DESERT_COLOSSUS_0;
|
||||
play->transitionTrigger = TRANS_TRIGGER_START;
|
||||
gSaveContext.save.cutsceneIndex = 0xFFF0;
|
||||
gSaveContext.save.cutsceneIndex = CS_INDEX_0;
|
||||
play->transitionType = TRANS_TYPE_FADE_WHITE;
|
||||
break;
|
||||
|
||||
case CS_DEST_CUTSCENE_MAP_GANONDORF_DEFEATED_CREDITS:
|
||||
play->nextEntranceIndex = ENTR_CUTSCENE_MAP_0;
|
||||
play->transitionTrigger = TRANS_TRIGGER_START;
|
||||
gSaveContext.save.cutsceneIndex = 0xFFF8;
|
||||
gSaveContext.save.cutsceneIndex = CS_INDEX_8;
|
||||
play->transitionType = TRANS_TYPE_FADE_WHITE;
|
||||
break;
|
||||
|
||||
|
@ -805,28 +804,28 @@ void CutsceneCmd_Destination(PlayState* play, CutsceneContext* csCtx, CsCmdDesti
|
|||
play->linkAgeOnLoad = LINK_AGE_ADULT;
|
||||
play->nextEntranceIndex = ENTR_CHAMBER_OF_THE_SAGES_0;
|
||||
play->transitionTrigger = TRANS_TRIGGER_START;
|
||||
gSaveContext.save.cutsceneIndex = 0xFFF0;
|
||||
gSaveContext.save.cutsceneIndex = CS_INDEX_0;
|
||||
play->transitionType = TRANS_TYPE_FADE_WHITE;
|
||||
break;
|
||||
|
||||
case CS_DEST_TEMPLE_OF_TIME_KOKIRI_EMERALD_RESTORED_2:
|
||||
play->nextEntranceIndex = ENTR_TEMPLE_OF_TIME_0;
|
||||
play->transitionTrigger = TRANS_TRIGGER_START;
|
||||
gSaveContext.save.cutsceneIndex = 0xFFF4;
|
||||
gSaveContext.save.cutsceneIndex = CS_INDEX_4;
|
||||
play->transitionType = TRANS_TYPE_FADE_WHITE;
|
||||
break;
|
||||
|
||||
case CS_DEST_TEMPLE_OF_TIME_GORON_RUBY_RESTORED_2:
|
||||
play->nextEntranceIndex = ENTR_TEMPLE_OF_TIME_0;
|
||||
play->transitionTrigger = TRANS_TRIGGER_START;
|
||||
gSaveContext.save.cutsceneIndex = 0xFFF5;
|
||||
gSaveContext.save.cutsceneIndex = CS_INDEX_5;
|
||||
play->transitionType = TRANS_TYPE_FADE_WHITE;
|
||||
break;
|
||||
|
||||
case CS_DEST_TEMPLE_OF_TIME_ZORAS_SAPPHIRE_RESTORED_2:
|
||||
play->nextEntranceIndex = ENTR_TEMPLE_OF_TIME_0;
|
||||
play->transitionTrigger = TRANS_TRIGGER_START;
|
||||
gSaveContext.save.cutsceneIndex = 0xFFF6;
|
||||
gSaveContext.save.cutsceneIndex = CS_INDEX_6;
|
||||
play->transitionType = TRANS_TYPE_FADE_WHITE;
|
||||
break;
|
||||
|
||||
|
@ -856,7 +855,7 @@ void CutsceneCmd_Destination(PlayState* play, CutsceneContext* csCtx, CsCmdDesti
|
|||
play->linkAgeOnLoad = LINK_AGE_CHILD;
|
||||
play->nextEntranceIndex = ENTR_HYRULE_FIELD_0;
|
||||
play->transitionTrigger = TRANS_TRIGGER_START;
|
||||
gSaveContext.save.cutsceneIndex = 0xFFF2;
|
||||
gSaveContext.save.cutsceneIndex = CS_INDEX_2;
|
||||
play->transitionType = TRANS_TYPE_INSTANT;
|
||||
break;
|
||||
|
||||
|
@ -869,28 +868,28 @@ void CutsceneCmd_Destination(PlayState* play, CutsceneContext* csCtx, CsCmdDesti
|
|||
case CS_DEST_CUTSCENE_MAP_GANONDORF_FROM_MASTER_SWORD:
|
||||
play->nextEntranceIndex = ENTR_CUTSCENE_MAP_0;
|
||||
play->transitionTrigger = TRANS_TRIGGER_START;
|
||||
gSaveContext.save.cutsceneIndex = 0xFFF3;
|
||||
gSaveContext.save.cutsceneIndex = CS_INDEX_3;
|
||||
play->transitionType = TRANS_TYPE_FADE_WHITE;
|
||||
break;
|
||||
|
||||
case CS_DEST_HYRULE_FIELD_INTRO_DREAM:
|
||||
play->nextEntranceIndex = ENTR_HYRULE_FIELD_0;
|
||||
play->transitionTrigger = TRANS_TRIGGER_START;
|
||||
gSaveContext.save.cutsceneIndex = 0xFFF0;
|
||||
gSaveContext.save.cutsceneIndex = CS_INDEX_0;
|
||||
play->transitionType = TRANS_TYPE_FADE_BLACK_FAST;
|
||||
break;
|
||||
|
||||
case CS_DEST_CUTSCENE_MAP_SHEIKAH_LEGEND:
|
||||
play->nextEntranceIndex = ENTR_CUTSCENE_MAP_0;
|
||||
play->transitionTrigger = TRANS_TRIGGER_START;
|
||||
gSaveContext.save.cutsceneIndex = 0xFFF4;
|
||||
gSaveContext.save.cutsceneIndex = CS_INDEX_4;
|
||||
play->transitionType = TRANS_TYPE_FADE_BLACK_FAST;
|
||||
break;
|
||||
|
||||
case CS_DEST_TEMPLE_OF_TIME_ZELDA_REVEAL:
|
||||
play->nextEntranceIndex = ENTR_TEMPLE_OF_TIME_0;
|
||||
play->transitionTrigger = TRANS_TRIGGER_START;
|
||||
gSaveContext.save.cutsceneIndex = 0xFFF9;
|
||||
gSaveContext.save.cutsceneIndex = CS_INDEX_9;
|
||||
play->transitionType = TRANS_TYPE_FADE_BLACK_FAST;
|
||||
break;
|
||||
|
||||
|
@ -898,7 +897,7 @@ void CutsceneCmd_Destination(PlayState* play, CutsceneContext* csCtx, CsCmdDesti
|
|||
play->linkAgeOnLoad = LINK_AGE_ADULT;
|
||||
play->nextEntranceIndex = ENTR_TEMPLE_OF_TIME_0;
|
||||
play->transitionTrigger = TRANS_TRIGGER_START;
|
||||
gSaveContext.save.cutsceneIndex = 0xFFFA;
|
||||
gSaveContext.save.cutsceneIndex = CS_INDEX_A;
|
||||
play->transitionType = TRANS_TYPE_FADE_BLACK_FAST;
|
||||
break;
|
||||
|
||||
|
@ -911,7 +910,7 @@ void CutsceneCmd_Destination(PlayState* play, CutsceneContext* csCtx, CsCmdDesti
|
|||
case CS_DEST_KAKARIKO_VILLAGE_DRAIN_WELL:
|
||||
play->nextEntranceIndex = ENTR_KAKARIKO_VILLAGE_0;
|
||||
play->transitionTrigger = TRANS_TRIGGER_START;
|
||||
gSaveContext.save.cutsceneIndex = 0xFFF2;
|
||||
gSaveContext.save.cutsceneIndex = CS_INDEX_2;
|
||||
play->transitionType = TRANS_TYPE_FADE_BLACK_FAST;
|
||||
break;
|
||||
|
||||
|
@ -941,7 +940,7 @@ void CutsceneCmd_Destination(PlayState* play, CutsceneContext* csCtx, CsCmdDesti
|
|||
SET_EVENTCHKINF(EVENTCHKINF_54);
|
||||
play->nextEntranceIndex = ENTR_KAKARIKO_VILLAGE_0;
|
||||
play->transitionTrigger = TRANS_TRIGGER_START;
|
||||
gSaveContext.save.cutsceneIndex = 0xFFF1;
|
||||
gSaveContext.save.cutsceneIndex = CS_INDEX_1;
|
||||
play->transitionType = TRANS_TYPE_FADE_BLACK_FAST;
|
||||
break;
|
||||
|
||||
|
@ -966,14 +965,14 @@ void CutsceneCmd_Destination(PlayState* play, CutsceneContext* csCtx, CsCmdDesti
|
|||
|
||||
case CS_DEST_HYRULE_FIELD_FROM_ZELDAS_COURTYARD:
|
||||
play->nextEntranceIndex = ENTR_HYRULE_FIELD_0;
|
||||
gSaveContext.save.cutsceneIndex = 0xFFF8;
|
||||
gSaveContext.save.cutsceneIndex = CS_INDEX_8;
|
||||
play->transitionTrigger = TRANS_TRIGGER_START;
|
||||
play->transitionType = TRANS_TYPE_CIRCLE(TCA_NORMAL, TCC_WHITE, TCS_SLOW);
|
||||
break;
|
||||
|
||||
case CS_DEST_TEMPLE_OF_TIME_SONG_OF_TIME:
|
||||
play->nextEntranceIndex = ENTR_TEMPLE_OF_TIME_0;
|
||||
gSaveContext.save.cutsceneIndex = 0xFFF7;
|
||||
gSaveContext.save.cutsceneIndex = CS_INDEX_7;
|
||||
play->transitionTrigger = TRANS_TRIGGER_START;
|
||||
play->transitionType = TRANS_TYPE_INSTANT;
|
||||
break;
|
||||
|
@ -991,56 +990,56 @@ void CutsceneCmd_Destination(PlayState* play, CutsceneContext* csCtx, CsCmdDesti
|
|||
#endif
|
||||
play->linkAgeOnLoad = LINK_AGE_CHILD;
|
||||
play->nextEntranceIndex = ENTR_GERUDO_VALLEY_0;
|
||||
gSaveContext.save.cutsceneIndex = 0xFFF2;
|
||||
gSaveContext.save.cutsceneIndex = CS_INDEX_2;
|
||||
play->transitionTrigger = TRANS_TRIGGER_START;
|
||||
play->transitionType = TRANS_TYPE_FADE_BLACK;
|
||||
break;
|
||||
|
||||
case CS_DEST_GERUDO_FORTRESS_CREDITS:
|
||||
play->nextEntranceIndex = ENTR_GERUDOS_FORTRESS_0;
|
||||
gSaveContext.save.cutsceneIndex = 0xFFF1;
|
||||
gSaveContext.save.cutsceneIndex = CS_INDEX_1;
|
||||
play->transitionTrigger = TRANS_TRIGGER_START;
|
||||
play->transitionType = TRANS_TYPE_FADE_BLACK;
|
||||
break;
|
||||
|
||||
case CS_DEST_KAKARIKO_VILLAGE_CREDITS:
|
||||
play->nextEntranceIndex = ENTR_KAKARIKO_VILLAGE_0;
|
||||
gSaveContext.save.cutsceneIndex = 0xFFF4;
|
||||
gSaveContext.save.cutsceneIndex = CS_INDEX_4;
|
||||
play->transitionTrigger = TRANS_TRIGGER_START;
|
||||
play->transitionType = TRANS_TYPE_FADE_BLACK;
|
||||
break;
|
||||
|
||||
case CS_DEST_DEATH_MOUNTAIN_TRAIL_CREDITS_PART_1:
|
||||
play->nextEntranceIndex = ENTR_DEATH_MOUNTAIN_TRAIL_0;
|
||||
gSaveContext.save.cutsceneIndex = 0xFFF3;
|
||||
gSaveContext.save.cutsceneIndex = CS_INDEX_3;
|
||||
play->transitionTrigger = TRANS_TRIGGER_START;
|
||||
play->transitionType = TRANS_TYPE_FADE_BLACK;
|
||||
break;
|
||||
|
||||
case CS_DEST_GORON_CITY_CREDITS:
|
||||
play->nextEntranceIndex = ENTR_GORON_CITY_0;
|
||||
gSaveContext.save.cutsceneIndex = 0xFFF1;
|
||||
gSaveContext.save.cutsceneIndex = CS_INDEX_1;
|
||||
play->transitionTrigger = TRANS_TRIGGER_START;
|
||||
play->transitionType = TRANS_TYPE_FADE_BLACK;
|
||||
break;
|
||||
|
||||
case CS_DEST_LAKE_HYLIA_CREDITS:
|
||||
play->nextEntranceIndex = ENTR_LAKE_HYLIA_0;
|
||||
gSaveContext.save.cutsceneIndex = 0xFFF1;
|
||||
gSaveContext.save.cutsceneIndex = CS_INDEX_1;
|
||||
play->transitionTrigger = TRANS_TRIGGER_START;
|
||||
play->transitionType = TRANS_TYPE_FADE_BLACK;
|
||||
break;
|
||||
|
||||
case CS_DEST_ZORAS_FOUNTAIN_CREDITS:
|
||||
play->nextEntranceIndex = ENTR_ZORAS_FOUNTAIN_0;
|
||||
gSaveContext.save.cutsceneIndex = 0xFFF2;
|
||||
gSaveContext.save.cutsceneIndex = CS_INDEX_2;
|
||||
play->transitionTrigger = TRANS_TRIGGER_START;
|
||||
play->transitionType = TRANS_TYPE_FADE_BLACK;
|
||||
break;
|
||||
|
||||
case CS_DEST_ZORAS_DOMAIN_CREDITS:
|
||||
play->nextEntranceIndex = ENTR_ZORAS_DOMAIN_0;
|
||||
gSaveContext.save.cutsceneIndex = 0xFFF0;
|
||||
gSaveContext.save.cutsceneIndex = CS_INDEX_0;
|
||||
play->transitionTrigger = TRANS_TRIGGER_START;
|
||||
play->transitionType = TRANS_TYPE_FADE_BLACK;
|
||||
break;
|
||||
|
@ -1048,21 +1047,21 @@ void CutsceneCmd_Destination(PlayState* play, CutsceneContext* csCtx, CsCmdDesti
|
|||
case CS_DEST_KOKIRI_FOREST_CREDITS_PART_1:
|
||||
play->linkAgeOnLoad = LINK_AGE_ADULT;
|
||||
play->nextEntranceIndex = ENTR_KOKIRI_FOREST_0;
|
||||
gSaveContext.save.cutsceneIndex = 0xFFF6;
|
||||
gSaveContext.save.cutsceneIndex = CS_INDEX_6;
|
||||
play->transitionTrigger = TRANS_TRIGGER_START;
|
||||
play->transitionType = TRANS_TYPE_FADE_BLACK;
|
||||
break;
|
||||
|
||||
case CS_DEST_KOKIRI_FOREST_CREDITS_PART_2:
|
||||
play->nextEntranceIndex = ENTR_KOKIRI_FOREST_0;
|
||||
gSaveContext.save.cutsceneIndex = 0xFFF7;
|
||||
gSaveContext.save.cutsceneIndex = CS_INDEX_7;
|
||||
play->transitionTrigger = TRANS_TRIGGER_START;
|
||||
play->transitionType = TRANS_TYPE_FADE_BLACK;
|
||||
break;
|
||||
|
||||
case CS_DEST_HYRULE_FIELD_CREDITS:
|
||||
play->nextEntranceIndex = ENTR_HYRULE_FIELD_0;
|
||||
gSaveContext.save.cutsceneIndex = 0xFFF5;
|
||||
gSaveContext.save.cutsceneIndex = CS_INDEX_5;
|
||||
play->transitionTrigger = TRANS_TRIGGER_START;
|
||||
play->transitionType = TRANS_TYPE_FADE_BLACK;
|
||||
break;
|
||||
|
@ -1070,7 +1069,7 @@ void CutsceneCmd_Destination(PlayState* play, CutsceneContext* csCtx, CsCmdDesti
|
|||
case CS_DEST_LON_LON_RANCH_CREDITS_PART_1_ALT:
|
||||
play->linkAgeOnLoad = LINK_AGE_CHILD;
|
||||
play->nextEntranceIndex = ENTR_LON_LON_RANCH_0;
|
||||
gSaveContext.save.cutsceneIndex = 0xFFF2;
|
||||
gSaveContext.save.cutsceneIndex = CS_INDEX_2;
|
||||
play->transitionTrigger = TRANS_TRIGGER_START;
|
||||
play->transitionType = TRANS_TYPE_FADE_BLACK;
|
||||
break;
|
||||
|
@ -1090,7 +1089,7 @@ void CutsceneCmd_Destination(PlayState* play, CutsceneContext* csCtx, CsCmdDesti
|
|||
case CS_DEST_CUTSCENE_MAP_DEKU_SPROUT_PART_2:
|
||||
play->nextEntranceIndex = ENTR_CUTSCENE_MAP_0;
|
||||
play->transitionTrigger = TRANS_TRIGGER_START;
|
||||
gSaveContext.save.cutsceneIndex = 0xFFF5;
|
||||
gSaveContext.save.cutsceneIndex = CS_INDEX_5;
|
||||
play->transitionType = TRANS_TYPE_FADE_BLACK;
|
||||
break;
|
||||
|
||||
|
@ -1103,7 +1102,7 @@ void CutsceneCmd_Destination(PlayState* play, CutsceneContext* csCtx, CsCmdDesti
|
|||
case CS_DEST_DEATH_MOUNTAIN_TRAIL_CREDITS_PART_2:
|
||||
play->nextEntranceIndex = ENTR_DEATH_MOUNTAIN_TRAIL_0;
|
||||
play->transitionTrigger = TRANS_TRIGGER_START;
|
||||
gSaveContext.save.cutsceneIndex = 0xFFF4;
|
||||
gSaveContext.save.cutsceneIndex = CS_INDEX_4;
|
||||
play->transitionType = TRANS_TYPE_FADE_BLACK;
|
||||
gSaveContext.nextTransitionType = TRANS_TYPE_FADE_BLACK;
|
||||
break;
|
||||
|
@ -1116,14 +1115,14 @@ void CutsceneCmd_Destination(PlayState* play, CutsceneContext* csCtx, CsCmdDesti
|
|||
play->linkAgeOnLoad = LINK_AGE_CHILD;
|
||||
play->nextEntranceIndex = ENTR_TEMPLE_OF_TIME_0;
|
||||
play->transitionTrigger = TRANS_TRIGGER_START;
|
||||
gSaveContext.save.cutsceneIndex = 0xFFF1;
|
||||
gSaveContext.save.cutsceneIndex = CS_INDEX_1;
|
||||
play->transitionType = TRANS_TYPE_FADE_BLACK;
|
||||
break;
|
||||
|
||||
case CS_DEST_ZELDAS_COURTYARD_CREDITS:
|
||||
play->nextEntranceIndex = ENTR_CASTLE_COURTYARD_ZELDA_0;
|
||||
play->transitionTrigger = TRANS_TRIGGER_START;
|
||||
gSaveContext.save.cutsceneIndex = 0xFFF0;
|
||||
gSaveContext.save.cutsceneIndex = CS_INDEX_0;
|
||||
play->transitionType = TRANS_TYPE_FADE_BLACK;
|
||||
gSaveContext.nextTransitionType = TRANS_TYPE_FADE_BLACK;
|
||||
break;
|
||||
|
@ -1132,14 +1131,14 @@ void CutsceneCmd_Destination(PlayState* play, CutsceneContext* csCtx, CsCmdDesti
|
|||
play->linkAgeOnLoad = LINK_AGE_CHILD;
|
||||
play->nextEntranceIndex = ENTR_LON_LON_RANCH_0;
|
||||
play->transitionTrigger = TRANS_TRIGGER_START;
|
||||
gSaveContext.save.cutsceneIndex = 0xFFF2;
|
||||
gSaveContext.save.cutsceneIndex = CS_INDEX_2;
|
||||
play->transitionType = TRANS_TYPE_FADE_BLACK;
|
||||
break;
|
||||
|
||||
case CS_DEST_LON_LON_RANCH_CREDITS_PART_2:
|
||||
play->nextEntranceIndex = ENTR_LON_LON_RANCH_0;
|
||||
play->transitionTrigger = TRANS_TRIGGER_START;
|
||||
gSaveContext.save.cutsceneIndex = 0xFFF3;
|
||||
gSaveContext.save.cutsceneIndex = CS_INDEX_3;
|
||||
play->transitionType = TRANS_TYPE_FADE_WHITE;
|
||||
gSaveContext.nextTransitionType = TRANS_TYPE_FADE_WHITE;
|
||||
break;
|
||||
|
@ -1148,7 +1147,7 @@ void CutsceneCmd_Destination(PlayState* play, CutsceneContext* csCtx, CsCmdDesti
|
|||
play->linkAgeOnLoad = LINK_AGE_CHILD;
|
||||
play->nextEntranceIndex = ENTR_LON_LON_RANCH_0;
|
||||
play->transitionTrigger = TRANS_TRIGGER_START;
|
||||
gSaveContext.save.cutsceneIndex = 0xFFF4;
|
||||
gSaveContext.save.cutsceneIndex = CS_INDEX_4;
|
||||
play->transitionType = TRANS_TYPE_FADE_BLACK;
|
||||
break;
|
||||
|
||||
|
@ -1156,7 +1155,7 @@ void CutsceneCmd_Destination(PlayState* play, CutsceneContext* csCtx, CsCmdDesti
|
|||
play->linkAgeOnLoad = LINK_AGE_ADULT;
|
||||
play->nextEntranceIndex = ENTR_LON_LON_RANCH_0;
|
||||
play->transitionTrigger = TRANS_TRIGGER_START;
|
||||
gSaveContext.save.cutsceneIndex = 0xFFF5;
|
||||
gSaveContext.save.cutsceneIndex = CS_INDEX_5;
|
||||
play->transitionType = TRANS_TYPE_FADE_BLACK;
|
||||
break;
|
||||
|
||||
|
@ -1164,14 +1163,14 @@ void CutsceneCmd_Destination(PlayState* play, CutsceneContext* csCtx, CsCmdDesti
|
|||
play->linkAgeOnLoad = LINK_AGE_CHILD;
|
||||
play->nextEntranceIndex = ENTR_LON_LON_RANCH_0;
|
||||
play->transitionTrigger = TRANS_TRIGGER_START;
|
||||
gSaveContext.save.cutsceneIndex = 0xFFF6;
|
||||
gSaveContext.save.cutsceneIndex = CS_INDEX_6;
|
||||
play->transitionType = TRANS_TYPE_FADE_BLACK;
|
||||
break;
|
||||
|
||||
case CS_DEST_LON_LON_RANCH_CREDITS_PART_5:
|
||||
play->nextEntranceIndex = ENTR_LON_LON_RANCH_0;
|
||||
play->transitionTrigger = TRANS_TRIGGER_START;
|
||||
gSaveContext.save.cutsceneIndex = 0xFFF7;
|
||||
gSaveContext.save.cutsceneIndex = CS_INDEX_7;
|
||||
play->transitionType = TRANS_TYPE_FADE_BLACK;
|
||||
break;
|
||||
|
||||
|
@ -1211,7 +1210,7 @@ void CutsceneCmd_Destination(PlayState* play, CutsceneContext* csCtx, CsCmdDesti
|
|||
GET_EVENTCHKINF(EVENTCHKINF_4A)) {
|
||||
play->nextEntranceIndex = ENTR_TEMPLE_OF_TIME_0;
|
||||
play->transitionTrigger = TRANS_TRIGGER_START;
|
||||
gSaveContext.save.cutsceneIndex = 0xFFF3;
|
||||
gSaveContext.save.cutsceneIndex = CS_INDEX_3;
|
||||
play->transitionType = TRANS_TYPE_FADE_BLACK;
|
||||
} else {
|
||||
switch (gSaveContext.sceneLayer) {
|
||||
|
@ -1230,7 +1229,7 @@ void CutsceneCmd_Destination(PlayState* play, CutsceneContext* csCtx, CsCmdDesti
|
|||
case 10:
|
||||
play->nextEntranceIndex = ENTR_LAKE_HYLIA_0;
|
||||
play->transitionTrigger = TRANS_TRIGGER_START;
|
||||
gSaveContext.save.cutsceneIndex = 0xFFF0;
|
||||
gSaveContext.save.cutsceneIndex = CS_INDEX_0;
|
||||
play->transitionType = TRANS_TYPE_FADE_WHITE;
|
||||
break;
|
||||
}
|
||||
|
@ -1241,7 +1240,7 @@ void CutsceneCmd_Destination(PlayState* play, CutsceneContext* csCtx, CsCmdDesti
|
|||
if (CHECK_QUEST_ITEM(QUEST_MEDALLION_SHADOW)) {
|
||||
play->nextEntranceIndex = ENTR_CHAMBER_OF_THE_SAGES_0;
|
||||
play->transitionTrigger = TRANS_TRIGGER_START;
|
||||
gSaveContext.save.cutsceneIndex = 0xFFF1;
|
||||
gSaveContext.save.cutsceneIndex = CS_INDEX_1;
|
||||
play->transitionType = TRANS_TYPE_FADE_WHITE_FAST;
|
||||
} else {
|
||||
SET_EVENTCHKINF(EVENTCHKINF_C8);
|
||||
|
@ -1256,7 +1255,7 @@ void CutsceneCmd_Destination(PlayState* play, CutsceneContext* csCtx, CsCmdDesti
|
|||
if (CHECK_QUEST_ITEM(QUEST_MEDALLION_SPIRIT)) {
|
||||
play->nextEntranceIndex = ENTR_CHAMBER_OF_THE_SAGES_0;
|
||||
play->transitionTrigger = TRANS_TRIGGER_START;
|
||||
gSaveContext.save.cutsceneIndex = 0xFFF1;
|
||||
gSaveContext.save.cutsceneIndex = CS_INDEX_1;
|
||||
play->transitionType = TRANS_TYPE_FADE_WHITE_FAST;
|
||||
} else {
|
||||
play->nextEntranceIndex = ENTR_GRAVEYARD_8;
|
||||
|
@ -1282,7 +1281,7 @@ void CutsceneCmd_Destination(PlayState* play, CutsceneContext* csCtx, CsCmdDesti
|
|||
|
||||
case CS_DEST_KOKIRI_FOREST_FROM_CHAMBER_OF_SAGES:
|
||||
play->nextEntranceIndex = ENTR_KOKIRI_FOREST_0;
|
||||
gSaveContext.save.cutsceneIndex = 0xFFF8;
|
||||
gSaveContext.save.cutsceneIndex = CS_INDEX_8;
|
||||
play->transitionTrigger = TRANS_TRIGGER_START;
|
||||
play->transitionType = TRANS_TYPE_FADE_WHITE;
|
||||
gSaveContext.nextTransitionType = TRANS_TYPE_FADE_WHITE;
|
||||
|
@ -1303,7 +1302,7 @@ void CutsceneCmd_Destination(PlayState* play, CutsceneContext* csCtx, CsCmdDesti
|
|||
case CS_DEST_HYRULE_FIELD_TITLE_SCREEN:
|
||||
play->nextEntranceIndex = ENTR_HYRULE_FIELD_0;
|
||||
play->transitionTrigger = TRANS_TRIGGER_START;
|
||||
gSaveContext.save.cutsceneIndex = 0xFFF3;
|
||||
gSaveContext.save.cutsceneIndex = CS_INDEX_3;
|
||||
play->transitionType = TRANS_TYPE_FADE_BLACK;
|
||||
break;
|
||||
|
||||
|
@ -1312,7 +1311,7 @@ void CutsceneCmd_Destination(PlayState* play, CutsceneContext* csCtx, CsCmdDesti
|
|||
case TITLE_DEMO_SPIRIT_TEMPLE:
|
||||
play->nextEntranceIndex = ENTR_SPIRIT_TEMPLE_BOSS_0;
|
||||
play->transitionTrigger = TRANS_TRIGGER_START;
|
||||
gSaveContext.save.cutsceneIndex = 0xFFF2;
|
||||
gSaveContext.save.cutsceneIndex = CS_INDEX_2;
|
||||
play->transitionType = TRANS_TYPE_FADE_BLACK;
|
||||
sTitleDemoDestination++;
|
||||
break;
|
||||
|
@ -1320,7 +1319,7 @@ void CutsceneCmd_Destination(PlayState* play, CutsceneContext* csCtx, CsCmdDesti
|
|||
case TITLE_DEMO_DEATH_MOUNTAIN_CRATER:
|
||||
play->nextEntranceIndex = ENTR_DEATH_MOUNTAIN_CRATER_0;
|
||||
play->transitionTrigger = TRANS_TRIGGER_START;
|
||||
gSaveContext.save.cutsceneIndex = 0xFFF1;
|
||||
gSaveContext.save.cutsceneIndex = CS_INDEX_1;
|
||||
play->transitionType = TRANS_TYPE_FADE_BLACK;
|
||||
sTitleDemoDestination++;
|
||||
break;
|
||||
|
@ -1328,7 +1327,7 @@ void CutsceneCmd_Destination(PlayState* play, CutsceneContext* csCtx, CsCmdDesti
|
|||
case TITLE_DEMO_GANONDORF_HORSE:
|
||||
play->nextEntranceIndex = ENTR_CUTSCENE_MAP_0;
|
||||
play->transitionTrigger = TRANS_TRIGGER_START;
|
||||
gSaveContext.save.cutsceneIndex = 0xFFF6;
|
||||
gSaveContext.save.cutsceneIndex = CS_INDEX_6;
|
||||
play->transitionType = TRANS_TYPE_FADE_BLACK;
|
||||
sTitleDemoDestination = TITLE_DEMO_SPIRIT_TEMPLE;
|
||||
break;
|
||||
|
@ -1338,7 +1337,7 @@ void CutsceneCmd_Destination(PlayState* play, CutsceneContext* csCtx, CsCmdDesti
|
|||
case CS_DEST_GRAVEYARD_SUNS_SONG_PART_2:
|
||||
play->nextEntranceIndex = ENTR_GRAVEYARD_0;
|
||||
play->transitionTrigger = TRANS_TRIGGER_START;
|
||||
gSaveContext.save.cutsceneIndex = 0xFFF1;
|
||||
gSaveContext.save.cutsceneIndex = CS_INDEX_1;
|
||||
play->transitionType = TRANS_TYPE_FADE_BLACK;
|
||||
break;
|
||||
|
||||
|
@ -1391,10 +1390,16 @@ void CutsceneCmd_Destination(PlayState* play, CutsceneContext* csCtx, CsCmdDesti
|
|||
play->csCtx.script = SEGMENTED_TO_VIRTUAL(gTowerBarrierCs);
|
||||
play->csCtx.curFrame = 0;
|
||||
gSaveContext.cutsceneTrigger = 1;
|
||||
gSaveContext.save.cutsceneIndex = 0xFFFF;
|
||||
// Force cutsceneIndex to CS_INDEX_F so that CS_STATE_STOP is handled by the "scripted" system's
|
||||
// CutsceneHandler_StopScript.
|
||||
// Otherwise, because cutsceneIndex is set to 0 above, CS_STATE_STOP would be handled by the
|
||||
// "manual" cutscene system's CutsceneHandler_StopManual, which does not terminate the cutscene
|
||||
// camera, resulting in a softlock.
|
||||
gSaveContext.save.cutsceneIndex = CS_INDEX_F;
|
||||
csCtx->state = CS_STATE_STOP;
|
||||
} else {
|
||||
gSaveContext.save.cutsceneIndex = 0xFFFF;
|
||||
// Same as above
|
||||
gSaveContext.save.cutsceneIndex = CS_INDEX_F;
|
||||
csCtx->state = CS_STATE_STOP;
|
||||
}
|
||||
break;
|
||||
|
@ -1431,7 +1436,7 @@ void CutsceneCmd_Destination(PlayState* play, CutsceneContext* csCtx, CsCmdDesti
|
|||
Audio_SetSfxBanksMute(0x6F);
|
||||
play->linkAgeOnLoad = LINK_AGE_ADULT;
|
||||
play->nextEntranceIndex = ENTR_HYRULE_FIELD_0;
|
||||
gSaveContext.save.cutsceneIndex = 0xFFF7;
|
||||
gSaveContext.save.cutsceneIndex = CS_INDEX_7;
|
||||
play->transitionTrigger = TRANS_TRIGGER_START;
|
||||
play->transitionType = TRANS_TYPE_FADE_WHITE;
|
||||
break;
|
||||
|
@ -1472,14 +1477,12 @@ void CutsceneCmd_Transition(PlayState* play, CutsceneContext* csCtx, CsCmdTransi
|
|||
play->envCtx.screenFillColor[3] = 255.0f * lerp;
|
||||
|
||||
if ((lerp == 0.0f) && (gSaveContext.save.entranceIndex == ENTR_CHAMBER_OF_THE_SAGES_0)) {
|
||||
Audio_PlaySfxGeneral(NA_SE_SY_WHITE_OUT_S, &gSfxDefaultPos, 4, &gSfxDefaultFreqAndVolScale,
|
||||
&gSfxDefaultFreqAndVolScale, &gSfxDefaultReverb);
|
||||
SFX_PLAY_CENTERED(NA_SE_SY_WHITE_OUT_S);
|
||||
} else if ((lerp == 0.0f) &&
|
||||
((gSaveContext.save.entranceIndex == ENTR_TEMPLE_OF_TIME_0) ||
|
||||
(gSaveContext.save.entranceIndex == ENTR_HYRULE_CASTLE_0) ||
|
||||
(gSaveContext.save.entranceIndex == ENTR_GREAT_FAIRYS_FOUNTAIN_SPELLS_0))) {
|
||||
Audio_PlaySfxGeneral(NA_SE_EV_WHITE_OUT, &gSfxDefaultPos, 4, &gSfxDefaultFreqAndVolScale,
|
||||
&gSfxDefaultFreqAndVolScale, &gSfxDefaultReverb);
|
||||
SFX_PLAY_CENTERED(NA_SE_EV_WHITE_OUT);
|
||||
} else if ((lerp == 0.0f) && (play->sceneId == SCENE_INSIDE_GANONS_CASTLE)) {
|
||||
Sfx_PlaySfxCentered2(NA_SE_EV_WHITE_OUT);
|
||||
}
|
||||
|
@ -2240,7 +2243,7 @@ void Cutscene_ProcessScript(PlayState* play, CutsceneContext* csCtx, u8* script)
|
|||
}
|
||||
|
||||
void CutsceneHandler_RunScript(PlayState* play, CutsceneContext* csCtx) {
|
||||
if (gSaveContext.save.cutsceneIndex >= 0xFFF0) {
|
||||
if (gSaveContext.save.cutsceneIndex >= CS_INDEX_0) {
|
||||
#if DEBUG_FEATURES
|
||||
if (BREG(0) != 0) {
|
||||
Gfx* displayList;
|
||||
|
@ -2293,7 +2296,7 @@ void CutsceneHandler_StopScript(PlayState* play, CutsceneContext* csCtx) {
|
|||
|
||||
PRINTF(T("\n\n\n\n\nやっぱりここかいな", "\n\n\n\n\nThis is it after all"));
|
||||
|
||||
gSaveContext.save.cutsceneIndex = 0;
|
||||
gSaveContext.save.cutsceneIndex = CS_INDEX_NONE;
|
||||
gSaveContext.gameMode = GAMEMODE_NORMAL;
|
||||
|
||||
if (gUseCutsceneCam) {
|
||||
|
@ -2319,10 +2322,10 @@ void Cutscene_SetupScripted(PlayState* play, CutsceneContext* csCtx) {
|
|||
u8 i;
|
||||
|
||||
if ((gSaveContext.cutsceneTrigger != 0) && (csCtx->state == CS_STATE_IDLE) && !Player_InCsMode(play)) {
|
||||
gSaveContext.save.cutsceneIndex = 0xFFFD;
|
||||
gSaveContext.save.cutsceneIndex = CS_INDEX_D;
|
||||
}
|
||||
|
||||
if ((gSaveContext.save.cutsceneIndex >= 0xFFF0) && (csCtx->state == CS_STATE_IDLE)) {
|
||||
if ((gSaveContext.save.cutsceneIndex >= CS_INDEX_0) && (csCtx->state == CS_STATE_IDLE)) {
|
||||
CutsceneFlags_Unset(play, 0);
|
||||
|
||||
sCurTextId = 0;
|
||||
|
@ -2404,7 +2407,7 @@ void Cutscene_HandleEntranceTriggers(PlayState* play) {
|
|||
|
||||
if ((gSaveContext.save.entranceIndex == entranceCutscene->entrance) &&
|
||||
(!Flags_GetEventChkInf(entranceCutscene->flag) || (entranceCutscene->flag == EVENTCHKINF_EPONA_OBTAINED)) &&
|
||||
(gSaveContext.save.cutsceneIndex < 0xFFF0) && ((u8)gSaveContext.save.linkAge == requiredAge) &&
|
||||
(gSaveContext.save.cutsceneIndex < CS_INDEX_0) && ((u8)gSaveContext.save.linkAge == requiredAge) &&
|
||||
(gSaveContext.respawnFlag <= 0)) {
|
||||
Flags_SetEventChkInf(entranceCutscene->flag);
|
||||
Cutscene_SetScript(play, entranceCutscene->script);
|
||||
|
@ -2419,32 +2422,32 @@ void Cutscene_HandleConditionalTriggers(PlayState* play) {
|
|||
PRINTF("\ngame_info.mode=[%d] restart_flag", ((void)0, gSaveContext.respawnFlag));
|
||||
|
||||
if ((gSaveContext.gameMode == GAMEMODE_NORMAL) && (gSaveContext.respawnFlag <= 0) &&
|
||||
(gSaveContext.save.cutsceneIndex < 0xFFF0)) {
|
||||
(gSaveContext.save.cutsceneIndex < CS_INDEX_0)) {
|
||||
if ((gSaveContext.save.entranceIndex == ENTR_DESERT_COLOSSUS_1) && !Flags_GetEventChkInf(EVENTCHKINF_AC)) {
|
||||
Flags_SetEventChkInf(EVENTCHKINF_AC);
|
||||
gSaveContext.save.entranceIndex = ENTR_DESERT_COLOSSUS_0;
|
||||
gSaveContext.save.cutsceneIndex = 0xFFF0;
|
||||
gSaveContext.save.cutsceneIndex = CS_INDEX_0;
|
||||
} else if ((gSaveContext.save.entranceIndex == ENTR_KAKARIKO_VILLAGE_0) && LINK_IS_ADULT &&
|
||||
GET_EVENTCHKINF(EVENTCHKINF_48) && GET_EVENTCHKINF(EVENTCHKINF_49) &&
|
||||
GET_EVENTCHKINF(EVENTCHKINF_4A) && !Flags_GetEventChkInf(EVENTCHKINF_AA)) {
|
||||
Flags_SetEventChkInf(EVENTCHKINF_AA);
|
||||
gSaveContext.save.cutsceneIndex = 0xFFF0;
|
||||
gSaveContext.save.cutsceneIndex = CS_INDEX_0;
|
||||
} else if ((gSaveContext.save.entranceIndex == ENTR_LOST_WOODS_9) && !Flags_GetEventChkInf(EVENTCHKINF_C1)) {
|
||||
Flags_SetEventChkInf(EVENTCHKINF_C1);
|
||||
Item_Give(play, ITEM_OCARINA_FAIRY);
|
||||
gSaveContext.save.entranceIndex = ENTR_LOST_WOODS_0;
|
||||
gSaveContext.save.cutsceneIndex = 0xFFF0;
|
||||
gSaveContext.save.cutsceneIndex = CS_INDEX_0;
|
||||
} else if (CHECK_QUEST_ITEM(QUEST_MEDALLION_SPIRIT) && CHECK_QUEST_ITEM(QUEST_MEDALLION_SHADOW) &&
|
||||
LINK_IS_ADULT && !Flags_GetEventChkInf(EVENTCHKINF_C4) &&
|
||||
(gEntranceTable[((void)0, gSaveContext.save.entranceIndex)].sceneId == SCENE_TEMPLE_OF_TIME)) {
|
||||
Flags_SetEventChkInf(EVENTCHKINF_C4);
|
||||
gSaveContext.save.entranceIndex = ENTR_TEMPLE_OF_TIME_0;
|
||||
gSaveContext.save.cutsceneIndex = 0xFFF8;
|
||||
gSaveContext.save.cutsceneIndex = CS_INDEX_8;
|
||||
} else if (!Flags_GetEventChkInf(EVENTCHKINF_C7) &&
|
||||
(gEntranceTable[((void)0, gSaveContext.save.entranceIndex)].sceneId == SCENE_GANON_BOSS)) {
|
||||
Flags_SetEventChkInf(EVENTCHKINF_C7);
|
||||
gSaveContext.save.entranceIndex = ENTR_GANON_BOSS_0;
|
||||
gSaveContext.save.cutsceneIndex = 0xFFF0;
|
||||
gSaveContext.save.cutsceneIndex = CS_INDEX_0;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -965,8 +965,7 @@ void EnItem00_Update(Actor* thisx, PlayState* play) {
|
|||
}
|
||||
|
||||
if ((*params <= ITEM00_RUPEE_RED) || (*params == ITEM00_RUPEE_ORANGE)) {
|
||||
Audio_PlaySfxGeneral(NA_SE_SY_GET_RUPY, &gSfxDefaultPos, 4, &gSfxDefaultFreqAndVolScale,
|
||||
&gSfxDefaultFreqAndVolScale, &gSfxDefaultReverb);
|
||||
SFX_PLAY_CENTERED(NA_SE_SY_GET_RUPY);
|
||||
} else if (getItemId != GI_NONE) {
|
||||
if (Actor_HasParent(&this->actor, play)) {
|
||||
Flags_SetCollectible(play, this->collectibleFlag);
|
||||
|
@ -974,8 +973,7 @@ void EnItem00_Update(Actor* thisx, PlayState* play) {
|
|||
}
|
||||
return;
|
||||
} else {
|
||||
Audio_PlaySfxGeneral(NA_SE_SY_GET_ITEM, &gSfxDefaultPos, 4, &gSfxDefaultFreqAndVolScale,
|
||||
&gSfxDefaultFreqAndVolScale, &gSfxDefaultReverb);
|
||||
SFX_PLAY_CENTERED(NA_SE_SY_GET_ITEM);
|
||||
}
|
||||
|
||||
Flags_SetCollectible(play, this->collectibleFlag);
|
||||
|
|
|
@ -68,8 +68,7 @@ void TransitionCircle_Start(void* thisx) {
|
|||
} else {
|
||||
this->texY = (s32)(125.0f * (1 << 2));
|
||||
if (this->appearanceType == TCA_RIPPLE) {
|
||||
Audio_PlaySfxGeneral(NA_SE_OC_SECRET_WARP_OUT, &gSfxDefaultPos, 4, &gSfxDefaultFreqAndVolScale,
|
||||
&gSfxDefaultFreqAndVolScale, &gSfxDefaultReverb);
|
||||
SFX_PLAY_CENTERED(NA_SE_OC_SECRET_WARP_OUT);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -93,8 +92,7 @@ void TransitionCircle_Update(void* thisx, s32 updateRate) {
|
|||
if (this->direction != TRANS_CIRCLE_DIR_IN) {
|
||||
if (this->texY == 0) {
|
||||
if (this->appearanceType == TCA_RIPPLE) {
|
||||
Audio_PlaySfxGeneral(NA_SE_OC_SECRET_WARP_IN, &gSfxDefaultPos, 4, &gSfxDefaultFreqAndVolScale,
|
||||
&gSfxDefaultFreqAndVolScale, &gSfxDefaultReverb);
|
||||
SFX_PLAY_CENTERED(NA_SE_OC_SECRET_WARP_IN);
|
||||
}
|
||||
}
|
||||
this->texY += this->speed * 3 / updateRate;
|
||||
|
|
|
@ -164,15 +164,15 @@ typedef struct HorseCutsceneSpawn {
|
|||
|
||||
void Horse_SetupInCutscene(PlayState* play, Player* player) {
|
||||
static HorseCutsceneSpawn horseSpawns[] = {
|
||||
{ SCENE_GERUDOS_FORTRESS, 0xFFF0, { 3600, 1413, 360 }, 0x8001, HORSE_PTYPE_HORSEBACK_ARCHERY },
|
||||
{ SCENE_LON_LON_RANCH, 0xFFF0, { -250, 1, -1580 }, 0x4000, HORSE_PTYPE_6 }, // Horse Race
|
||||
{ SCENE_LON_LON_RANCH, 0xFFF1, { 0, 0, 0 }, 0x0000, HORSE_PTYPE_5 }, // Learned Epona's Song
|
||||
{ SCENE_LON_LON_RANCH, 0xFFF5, { 0, 0, 0 }, 0x0000, HORSE_PTYPE_7 }, // Credits
|
||||
{ SCENE_HYRULE_FIELD, 0xFFF3, { -2961, 313, 7700 }, 0x0000, HORSE_PTYPE_7 }, // Title Screen
|
||||
{ SCENE_HYRULE_FIELD, 0xFFF4, { -1900, 313, 7015 }, 0x0000, HORSE_PTYPE_7 },
|
||||
{ SCENE_HYRULE_FIELD, 0xFFF5, { -4043, 313, 6933 }, 0x0000, HORSE_PTYPE_7 }, // Credits
|
||||
{ SCENE_HYRULE_FIELD, 0xFFF6, { -4043, 313, 6933 }, 0x0000, HORSE_PTYPE_7 }, // Unused. Hopping Lon Lon
|
||||
// Ranch North Gate
|
||||
{ SCENE_GERUDOS_FORTRESS, CS_INDEX_0, { 3600, 1413, 360 }, 0x8001, HORSE_PTYPE_HORSEBACK_ARCHERY },
|
||||
{ SCENE_LON_LON_RANCH, CS_INDEX_0, { -250, 1, -1580 }, 0x4000, HORSE_PTYPE_6 }, // Horse Race
|
||||
{ SCENE_LON_LON_RANCH, CS_INDEX_1, { 0, 0, 0 }, 0x0000, HORSE_PTYPE_5 }, // Learned Epona's Song
|
||||
{ SCENE_LON_LON_RANCH, CS_INDEX_5, { 0, 0, 0 }, 0x0000, HORSE_PTYPE_7 }, // Credits
|
||||
{ SCENE_HYRULE_FIELD, CS_INDEX_3, { -2961, 313, 7700 }, 0x0000, HORSE_PTYPE_7 }, // Title Screen
|
||||
{ SCENE_HYRULE_FIELD, CS_INDEX_4, { -1900, 313, 7015 }, 0x0000, HORSE_PTYPE_7 },
|
||||
{ SCENE_HYRULE_FIELD, CS_INDEX_5, { -4043, 313, 6933 }, 0x0000, HORSE_PTYPE_7 }, // Credits
|
||||
{ SCENE_HYRULE_FIELD, CS_INDEX_6, { -4043, 313, 6933 }, 0x0000, HORSE_PTYPE_7 }, // Unused. Hopping Lon Lon
|
||||
// Ranch North Gate
|
||||
};
|
||||
s32 pad;
|
||||
s32 i;
|
||||
|
@ -235,7 +235,7 @@ void Horse_SetupInCutscene(PlayState* play, Player* player) {
|
|||
(((void)0, gSaveContext.save.cutsceneIndex) == horseSpawns[i].cutsceneIndex)) {
|
||||
if (horseSpawns[i].type == HORSE_PTYPE_7) {
|
||||
if ((play->sceneId == SCENE_LON_LON_RANCH) &&
|
||||
(((void)0, gSaveContext.save.cutsceneIndex) == 0xFFF1)) {
|
||||
(((void)0, gSaveContext.save.cutsceneIndex) == CS_INDEX_1)) {
|
||||
horseSpawns[i].pos.x = player->actor.world.pos.x;
|
||||
horseSpawns[i].pos.y = player->actor.world.pos.y;
|
||||
horseSpawns[i].pos.z = player->actor.world.pos.z;
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
#pragma increment_block_number "gc-eu:80 gc-eu-mq:80 gc-jp:80 gc-jp-ce:80 gc-jp-mq:80 gc-us:80 gc-us-mq:80 ique-cn:64" \
|
||||
"ntsc-1.0:96 ntsc-1.1:96 ntsc-1.2:96 pal-1.0:96 pal-1.1:96"
|
||||
"ntsc-1.0:80 ntsc-1.1:80 ntsc-1.2:80 pal-1.0:80 pal-1.1:80"
|
||||
|
||||
#include "libu64/debug.h"
|
||||
#include "kaleido_manager.h"
|
||||
|
|
|
@ -72,9 +72,9 @@ void KaleidoSetup_Update(PlayState* play) {
|
|||
|
||||
if (!IS_PAUSED(pauseCtx) && play->gameOverCtx.state == GAMEOVER_INACTIVE &&
|
||||
play->transitionTrigger == TRANS_TRIGGER_OFF && play->transitionMode == TRANS_MODE_OFF &&
|
||||
gSaveContext.save.cutsceneIndex < 0xFFF0 && gSaveContext.nextCutsceneIndex < 0xFFF0 && !Play_InCsMode(play) &&
|
||||
play->shootingGalleryStatus <= 1 && gSaveContext.magicState != MAGIC_STATE_STEP_CAPACITY &&
|
||||
gSaveContext.magicState != MAGIC_STATE_FILL &&
|
||||
gSaveContext.save.cutsceneIndex < CS_INDEX_0 && gSaveContext.nextCutsceneIndex < CS_INDEX_0 &&
|
||||
!Play_InCsMode(play) && play->shootingGalleryStatus <= 1 &&
|
||||
gSaveContext.magicState != MAGIC_STATE_STEP_CAPACITY && gSaveContext.magicState != MAGIC_STATE_FILL &&
|
||||
(play->sceneId != SCENE_BOMBCHU_BOWLING_ALLEY || !Flags_GetSwitch(play, 0x38))) {
|
||||
|
||||
if (CHECK_BTN_ALL(input->cur.button, BTN_L) && CHECK_BTN_ALL(input->press.button, BTN_CUP)) {
|
||||
|
|
|
@ -2642,7 +2642,7 @@ void Environment_StopStormNatureAmbience(PlayState* play) {
|
|||
|
||||
void Environment_WarpSongLeave(PlayState* play) {
|
||||
gWeatherMode = WEATHER_MODE_CLEAR;
|
||||
gSaveContext.save.cutsceneIndex = 0;
|
||||
gSaveContext.save.cutsceneIndex = CS_INDEX_NONE;
|
||||
gSaveContext.respawnFlag = -3;
|
||||
play->nextEntranceIndex = gSaveContext.respawn[RESPAWN_MODE_RETURN].entranceIndex;
|
||||
play->transitionTrigger = TRANS_TRIGGER_START;
|
||||
|
|
|
@ -608,22 +608,19 @@ void Color_RGBA8_Copy(Color_RGBA8* dst, Color_RGBA8* src) {
|
|||
* Play a sound effect at the center of the screen.
|
||||
*/
|
||||
void Sfx_PlaySfxCentered(u16 sfxId) {
|
||||
Audio_PlaySfxGeneral(sfxId, &gSfxDefaultPos, 4, &gSfxDefaultFreqAndVolScale, &gSfxDefaultFreqAndVolScale,
|
||||
&gSfxDefaultReverb);
|
||||
SFX_PLAY_CENTERED(sfxId);
|
||||
}
|
||||
|
||||
/**
|
||||
* Play a sound effect at the center of the screen. Identical to `Sfx_PlaySfxCentered`.
|
||||
*/
|
||||
void Sfx_PlaySfxCentered2(u16 sfxId) {
|
||||
Audio_PlaySfxGeneral(sfxId, &gSfxDefaultPos, 4, &gSfxDefaultFreqAndVolScale, &gSfxDefaultFreqAndVolScale,
|
||||
&gSfxDefaultReverb);
|
||||
SFX_PLAY_CENTERED(sfxId);
|
||||
}
|
||||
|
||||
/**
|
||||
* Play a sound effect at the requested position.
|
||||
*/
|
||||
void Sfx_PlaySfxAtPos(Vec3f* projectedPos, u16 sfxId) {
|
||||
Audio_PlaySfxGeneral(sfxId, projectedPos, 4, &gSfxDefaultFreqAndVolScale, &gSfxDefaultFreqAndVolScale,
|
||||
&gSfxDefaultReverb);
|
||||
SFX_PLAY_AT_POS(projectedPos, sfxId);
|
||||
}
|
||||
|
|
|
@ -455,13 +455,9 @@ void Minimap_Draw(PlayState* play) {
|
|||
if (CHECK_BTN_ALL(play->state.input[0].press.button, BTN_L) && !Play_InCsMode(play)) {
|
||||
PRINTF("Game_play_demo_mode_check=%d\n", Play_InCsMode(play));
|
||||
// clang-format off
|
||||
if (!R_MINIMAP_DISABLED) { Audio_PlaySfxGeneral(NA_SE_SY_CAMERA_ZOOM_UP, &gSfxDefaultPos, 4,
|
||||
&gSfxDefaultFreqAndVolScale, &gSfxDefaultFreqAndVolScale,
|
||||
&gSfxDefaultReverb);
|
||||
if (!R_MINIMAP_DISABLED) { SFX_PLAY_CENTERED(NA_SE_SY_CAMERA_ZOOM_UP);
|
||||
} else {
|
||||
Audio_PlaySfxGeneral(NA_SE_SY_CAMERA_ZOOM_DOWN, &gSfxDefaultPos, 4,
|
||||
&gSfxDefaultFreqAndVolScale, &gSfxDefaultFreqAndVolScale,
|
||||
&gSfxDefaultReverb);
|
||||
SFX_PLAY_CENTERED(NA_SE_SY_CAMERA_ZOOM_DOWN);
|
||||
}
|
||||
// clang-format on
|
||||
R_MINIMAP_DISABLED ^= 1;
|
||||
|
@ -541,13 +537,9 @@ void Minimap_Draw(PlayState* play) {
|
|||
|
||||
if (CHECK_BTN_ALL(play->state.input[0].press.button, BTN_L) && !Play_InCsMode(play)) {
|
||||
// clang-format off
|
||||
if (!R_MINIMAP_DISABLED) { Audio_PlaySfxGeneral(NA_SE_SY_CAMERA_ZOOM_UP, &gSfxDefaultPos, 4,
|
||||
&gSfxDefaultFreqAndVolScale, &gSfxDefaultFreqAndVolScale,
|
||||
&gSfxDefaultReverb);
|
||||
if (!R_MINIMAP_DISABLED) { SFX_PLAY_CENTERED(NA_SE_SY_CAMERA_ZOOM_UP);
|
||||
} else {
|
||||
Audio_PlaySfxGeneral(NA_SE_SY_CAMERA_ZOOM_DOWN, &gSfxDefaultPos, 4,
|
||||
&gSfxDefaultFreqAndVolScale, &gSfxDefaultFreqAndVolScale,
|
||||
&gSfxDefaultReverb);
|
||||
SFX_PLAY_CENTERED(NA_SE_SY_CAMERA_ZOOM_DOWN);
|
||||
}
|
||||
// clang-format on
|
||||
R_MINIMAP_DISABLED ^= 1;
|
||||
|
|
|
@ -26,8 +26,8 @@
|
|||
|
||||
#include "assets/textures/parameter_static/parameter_static.h"
|
||||
|
||||
#pragma increment_block_number "gc-eu:0 gc-eu-mq:0 gc-jp:0 gc-jp-ce:0 gc-jp-mq:0 gc-us:0 gc-us-mq:0 ntsc-1.0:32" \
|
||||
"ntsc-1.1:32 ntsc-1.2:32 pal-1.0:0 pal-1.1:0"
|
||||
#pragma increment_block_number "gc-eu:128 gc-eu-mq:128 gc-jp:0 gc-jp-ce:0 gc-jp-mq:0 gc-us:0 gc-us-mq:0 ntsc-1.0:16" \
|
||||
"ntsc-1.1:16 ntsc-1.2:16 pal-1.0:0 pal-1.1:0"
|
||||
|
||||
#if !PLATFORM_IQUE
|
||||
#define MSG_BUF_DECODED (msgCtx->msgBufDecoded)
|
||||
|
@ -348,8 +348,7 @@ u8 Message_ShouldAdvance(PlayState* play) {
|
|||
|
||||
if (CHECK_BTN_ALL(input->press.button, BTN_A) || CHECK_BTN_ALL(input->press.button, BTN_B) ||
|
||||
CHECK_BTN_ALL(input->press.button, BTN_CUP)) {
|
||||
Audio_PlaySfxGeneral(NA_SE_SY_MESSAGE_PASS, &gSfxDefaultPos, 4, &gSfxDefaultFreqAndVolScale,
|
||||
&gSfxDefaultFreqAndVolScale, &gSfxDefaultReverb);
|
||||
SFX_PLAY_CENTERED(NA_SE_SY_MESSAGE_PASS);
|
||||
}
|
||||
return CHECK_BTN_ALL(input->press.button, BTN_A) || CHECK_BTN_ALL(input->press.button, BTN_B) ||
|
||||
CHECK_BTN_ALL(input->press.button, BTN_CUP);
|
||||
|
@ -373,8 +372,7 @@ void Message_CloseTextbox(PlayState* play) {
|
|||
msgCtx->stateTimer = 2;
|
||||
msgCtx->msgMode = MSGMODE_TEXT_CLOSING;
|
||||
msgCtx->textboxEndType = TEXTBOX_ENDTYPE_DEFAULT;
|
||||
Audio_PlaySfxGeneral(NA_SE_NONE, &gSfxDefaultPos, 4, &gSfxDefaultFreqAndVolScale, &gSfxDefaultFreqAndVolScale,
|
||||
&gSfxDefaultReverb);
|
||||
SFX_PLAY_CENTERED(NA_SE_NONE);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -390,8 +388,7 @@ void Message_HandleChoiceSelection(PlayState* play, char numChoices) {
|
|||
if (msgCtx->choiceIndex > 128)
|
||||
msgCtx->choiceIndex = 0;
|
||||
else
|
||||
Audio_PlaySfxGeneral(NA_SE_SY_CURSOR, &gSfxDefaultPos, 4, &gSfxDefaultFreqAndVolScale,
|
||||
&gSfxDefaultFreqAndVolScale, &gSfxDefaultReverb);
|
||||
SFX_PLAY_CENTERED(NA_SE_SY_CURSOR);
|
||||
// NOLINTEND
|
||||
} else if (input->rel.stick_y <= -30 && !sAnalogStickHeld) {
|
||||
sAnalogStickHeld = true;
|
||||
|
@ -400,8 +397,7 @@ void Message_HandleChoiceSelection(PlayState* play, char numChoices) {
|
|||
if (msgCtx->choiceIndex > numChoices)
|
||||
msgCtx->choiceIndex = numChoices;
|
||||
else
|
||||
Audio_PlaySfxGeneral(NA_SE_SY_CURSOR, &gSfxDefaultPos, 4, &gSfxDefaultFreqAndVolScale,
|
||||
&gSfxDefaultFreqAndVolScale, &gSfxDefaultReverb);
|
||||
SFX_PLAY_CENTERED(NA_SE_SY_CURSOR);
|
||||
// NOLINTEND
|
||||
} else if (ABS(input->rel.stick_y) < 30) {
|
||||
sAnalogStickHeld = false;
|
||||
|
@ -1013,8 +1009,7 @@ u16 Message_DrawItemIcon(PlayState* play, u16 itemId, Gfx** p, u16 i) {
|
|||
|
||||
// clang-format off
|
||||
if (msgCtx->msgMode == MSGMODE_TEXT_DISPLAYING) { \
|
||||
Audio_PlaySfxGeneral(NA_SE_NONE, &gSfxDefaultPos, 4, &gSfxDefaultFreqAndVolScale, &gSfxDefaultFreqAndVolScale,
|
||||
&gSfxDefaultReverb);
|
||||
SFX_PLAY_CENTERED(NA_SE_NONE);
|
||||
}
|
||||
// clang-format on
|
||||
|
||||
|
@ -1155,8 +1150,7 @@ void Message_DrawTextWide(PlayState* play, Gfx** gfxP) {
|
|||
case MESSAGE_WIDE_BOX_BREAK:
|
||||
if (msgCtx->msgMode == MSGMODE_TEXT_DISPLAYING) {
|
||||
if (!sTextboxSkipped) {
|
||||
Audio_PlaySfxGeneral(NA_SE_NONE, &gSfxDefaultPos, 4, &gSfxDefaultFreqAndVolScale,
|
||||
&gSfxDefaultFreqAndVolScale, &gSfxDefaultReverb);
|
||||
SFX_PLAY_CENTERED(NA_SE_NONE);
|
||||
msgCtx->msgMode = MSGMODE_TEXT_AWAIT_NEXT;
|
||||
Font_LoadMessageBoxIcon(&play->msgCtx.font, TEXTBOX_ICON_TRIANGLE);
|
||||
} else {
|
||||
|
@ -1173,8 +1167,7 @@ void Message_DrawTextWide(PlayState* play, Gfx** gfxP) {
|
|||
case MESSAGE_WIDE_TEXTID:
|
||||
msgCtx->textboxEndType = TEXTBOX_ENDTYPE_HAS_NEXT;
|
||||
if (msgCtx->msgMode == MSGMODE_TEXT_DISPLAYING) {
|
||||
Audio_PlaySfxGeneral(NA_SE_NONE, &gSfxDefaultPos, 4, &gSfxDefaultFreqAndVolScale,
|
||||
&gSfxDefaultFreqAndVolScale, &gSfxDefaultReverb);
|
||||
SFX_PLAY_CENTERED(NA_SE_NONE);
|
||||
msgCtx->msgMode = MSGMODE_TEXT_DONE;
|
||||
Font_LoadMessageBoxIcon(&play->msgCtx.font, TEXTBOX_ICON_TRIANGLE);
|
||||
}
|
||||
|
@ -1221,8 +1214,7 @@ void Message_DrawTextWide(PlayState* play, Gfx** gfxP) {
|
|||
case MESSAGE_WIDE_SFX:
|
||||
if (msgCtx->msgMode == MSGMODE_TEXT_DISPLAYING && !sMessageHasSetSfx) {
|
||||
sMessageHasSetSfx = true;
|
||||
Audio_PlaySfxGeneral(MSG_BUF_DECODED_WIDE[i + 1], &gSfxDefaultPos, 4, &gSfxDefaultFreqAndVolScale,
|
||||
&gSfxDefaultFreqAndVolScale, &gSfxDefaultReverb);
|
||||
SFX_PLAY_CENTERED(MSG_BUF_DECODED_WIDE[i + 1]);
|
||||
}
|
||||
i++;
|
||||
break;
|
||||
|
@ -1232,8 +1224,7 @@ void Message_DrawTextWide(PlayState* play, Gfx** gfxP) {
|
|||
case MESSAGE_WIDE_BACKGROUND:
|
||||
// clang-format off
|
||||
if (msgCtx->msgMode == MSGMODE_TEXT_DISPLAYING) { \
|
||||
Audio_PlaySfxGeneral(NA_SE_NONE, &gSfxDefaultPos, 4, &gSfxDefaultFreqAndVolScale,
|
||||
&gSfxDefaultFreqAndVolScale, &gSfxDefaultReverb);
|
||||
SFX_PLAY_CENTERED(NA_SE_NONE);
|
||||
}
|
||||
// clang-format on
|
||||
gDPPipeSync(gfx++);
|
||||
|
@ -1316,8 +1307,7 @@ void Message_DrawTextWide(PlayState* play, Gfx** gfxP) {
|
|||
if (msgCtx->msgMode == MSGMODE_TEXT_DISPLAYING) {
|
||||
msgCtx->msgMode = MSGMODE_TEXT_DONE;
|
||||
if (msgCtx->textboxEndType == TEXTBOX_ENDTYPE_DEFAULT) {
|
||||
Audio_PlaySfxGeneral(NA_SE_SY_MESSAGE_END, &gSfxDefaultPos, 4, &gSfxDefaultFreqAndVolScale,
|
||||
&gSfxDefaultFreqAndVolScale, &gSfxDefaultReverb);
|
||||
SFX_PLAY_CENTERED(NA_SE_SY_MESSAGE_END);
|
||||
Font_LoadMessageBoxIcon(font, TEXTBOX_ICON_SQUARE);
|
||||
if (play->csCtx.state == CS_STATE_IDLE) {
|
||||
Interface_SetDoAction(play, DO_ACTION_RETURN);
|
||||
|
@ -1347,8 +1337,7 @@ void Message_DrawTextWide(PlayState* play, Gfx** gfxP) {
|
|||
return;
|
||||
case MESSAGE_WIDE_PERSISTENT:
|
||||
if (msgCtx->msgMode == MSGMODE_TEXT_DISPLAYING) {
|
||||
Audio_PlaySfxGeneral(NA_SE_NONE, &gSfxDefaultPos, 4, &gSfxDefaultFreqAndVolScale,
|
||||
&gSfxDefaultFreqAndVolScale, &gSfxDefaultReverb);
|
||||
SFX_PLAY_CENTERED(NA_SE_NONE);
|
||||
msgCtx->msgMode = MSGMODE_TEXT_DONE;
|
||||
msgCtx->textboxEndType = TEXTBOX_ENDTYPE_PERSISTENT;
|
||||
}
|
||||
|
@ -1359,8 +1348,7 @@ void Message_DrawTextWide(PlayState* play, Gfx** gfxP) {
|
|||
msgCtx->msgMode = MSGMODE_TEXT_DONE;
|
||||
msgCtx->textboxEndType = TEXTBOX_ENDTYPE_EVENT;
|
||||
Font_LoadMessageBoxIcon(&play->msgCtx.font, TEXTBOX_ICON_TRIANGLE);
|
||||
Audio_PlaySfxGeneral(NA_SE_SY_MESSAGE_END, &gSfxDefaultPos, 4, &gSfxDefaultFreqAndVolScale,
|
||||
&gSfxDefaultFreqAndVolScale, &gSfxDefaultReverb);
|
||||
SFX_PLAY_CENTERED(NA_SE_SY_MESSAGE_END);
|
||||
}
|
||||
*gfxP = gfx;
|
||||
return;
|
||||
|
@ -1382,8 +1370,7 @@ void Message_DrawTextWide(PlayState* play, Gfx** gfxP) {
|
|||
}
|
||||
if (msgCtx->msgMode == MSGMODE_TEXT_DISPLAYING && i == msgCtx->textDrawPos - 1 &&
|
||||
msgCtx->textDelayTimer == msgCtx->textDelay) {
|
||||
Audio_PlaySfxGeneral(NA_SE_NONE, &gSfxDefaultPos, 4, &gSfxDefaultFreqAndVolScale,
|
||||
&gSfxDefaultFreqAndVolScale, &gSfxDefaultReverb);
|
||||
SFX_PLAY_CENTERED(NA_SE_NONE);
|
||||
}
|
||||
Message_DrawTextChar(play, &font->charTexBuf[charTexIdx], &gfx);
|
||||
charTexIdx += FONT_CHAR_TEX_SIZE;
|
||||
|
@ -1481,8 +1468,7 @@ void Message_DrawText(PlayState* play, Gfx** gfxP) {
|
|||
case MESSAGE_BOX_BREAK:
|
||||
if (msgCtx->msgMode == MSGMODE_TEXT_DISPLAYING) {
|
||||
if (!sTextboxSkipped) {
|
||||
Audio_PlaySfxGeneral(NA_SE_NONE, &gSfxDefaultPos, 4, &gSfxDefaultFreqAndVolScale,
|
||||
&gSfxDefaultFreqAndVolScale, &gSfxDefaultReverb);
|
||||
SFX_PLAY_CENTERED(NA_SE_NONE);
|
||||
msgCtx->msgMode = MSGMODE_TEXT_AWAIT_NEXT;
|
||||
Font_LoadMessageBoxIcon(font, TEXTBOX_ICON_TRIANGLE);
|
||||
} else {
|
||||
|
@ -1499,8 +1485,7 @@ void Message_DrawText(PlayState* play, Gfx** gfxP) {
|
|||
case MESSAGE_TEXTID:
|
||||
msgCtx->textboxEndType = TEXTBOX_ENDTYPE_HAS_NEXT;
|
||||
if (msgCtx->msgMode == MSGMODE_TEXT_DISPLAYING) {
|
||||
Audio_PlaySfxGeneral(NA_SE_NONE, &gSfxDefaultPos, 4, &gSfxDefaultFreqAndVolScale,
|
||||
&gSfxDefaultFreqAndVolScale, &gSfxDefaultReverb);
|
||||
SFX_PLAY_CENTERED(NA_SE_NONE);
|
||||
msgCtx->msgMode = MSGMODE_TEXT_DONE;
|
||||
Font_LoadMessageBoxIcon(font, TEXTBOX_ICON_TRIANGLE);
|
||||
}
|
||||
|
@ -1561,8 +1546,7 @@ void Message_DrawText(PlayState* play, Gfx** gfxP) {
|
|||
PRINTF(T("サウンド(SE)\n", "Sound (SE)\n"));
|
||||
sfxHi = MSG_BUF_DECODED[i + 1];
|
||||
sfxHi <<= 8;
|
||||
Audio_PlaySfxGeneral(sfxHi | MSG_BUF_DECODED[i + 2], &gSfxDefaultPos, 4,
|
||||
&gSfxDefaultFreqAndVolScale, &gSfxDefaultFreqAndVolScale, &gSfxDefaultReverb);
|
||||
SFX_PLAY_CENTERED(sfxHi | MSG_BUF_DECODED[i + 2]);
|
||||
}
|
||||
i += 2;
|
||||
break;
|
||||
|
@ -1572,8 +1556,7 @@ void Message_DrawText(PlayState* play, Gfx** gfxP) {
|
|||
case MESSAGE_BACKGROUND:
|
||||
// clang-format off
|
||||
if (msgCtx->msgMode == MSGMODE_TEXT_DISPLAYING) { \
|
||||
Audio_PlaySfxGeneral(NA_SE_NONE, &gSfxDefaultPos, 4, &gSfxDefaultFreqAndVolScale,
|
||||
&gSfxDefaultFreqAndVolScale, &gSfxDefaultReverb);
|
||||
SFX_PLAY_CENTERED(NA_SE_NONE);
|
||||
}
|
||||
// clang-format on
|
||||
gDPPipeSync(gfx++);
|
||||
|
@ -1656,8 +1639,7 @@ void Message_DrawText(PlayState* play, Gfx** gfxP) {
|
|||
if (msgCtx->msgMode == MSGMODE_TEXT_DISPLAYING) {
|
||||
msgCtx->msgMode = MSGMODE_TEXT_DONE;
|
||||
if (msgCtx->textboxEndType == TEXTBOX_ENDTYPE_DEFAULT) {
|
||||
Audio_PlaySfxGeneral(NA_SE_SY_MESSAGE_END, &gSfxDefaultPos, 4, &gSfxDefaultFreqAndVolScale,
|
||||
&gSfxDefaultFreqAndVolScale, &gSfxDefaultReverb);
|
||||
SFX_PLAY_CENTERED(NA_SE_SY_MESSAGE_END);
|
||||
Font_LoadMessageBoxIcon(font, TEXTBOX_ICON_SQUARE);
|
||||
if (play->csCtx.state == 0) {
|
||||
Interface_SetDoAction(play, DO_ACTION_RETURN);
|
||||
|
@ -1687,8 +1669,7 @@ void Message_DrawText(PlayState* play, Gfx** gfxP) {
|
|||
return;
|
||||
case MESSAGE_PERSISTENT:
|
||||
if (msgCtx->msgMode == MSGMODE_TEXT_DISPLAYING) {
|
||||
Audio_PlaySfxGeneral(NA_SE_NONE, &gSfxDefaultPos, 4, &gSfxDefaultFreqAndVolScale,
|
||||
&gSfxDefaultFreqAndVolScale, &gSfxDefaultReverb);
|
||||
SFX_PLAY_CENTERED(NA_SE_NONE);
|
||||
msgCtx->msgMode = MSGMODE_TEXT_DONE;
|
||||
msgCtx->textboxEndType = TEXTBOX_ENDTYPE_PERSISTENT;
|
||||
}
|
||||
|
@ -1699,16 +1680,14 @@ void Message_DrawText(PlayState* play, Gfx** gfxP) {
|
|||
msgCtx->msgMode = MSGMODE_TEXT_DONE;
|
||||
msgCtx->textboxEndType = TEXTBOX_ENDTYPE_EVENT;
|
||||
Font_LoadMessageBoxIcon(font, TEXTBOX_ICON_TRIANGLE);
|
||||
Audio_PlaySfxGeneral(NA_SE_SY_MESSAGE_END, &gSfxDefaultPos, 4, &gSfxDefaultFreqAndVolScale,
|
||||
&gSfxDefaultFreqAndVolScale, &gSfxDefaultReverb);
|
||||
SFX_PLAY_CENTERED(NA_SE_SY_MESSAGE_END);
|
||||
}
|
||||
*gfxP = gfx;
|
||||
return;
|
||||
default:
|
||||
if (msgCtx->msgMode == MSGMODE_TEXT_DISPLAYING && i == msgCtx->textDrawPos - 1 &&
|
||||
msgCtx->textDelayTimer == msgCtx->textDelay) {
|
||||
Audio_PlaySfxGeneral(NA_SE_NONE, &gSfxDefaultPos, 4, &gSfxDefaultFreqAndVolScale,
|
||||
&gSfxDefaultFreqAndVolScale, &gSfxDefaultReverb);
|
||||
SFX_PLAY_CENTERED(NA_SE_NONE);
|
||||
}
|
||||
|
||||
#if PLATFORM_IQUE
|
||||
|
@ -2861,8 +2840,7 @@ void Message_StartOcarinaImpl(PlayState* play, u16 ocarinaActionId) {
|
|||
PRINTF("ocarina_set 000000000000000000 = %d\n", ocarinaActionId);
|
||||
msgCtx->ocarinaAction = ocarinaActionId;
|
||||
if (ocarinaActionId >= OCARINA_ACTION_CHECK_SARIA && ocarinaActionId <= OCARINA_ACTION_CHECK_STORMS) {
|
||||
Audio_PlaySfxGeneral(NA_SE_SY_TRE_BOX_APPEAR, &gSfxDefaultPos, 4, &gSfxDefaultFreqAndVolScale,
|
||||
&gSfxDefaultFreqAndVolScale, &gSfxDefaultReverb);
|
||||
SFX_PLAY_CENTERED(NA_SE_SY_TRE_BOX_APPEAR);
|
||||
}
|
||||
if (ocarinaActionId == OCARINA_ACTION_SCARECROW_SPAWN_PLAYBACK) {
|
||||
Message_OpenText(play, 0x86F); // Ocarina
|
||||
|
@ -3207,9 +3185,7 @@ void Message_DrawMain(PlayState* play, Gfx** p) {
|
|||
if (msgCtx->ocarinaStaff->state < OCARINA_SONG_SARIAS ||
|
||||
msgCtx->ocarinaStaff->state == OCARINA_SONG_SCARECROW_SPAWN) {
|
||||
AudioOcarina_SetInstrument(OCARINA_INSTRUMENT_OFF);
|
||||
Audio_PlaySfxGeneral(NA_SE_SY_OCARINA_ERROR, &gSfxDefaultPos, 4,
|
||||
&gSfxDefaultFreqAndVolScale, &gSfxDefaultFreqAndVolScale,
|
||||
&gSfxDefaultReverb);
|
||||
SFX_PLAY_CENTERED(NA_SE_SY_OCARINA_ERROR);
|
||||
msgCtx->msgMode = MSGMODE_OCARINA_STARTING;
|
||||
} else {
|
||||
PRINTF(T("Ocarina_Flog 正解模範演奏=%x\n",
|
||||
|
@ -3219,17 +3195,13 @@ void Message_DrawMain(PlayState* play, Gfx** p) {
|
|||
msgCtx->msgMode = MSGMODE_SONG_PLAYED;
|
||||
msgCtx->textBoxType = TEXTBOX_TYPE_OCARINA;
|
||||
msgCtx->stateTimer = 10;
|
||||
Audio_PlaySfxGeneral(NA_SE_SY_TRE_BOX_APPEAR, &gSfxDefaultPos, 4,
|
||||
&gSfxDefaultFreqAndVolScale, &gSfxDefaultFreqAndVolScale,
|
||||
&gSfxDefaultReverb);
|
||||
SFX_PLAY_CENTERED(NA_SE_SY_TRE_BOX_APPEAR);
|
||||
Interface_ChangeHudVisibilityMode(HUD_VISIBILITY_NOTHING);
|
||||
}
|
||||
} else if (msgCtx->ocarinaAction == OCARINA_ACTION_CHECK_SCARECROW_SPAWN) {
|
||||
if (msgCtx->ocarinaStaff->state < OCARINA_SONG_SCARECROW_SPAWN) {
|
||||
AudioOcarina_SetInstrument(OCARINA_INSTRUMENT_OFF);
|
||||
Audio_PlaySfxGeneral(NA_SE_SY_OCARINA_ERROR, &gSfxDefaultPos, 4,
|
||||
&gSfxDefaultFreqAndVolScale, &gSfxDefaultFreqAndVolScale,
|
||||
&gSfxDefaultReverb);
|
||||
SFX_PLAY_CENTERED(NA_SE_SY_OCARINA_ERROR);
|
||||
msgCtx->stateTimer = 10;
|
||||
msgCtx->msgMode = MSGMODE_OCARINA_FAIL;
|
||||
} else {
|
||||
|
@ -3240,9 +3212,7 @@ void Message_DrawMain(PlayState* play, Gfx** p) {
|
|||
msgCtx->msgMode = MSGMODE_SONG_PLAYED;
|
||||
msgCtx->textBoxType = TEXTBOX_TYPE_OCARINA;
|
||||
msgCtx->stateTimer = 10;
|
||||
Audio_PlaySfxGeneral(NA_SE_SY_TRE_BOX_APPEAR, &gSfxDefaultPos, 4,
|
||||
&gSfxDefaultFreqAndVolScale, &gSfxDefaultFreqAndVolScale,
|
||||
&gSfxDefaultReverb);
|
||||
SFX_PLAY_CENTERED(NA_SE_SY_TRE_BOX_APPEAR);
|
||||
Interface_ChangeHudVisibilityMode(HUD_VISIBILITY_NOTHING);
|
||||
}
|
||||
} else if (msgCtx->ocarinaAction == OCARINA_ACTION_FREE_PLAY) {
|
||||
|
@ -3253,25 +3223,19 @@ void Message_DrawMain(PlayState* play, Gfx** p) {
|
|||
msgCtx->msgMode = MSGMODE_SONG_PLAYED;
|
||||
msgCtx->textBoxType = TEXTBOX_TYPE_OCARINA;
|
||||
msgCtx->stateTimer = 10;
|
||||
Audio_PlaySfxGeneral(NA_SE_SY_TRE_BOX_APPEAR, &gSfxDefaultPos, 4,
|
||||
&gSfxDefaultFreqAndVolScale, &gSfxDefaultFreqAndVolScale,
|
||||
&gSfxDefaultReverb);
|
||||
SFX_PLAY_CENTERED(NA_SE_SY_TRE_BOX_APPEAR);
|
||||
} else {
|
||||
Audio_PlaySfxGeneral(NA_SE_SY_TRE_BOX_APPEAR, &gSfxDefaultPos, 4,
|
||||
&gSfxDefaultFreqAndVolScale, &gSfxDefaultFreqAndVolScale,
|
||||
&gSfxDefaultReverb);
|
||||
SFX_PLAY_CENTERED(NA_SE_SY_TRE_BOX_APPEAR);
|
||||
}
|
||||
Interface_ChangeHudVisibilityMode(HUD_VISIBILITY_NOTHING);
|
||||
} else {
|
||||
AudioOcarina_SetInstrument(OCARINA_INSTRUMENT_OFF);
|
||||
Audio_PlaySfxGeneral(NA_SE_SY_OCARINA_ERROR, &gSfxDefaultPos, 4, &gSfxDefaultFreqAndVolScale,
|
||||
&gSfxDefaultFreqAndVolScale, &gSfxDefaultReverb);
|
||||
SFX_PLAY_CENTERED(NA_SE_SY_OCARINA_ERROR);
|
||||
msgCtx->msgMode = MSGMODE_OCARINA_STARTING;
|
||||
}
|
||||
} else if (msgCtx->ocarinaStaff->state == 0xFF) {
|
||||
AudioOcarina_SetInstrument(OCARINA_INSTRUMENT_OFF);
|
||||
Audio_PlaySfxGeneral(NA_SE_SY_OCARINA_ERROR, &gSfxDefaultPos, 4, &gSfxDefaultFreqAndVolScale,
|
||||
&gSfxDefaultFreqAndVolScale, &gSfxDefaultReverb);
|
||||
SFX_PLAY_CENTERED(NA_SE_SY_OCARINA_ERROR);
|
||||
msgCtx->stateTimer = 10;
|
||||
msgCtx->msgMode = MSGMODE_OCARINA_FAIL;
|
||||
} else if (CHECK_BTN_ALL(input->press.button, BTN_B)) {
|
||||
|
@ -3649,11 +3613,9 @@ void Message_DrawMain(PlayState* play, Gfx** p) {
|
|||
ITEM_SONG_MINUET + msgCtx->ocarinaStaff->state);
|
||||
PRINTF_RST();
|
||||
msgCtx->stateTimer = 20;
|
||||
Audio_PlaySfxGeneral(NA_SE_SY_TRE_BOX_APPEAR, &gSfxDefaultPos, 4, &gSfxDefaultFreqAndVolScale,
|
||||
&gSfxDefaultFreqAndVolScale, &gSfxDefaultReverb);
|
||||
SFX_PLAY_CENTERED(NA_SE_SY_TRE_BOX_APPEAR);
|
||||
} else if (msgCtx->ocarinaStaff->state == 0xFF) {
|
||||
Audio_PlaySfxGeneral(NA_SE_SY_OCARINA_ERROR, &gSfxDefaultPos, 4, &gSfxDefaultFreqAndVolScale,
|
||||
&gSfxDefaultFreqAndVolScale, &gSfxDefaultReverb);
|
||||
SFX_PLAY_CENTERED(NA_SE_SY_OCARINA_ERROR);
|
||||
msgCtx->stateTimer = 10;
|
||||
msgCtx->msgMode = MSGMODE_SONG_PLAYBACK_FAIL;
|
||||
}
|
||||
|
@ -3705,8 +3667,7 @@ void Message_DrawMain(PlayState* play, Gfx** p) {
|
|||
msgCtx->ocarinaStaff->state);
|
||||
gSaveContext.save.info.scarecrowLongSongSet = true;
|
||||
}
|
||||
Audio_PlaySfxGeneral(NA_SE_SY_OCARINA_ERROR, &gSfxDefaultPos, 4, &gSfxDefaultFreqAndVolScale,
|
||||
&gSfxDefaultFreqAndVolScale, &gSfxDefaultReverb);
|
||||
SFX_PLAY_CENTERED(NA_SE_SY_OCARINA_ERROR);
|
||||
PRINTF("aaaaaaaaaaaaaa\n");
|
||||
AudioOcarina_SetRecordingState(OCARINA_RECORD_OFF);
|
||||
msgCtx->stateTimer = 10;
|
||||
|
@ -3777,8 +3738,7 @@ void Message_DrawMain(PlayState* play, Gfx** p) {
|
|||
msgCtx->stateTimer = 20;
|
||||
gSaveContext.save.info.scarecrowSpawnSongSet = true;
|
||||
msgCtx->msgMode = MSGMODE_SCARECROW_SPAWN_RECORDING_DONE;
|
||||
Audio_PlaySfxGeneral(NA_SE_SY_TRE_BOX_APPEAR, &gSfxDefaultPos, 4, &gSfxDefaultFreqAndVolScale,
|
||||
&gSfxDefaultFreqAndVolScale, &gSfxDefaultReverb);
|
||||
SFX_PLAY_CENTERED(NA_SE_SY_TRE_BOX_APPEAR);
|
||||
PRINTF_COLOR_YELLOW();
|
||||
PRINTF("\n====================================================================\n");
|
||||
MemCpy(gSaveContext.save.info.scarecrowSpawnSong, gScarecrowSpawnSongPtr,
|
||||
|
@ -3792,8 +3752,7 @@ void Message_DrawMain(PlayState* play, Gfx** p) {
|
|||
CHECK_BTN_ALL(input->press.button, BTN_B)) {
|
||||
PRINTF(T("すでに存在する曲吹いた!!! \n", "Played an existing song!!! \n"));
|
||||
AudioOcarina_SetRecordingState(OCARINA_RECORD_OFF);
|
||||
Audio_PlaySfxGeneral(NA_SE_SY_OCARINA_ERROR, &gSfxDefaultPos, 4, &gSfxDefaultFreqAndVolScale,
|
||||
&gSfxDefaultFreqAndVolScale, &gSfxDefaultReverb);
|
||||
SFX_PLAY_CENTERED(NA_SE_SY_OCARINA_ERROR);
|
||||
Message_CloseTextbox(play);
|
||||
msgCtx->msgMode = MSGMODE_SCARECROW_SPAWN_RECORDING_FAILED;
|
||||
}
|
||||
|
@ -3818,8 +3777,7 @@ void Message_DrawMain(PlayState* play, Gfx** p) {
|
|||
break;
|
||||
case MSGMODE_MEMORY_GAME_LEFT_SKULLKID_PLAYING:
|
||||
case MSGMODE_MEMORY_GAME_RIGHT_SKULLKID_PLAYING:
|
||||
Audio_PlaySfxGeneral(NA_SE_SY_METRONOME_LV - SFX_FLAG, &gSfxDefaultPos, 4, &gSfxDefaultFreqAndVolScale,
|
||||
&gSfxDefaultFreqAndVolScale, &gSfxDefaultReverb);
|
||||
SFX_PLAY_CENTERED(NA_SE_SY_METRONOME_LV - SFX_FLAG);
|
||||
msgCtx->ocarinaStaff = AudioOcarina_GetPlaybackStaff();
|
||||
if (((u32)msgCtx->ocarinaStaff->pos != 0) &&
|
||||
(sOcarinaButtonIndexBufPos == msgCtx->ocarinaStaff->pos - 1)) {
|
||||
|
@ -3830,11 +3788,9 @@ void Message_DrawMain(PlayState* play, Gfx** p) {
|
|||
if (msgCtx->stateTimer == 0) {
|
||||
if (msgCtx->ocarinaStaff->state == 0) {
|
||||
if (msgCtx->msgMode == MSGMODE_MEMORY_GAME_LEFT_SKULLKID_PLAYING) {
|
||||
Audio_PlaySfxGeneral(NA_SE_SY_METRONOME, &gSfxDefaultPos, 4, &gSfxDefaultFreqAndVolScale,
|
||||
&gSfxDefaultFreqAndVolScale, &gSfxDefaultReverb);
|
||||
SFX_PLAY_CENTERED(NA_SE_SY_METRONOME);
|
||||
} else {
|
||||
Audio_PlaySfxGeneral(NA_SE_SY_METRONOME_2, &gSfxDefaultPos, 4, &gSfxDefaultFreqAndVolScale,
|
||||
&gSfxDefaultFreqAndVolScale, &gSfxDefaultReverb);
|
||||
SFX_PLAY_CENTERED(NA_SE_SY_METRONOME_2);
|
||||
}
|
||||
msgCtx->msgMode++;
|
||||
}
|
||||
|
@ -3853,8 +3809,7 @@ void Message_DrawMain(PlayState* play, Gfx** p) {
|
|||
}
|
||||
break;
|
||||
case MSGMODE_MEMORY_GAME_PLAYER_PLAYING:
|
||||
Audio_PlaySfxGeneral(NA_SE_SY_METRONOME_LV - SFX_FLAG, &gSfxDefaultPos, 4, &gSfxDefaultFreqAndVolScale,
|
||||
&gSfxDefaultFreqAndVolScale, &gSfxDefaultReverb);
|
||||
SFX_PLAY_CENTERED(NA_SE_SY_METRONOME_LV - SFX_FLAG);
|
||||
msgCtx->ocarinaStaff = AudioOcarina_GetPlayingStaff();
|
||||
if (((u32)msgCtx->ocarinaStaff->pos != 0) &&
|
||||
(sOcarinaButtonIndexBufPos == msgCtx->ocarinaStaff->pos - 1)) {
|
||||
|
@ -3865,14 +3820,12 @@ void Message_DrawMain(PlayState* play, Gfx** p) {
|
|||
if (msgCtx->ocarinaStaff->state == 0xFF) {
|
||||
PRINTF(T("輪唱失敗!!!!!!!!!\n", "Musical round failed!!!!!!!!!\n"));
|
||||
AudioOcarina_SetInstrument(OCARINA_INSTRUMENT_OFF);
|
||||
Audio_PlaySfxGeneral(NA_SE_SY_OCARINA_ERROR, &gSfxDefaultPos, 4, &gSfxDefaultFreqAndVolScale,
|
||||
&gSfxDefaultFreqAndVolScale, &gSfxDefaultReverb);
|
||||
SFX_PLAY_CENTERED(NA_SE_SY_OCARINA_ERROR);
|
||||
msgCtx->stateTimer = 10;
|
||||
play->msgCtx.ocarinaMode = OCARINA_MODE_03;
|
||||
} else if (msgCtx->ocarinaStaff->state == OCARINA_SONG_MEMORY_GAME) {
|
||||
PRINTF(T("輪唱成功!!!!!!!!!\n", "Musical round succeeded!!!!!!!!!\n"));
|
||||
Audio_PlaySfxGeneral(NA_SE_SY_GET_ITEM, &gSfxDefaultPos, 4, &gSfxDefaultFreqAndVolScale,
|
||||
&gSfxDefaultFreqAndVolScale, &gSfxDefaultReverb);
|
||||
SFX_PLAY_CENTERED(NA_SE_SY_GET_ITEM);
|
||||
msgCtx->msgMode = MSGMODE_MEMORY_GAME_ROUND_SUCCESS;
|
||||
msgCtx->stateTimer = 30;
|
||||
}
|
||||
|
@ -3889,8 +3842,7 @@ void Message_DrawMain(PlayState* play, Gfx** p) {
|
|||
msgCtx->stateTimer--;
|
||||
if (msgCtx->stateTimer == 0) {
|
||||
if (AudioOcarina_MemoryGameNextNote() != 1) {
|
||||
Audio_PlaySfxGeneral(NA_SE_SY_METRONOME, &gSfxDefaultPos, 4, &gSfxDefaultFreqAndVolScale,
|
||||
&gSfxDefaultFreqAndVolScale, &gSfxDefaultReverb);
|
||||
SFX_PLAY_CENTERED(NA_SE_SY_METRONOME);
|
||||
msgCtx->ocarinaStaff = AudioOcarina_GetPlayingStaff();
|
||||
msgCtx->ocarinaStaff->pos = sOcarinaButtonIndexBufPos = 0;
|
||||
Message_ResetOcarinaNoteState();
|
||||
|
@ -4390,8 +4342,7 @@ void Message_Update(PlayState* play) {
|
|||
} else if (Message_ShouldAdvanceSilent(play)) {
|
||||
PRINTF("select=%d\n", msgCtx->textboxEndType);
|
||||
if (msgCtx->textboxEndType == TEXTBOX_ENDTYPE_HAS_NEXT) {
|
||||
Audio_PlaySfxGeneral(NA_SE_SY_MESSAGE_PASS, &gSfxDefaultPos, 4, &gSfxDefaultFreqAndVolScale,
|
||||
&gSfxDefaultFreqAndVolScale, &gSfxDefaultReverb);
|
||||
SFX_PLAY_CENTERED(NA_SE_SY_MESSAGE_PASS);
|
||||
#if OOT_NTSC
|
||||
if (gSaveContext.language == LANGUAGE_JPN && !sTextIsCredits) {
|
||||
Message_ContinueTextbox(play, MSG_BUF_DECODED_WIDE[msgCtx->textDrawPos]);
|
||||
|
@ -4402,8 +4353,7 @@ void Message_Update(PlayState* play) {
|
|||
Message_ContinueTextbox(play, sNextTextId);
|
||||
#endif
|
||||
} else {
|
||||
Audio_PlaySfxGeneral(NA_SE_SY_DECIDE, &gSfxDefaultPos, 4, &gSfxDefaultFreqAndVolScale,
|
||||
&gSfxDefaultFreqAndVolScale, &gSfxDefaultReverb);
|
||||
SFX_PLAY_CENTERED(NA_SE_SY_DECIDE);
|
||||
Message_CloseTextbox(play);
|
||||
}
|
||||
}
|
||||
|
@ -4429,7 +4379,7 @@ void Message_Update(PlayState* play) {
|
|||
|
||||
if (msgCtx->textId != 0x2061 && msgCtx->textId != 0x2025 && msgCtx->textId != 0x208C &&
|
||||
((msgCtx->textId < 0x88D || msgCtx->textId >= 0x893) || msgCtx->choiceIndex != 0) &&
|
||||
(msgCtx->textId != 0x3055 && gSaveContext.save.cutsceneIndex < 0xFFF0)) {
|
||||
(msgCtx->textId != 0x3055 && gSaveContext.save.cutsceneIndex < CS_INDEX_0)) {
|
||||
PRINTF("=== day_time=%x ", ((void)0, gSaveContext.save.cutsceneIndex));
|
||||
if (play->activeCamId == CAM_ID_MAIN) {
|
||||
if (gSaveContext.prevHudVisibilityMode == HUD_VISIBILITY_NO_CHANGE ||
|
||||
|
|
|
@ -29,7 +29,8 @@
|
|||
#include "assets/textures/do_action_static/do_action_static.h"
|
||||
#include "assets/textures/icon_item_static/icon_item_static.h"
|
||||
|
||||
#pragma increment_block_number "gc-jp:128 gc-jp-ce:128 gc-jp-mq:128 gc-us:128 gc-us-mq:128"
|
||||
#pragma increment_block_number "gc-jp:128 gc-jp-ce:128 gc-jp-mq:128 gc-us:128 gc-us-mq:128 ntsc-1.0:128 ntsc-1.1:128" \
|
||||
"ntsc-1.2:128"
|
||||
|
||||
typedef struct RestrictionFlags {
|
||||
/* 0x00 */ u8 sceneId;
|
||||
|
@ -670,8 +671,8 @@ void func_80083108(PlayState* play) {
|
|||
s16 i;
|
||||
s16 sp28 = false;
|
||||
|
||||
if ((gSaveContext.save.cutsceneIndex < 0xFFF0) ||
|
||||
((play->sceneId == SCENE_LON_LON_RANCH) && (gSaveContext.save.cutsceneIndex == 0xFFF0))) {
|
||||
if ((gSaveContext.save.cutsceneIndex < CS_INDEX_0) ||
|
||||
((play->sceneId == SCENE_LON_LON_RANCH) && (gSaveContext.save.cutsceneIndex == CS_INDEX_0))) {
|
||||
gSaveContext.forceRisingButtonAlphas = false;
|
||||
|
||||
if ((player->stateFlags1 & PLAYER_STATE1_23) || (play->shootingGalleryStatus > 1) ||
|
||||
|
@ -2191,9 +2192,7 @@ void Interface_SetNaviCall(PlayState* play, u16 naviCallState) {
|
|||
if (((naviCallState == 0x1D) || (naviCallState == 0x1E)) && !interfaceCtx->naviCalling &&
|
||||
(play->csCtx.state == CS_STATE_IDLE)) {
|
||||
// clang-format off
|
||||
if (naviCallState == 0x1E) { Audio_PlaySfxGeneral(NA_SE_VO_NAVY_CALL, &gSfxDefaultPos, 4,
|
||||
&gSfxDefaultFreqAndVolScale, &gSfxDefaultFreqAndVolScale,
|
||||
&gSfxDefaultReverb);
|
||||
if (naviCallState == 0x1E) { SFX_PLAY_CENTERED(NA_SE_VO_NAVY_CALL);
|
||||
}
|
||||
// clang-format on
|
||||
|
||||
|
@ -2244,8 +2243,7 @@ s32 Health_ChangeBy(PlayState* play, s16 amount) {
|
|||
gSaveContext.save.info.playerData.health, gSaveContext.save.info.playerData.healthCapacity);
|
||||
|
||||
// clang-format off
|
||||
if (amount > 0) { Audio_PlaySfxGeneral(NA_SE_SY_HP_RECOVER, &gSfxDefaultPos, 4, &gSfxDefaultFreqAndVolScale,
|
||||
&gSfxDefaultFreqAndVolScale, &gSfxDefaultReverb);
|
||||
if (amount > 0) { SFX_PLAY_CENTERED(NA_SE_SY_HP_RECOVER);
|
||||
} else if (gSaveContext.save.info.playerData.isDoubleDefenseAcquired && (amount < 0)) {
|
||||
amount >>= 1;
|
||||
PRINTF(T("ハート減少半分!!=%d\n", "Heart decrease halved!! = %d\n"), amount);
|
||||
|
@ -2382,8 +2380,7 @@ s32 Magic_RequestChange(PlayState* play, s16 amount, s16 type) {
|
|||
|
||||
if ((type != MAGIC_ADD) && (gSaveContext.save.info.playerData.magic - amount) < 0) {
|
||||
if (gSaveContext.magicCapacity != 0) {
|
||||
Audio_PlaySfxGeneral(NA_SE_SY_ERROR, &gSfxDefaultPos, 4, &gSfxDefaultFreqAndVolScale,
|
||||
&gSfxDefaultFreqAndVolScale, &gSfxDefaultReverb);
|
||||
SFX_PLAY_CENTERED(NA_SE_SY_ERROR);
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
@ -2401,8 +2398,7 @@ s32 Magic_RequestChange(PlayState* play, s16 amount, s16 type) {
|
|||
gSaveContext.magicState = MAGIC_STATE_CONSUME_SETUP;
|
||||
return true;
|
||||
} else {
|
||||
Audio_PlaySfxGeneral(NA_SE_SY_ERROR, &gSfxDefaultPos, 4, &gSfxDefaultFreqAndVolScale,
|
||||
&gSfxDefaultFreqAndVolScale, &gSfxDefaultReverb);
|
||||
SFX_PLAY_CENTERED(NA_SE_SY_ERROR);
|
||||
return false;
|
||||
}
|
||||
|
||||
|
@ -2419,8 +2415,7 @@ s32 Magic_RequestChange(PlayState* play, s16 amount, s16 type) {
|
|||
gSaveContext.magicState = MAGIC_STATE_METER_FLASH_3;
|
||||
return true;
|
||||
} else {
|
||||
Audio_PlaySfxGeneral(NA_SE_SY_ERROR, &gSfxDefaultPos, 4, &gSfxDefaultFreqAndVolScale,
|
||||
&gSfxDefaultFreqAndVolScale, &gSfxDefaultReverb);
|
||||
SFX_PLAY_CENTERED(NA_SE_SY_ERROR);
|
||||
return false;
|
||||
}
|
||||
|
||||
|
@ -2451,8 +2446,7 @@ s32 Magic_RequestChange(PlayState* play, s16 amount, s16 type) {
|
|||
gSaveContext.magicState = MAGIC_STATE_METER_FLASH_2;
|
||||
return true;
|
||||
} else {
|
||||
Audio_PlaySfxGeneral(NA_SE_SY_ERROR, &gSfxDefaultPos, 4, &gSfxDefaultFreqAndVolScale,
|
||||
&gSfxDefaultFreqAndVolScale, &gSfxDefaultReverb);
|
||||
SFX_PLAY_CENTERED(NA_SE_SY_ERROR);
|
||||
return false;
|
||||
}
|
||||
|
||||
|
@ -2520,8 +2514,7 @@ void Magic_Update(PlayState* play) {
|
|||
gSaveContext.save.info.playerData.magic += 4;
|
||||
|
||||
if (gSaveContext.gameMode == GAMEMODE_NORMAL && !IS_CUTSCENE_LAYER) {
|
||||
Audio_PlaySfxGeneral(NA_SE_SY_GAUGE_UP - SFX_FLAG, &gSfxDefaultPos, 4, &gSfxDefaultFreqAndVolScale,
|
||||
&gSfxDefaultFreqAndVolScale, &gSfxDefaultReverb);
|
||||
SFX_PLAY_CENTERED(NA_SE_SY_GAUGE_UP - SFX_FLAG);
|
||||
}
|
||||
|
||||
PRINTF(T("蓄電 MAGIC_NOW=%d (%d)\n", "Storage MAGIC_NOW=%d (%d)\n"),
|
||||
|
@ -2611,8 +2604,7 @@ void Magic_Update(PlayState* play) {
|
|||
!play->actorCtx.lensActive) {
|
||||
// Force lens off and set magic meter state to idle
|
||||
play->actorCtx.lensActive = false;
|
||||
Audio_PlaySfxGeneral(NA_SE_SY_GLASSMODE_OFF, &gSfxDefaultPos, 4, &gSfxDefaultFreqAndVolScale,
|
||||
&gSfxDefaultFreqAndVolScale, &gSfxDefaultReverb);
|
||||
SFX_PLAY_CENTERED(NA_SE_SY_GLASSMODE_OFF);
|
||||
gSaveContext.magicState = MAGIC_STATE_IDLE;
|
||||
sMagicBorderR = sMagicBorderG = sMagicBorderB = 255;
|
||||
break;
|
||||
|
@ -2664,8 +2656,7 @@ void Magic_Update(PlayState* play) {
|
|||
case MAGIC_STATE_ADD:
|
||||
// Add magic until target is reached
|
||||
gSaveContext.save.info.playerData.magic += 4;
|
||||
Audio_PlaySfxGeneral(NA_SE_SY_GAUGE_UP - SFX_FLAG, &gSfxDefaultPos, 4, &gSfxDefaultFreqAndVolScale,
|
||||
&gSfxDefaultFreqAndVolScale, &gSfxDefaultReverb);
|
||||
SFX_PLAY_CENTERED(NA_SE_SY_GAUGE_UP - SFX_FLAG);
|
||||
if (gSaveContext.save.info.playerData.magic >= gSaveContext.magicTarget) {
|
||||
gSaveContext.save.info.playerData.magic = gSaveContext.magicTarget;
|
||||
gSaveContext.magicState = gSaveContext.prevMagicState;
|
||||
|
@ -3564,7 +3555,7 @@ void Interface_Draw(PlayState* play) {
|
|||
(Message_GetState(&play->msgCtx) == TEXT_STATE_EVENT)) {
|
||||
// Trade quest timer reached 0
|
||||
sSubTimerStateTimer = 40;
|
||||
gSaveContext.save.cutsceneIndex = 0;
|
||||
gSaveContext.save.cutsceneIndex = CS_INDEX_NONE;
|
||||
play->transitionTrigger = TRANS_TRIGGER_START;
|
||||
play->transitionType = TRANS_TYPE_FADE_WHITE;
|
||||
gSaveContext.subTimerState = SUBTIMER_STATE_OFF;
|
||||
|
@ -3711,22 +3702,16 @@ void Interface_Draw(PlayState* play) {
|
|||
} else if (gSaveContext.timerSeconds > 60) {
|
||||
// Beep at "xx:x1" (every 10 seconds)
|
||||
if (sTimerDigits[4] == 1) {
|
||||
Audio_PlaySfxGeneral(NA_SE_SY_MESSAGE_WOMAN, &gSfxDefaultPos, 4,
|
||||
&gSfxDefaultFreqAndVolScale, &gSfxDefaultFreqAndVolScale,
|
||||
&gSfxDefaultReverb);
|
||||
SFX_PLAY_CENTERED(NA_SE_SY_MESSAGE_WOMAN);
|
||||
}
|
||||
} else if (gSaveContext.timerSeconds > 10) {
|
||||
// Beep on alternating seconds
|
||||
if ((sTimerDigits[4] % 2) != 0) {
|
||||
Audio_PlaySfxGeneral(NA_SE_SY_WARNING_COUNT_N, &gSfxDefaultPos, 4,
|
||||
&gSfxDefaultFreqAndVolScale, &gSfxDefaultFreqAndVolScale,
|
||||
&gSfxDefaultReverb);
|
||||
SFX_PLAY_CENTERED(NA_SE_SY_WARNING_COUNT_N);
|
||||
}
|
||||
} else {
|
||||
// Beep every second
|
||||
Audio_PlaySfxGeneral(NA_SE_SY_WARNING_COUNT_E, &gSfxDefaultPos, 4,
|
||||
&gSfxDefaultFreqAndVolScale, &gSfxDefaultFreqAndVolScale,
|
||||
&gSfxDefaultReverb);
|
||||
SFX_PLAY_CENTERED(NA_SE_SY_WARNING_COUNT_E);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -3775,9 +3760,7 @@ void Interface_Draw(PlayState* play) {
|
|||
sTimerStateTimer = 40;
|
||||
gSaveContext.timerState = TIMER_STATE_UP_FREEZE;
|
||||
} else {
|
||||
Audio_PlaySfxGeneral(NA_SE_SY_WARNING_COUNT_N, &gSfxDefaultPos, 4,
|
||||
&gSfxDefaultFreqAndVolScale, &gSfxDefaultFreqAndVolScale,
|
||||
&gSfxDefaultReverb);
|
||||
SFX_PLAY_CENTERED(NA_SE_SY_WARNING_COUNT_N);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -3902,7 +3885,7 @@ void Interface_Draw(PlayState* play) {
|
|||
(play->sceneId != SCENE_INSIDE_GANONS_CASTLE_COLLAPSE))) {
|
||||
sSubTimerStateTimer = 40;
|
||||
gSaveContext.subTimerState = SUBTIMER_STATE_RESPAWN;
|
||||
gSaveContext.save.cutsceneIndex = 0;
|
||||
gSaveContext.save.cutsceneIndex = CS_INDEX_NONE;
|
||||
Message_StartTextbox(play, 0x71B0, NULL);
|
||||
Player_SetCsActionWithHaltedActors(play, NULL, PLAYER_CSACTION_8);
|
||||
} else {
|
||||
|
@ -3912,22 +3895,16 @@ void Interface_Draw(PlayState* play) {
|
|||
} else if (gSaveContext.subTimerSeconds > 60) {
|
||||
// Beep at "xx:x1" (every 10 seconds)
|
||||
if (sTimerDigits[4] == 1) {
|
||||
Audio_PlaySfxGeneral(NA_SE_SY_MESSAGE_WOMAN, &gSfxDefaultPos, 4,
|
||||
&gSfxDefaultFreqAndVolScale,
|
||||
&gSfxDefaultFreqAndVolScale, &gSfxDefaultReverb);
|
||||
SFX_PLAY_CENTERED(NA_SE_SY_MESSAGE_WOMAN);
|
||||
}
|
||||
} else if (gSaveContext.subTimerSeconds > 10) {
|
||||
// Beep on alternating seconds
|
||||
if ((sTimerDigits[4] % 2) != 0) {
|
||||
Audio_PlaySfxGeneral(NA_SE_SY_WARNING_COUNT_N, &gSfxDefaultPos, 4,
|
||||
&gSfxDefaultFreqAndVolScale,
|
||||
&gSfxDefaultFreqAndVolScale, &gSfxDefaultReverb);
|
||||
SFX_PLAY_CENTERED(NA_SE_SY_WARNING_COUNT_N);
|
||||
}
|
||||
} else {
|
||||
// Beep every second
|
||||
Audio_PlaySfxGeneral(NA_SE_SY_WARNING_COUNT_E, &gSfxDefaultPos, 4,
|
||||
&gSfxDefaultFreqAndVolScale,
|
||||
&gSfxDefaultFreqAndVolScale, &gSfxDefaultReverb);
|
||||
SFX_PLAY_CENTERED(NA_SE_SY_WARNING_COUNT_E);
|
||||
}
|
||||
} else { // SUBTIMER_STATE_UP_TICK
|
||||
gSaveContext.subTimerSeconds++;
|
||||
|
@ -3944,9 +3921,7 @@ void Interface_Draw(PlayState* play) {
|
|||
|
||||
// Beep at the minute mark
|
||||
if ((gSaveContext.subTimerSeconds % 60) == 0) {
|
||||
Audio_PlaySfxGeneral(NA_SE_SY_WARNING_COUNT_N, &gSfxDefaultPos, 4,
|
||||
&gSfxDefaultFreqAndVolScale, &gSfxDefaultFreqAndVolScale,
|
||||
&gSfxDefaultReverb);
|
||||
SFX_PLAY_CENTERED(NA_SE_SY_WARNING_COUNT_N);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -4192,8 +4167,7 @@ void Interface_Update(PlayState* play) {
|
|||
gSaveContext.save.info.playerData.health += 4;
|
||||
|
||||
if ((gSaveContext.save.info.playerData.health & 0xF) < 4) {
|
||||
Audio_PlaySfxGeneral(NA_SE_SY_HP_RECOVER, &gSfxDefaultPos, 4, &gSfxDefaultFreqAndVolScale,
|
||||
&gSfxDefaultFreqAndVolScale, &gSfxDefaultReverb);
|
||||
SFX_PLAY_CENTERED(NA_SE_SY_HP_RECOVER);
|
||||
}
|
||||
|
||||
PRINTF("now_life=%d max_life=%d\n", gSaveContext.save.info.playerData.health,
|
||||
|
@ -4233,8 +4207,7 @@ void Interface_Update(PlayState* play) {
|
|||
if (gSaveContext.save.info.playerData.rupees < CUR_CAPACITY(UPG_WALLET)) {
|
||||
gSaveContext.rupeeAccumulator--;
|
||||
gSaveContext.save.info.playerData.rupees++;
|
||||
Audio_PlaySfxGeneral(NA_SE_SY_RUPY_COUNT, &gSfxDefaultPos, 4, &gSfxDefaultFreqAndVolScale,
|
||||
&gSfxDefaultFreqAndVolScale, &gSfxDefaultReverb);
|
||||
SFX_PLAY_CENTERED(NA_SE_SY_RUPY_COUNT);
|
||||
} else {
|
||||
PRINTF(T("ルピー数MAX = %d\n", "Rupee Amount MAX = %d\n"), CUR_CAPACITY(UPG_WALLET));
|
||||
gSaveContext.save.info.playerData.rupees = CUR_CAPACITY(UPG_WALLET);
|
||||
|
@ -4249,13 +4222,11 @@ void Interface_Update(PlayState* play) {
|
|||
gSaveContext.save.info.playerData.rupees = 0;
|
||||
}
|
||||
|
||||
Audio_PlaySfxGeneral(NA_SE_SY_RUPY_COUNT, &gSfxDefaultPos, 4, &gSfxDefaultFreqAndVolScale,
|
||||
&gSfxDefaultFreqAndVolScale, &gSfxDefaultReverb);
|
||||
SFX_PLAY_CENTERED(NA_SE_SY_RUPY_COUNT);
|
||||
} else {
|
||||
gSaveContext.rupeeAccumulator++;
|
||||
gSaveContext.save.info.playerData.rupees--;
|
||||
Audio_PlaySfxGeneral(NA_SE_SY_RUPY_COUNT, &gSfxDefaultPos, 4, &gSfxDefaultFreqAndVolScale,
|
||||
&gSfxDefaultFreqAndVolScale, &gSfxDefaultReverb);
|
||||
SFX_PLAY_CENTERED(NA_SE_SY_RUPY_COUNT);
|
||||
}
|
||||
} else {
|
||||
gSaveContext.rupeeAccumulator = 0;
|
||||
|
|
|
@ -47,8 +47,8 @@
|
|||
#include "save.h"
|
||||
#include "vis.h"
|
||||
|
||||
#pragma increment_block_number "gc-eu:0 gc-eu-mq:0 gc-jp:0 gc-jp-ce:0 gc-jp-mq:0 gc-us:0 gc-us-mq:0 ique-cn:224" \
|
||||
"ntsc-1.0:240 ntsc-1.1:240 ntsc-1.2:240 pal-1.0:240 pal-1.1:240"
|
||||
#pragma increment_block_number "gc-eu:224 gc-eu-mq:224 gc-jp:224 gc-jp-ce:224 gc-jp-mq:224 gc-us:224 gc-us-mq:224" \
|
||||
"ique-cn:224 ntsc-1.0:240 ntsc-1.1:240 ntsc-1.2:240 pal-1.0:240 pal-1.1:240"
|
||||
|
||||
TransitionTile gTransitionTile;
|
||||
s32 gTransitionTileState;
|
||||
|
@ -93,11 +93,9 @@ void Play_SetViewpoint(PlayState* this, s16 viewpoint) {
|
|||
|
||||
this->viewpoint = viewpoint;
|
||||
|
||||
if ((R_SCENE_CAM_TYPE != SCENE_CAM_TYPE_FIXED_SHOP_VIEWPOINT) && (gSaveContext.save.cutsceneIndex < 0xFFF0)) {
|
||||
if ((R_SCENE_CAM_TYPE != SCENE_CAM_TYPE_FIXED_SHOP_VIEWPOINT) && (gSaveContext.save.cutsceneIndex < CS_INDEX_0)) {
|
||||
// Play a sfx when the player toggles the camera
|
||||
Audio_PlaySfxGeneral((viewpoint == VIEWPOINT_LOCKED) ? NA_SE_SY_CAMERA_ZOOM_DOWN : NA_SE_SY_CAMERA_ZOOM_UP,
|
||||
&gSfxDefaultPos, 4, &gSfxDefaultFreqAndVolScale, &gSfxDefaultFreqAndVolScale,
|
||||
&gSfxDefaultReverb);
|
||||
SFX_PLAY_CENTERED((viewpoint == VIEWPOINT_LOCKED) ? NA_SE_SY_CAMERA_ZOOM_DOWN : NA_SE_SY_CAMERA_ZOOM_UP);
|
||||
}
|
||||
|
||||
Play_RequestViewpointBgCam(this);
|
||||
|
@ -352,13 +350,13 @@ void Play_Init(GameState* thisx) {
|
|||
AnimTaskQueue_Reset(&this->animTaskQueue);
|
||||
Cutscene_InitContext(this, &this->csCtx);
|
||||
|
||||
if (gSaveContext.nextCutsceneIndex != 0xFFEF) {
|
||||
if (gSaveContext.nextCutsceneIndex != NEXT_CS_INDEX_NONE) {
|
||||
gSaveContext.save.cutsceneIndex = gSaveContext.nextCutsceneIndex;
|
||||
gSaveContext.nextCutsceneIndex = 0xFFEF;
|
||||
gSaveContext.nextCutsceneIndex = NEXT_CS_INDEX_NONE;
|
||||
}
|
||||
|
||||
if (gSaveContext.save.cutsceneIndex == 0xFFFD) {
|
||||
gSaveContext.save.cutsceneIndex = 0;
|
||||
if (gSaveContext.save.cutsceneIndex == CS_INDEX_D) {
|
||||
gSaveContext.save.cutsceneIndex = CS_INDEX_NONE;
|
||||
}
|
||||
|
||||
if (gSaveContext.nextDayTime != NEXT_TIME_NONE) {
|
||||
|
@ -374,10 +372,10 @@ void Play_Init(GameState* thisx) {
|
|||
|
||||
Cutscene_HandleConditionalTriggers(this);
|
||||
|
||||
if (gSaveContext.gameMode != GAMEMODE_NORMAL || gSaveContext.save.cutsceneIndex >= 0xFFF0) {
|
||||
if (gSaveContext.gameMode != GAMEMODE_NORMAL || gSaveContext.save.cutsceneIndex >= CS_INDEX_0) {
|
||||
gSaveContext.nayrusLoveTimer = 0;
|
||||
Magic_Reset(this);
|
||||
gSaveContext.sceneLayer = SCENE_LAYER_CUTSCENE_FIRST + (gSaveContext.save.cutsceneIndex & 0xF);
|
||||
gSaveContext.sceneLayer = GET_CUTSCENE_LAYER(gSaveContext.save.cutsceneIndex);
|
||||
} else if (!LINK_IS_ADULT && IS_DAY) {
|
||||
gSaveContext.sceneLayer = SCENE_LAYER_CHILD_DAY;
|
||||
} else if (!LINK_IS_ADULT && !IS_DAY) {
|
||||
|
@ -627,7 +625,7 @@ void Play_Update(PlayState* this) {
|
|||
|
||||
Interface_ChangeHudVisibilityMode(HUD_VISIBILITY_NOTHING);
|
||||
|
||||
if (gSaveContext.save.cutsceneIndex >= 0xFFF0) {
|
||||
if (gSaveContext.save.cutsceneIndex >= CS_INDEX_0) {
|
||||
sceneLayer = SCENE_LAYER_CUTSCENE_FIRST + (gSaveContext.save.cutsceneIndex & 0xF);
|
||||
}
|
||||
|
||||
|
@ -873,8 +871,7 @@ void Play_Update(PlayState* this) {
|
|||
break;
|
||||
|
||||
case TRANS_MODE_SANDSTORM:
|
||||
Audio_PlaySfxGeneral(NA_SE_EV_SAND_STORM - SFX_FLAG, &gSfxDefaultPos, 4,
|
||||
&gSfxDefaultFreqAndVolScale, &gSfxDefaultFreqAndVolScale, &gSfxDefaultReverb);
|
||||
SFX_PLAY_CENTERED(NA_SE_EV_SAND_STORM - SFX_FLAG);
|
||||
|
||||
if (this->transitionTrigger == TRANS_TRIGGER_END) {
|
||||
if (this->envCtx.sandstormPrimA < 110) {
|
||||
|
@ -908,8 +905,7 @@ void Play_Update(PlayState* this) {
|
|||
break;
|
||||
|
||||
case TRANS_MODE_SANDSTORM_END:
|
||||
Audio_PlaySfxGeneral(NA_SE_EV_SAND_STORM - SFX_FLAG, &gSfxDefaultPos, 4,
|
||||
&gSfxDefaultFreqAndVolScale, &gSfxDefaultFreqAndVolScale, &gSfxDefaultReverb);
|
||||
SFX_PLAY_CENTERED(NA_SE_EV_SAND_STORM - SFX_FLAG);
|
||||
|
||||
if (this->transitionTrigger == TRANS_TRIGGER_END) {
|
||||
if (this->envCtx.sandstormPrimA <= 0) {
|
||||
|
@ -1043,8 +1039,7 @@ void Play_Update(PlayState* this) {
|
|||
PRINTF(VT_FGCOL(CYAN) T("デモ中につき視点変更を禁止しております\n",
|
||||
"Changing viewpoint is prohibited during the cutscene\n") VT_RST);
|
||||
} else if (R_SCENE_CAM_TYPE == SCENE_CAM_TYPE_FIXED_SHOP_VIEWPOINT) {
|
||||
Audio_PlaySfxGeneral(NA_SE_SY_ERROR, &gSfxDefaultPos, 4, &gSfxDefaultFreqAndVolScale,
|
||||
&gSfxDefaultFreqAndVolScale, &gSfxDefaultReverb);
|
||||
SFX_PLAY_CENTERED(NA_SE_SY_ERROR);
|
||||
} else {
|
||||
// C-Up toggle for houses, move between pivot camera and fixed camera
|
||||
// Toggle viewpoint between VIEWPOINT_LOCKED and VIEWPOINT_PIVOT
|
||||
|
|
|
@ -396,7 +396,7 @@ BAD_RETURN(s32) Scene_CommandTimeSettings(PlayState* play, SceneCmd* cmd) {
|
|||
play->envCtx.sunPos.y = (Math_CosS(((void)0, gSaveContext.save.dayTime) - CLOCK_TIME(12, 0)) * 120.0f) * 25.0f;
|
||||
play->envCtx.sunPos.z = (Math_CosS(((void)0, gSaveContext.save.dayTime) - CLOCK_TIME(12, 0)) * 20.0f) * 25.0f;
|
||||
|
||||
if (((play->envCtx.sceneTimeSpeed == 0) && (gSaveContext.save.cutsceneIndex < 0xFFF0)) ||
|
||||
if (((play->envCtx.sceneTimeSpeed == 0) && (gSaveContext.save.cutsceneIndex < CS_INDEX_0)) ||
|
||||
(gSaveContext.save.entranceIndex == ENTR_LAKE_HYLIA_8)) {
|
||||
#if OOT_VERSION >= PAL_1_0
|
||||
gSaveContext.skyboxTime = ((void)0, gSaveContext.save.dayTime);
|
||||
|
@ -459,7 +459,7 @@ BAD_RETURN(s32) Scene_CommandAlternateHeaderList(PlayState* play, SceneCmd* cmd)
|
|||
PRINTF("\n[ZU]sceneset time =[%X]", ((void)0, gSaveContext.save.cutsceneIndex));
|
||||
PRINTF("\n[ZU]sceneset counter=[%X]", ((void)0, gSaveContext.sceneLayer));
|
||||
|
||||
if (gSaveContext.sceneLayer != 0) {
|
||||
if (gSaveContext.sceneLayer != SCENE_LAYER_CHILD_DAY) {
|
||||
SceneCmd* altHeader = ((SceneCmd**)SEGMENTED_TO_VIRTUAL(cmd->altHeaders.data))[gSaveContext.sceneLayer - 1];
|
||||
|
||||
if (altHeader != NULL) {
|
||||
|
@ -502,7 +502,7 @@ BAD_RETURN(s32) Scene_CommandMiscSettings(PlayState* play, SceneCmd* cmd) {
|
|||
|
||||
if (((play->sceneId >= SCENE_HYRULE_FIELD) && (play->sceneId <= SCENE_OUTSIDE_GANONS_CASTLE)) ||
|
||||
((play->sceneId >= SCENE_MARKET_ENTRANCE_DAY) && (play->sceneId <= SCENE_TEMPLE_OF_TIME_EXTERIOR_RUINS))) {
|
||||
if (gSaveContext.save.cutsceneIndex < 0xFFF0) {
|
||||
if (gSaveContext.save.cutsceneIndex < CS_INDEX_0) {
|
||||
gSaveContext.save.info.worldMapAreaData |= gBitFlags[((void)0, gSaveContext.worldMapArea)];
|
||||
PRINTF("000 area_arrival=%x (%d)\n", gSaveContext.save.info.worldMapAreaData,
|
||||
((void)0, gSaveContext.worldMapArea));
|
||||
|
@ -515,15 +515,15 @@ void Scene_SetTransitionForNextEntrance(PlayState* play) {
|
|||
|
||||
if (!IS_DAY) {
|
||||
if (!LINK_IS_ADULT) {
|
||||
entranceIndex = play->nextEntranceIndex + 1;
|
||||
entranceIndex = play->nextEntranceIndex + SCENE_LAYER_CHILD_NIGHT;
|
||||
} else {
|
||||
entranceIndex = play->nextEntranceIndex + 3;
|
||||
entranceIndex = play->nextEntranceIndex + SCENE_LAYER_ADULT_NIGHT;
|
||||
}
|
||||
} else {
|
||||
if (!LINK_IS_ADULT) {
|
||||
entranceIndex = play->nextEntranceIndex;
|
||||
entranceIndex = play->nextEntranceIndex + SCENE_LAYER_CHILD_DAY;
|
||||
} else {
|
||||
entranceIndex = play->nextEntranceIndex + 2;
|
||||
entranceIndex = play->nextEntranceIndex + SCENE_LAYER_ADULT_DAY;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -63,6 +63,5 @@ void SfxSource_PlaySfxAtFixedWorldPos(PlayState* play, Vec3f* worldPos, s32 dura
|
|||
source->countdown = duration;
|
||||
|
||||
SkinMatrix_Vec3fMtxFMultXYZ(&play->viewProjectionMtxF, &source->worldPos, &source->projectedPos);
|
||||
Audio_PlaySfxGeneral(sfxId, &source->projectedPos, 4, &gSfxDefaultFreqAndVolScale, &gSfxDefaultFreqAndVolScale,
|
||||
&gSfxDefaultReverb);
|
||||
SFX_PLAY_AT_POS(&source->projectedPos, sfxId);
|
||||
}
|
||||
|
|
|
@ -859,11 +859,11 @@ void Sram_InitSave(FileSelectState* fileSelect, SramContext* sramCtx) {
|
|||
gSaveContext.save.entranceIndex = ENTR_LINKS_HOUSE_0;
|
||||
gSaveContext.save.linkAge = LINK_AGE_CHILD;
|
||||
gSaveContext.save.dayTime = CLOCK_TIME(10, 0);
|
||||
gSaveContext.save.cutsceneIndex = 0xFFF1;
|
||||
gSaveContext.save.cutsceneIndex = CS_INDEX_1;
|
||||
|
||||
#if DEBUG_FEATURES
|
||||
if (fileSelect->buttonIndex == 0) {
|
||||
gSaveContext.save.cutsceneIndex = 0;
|
||||
gSaveContext.save.cutsceneIndex = CS_INDEX_NONE;
|
||||
}
|
||||
#endif
|
||||
|
||||
|
|
|
@ -182,8 +182,7 @@ void ArmsHook_Shoot(ArmsHook* this, PlayState* play) {
|
|||
}
|
||||
}
|
||||
this->timer = 0;
|
||||
Audio_PlaySfxGeneral(NA_SE_IT_ARROW_STICK_CRE, &this->actor.projectedPos, 4, &gSfxDefaultFreqAndVolScale,
|
||||
&gSfxDefaultFreqAndVolScale, &gSfxDefaultReverb);
|
||||
SFX_PLAY_AT_POS(&this->actor.projectedPos, NA_SE_IT_ARROW_STICK_CRE);
|
||||
return;
|
||||
}
|
||||
|
||||
|
@ -311,12 +310,10 @@ void ArmsHook_Shoot(ArmsHook* this, PlayState* play) {
|
|||
}
|
||||
}
|
||||
ArmsHook_PullPlayer(this);
|
||||
Audio_PlaySfxGeneral(NA_SE_IT_HOOKSHOT_STICK_OBJ, &this->actor.projectedPos, 4,
|
||||
&gSfxDefaultFreqAndVolScale, &gSfxDefaultFreqAndVolScale, &gSfxDefaultReverb);
|
||||
SFX_PLAY_AT_POS(&this->actor.projectedPos, NA_SE_IT_HOOKSHOT_STICK_OBJ);
|
||||
} else {
|
||||
CollisionCheck_SpawnShieldParticlesMetal(play, &this->actor.world.pos);
|
||||
Audio_PlaySfxGeneral(NA_SE_IT_HOOKSHOT_REFLECT, &this->actor.projectedPos, 4,
|
||||
&gSfxDefaultFreqAndVolScale, &gSfxDefaultFreqAndVolScale, &gSfxDefaultReverb);
|
||||
SFX_PLAY_AT_POS(&this->actor.projectedPos, NA_SE_IT_HOOKSHOT_REFLECT);
|
||||
}
|
||||
} else if (CHECK_BTN_ANY(play->state.input[0].press.button,
|
||||
(BTN_A | BTN_B | BTN_R | BTN_CUP | BTN_CDOWN | BTN_CLEFT | BTN_CRIGHT))) {
|
||||
|
|
|
@ -266,14 +266,12 @@ void BgBreakwall_Wait(BgBreakwall* this, PlayState* play) {
|
|||
Flags_SetEventChkInf(EVENTCHKINF_B0);
|
||||
Cutscene_SetScript(play, gDcOpeningCs);
|
||||
gSaveContext.cutsceneTrigger = 1;
|
||||
Audio_PlaySfxGeneral(NA_SE_SY_CORRECT_CHIME, &gSfxDefaultPos, 4, &gSfxDefaultFreqAndVolScale,
|
||||
&gSfxDefaultFreqAndVolScale, &gSfxDefaultReverb);
|
||||
SFX_PLAY_CENTERED(NA_SE_SY_CORRECT_CHIME);
|
||||
Player_SetCsActionWithHaltedActors(play, NULL, PLAYER_CSACTION_49);
|
||||
}
|
||||
|
||||
if (this->dyna.actor.params < 0) {
|
||||
Audio_PlaySfxGeneral(NA_SE_SY_TRE_BOX_APPEAR, &gSfxDefaultPos, 4, &gSfxDefaultFreqAndVolScale,
|
||||
&gSfxDefaultFreqAndVolScale, &gSfxDefaultReverb);
|
||||
SFX_PLAY_CENTERED(NA_SE_SY_TRE_BOX_APPEAR);
|
||||
}
|
||||
|
||||
Actor_Kill(&this->dyna.actor);
|
||||
|
|
|
@ -180,8 +180,7 @@ void BgDdanKd_LowerStairs(BgDdanKd* this, PlayState* play) {
|
|||
func_8003555C(play, &pos1, &velocity, &accel);
|
||||
}
|
||||
Camera_RequestQuake(&play->mainCamera, 0, effectStrength * 0.6f, 3);
|
||||
Audio_PlaySfxGeneral(NA_SE_EV_PILLAR_SINK - SFX_FLAG, &this->dyna.actor.projectedPos, 4,
|
||||
&gSfxDefaultFreqAndVolScale, &gSfxDefaultFreqAndVolScale, &gSfxDefaultReverb);
|
||||
SFX_PLAY_AT_POS(&this->dyna.actor.projectedPos, NA_SE_EV_PILLAR_SINK - SFX_FLAG);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -176,19 +176,16 @@ void BgDodoago_WaitExplosives(BgDodoago* this, PlayState* play) {
|
|||
((play->roomCtx.drawParams[BGDODOAGO_EYE_RIGHT] == 255) && (this->state == BGDODOAGO_EYE_LEFT))) {
|
||||
Flags_SetSwitch(play, PARAMS_GET_U(this->dyna.actor.params, 0, 6));
|
||||
this->state = 0;
|
||||
Audio_PlaySfxGeneral(NA_SE_SY_CORRECT_CHIME, &gSfxDefaultPos, 4, &gSfxDefaultFreqAndVolScale,
|
||||
&gSfxDefaultFreqAndVolScale, &gSfxDefaultReverb);
|
||||
SFX_PLAY_CENTERED(NA_SE_SY_CORRECT_CHIME);
|
||||
BgDodoago_SetupAction(this, BgDodoago_OpenJaw);
|
||||
OnePointCutscene_Init(play, 3380, 160, &this->dyna.actor, CAM_ID_MAIN);
|
||||
} else if (play->roomCtx.drawParams[this->state] == 0) {
|
||||
OnePointCutscene_Init(play, 3065, 40, &this->dyna.actor, CAM_ID_MAIN);
|
||||
BgDodoago_SetupAction(this, BgDodoago_LightOneEye);
|
||||
Audio_PlaySfxGeneral(NA_SE_SY_CORRECT_CHIME, &gSfxDefaultPos, 4, &gSfxDefaultFreqAndVolScale,
|
||||
&gSfxDefaultFreqAndVolScale, &gSfxDefaultReverb);
|
||||
SFX_PLAY_CENTERED(NA_SE_SY_CORRECT_CHIME);
|
||||
} else {
|
||||
OnePointCutscene_Init(play, 3065, 20, &this->dyna.actor, CAM_ID_MAIN);
|
||||
Audio_PlaySfxGeneral(NA_SE_SY_ERROR, &gSfxDefaultPos, 4, &gSfxDefaultFreqAndVolScale,
|
||||
&gSfxDefaultFreqAndVolScale, &gSfxDefaultReverb);
|
||||
SFX_PLAY_CENTERED(NA_SE_SY_ERROR);
|
||||
sTimer += 30;
|
||||
return;
|
||||
}
|
||||
|
@ -266,11 +263,9 @@ void BgDodoago_OpenJaw(BgDodoago* this, PlayState* play) {
|
|||
|
||||
if (Math_SmoothStepToS(&this->dyna.actor.shape.rot.x, 0x1333, 110 - this->state, 0x3E8, 0x32) == 0) {
|
||||
BgDodoago_SetupAction(this, BgDodoago_DoNothing);
|
||||
Audio_PlaySfxGeneral(NA_SE_EV_STONE_BOUND, &this->dyna.actor.projectedPos, 4, &gSfxDefaultFreqAndVolScale,
|
||||
&gSfxDefaultFreqAndVolScale, &gSfxDefaultReverb);
|
||||
SFX_PLAY_AT_POS(&this->dyna.actor.projectedPos, NA_SE_EV_STONE_BOUND);
|
||||
} else {
|
||||
Audio_PlaySfxGeneral(NA_SE_EV_STONE_STATUE_OPEN - SFX_FLAG, &this->dyna.actor.projectedPos, 4,
|
||||
&gSfxDefaultFreqAndVolScale, &gSfxDefaultFreqAndVolScale, &gSfxDefaultReverb);
|
||||
SFX_PLAY_AT_POS(&this->dyna.actor.projectedPos, NA_SE_EV_STONE_STATUE_OPEN - SFX_FLAG);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -298,11 +298,9 @@ void BgGanonOtyuka_Fall(BgGanonOtyuka* this, PlayState* play) {
|
|||
}
|
||||
} else {
|
||||
if (this->dropTimer == 1) {
|
||||
Audio_PlaySfxGeneral(NA_SE_EV_STONEDOOR_STOP, &this->dyna.actor.projectedPos, 4,
|
||||
&gSfxDefaultFreqAndVolScale, &gSfxDefaultFreqAndVolScale, &gSfxDefaultReverb);
|
||||
SFX_PLAY_AT_POS(&this->dyna.actor.projectedPos, NA_SE_EV_STONEDOOR_STOP);
|
||||
} else {
|
||||
Audio_PlaySfxGeneral(NA_SE_EV_BLOCKSINK - SFX_FLAG, &this->dyna.actor.projectedPos, 4,
|
||||
&gSfxDefaultFreqAndVolScale, &gSfxDefaultFreqAndVolScale, &gSfxDefaultReverb);
|
||||
SFX_PLAY_AT_POS(&this->dyna.actor.projectedPos, NA_SE_EV_BLOCKSINK - SFX_FLAG);
|
||||
}
|
||||
Math_ApproachF(&this->dyna.actor.world.pos.y, -1000.0f, 1.0f, this->dyna.actor.speed);
|
||||
Math_ApproachF(&this->dyna.actor.speed, 100.0f, 1.0f, 0.1f);
|
||||
|
|
|
@ -130,8 +130,7 @@ void BgGndDarkmeiro_UpdateBlockTimer(BgGndDarkmeiro* this, PlayState* play) {
|
|||
} else {
|
||||
this->actionFlags |= 4;
|
||||
this->timer1 = 304;
|
||||
Audio_PlaySfxGeneral(NA_SE_EV_RED_EYE, &gSfxDefaultPos, 4, &gSfxDefaultFreqAndVolScale,
|
||||
&gSfxDefaultFreqAndVolScale, &gSfxDefaultReverb);
|
||||
SFX_PLAY_CENTERED(NA_SE_EV_RED_EYE);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -146,8 +145,7 @@ void BgGndDarkmeiro_UpdateBlockTimer(BgGndDarkmeiro* this, PlayState* play) {
|
|||
} else {
|
||||
this->actionFlags |= 8;
|
||||
this->timer2 = 304;
|
||||
Audio_PlaySfxGeneral(NA_SE_EV_RED_EYE, &gSfxDefaultPos, 4, &gSfxDefaultFreqAndVolScale,
|
||||
&gSfxDefaultFreqAndVolScale, &gSfxDefaultReverb);
|
||||
SFX_PLAY_CENTERED(NA_SE_EV_RED_EYE);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -176,8 +176,7 @@ void func_8087B284(BgGndSoulmeiro* this, PlayState* play) {
|
|||
if (!Flags_GetSwitch(play, PARAMS_GET_U(this->actor.params, 8, 6))) {
|
||||
this->actor.draw = BgGndSoulmeiro_Draw;
|
||||
if (this->collider.base.acFlags & AC_HIT) {
|
||||
Audio_PlaySfxGeneral(NA_SE_SY_CORRECT_CHIME, &gSfxDefaultPos, 4, &gSfxDefaultFreqAndVolScale,
|
||||
&gSfxDefaultFreqAndVolScale, &gSfxDefaultReverb);
|
||||
SFX_PLAY_CENTERED(NA_SE_SY_CORRECT_CHIME);
|
||||
this->unk_198 = 40;
|
||||
this->actionFunc = func_8087AF38;
|
||||
} else {
|
||||
|
|
|
@ -53,7 +53,7 @@ void BgInGate_Init(Actor* thisx, PlayState* play) {
|
|||
this->dyna.bgId = DynaPoly_SetBgActor(play, &play->colCtx.dyna, &this->dyna.actor, colHeader);
|
||||
|
||||
if ((play->sceneId != SCENE_LON_LON_RANCH || !LINK_IS_ADULT) ||
|
||||
(GET_EVENTCHKINF(EVENTCHKINF_EPONA_OBTAINED) && (gSaveContext.save.cutsceneIndex != 0xFFF0))) {
|
||||
(GET_EVENTCHKINF(EVENTCHKINF_EPONA_OBTAINED) && (gSaveContext.save.cutsceneIndex != CS_INDEX_0))) {
|
||||
Actor_Kill(&this->dyna.actor);
|
||||
return;
|
||||
}
|
||||
|
|
|
@ -511,8 +511,7 @@ void BgMizuBwall_Idle(BgMizuBwall* this, PlayState* play) {
|
|||
this->dList = NULL;
|
||||
BgMizuBwall_SpawnDebris(this, play);
|
||||
Actor_PlaySfx(&this->dyna.actor, NA_SE_EV_WALL_BROKEN);
|
||||
Audio_PlaySfxGeneral(NA_SE_SY_CORRECT_CHIME, &gSfxDefaultPos, 4, &gSfxDefaultFreqAndVolScale,
|
||||
&gSfxDefaultFreqAndVolScale, &gSfxDefaultReverb);
|
||||
SFX_PLAY_CENTERED(NA_SE_SY_CORRECT_CHIME);
|
||||
this->actionFunc = BgMizuBwall_Break;
|
||||
} else if (this->dyna.actor.xzDistToPlayer < 600.0f) {
|
||||
CollisionCheck_SetAC(play, &play->colChkCtx, &this->collider.base);
|
||||
|
|
|
@ -119,7 +119,7 @@ void BgRelayObjects_Destroy(Actor* thisx, PlayState* play) {
|
|||
BgRelayObjects* this = (BgRelayObjects*)thisx;
|
||||
|
||||
DynaPoly_DeleteBgActor(play, &play->colCtx.dyna, this->dyna.bgId);
|
||||
if ((this->dyna.actor.params == WINDMILL_ROTATING_GEAR) && (gSaveContext.save.cutsceneIndex < 0xFFF0)) {
|
||||
if ((this->dyna.actor.params == WINDMILL_ROTATING_GEAR) && (gSaveContext.save.cutsceneIndex < CS_INDEX_0)) {
|
||||
CLEAR_EVENTCHKINF(EVENTCHKINF_65);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -231,7 +231,7 @@ void BgSpot00Hanebasi_Update(Actor* thisx, PlayState* play) {
|
|||
this->actionFunc = BgSpot00Hanebasi_DoNothing;
|
||||
Player_SetCsActionWithHaltedActors(play, &player->actor, PLAYER_CSACTION_8);
|
||||
play->nextEntranceIndex = ENTR_HYRULE_FIELD_0;
|
||||
gSaveContext.nextCutsceneIndex = 0xFFF1;
|
||||
gSaveContext.nextCutsceneIndex = CS_INDEX_1;
|
||||
play->transitionTrigger = TRANS_TRIGGER_START;
|
||||
play->transitionType = TRANS_TYPE_FADE_BLACK_FAST;
|
||||
} else if (Actor_IsFacingAndNearPlayer(&this->dyna.actor, 3000.0f, 0x7530)) {
|
||||
|
|
|
@ -64,8 +64,7 @@ void BgSpot01Idomizu_UpdateWaterLevel(BgSpot01Idomizu* this, PlayState* play) {
|
|||
}
|
||||
play->colCtx.colHeader->waterBoxes[0].ySurface = this->actor.world.pos.y;
|
||||
if (this->waterHeight < this->actor.world.pos.y) {
|
||||
Audio_PlaySfxGeneral(NA_SE_EV_WATER_LEVEL_DOWN - SFX_FLAG, &gSfxDefaultPos, 4, &gSfxDefaultFreqAndVolScale,
|
||||
&gSfxDefaultFreqAndVolScale, &gSfxDefaultReverb);
|
||||
SFX_PLAY_CENTERED(NA_SE_EV_WATER_LEVEL_DOWN - SFX_FLAG);
|
||||
}
|
||||
Math_ApproachF(&this->actor.world.pos.y, this->waterHeight, 1.0f, 2.0f);
|
||||
}
|
||||
|
|
|
@ -326,8 +326,7 @@ void BgSpot06Objects_LockWait(BgSpot06Objects* this, PlayState* play) {
|
|||
EffectSsGSplash_Spawn(play, &this->dyna.actor.world.pos, NULL, NULL, 1, 700);
|
||||
this->collider.elements[0].dim.worldSphere.radius = 45;
|
||||
this->actionFunc = BgSpot06Objects_LockPullOutward;
|
||||
Audio_PlaySfxGeneral(NA_SE_SY_CORRECT_CHIME, &gSfxDefaultPos, 4, &gSfxDefaultFreqAndVolScale,
|
||||
&gSfxDefaultFreqAndVolScale, &gSfxDefaultReverb);
|
||||
SFX_PLAY_CENTERED(NA_SE_SY_CORRECT_CHIME);
|
||||
Flags_SetSwitch(play, this->switchFlag);
|
||||
OnePointCutscene_Init(play, 4120, 170, &this->dyna.actor, CAM_ID_MAIN);
|
||||
} else {
|
||||
|
|
|
@ -111,8 +111,7 @@ void func_808BC65C(BgTreemouth* this, PlayState* play) {
|
|||
if (cue->id == 2) {
|
||||
BgTreemouth_SetupAction(this, func_808BC80C);
|
||||
} else if (cue->id == 3) {
|
||||
Audio_PlaySfxGeneral(NA_SE_EV_WOODDOOR_OPEN, &gSfxDefaultPos, 4, &gSfxDefaultFreqAndVolScale,
|
||||
&gSfxDefaultFreqAndVolScale, &gSfxDefaultReverb);
|
||||
SFX_PLAY_CENTERED(NA_SE_EV_WOODDOOR_OPEN);
|
||||
BgTreemouth_SetupAction(this, func_808BC6F8);
|
||||
}
|
||||
}
|
||||
|
@ -218,8 +217,7 @@ void func_808BCAF0(BgTreemouth* this, PlayState* play) {
|
|||
if (cue->id == 2) {
|
||||
BgTreemouth_SetupAction(this, func_808BC80C);
|
||||
} else if (cue->id == 3) {
|
||||
Audio_PlaySfxGeneral(NA_SE_EV_WOODDOOR_OPEN, &gSfxDefaultPos, 4, &gSfxDefaultFreqAndVolScale,
|
||||
&gSfxDefaultFreqAndVolScale, &gSfxDefaultReverb);
|
||||
SFX_PLAY_CENTERED(NA_SE_EV_WOODDOOR_OPEN);
|
||||
BgTreemouth_SetupAction(this, func_808BC6F8);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -95,8 +95,7 @@ void BgVbSima_Update(Actor* thisx, PlayState* play) {
|
|||
this->dyna.actor.world.pos.z += 2.0f * Math_CosS(this->shakeTimer * 0x8000);
|
||||
this->dyna.actor.shape.rot.x = (s16)Math_SinS(this->shakeTimer * 0x7000) * 0x37;
|
||||
this->dyna.actor.shape.rot.z = (s16)Math_SinS(this->shakeTimer * 0x5000) * 0x37;
|
||||
Audio_PlaySfxGeneral(NA_SE_EV_BLOCKSINK - SFX_FLAG, &this->dyna.actor.projectedPos, 4,
|
||||
&gSfxDefaultFreqAndVolScale, &gSfxDefaultFreqAndVolScale, &gSfxDefaultReverb);
|
||||
SFX_PLAY_AT_POS(&this->dyna.actor.projectedPos, NA_SE_EV_BLOCKSINK - SFX_FLAG);
|
||||
} else if (signal == VBSIMA_KILL) {
|
||||
Actor_Kill(&this->dyna.actor);
|
||||
}
|
||||
|
|
|
@ -65,8 +65,7 @@ void BgZg_Destroy(Actor* thisx, PlayState* play) {
|
|||
}
|
||||
|
||||
void func_808C0C50(BgZg* this) {
|
||||
Audio_PlaySfxGeneral(NA_SE_EV_METALDOOR_OPEN, &this->dyna.actor.projectedPos, 4, &gSfxDefaultFreqAndVolScale,
|
||||
&gSfxDefaultFreqAndVolScale, &gSfxDefaultReverb);
|
||||
SFX_PLAY_AT_POS(&this->dyna.actor.projectedPos, NA_SE_EV_METALDOOR_OPEN);
|
||||
}
|
||||
|
||||
s32 func_808C0C98(BgZg* this, PlayState* play) {
|
||||
|
|
|
@ -404,8 +404,7 @@ void BossFd_Fly(BossFd* this, PlayState* play) {
|
|||
this->fogMode = 1;
|
||||
}
|
||||
if (this->timers[0] < 50) {
|
||||
Audio_PlaySfxGeneral(NA_SE_EN_DODO_K_ROLL - SFX_FLAG, &this->actor.projectedPos, 4,
|
||||
&gSfxDefaultFreqAndVolScale, &gSfxDefaultFreqAndVolScale, &gSfxDefaultReverb);
|
||||
SFX_PLAY_AT_POS(&this->actor.projectedPos, NA_SE_EN_DODO_K_ROLL - SFX_FLAG);
|
||||
this->subCamAtYOffset = Math_CosS(this->work[BFD_MOVE_TIMER] * 0x8000) * this->subCamShake;
|
||||
Math_ApproachF(&this->subCamShake, 2.0f, 1.0f, 0.8 * 0.01f);
|
||||
}
|
||||
|
@ -425,8 +424,7 @@ void BossFd_Fly(BossFd* this, PlayState* play) {
|
|||
case BFD_CS_LOOK_GROUND:
|
||||
this->subCamAtYOffset = Math_CosS(this->work[BFD_MOVE_TIMER] * 0x8000) * this->subCamShake;
|
||||
Math_ApproachF(&this->subCamShake, 2.0f, 1.0f, 0.8 * 0.01f);
|
||||
Audio_PlaySfxGeneral(NA_SE_EN_DODO_K_ROLL - SFX_FLAG, &this->actor.projectedPos, 4,
|
||||
&gSfxDefaultFreqAndVolScale, &gSfxDefaultFreqAndVolScale, &gSfxDefaultReverb);
|
||||
SFX_PLAY_AT_POS(&this->actor.projectedPos, NA_SE_EN_DODO_K_ROLL - SFX_FLAG);
|
||||
if (this->timers[0] == 0) {
|
||||
this->introState = BFD_CS_COLLAPSE;
|
||||
this->subCamEyeNext.x = player2->actor.world.pos.x + 100.0f + 300.0f;
|
||||
|
@ -446,8 +444,7 @@ void BossFd_Fly(BossFd* this, PlayState* play) {
|
|||
this->subCamAccel = 0.005f;
|
||||
this->subCamAtYOffset = Math_CosS(this->work[BFD_MOVE_TIMER] * 0x8000) * this->subCamShake;
|
||||
Math_ApproachF(&this->subCamShake, 2.0f, 1.0f, 0.8 * 0.01f);
|
||||
Audio_PlaySfxGeneral(NA_SE_EN_DODO_K_ROLL - SFX_FLAG, &this->actor.projectedPos, 4,
|
||||
&gSfxDefaultFreqAndVolScale, &gSfxDefaultFreqAndVolScale, &gSfxDefaultReverb);
|
||||
SFX_PLAY_AT_POS(&this->actor.projectedPos, NA_SE_EN_DODO_K_ROLL - SFX_FLAG);
|
||||
if (this->timers[0] == 100) {
|
||||
this->platformSignal = VBSIMA_COLLAPSE;
|
||||
}
|
||||
|
@ -483,8 +480,7 @@ void BossFd_Fly(BossFd* this, PlayState* play) {
|
|||
PRINTF("WAY_SPD Y = %f\n", this->subCamAtVel.y);
|
||||
PRINTF("WAY_SPD Z = %f\n", this->subCamAtVel.z);
|
||||
if ((this->timers[3] > 190) && !GET_EVENTCHKINF(EVENTCHKINF_BEGAN_VOLVAGIA_BATTLE)) {
|
||||
Audio_PlaySfxGeneral(NA_SE_EN_DODO_K_ROLL - SFX_FLAG, &this->actor.projectedPos, 4,
|
||||
&gSfxDefaultFreqAndVolScale, &gSfxDefaultFreqAndVolScale, &gSfxDefaultReverb);
|
||||
SFX_PLAY_AT_POS(&this->actor.projectedPos, NA_SE_EN_DODO_K_ROLL - SFX_FLAG);
|
||||
}
|
||||
if (this->timers[3] == 190) {
|
||||
this->subCamAtMaxVelFrac.x = this->subCamAtMaxVelFrac.y = this->subCamAtMaxVelFrac.z = 0.05f;
|
||||
|
@ -694,8 +690,7 @@ void BossFd_Fly(BossFd* this, PlayState* play) {
|
|||
if (this->actor.bgCheckFlags & BGCHECKFLAG_CEILING) {
|
||||
this->fwork[BFD_CEILING_BOUNCE] = -18384.0f;
|
||||
this->timers[1] = 10;
|
||||
Audio_PlaySfxGeneral(NA_SE_EV_EXPLOSION, &this->actor.projectedPos, 4, &gSfxDefaultFreqAndVolScale,
|
||||
&gSfxDefaultFreqAndVolScale, &gSfxDefaultReverb);
|
||||
SFX_PLAY_AT_POS(&this->actor.projectedPos, NA_SE_EV_EXPLOSION);
|
||||
Actor_RequestQuakeWithSpeed(play, 3, 10, 0x7530);
|
||||
this->work[BFD_ROCK_TIMER] = 300;
|
||||
}
|
||||
|
@ -794,8 +789,7 @@ void BossFd_Fly(BossFd* this, PlayState* play) {
|
|||
|
||||
sp150 = 1;
|
||||
if (this->work[BFD_MOVE_TIMER] & 0x1C) {
|
||||
Audio_PlaySfxGeneral(NA_SE_EN_VALVAISA_BURN - SFX_FLAG, &this->actor.projectedPos, 4,
|
||||
&gSfxDefaultFreqAndVolScale, &gSfxDefaultFreqAndVolScale, &gSfxDefaultReverb);
|
||||
SFX_PLAY_AT_POS(&this->actor.projectedPos, NA_SE_EN_VALVAISA_BURN - SFX_FLAG);
|
||||
}
|
||||
for (i1 = 0; i1 < sp150; i1++) {
|
||||
if (sp150) { // Needed for matching
|
||||
|
@ -867,9 +861,7 @@ void BossFd_Fly(BossFd* this, PlayState* play) {
|
|||
this->work[BFD_CEILING_TARGET]++;
|
||||
this->timers[1] = 60;
|
||||
this->work[BFD_CAM_SHAKE_TIMER] = 20;
|
||||
Audio_PlaySfxGeneral(NA_SE_EN_VALVAISA_LAND2, &this->actor.projectedPos, 4,
|
||||
&gSfxDefaultFreqAndVolScale, &gSfxDefaultFreqAndVolScale,
|
||||
&gSfxDefaultReverb);
|
||||
SFX_PLAY_AT_POS(&this->actor.projectedPos, NA_SE_EN_VALVAISA_LAND2);
|
||||
Player_SetCsActionWithHaltedActors(play, &this->actor, PLAYER_CSACTION_5);
|
||||
for (i1 = 0; i1 < 15; i1++) {
|
||||
Vec3f sp144 = { 0.0f, 0.0f, 0.0f };
|
||||
|
@ -910,8 +902,7 @@ void BossFd_Fly(BossFd* this, PlayState* play) {
|
|||
Vec3f sp114 = { 0.0f, 0.0f, 0.0f };
|
||||
Vec3f sp108 = { 0.0f, 0.03f, 0.0f };
|
||||
|
||||
Audio_PlaySfxGeneral(NA_SE_EN_GOMA_LAST - SFX_FLAG, &this->actor.projectedPos, 4,
|
||||
&gSfxDefaultFreqAndVolScale, &gSfxDefaultFreqAndVolScale, &gSfxDefaultReverb);
|
||||
SFX_PLAY_AT_POS(&this->actor.projectedPos, NA_SE_EN_GOMA_LAST - SFX_FLAG);
|
||||
|
||||
sp120.x = Rand_CenteredFloat(40.0f) + this->actor.world.pos.x;
|
||||
sp120.y = (Rand_CenteredFloat(10.0f) + this->actor.world.pos.y) - 10.0f;
|
||||
|
@ -1159,8 +1150,7 @@ void BossFd_Effects(BossFd* this, PlayState* play) {
|
|||
|
||||
if (this->work[BFD_ROAR_TIMER] != 0) {
|
||||
if (this->work[BFD_ROAR_TIMER] == 37) {
|
||||
Audio_PlaySfxGeneral(NA_SE_EN_VALVAISA_ROAR, &this->actor.projectedPos, 4, &gSfxDefaultFreqAndVolScale,
|
||||
&gSfxDefaultFreqAndVolScale, &gSfxDefaultReverb);
|
||||
SFX_PLAY_AT_POS(&this->actor.projectedPos, NA_SE_EN_VALVAISA_ROAR);
|
||||
}
|
||||
jawAngle = 6000.0f;
|
||||
jawSpeed = 1300.0f;
|
||||
|
@ -1180,8 +1170,7 @@ void BossFd_Effects(BossFd* this, PlayState* play) {
|
|||
Vec3f spawnPos1;
|
||||
s16 i;
|
||||
|
||||
Audio_PlaySfxGeneral(NA_SE_EN_VALVAISA_APPEAR - SFX_FLAG, &this->actor.projectedPos, 4,
|
||||
&gSfxDefaultFreqAndVolScale, &gSfxDefaultFreqAndVolScale, &gSfxDefaultReverb);
|
||||
SFX_PLAY_AT_POS(&this->actor.projectedPos, NA_SE_EN_VALVAISA_APPEAR - SFX_FLAG);
|
||||
if (this->work[BFD_SPLASH_TIMER] != 0) {
|
||||
this->work[BFD_SPLASH_TIMER]--;
|
||||
if ((this->actor.colChkInfo.health == 0) ||
|
||||
|
@ -1259,8 +1248,7 @@ void BossFd_Effects(BossFd* this, PlayState* play) {
|
|||
this->fogMode = 2;
|
||||
spawnSpeed2.z = 30.0f;
|
||||
|
||||
Audio_PlaySfxGeneral(NA_SE_EN_VALVAISA_FIRE - SFX_FLAG, &sFireAudioVec, 4, &gSfxDefaultFreqAndVolScale,
|
||||
&gSfxDefaultFreqAndVolScale, &gSfxDefaultReverb);
|
||||
SFX_PLAY_AT_POS(&sFireAudioVec, NA_SE_EN_VALVAISA_FIRE - SFX_FLAG);
|
||||
spawnPos2 = this->headPos;
|
||||
|
||||
spawnAngleY = BINANG_TO_RAD_ALT(this->actor.world.rot.y);
|
||||
|
@ -1322,8 +1310,7 @@ void BossFd_CollisionCheck(BossFd* this, PlayState* play) {
|
|||
}
|
||||
this->work[BFD_DAMAGE_FLASH_TIMER] = 10;
|
||||
this->work[BFD_INVINC_TIMER] = 20;
|
||||
Audio_PlaySfxGeneral(NA_SE_EN_VALVAISA_DAMAGE1, &this->actor.projectedPos, 4, &gSfxDefaultFreqAndVolScale,
|
||||
&gSfxDefaultFreqAndVolScale, &gSfxDefaultReverb);
|
||||
SFX_PLAY_AT_POS(&this->actor.projectedPos, NA_SE_EN_VALVAISA_DAMAGE1);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -3971,9 +3971,7 @@ void BossGanon_LightBall_Update(Actor* thisx, PlayState* play2) {
|
|||
|
||||
if ((hitWithBottle == false) && (acHitElem->atDmgInfo.dmgFlags & DMG_SHIELD)) {
|
||||
spBA = 2;
|
||||
Audio_PlaySfxGeneral(NA_SE_IT_SHIELD_REFLECT_MG, &player->actor.projectedPos, 4,
|
||||
&gSfxDefaultFreqAndVolScale, &gSfxDefaultFreqAndVolScale,
|
||||
&gSfxDefaultReverb);
|
||||
SFX_PLAY_AT_POS(&player->actor.projectedPos, NA_SE_IT_SHIELD_REFLECT_MG);
|
||||
Rumble_Request(this->actor.xyzDistToPlayerSq, 255, 20, 150);
|
||||
} else {
|
||||
spBA = 1;
|
||||
|
@ -3982,9 +3980,7 @@ void BossGanon_LightBall_Update(Actor* thisx, PlayState* play2) {
|
|||
Math_Atan2S(sqrtf(SQ(xDistFromGanondorf) + SQ(zDistFromGanondorf)), yDistFromGanondorf);
|
||||
this->unk_1A4++;
|
||||
this->timers[1] = 2;
|
||||
Audio_PlaySfxGeneral(NA_SE_IT_SWORD_REFLECT_MG, &player->actor.projectedPos, 4,
|
||||
&gSfxDefaultFreqAndVolScale, &gSfxDefaultFreqAndVolScale,
|
||||
&gSfxDefaultReverb);
|
||||
SFX_PLAY_AT_POS(&player->actor.projectedPos, NA_SE_IT_SWORD_REFLECT_MG);
|
||||
Rumble_Request(this->actor.xyzDistToPlayerSq, 180, 20, 100);
|
||||
|
||||
if (hitWithBottle == false) {
|
||||
|
|
|
@ -31,8 +31,8 @@
|
|||
#include "assets/objects/object_geff/object_geff.h"
|
||||
#include "assets/objects/gameplay_keep/gameplay_keep.h"
|
||||
|
||||
#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:128 ntsc-1.1:128 ntsc-1.2:128 pal-1.0:128 pal-1.1:128"
|
||||
#pragma increment_block_number "gc-eu:128 gc-eu-mq:128 gc-jp:0 gc-jp-ce:0 gc-jp-mq:0 gc-us:0 gc-us-mq:0 ique-cn:128" \
|
||||
"ntsc-1.0:128 ntsc-1.1:128 ntsc-1.2:128 pal-1.0:128 pal-1.1:128"
|
||||
|
||||
#define FLAGS \
|
||||
(ACTOR_FLAG_ATTENTION_ENABLED | ACTOR_FLAG_HOSTILE | ACTOR_FLAG_UPDATE_CULLING_DISABLED | \
|
||||
|
@ -2144,7 +2144,7 @@ void func_8090120C(BossGanon2* this, PlayState* play) {
|
|||
FALLTHROUGH;
|
||||
case 20:
|
||||
play->nextEntranceIndex = ENTR_CHAMBER_OF_THE_SAGES_0;
|
||||
gSaveContext.nextCutsceneIndex = 0xFFF2;
|
||||
gSaveContext.nextCutsceneIndex = CS_INDEX_2;
|
||||
play->transitionTrigger = TRANS_TRIGGER_START;
|
||||
play->transitionType = TRANS_TYPE_FADE_WHITE;
|
||||
play->linkAgeOnLoad = LINK_AGE_CHILD;
|
||||
|
|
|
@ -39,7 +39,7 @@
|
|||
#include "assets/objects/object_mo/object_mo.h"
|
||||
|
||||
#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" \
|
||||
"pal-1.0:128 pal-1.1:128"
|
||||
"ntsc-1.0:128 ntsc-1.1:128 ntsc-1.2:128 pal-1.0:128 pal-1.1:128"
|
||||
|
||||
#define FLAGS \
|
||||
(ACTOR_FLAG_ATTENTION_ENABLED | ACTOR_FLAG_HOSTILE | ACTOR_FLAG_UPDATE_CULLING_DISABLED | \
|
||||
|
@ -745,9 +745,7 @@ void BossMo_Tentacle(BossMo* this, PlayState* play) {
|
|||
player->actor.parent = &this->actor;
|
||||
this->work[MO_TENT_ACTION_STATE] = MO_TENT_GRAB;
|
||||
Sfx_PlaySfxAtPos(&this->tentTipPos, NA_SE_EN_MOFER_CATCH);
|
||||
Audio_PlaySfxGeneral(NA_SE_VO_LI_DAMAGE_S, &player->actor.projectedPos, 4,
|
||||
&gSfxDefaultFreqAndVolScale, &gSfxDefaultFreqAndVolScale,
|
||||
&gSfxDefaultReverb);
|
||||
SFX_PLAY_AT_POS(&player->actor.projectedPos, NA_SE_VO_LI_DAMAGE_S);
|
||||
} else {
|
||||
this->work[MO_TENT_ACTION_STATE] = MO_TENT_READY;
|
||||
this->tentMaxAngle = .001f;
|
||||
|
|
|
@ -27,7 +27,7 @@
|
|||
#include "assets/objects/object_tw/object_tw.h"
|
||||
|
||||
#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:128 ntsc-1.1:128 ntsc-1.2:128 pal-1.0:128 pal-1.1:128"
|
||||
"ique-cn:0 ntsc-1.0:128 ntsc-1.1:128 ntsc-1.2:128 pal-1.0:128 pal-1.1:128"
|
||||
|
||||
#define FLAGS \
|
||||
(ACTOR_FLAG_ATTENTION_ENABLED | ACTOR_FLAG_HOSTILE | ACTOR_FLAG_UPDATE_CULLING_DISABLED | \
|
||||
|
@ -492,7 +492,7 @@ void BossTw_Init(Actor* thisx, PlayState* play2) {
|
|||
|
||||
if (this->actor.params == TW_FIRE_BLAST || this->actor.params == TW_FIRE_BLAST_GROUND) {
|
||||
this->actionFunc = BossTw_BlastFire;
|
||||
this->collider.elem.atDmgInfo.effect = 1;
|
||||
this->collider.elem.atDmgInfo.hitSpecialEffect = HIT_SPECIAL_EFFECT_1;
|
||||
} else if (this->actor.params == TW_ICE_BLAST || this->actor.params == TW_ICE_BLAST_GROUND) {
|
||||
this->actionFunc = BossTw_BlastIce;
|
||||
} else if (this->actor.params >= TW_DEATHBALL_KOTAKE) {
|
||||
|
@ -1162,11 +1162,9 @@ void BossTw_ShootBeam(BossTw* this, PlayState* play) {
|
|||
&this->actor.projectedW);
|
||||
|
||||
if (this->actor.params == TW_KOUME) {
|
||||
Audio_PlaySfxGeneral(NA_SE_EN_TWINROBA_SHOOT_FIRE - SFX_FLAG, &this->unk_54C, 4,
|
||||
&gSfxDefaultFreqAndVolScale, &gSfxDefaultFreqAndVolScale, &gSfxDefaultReverb);
|
||||
SFX_PLAY_AT_POS(&this->unk_54C, NA_SE_EN_TWINROBA_SHOOT_FIRE - SFX_FLAG);
|
||||
} else {
|
||||
Audio_PlaySfxGeneral(NA_SE_EN_TWINROBA_SHOOT_FREEZE - SFX_FLAG, &this->unk_54C, 4,
|
||||
&gSfxDefaultFreqAndVolScale, &gSfxDefaultFreqAndVolScale, &gSfxDefaultReverb);
|
||||
SFX_PLAY_AT_POS(&this->unk_54C, NA_SE_EN_TWINROBA_SHOOT_FREEZE - SFX_FLAG);
|
||||
}
|
||||
break;
|
||||
|
||||
|
@ -1192,15 +1190,11 @@ void BossTw_ShootBeam(BossTw* this, PlayState* play) {
|
|||
&this->actor.projectedW);
|
||||
|
||||
if (this->actor.params == TW_KOUME) {
|
||||
Audio_PlaySfxGeneral(NA_SE_EN_TWINROBA_SHOOT_FIRE - SFX_FLAG, &this->unk_558, 4U,
|
||||
&gSfxDefaultFreqAndVolScale, &gSfxDefaultFreqAndVolScale, &gSfxDefaultReverb);
|
||||
Audio_PlaySfxGeneral(NA_SE_EN_TWINROBA_REFL_FIRE - SFX_FLAG, &this->unk_558, 4,
|
||||
&gSfxDefaultFreqAndVolScale, &gSfxDefaultFreqAndVolScale, &gSfxDefaultReverb);
|
||||
SFX_PLAY_AT_POS(&this->unk_558, NA_SE_EN_TWINROBA_SHOOT_FIRE - SFX_FLAG);
|
||||
SFX_PLAY_AT_POS(&this->unk_558, NA_SE_EN_TWINROBA_REFL_FIRE - SFX_FLAG);
|
||||
} else {
|
||||
Audio_PlaySfxGeneral(NA_SE_EN_TWINROBA_SHOOT_FREEZE - SFX_FLAG, &this->unk_558, 4,
|
||||
&gSfxDefaultFreqAndVolScale, &gSfxDefaultFreqAndVolScale, &gSfxDefaultReverb);
|
||||
Audio_PlaySfxGeneral(NA_SE_EN_TWINROBA_REFL_FREEZE - SFX_FLAG, &this->unk_558, 4,
|
||||
&gSfxDefaultFreqAndVolScale, &gSfxDefaultFreqAndVolScale, &gSfxDefaultReverb);
|
||||
SFX_PLAY_AT_POS(&this->unk_558, NA_SE_EN_TWINROBA_SHOOT_FREEZE - SFX_FLAG);
|
||||
SFX_PLAY_AT_POS(&this->unk_558, NA_SE_EN_TWINROBA_REFL_FREEZE - SFX_FLAG);
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
|
|
@ -3897,8 +3897,7 @@ void BossVa_SpawnTumor(PlayState* play, BossVaEffect* effect, BossVa* this, Vec3
|
|||
effect->scale = 0.0f;
|
||||
|
||||
if (((i % 4) == 0) || (mode == 2)) {
|
||||
Audio_PlaySfxGeneral(NA_SE_EN_BALINADE_BREAK, &effect->pos, 4, &gSfxDefaultFreqAndVolScale,
|
||||
&gSfxDefaultFreqAndVolScale, &gSfxDefaultReverb);
|
||||
SFX_PLAY_AT_POS(&effect->pos, NA_SE_EN_BALINADE_BREAK);
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
|
|
@ -338,8 +338,7 @@ void DemoDu_CsPlaySfx_DaruniaHitsLink(PlayState* play) {
|
|||
s32 pad;
|
||||
|
||||
Sfx_PlaySfxAtPos(&player->actor.projectedPos, NA_SE_EN_DARUNIA_HIT_LINK);
|
||||
Audio_PlaySfxGeneral(NA_SE_VO_LI_DAMAGE_S_KID, &player->actor.projectedPos, 4, &gSfxDefaultFreqAndVolScale,
|
||||
&gSfxDefaultFreqAndVolScale, &gSfxDefaultReverb);
|
||||
SFX_PLAY_AT_POS(&player->actor.projectedPos, NA_SE_VO_LI_DAMAGE_S_KID);
|
||||
}
|
||||
|
||||
// Cutscene: Darunia gives Link the Goron's Ruby.
|
||||
|
@ -353,8 +352,7 @@ void DemoDu_CsPlaySfx_LinkEscapeFromGorons(PlayState* play) {
|
|||
if (play->csCtx.curFrame == 1400) {
|
||||
Player* player = GET_PLAYER(play);
|
||||
|
||||
Audio_PlaySfxGeneral(NA_SE_VO_LI_FALL_L_KID, &player->actor.projectedPos, 4, &gSfxDefaultFreqAndVolScale,
|
||||
&gSfxDefaultFreqAndVolScale, &gSfxDefaultReverb);
|
||||
SFX_PLAY_AT_POS(&player->actor.projectedPos, NA_SE_VO_LI_FALL_L_KID);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -364,8 +362,7 @@ void DemoDu_CsPlaySfx_LinkSurprised(PlayState* play) {
|
|||
if (play->csCtx.curFrame == 174) {
|
||||
Player* player = GET_PLAYER(play);
|
||||
|
||||
Audio_PlaySfxGeneral(NA_SE_VO_LI_SURPRISE_KID, &player->actor.projectedPos, 4U, &gSfxDefaultFreqAndVolScale,
|
||||
&gSfxDefaultFreqAndVolScale, &gSfxDefaultReverb);
|
||||
SFX_PLAY_AT_POS(&player->actor.projectedPos, NA_SE_VO_LI_SURPRISE_KID);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -56,8 +56,7 @@ void DemoExt_Init(Actor* thisx, PlayState* play) {
|
|||
|
||||
void DemoExt_PlayVortexSFX(DemoExt* this) {
|
||||
if (this->alphaTimer <= (kREG(35) + 40.0f) - 15.0f) {
|
||||
Audio_PlaySfxGeneral(NA_SE_EV_FANTOM_WARP_L - SFX_FLAG, &this->actor.projectedPos, 4,
|
||||
&gSfxDefaultFreqAndVolScale, &gSfxDefaultFreqAndVolScale, &gSfxDefaultReverb);
|
||||
SFX_PLAY_AT_POS(&this->actor.projectedPos, NA_SE_EV_FANTOM_WARP_L - SFX_FLAG);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -104,20 +104,17 @@ void DemoIk_Type1PlaySfx(DemoIk* this) {
|
|||
switch (this->actor.params) {
|
||||
case 0:
|
||||
if (Animation_OnFrame(&this->skelAnime, 5.0f)) {
|
||||
Audio_PlaySfxGeneral(NA_SE_EN_IRONNACK_ARMOR_LAND1_DEMO, &this->actor.projectedPos, 4,
|
||||
&gSfxDefaultFreqAndVolScale, &gSfxDefaultFreqAndVolScale, &gSfxDefaultReverb);
|
||||
SFX_PLAY_AT_POS(&this->actor.projectedPos, NA_SE_EN_IRONNACK_ARMOR_LAND1_DEMO);
|
||||
}
|
||||
break;
|
||||
case 1:
|
||||
if (Animation_OnFrame(&this->skelAnime, 10.0f)) {
|
||||
Audio_PlaySfxGeneral(NA_SE_EN_IRONNACK_ARMOR_LAND3_DEMO, &this->actor.projectedPos, 4,
|
||||
&gSfxDefaultFreqAndVolScale, &gSfxDefaultFreqAndVolScale, &gSfxDefaultReverb);
|
||||
SFX_PLAY_AT_POS(&this->actor.projectedPos, NA_SE_EN_IRONNACK_ARMOR_LAND3_DEMO);
|
||||
}
|
||||
break;
|
||||
case 2:
|
||||
if (Animation_OnFrame(&this->skelAnime, 9.0f)) {
|
||||
Audio_PlaySfxGeneral(NA_SE_EN_IRONNACK_ARMOR_LAND2_DEMO, &this->actor.projectedPos, 4,
|
||||
&gSfxDefaultFreqAndVolScale, &gSfxDefaultFreqAndVolScale, &gSfxDefaultReverb);
|
||||
SFX_PLAY_AT_POS(&this->actor.projectedPos, NA_SE_EN_IRONNACK_ARMOR_LAND2_DEMO);
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
@ -337,8 +334,7 @@ void DemoIk_Type2Init(DemoIk* this, PlayState* play) {
|
|||
|
||||
void DemoIk_Type2PlaySfxOnFrame(DemoIk* this, f32 frame) {
|
||||
if (Animation_OnFrame(&this->skelAnime, frame)) {
|
||||
Audio_PlaySfxGeneral(NA_SE_EN_IRONNACK_ARMOR_OFF_DEMO, &this->actor.projectedPos, 4,
|
||||
&gSfxDefaultFreqAndVolScale, &gSfxDefaultFreqAndVolScale, &gSfxDefaultReverb);
|
||||
SFX_PLAY_AT_POS(&this->actor.projectedPos, NA_SE_EN_IRONNACK_ARMOR_OFF_DEMO);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -746,8 +746,7 @@ void func_80986570(DemoIm* this, PlayState* play) {
|
|||
u32 sfxId = NA_SE_PL_WALK_GROUND;
|
||||
|
||||
sfxId += SurfaceType_GetSfxOffset(&play->colCtx, this->actor.floorPoly, this->actor.floorBgId);
|
||||
Audio_PlaySfxGeneral(sfxId, &this->actor.projectedPos, 4, &gSfxDefaultFreqAndVolScale,
|
||||
&gSfxDefaultFreqAndVolScale, &gSfxDefaultReverb);
|
||||
SFX_PLAY_AT_POS(&this->actor.projectedPos, sfxId);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -274,8 +274,7 @@ void DemoKankyo_Init(Actor* thisx, PlayState* play) {
|
|||
this->sparkleCounter = 0;
|
||||
this->actor.scale.x = this->actor.scale.y = this->actor.scale.z = 1.0f;
|
||||
if (this->actor.params == DEMOKANKYO_WARP_OUT) {
|
||||
Audio_PlaySfxGeneral(NA_SE_EV_SARIA_MELODY, &gSfxDefaultPos, 4, &gSfxDefaultFreqAndVolScale,
|
||||
&gSfxDefaultFreqAndVolScale, &gSfxDefaultReverb);
|
||||
SFX_PLAY_CENTERED(NA_SE_EV_SARIA_MELODY);
|
||||
}
|
||||
break;
|
||||
case DEMOKANKYO_SPARKLES:
|
||||
|
@ -390,8 +389,7 @@ void DemoKankyo_DoNothing(DemoKankyo* this, PlayState* play) {
|
|||
|
||||
void DemoKankyo_UpdateWarpIn(DemoKankyo* this, PlayState* play) {
|
||||
#if OOT_VERSION < PAL_1_0
|
||||
Audio_PlaySfxGeneral(NA_SE_EV_LINK_WARP_OUT, &gSfxDefaultPos, 4, &gSfxDefaultFreqAndVolScale,
|
||||
&gSfxDefaultFreqAndVolScale, &gSfxDefaultReverb);
|
||||
SFX_PLAY_CENTERED(NA_SE_EV_LINK_WARP_OUT);
|
||||
#endif
|
||||
DemoKankyo_SetupAction(this, DemoKankyo_DoNothing);
|
||||
}
|
||||
|
@ -824,8 +822,7 @@ void DemoKankyo_DrawWarpSparkles(Actor* thisx, PlayState* play) {
|
|||
}
|
||||
} else {
|
||||
#if OOT_VERSION >= PAL_1_0
|
||||
Audio_PlaySfxGeneral(NA_SE_EV_LINK_WARP_OUT - SFX_FLAG, &gSfxDefaultPos, 4,
|
||||
&gSfxDefaultFreqAndVolScale, &gSfxDefaultFreqAndVolScale, &gSfxDefaultReverb);
|
||||
SFX_PLAY_CENTERED(NA_SE_EV_LINK_WARP_OUT - SFX_FLAG);
|
||||
#endif
|
||||
if (func_800BB2B4(&camPos, &sWarpRoll, &sWarpFoV, sWarpInCameraPoints, &this->unk_150[i].unk_20,
|
||||
&this->unk_150[i].unk_1C) != 0) {
|
||||
|
|
|
@ -128,8 +128,7 @@ void func_80993848(DemoTreLgt* this, PlayState* play) {
|
|||
}
|
||||
if ((currentFrame > 30.0f) && !(this->status & 1)) {
|
||||
this->status |= 1;
|
||||
Audio_PlaySfxGeneral(NA_SE_EV_TRE_BOX_FLASH, &this->actor.projectedPos, 4, &gSfxDefaultFreqAndVolScale,
|
||||
&gSfxDefaultFreqAndVolScale, &gSfxDefaultReverb);
|
||||
SFX_PLAY_AT_POS(&this->actor.projectedPos, NA_SE_EV_TRE_BOX_FLASH);
|
||||
}
|
||||
if (SkelCurve_Update(play, &this->skelCurve)) {
|
||||
Actor_Kill(&this->actor);
|
||||
|
|
|
@ -126,8 +126,7 @@ void DoorAna_WaitClosed(DoorAna* this, PlayState* play) {
|
|||
if (openGrotto) {
|
||||
this->actor.params &= ~0x0300;
|
||||
DoorAna_SetupAction(this, DoorAna_WaitOpen);
|
||||
Audio_PlaySfxGeneral(NA_SE_SY_CORRECT_CHIME, &gSfxDefaultPos, 4, &gSfxDefaultFreqAndVolScale,
|
||||
&gSfxDefaultFreqAndVolScale, &gSfxDefaultReverb);
|
||||
SFX_PLAY_CENTERED(NA_SE_SY_CORRECT_CHIME);
|
||||
}
|
||||
Actor_SetClosestSecretDistance(&this->actor, play);
|
||||
}
|
||||
|
|
|
@ -481,8 +481,7 @@ void DoorWarp1_ChildWarpIdle(DoorWarp1* this, PlayState* play) {
|
|||
if (DoorWarp1_PlayerInRange(this, play)) {
|
||||
Player* player = GET_PLAYER(play);
|
||||
|
||||
Audio_PlaySfxGeneral(NA_SE_EV_LINK_WARP, &player->actor.projectedPos, 4, &gSfxDefaultFreqAndVolScale,
|
||||
&gSfxDefaultFreqAndVolScale, &gSfxDefaultReverb);
|
||||
SFX_PLAY_AT_POS(&player->actor.projectedPos, NA_SE_EV_LINK_WARP);
|
||||
OnePointCutscene_Init(play, 0x25E7, 999, &this->actor, CAM_ID_MAIN);
|
||||
Player_SetCsActionWithHaltedActors(play, &this->actor, PLAYER_CSACTION_10);
|
||||
|
||||
|
@ -509,7 +508,7 @@ void DoorWarp1_ChildWarpOut(DoorWarp1* this, PlayState* play) {
|
|||
Math_SmoothStepToF(&this->lightRayAlpha, 0.0f, 0.2f, 6.0f, 0.01f);
|
||||
this->warpTimer++;
|
||||
|
||||
if (sWarpTimerTarget < this->warpTimer && gSaveContext.nextCutsceneIndex == 0xFFEF) {
|
||||
if (sWarpTimerTarget < this->warpTimer && gSaveContext.nextCutsceneIndex == NEXT_CS_INDEX_NONE) {
|
||||
PRINTF(T("\n\n\nじかんがきたからおーしまい fade_direction=[%d]",
|
||||
"\n\n\nThe time has come, so it's over. fade_direction=[%d]"),
|
||||
play->transitionTrigger, TRANS_TRIGGER_START);
|
||||
|
@ -519,10 +518,10 @@ void DoorWarp1_ChildWarpOut(DoorWarp1* this, PlayState* play) {
|
|||
Flags_SetEventChkInf(EVENTCHKINF_25);
|
||||
Item_Give(play, ITEM_GORON_RUBY);
|
||||
play->nextEntranceIndex = ENTR_DEATH_MOUNTAIN_TRAIL_0;
|
||||
gSaveContext.nextCutsceneIndex = 0xFFF1;
|
||||
gSaveContext.nextCutsceneIndex = CS_INDEX_1;
|
||||
} else {
|
||||
play->nextEntranceIndex = ENTR_DEATH_MOUNTAIN_TRAIL_5;
|
||||
gSaveContext.nextCutsceneIndex = 0;
|
||||
gSaveContext.nextCutsceneIndex = CS_INDEX_NONE;
|
||||
}
|
||||
} else if (play->sceneId == SCENE_DEKU_TREE_BOSS) {
|
||||
if (!Flags_GetEventChkInf(EVENTCHKINF_07)) {
|
||||
|
@ -530,14 +529,14 @@ void DoorWarp1_ChildWarpOut(DoorWarp1* this, PlayState* play) {
|
|||
Flags_SetEventChkInf(EVENTCHKINF_09);
|
||||
Item_Give(play, ITEM_KOKIRI_EMERALD);
|
||||
play->nextEntranceIndex = ENTR_KOKIRI_FOREST_0;
|
||||
gSaveContext.nextCutsceneIndex = 0xFFF1;
|
||||
gSaveContext.nextCutsceneIndex = CS_INDEX_1;
|
||||
} else {
|
||||
play->nextEntranceIndex = ENTR_KOKIRI_FOREST_11;
|
||||
gSaveContext.nextCutsceneIndex = 0;
|
||||
gSaveContext.nextCutsceneIndex = CS_INDEX_NONE;
|
||||
}
|
||||
} else if (play->sceneId == SCENE_JABU_JABU_BOSS) {
|
||||
play->nextEntranceIndex = ENTR_ZORAS_FOUNTAIN_0;
|
||||
gSaveContext.nextCutsceneIndex = 0;
|
||||
gSaveContext.nextCutsceneIndex = CS_INDEX_NONE;
|
||||
}
|
||||
PRINTF(T("\n\n\nおわりおわり", "\n\n\nThe end The end"));
|
||||
play->transitionTrigger = TRANS_TRIGGER_START;
|
||||
|
@ -596,8 +595,7 @@ void func_80999EE0(DoorWarp1* this, PlayState* play) {
|
|||
|
||||
void func_80999FE4(DoorWarp1* this, PlayState* play) {
|
||||
if (Message_GetState(&play->msgCtx) == TEXT_STATE_NONE) {
|
||||
Audio_PlaySfxGeneral(NA_SE_EV_LINK_WARP, &this->actor.projectedPos, 4, &gSfxDefaultFreqAndVolScale,
|
||||
&gSfxDefaultFreqAndVolScale, &gSfxDefaultReverb);
|
||||
SFX_PLAY_AT_POS(&this->actor.projectedPos, NA_SE_EV_LINK_WARP);
|
||||
OnePointCutscene_Init(play, 0x25E9, 999, &this->actor, CAM_ID_MAIN);
|
||||
// Using `CAM_ID_NONE` here defaults to the active camera
|
||||
Play_CopyCamera(play, CAM_ID_NONE, sRutoWarpSubCamId);
|
||||
|
@ -622,11 +620,11 @@ void DoorWarp1_RutoWarpOut(DoorWarp1* this, PlayState* play) {
|
|||
Math_SmoothStepToF(&this->lightRayAlpha, 0.0f, 0.2f, 6.0f, 0.01f);
|
||||
this->warpTimer++;
|
||||
|
||||
if (this->warpTimer > sWarpTimerTarget && gSaveContext.nextCutsceneIndex == 0xFFEF) {
|
||||
if (this->warpTimer > sWarpTimerTarget && gSaveContext.nextCutsceneIndex == NEXT_CS_INDEX_NONE) {
|
||||
SET_EVENTCHKINF(EVENTCHKINF_37);
|
||||
Item_Give(play, ITEM_ZORA_SAPPHIRE);
|
||||
play->nextEntranceIndex = ENTR_ZORAS_FOUNTAIN_0;
|
||||
gSaveContext.nextCutsceneIndex = 0xFFF0;
|
||||
gSaveContext.nextCutsceneIndex = CS_INDEX_0;
|
||||
play->transitionTrigger = TRANS_TRIGGER_START;
|
||||
play->transitionType = TRANS_TYPE_FADE_WHITE_SLOW;
|
||||
}
|
||||
|
@ -684,8 +682,7 @@ void func_8099A508(DoorWarp1* this, PlayState* play) {
|
|||
this->unk_1B2--;
|
||||
return;
|
||||
}
|
||||
Audio_PlaySfxGeneral(NA_SE_EV_LINK_WARP, &player->actor.projectedPos, 4, &gSfxDefaultFreqAndVolScale,
|
||||
&gSfxDefaultFreqAndVolScale, &gSfxDefaultReverb);
|
||||
SFX_PLAY_AT_POS(&player->actor.projectedPos, NA_SE_EV_LINK_WARP);
|
||||
Animation_ChangeImpl(&this->skelAnime, &gWarpCrystalAnim, 1.0f, Animation_GetLastFrame(&gWarpCrystalAnim),
|
||||
Animation_GetLastFrame(&gWarpCrystalAnim), ANIMMODE_ONCE, 40.0f, ANIMTAPER_ACCEL);
|
||||
|
||||
|
@ -722,13 +719,13 @@ void DoorWarp1_AdultWarpOut(DoorWarp1* this, PlayState* play) {
|
|||
}
|
||||
this->warpTimer++;
|
||||
|
||||
if (this->warpTimer > sWarpTimerTarget && gSaveContext.nextCutsceneIndex == 0xFFEF) {
|
||||
if (this->warpTimer > sWarpTimerTarget && gSaveContext.nextCutsceneIndex == NEXT_CS_INDEX_NONE) {
|
||||
if (play->sceneId == SCENE_FOREST_TEMPLE_BOSS) {
|
||||
if (!GET_EVENTCHKINF(EVENTCHKINF_48)) {
|
||||
SET_EVENTCHKINF(EVENTCHKINF_48);
|
||||
Item_Give(play, ITEM_MEDALLION_FOREST);
|
||||
play->nextEntranceIndex = ENTR_CHAMBER_OF_THE_SAGES_0;
|
||||
gSaveContext.nextCutsceneIndex = 0;
|
||||
gSaveContext.nextCutsceneIndex = CS_INDEX_NONE;
|
||||
gSaveContext.chamberCutsceneNum = CHAMBER_CS_FOREST;
|
||||
} else {
|
||||
if (!LINK_IS_ADULT) {
|
||||
|
@ -736,28 +733,28 @@ void DoorWarp1_AdultWarpOut(DoorWarp1* this, PlayState* play) {
|
|||
} else {
|
||||
play->nextEntranceIndex = ENTR_SACRED_FOREST_MEADOW_3;
|
||||
}
|
||||
gSaveContext.nextCutsceneIndex = 0;
|
||||
gSaveContext.nextCutsceneIndex = CS_INDEX_NONE;
|
||||
}
|
||||
} else if (play->sceneId == SCENE_FIRE_TEMPLE_BOSS) {
|
||||
if (!GET_EVENTCHKINF(EVENTCHKINF_49)) {
|
||||
SET_EVENTCHKINF(EVENTCHKINF_49);
|
||||
Item_Give(play, ITEM_MEDALLION_FIRE);
|
||||
play->nextEntranceIndex = ENTR_KAKARIKO_VILLAGE_0;
|
||||
gSaveContext.nextCutsceneIndex = 0xFFF3;
|
||||
gSaveContext.nextCutsceneIndex = CS_INDEX_3;
|
||||
} else {
|
||||
if (!LINK_IS_ADULT) {
|
||||
play->nextEntranceIndex = ENTR_DEATH_MOUNTAIN_CRATER_4;
|
||||
} else {
|
||||
play->nextEntranceIndex = ENTR_DEATH_MOUNTAIN_CRATER_5;
|
||||
}
|
||||
gSaveContext.nextCutsceneIndex = 0;
|
||||
gSaveContext.nextCutsceneIndex = CS_INDEX_NONE;
|
||||
}
|
||||
} else if (play->sceneId == SCENE_WATER_TEMPLE_BOSS) {
|
||||
if (!GET_EVENTCHKINF(EVENTCHKINF_4A)) {
|
||||
SET_EVENTCHKINF(EVENTCHKINF_4A);
|
||||
Item_Give(play, ITEM_MEDALLION_WATER);
|
||||
play->nextEntranceIndex = ENTR_CHAMBER_OF_THE_SAGES_0;
|
||||
gSaveContext.nextCutsceneIndex = 0;
|
||||
gSaveContext.nextCutsceneIndex = CS_INDEX_NONE;
|
||||
gSaveContext.chamberCutsceneNum = CHAMBER_CS_WATER;
|
||||
} else {
|
||||
if (!LINK_IS_ADULT) {
|
||||
|
@ -765,13 +762,13 @@ void DoorWarp1_AdultWarpOut(DoorWarp1* this, PlayState* play) {
|
|||
} else {
|
||||
play->nextEntranceIndex = ENTR_LAKE_HYLIA_9;
|
||||
}
|
||||
gSaveContext.nextCutsceneIndex = 0;
|
||||
gSaveContext.nextCutsceneIndex = CS_INDEX_NONE;
|
||||
}
|
||||
} else if (play->sceneId == SCENE_SPIRIT_TEMPLE_BOSS) {
|
||||
if (!CHECK_QUEST_ITEM(QUEST_MEDALLION_SPIRIT)) {
|
||||
Item_Give(play, ITEM_MEDALLION_SPIRIT);
|
||||
play->nextEntranceIndex = ENTR_CHAMBER_OF_THE_SAGES_0;
|
||||
gSaveContext.nextCutsceneIndex = 0;
|
||||
gSaveContext.nextCutsceneIndex = CS_INDEX_NONE;
|
||||
gSaveContext.chamberCutsceneNum = CHAMBER_CS_SPIRIT;
|
||||
} else {
|
||||
if (!LINK_IS_ADULT) {
|
||||
|
@ -779,13 +776,13 @@ void DoorWarp1_AdultWarpOut(DoorWarp1* this, PlayState* play) {
|
|||
} else {
|
||||
play->nextEntranceIndex = ENTR_DESERT_COLOSSUS_8;
|
||||
}
|
||||
gSaveContext.nextCutsceneIndex = 0;
|
||||
gSaveContext.nextCutsceneIndex = CS_INDEX_NONE;
|
||||
}
|
||||
} else if (play->sceneId == SCENE_SHADOW_TEMPLE_BOSS) {
|
||||
if (!CHECK_QUEST_ITEM(QUEST_MEDALLION_SHADOW)) {
|
||||
Item_Give(play, ITEM_MEDALLION_SHADOW);
|
||||
play->nextEntranceIndex = ENTR_CHAMBER_OF_THE_SAGES_0;
|
||||
gSaveContext.nextCutsceneIndex = 0;
|
||||
gSaveContext.nextCutsceneIndex = CS_INDEX_NONE;
|
||||
gSaveContext.chamberCutsceneNum = CHAMBER_CS_SHADOW;
|
||||
} else {
|
||||
if (!LINK_IS_ADULT) {
|
||||
|
@ -793,7 +790,7 @@ void DoorWarp1_AdultWarpOut(DoorWarp1* this, PlayState* play) {
|
|||
} else {
|
||||
play->nextEntranceIndex = ENTR_GRAVEYARD_8;
|
||||
}
|
||||
gSaveContext.nextCutsceneIndex = 0;
|
||||
gSaveContext.nextCutsceneIndex = CS_INDEX_NONE;
|
||||
}
|
||||
}
|
||||
play->transitionTrigger = TRANS_TRIGGER_START;
|
||||
|
|
|
@ -369,7 +369,7 @@ void EnBb_Init(Actor* thisx, PlayState* play) {
|
|||
thisx->naviEnemyId = NAVI_ENEMY_RED_BUBBLE;
|
||||
thisx->colChkInfo.damageTable = &sDamageTableRed;
|
||||
this->flameEnvColor.r = 255;
|
||||
this->collider.elements[0].base.atDmgInfo.effect = 1;
|
||||
this->collider.elements[0].base.atDmgInfo.hitSpecialEffect = HIT_SPECIAL_EFFECT_1;
|
||||
EnBb_SetupRed(play, this);
|
||||
break;
|
||||
case ENBB_WHITE:
|
||||
|
|
|
@ -141,8 +141,7 @@ void func_809BC598(EnBdfire* this, PlayState* play) {
|
|||
this->unk_158 = bossDodongo->unk_1A2;
|
||||
quarterTurn = false;
|
||||
if (this->actor.params == 0) {
|
||||
Audio_PlaySfxGeneral(NA_SE_EN_DODO_K_FIRE - SFX_FLAG, &this->actor.projectedPos, 4, &gSfxDefaultFreqAndVolScale,
|
||||
&gSfxDefaultFreqAndVolScale, &gSfxDefaultReverb);
|
||||
SFX_PLAY_AT_POS(&this->actor.projectedPos, NA_SE_EN_DODO_K_FIRE - SFX_FLAG);
|
||||
}
|
||||
Math_SmoothStepToF(&this->actor.scale.x, this->unk_188, 0.3f, 0.5f, 0.0f);
|
||||
Actor_SetScale(&this->actor, this->actor.scale.x);
|
||||
|
|
|
@ -157,7 +157,7 @@ void EnBili_Destroy(Actor* thisx, PlayState* play) {
|
|||
|
||||
void EnBili_SetupFloatIdle(EnBili* this) {
|
||||
this->actor.speed = 0.7f;
|
||||
this->collider.elem.acDmgInfo.effect = 1; // Shock?
|
||||
this->collider.elem.acDmgInfo.hitBacklash = HIT_BACKLASH_1;
|
||||
this->timer = 32;
|
||||
this->actor.home.pos.y = this->actor.world.pos.y;
|
||||
this->actor.gravity = 0.0f;
|
||||
|
@ -253,7 +253,7 @@ void EnBili_SetupDie(EnBili* this) {
|
|||
*/
|
||||
void EnBili_SetupStunned(EnBili* this) {
|
||||
this->timer = 80;
|
||||
this->collider.elem.acDmgInfo.effect = 0;
|
||||
this->collider.elem.acDmgInfo.hitBacklash = HIT_BACKLASH_0;
|
||||
this->actor.gravity = -1.0f;
|
||||
this->actor.speed = 0.0f;
|
||||
Actor_SetColorFilter(&this->actor, COLORFILTER_COLORFLAG_BLUE, 150, COLORFILTER_BUFFLAG_XLU, 80);
|
||||
|
|
|
@ -273,8 +273,7 @@ void EnBox_Fall(EnBox* this, PlayState* play) {
|
|||
EnBox_SetupAction(this, EnBox_WaitOpen);
|
||||
OnePointCutscene_EndCutscene(play, this->subCamId);
|
||||
}
|
||||
Audio_PlaySfxGeneral(NA_SE_EV_COFFIN_CAP_BOUND, &this->dyna.actor.projectedPos, 4, &gSfxDefaultFreqAndVolScale,
|
||||
&gSfxDefaultFreqAndVolScale, &gSfxDefaultReverb);
|
||||
SFX_PLAY_AT_POS(&this->dyna.actor.projectedPos, NA_SE_EV_COFFIN_CAP_BOUND);
|
||||
EnBox_SpawnDust(this, play);
|
||||
}
|
||||
yDiff = this->dyna.actor.world.pos.y - this->dyna.actor.floorHeight;
|
||||
|
@ -383,8 +382,7 @@ void EnBox_AppearInit(EnBox* this, PlayState* play) {
|
|||
this->unk_1A8 = 0;
|
||||
Actor_Spawn(&play->actorCtx, play, ACTOR_DEMO_KANKYO, this->dyna.actor.home.pos.x, this->dyna.actor.home.pos.y,
|
||||
this->dyna.actor.home.pos.z, 0, 0, 0, DEMOKANKYO_SPARKLES);
|
||||
Audio_PlaySfxGeneral(NA_SE_EV_TRE_BOX_APPEAR, &this->dyna.actor.projectedPos, 4, &gSfxDefaultFreqAndVolScale,
|
||||
&gSfxDefaultFreqAndVolScale, &gSfxDefaultReverb);
|
||||
SFX_PLAY_AT_POS(&this->dyna.actor.projectedPos, NA_SE_EV_TRE_BOX_APPEAR);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -486,8 +484,7 @@ void EnBox_Open(EnBox* this, PlayState* play) {
|
|||
}
|
||||
|
||||
if (sfxId != 0) {
|
||||
Audio_PlaySfxGeneral(sfxId, &this->dyna.actor.projectedPos, 4, &gSfxDefaultFreqAndVolScale,
|
||||
&gSfxDefaultFreqAndVolScale, &gSfxDefaultReverb);
|
||||
SFX_PLAY_AT_POS(&this->dyna.actor.projectedPos, sfxId);
|
||||
}
|
||||
|
||||
if (this->skelanime.jointTable[3].z > 0) {
|
||||
|
|
|
@ -110,7 +110,7 @@ u32 func_809CBCBC(EnBubble* this) {
|
|||
ColliderElement* elem = &this->colliderJntSph.elements[0].base;
|
||||
|
||||
elem->atDmgInfo.dmgFlags = DMG_EXPLOSIVE;
|
||||
elem->atDmgInfo.effect = 0;
|
||||
elem->atDmgInfo.hitSpecialEffect = HIT_SPECIAL_EFFECT_0;
|
||||
elem->atDmgInfo.damage = 4;
|
||||
elem->atElemFlags = ATELEM_ON;
|
||||
this->actor.velocity.y = 0.0f;
|
||||
|
|
|
@ -786,7 +786,7 @@ void EnBw_Update(Actor* thisx, PlayState* play2) {
|
|||
func_8002836C(play, &thisx->world.pos, &velocity, &accel, &sp50, &sp4C, 0x3C, 0, 0x14);
|
||||
}
|
||||
if (this->unk_248 <= 0.4f) {
|
||||
this->collider1.elem.atDmgInfo.effect = 0;
|
||||
this->collider1.elem.atDmgInfo.hitSpecialEffect = HIT_SPECIAL_EFFECT_0;
|
||||
if (((play->gameplayFrames & 1) == 0) && (this->unk_220 < 5) && (this->unk_23C == 0)) {
|
||||
accel.y = -0.1f;
|
||||
velocity.x = Rand_CenteredFloat(4.0f);
|
||||
|
@ -806,7 +806,7 @@ void EnBw_Update(Actor* thisx, PlayState* play2) {
|
|||
20.0f - (this->unk_248 * 40.0f));
|
||||
}
|
||||
} else {
|
||||
this->collider1.elem.atDmgInfo.effect = 1;
|
||||
this->collider1.elem.atDmgInfo.hitSpecialEffect = HIT_SPECIAL_EFFECT_1;
|
||||
}
|
||||
|
||||
this->unk_234 = Actor_TestFloorInDirection(thisx, play, 50.0f, thisx->world.rot.y);
|
||||
|
|
|
@ -184,8 +184,7 @@ void EnDntDemo_Judge(EnDntDemo* this, PlayState* play) {
|
|||
case PLAYER_MASK_TRUTH:
|
||||
if (!GET_ITEMGETINF(ITEMGETINF_FOREST_STAGE_NUT_UPGRADE) &&
|
||||
(Player_GetMask(play) != PLAYER_MASK_SKULL)) {
|
||||
Audio_PlaySfxGeneral(NA_SE_SY_TRE_BOX_APPEAR, &gSfxDefaultPos, 4, &gSfxDefaultFreqAndVolScale,
|
||||
&gSfxDefaultFreqAndVolScale, &gSfxDefaultReverb);
|
||||
SFX_PLAY_CENTERED(NA_SE_SY_TRE_BOX_APPEAR);
|
||||
this->prize = DNT_PRIZE_NUTS;
|
||||
this->leader->stageSignal = DNT_LEADER_SIGNAL_UP;
|
||||
reaction = DNT_SIGNAL_LOOK;
|
||||
|
|
|
@ -217,8 +217,7 @@ void EnDs_Wait(EnDs* this, PlayState* play) {
|
|||
|
||||
if (Actor_TalkOfferAccepted(&this->actor, play)) {
|
||||
if (Actor_GetPlayerExchangeItemId(play) == EXCH_ITEM_ODD_MUSHROOM) {
|
||||
Audio_PlaySfxGeneral(NA_SE_SY_TRE_BOX_APPEAR, &gSfxDefaultPos, 4, &gSfxDefaultFreqAndVolScale,
|
||||
&gSfxDefaultFreqAndVolScale, &gSfxDefaultReverb);
|
||||
SFX_PLAY_CENTERED(NA_SE_SY_TRE_BOX_APPEAR);
|
||||
player->actor.textId = 0x504A;
|
||||
this->actionFunc = EnDs_OfferOddPotion;
|
||||
} else if (GET_ITEMGETINF(ITEMGETINF_30)) {
|
||||
|
|
|
@ -307,7 +307,7 @@ void EnDu_Init(Actor* thisx, PlayState* play) {
|
|||
this->actor.attentionRangeType = ATTENTION_RANGE_1;
|
||||
this->interactInfo.talkState = NPC_TALK_STATE_IDLE;
|
||||
|
||||
if (gSaveContext.save.cutsceneIndex >= 0xFFF0) {
|
||||
if (gSaveContext.save.cutsceneIndex >= CS_INDEX_0) {
|
||||
play->csCtx.script = SEGMENTED_TO_VIRTUAL(gGoronCityDaruniaDancingCs);
|
||||
gSaveContext.cutsceneTrigger = 1;
|
||||
EnDu_SetupAction(this, func_809FE890);
|
||||
|
@ -362,8 +362,7 @@ void func_809FE4A4(EnDu* this, PlayState* play) {
|
|||
EnDu_SetupAction(this, func_809FE890);
|
||||
play->msgCtx.ocarinaMode = OCARINA_MODE_04;
|
||||
} else if (play->msgCtx.ocarinaMode == OCARINA_MODE_03) {
|
||||
Audio_PlaySfxGeneral(NA_SE_SY_CORRECT_CHIME, &gSfxDefaultPos, 4, &gSfxDefaultFreqAndVolScale,
|
||||
&gSfxDefaultFreqAndVolScale, &gSfxDefaultReverb);
|
||||
SFX_PLAY_CENTERED(NA_SE_SY_CORRECT_CHIME);
|
||||
play->csCtx.script = SEGMENTED_TO_VIRTUAL(gGoronCityDaruniaCorrectSongCs);
|
||||
gSaveContext.cutsceneTrigger = 1;
|
||||
this->unk_1E8 = 0;
|
||||
|
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue