mirror of https://github.com/zeldaret/mm.git
Document object_az (Beaver Bros.) (#1083)
* Document object_az (Beaver Bros.) * Respond to Elliptic's review
This commit is contained in:
parent
c222747977
commit
fc94be22ac
|
|
@ -1,145 +1,169 @@
|
|||
<Root>
|
||||
<!-- Assets for the Beaver Bros. -->
|
||||
<File Name="object_az" Segment="6">
|
||||
<DList Name="object_az_DL_001B80" Offset="0x1B80" />
|
||||
<DList Name="object_az_DL_002098" Offset="0x2098" />
|
||||
<DList Name="object_az_DL_002120" Offset="0x2120" />
|
||||
<DList Name="object_az_DL_0021A8" Offset="0x21A8" />
|
||||
<DList Name="object_az_DL_002230" Offset="0x2230" />
|
||||
<DList Name="object_az_DL_0022C8" Offset="0x22C8" />
|
||||
<DList Name="object_az_DL_002418" Offset="0x2418" />
|
||||
<DList Name="object_az_DL_002568" Offset="0x2568" />
|
||||
<DList Name="object_az_DL_0026D8" Offset="0x26D8" />
|
||||
<DList Name="object_az_DL_0027D0" Offset="0x27D0" />
|
||||
<DList Name="object_az_DL_0028D8" Offset="0x28D8" />
|
||||
<DList Name="object_az_DL_002A08" Offset="0x2A08" />
|
||||
<DList Name="object_az_DL_002B48" Offset="0x2B48" />
|
||||
<DList Name="object_az_DL_002C88" Offset="0x2C88" />
|
||||
<Texture Name="object_az_Tex_002DC8" OutName="tex_002DC8" Format="rgba16" Width="32" Height="32" Offset="0x2DC8" />
|
||||
<Texture Name="object_az_Tex_0035C8" OutName="tex_0035C8" Format="rgba16" Width="32" Height="32" Offset="0x35C8" />
|
||||
<Texture Name="object_az_Tex_003DC8" OutName="tex_003DC8" Format="rgba16" Width="16" Height="32" Offset="0x3DC8" />
|
||||
<Texture Name="object_az_Tex_0041C8" OutName="tex_0041C8" Format="rgba16" Width="16" Height="16" Offset="0x41C8" />
|
||||
<Texture Name="object_az_Tex_0043C8" OutName="tex_0043C8" Format="rgba16" Width="16" Height="16" Offset="0x43C8" />
|
||||
<Texture Name="object_az_Tex_0045C8" OutName="tex_0045C8" Format="rgba16" Width="16" Height="16" Offset="0x45C8" />
|
||||
<Texture Name="object_az_Tex_0047C8" OutName="tex_0047C8" Format="rgba16" Width="8" Height="16" Offset="0x47C8" />
|
||||
<Texture Name="object_az_Tex_0048C8" OutName="tex_0048C8" Format="rgba16" Width="32" Height="32" Offset="0x48C8" />
|
||||
<Texture Name="object_az_Tex_0050C8" OutName="tex_0050C8" Format="rgba16" Width="32" Height="32" Offset="0x50C8" />
|
||||
<Texture Name="object_az_Tex_0058C8" OutName="tex_0058C8" Format="rgba16" Width="32" Height="32" Offset="0x58C8" />
|
||||
<Texture Name="object_az_Tex_0060C8" OutName="tex_0060C8" Format="rgba16" Width="32" Height="32" Offset="0x60C8" />
|
||||
<Texture Name="object_az_Tex_0068C8" OutName="tex_0068C8" Format="rgba16" Width="32" Height="32" Offset="0x68C8" />
|
||||
<Texture Name="object_az_Tex_0070C8" OutName="tex_0070C8" Format="rgba16" Width="16" Height="16" Offset="0x70C8" />
|
||||
<Limb Name="object_az_Standardlimb_0072C8" Type="Standard" EnumName="OBJECT_AZ_1_LIMB_01" Offset="0x72C8" />
|
||||
<Limb Name="object_az_Standardlimb_0072D4" Type="Standard" EnumName="OBJECT_AZ_1_LIMB_02" Offset="0x72D4" />
|
||||
<Limb Name="object_az_Standardlimb_0072E0" Type="Standard" EnumName="OBJECT_AZ_1_LIMB_03" Offset="0x72E0" />
|
||||
<Limb Name="object_az_Standardlimb_0072EC" Type="Standard" EnumName="OBJECT_AZ_1_LIMB_04" Offset="0x72EC" />
|
||||
<Limb Name="object_az_Standardlimb_0072F8" Type="Standard" EnumName="OBJECT_AZ_1_LIMB_05" Offset="0x72F8" />
|
||||
<Limb Name="object_az_Standardlimb_007304" Type="Standard" EnumName="OBJECT_AZ_1_LIMB_06" Offset="0x7304" />
|
||||
<Limb Name="object_az_Standardlimb_007310" Type="Standard" EnumName="OBJECT_AZ_1_LIMB_07" Offset="0x7310" />
|
||||
<Limb Name="object_az_Standardlimb_00731C" Type="Standard" EnumName="OBJECT_AZ_1_LIMB_08" Offset="0x731C" />
|
||||
<Limb Name="object_az_Standardlimb_007328" Type="Standard" EnumName="OBJECT_AZ_1_LIMB_09" Offset="0x7328" />
|
||||
<Limb Name="object_az_Standardlimb_007334" Type="Standard" EnumName="OBJECT_AZ_1_LIMB_0A" Offset="0x7334" />
|
||||
<Limb Name="object_az_Standardlimb_007340" Type="Standard" EnumName="OBJECT_AZ_1_LIMB_0B" Offset="0x7340" />
|
||||
<Limb Name="object_az_Standardlimb_00734C" Type="Standard" EnumName="OBJECT_AZ_1_LIMB_0C" Offset="0x734C" />
|
||||
<Limb Name="object_az_Standardlimb_007358" Type="Standard" EnumName="OBJECT_AZ_1_LIMB_0D" Offset="0x7358" />
|
||||
<Limb Name="object_az_Standardlimb_007364" Type="Standard" EnumName="OBJECT_AZ_1_LIMB_0E" Offset="0x7364" />
|
||||
<Limb Name="object_az_Standardlimb_007370" Type="Standard" EnumName="OBJECT_AZ_1_LIMB_0F" Offset="0x7370" />
|
||||
<Limb Name="object_az_Standardlimb_00737C" Type="Standard" EnumName="OBJECT_AZ_1_LIMB_10" Offset="0x737C" />
|
||||
<Limb Name="object_az_Standardlimb_007388" Type="Standard" EnumName="OBJECT_AZ_1_LIMB_11" Offset="0x7388" />
|
||||
<Limb Name="object_az_Standardlimb_007394" Type="Standard" EnumName="OBJECT_AZ_1_LIMB_12" Offset="0x7394" />
|
||||
<Limb Name="object_az_Standardlimb_0073A0" Type="Standard" EnumName="OBJECT_AZ_1_LIMB_13" Offset="0x73A0" />
|
||||
<Limb Name="object_az_Standardlimb_0073AC" Type="Standard" EnumName="OBJECT_AZ_1_LIMB_14" Offset="0x73AC" />
|
||||
<Limb Name="object_az_Standardlimb_0073B8" Type="Standard" EnumName="OBJECT_AZ_1_LIMB_15" Offset="0x73B8" />
|
||||
<Limb Name="object_az_Standardlimb_0073C4" Type="Standard" EnumName="OBJECT_AZ_1_LIMB_16" Offset="0x73C4" />
|
||||
<Limb Name="object_az_Standardlimb_0073D0" Type="Standard" EnumName="OBJECT_AZ_1_LIMB_17" Offset="0x73D0" />
|
||||
<Skeleton Name="object_az_Skel_007438" Type="Flex" LimbType="Standard" LimbNone="OBJECT_AZ_1_LIMB_NONE" LimbMax="OBJECT_AZ_1_LIMB_MAX" EnumName="ObjectAz1Limb" Offset="0x7438" />
|
||||
<Animation Name="object_az_Anim_00750C" Offset="0x750C" />
|
||||
<Animation Name="object_az_Anim_007D3C" Offset="0x7D3C" />
|
||||
<Animation Name="object_az_Anim_0086AC" Offset="0x86AC" />
|
||||
<Animation Name="object_az_Anim_008960" Offset="0x8960" />
|
||||
<Animation Name="object_az_Anim_008BB4" Offset="0x8BB4" />
|
||||
<Animation Name="object_az_Anim_008EAC" Offset="0x8EAC" />
|
||||
<Animation Name="object_az_Anim_00925C" Offset="0x925C" />
|
||||
<Animation Name="object_az_Anim_009B4C" Offset="0x9B4C" />
|
||||
<Animation Name="object_az_Anim_00A25C" Offset="0xA25C" />
|
||||
<Animation Name="object_az_Anim_00AAEC" Offset="0xAAEC" />
|
||||
<Animation Name="object_az_Anim_00B94C" Offset="0xB94C" />
|
||||
<Animation Name="object_az_Anim_00BCFC" Offset="0xBCFC" />
|
||||
<Animation Name="object_az_Anim_00C0A0" Offset="0xC0A0" />
|
||||
<Animation Name="object_az_Anim_00C47C" Offset="0xC47C" />
|
||||
<Animation Name="object_az_Anim_00C94C" Offset="0xC94C" />
|
||||
<DList Name="object_az_DL_00E670" Offset="0xE670" />
|
||||
<DList Name="object_az_DL_00EB58" Offset="0xEB58" />
|
||||
<DList Name="object_az_DL_00EBE0" Offset="0xEBE0" />
|
||||
<DList Name="object_az_DL_00EC68" Offset="0xEC68" />
|
||||
<DList Name="object_az_DL_00ECF0" Offset="0xECF0" />
|
||||
<DList Name="object_az_DL_00ED88" Offset="0xED88" />
|
||||
<DList Name="object_az_DL_00EEE0" Offset="0xEEE0" />
|
||||
<DList Name="object_az_DL_00F030" Offset="0xF030" />
|
||||
<DList Name="object_az_DL_00F190" Offset="0xF190" />
|
||||
<DList Name="object_az_DL_00F2B0" Offset="0xF2B0" />
|
||||
<DList Name="object_az_DL_00F3B8" Offset="0xF3B8" />
|
||||
<DList Name="object_az_DL_00F4E8" Offset="0xF4E8" />
|
||||
<DList Name="object_az_DL_00F638" Offset="0xF638" />
|
||||
<DList Name="object_az_DL_00F788" Offset="0xF788" />
|
||||
<Texture Name="object_az_Tex_00F918" OutName="tex_00F918" Format="rgba16" Width="32" Height="32" Offset="0xF918" />
|
||||
<Texture Name="object_az_Tex_010118" OutName="tex_010118" Format="rgba16" Width="32" Height="32" Offset="0x10118" />
|
||||
<Texture Name="object_az_Tex_010918" OutName="tex_010918" Format="rgba16" Width="32" Height="32" Offset="0x10918" />
|
||||
<Texture Name="object_az_Tex_011118" OutName="tex_011118" Format="rgba16" Width="32" Height="32" Offset="0x11118" />
|
||||
<Texture Name="object_az_Tex_011918" OutName="tex_011918" Format="rgba16" Width="32" Height="32" Offset="0x11918" />
|
||||
<Texture Name="object_az_Tex_012118" OutName="tex_012118" Format="rgba16" Width="16" Height="32" Offset="0x12118" />
|
||||
<Texture Name="object_az_Tex_012518" OutName="tex_012518" Format="rgba16" Width="16" Height="16" Offset="0x12518" />
|
||||
<Texture Name="object_az_Tex_012718" OutName="tex_012718" Format="rgba16" Width="32" Height="32" Offset="0x12718" />
|
||||
<Texture Name="object_az_Tex_012F18" OutName="tex_012F18" Format="rgba16" Width="32" Height="32" Offset="0x12F18" />
|
||||
<Texture Name="object_az_Tex_013718" OutName="tex_013718" Format="rgba16" Width="8" Height="16" Offset="0x13718" />
|
||||
<Texture Name="object_az_Tex_013818" OutName="tex_013818" Format="rgba16" Width="32" Height="32" Offset="0x13818" />
|
||||
<Texture Name="object_az_Tex_014018" OutName="tex_014018" Format="rgba16" Width="32" Height="32" Offset="0x14018" />
|
||||
<Texture Name="object_az_Tex_014818" OutName="tex_014818" Format="rgba16" Width="32" Height="32" Offset="0x14818" />
|
||||
<Texture Name="object_az_Tex_015018" OutName="tex_015018" Format="rgba16" Width="32" Height="32" Offset="0x15018" />
|
||||
<Texture Name="object_az_Tex_015818" OutName="tex_015818" Format="rgba16" Width="32" Height="32" Offset="0x15818" />
|
||||
<Texture Name="object_az_Tex_016018" OutName="tex_016018" Format="rgba16" Width="32" Height="32" Offset="0x16018" />
|
||||
<Texture Name="object_az_Tex_016818" OutName="tex_016818" Format="rgba16" Width="32" Height="32" Offset="0x16818" />
|
||||
<Texture Name="object_az_Tex_017018" OutName="tex_017018" Format="rgba16" Width="32" Height="32" Offset="0x17018" />
|
||||
<Limb Name="object_az_Standardlimb_017820" Type="Standard" EnumName="OBJECT_AZ_2_LIMB_01" Offset="0x17820" />
|
||||
<Limb Name="object_az_Standardlimb_01782C" Type="Standard" EnumName="OBJECT_AZ_2_LIMB_02" Offset="0x1782C" />
|
||||
<Limb Name="object_az_Standardlimb_017838" Type="Standard" EnumName="OBJECT_AZ_2_LIMB_03" Offset="0x17838" />
|
||||
<Limb Name="object_az_Standardlimb_017844" Type="Standard" EnumName="OBJECT_AZ_2_LIMB_04" Offset="0x17844" />
|
||||
<Limb Name="object_az_Standardlimb_017850" Type="Standard" EnumName="OBJECT_AZ_2_LIMB_05" Offset="0x17850" />
|
||||
<Limb Name="object_az_Standardlimb_01785C" Type="Standard" EnumName="OBJECT_AZ_2_LIMB_06" Offset="0x1785C" />
|
||||
<Limb Name="object_az_Standardlimb_017868" Type="Standard" EnumName="OBJECT_AZ_2_LIMB_07" Offset="0x17868" />
|
||||
<Limb Name="object_az_Standardlimb_017874" Type="Standard" EnumName="OBJECT_AZ_2_LIMB_08" Offset="0x17874" />
|
||||
<Limb Name="object_az_Standardlimb_017880" Type="Standard" EnumName="OBJECT_AZ_2_LIMB_09" Offset="0x17880" />
|
||||
<Limb Name="object_az_Standardlimb_01788C" Type="Standard" EnumName="OBJECT_AZ_2_LIMB_0A" Offset="0x1788C" />
|
||||
<Limb Name="object_az_Standardlimb_017898" Type="Standard" EnumName="OBJECT_AZ_2_LIMB_0B" Offset="0x17898" />
|
||||
<Limb Name="object_az_Standardlimb_0178A4" Type="Standard" EnumName="OBJECT_AZ_2_LIMB_0C" Offset="0x178A4" />
|
||||
<Limb Name="object_az_Standardlimb_0178B0" Type="Standard" EnumName="OBJECT_AZ_2_LIMB_0D" Offset="0x178B0" />
|
||||
<Limb Name="object_az_Standardlimb_0178BC" Type="Standard" EnumName="OBJECT_AZ_2_LIMB_0E" Offset="0x178BC" />
|
||||
<Limb Name="object_az_Standardlimb_0178C8" Type="Standard" EnumName="OBJECT_AZ_2_LIMB_0F" Offset="0x178C8" />
|
||||
<Limb Name="object_az_Standardlimb_0178D4" Type="Standard" EnumName="OBJECT_AZ_2_LIMB_10" Offset="0x178D4" />
|
||||
<Limb Name="object_az_Standardlimb_0178E0" Type="Standard" EnumName="OBJECT_AZ_2_LIMB_11" Offset="0x178E0" />
|
||||
<Limb Name="object_az_Standardlimb_0178EC" Type="Standard" EnumName="OBJECT_AZ_2_LIMB_12" Offset="0x178EC" />
|
||||
<Limb Name="object_az_Standardlimb_0178F8" Type="Standard" EnumName="OBJECT_AZ_2_LIMB_13" Offset="0x178F8" />
|
||||
<Limb Name="object_az_Standardlimb_017904" Type="Standard" EnumName="OBJECT_AZ_2_LIMB_14" Offset="0x17904" />
|
||||
<Limb Name="object_az_Standardlimb_017910" Type="Standard" EnumName="OBJECT_AZ_2_LIMB_15" Offset="0x17910" />
|
||||
<Limb Name="object_az_Standardlimb_01791C" Type="Standard" EnumName="OBJECT_AZ_2_LIMB_16" Offset="0x1791C" />
|
||||
<Limb Name="object_az_Standardlimb_017928" Type="Standard" EnumName="OBJECT_AZ_2_LIMB_17" Offset="0x17928" />
|
||||
<Skeleton Name="object_az_Skel_017990" Type="Flex" LimbType="Standard" LimbNone="OBJECT_AZ_2_LIMB_NONE" LimbMax="OBJECT_AZ_2_LIMB_MAX" EnumName="ObjectAz2Limb" Offset="0x17990" />
|
||||
<!-- <Blob Name="object_az_Blob_0179A0" Size="0x20" Offset="0x179A0" /> -->
|
||||
<Texture Name="object_az_Tex_0179C0" OutName="tex_0179C0" Format="i4" Width="32" Height="64" Offset="0x179C0" />
|
||||
<Texture Name="object_az_Tex_017DC0" OutName="tex_017DC0" Format="i4" Width="64" Height="64" Offset="0x17DC0" />
|
||||
<Texture Name="object_az_Tex_0185C0" OutName="tex_0185C0" Format="i4" Width="64" Height="64" Offset="0x185C0" />
|
||||
<Texture Name="object_az_Tex_018DC0" OutName="tex_018DC0" Format="i4" Width="64" Height="64" Offset="0x18DC0" />
|
||||
<Texture Name="object_az_Tex_0195C0" OutName="tex_0195C0" Format="i4" Width="64" Height="64" Offset="0x195C0" />
|
||||
<Texture Name="object_az_Tex_019DC0" OutName="tex_019DC0" Format="i4" Width="64" Height="64" Offset="0x19DC0" />
|
||||
<DList Name="object_az_DL_01A600" Offset="0x1A600" />
|
||||
<TextureAnimation Name="object_az_Matanimheader_01A6E8" Offset="0x1A6E8" />
|
||||
<DList Name="object_az_DL_01A730" Offset="0x1A730" />
|
||||
<TextureAnimation Name="object_az_Matanimheader_01A818" Offset="0x1A818" />
|
||||
<DList Name="object_az_DL_01A860" Offset="0x1A860" />
|
||||
<TextureAnimation Name="object_az_Matanimheader_01A948" Offset="0x1A948" />
|
||||
<DList Name="object_az_DL_01A990" Offset="0x1A990" />
|
||||
<TextureAnimation Name="object_az_Matanimheader_01AA78" Offset="0x1AA78" />
|
||||
<DList Name="object_az_DL_01AAC0" Offset="0x1AAC0" />
|
||||
<TextureAnimation Name="object_az_Matanimheader_01ABA8" Offset="0x1ABA8" />
|
||||
<DList Name="object_az_DL_01ABF0" Offset="0x1ABF0" />
|
||||
<DList Name="object_az_DL_01AD00" Offset="0x1AD00" />
|
||||
<!-- Older Beaver Limb DisplayLists -->
|
||||
<DList Name="gBeaverOlderBrotherHeadDL" Offset="0x1B80" />
|
||||
<DList Name="gBeaverOlderBrotherHairLeftDL" Offset="0x2098" />
|
||||
<DList Name="gBeaverOlderBrotherHairBackDL" Offset="0x2120" />
|
||||
<DList Name="gBeaverOlderBrotherHairRightDL" Offset="0x21A8" />
|
||||
<DList Name="gBeaverOlderBrotherTeethDL" Offset="0x2230" />
|
||||
<DList Name="gBeaverOlderBrotherLeftArmDL" Offset="0x22C8" />
|
||||
<DList Name="gBeaverOlderBrotherRightArmDL" Offset="0x2418" />
|
||||
<DList Name="gBeaverOlderBrotherInnerTubeDL" Offset="0x2568" />
|
||||
<DList Name="gBeaverOlderBrotherTorsoDL" Offset="0x26D8" />
|
||||
<DList Name="gBeaverOlderBrotherTailEndDL" Offset="0x27D0" />
|
||||
<DList Name="gBeaverOlderBrotherTailBaseDL" Offset="0x28D8" />
|
||||
<DList Name="gBeaverOlderBrotherLeftLegDL" Offset="0x2A08" />
|
||||
<DList Name="gBeaverOlderBrotherRightLegDL" Offset="0x2B48" />
|
||||
<DList Name="gBeaverOlderBrotherPelvisDL" Offset="0x2C88" />
|
||||
|
||||
<!-- Older Beaver Textures -->
|
||||
<Texture Name="gBeaverOlderBrotherGoggleTex" OutName="beaver_older_brother_goggle" Format="rgba16" Width="32" Height="32" Offset="0x2DC8" />
|
||||
<Texture Name="gBeaverOlderBrotherMouthTex" OutName="beaver_older_brother_mouth" Format="rgba16" Width="32" Height="32" Offset="0x35C8" />
|
||||
<Texture Name="gBeaverOlderBrotherNoseTex" OutName="beaver_older_brother_nose" Format="rgba16" Width="16" Height="32" Offset="0x3DC8" />
|
||||
<Texture Name="gBeaverOlderBrotherSkinTex" OutName="beaver_older_brother_skin" Format="rgba16" Width="16" Height="16" Offset="0x41C8" />
|
||||
<Texture Name="gBeaverOlderBrotherGoggleStrapTex" OutName="beaver_older_brother_goggle_strap" Format="rgba16" Width="16" Height="16" Offset="0x43C8" />
|
||||
<Texture Name="gBeaverOlderBrotherCapTex" OutName="beaver_older_brother_cap" Format="rgba16" Width="16" Height="16" Offset="0x45C8" />
|
||||
<Texture Name="gBeaverOlderBrotherToothTex" OutName="beaver_older_brother_tooth" Format="rgba16" Width="8" Height="16" Offset="0x47C8" />
|
||||
<Texture Name="gBeaverOlderBrotherHairTex" OutName="beaver_older_brother_hair" Format="rgba16" Width="32" Height="32" Offset="0x48C8" /> <!-- A completely transparent texture -->
|
||||
<Texture Name="gBeaverOlderBrotherHandAndFootTex" OutName="beaver_older_brother_hand_and_foot" Format="rgba16" Width="32" Height="32" Offset="0x50C8" />
|
||||
<Texture Name="gBeaverOlderBrotherTorsoTex" OutName="beaver_older_brother_torso" Format="rgba16" Width="32" Height="32" Offset="0x58C8" />
|
||||
<Texture Name="gBeaverOlderBrotherInnerTubeTex" OutName="beaver_older_brother_inner_tube" Format="rgba16" Width="32" Height="32" Offset="0x60C8" />
|
||||
<Texture Name="gBeaverOlderBrotherTailTex" OutName="beaver_older_brother_tail" Format="rgba16" Width="32" Height="32" Offset="0x68C8" />
|
||||
<Texture Name="gBeaverOlderBrotherPantsTex" OutName="beaver_older_brother_pants" Format="rgba16" Width="16" Height="16" Offset="0x70C8" />
|
||||
|
||||
<!-- Older Beaver Limbs -->
|
||||
<Limb Name="gBeaverOlderBrotherRootLimb" Type="Standard" EnumName="BEAVER_OLDER_BROTHER_LIMB_ROOT" Offset="0x72C8" />
|
||||
<Limb Name="gBeaverOlderBrotherPelvisRootLimb" Type="Standard" EnumName="BEAVER_OLDER_BROTHER_LIMB_PELVIS_ROOT" Offset="0x72D4" />
|
||||
<Limb Name="gBeaverOlderBrotherPelvisLimb" Type="Standard" EnumName="BEAVER_OLDER_BROTHER_LIMB_PELVIS" Offset="0x72E0" />
|
||||
<Limb Name="gBeaverOlderBrotherTorsoRootLimb" Type="Standard" EnumName="BEAVER_OLDER_BROTHER_LIMB_TORSO_ROOT" Offset="0x72EC" />
|
||||
<Limb Name="gBeaverOlderBrotherHeadRootLimb" Type="Standard" EnumName="BEAVER_OLDER_BROTHER_LIMB_HEAD_ROOT" Offset="0x72F8" />
|
||||
<Limb Name="gBeaverOlderBrotherHeadLimb" Type="Standard" EnumName="BEAVER_OLDER_BROTHER_LIMB_HEAD" Offset="0x7304" />
|
||||
<Limb Name="gBeaverOlderBrotherTeethLimb" Type="Standard" EnumName="BEAVER_OLDER_BROTHER_LIMB_TEETH" Offset="0x7310" />
|
||||
<Limb Name="gBeaverOlderBrotherHairRightLimb" Type="Standard" EnumName="BEAVER_OLDER_BROTHER_LIMB_HAIR_RIGHT" Offset="0x731C" />
|
||||
<Limb Name="gBeaverOlderBrotherHairLeftLimb" Type="Standard" EnumName="BEAVER_OLDER_BROTHER_LIMB_HAIR_LEFT" Offset="0x7328" />
|
||||
<Limb Name="gBeaverOlderBrotherHairBackLimb" Type="Standard" EnumName="BEAVER_OLDER_BROTHER_LIMB_HAIR_BACK" Offset="0x7334" />
|
||||
<Limb Name="gBeaverOlderBrotherLeftArmRootLimb" Type="Standard" EnumName="BEAVER_OLDER_BROTHER_LIMB_LEFT_ARM_ROOT" Offset="0x7340" />
|
||||
<Limb Name="gBeaverOlderBrotherLeftArmLimb" Type="Standard" EnumName="BEAVER_OLDER_BROTHER_LIMB_LEFT_ARM" Offset="0x734C" />
|
||||
<Limb Name="gBeaverOlderBrotherRightArmRootLimb" Type="Standard" EnumName="BEAVER_OLDER_BROTHER_LIMB_RIGHT_ARM_ROOT" Offset="0x7358" />
|
||||
<Limb Name="gBeaverOlderBrotherRightArmLimb" Type="Standard" EnumName="BEAVER_OLDER_BROTHER_LIMB_RIGHT_ARM" Offset="0x7364" />
|
||||
<Limb Name="gBeaverOlderBrotherTorsoLimb" Type="Standard" EnumName="BEAVER_OLDER_BROTHER_LIMB_TORSO" Offset="0x7370" />
|
||||
<Limb Name="gBeaverOlderBrotherInnerTubeLimb" Type="Standard" EnumName="BEAVER_OLDER_BROTHER_LIMB_INNER_TUBE" Offset="0x737C" />
|
||||
<Limb Name="gBeaverOlderBrotherTailRootLimb" Type="Standard" EnumName="BEAVER_OLDER_BROTHER_LIMB_TAIL_ROOT" Offset="0x7388" />
|
||||
<Limb Name="gBeaverOlderBrotherTailBaseLimb" Type="Standard" EnumName="BEAVER_OLDER_BROTHER_LIMB_TAIL_BASE" Offset="0x7394" />
|
||||
<Limb Name="gBeaverOlderBrotherTailEndLimb" Type="Standard" EnumName="BEAVER_OLDER_BROTHER_LIMB_TAIL_END" Offset="0x73A0" />
|
||||
<Limb Name="gBeaverOlderBrotherRightLegRootLimb" Type="Standard" EnumName="BEAVER_OLDER_BROTHER_LIMB_RIGHT_LEG_ROOT" Offset="0x73AC" />
|
||||
<Limb Name="gBeaverOlderBrotherRightLegLimb" Type="Standard" EnumName="BEAVER_OLDER_BROTHER_LIMB_RIGHT_LEG" Offset="0x73B8" />
|
||||
<Limb Name="gBeaverOlderBrotherLeftLegRootLimb" Type="Standard" EnumName="BEAVER_OLDER_BROTHER_LIMB_LEFT_LEG_ROOT" Offset="0x73C4" />
|
||||
<Limb Name="gBeaverOlderBrotherLeftLegLimb" Type="Standard" EnumName="BEAVER_OLDER_BROTHER_LIMB_LEFT_LEG" Offset="0x73D0" />
|
||||
|
||||
<!-- Older Beaver Skeleton -->
|
||||
<Skeleton Name="gBeaverOlderBrotherSkel" Type="Flex" LimbType="Standard" LimbNone="BEAVER_OLDER_BROTHER_LIMB_NONE" LimbMax="BEAVER_OLDER_BROTHER_LIMB_MAX" EnumName="BeaverOlderBrotherLimb" Offset="0x7438" />
|
||||
|
||||
<!-- Beaver Animations -->
|
||||
<Animation Name="gBeaverGlitchyLimbSpinAnim" Offset="0x750C" /> <!-- Original name might be "bea_wait". Unused -->
|
||||
<Animation Name="gBeaverLaughLeftAnim" Offset="0x7D3C" /> <!-- Original name is "bev_chukletoL" -->
|
||||
<Animation Name="gBeaverLaughRightAnim" Offset="0x86AC" /> <!-- Original name is "bev_chukletoR" -->
|
||||
<Animation Name="gBeaverSwimWithSpinningTail" Offset="0x8960" /> <!-- Original name is "bev_propellerswim" -->
|
||||
<Animation Name="gBeaverSwimWithRaisedTail" Offset="0x8BB4" /> <!-- Original name is "bev_propellerswim2". Unused variation of gBeaverSwimWithSpinningTail where the tail just stays upright. -->
|
||||
<Animation Name="gBeaverSwimAnim" Offset="0x8EAC" /> <!-- Original name is "bev_swim" -->
|
||||
<Animation Name="gBeaverTalkAnim" Offset="0x925C" /> <!-- Original name is "bev_talk1" -->
|
||||
<Animation Name="gBeaverTalkWaveArmsAnim" Offset="0x9B4C" /> <!-- Original name is "bev_talk2" -->
|
||||
<Animation Name="gBeaverTalkToLeftAnim" Offset="0xA25C" /> <!-- Original name is "bev_talktoL" -->
|
||||
<Animation Name="gBeaverTalkToRightAnim" Offset="0xAAEC" /> <!-- Original name is "bev_talktoR" -->
|
||||
<Animation Name="gBeaverBowAnim" Offset="0xB94C" /> <!-- Original name is "bev_thankyou" -->
|
||||
<Animation Name="gBeaverIdleAnim" Offset="0xBCFC" /> <!-- Original name is "bev_wait" -->
|
||||
<Animation Name="gBeaverIdleFaceLeftAnim" Offset="0xC0A0" /> <!-- Original name is "bev_waittoL" -->
|
||||
<Animation Name="gBeaverIdleFaceRightAnim" Offset="0xC47C" /> <!-- Original name is "bev_waittoR" -->
|
||||
<Animation Name="gBeaverWalkAnim" Offset="0xC94C" /> <!-- Original name is "bev_walk" -->
|
||||
|
||||
<!-- Younger Beaver Limb DisplayLists -->
|
||||
<DList Name="gBeaverYoungerBrotherHeadDL" Offset="0xE670" />
|
||||
<DList Name="gBeaverYoungerBrotherHairLeftDL" Offset="0xEB58" />
|
||||
<DList Name="gBeaverYoungerBrotherHairRightDL" Offset="0xEBE0" />
|
||||
<DList Name="gBeaverYoungerBrotherHairBackDL" Offset="0xEC68" />
|
||||
<DList Name="gBeaverYoungerBrotherTeethDL" Offset="0xECF0" />
|
||||
<DList Name="gBeaverYoungerBrotherLeftArmDL" Offset="0xED88" />
|
||||
<DList Name="gBeaverYoungerBrotherRightArmDL" Offset="0xEEE0" />
|
||||
<DList Name="gBeaverYoungerBrotherLogsDL" Offset="0xF030" />
|
||||
<DList Name="gBeaverYoungerBrotherTorsoDL" Offset="0xF190" />
|
||||
<DList Name="gBeaverYoungerBrotherTailEndDL" Offset="0xF2B0" />
|
||||
<DList Name="gBeaverYoungerBrotherTailBaseDL" Offset="0xF3B8" />
|
||||
<DList Name="gBeaverYoungerBrotherLeftLegDL" Offset="0xF4E8" />
|
||||
<DList Name="gBeaverYoungerBrotherRightLegDL" Offset="0xF638" />
|
||||
<DList Name="gBeaverYoungerBrotherPelvisDL" Offset="0xF788" />
|
||||
|
||||
<!-- Younger Beaver Textures -->
|
||||
<Texture Name="gBeaverYoungerBrotherEye1Tex" OutName="beaver_younger_brother_eye_1" Format="rgba16" Width="32" Height="32" Offset="0xF918" />
|
||||
<Texture Name="gBeaverYoungerBrotherEye2Tex" OutName="beaver_younger_brother_eye_2" Format="rgba16" Width="32" Height="32" Offset="0x10118" />
|
||||
<Texture Name="gBeaverYoungerBrotherEye3Tex" OutName="beaver_younger_brother_eye_3" Format="rgba16" Width="32" Height="32" Offset="0x10918" />
|
||||
<Texture Name="gBeaverYoungerBrotherEye4Tex" OutName="beaver_younger_brother_eye_4" Format="rgba16" Width="32" Height="32" Offset="0x11118" />
|
||||
<Texture Name="gBeaverYoungerBrotherMouthTex" OutName="beaver_younger_brother_mouth" Format="rgba16" Width="32" Height="32" Offset="0x11918" />
|
||||
<Texture Name="gBeaverYoungerBrotherNoseTex" OutName="beaver_younger_brother_nose" Format="rgba16" Width="16" Height="32" Offset="0x12118" />
|
||||
<Texture Name="gBeaverYoungerBrotherSkinTex" OutName="beaver_younger_brother_skin" Format="rgba16" Width="16" Height="16" Offset="0x12518" />
|
||||
<Texture Name="gBeaverYoungerBrotherClothesTex" OutName="beaver_younger_brother_clothes" Format="rgba16" Width="32" Height="32" Offset="0x12718" />
|
||||
<Texture Name="gBeaverYoungerBrotherHairTex" OutName="beaver_younger_brother_hair" Format="rgba16" Width="32" Height="32" Offset="0x12F18" />
|
||||
<Texture Name="gBeaverYoungerBrotherToothTex" OutName="beaver_younger_brother_tooth" Format="rgba16" Width="8" Height="16" Offset="0x13718" />
|
||||
<Texture Name="gBeaverYoungerBrotherHandAndFootTex" OutName="beaver_younger_brother_hand_and_foot" Format="rgba16" Width="32" Height="32" Offset="0x13818" />
|
||||
<Texture Name="gBeaverYoungerBrotherLogsEndTex" OutName="beaver_younger_brother_logs_end" Format="rgba16" Width="32" Height="32" Offset="0x14018" />
|
||||
<Texture Name="gBeaverYoungerBrotherLogsTex" OutName="beaver_younger_brother_logs" Format="rgba16" Width="32" Height="32" Offset="0x14818" />
|
||||
<Texture Name="gBeaverYoungerBrotherTailTex" OutName="beaver_younger_brother_tail" Format="rgba16" Width="32" Height="32" Offset="0x15018" />
|
||||
<Texture Name="gBeaverYoungerBrotherTailSkinTex" OutName="beaver_younger_brother_tail_skin" Format="rgba16" Width="32" Height="32" Offset="0x15818" />
|
||||
<Texture Name="gBeaverYoungerBrotherBeltRedTex" OutName="beaver_younger_brother_belt_red" Format="rgba16" Width="32" Height="32" Offset="0x16018" />
|
||||
<Texture Name="gBeaverYoungerBrotherBeltGreenTex" OutName="beaver_younger_brother_belt_green" Format="rgba16" Width="32" Height="32" Offset="0x16818" />
|
||||
<Texture Name="gBeaverYoungerBrotherBeltBlueTex" OutName="beaver_younger_brother_belt_blue" Format="rgba16" Width="32" Height="32" Offset="0x17018" />
|
||||
|
||||
<!-- Younger Beaver Limbs -->
|
||||
<Limb Name="gBeaverYoungerBrotherRootLimb" Type="Standard" EnumName="BEAVER_YOUNGER_BROTHER_LIMB_ROOT" Offset="0x17820" />
|
||||
<Limb Name="gBeaverYoungerBrotherPelvisRootLimb" Type="Standard" EnumName="BEAVER_YOUNGER_BROTHER_LIMB_PELVIS_ROOT" Offset="0x1782C" />
|
||||
<Limb Name="gBeaverYoungerBrotherPelvisLimb" Type="Standard" EnumName="BEAVER_YOUNGER_BROTHER_LIMB_PELVIS" Offset="0x17838" />
|
||||
<Limb Name="gBeaverYoungerBrotherTorsoRootLimb" Type="Standard" EnumName="BEAVER_YOUNGER_BROTHER_LIMB_TORSO_ROOT" Offset="0x17844" />
|
||||
<Limb Name="gBeaverYoungerBrotherHeadRootLimb" Type="Standard" EnumName="BEAVER_YOUNGER_BROTHER_LIMB_HEAD_ROOT" Offset="0x17850" />
|
||||
<Limb Name="gBeaverYoungerBrotherHeadLimb" Type="Standard" EnumName="BEAVER_YOUNGER_BROTHER_LIMB_HEAD" Offset="0x1785C" />
|
||||
<Limb Name="gBeaverYoungerBrotherTeethLimb" Type="Standard" EnumName="BEAVER_YOUNGER_BROTHER_LIMB_TEETH" Offset="0x17868" />
|
||||
<Limb Name="gBeaverYoungerBrotherHairRightLimb" Type="Standard" EnumName="BEAVER_YOUNGER_BROTHER_LIMB_HAIR_RIGHT" Offset="0x17874" />
|
||||
<Limb Name="gBeaverYoungerBrotherHairLeftLimb" Type="Standard" EnumName="BEAVER_YOUNGER_BROTHER_LIMB_HAIR_LEFT" Offset="0x17880" />
|
||||
<Limb Name="gBeaverYoungerBrotherHairBackLimb" Type="Standard" EnumName="BEAVER_YOUNGER_BROTHER_LIMB_HAIR_BACK" Offset="0x1788C" />
|
||||
<Limb Name="gBeaverYoungerBrotherLeftArmRootLimb" Type="Standard" EnumName="BEAVER_YOUNGER_BROTHER_LIMB_LEFT_ARM_ROOT" Offset="0x17898" />
|
||||
<Limb Name="gBeaverYoungerBrotherLeftArmLimb" Type="Standard" EnumName="BEAVER_YOUNGER_BROTHER_LIMB_LEFT_ARM" Offset="0x178A4" />
|
||||
<Limb Name="gBeaverYoungerBrotherRightArmRootLimb" Type="Standard" EnumName="BEAVER_YOUNGER_BROTHER_LIMB_RIGHT_ARM_ROOT" Offset="0x178B0" />
|
||||
<Limb Name="gBeaverYoungerBrotherRightArmLimb" Type="Standard" EnumName="BEAVER_YOUNGER_BROTHER_LIMB_RIGHT_ARM" Offset="0x178BC" />
|
||||
<Limb Name="gBeaverYoungerBrotherTorsoLimb" Type="Standard" EnumName="BEAVER_YOUNGER_BROTHER_LIMB_TORSO" Offset="0x178C8" />
|
||||
<Limb Name="gBeaverYoungerBrotherLogsLimb" Type="Standard" EnumName="BEAVER_YOUNGER_BROTHER_LIMB_LOGS" Offset="0x178D4" />
|
||||
<Limb Name="gBeaverYoungerBrotherTailRootLimb" Type="Standard" EnumName="BEAVER_YOUNGER_BROTHER_LIMB_TAIL_ROOT" Offset="0x178E0" />
|
||||
<Limb Name="gBeaverYoungerBrotherTailBaseLimb" Type="Standard" EnumName="BEAVER_YOUNGER_BROTHER_LIMB_TAIL_BASE" Offset="0x178EC" />
|
||||
<Limb Name="gBeaverYoungerBrotherTailEndLimb" Type="Standard" EnumName="BEAVER_YOUNGER_BROTHER_LIMB_TAIL_END" Offset="0x178F8" />
|
||||
<Limb Name="gBeaverYoungerBrotherRightLegRootLimb" Type="Standard" EnumName="BEAVER_YOUNGER_BROTHER_LIMB_RIGHT_LEG_ROOT" Offset="0x17904" />
|
||||
<Limb Name="gBeaverYoungerBrotherRightLegLimb" Type="Standard" EnumName="BEAVER_YOUNGER_BROTHER_LIMB_RIGHT_LEG" Offset="0x17910" />
|
||||
<Limb Name="gBeaverYoungerBrotherLeftLegRootLimb" Type="Standard" EnumName="BEAVER_YOUNGER_BROTHER_LIMB_LEFT_LEG_ROOT" Offset="0x1791C" />
|
||||
<Limb Name="gBeaverYoungerBrotherLeftLegLimb" Type="Standard" EnumName="BEAVER_YOUNGER_BROTHER_LIMB_LEFT_LEG" Offset="0x17928" />
|
||||
|
||||
<!-- Younger Beaver Skeleton -->
|
||||
<Skeleton Name="gBeaverYoungerBrotherSkel" Type="Flex" LimbType="Standard" LimbNone="BEAVER_YOUNGER_BROTHER_LIMB_NONE" LimbMax="BEAVER_YOUNGER_BROTHER_LIMB_MAX" EnumName="BeaverYoungerBrotherLimb" Offset="0x17990" />
|
||||
|
||||
<!-- Textures for the vortex and splashing effects that appear behind the beavers when they swim. -->
|
||||
<Texture Name="gBeaverUnusedTLUT" OutName="beaver_unused_tlut" Format="rgba16" Width="4" Height="4" Offset="0x179A0" />
|
||||
<Texture Name="gBeaverOlderBrotherTailVortexMaskTex" OutName="beaver_older_brother_tail_vortex_mask" Format="i4" Width="32" Height="64" Offset="0x179C0" />
|
||||
<Texture Name="gBeaverOlderBrotherTailVortexTex" OutName="beaver_older_brother_tail_vortex" Format="i4" Width="64" Height="64" Offset="0x17DC0" />
|
||||
<Texture Name="gBeaverYoungerBrotherTailVortexTex" OutName="beaver_younger_brother_tail_vortex" Format="i4" Width="64" Height="64" Offset="0x185C0" />
|
||||
<Texture Name="gBeaverYoungerBrotherTailVortexMaskTex" OutName="beaver_younger_brother_tail_vortex_mask" Format="i4" Width="64" Height="64" Offset="0x18DC0" />
|
||||
<Texture Name="gBeaverYoungerBrotherTailSplashTex" OutName="beaver_younger_brother_tail_splash" Format="i4" Width="64" Height="64" Offset="0x195C0" />
|
||||
<Texture Name="gBeaverYoungerBrotherTailSplashMaskTex" OutName="beaver_younger_brother_tail_splash_mask" Format="i4" Width="64" Height="64" Offset="0x19DC0" />
|
||||
|
||||
<!-- DisplayLists and TextureAnimations for the vortex effect that appears behind the older beaver brother. All DisplayLists are the same besides a change in alpha. -->
|
||||
<DList Name="gBeaverOlderBrotherTailVortex1DL" Offset="0x1A600" /> <!-- Original name is "vux_001_model" -->
|
||||
<TextureAnimation Name="gBeaverOlderBrotherTailVortex1TexAnim" Offset="0x1A6E8" />
|
||||
<DList Name="gBeaverOlderBrotherTailVortex2DL" Offset="0x1A730" /> <!-- Original name is "vux_002_model" -->
|
||||
<TextureAnimation Name="gBeaverOlderBrotherTailVortex2TexAnim" Offset="0x1A818" />
|
||||
<DList Name="gBeaverOlderBrotherTailVortex3DL" Offset="0x1A860" /> <!-- Original name is "vux_003_model" -->
|
||||
<TextureAnimation Name="gBeaverOlderBrotherTailVortex3TexAnim" Offset="0x1A948" />
|
||||
<DList Name="gBeaverOlderBrotherTailVortex4DL" Offset="0x1A990" /> <!-- Original name is "vux_004_model" -->
|
||||
<TextureAnimation Name="gBeaverOlderBrotherTailVortex4TexAnim" Offset="0x1AA78" />
|
||||
<DList Name="gBeaverOlderBrotherTailVortex5DL" Offset="0x1AAC0" /> <!-- Original name is "vux_005_model" -->
|
||||
<TextureAnimation Name="gBeaverOlderBrotherTailVortex5TexAnim" Offset="0x1ABA8" />
|
||||
|
||||
<!-- DisplayLists for the vortex and splashing effects that appear behind the younger beaver brother. -->
|
||||
<DList Name="gBeaverYoungerBrotherTailVortexDL" Offset="0x1ABF0" /> <!-- Original name is "vuz_01_model" -->
|
||||
<DList Name="gBeaverYoungerBrotherTailSplashDL" Offset="0x1AD00" /> <!-- Original name is "vuz_02_model" -->
|
||||
</File>
|
||||
</Root>
|
||||
|
|
|
|||
|
|
@ -58,14 +58,38 @@ void func_80A97E48(EnAz* this, PlayState* play);
|
|||
void func_80A97EAC(EnAz* this, PlayState* play);
|
||||
void func_80A97F9C(EnAz* this, PlayState* play);
|
||||
|
||||
static AnimationSpeedInfo sAnimationInfo[14] = {
|
||||
{ &object_az_Anim_00BCFC, 1.0f, ANIMMODE_LOOP, -10.0f }, { &object_az_Anim_00C94C, 1.0f, ANIMMODE_LOOP, -5.0f },
|
||||
{ &object_az_Anim_008960, 1.0f, ANIMMODE_LOOP, -5.0f }, { &object_az_Anim_008BB4, 1.0f, ANIMMODE_LOOP, -5.0f },
|
||||
{ &object_az_Anim_00925C, 1.0f, ANIMMODE_LOOP, -5.0f }, { &object_az_Anim_009B4C, 1.0f, ANIMMODE_LOOP, -5.0f },
|
||||
{ &object_az_Anim_0086AC, 1.0f, ANIMMODE_LOOP, -5.0f }, { &object_az_Anim_007D3C, 1.0f, ANIMMODE_LOOP, -5.0f },
|
||||
{ &object_az_Anim_008EAC, 2.0f, ANIMMODE_LOOP, -5.0f }, { &object_az_Anim_00A25C, 1.0f, ANIMMODE_LOOP, -5.0f },
|
||||
{ &object_az_Anim_00AAEC, 1.0f, ANIMMODE_LOOP, -5.0f }, { &object_az_Anim_00B94C, 1.0f, ANIMMODE_ONCE, -5.0f },
|
||||
{ &object_az_Anim_00C0A0, 1.0f, ANIMMODE_LOOP, -5.0f }, { &object_az_Anim_00C47C, 1.0f, ANIMMODE_LOOP, -5.0f },
|
||||
typedef enum {
|
||||
/* 0 */ BEAVER_ANIM_IDLE,
|
||||
/* 1 */ BEAVER_ANIM_WALK,
|
||||
/* 2 */ BEAVER_ANIM_SWIM_WITH_SPINNING_TAIL,
|
||||
/* 3 */ BEAVER_ANIM_SWIM_WITH_RAISED_TAIL, // Unused
|
||||
/* 4 */ BEAVER_ANIM_TALK,
|
||||
/* 5 */ BEAVER_ANIM_TALK_WAVE_ARMS,
|
||||
/* 6 */ BEAVER_ANIM_LAUGH_RIGHT,
|
||||
/* 7 */ BEAVER_ANIM_LAUGH_LEFT,
|
||||
/* 8 */ BEAVER_ANIM_SWIM,
|
||||
/* 9 */ BEAVER_ANIM_TALK_TO_LEFT,
|
||||
/* 10 */ BEAVER_ANIM_TALK_TO_RIGHT,
|
||||
/* 11 */ BEAVER_ANIM_BOW,
|
||||
/* 12 */ BEAVER_ANIM_IDLE_FACE_LEFT,
|
||||
/* 13 */ BEAVER_ANIM_IDLE_FACE_RIGHT,
|
||||
} BeaverAnimation;
|
||||
|
||||
static AnimationSpeedInfo sAnimationInfo[] = {
|
||||
{ &gBeaverIdleAnim, 1.0f, ANIMMODE_LOOP, -10.0f },
|
||||
{ &gBeaverWalkAnim, 1.0f, ANIMMODE_LOOP, -5.0f },
|
||||
{ &gBeaverSwimWithSpinningTail, 1.0f, ANIMMODE_LOOP, -5.0f },
|
||||
{ &gBeaverSwimWithRaisedTail, 1.0f, ANIMMODE_LOOP, -5.0f },
|
||||
{ &gBeaverTalkAnim, 1.0f, ANIMMODE_LOOP, -5.0f },
|
||||
{ &gBeaverTalkWaveArmsAnim, 1.0f, ANIMMODE_LOOP, -5.0f },
|
||||
{ &gBeaverLaughRightAnim, 1.0f, ANIMMODE_LOOP, -5.0f },
|
||||
{ &gBeaverLaughLeftAnim, 1.0f, ANIMMODE_LOOP, -5.0f },
|
||||
{ &gBeaverSwimAnim, 2.0f, ANIMMODE_LOOP, -5.0f },
|
||||
{ &gBeaverTalkToLeftAnim, 1.0f, ANIMMODE_LOOP, -5.0f },
|
||||
{ &gBeaverTalkToRightAnim, 1.0f, ANIMMODE_LOOP, -5.0f },
|
||||
{ &gBeaverBowAnim, 1.0f, ANIMMODE_ONCE, -5.0f },
|
||||
{ &gBeaverIdleFaceLeftAnim, 1.0f, ANIMMODE_LOOP, -5.0f },
|
||||
{ &gBeaverIdleFaceRightAnim, 1.0f, ANIMMODE_LOOP, -5.0f },
|
||||
};
|
||||
|
||||
const ActorInit En_Az_InitVars = {
|
||||
|
|
@ -170,8 +194,8 @@ static InitChainEntry sInitChain[3] = {
|
|||
};
|
||||
|
||||
void EnAz_Init(Actor* thisx, PlayState* play2) {
|
||||
static s16 D_80A9914C[7] = { 1, 0, 3, 2, 5, 4, -1 };
|
||||
static s16 D_80A9915C[7] = { 0, 1, 0, 1, 0, 1, 1 };
|
||||
static s16 D_80A9914C[] = { 1, 0, 3, 2, 5, 4, -1 };
|
||||
static s16 D_80A9915C[] = { 0, 1, 0, 1, 0, 1, 1 };
|
||||
EnAz* this = THIS;
|
||||
PlayState* play = play2;
|
||||
s16 sp4E;
|
||||
|
|
@ -236,12 +260,12 @@ void EnAz_Init(Actor* thisx, PlayState* play2) {
|
|||
}
|
||||
ActorShape_Init(&this->actor.shape, 0.0f, ActorShadow_DrawCircle, 30.0f);
|
||||
if (this->unk_374 & 2) {
|
||||
SkelAnime_InitFlex(play, &this->skelAnime, &object_az_Skel_007438, &object_az_Anim_00C94C, this->jointTable,
|
||||
this->morphTable, OBJECT_AZ_1_LIMB_MAX);
|
||||
SkelAnime_InitFlex(play, &this->skelAnime, &gBeaverOlderBrotherSkel, &gBeaverWalkAnim, this->jointTable,
|
||||
this->morphTable, BEAVER_OLDER_BROTHER_LIMB_MAX);
|
||||
Actor_SetScale(&this->actor, 0.012f);
|
||||
} else {
|
||||
SkelAnime_InitFlex(play, &this->skelAnime, &object_az_Skel_017990, &object_az_Anim_00C94C, this->jointTable,
|
||||
this->morphTable, OBJECT_AZ_2_LIMB_MAX);
|
||||
SkelAnime_InitFlex(play, &this->skelAnime, &gBeaverYoungerBrotherSkel, &gBeaverWalkAnim, this->jointTable,
|
||||
this->morphTable, BEAVER_YOUNGER_BROTHER_LIMB_MAX);
|
||||
}
|
||||
Collider_InitAndSetCylinder(play, &this->collider, &this->actor, &sCylinderInit);
|
||||
if (this->unk_374 & 2) {
|
||||
|
|
@ -254,16 +278,16 @@ void EnAz_Init(Actor* thisx, PlayState* play2) {
|
|||
this->unk_374 |= 0x100;
|
||||
this->unk_376 |= 0x100;
|
||||
}
|
||||
Animation_Change(&this->skelAnime, sAnimationInfo[0].animation, 1.0f,
|
||||
Animation_GetLastFrame(sAnimationInfo[0].animation) * Rand_ZeroOne(),
|
||||
Animation_GetLastFrame(sAnimationInfo[0].animation), sAnimationInfo[0].mode,
|
||||
sAnimationInfo[0].morphFrames);
|
||||
Animation_Change(&this->skelAnime, sAnimationInfo[BEAVER_ANIM_IDLE].animation, 1.0f,
|
||||
Animation_GetLastFrame(sAnimationInfo[BEAVER_ANIM_IDLE].animation) * Rand_ZeroOne(),
|
||||
Animation_GetLastFrame(sAnimationInfo[BEAVER_ANIM_IDLE].animation),
|
||||
sAnimationInfo[BEAVER_ANIM_IDLE].mode, sAnimationInfo[BEAVER_ANIM_IDLE].morphFrames);
|
||||
this->unk_37E = 0;
|
||||
this->unk_380 = 0;
|
||||
this->unk_384 = 0;
|
||||
this->actor.gravity = -1.0f;
|
||||
this->unk_376 = this->unk_374;
|
||||
SubS_ChangeAnimationBySpeedInfo(&this->skelAnime, sAnimationInfo, 0, &this->animIndex);
|
||||
SubS_ChangeAnimationBySpeedInfo(&this->skelAnime, sAnimationInfo, BEAVER_ANIM_IDLE, &this->animIndex);
|
||||
this->skelAnime.curFrame = Rand_ZeroOne() * this->skelAnime.endFrame;
|
||||
|
||||
switch (gSaveContext.save.entrance) {
|
||||
|
|
@ -524,9 +548,10 @@ s32 func_80A95B34(PlayState* play, ActorPathing* actorPathing) {
|
|||
if (this->unk_374 & 0x100) {
|
||||
if (!(this->unk_374 & 8)) {
|
||||
if (this->unk_374 & 2) {
|
||||
SubS_ChangeAnimationBySpeedInfo(&this->skelAnime, sAnimationInfo, 8, &this->animIndex);
|
||||
SubS_ChangeAnimationBySpeedInfo(&this->skelAnime, sAnimationInfo, BEAVER_ANIM_SWIM, &this->animIndex);
|
||||
} else {
|
||||
SubS_ChangeAnimationBySpeedInfo(&this->skelAnime, sAnimationInfo, 2, &this->animIndex);
|
||||
SubS_ChangeAnimationBySpeedInfo(&this->skelAnime, sAnimationInfo, BEAVER_ANIM_SWIM_WITH_SPINNING_TAIL,
|
||||
&this->animIndex);
|
||||
}
|
||||
this->unk_374 |= 8;
|
||||
}
|
||||
|
|
@ -537,7 +562,7 @@ s32 func_80A95B34(PlayState* play, ActorPathing* actorPathing) {
|
|||
}
|
||||
} else if (this->actor.bgCheckFlags & 1) {
|
||||
if (this->unk_374 & 8) {
|
||||
SubS_ChangeAnimationBySpeedInfo(&this->skelAnime, sAnimationInfo, 1, &this->animIndex);
|
||||
SubS_ChangeAnimationBySpeedInfo(&this->skelAnime, sAnimationInfo, BEAVER_ANIM_WALK, &this->animIndex);
|
||||
this->unk_374 &= ~8;
|
||||
}
|
||||
ret = func_80A95534(play, actorPathing);
|
||||
|
|
@ -551,7 +576,7 @@ void func_80A95C5C(EnAz* this, PlayState* play) {
|
|||
this->actor.draw = NULL;
|
||||
this->actor.world.pos.y = this->actor.home.pos.y + 120.0f;
|
||||
this->actor.gravity = -1.0f;
|
||||
SubS_ChangeAnimationBySpeedInfo(&this->skelAnime, sAnimationInfo, 0, &this->animIndex);
|
||||
SubS_ChangeAnimationBySpeedInfo(&this->skelAnime, sAnimationInfo, BEAVER_ANIM_IDLE, &this->animIndex);
|
||||
this->actor.flags &= ~(ACTOR_FLAG_1 | ACTOR_FLAG_8);
|
||||
this->actor.bgCheckFlags &= ~0x21;
|
||||
this->unk_3C0 = 0;
|
||||
|
|
@ -585,7 +610,8 @@ void func_80A95DA0(EnAz* this, PlayState* play) {
|
|||
this->unk_36C = 4.0f;
|
||||
this->actor.speedXZ = 4.0f;
|
||||
this->actor.gravity = 0.0f;
|
||||
SubS_ChangeAnimationBySpeedInfo(&this->skelAnime, sAnimationInfo, 2, &this->animIndex);
|
||||
SubS_ChangeAnimationBySpeedInfo(&this->skelAnime, sAnimationInfo, BEAVER_ANIM_SWIM_WITH_SPINNING_TAIL,
|
||||
&this->animIndex);
|
||||
this->actor.flags |= (ACTOR_FLAG_1 | ACTOR_FLAG_8);
|
||||
this->actor.bgCheckFlags &= ~0x21;
|
||||
this->unk_374 |= 0x1000;
|
||||
|
|
@ -636,7 +662,7 @@ void func_80A95FE8(EnAz* this, PlayState* play) {
|
|||
this->actor.shape.rot.z = 0;
|
||||
Actor_MoveWithoutGravityReverse(&this->actor);
|
||||
} else {
|
||||
SubS_ChangeAnimationBySpeedInfo(&this->skelAnime, sAnimationInfo, 0, &this->animIndex);
|
||||
SubS_ChangeAnimationBySpeedInfo(&this->skelAnime, sAnimationInfo, BEAVER_ANIM_IDLE, &this->animIndex);
|
||||
this->unk_374 &= ~0x1000;
|
||||
this->actor.gravity = -1.0f;
|
||||
this->actor.speedXZ = 0.0f;
|
||||
|
|
@ -674,8 +700,10 @@ s32 func_80A9617C(EnAz* this, PlayState* play) {
|
|||
case 0xCD:
|
||||
gSaveContext.save.weekEventReg[24] &= (u8)~1;
|
||||
this->actor.textId = 0x10F2;
|
||||
SubS_ChangeAnimationBySpeedInfo(&this->skelAnime, sAnimationInfo, 11, &this->animIndex);
|
||||
SubS_ChangeAnimationBySpeedInfo(&brother->skelAnime, sAnimationInfo, 11, &brother->animIndex);
|
||||
SubS_ChangeAnimationBySpeedInfo(&this->skelAnime, sAnimationInfo, BEAVER_ANIM_BOW,
|
||||
&this->animIndex);
|
||||
SubS_ChangeAnimationBySpeedInfo(&brother->skelAnime, sAnimationInfo, BEAVER_ANIM_BOW,
|
||||
&brother->animIndex);
|
||||
break;
|
||||
case 0x10CE:
|
||||
this->actor.textId = 0x10CF;
|
||||
|
|
@ -687,34 +715,41 @@ s32 func_80A9617C(EnAz* this, PlayState* play) {
|
|||
case 0x10D0:
|
||||
this->actor.textId = 0x10D1;
|
||||
ret = 3;
|
||||
SubS_ChangeAnimationBySpeedInfo(&this->skelAnime, sAnimationInfo, 5, &this->animIndex);
|
||||
SubS_ChangeAnimationBySpeedInfo(&this->skelAnime, sAnimationInfo, BEAVER_ANIM_TALK_WAVE_ARMS,
|
||||
&this->animIndex);
|
||||
break;
|
||||
case 0x10D1:
|
||||
this->actor.textId = 0x10D2;
|
||||
SubS_ChangeAnimationBySpeedInfo(&this->skelAnime, sAnimationInfo, 4, &this->animIndex);
|
||||
SubS_ChangeAnimationBySpeedInfo(&this->skelAnime, sAnimationInfo, BEAVER_ANIM_TALK,
|
||||
&this->animIndex);
|
||||
break;
|
||||
case 0x10D2:
|
||||
if (play->msgCtx.choiceIndex == 0) {
|
||||
func_8019F208();
|
||||
this->actor.textId = 0x10D6;
|
||||
SubS_ChangeAnimationBySpeedInfo(&this->skelAnime, sAnimationInfo, 5, &this->animIndex);
|
||||
SubS_ChangeAnimationBySpeedInfo(&this->skelAnime, sAnimationInfo,
|
||||
BEAVER_ANIM_TALK_WAVE_ARMS, &this->animIndex);
|
||||
} else {
|
||||
func_8019F230();
|
||||
this->actor.textId = 0x10D3;
|
||||
SubS_ChangeAnimationBySpeedInfo(&this->skelAnime, sAnimationInfo, 11, &this->animIndex);
|
||||
SubS_ChangeAnimationBySpeedInfo(&this->skelAnime, sAnimationInfo, BEAVER_ANIM_BOW,
|
||||
&this->animIndex);
|
||||
}
|
||||
break;
|
||||
case 0x10D3:
|
||||
SubS_ChangeAnimationBySpeedInfo(&this->skelAnime, sAnimationInfo, 0, &this->animIndex);
|
||||
SubS_ChangeAnimationBySpeedInfo(&this->skelAnime, sAnimationInfo, BEAVER_ANIM_IDLE,
|
||||
&this->animIndex);
|
||||
this->unk_374 |= 0x20;
|
||||
ret = 0;
|
||||
break;
|
||||
case 0x10D4:
|
||||
this->actor.textId = 0x10D2;
|
||||
SubS_ChangeAnimationBySpeedInfo(&this->skelAnime, sAnimationInfo, 4, &this->animIndex);
|
||||
SubS_ChangeAnimationBySpeedInfo(&this->skelAnime, sAnimationInfo, BEAVER_ANIM_TALK,
|
||||
&this->animIndex);
|
||||
break;
|
||||
case 0x10D6:
|
||||
SubS_ChangeAnimationBySpeedInfo(&this->skelAnime, sAnimationInfo, 0, &this->animIndex);
|
||||
SubS_ChangeAnimationBySpeedInfo(&this->skelAnime, sAnimationInfo, BEAVER_ANIM_IDLE,
|
||||
&this->animIndex);
|
||||
func_80A979DC(this, play);
|
||||
this->unk_2FA = 1;
|
||||
ret = 0;
|
||||
|
|
@ -755,7 +790,8 @@ s32 func_80A9617C(EnAz* this, PlayState* play) {
|
|||
break;
|
||||
case 0x10DA:
|
||||
this->actor.textId = 0x10DB;
|
||||
SubS_ChangeAnimationBySpeedInfo(&this->skelAnime, sAnimationInfo, 4, &this->animIndex);
|
||||
SubS_ChangeAnimationBySpeedInfo(&this->skelAnime, sAnimationInfo, BEAVER_ANIM_TALK,
|
||||
&this->animIndex);
|
||||
break;
|
||||
case 0x10DB:
|
||||
if (play->msgCtx.choiceIndex == 0) {
|
||||
|
|
@ -766,7 +802,8 @@ s32 func_80A9617C(EnAz* this, PlayState* play) {
|
|||
} else {
|
||||
func_8019F230();
|
||||
this->actor.textId = 0x10DC;
|
||||
SubS_ChangeAnimationBySpeedInfo(&this->skelAnime, sAnimationInfo, 11, &this->animIndex);
|
||||
SubS_ChangeAnimationBySpeedInfo(&this->skelAnime, sAnimationInfo, BEAVER_ANIM_BOW,
|
||||
&this->animIndex);
|
||||
}
|
||||
break;
|
||||
case 0x10DC:
|
||||
|
|
@ -776,37 +813,38 @@ s32 func_80A9617C(EnAz* this, PlayState* play) {
|
|||
ret = 0;
|
||||
break;
|
||||
case 0x10DD:
|
||||
func_80A98EFC(this, play, 0x10DE, 13, 9);
|
||||
func_80A98EFC(this, play, 0x10DE, BEAVER_ANIM_IDLE_FACE_RIGHT, BEAVER_ANIM_TALK_TO_LEFT);
|
||||
this->unk_374 |= 0x8000;
|
||||
ret = 2;
|
||||
break;
|
||||
case 0x10DE:
|
||||
func_80A98EFC(this, play, 0x10DF, 12, 10);
|
||||
func_80A98EFC(this, play, 0x10DF, BEAVER_ANIM_IDLE_FACE_LEFT, BEAVER_ANIM_TALK_TO_RIGHT);
|
||||
ret = 0;
|
||||
break;
|
||||
case 0x10DF:
|
||||
func_80A98EFC(this, play, 0x10E0, 13, 9);
|
||||
func_80A98EFC(this, play, 0x10E0, BEAVER_ANIM_IDLE_FACE_RIGHT, BEAVER_ANIM_TALK_TO_LEFT);
|
||||
ret = 0;
|
||||
break;
|
||||
case 0x10E0:
|
||||
func_80A98EFC(this, play, 0x10E1, 12, 10);
|
||||
func_80A98EFC(this, play, 0x10E1, BEAVER_ANIM_IDLE_FACE_LEFT, BEAVER_ANIM_TALK_TO_RIGHT);
|
||||
ret = 0;
|
||||
break;
|
||||
case 0x10E1:
|
||||
func_80A98EFC(this, play, 0x10E2, 13, 9);
|
||||
func_80A98EFC(this, play, 0x10E2, BEAVER_ANIM_IDLE_FACE_RIGHT, BEAVER_ANIM_TALK_TO_LEFT);
|
||||
ret = 0;
|
||||
break;
|
||||
case 0x10E2:
|
||||
this->actor.textId = 0x10E3;
|
||||
ret = 3;
|
||||
SubS_ChangeAnimationBySpeedInfo(&this->skelAnime, sAnimationInfo, 4, &this->animIndex);
|
||||
SubS_ChangeAnimationBySpeedInfo(&this->skelAnime, sAnimationInfo, BEAVER_ANIM_TALK,
|
||||
&this->animIndex);
|
||||
break;
|
||||
case 0x10E3:
|
||||
func_80A98EFC(this, play, 0x10E4, 0, 4);
|
||||
func_80A98EFC(this, play, 0x10E4, BEAVER_ANIM_IDLE, BEAVER_ANIM_TALK);
|
||||
ret = 0;
|
||||
break;
|
||||
case 0x10E4:
|
||||
func_80A98EFC(this, play, 0x10E5, 0, 4);
|
||||
func_80A98EFC(this, play, 0x10E5, BEAVER_ANIM_IDLE, BEAVER_ANIM_TALK);
|
||||
ret = 0;
|
||||
break;
|
||||
case 0x10E5:
|
||||
|
|
@ -816,36 +854,41 @@ s32 func_80A9617C(EnAz* this, PlayState* play) {
|
|||
} else {
|
||||
func_8019F230();
|
||||
this->actor.textId = 0x10E6;
|
||||
SubS_ChangeAnimationBySpeedInfo(&this->skelAnime, sAnimationInfo, 9, &this->animIndex);
|
||||
SubS_ChangeAnimationBySpeedInfo(&brother->skelAnime, sAnimationInfo, 13,
|
||||
&brother->animIndex);
|
||||
SubS_ChangeAnimationBySpeedInfo(&this->skelAnime, sAnimationInfo, BEAVER_ANIM_TALK_TO_LEFT,
|
||||
&this->animIndex);
|
||||
SubS_ChangeAnimationBySpeedInfo(&brother->skelAnime, sAnimationInfo,
|
||||
BEAVER_ANIM_IDLE_FACE_RIGHT, &brother->animIndex);
|
||||
}
|
||||
break;
|
||||
case 0x10E6:
|
||||
this->actor.textId = 0x10E7;
|
||||
func_80A98EFC(this, play, 0x10E7, 0, 10);
|
||||
func_80A98EFC(this, play, 0x10E7, BEAVER_ANIM_IDLE, BEAVER_ANIM_TALK_TO_RIGHT);
|
||||
ret = 0;
|
||||
break;
|
||||
case 0x10E7:
|
||||
gSaveContext.save.weekEventReg[24] &= (u8)~4;
|
||||
func_80A94AB8(this, play, 0);
|
||||
SubS_ChangeAnimationBySpeedInfo(&this->skelAnime, sAnimationInfo, 0, &this->animIndex);
|
||||
SubS_ChangeAnimationBySpeedInfo(&brother->skelAnime, sAnimationInfo, 0, &brother->animIndex);
|
||||
SubS_ChangeAnimationBySpeedInfo(&this->skelAnime, sAnimationInfo, BEAVER_ANIM_IDLE,
|
||||
&this->animIndex);
|
||||
SubS_ChangeAnimationBySpeedInfo(&brother->skelAnime, sAnimationInfo, BEAVER_ANIM_IDLE,
|
||||
&brother->animIndex);
|
||||
func_80A979DC(this, play);
|
||||
ret = 0;
|
||||
break;
|
||||
case 0x10E8:
|
||||
SubS_ChangeAnimationBySpeedInfo(&this->skelAnime, sAnimationInfo, 0, &this->animIndex);
|
||||
SubS_ChangeAnimationBySpeedInfo(&brother->skelAnime, sAnimationInfo, 0, &brother->animIndex);
|
||||
SubS_ChangeAnimationBySpeedInfo(&this->skelAnime, sAnimationInfo, BEAVER_ANIM_IDLE,
|
||||
&this->animIndex);
|
||||
SubS_ChangeAnimationBySpeedInfo(&brother->skelAnime, sAnimationInfo, BEAVER_ANIM_IDLE,
|
||||
&brother->animIndex);
|
||||
this->unk_2FA = 3;
|
||||
ret = 0;
|
||||
break;
|
||||
case 0x10E9:
|
||||
func_80A98EFC(this, play, 0x10EA, 12, 4);
|
||||
func_80A98EFC(this, play, 0x10EA, BEAVER_ANIM_IDLE_FACE_LEFT, BEAVER_ANIM_TALK);
|
||||
ret = 0;
|
||||
break;
|
||||
case 0x10EA:
|
||||
func_80A98EFC(this, play, 0x10EB, 0, 4);
|
||||
func_80A98EFC(this, play, 0x10EB, BEAVER_ANIM_IDLE, BEAVER_ANIM_TALK);
|
||||
ret = 0;
|
||||
break;
|
||||
case 0x10EB:
|
||||
|
|
@ -869,13 +912,14 @@ s32 func_80A9617C(EnAz* this, PlayState* play) {
|
|||
} else {
|
||||
func_8019F230();
|
||||
this->actor.textId = 0x10EC;
|
||||
SubS_ChangeAnimationBySpeedInfo(&this->skelAnime, sAnimationInfo, 7, &this->animIndex);
|
||||
SubS_ChangeAnimationBySpeedInfo(&brother->skelAnime, sAnimationInfo, 13,
|
||||
&brother->animIndex);
|
||||
SubS_ChangeAnimationBySpeedInfo(&this->skelAnime, sAnimationInfo, BEAVER_ANIM_LAUGH_LEFT,
|
||||
&this->animIndex);
|
||||
SubS_ChangeAnimationBySpeedInfo(&brother->skelAnime, sAnimationInfo,
|
||||
BEAVER_ANIM_IDLE_FACE_RIGHT, &brother->animIndex);
|
||||
}
|
||||
break;
|
||||
case 0x10EC:
|
||||
func_80A98EFC(this, play, 0x10ED, -1, 6);
|
||||
func_80A98EFC(this, play, 0x10ED, -1, BEAVER_ANIM_LAUGH_RIGHT);
|
||||
ret = 0;
|
||||
break;
|
||||
case 0x10ED:
|
||||
|
|
@ -887,15 +931,15 @@ s32 func_80A9617C(EnAz* this, PlayState* play) {
|
|||
ret = 0;
|
||||
break;
|
||||
case 0x10EE:
|
||||
func_80A98EFC(this, play, 0x10EF, 12, 10);
|
||||
func_80A98EFC(this, play, 0x10EF, BEAVER_ANIM_IDLE_FACE_LEFT, BEAVER_ANIM_TALK_TO_RIGHT);
|
||||
ret = 0;
|
||||
break;
|
||||
case 0x10EF:
|
||||
func_80A98EFC(this, play, 0x10F0, 13, 9);
|
||||
func_80A98EFC(this, play, 0x10F0, BEAVER_ANIM_IDLE_FACE_RIGHT, BEAVER_ANIM_TALK_TO_LEFT);
|
||||
ret = 0;
|
||||
break;
|
||||
case 0x10F0:
|
||||
func_80A98EFC(this, play, 0x10F1, 12, 10);
|
||||
func_80A98EFC(this, play, 0x10F1, BEAVER_ANIM_IDLE_FACE_LEFT, BEAVER_ANIM_TALK_TO_RIGHT);
|
||||
ret = 0;
|
||||
break;
|
||||
case 0x10F1:
|
||||
|
|
@ -906,39 +950,44 @@ s32 func_80A9617C(EnAz* this, PlayState* play) {
|
|||
this->getItemId = GI_BOTTLE;
|
||||
gSaveContext.save.weekEventReg[23] |= 0x80;
|
||||
}
|
||||
SubS_ChangeAnimationBySpeedInfo(&this->skelAnime, sAnimationInfo, 0, &this->animIndex);
|
||||
SubS_ChangeAnimationBySpeedInfo(&brother->skelAnime, sAnimationInfo, 0, &brother->animIndex);
|
||||
SubS_ChangeAnimationBySpeedInfo(&this->skelAnime, sAnimationInfo, BEAVER_ANIM_IDLE,
|
||||
&this->animIndex);
|
||||
SubS_ChangeAnimationBySpeedInfo(&brother->skelAnime, sAnimationInfo, BEAVER_ANIM_IDLE,
|
||||
&brother->animIndex);
|
||||
ret = 7;
|
||||
break;
|
||||
case 0x10F2:
|
||||
case 0x1109:
|
||||
gSaveContext.save.weekEventReg[24] &= (u8)~4;
|
||||
SubS_ChangeAnimationBySpeedInfo(&this->skelAnime, sAnimationInfo, 0, &this->animIndex);
|
||||
SubS_ChangeAnimationBySpeedInfo(&brother->skelAnime, sAnimationInfo, 0, &brother->animIndex);
|
||||
SubS_ChangeAnimationBySpeedInfo(&this->skelAnime, sAnimationInfo, BEAVER_ANIM_IDLE,
|
||||
&this->animIndex);
|
||||
SubS_ChangeAnimationBySpeedInfo(&brother->skelAnime, sAnimationInfo, BEAVER_ANIM_IDLE,
|
||||
&brother->animIndex);
|
||||
func_80A94AB8(this, play, 0);
|
||||
func_80A979DC(this, play);
|
||||
ret = 0;
|
||||
break;
|
||||
case 0x10F3:
|
||||
func_80A98EFC(this, play, 0x10F4, 12, 10);
|
||||
func_80A98EFC(this, play, 0x10F4, BEAVER_ANIM_IDLE_FACE_LEFT, BEAVER_ANIM_TALK_TO_RIGHT);
|
||||
ret = 0;
|
||||
break;
|
||||
case 0x10F4:
|
||||
func_80A98EFC(this, play, 0x10F5, 13, 9);
|
||||
func_80A98EFC(this, play, 0x10F5, BEAVER_ANIM_IDLE_FACE_RIGHT, BEAVER_ANIM_TALK_TO_LEFT);
|
||||
ret = 0;
|
||||
break;
|
||||
case 0x10F5:
|
||||
func_80A98EFC(this, play, 0x10F6, 12, 10);
|
||||
func_80A98EFC(this, play, 0x10F6, BEAVER_ANIM_IDLE_FACE_LEFT, BEAVER_ANIM_TALK_TO_RIGHT);
|
||||
ret = 0;
|
||||
break;
|
||||
case 0x10F6:
|
||||
func_80A98EFC(this, play, 0x10F7, 13, 5);
|
||||
func_80A98EFC(this, play, 0x10F7, BEAVER_ANIM_IDLE_FACE_RIGHT, BEAVER_ANIM_TALK_WAVE_ARMS);
|
||||
ret = 0;
|
||||
break;
|
||||
case 0x10F7:
|
||||
this->actor.textId = 0x10F8;
|
||||
ret = 3;
|
||||
SubS_ChangeAnimationBySpeedInfo(&this->skelAnime, sAnimationInfo, 4, &this->animIndex);
|
||||
SubS_ChangeAnimationBySpeedInfo(&this->skelAnime, sAnimationInfo, BEAVER_ANIM_TALK,
|
||||
&this->animIndex);
|
||||
break;
|
||||
case 0x10F8:
|
||||
if (play->msgCtx.choiceIndex == 0) {
|
||||
|
|
@ -948,41 +997,49 @@ s32 func_80A9617C(EnAz* this, PlayState* play) {
|
|||
} else {
|
||||
this->actor.textId = 0x10FA;
|
||||
}
|
||||
SubS_ChangeAnimationBySpeedInfo(&this->skelAnime, sAnimationInfo, 5, &this->animIndex);
|
||||
SubS_ChangeAnimationBySpeedInfo(&this->skelAnime, sAnimationInfo,
|
||||
BEAVER_ANIM_TALK_WAVE_ARMS, &this->animIndex);
|
||||
} else {
|
||||
func_8019F230();
|
||||
this->actor.textId = 0x10F9;
|
||||
SubS_ChangeAnimationBySpeedInfo(&this->skelAnime, sAnimationInfo, 11, &this->animIndex);
|
||||
SubS_ChangeAnimationBySpeedInfo(&brother->skelAnime, sAnimationInfo, 11,
|
||||
SubS_ChangeAnimationBySpeedInfo(&this->skelAnime, sAnimationInfo, BEAVER_ANIM_BOW,
|
||||
&this->animIndex);
|
||||
SubS_ChangeAnimationBySpeedInfo(&brother->skelAnime, sAnimationInfo, BEAVER_ANIM_BOW,
|
||||
&brother->animIndex);
|
||||
}
|
||||
break;
|
||||
case 0x10F9:
|
||||
SubS_ChangeAnimationBySpeedInfo(&this->skelAnime, sAnimationInfo, 0, &this->animIndex);
|
||||
SubS_ChangeAnimationBySpeedInfo(&brother->skelAnime, sAnimationInfo, 0, &brother->animIndex);
|
||||
SubS_ChangeAnimationBySpeedInfo(&this->skelAnime, sAnimationInfo, BEAVER_ANIM_IDLE,
|
||||
&this->animIndex);
|
||||
SubS_ChangeAnimationBySpeedInfo(&brother->skelAnime, sAnimationInfo, BEAVER_ANIM_IDLE,
|
||||
&brother->animIndex);
|
||||
this->unk_374 |= 0x20;
|
||||
ret = 0;
|
||||
break;
|
||||
case 0x10FA:
|
||||
case 0x1107:
|
||||
SubS_ChangeAnimationBySpeedInfo(&this->skelAnime, sAnimationInfo, 0, &this->animIndex);
|
||||
SubS_ChangeAnimationBySpeedInfo(&brother->skelAnime, sAnimationInfo, 0, &brother->animIndex);
|
||||
SubS_ChangeAnimationBySpeedInfo(&this->skelAnime, sAnimationInfo, BEAVER_ANIM_IDLE,
|
||||
&this->animIndex);
|
||||
SubS_ChangeAnimationBySpeedInfo(&brother->skelAnime, sAnimationInfo, BEAVER_ANIM_IDLE,
|
||||
&brother->animIndex);
|
||||
this->unk_2FA = 6;
|
||||
ret = 0;
|
||||
break;
|
||||
case 0x10FB:
|
||||
func_80A98EFC(this, play, 0x10FC, 12, 10);
|
||||
func_80A98EFC(this, play, 0x10FC, BEAVER_ANIM_IDLE_FACE_LEFT, BEAVER_ANIM_TALK_TO_RIGHT);
|
||||
ret = 0;
|
||||
break;
|
||||
case 0x10FC:
|
||||
func_80A98EFC(this, play, 0x10FD, 13, 4);
|
||||
func_80A98EFC(this, play, 0x10FD, BEAVER_ANIM_IDLE_FACE_RIGHT, BEAVER_ANIM_TALK);
|
||||
ret = 0;
|
||||
break;
|
||||
case 0x10FD:
|
||||
this->actor.textId = 0x10FE;
|
||||
ret = 3;
|
||||
SubS_ChangeAnimationBySpeedInfo(&this->skelAnime, sAnimationInfo, 4, &this->animIndex);
|
||||
SubS_ChangeAnimationBySpeedInfo(&brother->skelAnime, sAnimationInfo, 0, &brother->animIndex);
|
||||
SubS_ChangeAnimationBySpeedInfo(&this->skelAnime, sAnimationInfo, BEAVER_ANIM_TALK,
|
||||
&this->animIndex);
|
||||
SubS_ChangeAnimationBySpeedInfo(&brother->skelAnime, sAnimationInfo, BEAVER_ANIM_IDLE,
|
||||
&brother->animIndex);
|
||||
break;
|
||||
case 0x10FE:
|
||||
if (play->msgCtx.choiceIndex == 0) {
|
||||
|
|
@ -992,44 +1049,50 @@ s32 func_80A9617C(EnAz* this, PlayState* play) {
|
|||
} else {
|
||||
this->actor.textId = 0x1101;
|
||||
}
|
||||
SubS_ChangeAnimationBySpeedInfo(&this->skelAnime, sAnimationInfo, 4, &this->animIndex);
|
||||
SubS_ChangeAnimationBySpeedInfo(&this->skelAnime, sAnimationInfo, BEAVER_ANIM_TALK,
|
||||
&this->animIndex);
|
||||
} else {
|
||||
func_8019F230();
|
||||
this->actor.textId = 0x10FF;
|
||||
SubS_ChangeAnimationBySpeedInfo(&this->skelAnime, sAnimationInfo, 9, &this->animIndex);
|
||||
SubS_ChangeAnimationBySpeedInfo(&brother->skelAnime, sAnimationInfo, 13,
|
||||
&brother->animIndex);
|
||||
SubS_ChangeAnimationBySpeedInfo(&this->skelAnime, sAnimationInfo, BEAVER_ANIM_TALK_TO_LEFT,
|
||||
&this->animIndex);
|
||||
SubS_ChangeAnimationBySpeedInfo(&brother->skelAnime, sAnimationInfo,
|
||||
BEAVER_ANIM_IDLE_FACE_RIGHT, &brother->animIndex);
|
||||
}
|
||||
break;
|
||||
case 0x10FF:
|
||||
func_80A98EFC(this, play, 0x1100, 12, 10);
|
||||
func_80A98EFC(this, play, 0x1100, BEAVER_ANIM_IDLE_FACE_LEFT, BEAVER_ANIM_TALK_TO_RIGHT);
|
||||
ret = 0;
|
||||
break;
|
||||
case 0x1100:
|
||||
gSaveContext.save.weekEventReg[24] &= (u8)~4;
|
||||
SubS_ChangeAnimationBySpeedInfo(&this->skelAnime, sAnimationInfo, 0, &this->animIndex);
|
||||
SubS_ChangeAnimationBySpeedInfo(&brother->skelAnime, sAnimationInfo, 0, &brother->animIndex);
|
||||
SubS_ChangeAnimationBySpeedInfo(&this->skelAnime, sAnimationInfo, BEAVER_ANIM_IDLE,
|
||||
&this->animIndex);
|
||||
SubS_ChangeAnimationBySpeedInfo(&brother->skelAnime, sAnimationInfo, BEAVER_ANIM_IDLE,
|
||||
&brother->animIndex);
|
||||
func_80A94AB8(this, play, 0);
|
||||
func_80A979DC(this, play);
|
||||
ret = 0;
|
||||
break;
|
||||
case 0x1101:
|
||||
case 0x1108:
|
||||
SubS_ChangeAnimationBySpeedInfo(&this->skelAnime, sAnimationInfo, 0, &this->animIndex);
|
||||
SubS_ChangeAnimationBySpeedInfo(&brother->skelAnime, sAnimationInfo, 0, &brother->animIndex);
|
||||
SubS_ChangeAnimationBySpeedInfo(&this->skelAnime, sAnimationInfo, BEAVER_ANIM_IDLE,
|
||||
&this->animIndex);
|
||||
SubS_ChangeAnimationBySpeedInfo(&brother->skelAnime, sAnimationInfo, BEAVER_ANIM_IDLE,
|
||||
&brother->animIndex);
|
||||
this->unk_2FA = 8;
|
||||
ret = 0;
|
||||
break;
|
||||
case 0x1102:
|
||||
func_80A98EFC(this, play, 0x1103, 12, 10);
|
||||
func_80A98EFC(this, play, 0x1103, BEAVER_ANIM_IDLE_FACE_LEFT, BEAVER_ANIM_TALK_TO_RIGHT);
|
||||
ret = 0;
|
||||
break;
|
||||
case 0x1103:
|
||||
func_80A98EFC(this, play, 0x1104, 13, 9);
|
||||
func_80A98EFC(this, play, 0x1104, BEAVER_ANIM_IDLE_FACE_RIGHT, BEAVER_ANIM_TALK_TO_LEFT);
|
||||
ret = 0;
|
||||
break;
|
||||
case 0x1104:
|
||||
func_80A98EFC(this, play, 0x1105, 12, 10);
|
||||
func_80A98EFC(this, play, 0x1105, BEAVER_ANIM_IDLE_FACE_LEFT, BEAVER_ANIM_TALK_TO_RIGHT);
|
||||
ret = 0;
|
||||
break;
|
||||
case 0x1105:
|
||||
|
|
@ -1039,21 +1102,26 @@ s32 func_80A9617C(EnAz* this, PlayState* play) {
|
|||
this->getItemId = GI_HEART_PIECE;
|
||||
gSaveContext.save.weekEventReg[25] |= 1;
|
||||
}
|
||||
SubS_ChangeAnimationBySpeedInfo(&this->skelAnime, sAnimationInfo, 0, &this->animIndex);
|
||||
SubS_ChangeAnimationBySpeedInfo(&brother->skelAnime, sAnimationInfo, 0, &brother->animIndex);
|
||||
SubS_ChangeAnimationBySpeedInfo(&this->skelAnime, sAnimationInfo, BEAVER_ANIM_IDLE,
|
||||
&this->animIndex);
|
||||
SubS_ChangeAnimationBySpeedInfo(&brother->skelAnime, sAnimationInfo, BEAVER_ANIM_IDLE,
|
||||
&brother->animIndex);
|
||||
ret = 7;
|
||||
break;
|
||||
case 0x1106:
|
||||
gSaveContext.save.weekEventReg[24] &= (u8)~4;
|
||||
SubS_ChangeAnimationBySpeedInfo(&this->skelAnime, sAnimationInfo, 0, &this->animIndex);
|
||||
SubS_ChangeAnimationBySpeedInfo(&brother->skelAnime, sAnimationInfo, 0, &brother->animIndex);
|
||||
SubS_ChangeAnimationBySpeedInfo(&this->skelAnime, sAnimationInfo, BEAVER_ANIM_IDLE,
|
||||
&this->animIndex);
|
||||
SubS_ChangeAnimationBySpeedInfo(&brother->skelAnime, sAnimationInfo, BEAVER_ANIM_IDLE,
|
||||
&brother->animIndex);
|
||||
func_80A94AB8(this, play, 0);
|
||||
func_80A979DC(this, play);
|
||||
ret = 0;
|
||||
break;
|
||||
case 0x10D5:
|
||||
default:
|
||||
SubS_ChangeAnimationBySpeedInfo(&this->skelAnime, sAnimationInfo, 0, &this->animIndex);
|
||||
SubS_ChangeAnimationBySpeedInfo(&this->skelAnime, sAnimationInfo, BEAVER_ANIM_IDLE,
|
||||
&this->animIndex);
|
||||
this->unk_374 |= 0x20;
|
||||
ret = 0;
|
||||
break;
|
||||
|
|
@ -1078,29 +1146,33 @@ void func_80A97114(EnAz* this, PlayState* play) {
|
|||
case 0x10DA:
|
||||
case 0x10DD:
|
||||
case 0x10E9:
|
||||
SubS_ChangeAnimationBySpeedInfo(&this->skelAnime, sAnimationInfo, 4, &this->animIndex);
|
||||
SubS_ChangeAnimationBySpeedInfo(&this->skelAnime, sAnimationInfo, BEAVER_ANIM_TALK, &this->animIndex);
|
||||
break;
|
||||
case 0x10EE:
|
||||
case 0x10F3:
|
||||
case 0x10FB:
|
||||
case 0x1102:
|
||||
SubS_ChangeAnimationBySpeedInfo(&this->skelAnime, sAnimationInfo, 9, &this->animIndex);
|
||||
SubS_ChangeAnimationBySpeedInfo(&this->skelAnime, sAnimationInfo, BEAVER_ANIM_TALK_TO_LEFT,
|
||||
&this->animIndex);
|
||||
sp20 = true;
|
||||
break;
|
||||
case 0x10F2:
|
||||
case 0x1106:
|
||||
case 0x1109:
|
||||
SubS_ChangeAnimationBySpeedInfo(&this->skelAnime, sAnimationInfo, 11, &this->animIndex);
|
||||
SubS_ChangeAnimationBySpeedInfo(&this->skelAnime, sAnimationInfo, BEAVER_ANIM_BOW, &this->animIndex);
|
||||
if (brother != NULL) {
|
||||
SubS_ChangeAnimationBySpeedInfo(&brother->skelAnime, sAnimationInfo, 11, &brother->animIndex);
|
||||
SubS_ChangeAnimationBySpeedInfo(&brother->skelAnime, sAnimationInfo, BEAVER_ANIM_BOW,
|
||||
&brother->animIndex);
|
||||
}
|
||||
break;
|
||||
}
|
||||
if ((brother != NULL) && sp20) {
|
||||
if (this->unk_374 & 2) {
|
||||
SubS_ChangeAnimationBySpeedInfo(&brother->skelAnime, sAnimationInfo, 13, &brother->animIndex);
|
||||
SubS_ChangeAnimationBySpeedInfo(&brother->skelAnime, sAnimationInfo, BEAVER_ANIM_IDLE_FACE_RIGHT,
|
||||
&brother->animIndex);
|
||||
} else {
|
||||
SubS_ChangeAnimationBySpeedInfo(&brother->skelAnime, sAnimationInfo, 12, &brother->animIndex);
|
||||
SubS_ChangeAnimationBySpeedInfo(&brother->skelAnime, sAnimationInfo, BEAVER_ANIM_IDLE_FACE_LEFT,
|
||||
&brother->animIndex);
|
||||
}
|
||||
}
|
||||
this->unk_374 &= ~0x20;
|
||||
|
|
@ -1247,10 +1319,12 @@ void func_80A97410(EnAz* this, PlayState* play) {
|
|||
if (temp_a0 == 0) {
|
||||
switch (this->unk_3D2) {
|
||||
case 0x10CE:
|
||||
SubS_ChangeAnimationBySpeedInfo(&this->skelAnime, sAnimationInfo, 4, &this->animIndex);
|
||||
SubS_ChangeAnimationBySpeedInfo(&this->skelAnime, sAnimationInfo, BEAVER_ANIM_TALK,
|
||||
&this->animIndex);
|
||||
break;
|
||||
case 0x10D4:
|
||||
SubS_ChangeAnimationBySpeedInfo(&this->skelAnime, sAnimationInfo, 5, &this->animIndex);
|
||||
SubS_ChangeAnimationBySpeedInfo(&this->skelAnime, sAnimationInfo, BEAVER_ANIM_TALK_WAVE_ARMS,
|
||||
&this->animIndex);
|
||||
break;
|
||||
}
|
||||
Message_StartTextbox(play, this->unk_3D2, &this->actor);
|
||||
|
|
@ -1386,8 +1460,8 @@ void func_80A97C24(EnAz* this, PlayState* play) {
|
|||
}
|
||||
|
||||
void func_80A97C4C(EnAz* this, PlayState* play) {
|
||||
if (SkelAnime_Update(&this->skelAnime) && (this->animIndex == 0xB)) {
|
||||
SubS_ChangeAnimationBySpeedInfo(&this->skelAnime, sAnimationInfo, 0, &this->animIndex);
|
||||
if (SkelAnime_Update(&this->skelAnime) && (this->animIndex == BEAVER_ANIM_BOW)) {
|
||||
SubS_ChangeAnimationBySpeedInfo(&this->skelAnime, sAnimationInfo, BEAVER_ANIM_IDLE, &this->animIndex);
|
||||
}
|
||||
func_80A97410(this, play);
|
||||
if ((this->unk_2FA == 1) || (this->unk_2FA == 3) || (this->unk_2FA == 6) || (this->unk_2FA == 8)) {
|
||||
|
|
@ -1439,7 +1513,8 @@ void func_80A97EAC(EnAz* this, PlayState* play) {
|
|||
this->actor.speedXZ = 8.0f;
|
||||
this->actor.gravity = 0.0f;
|
||||
this->actor.velocity.y = 6.0f;
|
||||
SubS_ChangeAnimationBySpeedInfo(&this->skelAnime, sAnimationInfo, 2, &this->animIndex);
|
||||
SubS_ChangeAnimationBySpeedInfo(&this->skelAnime, sAnimationInfo, BEAVER_ANIM_SWIM_WITH_SPINNING_TAIL,
|
||||
&this->animIndex);
|
||||
this->actor.flags |= ACTOR_FLAG_8000000;
|
||||
this->actor.flags &= ~(ACTOR_FLAG_1 | ACTOR_FLAG_8);
|
||||
this->actor.bgCheckFlags &= ~0x21;
|
||||
|
|
@ -1603,17 +1678,18 @@ void EnAz_Update(Actor* thisx, PlayState* play2) {
|
|||
}
|
||||
}
|
||||
|
||||
static Gfx* D_80A9916C[5] = {
|
||||
object_az_DL_01A600, object_az_DL_01A730, object_az_DL_01A860, object_az_DL_01A990, object_az_DL_01AAC0,
|
||||
static Gfx* D_80A9916C[] = {
|
||||
gBeaverOlderBrotherTailVortex1DL, gBeaverOlderBrotherTailVortex2DL, gBeaverOlderBrotherTailVortex3DL,
|
||||
gBeaverOlderBrotherTailVortex4DL, gBeaverOlderBrotherTailVortex5DL,
|
||||
};
|
||||
static AnimatedMaterial* D_80A99180[5] = {
|
||||
object_az_Matanimheader_01A6E8, object_az_Matanimheader_01A818, object_az_Matanimheader_01A948,
|
||||
object_az_Matanimheader_01AA78, object_az_Matanimheader_01ABA8,
|
||||
static AnimatedMaterial* D_80A99180[] = {
|
||||
gBeaverOlderBrotherTailVortex1TexAnim, gBeaverOlderBrotherTailVortex2TexAnim, gBeaverOlderBrotherTailVortex3TexAnim,
|
||||
gBeaverOlderBrotherTailVortex4TexAnim, gBeaverOlderBrotherTailVortex5TexAnim,
|
||||
};
|
||||
static u8 D_80A99194[5] = {
|
||||
static u8 D_80A99194[] = {
|
||||
95, 135, 175, 215, 255,
|
||||
};
|
||||
static u8 D_80A9919C[5] = {
|
||||
static u8 D_80A9919C[] = {
|
||||
31, 45, 58, 73, 85,
|
||||
};
|
||||
static struct_80124618 D_80A991A4[5][9] = {
|
||||
|
|
@ -1680,26 +1756,26 @@ static struct_80A98F94 D_80A9930C[5][4] = {
|
|||
{ { 0, 1900.0f }, { 4, 1600.0f }, { 10, 2200.0f }, { 16, 1900.0f } },
|
||||
{ { 0, 1900.0f }, { 7, 1400.0f }, { 16, 1900.0f }, { 0, 0.0f } },
|
||||
};
|
||||
static Vec3f D_80A993AC[3] = {
|
||||
static Vec3f D_80A993AC[] = {
|
||||
{ 1.0f, 1.0f, 0.0f },
|
||||
{ 0.9f, 0.9f, 120.0f },
|
||||
{ 0.95f, 0.95f, 240.0f },
|
||||
};
|
||||
static Vec3f D_80A993D0[3] = {
|
||||
static Vec3f D_80A993D0[] = {
|
||||
{ 1.5f, 1.5f, 0.0f },
|
||||
{ 1.2f, 1.2f, 120.0f },
|
||||
{ 1.35f, 1.35f, 240.0f },
|
||||
};
|
||||
static TexturePtr D_80A993F4[4] = {
|
||||
object_az_Tex_00F918,
|
||||
object_az_Tex_010118,
|
||||
object_az_Tex_010918,
|
||||
object_az_Tex_011118,
|
||||
static TexturePtr sYoungerBrotherEyeTextures[] = {
|
||||
gBeaverYoungerBrotherEye1Tex,
|
||||
gBeaverYoungerBrotherEye2Tex,
|
||||
gBeaverYoungerBrotherEye3Tex,
|
||||
gBeaverYoungerBrotherEye4Tex,
|
||||
};
|
||||
static TexturePtr D_80A99404[3] = {
|
||||
object_az_Tex_016018,
|
||||
object_az_Tex_016818,
|
||||
object_az_Tex_017018,
|
||||
static TexturePtr sYoungerBrotherBeltTextures[] = {
|
||||
gBeaverYoungerBrotherBeltRedTex,
|
||||
gBeaverYoungerBrotherBeltGreenTex,
|
||||
gBeaverYoungerBrotherBeltBlueTex,
|
||||
};
|
||||
|
||||
void EnAz_Draw(Actor* thisx, PlayState* play2) {
|
||||
|
|
@ -1715,8 +1791,8 @@ void EnAz_Draw(Actor* thisx, PlayState* play2) {
|
|||
func_80A98DA4, func_80A98E48, &this->actor);
|
||||
} else {
|
||||
OPEN_DISPS(play->state.gfxCtx);
|
||||
gSPSegment(POLY_OPA_DISP++, 0x08, Lib_SegmentedToVirtual(D_80A993F4[this->unk_37E]));
|
||||
gSPSegment(POLY_OPA_DISP++, 0x09, Lib_SegmentedToVirtual(D_80A99404[this->unk_380]));
|
||||
gSPSegment(POLY_OPA_DISP++, 0x08, Lib_SegmentedToVirtual(sYoungerBrotherEyeTextures[this->unk_37E]));
|
||||
gSPSegment(POLY_OPA_DISP++, 0x09, Lib_SegmentedToVirtual(sYoungerBrotherBeltTextures[this->unk_380]));
|
||||
SkelAnime_DrawFlexOpa(play, this->skelAnime.skeleton, this->skelAnime.jointTable, this->skelAnime.dListCount,
|
||||
func_80A98DA4, func_80A98E48, &this->actor);
|
||||
CLOSE_DISPS(play->state.gfxCtx);
|
||||
|
|
@ -1767,13 +1843,13 @@ void EnAz_Draw(Actor* thisx, PlayState* play2) {
|
|||
gSPSegment(POLY_XLU_DISP++, 0x08, Gfx_PrimColor(play->state.gfxCtx, 0x80, 255, 255, 255, 85));
|
||||
}
|
||||
gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(play->state.gfxCtx), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
|
||||
gSPDisplayList(POLY_XLU_DISP++, object_az_DL_01ABF0);
|
||||
gSPDisplayList(POLY_XLU_DISP++, gBeaverYoungerBrotherTailVortexDL);
|
||||
Matrix_Pop();
|
||||
Matrix_Translate(0.0f, 2000.0f, -2100.0f, MTXMODE_APPLY);
|
||||
Matrix_RotateZS(D_80A993D0[this->unk_384].z * (0x10000 / 360.0f), MTXMODE_APPLY);
|
||||
Matrix_Scale(D_80A993D0[this->unk_384].x, D_80A993D0[this->unk_384].y, 0.0f, MTXMODE_APPLY);
|
||||
gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(play->state.gfxCtx), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
|
||||
gSPDisplayList(POLY_XLU_DISP++, object_az_DL_01AD00);
|
||||
gSPDisplayList(POLY_XLU_DISP++, gBeaverYoungerBrotherTailSplashDL);
|
||||
}
|
||||
}
|
||||
CLOSE_DISPS(play->state.gfxCtx);
|
||||
|
|
@ -1782,20 +1858,20 @@ void EnAz_Draw(Actor* thisx, PlayState* play2) {
|
|||
s32 func_80A98DA4(PlayState* play, s32 limbIndex, Gfx** dList, Vec3f* pos, Vec3s* rot, Actor* thisx) {
|
||||
EnAz* this = THIS;
|
||||
|
||||
if ((limbIndex == OBJECT_AZ_1_LIMB_NONE) && ((play->gameplayFrames % 2) != 0)) {
|
||||
if ((limbIndex == BEAVER_OLDER_BROTHER_LIMB_NONE) && ((play->gameplayFrames % 2) != 0)) {
|
||||
*dList = NULL;
|
||||
}
|
||||
if (limbIndex == OBJECT_AZ_1_LIMB_NONE) {
|
||||
if (limbIndex == BEAVER_OLDER_BROTHER_LIMB_NONE) {
|
||||
rot->x = rot->x;
|
||||
rot->y = rot->y;
|
||||
rot->z = rot->z;
|
||||
}
|
||||
if (limbIndex == OBJECT_AZ_1_LIMB_03) {
|
||||
if (limbIndex == BEAVER_OLDER_BROTHER_LIMB_PELVIS) {
|
||||
rot->y -= this->unk_39E;
|
||||
} else {
|
||||
// this space intentionally left blank
|
||||
}
|
||||
if (limbIndex == OBJECT_AZ_1_LIMB_05) {
|
||||
if (limbIndex == BEAVER_OLDER_BROTHER_LIMB_HEAD_ROOT) {
|
||||
rot->x += this->unk_3D4;
|
||||
rot->y -= this->unk_3D6;
|
||||
}
|
||||
|
|
@ -1808,7 +1884,7 @@ void func_80A98E48(PlayState* play, s32 limbIndex, Gfx** dList, Vec3s* rot, Acto
|
|||
static Vec3f D_80A99428 = { -1200.0f, 0.0f, 1000.0f };
|
||||
EnAz* this = THIS;
|
||||
|
||||
if (limbIndex == OBJECT_AZ_1_LIMB_03) {
|
||||
if (limbIndex == BEAVER_OLDER_BROTHER_LIMB_PELVIS) {
|
||||
Matrix_MultVec3f(&D_80A99410, &this->unk_3A8);
|
||||
Math_SmoothStepToF(&this->unk_3A4, this->unk_3A8.y - this->actor.world.pos.y, 0.8f, 10.0f, 0.01f);
|
||||
if (this->unk_374 & 2) {
|
||||
|
|
@ -1819,18 +1895,18 @@ void func_80A98E48(PlayState* play, s32 limbIndex, Gfx** dList, Vec3s* rot, Acto
|
|||
}
|
||||
}
|
||||
|
||||
void func_80A98EFC(EnAz* this, PlayState* play, u16 textId, s32 arg3, s32 arg4) {
|
||||
void func_80A98EFC(EnAz* this, PlayState* play, u16 textId, s32 animIndex, s32 brotherAnimIndex) {
|
||||
EnAz* brother = this->brother;
|
||||
|
||||
Actor_ChangeFocus(&this->actor, play, &brother->actor);
|
||||
if (arg3 >= 0) {
|
||||
SubS_ChangeAnimationBySpeedInfo(&this->skelAnime, sAnimationInfo, arg3, &this->animIndex);
|
||||
if (animIndex >= 0) {
|
||||
SubS_ChangeAnimationBySpeedInfo(&this->skelAnime, sAnimationInfo, animIndex, &this->animIndex);
|
||||
}
|
||||
this->actor.textId = 0;
|
||||
brother->actor.textId = textId;
|
||||
brother->unk_378 = 5;
|
||||
if ((arg4 >= 0) && (arg4 != brother->animIndex)) {
|
||||
SubS_ChangeAnimationBySpeedInfo(&brother->skelAnime, sAnimationInfo, arg4, &brother->animIndex);
|
||||
if ((brotherAnimIndex >= 0) && (brotherAnimIndex != brother->animIndex)) {
|
||||
SubS_ChangeAnimationBySpeedInfo(&brother->skelAnime, sAnimationInfo, brotherAnimIndex, &brother->animIndex);
|
||||
}
|
||||
this->unk_378 = 0;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -12442,8 +12442,8 @@
|
|||
0x80A9930C:("D_80A9930C","UNK_TYPE1","",0x1),
|
||||
0x80A993AC:("D_80A993AC","UNK_TYPE1","",0x1),
|
||||
0x80A993D0:("D_80A993D0","UNK_TYPE1","",0x1),
|
||||
0x80A993F4:("D_80A993F4","UNK_TYPE1","",0x1),
|
||||
0x80A99404:("D_80A99404","UNK_TYPE1","",0x1),
|
||||
0x80A993F4:("sYoungerBrotherEyeTextures","UNK_TYPE1","",0x1),
|
||||
0x80A99404:("sYoungerBrotherBeltTextures","UNK_TYPE1","",0x1),
|
||||
0x80A99410:("D_80A99410","UNK_TYPE1","",0x1),
|
||||
0x80A9941C:("D_80A9941C","UNK_TYPE1","",0x1),
|
||||
0x80A99428:("D_80A99428","UNK_TYPE1","",0x1),
|
||||
|
|
|
|||
Loading…
Reference in New Issue