mirror of https://github.com/zeldaret/mm.git
Bombers Part 1: Rename (used) assets
This commit is contained in:
parent
0877ce4adf
commit
2ae7d89064
|
|
@ -2,24 +2,24 @@
|
|||
<File Name="object_cs" Segment="6">
|
||||
<DList Name="object_cs_DL_000040" Offset="0x40" />
|
||||
<Texture Name="object_cs_Tex_0000C0" OutName="tex_0000C0" Format="ia8" Width="64" Height="64" Offset="0xC0" />
|
||||
<Animation Name="object_cs_Anim_001708" Offset="0x1708" /> <!-- Original name is "csn_atsume" ("to collect; to assemble; to gather") -->
|
||||
<Animation Name="object_cs_Anim_001A1C" Offset="0x1A1C" /> <!-- Original name is "csn_fly" -->
|
||||
<Animation Name="object_cs_Anim_002044" Offset="0x2044" /> <!-- Original name is "csn_fukiya" ("blowgun; blowpipe; dart") -->
|
||||
<Animation Name="object_cs_Anim_0026B0" Offset="0x26B0" /> <!-- Original name is "csn_keirei" ("salute") -->
|
||||
<Animation Name="object_cs_Anim_002930" Offset="0x2930" /> <!-- Original name is "csn_kinobori" ("tree climbing") -->
|
||||
<Animation Name="object_cs_Anim_0031C4" Offset="0x31C4" /> <!-- Original name is "csn_kyoro" (onomatopoeic for "looking around restlessly") -->
|
||||
<Animation Name="object_cs_Anim_00349C" Offset="0x349C" /> <!-- Original name is "csn_odoroku" ("surprise") -->
|
||||
<Animation Name="object_cs_Anim_0036B0" Offset="0x36B0" /> <!-- Original name is "csn_run03" -->
|
||||
<Animation Name="object_cs_Anim_003EE4" Offset="0x3EE4" /> <!-- Original name is "csn_senakamise" ("senaka" = "back (of the body)", "mise" = "to show; to display") -->
|
||||
<Animation Name="object_cs_Anim_00433C" Offset="0x433C" /> <!-- Original name is "csn_senakatalk" -->
|
||||
<Animation Name="object_cs_Anim_00478C" Offset="0x478C" /> <!-- Original name is "csn_senakawait" -->
|
||||
<Animation Name="object_cs_Anim_004960" Offset="0x4960" /> <!-- Original name is "csn_shagamu" ("to squat; to crouch") -->
|
||||
<Animation Name="object_cs_Anim_004C1C" Offset="0x4C1C" /> <!-- Original name is "csn_suwari" ("sitting") -->
|
||||
<Animation Name="object_cs_Anim_005128" Offset="0x5128" /> <!-- Original name is "csn_suwaripiyo" ("piyo" = "weakly moving") -->
|
||||
<Animation Name="object_cs_Anim_0053F4" Offset="0x53F4" /> <!-- Original name is "csn_talk01" -->
|
||||
<Animation Name="object_cs_Anim_0057C8" Offset="0x57C8" /> <!-- Original name is "csn_talk02" -->
|
||||
<Animation Name="object_cs_Anim_005DC4" Offset="0x5DC4" /> <!-- Original name is "csn_talk03" -->
|
||||
<Animation Name="object_cs_Anim_0060E8" Offset="0x60E8" /> <!-- Original name is "csn_tome" -->
|
||||
<Animation Name="gBomberJumpAnim" Offset="0x1708" /> <!-- Original name is "csn_atsume" ("to collect; to assemble; to gather") -->
|
||||
<Animation Name="gBomberHoldCuccoAnim" Offset="0x1A1C" /> <!-- Original name is "csn_fly" -->
|
||||
<Animation Name="gBomberBlowgunAnim" Offset="0x2044" /> <!-- Original name is "csn_fukiya" ("blowgun; blowpipe; dart") -->
|
||||
<Animation Name="gBomberSaluteAnim" Offset="0x26B0" /> <!-- Original name is "csn_keirei" ("salute") -->
|
||||
<Animation Name="gBomberClimbAnim" Offset="0x2930" /> <!-- Original name is "csn_kinobori" ("tree climbing") -->
|
||||
<Animation Name="gBomberLookAroundAnim" Offset="0x31C4" /> <!-- Original name is "csn_kyoro" (onomatopoeic for "looking around restlessly") -->
|
||||
<Animation Name="gBomberSurpriseAnim" Offset="0x349C" /> <!-- Original name is "csn_odoroku" ("surprise") -->
|
||||
<Animation Name="gBomberRunAnim" Offset="0x36B0" /> <!-- Original name is "csn_run03" -->
|
||||
<Animation Name="gBomberTurnAroundAnim" Offset="0x3EE4" /> <!-- Original name is "csn_senakamise" ("senaka" = "back (of the body)", "mise" = "to show; to display") -->
|
||||
<Animation Name="gBomberTalkBackTurnedAnim" Offset="0x433C" /> <!-- Original name is "csn_senakatalk" -->
|
||||
<Animation Name="gBomberShowNumberAnim" Offset="0x478C" /> <!-- Original name is "csn_senakawait" -->
|
||||
<Animation Name="gBomberHideUnderBoxAnim" Offset="0x4960" /> <!-- Original name is "csn_shagamu" ("to squat; to crouch") -->
|
||||
<Animation Name="gBomberSitAnim" Offset="0x4C1C" /> <!-- Original name is "csn_suwari" ("sitting") -->
|
||||
<Animation Name="gBomberKnockBackAnim" Offset="0x5128" /> <!-- Original name is "csn_suwaripiyo" ("piyo" = "weakly moving") -->
|
||||
<Animation Name="gBomberTalkHandsOnHipsAnim" Offset="0x53F4" /> <!-- Original name is "csn_talk01" -->
|
||||
<Animation Name="gBomberTalkNormalAnim" Offset="0x57C8" /> <!-- Original name is "csn_talk02" -->
|
||||
<Animation Name="gBomberArmSwipeAnim" Offset="0x5DC4" /> <!-- Original name is "csn_talk03" -->
|
||||
<Animation Name="gBomberFrolicAnim" Offset="0x60E8" /> <!-- Original name is "csn_tome" -->
|
||||
<Animation Name="gBomberIdleAnim" Offset="0x64B8" /> <!-- Original name is "csn_wait01" -->
|
||||
<DList Name="object_cs_DL_009130" Offset="0x9130" />
|
||||
<DList Name="object_cs_DL_009478" Offset="0x9478" />
|
||||
|
|
@ -57,16 +57,16 @@
|
|||
<Texture Name="object_cs_Tex_00C120" OutName="tex_00C120" Format="i8" Width="16" Height="16" Offset="0xC120" />
|
||||
<Texture Name="object_cs_Tex_00C220" OutName="tex_00C220" Format="ci8" Width="16" Height="16" Offset="0xC220" />
|
||||
<Blob Name="object_cs_Blob_00C320" Size="0x200" Offset="0xC320" />
|
||||
<Texture Name="object_cs_Tex_00C520" OutName="tex_00C520" Format="rgba16" Width="32" Height="32" Offset="0xC520" />
|
||||
<Texture Name="object_cs_Tex_00CD20" OutName="tex_00CD20" Format="rgba16" Width="32" Height="32" Offset="0xCD20" />
|
||||
<Texture Name="object_cs_Tex_00D520" OutName="tex_00D520" Format="rgba16" Width="32" Height="32" Offset="0xD520" />
|
||||
<Texture Name="object_cs_Tex_00DD20" OutName="tex_00DD20" Format="i8" Width="32" Height="32" Offset="0xDD20" />
|
||||
<Texture Name="gBomberEyeOpenTex" OutName="tex_00C520" Format="rgba16" Width="32" Height="32" Offset="0xC520" />
|
||||
<Texture Name="gBomberEyeHalfTex" OutName="tex_00CD20" Format="rgba16" Width="32" Height="32" Offset="0xCD20" />
|
||||
<Texture Name="gBomberEyeClosedTex" OutName="tex_00D520" Format="rgba16" Width="32" Height="32" Offset="0xD520" />
|
||||
<Texture Name="gBomberNumber4Tex" OutName="tex_00DD20" Format="i8" Width="32" Height="32" Offset="0xDD20" />
|
||||
<Texture Name="object_cs_Tex_00E120" OutName="tex_00E120" Format="i8" Width="16" Height="16" Offset="0xE120" />
|
||||
<Texture Name="object_cs_Tex_00E220" OutName="tex_00E220" Format="i8" Width="32" Height="32" Offset="0xE220"/>
|
||||
<Texture Name="object_cs_Tex_00E620" OutName="tex_00E620" Format="i8" Width="32" Height="32" Offset="0xE620" />
|
||||
<Texture Name="object_cs_Tex_00EA20" OutName="tex_00EA20" Format="i8" Width="32" Height="32" Offset="0xEA20" />
|
||||
<Texture Name="object_cs_Tex_00EE20" OutName="tex_00EE20" Format="i8" Width="32" Height="32" Offset="0xEE20" />
|
||||
<Texture Name="object_cs_Tex_00F220" OutName="tex_00F220" Format="i8" Width="32" Height="32" Offset="0xF220" />
|
||||
<Texture Name="gBomberWhiteShirtBackTex" OutName="tex_00E220" Format="i8" Width="32" Height="32" Offset="0xE220"/>
|
||||
<Texture Name="gBomberNumber1Tex" OutName="tex_00E620" Format="i8" Width="32" Height="32" Offset="0xE620" />
|
||||
<Texture Name="gBomberNumber2Tex" OutName="tex_00EA20" Format="i8" Width="32" Height="32" Offset="0xEA20" />
|
||||
<Texture Name="gBomberNumber3Tex" OutName="tex_00EE20" Format="i8" Width="32" Height="32" Offset="0xEE20" />
|
||||
<Texture Name="gBomberNumber5Tex" OutName="tex_00F220" Format="i8" Width="32" Height="32" Offset="0xF220" />
|
||||
<Texture Name="object_cs_Tex_00F620" OutName="tex_00F620" Format="i8" Width="8" Height="8" Offset="0xF620" />
|
||||
<TextureAnimation Name="object_cs_Matanimheader_00F6D4" Offset="0xF6D4" />
|
||||
<Limb Name="object_cs_Standardlimb_00F6EC" Type="Standard" EnumName="OBJECT_CS_LIMB_01" Offset="0xF6EC" />
|
||||
|
|
@ -89,9 +89,9 @@
|
|||
<Limb Name="object_cs_Standardlimb_00F7B8" Type="Standard" EnumName="OBJECT_CS_LIMB_12" Offset="0xF7B8" />
|
||||
<Limb Name="object_cs_Standardlimb_00F7C4" Type="Standard" EnumName="OBJECT_CS_LIMB_13" Offset="0xF7C4" />
|
||||
<Limb Name="object_cs_Standardlimb_00F7D0" Type="Standard" EnumName="OBJECT_CS_LIMB_14" Offset="0xF7D0" />
|
||||
<Skeleton Name="object_cs_Skel_00F82C" Type="Flex" LimbType="Standard" LimbNone="OBJECT_CS_LIMB_NONE" LimbMax="OBJECT_CS_LIMB_MAX" EnumName="ObjectCsLimb" Offset="0xF82C" />
|
||||
<Animation Name="object_cs_Anim_00FAF4" Offset="0xFAF4" /> <!-- Original name is "csn_wait02" -->
|
||||
<Animation Name="object_cs_Anim_01007C" Offset="0x1007C" /> <!-- Original name is "csn_walk" -->
|
||||
<Animation Name="object_cs_Anim_010B68" Offset="0x10B68" /> <!-- Original name is "csn_yarare" ("to suffer damage") -->
|
||||
<Skeleton Name="gBomberSkel" Type="Flex" LimbType="Standard" LimbNone="OBJECT_CS_LIMB_NONE" LimbMax="OBJECT_CS_LIMB_MAX" EnumName="ObjectCsLimb" Offset="0xF82C" />
|
||||
<Animation Name="gBomberHandsOnHipsAnim" Offset="0xFAF4" /> <!-- Original name is "csn_wait02" -->
|
||||
<Animation Name="gBomberWalkAnim" Offset="0x1007C" /> <!-- Original name is "csn_walk" -->
|
||||
<Animation Name="gBomberCaughtAnim" Offset="0x10B68" /> <!-- Original name is "csn_yarare" ("to suffer damage") -->
|
||||
</File>
|
||||
</Root>
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
<Root>
|
||||
<File Name="ovl_En_Bom_Bowl_Man" BaseAddress="0x809C4790" RangeStart="0x1A50" RangeEnd="0x1A70">
|
||||
<DList Name="gEnBomBowlMan_D_809C61E0" Offset="0x1A50"/>
|
||||
<DList Name="gEnBomBowlMan_D_809C61F0" Offset="0x1A60"/>
|
||||
<DList Name="gBomberRedBandanaTex" Offset="0x1A50"/>
|
||||
<DList Name="gBomberBlueBandanaTex" Offset="0x1A60"/>
|
||||
</File>
|
||||
</Root>
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
<Root>
|
||||
<File Name="ovl_En_Bombers" BaseAddress="0x80C03530" RangeStart="0x12C8" RangeEnd="0x12E8">
|
||||
<DList Name="ovl_En_Bombers_DL_12C8" Offset="0x12C8" />
|
||||
<DList Name="ovl_En_Bombers_DL_12D8" Offset="0x12D8" />
|
||||
<DList Name="gBomberRedBandanaDL" Offset="0x12C8" />
|
||||
<DList Name="gBomberBlueBandanaDL" Offset="0x12D8" />
|
||||
</File>
|
||||
</Root>
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
<Root>
|
||||
<File Name="ovl_En_Bomjima" BaseAddress="0x80BFE170" RangeStart="0x2998" RangeEnd="0x29B8">
|
||||
<DList Name="gEnBomjima_D_80C00B08" Offset="0x2998"/>
|
||||
<DList Name="gEnBomjima_D_80C00B18" Offset="0x29A8"/>
|
||||
<DList Name="gBomberJimRedBandanaDL" Offset="0x2998"/>
|
||||
<DList Name="gBomberJimBlueBandanaDL" Offset="0x29A8"/>
|
||||
</File>
|
||||
</Root>
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
<Root>
|
||||
<File Name="ovl_En_Bomjimb" BaseAddress="0x80C00EA0" RangeStart="0x23A0" RangeEnd="0x23C0">
|
||||
<DList Name="gEnBomjimb_D_80C03240" Offset="0x23A0"/>
|
||||
<DList Name="gEnBomjimb_D_80C03250" Offset="0x23B0"/>
|
||||
<DList Name="gBomberCatchRedBandanaDL" Offset="0x23A0"/>
|
||||
<DList Name="gBomberCatchBlueBandanaDL" Offset="0x23B0"/>
|
||||
</File>
|
||||
</Root>
|
||||
|
|
|
|||
|
|
@ -49,73 +49,73 @@ ActorProfile En_Bom_Bowl_Man_Profile = {
|
|||
|
||||
typedef enum {
|
||||
/* -1 */ ENBOMBOWLMAN_ANIM_NONE = -1,
|
||||
/* 0x00 */ ENBOMBOWLMAN_ANIM_0,
|
||||
/* 0x01 */ ENBOMBOWLMAN_ANIM_1,
|
||||
/* 0x02 */ ENBOMBOWLMAN_ANIM_2,
|
||||
/* 0x03 */ ENBOMBOWLMAN_ANIM_3,
|
||||
/* 0x04 */ ENBOMBOWLMAN_ANIM_4,
|
||||
/* 0x05 */ ENBOMBOWLMAN_ANIM_5,
|
||||
/* 0x06 */ ENBOMBOWLMAN_ANIM_6,
|
||||
/* 0x07 */ ENBOMBOWLMAN_ANIM_7,
|
||||
/* 0x08 */ ENBOMBOWLMAN_ANIM_8,
|
||||
/* 0x09 */ ENBOMBOWLMAN_ANIM_9,
|
||||
/* 0x0A */ ENBOMBOWLMAN_ANIM_10,
|
||||
/* 0x0B */ ENBOMBOWLMAN_ANIM_11,
|
||||
/* 0x0C */ ENBOMBOWLMAN_ANIM_12,
|
||||
/* 0x0D */ ENBOMBOWLMAN_ANIM_13,
|
||||
/* 0x0E */ ENBOMBOWLMAN_ANIM_14,
|
||||
/* 0x0F */ ENBOMBOWLMAN_ANIM_15,
|
||||
/* 0x10 */ ENBOMBOWLMAN_ANIM_16,
|
||||
/* 0x11 */ ENBOMBOWLMAN_ANIM_17,
|
||||
/* 0x12 */ ENBOMBOWLMAN_ANIM_18,
|
||||
/* 0x13 */ ENBOMBOWLMAN_ANIM_19,
|
||||
/* 0x00 */ ENBOMBOWLMAN_ANIM_IDLE,
|
||||
/* 0x01 */ ENBOMBOWLMAN_ANIM_HANDS_ON_HIPS,
|
||||
/* 0x02 */ ENBOMBOWLMAN_ANIM_TALK_NORMAL,
|
||||
/* 0x03 */ ENBOMBOWLMAN_ANIM_TALK_HANDS_ON_HIPS,
|
||||
/* 0x04 */ ENBOMBOWLMAN_ANIM_BLOWGUN,
|
||||
/* 0x05 */ ENBOMBOWLMAN_ANIM_WALK,
|
||||
/* 0x06 */ ENBOMBOWLMAN_ANIM_SURPRISE,
|
||||
/* 0x07 */ ENBOMBOWLMAN_ANIM_HIDE_UNDER_BOX,
|
||||
/* 0x08 */ ENBOMBOWLMAN_ANIM_KNOCK_BACK,
|
||||
/* 0x09 */ ENBOMBOWLMAN_ANIM_SIT,
|
||||
/* 0x0A */ ENBOMBOWLMAN_ANIM_HOLD_CUCCO,
|
||||
/* 0x0B */ ENBOMBOWLMAN_ANIM_TURN_AROUND,
|
||||
/* 0x0C */ ENBOMBOWLMAN_ANIM_SHOW_NUMBER,
|
||||
/* 0x0D */ ENBOMBOWLMAN_ANIM_TALK_BACK_TURNED,
|
||||
/* 0x0E */ ENBOMBOWLMAN_ANIM_FROLIC,
|
||||
/* 0x0F */ ENBOMBOWLMAN_ANIM_JUMP,
|
||||
/* 0x10 */ ENBOMBOWLMAN_ANIM_ARM_SWIPE,
|
||||
/* 0x11 */ ENBOMBOWLMAN_ANIM_SALUTE,
|
||||
/* 0x12 */ ENBOMBOWLMAN_ANIM_RUN,
|
||||
/* 0x13 */ ENBOMBOWLMAN_ANIM_LOOK_AROUND,
|
||||
/* 0x14 */ ENBOMBOWLMAN_ANIM_MAX
|
||||
} EnBomBowlManAnimation;
|
||||
|
||||
static AnimationHeader* sAnimations[ENBOMBOWLMAN_ANIM_MAX] = {
|
||||
&gBomberIdleAnim, // ENBOMBOWLMAN_ANIM_0
|
||||
&object_cs_Anim_00FAF4, // ENBOMBOWLMAN_ANIM_1
|
||||
&object_cs_Anim_0057C8, // ENBOMBOWLMAN_ANIM_2
|
||||
&object_cs_Anim_0053F4, // ENBOMBOWLMAN_ANIM_3
|
||||
&object_cs_Anim_002044, // ENBOMBOWLMAN_ANIM_4
|
||||
&object_cs_Anim_01007C, // ENBOMBOWLMAN_ANIM_5
|
||||
&object_cs_Anim_00349C, // ENBOMBOWLMAN_ANIM_6
|
||||
&object_cs_Anim_004960, // ENBOMBOWLMAN_ANIM_7
|
||||
&object_cs_Anim_005128, // ENBOMBOWLMAN_ANIM_8
|
||||
&object_cs_Anim_004C1C, // ENBOMBOWLMAN_ANIM_9
|
||||
&object_cs_Anim_001A1C, // ENBOMBOWLMAN_ANIM_10
|
||||
&object_cs_Anim_003EE4, // ENBOMBOWLMAN_ANIM_11
|
||||
&object_cs_Anim_00478C, // ENBOMBOWLMAN_ANIM_12
|
||||
&object_cs_Anim_00433C, // ENBOMBOWLMAN_ANIM_13
|
||||
&object_cs_Anim_0060E8, // ENBOMBOWLMAN_ANIM_14
|
||||
&object_cs_Anim_001708, // ENBOMBOWLMAN_ANIM_15
|
||||
&object_cs_Anim_005DC4, // ENBOMBOWLMAN_ANIM_16
|
||||
&object_cs_Anim_0026B0, // ENBOMBOWLMAN_ANIM_17
|
||||
&object_cs_Anim_0036B0, // ENBOMBOWLMAN_ANIM_18
|
||||
&object_cs_Anim_0031C4, // ENBOMBOWLMAN_ANIM_19
|
||||
&gBomberIdleAnim, // ENBOMBOWLMAN_ANIM_IDLE
|
||||
&gBomberHandsOnHipsAnim, // ENBOMBOWLMAN_ANIM_HANDS_ON_HIPS
|
||||
&gBomberTalkNormalAnim, // ENBOMBOWLMAN_ANIM_TALK_NORMAL
|
||||
&gBomberTalkHandsOnHipsAnim, // ENBOMBOWLMAN_ANIM_TALK_HANDS_ON_HIPS
|
||||
&gBomberBlowgunAnim, // ENBOMBOWLMAN_ANIM_BLOWGUN
|
||||
&gBomberWalkAnim, // ENBOMBOWLMAN_ANIM_WALK
|
||||
&gBomberSurpriseAnim, // ENBOMBOWLMAN_ANIM_SURPRISE
|
||||
&gBomberHideUnderBoxAnim, // ENBOMBOWLMAN_ANIM_HIDE_UNDER_BOX
|
||||
&gBomberKnockBackAnim, // ENBOMBOWLMAN_ANIM_KNOCK_BACK
|
||||
&gBomberSitAnim, // ENBOMBOWLMAN_ANIM_SIT
|
||||
&gBomberHoldCuccoAnim, // ENBOMBOWLMAN_ANIM_HOLD_CUCCO
|
||||
&gBomberTurnAroundAnim, // ENBOMBOWLMAN_ANIM_TURN_AROUND
|
||||
&gBomberShowNumberAnim, // ENBOMBOWLMAN_ANIM_SHOW_NUMBER
|
||||
&gBomberTalkBackTurnedAnim, // ENBOMBOWLMAN_ANIM_TALK_BACK_TURNED
|
||||
&gBomberFrolicAnim, // ENBOMBOWLMAN_ANIM_FROLIC
|
||||
&gBomberJumpAnim, // ENBOMBOWLMAN_ANIM_JUMP
|
||||
&gBomberArmSwipeAnim, // ENBOMBOWLMAN_ANIM_ARM_SWIPE
|
||||
&gBomberSaluteAnim, // ENBOMBOWLMAN_ANIM_SALUTE
|
||||
&gBomberRunAnim, // ENBOMBOWLMAN_ANIM_RUN
|
||||
&gBomberLookAroundAnim, // ENBOMBOWLMAN_ANIM_LOOK_AROUND
|
||||
};
|
||||
|
||||
static u8 sAnimationModes[ENBOMBOWLMAN_ANIM_MAX] = {
|
||||
ANIMMODE_LOOP, // ENBOMBOWLMAN_ANIM_0
|
||||
ANIMMODE_LOOP, // ENBOMBOWLMAN_ANIM_1
|
||||
ANIMMODE_LOOP, // ENBOMBOWLMAN_ANIM_2
|
||||
ANIMMODE_LOOP, // ENBOMBOWLMAN_ANIM_3
|
||||
ANIMMODE_LOOP, // ENBOMBOWLMAN_ANIM_4
|
||||
ANIMMODE_LOOP, // ENBOMBOWLMAN_ANIM_5
|
||||
ANIMMODE_ONCE, // ENBOMBOWLMAN_ANIM_6
|
||||
ANIMMODE_ONCE, // ENBOMBOWLMAN_ANIM_7
|
||||
ANIMMODE_LOOP, // ENBOMBOWLMAN_ANIM_8
|
||||
ANIMMODE_LOOP, // ENBOMBOWLMAN_ANIM_9
|
||||
ANIMMODE_LOOP, // ENBOMBOWLMAN_ANIM_10
|
||||
ANIMMODE_ONCE, // ENBOMBOWLMAN_ANIM_11
|
||||
ANIMMODE_LOOP, // ENBOMBOWLMAN_ANIM_12
|
||||
ANIMMODE_LOOP, // ENBOMBOWLMAN_ANIM_13
|
||||
ANIMMODE_LOOP, // ENBOMBOWLMAN_ANIM_14
|
||||
ANIMMODE_ONCE, // ENBOMBOWLMAN_ANIM_15
|
||||
ANIMMODE_LOOP, // ENBOMBOWLMAN_ANIM_16
|
||||
ANIMMODE_ONCE, // ENBOMBOWLMAN_ANIM_17
|
||||
ANIMMODE_LOOP, // ENBOMBOWLMAN_ANIM_18
|
||||
ANIMMODE_LOOP, // ENBOMBOWLMAN_ANIM_19
|
||||
ANIMMODE_LOOP, // ENBOMBOWLMAN_ANIM_IDLE
|
||||
ANIMMODE_LOOP, // ENBOMBOWLMAN_ANIM_HANDS_ON_HIPS
|
||||
ANIMMODE_LOOP, // ENBOMBOWLMAN_ANIM_TALK_NORMAL
|
||||
ANIMMODE_LOOP, // ENBOMBOWLMAN_ANIM_TALK_HANDS_ON_HIPS
|
||||
ANIMMODE_LOOP, // ENBOMBOWLMAN_ANIM_BLOWGUN
|
||||
ANIMMODE_LOOP, // ENBOMBOWLMAN_ANIM_WALK
|
||||
ANIMMODE_ONCE, // ENBOMBOWLMAN_ANIM_SURPRISE
|
||||
ANIMMODE_ONCE, // ENBOMBOWLMAN_ANIM_HIDE_UNDER_BOX
|
||||
ANIMMODE_LOOP, // ENBOMBOWLMAN_ANIM_KNOCK_BACK
|
||||
ANIMMODE_LOOP, // ENBOMBOWLMAN_ANIM_SIT
|
||||
ANIMMODE_LOOP, // ENBOMBOWLMAN_ANIM_HOLD_CUCCO
|
||||
ANIMMODE_ONCE, // ENBOMBOWLMAN_ANIM_TURN_AROUND
|
||||
ANIMMODE_LOOP, // ENBOMBOWLMAN_ANIM_SHOW_NUMBER
|
||||
ANIMMODE_LOOP, // ENBOMBOWLMAN_ANIM_TALK_BACK_TURNED
|
||||
ANIMMODE_LOOP, // ENBOMBOWLMAN_ANIM_FROLIC
|
||||
ANIMMODE_ONCE, // ENBOMBOWLMAN_ANIM_JUMP
|
||||
ANIMMODE_LOOP, // ENBOMBOWLMAN_ANIM_ARM_SWIPE
|
||||
ANIMMODE_ONCE, // ENBOMBOWLMAN_ANIM_SALUTE
|
||||
ANIMMODE_LOOP, // ENBOMBOWLMAN_ANIM_RUN
|
||||
ANIMMODE_LOOP, // ENBOMBOWLMAN_ANIM_LOOK_AROUND
|
||||
};
|
||||
|
||||
u16 D_809C618C[] = { 0x710, 0x711, 0x715, 0x716, 0x717, 0x718 };
|
||||
|
|
@ -133,8 +133,8 @@ void EnBomBowlMan_Init(Actor* thisx, PlayState* play) {
|
|||
this->actor.colChkInfo.mass = MASS_IMMOVABLE;
|
||||
ActorShape_Init(&this->actor.shape, 0.0f, ActorShadow_DrawCircle, 19.0f);
|
||||
this->actor.gravity = -3.0f;
|
||||
SkelAnime_InitFlex(play, &this->skelAnime, &object_cs_Skel_00F82C, &gBomberIdleAnim, this->jointTable,
|
||||
this->morphTable, OBJECT_CS_LIMB_MAX);
|
||||
SkelAnime_InitFlex(play, &this->skelAnime, &gBomberSkel, &gBomberIdleAnim, this->jointTable, this->morphTable,
|
||||
OBJECT_CS_LIMB_MAX);
|
||||
this->unk_2F6 = ENBOMBOWLMAN_GET_F0(&this->actor);
|
||||
this->unk_2F4 = ENBOMBOWLMAN_GET_F(&this->actor);
|
||||
this->actor.attentionRangeType = ATTENTION_RANGE_6;
|
||||
|
|
@ -177,29 +177,29 @@ void EnBomBowlMan_ChangeAnim(EnBomBowlMan* this, s32 animIndex, f32 playSpeed) {
|
|||
}
|
||||
|
||||
void func_809C49CC(EnBomBowlMan* this) {
|
||||
if ((this->animIndex == ENBOMBOWLMAN_ANIM_5) &&
|
||||
if ((this->animIndex == ENBOMBOWLMAN_ANIM_WALK) &&
|
||||
(Animation_OnFrame(&this->skelAnime, 9.0f) || Animation_OnFrame(&this->skelAnime, 10.0f) ||
|
||||
Animation_OnFrame(&this->skelAnime, 17.0f) || Animation_OnFrame(&this->skelAnime, 18.0f))) {
|
||||
Actor_PlaySfx(&this->actor, NA_SE_EV_BOMBERS_WALK);
|
||||
}
|
||||
|
||||
if ((this->animIndex == ENBOMBOWLMAN_ANIM_11) &&
|
||||
if ((this->animIndex == ENBOMBOWLMAN_ANIM_TURN_AROUND) &&
|
||||
(Animation_OnFrame(&this->skelAnime, 4.0f) || Animation_OnFrame(&this->skelAnime, 8.0f) ||
|
||||
Animation_OnFrame(&this->skelAnime, 12.0f))) {
|
||||
Actor_PlaySfx(&this->actor, NA_SE_EV_BOMBERS_WALK);
|
||||
}
|
||||
|
||||
if ((this->animIndex == ENBOMBOWLMAN_ANIM_18) &&
|
||||
if ((this->animIndex == ENBOMBOWLMAN_ANIM_RUN) &&
|
||||
(Animation_OnFrame(&this->skelAnime, 0.0f) || Animation_OnFrame(&this->skelAnime, 2.0f) ||
|
||||
Animation_OnFrame(&this->skelAnime, 4.0f) || Animation_OnFrame(&this->skelAnime, 6.0f))) {
|
||||
Actor_PlaySfx(&this->actor, NA_SE_EV_BOMBERS_WALK);
|
||||
}
|
||||
|
||||
if ((this->animIndex == ENBOMBOWLMAN_ANIM_15) && Animation_OnFrame(&this->skelAnime, 15.0f)) {
|
||||
if ((this->animIndex == ENBOMBOWLMAN_ANIM_JUMP) && Animation_OnFrame(&this->skelAnime, 15.0f)) {
|
||||
Actor_PlaySfx(&this->actor, NA_SE_EV_BOMBERS_LAND);
|
||||
}
|
||||
|
||||
if ((this->animIndex == ENBOMBOWLMAN_ANIM_6) && Animation_OnFrame(&this->skelAnime, 8.0f)) {
|
||||
if ((this->animIndex == ENBOMBOWLMAN_ANIM_SURPRISE) && Animation_OnFrame(&this->skelAnime, 8.0f)) {
|
||||
Actor_PlaySfx(&this->actor, NA_SE_EV_BOMBERS_LAND);
|
||||
}
|
||||
}
|
||||
|
|
@ -228,7 +228,7 @@ void func_809C4BC4(EnBomBowlMan* this, PlayState* play) {
|
|||
s8 code;
|
||||
|
||||
func_809C4B50(this);
|
||||
EnBomBowlMan_ChangeAnim(this, ENBOMBOWLMAN_ANIM_0, 1.0f);
|
||||
EnBomBowlMan_ChangeAnim(this, ENBOMBOWLMAN_ANIM_IDLE, 1.0f);
|
||||
|
||||
for (i = 0; i < ARRAY_COUNT(gSaveContext.save.saveInfo.bomberCode); i++) {
|
||||
Math_Vec3f_Copy(&sp7C, &this->actor.home.pos);
|
||||
|
|
@ -256,7 +256,7 @@ void func_809C4BC4(EnBomBowlMan* this, PlayState* play) {
|
|||
CutsceneManager_Queue(this->csIdList[2]);
|
||||
}
|
||||
|
||||
EnBomBowlMan_ChangeAnim(this, ENBOMBOWLMAN_ANIM_3, 1.0f);
|
||||
EnBomBowlMan_ChangeAnim(this, ENBOMBOWLMAN_ANIM_TALK_HANDS_ON_HIPS, 1.0f);
|
||||
this->unk_2D4 = this->actor.yawTowardsPlayer;
|
||||
this->unk_290 = this->actor.yawTowardsPlayer;
|
||||
CLEAR_WEEKEVENTREG(WEEKEVENTREG_73_10);
|
||||
|
|
@ -309,12 +309,12 @@ void func_809C4DA4(EnBomBowlMan* this, PlayState* play) {
|
|||
&this->unk_2D8->actor);
|
||||
this->unk_2D4 = 0;
|
||||
this->unk_2BC = 10;
|
||||
EnBomBowlMan_ChangeAnim(this, ENBOMBOWLMAN_ANIM_17, 1.0f);
|
||||
EnBomBowlMan_ChangeAnim(this, ENBOMBOWLMAN_ANIM_SALUTE, 1.0f);
|
||||
break;
|
||||
|
||||
case 1:
|
||||
D_809C6104 = 0;
|
||||
EnBomBowlMan_ChangeAnim(this, ENBOMBOWLMAN_ANIM_3, 1.0f);
|
||||
EnBomBowlMan_ChangeAnim(this, ENBOMBOWLMAN_ANIM_TALK_HANDS_ON_HIPS, 1.0f);
|
||||
this->unk_2D4 = this->actor.yawTowardsPlayer;
|
||||
this->unk_2C0 = 2;
|
||||
if ((player->transformation == PLAYER_FORM_HUMAN) && CHECK_QUEST_ITEM(QUEST_BOMBERS_NOTEBOOK)) {
|
||||
|
|
@ -331,7 +331,7 @@ void func_809C4DA4(EnBomBowlMan* this, PlayState* play) {
|
|||
} else {
|
||||
this->unk_2C0 = 3;
|
||||
play->msgCtx.msgLength = 0;
|
||||
EnBomBowlMan_ChangeAnim(this, ENBOMBOWLMAN_ANIM_1, 1.0f);
|
||||
EnBomBowlMan_ChangeAnim(this, ENBOMBOWLMAN_ANIM_HANDS_ON_HIPS, 1.0f);
|
||||
D_809C6100 = 1;
|
||||
if (CutsceneManager_GetCurrentCsId() == CS_ID_GLOBAL_TALK) {
|
||||
CutsceneManager_Stop(CS_ID_GLOBAL_TALK);
|
||||
|
|
@ -359,7 +359,7 @@ void func_809C4DA4(EnBomBowlMan* this, PlayState* play) {
|
|||
CutsceneManager_Stop(this->csIdList[2]);
|
||||
}
|
||||
play->msgCtx.msgLength = 0;
|
||||
EnBomBowlMan_ChangeAnim(this, ENBOMBOWLMAN_ANIM_1, 1.0f);
|
||||
EnBomBowlMan_ChangeAnim(this, ENBOMBOWLMAN_ANIM_HANDS_ON_HIPS, 1.0f);
|
||||
D_809C6100 = 1;
|
||||
this->actionFunc = func_809C5B1C;
|
||||
sp28 = true;
|
||||
|
|
@ -438,7 +438,7 @@ void func_809C53A4(EnBomBowlMan* this) {
|
|||
this->actor.draw = EnBomBowlMan_Draw;
|
||||
this->actor.world.pos.x = 1360.0f;
|
||||
this->actor.world.pos.z = -1870.0f;
|
||||
EnBomBowlMan_ChangeAnim(this, ENBOMBOWLMAN_ANIM_18, 1.0f);
|
||||
EnBomBowlMan_ChangeAnim(this, ENBOMBOWLMAN_ANIM_RUN, 1.0f);
|
||||
this->unk_29C = 3;
|
||||
this->actionFunc = func_809C5408;
|
||||
}
|
||||
|
|
@ -464,7 +464,7 @@ void func_809C5524(EnBomBowlMan* this, PlayState* play) {
|
|||
if (!CHECK_WEEKEVENTREG(WEEKEVENTREG_85_02)) {
|
||||
this->actor.textId = 0x72F;
|
||||
}
|
||||
EnBomBowlMan_ChangeAnim(this, ENBOMBOWLMAN_ANIM_3, 1.0f);
|
||||
EnBomBowlMan_ChangeAnim(this, ENBOMBOWLMAN_ANIM_TALK_HANDS_ON_HIPS, 1.0f);
|
||||
Message_StartTextbox(play, this->actor.textId, &this->actor);
|
||||
this->actionFunc = func_809C5598;
|
||||
}
|
||||
|
|
@ -484,14 +484,14 @@ void func_809C5598(EnBomBowlMan* this, PlayState* play) {
|
|||
this->actor.textId = 0x715;
|
||||
} else if (this->actor.textId == 0x715) {
|
||||
Player_SetCsActionWithHaltedActors(play, &this->actor, PLAYER_CSACTION_END);
|
||||
EnBomBowlMan_ChangeAnim(this, ENBOMBOWLMAN_ANIM_17, 1.0f);
|
||||
EnBomBowlMan_ChangeAnim(this, ENBOMBOWLMAN_ANIM_SALUTE, 1.0f);
|
||||
func_809C59A4(this, play);
|
||||
return;
|
||||
} else if (this->actor.textId == 0x716) {
|
||||
this->actor.textId = 0x735;
|
||||
} else if (this->actor.textId == 0x735) {
|
||||
this->unk_2C2 = 0;
|
||||
EnBomBowlMan_ChangeAnim(this, ENBOMBOWLMAN_ANIM_17, 1.0f);
|
||||
EnBomBowlMan_ChangeAnim(this, ENBOMBOWLMAN_ANIM_SALUTE, 1.0f);
|
||||
Message_BombersNotebookQueueEvent(play, BOMBERS_NOTEBOOK_EVENT_LEARNED_SECRET_CODE);
|
||||
Message_BombersNotebookQueueEvent(play, BOMBERS_NOTEBOOK_EVENT_RECEIVED_BOMBERS_NOTEBOOK);
|
||||
Message_BombersNotebookQueueEvent(play, BOMBERS_NOTEBOOK_EVENT_MET_BOMBERS);
|
||||
|
|
@ -520,7 +520,7 @@ void func_809C5738(EnBomBowlMan* this, PlayState* play) {
|
|||
} else {
|
||||
CutsceneManager_StartWithPlayerCs(this->csId, &this->actor);
|
||||
this->unk_2C2 = 2;
|
||||
EnBomBowlMan_ChangeAnim(this, ENBOMBOWLMAN_ANIM_18, 1.0f);
|
||||
EnBomBowlMan_ChangeAnim(this, ENBOMBOWLMAN_ANIM_RUN, 1.0f);
|
||||
}
|
||||
}
|
||||
} else if (this->unk_2C2 == 1) {
|
||||
|
|
@ -532,7 +532,7 @@ void func_809C5738(EnBomBowlMan* this, PlayState* play) {
|
|||
} else {
|
||||
CutsceneManager_StartWithPlayerCs(this->csId, &this->actor);
|
||||
this->unk_2C2 = 2;
|
||||
EnBomBowlMan_ChangeAnim(this, ENBOMBOWLMAN_ANIM_18, 1.0f);
|
||||
EnBomBowlMan_ChangeAnim(this, ENBOMBOWLMAN_ANIM_RUN, 1.0f);
|
||||
}
|
||||
} else {
|
||||
Math_SmoothStepToS(&this->actor.world.rot.y, yaw, 1, 0x7D0, 0xA);
|
||||
|
|
@ -603,9 +603,9 @@ void func_809C5B1C(EnBomBowlMan* this, PlayState* play) {
|
|||
|
||||
void func_809C5BA0(EnBomBowlMan* this) {
|
||||
if (this->unk_2F4 != 0) {
|
||||
EnBomBowlMan_ChangeAnim(this, ENBOMBOWLMAN_ANIM_0, 1.0f);
|
||||
EnBomBowlMan_ChangeAnim(this, ENBOMBOWLMAN_ANIM_IDLE, 1.0f);
|
||||
} else {
|
||||
this->animIndex = ENBOMBOWLMAN_ANIM_0;
|
||||
this->animIndex = ENBOMBOWLMAN_ANIM_IDLE;
|
||||
}
|
||||
this->unk_29C = 2;
|
||||
this->actionFunc = func_809C5BF4;
|
||||
|
|
@ -615,21 +615,21 @@ void func_809C5BF4(EnBomBowlMan* this, PlayState* play) {
|
|||
f32 curFrame = this->skelAnime.curFrame;
|
||||
Camera* subCam;
|
||||
|
||||
if ((D_809C6104 != 0) && (this->animIndex != ENBOMBOWLMAN_ANIM_15)) {
|
||||
EnBomBowlMan_ChangeAnim(this, ENBOMBOWLMAN_ANIM_15, 1.0f);
|
||||
if ((D_809C6104 != 0) && (this->animIndex != ENBOMBOWLMAN_ANIM_JUMP)) {
|
||||
EnBomBowlMan_ChangeAnim(this, ENBOMBOWLMAN_ANIM_JUMP, 1.0f);
|
||||
}
|
||||
|
||||
if ((this->animIndex == ENBOMBOWLMAN_ANIM_15) && (curFrame >= this->animEndFrame)) {
|
||||
EnBomBowlMan_ChangeAnim(this, ENBOMBOWLMAN_ANIM_0, 1.0f);
|
||||
if ((this->animIndex == ENBOMBOWLMAN_ANIM_JUMP) && (curFrame >= this->animEndFrame)) {
|
||||
EnBomBowlMan_ChangeAnim(this, ENBOMBOWLMAN_ANIM_IDLE, 1.0f);
|
||||
}
|
||||
|
||||
if (D_809C6100 != 0) {
|
||||
if ((this->animIndex == ENBOMBOWLMAN_ANIM_0) && (D_809C6100 == (this->unk_2F4 + 1))) {
|
||||
EnBomBowlMan_ChangeAnim(this, ENBOMBOWLMAN_ANIM_11, 1.0f);
|
||||
if ((this->animIndex == ENBOMBOWLMAN_ANIM_IDLE) && (D_809C6100 == (this->unk_2F4 + 1))) {
|
||||
EnBomBowlMan_ChangeAnim(this, ENBOMBOWLMAN_ANIM_TURN_AROUND, 1.0f);
|
||||
}
|
||||
|
||||
if ((this->animIndex == ENBOMBOWLMAN_ANIM_11) && (curFrame >= this->animEndFrame)) {
|
||||
EnBomBowlMan_ChangeAnim(this, ENBOMBOWLMAN_ANIM_12, 1.0f);
|
||||
if ((this->animIndex == ENBOMBOWLMAN_ANIM_TURN_AROUND) && (curFrame >= this->animEndFrame)) {
|
||||
EnBomBowlMan_ChangeAnim(this, ENBOMBOWLMAN_ANIM_SHOW_NUMBER, 1.0f);
|
||||
D_809C6100++;
|
||||
}
|
||||
|
||||
|
|
@ -641,7 +641,7 @@ void func_809C5BF4(EnBomBowlMan* this, PlayState* play) {
|
|||
|
||||
Message_CloseTextbox(play);
|
||||
Camera_SetTargetActor(subCam, &this->unk_2D8->actor);
|
||||
EnBomBowlMan_ChangeAnim(this, ENBOMBOWLMAN_ANIM_13, 1.0f);
|
||||
EnBomBowlMan_ChangeAnim(this, ENBOMBOWLMAN_ANIM_TALK_BACK_TURNED, 1.0f);
|
||||
D_809C6100 = 0;
|
||||
if (player->transformation == PLAYER_FORM_HUMAN) {
|
||||
this->unk_2C0 = 5;
|
||||
|
|
@ -719,18 +719,17 @@ s32 EnBomBowlMan_OverrideLimbDraw(PlayState* play, s32 limbIndex, Gfx** dList, V
|
|||
#include "assets/overlays/ovl_En_Bom_Bowl_Man/ovl_En_Bom_Bowl_Man.c"
|
||||
|
||||
TexturePtr D_809C6200[] = {
|
||||
gEnBomBowlMan_D_809C61E0, gEnBomBowlMan_D_809C61F0, gEnBomBowlMan_D_809C61F0,
|
||||
gEnBomBowlMan_D_809C61F0, gEnBomBowlMan_D_809C61F0,
|
||||
gBomberRedBandanaTex, gBomberBlueBandanaTex, gBomberBlueBandanaTex, gBomberBlueBandanaTex, gBomberBlueBandanaTex,
|
||||
};
|
||||
|
||||
TexturePtr D_809C6214[] = {
|
||||
object_cs_Tex_00C520,
|
||||
object_cs_Tex_00CD20,
|
||||
object_cs_Tex_00D520,
|
||||
gBomberEyeOpenTex,
|
||||
gBomberEyeHalfTex,
|
||||
gBomberEyeClosedTex,
|
||||
};
|
||||
|
||||
TexturePtr D_809C6220[] = {
|
||||
object_cs_Tex_00E620, object_cs_Tex_00EA20, object_cs_Tex_00EE20, object_cs_Tex_00DD20, object_cs_Tex_00F220,
|
||||
gBomberNumber1Tex, gBomberNumber2Tex, gBomberNumber3Tex, gBomberNumber4Tex, gBomberNumber5Tex,
|
||||
};
|
||||
|
||||
void EnBomBowlMan_Draw(Actor* thisx, PlayState* play) {
|
||||
|
|
|
|||
|
|
@ -56,81 +56,80 @@ static ColliderCylinderInit sCylinderInit = {
|
|||
|
||||
typedef enum {
|
||||
/* -1 */ ENBOMBERS_ANIM_NONE = -1,
|
||||
/* 0x00 */ ENBOMBERS_ANIM_0,
|
||||
/* 0x01 */ ENBOMBERS_ANIM_1,
|
||||
/* 0x02 */ ENBOMBERS_ANIM_2,
|
||||
/* 0x03 */ ENBOMBERS_ANIM_3,
|
||||
/* 0x04 */ ENBOMBERS_ANIM_4,
|
||||
/* 0x05 */ ENBOMBERS_ANIM_5,
|
||||
/* 0x06 */ ENBOMBERS_ANIM_6,
|
||||
/* 0x07 */ ENBOMBERS_ANIM_7,
|
||||
/* 0x08 */ ENBOMBERS_ANIM_8,
|
||||
/* 0x09 */ ENBOMBERS_ANIM_9,
|
||||
/* 0x0A */ ENBOMBERS_ANIM_10,
|
||||
/* 0x0B */ ENBOMBERS_ANIM_11,
|
||||
/* 0x0C */ ENBOMBERS_ANIM_12,
|
||||
/* 0x0D */ ENBOMBERS_ANIM_13,
|
||||
/* 0x0E */ ENBOMBERS_ANIM_14,
|
||||
/* 0x0F */ ENBOMBERS_ANIM_15,
|
||||
/* 0x10 */ ENBOMBERS_ANIM_16,
|
||||
/* 0x00 */ ENBOMBERS_ANIM_IDLE,
|
||||
/* 0x01 */ ENBOMBERS_ANIM_TALK_HANDS_ON_HIPS,
|
||||
/* 0x02 */ ENBOMBERS_ANIM_WALK,
|
||||
/* 0x03 */ ENBOMBERS_ANIM_SURPRISE,
|
||||
/* 0x04 */ ENBOMBERS_ANIM_HIDE_UNDER_BOX,
|
||||
/* 0x05 */ ENBOMBERS_ANIM_KNOCK_BACK,
|
||||
/* 0x06 */ ENBOMBERS_ANIM_SIT,
|
||||
/* 0x07 */ ENBOMBERS_ANIM_HOLD_CUCCO,
|
||||
/* 0x08 */ ENBOMBERS_ANIM_TURN_AROUND,
|
||||
/* 0x09 */ ENBOMBERS_ANIM_SHOW_NUMBER,
|
||||
/* 0x0A */ ENBOMBERS_ANIM_TALK_BACK_TURNED,
|
||||
/* 0x0B */ ENBOMBERS_ANIM_FROLIC,
|
||||
/* 0x0C */ ENBOMBERS_ANIM_JUMP,
|
||||
/* 0x0D */ ENBOMBERS_ANIM_ARM_SWIPE,
|
||||
/* 0x0E */ ENBOMBERS_ANIM_SALUTE,
|
||||
/* 0x0F */ ENBOMBERS_ANIM_RUN,
|
||||
/* 0x10 */ ENBOMBERS_ANIM_LOOK_AROUND,
|
||||
/* 0x11 */ ENBOMBERS_ANIM_MAX
|
||||
} EnBombersAnimation;
|
||||
|
||||
static AnimationHeader* sAnimations[ENBOMBERS_ANIM_MAX] = {
|
||||
&gBomberIdleAnim, // ENBOMBERS_ANIM_0
|
||||
&object_cs_Anim_0053F4, // ENBOMBERS_ANIM_1
|
||||
&object_cs_Anim_01007C, // ENBOMBERS_ANIM_2
|
||||
&object_cs_Anim_00349C, // ENBOMBERS_ANIM_3
|
||||
&object_cs_Anim_004960, // ENBOMBERS_ANIM_4
|
||||
&object_cs_Anim_005128, // ENBOMBERS_ANIM_5
|
||||
&object_cs_Anim_004C1C, // ENBOMBERS_ANIM_6
|
||||
&object_cs_Anim_001A1C, // ENBOMBERS_ANIM_7
|
||||
&object_cs_Anim_003EE4, // ENBOMBERS_ANIM_8
|
||||
&object_cs_Anim_00478C, // ENBOMBERS_ANIM_9
|
||||
&object_cs_Anim_00433C, // ENBOMBERS_ANIM_10
|
||||
&object_cs_Anim_0060E8, // ENBOMBERS_ANIM_11
|
||||
&object_cs_Anim_001708, // ENBOMBERS_ANIM_12
|
||||
&object_cs_Anim_005DC4, // ENBOMBERS_ANIM_13
|
||||
&object_cs_Anim_0026B0, // ENBOMBERS_ANIM_14
|
||||
&object_cs_Anim_0036B0, // ENBOMBERS_ANIM_15
|
||||
&object_cs_Anim_0031C4, // ENBOMBERS_ANIM_16
|
||||
&gBomberIdleAnim, // ENBOMBERS_ANIM_IDLE
|
||||
&gBomberTalkHandsOnHipsAnim, // ENBOMBERS_ANIM_TALK_HANDS_ON_HIPS
|
||||
&gBomberWalkAnim, // ENBOMBERS_ANIM_WALK
|
||||
&gBomberSurpriseAnim, // ENBOMBERS_ANIM_SURPRISE
|
||||
&gBomberHideUnderBoxAnim, // ENBOMBERS_ANIM_HIDE_UNDER_BOX
|
||||
&gBomberKnockBackAnim, // ENBOMBERS_ANIM_KNOCK_BACK
|
||||
&gBomberSitAnim, // ENBOMBERS_ANIM_SIT
|
||||
&gBomberHoldCuccoAnim, // ENBOMBERS_ANIM_HOLD_CUCCO
|
||||
&gBomberTurnAroundAnim, // ENBOMBERS_ANIM_TURN_AROUND
|
||||
&gBomberShowNumberAnim, // ENBOMBERS_ANIM_SHOW_NUMBER
|
||||
&gBomberTalkBackTurnedAnim, // ENBOMBERS_ANIM_TALK_BACK_TURNED
|
||||
&gBomberFrolicAnim, // ENBOMBERS_ANIM_FROLIC
|
||||
&gBomberJumpAnim, // ENBOMBERS_ANIM_JUMP
|
||||
&gBomberArmSwipeAnim, // ENBOMBERS_ANIM_ARM_SWIPE
|
||||
&gBomberSaluteAnim, // ENBOMBERS_ANIM_SALUTE
|
||||
&gBomberRunAnim, // ENBOMBERS_ANIM_RUN
|
||||
&gBomberLookAroundAnim, // ENBOMBERS_ANIM_LOOK_AROUND
|
||||
};
|
||||
|
||||
static u8 sAnimationModes[ENBOMBERS_ANIM_MAX] = {
|
||||
ANIMMODE_LOOP, // ENBOMBERS_ANIM_0
|
||||
ANIMMODE_LOOP, // ENBOMBERS_ANIM_1
|
||||
ANIMMODE_LOOP, // ENBOMBERS_ANIM_2
|
||||
ANIMMODE_ONCE, // ENBOMBERS_ANIM_3
|
||||
ANIMMODE_ONCE, // ENBOMBERS_ANIM_4
|
||||
ANIMMODE_LOOP, // ENBOMBERS_ANIM_5
|
||||
ANIMMODE_LOOP, // ENBOMBERS_ANIM_6
|
||||
ANIMMODE_LOOP, // ENBOMBERS_ANIM_7
|
||||
ANIMMODE_ONCE, // ENBOMBERS_ANIM_8
|
||||
ANIMMODE_LOOP, // ENBOMBERS_ANIM_9
|
||||
ANIMMODE_LOOP, // ENBOMBERS_ANIM_10
|
||||
ANIMMODE_LOOP, // ENBOMBERS_ANIM_11
|
||||
ANIMMODE_ONCE, // ENBOMBERS_ANIM_12
|
||||
ANIMMODE_LOOP, // ENBOMBERS_ANIM_13
|
||||
ANIMMODE_ONCE, // ENBOMBERS_ANIM_14
|
||||
ANIMMODE_LOOP, // ENBOMBERS_ANIM_15
|
||||
ANIMMODE_LOOP, // ENBOMBERS_ANIM_16
|
||||
ANIMMODE_LOOP, // ENBOMBERS_ANIM_IDLE
|
||||
ANIMMODE_LOOP, // ENBOMBERS_ANIM_TALK_HANDS_ON_HIPS
|
||||
ANIMMODE_LOOP, // ENBOMBERS_ANIM_WALK
|
||||
ANIMMODE_ONCE, // ENBOMBERS_ANIM_SURPRISE
|
||||
ANIMMODE_ONCE, // ENBOMBERS_ANIM_HIDE_UNDER_BOX
|
||||
ANIMMODE_LOOP, // ENBOMBERS_ANIM_KNOCK_BACK
|
||||
ANIMMODE_LOOP, // ENBOMBERS_ANIM_SIT
|
||||
ANIMMODE_LOOP, // ENBOMBERS_ANIM_HOLD_CUCCO
|
||||
ANIMMODE_ONCE, // ENBOMBERS_ANIM_TURN_AROUND
|
||||
ANIMMODE_LOOP, // ENBOMBERS_ANIM_SHOW_NUMBER
|
||||
ANIMMODE_LOOP, // ENBOMBERS_ANIM_TALK_BACK_TURNED
|
||||
ANIMMODE_LOOP, // ENBOMBERS_ANIM_FROLIC
|
||||
ANIMMODE_ONCE, // ENBOMBERS_ANIM_JUMP
|
||||
ANIMMODE_LOOP, // ENBOMBERS_ANIM_ARM_SWIPE
|
||||
ANIMMODE_ONCE, // ENBOMBERS_ANIM_SALUTE
|
||||
ANIMMODE_LOOP, // ENBOMBERS_ANIM_RUN
|
||||
ANIMMODE_LOOP, // ENBOMBERS_ANIM_LOOK_AROUND
|
||||
};
|
||||
|
||||
#include "assets/overlays/ovl_En_Bombers/ovl_En_Bombers.c"
|
||||
|
||||
Gfx* D_80C04818[] = {
|
||||
ovl_En_Bombers_DL_12C8, ovl_En_Bombers_DL_12D8, ovl_En_Bombers_DL_12D8,
|
||||
ovl_En_Bombers_DL_12D8, ovl_En_Bombers_DL_12D8,
|
||||
Gfx* sBomberDisplayLists[] = {
|
||||
gBomberRedBandanaDL, gBomberBlueBandanaDL, gBomberBlueBandanaDL, gBomberBlueBandanaDL, gBomberBlueBandanaDL,
|
||||
};
|
||||
|
||||
TexturePtr D_80C0482C[] = {
|
||||
object_cs_Tex_00C520,
|
||||
object_cs_Tex_00CD20,
|
||||
object_cs_Tex_00D520,
|
||||
TexturePtr sEyeTextures[] = {
|
||||
gBomberEyeOpenTex,
|
||||
gBomberEyeHalfTex,
|
||||
gBomberEyeClosedTex,
|
||||
};
|
||||
|
||||
TexturePtr D_80C04838[] = {
|
||||
object_cs_Tex_00E620, object_cs_Tex_00EA20, object_cs_Tex_00EE20, object_cs_Tex_00DD20, object_cs_Tex_00F220,
|
||||
TexturePtr sNumberTextures[] = {
|
||||
gBomberNumber1Tex, gBomberNumber2Tex, gBomberNumber3Tex, gBomberNumber4Tex, gBomberNumber5Tex,
|
||||
};
|
||||
|
||||
void EnBombers_Init(Actor* thisx, PlayState* play) {
|
||||
|
|
@ -139,8 +138,8 @@ void EnBombers_Init(Actor* thisx, PlayState* play) {
|
|||
this->actor.colChkInfo.mass = MASS_IMMOVABLE;
|
||||
ActorShape_Init(&this->actor.shape, 0.0f, ActorShadow_DrawCircle, 19.0f);
|
||||
this->actor.gravity = -1.0f;
|
||||
SkelAnime_InitFlex(play, &this->skelAnime, &object_cs_Skel_00F82C, &gBomberIdleAnim, this->jointTable,
|
||||
this->morphTable, OBJECT_CS_LIMB_MAX);
|
||||
SkelAnime_InitFlex(play, &this->skelAnime, &gBomberSkel, &gBomberIdleAnim, this->jointTable, this->morphTable,
|
||||
OBJECT_CS_LIMB_MAX);
|
||||
Collider_InitAndSetCylinder(play, &this->collider, &this->actor, &sCylinderInit);
|
||||
this->actor.attentionRangeType = ATTENTION_RANGE_0;
|
||||
Actor_SetScale(&this->actor, 0.01f);
|
||||
|
|
@ -207,13 +206,13 @@ void EnBombers_ChangeAnim(EnBombers* this, s32 animIndex, f32 playSpeed) {
|
|||
}
|
||||
|
||||
void func_80C038B4(EnBombers* this) {
|
||||
if ((this->animIndex == ENBOMBERS_ANIM_2) &&
|
||||
if ((this->animIndex == ENBOMBERS_ANIM_WALK) &&
|
||||
(Animation_OnFrame(&this->skelAnime, 9.0f) || Animation_OnFrame(&this->skelAnime, 10.0f) ||
|
||||
Animation_OnFrame(&this->skelAnime, 17.0f) || Animation_OnFrame(&this->skelAnime, 18.0f))) {
|
||||
Actor_PlaySfx(&this->actor, NA_SE_EV_BOMBERS_WALK);
|
||||
}
|
||||
|
||||
if ((this->animIndex == ENBOMBERS_ANIM_15) &&
|
||||
if ((this->animIndex == ENBOMBERS_ANIM_RUN) &&
|
||||
(Animation_OnFrame(&this->skelAnime, 0.0f) || Animation_OnFrame(&this->skelAnime, 2.0f) ||
|
||||
Animation_OnFrame(&this->skelAnime, 4.0f) || Animation_OnFrame(&this->skelAnime, 6.0f))) {
|
||||
Actor_PlaySfx(&this->actor, NA_SE_EV_BOMBERS_WALK);
|
||||
|
|
@ -290,7 +289,7 @@ void func_80C03AF4(EnBombers* this, PlayState* play) {
|
|||
abs = ABS_ALT(BINANG_SUB(this->actor.world.rot.y, Math_Vec3f_Yaw(&this->actor.world.pos, &sp60)));
|
||||
if ((abs < 0x4000) && !BgCheck_EntityLineTest1(&play->colCtx, &this->actor.world.pos, &sp60, &sp6C,
|
||||
&colPoly, true, false, false, true, &bgId)) {
|
||||
EnBombers_ChangeAnim(this, ENBOMBERS_ANIM_2, 1.0f);
|
||||
EnBombers_ChangeAnim(this, ENBOMBERS_ANIM_WALK, 1.0f);
|
||||
Math_Vec3f_Copy(&this->unk_294, &sp60);
|
||||
this->unk_2AA = Rand_S16Offset(30, 50);
|
||||
this->unk_2A0++;
|
||||
|
|
@ -313,9 +312,9 @@ void func_80C03AF4(EnBombers* this, PlayState* play) {
|
|||
false, true, &bgId)) {
|
||||
this->unk_2A8 = 0;
|
||||
if (Rand_ZeroOne() < 0.5f) {
|
||||
EnBombers_ChangeAnim(this, ENBOMBERS_ANIM_16, 1.0f);
|
||||
EnBombers_ChangeAnim(this, ENBOMBERS_ANIM_LOOK_AROUND, 1.0f);
|
||||
} else {
|
||||
EnBombers_ChangeAnim(this, ENBOMBERS_ANIM_0, 1.0f);
|
||||
EnBombers_ChangeAnim(this, ENBOMBERS_ANIM_IDLE, 1.0f);
|
||||
}
|
||||
this->unk_2A0 = 0;
|
||||
this->unk_2B4 = 0.0f;
|
||||
|
|
@ -329,9 +328,9 @@ void func_80C03AF4(EnBombers* this, PlayState* play) {
|
|||
if ((this->unk_2AA == 0) || (sqrtf(SQ(x) + SQ(z)) < 4.0f)) {
|
||||
this->unk_2A8 = Rand_S16Offset(20, 20);
|
||||
if (!(this->unk_2A8 & 1)) {
|
||||
EnBombers_ChangeAnim(this, ENBOMBERS_ANIM_16, 1.0f);
|
||||
EnBombers_ChangeAnim(this, ENBOMBERS_ANIM_LOOK_AROUND, 1.0f);
|
||||
} else {
|
||||
EnBombers_ChangeAnim(this, ENBOMBERS_ANIM_0, 1.0f);
|
||||
EnBombers_ChangeAnim(this, ENBOMBERS_ANIM_IDLE, 1.0f);
|
||||
}
|
||||
this->unk_2A0 = 0;
|
||||
this->unk_2B4 = 0.0f;
|
||||
|
|
@ -365,7 +364,7 @@ void func_80C03AF4(EnBombers* this, PlayState* play) {
|
|||
|
||||
void func_80C03F64(EnBombers* this) {
|
||||
this->unk_2A4 = this->actor.yawTowardsPlayer;
|
||||
EnBombers_ChangeAnim(this, ENBOMBERS_ANIM_1, 1.0f);
|
||||
EnBombers_ChangeAnim(this, ENBOMBERS_ANIM_TALK_HANDS_ON_HIPS, 1.0f);
|
||||
this->unk_2C0 = 1;
|
||||
this->actionFunc = func_80C03FAC;
|
||||
}
|
||||
|
|
@ -427,7 +426,7 @@ void func_80C03FAC(EnBombers* this, PlayState* play) {
|
|||
} else {
|
||||
Audio_PlaySfx_MessageDecide();
|
||||
this->actor.textId = 0x74D;
|
||||
EnBombers_ChangeAnim(this, ENBOMBERS_ANIM_14, 1.0f);
|
||||
EnBombers_ChangeAnim(this, ENBOMBERS_ANIM_SALUTE, 1.0f);
|
||||
sp2A = 1;
|
||||
}
|
||||
} else if (this->actor.textId == 0x744) {
|
||||
|
|
@ -487,8 +486,8 @@ void func_80C03FAC(EnBombers* this, PlayState* play) {
|
|||
}
|
||||
|
||||
void func_80C042F8(EnBombers* this) {
|
||||
if (this->animIndex != ENBOMBERS_ANIM_6) {
|
||||
EnBombers_ChangeAnim(this, ENBOMBERS_ANIM_6, 1.0f);
|
||||
if (this->animIndex != ENBOMBERS_ANIM_SIT) {
|
||||
EnBombers_ChangeAnim(this, ENBOMBERS_ANIM_SIT, 1.0f);
|
||||
}
|
||||
this->actor.textId = 0x72D;
|
||||
this->unk_28E = 0x1F40;
|
||||
|
|
@ -582,9 +581,9 @@ void EnBombers_Draw(Actor* thisx, PlayState* play) {
|
|||
Gfx_SetupDL25_Opa(play->state.gfxCtx);
|
||||
Gfx_SetupDL25_Xlu(play->state.gfxCtx);
|
||||
|
||||
gSPSegment(POLY_OPA_DISP++, 0x08, Lib_SegmentedToVirtual(D_80C0482C[this->unk_2B8]));
|
||||
gSPSegment(POLY_OPA_DISP++, 0x09, Lib_SegmentedToVirtual(D_80C04838[this->unk_2BE]));
|
||||
gSPSegment(POLY_OPA_DISP++, 0x0A, Lib_SegmentedToVirtual(D_80C04818[this->unk_2BE]));
|
||||
gSPSegment(POLY_OPA_DISP++, 0x08, Lib_SegmentedToVirtual(sEyeTextures[this->unk_2B8]));
|
||||
gSPSegment(POLY_OPA_DISP++, 0x09, Lib_SegmentedToVirtual(sNumberTextures[this->unk_2BE]));
|
||||
gSPSegment(POLY_OPA_DISP++, 0x0A, Lib_SegmentedToVirtual(sBomberDisplayLists[this->unk_2BE]));
|
||||
|
||||
Scene_SetRenderModeXlu(play, 0, 1);
|
||||
SkelAnime_DrawFlexOpa(play, this->skelAnime.skeleton, this->skelAnime.jointTable, this->skelAnime.dListCount,
|
||||
|
|
|
|||
|
|
@ -57,35 +57,35 @@ static ColliderCylinderInit sCylinderInit = {
|
|||
};
|
||||
|
||||
typedef enum {
|
||||
/* -1 */ ENBOMBERS_ANIM_NONE = -1,
|
||||
/* 0 */ ENBOMBERS_ANIM_0,
|
||||
/* 1 */ ENBOMBERS_ANIM_1,
|
||||
/* 2 */ ENBOMBERS_ANIM_2,
|
||||
/* 3 */ ENBOMBERS_ANIM_3,
|
||||
/* 4 */ ENBOMBERS_ANIM_4,
|
||||
/* 5 */ ENBOMBERS_ANIM_5,
|
||||
/* 6 */ ENBOMBERS_ANIM_6,
|
||||
/* 7 */ ENBOMBERS_ANIM_MAX
|
||||
} EnBombersAnimation;
|
||||
/* -1 */ ENBOMBERS2_ANIM_NONE = -1,
|
||||
/* 0 */ ENBOMBERS2_ANIM_IDLE,
|
||||
/* 1 */ ENBOMBERS2_ANIM_TALK_HANDS_ON_HIPS,
|
||||
/* 2 */ ENBOMBERS2_ANIM_WALK,
|
||||
/* 3 */ ENBOMBERS2_ANIM_SURPRISE,
|
||||
/* 4 */ ENBOMBERS2_ANIM_FROLIC,
|
||||
/* 5 */ ENBOMBERS2_ANIM_ARM_SWIPE,
|
||||
/* 6 */ ENBOMBERS2_ANIM_SALUTE,
|
||||
/* 7 */ ENBOMBERS2_ANIM_MAX
|
||||
} EnBombers2Animation;
|
||||
|
||||
static AnimationHeader* sAnimations[ENBOMBERS_ANIM_MAX] = {
|
||||
&gBomberIdleAnim, // ENBOMBERS_ANIM_0
|
||||
&object_cs_Anim_0053F4, // ENBOMBERS_ANIM_1
|
||||
&object_cs_Anim_01007C, // ENBOMBERS_ANIM_2
|
||||
&object_cs_Anim_00349C, // ENBOMBERS_ANIM_3
|
||||
&object_cs_Anim_0060E8, // ENBOMBERS_ANIM_4
|
||||
&object_cs_Anim_005DC4, // ENBOMBERS_ANIM_5
|
||||
&object_cs_Anim_0026B0, // ENBOMBERS_ANIM_6
|
||||
static AnimationHeader* sAnimations[ENBOMBERS2_ANIM_MAX] = {
|
||||
&gBomberIdleAnim, // ENBOMBERS2_ANIM_IDLE
|
||||
&gBomberTalkHandsOnHipsAnim, // ENBOMBERS2_ANIM_TALK_HANDS_ON_HIPS
|
||||
&gBomberWalkAnim, // ENBOMBERS2_ANIM_WALK
|
||||
&gBomberSurpriseAnim, // ENBOMBERS2_ANIM_SURPRISE
|
||||
&gBomberFrolicAnim, // ENBOMBERS2_ANIM_FROLIC
|
||||
&gBomberArmSwipeAnim, // ENBOMBERS2_ANIM_ARM_SWIPE
|
||||
&gBomberSaluteAnim, // ENBOMBERS2_ANIM_SALUTE
|
||||
};
|
||||
|
||||
static u8 sAnimationModes[ENBOMBERS_ANIM_MAX] = {
|
||||
ANIMMODE_LOOP, // ENBOMBERS_ANIM_0
|
||||
ANIMMODE_LOOP, // ENBOMBERS_ANIM_1
|
||||
ANIMMODE_LOOP, // ENBOMBERS_ANIM_2
|
||||
ANIMMODE_ONCE, // ENBOMBERS_ANIM_3
|
||||
ANIMMODE_LOOP, // ENBOMBERS_ANIM_4
|
||||
ANIMMODE_LOOP, // ENBOMBERS_ANIM_5
|
||||
ANIMMODE_ONCE, // ENBOMBERS_ANIM_6
|
||||
static u8 sAnimationModes[ENBOMBERS2_ANIM_MAX] = {
|
||||
ANIMMODE_LOOP, // ENBOMBERS2_ANIM_IDLE
|
||||
ANIMMODE_LOOP, // ENBOMBERS2_ANIM_TALK_HANDS_ON_HIPS
|
||||
ANIMMODE_LOOP, // ENBOMBERS2_ANIM_WALK
|
||||
ANIMMODE_ONCE, // ENBOMBERS2_ANIM_SURPRISE
|
||||
ANIMMODE_LOOP, // ENBOMBERS2_ANIM_FROLIC
|
||||
ANIMMODE_LOOP, // ENBOMBERS2_ANIM_ARM_SWIPE
|
||||
ANIMMODE_ONCE, // ENBOMBERS2_ANIM_SALUTE
|
||||
};
|
||||
|
||||
static Gfx sSetPrimColorDL[] = {
|
||||
|
|
@ -96,12 +96,12 @@ static Gfx sSetPrimColorDL[] = {
|
|||
static Gfx* sSetPrimColorDlPtr = sSetPrimColorDL;
|
||||
|
||||
static TexturePtr sEyeTextures[] = {
|
||||
object_cs_Tex_00C520,
|
||||
object_cs_Tex_00CD20,
|
||||
object_cs_Tex_00D520,
|
||||
gBomberEyeOpenTex,
|
||||
gBomberEyeHalfTex,
|
||||
gBomberEyeClosedTex,
|
||||
};
|
||||
|
||||
static TexturePtr D_80C05920 = object_cs_Tex_00E220;
|
||||
static TexturePtr sWhiteShirtBackTex = gBomberWhiteShirtBackTex;
|
||||
|
||||
void EnBombers2_Init(Actor* thisx, PlayState* play) {
|
||||
f32 cos;
|
||||
|
|
@ -109,8 +109,8 @@ void EnBombers2_Init(Actor* thisx, PlayState* play) {
|
|||
|
||||
this->actor.colChkInfo.mass = MASS_IMMOVABLE;
|
||||
ActorShape_Init(&this->actor.shape, 0.0f, ActorShadow_DrawCircle, 19.0f);
|
||||
SkelAnime_InitFlex(play, &this->skelAnime, &object_cs_Skel_00F82C, &gBomberIdleAnim, this->jointTable,
|
||||
this->morphTable, OBJECT_CS_LIMB_MAX);
|
||||
SkelAnime_InitFlex(play, &this->skelAnime, &gBomberSkel, &gBomberIdleAnim, this->jointTable, this->morphTable,
|
||||
OBJECT_CS_LIMB_MAX);
|
||||
this->actor.attentionRangeType = ATTENTION_RANGE_6;
|
||||
Collider_InitAndSetCylinder(play, &this->collider, &this->actor, &sCylinderInit);
|
||||
|
||||
|
|
@ -146,9 +146,9 @@ void EnBombers2_ChangeAnim(EnBombers2* this, s32 animIndex, f32 playSpeed) {
|
|||
|
||||
void func_80C04B40(EnBombers2* this) {
|
||||
if (!this->unk_2AC) {
|
||||
EnBombers2_ChangeAnim(this, ENBOMBERS_ANIM_4, 1.0f);
|
||||
EnBombers2_ChangeAnim(this, ENBOMBERS2_ANIM_FROLIC, 1.0f);
|
||||
} else {
|
||||
EnBombers2_ChangeAnim(this, ENBOMBERS_ANIM_0, 1.0f);
|
||||
EnBombers2_ChangeAnim(this, ENBOMBERS2_ANIM_IDLE, 1.0f);
|
||||
}
|
||||
this->unk_2C0 = 0;
|
||||
this->actionFunc = func_80C04BA0;
|
||||
|
|
@ -201,14 +201,14 @@ void func_80C04BA0(EnBombers2* this, PlayState* play) {
|
|||
|
||||
void func_80C04D00(EnBombers2* this) {
|
||||
if ((this->textIdIndex == 0) || (this->textIdIndex == 1)) {
|
||||
EnBombers2_ChangeAnim(this, ENBOMBERS_ANIM_5, 1.0f);
|
||||
EnBombers2_ChangeAnim(this, ENBOMBERS2_ANIM_ARM_SWIPE, 1.0f);
|
||||
} else {
|
||||
EnBombers2_ChangeAnim(this, ENBOMBERS_ANIM_1, 1.0f);
|
||||
EnBombers2_ChangeAnim(this, ENBOMBERS2_ANIM_TALK_HANDS_ON_HIPS, 1.0f);
|
||||
}
|
||||
|
||||
this->unk_2A8 = 0;
|
||||
if (this->unk_2AC) {
|
||||
EnBombers2_ChangeAnim(this, ENBOMBERS_ANIM_6, 1.0f);
|
||||
EnBombers2_ChangeAnim(this, ENBOMBERS2_ANIM_SALUTE, 1.0f);
|
||||
}
|
||||
this->unk_2C0 = 1;
|
||||
this->actionFunc = func_80C04D8C;
|
||||
|
|
@ -220,9 +220,9 @@ void func_80C04D8C(EnBombers2* this, PlayState* play) {
|
|||
|
||||
if (!this->unk_2AC && (curFrame >= this->lastAnimFrame)) {
|
||||
if (!(this->unk_2A8 & 1)) {
|
||||
EnBombers2_ChangeAnim(this, ENBOMBERS_ANIM_1, 1.0f);
|
||||
EnBombers2_ChangeAnim(this, ENBOMBERS2_ANIM_TALK_HANDS_ON_HIPS, 1.0f);
|
||||
} else {
|
||||
EnBombers2_ChangeAnim(this, ENBOMBERS_ANIM_5, 1.0f);
|
||||
EnBombers2_ChangeAnim(this, ENBOMBERS2_ANIM_ARM_SWIPE, 1.0f);
|
||||
}
|
||||
this->unk_2A8++;
|
||||
this->unk_2A8 &= 1;
|
||||
|
|
@ -324,7 +324,7 @@ void func_80C050B8(EnBombers2* this, PlayState* play) {
|
|||
Player* player = GET_PLAYER(play);
|
||||
s16 homeYawToPlayer;
|
||||
|
||||
EnBombers2_ChangeAnim(this, ENBOMBERS_ANIM_2, 1.0f);
|
||||
EnBombers2_ChangeAnim(this, ENBOMBERS2_ANIM_WALK, 1.0f);
|
||||
this->unk_2A8 = 0;
|
||||
homeYawToPlayer = Math_Vec3f_Yaw(&this->actor.home.pos, &player->actor.world.pos);
|
||||
Math_Vec3f_Copy(&this->unk_29C, &this->actor.world.pos);
|
||||
|
|
@ -361,7 +361,7 @@ void func_80C0520C(EnBombers2* this, PlayState* play) {
|
|||
Message_CloseTextbox(play);
|
||||
this->talkState = TEXT_STATE_EVENT;
|
||||
this->textIdIndex = 7;
|
||||
EnBombers2_ChangeAnim(this, ENBOMBERS_ANIM_6, 1.0f);
|
||||
EnBombers2_ChangeAnim(this, ENBOMBERS2_ANIM_SALUTE, 1.0f);
|
||||
this->unk_2A8 = 0;
|
||||
this->unk_2C0 = 1;
|
||||
SET_WEEKEVENTREG(WEEKEVENTREG_ENTERED_BOMBERS_CODE);
|
||||
|
|
@ -388,7 +388,7 @@ void EnBombers2_Update(Actor* thisx, PlayState* play) {
|
|||
if (this->unk_2B2 != 0) {
|
||||
this->unk_2B2--;
|
||||
}
|
||||
if ((this->animIndex == ENBOMBERS_ANIM_2) &&
|
||||
if ((this->animIndex == ENBOMBERS2_ANIM_WALK) &&
|
||||
(Animation_OnFrame(&this->skelAnime, 9.0f) || Animation_OnFrame(&this->skelAnime, 10.0f) ||
|
||||
Animation_OnFrame(&this->skelAnime, 17.0f) || Animation_OnFrame(&this->skelAnime, 18.0f))) {
|
||||
Actor_PlaySfx(&this->actor, NA_SE_EV_BOMBERS_WALK);
|
||||
|
|
@ -464,7 +464,7 @@ void EnBombers2_Draw(Actor* thisx, PlayState* play) {
|
|||
Gfx_SetupDL25_Opa(play->state.gfxCtx);
|
||||
Gfx_SetupDL25_Xlu(play->state.gfxCtx);
|
||||
gSPSegment(POLY_OPA_DISP++, 0x08, Lib_SegmentedToVirtual(sEyeTextures[this->eyeIndex]));
|
||||
gSPSegment(POLY_OPA_DISP++, 0x09, Lib_SegmentedToVirtual(D_80C05920));
|
||||
gSPSegment(POLY_OPA_DISP++, 0x09, Lib_SegmentedToVirtual(sWhiteShirtBackTex));
|
||||
gSPSegment(POLY_OPA_DISP++, 0x0A, Lib_SegmentedToVirtual(sSetPrimColorDlPtr));
|
||||
Scene_SetRenderModeXlu(play, 0, 1);
|
||||
SkelAnime_DrawFlexOpa(play, this->skelAnime.skeleton, this->skelAnime.jointTable, this->skelAnime.dListCount,
|
||||
|
|
|
|||
|
|
@ -99,73 +99,73 @@ u16 D_80C00A8C[] = { 0x736, 0x737, 0x738, 0x74E };
|
|||
|
||||
typedef enum {
|
||||
/* -1 */ ENBOMJIMA_ANIM_NONE = -1,
|
||||
/* 0x00 */ ENBOMJIMA_ANIM_0,
|
||||
/* 0x01 */ ENBOMJIMA_ANIM_1,
|
||||
/* 0x02 */ ENBOMJIMA_ANIM_2,
|
||||
/* 0x03 */ ENBOMJIMA_ANIM_3,
|
||||
/* 0x04 */ ENBOMJIMA_ANIM_4,
|
||||
/* 0x05 */ ENBOMJIMA_ANIM_5,
|
||||
/* 0x06 */ ENBOMJIMA_ANIM_6,
|
||||
/* 0x07 */ ENBOMJIMA_ANIM_7,
|
||||
/* 0x08 */ ENBOMJIMA_ANIM_8,
|
||||
/* 0x09 */ ENBOMJIMA_ANIM_9,
|
||||
/* 0x0A */ ENBOMJIMA_ANIM_10,
|
||||
/* 0x0B */ ENBOMJIMA_ANIM_11,
|
||||
/* 0x0C */ ENBOMJIMA_ANIM_12,
|
||||
/* 0x0D */ ENBOMJIMA_ANIM_13,
|
||||
/* 0x0E */ ENBOMJIMA_ANIM_14,
|
||||
/* 0x0F */ ENBOMJIMA_ANIM_15,
|
||||
/* 0x10 */ ENBOMJIMA_ANIM_16,
|
||||
/* 0x11 */ ENBOMJIMA_ANIM_17,
|
||||
/* 0x12 */ ENBOMJIMA_ANIM_18,
|
||||
/* 0x13 */ ENBOMJIMA_ANIM_19,
|
||||
/* 0x00 */ ENBOMJIMA_ANIM_IDLE,
|
||||
/* 0x01 */ ENBOMJIMA_ANIM_HANDS_ON_HIPS,
|
||||
/* 0x02 */ ENBOMJIMA_ANIM_TALK_NORMAL,
|
||||
/* 0x03 */ ENBOMJIMA_ANIM_TALK_HANDS_ON_HIPS,
|
||||
/* 0x04 */ ENBOMJIMA_ANIM_BLOWGUN,
|
||||
/* 0x05 */ ENBOMJIMA_ANIM_WALK,
|
||||
/* 0x06 */ ENBOMJIMA_ANIM_SURPRISE,
|
||||
/* 0x07 */ ENBOMJIMA_ANIM_HIDE_UNDER_BOX,
|
||||
/* 0x08 */ ENBOMJIMA_ANIM_KNOCK_BACK,
|
||||
/* 0x09 */ ENBOMJIMA_ANIM_SIT,
|
||||
/* 0x0A */ ENBOMJIMA_ANIM_HOLD_CUCCO,
|
||||
/* 0x0B */ ENBOMJIMA_ANIM_TURN_AROUND,
|
||||
/* 0x0C */ ENBOMJIMA_ANIM_SHOW_NUMBER,
|
||||
/* 0x0D */ ENBOMJIMA_ANIM_TALK_BACK_TURNED,
|
||||
/* 0x0E */ ENBOMJIMA_ANIM_FROLIC,
|
||||
/* 0x0F */ ENBOMJIMA_ANIM_JUMP,
|
||||
/* 0x10 */ ENBOMJIMA_ANIM_ARM_SWIPE,
|
||||
/* 0x11 */ ENBOMJIMA_ANIM_SALUTE,
|
||||
/* 0x12 */ ENBOMJIMA_ANIM_RUN,
|
||||
/* 0x13 */ ENBOMJIMA_ANIM_LOOK_AROUND,
|
||||
/* 0x16 */ ENBOMJIMA_ANIM_MAX
|
||||
} EnBomjimaAnimation;
|
||||
|
||||
static AnimationHeader* sAnimations[ENBOMJIMA_ANIM_MAX] = {
|
||||
&gBomberIdleAnim, // ENBOMJIMA_ANIM_0
|
||||
&object_cs_Anim_00FAF4, // ENBOMJIMA_ANIM_1
|
||||
&object_cs_Anim_0057C8, // ENBOMJIMA_ANIM_2
|
||||
&object_cs_Anim_0053F4, // ENBOMJIMA_ANIM_3
|
||||
&object_cs_Anim_002044, // ENBOMJIMA_ANIM_4
|
||||
&object_cs_Anim_01007C, // ENBOMJIMA_ANIM_5
|
||||
&object_cs_Anim_00349C, // ENBOMJIMA_ANIM_6
|
||||
&object_cs_Anim_004960, // ENBOMJIMA_ANIM_7
|
||||
&object_cs_Anim_005128, // ENBOMJIMA_ANIM_8
|
||||
&object_cs_Anim_004C1C, // ENBOMJIMA_ANIM_9
|
||||
&object_cs_Anim_001A1C, // ENBOMJIMA_ANIM_10
|
||||
&object_cs_Anim_003EE4, // ENBOMJIMA_ANIM_11
|
||||
&object_cs_Anim_00478C, // ENBOMJIMA_ANIM_12
|
||||
&object_cs_Anim_00433C, // ENBOMJIMA_ANIM_13
|
||||
&object_cs_Anim_0060E8, // ENBOMJIMA_ANIM_14
|
||||
&object_cs_Anim_001708, // ENBOMJIMA_ANIM_15
|
||||
&object_cs_Anim_005DC4, // ENBOMJIMA_ANIM_16
|
||||
&object_cs_Anim_0026B0, // ENBOMJIMA_ANIM_17
|
||||
&object_cs_Anim_0036B0, // ENBOMJIMA_ANIM_18
|
||||
&object_cs_Anim_0031C4, // ENBOMJIMA_ANIM_19
|
||||
&gBomberIdleAnim, // ENBOMJIMA_ANIM_IDLE
|
||||
&gBomberHandsOnHipsAnim, // ENBOMJIMA_ANIM_HANDS_ON_HIPS
|
||||
&gBomberTalkNormalAnim, // ENBOMJIMA_ANIM_TALK_NORMAL
|
||||
&gBomberTalkHandsOnHipsAnim, // ENBOMJIMA_ANIM_TALK_HANDS_ON_HIPS
|
||||
&gBomberBlowgunAnim, // ENBOMJIMA_ANIM_BLOWGUN
|
||||
&gBomberWalkAnim, // ENBOMJIMA_ANIM_WALK
|
||||
&gBomberSurpriseAnim, // ENBOMJIMA_ANIM_SURPRISE
|
||||
&gBomberHideUnderBoxAnim, // ENBOMJIMA_ANIM_HIDE_UNDER_BOX
|
||||
&gBomberKnockBackAnim, // ENBOMJIMA_ANIM_KNOCK_BACK
|
||||
&gBomberSitAnim, // ENBOMJIMA_ANIM_SIT
|
||||
&gBomberHoldCuccoAnim, // ENBOMJIMA_ANIM_HOLD_CUCCO
|
||||
&gBomberTurnAroundAnim, // ENBOMJIMA_ANIM_TURN_AROUND
|
||||
&gBomberShowNumberAnim, // ENBOMJIMA_ANIM_SHOW_NUMBER
|
||||
&gBomberTalkBackTurnedAnim, // ENBOMJIMA_ANIM_TALK_BACK_TURNED
|
||||
&gBomberFrolicAnim, // ENBOMJIMA_ANIM_FROLIC
|
||||
&gBomberJumpAnim, // ENBOMJIMA_ANIM_JUMP
|
||||
&gBomberArmSwipeAnim, // ENBOMJIMA_ANIM_ARM_SWIPE
|
||||
&gBomberSaluteAnim, // ENBOMJIMA_ANIM_SALUTE
|
||||
&gBomberRunAnim, // ENBOMJIMA_ANIM_RUN
|
||||
&gBomberLookAroundAnim, // ENBOMJIMA_ANIM_LOOK_AROUND
|
||||
};
|
||||
|
||||
static u8 sAnimationModes[ENBOMJIMA_ANIM_MAX] = {
|
||||
ANIMMODE_LOOP, // ENBOMJIMA_ANIM_0
|
||||
ANIMMODE_LOOP, // ENBOMJIMA_ANIM_1
|
||||
ANIMMODE_LOOP, // ENBOMJIMA_ANIM_2
|
||||
ANIMMODE_LOOP, // ENBOMJIMA_ANIM_3
|
||||
ANIMMODE_LOOP, // ENBOMJIMA_ANIM_4
|
||||
ANIMMODE_LOOP, // ENBOMJIMA_ANIM_5
|
||||
ANIMMODE_ONCE, // ENBOMJIMA_ANIM_6
|
||||
ANIMMODE_ONCE, // ENBOMJIMA_ANIM_7
|
||||
ANIMMODE_LOOP, // ENBOMJIMA_ANIM_8
|
||||
ANIMMODE_LOOP, // ENBOMJIMA_ANIM_9
|
||||
ANIMMODE_LOOP, // ENBOMJIMA_ANIM_10
|
||||
ANIMMODE_ONCE, // ENBOMJIMA_ANIM_11
|
||||
ANIMMODE_LOOP, // ENBOMJIMA_ANIM_12
|
||||
ANIMMODE_LOOP, // ENBOMJIMA_ANIM_13
|
||||
ANIMMODE_LOOP, // ENBOMJIMA_ANIM_14
|
||||
ANIMMODE_ONCE, // ENBOMJIMA_ANIM_15
|
||||
ANIMMODE_LOOP, // ENBOMJIMA_ANIM_16
|
||||
ANIMMODE_ONCE, // ENBOMJIMA_ANIM_17
|
||||
ANIMMODE_LOOP, // ENBOMJIMA_ANIM_18
|
||||
ANIMMODE_LOOP, // ENBOMJIMA_ANIM_19
|
||||
ANIMMODE_LOOP, // ENBOMJIMA_ANIM_IDLE
|
||||
ANIMMODE_LOOP, // ENBOMJIMA_ANIM_HANDS_ON_HIPS
|
||||
ANIMMODE_LOOP, // ENBOMJIMA_ANIM_TALK_NORMAL
|
||||
ANIMMODE_LOOP, // ENBOMJIMA_ANIM_TALK_HANDS_ON_HIPS
|
||||
ANIMMODE_LOOP, // ENBOMJIMA_ANIM_BLOWGUN
|
||||
ANIMMODE_LOOP, // ENBOMJIMA_ANIM_WALK
|
||||
ANIMMODE_ONCE, // ENBOMJIMA_ANIM_SURPRISE
|
||||
ANIMMODE_ONCE, // ENBOMJIMA_ANIM_HIDE_UNDER_BOX
|
||||
ANIMMODE_LOOP, // ENBOMJIMA_ANIM_KNOCK_BACK
|
||||
ANIMMODE_LOOP, // ENBOMJIMA_ANIM_SIT
|
||||
ANIMMODE_LOOP, // ENBOMJIMA_ANIM_HOLD_CUCCO
|
||||
ANIMMODE_ONCE, // ENBOMJIMA_ANIM_TURN_AROUND
|
||||
ANIMMODE_LOOP, // ENBOMJIMA_ANIM_SHOW_NUMBER
|
||||
ANIMMODE_LOOP, // ENBOMJIMA_ANIM_TALK_BACK_TURNED
|
||||
ANIMMODE_LOOP, // ENBOMJIMA_ANIM_FROLIC
|
||||
ANIMMODE_ONCE, // ENBOMJIMA_ANIM_JUMP
|
||||
ANIMMODE_LOOP, // ENBOMJIMA_ANIM_ARM_SWIPE
|
||||
ANIMMODE_ONCE, // ENBOMJIMA_ANIM_SALUTE
|
||||
ANIMMODE_LOOP, // ENBOMJIMA_ANIM_RUN
|
||||
ANIMMODE_LOOP, // ENBOMJIMA_ANIM_LOOK_AROUND
|
||||
};
|
||||
|
||||
s16 D_80C00AF8[] = {
|
||||
|
|
@ -180,8 +180,8 @@ void EnBomjima_Init(Actor* thisx, PlayState* play) {
|
|||
this->actor.colChkInfo.mass = MASS_IMMOVABLE;
|
||||
ActorShape_Init(&this->actor.shape, 0.0f, ActorShadow_DrawCircle, 19.0f);
|
||||
this->actor.gravity = -3.0f;
|
||||
SkelAnime_InitFlex(play, &this->skelAnime, &object_cs_Skel_00F82C, &gBomberIdleAnim, this->jointTable,
|
||||
this->morphTable, OBJECT_CS_LIMB_MAX);
|
||||
SkelAnime_InitFlex(play, &this->skelAnime, &gBomberSkel, &gBomberIdleAnim, this->jointTable, this->morphTable,
|
||||
OBJECT_CS_LIMB_MAX);
|
||||
Collider_InitAndSetCylinder(play, &this->collider, &this->actor, &sCylinderInit);
|
||||
CLEAR_WEEKEVENTREG(WEEKEVENTREG_83_04);
|
||||
this->actor.attentionRangeType = ATTENTION_RANGE_0;
|
||||
|
|
@ -274,23 +274,23 @@ void EnBomjima_ChangeAnim(EnBomjima* this, s32 animIndex, f32 playSpeed) {
|
|||
}
|
||||
|
||||
void func_80BFE524(EnBomjima* this) {
|
||||
if ((this->animIndex == ENBOMJIMA_ANIM_5) &&
|
||||
if ((this->animIndex == ENBOMJIMA_ANIM_WALK) &&
|
||||
(Animation_OnFrame(&this->skelAnime, 9.0f) || Animation_OnFrame(&this->skelAnime, 10.0f) ||
|
||||
Animation_OnFrame(&this->skelAnime, 17.0f) || Animation_OnFrame(&this->skelAnime, 18.0f))) {
|
||||
Actor_PlaySfx(&this->actor, NA_SE_EV_BOMBERS_WALK);
|
||||
}
|
||||
|
||||
if ((this->animIndex == ENBOMJIMA_ANIM_18) &&
|
||||
if ((this->animIndex == ENBOMJIMA_ANIM_RUN) &&
|
||||
(Animation_OnFrame(&this->skelAnime, 0.0f) || Animation_OnFrame(&this->skelAnime, 2.0f) ||
|
||||
Animation_OnFrame(&this->skelAnime, 4.0f) || Animation_OnFrame(&this->skelAnime, 6.0f))) {
|
||||
Actor_PlaySfx(&this->actor, NA_SE_EV_BOMBERS_WALK);
|
||||
}
|
||||
|
||||
if ((this->animIndex == ENBOMJIMA_ANIM_15) && Animation_OnFrame(&this->skelAnime, 15.0f)) {
|
||||
if ((this->animIndex == ENBOMJIMA_ANIM_JUMP) && Animation_OnFrame(&this->skelAnime, 15.0f)) {
|
||||
Actor_PlaySfx(&this->actor, NA_SE_EV_BOMBERS_LAND);
|
||||
}
|
||||
|
||||
if ((this->animIndex == ENBOMJIMA_ANIM_6) && Animation_OnFrame(&this->skelAnime, 8.0f)) {
|
||||
if ((this->animIndex == ENBOMJIMA_ANIM_SURPRISE) && Animation_OnFrame(&this->skelAnime, 8.0f)) {
|
||||
Actor_PlaySfx(&this->actor, NA_SE_EV_BOMBERS_LAND);
|
||||
}
|
||||
}
|
||||
|
|
@ -330,7 +330,7 @@ void func_80BFE67C(EnBomjima* this, PlayState* play) {
|
|||
abs = ABS_ALT(BINANG_SUB(this->actor.world.rot.y, Math_Vec3f_Yaw(&this->actor.world.pos, &sp54)));
|
||||
if ((abs < 0x4000) && !BgCheck_EntityLineTest1(&play->colCtx, &this->actor.world.pos, &sp54, &sp6C,
|
||||
&sp50, true, false, false, true, &bgId)) {
|
||||
EnBomjima_ChangeAnim(this, ENBOMJIMA_ANIM_5, 1.0f);
|
||||
EnBomjima_ChangeAnim(this, ENBOMJIMA_ANIM_WALK, 1.0f);
|
||||
Math_Vec3f_Copy(&this->unk_2A4, &sp54);
|
||||
this->unk_2BE = Rand_S16Offset(30, 50);
|
||||
this->unk_2A2++;
|
||||
|
|
@ -355,9 +355,9 @@ void func_80BFE67C(EnBomjima* this, PlayState* play) {
|
|||
false, true, &bgId)) {
|
||||
this->unk_2C0 = 0;
|
||||
if (Rand_ZeroOne() < 0.5f) {
|
||||
EnBomjima_ChangeAnim(this, ENBOMJIMA_ANIM_19, 1.0f);
|
||||
EnBomjima_ChangeAnim(this, ENBOMJIMA_ANIM_LOOK_AROUND, 1.0f);
|
||||
} else {
|
||||
EnBomjima_ChangeAnim(this, ENBOMJIMA_ANIM_0, 1.0f);
|
||||
EnBomjima_ChangeAnim(this, ENBOMJIMA_ANIM_IDLE, 1.0f);
|
||||
}
|
||||
this->unk_2A2 = 0;
|
||||
this->unk_2D0 = 0.0f;
|
||||
|
|
@ -371,9 +371,9 @@ void func_80BFE67C(EnBomjima* this, PlayState* play) {
|
|||
if ((this->unk_2BE == 0) || (sqrtf(SQ(x) + SQ(z)) < 4.0f)) {
|
||||
this->unk_2C0 = Rand_S16Offset(20, 20);
|
||||
if (!(this->unk_2C0 & 1)) {
|
||||
EnBomjima_ChangeAnim(this, ENBOMJIMA_ANIM_19, 1.0f);
|
||||
EnBomjima_ChangeAnim(this, ENBOMJIMA_ANIM_LOOK_AROUND, 1.0f);
|
||||
} else {
|
||||
EnBomjima_ChangeAnim(this, ENBOMJIMA_ANIM_0, 1.0f);
|
||||
EnBomjima_ChangeAnim(this, ENBOMJIMA_ANIM_IDLE, 1.0f);
|
||||
}
|
||||
this->unk_2A2 = 0;
|
||||
this->unk_2D0 = 0.0f;
|
||||
|
|
@ -407,7 +407,7 @@ void func_80BFEA94(EnBomjima* this, PlayState* play) {
|
|||
}
|
||||
|
||||
void func_80BFEB1C(EnBomjima* this) {
|
||||
EnBomjima_ChangeAnim(this, ENBOMJIMA_ANIM_1, 1.0f);
|
||||
EnBomjima_ChangeAnim(this, ENBOMJIMA_ANIM_HANDS_ON_HIPS, 1.0f);
|
||||
func_80BFE65C(this);
|
||||
this->action = EN_BOMJIMA_ACTION_0;
|
||||
this->actionFunc = func_80BFEB64;
|
||||
|
|
@ -458,7 +458,7 @@ void func_80BFEB64(EnBomjima* this, PlayState* play) {
|
|||
|
||||
switch (this->unk_2A2) {
|
||||
case 0:
|
||||
EnBomjima_ChangeAnim(this, ENBOMJIMA_ANIM_4, 1.0f);
|
||||
EnBomjima_ChangeAnim(this, ENBOMJIMA_ANIM_BLOWGUN, 1.0f);
|
||||
this->unk_29A = -7000;
|
||||
this->unk_2A2++;
|
||||
break;
|
||||
|
|
@ -488,7 +488,7 @@ void func_80BFEB64(EnBomjima* this, PlayState* play) {
|
|||
this->unk_2BC++;
|
||||
|
||||
if ((TRUNCF_BINANG(Rand_ZeroFloat(2.0f)) + 3) < this->unk_2BC) {
|
||||
EnBomjima_ChangeAnim(this, ENBOMJIMA_ANIM_5, 1.0f);
|
||||
EnBomjima_ChangeAnim(this, ENBOMJIMA_ANIM_WALK, 1.0f);
|
||||
this->unk_29A = 0;
|
||||
Math_Vec3f_Copy(&this->unk_2A4, &this->actor.home.pos);
|
||||
this->unk_2A4.x += Rand_CenteredFloat(150.0f);
|
||||
|
|
@ -514,7 +514,7 @@ void func_80BFEB64(EnBomjima* this, PlayState* play) {
|
|||
|
||||
void func_80BFEFF0(EnBomjima* this) {
|
||||
this->bombal = NULL;
|
||||
EnBomjima_ChangeAnim(this, ENBOMJIMA_ANIM_19, 1.0f);
|
||||
EnBomjima_ChangeAnim(this, ENBOMJIMA_ANIM_LOOK_AROUND, 1.0f);
|
||||
func_80BFE65C(this);
|
||||
this->action = EN_BOMJIMA_ACTION_1;
|
||||
this->actionFunc = func_80BFF03C;
|
||||
|
|
@ -541,7 +541,7 @@ void func_80BFF03C(EnBomjima* this, PlayState* play) {
|
|||
void func_80BFF120(EnBomjima* this) {
|
||||
func_80BFE65C(this);
|
||||
this->cutsceneTimer = 30;
|
||||
EnBomjima_ChangeAnim(this, ENBOMJIMA_ANIM_6, 1.0f);
|
||||
EnBomjima_ChangeAnim(this, ENBOMJIMA_ANIM_SURPRISE, 1.0f);
|
||||
this->cutsceneEnded = false;
|
||||
this->action = EN_BOMJIMA_ACTION_2;
|
||||
this->actionFunc = func_80BFF174;
|
||||
|
|
@ -570,8 +570,8 @@ void func_80BFF174(EnBomjima* this, PlayState* play) {
|
|||
|
||||
if ((curFrame >= this->animEndFrame) && (this->unk_2BC < 5)) {
|
||||
this->unk_2BC++;
|
||||
if (this->animIndex != ENBOMJIMA_ANIM_19) {
|
||||
EnBomjima_ChangeAnim(this, ENBOMJIMA_ANIM_19, 1.0f);
|
||||
if (this->animIndex != ENBOMJIMA_ANIM_LOOK_AROUND) {
|
||||
EnBomjima_ChangeAnim(this, ENBOMJIMA_ANIM_LOOK_AROUND, 1.0f);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -620,7 +620,7 @@ void func_80BFF174(EnBomjima* this, PlayState* play) {
|
|||
}
|
||||
|
||||
void func_80BFF3F0(EnBomjima* this) {
|
||||
EnBomjima_ChangeAnim(this, ENBOMJIMA_ANIM_15, 1.0f);
|
||||
EnBomjima_ChangeAnim(this, ENBOMJIMA_ANIM_JUMP, 1.0f);
|
||||
this->action = EN_BOMJIMA_ACTION_3;
|
||||
this->actionFunc = func_80BFF430;
|
||||
}
|
||||
|
|
@ -668,7 +668,7 @@ void func_80BFF52C(EnBomjima* this, PlayState* play) {
|
|||
}
|
||||
Message_ContinueTextbox(play, this->actor.textId);
|
||||
Audio_PlaySfx(NA_SE_SY_FOUND);
|
||||
EnBomjima_ChangeAnim(this, ENBOMJIMA_ANIM_15, 1.0f);
|
||||
EnBomjima_ChangeAnim(this, ENBOMJIMA_ANIM_JUMP, 1.0f);
|
||||
this->action = EN_BOMJIMA_ACTION_5;
|
||||
this->actionFunc = func_80BFF6CC;
|
||||
} else {
|
||||
|
|
@ -696,7 +696,7 @@ void func_80BFF6CC(EnBomjima* this, PlayState* play) {
|
|||
if (curFrame >= this->animEndFrame) {
|
||||
if ((Message_GetState(&play->msgCtx) == TEXT_STATE_EVENT) && Message_ShouldAdvance(play)) {
|
||||
Message_CloseTextbox(play);
|
||||
EnBomjima_ChangeAnim(this, ENBOMJIMA_ANIM_1, 1.0f);
|
||||
EnBomjima_ChangeAnim(this, ENBOMJIMA_ANIM_HANDS_ON_HIPS, 1.0f);
|
||||
this->actionFunc = func_80BFF754;
|
||||
}
|
||||
}
|
||||
|
|
@ -785,7 +785,7 @@ void func_80BFF9B0(EnBomjima* this, PlayState* play) {
|
|||
gSaveContext.save.saveInfo.bombersCaughtOrder[3] = 0;
|
||||
gSaveContext.save.saveInfo.bombersCaughtOrder[4] = 0;
|
||||
|
||||
EnBomjima_ChangeAnim(this, ENBOMJIMA_ANIM_3, 1.0f);
|
||||
EnBomjima_ChangeAnim(this, ENBOMJIMA_ANIM_TALK_HANDS_ON_HIPS, 1.0f);
|
||||
this->unk_2C8 = 9;
|
||||
|
||||
if (player->transformation == PLAYER_FORM_DEKU) {
|
||||
|
|
@ -801,7 +801,7 @@ void func_80BFF9B0(EnBomjima* this, PlayState* play) {
|
|||
void func_80BFFB40(EnBomjima* this, PlayState* play) {
|
||||
if ((Message_GetState(&play->msgCtx) == TEXT_STATE_EVENT) && Message_ShouldAdvance(play)) {
|
||||
Message_CloseTextbox(play);
|
||||
EnBomjima_ChangeAnim(this, ENBOMJIMA_ANIM_15, 1.0f);
|
||||
EnBomjima_ChangeAnim(this, ENBOMJIMA_ANIM_JUMP, 1.0f);
|
||||
D_80C009F0 = 100;
|
||||
this->unk_2DC = 0;
|
||||
this->actionFunc = func_80BFFBC4;
|
||||
|
|
@ -811,8 +811,8 @@ void func_80BFFB40(EnBomjima* this, PlayState* play) {
|
|||
void func_80BFFBC4(EnBomjima* this, PlayState* play) {
|
||||
f32 curFrame = this->skelAnime.curFrame;
|
||||
|
||||
if ((this->animIndex != ENBOMJIMA_ANIM_1) && (curFrame >= this->animEndFrame)) {
|
||||
EnBomjima_ChangeAnim(this, ENBOMJIMA_ANIM_1, 1.0f);
|
||||
if ((this->animIndex != ENBOMJIMA_ANIM_HANDS_ON_HIPS) && (curFrame >= this->animEndFrame)) {
|
||||
EnBomjima_ChangeAnim(this, ENBOMJIMA_ANIM_HANDS_ON_HIPS, 1.0f);
|
||||
}
|
||||
|
||||
if ((D_80C009F4 != 0) && (this->unk_2C2 == 0)) {
|
||||
|
|
@ -838,7 +838,7 @@ void func_80BFFBC4(EnBomjima* this, PlayState* play) {
|
|||
|
||||
void func_80BFFCFC(EnBomjima* this) {
|
||||
func_80BFE65C(this);
|
||||
EnBomjima_ChangeAnim(this, ENBOMJIMA_ANIM_18, 1.0f);
|
||||
EnBomjima_ChangeAnim(this, ENBOMJIMA_ANIM_RUN, 1.0f);
|
||||
this->action = EN_BOMJIMA_ACTION_6;
|
||||
this->actionFunc = func_80BFFD48;
|
||||
}
|
||||
|
|
@ -853,7 +853,7 @@ void func_80BFFD48(EnBomjima* this, PlayState* play) {
|
|||
if (sqrtf(SQ(this->actor.world.pos.x - this->unk_2A4.x) + SQ(this->actor.world.pos.z - this->unk_2A4.z)) < 4.0f) {
|
||||
D_80C009F0++;
|
||||
this->unk_2DC = this->actor.parent->world.rot.y;
|
||||
EnBomjima_ChangeAnim(this, ENBOMJIMA_ANIM_0, 1.0f);
|
||||
EnBomjima_ChangeAnim(this, ENBOMJIMA_ANIM_IDLE, 1.0f);
|
||||
this->actionFunc = func_80BFFE48;
|
||||
}
|
||||
}
|
||||
|
|
@ -865,7 +865,7 @@ void func_80BFFE48(EnBomjima* this, PlayState* play) {
|
|||
|
||||
if (D_80C009F0 >= 100) {
|
||||
if (this->unk_2E4 != 4) {
|
||||
EnBomjima_ChangeAnim(this, ENBOMJIMA_ANIM_15, 1.0f);
|
||||
EnBomjima_ChangeAnim(this, ENBOMJIMA_ANIM_JUMP, 1.0f);
|
||||
this->unk_2DC = 0;
|
||||
func_80BFE65C(this);
|
||||
this->actionFunc = func_80BFFF54;
|
||||
|
|
@ -873,7 +873,7 @@ void func_80BFFE48(EnBomjima* this, PlayState* play) {
|
|||
Math_SmoothStepToS(&this->unk_290, 10000, 1, 0x1388, 0);
|
||||
if (D_80C009F0 >= 103) {
|
||||
this->unk_2DC = 0;
|
||||
EnBomjima_ChangeAnim(this, ENBOMJIMA_ANIM_15, 1.0f);
|
||||
EnBomjima_ChangeAnim(this, ENBOMJIMA_ANIM_JUMP, 1.0f);
|
||||
func_80BFE65C(this);
|
||||
this->actionFunc = func_80BFFF54;
|
||||
}
|
||||
|
|
@ -895,16 +895,16 @@ void func_80BFFF54(EnBomjima* this, PlayState* play) {
|
|||
}
|
||||
|
||||
if (this->unk_2E4 != 4) {
|
||||
if ((this->animIndex != ENBOMJIMA_ANIM_0) && (curFrame >= this->animEndFrame)) {
|
||||
if ((this->animIndex != ENBOMJIMA_ANIM_IDLE) && (curFrame >= this->animEndFrame)) {
|
||||
D_80C009F0++;
|
||||
EnBomjima_ChangeAnim(this, ENBOMJIMA_ANIM_0, 1.0f);
|
||||
EnBomjima_ChangeAnim(this, ENBOMJIMA_ANIM_IDLE, 1.0f);
|
||||
}
|
||||
} else if ((this->animIndex != ENBOMJIMA_ANIM_8) && (curFrame >= this->animEndFrame)) {
|
||||
EnBomjima_ChangeAnim(this, ENBOMJIMA_ANIM_8, 1.0f);
|
||||
} else if ((this->animIndex != ENBOMJIMA_ANIM_KNOCK_BACK) && (curFrame >= this->animEndFrame)) {
|
||||
EnBomjima_ChangeAnim(this, ENBOMJIMA_ANIM_KNOCK_BACK, 1.0f);
|
||||
D_80C009F4 = 1;
|
||||
}
|
||||
|
||||
if (this->animIndex == ENBOMJIMA_ANIM_8) {
|
||||
if (this->animIndex == ENBOMJIMA_ANIM_KNOCK_BACK) {
|
||||
if ((D_80C009F4 == 1) && Animation_OnFrame(&this->skelAnime, 7.0f)) {
|
||||
Actor_PlaySfx(&this->actor, NA_SE_EV_HUMAN_BOUND);
|
||||
D_80C009F4 = 2;
|
||||
|
|
@ -922,7 +922,7 @@ void func_80BFFF54(EnBomjima* this, PlayState* play) {
|
|||
|
||||
void func_80C0011C(EnBomjima* this) {
|
||||
func_80BFE65C(this);
|
||||
EnBomjima_ChangeAnim(this, ENBOMJIMA_ANIM_0, 1.0f);
|
||||
EnBomjima_ChangeAnim(this, ENBOMJIMA_ANIM_IDLE, 1.0f);
|
||||
this->action = EN_BOMJIMA_ACTION_7;
|
||||
this->actionFunc = func_80C00168;
|
||||
}
|
||||
|
|
@ -952,7 +952,7 @@ void func_80C00168(EnBomjima* this, PlayState* play) {
|
|||
}
|
||||
|
||||
void func_80C00234(EnBomjima* this) {
|
||||
EnBomjima_ChangeAnim(this, ENBOMJIMA_ANIM_3, 1.0f);
|
||||
EnBomjima_ChangeAnim(this, ENBOMJIMA_ANIM_TALK_HANDS_ON_HIPS, 1.0f);
|
||||
this->collider.dim.radius = 15;
|
||||
this->collider.dim.height = 40;
|
||||
func_80BFE65C(this);
|
||||
|
|
@ -968,9 +968,9 @@ void func_80C00284(EnBomjima* this, PlayState* play) {
|
|||
(this->unk_2CA == 1)) &&
|
||||
(curFrame >= this->animEndFrame)) {
|
||||
if (!(this->unk_2BC & 1)) {
|
||||
EnBomjima_ChangeAnim(this, ENBOMJIMA_ANIM_3, 1.0f);
|
||||
EnBomjima_ChangeAnim(this, ENBOMJIMA_ANIM_TALK_HANDS_ON_HIPS, 1.0f);
|
||||
} else {
|
||||
EnBomjima_ChangeAnim(this, ENBOMJIMA_ANIM_16, 1.0f);
|
||||
EnBomjima_ChangeAnim(this, ENBOMJIMA_ANIM_ARM_SWIPE, 1.0f);
|
||||
}
|
||||
this->unk_2BC++;
|
||||
this->unk_2BC &= 1;
|
||||
|
|
@ -1027,7 +1027,7 @@ void func_80C00284(EnBomjima* this, PlayState* play) {
|
|||
if (this->unk_2C8 == 10) {
|
||||
func_80BFE65C(this);
|
||||
this->unk_28E = 0;
|
||||
EnBomjima_ChangeAnim(this, ENBOMJIMA_ANIM_1, 1.0f);
|
||||
EnBomjima_ChangeAnim(this, ENBOMJIMA_ANIM_HANDS_ON_HIPS, 1.0f);
|
||||
this->action = EN_BOMJIMA_ACTION_2;
|
||||
this->actionFunc = func_80BFF174;
|
||||
break;
|
||||
|
|
@ -1056,7 +1056,7 @@ void func_80C00284(EnBomjima* this, PlayState* play) {
|
|||
this->actor.textId = D_80C00A8C[this->unk_2C8];
|
||||
Message_ContinueTextbox(play, this->actor.textId);
|
||||
if (this->unk_2C8 >= 2) {
|
||||
EnBomjima_ChangeAnim(this, ENBOMJIMA_ANIM_17, 1.0f);
|
||||
EnBomjima_ChangeAnim(this, ENBOMJIMA_ANIM_SALUTE, 1.0f);
|
||||
}
|
||||
break;
|
||||
|
||||
|
|
@ -1147,16 +1147,16 @@ s32 EnBomjima_OverrideLimbDraw(PlayState* play, s32 limbIndex, Gfx** dList, Vec3
|
|||
|
||||
void EnBomjima_Draw(Actor* thisx, PlayState* play) {
|
||||
static Gfx* D_80C00B28[] = {
|
||||
gEnBomjima_D_80C00B08, gEnBomjima_D_80C00B18, gEnBomjima_D_80C00B18,
|
||||
gEnBomjima_D_80C00B18, gEnBomjima_D_80C00B18,
|
||||
gBomberJimRedBandanaDL, gBomberJimBlueBandanaDL, gBomberJimBlueBandanaDL,
|
||||
gBomberJimBlueBandanaDL, gBomberJimBlueBandanaDL,
|
||||
};
|
||||
static TexturePtr D_80C00B3C[] = {
|
||||
object_cs_Tex_00C520,
|
||||
object_cs_Tex_00CD20,
|
||||
object_cs_Tex_00D520,
|
||||
gBomberEyeOpenTex,
|
||||
gBomberEyeHalfTex,
|
||||
gBomberEyeClosedTex,
|
||||
};
|
||||
static TexturePtr D_80C00B48[] = {
|
||||
object_cs_Tex_00E620, object_cs_Tex_00EA20, object_cs_Tex_00EE20, object_cs_Tex_00DD20, object_cs_Tex_00F220,
|
||||
gBomberNumber1Tex, gBomberNumber2Tex, gBomberNumber3Tex, gBomberNumber4Tex, gBomberNumber5Tex,
|
||||
};
|
||||
EnBomjima* this = (EnBomjima*)thisx;
|
||||
|
||||
|
|
|
|||
|
|
@ -71,79 +71,79 @@ static ColliderCylinderInit sCylinderInit = {
|
|||
|
||||
typedef enum {
|
||||
/* -1 */ ENBOMJIMB_ANIM_NONE = -1,
|
||||
/* 0x00 */ ENBOMJIMB_ANIM_0,
|
||||
/* 0x01 */ ENBOMJIMB_ANIM_1,
|
||||
/* 0x02 */ ENBOMJIMB_ANIM_2,
|
||||
/* 0x03 */ ENBOMJIMB_ANIM_3,
|
||||
/* 0x04 */ ENBOMJIMB_ANIM_4,
|
||||
/* 0x05 */ ENBOMJIMB_ANIM_5,
|
||||
/* 0x06 */ ENBOMJIMB_ANIM_6,
|
||||
/* 0x07 */ ENBOMJIMB_ANIM_7,
|
||||
/* 0x08 */ ENBOMJIMB_ANIM_8,
|
||||
/* 0x09 */ ENBOMJIMB_ANIM_9,
|
||||
/* 0x0A */ ENBOMJIMB_ANIM_10,
|
||||
/* 0x0B */ ENBOMJIMB_ANIM_11,
|
||||
/* 0x0C */ ENBOMJIMB_ANIM_12,
|
||||
/* 0x0D */ ENBOMJIMB_ANIM_13,
|
||||
/* 0x0E */ ENBOMJIMB_ANIM_14,
|
||||
/* 0x0F */ ENBOMJIMB_ANIM_15,
|
||||
/* 0x10 */ ENBOMJIMB_ANIM_16,
|
||||
/* 0x11 */ ENBOMJIMB_ANIM_17,
|
||||
/* 0x12 */ ENBOMJIMB_ANIM_18,
|
||||
/* 0x13 */ ENBOMJIMB_ANIM_19,
|
||||
/* 0x14 */ ENBOMJIMB_ANIM_20,
|
||||
/* 0x15 */ ENBOMJIMB_ANIM_21,
|
||||
/* 0x00 */ ENBOMJIMB_ANIM_IDLE,
|
||||
/* 0x01 */ ENBOMJIMB_ANIM_HANDS_ON_HIPS,
|
||||
/* 0x02 */ ENBOMJIMB_ANIM_TALK_NORMAL,
|
||||
/* 0x03 */ ENBOMJIMB_ANIM_TALK_HANDS_ON_HIPS,
|
||||
/* 0x04 */ ENBOMJIMB_ANIM_BLOWGUN,
|
||||
/* 0x05 */ ENBOMJIMB_ANIM_WALK,
|
||||
/* 0x06 */ ENBOMJIMB_ANIM_SURPRISE,
|
||||
/* 0x07 */ ENBOMJIMB_ANIM_HIDE_UNDER_BOX,
|
||||
/* 0x08 */ ENBOMJIMB_ANIM_KNOCK_BACK,
|
||||
/* 0x09 */ ENBOMJIMB_ANIM_SIT,
|
||||
/* 0x0A */ ENBOMJIMB_ANIM_CLIMB,
|
||||
/* 0x0B */ ENBOMJIMB_ANIM_HOLD_CUCCO,
|
||||
/* 0x0C */ ENBOMJIMB_ANIM_TURN_AROUND,
|
||||
/* 0x0D */ ENBOMJIMB_ANIM_SHOW_NUMBER,
|
||||
/* 0x0E */ ENBOMJIMB_ANIM_TALK_BACK_TURNED,
|
||||
/* 0x0F */ ENBOMJIMB_ANIM_FROLIC,
|
||||
/* 0x10 */ ENBOMJIMB_ANIM_JUMP,
|
||||
/* 0x11 */ ENBOMJIMB_ANIM_ARM_SWIPE,
|
||||
/* 0x12 */ ENBOMJIMB_ANIM_SALUTE,
|
||||
/* 0x13 */ ENBOMJIMB_ANIM_RUN,
|
||||
/* 0x14 */ ENBOMJIMB_ANIM_LOOK_AROUND,
|
||||
/* 0x15 */ ENBOMJIMB_ANIM_CAUGHT,
|
||||
/* 0x16 */ ENBOMJIMB_ANIM_MAX
|
||||
} EnBomjimbAnimation;
|
||||
|
||||
static AnimationHeader* sAnimations[ENBOMJIMB_ANIM_MAX] = {
|
||||
&gBomberIdleAnim, // ENBOMJIMB_ANIM_0
|
||||
&object_cs_Anim_00FAF4, // ENBOMJIMB_ANIM_1
|
||||
&object_cs_Anim_0057C8, // ENBOMJIMB_ANIM_2
|
||||
&object_cs_Anim_0053F4, // ENBOMJIMB_ANIM_3
|
||||
&object_cs_Anim_002044, // ENBOMJIMB_ANIM_4
|
||||
&object_cs_Anim_01007C, // ENBOMJIMB_ANIM_5
|
||||
&object_cs_Anim_00349C, // ENBOMJIMB_ANIM_6
|
||||
&object_cs_Anim_004960, // ENBOMJIMB_ANIM_7
|
||||
&object_cs_Anim_005128, // ENBOMJIMB_ANIM_8
|
||||
&object_cs_Anim_004C1C, // ENBOMJIMB_ANIM_9
|
||||
&object_cs_Anim_002930, // ENBOMJIMB_ANIM_10
|
||||
&object_cs_Anim_001A1C, // ENBOMJIMB_ANIM_11
|
||||
&object_cs_Anim_003EE4, // ENBOMJIMB_ANIM_12
|
||||
&object_cs_Anim_00478C, // ENBOMJIMB_ANIM_13
|
||||
&object_cs_Anim_00433C, // ENBOMJIMB_ANIM_14
|
||||
&object_cs_Anim_0060E8, // ENBOMJIMB_ANIM_15
|
||||
&object_cs_Anim_001708, // ENBOMJIMB_ANIM_16
|
||||
&object_cs_Anim_005DC4, // ENBOMJIMB_ANIM_17
|
||||
&object_cs_Anim_0026B0, // ENBOMJIMB_ANIM_18
|
||||
&object_cs_Anim_0036B0, // ENBOMJIMB_ANIM_19
|
||||
&object_cs_Anim_0031C4, // ENBOMJIMB_ANIM_20
|
||||
&object_cs_Anim_010B68, // ENBOMJIMB_ANIM_21
|
||||
&gBomberIdleAnim, // ENBOMJIMB_ANIM_IDLE
|
||||
&gBomberHandsOnHipsAnim, // ENBOMJIMB_ANIM_HANDS_ON_HIPS
|
||||
&gBomberTalkNormalAnim, // ENBOMJIMB_ANIM_TALK_NORMAL
|
||||
&gBomberTalkHandsOnHipsAnim, // ENBOMJIMB_ANIM_TALK_HANDS_ON_HIPS
|
||||
&gBomberBlowgunAnim, // ENBOMJIMB_ANIM_BLOWGUN
|
||||
&gBomberWalkAnim, // ENBOMJIMB_ANIM_WALK
|
||||
&gBomberSurpriseAnim, // ENBOMJIMB_ANIM_SURPRISE
|
||||
&gBomberHideUnderBoxAnim, // ENBOMJIMB_ANIM_HIDE_UNDER_BOX
|
||||
&gBomberKnockBackAnim, // ENBOMJIMB_ANIM_KNOCK_BACK
|
||||
&gBomberSitAnim, // ENBOMJIMB_ANIM_SIT
|
||||
&gBomberClimbAnim, // ENBOMJIMB_ANIM_CLIMB
|
||||
&gBomberHoldCuccoAnim, // ENBOMJIMB_ANIM_HOLD_CUCCO
|
||||
&gBomberTurnAroundAnim, // ENBOMJIMB_ANIM_TURN_AROUND
|
||||
&gBomberShowNumberAnim, // ENBOMJIMB_ANIM_SHOW_NUMBER
|
||||
&gBomberTalkBackTurnedAnim, // ENBOMJIMB_ANIM_TALK_BACK_TURNED
|
||||
&gBomberFrolicAnim, // ENBOMJIMB_ANIM_FROLIC
|
||||
&gBomberJumpAnim, // ENBOMJIMB_ANIM_JUMP
|
||||
&gBomberArmSwipeAnim, // ENBOMJIMB_ANIM_ARM_SWIPE
|
||||
&gBomberSaluteAnim, // ENBOMJIMB_ANIM_SALUTE
|
||||
&gBomberRunAnim, // ENBOMJIMB_ANIM_RUN
|
||||
&gBomberLookAroundAnim, // ENBOMJIMB_ANIM_LOOK_AROUND
|
||||
&gBomberCaughtAnim, // ENBOMJIMB_ANIM_CAUGHT
|
||||
};
|
||||
|
||||
static u8 sAnimationModes[ENBOMJIMB_ANIM_MAX] = {
|
||||
ANIMMODE_LOOP, // ENBOMJIMB_ANIM_0
|
||||
ANIMMODE_LOOP, // ENBOMJIMB_ANIM_1
|
||||
ANIMMODE_LOOP, // ENBOMJIMB_ANIM_2
|
||||
ANIMMODE_LOOP, // ENBOMJIMB_ANIM_3
|
||||
ANIMMODE_LOOP, // ENBOMJIMB_ANIM_4
|
||||
ANIMMODE_LOOP, // ENBOMJIMB_ANIM_5
|
||||
ANIMMODE_ONCE, // ENBOMJIMB_ANIM_6
|
||||
ANIMMODE_ONCE, // ENBOMJIMB_ANIM_7
|
||||
ANIMMODE_LOOP, // ENBOMJIMB_ANIM_8
|
||||
ANIMMODE_LOOP, // ENBOMJIMB_ANIM_9
|
||||
ANIMMODE_LOOP, // ENBOMJIMB_ANIM_10
|
||||
ANIMMODE_LOOP, // ENBOMJIMB_ANIM_11
|
||||
ANIMMODE_ONCE, // ENBOMJIMB_ANIM_12
|
||||
ANIMMODE_LOOP, // ENBOMJIMB_ANIM_13
|
||||
ANIMMODE_LOOP, // ENBOMJIMB_ANIM_14
|
||||
ANIMMODE_LOOP, // ENBOMJIMB_ANIM_15
|
||||
ANIMMODE_ONCE, // ENBOMJIMB_ANIM_16
|
||||
ANIMMODE_LOOP, // ENBOMJIMB_ANIM_17
|
||||
ANIMMODE_ONCE, // ENBOMJIMB_ANIM_18
|
||||
ANIMMODE_LOOP, // ENBOMJIMB_ANIM_19
|
||||
ANIMMODE_LOOP, // ENBOMJIMB_ANIM_20
|
||||
ANIMMODE_ONCE, // ENBOMJIMB_ANIM_21
|
||||
ANIMMODE_LOOP, // ENBOMJIMB_ANIM_IDLE
|
||||
ANIMMODE_LOOP, // ENBOMJIMB_ANIM_HANDS_ON_HIPS
|
||||
ANIMMODE_LOOP, // ENBOMJIMB_ANIM_TALK_NORMAL
|
||||
ANIMMODE_LOOP, // ENBOMJIMB_ANIM_TALK_HANDS_ON_HIPS
|
||||
ANIMMODE_LOOP, // ENBOMJIMB_ANIM_BLOWGUN
|
||||
ANIMMODE_LOOP, // ENBOMJIMB_ANIM_WALK
|
||||
ANIMMODE_ONCE, // ENBOMJIMB_ANIM_SURPRISE
|
||||
ANIMMODE_ONCE, // ENBOMJIMB_ANIM_HIDE_UNDER_BOX
|
||||
ANIMMODE_LOOP, // ENBOMJIMB_ANIM_KNOCK_BACK
|
||||
ANIMMODE_LOOP, // ENBOMJIMB_ANIM_SIT
|
||||
ANIMMODE_LOOP, // ENBOMJIMB_ANIM_CLIMB
|
||||
ANIMMODE_LOOP, // ENBOMJIMB_ANIM_HOLD_CUCCO
|
||||
ANIMMODE_ONCE, // ENBOMJIMB_ANIM_TURN_AROUND
|
||||
ANIMMODE_LOOP, // ENBOMJIMB_ANIM_SHOW_NUMBER
|
||||
ANIMMODE_LOOP, // ENBOMJIMB_ANIM_TALK_BACK_TURNED
|
||||
ANIMMODE_LOOP, // ENBOMJIMB_ANIM_FROLIC
|
||||
ANIMMODE_ONCE, // ENBOMJIMB_ANIM_JUMP
|
||||
ANIMMODE_LOOP, // ENBOMJIMB_ANIM_ARM_SWIPE
|
||||
ANIMMODE_ONCE, // ENBOMJIMB_ANIM_SALUTE
|
||||
ANIMMODE_LOOP, // ENBOMJIMB_ANIM_RUN
|
||||
ANIMMODE_LOOP, // ENBOMJIMB_ANIM_LOOK_AROUND
|
||||
ANIMMODE_ONCE, // ENBOMJIMB_ANIM_CAUGHT
|
||||
};
|
||||
|
||||
void EnBomjimb_Init(Actor* thisx, PlayState* play) {
|
||||
|
|
@ -152,8 +152,8 @@ void EnBomjimb_Init(Actor* thisx, PlayState* play) {
|
|||
this->actor.colChkInfo.mass = MASS_IMMOVABLE;
|
||||
ActorShape_Init(&this->actor.shape, 0.0f, ActorShadow_DrawCircle, 19.0f);
|
||||
this->actor.gravity = -2.0f;
|
||||
SkelAnime_InitFlex(play, &this->skelAnime, &object_cs_Skel_00F82C, &gBomberIdleAnim, this->jointTable,
|
||||
this->morphTable, OBJECT_CS_LIMB_MAX);
|
||||
SkelAnime_InitFlex(play, &this->skelAnime, &gBomberSkel, &gBomberIdleAnim, this->jointTable, this->morphTable,
|
||||
OBJECT_CS_LIMB_MAX);
|
||||
Collider_InitAndSetCylinder(play, &this->collider, &this->actor, &sCylinderInit);
|
||||
this->actor.attentionRangeType = ATTENTION_RANGE_6;
|
||||
Actor_SetScale(&this->actor, 0.01f);
|
||||
|
|
@ -243,22 +243,22 @@ void EnBomjimb_ChangeAnim(EnBomjimb* this, s32 animIndex, f32 playSpeed) {
|
|||
}
|
||||
|
||||
void func_80C011CC(EnBomjimb* this) {
|
||||
if ((this->animIndex == ENBOMJIMB_ANIM_5) &&
|
||||
if ((this->animIndex == ENBOMJIMB_ANIM_WALK) &&
|
||||
(Animation_OnFrame(&this->skelAnime, 9.0f) || Animation_OnFrame(&this->skelAnime, 10.0f) ||
|
||||
Animation_OnFrame(&this->skelAnime, 17.0f) || Animation_OnFrame(&this->skelAnime, 18.0f))) {
|
||||
Actor_PlaySfx(&this->actor, NA_SE_EV_BOMBERS_WALK);
|
||||
}
|
||||
|
||||
if ((this->animIndex == ENBOMJIMB_ANIM_19) &&
|
||||
if ((this->animIndex == ENBOMJIMB_ANIM_RUN) &&
|
||||
(Animation_OnFrame(&this->skelAnime, 2.0f) || Animation_OnFrame(&this->skelAnime, 6.0f))) {
|
||||
Actor_PlaySfx(&this->actor, NA_SE_EV_BOMBERS_WALK);
|
||||
}
|
||||
|
||||
if ((this->animIndex == ENBOMJIMB_ANIM_18) && Animation_OnFrame(&this->skelAnime, 15.0f)) {
|
||||
if ((this->animIndex == ENBOMJIMB_ANIM_SALUTE) && Animation_OnFrame(&this->skelAnime, 15.0f)) {
|
||||
Actor_PlaySfx(&this->actor, NA_SE_EV_BOMBERS_LAND);
|
||||
}
|
||||
|
||||
if ((this->animIndex == ENBOMJIMB_ANIM_7) && Animation_OnFrame(&this->skelAnime, 8.0f)) {
|
||||
if ((this->animIndex == ENBOMJIMB_ANIM_HIDE_UNDER_BOX) && Animation_OnFrame(&this->skelAnime, 8.0f)) {
|
||||
Actor_PlaySfx(&this->actor, NA_SE_EV_BOMBERS_LAND);
|
||||
}
|
||||
}
|
||||
|
|
@ -342,7 +342,7 @@ void func_80C014E4(EnBomjimb* this, PlayState* play) {
|
|||
abs = ABS_ALT(BINANG_SUB(this->actor.world.rot.y, Math_Vec3f_Yaw(&this->actor.world.pos, &sp48)));
|
||||
if ((abs < 0x4000) && !BgCheck_EntityLineTest1(&play->colCtx, &this->actor.world.pos, &sp48, &sp60,
|
||||
&colPoly, true, false, false, true, &bgId)) {
|
||||
EnBomjimb_ChangeAnim(this, ENBOMJIMB_ANIM_5, 1.0f);
|
||||
EnBomjimb_ChangeAnim(this, ENBOMJIMB_ANIM_WALK, 1.0f);
|
||||
Math_Vec3f_Copy(&this->unk_294, &sp48);
|
||||
this->unk_2B0 = Rand_S16Offset(30, 50);
|
||||
this->unk_2CC++;
|
||||
|
|
@ -364,9 +364,9 @@ void func_80C014E4(EnBomjimb* this, PlayState* play) {
|
|||
false, true, &bgId)) {
|
||||
this->unk_2AE = 0;
|
||||
if (Rand_ZeroOne() < 0.5f) {
|
||||
EnBomjimb_ChangeAnim(this, ENBOMJIMB_ANIM_20, 1.0f);
|
||||
EnBomjimb_ChangeAnim(this, ENBOMJIMB_ANIM_LOOK_AROUND, 1.0f);
|
||||
} else {
|
||||
EnBomjimb_ChangeAnim(this, ENBOMJIMB_ANIM_0, 1.0f);
|
||||
EnBomjimb_ChangeAnim(this, ENBOMJIMB_ANIM_IDLE, 1.0f);
|
||||
}
|
||||
this->unk_2CC = 0;
|
||||
this->unk_2B4 = 0.0f;
|
||||
|
|
@ -380,9 +380,9 @@ void func_80C014E4(EnBomjimb* this, PlayState* play) {
|
|||
if ((this->unk_2B0 == 0) || (sqrtf(SQ(x) + SQ(z)) < 4.0f)) {
|
||||
this->unk_2AE = Rand_S16Offset(20, 20);
|
||||
if (!(this->unk_2AE & 1)) {
|
||||
EnBomjimb_ChangeAnim(this, ENBOMJIMB_ANIM_20, 1.0f);
|
||||
EnBomjimb_ChangeAnim(this, ENBOMJIMB_ANIM_LOOK_AROUND, 1.0f);
|
||||
} else {
|
||||
EnBomjimb_ChangeAnim(this, ENBOMJIMB_ANIM_0, 1.0f);
|
||||
EnBomjimb_ChangeAnim(this, ENBOMJIMB_ANIM_IDLE, 1.0f);
|
||||
}
|
||||
this->unk_2CC = 0;
|
||||
this->unk_2B4 = 0.0f;
|
||||
|
|
@ -417,7 +417,7 @@ void func_80C01984(EnBomjimb* this, PlayState* play) {
|
|||
Actor_Spawn(&play->actorCtx, play, ACTOR_EN_NIW, this->actor.world.pos.x, this->actor.world.pos.y + 30.0f,
|
||||
this->actor.world.pos.z, 0, this->actor.world.rot.y, 0, 2);
|
||||
if (this->unk_2E4 != NULL) {
|
||||
EnBomjimb_ChangeAnim(this, ENBOMJIMB_ANIM_11, 1.0f);
|
||||
EnBomjimb_ChangeAnim(this, ENBOMJIMB_ANIM_HOLD_CUCCO, 1.0f);
|
||||
}
|
||||
this->unk_2CA = 0;
|
||||
this->actionFunc = func_80C01A24;
|
||||
|
|
@ -500,14 +500,14 @@ void func_80C01CD0(EnBomjimb* this, PlayState* play) {
|
|||
return;
|
||||
}
|
||||
|
||||
if (this->animIndex != ENBOMJIMB_ANIM_7) {
|
||||
if (this->animIndex != ENBOMJIMB_ANIM_HIDE_UNDER_BOX) {
|
||||
Math_SmoothStepToS(&this->actor.world.rot.y, Math_Vec3f_Yaw(&this->actor.world.pos, &this->unk_294), 1, 0xBB8,
|
||||
0);
|
||||
Math_ApproachF(&this->actor.world.pos.x, this->unk_294.x, 0.3f, 2.0f);
|
||||
Math_ApproachF(&this->actor.world.pos.z, this->unk_294.z, 0.3f, 2.0f);
|
||||
if (sqrtf(SQ(this->actor.world.pos.x - this->unk_294.x) + SQ(this->actor.world.pos.z - this->unk_294.z)) <
|
||||
3.0f) {
|
||||
EnBomjimb_ChangeAnim(this, ENBOMJIMB_ANIM_7, 1.0f);
|
||||
EnBomjimb_ChangeAnim(this, ENBOMJIMB_ANIM_HIDE_UNDER_BOX, 1.0f);
|
||||
Math_Vec3f_Copy(&this->actor.world.pos, &this->unk_294);
|
||||
}
|
||||
} else if (curFrame >= this->animEndFrame) {
|
||||
|
|
@ -551,7 +551,7 @@ void func_80C01CD0(EnBomjimb* this, PlayState* play) {
|
|||
|
||||
void func_80C01FD4(EnBomjimb* this) {
|
||||
this->actor.textId = 0x72D;
|
||||
EnBomjimb_ChangeAnim(this, ENBOMJIMB_ANIM_9, 1.0f);
|
||||
EnBomjimb_ChangeAnim(this, ENBOMJIMB_ANIM_SIT, 1.0f);
|
||||
this->unk_2CA = 4;
|
||||
this->actionFunc = func_80C0201C;
|
||||
}
|
||||
|
|
@ -578,7 +578,7 @@ void func_80C0201C(EnBomjimb* this, PlayState* play) {
|
|||
}
|
||||
|
||||
void func_80C02108(EnBomjimb* this) {
|
||||
EnBomjimb_ChangeAnim(this, ENBOMJIMB_ANIM_6, 1.0f);
|
||||
EnBomjimb_ChangeAnim(this, ENBOMJIMB_ANIM_SURPRISE, 1.0f);
|
||||
this->unk_2D6 = BINANG_ROT180(this->actor.yawTowardsPlayer);
|
||||
this->actor.world.rot.y = this->actor.yawTowardsPlayer;
|
||||
func_80C012E0(this);
|
||||
|
|
@ -608,11 +608,11 @@ void func_80C0217C(EnBomjimb* this, PlayState* play) {
|
|||
return;
|
||||
}
|
||||
|
||||
if (this->animIndex == ENBOMJIMB_ANIM_6) {
|
||||
if (this->animIndex == ENBOMJIMB_ANIM_SURPRISE) {
|
||||
f32 curFrame = this->skelAnime.curFrame;
|
||||
|
||||
if (curFrame >= this->animEndFrame) {
|
||||
EnBomjimb_ChangeAnim(this, ENBOMJIMB_ANIM_19, 2.0f);
|
||||
EnBomjimb_ChangeAnim(this, ENBOMJIMB_ANIM_RUN, 2.0f);
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
|
@ -673,7 +673,7 @@ void func_80C0217C(EnBomjimb* this, PlayState* play) {
|
|||
}
|
||||
|
||||
void func_80C0250C(EnBomjimb* this) {
|
||||
EnBomjimb_ChangeAnim(this, ENBOMJIMB_ANIM_15, 1.0f);
|
||||
EnBomjimb_ChangeAnim(this, ENBOMJIMB_ANIM_FROLIC, 1.0f);
|
||||
this->unk_2D4 = 0;
|
||||
this->actor.speed = 0.0f;
|
||||
this->unk_2D6 = BINANG_ROT180(this->actor.yawTowardsPlayer);
|
||||
|
|
@ -693,7 +693,7 @@ void func_80C02570(EnBomjimb* this, PlayState* play) {
|
|||
|
||||
if (this->actor.xzDistToPlayer < 200.0f) {
|
||||
this->unk_2D6 = BINANG_ROT180(this->actor.yawTowardsPlayer);
|
||||
EnBomjimb_ChangeAnim(this, ENBOMJIMB_ANIM_19, 2.0f);
|
||||
EnBomjimb_ChangeAnim(this, ENBOMJIMB_ANIM_RUN, 2.0f);
|
||||
this->actionFunc = func_80C0217C;
|
||||
} else if ((player->stateFlags3 == PLAYER_STATE3_1000000) || (this->actor.xzDistToPlayer > 410.0f)) {
|
||||
Math_SmoothStepToS(&this->actor.world.rot.y, this->actor.yawTowardsPlayer, 1, 0xBB8, 0);
|
||||
|
|
@ -703,7 +703,7 @@ void func_80C02570(EnBomjimb* this, PlayState* play) {
|
|||
|
||||
void func_80C0267C(EnBomjimb* this) {
|
||||
func_80C012E0(this);
|
||||
EnBomjimb_ChangeAnim(this, ENBOMJIMB_ANIM_8, 1.0f);
|
||||
EnBomjimb_ChangeAnim(this, ENBOMJIMB_ANIM_KNOCK_BACK, 1.0f);
|
||||
this->actor.speed = 0.0f;
|
||||
this->actor.world.rot.y = this->actor.yawTowardsPlayer;
|
||||
this->unk_2AE = 40;
|
||||
|
|
@ -726,9 +726,9 @@ void func_80C02740(EnBomjimb* this, PlayState* play) {
|
|||
Player* player = GET_PLAYER(play);
|
||||
|
||||
func_80C012E0(this);
|
||||
EnBomjimb_ChangeAnim(this, ENBOMJIMB_ANIM_21, 1.0f);
|
||||
EnBomjimb_ChangeAnim(this, ENBOMJIMB_ANIM_CAUGHT, 1.0f);
|
||||
if ((player->transformation != PLAYER_FORM_DEKU) && (player->transformation != PLAYER_FORM_HUMAN)) {
|
||||
EnBomjimb_ChangeAnim(this, ENBOMJIMB_ANIM_17, 1.0f);
|
||||
EnBomjimb_ChangeAnim(this, ENBOMJIMB_ANIM_ARM_SWIPE, 1.0f);
|
||||
Message_StartTextbox(play, 0x72E, &this->actor);
|
||||
player->stateFlags1 |= PLAYER_STATE1_10000000;
|
||||
player->actor.freezeTimer = 3;
|
||||
|
|
@ -740,7 +740,7 @@ void func_80C02740(EnBomjimb* this, PlayState* play) {
|
|||
|
||||
if (((player->transformation == PLAYER_FORM_DEKU) && !CHECK_WEEKEVENTREG(WEEKEVENTREG_73_10)) ||
|
||||
((player->transformation == PLAYER_FORM_HUMAN) && !CHECK_WEEKEVENTREG(WEEKEVENTREG_85_02))) {
|
||||
EnBomjimb_ChangeAnim(this, ENBOMJIMB_ANIM_17, 1.0f);
|
||||
EnBomjimb_ChangeAnim(this, ENBOMJIMB_ANIM_ARM_SWIPE, 1.0f);
|
||||
Message_StartTextbox(play, 0x72E, &this->actor);
|
||||
player->stateFlags1 |= PLAYER_STATE1_10000000;
|
||||
player->actor.freezeTimer = 3;
|
||||
|
|
@ -805,15 +805,15 @@ void func_80C02A14(EnBomjimb* this, PlayState* play) {
|
|||
Player* player = GET_PLAYER(play);
|
||||
f32 curFrame = this->skelAnime.curFrame;
|
||||
|
||||
if (this->animIndex == ENBOMJIMB_ANIM_21) {
|
||||
if (this->animIndex == ENBOMJIMB_ANIM_CAUGHT) {
|
||||
player->actor.freezeTimer = 3;
|
||||
if (curFrame >= this->animEndFrame) {
|
||||
EnBomjimb_ChangeAnim(this, ENBOMJIMB_ANIM_9, 1.0f);
|
||||
EnBomjimb_ChangeAnim(this, ENBOMJIMB_ANIM_SIT, 1.0f);
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
||||
if ((this->unk_2CA == 8) && (this->animIndex == ENBOMJIMB_ANIM_9)) {
|
||||
if ((this->unk_2CA == 8) && (this->animIndex == ENBOMJIMB_ANIM_SIT)) {
|
||||
player->actor.freezeTimer = 3;
|
||||
if (this->unk_2E0 == 0) {
|
||||
if (Animation_OnFrame(&this->skelAnime, 7.0f)) {
|
||||
|
|
@ -823,7 +823,7 @@ void func_80C02A14(EnBomjimb* this, PlayState* play) {
|
|||
}
|
||||
}
|
||||
|
||||
if ((this->animIndex == ENBOMJIMB_ANIM_15) && (this->unk_2CA == 8)) {
|
||||
if ((this->animIndex == ENBOMJIMB_ANIM_FROLIC) && (this->unk_2CA == 8)) {
|
||||
player->actor.freezeTimer = 3;
|
||||
}
|
||||
|
||||
|
|
@ -964,16 +964,16 @@ s32 EnBomjimb_OverrideLimbDraw(PlayState* play, s32 limbIndex, Gfx** dList, Vec3
|
|||
|
||||
void EnBomjimb_Draw(Actor* thisx, PlayState* play) {
|
||||
static Gfx* D_80C03260[] = {
|
||||
gEnBomjimb_D_80C03240, gEnBomjimb_D_80C03250, gEnBomjimb_D_80C03250,
|
||||
gEnBomjimb_D_80C03250, gEnBomjimb_D_80C03250,
|
||||
gBomberCatchRedBandanaDL, gBomberCatchBlueBandanaDL, gBomberCatchBlueBandanaDL,
|
||||
gBomberCatchBlueBandanaDL, gBomberCatchBlueBandanaDL,
|
||||
};
|
||||
static TexturePtr D_80C03274[] = {
|
||||
object_cs_Tex_00C520,
|
||||
object_cs_Tex_00CD20,
|
||||
object_cs_Tex_00D520,
|
||||
gBomberEyeOpenTex,
|
||||
gBomberEyeHalfTex,
|
||||
gBomberEyeClosedTex,
|
||||
};
|
||||
static TexturePtr D_80C03280[] = {
|
||||
object_cs_Tex_00E620, object_cs_Tex_00EA20, object_cs_Tex_00EE20, object_cs_Tex_00DD20, object_cs_Tex_00F220,
|
||||
gBomberNumber1Tex, gBomberNumber2Tex, gBomberNumber3Tex, gBomberNumber4Tex, gBomberNumber5Tex,
|
||||
};
|
||||
EnBomjimb* this = (EnBomjimb*)thisx;
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue