document object_zov (lulu the zora vocalist) (#1357)

* initial commit of object_zov documentation

* morphFrames and mouth name change

* sAnimations array name instead of sAnimationInfo

* forgor format

* separate categories
This commit is contained in:
MegaIDK 2023-09-11 02:27:23 -03:00 committed by GitHub
parent c8304925da
commit 81424208e6
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
5 changed files with 112 additions and 103 deletions

View File

@ -6,7 +6,7 @@
<Animation Name="gEvanInspiredAnim" Offset="0x48D4" /> <!-- Original name is "zK_furimuki" ("to turn around") -->
<Animation Name="gEvanPlayRightAnim" Offset="0x5E04" /> <!-- Original name is "zK_play01" -->
<Animation Name="gEvanPlayLeftAnim" Offset="0x7334" /> <!-- Original name is "zK_play02" -->
<Animation Name="gEeanTalkFootTapAnim" Offset="0x7C40" /> <!-- Original name is "zK_talk01" -->
<Animation Name="gEvanTalkFootTapAnim" Offset="0x7C40" /> <!-- Original name is "zK_talk01" -->
<Animation Name="gEvanTalkLookDownAnim" Offset="0x8630" /> <!-- Original name is "zK_talk02" -->
<Animation Name="gEvanTalkArmsOutAnim" Offset="0x90CC" /> <!-- Original name is "zK_talk03" -->
<Animation Name="gEvanTalkHandsOnHipsAnim" Offset="0x9830" /> <!-- Original name is "zK_talk04" -->

View File

@ -1,81 +1,90 @@
<Root>
<!-- Assets for Lulu - Zora Vocalist -->
<File Name="object_zov" Segment="6">
<Animation Name="object_zov_Anim_0017D4" Offset="0x17D4" />
<Animation Name="object_zov_Anim_0023F4" Offset="0x23F4" />
<Animation Name="object_zov_Anim_002B5C" Offset="0x2B5C" />
<Animation Name="object_zov_Anim_00418C" Offset="0x418C" />
<Animation Name="object_zov_Anim_005A6C" Offset="0x5A6C" />
<Animation Name="object_zov_Anim_0066A4" Offset="0x66A4" />
<Animation Name="object_zov_Anim_008120" Offset="0x8120" />
<Animation Name="object_zov_Anim_00A888" Offset="0xA888" />
<Animation Name="object_zov_Anim_00B4CC" Offset="0xB4CC" />
<Animation Name="object_zov_Anim_00C510" Offset="0xC510" />
<Animation Name="object_zov_Anim_00CAA8" Offset="0xCAA8" />
<Animation Name="object_zov_Anim_00D3EC" Offset="0xD3EC" />
<DList Name="object_zov_DL_0107B0" Offset="0x107B0" />
<DList Name="object_zov_DL_010BC0" Offset="0x10BC0" />
<DList Name="object_zov_DL_010E60" Offset="0x10E60" />
<DList Name="object_zov_DL_010FF0" Offset="0x10FF0" />
<DList Name="object_zov_DL_011230" Offset="0x11230" />
<DList Name="object_zov_DL_011300" Offset="0x11300" />
<DList Name="object_zov_DL_0113F0" Offset="0x113F0" />
<DList Name="object_zov_DL_011690" Offset="0x11690" />
<DList Name="object_zov_DL_011820" Offset="0x11820" />
<DList Name="object_zov_DL_011A60" Offset="0x11A60" />
<DList Name="object_zov_DL_011B30" Offset="0x11B30" />
<DList Name="object_zov_DL_011C20" Offset="0x11C20" />
<DList Name="object_zov_DL_0122E0" Offset="0x122E0" />
<DList Name="object_zov_DL_0123C0" Offset="0x123C0" />
<DList Name="object_zov_DL_012560" Offset="0x12560" />
<DList Name="object_zov_DL_0127D0" Offset="0x127D0" />
<DList Name="object_zov_DL_012890" Offset="0x12890" />
<DList Name="object_zov_DL_012B20" Offset="0x12B20" />
<DList Name="object_zov_DL_012CB8" Offset="0x12CB8" />
<DList Name="object_zov_DL_012F28" Offset="0x12F28" />
<DList Name="object_zov_DL_012FE8" Offset="0x12FE8" />
<Texture Name="object_zov_TLUT_013278" OutName="tlut_013278" Format="rgba16" Width="16" Height="16" Offset="0x13278" />
<Texture Name="object_zov_Tex_013478" OutName="tex_013478" Format="rgba16" Width="8" Height="16" Offset="0x13478" />
<Texture Name="object_zov_Tex_013578" OutName="tex_013578" Format="ci8" Width="8" Height="8" Offset="0x13578" />
<Texture Name="object_zov_Tex_0135B8" OutName="tex_0135B8" Format="ci8" Width="8" Height="8" Offset="0x135B8" />
<Texture Name="object_zov_Tex_0135F8" OutName="tex_0135F8" Format="ci8" Width="32" Height="32" Offset="0x135F8" />
<Texture Name="object_zov_Tex_0139F8" OutName="tex_0139F8" Format="ci8" Width="16" Height="16" Offset="0x139F8" />
<Texture Name="object_zov_Tex_013AF8" OutName="tex_013AF8" Format="ci8" Width="8" Height="8" Offset="0x13AF8" />
<Texture Name="object_zov_Tex_013B38" OutName="tex_013B38" Format="ci8" Width="16" Height="16" Offset="0x13B38" />
<Texture Name="object_zov_Tex_013C38" OutName="tex_013C38" Format="ci8" Width="32" Height="32" Offset="0x13C38" />
<Texture Name="object_zov_Tex_014038" OutName="tex_014038" Format="ci8" Width="16" Height="16" Offset="0x14038" />
<Texture Name="object_zov_Tex_014138" OutName="tex_014138" Format="ci8" Width="32" Height="32" Offset="0x14138" />
<Texture Name="object_zov_Tex_014538" OutName="tex_014538" Format="ci8" Width="32" Height="32" Offset="0x14538" />
<Texture Name="object_zov_Tex_014938" OutName="tex_014938" Format="ci8" Width="32" Height="32" Offset="0x14938" />
<!-- <Blob Name="object_zov_Blob_014D38" Size="0x400" Offset="0x14D38" /> -->
<Texture Name="object_zov_Tex_015138" OutName="tex_015138" Format="ci8" Width="32" Height="32" Offset="0x15138" />
<Texture Name="object_zov_Tex_015538" OutName="tex_015538" Format="ci8" Width="8" Height="8" Offset="0x15538" />
<Texture Name="object_zov_Tex_015578" OutName="tex_015578" Format="ci8" Width="16" Height="16" Offset="0x15578" />
<Texture Name="object_zov_Tex_015678" OutName="tex_015678" Format="ci8" Width="16" Height="16" Offset="0x15678" />
<Texture Name="object_zov_Tex_015778" OutName="tex_015778" Format="rgba16" Width="32" Height="32" Offset="0x15778" />
<Texture Name="object_zov_Tex_015F78" OutName="tex_015F78" Format="ci8" Width="16" Height="16" Offset="0x15F78" />
<Texture Name="object_zov_Tex_016078" OutName="tex_016078" Format="ci8" Width="8" Height="16" Offset="0x16078" />
<Limb Name="object_zov_Standardlimb_0160F8" Type="Standard" EnumName="OBJECT_ZOV_LIMB_01" Offset="0x160F8" />
<Limb Name="object_zov_Standardlimb_016104" Type="Standard" EnumName="OBJECT_ZOV_LIMB_02" Offset="0x16104" />
<Limb Name="object_zov_Standardlimb_016110" Type="Standard" EnumName="OBJECT_ZOV_LIMB_03" Offset="0x16110" />
<Limb Name="object_zov_Standardlimb_01611C" Type="Standard" EnumName="OBJECT_ZOV_LIMB_04" Offset="0x1611C" />
<Limb Name="object_zov_Standardlimb_016128" Type="Standard" EnumName="OBJECT_ZOV_LIMB_05" Offset="0x16128" />
<Limb Name="object_zov_Standardlimb_016134" Type="Standard" EnumName="OBJECT_ZOV_LIMB_06" Offset="0x16134" />
<Limb Name="object_zov_Standardlimb_016140" Type="Standard" EnumName="OBJECT_ZOV_LIMB_07" Offset="0x16140" />
<Limb Name="object_zov_Standardlimb_01614C" Type="Standard" EnumName="OBJECT_ZOV_LIMB_08" Offset="0x1614C" />
<Limb Name="object_zov_Standardlimb_016158" Type="Standard" EnumName="OBJECT_ZOV_LIMB_09" Offset="0x16158" />
<Limb Name="object_zov_Standardlimb_016164" Type="Standard" EnumName="OBJECT_ZOV_LIMB_0A" Offset="0x16164" />
<Limb Name="object_zov_Standardlimb_016170" Type="Standard" EnumName="OBJECT_ZOV_LIMB_0B" Offset="0x16170" />
<Limb Name="object_zov_Standardlimb_01617C" Type="Standard" EnumName="OBJECT_ZOV_LIMB_0C" Offset="0x1617C" />
<Limb Name="object_zov_Standardlimb_016188" Type="Standard" EnumName="OBJECT_ZOV_LIMB_0D" Offset="0x16188" />
<Limb Name="object_zov_Standardlimb_016194" Type="Standard" EnumName="OBJECT_ZOV_LIMB_0E" Offset="0x16194" />
<Limb Name="object_zov_Standardlimb_0161A0" Type="Standard" EnumName="OBJECT_ZOV_LIMB_0F" Offset="0x161A0" />
<Limb Name="object_zov_Standardlimb_0161AC" Type="Standard" EnumName="OBJECT_ZOV_LIMB_10" Offset="0x161AC" />
<Limb Name="object_zov_Standardlimb_0161B8" Type="Standard" EnumName="OBJECT_ZOV_LIMB_11" Offset="0x161B8" />
<Limb Name="object_zov_Standardlimb_0161C4" Type="Standard" EnumName="OBJECT_ZOV_LIMB_12" Offset="0x161C4" />
<Limb Name="object_zov_Standardlimb_0161D0" Type="Standard" EnumName="OBJECT_ZOV_LIMB_13" Offset="0x161D0" />
<Limb Name="object_zov_Standardlimb_0161DC" Type="Standard" EnumName="OBJECT_ZOV_LIMB_14" Offset="0x161DC" />
<Limb Name="object_zov_Standardlimb_0161E8" Type="Standard" EnumName="OBJECT_ZOV_LIMB_15" Offset="0x161E8" />
<Limb Name="object_zov_Standardlimb_0161F4" Type="Standard" EnumName="OBJECT_ZOV_LIMB_16" Offset="0x161F4" />
<Skeleton Name="object_zov_Skel_016258" Type="Flex" LimbType="Standard" LimbNone="OBJECT_ZOV_LIMB_NONE" LimbMax="OBJECT_ZOV_LIMB_MAX" EnumName="ObjectZovLimb" Offset="0x16258" />
<!-- Lulu Animations -->
<Animation Name="gLuluTurnAndWalkAnim" Offset="0x17D4" />
<Animation Name="gLuluWalkLoopAnim" Offset="0x23F4" />
<Animation Name="gLuluSingStartAnim" Offset="0x2B5C" />
<Animation Name="gLuluSingLoopAnim" Offset="0x418C" />
<Animation Name="gLuluLookForwardAndLeftAnim" Offset="0x5A6C" />
<Animation Name="gLuluLookLeftLoopAnim" Offset="0x66A4" />
<Animation Name="gLuluPutHandsDownAnim" Offset="0x8120" />
<Animation Name="gLuluLookAroundAnim" Offset="0xA888" />
<Animation Name="gLuluLookForwardAndDownAnim" Offset="0xB4CC" />
<Animation Name="gLuluAngleHeadAnim" Offset="0xC510" />
<Animation Name="gLuluNodAnim" Offset="0xCAA8" />
<Animation Name="gLuluLookDownAnim" Offset="0xD3EC" />
<!-- Lulu Limb DLists -->
<DList Name="gLuluTorsoDL" Offset="0x107B0" />
<DList Name="gLuluRightUpperArmDL" Offset="0x10BC0" />
<DList Name="gLuluRightForearmDL" Offset="0x10E60" />
<DList Name="gLuluRightHandDL" Offset="0x10FF0" />
<DList Name="gLuluRightArmUpperFinDL" Offset="0x11230" />
<DList Name="gLuluRightArmLowerFinDL" Offset="0x11300" />
<DList Name="gLuluLeftUpperArmDL" Offset="0x113F0" />
<DList Name="gLuluLeftForearmDL" Offset="0x11690" />
<DList Name="gLuluLeftHandDL" Offset="0x11820" />
<DList Name="gLuluLeftArmUpperFinDL" Offset="0x11A60" />
<DList Name="gLuluLeftArmLowerFinDL" Offset="0x11B30" />
<DList Name="gLuluHeadDL" Offset="0x11C20" />
<DList Name="gLuluPelvisDL" Offset="0x122E0" />
<DList Name="gLuluRightThighDL" Offset="0x123C0" />
<DList Name="gLuluRightShinDL" Offset="0x12560" />
<DList Name="gLuluRightLegFinDL" Offset="0x127D0" />
<DList Name="gLuluRightFootDL" Offset="0x12890" />
<DList Name="gLuluLeftThighDL" Offset="0x12B20" />
<DList Name="gLuluLeftShinDL" Offset="0x12CB8" />
<DList Name="gLuluLeftLegFinDL" Offset="0x12F28" />
<DList Name="gLuluLeftFootDL" Offset="0x12FE8" />
<!-- Lulu Textures -->
<Texture Name="gLuluTLUT" OutName="lulu_tlut" Format="rgba16" Width="16" Height="16" Offset="0x13278" />
<Texture Name="gLuluEarringTex" OutName="lulu_earring" Format="rgba16" Width="8" Height="16" Offset="0x13478" />
<Texture Name="gLuluSkinTex" OutName="lulu_skin" Format="ci8" Width="8" Height="8" Offset="0x13578" />
<Texture Name="gLuluNostrilTex" OutName="lulu_nostril" Format="ci8" Width="8" Height="8" Offset="0x135B8" />
<Texture Name="gLuluMouthClosedTex" OutName="lulu_mouth_closed" Format="ci8" Width="32" Height="32" Offset="0x135F8" />
<Texture Name="gLuluHeadSkinTex" OutName="lulu_head_skin" Format="ci8" Width="16" Height="16" Offset="0x139F8" />
<Texture Name="gLuluEarCavityTex" OutName="lulu_ear_cavity" Format="ci8" Width="8" Height="8" Offset="0x13AF8" />
<Texture Name="gLuluHeadHoleTex" OutName="lulu_head_hole" Format="ci8" Width="16" Height="16" Offset="0x13B38" />
<Texture Name="gLuluEyeOpenTex" OutName="lulu_eye_open" Format="ci8" Width="32" Height="32" Offset="0x13C38" />
<Texture Name="gLuluEarTex" OutName="lulu_ear" Format="ci8" Width="16" Height="16" Offset="0x14038" />
<Texture Name="gLuluEyeClosedTex" OutName="lulu_eye_closed" Format="ci8" Width="32" Height="32" Offset="0x14138" />
<Texture Name="gLuluMouthOpenTex" OutName="lulu_mouth_open" Format="ci8" Width="32" Height="32" Offset="0x14538" />
<Texture Name="gLuluSpottedSkinTex" OutName="lulu_spotted_skin" Format="ci8" Width="32" Height="32" Offset="0x14938" />
<Texture Name="gLuluMouthOpenFullTex" OutName="lulu_mouth_open_full" Format="ci8" Width="32" Height="32" Offset="0x14D38" />
<Texture Name="gLuluEyeHalfTex" OutName="lulu_eye_half" Format="ci8" Width="32" Height="32" Offset="0x15138" />
<Texture Name="gLuluSkinShadowTex" OutName="lulu_skin_shadow" Format="ci8" Width="8" Height="8" Offset="0x15538" />
<Texture Name="gLuluKneeAndElbowTex" OutName="lulu_knee_and_elbow" Format="ci8" Width="16" Height="16" Offset="0x15578" />
<Texture Name="gLuluFingersTex" OutName="lulu_fingers" Format="ci8" Width="16" Height="16" Offset="0x15678" />
<Texture Name="gLuluDressPatternTex" OutName="lulu_dress_pattern" Format="rgba16" Width="32" Height="32" Offset="0x15778" />
<Texture Name="gLuluDressStringTex" OutName="lulu_dress_string" Format="ci8" Width="16" Height="16" Offset="0x15F78" />
<Texture Name="gLuluDressLoopTex" OutName="lulu_dress_loop" Format="ci8" Width="8" Height="16" Offset="0x16078" />
<!-- Lulu Limbs and Skeleton -->
<Limb Name="gLuluRootLimb" Type="Standard" EnumName="LULU_LIMB_ROOT" Offset="0x160F8" />
<Limb Name="gLuluPelvisLimb" Type="Standard" EnumName="LULU_LIMB_PELVIS" Offset="0x16104" />
<Limb Name="gLuluLeftThighLimb" Type="Standard" EnumName="LULU_LIMB_LEFT_THIGH" Offset="0x16110" />
<Limb Name="gLuluLeftShinLimb" Type="Standard" EnumName="LULU_LIMB_LEFT_SHIN" Offset="0x1611C" />
<Limb Name="gLuluLeftFootLimb" Type="Standard" EnumName="LULU_LIMB_LEFT_FOOT" Offset="0x16128" />
<Limb Name="gLuluLeftLegFinLimb" Type="Standard" EnumName="LULU_LIMB_LEFT_LEG_FIN" Offset="0x16134" />
<Limb Name="gLuluRightThighLimb" Type="Standard" EnumName="LULU_LIMB_RIGHT_THIGH" Offset="0x16140" />
<Limb Name="gLuluRightShinLimb" Type="Standard" EnumName="LULU_LIMB_RIGHT_SHIN" Offset="0x1614C" />
<Limb Name="gLuluRightFootLimb" Type="Standard" EnumName="LULU_LIMB_RIGHT_FOOT" Offset="0x16158" />
<Limb Name="gLuluRightLegFinLimb" Type="Standard" EnumName="LULU_LIMB_RIGHT_LEG_FIN" Offset="0x16164" />
<Limb Name="gLuluTorsoLimb" Type="Standard" EnumName="LULU_LIMB_TORSO" Offset="0x16170" />
<Limb Name="gLuluHeadLimb" Type="Standard" EnumName="LULU_LIMB_HEAD" Offset="0x1617C" />
<Limb Name="gLuluLeftUpperArmLimb" Type="Standard" EnumName="LULU_LIMB_LEFT_UPPER_ARM" Offset="0x16188" />
<Limb Name="gLuluLeftArmUpperFinLimb" Type="Standard" EnumName="LULU_LIMB_LEFT_ARM_UPPER_FIN" Offset="0x16194" />
<Limb Name="gLuluLeftArmLowerFinLimb" Type="Standard" EnumName="LULU_LIMB_LEFT_ARM_LOWER_FIN" Offset="0x161A0" />
<Limb Name="gLuluLeftForearmLimb" Type="Standard" EnumName="LULU_LIMB_LEFT_FOREARM" Offset="0x161AC" />
<Limb Name="gLuluLeftHandLimb" Type="Standard" EnumName="LULU_LIMB_LEFT_HAND" Offset="0x161B8" />
<Limb Name="gLuluRightUpperArmLimb" Type="Standard" EnumName="LULU_LIMB_RIGHT_UPPER_ARM" Offset="0x161C4" />
<Limb Name="gLuluRightArmUpperFinLimb" Type="Standard" EnumName="LULU_LIMB_RIGHT_ARM_UPPER_FIN" Offset="0x161D0" />
<Limb Name="gLuluRightArmLowerFinLimb" Type="Standard" EnumName="LULU_LIMB_RIGHT_ARM_LOWER_FIN" Offset="0x161DC" />
<Limb Name="gLuluRightForearmLimb" Type="Standard" EnumName="LULU_LIMB_RIGHT_FOREARM" Offset="0x161E8" />
<Limb Name="gLuluRightHandLimb" Type="Standard" EnumName="LULU_LIMB_RIGHT_HAND" Offset="0x161F4" />
<Skeleton Name="gLuluSkel" Type="Flex" LimbType="Standard" LimbNone="LULU_LIMB_NONE" LimbMax="LULU_LIMB_MAX" EnumName="LuluLimb" Offset="0x16258" />
</File>
</Root>

View File

@ -138,7 +138,7 @@ static AnimationHeader* sAnimations[] = {
&gEvanLeanOnKeyboardAnim, // EN_ZOS_ANIM_LEAN_ON_KEYBOARD
&gEvanLeanOnKeyboardAndSighAnim, // EN_ZOS_ANIM_LEAN_ON_KEYBOARD_AND_SIGH
&gEvanHandsOnHipsAnim, // EN_ZOS_ANIM_HANDS_ON_HIPS
&gEeanTalkFootTapAnim, // EN_ZOS_ANIM_TALK_FOOT_TAP
&gEvanTalkFootTapAnim, // EN_ZOS_ANIM_TALK_FOOT_TAP
&gEvanTalkLookDownAnim, // EN_ZOS_ANIM_TALK_LOOK_DOWN
&gEvanTalkArmsOutAnim, // EN_ZOS_ANIM_TALK_ARMS_OUT
&gEvanTalkHandsOnHipsAnim, // EN_ZOS_ANIM_TALK_HANDS_ON_HIPS

View File

@ -5,7 +5,6 @@
*/
#include "z_en_zov.h"
#include "objects/object_zov/object_zov.h"
#include "overlays/actors/ovl_En_Elf/z_en_elf.h"
#define FLAGS (ACTOR_FLAG_TARGETABLE | ACTOR_FLAG_FRIENDLY)
@ -60,20 +59,20 @@ static ColliderCylinderInit sCylinderInit = {
{ 20, 40, 0, { 0, 0, 0 } },
};
static AnimationHeader* D_80BD270C[] = {
&object_zov_Anim_00D3EC, &object_zov_Anim_008120, &object_zov_Anim_00B4CC, &object_zov_Anim_00A888,
&object_zov_Anim_00C510, &object_zov_Anim_00CAA8, &object_zov_Anim_008120, &object_zov_Anim_00A888,
&object_zov_Anim_002B5C, &object_zov_Anim_00418C, &object_zov_Anim_005A6C, &object_zov_Anim_0066A4,
&object_zov_Anim_0017D4, &object_zov_Anim_0023F4,
static AnimationHeader* sAnimations[] = {
&gLuluLookDownAnim, &gLuluPutHandsDownAnim, &gLuluLookForwardAndDownAnim, &gLuluLookAroundAnim,
&gLuluAngleHeadAnim, &gLuluNodAnim, &gLuluPutHandsDownAnim, &gLuluLookAroundAnim,
&gLuluSingStartAnim, &gLuluSingLoopAnim, &gLuluLookForwardAndLeftAnim, &gLuluLookLeftLoopAnim,
&gLuluTurnAndWalkAnim, &gLuluWalkLoopAnim,
};
static Vec3f D_80BD2744 = { 400.0f, 600.0f, 0.0f };
static Vec3f D_80BD2750 = { 400.0f, 600.0f, 0.0f };
static TexturePtr D_80BD275C[] = { object_zov_Tex_013C38, object_zov_Tex_015138, object_zov_Tex_014138 };
static TexturePtr sEyeTextures[] = { gLuluEyeOpenTex, gLuluEyeHalfTex, gLuluEyeClosedTex };
static TexturePtr D_80BD2768[] = { object_zov_Tex_0135F8, object_zov_Tex_014538 };
static TexturePtr sMouthTextures[] = { gLuluMouthClosedTex, gLuluMouthOpenTex };
static s8 D_80BD2770[] = {
1, 2, 1, 0, 0, 1, 2, 1,
@ -86,9 +85,9 @@ void EnZov_Init(Actor* thisx, PlayState* play) {
this->picto.actor.colChkInfo.mass = MASS_IMMOVABLE;
Actor_SetScale(&this->picto.actor, 0.01f);
Collider_InitAndSetCylinder(play, &this->collider, &this->picto.actor, &sCylinderInit);
SkelAnime_InitFlex(play, &this->skelAnime, &object_zov_Skel_016258, &object_zov_Anim_00D3EC, this->jontTable,
this->morphTable, 23);
Animation_PlayLoop(&this->skelAnime, &object_zov_Anim_00D3EC);
SkelAnime_InitFlex(play, &this->skelAnime, &gLuluSkel, &gLuluLookDownAnim, this->jointTable, this->morphTable,
LULU_LIMB_MAX);
Animation_PlayLoop(&this->skelAnime, &gLuluLookDownAnim);
this->unk_320 = 0;
this->csIdIndex = -1;
@ -147,10 +146,10 @@ void func_80BD1440(EnZov* this, s16 arg1) {
this->csIdIndex = arg1;
}
void func_80BD1470(EnZov* this, s16 index, u8 mode, f32 transitionRate) {
void func_80BD1470(EnZov* this, s16 index, u8 mode, f32 morphFrames) {
f32 frame;
if (((index != this->unk_322) || (mode != ANIMMODE_LOOP)) && (index >= 0) && (index < ARRAY_COUNT(D_80BD270C))) {
if (((index != this->unk_322) || (mode != ANIMMODE_LOOP)) && (index >= 0) && (index < ARRAY_COUNT(sAnimations))) {
switch (index) {
case 6:
frame = 30.0f;
@ -164,8 +163,8 @@ void func_80BD1470(EnZov* this, s16 index, u8 mode, f32 transitionRate) {
frame = 0.0f;
break;
}
Animation_Change(&this->skelAnime, D_80BD270C[index], 1.0f, frame, Animation_GetLastFrame(D_80BD270C[index]),
mode, transitionRate);
Animation_Change(&this->skelAnime, sAnimations[index], 1.0f, frame, Animation_GetLastFrame(sAnimations[index]),
mode, morphFrames);
this->unk_322 = index;
}
}
@ -521,14 +520,14 @@ void EnZov_Update(Actor* thisx, PlayState* play) {
s32 EnZov_OverrideLimbDraw(PlayState* play, s32 limbIndex, Gfx** dList, Vec3f* pos, Vec3s* rot, Actor* thisx) {
EnZov* this = THIS;
if (limbIndex == 12) {
if (limbIndex == LULU_LIMB_HEAD) {
rot->x += this->unk_2F0.y;
if ((this->unk_320 & 0x10) && (this->unk_322 == 0)) {
rot->z += this->unk_2F0.x;
}
}
if (limbIndex == 11) {
if (limbIndex == LULU_LIMB_TORSO) {
rot->x += this->unk_2F6.y;
}
return false;
@ -537,17 +536,17 @@ s32 EnZov_OverrideLimbDraw(PlayState* play, s32 limbIndex, Gfx** dList, Vec3f* p
void EnZov_PostLimbDraw(PlayState* play, s32 limbIndex, Gfx** dList, Vec3s* rot, Actor* thisx) {
EnZov* this = THIS;
if (limbIndex == 12) {
if (limbIndex == LULU_LIMB_HEAD) {
Matrix_MultVec3f(&D_80BD2744, &this->picto.actor.focus.pos);
Math_Vec3f_Copy(&this->unk_2FC, &this->picto.actor.focus.pos);
this->unk_2FC.y += 10.0f;
}
if (limbIndex == 18) {
if (limbIndex == LULU_LIMB_RIGHT_UPPER_ARM) {
Matrix_MultVec3f(&D_80BD2750, &this->unk_308);
}
if (limbIndex == 13) {
if (limbIndex == LULU_LIMB_LEFT_UPPER_ARM) {
Matrix_MultVec3f(&D_80BD2750, &this->unk_314);
}
}
@ -625,8 +624,8 @@ void EnZov_Draw(Actor* thisx, PlayState* play) {
}
gfx = POLY_OPA_DISP;
gSPSegment(&gfx[0], 0x09, Lib_SegmentedToVirtual(D_80BD275C[phi_v1]));
gSPSegment(&gfx[1], 0x08, Lib_SegmentedToVirtual(D_80BD2768[phi_a1]));
gSPSegment(&gfx[0], 0x09, Lib_SegmentedToVirtual(sEyeTextures[phi_v1]));
gSPSegment(&gfx[1], 0x08, Lib_SegmentedToVirtual(sMouthTextures[phi_a1]));
POLY_OPA_DISP = &gfx[2];
CLOSE_DISPS(play->state.gfxCtx);

View File

@ -3,6 +3,7 @@
#include "global.h"
#include "z64snap.h"
#include "objects/object_zov/object_zov.h"
struct EnZov;
@ -16,8 +17,8 @@ typedef void (*EnZovActionFunc)(struct EnZov*, PlayState*);
typedef struct EnZov {
/* 0x000 */ PictoActor picto;
/* 0x148 */ Vec3s jontTable[23];
/* 0x1D2 */ Vec3s morphTable[23];
/* 0x148 */ Vec3s jointTable[LULU_LIMB_MAX];
/* 0x1D2 */ Vec3s morphTable[LULU_LIMB_MAX];
/* 0x25C */ SkelAnime skelAnime;
/* 0x2A0 */ ColliderCylinder collider;
/* 0x2EC */ s16 unk_2EC;