`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> <Root>
<File Name="object_kz" Segment="6"> <File Name="object_kz" Segment="6">
<Animation Name="object_kz_Anim_0003CC" Offset="0x3CC" /> <!-- Original name is "kz_attackA" --> <Animation Name="gFighterPirateSlashAnim" Offset="0x3CC" /> <!-- Original name is "kz_attackA" -->
<Animation Name="object_kz_Anim_000F5C" Offset="0xF5C" /> <!-- Original name is "kz_attackB" --> <Animation Name="gFighterPirateSpinAttackAnim" Offset="0xF5C" /> <!-- Original name is "kz_attackB" -->
<Animation Name="object_kz_Anim_001390" Offset="0x1390" /> <!-- Original name is "kz_back_ten" --> <Animation Name="gFighterPirateFlipAnim" Offset="0x1390" /> <!-- Original name is "kz_back_ten" -->
<Animation Name="object_kz_Anim_001578" Offset="0x1578" /> <!-- Original name is "kz_defense" --> <Animation Name="gFighterPirateBlockAnim" Offset="0x1578" /> <!-- Original name is "kz_defense" -->
<Animation Name="object_kz_Anim_001E9C" Offset="0x1E9C" /> <!-- Original name is "kz_doron" --> <Animation Name="gFighterPirateThrowFlashAnim" Offset="0x1E9C" /> <!-- Original name is "kz_doron" -->
<Animation Name="object_kz_Anim_002730" Offset="0x2730" /> <!-- Original name is "kz_down" --> <!-- This is the old version from OOT, back when she would jump to escape instead of talking and flashing to escape -->
<Animation Name="object_kz_Anim_002BA0" Offset="0x2BA0" /> <!-- Original name is "kz_downwait" --> <Animation Name="gFighterPirateUnusedDefeatAnim" Offset="0x2730" /> <!-- Original name is "kz_down" -->
<Animation Name="object_kz_Anim_003A3C" Offset="0x3A3C" /> <!-- Original name is "kz_downwake" --> <Animation Name="gFighterPirateDefeatIdleAnim" Offset="0x2BA0" /> <!-- Original name is "kz_downwait" -->
<Animation Name="object_kz_Anim_0043E4" Offset="0x43E4" /> <!-- Original name is "kz_getout" --> <Animation Name="gFighterPirateDefeatAnim" Offset="0x3A3C" /> <!-- Original name is "kz_downwake" -->
<Animation Name="object_kz_Anim_004860" Offset="0x4860" /> <!-- Original name is "kz_hit" --> <!-- This is used in a threatening stance if the player loses the fight, while she talks to you -->
<Animation Name="object_kz_Anim_005644" Offset="0x5644" /> <!-- Original name is "kz_kime" --> <Animation Name="gFighterPirateDemonstrativeSwordSwingAnim" Offset="0x43E4" /> <!-- Original name is "kz_getout" -->
<Animation Name="object_kz_Anim_0058B8" Offset="0x58B8" /> <!-- Original name is "kz_run" --> <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="gFighterPirate1TLUT" OutName="tlut1" 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" /> <!-- This is the same skin texture as below, but this one is her arms and back -->
<Texture Name="object_kz_Tex_005B10" OutName="tex_005B10" Format="ci8" Width="8" Height="8" Offset="0x5B10" /> <Texture Name="gFighterPirateSkin1Tex" OutName="skin1" Format="ci8" Width="8" Height="8" Offset="0x5AD0" TlutOffset="0x58D0" />
<Texture Name="object_kz_Tex_005B50" OutName="tex_005B50" Format="ci8" Width="16" Height="16" Offset="0x5B50" /> <Texture Name="gFighterPirateShirtTopRedGradientTex" OutName="shirt_red" Format="ci8" Width="8" Height="8" Offset="0x5B10" />
<Texture Name="object_kz_Tex_005C50" OutName="tex_005C50" Format="i8" Width="16" Height="16" Offset="0x5C50" /> <!-- Gold armor plates on her shin, forearms, belt. Similar texture as Emblem, but slightly darker. -->
<Texture Name="object_kz_Tex_005D50" OutName="tex_005D50" Format="ci8" Width="16" Height="16" Offset="0x5D50" /> <Texture Name="gFighterPirateArmor1Tex" OutName="armor" Format="ci8" Width="16" Height="16" Offset="0x5B50" />
<Texture Name="object_kz_Tex_005E50" OutName="tex_005E50" Format="i8" Width="16" Height="16" Offset="0x5E50" /> <Texture Name="gFighterPirateShirtBottomPatternAndVeilTex" OutName="shirt_pattern1" Format="i8" Width="16" Height="16" Offset="0x5C50" />
<Texture Name="object_kz_Tex_005F50" OutName="tex_005F50" Format="i8" Width="8" Height="16" Offset="0x5F50" /> <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="gFighterPirateTorsoDL" Offset="0x7CB0" />
<DList Name="object_kz_DL_008130" Offset="0x8130" /> <DList Name="gFighterPirateRightUpperArmDL" Offset="0x8130" />
<DList Name="object_kz_DL_008268" Offset="0x8268" /> <DList Name="gFighterPirateRightForearmDL" Offset="0x8268" />
<DList Name="object_kz_DL_008490" Offset="0x8490" /> <DList Name="gFighterPirateLeftUpperArmDL" Offset="0x8490" />
<DList Name="object_kz_DL_0085C8" Offset="0x85C8" /> <DList Name="gFighterPirateLeftForearmDL" Offset="0x85C8" />
<DList Name="object_kz_DL_0087F0" Offset="0x87F0" /> <DList Name="gFighterPirateWaistDL" Offset="0x87F0" />
<DList Name="object_kz_DL_008A10" Offset="0x8A10" /> <DList Name="gFighterPirateRightThighDL" Offset="0x8A10" />
<DList Name="object_kz_DL_008B10" Offset="0x8B10" /> <DList Name="gFighterPirateRightShinDL" Offset="0x8B10" />
<DList Name="object_kz_DL_008D80" Offset="0x8D80" /> <DList Name="gFighterPirateLeftThighDL" Offset="0x8D80" />
<DList Name="object_kz_DL_008E80" Offset="0x8E80" /> <DList Name="gFighterPirateLeftShinDL" Offset="0x8E80" />
<Texture Name="object_kz_TLUT_009100" OutName="tlut_009100" Format="rgba16" Width="252" Height="1" Offset="0x9100" /> <Texture Name="gFighterPirate2TLUT" OutName="tlut2" Format="rgba16" Width="4" Height="63" Offset="0x9100" />
<Texture Name="object_kz_Tex_0092F8" OutName="tex_0092F8" Format="ci8" Width="8" Height="8" Offset="0x92F8" /> <!-- This is the same skin texture as above, but this one is for her head and feet -->
<Texture Name="object_kz_Tex_009338" OutName="tex_009338" Format="ci8" Width="8" Height="16" Offset="0x9338" /> <Texture Name="gFighterPirateSkin2Tex" OutName="skin2" Format="ci8" Width="8" Height="8" Offset="0x92F8" TlutOffset="0x9100"/>
<Texture Name="gKaizokuEyeOpenTex" OutName="kaizoku_eye_open" Format="ci8" Width="32" Height="32" Offset="0x93B8" TlutOffset="0x9100" /> <Texture Name="gFighterPirateEarTex" OutName="ear" Format="ci8" Width="8" Height="16" Offset="0x9338" />
<Texture Name="object_kz_Tex_0097B8" OutName="tex_0097B8" Format="i8" Width="16" Height="16" Offset="0x97B8" /> <Texture Name="gFighterPirateEyeOpenTex" OutName="eye_open" Format="ci8" Width="32" Height="32" Offset="0x93B8" TlutOffset="0x9100" />
<Texture Name="object_kz_Tex_0098B8" OutName="tex_0098B8" Format="ci8" Width="8" Height="16" Offset="0x98B8" /> <Texture Name="gFighterPirateShirtBottomPatternAndVeil2Tex" OutName="shirt_pattern2" Format="i8" Width="16" Height="16" Offset="0x97B8" />
<Texture Name="object_kz_Tex_009938" OutName="tex_009938" Format="ci8" Width="8" Height="8" Offset="0x9938" /> <Texture Name="gFighterPirateShoesTex" OutName="shoe_sides" Format="ci8" Width="8" Height="16" Offset="0x98B8" TlutOffset="0x9100"/>
<Texture Name="gKaizokuEyeHalfTex" OutName="kaizoku_eye_half" Format="ci8" Width="32" Height="32" Offset="0x9978" TlutOffset="0x9100" /> <Texture Name="gFighterPirateShoeBottomTex" OutName="shoe_bottom" Format="ci8" Width="8" Height="8" Offset="0x9938" TlutOffset="0x9100" />
<Texture Name="object_kz_Tex_009D78" OutName="tex_009D78" Format="i8" Width="8" Height="16" Offset="0x9D78" /> <Texture Name="gFighterPirateEyeHalfTex" OutName="eye_half" Format="ci8" Width="32" Height="32" Offset="0x9978" TlutOffset="0x9100" />
<Texture Name="object_kz_Tex_009DF8" OutName="tex_009DF8" Format="ci8" Width="16" Height="16" Offset="0x9DF8" /> <!-- This is the same zipper texture above, but used in different places. hair emblem, back of hands -->
<Texture Name="object_kz_Tex_009EF8" OutName="tex_009EF8" Format="ci8" Width="16" Height="16" Offset="0x9EF8" /> <Texture Name="gFighterPirateZipper2Tex" OutName="zipper2" Format="i8" Width="8" Height="16" Offset="0x9D78"/>
<Texture Name="object_kz_Tex_009FF8" OutName="tex_009FF8" Format="ci8" Width="16" Height="16" Offset="0x9FF8" /> <Texture Name="gFighterPirateHairTex" OutName="hair" Format="ci8" Width="16" Height="16" Offset="0x9DF8" TlutOffset="0x9100" />
<Texture Name="gKaizokuEyeClosedTex" OutName="kaizoku_eye_closed" Format="ci8" Width="32" Height="32" Offset="0xA0F8" 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="gFighterPirateLeftFootDL" Offset="0xC318" />
<DList Name="object_kz_DL_00C4D8" Offset="0xC4D8" /> <DList Name="gFighterPirateRightFootDL" Offset="0xC4D8" />
<DList Name="object_kz_DL_00C698" Offset="0xC698" /> <DList Name="gFighterPirateLeftHandDL" Offset="0xC698" />
<DList Name="object_kz_DL_00C830" Offset="0xC830" /> <DList Name="gFighterPirateLeftSwordDL" Offset="0xC830" />
<DList Name="object_kz_DL_00CA08" Offset="0xCA08" /> <DList Name="gFighterPirateRightHandDL" Offset="0xCA08" />
<DList Name="object_kz_DL_00CBA0" Offset="0xCBA0" /> <DList Name="gFighterPirateRightSwordDL" Offset="0xCBA0" />
<DList Name="object_kz_DL_00CD78" Offset="0xCD78" /> <DList Name="gFighterPirateVeilDL" Offset="0xCD78" />
<DList Name="object_kz_DL_00CE30" Offset="0xCE30" /> <DList Name="gFighterPiratePonytailDL" Offset="0xCE30" />
<DList Name="object_kz_DL_00CF20" Offset="0xCF20" /> <DList Name="gFighterPirateHeadDL" Offset="0xCF20" />
<Limb Name="object_kz_Standardlimb_00D6B8" Type="Standard" EnumName="KAIZOKU_LIMB_01" Offset="0xD6B8" /> <Limb Name="gFighterPirateRootLimb" Type="Standard" EnumName="KAIZOKU_LIMB_ROOT" Offset="0xD6B8" />
<Limb Name="object_kz_Standardlimb_00D6C4" Type="Standard" EnumName="KAIZOKU_LIMB_02" Offset="0xD6C4" /> <Limb Name="gFighterPirateTorsoLimb" Type="Standard" EnumName="KAIZOKU_LIMB_TORSO" Offset="0xD6C4" />
<Limb Name="object_kz_Standardlimb_00D6D0" Type="Standard" EnumName="KAIZOKU_LIMB_03" Offset="0xD6D0" /> <Limb Name="gFighterPirateNeckLimb" Type="Standard" EnumName="KAIZOKU_LIMB_NECK" Offset="0xD6D0" />
<Limb Name="object_kz_Standardlimb_00D6DC" Type="Standard" EnumName="KAIZOKU_LIMB_04" Offset="0xD6DC" /> <Limb Name="gFighterPiratePonytailLimb" Type="Standard" EnumName="KAIZOKU_LIMB_PONYTAIL" Offset="0xD6DC" />
<Limb Name="object_kz_Standardlimb_00D6E8" Type="Standard" EnumName="KAIZOKU_LIMB_05" Offset="0xD6E8" /> <Limb Name="gFighterPirateVeilLimb" Type="Standard" EnumName="KAIZOKU_LIMB_VEIL" Offset="0xD6E8" />
<Limb Name="object_kz_Standardlimb_00D6F4" Type="Standard" EnumName="KAIZOKU_LIMB_06" Offset="0xD6F4" /> <Limb Name="gFighterPirateHeadLimb" Type="Standard" EnumName="KAIZOKU_LIMB_HEAD" Offset="0xD6F4" />
<Limb Name="object_kz_Standardlimb_00D700" Type="Standard" EnumName="KAIZOKU_LIMB_07" Offset="0xD700" /> <Limb Name="gFighterPirateRightUpperArmLimb" Type="Standard" EnumName="KAIZOKU_LIMB_RIGHT_UPPER_ARM" Offset="0xD700" />
<Limb Name="object_kz_Standardlimb_00D70C" Type="Standard" EnumName="KAIZOKU_LIMB_08" Offset="0xD70C" /> <Limb Name="gFighterPirateRightForearmLimb" Type="Standard" EnumName="KAIZOKU_LIMB_RIGHT_FOREARM" Offset="0xD70C" />
<Limb Name="object_kz_Standardlimb_00D718" Type="Standard" EnumName="KAIZOKU_LIMB_09" Offset="0xD718" /> <Limb Name="gFighterPirateRightWristLimb" Type="Standard" EnumName="KAIZOKU_LIMB_RIGHT_WRIST" Offset="0xD718" />
<Limb Name="object_kz_Standardlimb_00D724" Type="Standard" EnumName="KAIZOKU_LIMB_0A" Offset="0xD724" /> <Limb Name="gFighterPirateRightHandLimb" Type="Standard" EnumName="KAIZOKU_LIMB_RIGHT_HAND" Offset="0xD724" />
<Limb Name="object_kz_Standardlimb_00D730" Type="Standard" EnumName="KAIZOKU_LIMB_R_SWORD" Offset="0xD730" /> <Limb Name="gFighterPirateRightSwordLimb" Type="Standard" EnumName="KAIZOKU_LIMB_RIGHT_SWORD" Offset="0xD730" />
<Limb Name="object_kz_Standardlimb_00D73C" Type="Standard" EnumName="KAIZOKU_LIMB_0C" Offset="0xD73C" /> <Limb Name="gFighterPirateLeftUpperArmLimb" Type="Standard" EnumName="KAIZOKU_LIMB_LEFT_UPPER_ARM" Offset="0xD73C" />
<Limb Name="object_kz_Standardlimb_00D748" Type="Standard" EnumName="KAIZOKU_LIMB_0D" Offset="0xD748" /> <Limb Name="gFighterPirateLeftForearmLimb" Type="Standard" EnumName="KAIZOKU_LIMB_LEFT_FOREARM" Offset="0xD748" />
<Limb Name="object_kz_Standardlimb_00D754" Type="Standard" EnumName="KAIZOKU_LIMB_0E" Offset="0xD754" /> <Limb Name="gFighterPirateLeftWristLimb" Type="Standard" EnumName="KAIZOKU_LIMB_LEFT_WRIST" Offset="0xD754" />
<Limb Name="object_kz_Standardlimb_00D760" Type="Standard" EnumName="KAIZOKU_LIMB_0F" Offset="0xD760" /> <Limb Name="gFighterPirateLeftHandLimb" Type="Standard" EnumName="KAIZOKU_LIMB_LEFT_HAND" Offset="0xD760" />
<Limb Name="object_kz_Standardlimb_00D76C" Type="Standard" EnumName="KAIZOKU_LIMB_10" Offset="0xD76C" /> <Limb Name="gFighterPirateLeftSwordLimb" Type="Standard" EnumName="KAIZOKU_LIMB_LEFT_SWORD" Offset="0xD76C" />
<Limb Name="object_kz_Standardlimb_00D778" Type="Standard" EnumName="KAIZOKU_LIMB_11" Offset="0xD778" /> <Limb Name="gFighterPirateLeftThighLimb" Type="Standard" EnumName="KAIZOKU_LIMB_LEFT_THIGH" Offset="0xD778" />
<Limb Name="object_kz_Standardlimb_00D784" Type="Standard" EnumName="KAIZOKU_LIMB_12" Offset="0xD784" /> <Limb Name="gFighterPirateLeftShinLimb" Type="Standard" EnumName="KAIZOKU_LIMB_LEFT_SHIN" Offset="0xD784" />
<Limb Name="object_kz_Standardlimb_00D790" Type="Standard" EnumName="KAIZOKU_LIMB_L_FOOT" Offset="0xD790" /> <Limb Name="gFighterPirateLeftFootLimb" Type="Standard" EnumName="KAIZOKU_LIMB_LEFT_FOOT" Offset="0xD790" />
<Limb Name="object_kz_Standardlimb_00D79C" Type="Standard" EnumName="KAIZOKU_LIMB_14" Offset="0xD79C" /> <Limb Name="gFighterPirateRightThighLimb" Type="Standard" EnumName="KAIZOKU_LIMB_RIGHT_THIGH" Offset="0xD79C" />
<Limb Name="object_kz_Standardlimb_00D7A8" Type="Standard" EnumName="KAIZOKU_LIMB_15" Offset="0xD7A8" /> <Limb Name="gFighterPirateRightShinLimb" Type="Standard" EnumName="KAIZOKU_LIMB_RIGHT_SHIN" Offset="0xD7A8" />
<Limb Name="object_kz_Standardlimb_00D7B4" Type="Standard" EnumName="KAIZOKU_LIMB_R_FOOT" Offset="0xD7B4" /> <Limb Name="gFighterPirateRightFootLimb" Type="Standard" EnumName="KAIZOKU_LIMB_RIGHT_FOOT" Offset="0xD7B4" />
<Limb Name="object_kz_Standardlimb_00D7C0" Type="Standard" EnumName="KAIZOKU_LIMB_17" Offset="0xD7C0" /> <Limb Name="gFighterPirateWaistLimb" Type="Standard" EnumName="KAIZOKU_LIMB_WAIST" Offset="0xD7C0" />
<Skeleton Name="gKaizokuSkel" Type="Flex" LimbType="Standard" LimbNone="KAIZOKU_LIMB_NONE" LimbMax="KAIZOKU_LIMB_MAX" EnumName="KaizokuLimb" Offset="0xD828" />
<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" --> <Skeleton Name="gFighterPirateSkel" Type="Flex" LimbType="Standard" LimbNone="KAIZOKU_LIMB_NONE" LimbMax="KAIZOKU_LIMB_MAX" EnumName="KaizokuLimb" Offset="0xD828" />
<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="gFighterPirateSidestepAnim" Offset="0xDBE4" /> <!-- Original name is "kz_side_walk" -->
<Animation Name="object_kz_Anim_00EF9C" Offset="0xEF9C" /> <!-- Original name is "kz_talk" --> <!-- This is the old version from OOT, when they would escape at the end of the fight by jumping away -->
<Animation Name="object_kz_Anim_00F288" Offset="0xF288" /> <!-- Original name is "kz_togetout" --> <Animation Name="gFighterPirateUnusedJumpAnim" Offset="0xE1C8" /> <!-- Original name is "kz_start" -->
<Animation Name="object_kz_Anim_00F8E4" Offset="0xF8E4" /> <!-- Original name is "kz_wait" --> <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> </File>
</Root> </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_EXIT_INDEX(thisx) ((thisx)->params & 0x3F)
#define KAIZOKU_GET_SWITCH_FLAG(thisx) (((thisx)->params >> 6) & 0x7F) #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 #define KAIZOKU_SWITCH_FLAG_NONE 0x7F
typedef enum EnKaizokuAnimation { typedef enum EnKaizokuAnimation {
/* 0 */ EN_KAIZOKU_ANIM_0, /* 0 */ KAIZOKU_ANIM_FIGHTING_IDLE,
/* 1 */ EN_KAIZOKU_ANIM_1, /* 1 */ KAIZOKU_ANIM_UNUSED_CONVERSATION, // from OOT: giving player membership card
/* 2 */ EN_KAIZOKU_ANIM_2, /* 2 */ KAIZOKU_ANIM_UNUSED_JUMP, // from OOT: when the enemy would escape by jumping up
/* 3 */ EN_KAIZOKU_ANIM_3, /* 3 */ KAIZOKU_ANIM_SIDESTEP,
/* 4 */ EN_KAIZOKU_ANIM_4, /* 4 */ KAIZOKU_ANIM_WALK,
/* 5 */ EN_KAIZOKU_ANIM_5, /* 5 */ KAIZOKU_ANIM_DAMAGE,
/* 6 */ EN_KAIZOKU_ANIM_6, /* 6 */ KAIZOKU_ANIM_UNUSED_DEFEAT, // from OOT: replaced with KAIZOKU_ANIM_DEFEAT
/* 7 */ EN_KAIZOKU_ANIM_7, /* 7 */ KAIZOKU_ANIM_BLOCK,
/* 8 */ EN_KAIZOKU_ANIM_8, /* 8 */ KAIZOKU_ANIM_FLIP,
/* 9 */ EN_KAIZOKU_ANIM_9, /* 9 */ KAIZOKU_ANIM_SLASH_ATTCK,
/* 10 */ EN_KAIZOKU_ANIM_10, /* 10 */ KAIZOKU_ANIM_SPIN_ATTACK,
/* 11 */ EN_KAIZOKU_ANIM_11, /* 11 */ KAIZOKU_ANIM_LAND,
/* 12 */ EN_KAIZOKU_ANIM_12, /* 12 */ KAIZOKU_ANIM_CHALLENGE,
/* 13 */ EN_KAIZOKU_ANIM_13, /* 13 */ KAIZOKU_ANIM_UNSHEATHE,
/* 14 */ EN_KAIZOKU_ANIM_14, /* 14 */ KAIZOKU_ANIM_LOWER_WEAPONS,
/* 15 */ EN_KAIZOKU_ANIM_15, /* 15 */ KAIZOKU_ANIM_DEMONSTRATIVE_SWORD_SWING,
/* 16 */ EN_KAIZOKU_ANIM_16, /* 16 */ KAIZOKU_ANIM_DEFEAT,
/* 17 */ EN_KAIZOKU_ANIM_17, /* 17 */ KAIZOKU_ANIM_DEFEAT_IDLE,
/* 18 */ EN_KAIZOKU_ANIM_18, /* 18 */ KAIZOKU_ANIM_THROW_FLASH,
/* 19 */ EN_KAIZOKU_ANIM_MAX /* 19 */ KAIZOKU_ANIM_MAX
} EnKaizokuAnimation; } EnKaizokuAnimation;
typedef enum EnKaizokuBodyPart { typedef enum EnKaizokuBodyPart {
@ -56,6 +59,13 @@ typedef enum EnKaizokuBodyPart {
/* 15 */ KAIZOKU_BODYPART_MAX /* 15 */ KAIZOKU_BODYPART_MAX
} EnKaizokuBodyPart; } 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 { typedef struct EnKaizoku {
/* 0x000 */ PictoActor picto; /* 0x000 */ PictoActor picto;
/* 0x148 */ SkelAnime skelAnime; /* 0x148 */ SkelAnime skelAnime;
@ -63,36 +73,35 @@ typedef struct EnKaizoku {
/* 0x21C */ Vec3s morphTable[KAIZOKU_LIMB_MAX]; /* 0x21C */ Vec3s morphTable[KAIZOKU_LIMB_MAX];
/* 0x2AC */ EnKaizokuActionFunc actionFunc; /* 0x2AC */ EnKaizokuActionFunc actionFunc;
/* 0x2B0 */ s16 action; /* 0x2B0 */ s16 action;
/* 0x2B2 */ s16 unk_2B2; /* 0x2B2 */ s16 combatTimer;
/* 0x2B4 */ s16 lookTimer; /* 0x2B4 */ s16 lookTimer;
/* 0x2B6 */ s16 unk_2B6; /* 0x2B6 */ s16 iceTimer;
/* 0x2B8 */ s16 unk_2B8; /* 0x2B8 */ s16 drawDmgEffTimer;
/* 0x2BA */ s16 drawDmgEffType; /* 0x2BA */ s16 drawDmgEffType;
/* 0x2BC */ s16 switchFlag; /* 0x2BC */ s16 switchFlag;
/* 0x2BE */ s16 unk_2BE;
/* 0x2C0 */ f32 drawDmgEffScale; /* 0x2C0 */ f32 drawDmgEffScale;
/* 0x2C4 */ f32 drawDmgEffFrozenSteamScale; /* 0x2C4 */ f32 drawDmgEffFrozenSteamScale;
/* 0x2C8 */ s16 unk_2C8; /* 0x2C8 */ s16 textIdOffset; // which of the 4 text states during interaction
/* 0x2CA */ s16 unk_2CA; /* 0x2CA */ s16 textType;
/* 0x2CC */ s16 eyeIndex; /* 0x2CC */ s16 eyeIndex;
/* 0x2CE */ s16 blinkTimer; /* 0x2CE */ s16 blinkTimer;
/* 0x2D0 */ s16 unk_2D0; /* 0x2D0 */ s16 spinAttackState;
/* 0x2D2 */ s16 swordState; /* 0x2D2 */ s16 swordState;
/* 0x2D4 */ s16 exitIndex; /* 0x2D4 */ s16 exitIndex;
/* 0x2D6 */ s16 csId; /* 0x2D6 */ s16 csId;
/* 0x2D8 */ u8 unk_2D8; /* 0x2D8 */ u8 animationsDisabled;
/* 0x2D9 */ u8 unk_2D9; /* 0x2D9 */ u8 defeatBreathingStarted;
/* 0x2DC */ f32 animEndFrame; /* 0x2DC */ f32 animEndFrame;
/* 0x2E0 */ f32 unk_2E0; /* 0x2E0 */ f32 circlingRate;
/* 0x2E4 */ EnKaizokuAnimation animIndex; /* 0x2E4 */ EnKaizokuAnimation animIndex;
/* 0x2E8 */ s32 bodyPartIndex; /* 0x2E8 */ s32 bodyPartIndex;
/* 0x2EC */ s32 unk_2EC; /* 0x2EC */ s32 colorType;
/* 0x2F0 */ f32 unk_2F0; /* 0x2F0 */ f32 boyoBounceVelocity;
/* 0x2F4 */ s16 unk_2F4; /* 0x2F4 */ s16 boyoBounceAngle;
/* 0x2F8 */ Vec3f unk_2F8; /* 0x2F8 */ Vec3f swordScaleRight;
/* 0x304 */ Vec3f unk_304; /* 0x304 */ Vec3f swordScaleLeft;
/* 0x310 */ Vec3f bodyPartsPos[KAIZOKU_BODYPART_MAX]; /* 0x310 */ Vec3f bodyPartsPos[KAIZOKU_BODYPART_MAX];
/* 0x3C4 */ Vec3f unk_3C4; /* 0x3C4 */ Vec3f velocity;
/* 0x3D0 */ s32 blureIndex; /* 0x3D0 */ s32 blureIndex;
/* 0x3D4 */ ColliderCylinder bodyCollider; /* 0x3D4 */ ColliderCylinder bodyCollider;
/* 0x420 */ ColliderQuad swordCollider; /* 0x420 */ ColliderQuad swordCollider;
@ -101,20 +110,19 @@ typedef struct EnKaizoku {
/* 0x578 */ Vec3s headRot; /* 0x578 */ Vec3s headRot;
/* 0x580 */ Vec3f rightFootPos; /* 0x580 */ Vec3f rightFootPos;
/* 0x58C */ Vec3f leftFootPos; /* 0x58C */ Vec3f leftFootPos;
/* 0x598 */ s32 unk_598; /* 0x598 */ s32 cutsceneTimer;
/* 0x59C */ s16 unk_59C; /* 0x59C */ s16 cutsceneState;
/* 0x59E */ s16 subCamId; /* 0x59E */ s16 subCamId;
/* 0x5A0 */ s16 unk_5A0; /* 0x5A0 */ s16 flashTimer;
/* 0x5A2 */ s16 unk_5A2;
/* 0x5A4 */ Vec3f subCamEye; /* 0x5A4 */ Vec3f subCamEye;
/* 0x5B0 */ Vec3f subCamAt; /* 0x5B0 */ Vec3f subCamAt;
/* 0x5BC */ Vec3f subCamUp; /* 0x5BC */ Vec3f subCamUp;
/* 0x5C8 */ Vec3f unk_5C8; /* 0x5C8 */ Vec3f subCamEyeTarget;
/* 0x5D4 */ Vec3f unk_5D4; /* 0x5D4 */ Vec3f subCamAtTarget;
/* 0x5E0 */ f32 unk_5E0; /* 0x5E0 */ f32 subCamVelocity;
/* 0x5E4 */ f32 unk_5E4; /* 0x5E4 */ f32 unk_5E4; // unused
/* 0x5E8 */ f32 unk_5E8; /* 0x5E8 */ f32 flashScreenAlpha;
/* 0x5EC */ f32 unk_5EC; /* 0x5EC */ f32 flashScreenAlphaTarget;
} EnKaizoku; // size = 0x5F0 } EnKaizoku; // size = 0x5F0
#endif // Z_EN_KAIZOKU_H #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) { void ObjBoyo_PushPirate(ObjBoyo* this, Actor* actor) {
EnKaizoku* kaizoku = (EnKaizoku*)actor; EnKaizoku* kaizoku = (EnKaizoku*)actor;
kaizoku->unk_2F0 = 30.0f; kaizoku->boyoBounceVelocity = 30.0f;
kaizoku->unk_2F4 = Actor_WorldYawTowardActor(&this->actor, &kaizoku->picto.actor); kaizoku->boyoBounceAngle = Actor_WorldYawTowardActor(&this->actor, &kaizoku->picto.actor);
} }
void ObjBoyo_ExplodeBomb(ObjBoyo* this, Actor* actor) { void ObjBoyo_ExplodeBomb(ObjBoyo* this, Actor* actor) {

View File

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

View File

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