1
0
Fork 0
mirror of https://github.com/zeldaret/oot.git synced 2025-07-04 15:04:31 +00:00

Assets: Move limb enums into xmls 2 (#2626)

This commit is contained in:
Dragorn421 2025-06-12 23:23:47 +02:00 committed by GitHub
parent 1df6a3ee12
commit e4e14a6bcf
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
13 changed files with 133 additions and 216 deletions

View file

@ -35,22 +35,22 @@
<Texture Name="gWindmillManMouthAngryTex" Format="ci8" Width="32" Height="16" Offset="0x6920" TlutOffset="0x4E60"/>
<Texture Name="gWindmillManHairTex" Format="ci8" Width="8" Height="16" Offset="0x6B20" TlutOffset="0x4E60"/>
<Skeleton Name="gWindmillManSkel" Type="Flex" LimbType="Standard" Offset="0x6C90"/>
<Limb Name="gWindmillManTorsoLimb" LimbType="Standard" Offset="0x6BA0"/>
<Limb Name="gWindmillManLeftThighLimb" LimbType="Standard" Offset="0x6BAC"/>
<Limb Name="gWindmillManLeftLegLimb" LimbType="Standard" Offset="0x6BB8"/>
<Limb Name="gWindmillManLeftFootLimb" LimbType="Standard" Offset="0x6BC4"/>
<Limb Name="gWindmillManRightThighLimb" LimbType="Standard" Offset="0x6BD0"/>
<Limb Name="gWindmillManRightLegLimb" LimbType="Standard" Offset="0x6BDC"/>
<Limb Name="gWindmillManRightFootLimb" LimbType="Standard" Offset="0x6BE8"/>
<Limb Name="gWindmillManChestAndMusicBoxPipeLimb" LimbType="Standard" Offset="0x6BF4"/>
<Limb Name="gWindmillManLeftArmAndMusicBoxLimb" LimbType="Standard" Offset="0x6C00"/>
<Limb Name="gWindmillManLimb_006C0C" LimbType="Standard" Offset="0x6C0C"/> <!--A random triangle near the right side of the music box-->
<Limb Name="gWindmillManRightShoulderLimb" LimbType="Standard" Offset="0x6C18"/>
<Limb Name="gWindmillManRightArmLimb" LimbType="Standard" Offset="0x6C24"/>
<Limb Name="gWindmillManRightHandAndCrankLimb" LimbType="Standard" Offset="0x6C30"/>
<Limb Name="gWindmillManHeadLimb" LimbType="Standard" Offset="0x6C3C"/>
<Limb Name="gWindmillManHornLimb" LimbType="Standard" Offset="0x6C48"/>
<Skeleton Name="gWindmillManSkel" Type="Flex" LimbType="Standard" LimbNone="WINDMILL_MAN_LIMB_NONE" LimbMax="WINDMILL_MAN_LIMB_MAX" EnumName="WindmillManLimb" Offset="0x6C90"/>
<Limb Name="gWindmillManTorsoLimb" LimbType="Standard" EnumName="WINDMILL_MAN_LIMB_TORSO" Offset="0x6BA0"/>
<Limb Name="gWindmillManLeftThighLimb" LimbType="Standard" EnumName="WINDMILL_MAN_LIMB_LEFT_THIGH" Offset="0x6BAC"/>
<Limb Name="gWindmillManLeftLegLimb" LimbType="Standard" EnumName="WINDMILL_MAN_LIMB_LEFT_LEG" Offset="0x6BB8"/>
<Limb Name="gWindmillManLeftFootLimb" LimbType="Standard" EnumName="WINDMILL_MAN_LIMB_LEFT_FOOT" Offset="0x6BC4"/>
<Limb Name="gWindmillManRightThighLimb" LimbType="Standard" EnumName="WINDMILL_MAN_LIMB_RIGHT_THIGH" Offset="0x6BD0"/>
<Limb Name="gWindmillManRightLegLimb" LimbType="Standard" EnumName="WINDMILL_MAN_LIMB_RIGHT_LEG" Offset="0x6BDC"/>
<Limb Name="gWindmillManRightFootLimb" LimbType="Standard" EnumName="WINDMILL_MAN_LIMB_RIGHT_FOOT" Offset="0x6BE8"/>
<Limb Name="gWindmillManChestAndMusicBoxPipeLimb" LimbType="Standard" EnumName="WINDMILL_MAN_LIMB_CHEST_MUSIC_BOX" Offset="0x6BF4"/>
<Limb Name="gWindmillManLeftArmAndMusicBoxLimb" LimbType="Standard" EnumName="WINDMILL_MAN_LIMB_LEFT_ARM_MUSIC_BOX" Offset="0x6C00"/>
<Limb Name="gWindmillManLimb_006C0C" LimbType="Standard" EnumName="WINDMILL_MAN_LIMB_UNK" Offset="0x6C0C"/> <!--A random triangle near the right side of the music box-->
<Limb Name="gWindmillManRightShoulderLimb" LimbType="Standard" EnumName="WINDMILL_MAN_LIMB_RIGHT_SHOULDER" Offset="0x6C18"/>
<Limb Name="gWindmillManRightArmLimb" LimbType="Standard" EnumName="WINDMILL_MAN_LIMB_RIGHT_ARM" Offset="0x6C24"/>
<Limb Name="gWindmillManRightHandAndCrankLimb" LimbType="Standard" EnumName="WINDMILL_MAN_LIMB_RIGHT_HAND_AND_CRANK" Offset="0x6C30"/>
<Limb Name="gWindmillManHeadLimb" LimbType="Standard" EnumName="WINDMILL_MAN_LIMB_HEAD" Offset="0x6C3C"/>
<Limb Name="gWindmillManHornLimb" LimbType="Standard" EnumName="WINDMILL_MAN_LIMB_HORN" Offset="0x6C48"/>
<Array Name="gWindmillManBlueTriangleVtx" Count="3" Offset="0xB20">
<Vtx/>

View file

@ -2,24 +2,24 @@
<File Name="object_ge1" Segment="6">
<!-- White-clothed Gerudo Skeleton -->
<Skeleton Name="gGerudoWhiteSkel" Type="Flex" LimbType="Standard" Offset="0x0330"/>
<Skeleton Name="gGerudoWhiteSkel" Type="Flex" LimbType="Standard" LimbNone="GERUDO_WHITE_LIMB_NONE" LimbMax="GERUDO_WHITE_LIMB_MAX" EnumName="GerudoWhiteLimb" Offset="0x0330"/>
<!-- White-clothed Gerudo Limbs -->
<Limb Name="gGerudoWhiteWaistLimb" LimbType="Standard" Offset="0x0240"/>
<Limb Name="gGerudoWhiteLeftThighLimb" LimbType="Standard" Offset="0x024C"/>
<Limb Name="gGerudoWhiteLeftShinLimb" LimbType="Standard" Offset="0x0258"/>
<Limb Name="gGerudoWhiteLeftFootLimb" LimbType="Standard" Offset="0x0264"/>
<Limb Name="gGerudoWhiteRightThighLimb" LimbType="Standard" Offset="0x0270"/>
<Limb Name="gGerudoWhiteRightShinLimb" LimbType="Standard" Offset="0x027C"/>
<Limb Name="gGerudoWhiteRightFootLimb" LimbType="Standard" Offset="0x0288"/>
<Limb Name="gGerudoWhiteTorsoLimb" LimbType="Standard" Offset="0x0294"/>
<Limb Name="gGerudoWhiteLeftUpperArmLimb" LimbType="Standard" Offset="0x02A0"/>
<Limb Name="gGerudoWhiteLeftForearmLimb" LimbType="Standard" Offset="0x02AC"/>
<Limb Name="gGerudoWhiteLeftHandLimb" LimbType="Standard" Offset="0x02B8"/>
<Limb Name="gGerudoWhiteRightUpperArmLimb" LimbType="Standard" Offset="0x02C4"/>
<Limb Name="gGerudoWhiteRightForearmLimb" LimbType="Standard" Offset="0x02D0"/>
<Limb Name="gGerudoWhiteRightHandLimb" LimbType="Standard" Offset="0x02DC"/>
<Limb Name="gGerudoWhiteHeadLimb" LimbType="Standard" Offset="0x02E8"/>
<Limb Name="gGerudoWhiteWaistLimb" LimbType="Standard" EnumName="GERUDO_WHITE_LIMB_WAIST" Offset="0x0240"/>
<Limb Name="gGerudoWhiteLeftThighLimb" LimbType="Standard" EnumName="GERUDO_WHITE_LIMB_L_THIGH" Offset="0x024C"/>
<Limb Name="gGerudoWhiteLeftShinLimb" LimbType="Standard" EnumName="GERUDO_WHITE_LIMB_L_SHIN" Offset="0x0258"/>
<Limb Name="gGerudoWhiteLeftFootLimb" LimbType="Standard" EnumName="GERUDO_WHITE_LIMB_L_FOOT" Offset="0x0264"/>
<Limb Name="gGerudoWhiteRightThighLimb" LimbType="Standard" EnumName="GERUDO_WHITE_LIMB_R_THIGH" Offset="0x0270"/>
<Limb Name="gGerudoWhiteRightShinLimb" LimbType="Standard" EnumName="GERUDO_WHITE_LIMB_R_SHIN" Offset="0x027C"/>
<Limb Name="gGerudoWhiteRightFootLimb" LimbType="Standard" EnumName="GERUDO_WHITE_LIMB_R_FOOT" Offset="0x0288"/>
<Limb Name="gGerudoWhiteTorsoLimb" LimbType="Standard" EnumName="GERUDO_WHITE_LIMB_TORSO" Offset="0x0294"/>
<Limb Name="gGerudoWhiteLeftUpperArmLimb" LimbType="Standard" EnumName="GERUDO_WHITE_LIMB_L_UPPER_ARM" Offset="0x02A0"/>
<Limb Name="gGerudoWhiteLeftForearmLimb" LimbType="Standard" EnumName="GERUDO_WHITE_LIMB_L_FOREARM" Offset="0x02AC"/>
<Limb Name="gGerudoWhiteLeftHandLimb" LimbType="Standard" EnumName="GERUDO_WHITE_LIMB_L_HAND" Offset="0x02B8"/>
<Limb Name="gGerudoWhiteRightUpperArmLimb" LimbType="Standard" EnumName="GERUDO_WHITE_LIMB_R_UPPER_ARM" Offset="0x02C4"/>
<Limb Name="gGerudoWhiteRightForearmLimb" LimbType="Standard" EnumName="GERUDO_WHITE_LIMB_R_FOREARM" Offset="0x02D0"/>
<Limb Name="gGerudoWhiteRightHandLimb" LimbType="Standard" EnumName="GERUDO_WHITE_LIMB_R_HAND" Offset="0x02DC"/>
<Limb Name="gGerudoWhiteHeadLimb" LimbType="Standard" EnumName="GERUDO_WHITE_LIMB_HEAD" Offset="0x02E8"/>
<!-- White-clothed Gerudo Limb DisplayLists -->
<DList Name="gGerudoWhiteWaistDL" Offset="0x69E0"/>

View file

@ -1,7 +1,7 @@
<Root>
<File Name="object_geldb" Segment="6">
<!-- Red-clothed Gerudo skeleton -->
<Skeleton Name="gGerudoRedSkel" Type="Flex" LimbType="Standard" Offset="0xA458"/>
<Skeleton Name="gGerudoRedSkel" Type="Flex" LimbType="Standard" LimbNone="GERUDO_RED_LIMB_NONE" LimbMax="GERUDO_RED_LIMB_MAX" EnumName="GerudoRedLimb" Offset="0xA458"/>
<!-- Red-clothed Gerudo animations -->
<Animation Name="gGerudoRedJumpAnim" Offset="0xADF8"/>
@ -120,28 +120,28 @@
<DList Name="object_geldb_0099A8_DL" Offset="0x99A8"/>
<DList Name="object_geldb_009A60_DL" Offset="0x9A60"/>
<DList Name="object_geldb_009B50_DL" Offset="0x9B50"/>
<Limb Name="object_geldb_00A2E8_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_GELDB_00A2E8" Offset="0xA2E8"/>
<Limb Name="object_geldb_00A2F4_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_GELDB_00A2F4" Offset="0xA2F4"/>
<Limb Name="object_geldb_00A300_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_GELDB_00A300" Offset="0xA300"/>
<Limb Name="object_geldb_00A30C_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_GELDB_00A30C" Offset="0xA30C"/>
<Limb Name="object_geldb_00A318_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_GELDB_00A318" Offset="0xA318"/>
<Limb Name="object_geldb_00A324_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_GELDB_00A324" Offset="0xA324"/>
<Limb Name="object_geldb_00A330_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_GELDB_00A330" Offset="0xA330"/>
<Limb Name="object_geldb_00A33C_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_GELDB_00A33C" Offset="0xA33C"/>
<Limb Name="object_geldb_00A348_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_GELDB_00A348" Offset="0xA348"/>
<Limb Name="object_geldb_00A354_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_GELDB_00A354" Offset="0xA354"/>
<Limb Name="object_geldb_00A360_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_GELDB_00A360" Offset="0xA360"/>
<Limb Name="object_geldb_00A36C_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_GELDB_00A36C" Offset="0xA36C"/>
<Limb Name="object_geldb_00A378_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_GELDB_00A378" Offset="0xA378"/>
<Limb Name="object_geldb_00A384_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_GELDB_00A384" Offset="0xA384"/>
<Limb Name="object_geldb_00A390_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_GELDB_00A390" Offset="0xA390"/>
<Limb Name="object_geldb_00A39C_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_GELDB_00A39C" Offset="0xA39C"/>
<Limb Name="object_geldb_00A3A8_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_GELDB_00A3A8" Offset="0xA3A8"/>
<Limb Name="object_geldb_00A3B4_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_GELDB_00A3B4" Offset="0xA3B4"/>
<Limb Name="object_geldb_00A3C0_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_GELDB_00A3C0" Offset="0xA3C0"/>
<Limb Name="object_geldb_00A3CC_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_GELDB_00A3CC" Offset="0xA3CC"/>
<Limb Name="object_geldb_00A3D8_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_GELDB_00A3D8" Offset="0xA3D8"/>
<Limb Name="object_geldb_00A3E4_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_GELDB_00A3E4" Offset="0xA3E4"/>
<Limb Name="object_geldb_00A3F0_Limb" LimbType="Standard" EnumName="LIMB_OBJECT_GELDB_00A3F0" Offset="0xA3F0"/>
<Limb Name="object_geldb_00A2E8_Limb" LimbType="Standard" EnumName="GERUDO_RED_LIMB_ROOT" Offset="0xA2E8"/>
<Limb Name="object_geldb_00A2F4_Limb" LimbType="Standard" EnumName="GERUDO_RED_LIMB_TORSO" Offset="0xA2F4"/>
<Limb Name="object_geldb_00A300_Limb" LimbType="Standard" EnumName="GERUDO_RED_LIMB_NECK" Offset="0xA300"/>
<Limb Name="object_geldb_00A30C_Limb" LimbType="Standard" EnumName="GERUDO_RED_LIMB_PONYTAIL" Offset="0xA30C"/>
<Limb Name="object_geldb_00A318_Limb" LimbType="Standard" EnumName="GERUDO_RED_LIMB_VEIL" Offset="0xA318"/>
<Limb Name="object_geldb_00A324_Limb" LimbType="Standard" EnumName="GERUDO_RED_LIMB_HEAD" Offset="0xA324"/>
<Limb Name="object_geldb_00A330_Limb" LimbType="Standard" EnumName="GERUDO_RED_LIMB_R_UPPER_ARM" Offset="0xA330"/>
<Limb Name="object_geldb_00A33C_Limb" LimbType="Standard" EnumName="GERUDO_RED_LIMB_R_FOREARM" Offset="0xA33C"/>
<Limb Name="object_geldb_00A348_Limb" LimbType="Standard" EnumName="GERUDO_RED_LIMB_R_WRIST" Offset="0xA348"/>
<Limb Name="object_geldb_00A354_Limb" LimbType="Standard" EnumName="GERUDO_RED_LIMB_R_HAND" Offset="0xA354"/>
<Limb Name="object_geldb_00A360_Limb" LimbType="Standard" EnumName="GERUDO_RED_LIMB_R_SWORD" Offset="0xA360"/>
<Limb Name="object_geldb_00A36C_Limb" LimbType="Standard" EnumName="GERUDO_RED_LIMB_L_UPPER_ARM" Offset="0xA36C"/>
<Limb Name="object_geldb_00A378_Limb" LimbType="Standard" EnumName="GERUDO_RED_LIMB_L_FOREARM" Offset="0xA378"/>
<Limb Name="object_geldb_00A384_Limb" LimbType="Standard" EnumName="GERUDO_RED_LIMB_L_WRIST" Offset="0xA384"/>
<Limb Name="object_geldb_00A390_Limb" LimbType="Standard" EnumName="GERUDO_RED_LIMB_L_HAND" Offset="0xA390"/>
<Limb Name="object_geldb_00A39C_Limb" LimbType="Standard" EnumName="GERUDO_RED_LIMB_L_SWORD" Offset="0xA39C"/>
<Limb Name="object_geldb_00A3A8_Limb" LimbType="Standard" EnumName="GERUDO_RED_LIMB_L_THIGH" Offset="0xA3A8"/>
<Limb Name="object_geldb_00A3B4_Limb" LimbType="Standard" EnumName="GERUDO_RED_LIMB_L_SHIN" Offset="0xA3B4"/>
<Limb Name="object_geldb_00A3C0_Limb" LimbType="Standard" EnumName="GERUDO_RED_LIMB_L_FOOT" Offset="0xA3C0"/>
<Limb Name="object_geldb_00A3CC_Limb" LimbType="Standard" EnumName="GERUDO_RED_LIMB_R_THIGH" Offset="0xA3CC"/>
<Limb Name="object_geldb_00A3D8_Limb" LimbType="Standard" EnumName="GERUDO_RED_LIMB_R_SHIN" Offset="0xA3D8"/>
<Limb Name="object_geldb_00A3E4_Limb" LimbType="Standard" EnumName="GERUDO_RED_LIMB_R_FOOT" Offset="0xA3E4"/>
<Limb Name="object_geldb_00A3F0_Limb" LimbType="Standard" EnumName="GERUDO_RED_LIMB_WAIST" Offset="0xA3F0"/>
</File>
</Root>

View file

@ -7,29 +7,29 @@
<Animation Name="gFlagpoleFlapAnim" Offset="0x444"/>
<!-- Flagpole Skeleton -->
<Skeleton Name="gFlagpoleSkel" Type="Normal" LimbType="Standard" Offset="0x2FD0"/>
<Skeleton Name="gFlagpoleSkel" Type="Normal" LimbType="Standard" LimbNone="FLAGPOLE_LIMB_NONE" LimbMax="FLAGPOLE_LIMB_MAX" EnumName="FlagpoleLimb" Offset="0x2FD0"/>
<!-- Flagpole Limbs -->
<Limb Name="gFlagpolePoleBaseLimb" LimbType="Standard" Offset="0x2E90"/>
<Limb Name="gFlagpolePoleLimb" LimbType="Standard" Offset="0x2E9C"/>
<Limb Name="gFlagpoleFlag1BaseLimb" LimbType="Standard" Offset="0x2EA8"/>
<Limb Name="gFlagpoleFlag1HoistEndBaseLimb" LimbType="Standard" Offset="0x2EB4"/>
<Limb Name="gFlagpoleFlag1HoistMidBaseLimb" LimbType="Standard" Offset="0x2EC0"/>
<Limb Name="gFlagpoleFlag1FlyMidBaseLimb" LimbType="Standard" Offset="0x2ECC"/>
<Limb Name="gFlagpoleFlag1FlyEndBaseLimb" LimbType="Standard" Offset="0x2ED8"/>
<Limb Name="gFlagpoleFlag1FlyEndLimb" LimbType="Standard" Offset="0x2EE4"/>
<Limb Name="gFlagpoleFlag1FlyMidLimb" LimbType="Standard" Offset="0x2EF0"/>
<Limb Name="gFlagpoleFlag1HoistMidLimb" LimbType="Standard" Offset="0x2EFC"/>
<Limb Name="gFlagpoleFlag1HoistEndLimb" LimbType="Standard" Offset="0x2F08"/>
<Limb Name="gFlagpoleFlag2BaseLimb" LimbType="Standard" Offset="0x2F14"/>
<Limb Name="gFlagpoleFlag2HoistEndBaseLimb" LimbType="Standard" Offset="0x2F20"/>
<Limb Name="gFlagpoleFlag2HoistMidBaseLimb" LimbType="Standard" Offset="0x2F2C"/>
<Limb Name="gFlagpoleFlag2FlyMidBaseLimb" LimbType="Standard" Offset="0x2F38"/>
<Limb Name="gFlagpoleFlag2FlyEndBaseLimb" LimbType="Standard" Offset="0x2F44"/>
<Limb Name="gFlagpoleFlag2FlyEndLimb" LimbType="Standard" Offset="0x2F50"/>
<Limb Name="gFlagpoleFlag2FlyMidLimb" LimbType="Standard" Offset="0x2F5C"/>
<Limb Name="gFlagpoleFlag2HoistMidLimb" LimbType="Standard" Offset="0x2F68"/>
<Limb Name="gFlagpoleFlag2HoistEndLimb" LimbType="Standard" Offset="0x2F74"/>
<Limb Name="gFlagpolePoleBaseLimb" LimbType="Standard" EnumName="FLAGPOLE_LIMB_POLE_BASE" Offset="0x2E90"/>
<Limb Name="gFlagpolePoleLimb" LimbType="Standard" EnumName="FLAGPOLE_LIMB_POLE" Offset="0x2E9C"/>
<Limb Name="gFlagpoleFlag1BaseLimb" LimbType="Standard" EnumName="FLAGPOLE_LIMB_FLAG_1_BASE" Offset="0x2EA8"/>
<Limb Name="gFlagpoleFlag1HoistEndBaseLimb" LimbType="Standard" EnumName="FLAGPOLE_LIMB_FLAG_1_HOIST_END_BASE" Offset="0x2EB4"/>
<Limb Name="gFlagpoleFlag1HoistMidBaseLimb" LimbType="Standard" EnumName="FLAGPOLE_LIMB_FLAG_1_HOIST_MID_BASE" Offset="0x2EC0"/>
<Limb Name="gFlagpoleFlag1FlyMidBaseLimb" LimbType="Standard" EnumName="FLAGPOLE_LIMB_FLAG_1_FLY_MID_BASE" Offset="0x2ECC"/>
<Limb Name="gFlagpoleFlag1FlyEndBaseLimb" LimbType="Standard" EnumName="FLAGPOLE_LIMB_FLAG_1_FLY_END_BASE" Offset="0x2ED8"/>
<Limb Name="gFlagpoleFlag1FlyEndLimb" LimbType="Standard" EnumName="FLAGPOLE_LIMB_FLAG_1_FLY_END" Offset="0x2EE4"/>
<Limb Name="gFlagpoleFlag1FlyMidLimb" LimbType="Standard" EnumName="FLAGPOLE_LIMB_FLAG_1_FLY_MID" Offset="0x2EF0"/>
<Limb Name="gFlagpoleFlag1HoistMidLimb" LimbType="Standard" EnumName="FLAGPOLE_LIMB_FLAG_1_HOIST_MID" Offset="0x2EFC"/>
<Limb Name="gFlagpoleFlag1HoistEndLimb" LimbType="Standard" EnumName="FLAGPOLE_LIMB_FLAG_1_HOIST_END" Offset="0x2F08"/>
<Limb Name="gFlagpoleFlag2BaseLimb" LimbType="Standard" EnumName="FLAGPOLE_LIMB_FLAG_2_BASE" Offset="0x2F14"/>
<Limb Name="gFlagpoleFlag2HoistEndBaseLimb" LimbType="Standard" EnumName="FLAGPOLE_LIMB_FLAG_2_HOIST_END_BASE" Offset="0x2F20"/>
<Limb Name="gFlagpoleFlag2HoistMidBaseLimb" LimbType="Standard" EnumName="FLAGPOLE_LIMB_FLAG_2_HOIST_MID_BASE" Offset="0x2F2C"/>
<Limb Name="gFlagpoleFlag2FlyMidBaseLimb" LimbType="Standard" EnumName="FLAGPOLE_LIMB_FLAG_2_FLY_MID_BASE" Offset="0x2F38"/>
<Limb Name="gFlagpoleFlag2FlyEndBaseLimb" LimbType="Standard" EnumName="FLAGPOLE_LIMB_FLAG_2_FLY_END_BASE" Offset="0x2F44"/>
<Limb Name="gFlagpoleFlag2FlyEndLimb" LimbType="Standard" EnumName="FLAGPOLE_LIMB_FLAG_2_FLY_END" Offset="0x2F50"/>
<Limb Name="gFlagpoleFlag2FlyMidLimb" LimbType="Standard" EnumName="FLAGPOLE_LIMB_FLAG_2_FLY_MID" Offset="0x2F5C"/>
<Limb Name="gFlagpoleFlag2HoistMidLimb" LimbType="Standard" EnumName="FLAGPOLE_LIMB_FLAG_2_HOIST_MID" Offset="0x2F68"/>
<Limb Name="gFlagpoleFlag2HoistEndLimb" LimbType="Standard" EnumName="FLAGPOLE_LIMB_FLAG_2_HOIST_END" Offset="0x2F74"/>
<!-- Flagpole Vertices -->
<Array Name="gFlagpolePoleVtx" Count="39" Offset="0x2460">

View file

@ -92,7 +92,7 @@ void EnFu_Init(Actor* thisx, PlayState* play) {
ActorShape_Init(&this->actor.shape, 0.0f, ActorShadow_DrawCircle, 36.0f);
SkelAnime_InitFlex(play, &this->skelanime, &gWindmillManSkel, &gWindmillManPlayStillAnim, this->jointTable,
this->morphTable, FU_LIMB_MAX);
this->morphTable, WINDMILL_MAN_LIMB_MAX);
Animation_PlayLoop(&this->skelanime, &gWindmillManPlayStillAnim);
Collider_InitCylinder(play, &this->collider);
Collider_SetCylinder(play, &this->collider, &this->actor, &sCylinderInit);
@ -276,15 +276,15 @@ s32 EnFu_OverrideLimbDraw(PlayState* play, s32 limbIndex, Gfx** dList, Vec3f* po
EnFu* this = (EnFu*)thisx;
s32 pad;
if (limbIndex == FU_LIMB_UNK) {
if (limbIndex == WINDMILL_MAN_LIMB_UNK) {
return false;
}
switch (limbIndex) {
case FU_LIMB_HEAD:
case WINDMILL_MAN_LIMB_HEAD:
rot->x += this->lookAngleOffset.y;
rot->z += this->lookAngleOffset.x;
break;
case FU_LIMB_CHEST_MUSIC_BOX:
case WINDMILL_MAN_LIMB_CHEST_MUSIC_BOX:
break;
}
@ -292,7 +292,7 @@ s32 EnFu_OverrideLimbDraw(PlayState* play, s32 limbIndex, Gfx** dList, Vec3f* po
return false;
}
if (limbIndex == FU_LIMB_CHEST_MUSIC_BOX) {
if (limbIndex == WINDMILL_MAN_LIMB_CHEST_MUSIC_BOX) {
rot->y += Math_SinS((play->state.frames * (limbIndex * FIDGET_FREQ_LIMB + FIDGET_FREQ_Y))) * FIDGET_AMPLITUDE;
rot->z += Math_CosS((play->state.frames * (limbIndex * FIDGET_FREQ_LIMB + FIDGET_FREQ_Z))) * FIDGET_AMPLITUDE;
}
@ -302,7 +302,7 @@ s32 EnFu_OverrideLimbDraw(PlayState* play, s32 limbIndex, Gfx** dList, Vec3f* po
void EnFu_PostLimbDraw(PlayState* play, s32 limbIndex, Gfx** dList, Vec3s* rot, void* thisx) {
EnFu* this = (EnFu*)thisx;
if (limbIndex == FU_LIMB_HEAD) {
if (limbIndex == WINDMILL_MAN_LIMB_HEAD) {
Matrix_MultVec3f(&sMtxSrc, &this->actor.focus.pos);
}
}

View file

@ -4,36 +4,18 @@
#include "ultra64.h"
#include "actor.h"
#include "assets/objects/object_fu/object_fu.h"
struct EnFu;
typedef void (*EnFuActionFunc)(struct EnFu*, struct PlayState*);
typedef enum EnFuLimb {
/* 0x00 */ FU_LIMB_ROOT,
/* 0x01 */ FU_LIMB_TORSO,
/* 0x02 */ FU_LIMB_LEFT_THIGH,
/* 0x03 */ FU_LIMB_LEFT_LEG,
/* 0x04 */ FU_LIMB_LEFT_FOOT,
/* 0x05 */ FU_LIMB_RIGHT_THIGH,
/* 0x06 */ FU_LIMB_RIGHT_LEG,
/* 0x07 */ FU_LIMB_RIGHT_FOOT,
/* 0x08 */ FU_LIMB_CHEST_MUSIC_BOX,
/* 0x09 */ FU_LIMB_LEFT_ARM_MUSIC_BOX,
/* 0x0A */ FU_LIMB_UNK,
/* 0x0B */ FU_LIMB_RIGHT_SHOULDER,
/* 0x0C */ FU_LIMB_RIGHT_ARM,
/* 0x0D */ FU_LIMB_RIGHT_HAND_AND_CRANK,
/* 0x0E */ FU_LIMB_HEAD,
/* 0x0F */ FU_LIMB_HORN,
/* 0x10 */ FU_LIMB_MAX
} EnFuLimb;
typedef struct EnFu {
/* 0x0000 */ Actor actor;
/* 0x014C */ ColliderCylinder collider;
/* 0x0198 */ SkelAnime skelanime;
/* 0x01DC */ Vec3s jointTable[FU_LIMB_MAX];
/* 0x023C */ Vec3s morphTable[FU_LIMB_MAX];
/* 0x01DC */ Vec3s jointTable[WINDMILL_MAN_LIMB_MAX];
/* 0x023C */ Vec3s morphTable[WINDMILL_MAN_LIMB_MAX];
/* 0x029C */ Vec3s lookAngleOffset; // offset applied to neck rotation to look at link when he is close
/* 0x02A2 */ Vec3s unk_2A2;
/* 0x02A8 */ u16 behaviorFlags;

View file

@ -107,7 +107,7 @@ void EnGe1_Init(Actor* thisx, PlayState* play) {
ActorShape_Init(&this->actor.shape, 0.0f, ActorShadow_DrawCircle, 30.0f);
SkelAnime_InitFlex(play, &this->skelAnime, &gGerudoWhiteSkel, &gGerudoWhiteIdleAnim, this->jointTable,
this->morphTable, GE1_LIMB_MAX);
this->morphTable, GERUDO_WHITE_LIMB_MAX);
Animation_PlayOnce(&this->skelAnime, &gGerudoWhiteIdleAnim);
Collider_InitCylinder(play, &this->collider);
Collider_SetCylinder(play, &this->collider, &this->actor, &sCylinderInit);
@ -780,7 +780,7 @@ s32 EnGe1_OverrideLimbDraw(PlayState* play, s32 limbIndex, Gfx** dList, Vec3f* p
s32 pad;
EnGe1* this = (EnGe1*)thisx;
if (limbIndex == GE1_LIMB_HEAD) {
if (limbIndex == GERUDO_WHITE_LIMB_HEAD) {
rot->x += this->headRot.y;
rot->z += this->headRot.x;
}
@ -792,7 +792,8 @@ s32 EnGe1_OverrideLimbDraw(PlayState* play, s32 limbIndex, Gfx** dList, Vec3f* p
// The purpose of the state flag GE1_STATE_STOP_FIDGET is to skip this code, which this actor has in lieu of an idle
// animation.
if ((limbIndex == GE1_LIMB_TORSO) || (limbIndex == GE1_LIMB_L_FOREARM) || (limbIndex == GE1_LIMB_R_FOREARM)) {
if ((limbIndex == GERUDO_WHITE_LIMB_TORSO) || (limbIndex == GERUDO_WHITE_LIMB_L_FOREARM) ||
(limbIndex == GERUDO_WHITE_LIMB_R_FOREARM)) {
rot->y += Math_SinS(play->state.frames * (limbIndex * FIDGET_FREQ_LIMB + FIDGET_FREQ_Y)) * FIDGET_AMPLITUDE;
rot->z += Math_CosS(play->state.frames * (limbIndex * FIDGET_FREQ_LIMB + FIDGET_FREQ_Z)) * FIDGET_AMPLITUDE;
}
@ -804,7 +805,7 @@ void EnGe1_PostLimbDraw(PlayState* play, s32 limbIndex, Gfx** dList, Vec3s* rot,
OPEN_DISPS(play->state.gfxCtx, "../z_en_ge1.c", 1419);
if (limbIndex == GE1_LIMB_HEAD) {
if (limbIndex == GERUDO_WHITE_LIMB_HEAD) {
gSPDisplayList(POLY_OPA_DISP++, sHairstyleDLists[this->hairstyle]);
Matrix_MultVec3f(&D_80A327A8, &this->actor.focus.pos);
}

View file

@ -4,6 +4,8 @@
#include "ultra64.h"
#include "actor.h"
#include "assets/objects/object_ge1/object_ge1.h"
struct EnGe1;
typedef void (*EnGe1AnimFunc)(struct EnGe1*);
@ -18,32 +20,12 @@ typedef enum EnGe1Type {
/* 0x46 */ GE1_TYPE_TRAINING_GROUNDS_GUARD
} EnGe1Type;
typedef enum EnGe1Limb {
/* 00 */ GE1_LIMB_NONE,
/* 01 */ GE1_LIMB_WAIST,
/* 02 */ GE1_LIMB_L_THIGH,
/* 03 */ GE1_LIMB_L_LOWER_LEG,
/* 04 */ GE1_LIMB_L_FOOT,
/* 05 */ GE1_LIMB_R_THIGH,
/* 06 */ GE1_LIMB_R_LOWER_LEG,
/* 07 */ GE1_LIMB_R_FOOT,
/* 08 */ GE1_LIMB_TORSO,
/* 09 */ GE1_LIMB_L_UPPER_ARM,
/* 10 */ GE1_LIMB_L_FOREARM,
/* 11 */ GE1_LIMB_L_HAND,
/* 12 */ GE1_LIMB_R_UPPER_ARM,
/* 13 */ GE1_LIMB_R_FOREARM,
/* 14 */ GE1_LIMB_R_HAND,
/* 15 */ GE1_LIMB_HEAD,
/* 16 */ GE1_LIMB_MAX
} EnGe1Limb;
typedef struct EnGe1 {
/* 0x0000 */ Actor actor;
/* 0x014C */ ColliderCylinder collider;
/* 0x0198 */ SkelAnime skelAnime;
/* 0x01DC */ Vec3s jointTable[GE1_LIMB_MAX];
/* 0x023C */ Vec3s morphTable[GE1_LIMB_MAX];
/* 0x01DC */ Vec3s jointTable[GERUDO_WHITE_LIMB_MAX];
/* 0x023C */ Vec3s morphTable[GERUDO_WHITE_LIMB_MAX];
/* 0x029C */ Vec3s headRot;
/* 0x02A2 */ Vec3s unk_2A2;
/* 0x02A8 */ s16 eyeIndex;

View file

@ -81,7 +81,7 @@ void EnGe3_Init(Actor* thisx, PlayState* play2) {
ActorShape_Init(&this->actor.shape, 0.0f, ActorShadow_DrawCircle, 36.0f);
SkelAnime_InitFlex(play, &this->skelAnime, &gGerudoRedSkel, NULL, this->jointTable, this->morphTable,
GELDB_LIMB_MAX);
GERUDO_RED_LIMB_MAX);
Animation_PlayLoop(&this->skelAnime, &gGerudoRedStandAnim);
Collider_InitCylinder(play, &this->collider);
Collider_SetCylinder(play, &this->collider, &this->actor, &sCylinderInit);
@ -241,13 +241,13 @@ s32 EnGe3_OverrideLimbDraw(PlayState* play, s32 limbIndex, Gfx** dList, Vec3f* p
switch (limbIndex) {
// Hide swords and veil from object_geldb
case GELDB_LIMB_VEIL:
case GELDB_LIMB_R_SWORD:
case GELDB_LIMB_L_SWORD:
case GERUDO_RED_LIMB_VEIL:
case GERUDO_RED_LIMB_R_SWORD:
case GERUDO_RED_LIMB_L_SWORD:
*dList = NULL;
return false;
// Turn head
case GELDB_LIMB_HEAD:
case GERUDO_RED_LIMB_HEAD:
rot->x += this->headRot.y;
#if OOT_VERSION >= PAL_1_1
FALLTHROUGH;
@ -256,14 +256,14 @@ s32 EnGe3_OverrideLimbDraw(PlayState* play, s32 limbIndex, Gfx** dList, Vec3f* p
// depending on what was drawn earlier in the frame.
OPEN_DISPS(play->state.gfxCtx, "../z_en_ge3.c", 547);
switch (limbIndex) {
case GELDB_LIMB_NECK:
case GERUDO_RED_LIMB_NECK:
break;
case GELDB_LIMB_HEAD:
case GERUDO_RED_LIMB_HEAD:
gDPPipeSync(POLY_OPA_DISP++);
gDPSetEnvColor(POLY_OPA_DISP++, 80, 60, 10, 255);
break;
case GELDB_LIMB_R_SWORD:
case GELDB_LIMB_L_SWORD:
case GERUDO_RED_LIMB_R_SWORD:
case GERUDO_RED_LIMB_L_SWORD:
gDPPipeSync(POLY_OPA_DISP++);
gDPSetEnvColor(POLY_OPA_DISP++, 140, 170, 230, 255);
gDPSetPrimColor(POLY_OPA_DISP++, 0, 0, 255, 255, 255, 255);
@ -284,7 +284,7 @@ void EnGe3_PostLimbDraw(PlayState* play, s32 limbIndex, Gfx** dList, Vec3s* rot,
EnGe3* this = (EnGe3*)thisx;
Vec3f D_80A351C8 = { 600.0f, 700.0f, 0.0f };
if (limbIndex == GELDB_LIMB_HEAD) {
if (limbIndex == GERUDO_RED_LIMB_HEAD) {
Matrix_MultVec3f(&D_80A351C8, &this->actor.focus.pos);
}
}

View file

@ -3,7 +3,8 @@
#include "ultra64.h"
#include "actor.h"
#include "overlays/actors/ovl_En_GeldB/z_en_geldb.h"
#include "assets/objects/object_geldb/object_geldb.h"
struct EnGe3;
@ -13,8 +14,8 @@ typedef struct EnGe3 {
/* 0x0000 */ Actor actor;
/* 0x014C */ ColliderCylinder collider;
/* 0x0198 */ SkelAnime skelAnime;
/* 0x01DC */ Vec3s jointTable[GELDB_LIMB_MAX];
/* 0x026C */ Vec3s morphTable[GELDB_LIMB_MAX];
/* 0x01DC */ Vec3s jointTable[GERUDO_RED_LIMB_MAX];
/* 0x026C */ Vec3s morphTable[GERUDO_RED_LIMB_MAX];
/* 0x02FC */ s16 eyeIndex;
/* 0x02FE */ s16 blinkTimer;
/* 0x0300 */ Vec3s headRot;

View file

@ -251,7 +251,7 @@ void EnGeldB_Init(Actor* thisx, PlayState* play) {
this->blinkState = 0;
this->unkFloat = 10.0f;
SkelAnime_InitFlex(play, &this->skelAnime, &gGerudoRedSkel, &gGerudoRedNeutralAnim, this->jointTable,
this->morphTable, GELDB_LIMB_MAX);
this->morphTable, GERUDO_RED_LIMB_MAX);
Collider_InitCylinder(play, &this->bodyCollider);
Collider_SetCylinder(play, &this->bodyCollider, thisx, &sBodyCylinderInit);
Collider_InitTris(play, &this->blockCollider);
@ -1464,14 +1464,14 @@ s32 EnGeldB_OverrideLimbDraw(PlayState* play, s32 limbIndex, Gfx** dList, Vec3f*
EnGeldB* this = (EnGeldB*)thisx;
OPEN_DISPS(play->state.gfxCtx, "../z_en_geldB.c", 2507);
if (limbIndex == GELDB_LIMB_NECK) {
if (limbIndex == GERUDO_RED_LIMB_NECK) {
rot->z += this->headRot.x;
rot->x += this->headRot.y;
rot->y += this->headRot.z;
} else if (limbIndex == GELDB_LIMB_HEAD) {
} else if (limbIndex == GERUDO_RED_LIMB_HEAD) {
gDPPipeSync(POLY_OPA_DISP++);
gDPSetEnvColor(POLY_OPA_DISP++, 80, 60, 10, 255);
} else if ((limbIndex == GELDB_LIMB_R_SWORD) || (limbIndex == GELDB_LIMB_L_SWORD)) {
} else if ((limbIndex == GERUDO_RED_LIMB_R_SWORD) || (limbIndex == GERUDO_RED_LIMB_L_SWORD)) {
gDPPipeSync(POLY_OPA_DISP++);
gDPSetEnvColor(POLY_OPA_DISP++, 140, 170, 230, 255);
gDPSetPrimColor(POLY_OPA_DISP++, 0, 0, 255, 255, 255, 255);
@ -1497,7 +1497,7 @@ void EnGeldB_PostLimbDraw(PlayState* play, s32 limbIndex, Gfx** dList, Vec3s* ro
EnGeldB* this = (EnGeldB*)thisx;
s32 bodyPart = -1;
if (limbIndex == GELDB_LIMB_R_SWORD) {
if (limbIndex == GERUDO_RED_LIMB_R_SWORD) {
Matrix_MultVec3f(&swordQuadOffset1, &this->swordCollider.dim.quad[1]);
Matrix_MultVec3f(&swordQuadOffset0, &this->swordCollider.dim.quad[0]);
Matrix_MultVec3f(&swordQuadOffset3, &this->swordCollider.dim.quad[3]);
@ -1515,42 +1515,43 @@ void EnGeldB_PostLimbDraw(PlayState* play, s32 limbIndex, Gfx** dList, Vec3s* ro
EffectBlure_AddVertex(Effect_GetByIndex(this->blureIndex), &swordTip, &swordHilt);
}
} else {
Actor_SetFeetPos(&this->actor, limbIndex, GELDB_LIMB_L_FOOT, &footOffset, GELDB_LIMB_R_FOOT, &footOffset);
Actor_SetFeetPos(&this->actor, limbIndex, GERUDO_RED_LIMB_L_FOOT, &footOffset, GERUDO_RED_LIMB_R_FOOT,
&footOffset);
}
if (limbIndex == GELDB_LIMB_L_FOOT) {
if (limbIndex == GERUDO_RED_LIMB_L_FOOT) {
Matrix_MultVec3f(&footOffset, &this->leftFootPos);
} else if (limbIndex == GELDB_LIMB_R_FOOT) {
} else if (limbIndex == GERUDO_RED_LIMB_R_FOOT) {
Matrix_MultVec3f(&footOffset, &this->rightFootPos);
}
if (this->iceTimer != 0) {
switch (limbIndex) {
case GELDB_LIMB_NECK:
case GERUDO_RED_LIMB_NECK:
bodyPart = 0;
break;
case GELDB_LIMB_L_SWORD:
case GERUDO_RED_LIMB_L_SWORD:
bodyPart = 1;
break;
case GELDB_LIMB_R_SWORD:
case GERUDO_RED_LIMB_R_SWORD:
bodyPart = 2;
break;
case GELDB_LIMB_L_UPPER_ARM:
case GERUDO_RED_LIMB_L_UPPER_ARM:
bodyPart = 3;
break;
case GELDB_LIMB_R_UPPER_ARM:
case GERUDO_RED_LIMB_R_UPPER_ARM:
bodyPart = 4;
break;
case GELDB_LIMB_TORSO:
case GERUDO_RED_LIMB_TORSO:
bodyPart = 5;
break;
case GELDB_LIMB_WAIST:
case GERUDO_RED_LIMB_WAIST:
bodyPart = 6;
break;
case GELDB_LIMB_L_FOOT:
case GERUDO_RED_LIMB_L_FOOT:
bodyPart = 7;
break;
case GELDB_LIMB_R_FOOT:
case GERUDO_RED_LIMB_R_FOOT:
bodyPart = 8;
break;
default:

View file

@ -4,35 +4,9 @@
#include "ultra64.h"
#include "actor.h"
struct EnGeldB;
#include "assets/objects/object_geldb/object_geldb.h"
typedef enum EnGeldBLimb {
/* 0x00 */ GELDB_LIMB_NONE,
/* 0x01 */ GELDB_LIMB_ROOT,
/* 0x02 */ GELDB_LIMB_TORSO,
/* 0x03 */ GELDB_LIMB_NECK,
/* 0x04 */ GELDB_LIMB_PONYTAIL,
/* 0x05 */ GELDB_LIMB_VEIL,
/* 0x06 */ GELDB_LIMB_HEAD,
/* 0x07 */ GELDB_LIMB_R_UPPER_ARM,
/* 0x08 */ GELDB_LIMB_R_FOREARM,
/* 0x09 */ GELDB_LIMB_R_WRIST,
/* 0x0A */ GELDB_LIMB_R_HAND,
/* 0x0B */ GELDB_LIMB_R_SWORD,
/* 0x0C */ GELDB_LIMB_L_UPPER_ARM,
/* 0x0D */ GELDB_LIMB_L_FOREARM,
/* 0x0E */ GELDB_LIMB_L_WRIST,
/* 0x0F */ GELDB_LIMB_L_HAND,
/* 0x10 */ GELDB_LIMB_L_SWORD,
/* 0x11 */ GELDB_LIMB_L_THIGH,
/* 0x12 */ GELDB_LIMB_L_SHIN,
/* 0x13 */ GELDB_LIMB_L_FOOT,
/* 0x14 */ GELDB_LIMB_R_THIGH,
/* 0x15 */ GELDB_LIMB_R_SHIN,
/* 0x16 */ GELDB_LIMB_R_FOOT,
/* 0x17 */ GELDB_LIMB_WAIST,
/* 0x18 */ GELDB_LIMB_MAX
} EnGeldBLimb;
struct EnGeldB;
typedef void (*EnGeldBActionFunc)(struct EnGeldB*, struct PlayState*);
@ -40,8 +14,8 @@ typedef struct EnGeldB {
/* 0x0000 */ Actor actor;
/* 0x014C */ Vec3s bodyPartsPos[10];
/* 0x0188 */ SkelAnime skelAnime;
/* 0x01CC */ Vec3s jointTable[GELDB_LIMB_MAX];
/* 0x025C */ Vec3s morphTable[GELDB_LIMB_MAX];
/* 0x01CC */ Vec3s jointTable[GERUDO_RED_LIMB_MAX];
/* 0x025C */ Vec3s morphTable[GERUDO_RED_LIMB_MAX];
/* 0x02EC */ s32 action;
/* 0x02F0 */ char unk_2F0[4];
/* 0x02F4 */ EnGeldBActionFunc actionFunc;

View file

@ -4,31 +4,7 @@
#include "ultra64.h"
#include "actor.h"
typedef enum EnHataLimb {
/* 0x00 */ FLAGPOLE_LIMB_NONE,
/* 0x01 */ FLAGPOLE_LIMB_POLE_BASE,
/* 0x02 */ FLAGPOLE_LIMB_POLE,
/* 0x03 */ FLAGPOLE_LIMB_FLAG_1_BASE,
/* 0x04 */ FLAGPOLE_LIMB_FLAG_1_HOIST_END_BASE,
/* 0x05 */ FLAGPOLE_LIMB_FLAG_1_HOIST_MID_BASE,
/* 0x06 */ FLAGPOLE_LIMB_FLAG_1_FLY_MID_BASE,
/* 0x07 */ FLAGPOLE_LIMB_FLAG_1_FLY_END_BASE,
/* 0x08 */ FLAGPOLE_LIMB_FLAG_1_FLY_END,
/* 0x09 */ FLAGPOLE_LIMB_FLAG_1_FLY_MID,
/* 0x0A */ FLAGPOLE_LIMB_FLAG_1_HOIST_MID,
/* 0x0B */ FLAGPOLE_LIMB_FLAG_1_HOIST_END,
/* 0x0C */ FLAGPOLE_LIMB_FLAG_2_BASE,
/* 0x0D */ FLAGPOLE_LIMB_FLAG_2_HOIST_END_BASE,
/* 0x0E */ FLAGPOLE_LIMB_FLAG_2_HOIST_MID_BASE,
/* 0x0F */ FLAGPOLE_LIMB_FLAG_2_FLY_MID_BASE,
/* 0x10 */ FLAGPOLE_LIMB_FLAG_2_FLY_END_BASE,
/* 0x11 */ FLAGPOLE_LIMB_FLAG_2_FLY_END,
/* 0x12 */ FLAGPOLE_LIMB_FLAG_2_FLY_MID,
/* 0x13 */ FLAGPOLE_LIMB_FLAG_2_HOIST_MID,
/* 0x14 */ FLAGPOLE_LIMB_FLAG_2_HOIST_END,
/* 0x15 */ FLAGPOLE_LIMB_MAX
} EnHataLimb;
#include "assets/objects/object_hata/object_hata.h"
typedef struct EnHata {
/* 0x0000 */ DynaPolyActor dyna;