Sob1 Objects Documented (#814)

* Start zora

* Finish zora

* BombShopkeeper with some cleanup

* Goron and don gero mask

* Small thing

* format

* PR comments

* bombshopkeeper -> bomb_shopkeeper

* gEffShockwaveDL
This commit is contained in:
Derek Hensley
2022-06-18 19:33:53 -07:00
committed by GitHub
parent 9bf84176d4
commit 5ae4ef87cd
23 changed files with 464 additions and 384 deletions
+2 -2
View File
@@ -1001,8 +1001,8 @@
<Limb Name="gameplay_keep_Standardlimb_02F004" Type="Standard" Offset="0x2F004" />
<Skeleton Name="gameplay_keep_Skel_02F028" Type="Flex" LimbType="Standard" Offset="0x2F028" />
<Animation Name="gameplay_keep_Anim_02F0EC" Offset="0x2F0EC" />
<Texture Name="gameplay_keep_Tex_02F100" OutName="tex_02F100" Format="i8" Width="64" Height="64" Offset="0x2F100" />
<DList Name="gameplay_keep_DL_030100" Offset="0x30100" /> <!-- Floor shockwave ring -->
<Texture Name="gEffShockwaveTex" OutName="eff_shockwave" Format="i8" Width="64" Height="64" Offset="0x2F100" />
<DList Name="gEffShockwaveDL" Offset="0x30100" />
<DList Name="gEffBubbleDL" Offset="0x301B0" />
<Texture Name="gameplay_keep_Tex_030270" OutName="tex_030270" Format="ia8" Width="32" Height="32" Offset="0x30270" />
<Texture Name="gameplay_keep_Tex_030670" OutName="tex_030670" Format="ia8" Width="32" Height="32" Offset="0x30670" />
+10 -9
View File
@@ -1,13 +1,14 @@
<Root>
<!-- Object for Don Gero's Mask-->
<File Name="object_mask_gero" Segment="10">
<DList Name="object_mask_gero_DL_000DC0" Offset="0xDC0" />
<Texture Name="object_mask_gero_TLUT_001388" OutName="tlut_001388" Format="rgba16" Width="16" Height="16" Offset="0x1388" />
<Texture Name="object_mask_gero_Tex_001588" OutName="tex_001588" Format="ci8" Width="16" Height="16" Offset="0x1588" />
<Texture Name="object_mask_gero_Tex_001688" OutName="tex_001688" Format="rgba16" Width="32" Height="32" Offset="0x1688" />
<Texture Name="object_mask_gero_Tex_001E88" OutName="tex_001E88" Format="ci8" Width="16" Height="16" Offset="0x1E88" />
<Texture Name="object_mask_gero_Tex_001F88" OutName="tex_001F88" Format="ci8" Width="32" Height="32" Offset="0x1F88" />
<Texture Name="object_mask_gero_Tex_002388" OutName="tex_002388" Format="ci8" Width="16" Height="16" Offset="0x2388" />
<Texture Name="object_mask_gero_Tex_002488" OutName="tex_002488" Format="rgba16" Width="32" Height="32" Offset="0x2488" />
<Texture Name="object_mask_gero_Tex_002C88" OutName="tex_002C88" Format="rgba16" Width="16" Height="16" Offset="0x2C88" />
<DList Name="gDonGeroMaskDL" Offset="0xDC0" />
<Texture Name="gDonGeroMaskTLUT" OutName="don_gero_mask_tlut" Format="rgba16" Width="16" Height="16" Offset="0x1388" />
<Texture Name="gDonGeroMaskBottomTex" OutName="don_gero_mask_bottom" Format="ci8" Width="16" Height="16" Offset="0x1588" />
<Texture Name="gDonGeroMaskToesTex" OutName="don_gero_mask_toes" Format="rgba16" Width="32" Height="32" Offset="0x1688" />
<Texture Name="gDonGeroMaskTopTex" OutName="don_gero_mask_top" Format="ci8" Width="16" Height="16" Offset="0x1E88" />
<Texture Name="gDonGeroMaskNostrilTex" OutName="don_gero_mask_nostril" Format="ci8" Width="32" Height="32" Offset="0x1F88" />
<Texture Name="gDonGeroMaskMouthTex" OutName="don_gero_mask_mouth" Format="ci8" Width="16" Height="16" Offset="0x2388" />
<Texture Name="gDonGeroMaskFrillsTex" OutName="don_gero_mask_frills" Format="rgba16" Width="32" Height="32" Offset="0x2488" />
<Texture Name="gDonGeroMaskEyeTex" OutName="don_gero_mask_eye" Format="rgba16" Width="16" Height="16" Offset="0x2C88" />
</File>
</Root>
+2 -1
View File
@@ -1,5 +1,6 @@
<Root>
<!-- Object for the Goron Shopkeeper's animation -->
<File Name="object_mastergolon" Segment="6">
<Animation Name="object_mastergolon_Anim_0000FC" Offset="0xFC" />
<Animation Name="gGoronShopkeeperAnim" Offset="0xFC" />
</File>
</Root>
+2 -1
View File
@@ -1,5 +1,6 @@
<Root>
<!-- Object for the Zora Shopkeeper's animation -->
<File Name="object_masterzoora" Segment="6">
<Animation Name="object_masterzoora_Anim_00078C" Offset="0x78C" />
<Animation Name="gZoraShopkeeperAnim" Offset="0x78C" />
</File>
</Root>
+132 -98
View File
@@ -1,108 +1,142 @@
<Root>
<!-- Object file for Gorons -->
<File Name="object_oF1d_map" Segment="6">
<DList Name="object_oF1d_map_DL_0003D0" Offset="0x3D0" />
<DList Name="object_oF1d_map_DL_000458" Offset="0x458" />
<DList Name="object_oF1d_map_DL_0008C0" Offset="0x8C0" />
<DList Name="object_oF1d_map_DL_000948" Offset="0x948" />
<DList Name="object_oF1d_map_DL_000D50" Offset="0xD50" />
<DList Name="object_oF1d_map_DL_000DD8" Offset="0xDD8" />
<DList Name="object_oF1d_map_DL_001560" Offset="0x1560" />
<!-- Snowball -->
<!-- Large Snowball Fragment -->
<DList Name="gGoronLargeSnowballFragmentMaterialDL" Offset="0x3D0" />
<DList Name="gGoronLargeSnowballFragmentModelDL" Offset="0x458" />
<!-- Medium Snowball Fragment -->
<DList Name="gGoronMediumSnowballFragmentMaterialDL" Offset="0x8C0" />
<DList Name="gGoronMediumSnowballFragmentModelDL" Offset="0x948" />
<!-- Small Snowball Fragment -->
<DList Name="gGoronSmallSnowballFragmentMaterialDL" Offset="0xD50" />
<DList Name="gGoronSmallSnowballFragmentModelDL" Offset="0xDD8" />
<DList Name="gGoronSnowballDL" Offset="0x1560" />
<Blob Name="object_oF1d_map_Blob_001750" Size="0x20" Offset="0x1750" />
<Texture Name="object_oF1d_map_Tex_001770" OutName="tex_001770" Format="rgba16" Width="32" Height="64" Offset="0x1770" />
<Texture Name="gGoronSnowBallTex" OutName="goron_snow" Format="rgba16" Width="32" Height="64" Offset="0x1770" />
<Blob Name="object_oF1d_map_Blob_002770" Size="0x800" Offset="0x2770" />
<Texture Name="object_oF1d_map_Tex_002F70" OutName="tex_002F70" Format="i4" Width="32" Height="32" Offset="0x2F70" />
<DList Name="object_oF1d_map_DL_0031A0" Offset="0x31A0" />
<DList Name="object_oF1d_map_DL_003258" Offset="0x3258" />
<!-- Steam -->
<Texture Name="gGoronSteamTex" OutName="goron_steam" Format="i4" Width="32" Height="32" Offset="0x2F70" />
<DList Name="gGoronSteamMaterialDL" Offset="0x31A0" />
<DList Name="gGoronSteamModelDL" Offset="0x3258" />
<!-- Unused -->
<DList Name="object_oF1d_map_DL_003280" Offset="0x3280" />
<DList Name="object_oF1d_map_DL_003298" Offset="0x3298" />
<DList Name="object_oF1d_map_DL_003330" Offset="0x3330" />
<DList Name="object_oF1d_map_DL_003340" Offset="0x3340" />
<Animation Name="object_oF1d_map_Anim_003650" Offset="0x3650" />
<Animation Name="object_oF1d_map_Anim_0039D8" Offset="0x39D8" />
<Animation Name="object_oF1d_map_Anim_003E28" Offset="0x3E28" />
<DList Name="object_oF1d_map_DL_004DB0" Offset="0x4DB0" />
<Texture Name="object_oF1d_map_TLUT_005340" OutName="tlut_005340" Format="rgba16" Width="16" Height="16" Offset="0x5340" />
<Texture Name="object_oF1d_map_Tex_005540" OutName="tex_005540" Format="ci8" Width="16" Height="16" Offset="0x5540" />
<Texture Name="object_oF1d_map_Tex_005640" OutName="tex_005640" Format="rgba16" Width="32" Height="32" Offset="0x5640" />
<Texture Name="object_oF1d_map_Tex_005E40" OutName="tex_005E40" Format="ci8" Width="16" Height="16" Offset="0x5E40" />
<Texture Name="object_oF1d_map_Tex_005F40" OutName="tex_005F40" Format="ci8" Width="32" Height="32" Offset="0x5F40" />
<Texture Name="object_oF1d_map_Tex_006340" OutName="tex_006340" Format="ci8" Width="16" Height="16" Offset="0x6340" />
<Texture Name="object_oF1d_map_Tex_006440" OutName="tex_006440" Format="rgba16" Width="32" Height="32" Offset="0x6440" />
<Texture Name="object_oF1d_map_Tex_006C40" OutName="tex_006C40" Format="rgba16" Width="16" Height="16" Offset="0x6C40" />
<DList Name="object_oF1d_map_DL_007A60" Offset="0x7A60" />
<DList Name="object_oF1d_map_DL_007A68" Offset="0x7A68" />
<Texture Name="object_oF1d_map_TLUT_007EF0" OutName="tlut_007EF0" Format="rgba16" Width="16" Height="16" Offset="0x7EF0" />
<Texture Name="object_oF1d_map_Tex_0080F0" OutName="tex_0080F0" Format="ci8" Width="16" Height="16" Offset="0x80F0" />
<Texture Name="object_oF1d_map_Tex_0081F0" OutName="tex_0081F0" Format="ci8" Width="8" Height="8" Offset="0x81F0" />
<Texture Name="object_oF1d_map_Tex_008230" OutName="tex_008230" Format="ci8" Width="8" Height="16" Offset="0x8230" />
<Texture Name="object_oF1d_map_Tex_0082B0" OutName="tex_0082B0" Format="ci8" Width="32" Height="64" Offset="0x82B0" />
<Texture Name="object_oF1d_map_Tex_008AB0" OutName="tex_008AB0" Format="ci8" Width="16" Height="16" Offset="0x8AB0" />
<DList Name="object_oF1d_map_DL_0091A0" Offset="0x91A0" />
<DList Name="object_oF1d_map_DL_0091A8" Offset="0x91A8" />
<Texture Name="object_oF1d_map_TLUT_0094E0" OutName="tlut_0094E0" Format="rgba16" Width="16" Height="16" Offset="0x94E0" />
<Texture Name="object_oF1d_map_Tex_0096E0" OutName="tex_0096E0" Format="ci8" Width="16" Height="16" Offset="0x96E0" />
<Texture Name="object_oF1d_map_Tex_0097E0" OutName="tex_0097E0" Format="ci8" Width="8" Height="8" Offset="0x97E0" />
<Texture Name="object_oF1d_map_Tex_009820" OutName="tex_009820" Format="ci8" Width="8" Height="16" Offset="0x9820" />
<Texture Name="object_oF1d_map_Tex_0098A0" OutName="tex_0098A0" Format="ci8" Width="32" Height="64" Offset="0x98A0" />
<Animation Name="object_oF1d_map_Anim_00A118" Offset="0xA118" />
<DList Name="object_oF1d_map_DL_00CC50" Offset="0xCC50" />
<DList Name="object_oF1d_map_DL_00CF70" Offset="0xCF70" />
<DList Name="object_oF1d_map_DL_00D688" Offset="0xD688" />
<DList Name="object_oF1d_map_DL_00D808" Offset="0xD808" />
<DList Name="object_oF1d_map_DL_00D938" Offset="0xD938" />
<DList Name="object_oF1d_map_DL_00DBB8" Offset="0xDBB8" />
<DList Name="object_oF1d_map_DL_00DD38" Offset="0xDD38" />
<DList Name="object_oF1d_map_DL_00DE68" Offset="0xDE68" />
<DList Name="object_oF1d_map_DL_00E070" Offset="0xE070" />
<DList Name="object_oF1d_map_DL_00E130" Offset="0xE130" />
<DList Name="object_oF1d_map_DL_00E218" Offset="0xE218" />
<DList Name="object_oF1d_map_DL_00E348" Offset="0xE348" />
<DList Name="object_oF1d_map_DL_00E610" Offset="0xE610" />
<DList Name="object_oF1d_map_DL_00E6F8" Offset="0xE6F8" />
<DList Name="object_oF1d_map_DL_00E828" Offset="0xE828" />
<Texture Name="object_oF1d_map_TLUT_00EA78" OutName="tlut_00EA78" Format="rgba16" Width="16" Height="16" Offset="0xEA78" />
<Texture Name="object_oF1d_map_Tex_00EC78" OutName="tex_00EC78" Format="rgba16" Width="16" Height="16" Offset="0xEC78" />
<Texture Name="object_oF1d_map_Tex_00EE78" OutName="tex_00EE78" Format="ci8" Width="16" Height="16" Offset="0xEE78" />
<Texture Name="object_oF1d_map_Tex_00EF78" OutName="tex_00EF78" Format="ci8" Width="16" Height="16" Offset="0xEF78" />
<Texture Name="object_oF1d_map_Tex_00F078" OutName="tex_00F078" Format="ci8" Width="32" Height="32" Offset="0xF078" />
<Texture Name="object_oF1d_map_Tex_00F478" OutName="tex_00F478" Format="ci8" Width="32" Height="16" Offset="0xF478" />
<Texture Name="object_oF1d_map_Tex_00F678" OutName="tex_00F678" Format="ci8" Width="32" Height="32" Offset="0xF678" />
<Texture Name="object_oF1d_map_Tex_00FA78" OutName="tex_00FA78" Format="ci8" Width="8" Height="8" Offset="0xFA78" />
<Texture Name="object_oF1d_map_Tex_00FAB8" OutName="tex_00FAB8" Format="ci8" Width="8" Height="16" Offset="0xFAB8" />
<Texture Name="object_oF1d_map_Tex_00FB38" OutName="tex_00FB38" Format="ci8" Width="32" Height="64" Offset="0xFB38" />
<Texture Name="object_oF1d_map_Tex_010338" OutName="tex_010338" Format="ci8" Width="16" Height="16" Offset="0x10338" />
<Texture Name="object_oF1d_map_Tex_010438" OutName="tex_010438" Format="ci8" Width="32" Height="32" Offset="0x10438" />
<Texture Name="object_oF1d_map_Tex_010838" OutName="tex_010838" Format="ci8" Width="32" Height="32" Offset="0x10838" />
<Texture Name="object_oF1d_map_Tex_010C38" OutName="tex_010C38" Format="ci8" Width="32" Height="32" Offset="0x10C38" />
<Texture Name="object_oF1d_map_Tex_011038" OutName="tex_011038" Format="ci8" Width="32" Height="32" Offset="0x11038" />
<Texture Name="object_oF1d_map_Tex_011438" OutName="tex_011438" Format="rgba16" Width="8" Height="8" Offset="0x11438" />
<Texture Name="object_oF1d_map_Tex_0114B8" OutName="tex_0114B8" Format="ci8" Width="16" Height="16" Offset="0x114B8" />
<Texture Name="object_oF1d_map_Tex_0115B8" OutName="tex_0115B8" Format="rgba16" Width="32" Height="16" Offset="0x115B8" />
<Limb Name="object_oF1d_map_Standardlimb_0119B8" Type="Standard" EnumName="OBJECT_OF1D_MAP_LIMB_01" Offset="0x119B8" />
<Limb Name="object_oF1d_map_Standardlimb_0119C4" Type="Standard" EnumName="OBJECT_OF1D_MAP_LIMB_02" Offset="0x119C4" />
<Limb Name="object_oF1d_map_Standardlimb_0119D0" Type="Standard" EnumName="OBJECT_OF1D_MAP_LIMB_03" Offset="0x119D0" />
<Limb Name="object_oF1d_map_Standardlimb_0119DC" Type="Standard" EnumName="OBJECT_OF1D_MAP_LIMB_04" Offset="0x119DC" />
<Limb Name="object_oF1d_map_Standardlimb_0119E8" Type="Standard" EnumName="OBJECT_OF1D_MAP_LIMB_05" Offset="0x119E8" />
<Limb Name="object_oF1d_map_Standardlimb_0119F4" Type="Standard" EnumName="OBJECT_OF1D_MAP_LIMB_06" Offset="0x119F4" />
<Limb Name="object_oF1d_map_Standardlimb_011A00" Type="Standard" EnumName="OBJECT_OF1D_MAP_LIMB_07" Offset="0x11A00" />
<Limb Name="object_oF1d_map_Standardlimb_011A0C" Type="Standard" EnumName="OBJECT_OF1D_MAP_LIMB_08" Offset="0x11A0C" />
<Limb Name="object_oF1d_map_Standardlimb_011A18" Type="Standard" EnumName="OBJECT_OF1D_MAP_LIMB_09" Offset="0x11A18" />
<Limb Name="object_oF1d_map_Standardlimb_011A24" Type="Standard" EnumName="OBJECT_OF1D_MAP_LIMB_0A" Offset="0x11A24" />
<Limb Name="object_oF1d_map_Standardlimb_011A30" Type="Standard" EnumName="OBJECT_OF1D_MAP_LIMB_0B" Offset="0x11A30" />
<Limb Name="object_oF1d_map_Standardlimb_011A3C" Type="Standard" EnumName="OBJECT_OF1D_MAP_LIMB_0C" Offset="0x11A3C" />
<Limb Name="object_oF1d_map_Standardlimb_011A48" Type="Standard" EnumName="OBJECT_OF1D_MAP_LIMB_0D" Offset="0x11A48" />
<Limb Name="object_oF1d_map_Standardlimb_011A54" Type="Standard" EnumName="OBJECT_OF1D_MAP_LIMB_0E" Offset="0x11A54" />
<Limb Name="object_oF1d_map_Standardlimb_011A60" Type="Standard" EnumName="OBJECT_OF1D_MAP_LIMB_0F" Offset="0x11A60" />
<Limb Name="object_oF1d_map_Standardlimb_011A6C" Type="Standard" EnumName="OBJECT_OF1D_MAP_LIMB_10" Offset="0x11A6C" />
<Limb Name="object_oF1d_map_Standardlimb_011A78" Type="Standard" EnumName="OBJECT_OF1D_MAP_LIMB_11" Offset="0x11A78" />
<Skeleton Name="object_oF1d_map_Skel_011AC8" Type="Flex" LimbType="Standard" LimbNone="OBJECT_OF1D_MAP_LIMB_NONE" LimbMax="OBJECT_OF1D_MAP_LIMB_MAX" EnumName="object_oF1d_map_Limbs" Offset="0x11AC8" />
<Animation Name="object_oF1d_map_Anim_011D98" Offset="0x11D98" />
<Animation Name="object_oF1d_map_Anim_012DE0" Offset="0x12DE0" />
<Animation Name="object_oF1d_map_Anim_0135E8" Offset="0x135E8" />
<Animation Name="object_oF1d_map_Anim_013DB0" Offset="0x13DB0" />
<Animation Name="object_oF1d_map_Anim_0143AC" Offset="0x143AC" />
<Animation Name="object_oF1d_map_Anim_014CE0" Offset="0x14CE0" />
<DList Name="object_oF1d_map_DL_014CF0" Offset="0x14CF0" />
<DList Name="object_oF1d_map_DL_014D00" Offset="0x14D00" />
<!-- Animations -->
<Animation Name="gGoronCoverEarsAnim" Offset="0x3650" />
<Animation Name="gGoronDropKegAnim" Offset="0x39D8" />
<Animation Name="gGoronShiverAnim" Offset="0x3E28" />
<!-- Don Gero's Mask -->
<DList Name="gGoronDonGeroMaskDL" Offset="0x4DB0" />
<Texture Name="gGoronDonGeroMaskTLUT" OutName="goron_don_gero_mask_tlut" Format="rgba16" Width="16" Height="16" Offset="0x5340" />
<Texture Name="gGoronDonGeroMaskBottomTex" OutName="goron_don_gero_mask_bottom" Format="ci8" Width="16" Height="16" Offset="0x5540" />
<Texture Name="gGoronDonGeroMaskToesTex" OutName="goron_don_gero_mask_toes" Format="rgba16" Width="32" Height="32" Offset="0x5640" />
<Texture Name="gGoronDonGeroMaskTopTex" OutName="goron_don_gero_mask_top" Format="ci8" Width="16" Height="16" Offset="0x5E40" />
<Texture Name="gGoronDonGeroMaskNostrilTex" OutName="goron_don_gero_mask_nostril" Format="ci8" Width="32" Height="32" Offset="0x5F40" />
<Texture Name="gGoronDonGeroMaskMouthTex" OutName="goron_don_gero_mask_mouth" Format="ci8" Width="16" Height="16" Offset="0x6340" />
<Texture Name="gGoronDonGeroMaskFrillsTex" OutName="goron_don_gero_mask_frills" Format="rgba16" Width="32" Height="32" Offset="0x6440" />
<Texture Name="gGoronDonGeroMaskEyeTex" OutName="goron_don_gero_mask_eye" Format="rgba16" Width="16" Height="16" Offset="0x6C40" />
<!-- Rolled Up Half -->
<!-- Note: Seems broken -->
<DList Name="gGoronEmptyDL" Offset="0x7A60" />
<DList Name="gGoronRolledUpHalfDL" Offset="0x7A68" />
<Texture Name="gGoronRolledUpHalfTLUT" OutName="goron_rolled_up_half_tlut" Format="rgba16" Width="16" Height="16" Offset="0x7EF0" />
<Texture Name="gGoronRolledUpHalfSkinTex" OutName="goron_rolled_up_half_skin" Format="ci8" Width="16" Height="16" Offset="0x80F0" />
<Texture Name="gGoronRolledUpHalfBellyButtonTex" OutName="goron_rolled_up_half_belly_button" Format="ci8" Width="8" Height="8" Offset="0x81F0" />
<Texture Name="gGoronRolledUpHalfBottomTex" OutName="goron_rolled_up_half_bottom" Format="ci8" Width="8" Height="16" Offset="0x8230" />
<Texture Name="gGoronRolledUpHalfRocksTex" OutName="goron_rolled_up_half_rocks" Format="ci8" Width="32" Height="64" Offset="0x82B0" />
<Texture Name="gGoronRolledUpHalfHairTex" OutName="goron_rolled_up_half_hair" Format="ci8" Width="16" Height="16" Offset="0x8AB0" />
<!-- Rolled Up -->
<DList Name="gGoronEmpty2DL" Offset="0x91A0" />
<DList Name="gGoronRolledUpDL" Offset="0x91A8" />
<Texture Name="gGoronRolledUpTLUT" OutName="goron_rolled_up_tlut" Format="rgba16" Width="16" Height="16" Offset="0x94E0" />
<Texture Name="gGoronRolledUpSkinTex" OutName="goron_rolled_up_skin" Format="ci8" Width="16" Height="16" Offset="0x96E0" />
<Texture Name="gGoronRolledUpBellyButtonTex" OutName="goron_rolled_up_belly_button" Format="ci8" Width="8" Height="8" Offset="0x97E0" />
<Texture Name="gGoronRolledUpBottomTex" OutName="goron_rolled_up_bottom" Format="ci8" Width="8" Height="16" Offset="0x9820" />
<Texture Name="gGoronRolledUpRocksTex" OutName="goron_rolled_up_rocks" Format="ci8" Width="32" Height="64" Offset="0x98A0" />
<!-- Animation -->
<Animation Name="gGoronTPoseAnim" Offset="0xA118" />
<!-- DLists -->
<DList Name="gGoronBodyDL" Offset="0xCC50" />
<DList Name="gGoronHeadDL" Offset="0xCF70" />
<DList Name="gGoronRightUpperArmDL" Offset="0xD688" />
<DList Name="gGoronRightForearmDL" Offset="0xD808" />
<DList Name="gGoronRightHandDL" Offset="0xD938" />
<DList Name="gGoronLeftUpperArmDL" Offset="0xDBB8" />
<DList Name="gGoronLeftForearmDL" Offset="0xDD38" />
<DList Name="gGoronLeftHandDL" Offset="0xDE68" />
<DList Name="gGoronPelvisDL" Offset="0xE070" />
<DList Name="gGoronRightThighDL" Offset="0xE130" />
<DList Name="gGoronRightShinDL" Offset="0xE218" />
<DList Name="gGoronRightFootDL" Offset="0xE348" />
<DList Name="gGoronLeftThighDL" Offset="0xE610" />
<DList Name="gGoronLeftShinDL" Offset="0xE6F8" />
<DList Name="gGoronLeftFootDL" Offset="0xE828" />
<!-- Textures -->
<Texture Name="gGoronTLUT" OutName="goron_tlut" Format="rgba16" Width="16" Height="16" Offset="0xEA78" />
<Texture Name="gGoronEyeTLUT" OutName="goron_eye_tlut" Format="rgba16" Width="16" Height="16" Offset="0xEC78" />
<Texture Name="gGoronSkinTex" OutName="goron_skin" Format="ci8" Width="16" Height="16" Offset="0xEE78" />
<Texture Name="gGoronFingersTex" OutName="goron_fingers" Format="ci8" Width="16" Height="16" Offset="0xEF78" />
<Texture Name="gGoronTatooTex" OutName="goron_tatoo" Format="ci8" Width="32" Height="32" Offset="0xF078" />
<Texture Name="gGoronToesTex" OutName="goron_toes" Format="ci8" Width="32" Height="16" Offset="0xF478" />
<Texture Name="gGoronFootTex" OutName="goron_foot" Format="ci8" Width="32" Height="32" Offset="0xF678" />
<Texture Name="gGoronNostrilTex" OutName="goron_nostril" Format="ci8" Width="8" Height="8" Offset="0xFA78" />
<Texture Name="gGoronBottomTex" OutName="goron_bottom" Format="ci8" Width="8" Height="16" Offset="0xFAB8" />
<Texture Name="gGoronsRocksTex" OutName="goron_rocks" Format="ci8" Width="32" Height="64" Offset="0xFB38" />
<Texture Name="gGoronHairTex" OutName="goron_hair" Format="ci8" Width="16" Height="16" Offset="0x10338" />
<Texture Name="gGoronEyeOpenTex" OutName="goron_eye_open" Format="ci8" Width="32" Height="32" Offset="0x10438" />
<Texture Name="gGoronEyeClosed2Tex" OutName="goron_eye_closed2" Format="ci8" Width="32" Height="32" Offset="0x10838" />
<Texture Name="gGoronEyeHalfTex" OutName="goron_eye_half" Format="ci8" Width="32" Height="32" Offset="0x10C38" />
<Texture Name="gGoronEyeClosedTex" OutName="goron_eye_closed" Format="ci8" Width="32" Height="32" Offset="0x11038" />
<Texture Name="gGoronLipsTex" OutName="goron_lips" Format="rgba16" Width="8" Height="8" Offset="0x11438" />
<Texture Name="gGoronDimpleTex" OutName="goron_dimple" Format="ci8" Width="16" Height="16" Offset="0x114B8" />
<Texture Name="gGoronBeardTex" OutName="goron_beard" Format="rgba16" Width="32" Height="16" Offset="0x115B8" />
<!-- Skeleton -->
<Limb Name="gGoronRootLimb" Type="Standard" EnumName="GORON_LIMB_ROOT" Offset="0x119B8" />
<Limb Name="gGoronPelvisLimb" Type="Standard" EnumName="GORON_LIMB_PELVIS" Offset="0x119C4" /> <!-- Renders a single triangle instead of a normal-looking limb -->
<Limb Name="gGoronLegsRootLimb" Type="Standard" EnumName="GORON_LIMB_LEGS_ROOT" Offset="0x119D0" />
<Limb Name="gGoronLeftThighLimb" Type="Standard" EnumName="GORON_LIMB_LEFT_THIGH" Offset="0x119DC" />
<Limb Name="gGoronLeftShinLimb" Type="Standard" EnumName="GORON_LIMB_LEFT_SHIN" Offset="0x119E8" />
<Limb Name="gGoronLeftFootLimb" Type="Standard" EnumName="GORON_LIMB_LEFT_FOOT" Offset="0x119F4" />
<Limb Name="gGoronRightThighLimb" Type="Standard" EnumName="GORON_LIMB_RIGHT_THIGH" Offset="0x11A00" />
<Limb Name="gGoronRightShinLimb" Type="Standard" EnumName="GORON_LIMB_RIGHT_SHIN" Offset="0x11A0C" />
<Limb Name="gGoronRightFootLimb" Type="Standard" EnumName="GORON_LIMB_RIGHT_FOOT" Offset="0x11A18" />
<Limb Name="gGoronBodyLimb" Type="Standard" EnumName="GORON_LIMB_BODY" Offset="0x11A24" />
<Limb Name="gGoronLeftUpperArmLimb" Type="Standard" EnumName="GORON_LIMB_LEFT_UPPER_ARM" Offset="0x11A30" />
<Limb Name="gGoronLeftForearmLimb" Type="Standard" EnumName="GORON_LIMB_LEFT_FOREARM" Offset="0x11A3C" />
<Limb Name="gGoronLeftHandLimb" Type="Standard" EnumName="GORON_LIMB_LEFT_HAND" Offset="0x11A48" />
<Limb Name="gGoronRightUpperArmLimb" Type="Standard" EnumName="GORON_LIMB_RIGHT_UPPER_ARM" Offset="0x11A54" />
<Limb Name="gGoronRightForearmLimb" Type="Standard" EnumName="GORON_LIMB_RIGHT_FOREARM" Offset="0x11A60" />
<Limb Name="gGoronRightHandLimb" Type="Standard" EnumName="GORON_LIMB_RIGHT_HAND" Offset="0x11A6C" />
<Limb Name="gGoronHeadLimb" Type="Standard" EnumName="GORON_LIMB_HEAD" Offset="0x11A78" />
<Skeleton Name="gGoronSkel" Type="Flex" LimbType="Standard" LimbNone="GORON_LIMB_NONE" LimbMax="GORON_LIMB_MAX" EnumName="GoronLimbs" Offset="0x11AC8" />
<!-- Animations -->
<Animation Name="gGoronLyingDownIdleAnim" Offset="0x11D98" />
<Animation Name="gGoronUnrollAnim" Offset="0x12DE0" />
<Animation Name="gGoronShiveringSurprisedAnim" Offset="0x135E8" />
<Animation Name="gGoronStandingHandTappingAnim" Offset="0x13DB0" />
<Animation Name="gGoronSleepyAnim" Offset="0x143AC" />
<Animation Name="gGoronStandingIdleAnim" Offset="0x14CE0" />
<!-- Dust -->
<DList Name="gGoronDustMaterialDL" Offset="0x14CF0" />
<DList Name="gGoronDustModelDL" Offset="0x14D00" />
</File>
</Root>
+59 -49
View File
@@ -1,53 +1,63 @@
<Root>
<!-- Object for Bomb Shopkeeper-->
<File Name="object_rs" Segment="6">
<DList Name="object_rs_DL_000970" Offset="0x970" />
<Texture Name="object_rs_Tex_000C08" OutName="tex_000C08" Format="i8" Width="32" Height="32" Offset="0xC08" />
<DList Name="object_rs_DL_0036F0" Offset="0x36F0" />
<DList Name="object_rs_DL_003778" Offset="0x3778" />
<DList Name="object_rs_DL_003AF0" Offset="0x3AF0" />
<DList Name="object_rs_DL_003ED0" Offset="0x3ED0" />
<DList Name="object_rs_DL_003FF0" Offset="0x3FF0" />
<DList Name="object_rs_DL_004108" Offset="0x4108" />
<DList Name="object_rs_DL_004308" Offset="0x4308" />
<DList Name="object_rs_DL_004428" Offset="0x4428" />
<DList Name="object_rs_DL_004540" Offset="0x4540" />
<DList Name="object_rs_DL_004738" Offset="0x4738" />
<DList Name="object_rs_DL_0048D0" Offset="0x48D0" />
<DList Name="object_rs_DL_004A20" Offset="0x4A20" />
<DList Name="object_rs_DL_004B88" Offset="0x4B88" />
<DList Name="object_rs_DL_004D20" Offset="0x4D20" />
<DList Name="object_rs_DL_004E70" Offset="0x4E70" />
<Texture Name="object_rs_TLUT_004FD8" OutName="tlut_004FD8" Format="rgba16" Width="16" Height="16" Offset="0x4FD8" />
<Texture Name="object_rs_Tex_0051D8" OutName="tex_0051D8" Format="ci8" Width="8" Height="8" Offset="0x51D8" />
<Texture Name="object_rs_Tex_005218" OutName="tex_005218" Format="ci8" Width="8" Height="8" Offset="0x5218" />
<Texture Name="object_rs_Tex_005258" OutName="tex_005258" Format="ci8" Width="8" Height="32" Offset="0x5258" />
<Texture Name="object_rs_Tex_005358" OutName="tex_005358" Format="ci8" Width="16" Height="16" Offset="0x5358" />
<Texture Name="object_rs_Tex_005458" OutName="tex_005458" Format="rgba16" Width="32" Height="32" Offset="0x5458" />
<Texture Name="object_rs_Tex_005C58" OutName="tex_005C58" Format="ci8" Width="32" Height="64" Offset="0x5C58" />
<Texture Name="object_rs_Tex_006458" OutName="tex_006458" Format="rgba16" Width="16" Height="16" Offset="0x6458" />
<Texture Name="object_rs_Tex_006658" OutName="tex_006658" Format="rgba16" Width="8" Height="8" Offset="0x6658" />
<Texture Name="object_rs_Tex_0066D8" OutName="tex_0066D8" Format="rgba16" Width="16" Height="16" Offset="0x66D8" />
<Texture Name="object_rs_Tex_0068D8" OutName="tex_0068D8" Format="ci8" Width="16" Height="16" Offset="0x68D8" />
<Texture Name="object_rs_Tex_0069D8" OutName="tex_0069D8" Format="ci8" Width="32" Height="32" Offset="0x69D8" />
<Animation Name="object_rs_Anim_00788C" Offset="0x788C" />
<Animation Name="object_rs_Anim_008268" Offset="0x8268" />
<Animation Name="object_rs_Anim_0087BC" Offset="0x87BC" />
<Animation Name="object_rs_Anim_009120" Offset="0x9120" />
<Limb Name="object_rs_Standardlimb_009130" Type="Standard" EnumName="OBJECT_RS_LIMB_01" Offset="0x9130" />
<Limb Name="object_rs_Standardlimb_00913C" Type="Standard" EnumName="OBJECT_RS_LIMB_02" Offset="0x913C" />
<Limb Name="object_rs_Standardlimb_009148" Type="Standard" EnumName="OBJECT_RS_LIMB_03" Offset="0x9148" />
<Limb Name="object_rs_Standardlimb_009154" Type="Standard" EnumName="OBJECT_RS_LIMB_04" Offset="0x9154" />
<Limb Name="object_rs_Standardlimb_009160" Type="Standard" EnumName="OBJECT_RS_LIMB_05" Offset="0x9160" />
<Limb Name="object_rs_Standardlimb_00916C" Type="Standard" EnumName="OBJECT_RS_LIMB_06" Offset="0x916C" />
<Limb Name="object_rs_Standardlimb_009178" Type="Standard" EnumName="OBJECT_RS_LIMB_07" Offset="0x9178" />
<Limb Name="object_rs_Standardlimb_009184" Type="Standard" EnumName="OBJECT_RS_LIMB_08" Offset="0x9184" />
<Limb Name="object_rs_Standardlimb_009190" Type="Standard" EnumName="OBJECT_RS_LIMB_09" Offset="0x9190" />
<Limb Name="object_rs_Standardlimb_00919C" Type="Standard" EnumName="OBJECT_RS_LIMB_0A" Offset="0x919C" />
<Limb Name="object_rs_Standardlimb_0091A8" Type="Standard" EnumName="OBJECT_RS_LIMB_0B" Offset="0x91A8" />
<Limb Name="object_rs_Standardlimb_0091B4" Type="Standard" EnumName="OBJECT_RS_LIMB_0C" Offset="0x91B4" />
<Limb Name="object_rs_Standardlimb_0091C0" Type="Standard" EnumName="OBJECT_RS_LIMB_0D" Offset="0x91C0" />
<Limb Name="object_rs_Standardlimb_0091CC" Type="Standard" EnumName="OBJECT_RS_LIMB_0E" Offset="0x91CC" />
<Limb Name="object_rs_Standardlimb_0091D8" Type="Standard" EnumName="OBJECT_RS_LIMB_0F" Offset="0x91D8" />
<Skeleton Name="object_rs_Skel_009220" Type="Flex" LimbType="Standard" LimbNone="OBJECT_RS_LIMB_NONE" LimbMax="OBJECT_RS_LIMB_MAX" EnumName="object_rs_Limbs" Offset="0x9220" />
<!-- Bomb -->
<DList Name="gBombShopkeeperBombDL" Offset="0x970" />
<Texture Name="gBombShopkeeperBombFuseTex" OutName="bomb_shopkeeper_bomb_fuse" Format="i8" Width="32" Height="32" Offset="0xC08" />
<!-- DLists -->
<DList Name="gBombShopkeeperPelvisDL" Offset="0x36F0" />
<DList Name="gBombShopkeeperTorsoDL" Offset="0x3778" />
<DList Name="gBombShopkeeperHeadDL" Offset="0x3AF0" />
<DList Name="gBombShopkeeperRightUpperArmDL" Offset="0x3ED0" />
<DList Name="gBombShopkeeperRightForearmDL" Offset="0x3FF0" />
<DList Name="gBombShopkeeperRightHandDL" Offset="0x4108" />
<DList Name="gBombShopkeeperLeftUpperArmDL" Offset="0x4308" />
<DList Name="gBombShopkeeperLeftForearmDL" Offset="0x4428" />
<DList Name="gBombShopkeeperLeftHandDL" Offset="0x4540" />
<DList Name="gBombShopkeeperRightThighDL" Offset="0x4738" />
<DList Name="gBombShopkeeperRightShinDL" Offset="0x48D0" />
<DList Name="gBombShopkeeperRightFootDL" Offset="0x4A20" />
<DList Name="gBombShopkeeperLeftThighDL" Offset="0x4B88" />
<DList Name="gBombShopkeeperLeftShinDL" Offset="0x4D20" />
<DList Name="gBombShopkeeperLeftFootDL" Offset="0x4E70" />
<!-- Textures -->
<Texture Name="gBombShopkeeperTLUT" OutName="bomb_shopkeeper_tlut" Format="rgba16" Width="16" Height="16" Offset="0x4FD8" />
<Texture Name="gBombShopkeeperEarTex" OutName="bomb_shopkeeper_ear" Format="ci8" Width="8" Height="8" Offset="0x51D8" />
<Texture Name="gBombShopkeeperSkinTex" OutName="bomb_shopkeeper_skin" Format="ci8" Width="8" Height="8" Offset="0x5218" />
<Texture Name="gBombShopkeeperTorsoTex" OutName="bomb_shopkeeper_torso" Format="ci8" Width="8" Height="32" Offset="0x5258" />
<Texture Name="gBombShopkeeperFingersTex" OutName="bomb_shopkeeper_fingers" Format="ci8" Width="16" Height="16" Offset="0x5358" />
<Texture Name="gBombShopkeeperEyeTex" OutName="bomb_shopkeeper_eye" Format="rgba16" Width="32" Height="32" Offset="0x5458" />
<Texture Name="gBombShopkeeperTatooTex" OutName="bomb_shopkeeper_tatoo" Format="ci8" Width="32" Height="64" Offset="0x5C58" />
<Texture Name="gBombShopkeeperShortsTex" OutName="bomb_shopkeeper_shorts" Format="rgba16" Width="16" Height="16" Offset="0x6458" />
<Texture Name="gBombShopkeeperSandalsTex" OutName="bomb_shopkeeper_sandals" Format="rgba16" Width="8" Height="8" Offset="0x6658" />
<Texture Name="gBombShopkeeperVestTex" OutName="bomb_shopkeeper_vest" Format="rgba16" Width="16" Height="16" Offset="0x66D8" />
<Texture Name="gBombShopkeeperToesTex" OutName="bomb_shopkeeper_toes" Format="ci8" Width="16" Height="16" Offset="0x68D8" />
<Texture Name="gBombShopkeeperWristBandTex" OutName="bomb_shopkeeper_wrist_band" Format="ci8" Width="32" Height="32" Offset="0x69D8" />
<!-- Animations -->
<Animation Name="gBombShopkeeperSwayAnim" Offset="0x788C" />
<Animation Name="gBombShopkeeperSitAtCounterStartAnim" Offset="0x8268" />
<Animation Name="gBombShopkeeperSitAtCounterLoopAnim" Offset="0x87BC" />
<Animation Name="gBombShopkeeperWalkAnim" Offset="0x9120" />
<!-- Skeleton -->
<Limb Name="gBombShopkeeperPelvisLimb" Type="Standard" EnumName="BOMB_SHOPKEEPER_LIMB_PELVIS" Offset="0x9130" />
<Limb Name="gBombShopkeeperLeftThighLimb" Type="Standard" EnumName="BOMB_SHOPKEEPER_LIMB_LEFT_THIGH" Offset="0x913C" />
<Limb Name="gBombShopkeeperLeftShinLimb" Type="Standard" EnumName="BOMB_SHOPKEEPER_LIMB_LEFT_SHIN" Offset="0x9148" />
<Limb Name="gBombShopkeeperLeftFootLimb" Type="Standard" EnumName="BOMB_SHOPKEEPER_LIMB_LEFT_FOOT" Offset="0x9154" />
<Limb Name="gBombShopkeeperRightThighLimb" Type="Standard" EnumName="BOMB_SHOPKEEPER_LIMB_RIGHT_THIGH" Offset="0x9160" />
<Limb Name="gBombShopkeeperRightShinLimb" Type="Standard" EnumName="BOMB_SHOPKEEPER_LIMB_RIGHT_SHIN" Offset="0x916C" />
<Limb Name="gBombShopkeeperRightFootLimb" Type="Standard" EnumName="BOMB_SHOPKEEPER_LIMB_RIGHT_FOOT" Offset="0x9178" />
<Limb Name="gBombShopkeeperTorsoLimb" Type="Standard" EnumName="BOMB_SHOPKEEPER_LIMB_TORSO" Offset="0x9184" />
<Limb Name="gBombShopkeeperLeftUpperArmLimb" Type="Standard" EnumName="BOMB_SHOPKEEPER_LIMB_LEFT_UPPER_ARM" Offset="0x9190" />
<Limb Name="gBombShopkeeperLeftForearmLimb" Type="Standard" EnumName="BOMB_SHOPKEEPER_LIMB_LEFT_FOREARM" Offset="0x919C" />
<Limb Name="gBombShopkeeperLeftHandLimb" Type="Standard" EnumName="BOMB_SHOPKEEPER_LIMB_LEFT_HAND" Offset="0x91A8" />
<Limb Name="gBombShopkeeperRightUpperArmLimb" Type="Standard" EnumName="BOMB_SHOPKEEPER_LIMB_RIGHT_UPPER_ARM" Offset="0x91B4" />
<Limb Name="gBombShopkeeperRightForearmLimb" Type="Standard" EnumName="BOMB_SHOPKEEPER_LIMB_RIGHT_FOREARM" Offset="0x91C0" />
<Limb Name="gBombShopkeeperRightHandLimb" Type="Standard" EnumName="BOMB_SHOPKEEPER_LIMB_RIGHT_HAND" Offset="0x91CC" />
<Limb Name="gBombShopkeeperHeadLimb" Type="Standard" EnumName="BOMB_SHOPKEEPER_LIMB_HEAD" Offset="0x91D8" />
<Skeleton Name="gBombShopkeeperSkel" Type="Flex" LimbType="Standard" LimbNone="BOMB_SHOPKEEPER_LIMB_NONE" LimbMax="BOMB_SHOPKEEPER_LIMB_MAX" EnumName="BombShopkeeperLimbs" Offset="0x9220" />
</File>
</Root>
+65 -47
View File
@@ -1,28 +1,39 @@
<Root>
<!-- Object for the Zoras -->
<File Name="object_zo" Segment="6">
<!-- Animations -->
<Animation Name="gZoraHandsOnHipsTappingFootAnim" Offset="0x598" />
<Animation Name="gZoraArmsOpenAnim" Offset="0xD48" />
<Animation Name="gZoraThrowRupeeAnim" Offset="0x219C" />
<Animation Name="gZoraWalkAnim" Offset="0x2898" />
<Texture Name="gZoraBubbleTex" OutName="bubble" Format="ia8" Width="16" Height="16" Offset="0x28B0" />
<DList Name="object_zo_DL_0029F0" Offset="0x29F0" />
<DList Name="object_zo_DL_002A50" Offset="0x2A50" />
<Texture Name="gZoraSplashTex" OutName="splash" Format="i8" Width="16" Height="16" Offset="0x2A70" />
<DList Name="object_zo_DL_002BA0" Offset="0x2BA0" />
<DList Name="object_zo_DL_002C10" Offset="0x2C10" />
<!-- Effects -->
<Texture Name="gZoraBubbleTex" OutName="zora_bubble" Format="ia8" Width="16" Height="16" Offset="0x28B0" />
<DList Name="gZoraBubbleMaterialDL" Offset="0x29F0" />
<DList Name="gZoraBubbleModelDL" Offset="0x2A50" />
<Texture Name="gZoraSplashTex" OutName="zora_splash" Format="i8" Width="16" Height="16" Offset="0x2A70" />
<DList Name="gZoraSplashMaterialDL" Offset="0x2BA0" />
<DList Name="gZoraSplashModelDL" Offset="0x2C10" />
<!-- Animations -->
<Animation Name="gZoraSurfacingAnim" Offset="0x3610" />
<Animation Name="object_zo_Anim_004168" Offset="0x4168" />
<Animation Name="gZoraTreadingWaterAnim" Offset="0x4168" />
<Animation Name="gZoraIdleAnim" Offset="0x4248" />
<Texture Name="gZoraTLUT" OutName="tlut" Format="rgba16" Width="16" Height="16" Offset="0x4260" />
<Texture Name="gZoraFinTex" OutName="fin" Format="ci8" Width="32" Height="32" Offset="0x4460" />
<Texture Name="gZoraBackAndHeadTailTex" OutName="back_head_tail" Format="ci8" Width="32" Height="64" Offset="0x4860" />
<Texture Name="object_zo_Tex_005060" OutName="tex_005060" Format="ci8" Width="8" Height="8" Offset="0x5060" />
<Texture Name="gZoraEyeOpenTex" OutName="eye_open" Format="rgba16" Width="32" Height="32" Offset="0x50A0" />
<Texture Name="gZoraEyeHalfTex" OutName="eye_half" Format="rgba16" Width="32" Height="32" Offset="0x58A0" />
<Texture Name="gZoraEyeClosedTex" OutName="eye_closed" Format="rgba16" Width="32" Height="32" Offset="0x60A0" />
<Texture Name="gZoraMouthTex" OutName="mouth" Format="rgba16" Width="32" Height="32" Offset="0x68A0" />
<Texture Name="gZoraHandTex" OutName="hand" Format="ci8" Width="16" Height="16" Offset="0x70A0" />
<Texture Name="gZoraKneeTex" OutName="knee" Format="ci8" Width="8" Height="8" Offset="0x71A0" />
<!-- Textures -->
<Texture Name="gZoraTLUT" OutName="zora_tlut" Format="rgba16" Width="16" Height="16" Offset="0x4260" />
<Texture Name="gZoraFinTex" OutName="zora_fin" Format="ci8" Width="32" Height="32" Offset="0x4460" />
<Texture Name="gZoraBackAndHeadTailTex" OutName="zora_back_head_tail" Format="ci8" Width="32" Height="64" Offset="0x4860" />
<Texture Name="gZoraSkinTex" OutName="zora_skin" Format="ci8" Width="8" Height="8" Offset="0x5060" />
<Texture Name="gZoraEyeOpenTex" OutName="zora_eye_open" Format="rgba16" Width="32" Height="32" Offset="0x50A0" />
<Texture Name="gZoraEyeHalfTex" OutName="zora_eye_half" Format="rgba16" Width="32" Height="32" Offset="0x58A0" />
<Texture Name="gZoraEyeClosedTex" OutName="zora_eye_closed" Format="rgba16" Width="32" Height="32" Offset="0x60A0" />
<Texture Name="gZoraMouthTex" OutName="zora_mouth" Format="rgba16" Width="32" Height="32" Offset="0x68A0" />
<Texture Name="gZoraHandTex" OutName="zora_hand" Format="ci8" Width="16" Height="16" Offset="0x70A0" />
<Texture Name="gZoraKneeTex" OutName="zora_knee" Format="ci8" Width="8" Height="8" Offset="0x71A0" />
<!-- DLists -->
<DList Name="gZoraPelvisDL" Offset="0xA2A0" />
<DList Name="gZoraTorsoDL" Offset="0xA448" />
<DList Name="gZoraHeadDL" Offset="0xA7C0" />
@@ -42,37 +53,44 @@
<DList Name="gZoraLeftThighDL" Offset="0xC858" />
<DList Name="gZoraLeftShinDL" Offset="0xCB38" />
<DList Name="gZoraLeftFootDL" Offset="0xCE10" />
<Limb Name="gZoraPelvisLimb" Type="Standard" EnumName="OBJECT_ZO_LIMB_01" Offset="0xD0D8" />
<Limb Name="gZoraLeftThighLimb" Type="Standard" EnumName="OBJECT_ZO_LIMB_02" Offset="0xD0E4" />
<Limb Name="gZoraLeftShinLimb" Type="Standard" EnumName="OBJECT_ZO_LIMB_03" Offset="0xD0F0" />
<Limb Name="gZoraLeftFootLimb" Type="Standard" EnumName="OBJECT_ZO_LIMB_04" Offset="0xD0FC" />
<Limb Name="gZoraRightThighLimb" Type="Standard" EnumName="OBJECT_ZO_LIMB_05" Offset="0xD108" />
<Limb Name="gZoraRightShinLimb" Type="Standard" EnumName="OBJECT_ZO_LIMB_06" Offset="0xD114" />
<Limb Name="gZoraRightFootLimb" Type="Standard" EnumName="OBJECT_ZO_LIMB_07" Offset="0xD120" />
<Limb Name="gZoraTorsoLimb" Type="Standard" EnumName="OBJECT_ZO_LIMB_08" Offset="0xD12C" />
<Limb Name="gZoraLeftUpperArmLimb" Type="Standard" EnumName="OBJECT_ZO_LIMB_09" Offset="0xD138" />
<Limb Name="gZoraLeftForearmLimb" Type="Standard" EnumName="OBJECT_ZO_LIMB_0A" Offset="0xD144" />
<Limb Name="gZoraLeftHandLimb" Type="Standard" EnumName="OBJECT_ZO_LIMB_0B" Offset="0xD150" />
<Limb Name="gZoraRightUpperArmLimb" Type="Standard" EnumName="OBJECT_ZO_LIMB_0C" Offset="0xD15C" />
<Limb Name="gZoraRightForearmLimb" Type="Standard" EnumName="OBJECT_ZO_LIMB_0D" Offset="0xD168" />
<Limb Name="gZoraRightHandLimb" Type="Standard" EnumName="OBJECT_ZO_LIMB_0E" Offset="0xD174" />
<Limb Name="gZoraHeadLimb" Type="Standard" EnumName="OBJECT_ZO_LIMB_0F" Offset="0xD180" />
<Limb Name="gZoraHeadTail1Limb" Type="Standard" EnumName="OBJECT_ZO_LIMB_10" Offset="0xD18C" />
<Limb Name="gZoraHeadTail2Limb" Type="Standard" EnumName="OBJECT_ZO_LIMB_11" Offset="0xD198" />
<Limb Name="gZoraHeadTail3Limb" Type="Standard" EnumName="OBJECT_ZO_LIMB_12" Offset="0xD1A4" />
<Limb Name="gZoraHeadTailFinLimb" Type="Standard" EnumName="OBJECT_ZO_LIMB_13" Offset="0xD1B0" />
<Skeleton Name="gZoraSkel" Type="Flex" LimbType="Standard" LimbNone="OBJECT_ZO_LIMB_NONE" LimbMax="OBJECT_ZO_LIMB_MAX" EnumName="object_zo_Limbs" Offset="0xD208" />
<DList Name="object_zo_DL_00D220" Offset="0xD220" />
<DList Name="object_zo_DL_00D288" Offset="0xD288" />
<!-- Skeleton -->
<Limb Name="gZoraPelvisLimb" Type="Standard" EnumName="ZORA_LIMB_PELVIS" Offset="0xD0D8" />
<Limb Name="gZoraLeftThighLimb" Type="Standard" EnumName="ZORA_LIMB_LEFT_THIGH" Offset="0xD0E4" />
<Limb Name="gZoraLeftShinLimb" Type="Standard" EnumName="ZORA_LIMB_LEFT_SHIN" Offset="0xD0F0" />
<Limb Name="gZoraLeftFootLimb" Type="Standard" EnumName="ZORA_LIMB_LEFT_FOOT" Offset="0xD0FC" />
<Limb Name="gZoraRightThighLimb" Type="Standard" EnumName="ZORA_LIMB_RIGHT_THIGH" Offset="0xD108" />
<Limb Name="gZoraRightShinLimb" Type="Standard" EnumName="ZORA_LIMB_RIGHT_SHIN" Offset="0xD114" />
<Limb Name="gZoraRightFootLimb" Type="Standard" EnumName="ZORA_LIMB_RIGHT_FOOT" Offset="0xD120" />
<Limb Name="gZoraTorsoLimb" Type="Standard" EnumName="ZORA_LIMB_TORSO" Offset="0xD12C" />
<Limb Name="gZoraLeftUpperArmLimb" Type="Standard" EnumName="ZORA_LIMB_LEFT_UPPER_ARM" Offset="0xD138" />
<Limb Name="gZoraLeftForearmLimb" Type="Standard" EnumName="ZORA_LIMB_LEFT_FOREARM" Offset="0xD144" />
<Limb Name="gZoraLeftHandLimb" Type="Standard" EnumName="ZORA_LIMB_LEFT_HAND" Offset="0xD150" />
<Limb Name="gZoraRightUpperArmLimb" Type="Standard" EnumName="ZORA_LIMB_RIGHT_UPPER_ARM" Offset="0xD15C" />
<Limb Name="gZoraRightForearmLimb" Type="Standard" EnumName="ZORA_LIMB_RIGHT_FOREARM" Offset="0xD168" />
<Limb Name="gZoraRightHandLimb" Type="Standard" EnumName="ZORA_LIMB_RIGHT_HAND" Offset="0xD174" />
<Limb Name="gZoraHeadLimb" Type="Standard" EnumName="ZORA_LIMB_HEAD" Offset="0xD180" />
<Limb Name="gZoraHeadTail1Limb" Type="Standard" EnumName="ZORA_LIMB_HEAD_TAIL_1" Offset="0xD18C" />
<Limb Name="gZoraHeadTail2Limb" Type="Standard" EnumName="ZORA_LIMB_HEAD_TAIL_2" Offset="0xD198" />
<Limb Name="gZoraHeadTail3Limb" Type="Standard" EnumName="ZORA_LIMB_HEAD_TAIL_3" Offset="0xD1A4" />
<Limb Name="gZoraHeadTailFinLimb" Type="Standard" EnumName="ZORA_LIMB_HEAD_TAIL_FIN" Offset="0xD1B0" />
<Skeleton Name="gZoraSkel" Type="Flex" LimbType="Standard" LimbNone="ZORA_LIMB_NONE" LimbMax="ZORA_LIMB_MAX" EnumName="ZoraLimbs" Offset="0xD208" />
<!-- Effects -->
<DList Name="gZoraRippleMaterialDL" Offset="0xD220" />
<DList Name="gZoraRippleModelDL" Offset="0xD288" />
<DList Name="object_zo_DL_00D2A0" Offset="0xD2A0" />
<DList Name="object_zo_DL_00D2B8" Offset="0xD2B8" />
<Animation Name="object_zo_Anim_00DE20" Offset="0xDE20" />
<Animation Name="object_zo_Anim_00DF54" Offset="0xDF54" />
<Animation Name="object_zo_Anim_00E400" Offset="0xE400" />
<Animation Name="object_zo_Anim_00EDF0" Offset="0xEDF0" />
<Animation Name="object_zo_Anim_00F4E8" Offset="0xF4E8" />
<Animation Name="object_zo_Anim_00FDF0" Offset="0xFDF0" />
<Animation Name="object_zo_Anim_010B18" Offset="0x10B18" />
<Animation Name="object_zo_Anim_011424" Offset="0x11424" />
<!-- Animations -->
<Animation Name="gZoraStandAnim" Offset="0xDE20" />
<Animation Name="gZoraListenAnim" Offset="0xDF54" />
<Animation Name="gZoraRunAnim" Offset="0xE400" />
<Animation Name="gZoraBobHandAnim" Offset="0xEDF0" />
<Animation Name="gZoraSitAnim" Offset="0xF4E8" />
<Animation Name="gZoraFixSpeakerStartAnim" Offset="0xFDF0" />
<Animation Name="gZoraFixSpeakerLoopAnim" Offset="0x10B18" />
<Animation Name="gZoraFixSpeakerEndAnim" Offset="0x11424" />
</File>
</Root>
@@ -843,7 +843,7 @@ void EnClearTag_DrawEffects(Actor* thisx, GlobalContext* globalCtx) {
Matrix_Put(&mtxF);
Matrix_Scale(effect->scale, 1.0f, effect->scale, MTXMODE_APPLY);
gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(gfxCtx), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
gSPDisplayList(POLY_XLU_DISP++, gameplay_keep_DL_030100);
gSPDisplayList(POLY_XLU_DISP++, gEffShockwaveDL);
}
}
}
@@ -1410,6 +1410,8 @@ void EnFsn_Init(Actor* thisx, GlobalContext* globalCtx) {
EnFsn* this = THIS;
ActorShape_Init(&this->actor.shape, 0.0f, ActorShadow_DrawCircle, 20.0f);
// Note: adding 1 to FSN_LIMB_MAX due to bug in object_fsn, see bug in object_fsn.xml
SkelAnime_InitFlex(globalCtx, &this->skelAnime, &gFsnSkel, &gFsnIdleAnim, this->jointTable, this->morphTable,
FSN_LIMB_MAX + 1);
if (ENFSN_IS_SHOP(&this->actor)) {
+1 -1
View File
@@ -28,7 +28,7 @@ typedef struct EnFsn {
/* 0x24E */ s16 limbRotZTable[19];
/* 0x274 */ Vec3s headRot;
/* 0x27A */ Vec3s unk27A; // Set but never used
/* 0x280 */ Vec3s jointTable[FSN_LIMB_MAX + 1];
/* 0x280 */ Vec3s jointTable[FSN_LIMB_MAX + 1]; // Note: adding 1 to FSN_LIMB_MAX due to bug in object_fsn, see bug in object_fsn.xml
/* 0x2F2 */ Vec3s morphTable[FSN_LIMB_MAX + 1];
/* 0x364 */ s16 eyeTextureIdx;
/* 0x366 */ s16 blinkTimer;
+19 -19
View File
@@ -126,14 +126,14 @@ static DamageTable sDamageTable = {
};
static AnimationInfoS sAnimations[] = {
{ &object_oF1d_map_Anim_011D98, 1.0f, 0, -1, ANIMMODE_LOOP, 0 },
{ &object_oF1d_map_Anim_011D98, 1.0f, 0, -1, ANIMMODE_LOOP, -4 },
{ &object_oF1d_map_Anim_012DE0, 2.0f, 0, -1, ANIMMODE_ONCE, 0 },
{ &object_oF1d_map_Anim_012DE0, 2.0f, 0, -1, ANIMMODE_ONCE, -4 },
{ &object_oF1d_map_Anim_012DE0, -2.0f, 0, -1, ANIMMODE_ONCE, -4 },
{ &object_oF1d_map_Anim_003E28, 1.0f, 0, -1, ANIMMODE_LOOP, 0 },
{ &object_oF1d_map_Anim_003E28, 1.0f, 0, -1, ANIMMODE_LOOP, -4 },
{ &object_oF1d_map_Anim_0039D8, 1.0f, 0, -1, ANIMMODE_ONCE, -4 },
{ &gGoronLyingDownIdleAnim, 1.0f, 0, -1, ANIMMODE_LOOP, 0 },
{ &gGoronLyingDownIdleAnim, 1.0f, 0, -1, ANIMMODE_LOOP, -4 },
{ &gGoronUnrollAnim, 2.0f, 0, -1, ANIMMODE_ONCE, 0 },
{ &gGoronUnrollAnim, 2.0f, 0, -1, ANIMMODE_ONCE, -4 },
{ &gGoronUnrollAnim, -2.0f, 0, -1, ANIMMODE_ONCE, -4 },
{ &gGoronShiverAnim, 1.0f, 0, -1, ANIMMODE_LOOP, 0 },
{ &gGoronShiverAnim, 1.0f, 0, -1, ANIMMODE_LOOP, -4 },
{ &gGoronDropKegAnim, 1.0f, 0, -1, ANIMMODE_ONCE, -4 },
{ &object_taisou_Anim_0016C8, 1.0f, 0, -1, ANIMMODE_LOOP, 0 },
{ &object_taisou_Anim_004DD4, 1.0f, 0, -1, ANIMMODE_LOOP, 0 },
{ &object_taisou_Anim_00283C, 1.0f, 0, -1, ANIMMODE_LOOP, 0 },
@@ -142,11 +142,11 @@ static AnimationInfoS sAnimations[] = {
{ &object_taisou_Anim_002C48, 1.0f, 0, -1, ANIMMODE_LOOP, 0 },
{ &object_taisou_Anim_0031D8, 1.0f, 0, -1, ANIMMODE_LOOP, 0 },
{ &object_taisou_Anim_005790, 1.0f, 0, -1, ANIMMODE_LOOP, 0 },
{ &object_oF1d_map_Anim_003650, 1.0f, 0, -1, ANIMMODE_LOOP, 0 },
{ &gGoronCoverEarsAnim, 1.0f, 0, -1, ANIMMODE_LOOP, 0 },
{ &object_hakugin_demo_Anim_002704, 1.0f, 0, -1, ANIMMODE_ONCE, 0 },
{ &object_hakugin_demo_Anim_003378, 1.0f, 0, -1, ANIMMODE_LOOP, -4 },
{ &object_oF1d_map_Anim_0135E8, 1.0f, 0, -1, ANIMMODE_ONCE, 0 },
{ &object_oF1d_map_Anim_014CE0, 1.0f, 0, -1, ANIMMODE_LOOP, 0 },
{ &gGoronShiveringSurprisedAnim, 1.0f, 0, -1, ANIMMODE_ONCE, 0 },
{ &gGoronStandingIdleAnim, 1.0f, 0, -1, ANIMMODE_LOOP, 0 },
};
u16 func_80BB16D0(EnGeg* this) {
@@ -866,8 +866,8 @@ void EnGeg_Init(Actor* thisx, GlobalContext* globalCtx) {
}
ActorShape_Init(&this->actor.shape, 0.0f, ActorShadow_DrawCircle, 0.0f);
SkelAnime_InitFlex(globalCtx, &this->skelAnime, &object_oF1d_map_Skel_011AC8, &object_oF1d_map_Anim_012DE0,
this->jointTable, this->morphTable, 18);
SkelAnime_InitFlex(globalCtx, &this->skelAnime, &gGoronSkel, &gGoronUnrollAnim, this->jointTable, this->morphTable,
GORON_LIMB_MAX);
Collider_InitCylinder(globalCtx, &this->colliderCylinder);
Collider_SetCylinder(globalCtx, &this->colliderCylinder, &this->actor, &sCylinderInit);
@@ -954,7 +954,7 @@ void EnGeg_PostLimbDraw(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, Ve
OPEN_DISPS(globalCtx->state.gfxCtx);
gSPDisplayList(POLY_OPA_DISP++, object_oF1d_map_DL_004DB0);
gSPDisplayList(POLY_OPA_DISP++, gGoronDonGeroMaskDL);
CLOSE_DISPS(globalCtx->state.gfxCtx);
}
@@ -1035,10 +1035,10 @@ void EnGeg_TransformLimbDraw(GlobalContext* globalCtx, s32 limbIndex, Actor* thi
void func_80BB3BE0(EnGeg* this, GlobalContext* globalCtx) {
static TexturePtr D_80BB4088[] = {
object_oF1d_map_Tex_010438,
object_oF1d_map_Tex_010C38,
object_oF1d_map_Tex_011038,
object_oF1d_map_Tex_010838,
gGoronEyeOpenTex,
gGoronEyeHalfTex,
gGoronEyeClosedTex,
gGoronEyeClosed2Tex,
};
s32 pad;
@@ -1072,7 +1072,7 @@ void func_80BB3CB4(EnGeg* this, GlobalContext* globalCtx) {
Matrix_RotateXS(sp24, MTXMODE_APPLY);
gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(globalCtx->state.gfxCtx), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
gSPDisplayList(POLY_OPA_DISP++, object_oF1d_map_DL_0091A8);
gSPDisplayList(POLY_OPA_DISP++, gGoronRolledUpDL);
CLOSE_DISPS(globalCtx->state.gfxCtx);
}
+24 -22
View File
@@ -187,16 +187,16 @@ static DamageTable sDamageTable = {
};
static AnimationInfoS sAnimations[] = {
{ &object_oF1d_map_Anim_011D98, 1.0f, 0, -1, ANIMMODE_LOOP, 0 },
{ &object_oF1d_map_Anim_011D98, 1.0f, 0, -1, ANIMMODE_LOOP, -4 },
{ &object_oF1d_map_Anim_012DE0, 2.0f, 0, -1, ANIMMODE_ONCE, 0 },
{ &object_oF1d_map_Anim_012DE0, 2.0f, 0, -1, ANIMMODE_ONCE, -4 },
{ &object_oF1d_map_Anim_012DE0, -2.0f, 0, -1, ANIMMODE_ONCE, 0 },
{ &object_oF1d_map_Anim_003E28, 1.0f, 0, -1, ANIMMODE_LOOP, 0 },
{ &object_oF1d_map_Anim_003E28, 1.0f, 0, -1, ANIMMODE_LOOP, -4 },
{ &object_oF1d_map_Anim_0039D8, 1.0f, 0, -1, ANIMMODE_ONCE, -4 },
{ &object_oF1d_map_Anim_003650, 1.0f, 0, -1, ANIMMODE_LOOP, 0 },
{ &object_oF1d_map_Anim_0135E8, 1.0f, 0, -1, ANIMMODE_ONCE, -4 },
{ &gGoronLyingDownIdleAnim, 1.0f, 0, -1, ANIMMODE_LOOP, 0 },
{ &gGoronLyingDownIdleAnim, 1.0f, 0, -1, ANIMMODE_LOOP, -4 },
{ &gGoronUnrollAnim, 2.0f, 0, -1, ANIMMODE_ONCE, 0 },
{ &gGoronUnrollAnim, 2.0f, 0, -1, ANIMMODE_ONCE, -4 },
{ &gGoronUnrollAnim, -2.0f, 0, -1, ANIMMODE_ONCE, 0 },
{ &gGoronShiverAnim, 1.0f, 0, -1, ANIMMODE_LOOP, 0 },
{ &gGoronShiverAnim, 1.0f, 0, -1, ANIMMODE_LOOP, -4 },
{ &gGoronDropKegAnim, 1.0f, 0, -1, ANIMMODE_ONCE, -4 },
{ &gGoronCoverEarsAnim, 1.0f, 0, -1, ANIMMODE_LOOP, 0 },
{ &gGoronShiveringSurprisedAnim, 1.0f, 0, -1, ANIMMODE_ONCE, -4 },
{ &object_taisou_Anim_004DD4, 1.0f, 0, -1, ANIMMODE_LOOP, 0 },
{ &object_taisou_Anim_0016C8, 1.0f, 0, -1, ANIMMODE_LOOP, 0 },
@@ -249,7 +249,7 @@ void func_80A11144(EnGoStruct* ptr, GlobalContext* globalCtx) {
gDPPipeSync(POLY_XLU_DISP++);
if (!flag) {
gSPDisplayList(POLY_XLU_DISP++, object_oF1d_map_DL_0031A0);
gSPDisplayList(POLY_XLU_DISP++, gGoronSteamMaterialDL);
flag = true;
}
@@ -269,7 +269,7 @@ void func_80A11144(EnGoStruct* ptr, GlobalContext* globalCtx) {
gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(globalCtx->state.gfxCtx),
G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
gSPDisplayList(POLY_XLU_DISP++, object_oF1d_map_DL_003258);
gSPDisplayList(POLY_XLU_DISP++, gGoronSteamModelDL);
Matrix_Pop();
if (globalCtx->state.gfxCtx) {}
@@ -325,7 +325,7 @@ void func_80A115B4(EnGoStruct* ptr, GlobalContext* globalCtx) {
if ((ptr->unk_00 >= 4) && (ptr->unk_00 < 7)) {
if (!flag) {
POLY_XLU_DISP = Gfx_CallSetupDL(POLY_XLU_DISP, 0);
gSPDisplayList(POLY_XLU_DISP++, object_oF1d_map_DL_014CF0);
gSPDisplayList(POLY_XLU_DISP++, gGoronDustMaterialDL);
flag = true;
}
Matrix_Push();
@@ -344,7 +344,7 @@ void func_80A115B4(EnGoStruct* ptr, GlobalContext* globalCtx) {
gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(globalCtx->state.gfxCtx),
G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
gSPSegment(POLY_XLU_DISP++, 0x08, Lib_SegmentedToVirtual(D_80A16644[(s32)(temp * 7.0f)]));
gSPDisplayList(POLY_XLU_DISP++, object_oF1d_map_DL_014D00);
gSPDisplayList(POLY_XLU_DISP++, gGoronDustModelDL);
Matrix_Pop();
}
@@ -516,9 +516,12 @@ void func_80A1203C(EnGo* this) {
}
void func_80A1213C(EnGo* this, GlobalContext* globalCtx) {
func_80A11EC0(this->unk_3F8, globalCtx, object_oF1d_map_DL_0003D0, object_oF1d_map_DL_000458, 1);
func_80A11EC0(this->unk_3F8, globalCtx, object_oF1d_map_DL_0008C0, object_oF1d_map_DL_000948, 2);
func_80A11EC0(this->unk_3F8, globalCtx, object_oF1d_map_DL_000D50, object_oF1d_map_DL_000DD8, 3);
func_80A11EC0(this->unk_3F8, globalCtx, gGoronLargeSnowballFragmentMaterialDL, gGoronLargeSnowballFragmentModelDL,
1);
func_80A11EC0(this->unk_3F8, globalCtx, gGoronMediumSnowballFragmentMaterialDL, gGoronMediumSnowballFragmentModelDL,
2);
func_80A11EC0(this->unk_3F8, globalCtx, gGoronSmallSnowballFragmentMaterialDL, gGoronSmallSnowballFragmentModelDL,
3);
func_80A11144(this->unk_3F8, globalCtx);
func_80A115B4(this->unk_3F8, globalCtx);
}
@@ -1459,8 +1462,8 @@ void func_80A14798(EnGo* this, GlobalContext* globalCtx) {
if ((this->unk_288 < 0) || SubS_IsObjectLoaded(this->unk_288, globalCtx) || (this->unk_289 < 0) ||
SubS_IsObjectLoaded(this->unk_289, globalCtx)) {
ActorShape_Init(&this->actor.shape, 0.0f, ActorShadow_DrawCircle, 20.0f);
SkelAnime_InitFlex(globalCtx, &this->skelAnime, &object_oF1d_map_Skel_011AC8, NULL, this->jointTable,
this->morphTable, 18);
SkelAnime_InitFlex(globalCtx, &this->skelAnime, &gGoronSkel, NULL, this->jointTable, this->morphTable,
GORON_LIMB_MAX);
this->unk_3DC = -1;
func_80A12C48(this, globalCtx, 2);
@@ -1966,7 +1969,7 @@ void func_80A15B80(EnGo* this, GlobalContext* globalCtx) {
Matrix_RotateXS(this->actor.shape.rot.x, MTXMODE_APPLY);
gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(globalCtx->state.gfxCtx), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
gSPDisplayList(POLY_OPA_DISP++, (this->unk_390 & 0x100) ? object_oF1d_map_DL_001560 : object_oF1d_map_DL_0091A8);
gSPDisplayList(POLY_OPA_DISP++, (this->unk_390 & 0x100) ? gGoronSnowballDL : gGoronRolledUpDL);
CLOSE_DISPS(globalCtx->state.gfxCtx);
}
@@ -2059,8 +2062,7 @@ void EnGo_TransfromLimbDraw(GlobalContext* globalCtx, s32 limbIndex, Actor* this
void func_80A15FEC(Actor* thisx, GlobalContext* globalCtx) {
static TexturePtr D_80A1670C[] = {
object_oF1d_map_Tex_010438, object_oF1d_map_Tex_010C38, object_oF1d_map_Tex_011038,
object_oF1d_map_Tex_010C38, object_oF1d_map_Tex_010838,
gGoronEyeOpenTex, gGoronEyeHalfTex, gGoronEyeClosedTex, gGoronEyeHalfTex, gGoronEyeClosed2Tex,
};
EnGo* this = THIS;
@@ -6,7 +6,8 @@
#include "objects/object_ani/object_ani.h"
#include "objects/object_fsn/object_fsn.h"
#define ENOSSAN_LIMB_MAX MAX(FSN_LIMB_MAX + 1, ANI_LIMB_MAX)
// Note: adding 1 to FSN_LIMB_MAX due to bug in object_fsn, see bug in object_fsn.xml
#define ENOSSAN_LIMB_MAX MAX((s32)FSN_LIMB_MAX + 1, (s32)ANI_LIMB_MAX)
struct EnOssan;
+9 -10
View File
@@ -119,8 +119,8 @@ s32 D_80BF57E4[][4] = {
};
AnimationInfoS D_80BF5914[] = {
{ &object_oF1d_map_Anim_012DE0, 2.0f, 0, -1, ANIMMODE_ONCE, 0 },
{ &object_oF1d_map_Anim_012DE0, -2.0f, 0, -1, ANIMMODE_ONCE, 0 },
{ &gGoronUnrollAnim, 2.0f, 0, -1, ANIMMODE_ONCE, 0 },
{ &gGoronUnrollAnim, -2.0f, 0, -1, ANIMMODE_ONCE, 0 },
};
TexturePtr D_80BF5934[] = {
@@ -153,8 +153,7 @@ EffectTireMarkInit D_80BF59F0 = {
};
TexturePtr D_80BF59F8[] = {
object_oF1d_map_Tex_010438, object_oF1d_map_Tex_010C38, object_oF1d_map_Tex_011038,
object_oF1d_map_Tex_010C38, object_oF1d_map_Tex_010838,
gGoronEyeOpenTex, gGoronEyeHalfTex, gGoronEyeClosedTex, gGoronEyeHalfTex, gGoronEyeClosed2Tex,
};
void func_80BF3920(EnRgStruct* ptr, GlobalContext* globalCtx) {
@@ -170,8 +169,8 @@ void func_80BF3920(EnRgStruct* ptr, GlobalContext* globalCtx) {
for (i = 0; i < 32; i++, ptr++) {
if ((ptr->unk_00 >= 4) && (ptr->unk_00 < 7)) {
if (!phi_fp) {
POLY_XLU_DISP = Gfx_CallSetupDL(POLY_XLU_DISP, sizeof(Gfx) * 0);
gSPDisplayList(POLY_XLU_DISP++, object_oF1d_map_DL_014CF0);
POLY_XLU_DISP = Gfx_CallSetupDL(POLY_XLU_DISP, 0);
gSPDisplayList(POLY_XLU_DISP++, gGoronDustMaterialDL);
phi_fp = true;
}
@@ -193,7 +192,7 @@ void func_80BF3920(EnRgStruct* ptr, GlobalContext* globalCtx) {
G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
idx = temp_f20 * 7.0f;
gSPSegment(POLY_XLU_DISP++, 0x08, Lib_SegmentedToVirtual(D_80BF5934[idx]));
gSPDisplayList(POLY_XLU_DISP++, object_oF1d_map_DL_014D00);
gSPDisplayList(POLY_XLU_DISP++, gGoronDustModelDL);
Matrix_Pop();
}
@@ -728,8 +727,8 @@ void EnRg_Init(Actor* thisx, GlobalContext* globalCtx) {
if (gSaveContext.save.entranceIndex == 0xD010) {
ActorShape_Init(&this->actor.shape, 0.0f, ActorShadow_DrawCircle, 20.0f);
SkelAnime_InitFlex(globalCtx, &this->skelAnime, &object_oF1d_map_Skel_011AC8, NULL, this->jointTable,
this->morphTable, 18);
SkelAnime_InitFlex(globalCtx, &this->skelAnime, &gGoronSkel, NULL, this->jointTable, this->morphTable,
GORON_LIMB_MAX);
this->unk_334 = -1;
func_80BF409C(this, 0);
@@ -814,7 +813,7 @@ void func_80BF547C(EnRg* this, GlobalContext* globalCtx) {
Matrix_RotateXS(this->actor.shape.rot.x, MTXMODE_APPLY);
gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(globalCtx->state.gfxCtx), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
gSPDisplayList(POLY_OPA_DISP++, object_oF1d_map_DL_0091A8);
gSPDisplayList(POLY_OPA_DISP++, gGoronRolledUpDL);
CLOSE_DISPS(globalCtx->state.gfxCtx);
}
+7 -9
View File
@@ -30,7 +30,7 @@ const ActorInit En_Rsn_InitVars = {
(ActorFunc)EnRsn_Draw,
};
static AnimationInfo sAnimations[] = { { &object_rs_Anim_00788C, 1.0f, 0.0f, 0.0f, ANIMMODE_LOOP, 0.0f } };
static AnimationInfo sAnimations[] = { { &gBombShopkeeperSwayAnim, 1.0f, 0.0f, 0.0f, ANIMMODE_LOOP, 0.0f } };
void func_80C25D40(EnRsn* this) {
Actor_ChangeAnimationByInfo(&this->skelAnime, sAnimations, 0);
@@ -44,7 +44,7 @@ void EnRsn_Init(Actor* thisx, GlobalContext* globalCtx) {
EnRsn* this = THIS;
ActorShape_Init(&this->actor.shape, 0.0f, ActorShadow_DrawCircle, 20.0f);
SkelAnime_InitFlex(globalCtx, &this->skelAnime, &object_rs_Skel_009220, &object_rs_Anim_009120, NULL, NULL, 0);
SkelAnime_InitFlex(globalCtx, &this->skelAnime, &gBombShopkeeperSkel, &gBombShopkeeperWalkAnim, NULL, NULL, 0);
this->actor.flags &= ~ACTOR_FLAG_1;
func_80C25D40(this);
}
@@ -67,20 +67,18 @@ void EnRsn_Update(Actor* thisx, GlobalContext* globalCtx) {
s32 EnRsn_OverrideLimbDraw(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, Vec3f* pos, Vec3s* rot, Actor* thisx) {
EnRsn* this = THIS;
if (limbIndex == 14) {
if (limbIndex == BOMB_SHOPKEEPER_LIMB_RIGHT_HAND) {
Matrix_RotateXS(this->unk1D8.y, MTXMODE_APPLY);
}
return false;
}
static Vec3f D_80C26028 = { 0.0f, 0.0f, 0.0f };
void EnRsn_PostLimbDraw(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, Vec3s* rot, Actor* thisx) {
EnRsn* this = THIS;
Vec3f sp18 = D_80C26028;
Vec3f zeroVec = { 0.0f, 0.0f, 0.0f };
if (limbIndex == 14) {
Matrix_MultVec3f(&sp18, &this->actor.focus.pos);
if (limbIndex == BOMB_SHOPKEEPER_LIMB_RIGHT_HAND) {
Matrix_MultVec3f(&zeroVec, &this->actor.focus.pos);
}
}
@@ -89,7 +87,7 @@ void EnRsn_Draw(Actor* thisx, GlobalContext* globalCtx) {
OPEN_DISPS(globalCtx->state.gfxCtx);
func_8012C5B0(globalCtx->state.gfxCtx);
gSPSegment(POLY_OPA_DISP++, 0x08, Lib_SegmentedToVirtual(object_rs_Tex_005458));
gSPSegment(POLY_OPA_DISP++, 0x08, Lib_SegmentedToVirtual(gBombShopkeeperEyeTex));
SkelAnime_DrawFlexOpa(globalCtx, this->skelAnime.skeleton, this->skelAnime.jointTable, this->skelAnime.dListCount,
EnRsn_OverrideLimbDraw, EnRsn_PostLimbDraw, &this->actor);
CLOSE_DISPS(globalCtx->state.gfxCtx);
+1 -1
View File
@@ -9,7 +9,7 @@ typedef void (*EnRsnActionFunc)(struct EnRsn*, GlobalContext*);
typedef struct EnRsn {
/* 0x000 */ Actor actor;
/* 0x144 */ char unk144[0x4C];
/* 0x144 */ UNK_TYPE1 unk144[0x4C];
/* 0x190 */ SkelAnime skelAnime;
/* 0x1D4 */ EnRsnActionFunc actionFunc;
/* 0x1D8 */ Vec3s unk1D8;
+90 -86
View File
@@ -5,11 +5,8 @@
*/
#include "z_en_sob1.h"
#include "objects/object_rs/object_rs.h"
#include "objects/object_zo/object_zo.h"
#include "objects/object_mastergolon/object_mastergolon.h"
#include "objects/object_masterzoora/object_masterzoora.h"
#include "objects/object_oF1d_map/object_oF1d_map.h"
#include "objects/gameplay_keep/gameplay_keep.h"
#define FLAGS (ACTOR_FLAG_1 | ACTOR_FLAG_8 | ACTOR_FLAG_10)
@@ -53,12 +50,18 @@ void EnSob1_Blink(EnSob1* this);
s32 EnSob1_TakeItemOffShelf(EnSob1* this);
s32 EnSob1_ReturnItemToShelf(EnSob1* this);
s16 EnSob1_GetDistSqAndOrient(Path* path, s32 pointIdx, Vec3f* pos, f32* distSq);
s16 EnSob1_GetDistSqAndOrient(Path* path, s32 pointIndex, Vec3f* pos, f32* distSq);
typedef enum {
/* 0 */ BOMB_SHOPKEEPER_ANIM_WALK,
/* 1 */ BOMB_SHOPKEEPER_ANIM_SIT_AT_COUNTER_START,
/* 2 */ BOMB_SHOPKEEPER_ANIM_SIT_AT_COUNTER_LOOP
} BombShopkeeperAnimation;
static AnimationInfoS sAnimationsBombShopkeeper[] = {
{ &object_rs_Anim_009120, 2.0f, 0, -1, ANIMMODE_LOOP, 20 },
{ &object_rs_Anim_008268, 1.0f, 0, -1, ANIMMODE_ONCE, 0 },
{ &object_rs_Anim_0087BC, 1.0f, 0, -1, ANIMMODE_LOOP, 0 },
{ &gBombShopkeeperWalkAnim, 2.0f, 0, -1, ANIMMODE_LOOP, 20 },
{ &gBombShopkeeperSitAtCounterStartAnim, 1.0f, 0, -1, ANIMMODE_ONCE, 0 },
{ &gBombShopkeeperSitAtCounterLoopAnim, 1.0f, 0, -1, ANIMMODE_LOOP, 0 },
};
const ActorInit En_Sob1_InitVars = {
@@ -153,10 +156,10 @@ static Vec3f sPosOffset[] = {
{ 0.0f, -4.0f, 0.0f },
};
void EnSob1_ChangeAnim(SkelAnime* skelAnime, AnimationInfoS* animations, s32 idx) {
void EnSob1_ChangeAnim(SkelAnime* skelAnime, AnimationInfoS* animations, s32 index) {
f32 frameCount;
animations += idx;
animations += index;
if (animations->frameCount < 0) {
frameCount = Animation_GetLastFrame(animations->animation);
} else {
@@ -355,20 +358,20 @@ void EnSob1_SpawnShopItems(EnSob1* this, GlobalContext* globalCtx, ShopItem* sho
s32 EnSob1_GetObjIndices(EnSob1* this, GlobalContext* globalCtx, s16* objIds) {
if (objIds[1] != OBJECT_ID_MAX) {
this->objIndices[1] = Object_GetIndex(&globalCtx->objectCtx, objIds[1]);
if (this->objIndices[1] < 0) {
this->unusedObjIndex = Object_GetIndex(&globalCtx->objectCtx, objIds[1]);
if (this->unusedObjIndex < 0) {
return false;
}
} else {
this->objIndices[1] = -1;
this->unusedObjIndex = -1;
}
if (objIds[2] != OBJECT_ID_MAX) {
this->objIndices[2] = Object_GetIndex(&globalCtx->objectCtx, objIds[2]);
if (this->objIndices[2] < 0) {
this->shopkeeperAnimObjIndex = Object_GetIndex(&globalCtx->objectCtx, objIds[2]);
if (this->shopkeeperAnimObjIndex < 0) {
return false;
}
} else {
this->objIndices[2] = -1;
this->shopkeeperAnimObjIndex = -1;
}
return true;
}
@@ -398,8 +401,8 @@ void EnSob1_Init(Actor* thisx, GlobalContext* globalCtx) {
}
objIds = sObjectIds[this->shopType];
this->objIndices[0] = Object_GetIndex(&globalCtx->objectCtx, objIds[0]);
if (this->objIndices[0] < 0) {
this->mainObjIndex = Object_GetIndex(&globalCtx->objectCtx, objIds[0]);
if (this->mainObjIndex < 0) {
Actor_MarkForDeath(&this->actor);
return;
}
@@ -423,7 +426,7 @@ void EnSob1_UpdateCursorPos(GlobalContext* globalCtx, EnSob1* this) {
f32 xOffset = 0.0f;
f32 yOffset = 17.0f;
Actor_GetScreenPos(globalCtx, &this->items[this->cursorIdx]->actor, &x, &y);
Actor_GetScreenPos(globalCtx, &this->items[this->cursorIndex]->actor, &x, &y);
this->cursorPos.x = x + xOffset;
this->cursorPos.y = y + yOffset;
this->cursorPos.z = 1.2f;
@@ -464,7 +467,7 @@ s32 EnSob1_TestEndInteraction(EnSob1* this, GlobalContext* globalCtx, Input* inp
s32 EnSob1_TestCancelOption(EnSob1* this, GlobalContext* globalCtx, Input* input) {
if (CHECK_BTN_ALL(input->press.button, BTN_B)) {
this->actionFunc = this->tmpActionFunc;
func_80151938(globalCtx, this->items[this->cursorIdx]->actor.textId);
func_80151938(globalCtx, this->items[this->cursorIndex]->actor.textId);
return true;
}
return false;
@@ -638,7 +641,7 @@ s32 EnSob1_FacingShopkeeperDialogResult(EnSob1* this, GlobalContext* globalCtx)
void EnSob1_FaceShopkeeper(EnSob1* this, GlobalContext* globalCtx) {
s32 pad[2];
u8 talkState = Message_GetState(&globalCtx->msgCtx);
u8 cursorIdx;
u8 cursorIndex;
if (this->cutsceneState == ENSOB1_CUTSCENESTATE_WAITING) {
if (ActorCutscene_GetCanPlayNext(this->cutscene)) {
@@ -661,9 +664,9 @@ void EnSob1_FaceShopkeeper(EnSob1* this, GlobalContext* globalCtx) {
if (!EnSob1_TestEndInteraction(this, globalCtx, CONTROLLER1(globalCtx))) {
if (!Message_ShouldAdvance(globalCtx) || !EnSob1_FacingShopkeeperDialogResult(this, globalCtx)) {
if (this->stickAccumX > 0) {
cursorIdx = EnSob1_SetCursorIndexFromNeutral(this, 2);
if (cursorIdx != CURSOR_INVALID) {
this->cursorIdx = cursorIdx;
cursorIndex = EnSob1_SetCursorIndexFromNeutral(this, 2);
if (cursorIndex != CURSOR_INVALID) {
this->cursorIndex = cursorIndex;
EnSob1_SetupAction(this, EnSob1_LookToShelf);
func_8011552C(globalCtx, 6);
this->stickRightPrompt.isEnabled = false;
@@ -709,17 +712,17 @@ void EnSob1_EndWalk(EnSob1* this, GlobalContext* globalCtx) {
s32 pad;
f32 distSq;
s16 curFrame = this->skelAnime.curFrame / this->skelAnime.playSpeed;
s16 animLastFrame = Animation_GetLastFrame(&object_rs_Anim_009120) / (s16)this->skelAnime.playSpeed;
s16 animLastFrame = Animation_GetLastFrame(&gBombShopkeeperWalkAnim) / (s16)this->skelAnime.playSpeed;
Math_SmoothStepToS(&this->actor.world.rot.y,
EnSob1_GetDistSqAndOrient(this->path, this->pathPointsIdx - 1, &this->actor.world.pos, &distSq),
4, 1000, 1);
EnSob1_GetDistSqAndOrient(this->path, this->waypoint - 1, &this->actor.world.pos, &distSq), 4,
1000, 1);
this->actor.shape.rot.y = this->actor.world.rot.y;
Math_ApproachF(&this->actor.speedXZ, 0.5f, 0.2f, 1.0f);
if (distSq < 12.0f) {
this->actor.speedXZ = 0.0f;
if (animLastFrame == curFrame) {
EnSob1_ChangeAnim(&this->skelAnime, sAnimationsBombShopkeeper, 1);
EnSob1_ChangeAnim(&this->skelAnime, sAnimationsBombShopkeeper, BOMB_SHOPKEEPER_ANIM_SIT_AT_COUNTER_START);
EnSob1_SetupAction(this, EnSob1_SetupIdle);
}
}
@@ -729,8 +732,8 @@ void EnSob1_EndWalk(EnSob1* this, GlobalContext* globalCtx) {
void EnSob1_SetupIdle(EnSob1* this, GlobalContext* globalCtx) {
s16 curFrame = this->skelAnime.curFrame;
if (Animation_GetLastFrame(&object_rs_Anim_008268) == curFrame) {
EnSob1_ChangeAnim(&this->skelAnime, sAnimationsBombShopkeeper, 2);
if (Animation_GetLastFrame(&gBombShopkeeperSitAtCounterStartAnim) == curFrame) {
EnSob1_ChangeAnim(&this->skelAnime, sAnimationsBombShopkeeper, BOMB_SHOPKEEPER_ANIM_SIT_AT_COUNTER_LOOP);
EnSob1_SetupAction(this, EnSob1_Idle);
}
EnSob1_Walking(this, globalCtx);
@@ -750,13 +753,13 @@ void EnSob1_Walk(EnSob1* this, GlobalContext* globalCtx) {
}
if (this->path != NULL) {
Math_SmoothStepToS(&this->actor.world.rot.y,
EnSob1_GetDistSqAndOrient(this->path, this->pathPointsIdx, &this->actor.world.pos, &distSq),
4, 1000, 1);
EnSob1_GetDistSqAndOrient(this->path, this->waypoint, &this->actor.world.pos, &distSq), 4,
1000, 1);
this->actor.shape.rot.y = this->actor.world.rot.y;
this->actor.speedXZ = 2.0f;
if (distSq < SQ(5.0f)) {
this->pathPointsIdx++;
if ((this->path->count - 1) < this->pathPointsIdx) {
this->waypoint++;
if ((this->path->count - 1) < this->waypoint) {
this->actor.speedXZ = 0.0f;
EnSob1_SetupAction(this, EnSob1_EndWalk);
}
@@ -842,7 +845,7 @@ void EnSob1_LookToShelf(EnSob1* this, GlobalContext* globalCtx) {
this->cutsceneState = ENSOB1_CUTSCENESTATE_PLAYING;
EnSob1_UpdateCursorPos(globalCtx, this);
EnSob1_SetupAction(this, EnSob1_BrowseShelf);
func_80151938(globalCtx, this->items[this->cursorIdx]->actor.textId);
func_80151938(globalCtx, this->items[this->cursorIndex]->actor.textId);
} else {
ActorCutscene_SetIntentToPlay(this->cutscene);
}
@@ -850,7 +853,7 @@ void EnSob1_LookToShelf(EnSob1* this, GlobalContext* globalCtx) {
}
void EnSob1_CursorLeftRight(GlobalContext* globalCtx, EnSob1* this) {
u8 curTemp = this->cursorIdx;
u8 curTemp = this->cursorIndex;
if (this->stickAccumX < 0) {
if (curTemp != 2) {
@@ -859,20 +862,20 @@ void EnSob1_CursorLeftRight(GlobalContext* globalCtx, EnSob1* this) {
EnSob1_SetupLookToShopkeeperFromShelf(globalCtx, this);
}
if (this->items[curTemp] != NULL) {
this->cursorIdx = curTemp;
this->cursorIndex = curTemp;
}
} else if (this->stickAccumX > 0) {
if (curTemp != 0) {
curTemp--;
}
if (this->items[curTemp] != NULL) {
this->cursorIdx = curTemp;
this->cursorIndex = curTemp;
}
}
}
s32 EnSob1_HasPlayerSelectedItem(GlobalContext* globalCtx, EnSob1* this, Input* input) {
EnGirlA* item = this->items[this->cursorIdx];
EnGirlA* item = this->items[this->cursorIndex];
if (EnSob1_TestEndInteraction(this, globalCtx, input)) {
return true;
@@ -880,7 +883,7 @@ s32 EnSob1_HasPlayerSelectedItem(GlobalContext* globalCtx, EnSob1* this, Input*
if (EnSob1_TestItemSelected(globalCtx)) {
if (!item->isOutOfStock) {
this->tmpActionFunc = this->actionFunc;
func_80151938(globalCtx, this->items[this->cursorIdx]->choiceTextId);
func_80151938(globalCtx, this->items[this->cursorIndex]->choiceTextId);
play_sound(NA_SE_SY_DECIDE);
this->stickLeftPrompt.isEnabled = false;
this->stickRightPrompt.isEnabled = false;
@@ -897,8 +900,8 @@ s32 EnSob1_HasPlayerSelectedItem(GlobalContext* globalCtx, EnSob1* this, Input*
void EnSob1_BrowseShelf(EnSob1* this, GlobalContext* globalCtx) {
u8 talkState = Message_GetState(&globalCtx->msgCtx);
s32 pad;
u8 prevCursorIdx = this->cursorIdx;
u8 cursorIdx;
u8 prevCursorIndex = this->cursorIndex;
u8 cursorIndex;
if (!EnSob1_ReturnItemToShelf(this)) {
this->delayTimer = 3;
@@ -912,9 +915,9 @@ void EnSob1_BrowseShelf(EnSob1* this, GlobalContext* globalCtx) {
func_8011552C(globalCtx, 6);
if (!EnSob1_HasPlayerSelectedItem(globalCtx, this, CONTROLLER1(globalCtx))) {
EnSob1_CursorLeftRight(globalCtx, this);
cursorIdx = this->cursorIdx;
if (cursorIdx != prevCursorIdx) {
func_80151938(globalCtx, this->items[cursorIdx]->actor.textId);
cursorIndex = this->cursorIndex;
if (cursorIndex != prevCursorIndex) {
func_80151938(globalCtx, this->items[cursorIndex]->actor.textId);
play_sound(NA_SE_SY_CURSOR);
}
}
@@ -925,7 +928,7 @@ void EnSob1_BrowseShelf(EnSob1* this, GlobalContext* globalCtx) {
void EnSob1_SetupBuyItemWithFanfare(GlobalContext* globalCtx, EnSob1* this) {
Player* player = GET_PLAYER(globalCtx);
Actor_PickUp(&this->actor, globalCtx, this->items[this->cursorIdx]->getItemId, 300.0f, 300.0f);
Actor_PickUp(&this->actor, globalCtx, this->items[this->cursorIndex]->getItemId, 300.0f, 300.0f);
globalCtx->msgCtx.msgMode = 0x43;
globalCtx->msgCtx.unk12023 = 4;
player->stateFlags2 &= ~0x20000000;
@@ -945,7 +948,7 @@ void EnSob1_SetupCanBuy(GlobalContext* globalCtx, EnSob1* this, u16 textId) {
}
void EnSob1_HandleCanBuyItem(GlobalContext* globalCtx, EnSob1* this) {
EnGirlA* item = this->items[this->cursorIdx];
EnGirlA* item = this->items[this->cursorIndex];
EnGirlA* item2;
switch (item->canBuyFunc(globalCtx, item)) {
@@ -955,7 +958,7 @@ void EnSob1_HandleCanBuyItem(GlobalContext* globalCtx, EnSob1* this) {
this->cutsceneState = ENSOB1_CUTSCENESTATE_STOPPED;
}
func_8019F208();
item2 = this->items[this->cursorIdx];
item2 = this->items[this->cursorIndex];
item2->buyFanfareFunc(globalCtx, item2);
EnSob1_SetupBuyItemWithFanfare(globalCtx, this);
this->drawCursor = 0;
@@ -1026,7 +1029,7 @@ void EnSob1_SelectItem(EnSob1* this, GlobalContext* globalCtx) {
case 1:
func_8019F230();
this->actionFunc = this->tmpActionFunc;
func_80151938(globalCtx, this->items[this->cursorIdx]->actor.textId);
func_80151938(globalCtx, this->items[this->cursorIndex]->actor.textId);
break;
}
}
@@ -1037,7 +1040,7 @@ void EnSob1_CannotBuy(EnSob1* this, GlobalContext* globalCtx) {
if (Message_GetState(&globalCtx->msgCtx) == 5) {
if (Message_ShouldAdvance(globalCtx)) {
this->actionFunc = this->tmpActionFunc;
func_80151938(globalCtx, this->items[this->cursorIdx]->actor.textId);
func_80151938(globalCtx, this->items[this->cursorIndex]->actor.textId);
}
}
}
@@ -1048,10 +1051,10 @@ void EnSob1_CanBuy(EnSob1* this, GlobalContext* globalCtx) {
if (Message_GetState(&globalCtx->msgCtx) == 5 && Message_ShouldAdvance(globalCtx)) {
this->shopItemSelectedTween = 0.0f;
EnSob1_ResetItemPosition(this);
item = this->items[this->cursorIdx];
item = this->items[this->cursorIndex];
item->restockFunc(globalCtx, item);
this->actionFunc = this->tmpActionFunc;
func_80151938(globalCtx, this->items[this->cursorIdx]->actor.textId);
func_80151938(globalCtx, this->items[this->cursorIndex]->actor.textId);
}
}
@@ -1060,7 +1063,7 @@ void EnSob1_BuyItemWithFanfare(EnSob1* this, GlobalContext* globalCtx) {
this->actor.parent = NULL;
EnSob1_SetupAction(this, EnSob1_SetupItemPurchased);
} else {
Actor_PickUp(&this->actor, globalCtx, this->items[this->cursorIdx]->getItemId, 300.0f, 300.0f);
Actor_PickUp(&this->actor, globalCtx, this->items[this->cursorIndex]->getItemId, 300.0f, 300.0f);
}
}
@@ -1086,7 +1089,7 @@ void EnSob1_ContinueShopping(EnSob1* this, GlobalContext* globalCtx) {
if ((Message_GetState(&globalCtx->msgCtx) == 5) && Message_ShouldAdvance(globalCtx)) {
EnSob1_ResetItemPosition(this);
item = this->items[this->cursorIdx];
item = this->items[this->cursorIndex];
item->restockFunc(globalCtx, item);
player->actor.shape.rot.y += 0x8000;
player->stateFlags2 |= 0x20000000;
@@ -1098,7 +1101,7 @@ void EnSob1_ContinueShopping(EnSob1* this, GlobalContext* globalCtx) {
void EnSob1_PositionSelectedItem(EnSob1* this) {
Vec3f selectedItemPosition = sSelectedItemPositions[this->shopType];
u8 i = this->cursorIdx;
u8 i = this->cursorIndex;
EnGirlA* item;
ShopItem* shopItem = &sShops[this->shopType][i];
Vec3f worldPos;
@@ -1159,7 +1162,7 @@ void EnSob1_UpdateItemSelectedProperty(EnSob1* this) {
this->drawCursor == 0) {
item->isSelected = false;
} else {
item->isSelected = this->cursorIdx == i ? true : false;
item->isSelected = this->cursorIndex == i ? true : false;
}
}
}
@@ -1247,14 +1250,14 @@ void EnSob1_UpdateStickDirectionPromptAnim(EnSob1* this) {
this->stickLeftPrompt.stickTexY = 95.0f;
}
s16 EnSob1_GetDistSqAndOrient(Path* path, s32 pointIdx, Vec3f* pos, f32* distSq) {
s16 EnSob1_GetDistSqAndOrient(Path* path, s32 pointIndex, Vec3f* pos, f32* distSq) {
Vec3s* points;
f32 diffX;
f32 diffZ;
if (path != NULL) {
points = Lib_SegmentedToVirtual(path->points);
points = &points[pointIdx];
points = &points[pointIndex];
diffX = points->x - pos->x;
diffZ = points->z - pos->z;
} else {
@@ -1283,33 +1286,34 @@ void EnSob1_WaitForBlink(EnSob1* this) {
void EnSob1_Blink(EnSob1* this) {
s16 decr = this->blinkTimer - 1;
s16 eyeTextureIdxTemp;
s16 eyeTextureIndexTemp;
if (decr != 0) {
this->blinkTimer = decr;
return;
}
eyeTextureIdxTemp = this->eyeTexIndex + 1;
if (eyeTextureIdxTemp > 2) {
eyeTextureIndexTemp = this->eyeTexIndex + 1;
if (eyeTextureIndexTemp > 2) {
this->eyeTexIndex = 0;
this->blinkTimer = (s32)(Rand_ZeroOne() * 60.0f) + 20;
this->blinkFunc = EnSob1_WaitForBlink;
} else {
this->eyeTexIndex = eyeTextureIdxTemp;
this->eyeTexIndex = eyeTextureIndexTemp;
this->blinkTimer = 1;
}
}
void EnSob1_ChangeObject(EnSob1* this, GlobalContext* globalCtx) {
gSegments[0x06] = PHYSICAL_TO_VIRTUAL(globalCtx->objectCtx.status[this->objIndices[2]].segment);
gSegments[0x06] = PHYSICAL_TO_VIRTUAL(globalCtx->objectCtx.status[this->shopkeeperAnimObjIndex].segment);
}
s32 EnSob1_AreObjectsLoaded(EnSob1* this, GlobalContext* globalCtx) {
if (Object_IsLoaded(&globalCtx->objectCtx, this->objIndices[0])) {
if (this->objIndices[1] >= 0 && !Object_IsLoaded(&globalCtx->objectCtx, this->objIndices[1])) {
if (Object_IsLoaded(&globalCtx->objectCtx, this->mainObjIndex)) {
if (this->unusedObjIndex >= 0 && !Object_IsLoaded(&globalCtx->objectCtx, this->unusedObjIndex)) {
return false;
}
if (this->objIndices[2] >= 0 && !Object_IsLoaded(&globalCtx->objectCtx, this->objIndices[2])) {
if (this->shopkeeperAnimObjIndex >= 0 &&
!Object_IsLoaded(&globalCtx->objectCtx, this->shopkeeperAnimObjIndex)) {
return false;
}
return true;
@@ -1318,27 +1322,28 @@ s32 EnSob1_AreObjectsLoaded(EnSob1* this, GlobalContext* globalCtx) {
}
void EnSob1_ZoraShopkeeper_Init(EnSob1* this, GlobalContext* globalCtx) {
SkelAnime_InitFlex(globalCtx, &this->skelAnime, &gZoraSkel, NULL, this->jointTable, this->morphTable, 20);
gSegments[6] = PHYSICAL_TO_VIRTUAL(globalCtx->objectCtx.status[this->objIndices[2]].segment);
Animation_Change(&this->skelAnime, &object_masterzoora_Anim_00078C, 1.0f, 0.0f,
Animation_GetLastFrame(&object_masterzoora_Anim_00078C), 0, 0.0f);
SkelAnime_InitFlex(globalCtx, &this->skelAnime, &gZoraSkel, NULL, this->jointTable, this->morphTable,
ZORA_LIMB_MAX);
gSegments[6] = PHYSICAL_TO_VIRTUAL(globalCtx->objectCtx.status[this->shopkeeperAnimObjIndex].segment);
Animation_Change(&this->skelAnime, &gZoraShopkeeperAnim, 1.0f, 0.0f, Animation_GetLastFrame(&gZoraShopkeeperAnim),
ANIMMODE_LOOP, 0.0f);
this->actor.draw = EnSob1_ZoraShopkeeper_Draw;
this->changeObjectFunc = EnSob1_ChangeObject;
}
void EnSob1_GoronShopkeeper_Init(EnSob1* this, GlobalContext* globalCtx) {
SkelAnime_InitFlex(globalCtx, &this->skelAnime, &object_oF1d_map_Skel_011AC8, NULL, this->jointTable,
this->morphTable, 18);
gSegments[6] = PHYSICAL_TO_VIRTUAL(globalCtx->objectCtx.status[this->objIndices[2]].segment);
Animation_Change(&this->skelAnime, &object_mastergolon_Anim_0000FC, 1.0f, 0.0f,
Animation_GetLastFrame(&object_mastergolon_Anim_0000FC), 0, 0.0f);
SkelAnime_InitFlex(globalCtx, &this->skelAnime, &gGoronSkel, NULL, this->jointTable, this->morphTable,
GORON_LIMB_MAX);
gSegments[6] = PHYSICAL_TO_VIRTUAL(globalCtx->objectCtx.status[this->shopkeeperAnimObjIndex].segment);
Animation_Change(&this->skelAnime, &gGoronShopkeeperAnim, 1.0f, 0.0f, Animation_GetLastFrame(&gGoronShopkeeperAnim),
ANIMMODE_LOOP, 0.0f);
this->actor.draw = EnSob1_GoronShopkeeper_Draw;
this->changeObjectFunc = EnSob1_ChangeObject;
}
void EnSob1_BombShopkeeper_Init(EnSob1* this, GlobalContext* globalCtx) {
SkelAnime_InitFlex(globalCtx, &this->skelAnime, &object_rs_Skel_009220, &object_rs_Anim_009120, this->jointTable,
this->morphTable, 16);
SkelAnime_InitFlex(globalCtx, &this->skelAnime, &gBombShopkeeperSkel, &gBombShopkeeperWalkAnim, this->jointTable,
this->morphTable, BOMB_SHOPKEEPER_LIMB_MAX);
this->actor.draw = EnSob1_BombShopkeeper_Draw;
this->changeObjectFunc = NULL;
this->skelAnime.playSpeed = 2.0f;
@@ -1351,7 +1356,7 @@ void EnSob1_InitShop(EnSob1* this, GlobalContext* globalCtx) {
if (EnSob1_AreObjectsLoaded(this, globalCtx)) {
this->actor.flags &= ~ACTOR_FLAG_10;
this->actor.objBankIndex = this->objIndices[0];
this->actor.objBankIndex = this->mainObjIndex;
Actor_SetObjectDependency(globalCtx, &this->actor);
posOffset = &sPosOffset[this->shopType];
this->actor.world.pos.x += posOffset->x;
@@ -1370,7 +1375,7 @@ void EnSob1_InitShop(EnSob1* this, GlobalContext* globalCtx) {
this->actor.colChkInfo.mass = MASS_IMMOVABLE;
this->actor.colChkInfo.cylRadius = 50;
this->wasTalkedToWhileWalking = false;
this->pathPointsIdx = 0;
this->waypoint = 0;
if (this->shopType == BOMB_SHOP) {
this->path = SubS_GetPathByIndex(globalCtx, ENSOB1_GET_PATH(&this->actor), 0x1F);
@@ -1385,7 +1390,7 @@ void EnSob1_InitShop(EnSob1* this, GlobalContext* globalCtx) {
this->stickAccumY = 0;
this->stickAccumX = 0;
this->cursorIdx = 0;
this->cursorIndex = 0;
this->cursorPos.z = 1.2f;
this->cursorColor.r = 0;
this->cursorColor.g = 80;
@@ -1575,7 +1580,7 @@ s32 EnSob1_ZoraShopkeeper_OverrideLimbDraw(GlobalContext* globalCtx, s32 limbInd
Actor* thisx) {
EnSob1* this = THIS;
if (limbIndex == 15) {
if (limbIndex == ZORA_LIMB_HEAD) {
rot->x += this->headRot;
}
return false;
@@ -1585,7 +1590,7 @@ s32 EnSob1_BombShopkeeper_OverrideLimbDraw(GlobalContext* globalCtx, s32 limbInd
Actor* thisx) {
EnSob1* this = THIS;
if (limbIndex == 15) {
if (limbIndex == BOMB_SHOPKEEPER_LIMB_HEAD) {
Matrix_RotateXS(this->headRot, MTXMODE_APPLY);
}
return false;
@@ -1594,8 +1599,8 @@ s32 EnSob1_BombShopkeeper_OverrideLimbDraw(GlobalContext* globalCtx, s32 limbInd
void EnSob1_BombShopkeeper_PostLimbDraw(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, Vec3s* rot,
Actor* thisx) {
OPEN_DISPS(globalCtx->state.gfxCtx);
if (limbIndex == 11) {
gSPDisplayList(POLY_OPA_DISP++, object_rs_DL_000970);
if (limbIndex == BOMB_SHOPKEEPER_LIMB_LEFT_HAND) {
gSPDisplayList(POLY_OPA_DISP++, gBombShopkeeperBombDL);
}
CLOSE_DISPS(globalCtx->state.gfxCtx);
}
@@ -1634,8 +1639,7 @@ void EnSob1_ZoraShopkeeper_Draw(Actor* thisx, GlobalContext* globalCtx) {
}
void EnSob1_GoronShopkeeper_Draw(Actor* thisx, GlobalContext* globalCtx) {
static TexturePtr sGoronShopkeeperEyeTextures[] = { object_oF1d_map_Tex_010438, object_oF1d_map_Tex_010C38,
object_oF1d_map_Tex_011038 };
static TexturePtr sGoronShopkeeperEyeTextures[] = { gGoronEyeOpenTex, gGoronEyeHalfTex, gGoronEyeClosedTex };
EnSob1* this = THIS;
s32 pad;
s32 i;
@@ -1663,7 +1667,7 @@ void EnSob1_BombShopkeeper_Draw(Actor* thisx, GlobalContext* globalCtx) {
OPEN_DISPS(globalCtx->state.gfxCtx);
func_8012C28C(globalCtx->state.gfxCtx);
gSPSegment(POLY_OPA_DISP++, 0x08, Lib_SegmentedToVirtual(object_rs_Tex_005458));
gSPSegment(POLY_OPA_DISP++, 0x08, Lib_SegmentedToVirtual(gBombShopkeeperEyeTex));
SkelAnime_DrawFlexOpa(globalCtx, this->skelAnime.skeleton, this->skelAnime.jointTable, this->skelAnime.dListCount,
EnSob1_BombShopkeeper_OverrideLimbDraw, EnSob1_BombShopkeeper_PostLimbDraw, &this->actor);
for (i = 0; i < ARRAY_COUNT(this->items); i++) {
+12 -5
View File
@@ -3,6 +3,11 @@
#include "global.h"
#include "overlays/actors/ovl_En_GirlA/z_en_girla.h"
#include "objects/object_rs/object_rs.h"
#include "objects/object_zo/object_zo.h"
#include "objects/object_oF1d_map/object_oF1d_map.h"
#define ENSOB1_LIMB_MAX MAX(MAX((s32)ZORA_LIMB_MAX, (s32)BOMB_SHOPKEEPER_LIMB_MAX), (s32)GORON_LIMB_MAX)
struct EnSob1;
@@ -27,13 +32,15 @@ typedef struct EnSob1 {
/* 0x190 */ EnSob1ActionFunc changeObjectFunc;
/* 0x194 */ ColliderCylinder collider;
/* 0x1E0 */ Path* path;
/* 0x1E4 */ s32 pathPointsIdx;
/* 0x1E4 */ s32 waypoint;
/* 0x1E8 */ s16 delayTimer;
/* 0x1EA */ s8 objIndices[3];
/* 0x1EA */ s8 mainObjIndex;
/* 0x1EB */ s8 unusedObjIndex;
/* 0x1EC */ s8 shopkeeperAnimObjIndex;
/* 0x1EE */ s16 headRot;
/* 0x1F0 */ s16 headRotTarget;
/* 0x1F2 */ Vec3s jointTable[20];
/* 0x26A */ Vec3s morphTable[20];
/* 0x1F2 */ Vec3s jointTable[ENSOB1_LIMB_MAX];
/* 0x26A */ Vec3s morphTable[ENSOB1_LIMB_MAX];
/* 0x2E2 */ s16 eyeTexIndex;
/* 0x2E4 */ s16 blinkTimer;
/* 0x2E8 */ EnSob1BlinkFunc blinkFunc;
@@ -45,7 +52,7 @@ typedef struct EnSob1 {
/* 0x31C */ f32 cursorAnimTween;
/* 0x320 */ u8 cursorAnimState;
/* 0x321 */ u8 drawCursor;
/* 0x322 */ u8 cursorIdx;
/* 0x322 */ u8 cursorIndex;
/* 0x324 */ StickDirectionPrompt stickLeftPrompt;
/* 0x35C */ StickDirectionPrompt stickRightPrompt;
/* 0x394 */ f32 arrowAnimTween;
+9 -8
View File
@@ -5,7 +5,6 @@
*/
#include "z_en_zo.h"
#include "objects/object_zo/object_zo.h"
#define FLAGS (ACTOR_FLAG_1 | ACTOR_FLAG_8 | ACTOR_FLAG_10)
@@ -257,7 +256,8 @@ void EnZo_Init(Actor* thisx, GlobalContext* globalCtx) {
s32 pad;
ActorShape_Init(&this->actor.shape, 0.0f, NULL, 0.0f);
SkelAnime_InitFlex(globalCtx, &this->skelAnime, &gZoraSkel, NULL, this->jointTable, this->morphTable, 20);
SkelAnime_InitFlex(globalCtx, &this->skelAnime, &gZoraSkel, NULL, this->jointTable, this->morphTable,
ZORA_LIMB_MAX);
EnZo_SetAnimation(&this->skelAnime, 0);
Collider_InitCylinder(globalCtx, &this->collider);
@@ -291,19 +291,20 @@ s32 EnZo_OverrideLimbDraw(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList,
Gfx** gfx) {
EnZo* this = THIS;
if (limbIndex == 15) {
if (limbIndex == ZORA_LIMB_HEAD) {
Matrix_Translate(1500.0f, 0.0f, 0.0f, MTXMODE_APPLY);
Matrix_RotateXS(this->headRot.y, MTXMODE_APPLY);
Matrix_RotateZS(-this->headRot.x, MTXMODE_APPLY);
Matrix_Translate(-1500.0f, 0.0f, 0.0f, MTXMODE_APPLY);
}
if (limbIndex == 8) {
if (limbIndex == ZORA_LIMB_TORSO) {
Matrix_RotateXS(-this->upperBodyRot.y, MTXMODE_APPLY);
Matrix_RotateZS(-this->upperBodyRot.x, MTXMODE_APPLY);
}
if ((limbIndex == 8) || (limbIndex == 9) || (limbIndex == 12)) {
if ((limbIndex == ZORA_LIMB_TORSO) || (limbIndex == ZORA_LIMB_LEFT_UPPER_ARM) ||
(limbIndex == ZORA_LIMB_RIGHT_UPPER_ARM)) {
rot->y += (s16)(Math_SinS(this->limbRotY[limbIndex]) * 200.0f);
rot->z += (s16)(Math_CosS(this->limbRotZ[limbIndex]) * 200.0f);
}
@@ -318,13 +319,13 @@ void EnZo_PostLimbDraw(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, Vec
if (sBodyParts[limbIndex] >= 0) {
Matrix_MultVec3f(&zeroVec, &this->bodyPartsPos[sBodyParts[limbIndex]]);
}
if (limbIndex == 15) {
if (limbIndex == ZORA_LIMB_HEAD) {
Matrix_MultVec3f(&sp30, &this->actor.focus.pos);
}
if (limbIndex == 4) {
if (limbIndex == ZORA_LIMB_LEFT_FOOT) {
Matrix_MultVec3f(&zeroVec, &this->leftFootPos);
}
if (limbIndex == 7) {
if (limbIndex == ZORA_LIMB_RIGHT_FOOT) {
Matrix_MultVec3f(&zeroVec, &this->rightFootPos);
}
}
+3 -2
View File
@@ -2,6 +2,7 @@
#define Z_EN_ZO_H
#include "global.h"
#include "objects/object_zo/object_zo.h"
struct EnZo;
@@ -22,8 +23,8 @@ typedef struct EnZo {
/* 0x01F0 */ Vec3f rightFootPos;
/* 0x01FC */ u8 isLeftFootGrounded;
/* 0x01FD */ u8 isRightFootGrounded;
/* 0x01FE */ Vec3s jointTable[20];
/* 0x0276 */ Vec3s morphTable[20];
/* 0x01FE */ Vec3s jointTable[ZORA_LIMB_MAX];
/* 0x0276 */ Vec3s morphTable[ZORA_LIMB_MAX];
/* 0x02EE */ Vec3s turnTarget;
/* 0x02F4 */ Vec3s headRot;
/* 0x02FA */ Vec3s upperBodyRot;
+4 -4
View File
@@ -87,7 +87,7 @@ void EnZot_Init(Actor* thisx, GlobalContext* globalCtx2) {
Actor_SetScale(&this->actor, 0.01f);
this->actionFunc = func_80B97100;
SkelAnime_InitFlex(globalCtx, &this->skelAnime, &gZoraSkel, &gZoraIdleAnim, this->jointTable, this->morphTable, 20);
Animation_PlayLoop(&this->skelAnime, &object_zo_Anim_00DE20);
Animation_PlayLoop(&this->skelAnime, &gZoraStandAnim);
this->unk_2F0 = 0;
Collider_InitAndSetCylinder(globalCtx, &this->collider, &this->actor, &sCylinderInit);
@@ -235,9 +235,9 @@ void EnZot_Destroy(Actor* thisx, GlobalContext* globalCtx) {
void func_80B96BEC(EnZot* this, s16 arg1, u8 arg2) {
static AnimationHeader* sAnimations[] = {
&object_zo_Anim_00DE20, &gZoraWalkAnim, &object_zo_Anim_00F4E8, &object_zo_Anim_00E400,
&object_zo_Anim_00FDF0, &object_zo_Anim_010B18, &object_zo_Anim_011424, &object_zo_Anim_00EDF0,
&object_zo_Anim_00DF54, &object_zo_Anim_00DF54,
&gZoraStandAnim, &gZoraWalkAnim, &gZoraSitAnim, &gZoraRunAnim,
&gZoraFixSpeakerStartAnim, &gZoraFixSpeakerLoopAnim, &gZoraFixSpeakerEndAnim, &gZoraBobHandAnim,
&gZoraListenAnim, &gZoraListenAnim,
};
if ((arg1 >= 0) && (arg1 < 10)) {
+7 -7
View File
@@ -188,7 +188,7 @@ void func_80BDC830(EnZowStruct* ptr, GlobalContext* globalCtx) {
if (ptr->unk_00 == 1) {
if (!flag) {
gDPPipeSync(POLY_XLU_DISP++);
gSPDisplayList(POLY_XLU_DISP++, object_zo_DL_00D220);
gSPDisplayList(POLY_XLU_DISP++, gZoraRippleMaterialDL);
gDPSetEnvColor(POLY_XLU_DISP++, 155, 155, 155, 0);
if (1) {}
flag = true;
@@ -201,7 +201,7 @@ void func_80BDC830(EnZowStruct* ptr, GlobalContext* globalCtx) {
gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(globalCtx->state.gfxCtx),
G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
gSPDisplayList(POLY_XLU_DISP++, object_zo_DL_00D288);
gSPDisplayList(POLY_XLU_DISP++, gZoraRippleModelDL);
}
}
@@ -219,7 +219,7 @@ void func_80BDC9DC(EnZowStruct* ptr, GlobalContext* globalCtx) {
for (i = 0; i < 15; i++, ptr++) {
if (ptr->unk_00 == 3) {
if (!flag) {
gSPDisplayList(POLY_XLU_DISP++, object_zo_DL_0029F0);
gSPDisplayList(POLY_XLU_DISP++, gZoraBubbleMaterialDL);
gDPPipeSync(POLY_XLU_DISP++);
gDPSetEnvColor(POLY_XLU_DISP++, 150, 150, 150, 0);
gDPSetPrimColor(POLY_XLU_DISP++, 0, 0, 255, 255, 255, 255);
@@ -233,7 +233,7 @@ void func_80BDC9DC(EnZowStruct* ptr, GlobalContext* globalCtx) {
gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(globalCtx->state.gfxCtx),
G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
gSPDisplayList(POLY_XLU_DISP++, object_zo_DL_002A50);
gSPDisplayList(POLY_XLU_DISP++, gZoraBubbleModelDL);
}
}
@@ -251,7 +251,7 @@ void func_80BDCB84(EnZowStruct* ptr, GlobalContext* globalCtx) {
for (i = 0; i < 15; i++, ptr++) {
if (ptr->unk_00 == 2) {
if (!flag) {
gSPDisplayList(POLY_XLU_DISP++, object_zo_DL_002BA0);
gSPDisplayList(POLY_XLU_DISP++, gZoraSplashMaterialDL);
gDPPipeSync(POLY_XLU_DISP++);
gDPSetEnvColor(POLY_XLU_DISP++, 200, 200, 200, 0);
if (1) {}
@@ -266,7 +266,7 @@ void func_80BDCB84(EnZowStruct* ptr, GlobalContext* globalCtx) {
gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(globalCtx->state.gfxCtx),
G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
gSPDisplayList(POLY_XLU_DISP++, object_zo_DL_002C10);
gSPDisplayList(POLY_XLU_DISP++, gZoraSplashModelDL);
}
}
@@ -333,7 +333,7 @@ void EnZow_Destroy(Actor* thisx, GlobalContext* globalCtx) {
Collider_DestroyCylinder(globalCtx, &this->collider);
}
static AnimationHeader* sAnimations[] = { &object_zo_Anim_004168, &gZoraSurfacingAnim, &gZoraSurfacingAnim };
static AnimationHeader* sAnimations[] = { &gZoraTreadingWaterAnim, &gZoraSurfacingAnim, &gZoraSurfacingAnim };
void func_80BDD04C(EnZow* this, s16 arg1, u8 arg2) {
if ((arg1 >= 0) && (arg1 < 3)) {
@@ -721,7 +721,7 @@ void func_808DDE9C(Actor* thisx, GlobalContext* globalCtx2) {
gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(globalCtx->state.gfxCtx),
G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
gSPDisplayList(POLY_XLU_DISP++, gameplay_keep_DL_030100);
gSPDisplayList(POLY_XLU_DISP++, gEffShockwaveDL);
}
}