Object Tru Docs (Koume) (#1098)

* Name everything in xml

* Actor docs regarding assets

* move header include

* PR

* Format

* PR

* MT animation enum

* index ()
This commit is contained in:
Derek Hensley
2022-10-02 13:07:55 -03:00
committed by GitHub
parent 841da5f138
commit aa3f1be55e
8 changed files with 342 additions and 292 deletions
+2 -2
View File
@@ -51,10 +51,10 @@
<Texture Name="gKotakeSkinTex" OutName="kotake_skin" Format="ci8" Width="16" Height="8" Offset="0xA678" />
<Texture Name="gKotakeMouthTex" OutName="kotake_mouth" Format="ci8" Width="8" Height="8" Offset="0xA6F8" />
<Texture Name="gKotakeHairTex" OutName="kotake_hair" Format="rgba16" Width="8" Height="32" Offset="0xA738" />
<Texture Name="gKotakeBraidEndTex" OutName="kotake_BRAID_end" Format="rgba16" Width="8" Height="8" Offset="0xA938" />
<Texture Name="gKotakeBraidEndTex" OutName="kotake_braid_end" Format="rgba16" Width="8" Height="8" Offset="0xA938" />
<Texture Name="gKotakeEarTex" OutName="kotake_ear" Format="ci8" Width="8" Height="8" Offset="0xA9B8" />
<Texture Name="gKotakeCollarNeckTex" OutName="kotake_collar_neck" Format="rgba16" Width="4" Height="8" Offset="0xA9F8" />
<Texture Name="gKotakeFingersTex" OutName="kotake_finger" Format="ci8" Width="8" Height="16" Offset="0xAA38" />
<Texture Name="gKotakeFingerTex" OutName="kotake_finger" Format="ci8" Width="8" Height="16" Offset="0xAA38" />
<Texture Name="gKotakeBroomHandleTex" OutName="kotake_broom_handle" Format="rgba16" Width="8" Height="8" Offset="0xAAB8" />->
<Texture Name="gKotakeBroomHeadTex" OutName="kotake_broom_head" Format="rgba16" Width="16" Height="32" Offset="0xAB38" />
<Texture Name="gKotakeJewelHolderTex" OutName="kotake_jewel_holder" Format="rgba16" Width="16" Height="8" Offset="0xAF38" />
+113 -104
View File
@@ -1,108 +1,117 @@
<Root>
<!-- Assets for Koume -->
<File Name="object_tru" Segment="6">
<DList Name="object_tru_DL_000390" Offset="0x390" />
<DList Name="object_tru_DL_0004C8" Offset="0x4C8" />
<Texture Name="object_tru_Tex_000560" OutName="tex_000560" Format="rgba16" Width="16" Height="32" Offset="0x560" />
<Texture Name="object_tru_Tex_000960" OutName="tex_000960" Format="rgba16" Width="32" Height="32" Offset="0x960" />
<Texture Name="object_tru_Tex_001160" OutName="tex_001160" Format="rgba16" Width="32" Height="32" Offset="0x1160" />
<DList Name="object_tru_DL_001F90" Offset="0x1F90" />
<DList Name="object_tru_DL_0020C8" Offset="0x20C8" />
<DList Name="object_tru_DL_002160" Offset="0x2160" />
<Texture Name="object_tru_Tex_002168" OutName="tex_002168" Format="i4" Width="16" Height="16" Offset="0x2168" />
<Animation Name="object_tru_Anim_002BD8" Offset="0x2BD8" />
<Animation Name="object_tru_Anim_003698" Offset="0x3698" />
<Animation Name="object_tru_Anim_00446C" Offset="0x446C" />
<Animation Name="object_tru_Anim_007FA0" Offset="0x7FA0" />
<Animation Name="object_tru_Anim_009348" Offset="0x9348" />
<DList Name="object_tru_DL_00B730" Offset="0xB730" />
<DList Name="object_tru_DL_00B940" Offset="0xB940" />
<DList Name="object_tru_DL_00BA88" Offset="0xBA88" />
<DList Name="object_tru_DL_00BBB8" Offset="0xBBB8" />
<DList Name="object_tru_DL_00C630" Offset="0xC630" />
<DList Name="object_tru_DL_00C730" Offset="0xC730" />
<DList Name="object_tru_DL_00C810" Offset="0xC810" />
<DList Name="object_tru_DL_00C860" Offset="0xC860" />
<DList Name="object_tru_DL_00C960" Offset="0xC960" />
<DList Name="object_tru_DL_00CA40" Offset="0xCA40" />
<DList Name="object_tru_DL_00CB50" Offset="0xCB50" />
<DList Name="object_tru_DL_00CCC0" Offset="0xCCC0" />
<DList Name="object_tru_DL_00CFA8" Offset="0xCFA8" />
<DList Name="object_tru_DL_00D0C0" Offset="0xD0C0" />
<DList Name="object_tru_DL_00D1D0" Offset="0xD1D0" />
<DList Name="object_tru_DL_00D2E0" Offset="0xD2E0" />
<DList Name="object_tru_DL_00D450" Offset="0xD450" />
<DList Name="object_tru_DL_00D738" Offset="0xD738" />
<DList Name="object_tru_DL_00DA38" Offset="0xDA38" />
<DList Name="object_tru_DL_00DB50" Offset="0xDB50" />
<DList Name="object_tru_DL_00DC40" Offset="0xDC40" />
<DList Name="object_tru_DL_00DC88" Offset="0xDC88" />
<DList Name="object_tru_DL_00DD38" Offset="0xDD38" />
<DList Name="object_tru_DL_00DDD0" Offset="0xDDD0" />
<DList Name="object_tru_DL_00DE18" Offset="0xDE18" />
<DList Name="object_tru_DL_00DEC8" Offset="0xDEC8" />
<Animation Name="object_tru_Anim_00EEDC" Offset="0xEEDC" />
<Animation Name="object_tru_Anim_00F9A0" Offset="0xF9A0" />
<Animation Name="object_tru_Anim_0108AC" Offset="0x108AC" />
<Animation Name="object_tru_Anim_011F88" Offset="0x11F88" />
<Animation Name="object_tru_Anim_014728" Offset="0x14728" />
<Animation Name="object_tru_Anim_015068" Offset="0x15068" />
<Animation Name="object_tru_Anim_015CA0" Offset="0x15CA0" />
<Animation Name="object_tru_Anim_016B4C" Offset="0x16B4C" />
<Texture Name="object_tru_TLUT_016B60" OutName="tlut_016B60" Format="rgba16" Width="16" Height="16" Offset="0x16B60" />
<Texture Name="object_tru_TLUT_016D60" OutName="tlut_016D60" Format="rgba16" Width="16" Height="16" Offset="0x16D60" />
<Texture Name="object_tru_TLUT_016F60" OutName="tlut_016F60" Format="rgba16" Width="16" Height="16" Offset="0x16F60" />
<Texture Name="object_tru_TLUT_017160" OutName="tlut_017160" Format="rgba16" Width="16" Height="16" Offset="0x17160" />
<Texture Name="object_tru_TLUT_017360" OutName="tlut_017360" Format="rgba16" Width="16" Height="16" Offset="0x17360" />
<Texture Name="object_tru_TLUT_017560" OutName="tlut_017560" Format="rgba16" Width="16" Height="16" Offset="0x17560" />
<Texture Name="object_tru_Tex_017760" OutName="tex_017760" Format="rgba16" Width="32" Height="32" Offset="0x17760" />
<Texture Name="object_tru_Tex_017F60" OutName="tex_017F60" Format="rgba16" Width="16" Height="16" Offset="0x17F60" />
<Texture Name="object_tru_Tex_018160" OutName="tex_018160" Format="rgba16" Width="16" Height="16" Offset="0x18160" />
<Texture Name="object_tru_Tex_018360" OutName="tex_018360" Format="rgba16" Width="16" Height="16" Offset="0x18360" />
<Texture Name="object_tru_Tex_018560" OutName="tex_018560" Format="ci8" Width="16" Height="8" Offset="0x18560" />
<Texture Name="object_tru_Tex_0185E0" OutName="tex_0185E0" Format="ci8" Width="8" Height="8" Offset="0x185E0" />
<Texture Name="object_tru_Tex_018620" OutName="tex_018620" Format="rgba16" Width="8" Height="32" Offset="0x18620" />
<Texture Name="object_tru_Tex_018820" OutName="tex_018820" Format="rgba16" Width="8" Height="8" Offset="0x18820" />
<Texture Name="object_tru_Tex_0188A0" OutName="tex_0188A0" Format="ci8" Width="8" Height="8" Offset="0x188A0" />
<Texture Name="object_tru_Tex_0188E0" OutName="tex_0188E0" Format="rgba16" Width="4" Height="8" Offset="0x188E0" />
<Texture Name="object_tru_Tex_018920" OutName="tex_018920" Format="ci8" Width="8" Height="16" Offset="0x18920" />
<Texture Name="object_tru_Tex_0189A0" OutName="tex_0189A0" Format="rgba16" Width="8" Height="8" Offset="0x189A0" />
<Texture Name="object_tru_Tex_018A20" OutName="tex_018A20" Format="rgba16" Width="16" Height="32" Offset="0x18A20" />
<Texture Name="object_tru_Tex_018E20" OutName="tex_018E20" Format="rgba16" Width="16" Height="8" Offset="0x18E20" />
<Texture Name="object_tru_Tex_018F20" OutName="tex_018F20" Format="ci8" Width="8" Height="8" Offset="0x18F20" />
<Texture Name="object_tru_Tex_018F60" OutName="tex_018F60" Format="ci8" Width="8" Height="8" Offset="0x18F60" />
<Texture Name="object_tru_Tex_018FA0" OutName="tex_018FA0" Format="rgba16" Width="32" Height="32" Offset="0x18FA0" />
<Texture Name="object_tru_Tex_0197A0" OutName="tex_0197A0" Format="rgba16" Width="32" Height="32" Offset="0x197A0" />
<Texture Name="object_tru_Tex_019FA0" OutName="tex_019FA0" Format="rgba16" Width="32" Height="32" Offset="0x19FA0" />
<Texture Name="object_tru_Tex_01A7A0" OutName="tex_01A7A0" Format="rgba16" Width="8" Height="8" Offset="0x1A7A0" />
<DList Name="object_tru_DL_01A820" Offset="0x1A820" />
<DList Name="object_tru_DL_01A830" Offset="0x1A830" />
<Limb Name="object_tru_Standardlimb_01A8C0" Type="Standard" EnumName="OBJECT_TRU_LIMB_01" Offset="0x1A8C0" />
<Limb Name="object_tru_Standardlimb_01A8CC" Type="Standard" EnumName="OBJECT_TRU_LIMB_02" Offset="0x1A8CC" />
<Limb Name="object_tru_Standardlimb_01A8D8" Type="Standard" EnumName="OBJECT_TRU_LIMB_03" Offset="0x1A8D8" />
<Limb Name="object_tru_Standardlimb_01A8E4" Type="Standard" EnumName="OBJECT_TRU_LIMB_04" Offset="0x1A8E4" />
<Limb Name="object_tru_Standardlimb_01A8F0" Type="Standard" EnumName="OBJECT_TRU_LIMB_05" Offset="0x1A8F0" />
<Limb Name="object_tru_Standardlimb_01A8FC" Type="Standard" EnumName="OBJECT_TRU_LIMB_06" Offset="0x1A8FC" />
<Limb Name="object_tru_Standardlimb_01A908" Type="Standard" EnumName="OBJECT_TRU_LIMB_07" Offset="0x1A908" />
<Limb Name="object_tru_Standardlimb_01A914" Type="Standard" EnumName="OBJECT_TRU_LIMB_08" Offset="0x1A914" />
<Limb Name="object_tru_Standardlimb_01A920" Type="Standard" EnumName="OBJECT_TRU_LIMB_09" Offset="0x1A920" />
<Limb Name="object_tru_Standardlimb_01A92C" Type="Standard" EnumName="OBJECT_TRU_LIMB_0A" Offset="0x1A92C" />
<Limb Name="object_tru_Standardlimb_01A938" Type="Standard" EnumName="OBJECT_TRU_LIMB_0B" Offset="0x1A938" />
<Limb Name="object_tru_Standardlimb_01A944" Type="Standard" EnumName="OBJECT_TRU_LIMB_0C" Offset="0x1A944" />
<Limb Name="object_tru_Standardlimb_01A950" Type="Standard" EnumName="OBJECT_TRU_LIMB_0D" Offset="0x1A950" />
<Limb Name="object_tru_Standardlimb_01A95C" Type="Standard" EnumName="OBJECT_TRU_LIMB_0E" Offset="0x1A95C" />
<Limb Name="object_tru_Standardlimb_01A968" Type="Standard" EnumName="OBJECT_TRU_LIMB_0F" Offset="0x1A968" />
<Limb Name="object_tru_Standardlimb_01A974" Type="Standard" EnumName="OBJECT_TRU_LIMB_10" Offset="0x1A974" />
<Limb Name="object_tru_Standardlimb_01A980" Type="Standard" EnumName="OBJECT_TRU_LIMB_11" Offset="0x1A980" />
<Limb Name="object_tru_Standardlimb_01A98C" Type="Standard" EnumName="OBJECT_TRU_LIMB_12" Offset="0x1A98C" />
<Limb Name="object_tru_Standardlimb_01A998" Type="Standard" EnumName="OBJECT_TRU_LIMB_13" Offset="0x1A998" />
<Limb Name="object_tru_Standardlimb_01A9A4" Type="Standard" EnumName="OBJECT_TRU_LIMB_14" Offset="0x1A9A4" />
<Limb Name="object_tru_Standardlimb_01A9B0" Type="Standard" EnumName="OBJECT_TRU_LIMB_15" Offset="0x1A9B0" />
<Limb Name="object_tru_Standardlimb_01A9BC" Type="Standard" EnumName="OBJECT_TRU_LIMB_16" Offset="0x1A9BC" />
<Limb Name="object_tru_Standardlimb_01A9C8" Type="Standard" EnumName="OBJECT_TRU_LIMB_17" Offset="0x1A9C8" />
<Limb Name="object_tru_Standardlimb_01A9D4" Type="Standard" EnumName="OBJECT_TRU_LIMB_18" Offset="0x1A9D4" />
<Limb Name="object_tru_Standardlimb_01A9E0" Type="Standard" EnumName="OBJECT_TRU_LIMB_19" Offset="0x1A9E0" />
<Limb Name="object_tru_Standardlimb_01A9EC" Type="Standard" EnumName="OBJECT_TRU_LIMB_1A" Offset="0x1A9EC" />
<Skeleton Name="object_tru_Skel_01AA60" Type="Flex" LimbType="Standard" LimbNone="OBJECT_TRU_LIMB_NONE" LimbMax="OBJECT_TRU_LIMB_MAX" EnumName="ObjectTruLimb" Offset="0x1AA60" />
<Animation Name="object_tru_Anim_01B5C4" Offset="0x1B5C4" />
<DList Name="gKoumeTargetDL" Offset="0x390" />
<DList Name="gKoumeChainDL" Offset="0x4C8" />
<Texture Name="gKoumeChainTex" OutName="koume_chain" Format="rgba16" Width="16" Height="32" Offset="0x560" />
<Texture Name="gKoumeTargetSideTex" OutName="koume_target_side" Format="rgba16" Width="32" Height="32" Offset="0x960" />
<Texture Name="gKoumeTargetFaceTex" OutName="koume_target_face" Format="rgba16" Width="32" Height="32" Offset="0x1160" />
<DList Name="gKoumeBottleDL" Offset="0x1F90" />
<DList Name="gKoumePotionDL" Offset="0x20C8" />
<DList Name="gKoumeEmptyDL" Offset="0x2160" />
<Texture Name="gKoumeBottleTex" OutName="koume_bottle" Format="i4" Width="16" Height="16" Offset="0x2168" />
<Animation Name="gKoumeFlyAnim" Offset="0x2BD8" />
<Animation Name="gKoumeTakeOffAnim" Offset="0x3698" />
<Animation Name="gKoumeHoverAnim" Offset="0x446C" />
<Animation Name="gKoumeDrinkAnim" Offset="0x7FA0" />
<Animation Name="gKoumeInjuredRaiseHeadAnim" Offset="0x9348" />
<DList Name="gKoumePelvisDL" Offset="0xB730" />
<DList Name="gKoumeTorsoDL" Offset="0xB940" />
<DList Name="gKoumeNeckDL" Offset="0xBA88" />
<DList Name="gKoumeHeadDL" Offset="0xBBB8" />
<DList Name="gKoumeLeftBraidStartDL" Offset="0xC630" />
<DList Name="gKoumeLeftBraidEndDL" Offset="0xC730" />
<DList Name="gKoumeTeethDL" Offset="0xC810" />
<DList Name="gKoumeRightBraidStartDL" Offset="0xC860" />
<DList Name="gKoumeRightBraidEndDL" Offset="0xC960" />
<DList Name="gKoumeRightSleeveStartDL" Offset="0xCA40" />
<DList Name="gKoumeRightSleeveFrontDL" Offset="0xCB50" />
<DList Name="gKoumeRightHandDL" Offset="0xCCC0" />
<DList Name="gKoumeRightSleeveMidDL" Offset="0xCFA8" />
<DList Name="gKoumeRightSleeveEndDL" Offset="0xD0C0" />
<DList Name="gKoumeLeftSleeveStartDL" Offset="0xD1D0" />
<DList Name="gKoumeLeftSleeveFrontDL" Offset="0xD2E0" />
<DList Name="gKoumeLeftHandDL" Offset="0xD450" />
<DList Name="gKoumeBroomDL" Offset="0xD738" />
<DList Name="gKoumeLeftSleeveMidDL" Offset="0xDA38" />
<DList Name="gKoumeLeftSleeveEndDL" Offset="0xDB50" />
<DList Name="gKoumeRightThighDL" Offset="0xDC40" /> <!-- Renders a single triangle instead of a normal-looking limb -->
<DList Name="gKoumeRightShinDL" Offset="0xDC88" />
<DList Name="gKoumeRightFootDL" Offset="0xDD38" />
<DList Name="gKoumeLeftThighDL" Offset="0xDDD0" /> <!-- Renders a single triangle instead of a normal-looking limb -->
<DList Name="gKoumeLeftShinDL" Offset="0xDE18" />
<DList Name="gKoumeLeftFootDL" Offset="0xDEC8" />
<Animation Name="gKoumeInjuredTalkAnim" Offset="0xEEDC" />
<Animation Name="gKoumeInjuredLyingDownAnim" Offset="0xF9A0" />
<Animation Name="gKoumeTryGetUpAnim" Offset="0x108AC" />
<Animation Name="gKoumeHealedAnim" Offset="0x11F88" />
<Animation Name="gKoumeTakeAnim" Offset="0x14728" />
<Animation Name="gKoumeIdleAnim" Offset="0x15068" />
<Animation Name="gKoumeInjuredHeadUpAnim" Offset="0x15CA0" />
<Animation Name="gKoumeFinishedDrinkingAnim" Offset="0x16B4C" />
<Texture Name="gKoumeSkinTLUT" OutName="koume_skin_tlut" Format="rgba16" Width="16" Height="16" Offset="0x16B60" />
<Texture Name="gKoumeMouthTLUT" OutName="koume_mouth_tlut" Format="rgba16" Width="16" Height="16" Offset="0x16D60" />
<Texture Name="gKoumeEarTLUT" OutName="koume_ear_tlut" Format="rgba16" Width="16" Height="16" Offset="0x16F60" />
<Texture Name="gKoumeFingerTLUT" OutName="koume_finger_tlut" Format="rgba16" Width="16" Height="16" Offset="0x17160" />
<Texture Name="gKoumeNeckTLUT" OutName="koume_neck_tlut" Format="rgba16" Width="16" Height="16" Offset="0x17360" />
<Texture Name="gKoumeNostrilsTLUT" OutName="koume_nostrils_tlut" Format="rgba16" Width="16" Height="16" Offset="0x17560" />
<Texture Name="gKoumeGerudoFabricTex" OutName="koume_gerudo_fabric" Format="rgba16" Width="32" Height="32" Offset="0x17760" />
<Texture Name="gKoumeRobeTex" OutName="koume_robe" Format="rgba16" Width="16" Height="16" Offset="0x17F60" />
<Texture Name="gKoumeRobePatternTex" OutName="koume_robe_pattern" Format="rgba16" Width="16" Height="16" Offset="0x18160" />
<Texture Name="gKoumeRobeTrimTex" OutName="koume_robe_trim" Format="rgba16" Width="16" Height="16" Offset="0x18360" />
<Texture Name="gKoumeSkinTex" OutName="koume_skin" Format="ci8" Width="16" Height="8" Offset="0x18560" />
<Texture Name="gKoumeMouthTex" OutName="koume_mouth" Format="ci8" Width="8" Height="8" Offset="0x185E0" />
<Texture Name="gKoumeHairTex" OutName="koume_hair" Format="rgba16" Width="8" Height="32" Offset="0x18620" />
<Texture Name="gKoumeBraidEndTex" OutName="koume_braid_end" Format="rgba16" Width="8" Height="8" Offset="0x18820" />
<Texture Name="gKoumeEarTex" OutName="koume_ear" Format="ci8" Width="8" Height="8" Offset="0x188A0" />
<Texture Name="gKoumeCollarNeckTex" OutName="koume_collar_neck" Format="rgba16" Width="4" Height="8" Offset="0x188E0" />
<Texture Name="gKoumeFingerTex" OutName="koume_finger" Format="ci8" Width="8" Height="16" Offset="0x18920" />
<Texture Name="gKoumeBroomHandleTex" OutName="koume_broom_handle" Format="rgba16" Width="8" Height="8" Offset="0x189A0" />
<Texture Name="gKoumeBroomHeadTex" OutName="koume_broom_head" Format="rgba16" Width="16" Height="32" Offset="0x18A20" />
<Texture Name="gKoumeJewelHolderTex" OutName="koume_jewel_holder" Format="rgba16" Width="16" Height="8" Offset="0x18E20" />
<Texture Name="gKoumeNeckTex" OutName="koume_neck" Format="ci8" Width="8" Height="8" Offset="0x18F20" />
<Texture Name="gKoumeNostrilsTex" OutName="koume_nostrils" Format="ci8" Width="8" Height="8" Offset="0x18F60" />
<Texture Name="gKoumeEyeOpenTex" OutName="koume_eye_open" Format="rgba16" Width="32" Height="32" Offset="0x18FA0" />
<Texture Name="gKoumeEyeHalfTex" OutName="koume_eye_half" Format="rgba16" Width="32" Height="32" Offset="0x197A0" />
<Texture Name="gKoumeEyeClosedTex" OutName="koume_eye_closed" Format="rgba16" Width="32" Height="32" Offset="0x19FA0" />
<Texture Name="gKoumeJewelTex" OutName="koume_jewel" Format="rgba16" Width="8" Height="8" Offset="0x1A7A0" />
<DList Name="gKoumeDustMaterialDL" Offset="0x1A820" />
<DList Name="gKoumeDustModelDL" Offset="0x1A830" />
<Limb Name="gKoumePelvisLimb" Type="Standard" EnumName="KOUME_LIMB_PELVIS" Offset="0x1A8C0" />
<Limb Name="gKoumeLeftThighLimb" Type="Standard" EnumName="KOUME_LIMB_LEFT_THIGH" Offset="0x1A8CC" />
<Limb Name="gKoumeLeftShinLimb" Type="Standard" EnumName="KOUME_LIMB_LEFT_SHIN" Offset="0x1A8D8" />
<Limb Name="gKoumeLeftFootLimb" Type="Standard" EnumName="KOUME_LIMB_LEFT_FOOT" Offset="0x1A8E4" />
<Limb Name="gKoumeRightThighLimb" Type="Standard" EnumName="KOUME_LIMB_RIGH_THIGH" Offset="0x1A8F0" />
<Limb Name="gKoumeRightShinLimb" Type="Standard" EnumName="KOUME_LIMB_RIGHT_SHIN" Offset="0x1A8FC" />
<Limb Name="gKoumeRightFootLimb" Type="Standard" EnumName="KOUME_LIMB_RIGHT_FOOT" Offset="0x1A908" />
<Limb Name="gKoumeTorsoLimb" Type="Standard" EnumName="KOUME_LIMB_TORSO_LIMB" Offset="0x1A914" />
<Limb Name="gKoumeLeftSleeveStartLimb" Type="Standard" EnumName="KOUME_LIMB_LEFT_SLEEVE_START" Offset="0x1A920" />
<Limb Name="gKoumeLeftSleeveMidLimb" Type="Standard" EnumName="KOUME_LIMB_LEFT_SLEEVE_MID" Offset="0x1A92C" />
<Limb Name="gKoumeLeftSleeveEndLimb" Type="Standard" EnumName="KOUME_LIMB_LEFT_SLEEVE_END" Offset="0x1A938" />
<Limb Name="gKoumeLeftSleeveFrontLimb" Type="Standard" EnumName="KOUME_LIMB_LEFT_SLEEVE_FRONT" Offset="0x1A944" />
<Limb Name="gKoumeLeftHandLimb" Type="Standard" EnumName="KOUME_LIMB_LEFT_HAND" Offset="0x1A950" />
<Limb Name="gKoumeBroomLimb" Type="Standard" EnumName="KOUME_LIMB_BROOM" Offset="0x1A95C" />
<Limb Name="gKoumeRightSleeveStartLimb" Type="Standard" EnumName="KOUME_LIMB_RIGHT_SLEEVE_START" Offset="0x1A968" />
<Limb Name="gKoumeRightSleeveMidLimb" Type="Standard" EnumName="KOUME_LIMB_RIGHT_SLEEVE_MID" Offset="0x1A974" />
<Limb Name="gKoumeRightSleeveEndLimb" Type="Standard" EnumName="KOUME_LIMB_RIGHT_SLEEVE_END" Offset="0x1A980" />
<Limb Name="gKoumeRightSleeveFrontLimb" Type="Standard" EnumName="KOUME_LIMB_RIGHT_SLEEVE_FRONT" Offset="0x1A98C" />
<Limb Name="gKoumeRightHandLimb" Type="Standard" EnumName="KOUME_LIMB_RIGHT_HAND" Offset="0x1A998" />
<Limb Name="gKoumeNeckLimb" Type="Standard" EnumName="KOUME_LIMB_NECK" Offset="0x1A9A4" />
<Limb Name="gKoumeHeadLimb" Type="Standard" EnumName="KOUME_LIMB_HEAD" Offset="0x1A9B0" />
<Limb Name="gKoumeRightBraidStartLimb" Type="Standard" EnumName="KOUME_LIMB_RIGHT_BRAID_START" Offset="0x1A9BC" />
<Limb Name="gKoumeRightBraidEndLimb" Type="Standard" EnumName="KOUME_LIMB_RIGHT_BRAID_END" Offset="0x1A9C8" />
<Limb Name="gKoumeTeethLimb" Type="Standard" EnumName="KOUME_LIMB_TEETH" Offset="0x1A9D4" />
<Limb Name="gKoumeLeftBraidStartLimb" Type="Standard" EnumName="KOUME_LIMB_LEFT_BRAID_START" Offset="0x1A9E0" />
<Limb Name="gKoumeLeftBraidEndLimb" Type="Standard" EnumName="KOUME_LIMB_LEFT_BRAID_END" Offset="0x1A9EC" />
<Skeleton Name="gKoumeSkel" Type="Flex" LimbType="Standard" LimbNone="KOUME_LIMB_NONE" LimbMax="KOUME_LIMB_MAX" EnumName="KoumeLimb" Offset="0x1AA60" />
<Animation Name="gKoumeShakeAnim" Offset="0x1B5C4" />
</File>
</Root>
@@ -145,15 +145,14 @@ void EnJcMato_Update(Actor* thisx, PlayState* play) {
}
}
static Vec3f movement = { 0.0f, -2500.0f, 0.0f };
void EnJcMato_Draw(Actor* thisx, PlayState* play) {
static Vec3f sOffset = { 0.0f, -2500.0f, 0.0f };
EnJcMato* this = THIS;
OPEN_DISPS(play->state.gfxCtx);
func_8012C28C(play->state.gfxCtx);
gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(play->state.gfxCtx), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
gSPDisplayList(POLY_OPA_DISP++, object_tru_DL_000390);
Matrix_MultVec3f(&movement, &this->pos);
gSPDisplayList(POLY_OPA_DISP++, gKoumeTargetDL);
Matrix_MultVec3f(&sOffset, &this->pos);
CLOSE_DISPS(play->state.gfxCtx);
}
File diff suppressed because it is too large Load Diff
+7 -6
View File
@@ -2,6 +2,7 @@
#define Z_EN_TRU_H
#include "global.h"
#include "objects/object_tru/object_tru.h"
struct EnTru;
@@ -31,12 +32,12 @@ typedef struct EnTru {
/* 0x1EC */ Vec3f unk_1EC;
/* 0x1F8 */ Vec3f unk_1F8;
/* 0x204 */ Vec3s unk_204;
/* 0x20A */ Vec3s jointTable[27];
/* 0x2AC */ Vec3s morphTable[27];
/* 0x20A */ Vec3s jointTable[KOUME_LIMB_MAX];
/* 0x2AC */ Vec3s morphTable[KOUME_LIMB_MAX];
/* 0x34E */ u16 unk_34E;
/* 0x350 */ UNK_TYPE1 unk350[0x4];
/* 0x354 */ s32* unk_354;
/* 0x358 */ f32 unk_358;
/* 0x358 */ f32 playSpeed;
/* 0x35C */ f32 unk_35C;
/* 0x360 */ s16 unk_360;
/* 0x362 */ s16 unk_362;
@@ -44,13 +45,13 @@ typedef struct EnTru {
/* 0x366 */ s16 unk_366;
/* 0x368 */ s16 unk_368;
/* 0x36A */ s16 unk_36A;
/* 0x36C */ s16 unk_36C;
/* 0x36E */ s16 unk_36E;
/* 0x36C */ s16 blinkTimer;
/* 0x36E */ s16 eyeTexIndex;
/* 0x370 */ s16 unk_370;
/* 0x372 */ s16 unk_372;
/* 0x374 */ s16 unk_374;
/* 0x378 */ EnTruUnkFunc unk_378;
/* 0x37C */ s32 unk_37C;
/* 0x37C */ s32 animIndex;
/* 0x380 */ UNK_TYPE1 unk380[0x4];
/* 0x384 */ s32 unk_384;
/* 0x388 */ s32 unk_388;
+66 -47
View File
@@ -20,6 +20,26 @@ void func_80B76A64(EnTruMt* this, PlayState* play);
void func_80B76BB8(EnTruMt* this, PlayState* play);
void func_80B76C38(EnTruMt* this, PlayState* play);
typedef enum {
/* 0x00 */ KOUME_MT_ANIM_INJURED_LYING_DOWN,
/* 0x01 */ KOUME_MT_ANIM_INJURED_LYING_DOWN_MORPH,
/* 0x02 */ KOUME_MT_ANIM_TRY_GET_UP,
/* 0x03 */ KOUME_MT_ANIM_INJURED_RAISE_HEAD,
/* 0x04 */ KOUME_MT_ANIM_INJURED_TALK,
/* 0x05 */ KOUME_MT_ANIM_INJURED_HEAD_UP,
/* 0x06 */ KOUME_MT_ANIM_INJURED_HEAD_UP_MORPH,
/* 0x07 */ KOUME_MT_ANIM_TAKE,
/* 0x08 */ KOUME_MT_ANIM_SHAKE, // Unused
/* 0x09 */ KOUME_MT_ANIM_DRINK,
/* 0x0A */ KOUME_MT_ANIM_FINISHED_DRINKING,
/* 0x0B */ KOUME_MT_ANIM_HEALED,
/* 0x0C */ KOUME_MT_ANIM_HOVER1,
/* 0x0D */ KOUME_MT_ANIM_TAKE_OFF,
/* 0x0E */ KOUME_MT_ANIM_FLY,
/* 0x0F */ KOUME_MT_ANIM_HOVER2,
/* 0x10 */ KOUME_MT_ANIM_MAX
} KoumeMtAnimation;
const ActorInit En_Tru_Mt_InitVars = {
ACTOR_EN_TRU_MT,
ACTORCAT_NPC,
@@ -88,57 +108,57 @@ static DamageTable sDamageTable = {
};
static AnimationInfoS sAnimationInfo[] = {
{ &object_tru_Anim_00F9A0, 1.0f, 0, -1, ANIMMODE_LOOP, 0 },
{ &object_tru_Anim_00F9A0, 1.0f, 0, -1, ANIMMODE_LOOP, -4 },
{ &object_tru_Anim_0108AC, 1.0f, 0, -1, ANIMMODE_ONCE, -4 },
{ &object_tru_Anim_009348, 1.0f, 0, -1, ANIMMODE_ONCE, -4 },
{ &object_tru_Anim_00EEDC, 1.0f, 0, -1, ANIMMODE_LOOP, -4 },
{ &object_tru_Anim_015CA0, 1.0f, 0, -1, ANIMMODE_LOOP, 0 },
{ &object_tru_Anim_015CA0, 1.0f, 0, -1, ANIMMODE_LOOP, -4 },
{ &object_tru_Anim_014728, 1.0f, 0, -1, ANIMMODE_ONCE, 0 },
{ &object_tru_Anim_01B5C4, 1.0f, 0, -1, ANIMMODE_ONCE, 0 },
{ &object_tru_Anim_007FA0, 1.0f, 0, -1, ANIMMODE_ONCE, -4 },
{ &object_tru_Anim_016B4C, 1.0f, 0, -1, ANIMMODE_LOOP, -4 },
{ &object_tru_Anim_011F88, 1.0f, 0, -1, ANIMMODE_ONCE, -4 },
{ &object_tru_Anim_00446C, 1.0f, 0, -1, ANIMMODE_LOOP, 0 },
{ &object_tru_Anim_003698, 1.0f, 0, -1, ANIMMODE_ONCE, -4 },
{ &object_tru_Anim_002BD8, 1.0f, 0, -1, ANIMMODE_LOOP, 0 },
{ &object_tru_Anim_00446C, 1.0f, 0, -1, ANIMMODE_LOOP, 0 },
{ &gKoumeInjuredLyingDownAnim, 1.0f, 0, -1, ANIMMODE_LOOP, 0 },
{ &gKoumeInjuredLyingDownAnim, 1.0f, 0, -1, ANIMMODE_LOOP, -4 },
{ &gKoumeTryGetUpAnim, 1.0f, 0, -1, ANIMMODE_ONCE, -4 },
{ &gKoumeInjuredRaiseHeadAnim, 1.0f, 0, -1, ANIMMODE_ONCE, -4 },
{ &gKoumeInjuredTalkAnim, 1.0f, 0, -1, ANIMMODE_LOOP, -4 },
{ &gKoumeInjuredHeadUpAnim, 1.0f, 0, -1, ANIMMODE_LOOP, 0 },
{ &gKoumeInjuredHeadUpAnim, 1.0f, 0, -1, ANIMMODE_LOOP, -4 },
{ &gKoumeTakeAnim, 1.0f, 0, -1, ANIMMODE_ONCE, 0 },
{ &gKoumeShakeAnim, 1.0f, 0, -1, ANIMMODE_ONCE, 0 },
{ &gKoumeDrinkAnim, 1.0f, 0, -1, ANIMMODE_ONCE, -4 },
{ &gKoumeFinishedDrinkingAnim, 1.0f, 0, -1, ANIMMODE_LOOP, -4 },
{ &gKoumeHealedAnim, 1.0f, 0, -1, ANIMMODE_ONCE, -4 },
{ &gKoumeHoverAnim, 1.0f, 0, -1, ANIMMODE_LOOP, 0 },
{ &gKoumeTakeOffAnim, 1.0f, 0, -1, ANIMMODE_ONCE, -4 },
{ &gKoumeFlyAnim, 1.0f, 0, -1, ANIMMODE_LOOP, 0 },
{ &gKoumeHoverAnim, 1.0f, 0, -1, ANIMMODE_LOOP, 0 },
};
Vec3f D_80B7765C = { 3000.0f, -800.0f, 0.0f };
Vec3f D_80B77668 = { 0.0f, 0.0f, -3000.0f };
s32 func_80B76030(SkelAnime* skelAnime, s16 arg1) {
s32 EnTruMt_ChangeAnim(SkelAnime* skelAnime, s16 animIndex) {
s16 endFrame;
s16 startFrame;
s32 ret = false;
s32 didChange = false;
if ((arg1 >= 0) && (arg1 < ARRAY_COUNT(sAnimationInfo))) {
endFrame = sAnimationInfo[arg1].frameCount;
if ((animIndex >= KOUME_MT_ANIM_INJURED_LYING_DOWN) && (animIndex < KOUME_MT_ANIM_MAX)) {
endFrame = sAnimationInfo[animIndex].frameCount;
if (endFrame < 0) {
endFrame = Animation_GetLastFrame(sAnimationInfo[arg1].animation);
endFrame = Animation_GetLastFrame(sAnimationInfo[animIndex].animation);
}
startFrame = sAnimationInfo[arg1].startFrame;
startFrame = sAnimationInfo[animIndex].startFrame;
if (startFrame < 0) {
startFrame = Animation_GetLastFrame(sAnimationInfo[arg1].animation);
startFrame = Animation_GetLastFrame(sAnimationInfo[animIndex].animation);
}
Animation_Change(skelAnime, sAnimationInfo[arg1].animation, sAnimationInfo[arg1].playSpeed, startFrame,
endFrame, sAnimationInfo[arg1].mode, sAnimationInfo[arg1].morphFrames);
ret = true;
Animation_Change(skelAnime, sAnimationInfo[animIndex].animation, sAnimationInfo[animIndex].playSpeed,
startFrame, endFrame, sAnimationInfo[animIndex].mode, sAnimationInfo[animIndex].morphFrames);
didChange = true;
}
return ret;
return didChange;
}
void func_80B76110(EnTruMt* this) {
if (DECR(this->unk_34E) == 0) {
this->unk_34C++;
if (this->unk_34C >= 3) {
this->unk_34E = Rand_S16Offset(30, 30);
this->unk_34C = 0;
if (DECR(this->blinkTimer) == 0) {
this->eyeTexIndex++;
if (this->eyeTexIndex >= 3) {
this->blinkTimer = Rand_S16Offset(30, 30);
this->eyeTexIndex = 0;
}
}
}
@@ -404,8 +424,7 @@ void EnTruMt_Init(Actor* thisx, PlayState* play) {
}
ActorShape_Init(&this->actor.shape, 0.0f, ActorShadow_DrawCircle, 24.0f);
SkelAnime_InitFlex(play, &this->skelAnime, &object_tru_Skel_01AA60, NULL, this->jointTable, this->morphTable,
OBJECT_TRU_LIMB_MAX);
SkelAnime_InitFlex(play, &this->skelAnime, &gKoumeSkel, NULL, this->jointTable, this->morphTable, KOUME_LIMB_MAX);
Collider_InitSphere(play, &this->collider);
Collider_SetSphere(play, &this->collider, &this->actor, &sSphereInit);
@@ -421,7 +440,7 @@ void EnTruMt_Init(Actor* thisx, PlayState* play) {
this->unk_328 = 0;
this->actor.room = -1;
this->path = SubS_GetPathByIndex(play, ENTRUMT_GET_FC00(&this->actor), 0x3F);
func_80B76030(&this->skelAnime, 14);
EnTruMt_ChangeAnim(&this->skelAnime, KOUME_MT_ANIM_FLY);
this->actionFunc = func_80B76A64;
}
@@ -477,11 +496,11 @@ void func_80B76ED4(s16 arg0, s16 arg1, Vec3f* arg2, Vec3s* arg3, s32 arg4) {
s32 EnTruMt_OverrideLimbDraw(PlayState* play, s32 limbIndex, Gfx** dList, Vec3f* pos, Vec3s* rot, Actor* thisx) {
EnTruMt* this = THIS;
if (limbIndex == OBJECT_TRU_LIMB_15) {
if (limbIndex == KOUME_LIMB_HEAD) {
Matrix_MultVec3f(&gZeroVec3f, &this->unk_35C);
}
if (limbIndex == OBJECT_TRU_LIMB_15) {
if (limbIndex == KOUME_LIMB_HEAD) {
Matrix_MultVec3f(&D_80B7765C, &this->unk_350);
}
return false;
@@ -493,7 +512,7 @@ void EnTruMt_PostLimbDraw(PlayState* play, s32 limbIndex, Gfx** dList, Vec3s* ro
MtxF* sp54;
s32 phi_v0;
if (limbIndex == OBJECT_TRU_LIMB_15) {
if (limbIndex == KOUME_LIMB_HEAD) {
if (this->unk_328 & 0x10) {
phi_v0 = 1;
} else {
@@ -507,7 +526,7 @@ void EnTruMt_PostLimbDraw(PlayState* play, s32 limbIndex, Gfx** dList, Vec3s* ro
Matrix_RotateZS(this->unk_336.z, MTXMODE_APPLY);
}
if (limbIndex == OBJECT_TRU_LIMB_0E) {
if (limbIndex == KOUME_LIMB_BROOM) {
func_8012C28C(play->state.gfxCtx);
OPEN_DISPS(play->state.gfxCtx);
@@ -520,7 +539,7 @@ void EnTruMt_PostLimbDraw(PlayState* play, s32 limbIndex, Gfx** dList, Vec3s* ro
Matrix_Scale(0.008f, 0.008f, 0.008f, MTXMODE_APPLY);
gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(play->state.gfxCtx), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
gSPDisplayList(POLY_OPA_DISP++, object_tru_DL_0004C8);
gSPDisplayList(POLY_OPA_DISP++, gKoumeChainDL);
CLOSE_DISPS(play->state.gfxCtx);
@@ -545,7 +564,7 @@ void EnTruMt_PostLimbDraw(PlayState* play, s32 limbIndex, Gfx** dList, Vec3s* ro
void EnTruMt_TransformLimbDraw(PlayState* play, s32 limbIndex, Actor* thisx) {
EnTruMt* this = THIS;
if (limbIndex == OBJECT_TRU_LIMB_15) {
if (limbIndex == KOUME_LIMB_HEAD) {
Matrix_Translate(this->unk_33C.x, this->unk_33C.y, this->unk_33C.z, MTXMODE_NEW);
Matrix_Scale(this->actor.scale.x, this->actor.scale.y, this->actor.scale.z, MTXMODE_APPLY);
Matrix_RotateYS(this->unk_336.y, MTXMODE_APPLY);
@@ -556,18 +575,18 @@ void EnTruMt_TransformLimbDraw(PlayState* play, s32 limbIndex, Actor* thisx) {
void EnTruMt_Draw(Actor* thisx, PlayState* play) {
EnTruMt* this = THIS;
TexturePtr sp48[] = {
object_tru_Tex_018FA0,
object_tru_Tex_0197A0,
object_tru_Tex_019FA0,
TexturePtr eyeTextures[] = {
gKoumeEyeOpenTex,
gKoumeEyeHalfTex,
gKoumeEyeClosedTex,
};
OPEN_DISPS(play->state.gfxCtx);
func_8012C28C(play->state.gfxCtx);
gSPSegment(POLY_OPA_DISP++, 0x08, Lib_SegmentedToVirtual(sp48[this->unk_34C]));
gSPSegment(POLY_OPA_DISP++, 0x09, Lib_SegmentedToVirtual(sp48[this->unk_34C]));
gSPSegment(POLY_OPA_DISP++, 0x08, Lib_SegmentedToVirtual(eyeTextures[this->eyeTexIndex]));
gSPSegment(POLY_OPA_DISP++, 0x09, Lib_SegmentedToVirtual(eyeTextures[this->eyeTexIndex]));
SkelAnime_DrawTransformFlexOpa(play, this->skelAnime.skeleton, this->skelAnime.jointTable,
this->skelAnime.dListCount, EnTruMt_OverrideLimbDraw, EnTruMt_PostLimbDraw,
@@ -16,16 +16,16 @@ typedef struct EnTruMt {
/* 0x144 */ EnTruMtActionFunc actionFunc;
/* 0x148 */ SkelAnime skelAnime;
/* 0x18C */ ColliderSphere collider;
/* 0x1E4 */ Vec3s jointTable[OBJECT_TRU_LIMB_MAX];
/* 0x286 */ Vec3s morphTable[OBJECT_TRU_LIMB_MAX];
/* 0x1E4 */ Vec3s jointTable[KOUME_LIMB_MAX];
/* 0x286 */ Vec3s morphTable[KOUME_LIMB_MAX];
/* 0x328 */ u16 unk_328;
/* 0x32A */ UNK_TYPE1 unk32A[0xC];
/* 0x336 */ Vec3s unk_336;
/* 0x33C */ Vec3f unk_33C;
/* 0x348 */ s16 unk_348;
/* 0x34A */ s16 unk_34A;
/* 0x34C */ s16 unk_34C;
/* 0x34E */ s16 unk_34E;
/* 0x34C */ s16 eyeTexIndex;
/* 0x34E */ s16 blinkTimer;
/* 0x350 */ Vec3f unk_350;
/* 0x35C */ Vec3f unk_35C;
/* 0x368 */ Path* path;
+3 -3
View File
@@ -11226,8 +11226,8 @@
0x80A86460:("func_80A86460",),
0x80A86674:("func_80A86674",),
0x80A86770:("func_80A86770",),
0x80A868F8:("func_80A868F8",),
0x80A86924:("func_80A86924",),
0x80A868F8:("EnTru_UpdateSkelAnime",),
0x80A86924:("EnTru_ChangeAnim",),
0x80A8697C:("func_80A8697C",),
0x80A869DC:("func_80A869DC",),
0x80A86B0C:("func_80A86B0C",),
@@ -14437,7 +14437,7 @@
0x80B75658:("EnJg_OverrideLimbDraw",),
0x80B75708:("EnJg_PostLimbDraw",),
0x80B757AC:("EnJg_Draw",),
0x80B76030:("func_80B76030",),
0x80B76030:("EnTruMt_ChangeAnim",),
0x80B76110:("func_80B76110",),
0x80B76188:("func_80B76188",),
0x80B761FC:("func_80B761FC",),