reconcile object_tw xml

This commit is contained in:
Dragorn421 2025-06-11 21:13:33 +02:00
parent fe2a22d591
commit 2108d62acd
No known key found for this signature in database
GPG Key ID: 381AEBAF3D429335
9 changed files with 163 additions and 877 deletions

View File

@ -192,11 +192,55 @@
<DList Name="gTwinrovaKotakeFireBroomHeadDL" Offset="0x14070"/>
<DList Name="gTwinrovaKotakeFireBroomHeadOuterDL" Offset="0x14158"/>
<!-- Kotake DLs -->
<Array Name="gTwinrovaKotakeVtx" Count="288" Offset="0x14240">
<!-- Kotake Vertices -->
<Array Name="gTwinrovaKotakeLeftBraidEndVtx" Count="21" Offset="0x14240">
<Vtx/>
</Array>
<Array Name="gTwinrovaKotakeLeftBraidStartVtx" Count="10" Offset="0x14390">
<Vtx/>
</Array>
<Array Name="gTwinrovaKotakeRightBraidEndVtx" Count="21" Offset="0x14430">
<Vtx/>
</Array>
<Array Name="gTwinrovaKotakeRightBraidStartVtx" Count="10" Offset="0x14580">
<Vtx/>
</Array>
<Array Name="gTwinrovaKotakeNeckVtx" Count="24" Offset="0x14620">
<Vtx/>
</Array>
<Array Name="gTwinrovaKotakeLeftSleeveFrontVtx" Count="19" Offset="0x147A0">
<Vtx/>
</Array>
<Array Name="gTwinrovaKotakeLeftSleeveEndVtx" Count="12" Offset="0x148D0">
<Vtx/>
</Array>
<Array Name="gTwinrovaKotakeLeftSleeveMidVtx" Count="18" Offset="0x14990">
<Vtx/>
</Array>
<Array Name="gTwinrovaKotakeLeftSleeveStartVtx" Count="15" Offset="0x14AB0">
<Vtx/>
</Array>
<Array Name="gTwinrovaKotakeRightSleeveFrontVtx" Count="19" Offset="0x14BA0">
<Vtx/>
</Array>
<Array Name="gTwinrovaKotakeRightSleeveEndVtx" Count="12" Offset="0x14CD0">
<Vtx/>
</Array>
<Array Name="gTwinrovaKotakeRightSleeveMidVtx" Count="18" Offset="0x14D90">
<Vtx/>
</Array>
<Array Name="gTwinrovaKotakeRightSleeveStartVtx" Count="15" Offset="0x14EB0">
<Vtx/>
</Array>
<Array Name="gTwinrovaKotakeTorsoVtx" Count="38" Offset="0x14FA0">
<Vtx/>
</Array>
<Blob Name="object_tw_Blob_015200" Size="0x60" Offset="0x15200"/>
<Array Name="gTwinrovaKotakePelvisVtx" Count="30" Offset="0x15260">
<Vtx/>
</Array>
<!-- Kotake DLs -->
<DList Name="gTwinrovaKotakeLeftBraidEndDL" Offset="0x15440"/>
<DList Name="gTwinrovaKotakeLeftBraidStartDL" Offset="0x15538"/>
<DList Name="gTwinrovaKotakeRightBraidEndDL" Offset="0x15648"/>
@ -218,11 +262,55 @@
<Texture Name="gTwinrovaBraidEndTex" Format="rgba16" Width="8" Height="8" Offset="0x16650"/>
<Texture Name="gTwinrovaLeftFootTex" Format="rgba16" Width="4" Height="8" Offset="0x166D0"/>
<!-- Koume DLs -->
<Array Name="gTwinrovaKoumeVtx" Count="288" Offset="0x16710">
<!-- Koume Vertices -->
<Array Name="gTwinrovaKoumeLeftBraidEndVtx" Count="21" Offset="0x16710">
<Vtx/>
</Array>
<Array Name="gTwinrovaKoumeLeftBraidStartVtx" Count="10" Offset="0x16860">
<Vtx/>
</Array>
<Array Name="gTwinrovaKoumeRightBraidEndVtx" Count="21" Offset="0x16900">
<Vtx/>
</Array>
<Array Name="gTwinrovaKoumeRightBraidStartVtx" Count="10" Offset="0x16A50">
<Vtx/>
</Array>
<Array Name="gTwinrovaKoumeNeckVtx" Count="24" Offset="0x16AF0">
<Vtx/>
</Array>
<Array Name="gTwinrovaKoumeLeftSleeveFrontVtx" Count="19" Offset="0x16C70">
<Vtx/>
</Array>
<Array Name="gTwinrovaKoumeLeftSleeveEndVtx" Count="12" Offset="0x16DA0">
<Vtx/>
</Array>
<Array Name="gTwinrovaKoumeLeftSleeveMidVtx" Count="18" Offset="0x16E60">
<Vtx/>
</Array>
<Array Name="gTwinrovaKoumeLeftSleeveStartVtx" Count="15" Offset="0x16F80">
<Vtx/>
</Array>
<Array Name="gTwinrovaKoumeRightSleeveFrontVtx" Count="19" Offset="0x17070">
<Vtx/>
</Array>
<Array Name="gTwinrovaKoumeRightSleeveEndVtx" Count="12" Offset="0x171A0">
<Vtx/>
</Array>
<Array Name="gTwinrovaKoumeRightSleeveMidVtx" Count="18" Offset="0x17260">
<Vtx/>
</Array>
<Array Name="gTwinrovaKoumeRightSleeveStartVtx" Count="15" Offset="0x17380">
<Vtx/>
</Array>
<Array Name="gTwinrovaKoumeTorsoVtx" Count="38" Offset="0x17470">
<Vtx/>
</Array>
<Blob Name="object_tw_Blob_0176D0" Size="0x60" Offset="0x176D0"/>
<Array Name="gTwinrovaKoumePelvisVtx" Count="30" Offset="0x17730">
<Vtx/>
</Array>
<!-- Koume DLs -->
<DList Name="gTwinrovaKoumeLeftBraidEndDL" Offset="0x17910"/>
<DList Name="gTwinrovaKoumeLeftBraidStartDL" Offset="0x17A08"/>
<DList Name="gTwinrovaKoumeRightBraidEndDL" Offset="0x17B18"/>
@ -430,9 +518,6 @@
<Limb Name="gTwinrovaKoumeLeftBraidEndLimb" LimbType="Standard" Offset="0x1F814"/>
<Skeleton Name="gTwinrovaKoumeSkel" Type="Flex" LimbType="Standard" Offset="0x1F888"/>
<!-- Twinrova Texture -->
<Texture Name="gTwinrovaEyeHalfTex" Format="ci8" Width="32" Height="32" Offset="0x2A070" TlutOffset="0x29E50"/>
<!-- Twinrova Animations -->
<Animation Name="gTwinrovaDeathAnim" Offset="0x216DC"/> <!-- Original name is "btW_EDdamage" -->
<Animation Name="gTwinrovaIceAttackAnim" Offset="0x22700"/> <!-- Original name is "btW_atackL" -->
@ -566,6 +651,7 @@
<!-- Twinrova Textures -->
<Texture Name="gTwinrovaEyeAndMouthTLUT" Format="rgba16" Width="29" Height="8" Offset="0x29E50"/>
<Texture Name="gTwinrovaEarAndFingerTLUT" Format="rgba16" Width="8" Height="5" Offset="0x2A020"/>
<Texture Name="gTwinrovaEyeHalfTex" Format="ci8" Width="32" Height="32" Offset="0x2A070" TlutOffset="0x29E50"/>
<Texture Name="gTwinrovaEyeClosedTex" Format="ci8" Width="32" Height="32" Offset="0x2A470" TlutOffset="0x29E50"/>
<Texture Name="gTwinrovaGrimaceTex" Format="ci8" Width="16" Height="16" Offset="0x2A870" TlutOffset="0x29E50"/>
<Texture Name="gTwinrovaEyebrowTex" Format="rgba16" Width="8" Height="4" Offset="0x2A970"/>
@ -648,71 +734,77 @@
<DList Name="gTwinrovaBroomFireTrailDL" Offset="0x2E098"/>
<!-- Twinrova Title Card -->
<Texture Name="gTwinrovaTitleCardTex" Format="ia8" Width="128" Height="80" Offset="0x2E170"/>
<Version Pattern="ntsc-.*|gc-jp.*|gc-us.*|ique-cn">
<Texture Name="gTwinrovaTitleCardTex" Format="ia8" Width="128" Height="80" Offset="0x2E170"/>
</Version>
<Version Pattern="pal-.*|gc-eu.*">
<Texture Name="gTwinrovaTitleCardTex" Format="ia8" Width="128" Height="120" Offset="0x2E170"/>
</Version>
<!-- Twinrova Limbs -->
<Limb Name="gTwinrovaPelvisLimb" LimbType="Standard" Offset="0x30970"/>
<Limb Name="gTwinrovaSash1Limb" LimbType="Standard" Offset="0x3097C"/>
<Limb Name="gTwinrovaSash2Limb" LimbType="Standard" Offset="0x30988"/>
<Limb Name="gTwinrovaSash3Limb" LimbType="Standard" Offset="0x30994"/>
<Limb Name="gTwinrovaSash4Limb" LimbType="Standard" Offset="0x309A0"/>
<Limb Name="gTwinrovaLeftThighLimb" LimbType="Standard" Offset="0x309AC"/>
<Limb Name="gTwinrovaLeftShinLimb" LimbType="Standard" Offset="0x309B8"/>
<Limb Name="gTwinrovaLeftFootLimb" LimbType="Standard" Offset="0x309C4"/>
<Limb Name="gTwinrovaRightThighLimb" LimbType="Standard" Offset="0x309D0"/>
<Limb Name="gTwinrovaRightShinLimb" LimbType="Standard" Offset="0x309DC"/>
<Limb Name="gTwinrovaRightFootLimb" LimbType="Standard" Offset="0x309E8"/>
<Limb Name="gTwinrovaTorsoLimb" LimbType="Standard" Offset="0x309F4"/>
<Limb Name="gTwinrovaLeftBreastLimb" LimbType="Standard" Offset="0x30A00"/>
<Limb Name="gTwinrovaRightBreastLimb" LimbType="Standard" Offset="0x30A0C"/>
<Limb Name="gTwinrovaHairIceTrailLimb" LimbType="Standard" Offset="0x30A18"/>
<Limb Name="gTwinrovaHairIceJetLimb" LimbType="Standard" Offset="0x30A24"/>
<Limb Name="gTwinrovaHairFireJetLimb" LimbType="Standard" Offset="0x30A30"/>
<Limb Name="gTwinrovaHairFireTrailLimb" LimbType="Standard" Offset="0x30A3C"/>
<Limb Name="gTwinrovaLeftHairBunLimb" LimbType="Standard" Offset="0x30A48"/>
<Limb Name="gTwinrovaRightHairBunLimb" LimbType="Standard" Offset="0x30A54"/>
<Limb Name="gTwinrovaHeadLimb" LimbType="Standard" Offset="0x30A60"/>
<Limb Name="gTwinrovaRightBraidStartLimb" LimbType="Standard" Offset="0x30A6C"/>
<Limb Name="gTwinrovaRightBraidEndLimb" LimbType="Standard" Offset="0x30A78"/>
<Limb Name="gTwinrovaLeftBraidStartLimb" LimbType="Standard" Offset="0x30A84"/>
<Limb Name="gTwinrovaLeftBraidEndLimb" LimbType="Standard" Offset="0x30A90"/>
<Limb Name="gTwinrovaLeftShoulderLimb" LimbType="Standard" Offset="0x30A9C"/>
<Limb Name="gTwinrovaLeftUpperArmLimb" LimbType="Standard" Offset="0x30AA8"/>
<Limb Name="gTwinrovaLeftForearmLimb" LimbType="Standard" Offset="0x30AB4"/>
<Limb Name="gTwinrovaLeftSleeveStartLimb" LimbType="Standard" Offset="0x30AC0"/>
<Limb Name="gTwinrovaLeftSleeveEndLimb" LimbType="Standard" Offset="0x30ACC"/>
<Limb Name="gTwinrovaBroomIceTrailLimb" LimbType="Standard" Offset="0x30AD8"/>
<Limb Name="gTwinrovaBroomIceJetLimb" LimbType="Standard" Offset="0x30AE4"/>
<Limb Name="gTwinrovaLeftHandLimb" LimbType="Standard" Offset="0x30AF0"/>
<Limb Name="gTwinrovaLeftBroomLimb" LimbType="Standard" Offset="0x30AFC"/>
<Limb Name="gTwinrovaRightShoulderLimb" LimbType="Standard" Offset="0x30B08"/>
<Limb Name="gTwinrovaRightUpperArmLimb" LimbType="Standard" Offset="0x30B14"/>
<Limb Name="gTwinrovaRightForearmLimb" LimbType="Standard" Offset="0x30B20"/>
<Limb Name="gTwinrovaRightSleeveStartLimb" LimbType="Standard" Offset="0x30B2C"/>
<Limb Name="gTwinrovaRightSleeveEndLimb" LimbType="Standard" Offset="0x30B38"/>
<Limb Name="gTwinrovaRightBroomLimb" LimbType="Standard" Offset="0x30B44"/>
<Limb Name="gTwinrovaBroomFireJetLimb" LimbType="Standard" Offset="0x30B50"/>
<Limb Name="gTwinrovaBroomFireTrailLimb" LimbType="Standard" Offset="0x30B5C"/>
<Limb Name="gTwinrovaRightHandLimb" LimbType="Standard" Offset="0x30B68"/>
<Limb Name="gTwinrovaPelvisLimb" LimbType="Standard"/>
<Limb Name="gTwinrovaSash1Limb" LimbType="Standard"/>
<Limb Name="gTwinrovaSash2Limb" LimbType="Standard"/>
<Limb Name="gTwinrovaSash3Limb" LimbType="Standard"/>
<Limb Name="gTwinrovaSash4Limb" LimbType="Standard"/>
<Limb Name="gTwinrovaLeftThighLimb" LimbType="Standard"/>
<Limb Name="gTwinrovaLeftShinLimb" LimbType="Standard"/>
<Limb Name="gTwinrovaLeftFootLimb" LimbType="Standard"/>
<Limb Name="gTwinrovaRightThighLimb" LimbType="Standard"/>
<Limb Name="gTwinrovaRightShinLimb" LimbType="Standard"/>
<Limb Name="gTwinrovaRightFootLimb" LimbType="Standard"/>
<Limb Name="gTwinrovaTorsoLimb" LimbType="Standard"/>
<Limb Name="gTwinrovaLeftBreastLimb" LimbType="Standard"/>
<Limb Name="gTwinrovaRightBreastLimb" LimbType="Standard"/>
<Limb Name="gTwinrovaHairIceTrailLimb" LimbType="Standard"/>
<Limb Name="gTwinrovaHairIceJetLimb" LimbType="Standard"/>
<Limb Name="gTwinrovaHairFireJetLimb" LimbType="Standard"/>
<Limb Name="gTwinrovaHairFireTrailLimb" LimbType="Standard"/>
<Limb Name="gTwinrovaLeftHairBunLimb" LimbType="Standard"/>
<Limb Name="gTwinrovaRightHairBunLimb" LimbType="Standard"/>
<Limb Name="gTwinrovaHeadLimb" LimbType="Standard"/>
<Limb Name="gTwinrovaRightBraidStartLimb" LimbType="Standard"/>
<Limb Name="gTwinrovaRightBraidEndLimb" LimbType="Standard"/>
<Limb Name="gTwinrovaLeftBraidStartLimb" LimbType="Standard"/>
<Limb Name="gTwinrovaLeftBraidEndLimb" LimbType="Standard"/>
<Limb Name="gTwinrovaLeftShoulderLimb" LimbType="Standard"/>
<Limb Name="gTwinrovaLeftUpperArmLimb" LimbType="Standard"/>
<Limb Name="gTwinrovaLeftForearmLimb" LimbType="Standard"/>
<Limb Name="gTwinrovaLeftSleeveStartLimb" LimbType="Standard"/>
<Limb Name="gTwinrovaLeftSleeveEndLimb" LimbType="Standard"/>
<Limb Name="gTwinrovaBroomIceTrailLimb" LimbType="Standard"/>
<Limb Name="gTwinrovaBroomIceJetLimb" LimbType="Standard"/>
<Limb Name="gTwinrovaLeftHandLimb" LimbType="Standard"/>
<Limb Name="gTwinrovaLeftBroomLimb" LimbType="Standard"/>
<Limb Name="gTwinrovaRightShoulderLimb" LimbType="Standard"/>
<Limb Name="gTwinrovaRightUpperArmLimb" LimbType="Standard"/>
<Limb Name="gTwinrovaRightForearmLimb" LimbType="Standard"/>
<Limb Name="gTwinrovaRightSleeveStartLimb" LimbType="Standard"/>
<Limb Name="gTwinrovaRightSleeveEndLimb" LimbType="Standard"/>
<Limb Name="gTwinrovaRightBroomLimb" LimbType="Standard"/>
<Limb Name="gTwinrovaBroomFireJetLimb" LimbType="Standard"/>
<Limb Name="gTwinrovaBroomFireTrailLimb" LimbType="Standard"/>
<Limb Name="gTwinrovaRightHandLimb" LimbType="Standard"/>
<!-- Twinrova Skeleton -->
<Skeleton Name="gTwinrovaSkel" Type="Flex" LimbType="Standard" Offset="0x30C20"/>
<LimbTable Name="gTwinrovaLimbs" LimbType="Standard" Count="43"/>
<Skeleton Name="gTwinrovaSkel" Type="Flex" LimbType="Standard"/>
<!-- Twinrova Animations -->
<Animation Name="gTwinrovaHoverAnim" Offset="0x317F8"/> <!-- Original name is "btW_fly" -->
<Animation Name="gTwinrovaChargedAttackHitAnim" Offset="0x324F0"/> <!-- Original name is "btW_hit" -->
<Animation Name="gTwinrovaStunStartAnim" Offset="0x32FB4"/> <!-- Original name is "btW_hit_to_mahi" -->
<Animation Name="gTwinrovaStunLoopAnim" Offset="0x33C30"/> <!-- Original name is "btW_mahi" ("paralysis, stupor") -->
<Animation Name="gTwinrovaStunEndAnim" Offset="0x34588"/> <!-- Original name is "btW_mahi_to_fly" -->
<Animation Name="gTwinrovaWindUpAnim" Offset="0x35BBC"/> <!-- Original name is "btW_preatack" -->
<Animation Name="gTwinrovaIntroAnim" Offset="0x37A2C"/> <!-- Original name is "btW_start" -->
<Animation Name="gTwinrovaLaughAnim" Offset="0x38ED0"/> <!-- Original name is "btW_ufufu" ("tee-hee") -->
<Animation Name="gTwinrovaHoverAnim" Offset=".+0xBCC"/> <!-- Original name is "btW_fly" -->
<Animation Name="gTwinrovaChargedAttackHitAnim" Offset=".+0xCE8"/> <!-- Original name is "btW_hit" -->
<Animation Name="gTwinrovaStunStartAnim" Offset=".+0xAB4"/> <!-- Original name is "btW_hit_to_mahi" -->
<Animation Name="gTwinrovaStunLoopAnim" Offset=".+0xC6C"/> <!-- Original name is "btW_mahi" ("paralysis, stupor") -->
<Animation Name="gTwinrovaStunEndAnim" Offset=".+0x948"/> <!-- Original name is "btW_mahi_to_fly" -->
<Animation Name="gTwinrovaWindUpAnim" Offset=".+0x1624"/> <!-- Original name is "btW_preatack" -->
<Animation Name="gTwinrovaIntroAnim" Offset=".+0x1E60"/> <!-- Original name is "btW_start" -->
<Animation Name="gTwinrovaLaughAnim" Offset=".+0x1494"/> <!-- Original name is "btW_ufufu" ("tee-hee") -->
<!-- Assets for an unused red boulder -->
<Array Name="gTwinrovaUnusedBoulderVtx" Count="58" Offset="0x38EE0">
<Array Name="gTwinrovaUnusedBoulderVtx" Count="58">
<Vtx/>
</Array>
<DList Name="gTwinrovaUnusedBoulderDL" Offset="0x39280"/>
<Texture Name="gTwinrovaUnusedBoulderTex" Format="rgba16" Width="32" Height="32" Offset="0x393B0"/>
<DList Name="gTwinrovaUnusedBoulderDL" Length="38"/>
<Texture Name="gTwinrovaUnusedBoulderTex" Format="rgba16" Width="32" Height="32"/>
</File>
</Root>

View File

@ -1,807 +0,0 @@
<Root>
<File Name="object_tw" Segment="6">
<!-- Kotake and Koume animations -->
<Animation Name="gTwinrovaKotakeKoumeIdleLoopAnim" Offset="0x4A4"/> <!-- Original name is "btT_DEMOwait" -->
<Animation Name="gTwinrovaKotakeKoumeIdleEndAnim" Offset="0xAAC"/> <!-- Original name is "btT_DEMOwait_to_fly" -->
<Animation Name="gTwinrovaKotakeKoumeBickerAnim" Offset="0x12A4"/> <!-- Original name is "btT_EDikari" ("anger; rage; fury") -->
<Animation Name="gTwinrovaKotakeKoumeFloatLookUpAnim" Offset="0x17E0"/> <!-- Original name is "btT_EDmiage" ("to look up at; to raise one's eyes") -->
<Animation Name="gTwinrovaKotakeKoumeFloatLookForwardAnim" Offset="0x1D10"/> <!-- Original name is "btT_EDwait" -->
<Animation Name="gTwinrovaKotakeKoumeShakeHandAnim" Offset="0x230C"/> <!-- Original name is "btT_EDyaruki" ("drive; motivation; enthusiasm") -->
<Animation Name="gTwinrovaKotakeKoumeAttackStartAnim" Offset="0x3614"/> <!-- Original name is "btT_atack" -->
<Animation Name="gTwinrovaKotakeKoumeAttackLoopAnim" Offset="0x3E34"/> <!-- Original name is "btT_beeem" -->
<Animation Name="gTwinrovaKotakeKoumeAttackEndAnim" Offset="0x4548"/> <!-- Original name is "btT_beeem_to_fly" -->
<Animation Name="gTwinrovaKotakeKoumeDamageStartAnim" Offset="0x578C"/> <!-- Original name is "btT_damage01" -->
<Animation Name="gTwinrovaKotakeKoumeDamageEndAnim" Offset="0x6530"/> <!-- Original name is "btT_damage02" -->
<Animation Name="gTwinrovaKotakeKoumeFlyAnim" Offset="0x6F28"/> <!-- Original name is "btT_fly" -->
<!-- Kotake skeleton -->
<Limb Name="gTwinrovaKotakePelvisLimb" LimbType="Standard" Offset="0x6F40"/>
<Limb Name="gTwinrovaKotakeLeftThighLimb" LimbType="Standard" Offset="0x6F4C"/>
<Limb Name="gTwinrovaKotakeLeftShinLimb" LimbType="Standard" Offset="0x6F58"/>
<Limb Name="gTwinrovaKotakeLeftFootLimb" LimbType="Standard" Offset="0x6F64"/>
<Limb Name="gTwinrovaKotakeRightThighLimb" LimbType="Standard" Offset="0x6F70"/>
<Limb Name="gTwinrovaKotakeRightShinLimb" LimbType="Standard" Offset="0x6F7C"/>
<Limb Name="gTwinrovaKotakeRightFootLimb" LimbType="Standard" Offset="0x6F88"/>
<Limb Name="gTwinrovaKotakeTorsoLimb" LimbType="Standard" Offset="0x6F94"/>
<Limb Name="gTwinrovaKotakeLeftSleeveStartLimb" LimbType="Standard" Offset="0x6FA0"/>
<Limb Name="gTwinrovaKotakeLeftSleeveMidLimb" LimbType="Standard" Offset="0x6FAC"/>
<Limb Name="gTwinrovaKotakeLeftSleeveEndLimb" LimbType="Standard" Offset="0x6FB8"/>
<Limb Name="gTwinrovaKotakeLeftSleeveFrontLimb" LimbType="Standard" Offset="0x6FC4"/>
<Limb Name="gTwinrovaKotakeLeftHandLimb" LimbType="Standard" Offset="0x6FD0"/>
<Limb Name="gTwinrovaKotakeBroomLimb" LimbType="Standard" Offset="0x6FDC"/>
<Limb Name="gTwinrovaKotakeRightSleeveStartLimb" LimbType="Standard" Offset="0x6FE8"/>
<Limb Name="gTwinrovaKotakeRightSleeveMidLimb" LimbType="Standard" Offset="0x6FF4"/>
<Limb Name="gTwinrovaKotakeRightSleeveEndLimb" LimbType="Standard" Offset="0x7000"/>
<Limb Name="gTwinrovaKotakeRightSleeveFrontLimb" LimbType="Standard" Offset="0x700C"/>
<Limb Name="gTwinrovaKotakeRightHandLimb" LimbType="Standard" Offset="0x7018"/>
<Limb Name="gTwinrovaKotakeNeckLimb" LimbType="Standard" Offset="0x7024"/>
<Limb Name="gTwinrovaKotakeHeadLimb" LimbType="Standard" Offset="0x7030"/>
<Limb Name="gTwinrovaKotakeRightBraidStartLimb" LimbType="Standard" Offset="0x703C"/>
<Limb Name="gTwinrovaKotakeRightBraidEndLimb" LimbType="Standard" Offset="0x7048"/>
<Limb Name="gTwinrovaKotakeTeethLimb" LimbType="Standard" Offset="0x7054"/>
<Limb Name="gTwinrovaKotakeLeftBraidStartLimb" LimbType="Standard" Offset="0x7060"/>
<Limb Name="gTwinrovaKotakeLeftBraidEndLimb" LimbType="Standard" Offset="0x706C"/>
<Skeleton Name="gTwinrovaKotakeSkel" Type="Flex" LimbType="Standard" Offset="0x70E0"/>
<!-- Kotake and Koume animations -->
<Animation Name="gTwinrovaKotakeKoumeChargeUpAttackStartAnim" Offset="0x7688"/> <!-- Original name is "btT_fly_to_tame" -->
<Animation Name="gTwinrovaKotakeKoumeSpinAnim" Offset="0x7CA8"/> <!-- Original name is "btT_guard" -->
<Animation Name="gTwinrovaKotakeKoumeLaughAnim" Offset="0x88C8"/> <!-- Original name is "btT_hihihi" -->
<Animation Name="gTwinrovaKotakeKoumeChargeUpAttackLoopAnim" Offset="0x9398"/> <!-- Original name is "btT_tame" ("to amass; to accumulate") -->
<Animation Name="gTwinrovaKotakeKoumeTPoseAnim" Offset="0x947C"/>
<!-- Kotake and Koume textures -->
<Texture Name="gTwinrovaKoumeKotakeTLUT" Format="rgba16" Width="53" Height="4" Offset="0x9490"/>
<Texture Name="gTwinrovaKotakeGerudoFabricTex" Format="rgba16" Width="32" Height="32" Offset="0x9638"/>
<Texture Name="gTwinrovaKotakeRobeTex" Format="rgba16" Width="16" Height="16" Offset="0x9E38"/>
<Texture Name="gTwinrovaRobePatternTex" Format="rgba16" Width="16" Height="16" Offset="0xA038"/>
<Texture Name="gTwinrovaRobeTrimTex" Format="rgba16" Width="16" Height="16" Offset="0xA238"/>
<Texture Name="gTwinrovaKotakeKoumeEyeOpenTex" Format="ci8" Width="32" Height="32" Offset="0xA438" TlutOffset="0x9490"/>
<Texture Name="gTwinrovaKotakeKoumeSkinTex" Format="ci8" Width="16" Height="8" Offset="0xA838" TlutOffset="0x9490"/>
<Texture Name="gTwinrovaKotakeKoumeMouthTex" Format="ci8" Width="8" Height="8" Offset="0xA8B8" TlutOffset="0x9490"/>
<Texture Name="gTwinrovaHairTex" Format="rgba16" Width="8" Height="32" Offset="0xA8F8"/>
<Texture Name="gTwinrovaKotakeKoumeEarTex" Format="ci8" Width="8" Height="8" Offset="0xAAF8" TlutOffset="0x9490"/>
<Texture Name="gTwinrovaKotakeKoumeFingerTex" Format="ci8" Width="8" Height="16" Offset="0xAB38" TlutOffset="0x9490"/>
<Texture Name="gTwinrovaBroomHandleTex" Format="rgba16" Width="8" Height="8" Offset="0xABB8"/>
<Texture Name="gTwinrovaBroomHeadTex" Format="rgba16" Width="16" Height="32" Offset="0xAC38"/>
<Texture Name="gTwinrovaKotakeKoumeJewelHolderTex" Format="rgba16" Width="16" Height="8" Offset="0xB038"/>
<Texture Name="gTwinrovaKotakeJewelTex" Format="rgba16" Width="8" Height="8" Offset="0xB138"/>
<Texture Name="gTwinrovaKotakeKoumeNeckTex" Format="ci8" Width="8" Height="8" Offset="0xB1B8" TlutOffset="0x9490"/>
<Texture Name="gTwinrovaKotakeKoumeNostrilsTex" Format="ci8" Width="8" Height="8" Offset="0xB1F8" TlutOffset="0x9490"/>
<Texture Name="gTwinrovaKotakeKoumeEyeHalfTex" Format="ci8" Width="32" Height="32" Offset="0xB238" TlutOffset="0x9490"/>
<Texture Name="gTwinrovaKotakeKoumeEyeClosedTex" Format="ci8" Width="32" Height="32" Offset="0xB638" TlutOffset="0x9490"/>
<Texture Name="gTwinrovaEffectTex" Format="i8" Width="32" Height="32" Offset="0xBA38"/>
<Texture Name="gTwinrovaEffectMaskTex" Format="i4" Width="32" Height="64" Offset="0xBE38"/>
<Texture Name="gTwinrovaKoumeGerudoFabricTex" Format="rgba16" Width="32" Height="32" Offset="0xC238"/>
<Texture Name="gTwinrovaKoumeJewelTex" Format="rgba16" Width="8" Height="8" Offset="0xCA38"/>
<Texture Name="gTwinrovaKoumeRobeTex" Format="rgba16" Width="16" Height="16" Offset="0xCAB8"/>
<!-- Kotake and Koume Vertices -->
<Array Name="gTwinrovaKotakeHeadInvisibleHairVtx" Count="157" Offset="0xCCB8">
<Vtx/>
</Array>
<Array Name="gTwinrovaKoumeHeadInvisibleHairVtx" Count="157" Offset="0xD688">
<Vtx/>
</Array>
<Array Name="gTwinrovaKotakeBroomInvisibleHeadVtx" Count="42" Offset="0xE058">
<Vtx/>
</Array>
<Array Name="gTwinrovaKoumeBroomInvisibleHeadVtx" Count="42" Offset="0xE2F8">
<Vtx/>
</Array>
<Array Name="gTwinrovaKotakeTeethVtx" Count="9" Offset="0xE598">
<Vtx/>
</Array>
<Array Name="gTwinrovaKotakeRightShinVtx" Count="7" Offset="0xE628">
<Vtx/>
</Array>
<Array Name="gTwinrovaKotakeLeftShinVtx" Count="7" Offset="0xE698">
<Vtx/>
</Array>
<Array Name="gTwinrovaKotakeRightFootVtx" Count="4" Offset="0xE708">
<Vtx/>
</Array>
<Array Name="gTwinrovaKotakeLeftFootVtx" Count="4" Offset="0xE748">
<Vtx/>
</Array>
<Array Name="gTwinrovaKotakeRightHandVtx" Count="28" Offset="0xE788">
<Vtx/>
</Array>
<Array Name="gTwinrovaKotakeLeftHandVtx" Count="28" Offset="0xE948">
<Vtx/>
</Array>
<Array Name="gTwinrovaKoumeRightHandVtx" Count="28" Offset="0xEB08">
<Vtx/>
</Array>
<Array Name="gTwinrovaKoumeLeftHandVtx" Count="28" Offset="0xECC8">
<Vtx/>
</Array>
<Array Name="gTwinrovaKoumeLeftFootVtx" Count="4" Offset="0xEE88">
<Vtx/>
</Array>
<Array Name="gTwinrovaKoumeRightFootVtx" Count="4" Offset="0xEEC8">
<Vtx/>
</Array>
<Array Name="gTwinrovaKoumeLeftShinVtx" Count="7" Offset="0xEF08">
<Vtx/>
</Array>
<Array Name="gTwinrovaKoumeRightShinVtx" Count="7" Offset="0xEF78">
<Vtx/>
</Array>
<Array Name="gTwinrovaKoumeTeethVtx" Count="9" Offset="0xEFE8">
<Vtx/>
</Array>
<Array Name="gTwinrovaKotakeBroomVtx" Count="48" Offset="0xF078">
<Vtx/>
</Array>
<Array Name="gTwinrovaKotakeHeadVtx" Count="159" Offset="0xF378">
<Vtx/>
</Array>
<Array Name="gTwinrovaKoumeBroomVtx" Count="48" Offset="0xFD68">
<Vtx/>
</Array>
<Array Name="gTwinrovaKoumeHeadVtx" Count="159" Offset="0x10068">
<Vtx/>
</Array>
<Array Name="gTwinrovaKotakeIceHairVtx" Count="36" Offset="0x10A58">
<Vtx/>
</Array>
<Array Name="gTwinrovaKoumeFireHairVtx" Count="19" Offset="0x10C98">
<Vtx/>
</Array>
<Array Name="gTwinrovaKotakeIceBroomHeadOuterVtx" Count="7" Offset="0x10DC8">
<Vtx/>
</Array>
<Array Name="gTwinrovaKotakeIceBroomHeadVtx" Count="17" Offset="0x10E38">
<Vtx/>
</Array>
<Array Name="gTwinrovaKotakeFireBroomHeadOuterVtx" Count="10" Offset="0x10F48">
<Vtx/>
</Array>
<Array Name="gTwinrovaKotakeFireBroomHeadVtx" Count="12" Offset="0x10FE8">
<Vtx/>
</Array>
<!-- Kotake and Koume DLs -->
<DList Name="gTwinrovaKotakeHeadInvisibleHairDL" Offset="0x110A8"/>
<DList Name="gTwinrovaKoumeHeadInvisibleHairDL" Offset="0x116A0"/>
<DList Name="gTwinrovaKotakeBroomInvisibleHeadDL" Offset="0x11C98"/>
<DList Name="gTwinrovaKoumeBroomInvisibleHeadDL" Offset="0x11E28"/>
<DList Name="gTwinrovaKotakeTeethDL" Offset="0x11FB8"/>
<DList Name="gTwinrovaKotakeRightShinDL" Offset="0x12018"/>
<DList Name="gTwinrovaKotakeLeftShinDL" Offset="0x120C8"/>
<DList Name="gTwinrovaKotakeRightFootDL" Offset="0x12178"/>
<DList Name="gTwinrovaKotakeLeftFootDL" Offset="0x12210"/>
<DList Name="gTwinrovaKotakeRightHandDL" Offset="0x122A8"/>
<DList Name="gTwinrovaKotakeLeftHandDL" Offset="0x12410"/>
<DList Name="gTwinrovaKoumeRightHandDL" Offset="0x12578"/>
<DList Name="gTwinrovaKoumeLeftHandDL" Offset="0x126E0"/>
<DList Name="gTwinrovaKoumeLeftFootDL" Offset="0x12848"/>
<DList Name="gTwinrovaKoumeRightFootDL" Offset="0x128E0"/>
<DList Name="gTwinrovaKoumeLeftShinDL" Offset="0x12978"/>
<DList Name="gTwinrovaKoumeRightShinDL" Offset="0x12A28"/>
<DList Name="gTwinrovaKoumeTeethDL" Offset="0x12AD8"/>
<DList Name="gTwinrovaKotakeBroomDL" Offset="0x12B38"/>
<DList Name="gTwinrovaKotakeHeadDL" Offset="0x12CE0"/>
<DList Name="gTwinrovaKoumeBroomDL" Offset="0x13310"/>
<DList Name="gTwinrovaKoumeHeadDL" Offset="0x134B8"/>
<DList Name="gTwinrovaKotakeIceHairDL" Offset="0x13AE8"/>
<DList Name="gTwinrovaKoumeFireHairDL" Offset="0x13D68"/>
<DList Name="gTwinrovaKotakeIceBroomHeadDL" Offset="0x13E98"/>
<DList Name="gTwinrovaKotakeIceBroomHeadOuterDL" Offset="0x13F98"/>
<DList Name="gTwinrovaKotakeFireBroomHeadDL" Offset="0x14070"/>
<DList Name="gTwinrovaKotakeFireBroomHeadOuterDL" Offset="0x14158"/>
<!-- Kotake Vertices -->
<Array Name="gTwinrovaKotakeLeftBraidEndVtx" Count="21" Offset="0x14240">
<Vtx/>
</Array>
<Array Name="gTwinrovaKotakeLeftBraidStartVtx" Count="10" Offset="0x14390">
<Vtx/>
</Array>
<Array Name="gTwinrovaKotakeRightBraidEndVtx" Count="21" Offset="0x14430">
<Vtx/>
</Array>
<Array Name="gTwinrovaKotakeRightBraidStartVtx" Count="10" Offset="0x14580">
<Vtx/>
</Array>
<Array Name="gTwinrovaKotakeNeckVtx" Count="24" Offset="0x14620">
<Vtx/>
</Array>
<Array Name="gTwinrovaKotakeLeftSleeveFrontVtx" Count="19" Offset="0x147A0">
<Vtx/>
</Array>
<Array Name="gTwinrovaKotakeLeftSleeveEndVtx" Count="12" Offset="0x148D0">
<Vtx/>
</Array>
<Array Name="gTwinrovaKotakeLeftSleeveMidVtx" Count="18" Offset="0x14990">
<Vtx/>
</Array>
<Array Name="gTwinrovaKotakeLeftSleeveStartVtx" Count="15" Offset="0x14AB0">
<Vtx/>
</Array>
<Array Name="gTwinrovaKotakeRightSleeveFrontVtx" Count="19" Offset="0x14BA0">
<Vtx/>
</Array>
<Array Name="gTwinrovaKotakeRightSleeveEndVtx" Count="12" Offset="0x14CD0">
<Vtx/>
</Array>
<Array Name="gTwinrovaKotakeRightSleeveMidVtx" Count="18" Offset="0x14D90">
<Vtx/>
</Array>
<Array Name="gTwinrovaKotakeRightSleeveStartVtx" Count="15" Offset="0x14EB0">
<Vtx/>
</Array>
<Array Name="gTwinrovaKotakeTorsoVtx" Count="38" Offset="0x14FA0">
<Vtx/>
</Array>
<Blob Name="object_tw_Blob_015200" Size="0x60" Offset="0x15200"/>
<Array Name="gTwinrovaKotakePelvisVtx" Count="30" Offset="0x15260">
<Vtx/>
</Array>
<!-- Kotake DLs -->
<DList Name="gTwinrovaKotakeLeftBraidEndDL" Offset="0x15440"/>
<DList Name="gTwinrovaKotakeLeftBraidStartDL" Offset="0x15538"/>
<DList Name="gTwinrovaKotakeRightBraidEndDL" Offset="0x15648"/>
<DList Name="gTwinrovaKotakeRightBraidStartDL" Offset="0x15740"/>
<DList Name="gTwinrovaKotakeNeckDL" Offset="0x15850"/>
<DList Name="gTwinrovaKotakeRightSleeveFrontDL" Offset="0x15990"/>
<DList Name="gTwinrovaKotakeRightSleeveEndDL" Offset="0x15B10"/>
<DList Name="gTwinrovaKotakeRightSleeveMidDL" Offset="0x15C30"/>
<DList Name="gTwinrovaKotakeRightSleeveStartDL" Offset="0x15D58"/>
<DList Name="gTwinrovaKotakeLeftSleeveFrontDL" Offset="0x15E78"/>
<DList Name="gTwinrovaKotakeLeftSleeveEndDL" Offset="0x15FF8"/>
<DList Name="gTwinrovaKotakeLeftSleeveMidDL" Offset="0x16118"/>
<DList Name="gTwinrovaKotakeLeftSleeveStartDL" Offset="0x16240"/>
<DList Name="gTwinrovaKotakeTorsoDL" Offset="0x16360"/>
<DList Name="gTwinrovaKotakeRightThighDL" Offset="0x164C0"/>
<DList Name="gTwinrovaKotakeLeftThighDL" Offset="0x164C8"/>
<DList Name="gTwinrovaKotakePelvisDL" Offset="0x164D0"/>
<Texture Name="gTwinrovaBraidEndTex" Format="rgba16" Width="8" Height="8" Offset="0x16650"/>
<Texture Name="gTwinrovaLeftFootTex" Format="rgba16" Width="4" Height="8" Offset="0x166D0"/>
<Blob Name="object_tw_Blob_0176D0" Size="0x60" Offset="0x176D0"/>
<!-- Koume Vertices -->
<Array Name="gTwinrovaKoumeLeftBraidEndVtx" Count="21" Offset="0x16710">
<Vtx/>
</Array>
<Array Name="gTwinrovaKoumeLeftBraidStartVtx" Count="10" Offset="0x16860">
<Vtx/>
</Array>
<Array Name="gTwinrovaKoumeRightBraidEndVtx" Count="21" Offset="0x16900">
<Vtx/>
</Array>
<Array Name="gTwinrovaKoumeRightBraidStartVtx" Count="10" Offset="0x16A50">
<Vtx/>
</Array>
<Array Name="gTwinrovaKoumeNeckVtx" Count="24" Offset="0x16AF0">
<Vtx/>
</Array>
<Array Name="gTwinrovaKoumeLeftSleeveFrontVtx" Count="19" Offset="0x16C70">
<Vtx/>
</Array>
<Array Name="gTwinrovaKoumeLeftSleeveEndVtx" Count="12" Offset="0x16DA0">
<Vtx/>
</Array>
<Array Name="gTwinrovaKoumeLeftSleeveMidVtx" Count="18" Offset="0x16E60">
<Vtx/>
</Array>
<Array Name="gTwinrovaKoumeLeftSleeveStartVtx" Count="15" Offset="0x16F80">
<Vtx/>
</Array>
<Array Name="gTwinrovaKoumeRightSleeveFrontVtx" Count="19" Offset="0x17070">
<Vtx/>
</Array>
<Array Name="gTwinrovaKoumeRightSleeveEndVtx" Count="12" Offset="0x171A0">
<Vtx/>
</Array>
<Array Name="gTwinrovaKoumeRightSleeveMidVtx" Count="18" Offset="0x17260">
<Vtx/>
</Array>
<Array Name="gTwinrovaKoumeRightSleeveStartVtx" Count="15" Offset="0x17380">
<Vtx/>
</Array>
<Array Name="gTwinrovaKoumeTorsoVtx" Count="38" Offset="0x17470">
<Vtx/>
</Array>
<Array Name="gTwinrovaKoumePelvisVtx" Count="30" Offset="0x17730">
<Vtx/>
</Array>
<!-- Koume DLs -->
<DList Name="gTwinrovaKoumeLeftBraidEndDL" Offset="0x17910"/>
<DList Name="gTwinrovaKoumeLeftBraidStartDL" Offset="0x17A08"/>
<DList Name="gTwinrovaKoumeRightBraidEndDL" Offset="0x17B18"/>
<DList Name="gTwinrovaKoumeRightBraidStartDL" Offset="0x17C10"/>
<DList Name="gTwinrovaKoumeNeckDL" Offset="0x17D20"/>
<DList Name="gTwinrovaKoumeRightSleeveFrontDL" Offset="0x17E60"/>
<DList Name="gTwinrovaKoumeRightSleeveEndDL" Offset="0x17FE0"/>
<DList Name="gTwinrovaKoumeRightSleeveMidDL" Offset="0x18100"/>
<DList Name="gTwinrovaKoumeRightSleeveStartDL" Offset="0x18228"/>
<DList Name="gTwinrovaKoumeLeftSleeveFrontDL" Offset="0x18348"/>
<DList Name="gTwinrovaKoumeLeftSleeveEndDL" Offset="0x184C8"/>
<DList Name="gTwinrovaKoumeLeftSleeveMidDL" Offset="0x185E8"/>
<DList Name="gTwinrovaKoumeLeftSleeveStartDL" Offset="0x18710"/>
<DList Name="gTwinrovaKoumeTorsoDL" Offset="0x18830"/>
<DList Name="gTwinrovaKoumeRightThighDL" Offset="0x18990"/>
<DList Name="gTwinrovaKoumeLeftThighDL" Offset="0x18998"/>
<DList Name="gTwinrovaKoumePelvisDL" Offset="0x189A0"/>
<Texture Name="gTwinrovaRightFootTex" Format="rgba16" Width="4" Height="8" Offset="0x18B20"/>
<!-- Assets for the smoke that comes off of the big flame -->
<Texture Name="gTwinrovaFireSmokeTex" Format="i4" Width="32" Height="64" Offset="0x18B60"/>
<Array Name="gTwinrovaFireSmokeVtx" Count="6" Offset="0x18F60">
<Vtx/>
</Array>
<DList Name="gTwinrovaFireSmokeDL" Offset="0x18FC0"/> <!-- Original name is "bt_firesmoke_modelT" -->
<!-- Assets for the big flame that appears when Koume's beam or Twinrova's fire attack hits the ground -->
<Texture Name="gTwinrovaBigFlameTex" Format="i8" Width="32" Height="32" Offset="0x19078"/>
<Texture Name="gTwinrovaBigFlameMaskTex" Format="i4" Width="32" Height="64" Offset="0x19478"/>
<Array Name="gTwinrovaBigFlameVtx" Count="12" Offset="0x19878">
<Vtx/>
</Array>
<DList Name="gTwinrovaBigFlameDL" Offset="0x19938"/> <!-- Original name is "bt_firewall_modelT" -->
<!-- Texture for both the pool of fire and the effect when the Mirror Shield has absorbed an attack. -->
<Texture Name="gTwinrovaFirePoolAndShieldChargeCenterTex" Format="i4" Width="32" Height="32" Offset="0x19A20"/>
<!-- DisplayList for the pool of fire that forms when Koume's beam or Twinrova's fire attack hits the ground -->
<Array Name="gTwinrovaFirePoolVtx" Count="18" Offset="0x19C20">
<Vtx/>
</Array>
<DList Name="gTwinrovaFirePoolDL" Offset="0x19D40"/> <!-- Original name is "bt_firefloor_modelT" -->
<!-- Assets for the fire effect that appears in various places -->
<Texture Name="gTwinrovaFireTex" Format="i4" Width="32" Height="64" Offset="0x19E00"/>
<Texture Name="gTwinrovaFireMaskTex" Format="i4" Width="32" Height="32" Offset="0x1A200"/>
<Array Name="gTwinrovaFireVtx" Count="3" Offset="0x1A400">
<Vtx/>
</Array>
<DList Name="gTwinrovaFireDL" Offset="0x1A430"/> <!-- Original name is "bt_fireball_modelT" -->
<!-- Assets for the magic particles that fly off of Koume, Kotake, and Twinrova's head -->
<Array Name="gTwinrovaMagicParticleModelVtx" Count="3" Offset="0x1A4F8">
<Vtx/>
</Array>
<DList Name="gTwinrovaMagicParticleMaterialDL" Offset="0x1A528"/>
<DList Name="gTwinrovaMagicParticleModelDL" Offset="0x1A5A8"/> <!-- Original name is "bt_hinoko_modelT" ("sparks") -->
<Texture Name="gTwinrovaMagicParticleTex" Format="i8" Width="16" Height="16" Offset="0x1A5C0"/>
<!-- Vertices and DisplayList for the wave of cold air that comes from the ice pool and the effect that appears on the shield when the player reflects a beam -->
<Array Name="gTwinrovaEffectHaloVtx" Count="13" Offset="0x1A6C0">
<Vtx/>
</Array>
<DList Name="gTwinrovaEffectHaloDL" Offset="0x1A790"/> <!-- Original name is "bt_coolwave_modelT" -->
<!-- Vertices and DisplayLists for various ice effects -->
<Array Name="gTwinrovaUnusedIceSteamCloudVtx" Count="4" Offset="0x1A860">
<Vtx/>
</Array>
<DList Name="gTwinrovaUnusedIceSteamCloudDL" Offset="0x1A8A0"/>
<Array Name="gTwinrovaIceModelVtx" Count="3" Offset="0x1A968">
<Vtx/>
</Array>
<DList Name="gTwinrovaIceMaterialDL" Offset="0x1A998"/>
<DList Name="gTwinrovaIceSurroundingPlayerMaterialDL" Offset="0x1AA50"/>
<DList Name="gTwinrovaIceModelDL" Offset="0x1AB00"/> <!-- Original name is "bt_coolball_modelT" -->
<!-- Texture for the ice pool -->
<Texture Name="gTwinrovaIcePoolTex" Format="i8" Width="64" Height="64" Offset="0x1AB20"/>
<!-- Unused vertices. Based on its placement, this may have been originally used with the ice pool. -->
<Array Name="gTwinrovaUnusedVtx" Count="4" Offset="0x1BB20">
<Vtx/>
</Array>
<!-- Vertices and DisplayList for the ice pool -->
<Array Name="gTwinrovaIcePoolVtx" Count="10" Offset="0x1BB60">
<Vtx/>
</Array>
<DList Name="gTwinrovaIcePoolDL" Offset="0x1BC00"/> <!-- Not present in OoT3D, but MM's Wizrobe has an identical DList called "wiz_icefloor03_modelT" -->
<!-- Assets for the gleam on top of the ice pool-->
<Texture Name="gTwinrovaIcePoolShineTex" Format="i4" Width="32" Height="64" Offset="0x1BCA0"/>
<Texture Name="gTwinrovaIcePoolShineMaskTex" Format="i4" Width="16" Height="16" Offset="0x1C0A0"/>
<Array Name="gTwinrovaIcePoolShineVtx" Count="10" Offset="0x1C120">
<Vtx/>
</Array>
<DList Name="gTwinrovaIcePoolShineDL" Offset="0x1C1C0"/> <!-- Original name is "bt_icefloor03_pika_modelT" ("pika" = onomatopoeic for "sparkle, glisten") -->
<!-- Assets for the magical sigils that appear when Kotake/Koume spawn or charge up an attack. -->
<Texture Name="gTwinrovaKotakeMagicSigilMaskTex" Format="i4" Width="32" Height="64" Offset="0x1C2A0"/>
<Texture Name="gTwinrovaKotakeMagicSigilTex" Format="i4" Width="64" Height="64" Offset="0x1C6A0"/>
<Array Name="gTwinrovaKotakeMagicSigilVtx" Count="4" Offset="0x1CEA0">
<Vtx/>
</Array>
<DList Name="gTwinrovaKotakeMagicSigilDL" Offset="0x1CEE0"/> <!-- Original name is "btT_mahoujin_modelT" ("summoning circle; magic circle") -->
<Texture Name="gTwinrovaKoumeMagicSigilMaskTex" Format="i4" Width="32" Height="64" Offset="0x1CFA8"/>
<Texture Name="gTwinrovaKoumeMagicSigilTex" Format="i4" Width="64" Height="64" Offset="0x1D3A8"/>
<Array Name="gTwinrovaKoumeMagicSigilVtx" Count="4" Offset="0x1DBA8">
<Vtx/>
</Array>
<DList Name="gTwinrovaKoumeMagicSigilDL" Offset="0x1DBE8"/> <!-- Original name is "btU_mahoujin_modelT" -->
<!-- Vertices and DisplayList for Koume and Kotake's beam -->
<Array Name="gTwinrovaBeamVtx" Count="20" Offset="0x1DCB0">
<Vtx/>
</Array>
<DList Name="gTwinrovaBeamDL" Offset="0x1DDF0"/> <!-- Original name is "bt_firebeam_modelT" -->
<!-- Vertices and DisplayLists for various Mirror Shield effects -->
<Array Name="gTwinrovaMirrorShieldFireChargeCenterVtx" Count="9" Offset="0x1DED0">
<Vtx/>
</Array>
<Array Name="gTwinrovaMirrorShieldFireChargeSidesVtx" Count="12" Offset="0x1DF60">
<Vtx/>
</Array>
<DList Name="gTwinrovaMirrorShieldFireChargeCenterDL" Offset="0x1E020"/>
<DList Name="gTwinrovaMirrorShieldFireChargeSidesDL" Offset="0x1E0E0"/>
<Array Name="gTwinrovaMirrorShieldIceChargeCenterVtx" Count="9" Offset="0x1E170">
<Vtx/>
</Array>
<Array Name="gTwinrovaMirrorShieldIceChargeSidesVtx" Count="12" Offset="0x1E200">
<Vtx/>
</Array>
<DList Name="gTwinrovaMirrorShieldIceChargeCenterDL" Offset="0x1E2C0"/>
<DList Name="gTwinrovaMirrorShieldIceChargeSidesDL" Offset="0x1E3A0"/>
<!-- Texture for the clouds of ice -->
<Texture Name="gTwinrovaCloudMaskTex" Format="i4" Width="32" Height="32" Offset="0x1E430"/>
<!-- Vertices and DisplayList for the effect that appears when the Mirror Shield absorbs Twinrova's attack, or when it unleashes a charged attack -->
<Array Name="gTwinrovaShieldAbsorbAndReflectEffectVtx" Count="60" Offset="0x1E630">
<Vtx/>
</Array>
<DList Name="gTwinrovaShieldAbsorbAndReflectEffectDL" Offset="0x1E9F0"/> <!-- Original name is "btW_bacuuuum_modelT" -->
<!-- Texture of a circle, used for the spawn portal shadow and the circle of light -->
<Texture Name="gTwinrovaCircleTex" Format="i8" Width="16" Height="16" Offset="0x1EB28"/>
<!-- Vertices and DisplayList for the "shadow" under Koume and Kotake's spawn portal -->
<Array Name="gTwinrovaSpawnPortalShadowVtx" Count="4" Offset="0x1EC28">
<Vtx/>
</Array>
<DList Name="gTwinrovaSpawnPortalShadowDL" Offset="0x1EC68"/> <!-- Original name is "bt_under_mjin_modelT" -->
<!-- Texture for the light pillar and the halo that appear when Twinrova is defeated -->
<Texture Name="gTwinrovaLightPillarAndHaloTex" Format="i4" Width="16" Height="16" Offset="0x1ECF0"/>
<!-- Vertices and DisplayLists for various effects that appear when Twinrova is defeated -->
<Array Name="gTwinrovaLightPillarVtx" Count="20" Offset="0x1ED70">
<Vtx/>
</Array>
<DList Name="gTwinrovaLightPillarDL" Offset="0x1EEB0"/> <!-- Original name is "bt_heavenroad_modelT" -->
<Array Name="gTwinrovaLightRaysVtx" Count="40" Offset="0x1EFB8">
<Vtx/>
</Array>
<DList Name="gTwinrovaLightRaysDL" Offset="0x1F238"/> <!-- Original name is "bt_gokou_modelT" ("halo; aureole; aureola") -->
<Array Name="gTwinrovaLightCircleVtx" Count="4" Offset="0x1F350">
<Vtx/>
</Array>
<DList Name="gTwinrovaLightCircleDL" Offset="0x1F390"/> <!-- Original name is "bt_heavensgate_modelT" -->
<Array Name="gTwinrovaHaloVtx" Count="30" Offset="0x1F428">
<Vtx/>
</Array>
<DList Name="gTwinrovaHaloDL" Offset="0x1F608"/> <!-- Original name is "bt_angelring_model" -->
<!-- Koume skeleton -->
<Limb Name="gTwinrovaKoumePelvisLimb" LimbType="Standard" Offset="0x1F6E8"/>
<Limb Name="gTwinrovaKoumeLeftThighLimb" LimbType="Standard" Offset="0x1F6F4"/>
<Limb Name="gTwinrovaKoumeLeftShinLimb" LimbType="Standard" Offset="0x1F700"/>
<Limb Name="gTwinrovaKoumeLeftFootLimb" LimbType="Standard" Offset="0x1F70C"/>
<Limb Name="gTwinrovaKoumeRightThighLimb" LimbType="Standard" Offset="0x1F718"/>
<Limb Name="gTwinrovaKoumeRightShinLimb" LimbType="Standard" Offset="0x1F724"/>
<Limb Name="gTwinrovaKoumeRightFootLimb" LimbType="Standard" Offset="0x1F730"/>
<Limb Name="gTwinrovaKoumeTorsoLimb" LimbType="Standard" Offset="0x1F73C"/>
<Limb Name="gTwinrovaKoumeLeftSleeveStartLimb" LimbType="Standard" Offset="0x1F748"/>
<Limb Name="gTwinrovaKoumeLeftSleeveMidLimb" LimbType="Standard" Offset="0x1F754"/>
<Limb Name="gTwinrovaKoumeLeftSleeveEndLimb" LimbType="Standard" Offset="0x1F760"/>
<Limb Name="gTwinrovaKoumeLeftSleeveFrontLimb" LimbType="Standard" Offset="0x1F76C"/>
<Limb Name="gTwinrovaKoumeLeftHandLimb" LimbType="Standard" Offset="0x1F778"/>
<Limb Name="gTwinrovaKoumeBroomLimb" LimbType="Standard" Offset="0x1F784"/>
<Limb Name="gTwinrovaKoumeRightSleeveStartLimb" LimbType="Standard" Offset="0x1F790"/>
<Limb Name="gTwinrovaKoumeRightSleeveMidLimb" LimbType="Standard" Offset="0x1F79C"/>
<Limb Name="gTwinrovaKoumeRightSleeveEndLimb" LimbType="Standard" Offset="0x1F7A8"/>
<Limb Name="gTwinrovaKoumeRightSleeveFrontLimb" LimbType="Standard" Offset="0x1F7B4"/>
<Limb Name="gTwinrovaKoumeRightHandLimb" LimbType="Standard" Offset="0x1F7C0"/>
<Limb Name="gTwinrovaKoumeNeckLimb" LimbType="Standard" Offset="0x1F7CC"/>
<Limb Name="gTwinrovaKoumeHeadLimb" LimbType="Standard" Offset="0x1F7D8"/>
<Limb Name="gTwinrovaKoumeRightBraidStartLimb" LimbType="Standard" Offset="0x1F7E4"/>
<Limb Name="gTwinrovaKoumeRightBraidEndLimb" LimbType="Standard" Offset="0x1F7F0"/>
<Limb Name="gTwinrovaKoumeTeethLimb" LimbType="Standard" Offset="0x1F7FC"/>
<Limb Name="gTwinrovaKoumeLeftBraidStartLimb" LimbType="Standard" Offset="0x1F808"/>
<Limb Name="gTwinrovaKoumeLeftBraidEndLimb" LimbType="Standard" Offset="0x1F814"/>
<Skeleton Name="gTwinrovaKoumeSkel" Type="Flex" LimbType="Standard" Offset="0x1F888"/>
<!-- Twinrova Texture -->
<Texture Name="gTwinrovaEyeHalfTex" Format="ci8" Width="32" Height="32" Offset="0x2A070" TlutOffset="0x29E50"/>
<!-- Twinrova Animations -->
<Animation Name="gTwinrovaDeathAnim" Offset="0x216DC"/> <!-- Original name is "btW_EDdamage" -->
<Animation Name="gTwinrovaIceAttackAnim" Offset="0x22700"/> <!-- Original name is "btW_atackL" -->
<Animation Name="gTwinrovaFireAttackAnim" Offset="0x23750"/> <!-- Original name is "btW_atackR" -->
<Animation Name="gTwinrovaDamageAnim" Offset="0x24374"/> <!-- Original name is "btW_damage" -->
<Animation Name="gTwinrovaTPoseAnim" Offset="0x244B4"/> <!-- Original name is "btW_default" -->
<!-- Twinrova Textures -->
<Texture Name="gTwinrovaSkinAndBangleTex" Format="rgba16" Width="4" Height="8" Offset="0x244D0"/>
<Texture Name="gTwinrovaEmblemTex" Format="rgba16" Width="16" Height="16" Offset="0x24510"/>
<Texture Name="gTwinrovaBreastTex" Format="rgba16" Width="16" Height="16" Offset="0x24710"/>
<Texture Name="gTwinrovaRightPantLegTex" Format="rgba16" Width="16" Height="16" Offset="0x24910"/>
<Texture Name="gTwinrovaLeftPantLegTex" Format="rgba16" Width="16" Height="16" Offset="0x24B10"/>
<!-- Twinrova Limb Vertices -->
<Array Name="gTwinrovaLeftSleeveEndVtx" Count="8" Offset="0x24D10">
<Vtx/>
</Array>
<Array Name="gTwinrovaLeftSleeveStartVtx" Count="14" Offset="0x24D90">
<Vtx/>
</Array>
<Array Name="gTwinrovaLeftForearmVtx" Count="26" Offset="0x24E70">
<Vtx/>
</Array>
<Array Name="gTwinrovaLeftUpperArmVtx" Count="23" Offset="0x25010">
<Vtx/>
</Array>
<Array Name="gTwinrovaLeftShoulderVtx" Count="32" Offset="0x25180">
<Vtx/>
</Array>
<Array Name="gTwinrovaRightSleeveEndVtx" Count="8" Offset="0x25380">
<Vtx/>
</Array>
<Array Name="gTwinrovaRightSleeveStartVtx" Count="14" Offset="0x25400">
<Vtx/>
</Array>
<Array Name="gTwinrovaRightForearmVtx" Count="26" Offset="0x254E0">
<Vtx/>
</Array>
<Array Name="gTwinrovaRightUpperArmVtx" Count="23" Offset="0x25680">
<Vtx/>
</Array>
<Array Name="gTwinrovaRightShoulderVtx" Count="32" Offset="0x257F0">
<Vtx/>
</Array>
<Array Name="gTwinrovaLeftBraidEndVtx" Count="20" Offset="0x259F0">
<Vtx/>
</Array>
<Array Name="gTwinrovaLeftBraidStartVtx" Count="10" Offset="0x25B30">
<Vtx/>
</Array>
<Array Name="gTwinrovaRightBraidEndVtx" Count="20" Offset="0x25BD0">
<Vtx/>
</Array>
<Array Name="gTwinrovaRightBraidStartVtx" Count="10" Offset="0x25D10">
<Vtx/>
</Array>
<Array Name="gTwinrovaLeftBreastVtx" Count="38" Offset="0x25DB0">
<Vtx/>
</Array>
<Array Name="gTwinrovaRightBreastVtx" Count="38" Offset="0x26010">
<Vtx/>
</Array>
<Array Name="gTwinrovaTorsoVtx" Count="103" Offset="0x26270">
<Vtx/>
</Array>
<Array Name="gTwinrovaSash4Vtx" Count="10" Offset="0x268E0">
<Vtx/>
</Array>
<Array Name="gTwinrovaSash3Vtx" Count="12" Offset="0x26980">
<Vtx/>
</Array>
<Array Name="gTwinrovaSash2Vtx" Count="8" Offset="0x26A40">
<Vtx/>
</Array>
<Array Name="gTwinrovaSash1Vtx" Count="10" Offset="0x26AC0">
<Vtx/>
</Array>
<Array Name="gTwinrovaLeftFootVtx" Count="37" Offset="0x26B60">
<Vtx/>
</Array>
<Array Name="gTwinrovaLeftShinVtx" Count="26" Offset="0x26DB0">
<Vtx/>
</Array>
<Array Name="gTwinrovaLeftThighVtx" Count="17" Offset="0x26F50">
<Vtx/>
</Array>
<Array Name="gTwinrovaRightFootVtx" Count="29" Offset="0x27060">
<Vtx/>
</Array>
<Array Name="gTwinrovaRightShinVtx" Count="26" Offset="0x27230">
<Vtx/>
</Array>
<Array Name="gTwinrovaRightThighVtx" Count="17" Offset="0x273D0">
<Vtx/>
</Array>
<Array Name="gTwinrovaPelvisVtx" Count="36" Offset="0x274E0">
<Vtx/>
</Array>
<!-- Twinrova Limb DisplayLists -->
<DList Name="gTwinrovaRightFootDL" Offset="0x27720"/>
<DList Name="gTwinrovaRightShinDL" Offset="0x27820"/>
<DList Name="gTwinrovaRightThighDL" Offset="0x27970"/>
<DList Name="gTwinrovaRightSleeveEndDL" Offset="0x27A60"/>
<DList Name="gTwinrovaRightSleeveStartDL" Offset="0x27B78"/>
<DList Name="gTwinrovaRightForearmDL" Offset="0x27C98"/>
<DList Name="gTwinrovaRightUpperArmDL" Offset="0x27DE8"/>
<DList Name="gTwinrovaRightShoulderDL" Offset="0x27EE0"/>
<DList Name="gTwinrovaLeftSleeveEndDL" Offset="0x27FE8"/>
<DList Name="gTwinrovaLeftSleeveStartDL" Offset="0x28100"/>
<DList Name="gTwinrovaLeftForearmDL" Offset="0x28220"/>
<DList Name="gTwinrovaLeftUpperArmDL" Offset="0x28370"/>
<DList Name="gTwinrovaLeftShoulderDL" Offset="0x28468"/>
<DList Name="gTwinrovaLeftBraidEndDL" Offset="0x28570"/>
<DList Name="gTwinrovaLeftBraidStartDL" Offset="0x28668"/>
<DList Name="gTwinrovaRightBraidEndDL" Offset="0x28778"/>
<DList Name="gTwinrovaRightBraidStartDL" Offset="0x28870"/>
<DList Name="gTwinrovaRightBreastDL" Offset="0x28980"/>
<DList Name="gTwinrovaLeftBreastDL" Offset="0x28B78"/>
<DList Name="gTwinrovaTorsoDL" Offset="0x28D70"/>
<DList Name="gTwinrovaLeftFootDL" Offset="0x29268"/>
<DList Name="gTwinrovaLeftShinDL" Offset="0x293E0"/>
<DList Name="gTwinrovaLeftThighDL" Offset="0x29530"/>
<DList Name="gTwinrovaSash4DL" Offset="0x29620"/>
<DList Name="gTwinrovaSash3DL" Offset="0x29738"/>
<DList Name="gTwinrovaSash2DL" Offset="0x29900"/>
<DList Name="gTwinrovaSash1DL" Offset="0x299F8"/>
<DList Name="gTwinrovaPelvisDL" Offset="0x29B10"/>
<!-- Twinrova Textures -->
<Texture Name="gTwinrovaEyeAndMouthTLUT" Format="rgba16" Width="29" Height="8" Offset="0x29E50"/>
<Texture Name="gTwinrovaEarAndFingerTLUT" Format="rgba16" Width="8" Height="5" Offset="0x2A020"/>
<Texture Name="gTwinrovaEyeClosedTex" Format="ci8" Width="32" Height="32" Offset="0x2A470" TlutOffset="0x29E50"/>
<Texture Name="gTwinrovaGrimaceTex" Format="ci8" Width="16" Height="16" Offset="0x2A870" TlutOffset="0x29E50"/>
<Texture Name="gTwinrovaEyebrowTex" Format="rgba16" Width="8" Height="4" Offset="0x2A970"/>
<Texture Name="gTwinrovaEyeOpenTex" Format="ci8" Width="32" Height="32" Offset="0x2A9B0" TlutOffset="0x29E50"/>
<Texture Name="gTwinrovaNoseTex" Format="i8" Width="8" Height="8" Offset="0x2ADB0"/>
<Texture Name="gTwinrovaEarTex" Format="ci8" Width="8" Height="8" Offset="0x2ADF0" TlutOffset="0x2A020"/>
<Texture Name="gTwinrovaSmileTex" Format="ci8" Width="16" Height="16" Offset="0x2AE30" TlutOffset="0x29E50"/>
<Texture Name="gTwinrovaFingerTex" Format="ci8" Width="8" Height="16" Offset="0x2AF30" TlutOffset="0x2A020"/>
<!-- Twinrova Limb Vertices -->
<Array Name="gTwinrovaInvisibleLeftHairBunVtx" Count="5" Offset="0x2AFB0">
<Vtx/>
</Array>
<Array Name="gTwinrovaInvisibleRightHairBunVtx" Count="5" Offset="0x2B000">
<Vtx/>
</Array>
<Array Name="gTwinrovaHeadVtx" Count="196" Offset="0x2B050">
<Vtx/>
</Array>
<Array Name="gTwinrovaLeftHandVtx" Count="32" Offset="0x2BC90">
<Vtx/>
</Array>
<Array Name="gTwinrovaRightBroomVtx" Count="22" Offset="0x2BE90">
<Vtx/>
</Array>
<Array Name="gTwinrovaLeftBroomVtx" Count="22" Offset="0x2BFF0">
<Vtx/>
</Array>
<Array Name="gTwinrovaRightHandVtx" Count="32" Offset="0x2C150">
<Vtx/>
</Array>
<Array Name="gTwinrovaRightHairBunVtx" Count="9" Offset="0x2C350">
<Vtx/>
</Array>
<Array Name="gTwinrovaLeftHairBunVtx" Count="9" Offset="0x2C3E0">
<Vtx/>
</Array>
<Array Name="gTwinrovaHairIceJetVtx" Count="14" Offset="0x2C470">
<Vtx/>
</Array>
<Array Name="gTwinrovaHairIceTrailVtx" Count="15" Offset="0x2C550">
<Vtx/>
</Array>
<Array Name="gTwinrovaHairFireJetVtx" Count="14" Offset="0x2C640">
<Vtx/>
</Array>
<Array Name="gTwinrovaHairFireTrailVtx" Count="18" Offset="0x2C720">
<Vtx/>
</Array>
<Array Name="gTwinrovaBroomIceJetVtx" Count="7" Offset="0x2C840">
<Vtx/>
</Array>
<Array Name="gTwinrovaBroomIceTrailVtx" Count="17" Offset="0x2C8B0">
<Vtx/>
</Array>
<Array Name="gTwinrovaBroomFireJetVtx" Count="10" Offset="0x2C9C0">
<Vtx/>
</Array>
<Array Name="gTwinrovaBroomFireTrailVtx" Count="9" Offset="0x2CA60">
<Vtx/>
</Array>
<!-- Twinrova Limb DisplayLists -->
<DList Name="gTwinrovaInvisibleLeftHairBunDL" Offset="0x2CAF0"/>
<DList Name="gTwinrovaInvisibleRightHairBunDL" Offset="0x2CB50"/>
<DList Name="gTwinrovaHeadDL" Offset="0x2CBB0"/>
<DList Name="gTwinrovaLeftHandDL" Offset="0x2D320"/>
<DList Name="gTwinrovaRightBroomDL" Offset="0x2D4A0"/>
<DList Name="gTwinrovaLeftBroomDL" Offset="0x2D5D8"/>
<DList Name="gTwinrovaRightHandDL" Offset="0x2D710"/>
<DList Name="gTwinrovaRightHairBunDL" Offset="0x2D890"/>
<DList Name="gTwinrovaLeftHairBunDL" Offset="0x2D940"/>
<DList Name="gTwinrovaHairIceJetDL" Offset="0x2D9F0"/>
<DList Name="gTwinrovaHairIceTrailDL" Offset="0x2DAE0"/>
<DList Name="gTwinrovaHairFireJetDL" Offset="0x2DBC8"/>
<DList Name="gTwinrovaHairFireTrailDL" Offset="0x2DCB8"/>
<DList Name="gTwinrovaBroomIceJetDL" Offset="0x2DDD8"/>
<DList Name="gTwinrovaBroomIceTrailDL" Offset="0x2DEB0"/>
<DList Name="gTwinrovaBroomFireJetDL" Offset="0x2DFB0"/>
<DList Name="gTwinrovaBroomFireTrailDL" Offset="0x2E098"/>
<!-- Twinrova Title Card -->
<Texture Name="gTwinrovaTitleCardTex" Format="ia8" Width="128" Height="120" Offset="0x2E170"/>
<!-- Twinrova Limbs -->
<Limb Name="gTwinrovaPelvisLimb" LimbType="Standard" Offset="0x31D70"/>
<Limb Name="gTwinrovaSash1Limb" LimbType="Standard" Offset="0x31D7C"/>
<Limb Name="gTwinrovaSash2Limb" LimbType="Standard" Offset="0x31D88"/>
<Limb Name="gTwinrovaSash3Limb" LimbType="Standard" Offset="0x31D94"/>
<Limb Name="gTwinrovaSash4Limb" LimbType="Standard" Offset="0x31DA0"/>
<Limb Name="gTwinrovaLeftThighLimb" LimbType="Standard" Offset="0x31DAC"/>
<Limb Name="gTwinrovaLeftShinLimb" LimbType="Standard" Offset="0x31DB8"/>
<Limb Name="gTwinrovaLeftFootLimb" LimbType="Standard" Offset="0x31DC4"/>
<Limb Name="gTwinrovaRightThighLimb" LimbType="Standard" Offset="0x31DD0"/>
<Limb Name="gTwinrovaRightShinLimb" LimbType="Standard" Offset="0x31DDC"/>
<Limb Name="gTwinrovaRightFootLimb" LimbType="Standard" Offset="0x31DE8"/>
<Limb Name="gTwinrovaTorsoLimb" LimbType="Standard" Offset="0x31DF4"/>
<Limb Name="gTwinrovaLeftBreastLimb" LimbType="Standard" Offset="0x31E00"/>
<Limb Name="gTwinrovaRightBreastLimb" LimbType="Standard" Offset="0x31E0C"/>
<Limb Name="gTwinrovaHairIceTrailLimb" LimbType="Standard" Offset="0x31E18"/>
<Limb Name="gTwinrovaHairIceJetLimb" LimbType="Standard" Offset="0x31E24"/>
<Limb Name="gTwinrovaHairFireJetLimb" LimbType="Standard" Offset="0x31E30"/>
<Limb Name="gTwinrovaHairFireTrailLimb" LimbType="Standard" Offset="0x31E3C"/>
<Limb Name="gTwinrovaLeftHairBunLimb" LimbType="Standard" Offset="0x31E48"/>
<Limb Name="gTwinrovaRightHairBunLimb" LimbType="Standard" Offset="0x31E54"/>
<Limb Name="gTwinrovaHeadLimb" LimbType="Standard" Offset="0x31E60"/>
<Limb Name="gTwinrovaRightBraidStartLimb" LimbType="Standard" Offset="0x31E6C"/>
<Limb Name="gTwinrovaRightBraidEndLimb" LimbType="Standard" Offset="0x31E78"/>
<Limb Name="gTwinrovaLeftBraidStartLimb" LimbType="Standard" Offset="0x31E84"/>
<Limb Name="gTwinrovaLeftBraidEndLimb" LimbType="Standard" Offset="0x31E90"/>
<Limb Name="gTwinrovaLeftShoulderLimb" LimbType="Standard" Offset="0x31E9C"/>
<Limb Name="gTwinrovaLeftUpperArmLimb" LimbType="Standard" Offset="0x31EA8"/>
<Limb Name="gTwinrovaLeftForearmLimb" LimbType="Standard" Offset="0x31EB4"/>
<Limb Name="gTwinrovaLeftSleeveStartLimb" LimbType="Standard" Offset="0x31EC0"/>
<Limb Name="gTwinrovaLeftSleeveEndLimb" LimbType="Standard" Offset="0x31ECC"/>
<Limb Name="gTwinrovaBroomIceTrailLimb" LimbType="Standard" Offset="0x31ED8"/>
<Limb Name="gTwinrovaBroomIceJetLimb" LimbType="Standard" Offset="0x31EE4"/>
<Limb Name="gTwinrovaLeftHandLimb" LimbType="Standard" Offset="0x31EF0"/>
<Limb Name="gTwinrovaLeftBroomLimb" LimbType="Standard" Offset="0x31EFC"/>
<Limb Name="gTwinrovaRightShoulderLimb" LimbType="Standard" Offset="0x31F08"/>
<Limb Name="gTwinrovaRightUpperArmLimb" LimbType="Standard" Offset="0x31F14"/>
<Limb Name="gTwinrovaRightForearmLimb" LimbType="Standard" Offset="0x31F20"/>
<Limb Name="gTwinrovaRightSleeveStartLimb" LimbType="Standard" Offset="0x31F2C"/>
<Limb Name="gTwinrovaRightSleeveEndLimb" LimbType="Standard" Offset="0x31F38"/>
<Limb Name="gTwinrovaRightBroomLimb" LimbType="Standard" Offset="0x31F44"/>
<Limb Name="gTwinrovaBroomFireJetLimb" LimbType="Standard" Offset="0x31F50"/>
<Limb Name="gTwinrovaBroomFireTrailLimb" LimbType="Standard" Offset="0x31F5C"/>
<Limb Name="gTwinrovaRightHandLimb" LimbType="Standard" Offset="0x31F68"/>
<!-- Twinrova Skeleton -->
<Skeleton Name="gTwinrovaSkel" Type="Flex" LimbType="Standard" Offset="0x32020"/>
<!-- Twinrova Animations -->
<Animation Name="gTwinrovaHoverAnim" Offset="0x32BF8"/> <!-- Original name is "btW_fly" -->
<Animation Name="gTwinrovaChargedAttackHitAnim" Offset="0x338F0"/> <!-- Original name is "btW_hit" -->
<Animation Name="gTwinrovaStunStartAnim" Offset="0x343B4"/> <!-- Original name is "btW_hit_to_mahi" -->
<Animation Name="gTwinrovaStunLoopAnim" Offset="0x35030"/> <!-- Original name is "btW_mahi" ("paralysis, stupor") -->
<Animation Name="gTwinrovaStunEndAnim" Offset="0x35988"/> <!-- Original name is "btW_mahi_to_fly" -->
<Animation Name="gTwinrovaWindUpAnim" Offset="0x36FBC"/> <!-- Original name is "btW_preatack" -->
<Animation Name="gTwinrovaIntroAnim" Offset="0x38E2C"/> <!-- Original name is "btW_start" -->
<Animation Name="gTwinrovaLaughAnim" Offset="0x3A2D0"/> <!-- Original name is "btW_ufufu" ("tee-hee") -->
<!-- Assets for an unused red boulder -->
<Array Name="gTwinrovaUnusedBoulderVtx" Count="58" Offset="0x3A2E0">
<Vtx/>
</Array>
<DList Name="gTwinrovaUnusedBoulderDL" Offset="0x3A680"/>
<Texture Name="gTwinrovaUnusedBoulderTex" Format="rgba16" Width="32" Height="32" Offset="0x3A7B0"/>
</File>
</Root>

View File

@ -796,7 +796,7 @@ assets:
- name: objects/object_tsubo
xml_path: assets/xml/objects/object_tsubo.xml
- name: objects/object_tw
xml_path: assets/xml/objects/object_tw_pal.xml
xml_path: assets/xml/objects/object_tw.xml
- name: objects/object_umajump
xml_path: assets/xml/objects/object_umajump.xml
- name: objects/object_vali

View File

@ -788,7 +788,7 @@ assets:
- name: objects/object_tsubo
xml_path: assets/xml/objects/object_tsubo.xml
- name: objects/object_tw
xml_path: assets/xml/objects/object_tw_pal.xml
xml_path: assets/xml/objects/object_tw.xml
- name: objects/object_umajump
xml_path: assets/xml/objects/object_umajump.xml
- name: objects/object_vali

View File

@ -788,7 +788,7 @@ assets:
- name: objects/object_tsubo
xml_path: assets/xml/objects/object_tsubo.xml
- name: objects/object_tw
xml_path: assets/xml/objects/object_tw_pal.xml
xml_path: assets/xml/objects/object_tw.xml
- name: objects/object_umajump
xml_path: assets/xml/objects/object_umajump.xml
- name: objects/object_vali

View File

@ -800,7 +800,7 @@ assets:
- name: objects/object_tsubo
xml_path: assets/xml/objects/object_tsubo.xml
- name: objects/object_tw
xml_path: assets/xml/objects/object_tw_pal.xml
xml_path: assets/xml/objects/object_tw.xml
- name: objects/object_umajump
xml_path: assets/xml/objects/object_umajump.xml
- name: objects/object_vali

View File

@ -800,7 +800,7 @@ assets:
- name: objects/object_tsubo
xml_path: assets/xml/objects/object_tsubo.xml
- name: objects/object_tw
xml_path: assets/xml/objects/object_tw_pal.xml
xml_path: assets/xml/objects/object_tw.xml
- name: objects/object_umajump
xml_path: assets/xml/objects/object_umajump.xml
- name: objects/object_vali

View File

@ -26,8 +26,8 @@
#include "assets/objects/gameplay_keep/gameplay_keep.h"
#include "assets/objects/object_tw/object_tw.h"
#pragma increment_block_number "gc-eu:128 gc-eu-mq:128 gc-jp:128 gc-jp-ce:128 gc-jp-mq:128 gc-us:128 gc-us-mq:128" \
"ique-cn:128 ntsc-1.0:128 ntsc-1.1:128 ntsc-1.2:128 pal-1.0:128 pal-1.1:128"
#pragma increment_block_number "gc-eu:128 gc-eu-mq:128 gc-jp:0 gc-jp-ce:0 gc-jp-mq:0 gc-us:0 gc-us-mq:0 ique-cn:0" \
"ntsc-1.0:0 ntsc-1.1:0 ntsc-1.2:0 pal-1.0:128 pal-1.1:128"
#define FLAGS \
(ACTOR_FLAG_ATTENTION_ENABLED | ACTOR_FLAG_HOSTILE | ACTOR_FLAG_UPDATE_CULLING_DISABLED | \

View File

@ -139,6 +139,7 @@ class SkeletonResourceDesc(ResourceDesc):
def get_size(self):
skel_size = {
SkeletonType.NORMAL: 0x8,
SkeletonType.FLEX: 0xC,
}.get(self.type)
if skel_size is None:
raise ResourceHasNoSizeError()