`En_Kaizoku` and `object_kz` documented: the pirate fighter miniboss (#1788)

* Kaizoku: some docs

* Kaizoku: more docs

* Kaizoku: more docs

* Kaizoku: all object labeled

* Kaizoku: more docs

* More docs

* Kaizoku: more docs

* Kaizoku: more docs

* Kaizoku: more docs

* Kaizoku: first pass complete

* format

* Kaizoku: minor tweaks

* Kaizoku: Anghelos requested changes pass1

* Kaizoku: minor docs

* Kaizoku: get'n't

* Kaizoku: format

* Apply suggestions from code review

Co-authored-by: Derek Hensley <hensley.derek58@gmail.com>

* Kaizoku: back to OK

* Kaizoku: more requested changes

* Kaizoku: outfit and lipstick color enums

* Kaizoku: rename object assets from gKaizoku to gFighterPirate

* Kaizoku: LIMB_FULL

* Kaizoku: some requested changes

* Kaizoku: more requested changes

* Apply suggestions from code review

Co-authored-by: Derek Hensley <hensley.derek58@gmail.com>

* Kaizoku: back to matching

* Kaizoku: requested changes

* Kaizoku: missed change

* Apply suggestions from code review

Co-authored-by: Tom Overton <tom-overton@users.noreply.github.com>

* Kaizoku: back to matching and more requested changes

---------

Co-authored-by: Derek Hensley <hensley.derek58@gmail.com>
Co-authored-by: Tom Overton <tom-overton@users.noreply.github.com>
This commit is contained in:
Isghj 2025-02-26 16:59:58 -08:00 committed by GitHub
parent 679ae89099
commit fde2b78a92
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
6 changed files with 981 additions and 926 deletions

View File

@ -1,93 +1,104 @@
<Root>
<File Name="object_kz" Segment="6">
<Animation Name="object_kz_Anim_0003CC" Offset="0x3CC" /> <!-- Original name is "kz_attackA" -->
<Animation Name="object_kz_Anim_000F5C" Offset="0xF5C" /> <!-- Original name is "kz_attackB" -->
<Animation Name="object_kz_Anim_001390" Offset="0x1390" /> <!-- Original name is "kz_back_ten" -->
<Animation Name="object_kz_Anim_001578" Offset="0x1578" /> <!-- Original name is "kz_defense" -->
<Animation Name="object_kz_Anim_001E9C" Offset="0x1E9C" /> <!-- Original name is "kz_doron" -->
<Animation Name="object_kz_Anim_002730" Offset="0x2730" /> <!-- Original name is "kz_down" -->
<Animation Name="object_kz_Anim_002BA0" Offset="0x2BA0" /> <!-- Original name is "kz_downwait" -->
<Animation Name="object_kz_Anim_003A3C" Offset="0x3A3C" /> <!-- Original name is "kz_downwake" -->
<Animation Name="object_kz_Anim_0043E4" Offset="0x43E4" /> <!-- Original name is "kz_getout" -->
<Animation Name="object_kz_Anim_004860" Offset="0x4860" /> <!-- Original name is "kz_hit" -->
<Animation Name="object_kz_Anim_005644" Offset="0x5644" /> <!-- Original name is "kz_kime" -->
<Animation Name="object_kz_Anim_0058B8" Offset="0x58B8" /> <!-- Original name is "kz_run" -->
<Animation Name="gFighterPirateSlashAnim" Offset="0x3CC" /> <!-- Original name is "kz_attackA" -->
<Animation Name="gFighterPirateSpinAttackAnim" Offset="0xF5C" /> <!-- Original name is "kz_attackB" -->
<Animation Name="gFighterPirateFlipAnim" Offset="0x1390" /> <!-- Original name is "kz_back_ten" -->
<Animation Name="gFighterPirateBlockAnim" Offset="0x1578" /> <!-- Original name is "kz_defense" -->
<Animation Name="gFighterPirateThrowFlashAnim" Offset="0x1E9C" /> <!-- Original name is "kz_doron" -->
<!-- This is the old version from OOT, back when she would jump to escape instead of talking and flashing to escape -->
<Animation Name="gFighterPirateUnusedDefeatAnim" Offset="0x2730" /> <!-- Original name is "kz_down" -->
<Animation Name="gFighterPirateDefeatIdleAnim" Offset="0x2BA0" /> <!-- Original name is "kz_downwait" -->
<Animation Name="gFighterPirateDefeatAnim" Offset="0x3A3C" /> <!-- Original name is "kz_downwake" -->
<!-- This is used in a threatening stance if the player loses the fight, while she talks to you -->
<Animation Name="gFighterPirateDemonstrativeSwordSwingAnim" Offset="0x43E4" /> <!-- Original name is "kz_getout" -->
<Animation Name="gFighterPirateDamageAnim" Offset="0x4860" /> <!-- Original name is "kz_hit" -->
<Animation Name="gFighterPirateUnsheatheAnim" Offset="0x5644" /> <!-- Original name is "kz_kime" -->
<Animation Name="gFighterPirateWalkAnim" Offset="0x58B8" /> <!-- Original name is "kz_run" -->
<Texture Name="object_kz_TLUT_0058D0" OutName="tlut_0058D0" Format="rgba16" Width="16" Height="16" Offset="0x58D0" />
<Texture Name="object_kz_Tex_005AD0" OutName="tex_005AD0" Format="ci8" Width="8" Height="8" Offset="0x5AD0" />
<Texture Name="object_kz_Tex_005B10" OutName="tex_005B10" Format="ci8" Width="8" Height="8" Offset="0x5B10" />
<Texture Name="object_kz_Tex_005B50" OutName="tex_005B50" Format="ci8" Width="16" Height="16" Offset="0x5B50" />
<Texture Name="object_kz_Tex_005C50" OutName="tex_005C50" Format="i8" Width="16" Height="16" Offset="0x5C50" />
<Texture Name="object_kz_Tex_005D50" OutName="tex_005D50" Format="ci8" Width="16" Height="16" Offset="0x5D50" />
<Texture Name="object_kz_Tex_005E50" OutName="tex_005E50" Format="i8" Width="16" Height="16" Offset="0x5E50" />
<Texture Name="object_kz_Tex_005F50" OutName="tex_005F50" Format="i8" Width="8" Height="16" Offset="0x5F50" />
<Texture Name="gFighterPirate1TLUT" OutName="tlut1" Format="rgba16" Width="16" Height="16" Offset="0x58D0" />
<!-- This is the same skin texture as below, but this one is her arms and back -->
<Texture Name="gFighterPirateSkin1Tex" OutName="skin1" Format="ci8" Width="8" Height="8" Offset="0x5AD0" TlutOffset="0x58D0" />
<Texture Name="gFighterPirateShirtTopRedGradientTex" OutName="shirt_red" Format="ci8" Width="8" Height="8" Offset="0x5B10" />
<!-- Gold armor plates on her shin, forearms, belt. Similar texture as Emblem, but slightly darker. -->
<Texture Name="gFighterPirateArmor1Tex" OutName="armor" Format="ci8" Width="16" Height="16" Offset="0x5B50" />
<Texture Name="gFighterPirateShirtBottomPatternAndVeilTex" OutName="shirt_pattern1" Format="i8" Width="16" Height="16" Offset="0x5C50" />
<Texture Name="gFighterPirateBellyButtonTex" OutName="navel" Format="ci8" Width="16" Height="16" Offset="0x5D50" />
<Texture Name="gFighterPiratePantsTex" OutName="pants" Format="i8" Width="16" Height="16" Offset="0x5E50" />
<!-- This is the texture at the back of her boots and pants belt center. -->
<Texture Name="gFighterPirateZipper1Tex" OutName="zipper1" Format="i8" Width="8" Height="16" Offset="0x5F50" />
<DList Name="object_kz_DL_007CB0" Offset="0x7CB0" />
<DList Name="object_kz_DL_008130" Offset="0x8130" />
<DList Name="object_kz_DL_008268" Offset="0x8268" />
<DList Name="object_kz_DL_008490" Offset="0x8490" />
<DList Name="object_kz_DL_0085C8" Offset="0x85C8" />
<DList Name="object_kz_DL_0087F0" Offset="0x87F0" />
<DList Name="object_kz_DL_008A10" Offset="0x8A10" />
<DList Name="object_kz_DL_008B10" Offset="0x8B10" />
<DList Name="object_kz_DL_008D80" Offset="0x8D80" />
<DList Name="object_kz_DL_008E80" Offset="0x8E80" />
<DList Name="gFighterPirateTorsoDL" Offset="0x7CB0" />
<DList Name="gFighterPirateRightUpperArmDL" Offset="0x8130" />
<DList Name="gFighterPirateRightForearmDL" Offset="0x8268" />
<DList Name="gFighterPirateLeftUpperArmDL" Offset="0x8490" />
<DList Name="gFighterPirateLeftForearmDL" Offset="0x85C8" />
<DList Name="gFighterPirateWaistDL" Offset="0x87F0" />
<DList Name="gFighterPirateRightThighDL" Offset="0x8A10" />
<DList Name="gFighterPirateRightShinDL" Offset="0x8B10" />
<DList Name="gFighterPirateLeftThighDL" Offset="0x8D80" />
<DList Name="gFighterPirateLeftShinDL" Offset="0x8E80" />
<Texture Name="object_kz_TLUT_009100" OutName="tlut_009100" Format="rgba16" Width="252" Height="1" Offset="0x9100" />
<Texture Name="object_kz_Tex_0092F8" OutName="tex_0092F8" Format="ci8" Width="8" Height="8" Offset="0x92F8" />
<Texture Name="object_kz_Tex_009338" OutName="tex_009338" Format="ci8" Width="8" Height="16" Offset="0x9338" />
<Texture Name="gKaizokuEyeOpenTex" OutName="kaizoku_eye_open" Format="ci8" Width="32" Height="32" Offset="0x93B8" TlutOffset="0x9100" />
<Texture Name="object_kz_Tex_0097B8" OutName="tex_0097B8" Format="i8" Width="16" Height="16" Offset="0x97B8" />
<Texture Name="object_kz_Tex_0098B8" OutName="tex_0098B8" Format="ci8" Width="8" Height="16" Offset="0x98B8" />
<Texture Name="object_kz_Tex_009938" OutName="tex_009938" Format="ci8" Width="8" Height="8" Offset="0x9938" />
<Texture Name="gKaizokuEyeHalfTex" OutName="kaizoku_eye_half" Format="ci8" Width="32" Height="32" Offset="0x9978" TlutOffset="0x9100" />
<Texture Name="object_kz_Tex_009D78" OutName="tex_009D78" Format="i8" Width="8" Height="16" Offset="0x9D78" />
<Texture Name="object_kz_Tex_009DF8" OutName="tex_009DF8" Format="ci8" Width="16" Height="16" Offset="0x9DF8" />
<Texture Name="object_kz_Tex_009EF8" OutName="tex_009EF8" Format="ci8" Width="16" Height="16" Offset="0x9EF8" />
<Texture Name="object_kz_Tex_009FF8" OutName="tex_009FF8" Format="ci8" Width="16" Height="16" Offset="0x9FF8" />
<Texture Name="gKaizokuEyeClosedTex" OutName="kaizoku_eye_closed" Format="ci8" Width="32" Height="32" Offset="0xA0F8" TlutOffset="0x9100" />
<Texture Name="gFighterPirate2TLUT" OutName="tlut2" Format="rgba16" Width="4" Height="63" Offset="0x9100" />
<!-- This is the same skin texture as above, but this one is for her head and feet -->
<Texture Name="gFighterPirateSkin2Tex" OutName="skin2" Format="ci8" Width="8" Height="8" Offset="0x92F8" TlutOffset="0x9100"/>
<Texture Name="gFighterPirateEarTex" OutName="ear" Format="ci8" Width="8" Height="16" Offset="0x9338" />
<Texture Name="gFighterPirateEyeOpenTex" OutName="eye_open" Format="ci8" Width="32" Height="32" Offset="0x93B8" TlutOffset="0x9100" />
<Texture Name="gFighterPirateShirtBottomPatternAndVeil2Tex" OutName="shirt_pattern2" Format="i8" Width="16" Height="16" Offset="0x97B8" />
<Texture Name="gFighterPirateShoesTex" OutName="shoe_sides" Format="ci8" Width="8" Height="16" Offset="0x98B8" TlutOffset="0x9100"/>
<Texture Name="gFighterPirateShoeBottomTex" OutName="shoe_bottom" Format="ci8" Width="8" Height="8" Offset="0x9938" TlutOffset="0x9100" />
<Texture Name="gFighterPirateEyeHalfTex" OutName="eye_half" Format="ci8" Width="32" Height="32" Offset="0x9978" TlutOffset="0x9100" />
<!-- This is the same zipper texture above, but used in different places. hair emblem, back of hands -->
<Texture Name="gFighterPirateZipper2Tex" OutName="zipper2" Format="i8" Width="8" Height="16" Offset="0x9D78"/>
<Texture Name="gFighterPirateHairTex" OutName="hair" Format="ci8" Width="16" Height="16" Offset="0x9DF8" TlutOffset="0x9100" />
<Texture Name="gFighterPirateFingersTex" OutName="fingers" Format="ci8" Width="16" Height="16" Offset="0x9EF8" TlutOffset="0x9100" />
<!-- Similar to Armor above, but slightly brighter and used in different spots: used for sword guard and her forhead emblem -->
<Texture Name="gFighterPirateYellowSwordGuardAndEmblemTex" OutName="emblem" Format="ci8" Width="16" Height="16" Offset="0x9FF8" />
<Texture Name="gFighterPirateEyeClosedTex" OutName="eye_closed" Format="ci8" Width="32" Height="32" Offset="0xA0F8" TlutOffset="0x9100" />
<DList Name="object_kz_DL_00C318" Offset="0xC318" />
<DList Name="object_kz_DL_00C4D8" Offset="0xC4D8" />
<DList Name="object_kz_DL_00C698" Offset="0xC698" />
<DList Name="object_kz_DL_00C830" Offset="0xC830" />
<DList Name="object_kz_DL_00CA08" Offset="0xCA08" />
<DList Name="object_kz_DL_00CBA0" Offset="0xCBA0" />
<DList Name="object_kz_DL_00CD78" Offset="0xCD78" />
<DList Name="object_kz_DL_00CE30" Offset="0xCE30" />
<DList Name="object_kz_DL_00CF20" Offset="0xCF20" />
<DList Name="gFighterPirateLeftFootDL" Offset="0xC318" />
<DList Name="gFighterPirateRightFootDL" Offset="0xC4D8" />
<DList Name="gFighterPirateLeftHandDL" Offset="0xC698" />
<DList Name="gFighterPirateLeftSwordDL" Offset="0xC830" />
<DList Name="gFighterPirateRightHandDL" Offset="0xCA08" />
<DList Name="gFighterPirateRightSwordDL" Offset="0xCBA0" />
<DList Name="gFighterPirateVeilDL" Offset="0xCD78" />
<DList Name="gFighterPiratePonytailDL" Offset="0xCE30" />
<DList Name="gFighterPirateHeadDL" Offset="0xCF20" />
<Limb Name="object_kz_Standardlimb_00D6B8" Type="Standard" EnumName="KAIZOKU_LIMB_01" Offset="0xD6B8" />
<Limb Name="object_kz_Standardlimb_00D6C4" Type="Standard" EnumName="KAIZOKU_LIMB_02" Offset="0xD6C4" />
<Limb Name="object_kz_Standardlimb_00D6D0" Type="Standard" EnumName="KAIZOKU_LIMB_03" Offset="0xD6D0" />
<Limb Name="object_kz_Standardlimb_00D6DC" Type="Standard" EnumName="KAIZOKU_LIMB_04" Offset="0xD6DC" />
<Limb Name="object_kz_Standardlimb_00D6E8" Type="Standard" EnumName="KAIZOKU_LIMB_05" Offset="0xD6E8" />
<Limb Name="object_kz_Standardlimb_00D6F4" Type="Standard" EnumName="KAIZOKU_LIMB_06" Offset="0xD6F4" />
<Limb Name="object_kz_Standardlimb_00D700" Type="Standard" EnumName="KAIZOKU_LIMB_07" Offset="0xD700" />
<Limb Name="object_kz_Standardlimb_00D70C" Type="Standard" EnumName="KAIZOKU_LIMB_08" Offset="0xD70C" />
<Limb Name="object_kz_Standardlimb_00D718" Type="Standard" EnumName="KAIZOKU_LIMB_09" Offset="0xD718" />
<Limb Name="object_kz_Standardlimb_00D724" Type="Standard" EnumName="KAIZOKU_LIMB_0A" Offset="0xD724" />
<Limb Name="object_kz_Standardlimb_00D730" Type="Standard" EnumName="KAIZOKU_LIMB_R_SWORD" Offset="0xD730" />
<Limb Name="object_kz_Standardlimb_00D73C" Type="Standard" EnumName="KAIZOKU_LIMB_0C" Offset="0xD73C" />
<Limb Name="object_kz_Standardlimb_00D748" Type="Standard" EnumName="KAIZOKU_LIMB_0D" Offset="0xD748" />
<Limb Name="object_kz_Standardlimb_00D754" Type="Standard" EnumName="KAIZOKU_LIMB_0E" Offset="0xD754" />
<Limb Name="object_kz_Standardlimb_00D760" Type="Standard" EnumName="KAIZOKU_LIMB_0F" Offset="0xD760" />
<Limb Name="object_kz_Standardlimb_00D76C" Type="Standard" EnumName="KAIZOKU_LIMB_10" Offset="0xD76C" />
<Limb Name="object_kz_Standardlimb_00D778" Type="Standard" EnumName="KAIZOKU_LIMB_11" Offset="0xD778" />
<Limb Name="object_kz_Standardlimb_00D784" Type="Standard" EnumName="KAIZOKU_LIMB_12" Offset="0xD784" />
<Limb Name="object_kz_Standardlimb_00D790" Type="Standard" EnumName="KAIZOKU_LIMB_L_FOOT" Offset="0xD790" />
<Limb Name="object_kz_Standardlimb_00D79C" Type="Standard" EnumName="KAIZOKU_LIMB_14" Offset="0xD79C" />
<Limb Name="object_kz_Standardlimb_00D7A8" Type="Standard" EnumName="KAIZOKU_LIMB_15" Offset="0xD7A8" />
<Limb Name="object_kz_Standardlimb_00D7B4" Type="Standard" EnumName="KAIZOKU_LIMB_R_FOOT" Offset="0xD7B4" />
<Limb Name="object_kz_Standardlimb_00D7C0" Type="Standard" EnumName="KAIZOKU_LIMB_17" Offset="0xD7C0" />
<Skeleton Name="gKaizokuSkel" Type="Flex" LimbType="Standard" LimbNone="KAIZOKU_LIMB_NONE" LimbMax="KAIZOKU_LIMB_MAX" EnumName="KaizokuLimb" Offset="0xD828" />
<Limb Name="gFighterPirateRootLimb" Type="Standard" EnumName="KAIZOKU_LIMB_ROOT" Offset="0xD6B8" />
<Limb Name="gFighterPirateTorsoLimb" Type="Standard" EnumName="KAIZOKU_LIMB_TORSO" Offset="0xD6C4" />
<Limb Name="gFighterPirateNeckLimb" Type="Standard" EnumName="KAIZOKU_LIMB_NECK" Offset="0xD6D0" />
<Limb Name="gFighterPiratePonytailLimb" Type="Standard" EnumName="KAIZOKU_LIMB_PONYTAIL" Offset="0xD6DC" />
<Limb Name="gFighterPirateVeilLimb" Type="Standard" EnumName="KAIZOKU_LIMB_VEIL" Offset="0xD6E8" />
<Limb Name="gFighterPirateHeadLimb" Type="Standard" EnumName="KAIZOKU_LIMB_HEAD" Offset="0xD6F4" />
<Limb Name="gFighterPirateRightUpperArmLimb" Type="Standard" EnumName="KAIZOKU_LIMB_RIGHT_UPPER_ARM" Offset="0xD700" />
<Limb Name="gFighterPirateRightForearmLimb" Type="Standard" EnumName="KAIZOKU_LIMB_RIGHT_FOREARM" Offset="0xD70C" />
<Limb Name="gFighterPirateRightWristLimb" Type="Standard" EnumName="KAIZOKU_LIMB_RIGHT_WRIST" Offset="0xD718" />
<Limb Name="gFighterPirateRightHandLimb" Type="Standard" EnumName="KAIZOKU_LIMB_RIGHT_HAND" Offset="0xD724" />
<Limb Name="gFighterPirateRightSwordLimb" Type="Standard" EnumName="KAIZOKU_LIMB_RIGHT_SWORD" Offset="0xD730" />
<Limb Name="gFighterPirateLeftUpperArmLimb" Type="Standard" EnumName="KAIZOKU_LIMB_LEFT_UPPER_ARM" Offset="0xD73C" />
<Limb Name="gFighterPirateLeftForearmLimb" Type="Standard" EnumName="KAIZOKU_LIMB_LEFT_FOREARM" Offset="0xD748" />
<Limb Name="gFighterPirateLeftWristLimb" Type="Standard" EnumName="KAIZOKU_LIMB_LEFT_WRIST" Offset="0xD754" />
<Limb Name="gFighterPirateLeftHandLimb" Type="Standard" EnumName="KAIZOKU_LIMB_LEFT_HAND" Offset="0xD760" />
<Limb Name="gFighterPirateLeftSwordLimb" Type="Standard" EnumName="KAIZOKU_LIMB_LEFT_SWORD" Offset="0xD76C" />
<Limb Name="gFighterPirateLeftThighLimb" Type="Standard" EnumName="KAIZOKU_LIMB_LEFT_THIGH" Offset="0xD778" />
<Limb Name="gFighterPirateLeftShinLimb" Type="Standard" EnumName="KAIZOKU_LIMB_LEFT_SHIN" Offset="0xD784" />
<Limb Name="gFighterPirateLeftFootLimb" Type="Standard" EnumName="KAIZOKU_LIMB_LEFT_FOOT" Offset="0xD790" />
<Limb Name="gFighterPirateRightThighLimb" Type="Standard" EnumName="KAIZOKU_LIMB_RIGHT_THIGH" Offset="0xD79C" />
<Limb Name="gFighterPirateRightShinLimb" Type="Standard" EnumName="KAIZOKU_LIMB_RIGHT_SHIN" Offset="0xD7A8" />
<Limb Name="gFighterPirateRightFootLimb" Type="Standard" EnumName="KAIZOKU_LIMB_RIGHT_FOOT" Offset="0xD7B4" />
<Limb Name="gFighterPirateWaistLimb" Type="Standard" EnumName="KAIZOKU_LIMB_WAIST" Offset="0xD7C0" />
<Animation Name="object_kz_Anim_00DBE4" Offset="0xDBE4" /> <!-- Original name is "kz_side_walk" -->
<Animation Name="object_kz_Anim_00E1C8" Offset="0xE1C8" /> <!-- Original name is "kz_start" -->
<Animation Name="object_kz_Anim_00E8BC" Offset="0xE8BC" /> <!-- Original name is "kz_syuta" -->
<Animation Name="object_kz_Anim_00ED1C" Offset="0xED1C" /> <!-- Original name is "kz_syutawait" -->
<Animation Name="object_kz_Anim_00EF9C" Offset="0xEF9C" /> <!-- Original name is "kz_talk" -->
<Animation Name="object_kz_Anim_00F288" Offset="0xF288" /> <!-- Original name is "kz_togetout" -->
<Animation Name="object_kz_Anim_00F8E4" Offset="0xF8E4" /> <!-- Original name is "kz_wait" -->
<Skeleton Name="gFighterPirateSkel" Type="Flex" LimbType="Standard" LimbNone="KAIZOKU_LIMB_NONE" LimbMax="KAIZOKU_LIMB_MAX" EnumName="KaizokuLimb" Offset="0xD828" />
<Animation Name="gFighterPirateSidestepAnim" Offset="0xDBE4" /> <!-- Original name is "kz_side_walk" -->
<!-- This is the old version from OOT, when they would escape at the end of the fight by jumping away -->
<Animation Name="gFighterPirateUnusedJumpAnim" Offset="0xE1C8" /> <!-- Original name is "kz_start" -->
<Animation Name="gFighterPirateLandAnim" Offset="0xE8BC" /> <!-- Original name is "kz_syuta" -->
<Animation Name="gFighterPirateLandTalkAnim" Offset="0xED1C" /> <!-- Original name is "kz_syutawait" -->
<Animation Name="gFighterPirateUnusedTalkAnim" Offset="0xEF9C" /> <!-- Original name is "kz_talk" -->
<Animation Name="gFighterPirateLowerWeaponsAnim" Offset="0xF288" /> <!-- Original name is "kz_togetout" -->
<Animation Name="gFighterPirateFightingIdleAnim" Offset="0xF8E4" /> <!-- Original name is "kz_wait" -->
</File>
</Root>

File diff suppressed because it is too large Load Diff

View File

@ -12,29 +12,32 @@ typedef void (*EnKaizokuActionFunc)(struct EnKaizoku*, PlayState*);
#define KAIZOKU_GET_EXIT_INDEX(thisx) ((thisx)->params & 0x3F)
#define KAIZOKU_GET_SWITCH_FLAG(thisx) (((thisx)->params >> 6) & 0x7F)
// used for text and for outfit color
#define KAIZOKU_GET_TYPE(this) ((this)->picto.actor.world.rot.z)
#define KAIZOKU_SWITCH_FLAG_NONE 0x7F
typedef enum EnKaizokuAnimation {
/* 0 */ EN_KAIZOKU_ANIM_0,
/* 1 */ EN_KAIZOKU_ANIM_1,
/* 2 */ EN_KAIZOKU_ANIM_2,
/* 3 */ EN_KAIZOKU_ANIM_3,
/* 4 */ EN_KAIZOKU_ANIM_4,
/* 5 */ EN_KAIZOKU_ANIM_5,
/* 6 */ EN_KAIZOKU_ANIM_6,
/* 7 */ EN_KAIZOKU_ANIM_7,
/* 8 */ EN_KAIZOKU_ANIM_8,
/* 9 */ EN_KAIZOKU_ANIM_9,
/* 10 */ EN_KAIZOKU_ANIM_10,
/* 11 */ EN_KAIZOKU_ANIM_11,
/* 12 */ EN_KAIZOKU_ANIM_12,
/* 13 */ EN_KAIZOKU_ANIM_13,
/* 14 */ EN_KAIZOKU_ANIM_14,
/* 15 */ EN_KAIZOKU_ANIM_15,
/* 16 */ EN_KAIZOKU_ANIM_16,
/* 17 */ EN_KAIZOKU_ANIM_17,
/* 18 */ EN_KAIZOKU_ANIM_18,
/* 19 */ EN_KAIZOKU_ANIM_MAX
/* 0 */ KAIZOKU_ANIM_FIGHTING_IDLE,
/* 1 */ KAIZOKU_ANIM_UNUSED_CONVERSATION, // from OOT: giving player membership card
/* 2 */ KAIZOKU_ANIM_UNUSED_JUMP, // from OOT: when the enemy would escape by jumping up
/* 3 */ KAIZOKU_ANIM_SIDESTEP,
/* 4 */ KAIZOKU_ANIM_WALK,
/* 5 */ KAIZOKU_ANIM_DAMAGE,
/* 6 */ KAIZOKU_ANIM_UNUSED_DEFEAT, // from OOT: replaced with KAIZOKU_ANIM_DEFEAT
/* 7 */ KAIZOKU_ANIM_BLOCK,
/* 8 */ KAIZOKU_ANIM_FLIP,
/* 9 */ KAIZOKU_ANIM_SLASH_ATTCK,
/* 10 */ KAIZOKU_ANIM_SPIN_ATTACK,
/* 11 */ KAIZOKU_ANIM_LAND,
/* 12 */ KAIZOKU_ANIM_CHALLENGE,
/* 13 */ KAIZOKU_ANIM_UNSHEATHE,
/* 14 */ KAIZOKU_ANIM_LOWER_WEAPONS,
/* 15 */ KAIZOKU_ANIM_DEMONSTRATIVE_SWORD_SWING,
/* 16 */ KAIZOKU_ANIM_DEFEAT,
/* 17 */ KAIZOKU_ANIM_DEFEAT_IDLE,
/* 18 */ KAIZOKU_ANIM_THROW_FLASH,
/* 19 */ KAIZOKU_ANIM_MAX
} EnKaizokuAnimation;
typedef enum EnKaizokuBodyPart {
@ -56,6 +59,13 @@ typedef enum EnKaizokuBodyPart {
/* 15 */ KAIZOKU_BODYPART_MAX
} EnKaizokuBodyPart;
typedef enum KaizokuTextOffset {
/* 0 */ KAIZOKU_TALK_SHOUT_FROM_ABOVE, // shout before landing
/* 1 */ KAIZOKU_TALK_INTRO, // after landing
/* 2 */ KAIZOKU_TALK_PLAYER_VICTORY, // after losing to player
/* 3 */ KAIZOKU_TALK_PLAYER_DEFEAT // after defeating player
} KaizokuTextOffset;
typedef struct EnKaizoku {
/* 0x000 */ PictoActor picto;
/* 0x148 */ SkelAnime skelAnime;
@ -63,36 +73,35 @@ typedef struct EnKaizoku {
/* 0x21C */ Vec3s morphTable[KAIZOKU_LIMB_MAX];
/* 0x2AC */ EnKaizokuActionFunc actionFunc;
/* 0x2B0 */ s16 action;
/* 0x2B2 */ s16 unk_2B2;
/* 0x2B2 */ s16 combatTimer;
/* 0x2B4 */ s16 lookTimer;
/* 0x2B6 */ s16 unk_2B6;
/* 0x2B8 */ s16 unk_2B8;
/* 0x2B6 */ s16 iceTimer;
/* 0x2B8 */ s16 drawDmgEffTimer;
/* 0x2BA */ s16 drawDmgEffType;
/* 0x2BC */ s16 switchFlag;
/* 0x2BE */ s16 unk_2BE;
/* 0x2C0 */ f32 drawDmgEffScale;
/* 0x2C4 */ f32 drawDmgEffFrozenSteamScale;
/* 0x2C8 */ s16 unk_2C8;
/* 0x2CA */ s16 unk_2CA;
/* 0x2C8 */ s16 textIdOffset; // which of the 4 text states during interaction
/* 0x2CA */ s16 textType;
/* 0x2CC */ s16 eyeIndex;
/* 0x2CE */ s16 blinkTimer;
/* 0x2D0 */ s16 unk_2D0;
/* 0x2D0 */ s16 spinAttackState;
/* 0x2D2 */ s16 swordState;
/* 0x2D4 */ s16 exitIndex;
/* 0x2D6 */ s16 csId;
/* 0x2D8 */ u8 unk_2D8;
/* 0x2D9 */ u8 unk_2D9;
/* 0x2D8 */ u8 animationsDisabled;
/* 0x2D9 */ u8 defeatBreathingStarted;
/* 0x2DC */ f32 animEndFrame;
/* 0x2E0 */ f32 unk_2E0;
/* 0x2E0 */ f32 circlingRate;
/* 0x2E4 */ EnKaizokuAnimation animIndex;
/* 0x2E8 */ s32 bodyPartIndex;
/* 0x2EC */ s32 unk_2EC;
/* 0x2F0 */ f32 unk_2F0;
/* 0x2F4 */ s16 unk_2F4;
/* 0x2F8 */ Vec3f unk_2F8;
/* 0x304 */ Vec3f unk_304;
/* 0x2EC */ s32 colorType;
/* 0x2F0 */ f32 boyoBounceVelocity;
/* 0x2F4 */ s16 boyoBounceAngle;
/* 0x2F8 */ Vec3f swordScaleRight;
/* 0x304 */ Vec3f swordScaleLeft;
/* 0x310 */ Vec3f bodyPartsPos[KAIZOKU_BODYPART_MAX];
/* 0x3C4 */ Vec3f unk_3C4;
/* 0x3C4 */ Vec3f velocity;
/* 0x3D0 */ s32 blureIndex;
/* 0x3D4 */ ColliderCylinder bodyCollider;
/* 0x420 */ ColliderQuad swordCollider;
@ -101,20 +110,19 @@ typedef struct EnKaizoku {
/* 0x578 */ Vec3s headRot;
/* 0x580 */ Vec3f rightFootPos;
/* 0x58C */ Vec3f leftFootPos;
/* 0x598 */ s32 unk_598;
/* 0x59C */ s16 unk_59C;
/* 0x598 */ s32 cutsceneTimer;
/* 0x59C */ s16 cutsceneState;
/* 0x59E */ s16 subCamId;
/* 0x5A0 */ s16 unk_5A0;
/* 0x5A2 */ s16 unk_5A2;
/* 0x5A0 */ s16 flashTimer;
/* 0x5A4 */ Vec3f subCamEye;
/* 0x5B0 */ Vec3f subCamAt;
/* 0x5BC */ Vec3f subCamUp;
/* 0x5C8 */ Vec3f unk_5C8;
/* 0x5D4 */ Vec3f unk_5D4;
/* 0x5E0 */ f32 unk_5E0;
/* 0x5E4 */ f32 unk_5E4;
/* 0x5E8 */ f32 unk_5E8;
/* 0x5EC */ f32 unk_5EC;
/* 0x5C8 */ Vec3f subCamEyeTarget;
/* 0x5D4 */ Vec3f subCamAtTarget;
/* 0x5E0 */ f32 subCamVelocity;
/* 0x5E4 */ f32 unk_5E4; // unused
/* 0x5E8 */ f32 flashScreenAlpha;
/* 0x5EC */ f32 flashScreenAlphaTarget;
} EnKaizoku; // size = 0x5F0
#endif // Z_EN_KAIZOKU_H

View File

@ -100,8 +100,8 @@ void ObjBoyo_PushPlayer(ObjBoyo* this, Actor* actor) {
void ObjBoyo_PushPirate(ObjBoyo* this, Actor* actor) {
EnKaizoku* kaizoku = (EnKaizoku*)actor;
kaizoku->unk_2F0 = 30.0f;
kaizoku->unk_2F4 = Actor_WorldYawTowardActor(&this->actor, &kaizoku->picto.actor);
kaizoku->boyoBounceVelocity = 30.0f;
kaizoku->boyoBounceAngle = Actor_WorldYawTowardActor(&this->actor, &kaizoku->picto.actor);
}
void ObjBoyo_ExplodeBomb(ObjBoyo* this, Actor* actor) {

View File

@ -14656,47 +14656,47 @@
0x80B8504C:("BgDblueWaterfall_Draw",),
0x80B85590:("EnKaizoku_Init",),
0x80B85800:("EnKaizoku_Destroy",),
0x80B85858:("func_80B85858",),
0x80B85900:("func_80B85900",),
0x80B85A00:("func_80B85A00",),
0x80B85858:("EnKaizoku_DodgeRanged",),
0x80B85900:("EnKaizoku_TurnHead",),
0x80B85A00:("EnKaizoku_ReactToPlayer",),
0x80B85E18:("EnKaizoku_ChangeAnim",),
0x80B85EA0:("EnKaizoku_ValidatePictograph",),
0x80B85F48:("func_80B85F48",),
0x80B85FA8:("func_80B85FA8",),
0x80B86804:("func_80B86804",),
0x80B868B8:("func_80B868B8",),
0x80B86B58:("func_80B86B58",),
0x80B86B74:("func_80B86B74",),
0x80B872A4:("func_80B872A4",),
0x80B872F4:("func_80B872F4",),
0x80B874D8:("func_80B874D8",),
0x80B8760C:("func_80B8760C",),
0x80B87900:("func_80B87900",),
0x80B8798C:("func_80B8798C",),
0x80B87C7C:("func_80B87C7C",),
0x80B87CF8:("func_80B87CF8",),
0x80B87D3C:("func_80B87D3C",),
0x80B87E28:("func_80B87E28",),
0x80B87E9C:("func_80B87E9C",),
0x80B87F70:("func_80B87F70",),
0x80B87FDC:("func_80B87FDC",),
0x80B88214:("func_80B88214",),
0x80B88278:("func_80B88278",),
0x80B8833C:("func_80B8833C",),
0x80B88378:("func_80B88378",),
0x80B88770:("func_80B88770",),
0x80B887AC:("func_80B887AC",),
0x80B88910:("func_80B88910",),
0x80B88964:("func_80B88964",),
0x80B88CD8:("func_80B88CD8",),
0x80B88D6C:("func_80B88D6C",),
0x80B891B8:("func_80B891B8",),
0x80B89280:("func_80B89280",),
0x80B893CC:("func_80B893CC",),
0x80B894C0:("func_80B894C0",),
0x80B8960C:("func_80B8960C",),
0x80B8971C:("func_80B8971C",),
0x80B89A08:("func_80B89A08",),
0x80B85F48:("EnKaizoku_SetupWaitForApproach",),
0x80B85FA8:("EnKaizoku_WaitForApproach",),
0x80B86804:("EnKaizoku_SetupPlayerLoss",),
0x80B868B8:("EnKaizoku_PlayerLoss",),
0x80B86B58:("EnKaizoku_SetupPlayerWinCutscene",),
0x80B86B74:("EnKaizoku_PlayerWinCutscene",),
0x80B872A4:("EnKaizoku_SetupReady",),
0x80B872F4:("EnKaizoku_Ready",),
0x80B874D8:("EnKaizoku_SetupSpinDodge",),
0x80B8760C:("EnKaizoku_SpinDodge",),
0x80B87900:("EnKaizoku_SetupBlock",),
0x80B8798C:("EnKaizoku_Block",),
0x80B87C7C:("EnKaizoku_SetupJump",),
0x80B87CF8:("EnKaizoku_SpawnVerticalFootDust",),
0x80B87D3C:("EnKaizoku_Jump",),
0x80B87E28:("EnKaizoku_SetupRollBack",),
0x80B87E9C:("EnKaizoku_RollBack",),
0x80B87F70:("EnKaizoku_SetupSlash",),
0x80B87FDC:("EnKaizoku_Slash",),
0x80B88214:("EnKaizoku_SetupRollForward",),
0x80B88278:("EnKaizoku_RollForward",),
0x80B8833C:("EnKaizoku_SetupAdvance",),
0x80B88378:("EnKaizoku_Advance",),
0x80B88770:("EnKaizoku_SetupPivot",),
0x80B887AC:("EnKaizoku_Pivot",),
0x80B88910:("EnKaizoku_SetupSpinAttack",),
0x80B88964:("EnKaizoku_SpinAttack",),
0x80B88CD8:("EnKaizoku_SetupCircle",),
0x80B88D6C:("EnKaizoku_Circle",),
0x80B891B8:("EnKaizoku_SetupStunned",),
0x80B89280:("EnKaizoku_Stunned",),
0x80B893CC:("EnKaizoku_SetupDamaged",),
0x80B894C0:("EnKaizoku_Damaged",),
0x80B8960C:("EnKaizoku_SetupDefeatKnockdown",),
0x80B8971C:("EnKaizoku_DefeatKnockdown",),
0x80B89A08:("EnKaizoku_UpdateDamage",),
0x80B8A0A0:("EnKaizoku_Update",),
0x80B8A318:("EnKaizoku_OverrideLimbDraw",),
0x80B8A468:("EnKaizoku_PostLimbDraw",),

View File

@ -14833,7 +14833,7 @@
0x80B853F8:("D_80B853F8","f32","",0x4),
0x80B853FC:("D_80B853FC","f32","",0x4),
0x80B85400:("D_80B85400","f32","",0x4),
0x80B8A8D0:("D_80B8A8D0","UNK_TYPE1","",0x1),
0x80B8A8D0:("sKaizokuTextIds","UNK_TYPE1","",0x1),
0x80B8A8E4:("D_80B8A8E4","UNK_TYPE4","",0x4),
0x80B8AA04:("D_80B8AA04","UNK_TYPE4","",0x4),
0x80B8AB24:("D_80B8AB24","UNK_TYPE1","",0x1),