mirror of
https://github.com/zeldaret/mm.git
synced 2026-07-07 13:03:29 -04:00
Document object_dnq (Deku Princess) (#1130)
* Document object_dnq (Deku Princess) * Respond to reviews
This commit is contained in:
@@ -1,88 +1,100 @@
|
||||
<Root>
|
||||
<!-- Assets for the Deku Princess. -->
|
||||
<File Name="object_dnq" Segment="6">
|
||||
<Animation Name="object_dnq_Anim_0007D8" Offset="0x7D8" />
|
||||
<Animation Name="object_dnq_Anim_00125C" Offset="0x125C" />
|
||||
<Animation Name="object_dnq_Anim_0017F8" Offset="0x17F8" />
|
||||
<Animation Name="object_dnq_Anim_001C1C" Offset="0x1C1C" />
|
||||
<Animation Name="object_dnq_Anim_0021DC" Offset="0x21DC" />
|
||||
<Animation Name="object_dnq_Anim_0026B8" Offset="0x26B8" />
|
||||
<Animation Name="object_dnq_Anim_004D08" Offset="0x4D08" />
|
||||
<Animation Name="object_dnq_Anim_0057AC" Offset="0x57AC" />
|
||||
<Animation Name="object_dnq_Anim_00625C" Offset="0x625C" />
|
||||
<Animation Name="object_dnq_Anim_00674C" Offset="0x674C" />
|
||||
<Animation Name="object_dnq_Anim_006B74" Offset="0x6B74" />
|
||||
<Animation Name="object_dnq_Anim_0071F4" Offset="0x71F4" />
|
||||
<Animation Name="object_dnq_Anim_007960" Offset="0x7960" />
|
||||
<Animation Name="object_dnq_Anim_008588" Offset="0x8588" />
|
||||
<Animation Name="object_dnq_Anim_00923C" Offset="0x923C" />
|
||||
<Animation Name="object_dnq_Anim_009AA0" Offset="0x9AA0" />
|
||||
<Animation Name="object_dnq_Anim_00A900" Offset="0xA900" />
|
||||
<Animation Name="object_dnq_Anim_00AEB8" Offset="0xAEB8" />
|
||||
<Animation Name="object_dnq_Anim_00B324" Offset="0xB324" />
|
||||
<Animation Name="object_dnq_Anim_00B754" Offset="0xB754" />
|
||||
<Animation Name="object_dnq_Anim_00BAD8" Offset="0xBAD8" />
|
||||
<DList Name="object_dnq_DL_00D670" Offset="0xD670" />
|
||||
<DList Name="object_dnq_DL_00D978" Offset="0xD978" />
|
||||
<DList Name="object_dnq_DL_00DA08" Offset="0xDA08" />
|
||||
<DList Name="object_dnq_DL_00DAA0" Offset="0xDAA0" />
|
||||
<DList Name="object_dnq_DL_00DB38" Offset="0xDB38" />
|
||||
<DList Name="object_dnq_DL_00DBD0" Offset="0xDBD0" />
|
||||
<DList Name="object_dnq_DL_00DC68" Offset="0xDC68" />
|
||||
<DList Name="object_dnq_DL_00DD00" Offset="0xDD00" />
|
||||
<DList Name="object_dnq_DL_00DD98" Offset="0xDD98" />
|
||||
<DList Name="object_dnq_DL_00DE30" Offset="0xDE30" />
|
||||
<DList Name="object_dnq_DL_00DEC8" Offset="0xDEC8" />
|
||||
<DList Name="object_dnq_DL_00E018" Offset="0xE018" />
|
||||
<DList Name="object_dnq_DL_00E1C8" Offset="0xE1C8" />
|
||||
<DList Name="object_dnq_DL_00E260" Offset="0xE260" />
|
||||
<DList Name="object_dnq_DL_00E2F8" Offset="0xE2F8" />
|
||||
<DList Name="object_dnq_DL_00E340" Offset="0xE340" />
|
||||
<DList Name="object_dnq_DL_00E410" Offset="0xE410" />
|
||||
<DList Name="object_dnq_DL_00E530" Offset="0xE530" />
|
||||
<DList Name="object_dnq_DL_00E650" Offset="0xE650" />
|
||||
<DList Name="object_dnq_DL_00E768" Offset="0xE768" />
|
||||
<DList Name="object_dnq_DL_00E888" Offset="0xE888" />
|
||||
<DList Name="object_dnq_DL_00E9A8" Offset="0xE9A8" />
|
||||
<DList Name="object_dnq_DL_00EAC0" Offset="0xEAC0" />
|
||||
<DList Name="object_dnq_DL_00EBD8" Offset="0xEBD8" />
|
||||
<Texture Name="object_dnq_Tex_00ECD0" OutName="tex_00ECD0" Format="rgba16" Width="16" Height="32" Offset="0xECD0" />
|
||||
<Texture Name="object_dnq_Tex_00F0D0" OutName="tex_00F0D0" Format="rgba16" Width="16" Height="32" Offset="0xF0D0" />
|
||||
<Texture Name="object_dnq_Tex_00F4D0" OutName="tex_00F4D0" Format="rgba16" Width="4" Height="16" Offset="0xF4D0" />
|
||||
<Texture Name="object_dnq_Tex_00F550" OutName="tex_00F550" Format="rgba16" Width="8" Height="8" Offset="0xF550" />
|
||||
<Texture Name="object_dnq_Tex_00F5D0" OutName="tex_00F5D0" Format="rgba16" Width="16" Height="16" Offset="0xF5D0" />
|
||||
<Texture Name="object_dnq_Tex_00F7D0" OutName="tex_00F7D0" Format="rgba16" Width="32" Height="32" Offset="0xF7D0" />
|
||||
<Texture Name="object_dnq_Tex_00FFD0" OutName="tex_00FFD0" Format="rgba16" Width="16" Height="32" Offset="0xFFD0" />
|
||||
<Texture Name="object_dnq_Tex_0103D0" OutName="tex_0103D0" Format="rgba16" Width="16" Height="16" Offset="0x103D0" />
|
||||
<Texture Name="object_dnq_Tex_0105D0" OutName="tex_0105D0" Format="rgba16" Width="16" Height="16" Offset="0x105D0" />
|
||||
<Texture Name="object_dnq_Tex_0107D0" OutName="tex_0107D0" Format="rgba16" Width="16" Height="16" Offset="0x107D0" />
|
||||
<Texture Name="object_dnq_Tex_0109D0" OutName="tex_0109D0" Format="rgba16" Width="16" Height="16" Offset="0x109D0" />
|
||||
<Limb Name="object_dnq_Standardlimb_010BD0" Type="Standard" EnumName="OBJECT_DNQ_LIMB_01" Offset="0x10BD0" />
|
||||
<Limb Name="object_dnq_Standardlimb_010BDC" Type="Standard" EnumName="OBJECT_DNQ_LIMB_02" Offset="0x10BDC" />
|
||||
<Limb Name="object_dnq_Standardlimb_010BE8" Type="Standard" EnumName="OBJECT_DNQ_LIMB_03" Offset="0x10BE8" />
|
||||
<Limb Name="object_dnq_Standardlimb_010BF4" Type="Standard" EnumName="OBJECT_DNQ_LIMB_04" Offset="0x10BF4" />
|
||||
<Limb Name="object_dnq_Standardlimb_010C00" Type="Standard" EnumName="OBJECT_DNQ_LIMB_05" Offset="0x10C00" />
|
||||
<Limb Name="object_dnq_Standardlimb_010C0C" Type="Standard" EnumName="OBJECT_DNQ_LIMB_06" Offset="0x10C0C" />
|
||||
<Limb Name="object_dnq_Standardlimb_010C18" Type="Standard" EnumName="OBJECT_DNQ_LIMB_07" Offset="0x10C18" />
|
||||
<Limb Name="object_dnq_Standardlimb_010C24" Type="Standard" EnumName="OBJECT_DNQ_LIMB_08" Offset="0x10C24" />
|
||||
<Limb Name="object_dnq_Standardlimb_010C30" Type="Standard" EnumName="OBJECT_DNQ_LIMB_09" Offset="0x10C30" />
|
||||
<Limb Name="object_dnq_Standardlimb_010C3C" Type="Standard" EnumName="OBJECT_DNQ_LIMB_0A" Offset="0x10C3C" />
|
||||
<Limb Name="object_dnq_Standardlimb_010C48" Type="Standard" EnumName="OBJECT_DNQ_LIMB_0B" Offset="0x10C48" />
|
||||
<Limb Name="object_dnq_Standardlimb_010C54" Type="Standard" EnumName="OBJECT_DNQ_LIMB_0C" Offset="0x10C54" />
|
||||
<Limb Name="object_dnq_Standardlimb_010C60" Type="Standard" EnumName="OBJECT_DNQ_LIMB_0D" Offset="0x10C60" />
|
||||
<Limb Name="object_dnq_Standardlimb_010C6C" Type="Standard" EnumName="OBJECT_DNQ_LIMB_0E" Offset="0x10C6C" />
|
||||
<Limb Name="object_dnq_Standardlimb_010C78" Type="Standard" EnumName="OBJECT_DNQ_LIMB_0F" Offset="0x10C78" />
|
||||
<Limb Name="object_dnq_Standardlimb_010C84" Type="Standard" EnumName="OBJECT_DNQ_LIMB_10" Offset="0x10C84" />
|
||||
<Limb Name="object_dnq_Standardlimb_010C90" Type="Standard" EnumName="OBJECT_DNQ_LIMB_11" Offset="0x10C90" />
|
||||
<Limb Name="object_dnq_Standardlimb_010C9C" Type="Standard" EnumName="OBJECT_DNQ_LIMB_12" Offset="0x10C9C" />
|
||||
<Limb Name="object_dnq_Standardlimb_010CA8" Type="Standard" EnumName="OBJECT_DNQ_LIMB_13" Offset="0x10CA8" />
|
||||
<Limb Name="object_dnq_Standardlimb_010CB4" Type="Standard" EnumName="OBJECT_DNQ_LIMB_14" Offset="0x10CB4" />
|
||||
<Limb Name="object_dnq_Standardlimb_010CC0" Type="Standard" EnumName="OBJECT_DNQ_LIMB_15" Offset="0x10CC0" />
|
||||
<Limb Name="object_dnq_Standardlimb_010CCC" Type="Standard" EnumName="OBJECT_DNQ_LIMB_16" Offset="0x10CCC" />
|
||||
<Limb Name="object_dnq_Standardlimb_010CD8" Type="Standard" EnumName="OBJECT_DNQ_LIMB_17" Offset="0x10CD8" />
|
||||
<Limb Name="object_dnq_Standardlimb_010CE4" Type="Standard" EnumName="OBJECT_DNQ_LIMB_18" Offset="0x10CE4" />
|
||||
<Limb Name="object_dnq_Standardlimb_010CF0" Type="Standard" EnumName="OBJECT_DNQ_LIMB_19" Offset="0x10CF0" />
|
||||
<Skeleton Name="object_dnq_Skel_010D60" Type="Flex" LimbType="Standard" LimbNone="OBJECT_DNQ_LIMB_NONE" LimbMax="OBJECT_DNQ_LIMB_MAX" EnumName="ObjectDnpLimb" Offset="0x10D60" />
|
||||
<Animation Name="object_dnq_Anim_0115B8" Offset="0x115B8" />
|
||||
<Animation Name="object_dnq_Anim_012428" Offset="0x12428" />
|
||||
<!-- Deku Princess Animations -->
|
||||
<Animation Name="gDekuPrincessJumpKickAnim" Offset="0x7D8" /> <!-- Original name is "dnq_atack" -->
|
||||
<Animation Name="gDekuPrincessJumpAnim" Offset="0x125C" /> <!-- Original name is "dnq_attack1" -->
|
||||
<Animation Name="gDekuPrincessBounceStartAnim" Offset="0x17F8" /> <!-- Original name is "dnq_attack2" -->
|
||||
<Animation Name="gDekuPrincessBounceLoopAnim" Offset="0x1C1C" /> <!-- Original name is "dnq_attack2_loop" -->
|
||||
<Animation Name="gDekuPrincessHurryAnim" Offset="0x21DC" /> <!-- Original name is "dnq_awate" ("to hurry; to rush; to hasten") -->
|
||||
<Animation Name="gDekuPrincessHurryEndAnim" Offset="0x26B8" /> <!-- Original name is "dnq_awateTOwait" -->
|
||||
<Animation Name="gDekuPrincessScoldAnim" Offset="0x4D08" /> <!-- Original name is "dnq_baka" ("idiot; moron; fool") -->
|
||||
<Animation Name="gDekuPrincessGlareStartAnim" Offset="0x57AC" /> <!-- Original name is "dnq_gekido" ("rage; fury") -->
|
||||
<Animation Name="gDekuPrincessGlareLoopAnim" Offset="0x625C" /> <!-- Origianl name is "dnq_gekido_loop" -->
|
||||
<Animation Name="gDekuPrincessThinkLoopAnim" Offset="0x674C" /> <!-- Original name is "dnq_hatena" ("question") -->
|
||||
<Animation Name="gDekuPrincessArmsTogetherLoopAnim" Offset="0x6B74" /> <!-- Original name is "dnq_ho" -->
|
||||
<Animation Name="gDekuPrincessLaughStartAnim" Offset="0x71F4" /> <!-- Original name is "dnq_hoTOhohoho" -->
|
||||
<Animation Name="gDekuPrincessLaughLoopAnim" Offset="0x7960" /> <!-- Original name is "dnq_hohoho" -->
|
||||
<Animation Name="gDekuPrincessTurnAroundAnim" Offset="0x8588" /> <!-- Original name is "dnq_maji" (from her Japanese dialogue, like "really?!" or "seriously?!")-->
|
||||
<Animation Name="gDekuPrincessAngryStartAnim" Offset="0x923C" /> <!-- Original name is "dnq_okoru" ("to get angry; to get mad") -->
|
||||
<Animation Name="gDekuPrincessAngryLoopAnim" Offset="0x9AA0" /> <!-- Original name is "dnq_okoru_loop" -->
|
||||
<Animation Name="gDekuPrincessBowAnim" Offset="0xA900" /> <!-- Original name is "dnq_orei" ("bow") -->
|
||||
<Animation Name="gDekuPrincessRunAnim" Offset="0xAEB8" /> <!-- Original name is "dnq_run" -->
|
||||
<Animation Name="gDekuPrincessIdleAnim" Offset="0xB324" /> <!-- Original name is "dnq_wait" -->
|
||||
<Animation Name="gDekuPrincessThinkStartAnim" Offset="0xB754" /> <!-- Original name is "dnq_waitTOhatena" -->
|
||||
<Animation Name="gDekuPrincessArmsTogetherStartAnim" Offset="0xBAD8" /> <!-- Original name is "dnq_waitTOho" -->
|
||||
|
||||
<!-- Deku Princess Limb DisplayLists -->
|
||||
<DList Name="gDekuPrincessHeadDL" Offset="0xD670" />
|
||||
<DList Name="gDekuPrincessEyesDL" Offset="0xD978" />
|
||||
<DList Name="gDekuPrincessHair9DL" Offset="0xDA08" />
|
||||
<DList Name="gDekuPrincessHair8DL" Offset="0xDAA0" />
|
||||
<DList Name="gDekuPrincessHair7DL" Offset="0xDB38" />
|
||||
<DList Name="gDekuPrincessHair6DL" Offset="0xDBD0" />
|
||||
<DList Name="gDekuPrincessHair5DL" Offset="0xDC68" />
|
||||
<DList Name="gDekuPrincessHair4DL" Offset="0xDD00" />
|
||||
<DList Name="gDekuPrincessHair3DL" Offset="0xDD98" />
|
||||
<DList Name="gDekuPrincessHair2DL" Offset="0xDE30" />
|
||||
<DList Name="gDekuPrincessHair1DL" Offset="0xDEC8" />
|
||||
<DList Name="gDekuPrincessSnoutDL" Offset="0xE018" />
|
||||
<DList Name="gDekuPrincessRightEarringDL" Offset="0xE1C8" />
|
||||
<DList Name="gDekuPrincessLeftEarringDL" Offset="0xE260" />
|
||||
<DList Name="gDekuPrincessNeckDL" Offset="0xE2F8" /> <!-- Renders a single triangle instead of a normal-looking limb -->
|
||||
<DList Name="gDekuPrincessTorsoDL" Offset="0xE340" />
|
||||
<DList Name="gDekuPrincessRightSleeveEndDL" Offset="0xE410" />
|
||||
<DList Name="gDekuPrincessRightForearmDL" Offset="0xE530" />
|
||||
<DList Name="gDekuPrincessRightUpperArmDL" Offset="0xE650" />
|
||||
<DList Name="gDekuPrincessLeftSleeveEndDL" Offset="0xE768" />
|
||||
<DList Name="gDekuPrincessLeftForearmDL" Offset="0xE888" />
|
||||
<DList Name="gDekuPrincessLeftUpperArmDL" Offset="0xE9A8" />
|
||||
<DList Name="gDekuPrincessDressDL" Offset="0xEAC0" />
|
||||
<DList Name="gDekuPrincessDressTrainDL" Offset="0xEBD8" />
|
||||
|
||||
<!-- Deku Princess Textures -->
|
||||
<Texture Name="gDekuPrincessPetalTex" OutName="deku_princess_petal" Format="rgba16" Width="16" Height="32" Offset="0xECD0" />
|
||||
<Texture Name="gDekuPrincessHairLeafTex" OutName="deku_princess_hair_leaf" Format="rgba16" Width="16" Height="32" Offset="0xF0D0" />
|
||||
<Texture Name="gDekuPrincessHeadTex" OutName="deku_princess_head" Format="rgba16" Width="4" Height="16" Offset="0xF4D0" />
|
||||
<Texture Name="gDekuPrincessMouthTex" OutName="deku_princess_mouth" Format="rgba16" Width="8" Height="8" Offset="0xF550" />
|
||||
<Texture Name="gDekuPrincessFaceTex" OutName="deku_princess_face" Format="rgba16" Width="16" Height="16" Offset="0xF5D0" />
|
||||
<Texture Name="gDekuPrincessDressTex" OutName="deku_princess_dress" Format="rgba16" Width="32" Height="32" Offset="0xF7D0" />
|
||||
<Texture Name="gDekuPrincessSleeveTex" OutName="deku_princess_sleeve" Format="rgba16" Width="16" Height="32" Offset="0xFFD0" />
|
||||
<Texture Name="gDekuPrincessEyeOpenTex" OutName="deku_princess_eye_open" Format="rgba16" Width="16" Height="16" Offset="0x103D0" />
|
||||
<Texture Name="gDekuPrincessEyeHalfTex" OutName="deku_princess_eye_half" Format="rgba16" Width="16" Height="16" Offset="0x105D0" />
|
||||
<Texture Name="gDekuPrincessEyeClosedTex" OutName="deku_princess_eye_closed" Format="rgba16" Width="16" Height="16" Offset="0x107D0" />
|
||||
<Texture Name="gDekuPrincessEyeAngryTex" OutName="deku_princess_eye_angry" Format="rgba16" Width="16" Height="16" Offset="0x109D0" />
|
||||
|
||||
<!-- Deku Princess Limbs -->
|
||||
<Limb Name="gDekuPrincessRootLimb" Type="Standard" EnumName="DEKU_PRINCESS_LIMB_ROOT" Offset="0x10BD0" />
|
||||
<Limb Name="gDekuPrincessDressLimb" Type="Standard" EnumName="DEKU_PRINCESS_LIMB_DRESS" Offset="0x10BDC" />
|
||||
<Limb Name="gDekuPrincessDressTrainLimb" Type="Standard" EnumName="DEKU_PRINCESS_LIMB_DRESS_TRAIN" Offset="0x10BE8" />
|
||||
<Limb Name="gDekuPrincessTorsoLimb" Type="Standard" EnumName="DEKU_PRINCESS_LIMB_TORSO" Offset="0x10BF4" />
|
||||
<Limb Name="gDekuPrincessLeftUpperArmLimb" Type="Standard" EnumName="DEKU_PRINCESS_LIMB_LEFT_UPPER_ARM" Offset="0x10C00" />
|
||||
<Limb Name="gDekuPrincessLeftForearmLimb" Type="Standard" EnumName="DEKU_PRINCESS_LIMB_LEFT_FOREARM" Offset="0x10C0C" />
|
||||
<Limb Name="gDekuPrincessLeftSleeveEndLimb" Type="Standard" EnumName="DEKU_PRINCESS_LIMB_LEFT_SLEEVE_END" Offset="0x10C18" />
|
||||
<Limb Name="gDekuPrincessRightUpperArmLimb" Type="Standard" EnumName="DEKU_PRINCESS_LIMB_RIGHT_UPPER_ARM" Offset="0x10C24" />
|
||||
<Limb Name="gDekuPrincessRightForearmLimb" Type="Standard" EnumName="DEKU_PRINCESS_LIMB_RIGHT_FOREARM" Offset="0x10C30" />
|
||||
<Limb Name="gDekuPrincessRightSleeveEndLimb" Type="Standard" EnumName="DEKU_PRINCESS_LIMB_RIGHT_SLEEVE_END" Offset="0x10C3C" />
|
||||
<Limb Name="gDekuPrincessNeckLimb" Type="Standard" EnumName="DEKU_PRINCESS_LIMB_NECK" Offset="0x10C48" />
|
||||
<Limb Name="gDekuPrincessHeadLimb" Type="Standard" EnumName="DEKU_PRINCESS_LIMB_HEAD" Offset="0x10C54" />
|
||||
<Limb Name="gDekuPrincessLeftEarringLimb" Type="Standard" EnumName="DEKU_PRINCESS_LIMB_LEFT_EARRING" Offset="0x10C60" />
|
||||
<Limb Name="gDekuPrincessRightEarringLimb" Type="Standard" EnumName="DEKU_PRINCESS_LIMB_RIGHT_EARRING" Offset="0x10C6C" />
|
||||
<Limb Name="gDekuPrincessSnoutLimb" Type="Standard" EnumName="DEKU_PRINCESS_LIMB_SNOUT" Offset="0x10C78" />
|
||||
<Limb Name="gDekuPrincessHair1Limb" Type="Standard" EnumName="DEKU_PRINCESS_LIMB_HAIR_1" Offset="0x10C84" />
|
||||
<Limb Name="gDekuPrincessHair2Limb" Type="Standard" EnumName="DEKU_PRINCESS_LIMB_HAIR_2" Offset="0x10C90" />
|
||||
<Limb Name="gDekuPrincessHair3Limb" Type="Standard" EnumName="DEKU_PRINCESS_LIMB_HAIR_3" Offset="0x10C9C" />
|
||||
<Limb Name="gDekuPrincessHair4Limb" Type="Standard" EnumName="DEKU_PRINCESS_LIMB_HAIR_4" Offset="0x10CA8" />
|
||||
<Limb Name="gDekuPrincessHair5Limb" Type="Standard" EnumName="DEKU_PRINCESS_LIMB_HAIR_5" Offset="0x10CB4" />
|
||||
<Limb Name="gDekuPrincessHair6Limb" Type="Standard" EnumName="DEKU_PRINCESS_LIMB_HAIR_6" Offset="0x10CC0" />
|
||||
<Limb Name="gDekuPrincessHair7Limb" Type="Standard" EnumName="DEKU_PRINCESS_LIMB_HAIR_7" Offset="0x10CCC" />
|
||||
<Limb Name="gDekuPrincessHair8Limb" Type="Standard" EnumName="DEKU_PRINCESS_LIMB_HAIR_8" Offset="0x10CD8" />
|
||||
<Limb Name="gDekuPrincessHair9Limb" Type="Standard" EnumName="DEKU_PRINCESS_LIMB_HAIR_9" Offset="0x10CE4" />
|
||||
<Limb Name="gDekuPrincessEyesLimb" Type="Standard" EnumName="DEKU_PRINCESS_LIMB_EYES" Offset="0x10CF0" />
|
||||
|
||||
<!-- Deku Princess Skeleton -->
|
||||
<Skeleton Name="gDekuPrincessSkel" Type="Flex" LimbType="Standard" LimbNone="DEKU_PRINCESS_LIMB_NONE" LimbMax="DEKU_PRINCESS_LIMB_MAX" EnumName="DekuPrincessLimb" Offset="0x10D60" />
|
||||
|
||||
<!-- Deku Princess Animations -->
|
||||
<Animation Name="gDekuPrincessWalkAnim" Offset="0x115B8" /> <!-- Original name is "dnq_walk" -->
|
||||
<Animation Name="gDekuPrincessGreetingAnim" Offset="0x12428" /> <!-- Original name is "dnq_yorosiku" (probably short for "pleased to meet you") -->
|
||||
</File>
|
||||
</Root>
|
||||
|
||||
@@ -8,7 +8,6 @@
|
||||
*/
|
||||
|
||||
#include "z_en_dnp.h"
|
||||
#include "objects/object_dnq/object_dnq.h"
|
||||
|
||||
#define FLAGS (ACTOR_FLAG_1 | ACTOR_FLAG_8 | ACTOR_FLAG_10)
|
||||
|
||||
@@ -25,6 +24,14 @@ void func_80B3D338(EnDnp* this, PlayState* play);
|
||||
void func_80B3D3F8(EnDnp* this, PlayState* play);
|
||||
void func_80B3D558(EnDnp* this, PlayState* play);
|
||||
|
||||
typedef enum {
|
||||
/* 0 */ EN_DNP_EYE_OPEN,
|
||||
/* 1 */ EN_DNP_EYE_HALF,
|
||||
/* 2 */ EN_DNP_EYE_CLOSED,
|
||||
/* 3 */ EN_DNP_EYE_ANGRY,
|
||||
/* 4 */ EN_DNP_EYE_MAX,
|
||||
} EnDnpEyeIndex;
|
||||
|
||||
ActorInit En_Dnp_InitVars = {
|
||||
ACTOR_EN_DNP,
|
||||
ACTORCAT_NPC,
|
||||
@@ -59,33 +66,63 @@ static ColliderCylinderInit sCylinderInit = {
|
||||
|
||||
static CollisionCheckInfoInit2 sColChkInfoInit = { 0, 0, 0, 0, MASS_IMMOVABLE };
|
||||
|
||||
typedef enum {
|
||||
/* -1 */ EN_DNP_ANIM_NONE = -1,
|
||||
/* 0 */ EN_DNP_ANIM_JUMP_KICK, // Can be triggered by a cutscene, but no cutscene in the final game does so
|
||||
/* 1 */ EN_DNP_ANIM_HURRY,
|
||||
/* 2 */ EN_DNP_ANIM_CUTSCENE_HURRY,
|
||||
/* 3 */ EN_DNP_ANIM_HURRY_END,
|
||||
/* 4 */ EN_DNP_ANIM_SCOLD, // Unused
|
||||
/* 5 */ EN_DNP_ANIM_LAUGH_START,
|
||||
/* 6 */ EN_DNP_ANIM_LAUGH_LOOP,
|
||||
/* 7 */ EN_DNP_ANIM_TURN_AROUND,
|
||||
/* 8 */ EN_DNP_ANIM_BOW,
|
||||
/* 9 */ EN_DNP_ANIM_RUN, // Unused
|
||||
/* 10 */ EN_DNP_ANIM_THINK_START,
|
||||
/* 11 */ EN_DNP_ANIM_THINK_LOOP,
|
||||
/* 12 */ EN_DNP_ANIM_ARMS_TOGETHER_START,
|
||||
/* 13 */ EN_DNP_ANIM_ARMS_TOGETHER_LOOP,
|
||||
/* 14 */ EN_DNP_ANIM_GREETING,
|
||||
/* 15 */ EN_DNP_ANIM_IDLE,
|
||||
/* 16 */ EN_DNP_ANIM_CUTSCENE_IDLE,
|
||||
/* 17 */ EN_DNP_ANIM_UNUSED_WALK, // Unused
|
||||
/* 18 */ EN_DNP_ANIM_WALK, // Can be triggered by a cutscene, but no cutscene in the final game does so
|
||||
/* 19 */ EN_DNP_ANIM_ANGRY_START,
|
||||
/* 20 */ EN_DNP_ANIM_ANGRY_LOOP,
|
||||
/* 21 */ EN_DNP_ANIM_JUMP,
|
||||
/* 22 */ EN_DNP_ANIM_BOUNCE_START,
|
||||
/* 23 */ EN_DNP_ANIM_BOUNCE_LOOP,
|
||||
/* 24 */ EN_DNP_ANIM_GLARE_START,
|
||||
/* 25 */ EN_DNP_ANIM_GLARE_LOOP
|
||||
} EnDnpAnimation;
|
||||
|
||||
static AnimationInfoS sAnimationInfo[] = {
|
||||
{ &object_dnq_Anim_0007D8, 1.0f, 0, -1, ANIMMODE_ONCE, -4 },
|
||||
{ &object_dnq_Anim_0021DC, 1.0f, 0, -1, ANIMMODE_LOOP, 0 },
|
||||
{ &object_dnq_Anim_0021DC, 1.0f, 0, -1, ANIMMODE_LOOP, -4 },
|
||||
{ &object_dnq_Anim_0026B8, 1.0f, 0, -1, ANIMMODE_ONCE, -4 },
|
||||
{ &object_dnq_Anim_004D08, 1.0f, 0, -1, ANIMMODE_ONCE, -4 },
|
||||
{ &object_dnq_Anim_0071F4, 1.0f, 0, -1, ANIMMODE_ONCE, -4 },
|
||||
{ &object_dnq_Anim_007960, 1.0f, 0, -1, ANIMMODE_LOOP, -4 },
|
||||
{ &object_dnq_Anim_008588, 1.0f, 0, -1, ANIMMODE_ONCE, 0 },
|
||||
{ &object_dnq_Anim_00A900, 1.0f, 0, -1, ANIMMODE_LOOP, -4 },
|
||||
{ &object_dnq_Anim_00AEB8, 1.0f, 0, -1, ANIMMODE_LOOP, -4 },
|
||||
{ &object_dnq_Anim_00B754, 1.0f, 0, -1, ANIMMODE_ONCE, -4 },
|
||||
{ &object_dnq_Anim_00674C, 1.0f, 0, -1, ANIMMODE_LOOP, -4 },
|
||||
{ &object_dnq_Anim_00BAD8, 1.0f, 0, -1, ANIMMODE_ONCE, -4 },
|
||||
{ &object_dnq_Anim_006B74, 1.0f, 0, -1, ANIMMODE_LOOP, -4 },
|
||||
{ &object_dnq_Anim_012428, 1.0f, 0, -1, ANIMMODE_LOOP, -4 },
|
||||
{ &object_dnq_Anim_00B324, 1.0f, 0, -1, ANIMMODE_LOOP, 0 },
|
||||
{ &object_dnq_Anim_00B324, 1.0f, 0, -1, ANIMMODE_LOOP, -4 },
|
||||
{ &object_dnq_Anim_0115B8, 1.0f, 0, -1, ANIMMODE_LOOP, -4 },
|
||||
{ &object_dnq_Anim_0115B8, 1.0f, 0, -1, ANIMMODE_LOOP, 0 },
|
||||
{ &object_dnq_Anim_00923C, 1.0f, 0, -1, ANIMMODE_ONCE, -4 },
|
||||
{ &object_dnq_Anim_009AA0, 1.0f, 0, -1, ANIMMODE_LOOP, -4 },
|
||||
{ &object_dnq_Anim_00125C, 1.0f, 0, -1, ANIMMODE_ONCE, -4 },
|
||||
{ &object_dnq_Anim_0017F8, 1.0f, 0, -1, ANIMMODE_ONCE, 0 },
|
||||
{ &object_dnq_Anim_001C1C, 1.0f, 0, -1, ANIMMODE_LOOP, -4 },
|
||||
{ &object_dnq_Anim_0057AC, 1.0f, 0, -1, ANIMMODE_ONCE, 0 },
|
||||
{ &object_dnq_Anim_00625C, 1.0f, 0, -1, ANIMMODE_LOOP, -4 },
|
||||
{ &gDekuPrincessJumpKickAnim, 1.0f, 0, -1, ANIMMODE_ONCE, -4 },
|
||||
{ &gDekuPrincessHurryAnim, 1.0f, 0, -1, ANIMMODE_LOOP, 0 },
|
||||
{ &gDekuPrincessHurryAnim, 1.0f, 0, -1, ANIMMODE_LOOP, -4 },
|
||||
{ &gDekuPrincessHurryEndAnim, 1.0f, 0, -1, ANIMMODE_ONCE, -4 },
|
||||
{ &gDekuPrincessScoldAnim, 1.0f, 0, -1, ANIMMODE_ONCE, -4 },
|
||||
{ &gDekuPrincessLaughStartAnim, 1.0f, 0, -1, ANIMMODE_ONCE, -4 },
|
||||
{ &gDekuPrincessLaughLoopAnim, 1.0f, 0, -1, ANIMMODE_LOOP, -4 },
|
||||
{ &gDekuPrincessTurnAroundAnim, 1.0f, 0, -1, ANIMMODE_ONCE, 0 },
|
||||
{ &gDekuPrincessBowAnim, 1.0f, 0, -1, ANIMMODE_LOOP, -4 },
|
||||
{ &gDekuPrincessRunAnim, 1.0f, 0, -1, ANIMMODE_LOOP, -4 },
|
||||
{ &gDekuPrincessThinkStartAnim, 1.0f, 0, -1, ANIMMODE_ONCE, -4 },
|
||||
{ &gDekuPrincessThinkLoopAnim, 1.0f, 0, -1, ANIMMODE_LOOP, -4 },
|
||||
{ &gDekuPrincessArmsTogetherStartAnim, 1.0f, 0, -1, ANIMMODE_ONCE, -4 },
|
||||
{ &gDekuPrincessArmsTogetherLoopAnim, 1.0f, 0, -1, ANIMMODE_LOOP, -4 },
|
||||
{ &gDekuPrincessGreetingAnim, 1.0f, 0, -1, ANIMMODE_LOOP, -4 },
|
||||
{ &gDekuPrincessIdleAnim, 1.0f, 0, -1, ANIMMODE_LOOP, 0 },
|
||||
{ &gDekuPrincessIdleAnim, 1.0f, 0, -1, ANIMMODE_LOOP, -4 },
|
||||
{ &gDekuPrincessWalkAnim, 1.0f, 0, -1, ANIMMODE_LOOP, -4 },
|
||||
{ &gDekuPrincessWalkAnim, 1.0f, 0, -1, ANIMMODE_LOOP, 0 },
|
||||
{ &gDekuPrincessAngryStartAnim, 1.0f, 0, -1, ANIMMODE_ONCE, -4 },
|
||||
{ &gDekuPrincessAngryLoopAnim, 1.0f, 0, -1, ANIMMODE_LOOP, -4 },
|
||||
{ &gDekuPrincessJumpAnim, 1.0f, 0, -1, ANIMMODE_ONCE, -4 },
|
||||
{ &gDekuPrincessBounceStartAnim, 1.0f, 0, -1, ANIMMODE_ONCE, 0 },
|
||||
{ &gDekuPrincessBounceLoopAnim, 1.0f, 0, -1, ANIMMODE_LOOP, -4 },
|
||||
{ &gDekuPrincessGlareStartAnim, 1.0f, 0, -1, ANIMMODE_ONCE, 0 },
|
||||
{ &gDekuPrincessGlareLoopAnim, 1.0f, 0, -1, ANIMMODE_LOOP, -4 },
|
||||
};
|
||||
|
||||
static s32 D_80B3DE58[] = {
|
||||
@@ -93,38 +130,38 @@ static s32 D_80B3DE58[] = {
|
||||
};
|
||||
|
||||
s32 func_80B3CA20(EnDnp* this) {
|
||||
if ((this->unk_340 == 2) || (this->unk_340 == 9)) {
|
||||
if ((this->animIndex == EN_DNP_ANIM_CUTSCENE_HURRY) || (this->animIndex == EN_DNP_ANIM_RUN)) {
|
||||
if (Animation_OnFrame(&this->skelAnime, 1.0f) || Animation_OnFrame(&this->skelAnime, 5.0f) ||
|
||||
Animation_OnFrame(&this->skelAnime, 9.0f) || Animation_OnFrame(&this->skelAnime, 13.0f)) {
|
||||
Actor_PlaySfxAtPos(&this->actor, NA_SE_EN_DEKUHIME_TURN);
|
||||
}
|
||||
} else if ((this->unk_340 == 24) || (this->unk_340 == 7)) {
|
||||
} else if ((this->animIndex == EN_DNP_ANIM_GLARE_START) || (this->animIndex == EN_DNP_ANIM_TURN_AROUND)) {
|
||||
if (Animation_OnFrame(&this->skelAnime, 1.0f)) {
|
||||
Actor_PlaySfxAtPos(&this->actor, NA_SE_EN_DEKUHIME_TURN);
|
||||
}
|
||||
} else if (this->unk_340 == 14) {
|
||||
} else if (this->animIndex == EN_DNP_ANIM_GREETING) {
|
||||
if (Animation_OnFrame(&this->skelAnime, 7.0f)) {
|
||||
Actor_PlaySfxAtPos(&this->actor, NA_SE_EN_DEKUHIME_GREET);
|
||||
}
|
||||
if (Animation_OnFrame(&this->skelAnime, 22.0f)) {
|
||||
Actor_PlaySfxAtPos(&this->actor, NA_SE_EN_DEKUHIME_GREET2);
|
||||
}
|
||||
} else if (this->unk_340 == 8) {
|
||||
} else if (this->animIndex == EN_DNP_ANIM_BOW) {
|
||||
if (Animation_OnFrame(&this->skelAnime, 9.0f)) {
|
||||
Actor_PlaySfxAtPos(&this->actor, NA_SE_EN_DEKUHIME_GREET);
|
||||
}
|
||||
if (Animation_OnFrame(&this->skelAnime, 18.0f)) {
|
||||
Actor_PlaySfxAtPos(&this->actor, NA_SE_EN_DEKUHIME_GREET2);
|
||||
}
|
||||
} else if ((this->unk_340 == 17) && (this->unk_340 == 18)) {
|
||||
} else if ((this->animIndex == EN_DNP_ANIM_UNUSED_WALK) && (this->animIndex == EN_DNP_ANIM_WALK)) {
|
||||
if (Animation_OnFrame(&this->skelAnime, 7.0f) || Animation_OnFrame(&this->skelAnime, 15.0f)) {
|
||||
Actor_PlaySfxAtPos(&this->actor, NA_SE_EN_DEKUHIME_WALK);
|
||||
}
|
||||
} else if (this->unk_340 == 21) {
|
||||
} else if (this->animIndex == EN_DNP_ANIM_JUMP) {
|
||||
if (Animation_OnFrame(&this->skelAnime, 17.0f)) {
|
||||
Actor_PlaySfxAtPos(&this->actor, NA_SE_EN_DEKUHIME_WALK);
|
||||
}
|
||||
} else if (this->unk_340 == 23) {
|
||||
} else if (this->animIndex == EN_DNP_ANIM_BOUNCE_LOOP) {
|
||||
if (Animation_OnFrame(&this->skelAnime, 3.0f)) {
|
||||
Actor_PlaySfxAtPos(&this->actor, NA_SE_EN_DEKUHIME_WALK);
|
||||
}
|
||||
@@ -133,12 +170,12 @@ s32 func_80B3CA20(EnDnp* this) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
s32 func_80B3CC38(EnDnp* this, s32 arg1) {
|
||||
s32 EnDnp_ChangeAnim(EnDnp* this, s32 animIndex) {
|
||||
s32 ret = false;
|
||||
|
||||
if (arg1 != this->unk_340) {
|
||||
this->unk_340 = arg1;
|
||||
ret = SubS_ChangeAnimationByInfoS(&this->skelAnime, sAnimationInfo, arg1);
|
||||
if (animIndex != this->animIndex) {
|
||||
this->animIndex = animIndex;
|
||||
ret = SubS_ChangeAnimationByInfoS(&this->skelAnime, sAnimationInfo, animIndex);
|
||||
}
|
||||
|
||||
return ret;
|
||||
@@ -154,11 +191,11 @@ void func_80B3CC80(EnDnp* this, PlayState* play) {
|
||||
}
|
||||
|
||||
void func_80B3CD1C(EnDnp* this) {
|
||||
if ((this->unk_322 & 0x80) && (DECR(this->unk_334) == 0)) {
|
||||
this->unk_336++;
|
||||
if (this->unk_336 >= 4) {
|
||||
this->unk_334 = Rand_S16Offset(30, 30);
|
||||
this->unk_336 = 0;
|
||||
if ((this->unk_322 & 0x80) && (DECR(this->blinkTimer) == 0)) {
|
||||
this->eyeIndex++;
|
||||
if (this->eyeIndex >= EN_DNP_EYE_MAX) {
|
||||
this->blinkTimer = Rand_S16Offset(30, 30);
|
||||
this->eyeIndex = EN_DNP_EYE_OPEN;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -244,8 +281,12 @@ s32 func_80B3D044(EnDnp* this, PlayState* play) {
|
||||
}
|
||||
|
||||
void func_80B3D11C(EnDnp* this, PlayState* play) {
|
||||
static s32 D_80B3DE74[] = {
|
||||
0, 16, 14, 10, 18, 12, 5, 7, 2, 19, 21, 22, 24, 8,
|
||||
static s32 sCsAnimations[] = {
|
||||
EN_DNP_ANIM_JUMP_KICK, EN_DNP_ANIM_CUTSCENE_IDLE, EN_DNP_ANIM_GREETING,
|
||||
EN_DNP_ANIM_THINK_START, EN_DNP_ANIM_WALK, EN_DNP_ANIM_ARMS_TOGETHER_START,
|
||||
EN_DNP_ANIM_LAUGH_START, EN_DNP_ANIM_TURN_AROUND, EN_DNP_ANIM_CUTSCENE_HURRY,
|
||||
EN_DNP_ANIM_ANGRY_START, EN_DNP_ANIM_JUMP, EN_DNP_ANIM_BOUNCE_START,
|
||||
EN_DNP_ANIM_GLARE_START, EN_DNP_ANIM_BOW,
|
||||
};
|
||||
s32 temp_v0;
|
||||
s32 val;
|
||||
@@ -260,29 +301,30 @@ void func_80B3D11C(EnDnp* this, PlayState* play) {
|
||||
temp_v0 = Cutscene_GetActorActionIndex(play, 101);
|
||||
val = play->csCtx.actorActions[temp_v0]->action;
|
||||
if (this->unk_324 != (u8)val) {
|
||||
func_80B3CC38(this, D_80B3DE74[val]);
|
||||
if (this->unk_340 == 16) {
|
||||
EnDnp_ChangeAnim(this, sCsAnimations[val]);
|
||||
if (this->animIndex == EN_DNP_ANIM_CUTSCENE_IDLE) {
|
||||
this->unk_322 |= 8;
|
||||
} else {
|
||||
this->unk_322 &= ~8;
|
||||
}
|
||||
|
||||
if (this->unk_340 == 19) {
|
||||
if (this->animIndex == EN_DNP_ANIM_ANGRY_START) {
|
||||
Actor_PlaySfxAtPos(&this->actor, NA_SE_VO_DHVO04);
|
||||
}
|
||||
|
||||
if (this->unk_340 == 24) {
|
||||
if (this->animIndex == EN_DNP_ANIM_GLARE_START) {
|
||||
this->unk_322 &= ~0x80;
|
||||
this->unk_336 = 3;
|
||||
this->unk_334 = 0;
|
||||
this->eyeIndex = EN_DNP_EYE_ANGRY;
|
||||
this->blinkTimer = 0;
|
||||
}
|
||||
}
|
||||
|
||||
this->unk_324 = val;
|
||||
if (((this->unk_340 == 10) || (this->unk_340 == 12) || (this->unk_340 == 5) || (this->unk_340 == 19) ||
|
||||
(this->unk_340 == 22) || (this->unk_340 == 24)) &&
|
||||
if (((this->animIndex == EN_DNP_ANIM_THINK_START) || (this->animIndex == EN_DNP_ANIM_ARMS_TOGETHER_START) ||
|
||||
(this->animIndex == EN_DNP_ANIM_LAUGH_START) || (this->animIndex == EN_DNP_ANIM_ANGRY_START) ||
|
||||
(this->animIndex == EN_DNP_ANIM_BOUNCE_START) || (this->animIndex == EN_DNP_ANIM_GLARE_START)) &&
|
||||
Animation_OnFrame(&this->skelAnime, this->skelAnime.endFrame)) {
|
||||
func_80B3CC38(this, this->unk_340 + 1);
|
||||
EnDnp_ChangeAnim(this, this->animIndex + 1);
|
||||
}
|
||||
Cutscene_ActorTranslateAndYaw(&this->actor, play, temp_v0);
|
||||
}
|
||||
@@ -353,16 +395,17 @@ void EnDnp_Init(Actor* thisx, PlayState* play) {
|
||||
EnDnp* this = THIS;
|
||||
|
||||
ActorShape_Init(&this->actor.shape, 0.0f, ActorShadow_DrawCircle, 16.0f);
|
||||
SkelAnime_InitFlex(play, &this->skelAnime, &object_dnq_Skel_010D60, NULL, this->jointTable, this->morphTable, 26);
|
||||
this->unk_340 = -1;
|
||||
func_80B3CC38(this, 15);
|
||||
SkelAnime_InitFlex(play, &this->skelAnime, &gDekuPrincessSkel, NULL, this->jointTable, this->morphTable,
|
||||
DEKU_PRINCESS_LIMB_MAX);
|
||||
this->animIndex = EN_DNP_ANIM_NONE;
|
||||
EnDnp_ChangeAnim(this, EN_DNP_ANIM_IDLE);
|
||||
Collider_InitAndSetCylinder(play, &this->collider, &this->actor, &sCylinderInit);
|
||||
CollisionCheck_SetInfo2(&this->actor.colChkInfo, DamageTable_Get(0x16), &sColChkInfoInit);
|
||||
this->unk_322 = 0;
|
||||
this->actor.targetMode = 0;
|
||||
this->unk_322 |= (0x100 | 0x80 | 0x10);
|
||||
this->actor.gravity = -1.0f;
|
||||
if (ENDNP_GET_7(&this->actor) == ENDNP_GET_7_1) {
|
||||
if (EN_DNP_GET_TYPE(&this->actor) == EN_DNP_TYPE_RELEASED_FROM_BOTTLE) {
|
||||
this->actor.flags &= ~ACTOR_FLAG_1;
|
||||
Actor_SetScale(&this->actor, 0.00085000007f);
|
||||
SubS_UpdateFlags(&this->unk_322, 0, 7);
|
||||
@@ -370,15 +413,16 @@ void EnDnp_Init(Actor* thisx, PlayState* play) {
|
||||
this->actor.world.rot.x = this->actor.shape.rot.x;
|
||||
this->actor.cutscene = 0x10;
|
||||
this->actionFunc = func_80B3D47C;
|
||||
} else if (((ENDNP_GET_7(&this->actor) == ENDNP_GET_7_0) && !Inventory_HasItemInBottle(ITEM_DEKU_PRINCESS) &&
|
||||
!(gSaveContext.save.weekEventReg[23] & 0x20)) ||
|
||||
((ENDNP_GET_7(&this->actor) == ENDNP_GET_7_2) && (gSaveContext.save.weekEventReg[23] & 0x20))) {
|
||||
} else if (((EN_DNP_GET_TYPE(&this->actor) == EN_DNP_TYPE_WOODFALL_TEMPLE) &&
|
||||
!Inventory_HasItemInBottle(ITEM_DEKU_PRINCESS) && !(gSaveContext.save.weekEventReg[23] & 0x20)) ||
|
||||
((EN_DNP_GET_TYPE(&this->actor) == EN_DNP_TYPE_DEKU_KINGS_CHAMBER) &&
|
||||
(gSaveContext.save.weekEventReg[23] & 0x20))) {
|
||||
Actor_SetScale(&this->actor, 0.0085f);
|
||||
SubS_UpdateFlags(&this->unk_322, 3, 7);
|
||||
this->unk_322 |= 0x400;
|
||||
if ((play->sceneId == SCENE_MITURIN) && (gSaveContext.save.weekEventReg[29] & 0x40)) {
|
||||
this->unk_322 |= 0x20;
|
||||
func_80B3CC38(this, 1);
|
||||
EnDnp_ChangeAnim(this, EN_DNP_ANIM_HURRY);
|
||||
}
|
||||
this->actionFunc = func_80B3D2D4;
|
||||
} else {
|
||||
@@ -470,7 +514,7 @@ void EnDnp_TransformLimbDraw(PlayState* play, s32 limbIndex, Actor* thisx) {
|
||||
}
|
||||
}
|
||||
|
||||
if (limbIndex == 12) {
|
||||
if (limbIndex == DEKU_PRINCESS_LIMB_HEAD) {
|
||||
func_80B3D974(this->unk_330 + 0x4000, this->unk_332 + this->actor.shape.rot.y + 0x4000, &this->unk_1D8,
|
||||
&this->unk_1E4, phi_v1, phi_v0);
|
||||
Matrix_Pop();
|
||||
@@ -484,11 +528,11 @@ void EnDnp_TransformLimbDraw(PlayState* play, s32 limbIndex, Actor* thisx) {
|
||||
}
|
||||
|
||||
void EnDnp_Draw(Actor* thisx, PlayState* play) {
|
||||
static TexturePtr D_80B3DEAC[] = {
|
||||
object_dnq_Tex_0103D0,
|
||||
object_dnq_Tex_0105D0,
|
||||
object_dnq_Tex_0107D0,
|
||||
object_dnq_Tex_0109D0,
|
||||
static TexturePtr sEyeTextures[] = {
|
||||
gDekuPrincessEyeOpenTex,
|
||||
gDekuPrincessEyeHalfTex,
|
||||
gDekuPrincessEyeClosedTex,
|
||||
gDekuPrincessEyeAngryTex,
|
||||
};
|
||||
EnDnp* this = THIS;
|
||||
|
||||
@@ -497,7 +541,7 @@ void EnDnp_Draw(Actor* thisx, PlayState* play) {
|
||||
|
||||
func_8012C28C(play->state.gfxCtx);
|
||||
|
||||
gSPSegment(POLY_OPA_DISP++, 0x08, Lib_SegmentedToVirtual(D_80B3DEAC[this->unk_336]));
|
||||
gSPSegment(POLY_OPA_DISP++, 0x08, Lib_SegmentedToVirtual(sEyeTextures[this->eyeIndex]));
|
||||
|
||||
SkelAnime_DrawTransformFlexOpa(play, this->skelAnime.skeleton, this->skelAnime.jointTable,
|
||||
this->skelAnime.dListCount, NULL, EnDnp_PostLimbDraw, EnDnp_TransformLimbDraw,
|
||||
|
||||
@@ -2,18 +2,19 @@
|
||||
#define Z_EN_DNP_H
|
||||
|
||||
#include "global.h"
|
||||
#include "objects/object_dnq/object_dnq.h"
|
||||
|
||||
struct EnDnp;
|
||||
|
||||
typedef void (*EnDnpActionFunc)(struct EnDnp*, PlayState*);
|
||||
|
||||
#define ENDNP_GET_7(thisx) ((thisx)->params & 7)
|
||||
#define EN_DNP_GET_TYPE(thisx) ((thisx)->params & 7)
|
||||
|
||||
enum {
|
||||
/* 0x0 */ ENDNP_GET_7_0,
|
||||
/* 0x1 */ ENDNP_GET_7_1,
|
||||
/* 0x2 */ ENDNP_GET_7_2,
|
||||
};
|
||||
typedef enum {
|
||||
/* 0x0 */ EN_DNP_TYPE_WOODFALL_TEMPLE,
|
||||
/* 0x1 */ EN_DNP_TYPE_RELEASED_FROM_BOTTLE,
|
||||
/* 0x2 */ EN_DNP_TYPE_DEKU_KINGS_CHAMBER,
|
||||
} EnDnpType;
|
||||
|
||||
typedef struct EnDnp {
|
||||
/* 0x000 */ Actor actor;
|
||||
@@ -22,8 +23,8 @@ typedef struct EnDnp {
|
||||
/* 0x18C */ ColliderCylinder collider;
|
||||
/* 0x1D8 */ Vec3f unk_1D8;
|
||||
/* 0x1E4 */ Vec3s unk_1E4;
|
||||
/* 0x1EA */ Vec3s jointTable[26];
|
||||
/* 0x286 */ Vec3s morphTable[26];
|
||||
/* 0x1EA */ Vec3s jointTable[DEKU_PRINCESS_LIMB_MAX];
|
||||
/* 0x286 */ Vec3s morphTable[DEKU_PRINCESS_LIMB_MAX];
|
||||
/* 0x322 */ u16 unk_322;
|
||||
/* 0x324 */ u8 unk_324;
|
||||
/* 0x328 */ s32 unk_328;
|
||||
@@ -31,11 +32,11 @@ typedef struct EnDnp {
|
||||
/* 0x32E */ s16 unk_32E;
|
||||
/* 0x330 */ s16 unk_330;
|
||||
/* 0x332 */ s16 unk_332;
|
||||
/* 0x334 */ s16 unk_334;
|
||||
/* 0x336 */ s16 unk_336;
|
||||
/* 0x334 */ s16 blinkTimer;
|
||||
/* 0x336 */ s16 eyeIndex;
|
||||
/* 0x338 */ s16 unk_338;
|
||||
/* 0x33A */ UNK_TYPE1 unk_33A[0x6];
|
||||
/* 0x340 */ s32 unk_340;
|
||||
/* 0x340 */ s32 animIndex;
|
||||
} EnDnp; // size = 0x344
|
||||
|
||||
#endif // Z_EN_DNP_H
|
||||
|
||||
@@ -13616,7 +13616,7 @@
|
||||
0x80B3C80C:("ObjGhaka_Update",),
|
||||
0x80B3C858:("ObjGhaka_Draw",),
|
||||
0x80B3CA20:("func_80B3CA20",),
|
||||
0x80B3CC38:("func_80B3CC38",),
|
||||
0x80B3CC38:("EnDnp_ChangeAnim",),
|
||||
0x80B3CC80:("func_80B3CC80",),
|
||||
0x80B3CD1C:("func_80B3CD1C",),
|
||||
0x80B3CDA4:("func_80B3CDA4",),
|
||||
|
||||
@@ -14278,8 +14278,8 @@
|
||||
0x80B3DCAC:("D_80B3DCAC","UNK_TYPE1","",0x1),
|
||||
0x80B3DCB8:("sAnimations","UNK_TYPE1","",0x1),
|
||||
0x80B3DE58:("D_80B3DE58","UNK_TYPE1","",0x1),
|
||||
0x80B3DE74:("D_80B3DE74","UNK_TYPE1","",0x1),
|
||||
0x80B3DEAC:("D_80B3DEAC","UNK_TYPE1","",0x1),
|
||||
0x80B3DE74:("sCsAnimations","UNK_TYPE1","",0x1),
|
||||
0x80B3DEAC:("sEyeTextures","UNK_TYPE1","",0x1),
|
||||
0x80B3DEC0:("D_80B3DEC0","f32","",0x4),
|
||||
0x80B3DEC4:("D_80B3DEC4","f32","",0x4),
|
||||
0x80B3DEC8:("D_80B3DEC8","f32","",0x4),
|
||||
|
||||
Reference in New Issue
Block a user