Merge remote-tracking branch 'upstream/master' into Mine

This commit is contained in:
petrie911
2022-09-21 07:37:07 -05:00
120 changed files with 5142 additions and 662 deletions
+3
View File
@@ -28,6 +28,9 @@ N_THREADS ?= $(shell nproc)
#### Setup ####
# Ensure the map file being created using English localization
export LANG := C
ifeq ($(NON_MATCHING),1)
CFLAGS := -DNON_MATCHING
CPPFLAGS := -DNON_MATCHING
+3 -3
View File
@@ -75,9 +75,9 @@
<Texture Name="gAmmoDigit9Tex" OutName="ammo_digit_9" Format="ia8" Width="8" Height="8" Offset="0x4CE0"/>
<Texture Name="gAmmoDigitHalfTex" OutName="ammo_digit_half" Format="ia8" Width="16" Height="8" Offset="0x4D20"/>
<Texture Name="gMagicBarEndTex" OutName="magic_bar_end" Format="ia8" Width="8" Height="16" Offset="0x4DA0"/>
<Texture Name="gMagicBarMidTex" OutName="magic_bar_mid" Format="ia8" Width="24" Height="16" Offset="0x4E20"/>
<Texture Name="gMagicBarFillTex" OutName="magic_bar_fill" Format="ia8" Width="8" Height="8" Offset="0x4FA0"/>
<Texture Name="gMagicMeterEndTex" OutName="magic_meter_end" Format="ia8" Width="8" Height="16" Offset="0x4DA0"/>
<Texture Name="gMagicMeterMidTex" OutName="magic_meter_mid" Format="ia8" Width="24" Height="16" Offset="0x4E20"/>
<Texture Name="gMagicMeterFillTex" OutName="magic_meter_fill" Format="ia8" Width="8" Height="8" Offset="0x4FA0"/>
<!-- The analog clock from day one until midnight of the final day -->
<Texture Name="gThreeDayClockDiamondTex" OutName="three_day_clock_diamond" Format="ia8" Width="40" Height="32" Offset="0x4FE0"/>
+2 -2
View File
@@ -1,6 +1,6 @@
<Root>
<File Name="object_bubble" Segment="6">
<Texture Name="object_bubble_Tex_000000" OutName="tex_000000" Format="ia8" Width="64" Height="64" Offset="0x0" />
<DList Name="object_bubble_DL_001000" Offset="0x1000" />
<Texture Name="gBubbleTex" OutName="bubble" Format="ia8" Width="64" Height="64" Offset="0x0" />
<DList Name="gBubbleDL" Offset="0x1000" />
</File>
</Root>
+97 -80
View File
@@ -1,84 +1,101 @@
<Root>
<!-- Object for MoonChild and his four Masks -->
<File Name="object_ob" Segment="6">
<DList Name="object_ob_DL_000690" Offset="0x690" />
<DList Name="object_ob_DL_001D80" Offset="0x1D80" />
<DList Name="object_ob_DL_003AD0" Offset="0x3AD0" />
<DList Name="object_ob_DL_005020" Offset="0x5020" />
<DList Name="object_ob_DL_006380" Offset="0x6380" />
<DList Name="object_ob_DL_006730" Offset="0x6730" />
<Texture Name="object_ob_Tex_0067E0" OutName="tex_0067E0" Format="rgba16" Width="32" Height="64" Offset="0x67E0" />
<Texture Name="object_ob_Tex_0077E0" OutName="tex_0077E0" Format="rgba16" Width="16" Height="16" Offset="0x77E0" />
<Texture Name="object_ob_Tex_0079E0" OutName="tex_0079E0" Format="rgba16" Width="16" Height="16" Offset="0x79E0" />
<Texture Name="object_ob_Tex_007BE0" OutName="tex_007BE0" Format="rgba16" Width="16" Height="16" Offset="0x7BE0" />
<Texture Name="object_ob_Tex_007DE0" OutName="tex_007DE0" Format="rgba16" Width="16" Height="16" Offset="0x7DE0" />
<Texture Name="object_ob_Tex_007FE0" OutName="tex_007FE0" Format="rgba16" Width="32" Height="32" Offset="0x7FE0" />
<Texture Name="object_ob_Tex_0087E0" OutName="tex_0087E0" Format="rgba16" Width="32" Height="32" Offset="0x87E0" />
<Texture Name="object_ob_TLUT_008FE0" OutName="tlut_008FE0" Format="rgba16" Width="4" Height="4" Offset="0x8FE0" />
<Texture Name="object_ob_TLUT_009000" OutName="tlut_009000" Format="rgba16" Width="4" Height="4" Offset="0x9000" />
<Texture Name="object_ob_TLUT_009020" OutName="tlut_009020" Format="rgba16" Width="4" Height="4" Offset="0x9020" />
<Texture Name="object_ob_TLUT_009040" OutName="tlut_009040" Format="rgba16" Width="4" Height="4" Offset="0x9040" />
<Texture Name="object_ob_TLUT_009060" OutName="tlut_009060" Format="rgba16" Width="4" Height="4" Offset="0x9060" />
<Texture Name="object_ob_TLUT_009080" OutName="tlut_009080" Format="rgba16" Width="4" Height="4" Offset="0x9080" />
<Texture Name="object_ob_TLUT_0090A0" OutName="tlut_0090A0" Format="rgba16" Width="4" Height="4" Offset="0x90A0" />
<Texture Name="object_ob_Tex_0090C0" OutName="tex_0090C0" Format="rgba16" Width="16" Height="16" Offset="0x90C0" />
<Texture Name="object_ob_Tex_0092C0" OutName="tex_0092C0" Format="ci4" Width="64" Height="64" Offset="0x92C0" />
<Texture Name="object_ob_Tex_009AC0" OutName="tex_009AC0" Format="ci4" Width="64" Height="64" Offset="0x9AC0" />
<Texture Name="object_ob_Tex_00A2C0" OutName="tex_00A2C0" Format="rgba16" Width="32" Height="32" Offset="0xA2C0" />
<Texture Name="object_ob_Tex_00AAC0" OutName="tex_00AAC0" Format="ci4" Width="64" Height="64" Offset="0xAAC0" />
<Texture Name="object_ob_Tex_00B2C0" OutName="tex_00B2C0" Format="ci4" Width="64" Height="64" Offset="0xB2C0" />
<Texture Name="object_ob_Tex_00BAC0" OutName="tex_00BAC0" Format="ci4" Width="16" Height="16" Offset="0xBAC0" />
<Texture Name="object_ob_Tex_00BB40" OutName="tex_00BB40" Format="rgba16" Width="32" Height="64" Offset="0xBB40" />
<Texture Name="object_ob_Tex_00CB40" OutName="tex_00CB40" Format="rgba16" Width="32" Height="64" Offset="0xCB40" />
<Texture Name="object_ob_Tex_00DB40" OutName="tex_00DB40" Format="rgba16" Width="32" Height="64" Offset="0xDB40" />
<Texture Name="object_ob_Tex_00EB40" OutName="tex_00EB40" Format="rgba16" Width="32" Height="32" Offset="0xEB40" />
<Texture Name="object_ob_Tex_00F340" OutName="tex_00F340" Format="ci4" Width="64" Height="64" Offset="0xF340" />
<Texture Name="object_ob_Tex_00FB40" OutName="tex_00FB40" Format="ci4" Width="64" Height="64" Offset="0xFB40" />
<Animation Name="object_ob_Anim_010880" Offset="0x10880" />
<Animation Name="object_ob_Anim_010CD8" Offset="0x10CD8" />
<DList Name="object_ob_DL_014190" Offset="0x14190" />
<DList Name="object_ob_DL_0142C0" Offset="0x142C0" />
<DList Name="object_ob_DL_0144D0" Offset="0x144D0" />
<DList Name="object_ob_DL_014638" Offset="0x14638" />
<DList Name="object_ob_DL_0147A0" Offset="0x147A0" />
<DList Name="object_ob_DL_0149B0" Offset="0x149B0" />
<DList Name="object_ob_DL_014B18" Offset="0x14B18" />
<DList Name="object_ob_DL_014C80" Offset="0x14C80" />
<DList Name="object_ob_DL_014DA0" Offset="0x14DA0" />
<DList Name="object_ob_DL_014F18" Offset="0x14F18" />
<DList Name="object_ob_DL_015380" Offset="0x15380" />
<DList Name="object_ob_DL_0154B0" Offset="0x154B0" />
<DList Name="object_ob_DL_0155D0" Offset="0x155D0" />
<DList Name="object_ob_DL_015758" Offset="0x15758" />
<DList Name="object_ob_DL_015888" Offset="0x15888" />
<DList Name="object_ob_DL_0159A8" Offset="0x159A8" />
<Texture Name="object_ob_TLUT_015B28" OutName="tlut_015B28" Format="rgba16" Width="16" Height="16" Offset="0x15B28" />
<Texture Name="object_ob_Tex_015D28" OutName="tex_015D28" Format="ci8" Width="16" Height="16" Offset="0x15D28" />
<Texture Name="object_ob_Tex_015E28" OutName="tex_015E28" Format="ci8" Width="8" Height="8" Offset="0x15E28" />
<Texture Name="object_ob_Tex_015E68" OutName="tex_015E68" Format="ci8" Width="16" Height="32" Offset="0x15E68" />
<Texture Name="object_ob_Tex_016068" OutName="tex_016068" Format="ci8" Width="8" Height="16" Offset="0x16068" />
<Texture Name="object_ob_Tex_0160E8" OutName="tex_0160E8" Format="ci8" Width="8" Height="8" Offset="0x160E8" />
<Texture Name="object_ob_Tex_016128" OutName="tex_016128" Format="ci8" Width="8" Height="16" Offset="0x16128" />
<Texture Name="object_ob_Tex_0161A8" OutName="tex_0161A8" Format="ci8" Width="16" Height="32" Offset="0x161A8" />
<Limb Name="object_ob_Standardlimb_0163A8" Type="Standard" EnumName="OBJECT_OB_LIMB_01" Offset="0x163A8" />
<Limb Name="object_ob_Standardlimb_0163B4" Type="Standard" EnumName="OBJECT_OB_LIMB_02" Offset="0x163B4" />
<Limb Name="object_ob_Standardlimb_0163C0" Type="Standard" EnumName="OBJECT_OB_LIMB_03" Offset="0x163C0" />
<Limb Name="object_ob_Standardlimb_0163CC" Type="Standard" EnumName="OBJECT_OB_LIMB_04" Offset="0x163CC" />
<Limb Name="object_ob_Standardlimb_0163D8" Type="Standard" EnumName="OBJECT_OB_LIMB_05" Offset="0x163D8" />
<Limb Name="object_ob_Standardlimb_0163E4" Type="Standard" EnumName="OBJECT_OB_LIMB_06" Offset="0x163E4" />
<Limb Name="object_ob_Standardlimb_0163F0" Type="Standard" EnumName="OBJECT_OB_LIMB_07" Offset="0x163F0" />
<Limb Name="object_ob_Standardlimb_0163FC" Type="Standard" EnumName="OBJECT_OB_LIMB_08" Offset="0x163FC" />
<Limb Name="object_ob_Standardlimb_016408" Type="Standard" EnumName="OBJECT_OB_LIMB_09" Offset="0x16408" />
<Limb Name="object_ob_Standardlimb_016414" Type="Standard" EnumName="OBJECT_OB_LIMB_0A" Offset="0x16414" />
<Limb Name="object_ob_Standardlimb_016420" Type="Standard" EnumName="OBJECT_OB_LIMB_0B" Offset="0x16420" />
<Limb Name="object_ob_Standardlimb_01642C" Type="Standard" EnumName="OBJECT_OB_LIMB_0C" Offset="0x1642C" />
<Limb Name="object_ob_Standardlimb_016438" Type="Standard" EnumName="OBJECT_OB_LIMB_0D" Offset="0x16438" />
<Limb Name="object_ob_Standardlimb_016444" Type="Standard" EnumName="OBJECT_OB_LIMB_0E" Offset="0x16444" />
<Limb Name="object_ob_Standardlimb_016450" Type="Standard" EnumName="OBJECT_OB_LIMB_0F" Offset="0x16450" />
<Limb Name="object_ob_Standardlimb_01645C" Type="Standard" EnumName="OBJECT_OB_LIMB_10" Offset="0x1645C" />
<Limb Name="object_ob_Standardlimb_016468" Type="Standard" EnumName="OBJECT_OB_LIMB_11" Offset="0x16468" />
<Skeleton Name="object_ob_Skel_0164B8" Type="Flex" LimbType="Standard" LimbNone="OBJECT_OB_LIMB_NONE" LimbMax="OBJECT_OB_LIMB_MAX" EnumName="ObjectObLimb" Offset="0x164B8" />
<Animation Name="object_ob_Anim_016F58" Offset="0x16F58" />
<Animation Name="object_ob_Anim_01764C" Offset="0x1764C" />
<Animation Name="object_ob_Anim_017E98" Offset="0x17E98" />
<!-- Moonchild Mask DisplayLists -->
<DList Name="gMoonChildOdalwasMaskDL" Offset="0x690" />
<DList Name="gMoonChildGyorgsMaskDL" Offset="0x1D80" />
<DList Name="gMoonChildGohtsMaskDL" Offset="0x3AD0" />
<DList Name="gMoonChildTwinmoldsMaskDL" Offset="0x5020" />
<DList Name="gMoonChildMajorasMaskDL" Offset="0x6380" />
<DList Name="gMoonChildMajorasMaskEyesDL" Offset="0x6730" />
<!-- Moonchild Mask Textures -->
<Texture Name="gMoonChildMajorasMaskTex" OutName="moonchild_majoras_mask" Format="rgba16" Width="32" Height="64" Offset="0x67E0" />
<Texture Name="gMoonChildMajorasMaskSpike1Tex" OutName="moonchild_majoras_mask_spike_1" Format="rgba16" Width="16" Height="16" Offset="0x77E0" />
<Texture Name="gMoonChildMajorasMaskSpike2Tex" OutName="moonchild_majoras_mask_spike_2" Format="rgba16" Width="16" Height="16" Offset="0x79E0" />
<Texture Name="gMoonChildMajorasMaskSpike3Tex" OutName="moonchild_majoras_mask_spike_3" Format="rgba16" Width="16" Height="16" Offset="0x7BE0" />
<Texture Name="gMoonChildMajorasMaskSpike4Tex" OutName="moonchild_majoras_mask_spike_4" Format="rgba16" Width="16" Height="16" Offset="0x7DE0" />
<Texture Name="gMoonChildMajorasMaskBackTex" OutName="moonchild_majoras_mask_back" Format="rgba16" Width="32" Height="32" Offset="0x7FE0" />
<Texture Name="gMoonChildMajorasMaskEyesTex" OutName="moonchild_majoras_mask_eyes" Format="rgba16" Width="32" Height="32" Offset="0x87E0" />
<Texture Name="gMoonChildOdalwasMaskFaceTLUT" OutName="moonchild_odalwas_mask_face_tlut" Format="rgba16" Width="4" Height="4" Offset="0x8FE0" />
<Texture Name="gMoonChildOdalwasMaskEarTLUT" OutName="moonchild_odalwas_mask_ear_tlut" Format="rgba16" Width="4" Height="4" Offset="0x9000" />
<Texture Name="gMoonChildGyorgsMaskSkinTLUT" OutName="moonchild_gyorgs_mask_skin_tlut" Format="rgba16" Width="4" Height="4" Offset="0x9020" />
<Texture Name="gMoonChildGyorgsMaskMouthTLUT" OutName="moonchild_gyorgs_mask_mouth_tlut" Format="rgba16" Width="4" Height="4" Offset="0x9040" />
<Texture Name="gMoonChildGyorgsMaskToothHornTLUT" OutName="moonchild_gyorgs_mask_tooth_horn_tlut" Format="rgba16" Width="4" Height="4" Offset="0x9060" />
<Texture Name="gMoonChildTwinmoldsMaskSkinTLUT" OutName="moonchild_twinmolds_mask_skin_tlut" Format="rgba16" Width="4" Height="4" Offset="0x9080" />
<Texture Name="gMoonChildTwinmoldsMaskSnoutTLUT" OutName="moonchild_twinmolds_snout_tlut" Format="rgba16" Width="4" Height="4" Offset="0x90A0" />
<Texture Name="gMoonChildOdalwasMaskHairTex" OutName="moonchild_odalwas_mask_hair" Format="rgba16" Width="16" Height="16" Offset="0x90C0" />
<Texture Name="gMoonChildOdalwasMaskFaceTex" OutName="moonchild_odalwas_mask_face" Format="ci4" Width="64" Height="64" Offset="0x92C0" />
<Texture Name="gMoonChildOdalwasMaskEarTex" OutName="moonchild_odalwas_mask_ear" Format="ci4" Width="64" Height="64" Offset="0x9AC0" />
<Texture Name="gMoonChildGyorgsTwinmoldsMaskEyeTex" OutName="moonchild_gyorgs_twinmolds_mask_eye" Format="rgba16" Width="32" Height="32" Offset="0xA2C0" />
<Texture Name="gMoonChildGyorgsMaskSkinTex" OutName="moonchild_gyorgs_mask_skin" Format="ci4" Width="64" Height="64" Offset="0xAAC0" />
<Texture Name="gMoonChildGyorgsMaskMouthTex" OutName="moonchild_gyorgs_mask_mouth" Format="ci4" Width="64" Height="64" Offset="0xB2C0" />
<Texture Name="gMoonChildGyorgsMaskToothHornTex" OutName="moonchild_gyorgs_mask_tooth_horn" Format="ci4" Width="16" Height="16" Offset="0xBAC0" />
<Texture Name="gMoonChildGohtsMaskEyeTex" OutName="moonchild_gohts_mask_eye" Format="rgba16" Width="32" Height="64" Offset="0xBB40" />
<Texture Name="gMoonChildGohtsMaskTopPatternTex" OutName="moonchild_gohts_mask_top_pattern" Format="rgba16" Width="32" Height="64" Offset="0xCB40" />
<Texture Name="gMoonChildGohtsTwinmoldsMaskPatternTex" OutName="moonchild_goht_twinmold_mask_pattern" Format="rgba16" Width="32" Height="64" Offset="0xDB40" />
<Texture Name="gMoonChildGohtsMaskSpikeTwinmoldsMaskMandibleTex" OutName="moonchild_gohts_mask_spike_twinmolds_mask_mandible" Format="rgba16" Width="32" Height="32" Offset="0xEB40" />
<Texture Name="gMoonChildTwinmoldsMaskSkinTex" OutName="moonchild_twinmolds_mask_skin" Format="ci4" Width="64" Height="64" Offset="0xF340" />
<Texture Name="gMoonChildTwinmoldsMaskSnoutTex" OutName="moonchild_twinmolds_mask_snout" Format="ci4" Width="64" Height="64" Offset="0xFB40" />
<!-- Moonchild Moving Animations -->
<Animation Name="gMoonChildWalkingAnim" Offset="0x10880" />
<Animation Name="gMoonChildRunningAnim" Offset="0x10CD8" />
<!-- Moonchild DisplayLists -->
<DList Name="gMoonChildPelvisDL" Offset="0x14190" />
<DList Name="gMoonChildLeftThighDL" Offset="0x142C0" />
<DList Name="gMoonChildLeftLegDL" Offset="0x144D0" />
<DList Name="gMoonChildLeftFootDL" Offset="0x14638" />
<DList Name="gMoonChildRightThighDL" Offset="0x147A0" />
<DList Name="gMoonChildRightLegDL" Offset="0x149B0" />
<DList Name="gMoonChildRightFootDL" Offset="0x14B18" />
<DList Name="gMoonChildChestBottomDL" Offset="0x14C80" />
<DList Name="gMoonChildChestDL" Offset="0x14DA0" />
<DList Name="gMoonChildHeadDL" Offset="0x14F18" />
<DList Name="gMoonChildLeftArmDL" Offset="0x15380" />
<DList Name="gMoonChildLeftForeArmDL" Offset="0x154B0" />
<DList Name="gMoonChildLeftHandDL" Offset="0x155D0" />
<DList Name="gMoonChildRightArmDL" Offset="0x15758" />
<DList Name="gMoonChildRightForeArmDL" Offset="0x15888" />
<DList Name="gMoonChildRightHandDL" Offset="0x159A8" />
<!-- Moonchild Textures -->
<Texture Name="gMoonChildTLUT" OutName="moonchild_tlut" Format="rgba16" Width="16" Height="16" Offset="0x15B28" />
<Texture Name="gMoonChildFingersTex" OutName="moonchild_fingers" Format="ci8" Width="16" Height="16" Offset="0x15D28" />
<Texture Name="gMoonChildThighSkinTex" OutName="moonchild_thigh_skin" Format="ci8" Width="8" Height="8" Offset="0x15E28" />
<Texture Name="gMoonChildTshirtDetailTex" OutName="moonchild_tshirt_detail_tex" Format="ci8" Width="16" Height="32" Offset="0x15E68" />
<Texture Name="gMoonChildHairTex" OutName="moonchild_hair" Format="ci8" Width="8" Height="16" Offset="0x16068" />
<Texture Name="gMoonChildEarTex" OutName="moonchild_ear" Format="ci8" Width="8" Height="8" Offset="0x160E8" />
<Texture Name="gMoonChildBackHair" OutName="moonchild_back_hair" Format="ci8" Width="8" Height="16" Offset="0x16128" />
<Texture Name="gMoonChildTshirtNecklineTex" OutName="moonchild_tshirt_neckline" Format="ci8" Width="16" Height="32" Offset="0x161A8" />
<!-- Moonchild Limbs -->
<Limb Name="gMoonChildRootLimb" Type="Standard" EnumName="MOONCHILD_LIMB_ROOT" Offset="0x163A8" />
<Limb Name="gMoonChildWaistLimb" Type="Standard" EnumName="MOONCHILD_LIMB_WAIST" Offset="0x163B4" />
<Limb Name="gMoonChildTorsoLimb" Type="Standard" EnumName="MOONCHILD_LIMB_TORSO" Offset="0x163C0" />
<Limb Name="gMoonChildLeftUpperArmLimb" Type="Standard" EnumName="MOONCHILD_LIMB_LEFT_UPPER_ARM" Offset="0x163CC" />
<Limb Name="gMoonChildLeftForearmLimb" Type="Standard" EnumName="MOONCHILD_LIMB_LEFT_FOREARM" Offset="0x163D8" />
<Limb Name="gMoonChildLeftHandLimb" Type="Standard" EnumName="MOONCHILD_LIMB_LEFT_HAND" Offset="0x163E4" />
<Limb Name="gMoonChildRightUpperArmLimb" Type="Standard" EnumName="MOONCHILD_LIMB_RIGHT_UPPER_ARM" Offset="0x163F0" />
<Limb Name="gMoonChildRightForearmLimb" Type="Standard" EnumName="MOONCHILD_LIMB_RIGHT_FOREARM" Offset="0x163FC" />
<Limb Name="gMoonChildRightHandLimb" Type="Standard" EnumName="MOONCHILD_LIMB_RIGHT_HAND" Offset="0x16408" />
<Limb Name="gMoonChildHeadLimb" Type="Standard" EnumName="MOONCHILD_LIMB_HEAD" Offset="0x16414" />
<Limb Name="gMoonChildPelvisLimb" Type="Standard" EnumName="MOONCHILD_LIMB_PELVIS" Offset="0x16420" />
<Limb Name="gMoonChildLeftThighLimb" Type="Standard" EnumName="MOONCHILD_LIMB_LEFT_THIGH" Offset="0x1642C" />
<Limb Name="gMoonChildLeftShinLimb" Type="Standard" EnumName="MOONCHILD_LIMB_LEFT_SHIN" Offset="0x16438" />
<Limb Name="gMoonChildLeftFootLimb" Type="Standard" EnumName="MOONCHILD_LIMB_LEFT_FOOT" Offset="0x16444" />
<Limb Name="gMoonChildRightThighLimb" Type="Standard" EnumName="MOONCHILD_LIMB_RIGHT_THIGH" Offset="0x16450" />
<Limb Name="gMoonChildRightShinLimb" Type="Standard" EnumName="MOONCHILD_LIMB_RIGHT_SHIN" Offset="0x1645C" />
<Limb Name="gMoonChildRightFootLimb" Type="Standard" EnumName="MOONCHILD_LIMB_RIGHT_FOOT" Offset="0x16468" />
<!-- Moonchild Skeleton -->
<Skeleton Name="gMoonChildSkel" Type="Flex" LimbType="Standard" LimbNone="MOONCHILD_LIMB_NONE" LimbMax="MOONCHILD_LIMB_MAX" EnumName="MoonchildLimb" Offset="0x164B8" />
<!-- Moonchild Mask Still Animations -->
<Animation Name="gMoonChildGettingUpAnim" Offset="0x16F58" />
<Animation Name="gMoonChildSittingAnim" Offset="0x1764C" />
<Animation Name="gMoonChildStandingAnim" Offset="0x17E98" />
</File>
</Root>
+7
View File
@@ -0,0 +1,7 @@
<Root>
<File Name="ovl_Oceff_Spot" BaseAddress="0x80972680" RangeStart="0x720" RangeEnd="0xDF8">
<Texture Name="sSunSongEffectTex" OutName="sun_song_effect" Format="i8" Width="32" Height="32" Offset="0x720"/>
<DList Name="sSunSongEffectCylinderMaterialDL" Offset="0xCD0"/>
<DList Name="sSunSongEffectCylinderModelDL" Offset="0xD68"/>
</File>
</Root>
+11
View File
@@ -0,0 +1,11 @@
<Root>
<File Name="ovl_Oceff_Wipe2" BaseAddress="0x80986270" RangeStart="0x420" RangeEnd="0x1688">
<Texture Name="sEponaSongEffect1Tex" OutName="eponas_song_effect_1" Format="i4" Width="64" Height="64" Offset="0x420"/>
<Texture Name="sEponaSongEffect2Tex" OutName="eponas_song_effect_2" Format="i4" Width="64" Height="64" Offset="0xC20"/>
<Array Name="sEponaSongFrustumVtx" Count="22" Offset="0x1420">
<Vtx/>
</Array>
<DList Name="sEponaSongFrustumMaterialDL" Offset="0x1580"/>
<DList Name="sEponaSongFrustumModelDL" Offset="0x1628"/>
</File>
</Root>
+10
View File
@@ -0,0 +1,10 @@
<Root>
<File Name="ovl_Oceff_Wipe3" BaseAddress="0x809879E0" RangeStart="0x430" RangeEnd="0x1678">
<Texture Name="sSariaSongEffectTex" OutName="saria_song_effect" Format="i8" Width="64" Height="64" Offset="0x430"/>
<Array Name="sSariaSongFrustumVtx" Count="22" Offset="0x1430">
<Vtx/>
</Array>
<DList Name="sSariaSongFrustrumMaterialDL" Offset="0x1590"/>
<DList Name="sSariaSongFrustumModelDL" Offset="0x1618"/>
</File>
</Root>
+4 -8
View File
@@ -718,7 +718,7 @@ void func_800B9038(Actor* actor, s32 timer);
void func_800B9084(Actor* actor);
void func_800B9098(Actor* actor);
s32 func_800B90AC(PlayState* play, Actor* actor, CollisionPoly* polygon, s32 index, s32 arg4);
void func_800B90F4(PlayState* play);
void Actor_DeactivateLens(PlayState* play);
void func_800B9120(ActorContext* actorCtx);
void Actor_InitContext(PlayState* play, ActorContext* actorCtx, ActorEntry* actorEntry);
void Actor_UpdateAll(PlayState* play, ActorContext* actorCtx);
@@ -1855,13 +1855,9 @@ s32 Health_ChangeBy(PlayState* play, s16 healthChange);
void Health_GiveHearts(s16 hearts);
void Rupees_ChangeBy(s16 rupeeChange);
void Inventory_ChangeAmmo(s16 item, s16 ammoChange);
void Parameter_AddMagic(PlayState* play, s16 arg1);
void func_80115D5C(GameState* gamestate);
// void func_80115DB4(void);
// void func_80116088(void);
// void func_80116114(void);
// void func_80116348(void);
// void func_80116918(void);
void Magic_Add(PlayState* play, s16 magicToAdd);
void Magic_Reset(PlayState* play);
s32 Magic_Consume(PlayState* play, s16 magicToConsume, s16 type);
// void func_80116FD8(UNK_TYPE1 param_1, UNK_TYPE1 param_2, UNK_TYPE1 param_3, UNK_TYPE1 param_4, UNK_TYPE4 param_5);
// void func_801170B8(void);
// void func_80117100(void);
+3
View File
@@ -45,6 +45,9 @@
#define CAPACITY(upg, value) gUpgradeCapacities[upg][value]
#define CUR_CAPACITY(upg) CAPACITY(upg, CUR_UPG_VALUE(upg))
// To be used with `Magic_Add`, but ensures enough magic is added to fill the magic bar to capacity
#define MAGIC_FILL_TO_CAPACITY (((void)0, gSaveContext.magicFillTarget) + (gSaveContext.save.playerData.isDoubleMagicAcquired + 1) * MAGIC_NORMAL_METER)
#define CONTROLLER1(gameState) (&(gameState)->input[0])
#define CONTROLLER2(gameState) (&(gameState)->input[1])
#define CONTROLLER3(gameState) (&(gameState)->input[2])
+52 -55
View File
@@ -43,61 +43,58 @@
#define bREG(r) BASE_REG(28, r)
/* TODO: Actually confirm these, in case of miss-match it's at least a simple list to `sed` */
#define R_ENABLE_ARENA_DBG SREG(0) // Same as OoT
#define R_RUN_SPEED_LIMIT REG(45)
#define R_UPDATE_RATE SREG(30)
#define R_PAUSE_MENU_MODE SREG(94)
#define R_C_UP_ICON_X YREG(88)
#define R_C_UP_ICON_Y YREG(89)
#define R_MAGIC_FILL_COLOR(i) ZREG(0 + i)
#define R_C_BTN_COLOR(i) ZREG(39 + i)
#define R_B_BTN_COLOR(i) ZREG(43 + i)
#define R_START_LABEL_DD(i) ZREG(48 + i)
#define R_START_LABEL_Y(i) ZREG(51 + i)
#define R_START_LABEL_X(i) ZREG(54 + i)
#define R_C_UP_BTN_X ZREG(62)
#define R_C_UP_BTN_Y ZREG(63)
#define R_START_BTN_X ZREG(68)
#define R_START_BTN_Y ZREG(69)
#define R_ITEM_BTN_X(i) ZREG(70 + i)
#define R_ITEM_BTN_Y(i) ZREG(74 + i)
#define R_ITEM_BTN_DD(i) ZREG(78 + i)
#define R_ITEM_ICON_X(i) ZREG(82 + i)
#define R_ITEM_ICON_Y(i) ZREG(86 + i)
#define R_ITEM_ICON_DD(i) ZREG(90 + i)
#define R_A_BTN_Y XREG(16)
#define R_A_BTN_X XREG(17)
#define R_A_ICON_Y XREG(19)
#define R_A_ICON_X XREG(20)
#define R_A_BTN_COLOR(i) XREG(22 + i)
#define R_MAGIC_BAR_SMALL_Y XREG(48)
#define R_MAGIC_BAR_X XREG(49)
#define R_MAGIC_BAR_LARGE_Y XREG(50)
#define R_MAGIC_FILL_X XREG(51)
#define R_MINIMAP_DISABLED XREG(95)
#define R_B_LABEL_DD WREG(0)
#define R_OW_MINIMAP_X WREG(29)
#define R_OW_MINIMAP_Y WREG(30)
#define R_B_LABEL_X(i) WREG(40 + i)
#define R_B_LABEL_Y(i) WREG(43 + i)
#define R_DGN_MINIMAP_X WREG(68)
#define R_DGN_MINIMAP_Y WREG(69)
#define R_MAP_INDEX VREG(11)
#define R_MAP_TEX_INDEX_BASE VREG(12)
#define R_MAP_TEX_INDEX VREG(13)
#define R_COMPASS_SCALE_X VREG(14)
#define R_COMPASS_SCALE_Y VREG(15)
#define R_COMPASS_OFFSET_X VREG(16)
#define R_COMPASS_OFFSET_Y VREG(17)
#define R_MINIMAP_COLOR(i) VREG(18 + i)
#define R_ITEM_AMMO_X(i) VREG(64 + i)
#define R_ITEM_AMMO_Y(i) VREG(68 + i)
#define R_ITEM_ICON_WIDTH(i) VREG(76 + i)
#define R_ITEM_BTN_WIDTH(i) VREG(80 + i)
#define R_ENABLE_ARENA_DBG SREG(0) // Same as OoT
#define R_RUN_SPEED_LIMIT REG(45)
#define R_UPDATE_RATE SREG(30)
#define R_PAUSE_MENU_MODE SREG(94)
#define R_C_UP_ICON_X YREG(88)
#define R_C_UP_ICON_Y YREG(89)
#define R_MAGIC_FILL_COLOR(i) ZREG(0 + i)
#define R_C_BTN_COLOR(i) ZREG(39 + i)
#define R_B_BTN_COLOR(i) ZREG(43 + i)
#define R_START_LABEL_DD(i) ZREG(48 + i)
#define R_START_LABEL_Y(i) ZREG(51 + i)
#define R_START_LABEL_X(i) ZREG(54 + i)
#define R_C_UP_BTN_X ZREG(62)
#define R_C_UP_BTN_Y ZREG(63)
#define R_START_BTN_X ZREG(68)
#define R_START_BTN_Y ZREG(69)
#define R_ITEM_BTN_X(i) ZREG(70 + i)
#define R_ITEM_BTN_Y(i) ZREG(74 + i)
#define R_ITEM_BTN_DD(i) ZREG(78 + i)
#define R_ITEM_ICON_X(i) ZREG(82 + i)
#define R_ITEM_ICON_Y(i) ZREG(86 + i)
#define R_ITEM_ICON_DD(i) ZREG(90 + i)
#define R_A_BTN_Y XREG(16)
#define R_A_BTN_X XREG(17)
#define R_A_ICON_Y XREG(19)
#define R_A_ICON_X XREG(20)
#define R_A_BTN_COLOR(i) XREG(22 + i)
#define R_MAGIC_CONSUME_TIMER_GIANTS_MASK XREG(41)
#define R_MINIMAP_DISABLED XREG(95)
#define R_B_LABEL_DD WREG(0)
#define R_OW_MINIMAP_X WREG(29)
#define R_OW_MINIMAP_Y WREG(30)
#define R_B_LABEL_X(i) WREG(40 + i)
#define R_B_LABEL_Y(i) WREG(43 + i)
#define R_DGN_MINIMAP_X WREG(68)
#define R_DGN_MINIMAP_Y WREG(69)
#define R_MAP_INDEX VREG(11)
#define R_MAP_TEX_INDEX_BASE VREG(12)
#define R_MAP_TEX_INDEX VREG(13)
#define R_COMPASS_SCALE_X VREG(14)
#define R_COMPASS_SCALE_Y VREG(15)
#define R_COMPASS_OFFSET_X VREG(16)
#define R_COMPASS_OFFSET_Y VREG(17)
#define R_MINIMAP_COLOR(i) VREG(18 + i)
#define R_ITEM_AMMO_X(i) VREG(64 + i)
#define R_ITEM_AMMO_Y(i) VREG(68 + i)
#define R_ITEM_ICON_WIDTH(i) VREG(76 + i)
#define R_ITEM_BTN_WIDTH(i) VREG(80 + i)
#define R_FB_FILTER_TYPE SREG(80)
#define R_FB_FILTER_PRIM_COLOR(c) SREG(81 + c)
#define R_FB_FILTER_A SREG(84)
#define R_FB_FILTER_ENV_COLOR(c) SREG(85 + c)
#define R_FB_FILTER_TYPE SREG(80)
#define R_FB_FILTER_PRIM_COLOR(c) SREG(81 + c)
#define R_FB_FILTER_A SREG(84)
#define R_FB_FILTER_ENV_COLOR(c) SREG(85 + c)
#endif
+6 -6
View File
@@ -1028,11 +1028,11 @@ extern UNK_PTR D_801BF5C0;
// extern UNK_TYPE2 D_801BF890;
// extern UNK_TYPE2 D_801BF898;
// extern UNK_TYPE2 D_801BF89C;
// extern UNK_TYPE2 D_801BF8A0;
// extern UNK_TYPE2 D_801BF8A4;
// extern UNK_TYPE2 D_801BF8A8;
// extern UNK_TYPE2 D_801BF8AC;
// extern UNK_TYPE2 D_801BF8B0;
// extern UNK_TYPE2 sMagicMeterOutlinePrimRed;
// extern UNK_TYPE2 sMagicMeterOutlinePrimGreen;
// extern UNK_TYPE2 sMagicMeterOutlinePrimBlue;
// extern UNK_TYPE2 sMagicBorderRatio;
// extern UNK_TYPE2 sMagicBorderStep;
// extern UNK_TYPE2 D_801BF8DC;
// extern UNK_TYPE2 D_801BF8E0;
// extern UNK_TYPE2 D_801BF8E4;
@@ -2719,7 +2719,7 @@ extern f32 D_801DE860;
extern f32 D_801DE864;
extern f32 D_801DE868;
extern f32 D_801DE884;
extern TexturePtr D_801DE890[];
extern TexturePtr gCircleTex;
extern f32 D_801DF090;
extern f32 D_801DF094;
extern f32 D_801DF0A0;
+1 -1
View File
@@ -523,7 +523,7 @@ typedef struct {
/* 0x252 */ s16 lifeSizeChange;
/* 0x254 */ s16 lifeSizeChangeDirection; // 1 means shrinking, 0 growing
/* 0x256 */ s16 unk_256;
/* 0x258 */ s16 unk_258;
/* 0x258 */ s16 magicConsumptionTimer; // For certain magic states, 1 unit of magic is consumed every time the timer reaches 0
/* 0x25A */ u8 numHorseBoosts;
/* 0x25C */ u16 unk_25C;
/* 0x25E */ u16 unk_25E;
+112 -4
View File
@@ -83,7 +83,7 @@ typedef struct {
typedef struct {
/* 0x0 */ s16 unk_0; // frame?
/* 0x2 */ Vec3s unk_2; // pos?
/* 0x2 */ Vec3s unk_2; // scale
} struct_80124618; // size = 0x8
typedef struct {
@@ -365,15 +365,18 @@ typedef struct ActorListEntry {
/* 0x8 */ s32 unk_08;
} ActorListEntry; // size = 0xC
// Target size when activated
#define LENS_MASK_ACTIVE_SIZE 100
typedef struct ActorContext {
/* 0x000 */ u8 freezeFlashTimer;
/* 0x001 */ UNK_TYPE1 pad1;
/* 0x002 */ u8 unk2;
/* 0x003 */ u8 unk3;
/* 0x004 */ s8 unk4;
/* 0x003 */ u8 lensActive;
/* 0x004 */ s8 lensMaskSize; // The size of the circle when drawn the lens mask. Larger value leads to a smaller circle
/* 0x005 */ u8 unk5;
/* 0x006 */ UNK_TYPE1 pad6[0x5];
/* 0x00B */ s8 unkB;
/* 0x00B */ s8 lensActorsDrawn;
/* 0x00C */ s16 unkC;
/* 0x00E */ u8 totalLoadedActors;
/* 0x00F */ u8 undrawnActorCount;
@@ -1185,4 +1188,109 @@ typedef enum {
/* 0xC8 */ CLEAR_TAG_SMOKE = 200
} ClearTagType;
typedef enum {
/* 0x00 */ TATL_HINT_ID_DEFAULT,
/* 0x01 */ TATL_HINT_ID_SNAPPER,
/* 0x02 */ TATL_HINT_ID_MINI_BABA,
/* 0x03 */ TATL_HINT_ID_MAD_JELLY,
/* 0x04 */ TATL_HINT_ID_SKULLTULA,
/* 0x05 */ TATL_HINT_ID_RED_CHUCHU,
/* 0x06 */ TATL_HINT_ID_BLUE_CHUCHU,
/* 0x07 */ TATL_HINT_ID_DEKU_BABA,
/* 0x08 */ TATL_HINT_ID_BIO_DEKU_BABA,
/* 0x09 */ TATL_HINT_ID_WILTED_DEKU_BABA,
/* 0x0A */ TATL_HINT_ID_DEXIHAND,
/* 0x0B */ TATL_HINT_ID_NEJIRON,
/* 0x0C */ TATL_HINT_ID_GIANT_BEE,
/* 0x0D */ TATL_HINT_ID_DODONGO,
/* 0x0E */ TATL_HINT_ID_DEEP_PYTHON,
/* 0x0F */ TATL_HINT_ID_DEATH_ARMOS,
/* 0x10 */ TATL_HINT_ID_DINOLFOS,
/* 0x11 */ TATL_HINT_ID_FIRE_KEESE,
/* 0x12 */ TATL_HINT_ID_KEESE,
/* 0x13 */ TATL_HINT_ID_ARMOS,
/* 0x14 */ TATL_HINT_ID_EENO,
/* 0x15 */ TATL_HINT_ID_DRAGONFLY,
/* 0x16 */ TATL_HINT_ID_IGOS_DU_IKANA,
/* 0x17 */ TATL_HINT_ID_GARO,
/* 0x18 */ TATL_HINT_ID_GARO_MASTER,
/* 0x19 */ TATL_HINT_ID_WART,
/* 0x1A */ TATL_HINT_ID_GOMESS,
/* 0x1B */ TATL_HINT_ID_GOHT,
/* 0x1C */ TATL_HINT_ID_BLUE_BUBBLE,
/* 0x1D */ TATL_HINT_ID_KINGS_LACKEYS_DARK_ROOM,
/* 0x1E */ TATL_HINT_ID_KINGS_LACKEYS_LIGHT_ROOM,
/* 0x1F */ TATL_HINT_ID_SKULLWALLTULA,
/* 0x20 */ TATL_HINT_ID_GOLD_SKULLTULA, // Only in JP Ver.
/* 0x21 */ TATL_HINT_ID_CAPTAIN_KEETA,
/* 0x22 */ TATL_HINT_ID_YELLOW_CHUCHU,
/* 0x23 */ TATL_HINT_ID_TAKKURI,
/* 0x24 */ TATL_HINT_ID_RED_BUBBLE,
/* 0x25 */ TATL_HINT_ID_HIPLOOP,
/* 0x26 */ TATL_HINT_ID_MASKED_HIPLOOP,
/* 0x27 */ TATL_HINT_ID_SHELLBLADE,
/* 0x28 */ TATL_HINT_ID_GYORG, // "if you go near, you'll be eaten!"
/* 0x29 */ TATL_HINT_ID_GYORG_STUNNED, // "Jump in and attack it!"
/* 0x2A */ TATL_HINT_ID_REDEAD,
/* 0x2B */ TATL_HINT_ID_2B,
/* 0x2C */ TATL_HINT_ID_BLACK_BOE,
/* 0x2D */ TATL_HINT_ID_GIBDO,
/* 0x2E */ TATL_HINT_ID_TWINMOLD,
/* 0x2F */ TATL_HINT_ID_WEARING_GIANTS_MASK, // Twinmold, JP Ver. only
/* 0x30 */ TATL_HINT_ID_WALLMASTER,
/* 0x31 */ TATL_HINT_ID_FLOORMASTER,
/* 0x32 */ TATL_HINT_ID_MAJORAS_MASK,
/* 0x33 */ TATL_HINT_ID_MAJORAS_INCARNATION,
/* 0x34 */ TATL_HINT_ID_MAJORAS_WRATH,
/* 0x35 */ TATL_HINT_ID_IRON_KNUCKLE,
/* 0x36 */ TATL_HINT_ID_36, // Empty
/* 0x37 */ TATL_HINT_ID_LIKE_LIKE,
/* 0x38 */ TATL_HINT_ID_38, // Empty
/* 0x39 */ TATL_HINT_ID_BEAMOS,
/* 0x3A */ TATL_HINT_ID_3A, // Empty
/* 0x3B */ TATL_HINT_ID_FREEZARD,
/* 0x3C */ TATL_HINT_ID_WHITE_BOE,
/* 0x3D */ TATL_HINT_ID_3D, // Empty
/* 0x3E */ TATL_HINT_ID_3E, // Empty
/* 0x3F */ TATL_HINT_ID_3F, // Empty
/* 0x40 */ TATL_HINT_ID_40, // Empty
/* 0x41 */ TATL_HINT_ID_41, // Empty
/* 0x42 */ TATL_HINT_ID_OCTOROK,
/* 0x43 */ TATL_HINT_ID_43, // Empty
/* 0x44 */ TATL_HINT_ID_POE,
/* 0x45 */ TATL_HINT_ID_GEKKO_SNAPPER,
/* 0x46 */ TATL_HINT_ID_BLUE_TEKTITE,
/* 0x47 */ TATL_HINT_ID_LEEVER,
/* 0x48 */ TATL_HINT_ID_PEAHAT,
/* 0x49 */ TATL_HINT_ID_PEAHAT_LARVA,
/* 0x4A */ TATL_HINT_ID_EYEGORE,
/* 0x4B */ TATL_HINT_ID_WIZROBE,
/* 0x4C */ TATL_HINT_ID_WOLFOS,
/* 0x4D */ TATL_HINT_ID_MAD_SCRUB,
/* 0x4E */ TATL_HINT_ID_4E, // Empty
/* 0x4F */ TATL_HINT_ID_4F, // Empty
/* 0x50 */ TATL_HINT_ID_POE_SISTER_MEG,
/* 0x51 */ TATL_HINT_ID_POE_SISTER_JO,
/* 0x52 */ TATL_HINT_ID_POE_SISTER_BETH,
/* 0x53 */ TATL_HINT_ID_POE_SISTER_AMY,
/* 0x54 */ TATL_HINT_ID_PIRATE,
/* 0x55 */ TATL_HINT_ID_STALCHILD,
/* 0x56 */ TATL_HINT_ID_ICE_KEESE,
/* 0x57 */ TATL_HINT_ID_WHITE_WOLFOS,
/* 0x58 */ TATL_HINT_ID_GUAY,
/* 0x59 */ TATL_HINT_ID_BIG_OCTO,
/* 0x5A */ TATL_HINT_ID_BIG_POE,
/* 0x5B */ TATL_HINT_ID_SKULLFISH,
/* 0x5C */ TATL_HINT_ID_DESBREKO,
/* 0x5D */ TATL_HINT_ID_GREEN_CHUCHU,
/* 0x5E */ TATL_HINT_ID_ODOLWA_1,
/* 0x5F */ TATL_HINT_ID_GEKKO_GIANT_SLIME,
/* 0x60 */ TATL_HINT_ID_BAD_BAT,
/* 0x61 */ TATL_HINT_ID_REAL_BOMBCHU,
/* 0x62 */ TATL_HINT_ID_ODOLWA_2,
/* 0x63 */ TATL_HINT_ID_ODOLWA_3,
/* 0x64 */ TATL_HINT_ID_MUSHROOM,
/* 0xFF */ TATL_HINT_ID_NONE = 0xFF
} TatlHintId;
#endif
+3
View File
@@ -101,6 +101,9 @@ typedef struct {
#define BINANG_LERPIMP(v0, v1, t) ((v0) + (s16)(BINANG_SUB((v1), (v0)) * (t)))
#define BINANG_LERPIMPINV(v0, v1, t) ((v0) + BINANG_SUB((v1), (v0)) / (t))
#define LERPWEIGHT(val, prev, next) (((val) - (prev)) / ((next) - (prev)))
#define F32_LERPWEIGHT(val, prev, next) (((f32)(val) - (f32)(prev)) / ((f32)(next) - (f32)(prev)))
#define VEC3F_LERPIMPDST(dst, v0, v1, t){ \
(dst)->x = (v0)->x + (((v1)->x - (v0)->x) * t); \
(dst)->y = (v0)->y + (((v1)->y - (v0)->y) * t); \
+41 -11
View File
@@ -24,6 +24,36 @@ typedef enum RespawnMode {
#define SAVE_BUFFER_SIZE 0x4000
typedef enum {
/* 0 */ MAGIC_STATE_IDLE, // Regular gameplay
/* 1 */ MAGIC_STATE_CONSUME_SETUP, // Sets the speed at which the magic border flashes
/* 2 */ MAGIC_STATE_CONSUME, // Consume magic until target is reached or no more magic is available
/* 3 */ MAGIC_STATE_METER_FLASH_1, // Flashes border
/* 4 */ MAGIC_STATE_METER_FLASH_2, // Flashes border and draws yellow magic to preview target consumption
/* 5 */ MAGIC_STATE_RESET, // Reset colors and return to idle
/* 6 */ MAGIC_STATE_METER_FLASH_3, // Flashes border with no additional behaviour
/* 7 */ MAGIC_STATE_CONSUME_LENS, // Magic slowly consumed by Lens of Truth
/* 8 */ MAGIC_STATE_STEP_CAPACITY, // Step `magicCapacity` to full capacity
/* 9 */ MAGIC_STATE_FILL, // Add magic until magicFillTarget is reached
/* 10 */ MAGIC_STATE_CONSUME_GORON_ZORA_SETUP,
/* 11 */ MAGIC_STATE_CONSUME_GORON_ZORA, // Magic slowly consumed by Goron spiked rolling or Zora electric barrier.
/* 12 */ MAGIC_STATE_CONSUME_GIANTS_MASK // Magic slowly consumed by Giant's Mask
} MagicState;
typedef enum {
/* 0 */ MAGIC_CONSUME_NOW, // Consume magic immediately without preview
/* 1 */ MAGIC_CONSUME_WAIT_NO_PREVIEW, // Sets consume target but waits to consume. No yellow magic preview to target consumption. Unused
/* 2 */ MAGIC_CONSUME_NOW_ALT, // Identical behaviour to MAGIC_CONSUME_NOW. Unused
/* 3 */ MAGIC_CONSUME_LENS, // Lens of Truth consumption
/* 4 */ MAGIC_CONSUME_WAIT_PREVIEW, // Sets consume target but waits to consume. Show magic to be consumed in yellow.
/* 5 */ MAGIC_CONSUME_GORON_ZORA, // Goron spiked rolling or Zora electric barrier slow consumption
/* 6 */ MAGIC_CONSUME_GIANTS_MASK, // Giant's Mask slow consumption
/* 7 */ MAGIC_CONSUME_DEITY_BEAM // Fierce Deity Beam consumption, consumed magic now and not via request
} MagicChangeType;
#define MAGIC_NORMAL_METER 0x30
#define MAGIC_DOUBLE_METER (2 * MAGIC_NORMAL_METER)
typedef struct SramContext {
/* 0x00 */ u8* readBuff;
/* 0x04 */ u8 *saveBuf;
@@ -105,13 +135,13 @@ typedef struct SavePlayerData {
/* 0x08 */ char playerName[8]; // "player_name"
/* 0x10 */ s16 healthCapacity; // "max_life"
/* 0x12 */ s16 health; // "now_life"
/* 0x14 */ s8 magicLevel; // "magic_max"
/* 0x15 */ s8 magic; // "magic_now"
/* 0x14 */ s8 magicLevel; // 0 for no magic/new load, 1 for magic, 2 for double magic "magic_max"
/* 0x15 */ s8 magic; // current magic available for use "magic_now"
/* 0x16 */ s16 rupees; // "lupy_count"
/* 0x18 */ u16 swordHealth; // "long_sword_hp"
/* 0x1A */ u16 tatlTimer; // "navi_timer"
/* 0x1C */ u8 magicAcquired; // "magic_mode"
/* 0x1D */ u8 doubleMagic; // "magic_ability"
/* 0x1C */ u8 isMagicAcquired; // "magic_mode"
/* 0x1D */ u8 isDoubleMagicAcquired; // "magic_ability"
/* 0x1E */ u8 doubleDefense; // "life_ability"
/* 0x1F */ u8 unk_1F; // "ocarina_round"
/* 0x20 */ u8 unk_20; // "first_memory"
@@ -226,13 +256,13 @@ typedef struct SaveContext {
/* 0x3F22 */ u16 unk_3F22; // "prev_alpha_type"
/* 0x3F24 */ u16 unk_3F24; // "alpha_count"
/* 0x3F26 */ u16 unk_3F26; // "last_time_type"
/* 0x3F28 */ s16 unk_3F28; // "magic_flag"
/* 0x3F2A */ s16 unk_3F2A; // "recovery_magic_flag"
/* 0x3F2C */ s16 unk_3F2C; // "keep_magic_flag"
/* 0x3F2E */ s16 unk_3F2E; // "magic_now_max"
/* 0x3F30 */ s16 unk_3F30; // "magic_now_now"
/* 0x3F32 */ s16 unk_3F32; // "magic_used"
/* 0x3F34 */ s16 unk_3F34; // "magic_recovery"
/* 0x3F28 */ s16 magicState; // determines magic meter behavior on each frame "magic_flag"
/* 0x3F2A */ s16 isMagicRequested; // a request to add magic has been given "recovery_magic_flag"
/* 0x3F2C */ s16 magicFlag; // Set to 0 in func_80812D94(), otherwise unused "keep_magic_flag"
/* 0x3F2E */ s16 magicCapacity; // maximum magic available "magic_now_max"
/* 0x3F30 */ s16 magicFillTarget; // target used to fill magic "magic_now_now"
/* 0x3F32 */ s16 magicToConsume; // accumulated magic that is requested to be consumed "magic_used"
/* 0x3F34 */ s16 magicToAdd; // accumulated magic that is requested to be added "magic_recovery"
/* 0x3F36 */ u16 mapIndex; // "scene_ID"
/* 0x3F38 */ u16 minigameState; // "yabusame_mode"
/* 0x3F3A */ u16 minigameScore; // "yabusame_total"
+9 -22
View File
@@ -883,8 +883,7 @@ beginseg
name "ovl_En_Bubble"
compress
include "build/src/overlays/actors/ovl_En_Bubble/z_en_bubble.o"
include "build/data/ovl_En_Bubble/ovl_En_Bubble.data.o"
include "build/data/ovl_En_Bubble/ovl_En_Bubble.reloc.o"
include "build/src/overlays/actors/ovl_En_Bubble/ovl_En_Bubble_reloc.o"
endseg
beginseg
@@ -1163,8 +1162,7 @@ beginseg
name "ovl_En_Encount1"
compress
include "build/src/overlays/actors/ovl_En_Encount1/z_en_encount1.o"
include "build/data/ovl_En_Encount1/ovl_En_Encount1.data.o"
include "build/data/ovl_En_Encount1/ovl_En_Encount1.reloc.o"
include "build/src/overlays/actors/ovl_En_Encount1/ovl_En_Encount1_reloc.o"
endseg
beginseg
@@ -1644,8 +1642,7 @@ beginseg
name "ovl_En_Js"
compress
include "build/src/overlays/actors/ovl_En_Js/z_en_js.o"
include "build/data/ovl_En_Js/ovl_En_Js.data.o"
include "build/data/ovl_En_Js/ovl_En_Js.reloc.o"
include "build/src/overlays/actors/ovl_En_Js/ovl_En_Js_reloc.o"
endseg
beginseg
@@ -1696,8 +1693,7 @@ beginseg
name "ovl_Oceff_Spot"
compress
include "build/src/overlays/actors/ovl_Oceff_Spot/z_oceff_spot.o"
include "build/data/ovl_Oceff_Spot/ovl_Oceff_Spot.data.o"
include "build/data/ovl_Oceff_Spot/ovl_Oceff_Spot.reloc.o"
include "build/src/overlays/actors/ovl_Oceff_Spot/ovl_Oceff_Spot_reloc.o"
endseg
beginseg
@@ -1981,18 +1977,14 @@ beginseg
name "ovl_Oceff_Wipe2"
compress
include "build/src/overlays/actors/ovl_Oceff_Wipe2/z_oceff_wipe2.o"
include "build/data/ovl_Oceff_Wipe2/ovl_Oceff_Wipe2.data.o"
include "build/data/ovl_Oceff_Wipe2/ovl_Oceff_Wipe2.bss.o"
include "build/data/ovl_Oceff_Wipe2/ovl_Oceff_Wipe2.reloc.o"
include "build/src/overlays/actors/ovl_Oceff_Wipe2/ovl_Oceff_Wipe2_reloc.o"
endseg
beginseg
name "ovl_Oceff_Wipe3"
compress
include "build/src/overlays/actors/ovl_Oceff_Wipe3/z_oceff_wipe3.o"
include "build/data/ovl_Oceff_Wipe3/ovl_Oceff_Wipe3.data.o"
include "build/data/ovl_Oceff_Wipe3/ovl_Oceff_Wipe3.bss.o"
include "build/data/ovl_Oceff_Wipe3/ovl_Oceff_Wipe3.reloc.o"
include "build/src/overlays/actors/ovl_Oceff_Wipe3/ovl_Oceff_Wipe3_reloc.o"
endseg
beginseg
@@ -3042,9 +3034,7 @@ beginseg
name "ovl_En_Az"
compress
include "build/src/overlays/actors/ovl_En_Az/z_en_az.o"
include "build/data/ovl_En_Az/ovl_En_Az.data.o"
include "build/data/ovl_En_Az/ovl_En_Az.bss.o"
include "build/data/ovl_En_Az/ovl_En_Az.reloc.o"
include "build/src/overlays/actors/ovl_En_Az/ovl_En_Az_reloc.o"
endseg
beginseg
@@ -3210,9 +3200,7 @@ beginseg
name "ovl_En_Twig"
compress
include "build/src/overlays/actors/ovl_En_Twig/z_en_twig.o"
include "build/data/ovl_En_Twig/ovl_En_Twig.data.o"
include "build/data/ovl_En_Twig/ovl_En_Twig.bss.o"
include "build/data/ovl_En_Twig/ovl_En_Twig.reloc.o"
include "build/src/overlays/actors/ovl_En_Twig/ovl_En_Twig_reloc.o"
endseg
beginseg
@@ -4852,8 +4840,7 @@ beginseg
name "ovl_Obj_Usiyane"
compress
include "build/src/overlays/actors/ovl_Obj_Usiyane/z_obj_usiyane.o"
include "build/data/ovl_Obj_Usiyane/ovl_Obj_Usiyane.data.o"
include "build/data/ovl_Obj_Usiyane/ovl_Obj_Usiyane.reloc.o"
include "build/src/overlays/actors/ovl_Obj_Usiyane/ovl_Obj_Usiyane_reloc.o"
endseg
beginseg
+1 -1
View File
@@ -8,7 +8,7 @@ void TitleSetup_GameStateResetContext(void) {
XREG(12) = 0xE;
XREG(13) = 0;
XREG(31) = 0;
XREG(41) = 0x50;
R_MAGIC_CONSUME_TIMER_GIANTS_MASK = 80;
XREG(43) = 0xFC54;
XREG(44) = 0xD7;
+22 -23
View File
@@ -1076,7 +1076,7 @@ void Actor_Init(Actor* actor, PlayState* play) {
actor->uncullZoneScale = 350.0f;
actor->uncullZoneDownward = 700.0f;
actor->hintId = 255;
actor->hintId = TATL_HINT_ID_NONE;
CollisionCheck_InitInfo(&actor->colChkInfo);
actor->floorBgId = BGCHECK_SCENE;
@@ -2212,10 +2212,10 @@ s32 func_800B90AC(PlayState* play, Actor* actor, CollisionPoly* polygon, s32 bgI
return false;
}
void func_800B90F4(PlayState* play) {
if (play->actorCtx.unk3 != 0) {
play->actorCtx.unk3 = 0;
func_80115D5C(&play->state);
void Actor_DeactivateLens(PlayState* play) {
if (play->actorCtx.lensActive) {
play->actorCtx.lensActive = false;
Magic_Reset(play);
}
}
@@ -2594,7 +2594,7 @@ void func_800B9D1C(Actor* actor) {
void Actor_DrawAllSetup(PlayState* play) {
play->actorCtx.undrawnActorCount = 0;
play->actorCtx.unkB = 0;
play->actorCtx.lensActorsDrawn = false;
}
s32 Actor_RecordUndrawnActor(PlayState* play, Actor* actor) {
@@ -2607,13 +2607,12 @@ s32 Actor_RecordUndrawnActor(PlayState* play, Actor* actor) {
return true;
}
void func_800B9E84(Gfx** arg0, s32 arg1) {
func_80164C14(arg0, D_801DE890, 4, 0, 6, 6, ((100 - arg1) * 0.003f) + 1.0f);
void Actor_DrawLensOverlay(Gfx** gfxP, s32 lensMaskSize) {
func_80164C14(gfxP, &gCircleTex, 4, 0, 6, 6, ((LENS_MASK_ACTIVE_SIZE - lensMaskSize) * 0.003f) + 1.0f);
}
#ifdef NON_EQUIVALENT
// Related to draw actors with lens
void func_800B9EF4(PlayState* play, s32 numActors, Actor** actors) {
void Actor_DrawLensActors(PlayState* play, s32 numActors, Actor** actors) {
s32 spB4;
Gfx* spAC;
void* spA8; // pad
@@ -2684,7 +2683,7 @@ void func_800B9EF4(PlayState* play, s32 numActors, Actor** actors) {
}
// spAC = phi_s1;
func_800B9E84(&spAC, play->actorCtx.unk4);
Actor_DrawLensOverlay(&spAC, play->actorCtx.lensMaskSize);
phi_s1_2 = func_801660B8(play, spAC);
for (spB4 = 0; spB4 < numActors; spB4++, actors++) {
@@ -2744,7 +2743,7 @@ void func_800B9EF4(PlayState* play, s32 numActors, Actor** actors) {
spAC = phi_s1_2;
// spAC = temp_s1_11;
func_800B9E84(&spAC, (s32)play->actorCtx.unk4);
Actor_DrawLensOverlay(&spAC, (s32)play->actorCtx.lensMaskSize);
// temp_s1_11->words.w0 = 0xE7000000;
// temp_s1_11->words.w1 = 0;
// temp_s1_12 = temp_s1_11 + 8;
@@ -2796,15 +2795,15 @@ void func_800B9EF4(PlayState* play, s32 numActors, Actor** actors) {
// spAC = temp_s1_18 + 8;
gDPSetPrimColor(spAC++, 0, 0, 74, 0, 0, 74);
func_800B9E84(&spAC, (s32)play->actorCtx.unk4);
Actor_DrawLensOverlay(&spAC, (s32)play->actorCtx.lensMaskSize);
OVERLAY_DISP = spAC;
CLOSE_DISPS(play->state.gfxCtx);
}
#else
void func_800B9EF4(PlayState* play, s32 numActors, Actor** actors);
#pragma GLOBAL_ASM("asm/non_matchings/code/z_actor/func_800B9EF4.s")
void Actor_DrawLensActors(PlayState* play, s32 numActors, Actor** actors);
#pragma GLOBAL_ASM("asm/non_matchings/code/z_actor/Actor_DrawLensActors.s")
#endif
s32 func_800BA2D8(PlayState* play, Actor* actor) {
@@ -2883,7 +2882,7 @@ void Actor_DrawAll(PlayState* play, ActorContext* actorCtx) {
actor->isDrawn = false;
if ((actor->init == NULL) && (actor->draw != NULL) && (actor->flags & actorFlags)) {
if ((actor->flags & ACTOR_FLAG_80) &&
((play->roomCtx.currRoom.unk5 == 0) || (play->actorCtx.unk4 == 0x64) ||
((play->roomCtx.currRoom.unk5 == 0) || (play->actorCtx.lensMaskSize == LENS_MASK_ACTIVE_SIZE) ||
(actor->room != play->roomCtx.currRoom.num))) {
if (Actor_RecordUndrawnActor(play, actor)) {}
} else {
@@ -2903,17 +2902,17 @@ void Actor_DrawAll(PlayState* play, ActorContext* actorCtx) {
gSPDisplayList(sp58, &ref2[1]);
POLY_XLU_DISP = &ref2[1];
if (play->actorCtx.unk3 != 0) {
Math_StepToC(&play->actorCtx.unk4, 100, 20);
if (play->actorCtx.lensActive) {
Math_StepToC(&play->actorCtx.lensMaskSize, LENS_MASK_ACTIVE_SIZE, 20);
if (GET_PLAYER(play)->stateFlags2 & 0x8000000) {
func_800B90F4(play);
Actor_DeactivateLens(play);
}
} else {
Math_StepToC(&play->actorCtx.unk4, 0, 10);
Math_StepToC(&play->actorCtx.lensMaskSize, 0, 10);
}
if (play->actorCtx.unk4 != 0) {
play->actorCtx.unkB = 1;
func_800B9EF4(play, play->actorCtx.undrawnActorCount, play->actorCtx.undrawnActors);
if (play->actorCtx.lensMaskSize != 0) {
play->actorCtx.lensActorsDrawn = true;
Actor_DrawLensActors(play, play->actorCtx.undrawnActorCount, play->actorCtx.undrawnActors);
}
tmp2 = POLY_XLU_DISP;
+1 -1
View File
@@ -25,7 +25,7 @@ u16 ElfMessage_GetFirstCycleHint(PlayState* play) {
}
return 0x21D;
}
if (gSaveContext.save.playerData.magicAcquired != true) {
if (gSaveContext.save.playerData.isMagicAcquired != true) {
return 0x21F;
}
if (INV_CONTENT(ITEM_DEED_LAND) == ITEM_DEED_LAND) {
+1 -1
View File
@@ -500,7 +500,7 @@ void EnItem00_Update(Actor* thisx, PlayState* play) {
}
}
if (play->gameOverCtx.state != 0) {
if (play->gameOverCtx.state != GAMEOVER_INACTIVE) {
return;
}

Some files were not shown because too many files have changed in this diff Show More