fight documentation
This commit is contained in:
parent
c0b005fa3d
commit
cd222d498a
|
@ -1,4 +1,4 @@
|
||||||
# banjo (89.2171%)
|
# banjo (89.2214%)
|
||||||
|
|
||||||
<img src="./progress/progress_total.svg">
|
<img src="./progress/progress_total.svg">
|
||||||
|
|
||||||
|
|
|
@ -682,7 +682,7 @@ typedef struct {
|
||||||
ALPan pan; /* overall pan for this chan */
|
ALPan pan; /* overall pan for this chan */
|
||||||
u8 priority; /* priority for this chan */
|
u8 priority; /* priority for this chan */
|
||||||
u8 vol; /* current volume for this chan */
|
u8 vol; /* current volume for this chan */
|
||||||
u8 unk9;
|
u8 unkA;
|
||||||
u8 fxmix; /* current fx mix for this chan */
|
u8 fxmix; /* current fx mix for this chan */
|
||||||
u8 sustain; /* current sustain pedal state */
|
u8 sustain; /* current sustain pedal state */
|
||||||
f32 pitchBend; /* current pitch bend val in cents */
|
f32 pitchBend; /* current pitch bend val in cents */
|
||||||
|
|
|
@ -216,9 +216,10 @@ enum bkprog_e{
|
||||||
// {index=0xCC, type="Prog", level=6, name="Cobweb to Green Cauldron Broken"},
|
// {index=0xCC, type="Prog", level=6, name="Cobweb to Green Cauldron Broken"},
|
||||||
BKPROG_CD_GRATE_TO_WATER_SWITCH_3_OPEN = 0xcd,
|
BKPROG_CD_GRATE_TO_WATER_SWITCH_3_OPEN = 0xcd,
|
||||||
BKPROG_CE_GRATE_TO_MMM_PUZZLE_OPEN,
|
BKPROG_CE_GRATE_TO_MMM_PUZZLE_OPEN,
|
||||||
|
BKPROG_CF_HAS_ENTERED_FINAL_FIGHT,
|
||||||
// {index=0xD1, type="Prog", level=12, name="Fight 1st Jinjo Statue Activated Cutscene"},
|
|
||||||
// {index=0xD2, type="Prog", level=12, name="Fight 1st Jinjo Statue Rising Cutscene"},
|
BKPROG_D1_HAS_ACTIVATED_A_JINJO_STATUE_IN_FINAL_FIGHT = 0xD1,
|
||||||
|
BKPROG_D2_HAS_SPAWNED_A_JINJO_STATUE_IN_FINAL_FIGHT,
|
||||||
// {index=0xD3, type="Prog", level=6, name="??FF PATTERN 2^0"},
|
// {index=0xD3, type="Prog", level=6, name="??FF PATTERN 2^0"},
|
||||||
// {index=0xD4, type="Prog", level=6, name="??FF PATTERN 2^1"},
|
// {index=0xD4, type="Prog", level=6, name="??FF PATTERN 2^1"},
|
||||||
// {index=0xD5, type="Prog", level=6, name="??FF PATTERN 2^2"},
|
// {index=0xD5, type="Prog", level=6, name="??FF PATTERN 2^2"},
|
||||||
|
@ -676,16 +677,16 @@ enum comusic_e
|
||||||
COMUISC_97_BBONUS_DROP_PIECE,
|
COMUISC_97_BBONUS_DROP_PIECE,
|
||||||
COMUSIC_98_BBONUS_PIECES_SHUFFLE, // Looping
|
COMUSIC_98_BBONUS_PIECES_SHUFFLE, // Looping
|
||||||
MUSIC_MUMBO_BBQ,
|
MUSIC_MUMBO_BBQ,
|
||||||
SFX_JINJONATOR_HITS_GRUNTY_A,
|
COMUSIC_9A_JINJONATOR_HITS_GRUNTY_A,
|
||||||
SFX_JINJONATOR_HITS_GRUNTY_B,
|
COMUSIC_9B_JINJONATOR_HITS_GRUNTY_B,
|
||||||
SFX_JINJONATOR_HITS_GRUNTY_C,
|
COMUSIC_9C_JINJONATOR_HITS_GRUNTY_C,
|
||||||
SFX_JINJONATOR_HITS_GRUNTY_D,
|
COMUSIC_9D_JINJONATOR_HITS_GRUNTY_D,
|
||||||
SFX_JINJONATOR_HITS_GRUNTY_E,
|
COMUSIC_9E_JINJONATOR_HITS_GRUNTY_E,
|
||||||
SFX_JINJONATOR_HITS_GRUNTY_F,
|
COMUSIC_9F_JINJONATOR_HITS_GRUNTY_F,
|
||||||
SFX_JINJONATOR_HITS_GRUNTY_G = 0xA0,
|
COMUSIC_A0_JINJONATOR_HITS_GRUNTY_G = 0xA0,
|
||||||
SFX_JINJONATOR_HITS_GRUNTY_H,
|
COMUSIC_A1_JINJONATOR_HITS_GRUNTY_H,
|
||||||
SFX_JINJONATOR_HITS_GRUNTY_I,
|
COMUSIC_A2_JINJONATOR_HITS_GRUNTY_I,
|
||||||
SFX_JINJONATOR_HITS_GRUNTY_J,
|
COMUSIC_A3_JINJONATOR_HITS_GRUNTY_J,
|
||||||
JINGLE_JINJONATOR_DRUMMING_A,
|
JINGLE_JINJONATOR_DRUMMING_A,
|
||||||
JINGLE_JINJONATOR_DRUMMING_B,
|
JINGLE_JINJONATOR_DRUMMING_B,
|
||||||
JINGLE_JINJONATOR_DRUMMING_C,
|
JINGLE_JINJONATOR_DRUMMING_C,
|
||||||
|
@ -1293,7 +1294,8 @@ enum sfx_e
|
||||||
SFX_3FA_HONEYCOMB_TALKING,
|
SFX_3FA_HONEYCOMB_TALKING,
|
||||||
SFX_3FB_UNKNOWN, //conga
|
SFX_3FB_UNKNOWN, //conga
|
||||||
|
|
||||||
SFX_406_GOLD_BULLION_TALKING = 0x406,
|
SFX_405_UNKNOWN = 0x405,
|
||||||
|
SFX_406_GOLD_BULLION_TALKING,
|
||||||
SFX_407_MUMBO_TALKING_1,
|
SFX_407_MUMBO_TALKING_1,
|
||||||
SFX_408_MUMBO_TALKING_2,
|
SFX_408_MUMBO_TALKING_2,
|
||||||
SFX_409_MUMBO_TALKING_3,
|
SFX_409_MUMBO_TALKING_3,
|
||||||
|
@ -1858,9 +1860,26 @@ enum actor_e
|
||||||
ACTOR_386_PORTRAIT_OF_TREE_AND_MOON,
|
ACTOR_386_PORTRAIT_OF_TREE_AND_MOON,
|
||||||
ACTOR_387_PORTRAIT_OF_TEEHEE,
|
ACTOR_387_PORTRAIT_OF_TEEHEE,
|
||||||
ACTOR_388_PORTRAIT_OF_MINION,
|
ACTOR_388_PORTRAIT_OF_MINION,
|
||||||
|
ACTOR_389_GRUNTY_SPELL_FIREBALL,
|
||||||
|
|
||||||
|
ACTOR_38B_GRUNTILDA_FINAL_BOSS = 0x38B,
|
||||||
|
|
||||||
ACTOR_39F_FIGHT_FLIGHT_PAD = 0x39F,
|
ACTOR_39F_FIGHT_FLIGHT_PAD = 0x39F,
|
||||||
ACTOR_3A0_ICECUBE_B,
|
ACTOR_3A0_ICECUBE_B,
|
||||||
|
ACTOR_3A1_STONE_JINJO = 0x3A1,
|
||||||
|
ACTOR_3A2_JINJO_STATUE_BASE = 0x3A2,
|
||||||
|
|
||||||
|
ACTOR_3A5_BOSS_JINJO_ORANGE = 0x3A5,
|
||||||
|
ACTOR_3A6_BOSS_JINJO_GREEN,
|
||||||
|
ACTOR_3A7_BOSS_JINJO_PINK,
|
||||||
|
ACTOR_3A8_BOSS_JINJO_YELLOW,
|
||||||
|
ACTOR_3A9_JINJONATOR_STATUE_BASE = 0x3A9,
|
||||||
|
|
||||||
|
ACTOR_3AA_GRUNTY_SPELL_GREEN_ATTACK = 0x3AA,
|
||||||
|
ACTOR_3AB_GRUNTY_SPELL_BARRIER,
|
||||||
|
ACTOR_3AC_JINJONATOR,
|
||||||
|
|
||||||
|
ACTOR_3AF_GRUNTY_SHADOW = 0x3AF,
|
||||||
|
|
||||||
ACTOR_3BA_UNKOWN = 0x3ba,
|
ACTOR_3BA_UNKOWN = 0x3ba,
|
||||||
|
|
||||||
|
@ -2639,14 +2658,14 @@ enum asset_e
|
||||||
// Unused
|
// Unused
|
||||||
// Unused
|
// Unused
|
||||||
// Unused
|
// Unused
|
||||||
// 3bb Yellow Jinjo
|
ASSET_3BB_MODEL_JINJO_YELLOW = 0x3BB,
|
||||||
// 3bc Orange Jinjo
|
ASSET_3BC_MODEL_JINJO_ORANGE,
|
||||||
// 3bd TTC Lighthouse A
|
// 3bd TTC Lighthouse A
|
||||||
// 3be TTC Lighthouse B
|
// 3be TTC Lighthouse B
|
||||||
ASSET_3BF_MODEL_PLAYER_SHADOW = 0x3BF,
|
ASSET_3BF_MODEL_PLAYER_SHADOW = 0x3BF,
|
||||||
// 3c0 Blue Jinjo
|
ASSET_3C0_MODEL_JINJO_BLUE,
|
||||||
// 3c1 Pink Jinjo
|
ASSET_3C1_MODEL_JINJO_PINK,
|
||||||
// 3c2 Green Jinjo
|
ASSET_3C2_MODEL_JINJO_GREEN,
|
||||||
// Unused
|
// Unused
|
||||||
// Unused
|
// Unused
|
||||||
ASSET_3C5_MODEL_GRUBLIN = 0x3c5,
|
ASSET_3C5_MODEL_GRUBLIN = 0x3c5,
|
||||||
|
@ -3027,16 +3046,16 @@ enum asset_e
|
||||||
ASSET_53A_MODEL_SHRAPNAL_PIECE_EYE = 0x53A,
|
ASSET_53A_MODEL_SHRAPNAL_PIECE_EYE = 0x53A,
|
||||||
ASSET_53B_MODEL_SHRAPNAL_PIECE_SPIKE,
|
ASSET_53B_MODEL_SHRAPNAL_PIECE_SPIKE,
|
||||||
ASSET_53C_MODEL_SHRAPNAL_PIECE_PLATE,
|
ASSET_53C_MODEL_SHRAPNAL_PIECE_PLATE,
|
||||||
// 53d Gruntilda On Broomstick
|
ASSET_53D_MODEL_GRUNTILDA_FINAL_BOSS,
|
||||||
// 53e Gnawty's Bed
|
// 53e Gnawty's Bed
|
||||||
// 53f Gnawty's Shelves
|
// 53f Gnawty's Shelves
|
||||||
// 540 GL Shock Jump Pad Switch
|
// 540 GL Shock Jump Pad Switch
|
||||||
// 541 (Fireball?)
|
ASSET_541_SPRITE_FIREBALL_SPELL_ATTACK = 0x541,
|
||||||
// 542 (Shadow?)
|
// 542 (Shadow?)
|
||||||
// 543 Final Battle Jinjo Stand
|
ASSET_543_MODEL_JINJO_STATUE_BASE = 0x543,
|
||||||
// 544 Final Battle Jinjonator Stand
|
ASSET_544_MODEL_JINJONATOR_STATUE_BASE,
|
||||||
// 545 Final Battle Stone Jinjo
|
ASSET_545_MODEL_STONE_JINJO,
|
||||||
// 546 Grunty's Barrier Spell
|
ASSET_546_MODEL_GRUNTY_SPELL_BARRIER = 0x546,
|
||||||
// 547 GL Blue Egg Refill Pillow
|
// 547 GL Blue Egg Refill Pillow
|
||||||
// 548 GL Red Feather Refill Pillow
|
// 548 GL Red Feather Refill Pillow
|
||||||
// 549 GL Gold Feather Refill Pillow
|
// 549 GL Gold Feather Refill Pillow
|
||||||
|
@ -3047,11 +3066,11 @@ enum asset_e
|
||||||
// 54e Copyright Info (Title Screen)
|
// 54e Copyright Info (Title Screen)
|
||||||
// 54f Cheato
|
// 54f Cheato
|
||||||
// 550 Large Door To Final Battle
|
// 550 Large Door To Final Battle
|
||||||
// 551 Jinjonator
|
ASSET_551_MODEL_JINJONATOR = 0x551,
|
||||||
// 552 Broomstick Head (Upon Breaking)
|
ASSET_552_MODEL_BROOMSTICK_PIECE_HEAD,
|
||||||
// 553 Broomstick Shaft Short (Upon Breaking)
|
ASSET_553_MODEL_BROOMSTICK_PIECE_SHORT,
|
||||||
// 554 Broomstick Shaft Long (Upon Breaking)
|
ASSET_554_MODEL_BROOMSTICK_PIECE_LONG,
|
||||||
// 555 Broomstick Eye (Upon Breaking)
|
ASSET_555_MODEL_BROOMSTICK_PIECE_EYE,
|
||||||
// 556 Blast When Yellow Jinjo Hits Gruntilda
|
// 556 Blast When Yellow Jinjo Hits Gruntilda
|
||||||
// 557 Blast When Orange Jinjo Hits Gruntilda
|
// 557 Blast When Orange Jinjo Hits Gruntilda
|
||||||
// 558 Blast When Green Jinjo Hits Gruntilda
|
// 558 Blast When Green Jinjo Hits Gruntilda
|
||||||
|
@ -3423,7 +3442,7 @@ enum asset_e
|
||||||
ASSET_6C6_SPRITE_SMOKE_PINK,
|
ASSET_6C6_SPRITE_SMOKE_PINK,
|
||||||
ASSET_6C7_SPRITE_SMOKE_GREEN_2,
|
ASSET_6C7_SPRITE_SMOKE_GREEN_2,
|
||||||
ASSET_6C8_SPRITE_SMOKE_BLUE,
|
ASSET_6C8_SPRITE_SMOKE_BLUE,
|
||||||
ASSET_6C9_SPRITE_SMOKE_GREEN_BIG,
|
ASSET_6C9_SPRITE_GREEN_SPELL_ATTACK,
|
||||||
|
|
||||||
ASSET_6D1_SPRITE_GOLDFEATHTER = 0x6d1,
|
ASSET_6D1_SPRITE_GOLDFEATHTER = 0x6d1,
|
||||||
|
|
||||||
|
@ -3949,9 +3968,26 @@ enum marker_e{
|
||||||
MARKER_259_PORTRAIT_OF_TREE_AND_MOON,
|
MARKER_259_PORTRAIT_OF_TREE_AND_MOON,
|
||||||
MARKER_25A_PORTRAIT_OF_TEEHEE,
|
MARKER_25A_PORTRAIT_OF_TEEHEE,
|
||||||
MARKER_25B_PORTRAIT_OF_MINION,
|
MARKER_25B_PORTRAIT_OF_MINION,
|
||||||
|
MARKER_25C_GRUNTY_SPELL_FIREBALL,
|
||||||
|
|
||||||
|
MARKER_25E_GRUNTILDA_FINAL_BOSS = 0x25E,
|
||||||
MARKER_25F_ICECUBE_B = 0x25F,
|
MARKER_25F_ICECUBE_B = 0x25F,
|
||||||
|
|
||||||
|
MARKER_276_STONE_JINJO = 0x276,
|
||||||
|
|
||||||
|
MARKER_27A_JINJO_STATUE_BASE = 0x27A,
|
||||||
|
MARKER_27B_BOSS_JINJO_ORANGE,
|
||||||
|
MARKER_27C_BOSS_JINJO_GREEN,
|
||||||
|
MARKER_27D_BOSS_JINJO_PINK,
|
||||||
|
MARKER_27E_BOSS_JINJO_YELLOW,
|
||||||
|
MARKER_27F_JINJONATOR_STATUE_BASE,
|
||||||
|
|
||||||
|
MARKER_280_GRUNTY_SPELL_GREEN_ATTACK = 0x280,
|
||||||
|
|
||||||
|
MARKER_284_GRUNTY_SPELL_BARRIER = 0x284,
|
||||||
|
MARKER_285_JINJONATOR,
|
||||||
|
|
||||||
|
MARKER_288_GRUNTY_SHADOW = 0x288,
|
||||||
|
|
||||||
MARKER_295_GRUNTLING_BLUE = 0x295,
|
MARKER_295_GRUNTLING_BLUE = 0x295,
|
||||||
MARKER_296_TEEHEE_PURPLE,
|
MARKER_296_TEEHEE_PURPLE,
|
||||||
|
|
|
@ -582,7 +582,10 @@ f32 climbGetTopY(void);
|
||||||
void func_802596AC(f32 a0[3], f32 a1[3], f32 a2[3], f32 a3[3]);
|
void func_802596AC(f32 a0[3], f32 a1[3], f32 a2[3], f32 a3[3]);
|
||||||
|
|
||||||
void func_8024E55C(s32, void *);
|
void func_8024E55C(s32, void *);
|
||||||
void func_802C3C88(GenMethod_1, s32);
|
|
||||||
|
void __spawnqueue_add_1(GenMethod_1, s32);
|
||||||
|
#define SPAWNQUEUE_ADD_1(method, arg0) __spawnqueue_add_1((GenMethod_1) (method), reinterpret_cast(s32, (arg0)))
|
||||||
|
|
||||||
void func_802FAD64(enum item_e);
|
void func_802FAD64(enum item_e);
|
||||||
void nodeprop_getPosition(NodeProp *, f32[3]);
|
void nodeprop_getPosition(NodeProp *, f32[3]);
|
||||||
bool func_80311480(s32 text_id, s32 arg1, f32 *pos, ActorMarker *marker, void(*callback)(ActorMarker *, enum asset_e, s32), void(*arg5)(ActorMarker *, enum asset_e, s32));
|
bool func_80311480(s32 text_id, s32 arg1, f32 *pos, ActorMarker *marker, void(*callback)(ActorMarker *, enum asset_e, s32), void(*arg5)(ActorMarker *, enum asset_e, s32));
|
||||||
|
|
|
@ -180,7 +180,7 @@ typedef struct actor_s{
|
||||||
u32 unk58_0: 1;
|
u32 unk58_0: 1;
|
||||||
f32 unk5C;
|
f32 unk5C;
|
||||||
f32 unk60; //0x60
|
f32 unk60; //0x60
|
||||||
f32 yaw_moving; //0x64
|
f32 yaw_ideal; //0x64
|
||||||
f32 pitch;//0x68
|
f32 pitch;//0x68
|
||||||
f32 unk6C;
|
f32 unk6C;
|
||||||
f32 unk70;
|
f32 unk70;
|
||||||
|
|
|
@ -491,7 +491,8 @@ typedef struct{
|
||||||
}struct4Cs;
|
}struct4Cs;
|
||||||
|
|
||||||
typedef struct struct_4D_s{
|
typedef struct struct_4D_s{
|
||||||
u8 unk0[0x18];
|
f32 unk0[3];
|
||||||
|
f32 unkC[3];
|
||||||
}struct4Ds;
|
}struct4Ds;
|
||||||
|
|
||||||
typedef struct{
|
typedef struct{
|
||||||
|
|
|
@ -17,7 +17,7 @@
|
||||||
<text x="22.0" y="14">core1</text>
|
<text x="22.0" y="14">core1</text>
|
||||||
</g>
|
</g>
|
||||||
<g fill="#fff" text-anchor="middle" font-family="DejaVu Sans,Verdana,Geneva,sans-serif" font-size="11">
|
<g fill="#fff" text-anchor="middle" font-family="DejaVu Sans,Verdana,Geneva,sans-serif" font-size="11">
|
||||||
<text x="78.5" y="15" fill="#010101" fill-opacity=".3">73.1238%</text>
|
<text x="78.5" y="15" fill="#010101" fill-opacity=".3">73.1536%</text>
|
||||||
<text x="77.5" y="14">73.1238%</text>
|
<text x="77.5" y="14">73.1536%</text>
|
||||||
</g>
|
</g>
|
||||||
</svg>
|
</svg>
|
Before Width: | Height: | Size: 1.0 KiB After Width: | Height: | Size: 1.0 KiB |
|
@ -17,7 +17,7 @@
|
||||||
<text x="75.0" y="14">Banjo-Kazooie (us.v10)</text>
|
<text x="75.0" y="14">Banjo-Kazooie (us.v10)</text>
|
||||||
</g>
|
</g>
|
||||||
<g fill="#fff" text-anchor="middle" font-family="DejaVu Sans,Verdana,Geneva,sans-serif" font-size="11">
|
<g fill="#fff" text-anchor="middle" font-family="DejaVu Sans,Verdana,Geneva,sans-serif" font-size="11">
|
||||||
<text x="184.5" y="15" fill="#010101" fill-opacity=".3">89.2171%</text>
|
<text x="184.5" y="15" fill="#010101" fill-opacity=".3">89.2214%</text>
|
||||||
<text x="183.5" y="14">89.2171%</text>
|
<text x="183.5" y="14">89.2214%</text>
|
||||||
</g>
|
</g>
|
||||||
</svg>
|
</svg>
|
Before Width: | Height: | Size: 1.1 KiB After Width: | Height: | Size: 1.1 KiB |
|
@ -152,16 +152,16 @@ void func_80387FD4(Actor *this){
|
||||||
func_80324D2C(4.5f, COMUSIC_43_ENTER_LEVEL_GLITTER);
|
func_80324D2C(4.5f, COMUSIC_43_ENTER_LEVEL_GLITTER);
|
||||||
func_80328B8C(this, 5, 0.79f, 1);
|
func_80328B8C(this, 5, 0.79f, 1);
|
||||||
if (this->unkF4_8 == 5) {
|
if (this->unkF4_8 == 5) {
|
||||||
timedFunc_set_1(0.9f, (TFQM1) func_80387E40, (s32) this->marker);
|
timedFunc_set_1(0.9f, (GenMethod_1) func_80387E40, (s32) this->marker);
|
||||||
} else {
|
} else {
|
||||||
func_80326310(this);
|
func_80326310(this);
|
||||||
}
|
}
|
||||||
if (this->unkF4_8 < 5) {
|
if (this->unkF4_8 < 5) {
|
||||||
bgs_D_803907B8[this->unkF4_8]->propPtr->unk8_4 = TRUE;
|
bgs_D_803907B8[this->unkF4_8]->propPtr->unk8_4 = TRUE;
|
||||||
timedFunc_set_1(1.1f, (TFQM1)func_80387E00, bgs_D_803907B8[this->unkF4_8]);
|
timedFunc_set_1(1.1f, (GenMethod_1)func_80387E00, bgs_D_803907B8[this->unkF4_8]);
|
||||||
func_802BAFE4(D_803907B0[this->unkF4_8-1]);
|
func_802BAFE4(D_803907B0[this->unkF4_8-1]);
|
||||||
} else {
|
} else {
|
||||||
timedFunc_set_1(0.8f, (TFQM1)func_80387D90, (s32) this->marker);
|
timedFunc_set_1(0.8f, (GenMethod_1)func_80387D90, (s32) this->marker);
|
||||||
}
|
}
|
||||||
func_802C3D3C(&func_80387D18, this->marker, 0x46);
|
func_802C3D3C(&func_80387D18, this->marker, 0x46);
|
||||||
}
|
}
|
||||||
|
|
|
@ -374,9 +374,9 @@ void chvilegame_player_consume_piece(Actor *this) {
|
||||||
item_inc(ITEM_16_LIFE);
|
item_inc(ITEM_16_LIFE);
|
||||||
func_8025A6EC(COMUSIC_15_EXTRA_LIFE_COLLECTED, 0x7FF8);
|
func_8025A6EC(COMUSIC_15_EXTRA_LIFE_COLLECTED, 0x7FF8);
|
||||||
}
|
}
|
||||||
timedFunc_set_1(0.0f, (TFQM1)func_802FDCB8, ITEM_1A_PLAYER_VILE_SCORE);
|
timedFunc_set_1(0.0f, (GenMethod_1)func_802FDCB8, ITEM_1A_PLAYER_VILE_SCORE);
|
||||||
timedFunc_set_1(0.5f, (TFQM1)func_802FDCB8, ITEM_1A_PLAYER_VILE_SCORE);
|
timedFunc_set_1(0.5f, (GenMethod_1)func_802FDCB8, ITEM_1A_PLAYER_VILE_SCORE);
|
||||||
timedFunc_set_1(1.0f, (TFQM1)func_802FDCB8, ITEM_1A_PLAYER_VILE_SCORE);
|
timedFunc_set_1(1.0f, (GenMethod_1)func_802FDCB8, ITEM_1A_PLAYER_VILE_SCORE);
|
||||||
}
|
}
|
||||||
func_8028F6B8(BS_INTR_17, (i_ptr->type != YUMBLIE) ? ASSET_3F7_MODEL_GRUMBLIE : ASSET_3F6_MODEL_YUMBLIE);
|
func_8028F6B8(BS_INTR_17, (i_ptr->type != YUMBLIE) ? ASSET_3F7_MODEL_GRUMBLIE : ASSET_3F6_MODEL_YUMBLIE);
|
||||||
if (!is_correct_type) {
|
if (!is_correct_type) {
|
||||||
|
@ -406,9 +406,9 @@ bool chvilegame_cpu_consume_piece(ActorMarker *marker, f32 position[3]) {
|
||||||
for(i_ptr = begin; i_ptr < end; i_ptr++){
|
for(i_ptr = begin; i_ptr < end; i_ptr++){
|
||||||
if ((ml_vec3f_distance(i_ptr->position, position) < 50.0f) && func_8038B684(i_ptr->marker)) {
|
if ((ml_vec3f_distance(i_ptr->position, position) < 50.0f) && func_8038B684(i_ptr->marker)) {
|
||||||
local->vile_score++;
|
local->vile_score++;
|
||||||
timedFunc_set_1(0.0f, (TFQM1)func_802FDCB8, ITEM_1B_VILE_VILE_SCORE);
|
timedFunc_set_1(0.0f, (GenMethod_1)func_802FDCB8, ITEM_1B_VILE_VILE_SCORE);
|
||||||
timedFunc_set_1(0.5f, (TFQM1)func_802FDCB8, ITEM_1B_VILE_VILE_SCORE);
|
timedFunc_set_1(0.5f, (GenMethod_1)func_802FDCB8, ITEM_1B_VILE_VILE_SCORE);
|
||||||
timedFunc_set_1(1.0f, (TFQM1)func_802FDCB8, ITEM_1B_VILE_VILE_SCORE);
|
timedFunc_set_1(1.0f, (GenMethod_1)func_802FDCB8, ITEM_1B_VILE_VILE_SCORE);
|
||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -100,7 +100,7 @@ void func_8038EB8C(Actor *this){
|
||||||
if(tmp == 5){
|
if(tmp == 5){
|
||||||
func_8025A6EC(COMUSIC_2D_PUZZLE_SOLVED_FANFARE, 28000);
|
func_8025A6EC(COMUSIC_2D_PUZZLE_SOLVED_FANFARE, 28000);
|
||||||
}
|
}
|
||||||
func_802C3C88(func_8038EB4C, this->marker);
|
__spawnqueue_add_1(func_8038EB4C, this->marker);
|
||||||
if(tmp < 5){
|
if(tmp < 5){
|
||||||
func_802C3F04(func_802C4218,D_80390B50[tmp], ((u32 *)diffPos)[0], ((u32 *)diffPos)[1], ((u32 *)diffPos)[2]);
|
func_802C3F04(func_802C4218,D_80390B50[tmp], ((u32 *)diffPos)[0], ((u32 *)diffPos)[1], ((u32 *)diffPos)[2]);
|
||||||
} else {
|
} else {
|
||||||
|
|
|
@ -69,7 +69,7 @@ void func_803865F4(Actor *this, s32 next_state) {
|
||||||
func_8025A6EC(COMUSIC_2D_PUZZLE_SOLVED_FANFARE, 28000);
|
func_8025A6EC(COMUSIC_2D_PUZZLE_SOLVED_FANFARE, 28000);
|
||||||
func_80324E38(0.0f, 3);
|
func_80324E38(0.0f, 3);
|
||||||
timed_setCameraToNode(2.0f, 4);
|
timed_setCameraToNode(2.0f, 4);
|
||||||
timedFunc_set_1(2.0f, (TFQM1)func_80386550, (s32) this->marker);
|
timedFunc_set_1(2.0f, (GenMethod_1)func_80386550, (s32) this->marker);
|
||||||
func_80324E88(4.0f);
|
func_80324E88(4.0f);
|
||||||
func_80324E38(4.0f, 0);
|
func_80324E38(4.0f, 0);
|
||||||
}
|
}
|
||||||
|
|
|
@ -124,7 +124,7 @@ void func_8038794C(Actor *this){
|
||||||
|
|
||||||
if(jiggyscore_isCollected(JIGGY_2A_FP_BOGGY_1)){
|
if(jiggyscore_isCollected(JIGGY_2A_FP_BOGGY_1)){
|
||||||
if(!jiggyscore_isCollected(JIGGY_2C_FP_BOGGY_3) && !jiggyscore_isSpawned(JIGGY_2C_FP_BOGGY_3)){
|
if(!jiggyscore_isCollected(JIGGY_2C_FP_BOGGY_3) && !jiggyscore_isSpawned(JIGGY_2C_FP_BOGGY_3)){
|
||||||
func_802C3C88(func_80387760, this->marker);
|
__spawnqueue_add_1(func_80387760, this->marker);
|
||||||
}
|
}
|
||||||
this->unk38_31 = 0;
|
this->unk38_31 = 0;
|
||||||
actor_collisionOff(this);
|
actor_collisionOff(this);
|
||||||
|
@ -150,7 +150,7 @@ void func_8038794C(Actor *this){
|
||||||
if(!func_8028ECAC() || func_8028ECAC() == BSGROUP_8_TROT){
|
if(!func_8028ECAC() || func_8028ECAC() == BSGROUP_8_TROT){
|
||||||
if(func_80311480(0xbff, 0x2a, this->position, NULL, NULL, NULL)){
|
if(func_80311480(0xbff, 0x2a, this->position, NULL, NULL, NULL)){
|
||||||
for(i = 0; i <5; i++ ){
|
for(i = 0; i <5; i++ ){
|
||||||
timedFunc_set_1(D_80391BEC[i], (TFQM1)func_8038787C, (s32)this->marker);
|
timedFunc_set_1(D_80391BEC[i], (GenMethod_1)func_8038787C, (s32)this->marker);
|
||||||
}
|
}
|
||||||
this->unk138_24 = TRUE;
|
this->unk138_24 = TRUE;
|
||||||
}
|
}
|
||||||
|
@ -194,7 +194,7 @@ void func_8038794C(Actor *this){
|
||||||
case 5://L80387D90
|
case 5://L80387D90
|
||||||
if(jiggyscore_isCollected(JIGGY_2A_FP_BOGGY_1)){
|
if(jiggyscore_isCollected(JIGGY_2A_FP_BOGGY_1)){
|
||||||
this->unk38_31 = 0;
|
this->unk38_31 = 0;
|
||||||
func_802C3C88(func_80387760, this->marker);
|
__spawnqueue_add_1(func_80387760, this->marker);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
|
@ -584,7 +584,7 @@ void func_803896FC(Actor *this){
|
||||||
case 1: //L80389F78
|
case 1: //L80389F78
|
||||||
if(this->unk38_31 == 2){
|
if(this->unk38_31 == 2){
|
||||||
if(jiggyscore_isCollected(JIGGY_30_FP_BOGGY_2)){
|
if(jiggyscore_isCollected(JIGGY_30_FP_BOGGY_2)){
|
||||||
func_802C3C88(func_80388F54, this->marker);
|
__spawnqueue_add_1(func_80388F54, this->marker);
|
||||||
func_8038B9BC();
|
func_8038B9BC();
|
||||||
marker_despawn(this->marker);
|
marker_despawn(this->marker);
|
||||||
}
|
}
|
||||||
|
|
|
@ -120,7 +120,7 @@ void func_8038A384(Actor *this){
|
||||||
: (sp34 == 2) ? 0xC18
|
: (sp34 == 2) ? 0xC18
|
||||||
: 0xC19;
|
: 0xC19;
|
||||||
|
|
||||||
this->yaw_moving = (f32)func_80329784(this);
|
this->yaw_ideal = (f32)func_80329784(this);
|
||||||
func_80328FB0(this, 2.0f);
|
func_80328FB0(this, 2.0f);
|
||||||
func_8028E668(this->position, 100.0f, -10.0f, 100.0f);
|
func_8028E668(this->position, 100.0f, -10.0f, 100.0f);
|
||||||
|
|
||||||
|
|
|
@ -159,7 +159,7 @@ void func_8038AEE0(s32 indx){
|
||||||
}
|
}
|
||||||
|
|
||||||
void func_8038B00C(s32 indx){
|
void func_8038B00C(s32 indx){
|
||||||
func_802C3C88(func_8038AEE0, indx);
|
__spawnqueue_add_1(func_8038AEE0, indx);
|
||||||
}
|
}
|
||||||
|
|
||||||
void func_8038B034(void){
|
void func_8038B034(void){
|
||||||
|
@ -211,7 +211,7 @@ void func_8038B1D0(enum jiggy_e jiggy_id){
|
||||||
timed_setCameraToNode(0.0f, 3);
|
timed_setCameraToNode(0.0f, 3);
|
||||||
timedFunc_set_0(0.0f, func_8038AEA0);
|
timedFunc_set_0(0.0f, func_8038AEA0);
|
||||||
timedFunc_set_0(0.0f, func_8038B0B8);
|
timedFunc_set_0(0.0f, func_8038B0B8);
|
||||||
timedFunc_set_1(0.1f, (TFQM1) func_8038B130, jiggy_id);
|
timedFunc_set_1(0.1f, (GenMethod_1) func_8038B130, jiggy_id);
|
||||||
timedFunc_set_0(5.0f, func_8038B190);
|
timedFunc_set_0(5.0f, func_8038B190);
|
||||||
timedFunc_set_0(5.0f, func_8038B1C4);
|
timedFunc_set_0(5.0f, func_8038B1C4);
|
||||||
func_80324E88(5.0f);
|
func_80324E88(5.0f);
|
||||||
|
|
|
@ -266,7 +266,7 @@ void func_8038C94C(ActorMarker *caller, enum asset_e text_id, s32 arg2){
|
||||||
Actor *this = marker_getActor(caller);
|
Actor *this = marker_getActor(caller);
|
||||||
if(!func_803203FC(UNKFLAGS1_C1_IN_FINAL_CHARACTER_PARADE)){
|
if(!func_803203FC(UNKFLAGS1_C1_IN_FINAL_CHARACTER_PARADE)){
|
||||||
func_80328A84(this, 6);
|
func_80328A84(this, 6);
|
||||||
func_802C3C88(func_8038C8F0, this->marker);
|
__spawnqueue_add_1(func_8038C8F0, this->marker);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -370,7 +370,7 @@ void func_8038C9A0(Actor *this){
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 5:// 8038CE14
|
case 5:// 8038CE14
|
||||||
this->yaw_moving = (f32)func_80329784(this);
|
this->yaw_ideal = (f32)func_80329784(this);
|
||||||
func_80328FB0(this, 8.0f);
|
func_80328FB0(this, 8.0f);
|
||||||
if(!func_8038C718(this, this->unk1C[1])){
|
if(!func_8038C718(this, this->unk1C[1])){
|
||||||
this->velocity[1] = randf2(14.0f, 20.0f);
|
this->velocity[1] = randf2(14.0f, 20.0f);
|
||||||
|
|
|
@ -261,7 +261,7 @@ void func_8038D51C(ActorMarker *marker){
|
||||||
this->unk1C[1] = 1.0f;
|
this->unk1C[1] = 1.0f;
|
||||||
func_80324E88(1.7f);
|
func_80324E88(1.7f);
|
||||||
func_80324E38(1.7f, 0);
|
func_80324E38(1.7f, 0);
|
||||||
timedFunc_set_1(2.3f, (TFQM1)func_8038D294, (s32)this->marker);
|
timedFunc_set_1(2.3f, (GenMethod_1)func_8038D294, (s32)this->marker);
|
||||||
this->velocity[1] = 1.0f;
|
this->velocity[1] = 1.0f;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -368,7 +368,7 @@ void func_8038D6C8(Actor *this){
|
||||||
func_8038D324(this);
|
func_8038D324(this);
|
||||||
|
|
||||||
if(actor_animationIsAt(this, 0.999f))
|
if(actor_animationIsAt(this, 0.999f))
|
||||||
func_802C3C88((GenMethod_1)func_8038D474, (s32)this->marker);
|
__spawnqueue_add_1((GenMethod_1)func_8038D474, (s32)this->marker);
|
||||||
|
|
||||||
if(this->velocity[0] != 0.0f)
|
if(this->velocity[0] != 0.0f)
|
||||||
break;
|
break;
|
||||||
|
@ -381,7 +381,7 @@ void func_8038D6C8(Actor *this){
|
||||||
item_set(ITEM_6_HOURGLASS, TRUE);
|
item_set(ITEM_6_HOURGLASS, TRUE);
|
||||||
this->unk38_31 = 0xA;
|
this->unk38_31 = 0xA;
|
||||||
item_set(ITEM_24_TWINKLY_SCORE, this->unk38_31);
|
item_set(ITEM_24_TWINKLY_SCORE, this->unk38_31);
|
||||||
func_802C3C88((GenMethod_1)func_8038D41C, (s32)this->marker);
|
__spawnqueue_add_1((GenMethod_1)func_8038D41C, (s32)this->marker);
|
||||||
this->unk60 = 0.0f;
|
this->unk60 = 0.0f;
|
||||||
func_80347A14(0);
|
func_80347A14(0);
|
||||||
func_802FAD64(ITEM_14_HEALTH);
|
func_802FAD64(ITEM_14_HEALTH);
|
||||||
|
@ -398,7 +398,7 @@ void func_8038D6C8(Actor *this){
|
||||||
func_8025A6EC(COMUSIC_2D_PUZZLE_SOLVED_FANFARE, 28000);
|
func_8025A6EC(COMUSIC_2D_PUZZLE_SOLVED_FANFARE, 28000);
|
||||||
func_8038D3D8();
|
func_8038D3D8();
|
||||||
func_80324E38(0.0f, 3);
|
func_80324E38(0.0f, 3);
|
||||||
timedFunc_set_1(1.3f, (TFQM1)func_8038D51C, (s32)this->marker);
|
timedFunc_set_1(1.3f, (GenMethod_1)func_8038D51C, (s32)this->marker);
|
||||||
timed_setCameraToNode(0.9f, 0xC);
|
timed_setCameraToNode(0.9f, 0xC);
|
||||||
item_set(ITEM_24_TWINKLY_SCORE, this->unk38_31);
|
item_set(ITEM_24_TWINKLY_SCORE, this->unk38_31);
|
||||||
func_80347A14(1);
|
func_80347A14(1);
|
||||||
|
@ -421,7 +421,7 @@ void func_8038D6C8(Actor *this){
|
||||||
|
|
||||||
if(0.96 < animctrl_getAnimTimer(this->animctrl)){
|
if(0.96 < animctrl_getAnimTimer(this->animctrl)){
|
||||||
if(this->unk60 <= 0.0){
|
if(this->unk60 <= 0.0){
|
||||||
func_802C3C88((GenMethod_1)func_8038D474, (s32)this->marker);
|
__spawnqueue_add_1((GenMethod_1)func_8038D474, (s32)this->marker);
|
||||||
this->unk60 = 2.9f;
|
this->unk60 = 2.9f;
|
||||||
}
|
}
|
||||||
else{
|
else{
|
||||||
|
|
|
@ -222,7 +222,7 @@ void func_8038E094(Actor *this){
|
||||||
|
|
||||||
case 6: //L8038E698
|
case 6: //L8038E698
|
||||||
this->marker->propPtr->unk8_3 = FALSE;
|
this->marker->propPtr->unk8_3 = FALSE;
|
||||||
this->yaw_moving = (f32)func_80329784(this);
|
this->yaw_ideal = (f32)func_80329784(this);
|
||||||
func_80328FB0(this, 12.0f);
|
func_80328FB0(this, 12.0f);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
|
|
@ -93,7 +93,7 @@ void func_8038F454(Actor *this){
|
||||||
actor_loopAnimation(this);
|
actor_loopAnimation(this);
|
||||||
timed_setCameraToNode(0.0f, 0x2e);
|
timed_setCameraToNode(0.0f, 0x2e);
|
||||||
func_80324DBC(0.0f, 0xc1b, 0x2a, this->position, this->marker, func_8038F330, NULL);
|
func_80324DBC(0.0f, 0xc1b, 0x2a, this->position, this->marker, func_8038F330, NULL);
|
||||||
timedFunc_set_1(2.5f, (TFQM1)func_8038F3F4, (s32)this->marker);
|
timedFunc_set_1(2.5f, (GenMethod_1)func_8038F3F4, (s32)this->marker);
|
||||||
}
|
}
|
||||||
else{
|
else{
|
||||||
func_8038F2B8(this);
|
func_8038F2B8(this);
|
||||||
|
@ -111,7 +111,7 @@ void func_8038F560(Actor *this){
|
||||||
}
|
}
|
||||||
|
|
||||||
void func_8038F598(Actor *this, f32 arg1){
|
void func_8038F598(Actor *this, f32 arg1){
|
||||||
this->yaw_moving = func_80329784(this);
|
this->yaw_ideal = func_80329784(this);
|
||||||
func_80328FB0(this, arg1);
|
func_80328FB0(this, arg1);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -119,7 +119,7 @@ bool func_8038F5D4(Actor *this, f32 arg1[3], f32 arg2, f32 arg3, s32 arg4){
|
||||||
f32 sp24;
|
f32 sp24;
|
||||||
|
|
||||||
sp24 = animctrl_getAnimTimer(this->animctrl);
|
sp24 = animctrl_getAnimTimer(this->animctrl);
|
||||||
this->yaw_moving = (f32) func_803297C8(this, arg1);
|
this->yaw_ideal = (f32) func_803297C8(this, arg1);
|
||||||
func_80328FB0(this, arg3);
|
func_80328FB0(this, arg3);
|
||||||
if(actor_animationIsAt(this, 0.9f)){
|
if(actor_animationIsAt(this, 0.9f)){
|
||||||
FUNC_8030E8B4(SFX_3F2_UNKNOWN, 0.8f, 24000, this->position, 500, 2000);
|
FUNC_8030E8B4(SFX_3F2_UNKNOWN, 0.8f, 24000, this->position, 500, 2000);
|
||||||
|
@ -137,7 +137,7 @@ bool func_8038F6C4(Actor *this, f32 arg1[3], f32 arg2){
|
||||||
|
|
||||||
func_80328C64(this, func_803297C8(this, arg1));
|
func_80328C64(this, func_803297C8(this, arg1));
|
||||||
func_80328FB0(this, arg2);
|
func_80328FB0(this, arg2);
|
||||||
dTheta = this->yaw - this->yaw_moving;
|
dTheta = this->yaw - this->yaw_ideal;
|
||||||
if(-arg2 <= dTheta && dTheta <= arg2){
|
if(-arg2 <= dTheta && dTheta <= arg2){
|
||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
|
@ -190,7 +190,7 @@ void func_8038F7AC(Actor *this){
|
||||||
this->position[0] = local->unkC[0];\
|
this->position[0] = local->unkC[0];\
|
||||||
this->position[1] = local->unkC[1];\
|
this->position[1] = local->unkC[1];\
|
||||||
this->position[2] = local->unkC[2];
|
this->position[2] = local->unkC[2];
|
||||||
func_802C3C88(func_8038F758, this->marker);
|
__spawnqueue_add_1(func_8038F758, this->marker);
|
||||||
local->unk30 = FALSE;
|
local->unk30 = FALSE;
|
||||||
}
|
}
|
||||||
}//L8038F910
|
}//L8038F910
|
||||||
|
|
|
@ -46,7 +46,7 @@ void func_80390630(Actor *this){
|
||||||
func_8028E668(this->position, 200.0f, -40.0f, 160.0f);
|
func_8028E668(this->position, 200.0f, -40.0f, 160.0f);
|
||||||
|
|
||||||
if(this->state == 1){
|
if(this->state == 1){
|
||||||
this->yaw_moving = (f32)func_80329784(this);
|
this->yaw_ideal = (f32)func_80329784(this);
|
||||||
func_80328FB0(this, 1.0f);
|
func_80328FB0(this, 1.0f);
|
||||||
|
|
||||||
if(!func_803114B0()){
|
if(!func_803114B0()){
|
||||||
|
|
|
@ -99,7 +99,7 @@ void chXmasTree_update(Actor *this){
|
||||||
sfxsource_setSampleRate(this->unk44_31, 28000);
|
sfxsource_setSampleRate(this->unk44_31, 28000);
|
||||||
}
|
}
|
||||||
func_802C3BF8(func_80386FB4);
|
func_802C3BF8(func_80386FB4);
|
||||||
func_802C3C88(func_80386FE0, this->marker);
|
__spawnqueue_add_1(func_80386FE0, this->marker);
|
||||||
if(func_8031FF1C(0x13)){
|
if(func_8031FF1C(0x13)){
|
||||||
func_80386F84(this);
|
func_80386F84(this);
|
||||||
mapSpecificFlags_set(2, FALSE);
|
mapSpecificFlags_set(2, FALSE);
|
||||||
|
|
|
@ -72,7 +72,7 @@ void func_80390B2C(ActorMarker *marker){
|
||||||
void func_80390B70(Actor *this){
|
void func_80390B70(Actor *this){
|
||||||
func_80324E38(0.0f, 3);
|
func_80324E38(0.0f, 3);
|
||||||
timed_setCameraToNode(0.0f, 0);
|
timed_setCameraToNode(0.0f, 0);
|
||||||
timedFunc_set_1(0.6f, (TFQM1)func_80390ABC, this->marker);
|
timedFunc_set_1(0.6f, (GenMethod_1)func_80390ABC, this->marker);
|
||||||
timedFunc_set_1(2.5f, func_80390B2C, this->marker);
|
timedFunc_set_1(2.5f, func_80390B2C, this->marker);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -50,14 +50,14 @@ void func_80387A00(ActorMarker *this_marker){
|
||||||
|
|
||||||
void func_80387A2C(ActorMarker *caller, enum asset_e text_id, s32 arg2){
|
void func_80387A2C(ActorMarker *caller, enum asset_e text_id, s32 arg2){
|
||||||
timed_setCameraToNode(0.0f, 0xC);
|
timed_setCameraToNode(0.0f, 0xC);
|
||||||
timedFunc_set_1(0.5f, (TFQM1) func_80387984, reinterpret_cast(s32, caller));
|
timedFunc_set_1(0.5f, (GenMethod_1) func_80387984, reinterpret_cast(s32, caller));
|
||||||
timed_playSfx(0.5f, SFX_2C_PULLING_NOISE, 0.9f, 32000);
|
timed_playSfx(0.5f, SFX_2C_PULLING_NOISE, 0.9f, 32000);
|
||||||
timed_playSfx(1.8f, SFX_2C_PULLING_NOISE, 1.0f, 32000);
|
timed_playSfx(1.8f, SFX_2C_PULLING_NOISE, 1.0f, 32000);
|
||||||
timed_playSfx(2.5f, SFX_2C_PULLING_NOISE, 1.1f, 32000);
|
timed_playSfx(2.5f, SFX_2C_PULLING_NOISE, 1.1f, 32000);
|
||||||
timed_setCameraToNode(3.0f, 0xd);
|
timed_setCameraToNode(3.0f, 0xd);
|
||||||
timedFunc_set_0(3.5f, __chgobi2_spawnJIggy);
|
timedFunc_set_0(3.5f, __chgobi2_spawnJIggy);
|
||||||
func_80324E88(6.0f);
|
func_80324E88(6.0f);
|
||||||
timedFunc_set_1(6.0f, (TFQM1) func_80387A00, reinterpret_cast(s32, caller));
|
timedFunc_set_1(6.0f, (GenMethod_1) func_80387A00, reinterpret_cast(s32, caller));
|
||||||
func_80324E38(6.0f, 0);
|
func_80324E38(6.0f, 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -79,7 +79,7 @@ void chgobi2_setState(Actor *this, s32 next_state){
|
||||||
timedFunc_set_0(0.05f, func_80387960);
|
timedFunc_set_0(0.05f, func_80387960);
|
||||||
timed_playSfx(0.05f, SFX_84_GOBI_CRYING, 1.1f, 32000);
|
timed_playSfx(0.05f, SFX_84_GOBI_CRYING, 1.1f, 32000);
|
||||||
func_80324E38(0.051f, 1);
|
func_80324E38(0.051f, 1);
|
||||||
timedFunc_set_1(0.06f, (TFQM1)func_803879D4, reinterpret_cast(s32, this->marker));
|
timedFunc_set_1(0.06f, (GenMethod_1)func_803879D4, reinterpret_cast(s32, this->marker));
|
||||||
timed_setCameraToNode(0.86f, 0xb);
|
timed_setCameraToNode(0.86f, 0xb);
|
||||||
timed_playSfx(0.8f, SFX_4B_GULPING, 0.8f, 28000);
|
timed_playSfx(0.8f, SFX_4B_GULPING, 0.8f, 28000);
|
||||||
timed_playSfx(1.4f, SFX_4B_GULPING, 0.8f, 28000);
|
timed_playSfx(1.4f, SFX_4B_GULPING, 0.8f, 28000);
|
||||||
|
|
|
@ -63,10 +63,10 @@ void chgobi3_setState(Actor *this, s32 next_state){
|
||||||
|
|
||||||
if(next_state == 3){
|
if(next_state == 3){
|
||||||
func_80324E38(0.0f, 3);
|
func_80324E38(0.0f, 3);
|
||||||
timedFunc_set_1(0.02f, (TFQM1)func_80388270, (s32)this);
|
timedFunc_set_1(0.02f, (GenMethod_1)func_80388270, (s32)this);
|
||||||
timed_setCameraToNode(0.1f, 0x12);
|
timed_setCameraToNode(0.1f, 0x12);
|
||||||
timed_playSfx(0.2f, SFX_4C_LIP_SMACK, 1.0f, 32000);
|
timed_playSfx(0.2f, SFX_4C_LIP_SMACK, 1.0f, 32000);
|
||||||
timedFunc_set_1(0.2f, (TFQM1)func_80388298, (s32)this);
|
timedFunc_set_1(0.2f, (GenMethod_1)func_80388298, (s32)this);
|
||||||
func_80335924(this->unk148, ASSET_FC_ANIM_GOBI_SPITTING, 0.2f, 1.0f);
|
func_80335924(this->unk148, ASSET_FC_ANIM_GOBI_SPITTING, 0.2f, 1.0f);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -70,7 +70,7 @@ void func_8038A31C(Actor *this){
|
||||||
if(!this->unk16C_4){
|
if(!this->unk16C_4){
|
||||||
this->unk16C_4 = TRUE;
|
this->unk16C_4 = TRUE;
|
||||||
actor_collisionOff(this);
|
actor_collisionOff(this);
|
||||||
func_802C3C88((GenMethod_1)func_8038A2C0, reinterpret_cast(s32, this->marker));
|
__spawnqueue_add_1((GenMethod_1)func_8038A2C0, reinterpret_cast(s32, this->marker));
|
||||||
this->velocity[0] = 0.0f;
|
this->velocity[0] = 0.0f;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -68,7 +68,7 @@ void func_8038A948(Actor *this){
|
||||||
this->initialized = TRUE;
|
this->initialized = TRUE;
|
||||||
this->marker->propPtr->unk8_3 = TRUE;
|
this->marker->propPtr->unk8_3 = TRUE;
|
||||||
actor_collisionOff(this);
|
actor_collisionOff(this);
|
||||||
func_802C3C88((GenMethod_1)func_8038A8CC, (s32)this->marker);
|
__spawnqueue_add_1((GenMethod_1)func_8038A8CC, (s32)this->marker);
|
||||||
this->velocity_y = 0.0f;
|
this->velocity_y = 0.0f;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -84,7 +84,7 @@ void func_8038A9C0(Actor *this){
|
||||||
this->unk16C_4 = TRUE;
|
this->unk16C_4 = TRUE;
|
||||||
this->marker->propPtr->unk8_3 = TRUE;
|
this->marker->propPtr->unk8_3 = TRUE;
|
||||||
actor_collisionOff(this);
|
actor_collisionOff(this);
|
||||||
func_802C3C88((GenMethod_1)func_8038A8CC, (s32)this->marker);
|
__spawnqueue_add_1((GenMethod_1)func_8038A8CC, (s32)this->marker);
|
||||||
sp24 = subaddie_getLinkedActor(this);
|
sp24 = subaddie_getLinkedActor(this);
|
||||||
this->unk1C[1] = this->unk48;
|
this->unk1C[1] = this->unk48;
|
||||||
this->pitch = 0.0f;
|
this->pitch = 0.0f;
|
||||||
|
|
|
@ -112,7 +112,7 @@ void func_8038AF10(Actor *this){
|
||||||
|
|
||||||
int func_8038AF78(Actor *this, f32 arg1, f32 arg2){
|
int func_8038AF78(Actor *this, f32 arg1, f32 arg2){
|
||||||
this->unk28 = arg2;
|
this->unk28 = arg2;
|
||||||
this->yaw_moving = (f32)func_80329784(this);
|
this->yaw_ideal = (f32)func_80329784(this);
|
||||||
func_80328FB0(this, arg1);
|
func_80328FB0(this, arg1);
|
||||||
if(!func_80329030(this, 0) && func_80329480(this))
|
if(!func_80329030(this, 0) && func_80329480(this))
|
||||||
return 0;
|
return 0;
|
||||||
|
@ -198,7 +198,7 @@ void func_8038B124(Actor *this){
|
||||||
func_8038ABD8(this->position, 8);
|
func_8038ABD8(this->position, 8);
|
||||||
}
|
}
|
||||||
else{//L8038B3E0
|
else{//L8038B3E0
|
||||||
this->yaw_moving = func_80257204(this->position_x, this->position_z, this->velocity_x, this->velocity_z);
|
this->yaw_ideal = func_80257204(this->position_x, this->position_z, this->velocity_x, this->velocity_z);
|
||||||
func_80328FB0(this, 18.0f);
|
func_80328FB0(this, 18.0f);
|
||||||
this->unk28 = 18.0f;
|
this->unk28 = 18.0f;
|
||||||
func_80329030(this, 0);
|
func_80329030(this, 0);
|
||||||
|
@ -213,7 +213,7 @@ void func_8038B124(Actor *this){
|
||||||
func_8038AF10(this);
|
func_8038AF10(this);
|
||||||
}
|
}
|
||||||
else{
|
else{
|
||||||
this->yaw_moving = func_80329784(this);
|
this->yaw_ideal = func_80329784(this);
|
||||||
func_80328FB0(this, 8.0f);
|
func_80328FB0(this, 8.0f);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
@ -246,7 +246,7 @@ void func_8038B124(Actor *this){
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 4: //L8038B5F0
|
case 4: //L8038B5F0
|
||||||
this->yaw_moving = func_80329784(this);
|
this->yaw_ideal = func_80329784(this);
|
||||||
func_80328FB0(this, 8.0f);
|
func_80328FB0(this, 8.0f);
|
||||||
if(this->unk38_31 >= 20){
|
if(this->unk38_31 >= 20){
|
||||||
func_80328B8C(this, 5, 0.00001f, 1);
|
func_80328B8C(this, 5, 0.00001f, 1);
|
||||||
|
|
|
@ -65,7 +65,7 @@ void func_8038D47C(Actor *this){
|
||||||
mapSpecificFlags_set(0x10, 0);
|
mapSpecificFlags_set(0x10, 0);
|
||||||
this->unk16C_4 = TRUE;
|
this->unk16C_4 = TRUE;
|
||||||
if(func_803203FC(UNKFLAGS1_C1_IN_FINAL_CHARACTER_PARADE) && gcparade_8031B4F4() == -3){
|
if(func_803203FC(UNKFLAGS1_C1_IN_FINAL_CHARACTER_PARADE) && gcparade_8031B4F4() == -3){
|
||||||
timedFunc_set_1(1.5f, (TFQM1)func_8038D450, reinterpret_cast(s32, this->marker));
|
timedFunc_set_1(1.5f, (GenMethod_1)func_8038D450, reinterpret_cast(s32, this->marker));
|
||||||
}
|
}
|
||||||
}//L8038D5EC
|
}//L8038D5EC
|
||||||
|
|
||||||
|
|
|
@ -228,7 +228,7 @@ void func_803876D0(Actor *this){
|
||||||
if(0.0f != this->velocity_x){
|
if(0.0f != this->velocity_x){
|
||||||
this->velocity_x -= 1.0f;
|
this->velocity_x -= 1.0f;
|
||||||
if(0.0f == this->velocity_x){
|
if(0.0f == this->velocity_x){
|
||||||
func_802C3C88((GenMethod_1)func_80387100, (s32)this->marker);
|
__spawnqueue_add_1((GenMethod_1)func_80387100, (s32)this->marker);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
marker_setCollisionScripts(this->marker, NULL, NULL, func_80387168);
|
marker_setCollisionScripts(this->marker, NULL, NULL, func_80387168);
|
||||||
|
@ -369,6 +369,6 @@ void func_803876D0(Actor *this){
|
||||||
|| (this->state == 7 && actor_animationIsAt(this, 0.468f))
|
|| (this->state == 7 && actor_animationIsAt(this, 0.468f))
|
||||||
){
|
){
|
||||||
func_8034A1B4(this->marker->unk44, 5, &this->local);
|
func_8034A1B4(this->marker->unk44, 5, &this->local);
|
||||||
func_802C3C88((GenMethod_1)func_803873C8, (s32)this->marker); //spawn orange
|
__spawnqueue_add_1((GenMethod_1)func_803873C8, (s32)this->marker); //spawn orange
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -92,7 +92,7 @@ void chhut_update(Actor *this){
|
||||||
func_8030E484(SFX_5B_HEAVY_STUFF_FALLING);
|
func_8030E484(SFX_5B_HEAVY_STUFF_FALLING);
|
||||||
func_80328A84(this, 1);
|
func_80328A84(this, 1);
|
||||||
actor_playAnimationOnce(this);
|
actor_playAnimationOnce(this);
|
||||||
func_802C3C88((GenMethod_1)func_803869EC, (s32)this->marker);
|
__spawnqueue_add_1((GenMethod_1)func_803869EC, (s32)this->marker);
|
||||||
func_802C8F70(this->yaw);
|
func_802C8F70(this->yaw);
|
||||||
if(D_8037DCB0 < 5){
|
if(D_8037DCB0 < 5){
|
||||||
func_802C3F04(func_802C4218, D_803898D8[D_8037DCB0], *(s32*)(&sp3C[0]),*(s32*)(&sp3C[1]),*(s32*)(&sp3C[2]));
|
func_802C3F04(func_802C4218, D_803898D8[D_8037DCB0], *(s32*)(&sp3C[0]),*(s32*)(&sp3C[1]),*(s32*)(&sp3C[2]));
|
||||||
|
|
|
@ -177,7 +177,7 @@ void func_80388028(Actor *this){
|
||||||
this->unk16C_4 = TRUE;
|
this->unk16C_4 = TRUE;
|
||||||
this->unk16C_0 = TRUE;
|
this->unk16C_0 = TRUE;
|
||||||
marker_setCollisionScripts(this->marker, NULL, func_80387CF4, func_80387D1C);
|
marker_setCollisionScripts(this->marker, NULL, func_80387CF4, func_80387D1C);
|
||||||
func_802C3C88(func_80387D48, this->marker);
|
__spawnqueue_add_1(func_80387D48, this->marker);
|
||||||
func_80387B14(this, (this->state < 5) ? 1 : 6);
|
func_80387B14(this, (this->state < 5) ? 1 : 6);
|
||||||
}//L803880B4
|
}//L803880B4
|
||||||
|
|
||||||
|
|
|
@ -114,7 +114,7 @@ void func_803866F4(Actor *this, s32 arg1){
|
||||||
func_8025A6EC(COMUSIC_2B_DING_B, 28000);
|
func_8025A6EC(COMUSIC_2B_DING_B, 28000);
|
||||||
func_80324E38(0.0f, 3);
|
func_80324E38(0.0f, 3);
|
||||||
timedFunc_set_2(0.5f, (TFQM2) func_8025A6EC, COMUSIC_2D_PUZZLE_SOLVED_FANFARE, 28000);
|
timedFunc_set_2(0.5f, (TFQM2) func_8025A6EC, COMUSIC_2D_PUZZLE_SOLVED_FANFARE, 28000);
|
||||||
timedFunc_set_1(1.0f, (TFQM1) func_803865D0, this->marker);
|
timedFunc_set_1(1.0f, (GenMethod_1) func_803865D0, this->marker);
|
||||||
}//L803867D4
|
}//L803867D4
|
||||||
if(arg1 == 4){
|
if(arg1 == 4){
|
||||||
if(local->unk8 == 1 && D_80390074[local->unk4].unk2 > 0){
|
if(local->unk8 == 1 && D_80390074[local->unk4].unk2 > 0){
|
||||||
|
|
|
@ -197,7 +197,7 @@ void func_80388154(ActorMarker *marker){
|
||||||
timed_playSfx(0.0f, SFX_7F_HEAVYDOOR_SLAM, 1.0f, 0x7fc6);
|
timed_playSfx(0.0f, SFX_7F_HEAVYDOOR_SLAM, 1.0f, 0x7fc6);
|
||||||
timedFunc_set_2(1.2f, (TFQM2) func_80387B8C, 0x19f, 0);
|
timedFunc_set_2(1.2f, (TFQM2) func_80387B8C, 0x19f, 0);
|
||||||
timed_setCameraToNode(1.2f, 8);
|
timed_setCameraToNode(1.2f, 8);
|
||||||
timedFunc_set_1(1.5f, (TFQM1) func_80387F88, (s32) actor->marker);
|
timedFunc_set_1(1.5f, (GenMethod_1) func_80387F88, (s32) actor->marker);
|
||||||
}
|
}
|
||||||
|
|
||||||
void func_803881E8(Actor *this, s32 arg1){
|
void func_803881E8(Actor *this, s32 arg1){
|
||||||
|
@ -208,7 +208,7 @@ void func_803881E8(Actor *this, s32 arg1){
|
||||||
timedFunc_set_2(0.1f, (TFQM2)func_8025A6EC, COMUSIC_2B_DING_B, 28000);
|
timedFunc_set_2(0.1f, (TFQM2)func_8025A6EC, COMUSIC_2B_DING_B, 28000);
|
||||||
func_80324E38(0.2f, 3);
|
func_80324E38(0.2f, 3);
|
||||||
timed_setCameraToNode(1.1f, 7);
|
timed_setCameraToNode(1.1f, 7);
|
||||||
timedFunc_set_1(1.6f, (TFQM1)func_80388154, (s32)this->marker);
|
timedFunc_set_1(1.6f, (GenMethod_1)func_80388154, (s32)this->marker);
|
||||||
levelSpecificFlags_set(0x2D, 1);
|
levelSpecificFlags_set(0x2D, 1);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -49,7 +49,7 @@ void func_8038A0A0(Actor *this, s32 arg1){
|
||||||
if(this->state == 1){
|
if(this->state == 1){
|
||||||
levelSpecificFlags_set(local->unk0->unk8, 1);
|
levelSpecificFlags_set(local->unk0->unk8, 1);
|
||||||
func_803228D8();
|
func_803228D8();
|
||||||
timedFunc_set_1(1.1f, (TFQM1)func_8028F9DC, 2);
|
timedFunc_set_1(1.1f, (GenMethod_1)func_8028F9DC, 2);
|
||||||
timedFunc_set_3(1.1f, (TFQM3)func_802E4078, MAP_31_RBB_RUSTY_BUCKET_BAY, 0, 0);
|
timedFunc_set_3(1.1f, (TFQM3)func_802E4078, MAP_31_RBB_RUSTY_BUCKET_BAY, 0, 0);
|
||||||
}else{
|
}else{
|
||||||
levelSpecificFlags_set(local->unk0->unkA, 1);
|
levelSpecificFlags_set(local->unk0->unkA, 1);
|
||||||
|
|
|
@ -28,7 +28,7 @@ void func_8038FA9C(Actor *this, s32 arg1){
|
||||||
func_80324E38(0.0f, 3);
|
func_80324E38(0.0f, 3);
|
||||||
timedFunc_set_2(1.0f, (TFQM2)func_8025A6EC, COMUSIC_2B_DING_B, 28000);
|
timedFunc_set_2(1.0f, (TFQM2)func_8025A6EC, COMUSIC_2B_DING_B, 28000);
|
||||||
timed_setCameraToNode(1.8f, 1);
|
timed_setCameraToNode(1.8f, 1);
|
||||||
timedFunc_set_1(2.0f, (TFQM1) func_8038FA60, (s32)this->marker);
|
timedFunc_set_1(2.0f, (GenMethod_1) func_8038FA60, (s32)this->marker);
|
||||||
func_80324E88(5.0f);
|
func_80324E88(5.0f);
|
||||||
func_80324E38(5.0f, 0);
|
func_80324E38(5.0f, 0);
|
||||||
}
|
}
|
||||||
|
|
|
@ -23,7 +23,7 @@ void func_8038FDE0(s32 arg0){
|
||||||
levelSpecificFlags_set(0x28, FALSE);
|
levelSpecificFlags_set(0x28, FALSE);
|
||||||
item_set(ITEM_9_PROPELLOR,0);
|
item_set(ITEM_9_PROPELLOR,0);
|
||||||
if(arg0 == 3 && !jiggyscore_isCollected(0x57)){
|
if(arg0 == 3 && !jiggyscore_isCollected(0x57)){
|
||||||
timedFunc_set_1(0.5f, (TFQM1)func_802FAD64, 3);
|
timedFunc_set_1(0.5f, (GenMethod_1)func_802FAD64, 3);
|
||||||
func_80324DBC(1.0f, 0xb9d, 4, NULL, NULL, NULL, NULL);
|
func_80324DBC(1.0f, 0xb9d, 4, NULL, NULL, NULL, NULL);
|
||||||
}
|
}
|
||||||
else{
|
else{
|
||||||
|
|
|
@ -102,13 +102,13 @@ void func_80387488(ActorMarker *marker){
|
||||||
if(-50.0f < sp1C[1] && sp1C[1] < 600.0f){
|
if(-50.0f < sp1C[1] && sp1C[1] < 600.0f){
|
||||||
sp1C[1] = 0;
|
sp1C[1] = 0;
|
||||||
if(ml_vec3f_distance(&sp1C, &D_80390264) < 500.0f){
|
if(ml_vec3f_distance(&sp1C, &D_80390264) < 500.0f){
|
||||||
timedFunc_set_1(1.0f, (TFQM1) func_80387488, (s32)actor->marker);
|
timedFunc_set_1(1.0f, (GenMethod_1) func_80387488, (s32)actor->marker);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
func_80324E38(0.0f, 3);
|
func_80324E38(0.0f, 3);
|
||||||
timed_setCameraToNode(0.0f, 6);
|
timed_setCameraToNode(0.0f, 6);
|
||||||
timedFunc_set_1(0.5f, (TFQM1) func_80387308, (s32) actor->marker);
|
timedFunc_set_1(0.5f, (GenMethod_1) func_80387308, (s32) actor->marker);
|
||||||
}
|
}
|
||||||
|
|
||||||
void func_8038756C(Actor *this, s32 arg1){
|
void func_8038756C(Actor *this, s32 arg1){
|
||||||
|
|
|
@ -378,7 +378,7 @@ void func_80388080(Actor *this){
|
||||||
this->unk38_0 = 1;
|
this->unk38_0 = 1;
|
||||||
}//L803885A0
|
}//L803885A0
|
||||||
if(func_803292E0(this)){
|
if(func_803292E0(this)){
|
||||||
this->yaw_moving = func_80329784(this);
|
this->yaw_ideal = func_80329784(this);
|
||||||
}
|
}
|
||||||
else{//L803885CC
|
else{//L803885CC
|
||||||
if(randf() < 0.02){
|
if(randf() < 0.02){
|
||||||
|
@ -387,7 +387,7 @@ void func_80388080(Actor *this){
|
||||||
}//L80388B68
|
}//L80388B68
|
||||||
}
|
}
|
||||||
else{//L80388618
|
else{//L80388618
|
||||||
this->yaw_moving = func_80329784(this);
|
this->yaw_ideal = func_80329784(this);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if(local->unkC == 2){//L80388634
|
else if(local->unkC == 2){//L80388634
|
||||||
|
@ -397,7 +397,7 @@ void func_80388080(Actor *this){
|
||||||
this->unk38_0 = 1;
|
this->unk38_0 = 1;
|
||||||
}//L80388698
|
}//L80388698
|
||||||
if(mapSpecificFlags_get(0xC) || (func_803203FC(UNKFLAGS1_C1_IN_FINAL_CHARACTER_PARADE) && func_803292E0(this))){
|
if(mapSpecificFlags_get(0xC) || (func_803203FC(UNKFLAGS1_C1_IN_FINAL_CHARACTER_PARADE) && func_803292E0(this))){
|
||||||
this->yaw_moving = func_80329784(this);
|
this->yaw_ideal = func_80329784(this);
|
||||||
}else{//L803886E4
|
}else{//L803886E4
|
||||||
if(randf() < 0.02){//D_8038B1D0){
|
if(randf() < 0.02){//D_8038B1D0){
|
||||||
func_80328CEC(this, (s32)this->yaw, 0x1E, 0x5A);
|
func_80328CEC(this, (s32)this->yaw, 0x1E, 0x5A);
|
||||||
|
@ -454,7 +454,7 @@ void func_80388080(Actor *this){
|
||||||
this->unk1C_z = local->unk0_z + this->unk1C_z;
|
this->unk1C_z = local->unk0_z + this->unk1C_z;
|
||||||
}//L80388AD8
|
}//L80388AD8
|
||||||
if(func_803292E0(this)){
|
if(func_803292E0(this)){
|
||||||
this->yaw_moving = func_80329784(this);
|
this->yaw_ideal = func_80329784(this);
|
||||||
}else{//L80388B04
|
}else{//L80388B04
|
||||||
if(randf() < 0.01){
|
if(randf() < 0.01){
|
||||||
func_80328CEC(this, (s32)this->yaw, 0x1e, 0x5A);
|
func_80328CEC(this, (s32)this->yaw, 0x1e, 0x5A);
|
||||||
|
@ -462,7 +462,7 @@ void func_80388080(Actor *this){
|
||||||
}
|
}
|
||||||
}else{
|
}else{
|
||||||
//L80388B50
|
//L80388B50
|
||||||
this->yaw_moving = func_80329784(this);
|
this->yaw_ideal = func_80329784(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -407,7 +407,7 @@ void func_803899B0(Actor * this){
|
||||||
}//L80389B20
|
}//L80389B20
|
||||||
|
|
||||||
if(!this->unk16C_4){
|
if(!this->unk16C_4){
|
||||||
func_802C3C88((GenMethod_1)func_80389948, reinterpret_cast(s32, this->marker));
|
__spawnqueue_add_1((GenMethod_1)func_80389948, reinterpret_cast(s32, this->marker));
|
||||||
this->unk16C_4 = 1;
|
this->unk16C_4 = 1;
|
||||||
}//L80389B4C
|
}//L80389B4C
|
||||||
|
|
||||||
|
@ -420,7 +420,7 @@ void func_803899B0(Actor * this){
|
||||||
switch (this->state)
|
switch (this->state)
|
||||||
{
|
{
|
||||||
case 1://L80389BAC
|
case 1://L80389BAC
|
||||||
this->yaw_moving = (f32)func_80329784(this);
|
this->yaw_ideal = (f32)func_80329784(this);
|
||||||
func_80328FB0(this, 4.0f);
|
func_80328FB0(this, 4.0f);
|
||||||
if( (this->unkF4_8 == 1 && !mapSpecificFlags_get(1))
|
if( (this->unkF4_8 == 1 && !mapSpecificFlags_get(1))
|
||||||
|| (this->unkF4_8 == 8 && !mapSpecificFlags_get(2))
|
|| (this->unkF4_8 == 8 && !mapSpecificFlags_get(2))
|
||||||
|
@ -467,7 +467,7 @@ void func_803899B0(Actor * this){
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case 2://L80389E2C
|
case 2://L80389E2C
|
||||||
this->yaw_moving = func_80329784(this);
|
this->yaw_ideal = func_80329784(this);
|
||||||
func_80328FB0(this, 4.0f);
|
func_80328FB0(this, 4.0f);
|
||||||
if( (f64) 0.0 < animctrl_getAnimTimer(this->animctrl)
|
if( (f64) 0.0 < animctrl_getAnimTimer(this->animctrl)
|
||||||
&& animctrl_getAnimTimer(this->animctrl) < 0.16
|
&& animctrl_getAnimTimer(this->animctrl) < 0.16
|
||||||
|
@ -494,7 +494,7 @@ void func_803899B0(Actor * this){
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case 3://L80389FAC
|
case 3://L80389FAC
|
||||||
this->yaw_moving = func_80329784(this);
|
this->yaw_ideal = func_80329784(this);
|
||||||
func_80328FB0(this, 4.0f);
|
func_80328FB0(this, 4.0f);
|
||||||
if( ( actor_animationIsAt(this, 0.37f)
|
if( ( actor_animationIsAt(this, 0.37f)
|
||||||
|| actor_animationIsAt(this, 0.66f)
|
|| actor_animationIsAt(this, 0.66f)
|
||||||
|
|
|
@ -48,8 +48,8 @@ void func_8038A8F8(Actor *this){
|
||||||
if( !mapSpecificFlags_get(2)
|
if( !mapSpecificFlags_get(2)
|
||||||
|| (mapSpecificFlags_get(3) && !mapSpecificFlags_get(0xf))
|
|| (mapSpecificFlags_get(3) && !mapSpecificFlags_get(0xf))
|
||||||
){ //L8038AA54
|
){ //L8038AA54
|
||||||
this->yaw_moving = ml_vec3f_distance(this->velocity, this->unk1C) / 150.0;
|
this->yaw_ideal = ml_vec3f_distance(this->velocity, this->unk1C) / 150.0;
|
||||||
func_8028F3D8(this->unk1C, this->yaw_moving, func_8038A8C0, this->marker);
|
func_8028F3D8(this->unk1C, this->yaw_ideal, func_8038A8C0, this->marker);
|
||||||
mapSpecificFlags_set(0x10, 1);
|
mapSpecificFlags_set(0x10, 1);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -84,7 +84,7 @@ bool func_803864B0(Actor *this, f32 arg1) {
|
||||||
}
|
}
|
||||||
|
|
||||||
this->unk28 = phi_f2 / arg1;
|
this->unk28 = phi_f2 / arg1;
|
||||||
this->yaw_moving = func_80257204(this->position[0], this->position[2], sp3C[0], sp3C[2]);
|
this->yaw_ideal = func_80257204(this->position[0], this->position[2], sp3C[0], sp3C[2]);
|
||||||
if ((func_803203FC(UNKFLAGS1_C1_IN_FINAL_CHARACTER_PARADE) ? 0 : 0x11) < this->unk28) {
|
if ((func_803203FC(UNKFLAGS1_C1_IN_FINAL_CHARACTER_PARADE) ? 0 : 0x11) < this->unk28) {
|
||||||
this->unk28 = (func_803203FC(UNKFLAGS1_C1_IN_FINAL_CHARACTER_PARADE) != 0) ? 0.0f : 17.0f;
|
this->unk28 = (func_803203FC(UNKFLAGS1_C1_IN_FINAL_CHARACTER_PARADE) != 0) ? 0.0f : 17.0f;
|
||||||
} else if (sp38 == 0) {
|
} else if (sp38 == 0) {
|
||||||
|
@ -109,13 +109,13 @@ bool func_80386760(Actor *this, s32 arg1) {
|
||||||
if (this->unk1C[0] != 0.0f) {
|
if (this->unk1C[0] != 0.0f) {
|
||||||
arg1 *= 2;
|
arg1 *= 2;
|
||||||
this->unk28 = (f32) randi2(0, 0.5*(func_803203FC(UNKFLAGS1_C1_IN_FINAL_CHARACTER_PARADE) ? 0 : 0x11));
|
this->unk28 = (f32) randi2(0, 0.5*(func_803203FC(UNKFLAGS1_C1_IN_FINAL_CHARACTER_PARADE) ? 0 : 0x11));
|
||||||
this->yaw_moving += (f32) randi2(-arg1, arg1);
|
this->yaw_ideal += (f32) randi2(-arg1, arg1);
|
||||||
} else if ((f64) randf() < 0.4) {
|
} else if ((f64) randf() < 0.4) {
|
||||||
this->unk28 = 0.0f;
|
this->unk28 = 0.0f;
|
||||||
this->yaw_moving += (f32) randi2(-arg1, arg1);
|
this->yaw_ideal += (f32) randi2(-arg1, arg1);
|
||||||
} else {
|
} else {
|
||||||
this->unk28 = (f32) randi2(0.33 * (func_803203FC(UNKFLAGS1_C1_IN_FINAL_CHARACTER_PARADE) ? 0 : 0x11), func_803203FC(UNKFLAGS1_C1_IN_FINAL_CHARACTER_PARADE) ? 0 : 0x11);
|
this->unk28 = (f32) randi2(0.33 * (func_803203FC(UNKFLAGS1_C1_IN_FINAL_CHARACTER_PARADE) ? 0 : 0x11), func_803203FC(UNKFLAGS1_C1_IN_FINAL_CHARACTER_PARADE) ? 0 : 0x11);
|
||||||
this->yaw_moving = this->yaw;
|
this->yaw_ideal = this->yaw;
|
||||||
}
|
}
|
||||||
this->unk1C[0] = 0.0f;
|
this->unk1C[0] = 0.0f;
|
||||||
}
|
}
|
||||||
|
@ -126,12 +126,12 @@ bool func_80386760(Actor *this, s32 arg1) {
|
||||||
}
|
}
|
||||||
temp_f0_2 = this->unk28 * sp2C;
|
temp_f0_2 = this->unk28 * sp2C;
|
||||||
this->velocity[1] = ((f32)(0.3*temp_f0_2) / sp2C) - (f32) ((s32) (sp2C * -5) / 2);
|
this->velocity[1] = ((f32)(0.3*temp_f0_2) / sp2C) - (f32) ((s32) (sp2C * -5) / 2);
|
||||||
if (func_80329078(this, this->yaw_moving, temp_f0_2)) {
|
if (func_80329078(this, this->yaw_ideal, temp_f0_2)) {
|
||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
this->unk1C[0] = 1.0f;
|
this->unk1C[0] = 1.0f;
|
||||||
this->unk28 = 0.0f;
|
this->unk28 = 0.0f;
|
||||||
this->yaw_moving = this->yaw;
|
this->yaw_ideal = this->yaw;
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -92,11 +92,11 @@ void func_80387678(Actor *this){
|
||||||
if( !mapSpecificFlags_get(1) ) return;
|
if( !mapSpecificFlags_get(1) ) return;
|
||||||
if( mapSpecificFlags_get(3) ) return;
|
if( mapSpecificFlags_get(3) ) return;
|
||||||
|
|
||||||
this->yaw_moving = (f32) func_80329784(this);
|
this->yaw_ideal = (f32) func_80329784(this);
|
||||||
mapSpecificFlags_set(3, TRUE);
|
mapSpecificFlags_set(3, TRUE);
|
||||||
func_8028F918(2);
|
func_8028F918(2);
|
||||||
timed_setCameraToNode(0.0f, 4);
|
timed_setCameraToNode(0.0f, 4);
|
||||||
timedFunc_set_1(1.0f, (TFQM1)func_803875D4, (s32)this->marker);
|
timedFunc_set_1(1.0f, (GenMethod_1)func_803875D4, (s32)this->marker);
|
||||||
func_80328B8C(this, 1, 0.0f, 1);
|
func_80328B8C(this, 1, 0.0f, 1);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -104,7 +104,7 @@ void func_8038771C(Actor *this){
|
||||||
if( !func_80329030(this, 0)
|
if( !func_80329030(this, 0)
|
||||||
&& func_80329480(this)
|
&& func_80329480(this)
|
||||||
){
|
){
|
||||||
func_80328CEC(this, (s32)this->yaw_moving, 120, 180);
|
func_80328CEC(this, (s32)this->yaw_ideal, 120, 180);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -135,7 +135,7 @@ void func_80388D04(s32 arg0){
|
||||||
void func_80388D34(Actor *this){
|
void func_80388D34(Actor *this){
|
||||||
func_80388C78(this);
|
func_80388C78(this);
|
||||||
if(!this->unk16C_4){
|
if(!this->unk16C_4){
|
||||||
func_802C3C88((GenMethod_1)func_80388D04, (s32)this->marker);
|
__spawnqueue_add_1((GenMethod_1)func_80388D04, (s32)this->marker);
|
||||||
this->unk16C_4 = TRUE;
|
this->unk16C_4 = TRUE;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -41,7 +41,7 @@ void func_80388FBC(Actor *this) {
|
||||||
this->marker->propPtr->unk8_3 = FALSE;
|
this->marker->propPtr->unk8_3 = FALSE;
|
||||||
if (levelSpecificFlags_get(5) != 0) {
|
if (levelSpecificFlags_get(5) != 0) {
|
||||||
levelSpecificFlags_set(5, 0);
|
levelSpecificFlags_set(5, 0);
|
||||||
timedFunc_set_1(0.5f, (TFQM1)func_8025A70C, COMUSIC_2D_PUZZLE_SOLVED_FANFARE);
|
timedFunc_set_1(0.5f, (GenMethod_1)func_8025A70C, COMUSIC_2D_PUZZLE_SOLVED_FANFARE);
|
||||||
}
|
}
|
||||||
if (levelSpecificFlags_get(2) != 0) {
|
if (levelSpecificFlags_get(2) != 0) {
|
||||||
temp_v0_2 = func_8034C5AC(300);
|
temp_v0_2 = func_8034C5AC(300);
|
||||||
|
|
|
@ -169,7 +169,7 @@ void func_80389CC4(s16 arg0[3], s32 arg1){
|
||||||
D_8038D708[2] += 300.0f;
|
D_8038D708[2] += 300.0f;
|
||||||
gcpausemenu_80314AC8(0);
|
gcpausemenu_80314AC8(0);
|
||||||
timedFunc_set_2(0.1f, (TFQM2) func_8028F45C, 9, (s32)&D_8038D708);
|
timedFunc_set_2(0.1f, (TFQM2) func_8028F45C, 9, (s32)&D_8038D708);
|
||||||
timedFunc_set_1(0.1f, (TFQM1) gcpausemenu_80314AC8, 1);
|
timedFunc_set_1(0.1f, (GenMethod_1) gcpausemenu_80314AC8, 1);
|
||||||
func_80311480(ASSET_A17_TEXT_BURIED_TREASURE_SPAWNED, 4, NULL, NULL, NULL, NULL);
|
func_80311480(ASSET_A17_TEXT_BURIED_TREASURE_SPAWNED, 4, NULL, NULL, NULL, NULL);
|
||||||
D_8037DCB4++;
|
D_8037DCB4++;
|
||||||
}//L80389E70
|
}//L80389E70
|
||||||
|
|
|
@ -423,8 +423,8 @@ void func_8025A70C(enum comusic_e track_id){
|
||||||
}
|
}
|
||||||
|
|
||||||
void func_8025A788(enum comusic_e comusic_id, f32 delay1, f32 delay2){
|
void func_8025A788(enum comusic_e comusic_id, f32 delay1, f32 delay2){
|
||||||
timedFunc_set_1(delay1, (TFQM1) func_8025A70C, comusic_id);
|
timedFunc_set_1(delay1, (GenMethod_1) func_8025A70C, comusic_id);
|
||||||
timedFunc_set_1(delay1 + delay2, (TFQM1) func_8025A7DC, comusic_id);
|
timedFunc_set_1(delay1 + delay2, (GenMethod_1) func_8025A7DC, comusic_id);
|
||||||
}
|
}
|
||||||
|
|
||||||
void func_8025A7DC(enum comusic_e track_id){
|
void func_8025A7DC(enum comusic_e track_id){
|
||||||
|
|
|
@ -1,6 +1,8 @@
|
||||||
#include <ultra64.h>
|
#include <ultra64.h>
|
||||||
#include "functions.h"
|
#include "n_libaudio.h"
|
||||||
#include "variables.h"
|
#include "n_synth.h"
|
||||||
|
// #include "functions.h"
|
||||||
|
// #include "variables.h"
|
||||||
|
|
||||||
#pragma GLOBAL_ASM("asm/nonmatchings/core1/code_22E40/func_80260860.s")
|
#pragma GLOBAL_ASM("asm/nonmatchings/core1/code_22E40/func_80260860.s")
|
||||||
|
|
||||||
|
@ -10,6 +12,9 @@
|
||||||
|
|
||||||
#pragma GLOBAL_ASM("asm/nonmatchings/core1/code_22E40/n_alEnvmixerPull.s")
|
#pragma GLOBAL_ASM("asm/nonmatchings/core1/code_22E40/n_alEnvmixerPull.s")
|
||||||
|
|
||||||
|
#ifdef NONMATCHING
|
||||||
|
#pragma GLOBAL_ASM("asm/nonmatchings/core1/code_22E40/__postNextSeqEvent.s")
|
||||||
|
#else
|
||||||
void __postNextSeqEvent(ALSeqPlayer *seqp)
|
void __postNextSeqEvent(ALSeqPlayer *seqp)
|
||||||
{
|
{
|
||||||
ALEvent evt;
|
ALEvent evt;
|
||||||
|
@ -42,8 +47,8 @@ void __postNextSeqEvent(ALSeqPlayer *seqp)
|
||||||
evt.type = AL_SEQ_REF_EVT;
|
evt.type = AL_SEQ_REF_EVT;
|
||||||
//alEvtqPostEvent(&seqp->evtq, &evt, deltaTicks * seqp->uspt);
|
//alEvtqPostEvent(&seqp->evtq, &evt, deltaTicks * seqp->uspt);
|
||||||
alEvtqPostEvent(&seqp->evtq, &evt, deltaTicks * seqp->uspt);
|
alEvtqPostEvent(&seqp->evtq, &evt, deltaTicks * seqp->uspt);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
#pragma GLOBAL_ASM("asm/nonmatchings/core1/code_22E40/__setInstChanState.s")
|
#pragma GLOBAL_ASM("asm/nonmatchings/core1/code_22E40/__setInstChanState.s")
|
||||||
|
|
||||||
|
|
|
@ -2,6 +2,24 @@
|
||||||
#include "functions.h"
|
#include "functions.h"
|
||||||
#include "variables.h"
|
#include "variables.h"
|
||||||
|
|
||||||
|
typedef struct struct_core2_25E20_0{
|
||||||
|
s32 unk0;
|
||||||
|
s32 unk4;
|
||||||
|
s32 unk8;
|
||||||
|
s16 unkC;
|
||||||
|
u8 padE[2];
|
||||||
|
u8 pad10[0xA];
|
||||||
|
s16 unk1A;
|
||||||
|
};
|
||||||
|
|
||||||
|
typedef struct struct_core2_25E20_1{
|
||||||
|
s32 unk0;
|
||||||
|
s32 unk4;
|
||||||
|
s32 unk8;
|
||||||
|
s32 unkC;
|
||||||
|
u8 pad10[0xA];
|
||||||
|
s16 unk1A;
|
||||||
|
};
|
||||||
|
|
||||||
void func_80263840(void){}
|
void func_80263840(void){}
|
||||||
|
|
||||||
|
@ -9,7 +27,72 @@ void func_80263848(void){}
|
||||||
|
|
||||||
#pragma GLOBAL_ASM("asm/nonmatchings/core1/code_25E20/func_80263850.s")
|
#pragma GLOBAL_ASM("asm/nonmatchings/core1/code_25E20/func_80263850.s")
|
||||||
|
|
||||||
#pragma GLOBAL_ASM("asm/nonmatchings/core1/code_25E20/func_802639FC.s")
|
void func_802639FC(struct struct_core2_25E20_1 *arg0, struct struct_core2_25E20_0 *arg1, u32 arg2) {
|
||||||
|
u32 var_v0;
|
||||||
|
s32 var_s4;
|
||||||
|
u32 var_s6;
|
||||||
|
s16 var_s5;
|
||||||
|
s16 sp50;
|
||||||
|
s32 sp4C;
|
||||||
|
s32 sp48;
|
||||||
|
u32 sp44;
|
||||||
|
s32 sp40;
|
||||||
|
s16 sp3E;
|
||||||
|
|
||||||
|
if(arg2 == 0){
|
||||||
|
arg1->unk0 = (s32) arg0->unk4;
|
||||||
|
arg1->unkC = 0;
|
||||||
|
arg1->unk4 = 0U;
|
||||||
|
arg1->unk8 = 0U;
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
sp4C = arg0->unk8;
|
||||||
|
sp3E = arg0->unk1A;
|
||||||
|
sp44 = arg0->unkC;
|
||||||
|
arg0->unk1A = 0;
|
||||||
|
arg0->unkC = 0;
|
||||||
|
arg0->unk8 = arg0->unk4;
|
||||||
|
|
||||||
|
// var_v0 = 0;
|
||||||
|
do{
|
||||||
|
var_s4 = arg0->unk8;
|
||||||
|
var_s5 = arg0->unk1A;
|
||||||
|
var_s6 = arg0->unkC;
|
||||||
|
func_80263850(arg0, &sp50);
|
||||||
|
if(sp50 == 4){
|
||||||
|
var_s4 = arg0->unk8;
|
||||||
|
var_s5 = arg0->unk1A;
|
||||||
|
var_s6 = arg0->unkC;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
// var_v0 = arg0->unkC;
|
||||||
|
}while(arg0->unkC < arg2);
|
||||||
|
|
||||||
|
arg1->unk0 = var_s4;
|
||||||
|
arg1->unkC = var_s5;
|
||||||
|
arg1->unk4 = var_s6;
|
||||||
|
arg1->unk8 = arg0->unkC;
|
||||||
|
|
||||||
|
arg0->unk8 = sp4C;
|
||||||
|
arg0->unk1A = sp3E;
|
||||||
|
arg0->unkC = sp44;
|
||||||
|
|
||||||
|
// var_v0 = 0;
|
||||||
|
// loop_3:
|
||||||
|
|
||||||
|
|
||||||
|
// if (sp50 == 4) {
|
||||||
|
|
||||||
|
// } else {
|
||||||
|
// var_v0 = arg0->unkC;
|
||||||
|
// if (var_v0 < arg2) {
|
||||||
|
// goto loop_3;
|
||||||
|
// }
|
||||||
|
// }
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
void func_80263B1C(void){}
|
void func_80263B1C(void){}
|
||||||
|
|
||||||
|
|
|
@ -5,5 +5,5 @@
|
||||||
|
|
||||||
u8 func_8025F4A0(N_ALCSPlayer *seqp, u8 chan)
|
u8 func_8025F4A0(N_ALCSPlayer *seqp, u8 chan)
|
||||||
{
|
{
|
||||||
return seqp->chanState[chan].unk9;
|
return seqp->chanState[chan].unkA;
|
||||||
}
|
}
|
||||||
|
|
|
@ -636,7 +636,7 @@ static void __n_CSPHandleMIDIMsg(N_ALCSPlayer *seqp, N_ALEvent *event)
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case (0x7D):
|
case (0x7D):
|
||||||
seqp->chanState[chan].unk9 = byte2;
|
seqp->chanState[chan].unkA = byte2;
|
||||||
for (vs = seqp->vAllocHead; vs != 0; vs = vs->next)
|
for (vs = seqp->vAllocHead; vs != 0; vs = vs->next)
|
||||||
{
|
{
|
||||||
if ((vs->channel == chan) && (vs->envPhase != AL_PHASE_RELEASE))
|
if ((vs->channel == chan) && (vs->envPhase != AL_PHASE_RELEASE))
|
||||||
|
|
|
@ -66,7 +66,7 @@ void func_802C5F44(Actor *this){
|
||||||
void func_802C5F94(Actor *this){
|
void func_802C5F94(Actor *this){
|
||||||
func_80328A84(this, 2);
|
func_80328A84(this, 2);
|
||||||
func_802C5E80(this);
|
func_802C5E80(this);
|
||||||
func_80328CEC(this, (s32)this->yaw_moving, 135, 175);
|
func_80328CEC(this, (s32)this->yaw_ideal, 135, 175);
|
||||||
this->unk38_31 = 150;
|
this->unk38_31 = 150;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -162,13 +162,13 @@ void func_802C6240(Actor *this){
|
||||||
func_80328CEC(this, (s32)this->yaw, 90, 150);
|
func_80328CEC(this, (s32)this->yaw, 90, 150);
|
||||||
}//L802C64EC
|
}//L802C64EC
|
||||||
if(!(func_8023DB5C() & 0xf))
|
if(!(func_8023DB5C() & 0xf))
|
||||||
func_80328CEC(this, (s32)this->yaw_moving, 10, 20);
|
func_80328CEC(this, (s32)this->yaw_ideal, 10, 20);
|
||||||
|
|
||||||
if(!(func_8023DB5C() & 0x7))
|
if(!(func_8023DB5C() & 0x7))
|
||||||
func_80328BD4(this, 1, 0.16f, 1, 0.02f);
|
func_80328BD4(this, 1, 0.16f, 1, 0.02f);
|
||||||
|
|
||||||
if( !(func_8023DB5C() & 0xf)
|
if( !(func_8023DB5C() & 0xf)
|
||||||
&& func_80329078(this, (s32)this->yaw_moving, 150)
|
&& func_80329078(this, (s32)this->yaw_ideal, 150)
|
||||||
&& func_80328B38(this, 3, 0.13f)
|
&& func_80328B38(this, 3, 0.13f)
|
||||||
){
|
){
|
||||||
this->unk28 = randf2(7.1f, 8.4f);
|
this->unk28 = randf2(7.1f, 8.4f);
|
||||||
|
@ -178,7 +178,7 @@ void func_802C6240(Actor *this){
|
||||||
|
|
||||||
case 0x8: //L802C65D0
|
case 0x8: //L802C65D0
|
||||||
func_802C5F44(this);
|
func_802C5F44(this);
|
||||||
this->yaw_moving = func_80329784(this);
|
this->yaw_ideal = func_80329784(this);
|
||||||
func_80328FB0(this, 4.0f);
|
func_80328FB0(this, 4.0f);
|
||||||
if(func_80329480(this))
|
if(func_80329480(this))
|
||||||
func_80328A84(this, 6);
|
func_80328A84(this, 6);
|
||||||
|
@ -198,7 +198,7 @@ void func_802C6240(Actor *this){
|
||||||
|
|
||||||
case 0x6: //L802C66D0
|
case 0x6: //L802C66D0
|
||||||
animctrl_setDuration(this->animctrl, D_80366010[6].duration - (3 - this->unk10_12)*0.1085);
|
animctrl_setDuration(this->animctrl, D_80366010[6].duration - (3 - this->unk10_12)*0.1085);
|
||||||
this->yaw_moving = (f32)func_80329784(this);
|
this->yaw_ideal = (f32)func_80329784(this);
|
||||||
if(!func_803294B4(this, 0x21)){
|
if(!func_803294B4(this, 0x21)){
|
||||||
func_80328A84(this, 8);
|
func_80328A84(this, 8);
|
||||||
}
|
}
|
||||||
|
@ -224,13 +224,13 @@ void func_802C6240(Actor *this){
|
||||||
if(30.0f < this->unk28)
|
if(30.0f < this->unk28)
|
||||||
this->unk28 = 30.0f;
|
this->unk28 = 30.0f;
|
||||||
|
|
||||||
this->yaw_moving = (f32)func_80329784(this);
|
this->yaw_ideal = (f32)func_80329784(this);
|
||||||
func_80328FB0(this, 9.0f);
|
func_80328FB0(this, 9.0f);
|
||||||
if(!func_80329030(this, 0))
|
if(!func_80329030(this, 0))
|
||||||
func_802C5F94(this);
|
func_802C5F94(this);
|
||||||
|
|
||||||
if(func_80329530(this, 320)){
|
if(func_80329530(this, 320)){
|
||||||
if(func_80329078(this, (s32)this->yaw_moving,200)){
|
if(func_80329078(this, (s32)this->yaw_ideal,200)){
|
||||||
animctrl_setPlaybackType(this->animctrl, ANIMCTRL_ONCE);
|
animctrl_setPlaybackType(this->animctrl, ANIMCTRL_ONCE);
|
||||||
func_80328A84(this, 4);
|
func_80328A84(this, 4);
|
||||||
this->unk28 += 5.7;
|
this->unk28 += 5.7;
|
||||||
|
@ -252,7 +252,7 @@ void func_802C6240(Actor *this){
|
||||||
|
|
||||||
case 0x4: //L802C6A14
|
case 0x4: //L802C6A14
|
||||||
if(animctrl_getAnimTimer(this->animctrl) < 0.99){
|
if(animctrl_getAnimTimer(this->animctrl) < 0.99){
|
||||||
this->yaw_moving = (f32)func_80329784(this);
|
this->yaw_ideal = (f32)func_80329784(this);
|
||||||
func_80328FB0(this, 1.0f);
|
func_80328FB0(this, 1.0f);
|
||||||
}
|
}
|
||||||
func_80329030(this, 0);
|
func_80329030(this, 0);
|
||||||
|
|
|
@ -141,13 +141,13 @@ void func_802E1DE8(Actor *this){
|
||||||
}
|
}
|
||||||
|
|
||||||
void func_802E1E20(Actor *this, f32 arg1){
|
void func_802E1E20(Actor *this, f32 arg1){
|
||||||
this->yaw_moving = func_80329784(this);
|
this->yaw_ideal = func_80329784(this);
|
||||||
func_80328FB0(this, 6.0f);
|
func_80328FB0(this, 6.0f);
|
||||||
}
|
}
|
||||||
|
|
||||||
int func_802E1E5C(Actor *this, s32 arg1){
|
int func_802E1E5C(Actor *this, s32 arg1){
|
||||||
f32 f0;
|
f32 f0;
|
||||||
f0 = this->yaw - this->yaw_moving;
|
f0 = this->yaw - this->yaw_ideal;
|
||||||
if((f0 < arg1) && (-arg1 < f0)){
|
if((f0 < arg1) && (-arg1 < f0)){
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
@ -183,7 +183,7 @@ void func_802E1FD0(ActorMarker *marker, ActorMarker *other_marker){
|
||||||
FUNC_8030E8B4(SFX_3EA_UNKNOWN, 1.0f, 30000, actor->position, 1500, 4500);
|
FUNC_8030E8B4(SFX_3EA_UNKNOWN, 1.0f, 30000, actor->position, 1500, 4500);
|
||||||
FUNC_8030E8B4(SFX_2F_ORANGE_SPLAT, 1.0f, 30000, actor->position, 1500, 4500);
|
FUNC_8030E8B4(SFX_2F_ORANGE_SPLAT, 1.0f, 30000, actor->position, 1500, 4500);
|
||||||
|
|
||||||
func_802C3C88((GenMethod_1)func_802E1BD0, (s32)actor->marker);
|
__spawnqueue_add_1((GenMethod_1)func_802E1BD0, (s32)actor->marker);
|
||||||
if(map_get() == MAP_27_FP_FREEZEEZY_PEAK)
|
if(map_get() == MAP_27_FP_FREEZEEZY_PEAK)
|
||||||
func_8038A978();
|
func_8038A978();
|
||||||
func_802E1CB8(actor->position, 0xC);
|
func_802E1CB8(actor->position, 0xC);
|
||||||
|
@ -309,7 +309,7 @@ void func_802E20E8(Actor *this){
|
||||||
&& local->unkB
|
&& local->unkB
|
||||||
){
|
){
|
||||||
func_8030E878(SFX_8F_SNOWBALL_FLYING, randf2(0.95f, 1.05f), 30000, this->position, 800.0f, 3050.0f);
|
func_8030E878(SFX_8F_SNOWBALL_FLYING, randf2(0.95f, 1.05f), 30000, this->position, 800.0f, 3050.0f);
|
||||||
func_802C3C88((GenMethod_1)func_802E1B24, (s32)this->marker);
|
__spawnqueue_add_1((GenMethod_1)func_802E1B24, (s32)this->marker);
|
||||||
local->unk9 = FALSE;
|
local->unk9 = FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -298,7 +298,7 @@ void func_802C4C14(Actor *this){
|
||||||
return;
|
return;
|
||||||
|
|
||||||
if(!this->initialized){
|
if(!this->initialized){
|
||||||
func_802C3C88(func_802C4BB4, this->marker);
|
__spawnqueue_add_1(func_802C4BB4, this->marker);
|
||||||
func_802C7318(this);
|
func_802C7318(this);
|
||||||
this->unk130 = func_802C71F0;
|
this->unk130 = func_802C71F0;
|
||||||
if(sp84 == 0){
|
if(sp84 == 0){
|
||||||
|
|
|
@ -183,7 +183,7 @@ void func_8035B824(Actor *this){
|
||||||
|
|
||||||
func_80328B8C(this, 4, 0.01f, 1);
|
func_80328B8C(this, 4, 0.01f, 1);
|
||||||
actor_loopAnimation(this);
|
actor_loopAnimation(this);
|
||||||
func_80328CEC(this, (s32)this->yaw_moving, 0xA, 0x1E);
|
func_80328CEC(this, (s32)this->yaw_ideal, 0xA, 0x1E);
|
||||||
this->unk28 = 4.0f;
|
this->unk28 = 4.0f;
|
||||||
local->unk4 = randf2(2.0f, 4.5f);
|
local->unk4 = randf2(2.0f, 4.5f);
|
||||||
|
|
||||||
|
@ -193,7 +193,7 @@ void func_8035B824(Actor *this){
|
||||||
void func_8035B8A8(Actor *this){
|
void func_8035B8A8(Actor *this){
|
||||||
func_80328B8C(this, 5, 0.01f, 1);
|
func_80328B8C(this, 5, 0.01f, 1);
|
||||||
actor_loopAnimation(this);
|
actor_loopAnimation(this);
|
||||||
func_80328CEC(this, (s32)this->yaw_moving, 0xE1, 0x87);
|
func_80328CEC(this, (s32)this->yaw_ideal, 0xE1, 0x87);
|
||||||
}
|
}
|
||||||
|
|
||||||
void func_8035B900(Actor *this){
|
void func_8035B900(Actor *this){
|
||||||
|
@ -232,7 +232,7 @@ void func_8035B900(Actor *this){
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case 2: //L8035BA98
|
case 2: //L8035BA98
|
||||||
this->yaw_moving = func_80329784(this);
|
this->yaw_ideal = func_80329784(this);
|
||||||
func_8035B444(this, 4.0f);
|
func_8035B444(this, 4.0f);
|
||||||
if(actor_animationIsAt(this, 0.99f)){
|
if(actor_animationIsAt(this, 0.99f)){
|
||||||
func_8035B75C(this);
|
func_8035B75C(this);
|
||||||
|
@ -243,7 +243,7 @@ void func_8035B900(Actor *this){
|
||||||
if((sp30 & 0x3F) == 7 && randf() < 0.7){
|
if((sp30 & 0x3F) == 7 && randf() < 0.7){
|
||||||
func_8030E878(0x3F4, randf2(1.0f, 1.2f), 32000, this->position, this->scale*400.0f, this->scale*1800.0f);
|
func_8030E878(0x3F4, randf2(1.0f, 1.2f), 32000, this->position, this->scale*400.0f, this->scale*1800.0f);
|
||||||
}//L8035BB6C
|
}//L8035BB6C
|
||||||
this->yaw_moving = func_80329784(this);
|
this->yaw_ideal = func_80329784(this);
|
||||||
if(!func_8035B3E4(this) || !func_8035B444(this, 5.0f)){
|
if(!func_8035B3E4(this) || !func_8035B444(this, 5.0f)){
|
||||||
func_8035B674(this);
|
func_8035B674(this);
|
||||||
}
|
}
|
||||||
|
|
|
@ -224,7 +224,7 @@ void __chicecube_die(ActorMarker *marker, ActorMarker *other_marker){
|
||||||
func_8035A04C(actor->position, 12, ASSET_505_MODEL_ICECUBE_CHUNK, actor->scale);
|
func_8035A04C(actor->position, 12, ASSET_505_MODEL_ICECUBE_CHUNK, actor->scale);
|
||||||
func_8035A228(actor->position, 6, ASSET_700_SPRITE_DUST, actor->scale);
|
func_8035A228(actor->position, 6, ASSET_700_SPRITE_DUST, actor->scale);
|
||||||
if(actor->unkF4_8 != 1){
|
if(actor->unkF4_8 != 1){
|
||||||
func_802C3C88(__chicecube_spawnHalfCubes, actor->marker);
|
__spawnqueue_add_1(__chicecube_spawnHalfCubes, actor->marker);
|
||||||
}
|
}
|
||||||
marker_despawn(actor->marker);
|
marker_despawn(actor->marker);
|
||||||
}
|
}
|
||||||
|
|
|
@ -83,7 +83,7 @@ void func_802C7B8C(Actor *this, s32 arg1, s32 arg2, s32 arg3, s32 arg4, s32 arg5
|
||||||
timedFunc_set_4(0.6f, (TFQM4)func_802C7AF8, (s32)this->position[0], (s32)this->position[1], (s32)this->position[2], arg4);
|
timedFunc_set_4(0.6f, (TFQM4)func_802C7AF8, (s32)this->position[0], (s32)this->position[1], (s32)this->position[2], arg4);
|
||||||
timedFunc_set_2(0.6f, (TFQM2)func_802C7AB0, (s32)this->marker, arg5);
|
timedFunc_set_2(0.6f, (TFQM2)func_802C7AB0, (s32)this->marker, arg5);
|
||||||
timedFunc_set_0(1.0f, (TFQM0)func_802BE720);
|
timedFunc_set_0(1.0f, (TFQM0)func_802BE720);
|
||||||
timedFunc_set_1(3.9f, (TFQM1)func_802C7B6C, arg4);
|
timedFunc_set_1(3.9f, (GenMethod_1)func_802C7B6C, arg4);
|
||||||
mapSpecificFlags_set(arg1, 1);
|
mapSpecificFlags_set(arg1, 1);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -95,7 +95,7 @@ void func_802C7CA4(Actor *this){
|
||||||
if(360.0f <= this->yaw){
|
if(360.0f <= this->yaw){
|
||||||
this->yaw -= 360.0f;
|
this->yaw -= 360.0f;
|
||||||
}
|
}
|
||||||
this->yaw_moving = this->yaw;
|
this->yaw_ideal = this->yaw;
|
||||||
}
|
}
|
||||||
|
|
||||||
//chjiggy_draw
|
//chjiggy_draw
|
||||||
|
|
|
@ -324,7 +324,7 @@ void func_802D9D60(Actor *this){
|
||||||
this->unk38_0 = TRUE;
|
this->unk38_0 = TRUE;
|
||||||
nodeprop_getPosition(other, this->unk1C);
|
nodeprop_getPosition(other, this->unk1C);
|
||||||
}
|
}
|
||||||
func_802C3C88(func_802D9C54, this->marker);
|
__spawnqueue_add_1(func_802D9C54, this->marker);
|
||||||
this->marker->propPtr->unk8_3 = FALSE;
|
this->marker->propPtr->unk8_3 = FALSE;
|
||||||
this->marker->collidable = FALSE;
|
this->marker->collidable = FALSE;
|
||||||
this->initialized = TRUE;
|
this->initialized = TRUE;
|
||||||
|
@ -345,7 +345,7 @@ void func_802D9D60(Actor *this){
|
||||||
func_8024E55C(0, sp50);//get face buttons press counters
|
func_8024E55C(0, sp50);//get face buttons press counters
|
||||||
switch(this->state){
|
switch(this->state){
|
||||||
case 1://L802D9F70
|
case 1://L802D9F70
|
||||||
this->yaw_moving = func_80329784(this);
|
this->yaw_ideal = func_80329784(this);
|
||||||
func_80328FB0(this, 4.0f);
|
func_80328FB0(this, 4.0f);
|
||||||
if(func_8028F20C() && func_8028F0D4() && !func_8028EC04()){
|
if(func_8028F20C() && func_8028F0D4() && !func_8028EC04()){
|
||||||
if( this->unkF4_8 == 0x12
|
if( this->unkF4_8 == 0x12
|
||||||
|
@ -370,7 +370,7 @@ void func_802D9D60(Actor *this){
|
||||||
break;
|
break;
|
||||||
case 2://L802DA0A0
|
case 2://L802DA0A0
|
||||||
this->marker->propPtr->unk8_3 = TRUE;
|
this->marker->propPtr->unk8_3 = TRUE;
|
||||||
this->yaw_moving = func_80329784(this);
|
this->yaw_ideal = func_80329784(this);
|
||||||
func_80328FB0(this, 4.0f);
|
func_80328FB0(this, 4.0f);
|
||||||
if( 0.0 < animctrl_getAnimTimer(this->animctrl)
|
if( 0.0 < animctrl_getAnimTimer(this->animctrl)
|
||||||
&& animctrl_getAnimTimer(this->animctrl) < 0.16
|
&& animctrl_getAnimTimer(this->animctrl) < 0.16
|
||||||
|
@ -396,7 +396,7 @@ void func_802D9D60(Actor *this){
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case 3://L802DA210
|
case 3://L802DA210
|
||||||
this->yaw_moving = func_80329784(this);
|
this->yaw_ideal = func_80329784(this);
|
||||||
func_80328FB0(this, 4.0f);
|
func_80328FB0(this, 4.0f);
|
||||||
if( ( actor_animationIsAt(this, 0.37f)
|
if( ( actor_animationIsAt(this, 0.37f)
|
||||||
|| actor_animationIsAt(this, 0.66f)
|
|| actor_animationIsAt(this, 0.66f)
|
||||||
|
|
|
@ -475,7 +475,7 @@ void func_802C3BF8(void (* arg0)(void)){
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void func_802C3C88(GenMethod_1 arg0, s32 arg1){
|
void __spawnqueue_add_1(GenMethod_1 arg0, s32 arg1){
|
||||||
u32 tmp = (map_get() == MAP_90_GL_BATTLEMENTS)? 0x32: 0xF;
|
u32 tmp = (map_get() == MAP_90_GL_BATTLEMENTS)? 0x32: 0xF;
|
||||||
if(tmp != D_80365DC4){
|
if(tmp != D_80365DC4){
|
||||||
D_80365DC8[D_80365DC4].func0 = (void (*)(void))arg0;
|
D_80365DC8[D_80365DC4].func0 = (void (*)(void))arg0;
|
||||||
|
|
|
@ -75,7 +75,7 @@ void func_802CAA44(Actor *this){
|
||||||
if(map_get() == MAP_12_GV_GOBIS_VALLEY){
|
if(map_get() == MAP_12_GV_GOBIS_VALLEY){
|
||||||
this->unk6C = 352.0f;
|
this->unk6C = 352.0f;
|
||||||
this->pitch = 352.0f;
|
this->pitch = 352.0f;
|
||||||
this->yaw_moving = 90.0f;
|
this->yaw_ideal = 90.0f;
|
||||||
this->yaw = 90.0f;
|
this->yaw = 90.0f;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -61,7 +61,7 @@ void func_802CB078(Actor *this) {
|
||||||
void func_802CB140(Actor *this) {
|
void func_802CB140(Actor *this) {
|
||||||
func_80328A84(this, 2U);
|
func_80328A84(this, 2U);
|
||||||
func_802CB040(this);
|
func_802CB040(this);
|
||||||
func_80328CEC(this, (s32) this->yaw_moving, 135, 175);
|
func_80328CEC(this, (s32) this->yaw_ideal, 135, 175);
|
||||||
this->unk38_31 = 150;
|
this->unk38_31 = 150;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -254,7 +254,7 @@ void func_802CBAAC(Actor *this) {
|
||||||
marker_despawn(this->marker);
|
marker_despawn(this->marker);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
this->yaw_moving = (f32) func_80329784(this);
|
this->yaw_ideal = (f32) func_80329784(this);
|
||||||
func_80328FB0(this, 4.0f);
|
func_80328FB0(this, 4.0f);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
@ -319,7 +319,7 @@ void func_802CBAAC(Actor *this) {
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 3: //L802CBF44
|
case 3: //L802CBF44
|
||||||
this->yaw_moving = (f32) func_80329784(this);
|
this->yaw_ideal = (f32) func_80329784(this);
|
||||||
func_80328FB0(this, 4.0f);
|
func_80328FB0(this, 4.0f);
|
||||||
if (func_80329480(this)) {
|
if (func_80329480(this)) {
|
||||||
func_80328A84(this, 4);
|
func_80328A84(this, 4);
|
||||||
|
@ -328,7 +328,7 @@ void func_802CBAAC(Actor *this) {
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 8: //L802CBF9C
|
case 8: //L802CBF9C
|
||||||
this->yaw_moving = func_80329784(this) + 90.0;
|
this->yaw_ideal = func_80329784(this) + 90.0;
|
||||||
func_80328FB0(this, 4.0f);
|
func_80328FB0(this, 4.0f);
|
||||||
if (func_80329480(this)) {
|
if (func_80329480(this)) {
|
||||||
func_80328A84(this, 9);
|
func_80328A84(this, 9);
|
||||||
|
@ -340,7 +340,7 @@ void func_802CBAAC(Actor *this) {
|
||||||
|
|
||||||
case 4: //L802CC024
|
case 4: //L802CC024
|
||||||
if ((func_8023DB5C() & 0xF) == 9) {
|
if ((func_8023DB5C() & 0xF) == 9) {
|
||||||
this->yaw_moving = (f32) func_80329784(this);
|
this->yaw_ideal = (f32) func_80329784(this);
|
||||||
}
|
}
|
||||||
func_80328FB0(this, 7.0f);
|
func_80328FB0(this, 7.0f);
|
||||||
if (func_8032CA80(this, (this->modelCacheIndex == 0xF2)? 0xD : 0)) {
|
if (func_8032CA80(this, (this->modelCacheIndex == 0xF2)? 0xD : 0)) {
|
||||||
|
|
|
@ -166,7 +166,7 @@ void func_8028B9A8(s32 arg0){
|
||||||
}
|
}
|
||||||
|
|
||||||
void func_8028BA00(s32 arg0){
|
void func_8028BA00(s32 arg0){
|
||||||
func_802C3C88(func_8028B9A8, arg0);
|
__spawnqueue_add_1(func_8028B9A8, arg0);
|
||||||
if(arg0);
|
if(arg0);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -53,7 +53,7 @@ void func_802D0A38(Actor *this){
|
||||||
void func_802D0AB8(Actor *this) {
|
void func_802D0AB8(Actor *this) {
|
||||||
func_80328B8C(this, 1, 0.0f, 0);
|
func_80328B8C(this, 1, 0.0f, 0);
|
||||||
func_802D0A00(this);
|
func_802D0A00(this);
|
||||||
func_80328CEC(this, (s32) this->yaw_moving, 0x87, 0xAF);
|
func_80328CEC(this, (s32) this->yaw_ideal, 0x87, 0xAF);
|
||||||
this->unk38_31 = 0x1E;
|
this->unk38_31 = 0x1E;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -121,7 +121,7 @@ void func_802D0F30(ActorMarker *marker, ActorMarker *other_marker) {
|
||||||
|
|
||||||
this = marker_getActor(marker);
|
this = marker_getActor(marker);
|
||||||
FUNC_8030E8B4(SFX_1B_EXPLOSION_1, 1.0f, 32736, this->position, 1250, 2500);
|
FUNC_8030E8B4(SFX_1B_EXPLOSION_1, 1.0f, 32736, this->position, 1250, 2500);
|
||||||
func_802C3C88((GenMethod_1)func_802D0B24, reinterpret_cast(s32, this));
|
__spawnqueue_add_1((GenMethod_1)func_802D0B24, reinterpret_cast(s32, this));
|
||||||
func_802D0B54(this);
|
func_802D0B54(this);
|
||||||
func_802D0CB4(this);
|
func_802D0CB4(this);
|
||||||
func_802D0DDC(this, ASSET_53A_MODEL_SHRAPNAL_PIECE_EYE, 2);
|
func_802D0DDC(this, ASSET_53A_MODEL_SHRAPNAL_PIECE_EYE, 2);
|
||||||
|
@ -172,7 +172,7 @@ void chshrapnel_update(Actor *this) {
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 2:
|
case 2:
|
||||||
this->yaw_moving = (f32) func_80329784(this);
|
this->yaw_ideal = (f32) func_80329784(this);
|
||||||
func_80328FB0(this, 4.0f);
|
func_80328FB0(this, 4.0f);
|
||||||
if (func_80329480(this)) {
|
if (func_80329480(this)) {
|
||||||
if (250.0 > ABS(player_position[1] - this->unk1C[1])) {
|
if (250.0 > ABS(player_position[1] - this->unk1C[1])) {
|
||||||
|
@ -185,7 +185,7 @@ void chshrapnel_update(Actor *this) {
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 3:
|
case 3:
|
||||||
this->yaw_moving = (f32) func_80329784(this);
|
this->yaw_ideal = (f32) func_80329784(this);
|
||||||
func_80328FB0(this, this->unk28 / 2);
|
func_80328FB0(this, this->unk28 / 2);
|
||||||
this->unk28 = MIN( 50.0, (this->unk28 + tick));
|
this->unk28 = MIN( 50.0, (this->unk28 + tick));
|
||||||
if ((250.0 <= ABS(player_position[1] - this->unk1C[1])) || !func_80329054(this, 0)) {
|
if ((250.0 <= ABS(player_position[1] - this->unk1C[1])) || !func_80329054(this, 0)) {
|
||||||
|
|
|
@ -1141,7 +1141,7 @@ void func_802D6264(f32 arg0, enum map_e arg1, s32 arg2, s32 arg3, s32 arg4, enum
|
||||||
D_803676A0 = 0;
|
D_803676A0 = 0;
|
||||||
|
|
||||||
if(arg1 != D_80367694){
|
if(arg1 != D_80367694){
|
||||||
timedFunc_set_1(arg0, (TFQM1) func_802D61FC, arg1);
|
timedFunc_set_1(arg0, (GenMethod_1) func_802D61FC, arg1);
|
||||||
}
|
}
|
||||||
else{
|
else{
|
||||||
timedFunc_set_0(arg0, func_802D63D4);
|
timedFunc_set_0(arg0, func_802D63D4);
|
||||||
|
|
|
@ -144,7 +144,7 @@ void func_802D7C24(ActorMarker *marker, ActorMarker *other_marker) {
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
if (var_a3 != 0) {
|
if (var_a3 != 0) {
|
||||||
timedFunc_set_1(0.5f, (TFQM1)func_802D7BE8, var_a3);
|
timedFunc_set_1(0.5f, (GenMethod_1)func_802D7BE8, var_a3);
|
||||||
}
|
}
|
||||||
func_8028F030(this->modelCacheIndex);
|
func_8028F030(this->modelCacheIndex);
|
||||||
marker_despawn(marker);
|
marker_despawn(marker);
|
||||||
|
|
|
@ -89,5 +89,5 @@ void func_802D8B20(enum actor_e actor_id){
|
||||||
}
|
}
|
||||||
|
|
||||||
void func_802D8BE4(bool gold_feather){
|
void func_802D8BE4(bool gold_feather){
|
||||||
func_802C3C88(func_802D8B20, (!gold_feather) ? 0x1FF : 0x200);
|
__spawnqueue_add_1(func_802D8B20, (!gold_feather) ? 0x1FF : 0x200);
|
||||||
}
|
}
|
|
@ -79,7 +79,7 @@ void func_802D8C98(Actor *this, s32 arg1) {
|
||||||
//collectItem
|
//collectItem
|
||||||
bool func_802D8D48(Actor* actor, u32 arg1, enum asset_e dialogId, enum comusic_e sfxId, enum item_e itemId, f32 arg5){
|
bool func_802D8D48(Actor* actor, u32 arg1, enum asset_e dialogId, enum comusic_e sfxId, enum item_e itemId, f32 arg5){
|
||||||
func_8025A6EC(sfxId,32000);
|
func_8025A6EC(sfxId,32000);
|
||||||
timedFunc_set_1(0.75f, (TFQM1)func_8035644C, arg1);
|
timedFunc_set_1(0.75f, (GenMethod_1)func_8035644C, arg1);
|
||||||
if(!func_802FADD4(0x1b)){
|
if(!func_802FADD4(0x1b)){
|
||||||
item_inc(itemId);
|
item_inc(itemId);
|
||||||
} else {
|
} else {
|
||||||
|
|
|
@ -87,7 +87,7 @@ void func_802DAE40(Actor *this) {
|
||||||
|
|
||||||
func_80328A84(this, 2);
|
func_80328A84(this, 2);
|
||||||
func_802DAE10(this);
|
func_802DAE10(this);
|
||||||
func_80328CEC(this, (s32) this->yaw_moving, (s32) (this->yaw + 160.0f) % 360, (s32) (this->yaw + 200.0f) % 360);
|
func_80328CEC(this, (s32) this->yaw_ideal, (s32) (this->yaw + 160.0f) % 360, (s32) (this->yaw + 200.0f) % 360);
|
||||||
this->unk38_31 = 0x5A;
|
this->unk38_31 = 0x5A;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -127,7 +127,7 @@ bool func_802DAFBC(Actor *this) {
|
||||||
if (temp_v0 & 4) {
|
if (temp_v0 & 4) {
|
||||||
func_8032C9E0(sp38);
|
func_8032C9E0(sp38);
|
||||||
sp34 = func_80257248(sp38, this->position);
|
sp34 = func_80257248(sp38, this->position);
|
||||||
if (((func_8023DB5C() - local->unk38) == 0x1E) && ((sp34 - this->yaw_moving < 15.0f) && (sp34 - this->yaw_moving > -15.0f))) {
|
if (((func_8023DB5C() - local->unk38) == 0x1E) && ((sp34 - this->yaw_ideal < 15.0f) && (sp34 - this->yaw_ideal > -15.0f))) {
|
||||||
func_802DAF2C(this->position, this->yaw, this->unk28);
|
func_802DAF2C(this->position, this->yaw, this->unk28);
|
||||||
} else {
|
} else {
|
||||||
func_80328CEC(this, (s32) sp34, 0, 0xF);
|
func_80328CEC(this, (s32) sp34, 0, 0xF);
|
||||||
|
@ -139,13 +139,13 @@ bool func_802DAFBC(Actor *this) {
|
||||||
func_802DAE10(this);
|
func_802DAE10(this);
|
||||||
this->unk38_31 = 0x5A;
|
this->unk38_31 = 0x5A;
|
||||||
func_80328B8C(this, 2, sp44, 1);
|
func_80328B8C(this, 2, sp44, 1);
|
||||||
func_80328CEC(this, (s32) this->yaw_moving, 0xB3, 0xB4);
|
func_80328CEC(this, (s32) this->yaw_ideal, 0xB3, 0xB4);
|
||||||
this->unk38_0 = TRUE;
|
this->unk38_0 = TRUE;
|
||||||
} else {
|
} else {
|
||||||
func_802DAE10(this);
|
func_802DAE10(this);
|
||||||
this->unk38_31 = 0x5A;
|
this->unk38_31 = 0x5A;
|
||||||
func_80328B8C(this, 8, sp44, 1);
|
func_80328B8C(this, 8, sp44, 1);
|
||||||
func_80328CEC(this, (s32) this->yaw_moving, 120, 180);
|
func_80328CEC(this, (s32) this->yaw_ideal, 120, 180);
|
||||||
}
|
}
|
||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
|
@ -271,7 +271,7 @@ void func_802DB5A0(Actor *this) {
|
||||||
phi_f14 -= 1.0;
|
phi_f14 -= 1.0;
|
||||||
}
|
}
|
||||||
func_80328B8C(this, 2, phi_f14, 1);
|
func_80328B8C(this, 2, phi_f14, 1);
|
||||||
this->yaw_moving = this->yaw;
|
this->yaw_ideal = this->yaw;
|
||||||
func_802DAE10(this);
|
func_802DAE10(this);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
@ -281,13 +281,13 @@ void func_802DB5A0(Actor *this) {
|
||||||
func_802DB3B0(this);
|
func_802DB3B0(this);
|
||||||
if (this->unk38_31 == 0) {
|
if (this->unk38_31 == 0) {
|
||||||
if (!(func_8023DB5C() & 0xF)) {
|
if (!(func_8023DB5C() & 0xF)) {
|
||||||
func_80328CEC(this, this->yaw_moving, 0xA, 0x14);
|
func_80328CEC(this, this->yaw_ideal, 0xA, 0x14);
|
||||||
}
|
}
|
||||||
if (!(func_8023DB5C() & 7)) {
|
if (!(func_8023DB5C() & 7)) {
|
||||||
func_80328B38(this, 1, 0.02f);
|
func_80328B38(this, 1, 0.02f);
|
||||||
}
|
}
|
||||||
if( !(func_8023DB5C() & 0xF)
|
if( !(func_8023DB5C() & 0xF)
|
||||||
&& func_80329078(this, (s32) this->yaw_moving, 0x96)
|
&& func_80329078(this, (s32) this->yaw_ideal, 0x96)
|
||||||
) {
|
) {
|
||||||
if (func_80328B38(this, 3, 0.13f) != 0) {
|
if (func_80328B38(this, 3, 0.13f) != 0) {
|
||||||
this->unk28 = randf2((f32)local->unk8, (f32)local->unk9);
|
this->unk28 = randf2((f32)local->unk8, (f32)local->unk9);
|
||||||
|
@ -300,7 +300,7 @@ void func_802DB5A0(Actor *this) {
|
||||||
|
|
||||||
case 6://L802DB8C0
|
case 6://L802DB8C0
|
||||||
func_802DB264(this);
|
func_802DB264(this);
|
||||||
this->yaw_moving = (f32) func_80329784(this);
|
this->yaw_ideal = (f32) func_80329784(this);
|
||||||
func_80328FB0(this, 4.0f);
|
func_80328FB0(this, 4.0f);
|
||||||
if (func_80329480(this)) {
|
if (func_80329480(this)) {
|
||||||
this->unk10_12 = local->unkC_31;
|
this->unk10_12 = local->unkC_31;
|
||||||
|
@ -323,7 +323,7 @@ void func_802DB5A0(Actor *this) {
|
||||||
if (this->unk10_12 < local->unkC_31) {
|
if (this->unk10_12 < local->unkC_31) {
|
||||||
animctrl_setDuration(this->animctrl, this->unk18[4].duration - ((local->unkC_31 - this->unk10_12) * 0.1));
|
animctrl_setDuration(this->animctrl, this->unk18[4].duration - ((local->unkC_31 - this->unk10_12) * 0.1));
|
||||||
}
|
}
|
||||||
this->yaw_moving = (f32) func_80329784(this);
|
this->yaw_ideal = (f32) func_80329784(this);
|
||||||
if (!func_803294B4(this, 0x21)) {
|
if (!func_803294B4(this, 0x21)) {
|
||||||
func_80328A84(this, 6);
|
func_80328A84(this, 6);
|
||||||
}
|
}
|
||||||
|
@ -348,7 +348,7 @@ void func_802DB5A0(Actor *this) {
|
||||||
case 7://L802DBB4C
|
case 7://L802DBB4C
|
||||||
if (this->unk38_31 == 0) {
|
if (this->unk38_31 == 0) {
|
||||||
if ((func_8023DB5C() & 0xF) == 9) {
|
if ((func_8023DB5C() & 0xF) == 9) {
|
||||||
this->yaw_moving = (f32) func_80329784(this);
|
this->yaw_ideal = (f32) func_80329784(this);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
func_80328FB0(this, (f32)local->unkB);
|
func_80328FB0(this, (f32)local->unkB);
|
||||||
|
|
|
@ -209,7 +209,7 @@ void func_802E1168(Actor *this) {
|
||||||
|
|
||||||
case 3: //802E13AC
|
case 3: //802E13AC
|
||||||
func_803297FC(this, &sp44, &sp40);
|
func_803297FC(this, &sp44, &sp40);
|
||||||
this->yaw_moving = sp40;
|
this->yaw_ideal = sp40;
|
||||||
this->unk6C = func_802E10F0(sp44);
|
this->unk6C = func_802E10F0(sp44);
|
||||||
func_80328FB0(this, 4.0f);
|
func_80328FB0(this, 4.0f);
|
||||||
func_80328FF0(this, 3.0f);
|
func_80328FF0(this, 3.0f);
|
||||||
|
@ -221,7 +221,7 @@ void func_802E1168(Actor *this) {
|
||||||
|
|
||||||
case 4: //802E1424
|
case 4: //802E1424
|
||||||
func_803297FC(this, &sp44, &sp40);
|
func_803297FC(this, &sp44, &sp40);
|
||||||
this->yaw_moving = sp40;
|
this->yaw_ideal = sp40;
|
||||||
this->unk6C = func_802E10F0(sp44);
|
this->unk6C = func_802E10F0(sp44);
|
||||||
func_80328FB0(this, this->unk28 / 2);
|
func_80328FB0(this, this->unk28 / 2);
|
||||||
func_80328FF0(this, this->unk28 / 2);
|
func_80328FF0(this, this->unk28 / 2);
|
||||||
|
@ -235,7 +235,7 @@ void func_802E1168(Actor *this) {
|
||||||
}
|
}
|
||||||
if (actor_animationIsAt(this, 0.99f)) {
|
if (actor_animationIsAt(this, 0.99f)) {
|
||||||
func_802E0CD0(this);
|
func_802E0CD0(this);
|
||||||
func_80328CEC(this, (s32) this->yaw_moving, 0x87, 0xAF);
|
func_80328CEC(this, (s32) this->yaw_ideal, 0x87, 0xAF);
|
||||||
this->unk38_31 = 0x78;
|
this->unk38_31 = 0x78;
|
||||||
func_80328B8C(this, 2, 0.0f, 1);
|
func_80328B8C(this, 2, 0.0f, 1);
|
||||||
actor_loopAnimation(this);
|
actor_loopAnimation(this);
|
||||||
|
|
|
@ -114,6 +114,7 @@ void func_802E28D0(Actor *this) {
|
||||||
marker_setCollisionScripts(this->marker, NULL, NULL, func_802E28A4);
|
marker_setCollisionScripts(this->marker, NULL, NULL, func_802E28A4);
|
||||||
if(local->unk0 == 0){
|
if(local->unk0 == 0){
|
||||||
player_getPosition(this->unk1C);
|
player_getPosition(this->unk1C);
|
||||||
|
local->unk0 = 1;
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
this->initialized = TRUE;
|
this->initialized = TRUE;
|
||||||
|
@ -170,12 +171,12 @@ void func_802E28D0(Actor *this) {
|
||||||
break;
|
break;
|
||||||
case 2:
|
case 2:
|
||||||
this->marker->unk40_22 = NOT(func_8028F170());
|
this->marker->unk40_22 = NOT(func_8028F170());
|
||||||
this->velocity[0] += 0.7;
|
this->velocity[0] *= 0.7;\
|
||||||
this->velocity[1] += 0.7;
|
this->velocity[1] *= 0.7;\
|
||||||
this->velocity[2] += 0.7;
|
this->velocity[2] *= 0.7;
|
||||||
this->position[0] += this->velocity[0];
|
this->position[0] = this->position[0] + this->velocity[0];
|
||||||
this->position[1] += this->velocity[1];
|
this->position[1] = this->position[1] + this->velocity[1];
|
||||||
this->position[2] += this->velocity[2];
|
this->position[2] = this->position[2] + this->velocity[2];
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -133,7 +133,7 @@ void func_8028DE6C(enum actor_e actor_id){
|
||||||
func_802948F8(marker);
|
func_802948F8(marker);
|
||||||
}
|
}
|
||||||
else{
|
else{
|
||||||
func_802C3C88(func_8028DE0C, carriedObject_getActorID());
|
__spawnqueue_add_1(func_8028DE0C, carriedObject_getActorID());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -7,6 +7,8 @@ typedef struct {
|
||||||
f32 unkC[3];
|
f32 unkC[3];
|
||||||
}Struct_core2_72060_0;
|
}Struct_core2_72060_0;
|
||||||
|
|
||||||
|
extern f32 func_8024C788();
|
||||||
|
extern int func_8024DD34(f32, f32, f32);
|
||||||
extern void func_80251B5C(f32, f32, f32);
|
extern void func_80251B5C(f32, f32, f32);
|
||||||
extern void func_80251F8C(f32);
|
extern void func_80251F8C(f32);
|
||||||
extern void func_8025208C(f32);
|
extern void func_8025208C(f32);
|
||||||
|
@ -75,7 +77,89 @@ void func_802F9134(s32 gfx){
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#ifndef NONMATCHING
|
||||||
#pragma GLOBAL_ASM("asm/nonmatchings/core2/code_72060/func_802F919C.s")
|
#pragma GLOBAL_ASM("asm/nonmatchings/core2/code_72060/func_802F919C.s")
|
||||||
|
#else
|
||||||
|
void func_802F919C(void) {
|
||||||
|
f32 temp_f20;
|
||||||
|
s32 sp68;
|
||||||
|
s32 var_v1;
|
||||||
|
s32 sp60;
|
||||||
|
struct4Ds *sp5C;
|
||||||
|
f32 sp58;
|
||||||
|
f32 sp4C[3];
|
||||||
|
f32 var_f20;
|
||||||
|
s32 sp44;
|
||||||
|
struct4Ds *sp40;
|
||||||
|
|
||||||
|
|
||||||
|
if (D_80369280 != NULL) {
|
||||||
|
if (func_802BEF64() != 0) {
|
||||||
|
D_80369284 = 0;
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
temp_f20 = time_getDelta();
|
||||||
|
sp60 = (func_8023DB5C() & 1) * 2;
|
||||||
|
player_getPosition(D_80381040);
|
||||||
|
|
||||||
|
D_80369280->unkC[0] = D_80381040[0] - D_80369280->unk0[0];
|
||||||
|
D_80369280->unkC[1] = D_80381040[1] - D_80369280->unk0[1];
|
||||||
|
D_80369280->unkC[2] = D_80381040[2] - D_80369280->unk0[2];
|
||||||
|
D_80369280->unk0[0] = D_80381040[0];
|
||||||
|
D_80369280->unk0[1] = D_80381040[1];
|
||||||
|
D_80369280->unk0[2] = D_80381040[2];
|
||||||
|
D_8038104C = D_80381040[1] - 300.0f;
|
||||||
|
|
||||||
|
for(sp68 = 0; sp68 < D_80369284; sp68++){
|
||||||
|
sp5C = D_80369280->unk1C + sp68;
|
||||||
|
for(var_v1 = 0; var_v1 < 3; var_v1++){
|
||||||
|
sp5C->unk0[var_v1] += sp5C->unkC[var_v1] * temp_f20;
|
||||||
|
}
|
||||||
|
sp5C->unkC[sp60] += ((randf() * 30.0) - 15.0);
|
||||||
|
}
|
||||||
|
|
||||||
|
D_8036928C++;
|
||||||
|
if (D_8036928C < D_80369284) {
|
||||||
|
if (ml_vec3f_distance(D_80369280[0].unk1C[D_8036928C].unk0, D_80381040) > 1300.0f) {
|
||||||
|
func_802F9134(D_8036928C);
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
D_8036928C = 0;
|
||||||
|
}
|
||||||
|
if (D_80369280->unk18 == 1) {
|
||||||
|
if (D_80369284 < 100) {
|
||||||
|
sp40 = D_80369280->unk1C + D_80369284;
|
||||||
|
D_80369284++;
|
||||||
|
sp58 = randf2(100.0f, 1300.0f);
|
||||||
|
sp4C[0] = 0.0f;
|
||||||
|
sp4C[1] = randf() * 200.0f + 200.0f;
|
||||||
|
sp4C[2] = -sp58;
|
||||||
|
if ((D_80369280->unkC[0]*D_80369280->unkC[0] + D_80369280->unkC[1]*D_80369280->unkC[1] + D_80369280->unkC[2]*D_80369280->unkC[2]) < 25.0f) {
|
||||||
|
var_f20 = 100.0f;
|
||||||
|
} else {
|
||||||
|
var_f20 = 70.0f;
|
||||||
|
}
|
||||||
|
ml_vec3f_yaw_rotate_copy(sp4C, sp4C, func_8024C788() + randf2(-var_f20, var_f20));
|
||||||
|
sp4C[0] += D_80381040[0];
|
||||||
|
sp4C[1] += D_80381040[1];
|
||||||
|
sp4C[2] += D_80381040[2];
|
||||||
|
if (sp58 < 650.0) {
|
||||||
|
for(sp44 = 0; sp44 < 5 && func_8024DD34(sp4C[0], sp4C[1] - 10.0f, sp4C[2]) ; sp44++){
|
||||||
|
sp4C[1] += 200.0f;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
sp40->unk0[0] = sp4C[0];
|
||||||
|
sp40->unk0[1] = sp4C[1];
|
||||||
|
sp40->unk0[2] = sp4C[2];
|
||||||
|
sp40->unkC[0] = 0.0f;
|
||||||
|
sp40->unkC[1] = randf2(-150.0f, -50.0f);
|
||||||
|
sp40->unkC[2] = 0.0f;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
#pragma GLOBAL_ASM("asm/nonmatchings/core2/code_72060/func_802F962C.s")
|
#pragma GLOBAL_ASM("asm/nonmatchings/core2/code_72060/func_802F962C.s")
|
||||||
// void func_802F962C(Gfx **gfx, Mtx **mtx, Vtx **vtx) {
|
// void func_802F962C(Gfx **gfx, Mtx **mtx, Vtx **vtx) {
|
||||||
|
|
|
@ -243,10 +243,10 @@ void func_802FE844(s32 arg0, struct8s *arg1){
|
||||||
func_803463D4(ITEM_13_EMPTY_HONEYCOMB, -6);
|
func_803463D4(ITEM_13_EMPTY_HONEYCOMB, -6);
|
||||||
timedFunc_set_2(0.25f, (TFQM2)func_8025A6EC, COMUSIC_2B_DING_B, 28000);
|
timedFunc_set_2(0.25f, (TFQM2)func_8025A6EC, COMUSIC_2B_DING_B, 28000);
|
||||||
func_803463D4(ITEM_14_HEALTH, 0);
|
func_803463D4(ITEM_14_HEALTH, 0);
|
||||||
timedFunc_set_1(1.25f, (TFQM1)item_inc, ITEM_15_HEALTH_TOTAL);
|
timedFunc_set_1(1.25f, (GenMethod_1)item_inc, ITEM_15_HEALTH_TOTAL);
|
||||||
timedFunc_set_1(1.25f, (TFQM1)func_8030E484, SFX_3EA_UNKNOWN);
|
timedFunc_set_1(1.25f, (GenMethod_1)func_8030E484, SFX_3EA_UNKNOWN);
|
||||||
timedFunc_set_2(1.25f, (TFQM2)item_set, ITEM_14_HEALTH, item_getCount(ITEM_15_HEALTH_TOTAL)+1);
|
timedFunc_set_2(1.25f, (TFQM2)item_set, ITEM_14_HEALTH, item_getCount(ITEM_15_HEALTH_TOTAL)+1);
|
||||||
timedFunc_set_1(1.5f, (TFQM1)gcpausemenu_80314AC8, 1);
|
timedFunc_set_1(1.5f, (GenMethod_1)gcpausemenu_80314AC8, 1);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case 2://L802FECD4
|
case 2://L802FECD4
|
||||||
|
|
|
@ -787,7 +787,7 @@ Actor *actor_new(s32 (* position)[3], s32 yaw, ActorInfo* actorInfo, u32 flags){
|
||||||
D_80383390->position_z = (f32)(*position)[2];
|
D_80383390->position_z = (f32)(*position)[2];
|
||||||
D_80383390->unkF4_8 = 0;
|
D_80383390->unkF4_8 = 0;
|
||||||
D_80383390->yaw = (f32) yaw;
|
D_80383390->yaw = (f32) yaw;
|
||||||
D_80383390->yaw_moving = (f32) yaw;
|
D_80383390->yaw_ideal = (f32) yaw;
|
||||||
D_80383390->pitch = 0.0f;
|
D_80383390->pitch = 0.0f;
|
||||||
D_80383390->roll = 0.0f;
|
D_80383390->roll = 0.0f;
|
||||||
D_80383390->unk6C = 0.0f;
|
D_80383390->unk6C = 0.0f;
|
||||||
|
@ -1335,7 +1335,7 @@ void func_80328C64(Actor * this, int arg1){
|
||||||
int retVal = arg1;
|
int retVal = arg1;
|
||||||
while(retVal < 0) retVal += 0x168;
|
while(retVal < 0) retVal += 0x168;
|
||||||
while(retVal >= 0x168) retVal -= 0x168;
|
while(retVal >= 0x168) retVal -= 0x168;
|
||||||
this->yaw_moving = retVal;
|
this->yaw_ideal = retVal;
|
||||||
}
|
}
|
||||||
|
|
||||||
void func_80328CA8(Actor *arg0, s32 angle) {
|
void func_80328CA8(Actor *arg0, s32 angle) {
|
||||||
|
@ -1395,7 +1395,7 @@ f32 func_80328DCC(Actor *this, f32 angle, f32 angle_ideal, s32 arg3) {
|
||||||
}
|
}
|
||||||
|
|
||||||
void func_80328FB0(Actor *this, f32 arg1){
|
void func_80328FB0(Actor *this, f32 arg1){
|
||||||
this->yaw = func_80328DCC(this, this->yaw, this->yaw_moving, (s32)arg1);
|
this->yaw = func_80328DCC(this, this->yaw, this->yaw_ideal, (s32)arg1);
|
||||||
}
|
}
|
||||||
|
|
||||||
void func_80328FF0(Actor *arg0, f32 arg1) {
|
void func_80328FF0(Actor *arg0, f32 arg1) {
|
||||||
|
@ -1502,14 +1502,14 @@ bool func_8032944C(Actor *this){
|
||||||
bool func_80329480(Actor *this){
|
bool func_80329480(Actor *this){
|
||||||
s32 v1;
|
s32 v1;
|
||||||
|
|
||||||
v1 = this->yaw - this->yaw_moving;
|
v1 = this->yaw - this->yaw_ideal;
|
||||||
return ((-3 <= v1) && (v1 <= 3));
|
return ((-3 <= v1) && (v1 <= 3));
|
||||||
}
|
}
|
||||||
|
|
||||||
bool func_803294B4(Actor *this, s32 arg1){
|
bool func_803294B4(Actor *this, s32 arg1){
|
||||||
s32 v1;
|
s32 v1;
|
||||||
|
|
||||||
v1 = this->yaw - this->yaw_moving;
|
v1 = this->yaw - this->yaw_ideal;
|
||||||
return ((-arg1 <= v1) && (v1 <= arg1));
|
return ((-arg1 <= v1) && (v1 <= arg1));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1938,7 +1938,7 @@ void func_8032A88C(Actor *arg0) {
|
||||||
Actorlocal_Core2_9E370 *sp20;
|
Actorlocal_Core2_9E370 *sp20;
|
||||||
|
|
||||||
sp20 = &arg0->local;
|
sp20 = &arg0->local;
|
||||||
arg0->yaw_moving = (f32) func_803297C8(arg0, sp20->unk0);
|
arg0->yaw_ideal = (f32) func_803297C8(arg0, sp20->unk0);
|
||||||
func_80328FB0(arg0, 6.0f);
|
func_80328FB0(arg0, 6.0f);
|
||||||
func_80329030(arg0, 0);
|
func_80329030(arg0, 0);
|
||||||
if ((((arg0->position[0] - sp20->unk0[0]) * (arg0->position[0] - sp20->unk0[0])) + ((arg0->position[2] - sp20->unk0[2]) * (arg0->position[2] - sp20->unk0[2]))) <= 144.0f) {
|
if ((((arg0->position[0] - sp20->unk0[0]) * (arg0->position[0] - sp20->unk0[0])) + ((arg0->position[2] - sp20->unk0[2]) * (arg0->position[2] - sp20->unk0[2]))) <= 144.0f) {
|
||||||
|
|
|
@ -773,7 +773,7 @@ s32 func_803422D4(Actor *arg0, Union_glspline *arg1, glspline_list *arg2) {
|
||||||
if (arg0->marker->unk14_20 == 0x12) {
|
if (arg0->marker->unk14_20 == 0x12) {
|
||||||
arg0->yaw = (f32) func_80342244((s32) arg0->yaw);
|
arg0->yaw = (f32) func_80342244((s32) arg0->yaw);
|
||||||
}
|
}
|
||||||
arg0->yaw_moving = arg0->yaw;
|
arg0->yaw_ideal = arg0->yaw;
|
||||||
}
|
}
|
||||||
if (sp4C != -9999.0f) {
|
if (sp4C != -9999.0f) {
|
||||||
arg0->pitch = sp4C;
|
arg0->pitch = sp4C;
|
||||||
|
@ -932,7 +932,7 @@ s32 func_803422D4(Actor *arg0, Union_glspline *arg1, glspline_list *arg2) {
|
||||||
arg0->unk38_13 = func_80342244(arg0->unk38_13);
|
arg0->unk38_13 = func_80342244(arg0->unk38_13);
|
||||||
arg0->unk38_21 = func_80342244(arg0->unk38_21);
|
arg0->unk38_21 = func_80342244(arg0->unk38_21);
|
||||||
}
|
}
|
||||||
arg0->yaw = arg0->yaw_moving = (f32) arg0->unk38_13;
|
arg0->yaw = arg0->yaw_ideal = (f32) arg0->unk38_13;
|
||||||
arg0->pitch = arg0->unk6C = (f32) arg0->unk78_31;
|
arg0->pitch = arg0->unk6C = (f32) arg0->unk78_31;
|
||||||
}
|
}
|
||||||
if (arg1->t1.unk4.bit17 & 2) {
|
if (arg1->t1.unk4.bit17 & 2) {
|
||||||
|
@ -942,9 +942,9 @@ s32 func_803422D4(Actor *arg0, Union_glspline *arg1, glspline_list *arg2) {
|
||||||
}
|
}
|
||||||
if (!arg0->unk10_4) {
|
if (!arg0->unk10_4) {
|
||||||
if (arg0->unk10_8) {
|
if (arg0->unk10_8) {
|
||||||
arg0->yaw_moving = (f32)arg1->t1.unkC.bit31;
|
arg0->yaw_ideal = (f32)arg1->t1.unkC.bit31;
|
||||||
if (arg0->marker->unk14_20 == 0x12) {
|
if (arg0->marker->unk14_20 == 0x12) {
|
||||||
arg0->yaw_moving = (f32) func_80342244((s32) arg0->yaw_moving);
|
arg0->yaw_ideal = (f32) func_80342244((s32) arg0->yaw_ideal);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (arg0->unk10_7) {
|
if (arg0->unk10_7) {
|
||||||
|
@ -960,7 +960,7 @@ void func_803430B4(Actor *arg0) {
|
||||||
f32 d_yaw;
|
f32 d_yaw;
|
||||||
|
|
||||||
if ((arg0->marker->unk14_20 == 0x12) && (arg0->unk138_30 == 1)) {
|
if ((arg0->marker->unk14_20 == 0x12) && (arg0->unk138_30 == 1)) {
|
||||||
d_yaw = arg0->yaw_moving - arg0->yaw;
|
d_yaw = arg0->yaw_ideal - arg0->yaw;
|
||||||
while (d_yaw >= 360.0f) { d_yaw -= 360.0f; }
|
while (d_yaw >= 360.0f) { d_yaw -= 360.0f; }
|
||||||
while (d_yaw < 0.0f) { d_yaw += 360.0f; }
|
while (d_yaw < 0.0f) { d_yaw += 360.0f; }
|
||||||
|
|
||||||
|
@ -986,7 +986,7 @@ void func_803431D0(Actor *arg0, s32 arg1, s32 arg2, s32 arg3) {
|
||||||
func_8032417C(func_80342038(arg0->unk44_14), arg0->unk48, sp64, sp58);
|
func_8032417C(func_80342038(arg0->unk44_14), arg0->unk48, sp64, sp58);
|
||||||
if (arg1 & 1) {
|
if (arg1 & 1) {
|
||||||
if (arg1 & 0x100) {
|
if (arg1 & 0x100) {
|
||||||
arg0->yaw_moving = sp58[1];
|
arg0->yaw_ideal = sp58[1];
|
||||||
}
|
}
|
||||||
if (arg1 & 0x200) {
|
if (arg1 & 0x200) {
|
||||||
arg0->unk6C = sp58[0];
|
arg0->unk6C = sp58[0];
|
||||||
|
@ -994,9 +994,9 @@ void func_803431D0(Actor *arg0, s32 arg1, s32 arg2, s32 arg3) {
|
||||||
} else {
|
} else {
|
||||||
if (arg1 & 0x100) {
|
if (arg1 & 0x100) {
|
||||||
if (sp58[1] >= 180.0f) {
|
if (sp58[1] >= 180.0f) {
|
||||||
arg0->yaw_moving = sp58[1] - 180.0f;
|
arg0->yaw_ideal = sp58[1] - 180.0f;
|
||||||
} else {
|
} else {
|
||||||
arg0->yaw_moving = sp58[1] + 180.0f;
|
arg0->yaw_ideal = sp58[1] + 180.0f;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (arg1 & 0x200) {
|
if (arg1 & 0x200) {
|
||||||
|
@ -1014,7 +1014,7 @@ void func_803431D0(Actor *arg0, s32 arg1, s32 arg2, s32 arg3) {
|
||||||
}
|
}
|
||||||
sp40[0] = 360.0f - sp40[0];
|
sp40[0] = 360.0f - sp40[0];
|
||||||
}
|
}
|
||||||
arg0->yaw_moving = sp40[1];
|
arg0->yaw_ideal = sp40[1];
|
||||||
arg0->unk6C = sp40[0];
|
arg0->unk6C = sp40[0];
|
||||||
} else {
|
} else {
|
||||||
if ((arg0->unk70 <= arg0->unk48) && (arg0->unk48 < arg0->unk74)) {
|
if ((arg0->unk70 <= arg0->unk48) && (arg0->unk48 < arg0->unk74)) {
|
||||||
|
@ -1024,7 +1024,7 @@ void func_803431D0(Actor *arg0, s32 arg1, s32 arg2, s32 arg3) {
|
||||||
var_f2 = mlDiffDegF(arg0->unk38_21, arg0->unk38_13) * sp3C + arg0->unk38_13;
|
var_f2 = mlDiffDegF(arg0->unk38_21, arg0->unk38_13) * sp3C + arg0->unk38_13;
|
||||||
while (var_f2 >= 360.0f) { var_f2 -= 360.0f; }
|
while (var_f2 >= 360.0f) { var_f2 -= 360.0f; }
|
||||||
while (var_f2 < 0.0f) { var_f2 += 360.0f; }
|
while (var_f2 < 0.0f) { var_f2 += 360.0f; }
|
||||||
arg0->yaw_moving = var_f2;
|
arg0->yaw_ideal = var_f2;
|
||||||
}
|
}
|
||||||
if (arg1 & 0x1000) {
|
if (arg1 & 0x1000) {
|
||||||
var_f2 = mlDiffDegF(arg0->unk78_22, arg0->unk78_31) * sp3C + arg0->unk78_31;
|
var_f2 = mlDiffDegF(arg0->unk78_22, arg0->unk78_31) * sp3C + arg0->unk78_31;
|
||||||
|
@ -1133,7 +1133,7 @@ s32 func_803438E0(Actor *actor, s32 arg1, s32 arg2, s32 arg3) {
|
||||||
sp48 = func_803421A4(actor->unk44_14, actor->unk48);
|
sp48 = func_803421A4(actor->unk44_14, actor->unk48);
|
||||||
if (!actor->unk44_1) {
|
if (!actor->unk44_1) {
|
||||||
actor->unk44_1 = TRUE;
|
actor->unk44_1 = TRUE;
|
||||||
actor->yaw = actor->yaw_moving;
|
actor->yaw = actor->yaw_ideal;
|
||||||
actor->pitch = actor->unk6C;
|
actor->pitch = actor->unk6C;
|
||||||
}
|
}
|
||||||
if ((sp4C == sp48) && (sp44 == 0)) {
|
if ((sp4C == sp48) && (sp44 == 0)) {
|
||||||
|
|
|
@ -12,7 +12,7 @@ void func_80347B10(Struct81s *arg0){
|
||||||
}
|
}
|
||||||
|
|
||||||
void func_80347B54(Struct81s *arg0){
|
void func_80347B54(Struct81s *arg0){
|
||||||
func_802C3C88((GenMethod_1)func_80347B10, reinterpret_cast(s32, arg0));
|
__spawnqueue_add_1((GenMethod_1)func_80347B10, reinterpret_cast(s32, arg0));
|
||||||
}
|
}
|
||||||
|
|
||||||
void func_80347B80(Struct81s *arg0) {
|
void func_80347B80(Struct81s *arg0) {
|
||||||
|
|
|
@ -14,7 +14,7 @@ void func_80347C80(Struct81s *arg0){
|
||||||
}
|
}
|
||||||
|
|
||||||
void func_80347CC8(Struct81s *arg0){
|
void func_80347CC8(Struct81s *arg0){
|
||||||
func_802C3C88((GenMethod_1)func_80347C80, reinterpret_cast(s32, arg0));
|
__spawnqueue_add_1((GenMethod_1)func_80347C80, reinterpret_cast(s32, arg0));
|
||||||
}
|
}
|
||||||
|
|
||||||
void func_80347CF4(Struct81s *arg0) {
|
void func_80347CF4(Struct81s *arg0) {
|
||||||
|
|
|
@ -79,7 +79,7 @@ void func_80347DF0(Struct81s *arg0){
|
||||||
}
|
}
|
||||||
|
|
||||||
void func_80347E34(Struct81s *arg0){
|
void func_80347E34(Struct81s *arg0){
|
||||||
func_802C3C88((GenMethod_1) func_80347DF0, reinterpret_cast(s32, arg0));
|
__spawnqueue_add_1((GenMethod_1) func_80347DF0, reinterpret_cast(s32, arg0));
|
||||||
}
|
}
|
||||||
|
|
||||||
void func_80347E60(Struct81s *arg0) {
|
void func_80347E60(Struct81s *arg0) {
|
||||||
|
|
|
@ -212,7 +212,7 @@ void func_8035E84C(Actor *this) {
|
||||||
func_8035E0D0(this);
|
func_8035E0D0(this);
|
||||||
}
|
}
|
||||||
if (func_8034A6FC(0.73f, 0.76f) && func_80329078(this, (s32) this->yaw, 750) ) {
|
if (func_8034A6FC(0.73f, 0.76f) && func_80329078(this, (s32) this->yaw, 750) ) {
|
||||||
this->yaw_moving = this->yaw;
|
this->yaw_ideal = this->yaw;
|
||||||
this->velocity[0] = 35.0f;
|
this->velocity[0] = 35.0f;
|
||||||
this->unk28 = 19.4444447f;
|
this->unk28 = 19.4444447f;
|
||||||
this->unk38_31 = 0x3A;
|
this->unk38_31 = 0x3A;
|
||||||
|
|
|
@ -100,7 +100,7 @@ void func_8035EEC0(Actor *this){
|
||||||
}
|
}
|
||||||
|
|
||||||
void func_8035EF00(Actor *this, f32 arg1){
|
void func_8035EF00(Actor *this, f32 arg1){
|
||||||
this->yaw_moving = (f32)func_80329784(this);
|
this->yaw_ideal = (f32)func_80329784(this);
|
||||||
func_80328FB0(this, arg1);
|
func_80328FB0(this, arg1);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -248,7 +248,7 @@ void func_8035F138(Actor *this) {
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
this->yaw_moving = (f32)(s32)func_80257204(this->position[0], this->position[2], this->unk1C[0], this->unk1C[2]);
|
this->yaw_ideal = (f32)(s32)func_80257204(this->position[0], this->position[2], this->unk1C[0], this->unk1C[2]);
|
||||||
func_80328FB0(this, 7.0f);
|
func_80328FB0(this, 7.0f);
|
||||||
func_80329030(this, 2);
|
func_80329030(this, 2);
|
||||||
break;
|
break;
|
||||||
|
@ -270,7 +270,7 @@ void func_8035F138(Actor *this) {
|
||||||
func_8035EE48(this);
|
func_8035EE48(this);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
this->yaw_moving = this->velocity[0];
|
this->yaw_ideal = this->velocity[0];
|
||||||
func_80328FB0(this, 7.5f);
|
func_80328FB0(this, 7.5f);
|
||||||
func_80329030(this, 2);
|
func_80329030(this, 2);
|
||||||
break;
|
break;
|
||||||
|
|
|
@ -50,7 +50,7 @@ void func_8035FA48(Actor *this){
|
||||||
|
|
||||||
void func_8035FA74(Actor *this){
|
void func_8035FA74(Actor *this){
|
||||||
ActorLocal_Core2_D89E0 *local = (ActorLocal_Core2_D89E0 *)&this->local;
|
ActorLocal_Core2_D89E0 *local = (ActorLocal_Core2_D89E0 *)&this->local;
|
||||||
this->yaw_moving = local->unk4;
|
this->yaw_ideal = local->unk4;
|
||||||
func_80328A84(this, 5);
|
func_80328A84(this, 5);
|
||||||
actor_loopAnimation(this);
|
actor_loopAnimation(this);
|
||||||
}
|
}
|
||||||
|
@ -197,7 +197,7 @@ void func_8035FFAC(Actor *this, f32 arg1){
|
||||||
void func_80360044(Actor *this) {
|
void func_80360044(Actor *this) {
|
||||||
f32 var_f0;
|
f32 var_f0;
|
||||||
|
|
||||||
var_f0 = this->yaw_moving - this->yaw;
|
var_f0 = this->yaw_ideal - this->yaw;
|
||||||
if (var_f0 >= 180.0f) {
|
if (var_f0 >= 180.0f) {
|
||||||
var_f0 -= 360.0f;
|
var_f0 -= 360.0f;
|
||||||
}
|
}
|
||||||
|
@ -308,7 +308,7 @@ f32 func_803603AC(Actor *this, s32 arg1, u8 arg2){
|
||||||
|
|
||||||
int func_803604E8(Actor *this){
|
int func_803604E8(Actor *this){
|
||||||
f32 tmp_f0;
|
f32 tmp_f0;
|
||||||
this->yaw_moving = (f32) func_80329784(this);
|
this->yaw_ideal = (f32) func_80329784(this);
|
||||||
tmp_f0 = func_803603AC(this, 170, 1);
|
tmp_f0 = func_803603AC(this, 170, 1);
|
||||||
func_8035FFAC(this, tmp_f0);
|
func_8035FFAC(this, tmp_f0);
|
||||||
if(!func_80360198(this)){
|
if(!func_80360198(this)){
|
||||||
|
@ -323,7 +323,7 @@ bool func_8036054C(Actor *this) {
|
||||||
s32 phi_s2;
|
s32 phi_s2;
|
||||||
|
|
||||||
if (this->unk60 == 0.0f) {
|
if (this->unk60 == 0.0f) {
|
||||||
this->yaw_moving = func_80257204(this->position[0], this->position[2], this->unk1C[0], this->unk1C[2]);
|
this->yaw_ideal = func_80257204(this->position[0], this->position[2], this->unk1C[0], this->unk1C[2]);
|
||||||
func_8035FFAC(this, func_803603AC(this, -110, 2));
|
func_8035FFAC(this, func_803603AC(this, -110, 2));
|
||||||
}
|
}
|
||||||
else{
|
else{
|
||||||
|
@ -341,16 +341,16 @@ bool func_8036054C(Actor *this) {
|
||||||
phi_s1 = 0;
|
phi_s1 = 0;
|
||||||
do{
|
do{
|
||||||
if (this->unk38_0) {
|
if (this->unk38_0) {
|
||||||
phi_v0 = func_80329140(this, (s32) this->yaw_moving, 0xC8);
|
phi_v0 = func_80329140(this, (s32) this->yaw_ideal, 0xC8);
|
||||||
} else {
|
} else {
|
||||||
phi_v0 = func_80329078(this, (s32) this->yaw_moving, 0xC8);
|
phi_v0 = func_80329078(this, (s32) this->yaw_ideal, 0xC8);
|
||||||
}
|
}
|
||||||
|
|
||||||
if(phi_v0 == 0){
|
if(phi_v0 == 0){
|
||||||
phi_s1++;
|
phi_s1++;
|
||||||
this->yaw_moving += 30.0f;
|
this->yaw_ideal += 30.0f;
|
||||||
if (this->yaw_moving >= 360.0f) {
|
if (this->yaw_ideal >= 360.0f) {
|
||||||
this->yaw_moving -= 360.0f;
|
this->yaw_ideal -= 360.0f;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} while ( phi_v0 == 0 && phi_s1 < 0xC);
|
} while ( phi_v0 == 0 && phi_s1 < 0xC);
|
||||||
|
|
|
@ -232,13 +232,13 @@ void gcparade_setState(enum parade_state_e next_state) {
|
||||||
break;
|
break;
|
||||||
case PARADE_STATE_5_WAIT_ON_NAME:
|
case PARADE_STATE_5_WAIT_ON_NAME:
|
||||||
if ((D_803830F0.parade_id == 1) && (D_803830F0.parade_element->exit >= 0)) {
|
if ((D_803830F0.parade_id == 1) && (D_803830F0.parade_element->exit >= 0)) {
|
||||||
timedFunc_set_1(2.0f, (TFQM1)gcparade_setState, PARADE_STATE_6_NAME_DISAPPEAR);// queue state transition
|
timedFunc_set_1(2.0f, (GenMethod_1)gcparade_setState, PARADE_STATE_6_NAME_DISAPPEAR);// queue state transition
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case PARADE_STATE_7_GOTO_NEXT:
|
case PARADE_STATE_7_GOTO_NEXT:
|
||||||
D_803830F0.indx++;
|
D_803830F0.indx++;
|
||||||
D_803830F0.parade_element++;
|
D_803830F0.parade_element++;
|
||||||
timedFunc_set_1(0.25f, (TFQM1)gcparade_setState, (D_803830F0.indx == D_803830F0.count) ? PARADE_STATE_8_END : PARADE_STATE_3_WARP);
|
timedFunc_set_1(0.25f, (GenMethod_1)gcparade_setState, (D_803830F0.indx == D_803830F0.count) ? PARADE_STATE_8_END : PARADE_STATE_3_WARP);
|
||||||
break;
|
break;
|
||||||
case PARADE_STATE_8_END:
|
case PARADE_STATE_8_END:
|
||||||
func_803204E4(0x1F, 0);
|
func_803204E4(0x1F, 0);
|
||||||
|
@ -294,13 +294,13 @@ void gcparade_update(void) {
|
||||||
sp34 = 0xA0;
|
sp34 = 0xA0;
|
||||||
if (D_803830F0.parade_element->exit >= 0)
|
if (D_803830F0.parade_element->exit >= 0)
|
||||||
sp34 = 0xA8;
|
sp34 = 0xA8;
|
||||||
timedFunc_set_1(1.0f, (TFQM1)func_80311714, 0);
|
timedFunc_set_1(1.0f, (GenMethod_1)func_80311714, 0);
|
||||||
func_80324DBC(1.0f, D_803830F0.indx + 0x11AF, sp34, NULL, NULL, gcparade_textCallback, NULL);
|
func_80324DBC(1.0f, D_803830F0.indx + 0x11AF, sp34, NULL, NULL, gcparade_textCallback, NULL);
|
||||||
timedFunc_set_1(1.0f, (TFQM1)func_80311714, 1);
|
timedFunc_set_1(1.0f, (GenMethod_1)func_80311714, 1);
|
||||||
} else if (D_803830F0.parade_element->exit >= 0) {
|
} else if (D_803830F0.parade_element->exit >= 0) {
|
||||||
func_8028F918(2);
|
func_8028F918(2);
|
||||||
}
|
}
|
||||||
timedFunc_set_1(1.0f, (TFQM1)gcparade_setState, PARADE_STATE_4_NAME_APPEAR);
|
timedFunc_set_1(1.0f, (GenMethod_1)gcparade_setState, PARADE_STATE_4_NAME_APPEAR);
|
||||||
D_803830F0.unk5 = 1;
|
D_803830F0.unk5 = 1;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -13,7 +13,7 @@ typedef struct timed_function_queue_s{
|
||||||
u8 pad5[3];
|
u8 pad5[3];
|
||||||
union {
|
union {
|
||||||
TFQM0 func0;
|
TFQM0 func0;
|
||||||
TFQM1 func1;
|
GenMethod_1 func1;
|
||||||
TFQM2 func2;
|
TFQM2 func2;
|
||||||
TFQM3 func3;
|
TFQM3 func3;
|
||||||
TFQM4 func4;
|
TFQM4 func4;
|
||||||
|
@ -174,7 +174,7 @@ void func_80324CFC(f32 time, s32 id, s32 volume){
|
||||||
}
|
}
|
||||||
|
|
||||||
void func_80324D2C(f32 time, enum comusic_e arg0){
|
void func_80324D2C(f32 time, enum comusic_e arg0){
|
||||||
timedFunc_set_1(time, (TFQM1) func_80324A48, arg0);
|
timedFunc_set_1(time, (GenMethod_1) func_80324A48, arg0);
|
||||||
}
|
}
|
||||||
|
|
||||||
void func_80324D54(f32 time, enum sfx_e sfx_id, f32 arg2, s32 arg3, f32 position[3], f32 arg5, f32 arg6){
|
void func_80324D54(f32 time, enum sfx_e sfx_id, f32 arg2, s32 arg3, f32 position[3], f32 arg5, f32 arg6){
|
||||||
|
@ -212,11 +212,11 @@ void func_80324DBC(f32 time, enum asset_e text_id, s32 arg2, f32 position[3], Ac
|
||||||
|
|
||||||
|
|
||||||
void func_80324E38(f32 time, s32 arg0){
|
void func_80324E38(f32 time, s32 arg0){
|
||||||
timedFunc_set_1(time, (TFQM1) func_80324BA0, arg0);
|
timedFunc_set_1(time, (GenMethod_1) func_80324BA0, arg0);
|
||||||
}
|
}
|
||||||
|
|
||||||
void timed_setCameraToNode(f32 time, s32 arg0){
|
void timed_setCameraToNode(f32 time, s32 arg0){
|
||||||
timedFunc_set_1(time, (TFQM1) set_camera_to_node, arg0);
|
timedFunc_set_1(time, (GenMethod_1) set_camera_to_node, arg0);
|
||||||
}
|
}
|
||||||
|
|
||||||
void func_80324E88(f32 time){
|
void func_80324E88(f32 time){
|
||||||
|
@ -227,7 +227,7 @@ void timedFunc_set_0(f32 time, TFQM0 funcPtr){
|
||||||
__timedFuncQueue_insert(time, 0, (void *) funcPtr, 0, 0, 0, 0, 0);
|
__timedFuncQueue_insert(time, 0, (void *) funcPtr, 0, 0, 0, 0, 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
void timedFunc_set_1(f32 time, TFQM1 funcPtr, s32 arg0){
|
void timedFunc_set_1(f32 time, GenMethod_1 funcPtr, s32 arg0){
|
||||||
__timedFuncQueue_insert(time, 1, (void *) funcPtr, arg0, 0, 0, 0, 0);
|
__timedFuncQueue_insert(time, 1, (void *) funcPtr, arg0, 0, 0, 0, 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -24,25 +24,29 @@ ActorAnimationInfo D_80391810[] = {
|
||||||
};
|
};
|
||||||
|
|
||||||
ActorInfo D_80391840 = {
|
ActorInfo D_80391840 = {
|
||||||
0x27B, 0x3A5, 0x3BC, 0x1, D_80391810,
|
MARKER_27B_BOSS_JINJO_ORANGE, ACTOR_3A5_BOSS_JINJO_ORANGE, ASSET_3BC_MODEL_JINJO_ORANGE,
|
||||||
|
0x1, D_80391810,
|
||||||
func_8038C840, func_8038D014, func_80325888,
|
func_8038C840, func_8038D014, func_80325888,
|
||||||
0, 0, 1.0f, 0
|
0, 0, 1.0f, 0
|
||||||
};
|
};
|
||||||
|
|
||||||
ActorInfo D_80391864 = {
|
ActorInfo D_80391864 = {
|
||||||
0x27C, 0x3A6, 0x3C2, 0x1, D_80391810,
|
MARKER_27C_BOSS_JINJO_GREEN, ACTOR_3A6_BOSS_JINJO_GREEN, ASSET_3C2_MODEL_JINJO_GREEN,
|
||||||
|
0x1, D_80391810,
|
||||||
func_8038C840, func_8038D014, func_80325888,
|
func_8038C840, func_8038D014, func_80325888,
|
||||||
0, 0, 1.0f, 0
|
0, 0, 1.0f, 0
|
||||||
};
|
};
|
||||||
|
|
||||||
ActorInfo D_80391888 = {
|
ActorInfo D_80391888 = {
|
||||||
0x27D, 0x3A7, 0x3C1, 0x1, D_80391810,
|
MARKER_27D_BOSS_JINJO_PINK, ACTOR_3A7_BOSS_JINJO_PINK, ASSET_3C1_MODEL_JINJO_PINK,
|
||||||
|
0x1, D_80391810,
|
||||||
func_8038C840, func_8038D014, func_80325888,
|
func_8038C840, func_8038D014, func_80325888,
|
||||||
0, 0, 1.0f, 0
|
0, 0, 1.0f, 0
|
||||||
};
|
};
|
||||||
|
|
||||||
ActorInfo D_803918AC = {
|
ActorInfo D_803918AC = {
|
||||||
0x27E, 0x3A8, 0x3BB, 0x1, D_80391810,
|
MARKER_27E_BOSS_JINJO_YELLOW, ACTOR_3A8_BOSS_JINJO_YELLOW, ASSET_3BB_MODEL_JINJO_YELLOW,
|
||||||
|
0x1, D_80391810,
|
||||||
func_8038C840, func_8038D014, func_80325888,
|
func_8038C840, func_8038D014, func_80325888,
|
||||||
0, 0, 1.0f, 0
|
0, 0, 1.0f, 0
|
||||||
};
|
};
|
||||||
|
@ -114,7 +118,7 @@ void func_8038C5BC(void){
|
||||||
func_80386654(1.0f, &D_80391948, &D_80391958);
|
func_80386654(1.0f, &D_80391948, &D_80391958);
|
||||||
}
|
}
|
||||||
|
|
||||||
void func_8038C5F0(Actor *this, enum asset_e arg1, enum asset_e arg2, f32 arg3){
|
void chbossjinjo_spawnParticles(Actor *this, enum asset_e arg1, enum asset_e arg2, f32 arg3){
|
||||||
f32 sp1C[3];
|
f32 sp1C[3];
|
||||||
func_8038C0DC(&sp1C);
|
func_8038C0DC(&sp1C);
|
||||||
func_8038C2C0(this->position, 0x20, arg1, arg3);
|
func_8038C2C0(this->position, 0x20, arg1, arg3);
|
||||||
|
@ -123,32 +127,32 @@ void func_8038C5F0(Actor *this, enum asset_e arg1, enum asset_e arg2, f32 arg3){
|
||||||
timedFunc_set_0(0.3f, func_8038C5BC);
|
timedFunc_set_0(0.3f, func_8038C5BC);
|
||||||
}
|
}
|
||||||
|
|
||||||
void func_8038C674(Actor *this){
|
void chbossjinjo_spawnAttackParticles(Actor *this){
|
||||||
s32 a1;
|
s32 sparkle_sprite_id;
|
||||||
s32 a2;
|
s32 smoke_sprite_id;
|
||||||
switch(this->marker->unk14_20){
|
switch(this->marker->unk14_20){
|
||||||
default:
|
default:
|
||||||
a1 = ASSET_718_SPRITE_SPARKLE_WHITE_2;
|
sparkle_sprite_id = ASSET_718_SPRITE_SPARKLE_WHITE_2;
|
||||||
a2 = ASSET_6C2_SPRITE_SMOKE_WHITE;
|
smoke_sprite_id = ASSET_6C2_SPRITE_SMOKE_WHITE;
|
||||||
break;
|
break;
|
||||||
case 0x27b:
|
case MARKER_27B_BOSS_JINJO_ORANGE:
|
||||||
a1 = ASSET_71B_SPRITE_SPARKLE_ORANGE_2;
|
sparkle_sprite_id = ASSET_71B_SPRITE_SPARKLE_ORANGE_2;
|
||||||
a2 = ASSET_6C5_SPRITE_SMOKE_ORANGE;
|
smoke_sprite_id = ASSET_6C5_SPRITE_SMOKE_ORANGE;
|
||||||
break;
|
break;
|
||||||
case 0x27c:
|
case MARKER_27C_BOSS_JINJO_GREEN:
|
||||||
a1 = ASSET_719_SPRITE_SPARKLE_GREEN_2;
|
sparkle_sprite_id = ASSET_719_SPRITE_SPARKLE_GREEN_2;
|
||||||
a2 = ASSET_6C3_SPRITE_SMOKE_GREEN;
|
smoke_sprite_id = ASSET_6C3_SPRITE_SMOKE_GREEN;
|
||||||
break;
|
break;
|
||||||
case 0x27d:
|
case MARKER_27D_BOSS_JINJO_PINK:
|
||||||
a1 = ASSET_71A_SPRITE_SPARKLE_PINK_2;
|
sparkle_sprite_id = ASSET_71A_SPRITE_SPARKLE_PINK_2;
|
||||||
a2 = ASSET_6C6_SPRITE_SMOKE_PINK;
|
smoke_sprite_id = ASSET_6C6_SPRITE_SMOKE_PINK;
|
||||||
break;
|
break;
|
||||||
case 0x27e:
|
case MARKER_27E_BOSS_JINJO_YELLOW:
|
||||||
a1 = ASSET_717_SPRITE_SPARKLE_YELLOW_2;
|
sparkle_sprite_id = ASSET_717_SPRITE_SPARKLE_YELLOW_2;
|
||||||
a2 = ASSET_6C4_SPRITE_SMOKE_YELLOW;
|
smoke_sprite_id = ASSET_6C4_SPRITE_SMOKE_YELLOW;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
func_8038C5F0(this, a1, a2, 1.0f);
|
chbossjinjo_spawnParticles(this, sparkle_sprite_id, smoke_sprite_id, 1.0f);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -313,7 +317,7 @@ void func_8038C840(Actor *this){
|
||||||
}//L8038CEC8
|
}//L8038CEC8
|
||||||
}
|
}
|
||||||
|
|
||||||
void func_8038CED8(f32 arg0[3], s32 arg1, f32 arg2, f32 arg3){
|
void func_8038CED8(f32 arg0[3], enum asset_e model_id, f32 arg2, f32 arg3){
|
||||||
ParticleEmitter *s0 = partEmitList_pushNew(1);
|
ParticleEmitter *s0 = partEmitList_pushNew(1);
|
||||||
f32 sp40[3];
|
f32 sp40[3];
|
||||||
f32 sp34[3];
|
f32 sp34[3];
|
||||||
|
@ -325,7 +329,7 @@ void func_8038CED8(f32 arg0[3], s32 arg1, f32 arg2, f32 arg3){
|
||||||
sp34[2] = sp40[2] - arg0[2];
|
sp34[2] = sp40[2] - arg0[2];
|
||||||
ml_vec3f_set_length(sp34, 20.0f);
|
ml_vec3f_set_length(sp34, 20.0f);
|
||||||
|
|
||||||
particleEmitter_setModel(s0, arg1);
|
particleEmitter_setModel(s0, model_id);
|
||||||
particleEmitter_setPosition(s0, arg0);
|
particleEmitter_setPosition(s0, arg0);
|
||||||
particleEmitter_setParticleVelocityRange(s0, sp34[0], sp34[1], sp34[2], sp34[0], sp34[1], sp34[2]);
|
particleEmitter_setParticleVelocityRange(s0, sp34[0], sp34[1], sp34[2], sp34[0], sp34[1], sp34[2]);
|
||||||
D_80391968.unk20 = arg3;
|
D_80391968.unk20 = arg3;
|
||||||
|
@ -369,16 +373,16 @@ void func_8038D014(Actor *this){
|
||||||
marker_despawn(this->marker);
|
marker_despawn(this->marker);
|
||||||
switch (this->marker->unk14_20)
|
switch (this->marker->unk14_20)
|
||||||
{
|
{
|
||||||
case 0x27b:
|
case MARKER_27B_BOSS_JINJO_ORANGE:
|
||||||
temp_a1 = 0x557;
|
temp_a1 = 0x557;
|
||||||
break;
|
break;
|
||||||
case 0x27c:
|
case MARKER_27C_BOSS_JINJO_GREEN:
|
||||||
temp_a1 = 0x558;
|
temp_a1 = 0x558;
|
||||||
break;
|
break;
|
||||||
case 0x27d:
|
case MARKER_27D_BOSS_JINJO_PINK:
|
||||||
temp_a1 = 0x559;
|
temp_a1 = 0x559;
|
||||||
break;
|
break;
|
||||||
case 0x27e:
|
case MARKER_27E_BOSS_JINJO_YELLOW:
|
||||||
temp_a1 = 0x556;
|
temp_a1 = 0x556;
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
|
@ -393,13 +397,13 @@ void func_8038D014(Actor *this){
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void func_8038D214(ActorMarker *marker){
|
void chbossjinjo_attack(ActorMarker *marker){
|
||||||
Actor *actor = marker_getActor(marker);
|
Actor *actor = marker_getActor(marker);
|
||||||
func_8038C674(actor);
|
chbossjinjo_spawnAttackParticles(actor);
|
||||||
FUNC_8030E8B4(SFX_1B_EXPLOSION_1, 1.0f, 32000, actor->position, 1000, 6500);
|
FUNC_8030E8B4(SFX_1B_EXPLOSION_1, 1.0f, 32000, actor->position, 1000, 6500);
|
||||||
marker_despawn(actor->marker);
|
marker_despawn(actor->marker);
|
||||||
}
|
}
|
||||||
|
|
||||||
f32 func_8038D268(void){
|
f32 chbossjinjo_8038D268(void){
|
||||||
return 2.26f;
|
return 2.26f;
|
||||||
}
|
}
|
|
@ -10,7 +10,8 @@ void func_8038D568(Actor *this);
|
||||||
|
|
||||||
/* .data */
|
/* .data */
|
||||||
ActorInfo D_80391990 = {
|
ActorInfo D_80391990 = {
|
||||||
0x27A, 0x3A2, 0x543, 0x1, NULL,
|
MARKER_27A_JINJO_STATUE_BASE, ACTOR_3A2_JINJO_STATUE_BASE, ASSET_543_MODEL_JINJO_STATUE_BASE,
|
||||||
|
0x1, NULL,
|
||||||
func_8038D568, func_80326224, func_80325888,
|
func_8038D568, func_80326224, func_80325888,
|
||||||
0, 0x800, 0.0f, 0
|
0, 0x800, 0.0f, 0
|
||||||
};
|
};
|
||||||
|
@ -26,9 +27,9 @@ struct31s D_803919C0 = {
|
||||||
};
|
};
|
||||||
|
|
||||||
/* .code */
|
/* .code */
|
||||||
void func_8038D280(ActorMarker *arg0) {
|
void chbossjinjobase_spawnStoneJinjo(ActorMarker *arg0) {
|
||||||
Actor *sp1C = marker_getActor(arg0);
|
Actor *sp1C = marker_getActor(arg0);
|
||||||
Actor *temp_v0 = spawn_child_actor(0x3A1, &sp1C);
|
Actor *temp_v0 = spawn_child_actor(ACTOR_3A1_STONE_JINJO, &sp1C);
|
||||||
|
|
||||||
temp_v0->unkF4_8 = sp1C->unkF4_8;
|
temp_v0->unkF4_8 = sp1C->unkF4_8;
|
||||||
temp_v0->position_y = temp_v0->position_y + 172.0f;
|
temp_v0->position_y = temp_v0->position_y + 172.0f;
|
||||||
|
@ -66,7 +67,7 @@ void func_8038D428(ActorMarker *arg0, ActorMarker *arg1) {
|
||||||
temp_v0->unk38_31++;
|
temp_v0->unk38_31++;
|
||||||
if (temp_v0->unk38_31 >= 3) {
|
if (temp_v0->unk38_31 >= 3) {
|
||||||
func_80328A84(temp_v0, 3);
|
func_80328A84(temp_v0, 3);
|
||||||
func_8038DE98(temp_v0->unk100);
|
chstonejinjo_breakOpen(temp_v0->unk100);
|
||||||
func_8038D3DC(temp_v0, 0x19A, -100.0f, 0.0f, 1.2f);
|
func_8038D3DC(temp_v0, 0x19A, -100.0f, 0.0f, 1.2f);
|
||||||
func_80324D54(1.2f, SFX_90_SWITCH_PRESS, 1.0f, 32000, temp_v0->position, 1000.0f, 2000.0f);
|
func_80324D54(1.2f, SFX_90_SWITCH_PRESS, 1.0f, 32000, temp_v0->position, 1000.0f, 2000.0f);
|
||||||
}
|
}
|
||||||
|
@ -106,13 +107,13 @@ void func_8038D568(Actor *this){
|
||||||
actor_collisionOn(this);
|
actor_collisionOn(this);
|
||||||
this->unk38_31 = 0;
|
this->unk38_31 = 0;
|
||||||
this->unk44_31 = func_8030D90C();
|
this->unk44_31 = func_8030D90C();
|
||||||
sfxsource_setSfxId(this->unk44_31, 0x3f9);
|
sfxsource_setSfxId(this->unk44_31, SFX_3F9_UNKNOWN);
|
||||||
func_8030DD14(this->unk44_31, 2);
|
func_8030DD14(this->unk44_31, 2);
|
||||||
func_8030DBB4(this->unk44_31, 1.4f);
|
func_8030DBB4(this->unk44_31, 1.4f);
|
||||||
sfxsource_setSampleRate(this->unk44_31, 32000);
|
sfxsource_setSampleRate(this->unk44_31, 32000);
|
||||||
|
|
||||||
local->unk0 = func_8030D90C();
|
local->unk0 = func_8030D90C();
|
||||||
sfxsource_setSfxId(local->unk0, 0x405);
|
sfxsource_setSfxId(local->unk0, SFX_405_UNKNOWN);
|
||||||
func_8030DD14(local->unk0, 2);
|
func_8030DD14(local->unk0, 2);
|
||||||
func_8030DBB4(local->unk0, 0.7f);
|
func_8030DBB4(local->unk0, 0.7f);
|
||||||
sfxsource_setSampleRate(local->unk0, 12000);
|
sfxsource_setSampleRate(local->unk0, 12000);
|
||||||
|
@ -128,14 +129,14 @@ void func_8038D568(Actor *this){
|
||||||
func_802BB3DC(0, 8.0f, 0.92f);
|
func_802BB3DC(0, 8.0f, 0.92f);
|
||||||
func_802C3F04((GenMethod_4)func_802C4140, 0x3ad, *(s32*)&this->unk1C[0], *(s32*)&this->unk1C[1], *(s32*)&this->unk1C[2]);
|
func_802C3F04((GenMethod_4)func_802C4140, 0x3ad, *(s32*)&this->unk1C[0], *(s32*)&this->unk1C[1], *(s32*)&this->unk1C[2]);
|
||||||
func_8038D2EC(this->unk1C, 0x10);
|
func_8038D2EC(this->unk1C, 0x10);
|
||||||
func_802C3C88((GenMethod_1)func_8038D280, reinterpret_cast(s32, this->marker));
|
SPAWNQUEUE_ADD_1(chbossjinjobase_spawnStoneJinjo, this->marker);
|
||||||
}
|
}
|
||||||
else{//L8038D774
|
else{//L8038D774
|
||||||
if(this->state == 1){
|
if(this->state == 1){
|
||||||
other = marker_getActor(this->unk100);
|
other = marker_getActor(this->unk100);
|
||||||
sp3C = this->velocity_y * sp48;
|
sp3C = this->velocity_y * sp48;
|
||||||
if(this->position_y + sp3C < this->unk1C[1]){
|
if(this->position_y + sp3C < this->unk1C[1]){
|
||||||
if(!func_8031FF1C(0xd2) || this->unkF4_8 == 1){
|
if( !func_8031FF1C(BKPROG_D2_HAS_SPAWNED_A_JINJO_STATUE_IN_FINAL_FIGHT) || this->unkF4_8 == 1){
|
||||||
func_8030E2C4(this->unk44_31);
|
func_8030E2C4(this->unk44_31);
|
||||||
func_8030E2C4(local->unk0);
|
func_8030E2C4(local->unk0);
|
||||||
}
|
}
|
|
@ -0,0 +1,30 @@
|
||||||
|
#include <ultra64.h>
|
||||||
|
#include "functions.h"
|
||||||
|
#include "variables.h"
|
||||||
|
|
||||||
|
Actor *chbossshadow_draw(ActorMarker *marker, Gfx **gdl, Mtx **mptr, Vtx **arg3);
|
||||||
|
void chbossshadow_update(Actor *this);
|
||||||
|
|
||||||
|
/* .data */
|
||||||
|
ActorInfo D_80392090 = {
|
||||||
|
MARKER_288_GRUNTY_SHADOW, ACTOR_3AF_GRUNTY_SHADOW, ASSET_3BF_MODEL_PLAYER_SHADOW, 0x1, NULL,
|
||||||
|
chbossshadow_update, func_80326224, chbossshadow_draw,
|
||||||
|
0, 0, 0.0f, 0
|
||||||
|
};
|
||||||
|
|
||||||
|
/* .code */
|
||||||
|
Actor *chbossshadow_draw(ActorMarker *marker, Gfx **gdl, Mtx **mptr, Vtx **arg3){
|
||||||
|
f32 sp34[3];
|
||||||
|
f32 sp30;
|
||||||
|
Actor *this;
|
||||||
|
this = func_80325300(marker, sp34);
|
||||||
|
sp30 = this->scale * ml_map_f(this->unk1C[0], 0.0f, 1000.0f, 1.75f, 0.9f);
|
||||||
|
set_model_render_mode(2);
|
||||||
|
func_803391A4(gdl, mptr, this->position, sp34, sp30, NULL, func_80330B1C(marker));
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void chbossshadow_update(Actor *this){
|
||||||
|
actor_collisionOff(this);
|
||||||
|
}
|
File diff suppressed because it is too large
Load Diff
|
@ -9,7 +9,7 @@ extern void func_802F9E44(s32, f32, f32, f32, f32);
|
||||||
extern void func_80387470(Actor *, f32 [3], f32, f32, f32, f32, f32);
|
extern void func_80387470(Actor *, f32 [3], f32, f32, f32, f32, f32);
|
||||||
extern void func_8038C0DC(f32[3]);
|
extern void func_8038C0DC(f32[3]);
|
||||||
|
|
||||||
extern void func_8038C5F0(Actor *, enum asset_e, enum asset_e, f32);
|
extern void chbossjinjo_spawnParticles(Actor *, enum asset_e, enum asset_e, f32);
|
||||||
|
|
||||||
typedef struct{
|
typedef struct{
|
||||||
f32 unk0;
|
f32 unk0;
|
||||||
|
@ -23,7 +23,7 @@ typedef struct{
|
||||||
s32 unk28;
|
s32 unk28;
|
||||||
}ActorLocal_fight_9850;
|
}ActorLocal_fight_9850;
|
||||||
|
|
||||||
void func_8039049C(Actor *this);
|
void chjinjonator_update(Actor *this);
|
||||||
|
|
||||||
/* .data */
|
/* .data */
|
||||||
|
|
||||||
|
@ -45,13 +45,24 @@ ActorAnimationInfo D_80391FB0[] = {
|
||||||
};
|
};
|
||||||
|
|
||||||
ActorInfo D_80392018 = {
|
ActorInfo D_80392018 = {
|
||||||
0x285, 0x3AC, 0x551, 0x1, D_80391FB0,
|
MARKER_285_JINJONATOR, ACTOR_3AC_JINJONATOR, ASSET_551_MODEL_JINJONATOR,
|
||||||
func_8039049C, func_80326224, func_80325888,
|
0x1, D_80391FB0,
|
||||||
|
chjinjonator_update, func_80326224, func_80325888,
|
||||||
0, 0, 1.0f, 0
|
0, 0, 1.0f, 0
|
||||||
};
|
};
|
||||||
|
|
||||||
s32 D_8039203C[] = {0xDC, 0x96, 0x82, 0xB4, 0xD2, 0xAA, 0xC8, 0x96, 0xB4};
|
s32 D_8039203C[] = {0xDC, 0x96, 0x82, 0xB4, 0xD2, 0xAA, 0xC8, 0x96, 0xB4};
|
||||||
s32 D_80392060[] = {0x9A, 0x9B, 0x9C, 0x9D, 0x9E, 0x9F, 0xA0, 0xA1, 0xA2};
|
s32 D_80392060[] = {
|
||||||
|
COMUSIC_9A_JINJONATOR_HITS_GRUNTY_A,
|
||||||
|
COMUSIC_9B_JINJONATOR_HITS_GRUNTY_B,
|
||||||
|
COMUSIC_9C_JINJONATOR_HITS_GRUNTY_C,
|
||||||
|
COMUSIC_9D_JINJONATOR_HITS_GRUNTY_D,
|
||||||
|
COMUSIC_9E_JINJONATOR_HITS_GRUNTY_E,
|
||||||
|
COMUSIC_9F_JINJONATOR_HITS_GRUNTY_F,
|
||||||
|
COMUSIC_A0_JINJONATOR_HITS_GRUNTY_G,
|
||||||
|
COMUSIC_A1_JINJONATOR_HITS_GRUNTY_H,
|
||||||
|
COMUSIC_A2_JINJONATOR_HITS_GRUNTY_I
|
||||||
|
};
|
||||||
|
|
||||||
/* .bss */
|
/* .bss */
|
||||||
f32 D_80392720;
|
f32 D_80392720;
|
||||||
|
@ -59,7 +70,7 @@ f32 D_80392724;
|
||||||
f32 D_80392920[3];
|
f32 D_80392920[3];
|
||||||
|
|
||||||
/* .code */
|
/* .code */
|
||||||
void func_80390130(f32 position[3], int count, enum asset_e sprite_id){
|
void chjinjonator_80390130(f32 position[3], int count, enum asset_e sprite_id){
|
||||||
ParticleEmitter *s0 = partEmitList_pushNew(count);
|
ParticleEmitter *s0 = partEmitList_pushNew(count);
|
||||||
particleEmitter_setSprite(s0, sprite_id);
|
particleEmitter_setSprite(s0, sprite_id);
|
||||||
particleEmitter_setStartingFrameRange(s0, 1, 6);
|
particleEmitter_setStartingFrameRange(s0, 1, 6);
|
||||||
|
@ -76,18 +87,18 @@ void func_80390130(f32 position[3], int count, enum asset_e sprite_id){
|
||||||
particleEmitter_emitN(s0, count);
|
particleEmitter_emitN(s0, count);
|
||||||
}
|
}
|
||||||
|
|
||||||
void func_80390278(Actor *this){
|
void chjinjonator_80390278(Actor *this){
|
||||||
f32 sp34[3];
|
f32 sp34[3];
|
||||||
int i;
|
int i;
|
||||||
for(i = 0; i < 4; i++){
|
for(i = 0; i < 4; i++){
|
||||||
if(randf() < 0.3){
|
if(randf() < 0.3){
|
||||||
func_8034A174(this->marker->unk44, i + 5, sp34);
|
func_8034A174(this->marker->unk44, i + 5, sp34);
|
||||||
func_80390130(sp34, 1, ASSET_718_SPRITE_SPARKLE_WHITE_2);
|
chjinjonator_80390130(sp34, 1, ASSET_718_SPRITE_SPARKLE_WHITE_2);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void func_80390318(Actor *this, s32 arg1){
|
void chjinjonator_spawnAttackParticles(Actor *this, s32 arg1){
|
||||||
s32 sp1C;
|
s32 sp1C;
|
||||||
s32 sp18;
|
s32 sp18;
|
||||||
|
|
||||||
|
@ -118,16 +129,16 @@ void func_80390318(Actor *this, s32 arg1){
|
||||||
sp18 = ASSET_6C2_SPRITE_SMOKE_WHITE;
|
sp18 = ASSET_6C2_SPRITE_SMOKE_WHITE;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
func_8038C5F0(this, sp1C, sp18, 2.0f);
|
chbossjinjo_spawnParticles(this, sp1C, sp18, 2.0f);
|
||||||
}
|
}
|
||||||
|
|
||||||
void func_803903C4(Actor *this){
|
void chjinjonator_803903C4(Actor *this){
|
||||||
animctrl_setSmoothTransition(this->animctrl, FALSE);
|
animctrl_setSmoothTransition(this->animctrl, FALSE);
|
||||||
func_80328B8C(this, 7, 0.001f, 1);
|
func_80328B8C(this, 7, 0.001f, 1);
|
||||||
actor_loopAnimation(this);
|
actor_loopAnimation(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
void func_8039040C(Actor *this){
|
void chjinjonator_8039040C(Actor *this){
|
||||||
ActorLocal_fight_9850 *local = (ActorLocal_fight_9850 *)&this->local;
|
ActorLocal_fight_9850 *local = (ActorLocal_fight_9850 *)&this->local;
|
||||||
f32 tick = time_getDelta();
|
f32 tick = time_getDelta();
|
||||||
|
|
||||||
|
@ -137,7 +148,7 @@ void func_8039040C(Actor *this){
|
||||||
func_8030E2C4(this->unk44_31);
|
func_8030E2C4(this->unk44_31);
|
||||||
}
|
}
|
||||||
|
|
||||||
void func_8039049C(Actor *this){
|
void chjinjonator_update(Actor *this){
|
||||||
ActorLocal_fight_9850 *local = (ActorLocal_fight_9850 *)&this->local;
|
ActorLocal_fight_9850 *local = (ActorLocal_fight_9850 *)&this->local;
|
||||||
f32 sp58;
|
f32 sp58;
|
||||||
f32 sp54;
|
f32 sp54;
|
||||||
|
@ -170,7 +181,7 @@ void func_8039049C(Actor *this){
|
||||||
|
|
||||||
switch(this->state){
|
switch(this->state){
|
||||||
case 1: //803905D4
|
case 1: //803905D4
|
||||||
func_8039040C(this);
|
chjinjonator_8039040C(this);
|
||||||
animctrl_setAnimTimer(this->animctrl, 0.0f);
|
animctrl_setAnimTimer(this->animctrl, 0.0f);
|
||||||
this->unk60 -= sp58;
|
this->unk60 -= sp58;
|
||||||
if(this->unk60 < 0.0){
|
if(this->unk60 < 0.0){
|
||||||
|
@ -180,7 +191,7 @@ void func_8039049C(Actor *this){
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 2: //80390648
|
case 2: //80390648
|
||||||
func_8039040C(this);
|
chjinjonator_8039040C(this);
|
||||||
if(actor_animationIsAt(this, 0.27f))
|
if(actor_animationIsAt(this, 0.27f))
|
||||||
FUNC_8030E624(SFX_D0_GRIMLET_SQUEAK, 0.7f, 29000);
|
FUNC_8030E624(SFX_D0_GRIMLET_SQUEAK, 0.7f, 29000);
|
||||||
|
|
||||||
|
@ -196,12 +207,12 @@ void func_8039049C(Actor *this){
|
||||||
func_8030DA44(this->unk44_31);
|
func_8030DA44(this->unk44_31);
|
||||||
this->unk44_31 = 0;
|
this->unk44_31 = 0;
|
||||||
local->unk0 = (320.0f - this->position_y) * 0.5;
|
local->unk0 = (320.0f - this->position_y) * 0.5;
|
||||||
func_80324CFC(0.0f, 0x8c, 0x7d00);
|
func_80324CFC(0.0f, COMUSIC_8C_JINJONATOR_POWERUP, 32000);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 3: //8039073C
|
case 3: //8039073C
|
||||||
func_80390278(this);
|
chjinjonator_80390278(this);
|
||||||
if(this->position_y < 320.0f){
|
if(this->position_y < 320.0f){
|
||||||
this->position_y = MIN(320.0f, this->position_y + local->unk0*sp58);
|
this->position_y = MIN(320.0f, this->position_y + local->unk0*sp58);
|
||||||
}//L803907A0
|
}//L803907A0
|
||||||
|
@ -214,13 +225,13 @@ void func_8039049C(Actor *this){
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 4: //803907D4
|
case 4: //803907D4
|
||||||
func_80390278(this);
|
chjinjonator_80390278(this);
|
||||||
func_80328B8C(this, 5, 0.001f, 1);
|
func_80328B8C(this, 5, 0.001f, 1);
|
||||||
actor_playAnimationOnce(this);
|
actor_playAnimationOnce(this);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 5: //80390804
|
case 5: //80390804
|
||||||
func_80390278(this);
|
chjinjonator_80390278(this);
|
||||||
if(actor_animationIsAt(this, 0.998f)){
|
if(actor_animationIsAt(this, 0.998f)){
|
||||||
animctrl_setSmoothTransition(this->animctrl, FALSE);
|
animctrl_setSmoothTransition(this->animctrl, FALSE);
|
||||||
func_80328B8C(this, 6, 0.0001f, 1);
|
func_80328B8C(this, 6, 0.0001f, 1);
|
||||||
|
@ -240,27 +251,27 @@ void func_8039049C(Actor *this){
|
||||||
case 6: //803908BC
|
case 6: //803908BC
|
||||||
this->position[1] = MIN(1e+8f, this->position[1] + 80.0f*sp58);
|
this->position[1] = MIN(1e+8f, this->position[1] + 80.0f*sp58);
|
||||||
animctrl_setDuration(this->animctrl, MAX(0.4, sp54 - (0.5*sp58)));
|
animctrl_setDuration(this->animctrl, MAX(0.4, sp54 - (0.5*sp58)));
|
||||||
func_80390278(this);
|
chjinjonator_80390278(this);
|
||||||
if(actor_animationIsAt(this, 0.25f) || actor_animationIsAt(this, 0.75f)){
|
if(actor_animationIsAt(this, 0.25f) || actor_animationIsAt(this, 0.75f)){
|
||||||
FUNC_8030E624(SFX_2_CLAW_SWIPE, local->unk1C, 26000);
|
FUNC_8030E624(SFX_2_CLAW_SWIPE, local->unk1C, 26000);
|
||||||
local->unk1C += 0.04;
|
local->unk1C += 0.04;
|
||||||
}//L80390A4C
|
}//L80390A4C
|
||||||
func_8039040C(this);
|
chjinjonator_8039040C(this);
|
||||||
if(actor_animationIsAt(this, 0.5f)){
|
if(actor_animationIsAt(this, 0.5f)){
|
||||||
if(--local->unk28 <= 0){
|
if(--local->unk28 <= 0){
|
||||||
func_803903C4(this);
|
chjinjonator_803903C4(this);
|
||||||
FUNC_8030E8B4(SFX_135_CARTOONY_SPRING, 1.0f, 32000, this->position, 10000, 16000);
|
FUNC_8030E8B4(SFX_135_CARTOONY_SPRING, 1.0f, 32000, this->position, 10000, 16000);
|
||||||
func_80324D54(0.1f, SFX_C1_BUZZBOMB_ATTACK, 0.85f, 32000, this->position, 5000.0f, 12000.0f);
|
func_80324D54(0.1f, SFX_C1_BUZZBOMB_ATTACK, 0.85f, 32000, this->position, 5000.0f, 12000.0f);
|
||||||
if((u8)this->unk44_31){
|
if((u8)this->unk44_31){
|
||||||
func_8030E394(this->unk44_31);
|
func_8030E394(this->unk44_31);
|
||||||
func_8030DA44(this->unk44_31);
|
func_8030DA44(this->unk44_31);
|
||||||
this->unk44_31 = 0;
|
this->unk44_31 = 0;
|
||||||
}
|
}
|
||||||
func_80324D2C(0.0f, COMUSIC_8C_JINJONATOR_POWERUP);
|
func_80324D2C(0.0f, COMUSIC_8C_JINJONATOR_POWERUP);
|
||||||
func_8034A174(this->marker->unk44, 0x1f, this->position);
|
func_8034A174(this->marker->unk44, 0x1f, this->position);
|
||||||
this->velocity[0] = (this->position[0] - this->unk1C[0]) / sp58;
|
this->velocity[0] = (this->position[0] - this->unk1C[0]) / sp58;
|
||||||
this->velocity[1] = (this->position[1] - this->unk1C[1]) / sp58;
|
this->velocity[1] = (this->position[1] - this->unk1C[1]) / sp58;
|
||||||
this->velocity[2] = (this->position[2] - this->unk1C[2]) / sp58;
|
this->velocity[2] = (this->position[2] - this->unk1C[2]) / sp58;
|
||||||
}
|
}
|
||||||
|
|
||||||
}//L80390B60
|
}//L80390B60
|
||||||
|
@ -270,7 +281,7 @@ void func_8039049C(Actor *this){
|
||||||
break;
|
break;
|
||||||
case 7: //80390B78
|
case 7: //80390B78
|
||||||
sp50 = local->unk24*0.11 + 1.0;
|
sp50 = local->unk24*0.11 + 1.0;
|
||||||
func_80390278(this);
|
chjinjonator_80390278(this);
|
||||||
func_8038C0DC(local->unk8);
|
func_8038C0DC(local->unk8);
|
||||||
local->unk8[1] += 100.0f;
|
local->unk8[1] += 100.0f;
|
||||||
func_80387470(this, local->unk8, sp50*2400.0f, sp50*2400.0f*4.2, 170.0f, sp50*2500.0f, 0.0f);
|
func_80387470(this, local->unk8, sp50*2400.0f, sp50*2400.0f*4.2, 170.0f, sp50*2500.0f, 0.0f);
|
||||||
|
@ -281,7 +292,7 @@ void func_8039049C(Actor *this){
|
||||||
|
|
||||||
if(actor_animationIsAt(this, 0.999f)){
|
if(actor_animationIsAt(this, 0.999f)){
|
||||||
func_8034A174(this->marker->unk44, 0x1f, this->position);
|
func_8034A174(this->marker->unk44, 0x1f, this->position);
|
||||||
func_803903C4(this);
|
chjinjonator_803903C4(this);
|
||||||
FUNC_8030E8B4(SFX_135_CARTOONY_SPRING, 1.0f, 32000, this->position, 10000, 16000);
|
FUNC_8030E8B4(SFX_135_CARTOONY_SPRING, 1.0f, 32000, this->position, 10000, 16000);
|
||||||
func_80324D54(0.1f, SFX_C1_BUZZBOMB_ATTACK, 0.85f, 32000, this->position, 5000.0f, 12000.0f);
|
func_80324D54(0.1f, SFX_C1_BUZZBOMB_ATTACK, 0.85f, 32000, this->position, 5000.0f, 12000.0f);
|
||||||
this->velocity[2] = 0.0f;
|
this->velocity[2] = 0.0f;
|
||||||
|
@ -346,7 +357,7 @@ void func_8039049C(Actor *this){
|
||||||
break;
|
break;
|
||||||
case 12: //80390F7C
|
case 12: //80390F7C
|
||||||
sp48 = local->unk24*0.11 + 1.0;
|
sp48 = local->unk24*0.11 + 1.0;
|
||||||
func_80390278(this);
|
chjinjonator_80390278(this);
|
||||||
func_8038C0DC(local->unk8);
|
func_8038C0DC(local->unk8);
|
||||||
local->unk8[1] += 100.0f;
|
local->unk8[1] += 100.0f;
|
||||||
func_80387470(this, local->unk8, sp48*2400.0f, sp48*2400.0f*4.2, 170.0f, sp48*2500.0f, 0.0f);
|
func_80387470(this, local->unk8, sp48*2400.0f, sp48*2400.0f*4.2, 170.0f, sp48*2500.0f, 0.0f);
|
||||||
|
@ -355,7 +366,7 @@ void func_8039049C(Actor *this){
|
||||||
func_8034A174(this->marker->unk44, 0x1f, D_80392920);
|
func_8034A174(this->marker->unk44, 0x1f, D_80392920);
|
||||||
}
|
}
|
||||||
|
|
||||||
void func_80391070(ActorMarker *marker, s32 arg1, s32 arg2) {
|
void chjinjonator_attack(ActorMarker *marker, s32 hit_count, bool mirrored) {
|
||||||
Actor *temp_s0;
|
Actor *temp_s0;
|
||||||
ActorLocal_fight_9850 *local;
|
ActorLocal_fight_9850 *local;
|
||||||
s32 pad;
|
s32 pad;
|
||||||
|
@ -363,23 +374,23 @@ void func_80391070(ActorMarker *marker, s32 arg1, s32 arg2) {
|
||||||
temp_s0 = marker_getActor(marker);
|
temp_s0 = marker_getActor(marker);
|
||||||
local = (ActorLocal_fight_9850 *)&temp_s0->local;
|
local = (ActorLocal_fight_9850 *)&temp_s0->local;
|
||||||
|
|
||||||
func_8025A6EC(D_80392060[arg1-1], 20000);
|
func_8025A6EC(D_80392060[hit_count-1], 20000);
|
||||||
|
|
||||||
func_80390318(temp_s0, arg1);
|
chjinjonator_spawnAttackParticles(temp_s0, hit_count);
|
||||||
FUNC_8030E8B4(SFX_1B_EXPLOSION_1, 1.0f, 32000, temp_s0->position, 1000, 6500);
|
FUNC_8030E8B4(SFX_1B_EXPLOSION_1, 1.0f, 32000, temp_s0->position, 1000, 6500);
|
||||||
|
|
||||||
temp_s0->velocity[2] = 0.0f;
|
temp_s0->velocity[2] = 0.0f;
|
||||||
temp_s0->velocity[1] = 0.0f;
|
temp_s0->velocity[1] = 0.0f;
|
||||||
temp_s0->velocity[0] = 0.0f;
|
temp_s0->velocity[0] = 0.0f;
|
||||||
|
|
||||||
temp_s0->yaw = (f32)D_8039203C[arg1-1];
|
temp_s0->yaw = (f32)D_8039203C[hit_count-1];
|
||||||
if (arg2 != 0) {
|
if (mirrored) {
|
||||||
temp_s0->yaw = (f32) (temp_s0->yaw + 180.0f);
|
temp_s0->yaw = (f32) (temp_s0->yaw + 180.0f);
|
||||||
}
|
}
|
||||||
local->unk24 = arg1;
|
local->unk24 = hit_count;
|
||||||
animctrl_setSmoothTransition(temp_s0->animctrl, 1);
|
animctrl_setSmoothTransition(temp_s0->animctrl, 1);
|
||||||
actor_playAnimationOnce(temp_s0);
|
actor_playAnimationOnce(temp_s0);
|
||||||
if (&D_8039203C[arg1] >= D_80392060) {
|
if (&D_8039203C[hit_count] >= D_80392060) {
|
||||||
func_80328B8C(temp_s0, 9, 0.001f, 1);
|
func_80328B8C(temp_s0, 9, 0.001f, 1);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
@ -387,33 +398,33 @@ void func_80391070(ActorMarker *marker, s32 arg1, s32 arg2) {
|
||||||
animctrl_setDuration(temp_s0->animctrl, (f32) (1.75 - 0.11 * local->unk24));
|
animctrl_setDuration(temp_s0->animctrl, (f32) (1.75 - 0.11 * local->unk24));
|
||||||
}
|
}
|
||||||
|
|
||||||
void func_803911F8(ActorMarker *marker){
|
void chjinjonator_finalAttack(ActorMarker *marker){
|
||||||
Actor *actor = marker_getActor(marker);
|
Actor *actor = marker_getActor(marker);
|
||||||
func_80390318(actor, 0xa);
|
chjinjonator_spawnAttackParticles(actor, 0xa);
|
||||||
marker_despawn(actor->marker);
|
marker_despawn(actor->marker);
|
||||||
}
|
}
|
||||||
|
|
||||||
f32 func_80391234(void){
|
f32 chjinjonator_80391234(void){
|
||||||
return 3.3f;
|
return 3.3f;
|
||||||
}
|
}
|
||||||
|
|
||||||
f32 func_80391240(void){
|
f32 chjinjonator_80391240(void){
|
||||||
return 2.0;
|
return 2.0;
|
||||||
}
|
}
|
||||||
|
|
||||||
f32 func_80391250(void){
|
f32 chjinjonator_80391250(void){
|
||||||
return 4.62f;
|
return 4.62f;
|
||||||
}
|
}
|
||||||
|
|
||||||
s32 func_8039125C(ActorMarker *marker){
|
bool chjinjonator_8039125C(ActorMarker *marker){
|
||||||
u32 state = (u32) (marker_getActor(marker))->state;
|
u32 state = (u32) (marker_getActor(marker))->state;
|
||||||
if (state == 0x7 || state == 0xC) {
|
if (state == 0x7 || state == 0xC) {
|
||||||
return 1;
|
return TRUE;
|
||||||
}
|
}
|
||||||
return 0;
|
return FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
void func_8039129C(f32 arg0[3]) {
|
void chjinjonator_8039129C(f32 arg0[3]) {
|
||||||
arg0[0] = D_80392920[0];
|
arg0[0] = D_80392920[0];
|
||||||
arg0[1] = D_80392920[1];
|
arg0[1] = D_80392920[1];
|
||||||
arg0[2] = D_80392920[2];
|
arg0[2] = D_80392920[2];
|
|
@ -6,12 +6,13 @@ typedef struct {
|
||||||
u8 unk0[4];
|
u8 unk0[4];
|
||||||
}ActorLocal_fight_7BE0;
|
}ActorLocal_fight_7BE0;
|
||||||
|
|
||||||
void func_8038E2FC(Actor *);
|
void chjinjonatorbase_update(Actor *);
|
||||||
|
|
||||||
/* .data */
|
/* .data */
|
||||||
ActorInfo D_80391A40 = {
|
ActorInfo D_80391A40 = {
|
||||||
0x27F, 0x3A9, 0x544, 0x1, NULL,
|
MARKER_27F_JINJONATOR_STATUE_BASE, ACTOR_3A9_JINJONATOR_STATUE_BASE, ASSET_544_MODEL_JINJONATOR_STATUE_BASE,
|
||||||
func_8038E2FC, func_80326224, func_80325888,
|
0x1, NULL,
|
||||||
|
chjinjonatorbase_update, func_80326224, func_80325888,
|
||||||
0, 0x800, 0.0f, 0
|
0, 0x800, 0.0f, 0
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -33,15 +34,15 @@ struct42s D_80391A98 = {
|
||||||
};
|
};
|
||||||
|
|
||||||
/* .code */
|
/* .code */
|
||||||
void func_8038DFD0(ActorMarker *arg0) {
|
void chjinjonatorbase_spawnStoneJinjo(ActorMarker *marker) {
|
||||||
Actor *sp1C;
|
Actor *this;
|
||||||
Actor *temp_v0;
|
Actor *stone_jinjo;
|
||||||
|
|
||||||
sp1C = marker_getActor(arg0);
|
this = marker_getActor(marker);
|
||||||
temp_v0 = spawn_child_actor(0x3A1, &sp1C);
|
stone_jinjo = spawn_child_actor(ACTOR_3A1_STONE_JINJO, &this);
|
||||||
temp_v0->unkF4_8 = sp1C->unkF4_8;
|
stone_jinjo->unkF4_8 = this->unkF4_8;
|
||||||
temp_v0->position_y = temp_v0->position_y + 155.0f;
|
stone_jinjo->position_y = stone_jinjo->position_y + 155.0f;
|
||||||
sp1C->unk100 = temp_v0->marker;
|
this->unk100 = stone_jinjo->marker;
|
||||||
}
|
}
|
||||||
|
|
||||||
void func_8038E03C(f32 arg0[3], u32 arg1) {
|
void func_8038E03C(f32 arg0[3], u32 arg1) {
|
||||||
|
@ -86,7 +87,7 @@ void func_8038E120(ActorMarker * marker, ActorMarker *arg1){
|
||||||
if( remaining <= 0){
|
if( remaining <= 0){
|
||||||
func_8038C148();
|
func_8038C148();
|
||||||
func_80328A84(actor, 3);
|
func_80328A84(actor, 3);
|
||||||
func_8038DE98(actor->unk100);
|
chstonejinjo_breakOpen(actor->unk100);
|
||||||
}
|
}
|
||||||
}//L8038E24C
|
}//L8038E24C
|
||||||
}
|
}
|
||||||
|
@ -104,7 +105,7 @@ void func_8038E2CC(ActorMarker *arg0) {
|
||||||
func_8032BB88(marker_getActor(arg0), -1, 0x7FFF);
|
func_8032BB88(marker_getActor(arg0), -1, 0x7FFF);
|
||||||
}
|
}
|
||||||
|
|
||||||
void func_8038E2FC(Actor *this){
|
void chjinjonatorbase_update(Actor *this){
|
||||||
ActorLocal_fight_7BE0 *local = (ActorLocal_fight_7BE0 *)&this->local;
|
ActorLocal_fight_7BE0 *local = (ActorLocal_fight_7BE0 *)&this->local;
|
||||||
f32 sp58 = time_getDelta();
|
f32 sp58 = time_getDelta();
|
||||||
s32 temp_s1 = func_8023DB5C() & 0xf;
|
s32 temp_s1 = func_8023DB5C() & 0xf;
|
||||||
|
@ -138,7 +139,7 @@ void func_8038E2FC(Actor *this){
|
||||||
func_802FA060(temp_s0, 17000, 17000, 0.0f);
|
func_802FA060(temp_s0, 17000, 17000, 0.0f);
|
||||||
func_8025A6EC(JINGLE_MENACING_GRUNTILDA_A, 15000);
|
func_8025A6EC(JINGLE_MENACING_GRUNTILDA_A, 15000);
|
||||||
func_8032BB88(this, 0, 0x7fff);
|
func_8032BB88(this, 0, 0x7fff);
|
||||||
timedFunc_set_1(8.0f, (TFQM1)func_8038E2CC, (s32)this->marker);
|
timedFunc_set_1(8.0f, (GenMethod_1)func_8038E2CC, reinterpret_cast(s32,this->marker));
|
||||||
this->unk1C[0] = this->position_x;
|
this->unk1C[0] = this->position_x;
|
||||||
this->unk1C[1] = this->position_y;
|
this->unk1C[1] = this->position_y;
|
||||||
this->unk1C[2] = this->position_z;
|
this->unk1C[2] = this->position_z;
|
||||||
|
@ -149,11 +150,12 @@ void func_8038E2FC(Actor *this){
|
||||||
}else{
|
}else{
|
||||||
this->velocity_y = 100.0f;
|
this->velocity_y = 100.0f;
|
||||||
}
|
}
|
||||||
timedFunc_set_1(this->unk60* 0.05, (TFQM1)func_8038E260, (s32)this->marker);
|
timedFunc_set_1(this->unk60* 0.05, (GenMethod_1)func_8038E260, reinterpret_cast(s32,this->marker));
|
||||||
timedFunc_set_1(this->unk60* 0.28, (TFQM1) func_8038E260, (s32)this->marker);
|
timedFunc_set_1(this->unk60* 0.28, (GenMethod_1) func_8038E260, reinterpret_cast(s32,this->marker));
|
||||||
timedFunc_set_1(this->unk60* 0.46, (TFQM1) func_8038E260, (s32)this->marker);
|
timedFunc_set_1(this->unk60* 0.46, (GenMethod_1) func_8038E260, reinterpret_cast(s32,this->marker));
|
||||||
timedFunc_set_1(this->unk60* 0.58, (TFQM1) func_8038E260, (s32)this->marker);
|
timedFunc_set_1(this->unk60* 0.58, (GenMethod_1) func_8038E260, reinterpret_cast(s32,this->marker));
|
||||||
func_802C3C88((GenMethod_1)func_8038DFD0, reinterpret_cast(s32,this->marker));
|
SPAWNQUEUE_ADD_1(chjinjonatorbase_spawnStoneJinjo, this->marker);
|
||||||
|
|
||||||
}
|
}
|
||||||
else{//L8038E5CC
|
else{//L8038E5CC
|
||||||
if(this->state == 1){
|
if(this->state == 1){
|
|
@ -3,7 +3,7 @@
|
||||||
#include "variables.h"
|
#include "variables.h"
|
||||||
|
|
||||||
|
|
||||||
extern ActorMarker *func_8038A4E8(Actor*, f32);
|
extern ActorMarker *chfinalboss_findCollidingJinjo(Actor*, f32);
|
||||||
void func_80386654(f32 arg0, f32 (*arg1)[4], f32 (*arg2)[4]);
|
void func_80386654(f32 arg0, f32 (*arg1)[4], f32 (*arg2)[4]);
|
||||||
|
|
||||||
typedef struct {
|
typedef struct {
|
||||||
|
@ -23,12 +23,13 @@ typedef struct {
|
||||||
u8 unk10;
|
u8 unk10;
|
||||||
} ActorLocal_fight_8390;
|
} ActorLocal_fight_8390;
|
||||||
|
|
||||||
void func_8038E844(Actor *this);
|
void chspellbarrier_update(Actor *this);
|
||||||
|
|
||||||
/* .data */
|
/* .data */
|
||||||
ActorInfo D_80391AD0 = {
|
ActorInfo D_80391AD0 = {
|
||||||
0x284, 0x3AB, 0x546, 0x1, NULL,
|
MARKER_284_GRUNTY_SPELL_BARRIER, ACTOR_3AB_GRUNTY_SPELL_BARRIER, ASSET_546_MODEL_GRUNTY_SPELL_BARRIER,
|
||||||
func_8038E844, func_80326224, func_80325888,
|
0x1, NULL,
|
||||||
|
chspellbarrier_update, func_80326224, func_80325888,
|
||||||
0, 0, 0.0f, 0
|
0, 0, 0.0f, 0
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -50,22 +51,22 @@ void func_8038E780(ActorMarker *arg0, ActorMarker *arg1) {
|
||||||
}
|
}
|
||||||
|
|
||||||
void func_8038E7EC(Actor *arg0) {
|
void func_8038E7EC(Actor *arg0) {
|
||||||
ActorLocal_fight_8390 *temp_v0 = (ActorLocal_fight_8390 *)&arg0->local;
|
ActorLocal_fight_8390 *local = (ActorLocal_fight_8390 *)&arg0->local;
|
||||||
|
|
||||||
if ((u8)arg0->unk44_31) {
|
if ((u8)arg0->unk44_31) {
|
||||||
func_8030DA44(arg0->unk44_31);
|
func_8030DA44(arg0->unk44_31);
|
||||||
arg0->unk44_31 = 0;
|
arg0->unk44_31 = 0;
|
||||||
}
|
}
|
||||||
if (temp_v0->unk10 != 0) {
|
if (local->unk10 != 0) {
|
||||||
func_8030DA44(temp_v0->unk10);
|
func_8030DA44(local->unk10);
|
||||||
temp_v0->unk10 = (u8)0;
|
local->unk10 = (u8)0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void func_8038E844(Actor *this){
|
void chspellbarrier_update(Actor *this){
|
||||||
ActorLocal_fight_8390 *local = (ActorLocal_fight_8390 *)&this->local;
|
ActorLocal_fight_8390 *local = (ActorLocal_fight_8390 *)&this->local;
|
||||||
f32 sp38 = time_getDelta();
|
f32 sp38 = time_getDelta();
|
||||||
ActorMarker *temp_v0;
|
ActorMarker *jinjo_marker;
|
||||||
|
|
||||||
if(!this->unk16C_4){
|
if(!this->unk16C_4){
|
||||||
this->unk16C_4 = 1;
|
this->unk16C_4 = 1;
|
||||||
|
@ -85,11 +86,11 @@ void func_8038E844(Actor *this){
|
||||||
func_8030DBB4(local->unk10, 1.0f);
|
func_8030DBB4(local->unk10, 1.0f);
|
||||||
FUNC_8030E8B4(SFX_416, 0.8f, 32000, this->position, 10000, 25000);
|
FUNC_8030E8B4(SFX_416, 0.8f, 32000, this->position, 10000, 25000);
|
||||||
}//L8038E97C
|
}//L8038E97C
|
||||||
temp_v0 = func_8038A4E8(this, 600.0f);
|
jinjo_marker = chfinalboss_findCollidingJinjo(this, 600.0f);
|
||||||
if(temp_v0){
|
if(jinjo_marker){
|
||||||
if(temp_v0->unk14_20 == 0x285){
|
if(jinjo_marker->unk14_20 == MARKER_285_JINJONATOR){
|
||||||
marker_despawn(this->marker);
|
marker_despawn(this->marker);
|
||||||
func_8038C100();
|
chfinalboss_spellBarrierInactive();
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
else{
|
else{
|
|
@ -9,7 +9,7 @@ extern Actor *func_80325CAC(ActorMarker*, Gfx**, Mtx**, Vtx **);
|
||||||
bool func_80320C94(f32 [3], f32[3], f32, f32[3], s32, u32);
|
bool func_80320C94(f32 [3], f32[3], f32, f32[3], s32, u32);
|
||||||
f32 func_8033229C(ActorMarker *);
|
f32 func_8033229C(ActorMarker *);
|
||||||
void func_8038CED8(f32 [3], s32, f32, f32);
|
void func_8038CED8(f32 [3], s32, f32, f32);
|
||||||
void func_8038C5F0(Actor *, s32, s32, f32);
|
void chbossjinjo_spawnParticles(Actor *, s32, s32, f32);
|
||||||
|
|
||||||
typedef struct {
|
typedef struct {
|
||||||
f32 unk0;
|
f32 unk0;
|
||||||
|
@ -19,13 +19,15 @@ void func_8038F620(Actor *this);
|
||||||
|
|
||||||
/* .data */
|
/* .data */
|
||||||
ActorInfo D_80391B00 = {
|
ActorInfo D_80391B00 = {
|
||||||
0x25C, 0x389, 0x541, 0x1, NULL,
|
MARKER_25C_GRUNTY_SPELL_FIREBALL, ACTOR_389_GRUNTY_SPELL_FIREBALL, ASSET_541_SPRITE_FIREBALL_SPELL_ATTACK,
|
||||||
|
0x1, NULL,
|
||||||
func_8038F620, func_80326224, func_80325888,
|
func_8038F620, func_80326224, func_80325888,
|
||||||
0, 0, 1.0f, 0
|
0, 0, 1.0f, 0
|
||||||
};
|
};
|
||||||
|
|
||||||
ActorInfo D_80391B24 = {
|
ActorInfo D_80391B24 = {
|
||||||
0x280, 0x3AA, 0x6C9, 0x1, NULL,
|
MARKER_280_GRUNTY_SPELL_GREEN_ATTACK, ACTOR_3AA_GRUNTY_SPELL_GREEN_ATTACK, ASSET_6C9_SPRITE_GREEN_SPELL_ATTACK,
|
||||||
|
0x1, NULL,
|
||||||
func_8038F620, func_80326224, func_80325CAC,
|
func_8038F620, func_80326224, func_80325CAC,
|
||||||
0, 0, 1.0f, 0
|
0, 0, 1.0f, 0
|
||||||
};
|
};
|
||||||
|
@ -83,10 +85,6 @@ u8 D_803928E2;
|
||||||
u8 D_803928E3;
|
u8 D_803928E3;
|
||||||
u8 D_803928E4;
|
u8 D_803928E4;
|
||||||
u8 D_803928E5;
|
u8 D_803928E5;
|
||||||
f32 D_803928E8[3];
|
|
||||||
f32 D_803928F8[3];
|
|
||||||
f32 D_80392908[3];
|
|
||||||
extern f32 D_80392914;
|
|
||||||
|
|
||||||
/* .code */
|
/* .code */
|
||||||
void func_8038EB90(ActorMarker *arg0, f32 *arg1) {
|
void func_8038EB90(ActorMarker *arg0, f32 *arg1) {
|
||||||
|
@ -168,6 +166,7 @@ void func_8038F050(void) {
|
||||||
}
|
}
|
||||||
|
|
||||||
void func_8038F084(ActorMarker *marker){
|
void func_8038F084(ActorMarker *marker){
|
||||||
|
static f32 D_803928E8[3];
|
||||||
Actor *actor = marker_getActor(marker);
|
Actor *actor = marker_getActor(marker);
|
||||||
ActorLocal_fight_87A0 *local = (ActorLocal_fight_87A0 *)&actor->local;
|
ActorLocal_fight_87A0 *local = (ActorLocal_fight_87A0 *)&actor->local;
|
||||||
|
|
||||||
|
@ -183,7 +182,7 @@ void func_8038F084(ActorMarker *marker){
|
||||||
timedFunc_set_0(0.3f, func_8038F050);
|
timedFunc_set_0(0.3f, func_8038F050);
|
||||||
actor->unk58_0 = 0;
|
actor->unk58_0 = 0;
|
||||||
actor->scale *= 1.6;
|
actor->scale *= 1.6;
|
||||||
if(actor->marker->unk14_20 != 0x280){
|
if(actor->marker->unk14_20 != MARKER_280_GRUNTY_SPELL_GREEN_ATTACK){
|
||||||
func_8038EBE0(actor->position, 4, ASSET_713_SPRITE_SPARKLE_YELLOW,
|
func_8038EBE0(actor->position, 4, ASSET_713_SPRITE_SPARKLE_YELLOW,
|
||||||
D_80391C0C, D_80391C24, D_80391C3C,
|
D_80391C0C, D_80391C24, D_80391C3C,
|
||||||
D_80391C54, D_80391C64, D_80391C74
|
D_80391C54, D_80391C64, D_80391C74
|
||||||
|
@ -211,7 +210,7 @@ void func_8038F084(ActorMarker *marker){
|
||||||
func_8038EEFC(actor->position, 3, D_80391BFC);
|
func_8038EEFC(actor->position, 3, D_80391BFC);
|
||||||
func_8038CED8(actor->position, 0x558, 0.15f, 0.5f);
|
func_8038CED8(actor->position, 0x558, 0.15f, 0.5f);
|
||||||
actor->position_y += 260.0f;
|
actor->position_y += 260.0f;
|
||||||
func_8038C5F0(actor, 0x712, ASSET_6C3_SPRITE_SMOKE_GREEN, 1.6f);
|
chbossjinjo_spawnParticles(actor, 0x712, ASSET_6C3_SPRITE_SMOKE_GREEN, 1.6f);
|
||||||
}
|
}
|
||||||
local->unk0 = 0.66f;
|
local->unk0 = 0.66f;
|
||||||
func_80328A84(actor, 2);
|
func_80328A84(actor, 2);
|
||||||
|
@ -268,9 +267,12 @@ void func_8038F5F8(Actor *arg0) {
|
||||||
}
|
}
|
||||||
|
|
||||||
void func_8038F620(Actor *this){
|
void func_8038F620(Actor *this){
|
||||||
|
static f32 D_803928F8[3];
|
||||||
|
static f32 D_80392908[3];
|
||||||
|
static f32 D_80392914;
|
||||||
|
|
||||||
ActorLocal_fight_87A0 * local = (ActorLocal_fight_87A0 *)&this->local;
|
ActorLocal_fight_87A0 * local = (ActorLocal_fight_87A0 *)&this->local;
|
||||||
f32 sp40 = time_getDelta();
|
f32 sp40 = time_getDelta();
|
||||||
static f32 D_80392914;
|
|
||||||
|
|
||||||
if(!this->unk16C_4){
|
if(!this->unk16C_4){
|
||||||
this->unk16C_4 = 1;
|
this->unk16C_4 = 1;
|
||||||
|
@ -279,7 +281,7 @@ void func_8038F620(Actor *this){
|
||||||
actor_collisionOn(this);
|
actor_collisionOn(this);
|
||||||
this->unk60 = 8.0f;
|
this->unk60 = 8.0f;
|
||||||
this->scale = 0.1f;
|
this->scale = 0.1f;
|
||||||
if( this->marker->unk14_20 == 0x280){
|
if( this->marker->unk14_20 == MARKER_280_GRUNTY_SPELL_GREEN_ATTACK){
|
||||||
actor_collisionOff(this);
|
actor_collisionOff(this);
|
||||||
func_803300D8(this->marker, func_8038F5F8);
|
func_803300D8(this->marker, func_8038F5F8);
|
||||||
func_80324CFC(0.0f, COMUSIC_43_ENTER_LEVEL_GLITTER, 32000);
|
func_80324CFC(0.0f, COMUSIC_43_ENTER_LEVEL_GLITTER, 32000);
|
||||||
|
@ -299,29 +301,24 @@ void func_8038F620(Actor *this){
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
}//L8038F79C
|
}//L8038F79C
|
||||||
if(D_803928E5 && this->marker->unk14_20 == 0x280){
|
if(D_803928E5 && this->marker->unk14_20 == MARKER_280_GRUNTY_SPELL_GREEN_ATTACK){
|
||||||
func_802BAD08(this->position);
|
func_802BAD08(this->position);
|
||||||
}//L8038F7D4
|
}//L8038F7D4
|
||||||
|
|
||||||
switch(this->state){
|
switch(this->state){
|
||||||
case 1://L8038F7F8
|
case 1://L8038F7F8
|
||||||
{ // TODO: get rid of f0, maybe D_80392914 is static?
|
D_80392914 = sp40*1.4;
|
||||||
// f32 temp_f0;
|
this->scale = (this->scale + D_80392914 < 1.0) ? this->scale + D_80392914 : 1.0f;
|
||||||
|
|
||||||
D_80392914 = sp40*1.4;
|
|
||||||
// temp_f0 = this->scale + D_80392914;
|
|
||||||
this->scale = (this->scale + D_80392914 < 1.0) ? this->scale + D_80392914 : 1.0f;
|
|
||||||
}
|
|
||||||
|
|
||||||
switch(this->marker->unk14_20){
|
switch(this->marker->unk14_20){
|
||||||
case 0x25C://L8038F8AC
|
case MARKER_25C_GRUNTY_SPELL_FIREBALL://L8038F8AC
|
||||||
func_8038ED9C(this->position, ASSET_4A0_SPRITE_EXPLOSION, 1,
|
func_8038ED9C(this->position, ASSET_4A0_SPRITE_EXPLOSION, 1,
|
||||||
D_80391CEC, D_80391D34,
|
D_80391CEC, D_80391D34,
|
||||||
D_80391CF4, D_80391D04, D_80391D14
|
D_80391CF4, D_80391D04, D_80391D14
|
||||||
);
|
);
|
||||||
break;
|
break;
|
||||||
case 0x280://L8038F8C8
|
case MARKER_280_GRUNTY_SPELL_GREEN_ATTACK://L8038F8C8
|
||||||
func_8038ED9C(this->position, ASSET_6C9_SPRITE_SMOKE_GREEN_BIG, 1,
|
func_8038ED9C(this->position, ASSET_6C9_SPRITE_GREEN_SPELL_ATTACK, 1,
|
||||||
D_80391CEC, D_80391D34,
|
D_80391CEC, D_80391D34,
|
||||||
D_80391CF4, D_80391D1C, D_80391D2C
|
D_80391CF4, D_80391D1C, D_80391D2C
|
||||||
);
|
);
|
||||||
|
@ -360,7 +357,7 @@ void func_8038F620(Actor *this){
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// L8038FABC
|
// L8038FABC
|
||||||
if( this->marker->unk14_20 != 0x280
|
if( this->marker->unk14_20 != MARKER_280_GRUNTY_SPELL_GREEN_ATTACK
|
||||||
&& func_8028F25C()
|
&& func_8028F25C()
|
||||||
){
|
){
|
||||||
func_8038F084(this->marker);
|
func_8038F084(this->marker);
|
|
@ -1,12 +1,13 @@
|
||||||
#include <ultra64.h>
|
#include <ultra64.h>
|
||||||
#include "functions.h"
|
#include "functions.h"
|
||||||
#include "variables.h"
|
#include "variables.h"
|
||||||
|
#include "fight.h"
|
||||||
|
|
||||||
extern Actor *func_80326EEC();
|
extern Actor *func_80326EEC();
|
||||||
extern void func_80328B8C(Actor*, s32, f32, s32);
|
extern void func_80328B8C(Actor*, s32, f32, s32);
|
||||||
extern f32 func_8038D268(void);
|
extern f32 chbossjinjo_8038D268(void);
|
||||||
|
|
||||||
void func_8038DA04(Actor *);
|
void chstonejinjo_update(Actor *);
|
||||||
|
|
||||||
/* .data */
|
/* .data */
|
||||||
ActorAnimationInfo D_803919F0[] ={
|
ActorAnimationInfo D_803919F0[] ={
|
||||||
|
@ -15,31 +16,35 @@ ActorAnimationInfo D_803919F0[] ={
|
||||||
{0x265, 1e+8f},
|
{0x265, 1e+8f},
|
||||||
{0x265, 1e+8f},
|
{0x265, 1e+8f},
|
||||||
};
|
};
|
||||||
ActorInfo D_80391A10 = { 0x276, 0x3A1, 0x545, 0x1, D_803919F0, func_8038DA04, func_80326224, func_80325888, 0, 0x800, 1.0f, 0};
|
ActorInfo D_80391A10 = {
|
||||||
|
MARKER_276_STONE_JINJO, ACTOR_3A1_STONE_JINJO, ASSET_545_MODEL_STONE_JINJO,
|
||||||
|
0x1, D_803919F0,
|
||||||
|
chstonejinjo_update, func_80326224, func_80325888,
|
||||||
|
0, 0x800, 1.0f, 0
|
||||||
|
};
|
||||||
|
|
||||||
/* .code */
|
/* .code */
|
||||||
void func_8038D970(ActorMarker *arg0) {
|
void chstonejinjo_spawnJinjo(ActorMarker *marker) {
|
||||||
Actor *temp_v0;
|
Actor *this;
|
||||||
Actor *phi_v0;
|
Actor *jinjo;
|
||||||
|
|
||||||
temp_v0 = marker_getActor(arg0);
|
this = marker_getActor(marker);
|
||||||
if (temp_v0->unkF4_8 == 5) {
|
if (this->unkF4_8 == BOSSJINJO_JINJONATOR) {
|
||||||
phi_v0 = spawn_child_actor(0x3AC, &temp_v0);
|
jinjo = spawn_child_actor(ACTOR_3AC_JINJONATOR, &this);
|
||||||
} else {
|
} else {
|
||||||
phi_v0 = spawn_child_actor((temp_v0->unkF4_8) + 0x3A4, &temp_v0);
|
jinjo = spawn_child_actor((this->unkF4_8) + 0x3A4, &this);
|
||||||
}
|
}
|
||||||
phi_v0->unkF4_8 = temp_v0->unkF4_8;
|
jinjo->unkF4_8 = this->unkF4_8;
|
||||||
phi_v0->unk60 = temp_v0->unk1C[0];
|
jinjo->unk60 = this->unk1C[0];
|
||||||
phi_v0->scale = temp_v0->scale;
|
jinjo->scale = this->scale;
|
||||||
}
|
}
|
||||||
|
|
||||||
void func_8038DA04(Actor *this) {
|
void chstonejinjo_update(Actor *this) {
|
||||||
if (!this->unk16C_4) {
|
if (!this->unk16C_4) {
|
||||||
this->unk16C_4 = TRUE;
|
this->unk16C_4 = TRUE;
|
||||||
this->marker->propPtr->unk8_3 = TRUE;
|
this->marker->propPtr->unk8_3 = TRUE;
|
||||||
actor_collisionOff(this);
|
actor_collisionOff(this);
|
||||||
if (this->unkF4_8 == 5) {
|
if (this->unkF4_8 == BOSSJINJO_JINJONATOR) {
|
||||||
this->marker->unk40_23 = TRUE;
|
this->marker->unk40_23 = TRUE;
|
||||||
this->marker->unk40_20 = TRUE;
|
this->marker->unk40_20 = TRUE;
|
||||||
this->unk1C[0] = 6.0f;
|
this->unk1C[0] = 6.0f;
|
||||||
|
@ -54,7 +59,7 @@ void func_8038DA04(Actor *this) {
|
||||||
animctrl_setAnimTimer(this->animctrl, 0.0f);
|
animctrl_setAnimTimer(this->animctrl, 0.0f);
|
||||||
break;
|
break;
|
||||||
case 2:
|
case 2:
|
||||||
if (this->unkF4_8 != 5) {
|
if (this->unkF4_8 != BOSSJINJO_JINJONATOR) {
|
||||||
if (actor_animationIsAt(this, 0.001f)) {
|
if (actor_animationIsAt(this, 0.001f)) {
|
||||||
FUNC_8030E8B4(SFX_D_EGGSHELL_BREAKING, 1.2f, 25000, this->position, 1000, 5000);
|
FUNC_8030E8B4(SFX_D_EGGSHELL_BREAKING, 1.2f, 25000, this->position, 1000, 5000);
|
||||||
func_8030E878(SFX_80_YUMYUM_CLACK, randf2(0.6f, 0.8f), 20000, this->position, 1000.0f, 5000.0f);
|
func_8030E878(SFX_80_YUMYUM_CLACK, randf2(0.6f, 0.8f), 20000, this->position, 1000.0f, 5000.0f);
|
||||||
|
@ -91,10 +96,10 @@ void func_8038DA04(Actor *this) {
|
||||||
|| actor_animationIsAt(this, 0.9f)
|
|| actor_animationIsAt(this, 0.9f)
|
||||||
|| actor_animationIsAt(this, 0.98f)
|
|| actor_animationIsAt(this, 0.98f)
|
||||||
) {
|
) {
|
||||||
func_8030E6A4(SFX_3_DULL_CANNON_SHOT, randf2(1.2f, 1.4f), 0x4E20);
|
func_8030E6A4(SFX_3_DULL_CANNON_SHOT, randf2(1.2f, 1.4f), 20000);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (actor_animationIsAt(this, 0.999f) != 0) {
|
if (actor_animationIsAt(this, 0.999f)) {
|
||||||
func_80328B8C(this, 3, 0.99999f, 1);
|
func_80328B8C(this, 3, 0.99999f, 1);
|
||||||
actor_playAnimationOnce(this);
|
actor_playAnimationOnce(this);
|
||||||
func_80326310(this);
|
func_80326310(this);
|
||||||
|
@ -103,7 +108,7 @@ void func_8038DA04(Actor *this) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void func_8038DE98(ActorMarker *marker){
|
void chstonejinjo_breakOpen(ActorMarker *marker){
|
||||||
Actor *actor = marker_getActor(marker);
|
Actor *actor = marker_getActor(marker);
|
||||||
s32 sp38;
|
s32 sp38;
|
||||||
f32 sp34;
|
f32 sp34;
|
||||||
|
@ -114,10 +119,10 @@ void func_8038DE98(ActorMarker *marker){
|
||||||
func_80328B8C(actor, 2, 0.0f, 1);
|
func_80328B8C(actor, 2, 0.0f, 1);
|
||||||
actor_playAnimationOnce(actor);
|
actor_playAnimationOnce(actor);
|
||||||
animctrl_setDuration(actor->animctrl, actor->unk1C[0]);
|
animctrl_setDuration(actor->animctrl, actor->unk1C[0]);
|
||||||
func_802C3C88((GenMethod_1)func_8038D970, reinterpret_cast(s32, actor->marker));
|
SPAWNQUEUE_ADD_1(chstonejinjo_spawnJinjo, actor->marker);
|
||||||
if(!func_8031FF1C(0xD1) && actor->unkF4_8 != 5){
|
if(!func_8031FF1C(BKPROG_D1_HAS_ACTIVATED_A_JINJO_STATUE_IN_FINAL_FIGHT) && actor->unkF4_8 != BOSSJINJO_JINJONATOR){
|
||||||
sp38 = 0x30 + actor->unkF4_8*2;
|
sp38 = 0x30 + actor->unkF4_8*2;
|
||||||
sp34 = func_8038D268();
|
sp34 = chbossjinjo_8038D268();
|
||||||
sp30 = actor->unk1C[0] + sp34;
|
sp30 = actor->unk1C[0] + sp34;
|
||||||
func_8038C0DC(&sp24);
|
func_8038C0DC(&sp24);
|
||||||
func_8028F94C(2, &sp24);
|
func_8028F94C(2, &sp24);
|
||||||
|
@ -130,5 +135,5 @@ void func_8038DE98(ActorMarker *marker){
|
||||||
}
|
}
|
||||||
|
|
||||||
f32 func_8038DFA0(void) {
|
f32 func_8038DFA0(void) {
|
||||||
return func_80326EEC(0x3A1)->unk1C_x;
|
return func_80326EEC(ACTOR_3A1_STONE_JINJO)->unk1C_x;
|
||||||
}
|
}
|
|
@ -11,7 +11,8 @@ Actor *func_8038FC40(ActorMarker *marker, Gfx **gdl, Mtx **mptr, Vtx **arg3);
|
||||||
|
|
||||||
/* .data */
|
/* .data */
|
||||||
ActorInfo D_80391DC0 = {
|
ActorInfo D_80391DC0 = {
|
||||||
0x25D, 0x38A, 0x6C7, 0x1, NULL,
|
0x25D, 0x38A, ASSET_6C7_SPRITE_SMOKE_GREEN_2,
|
||||||
|
0x1, NULL,
|
||||||
func_8038FE94, func_80326224, func_8038FC40,
|
func_8038FE94, func_80326224, func_8038FC40,
|
||||||
0, 0, 1.0f, 0
|
0, 0, 1.0f, 0
|
||||||
};
|
};
|
||||||
|
|
|
@ -1,30 +0,0 @@
|
||||||
#include <ultra64.h>
|
|
||||||
#include "functions.h"
|
|
||||||
#include "variables.h"
|
|
||||||
|
|
||||||
Actor *func_803912C0(ActorMarker *marker, Gfx **gdl, Mtx **mptr, Vtx **arg3);
|
|
||||||
void func_80391360(Actor *this);
|
|
||||||
|
|
||||||
/* .data */
|
|
||||||
ActorInfo D_80392090 = {
|
|
||||||
0x288, 0x3AF, 0x3BF, 0x1, NULL,
|
|
||||||
func_80391360, func_80326224, func_803912C0,
|
|
||||||
0, 0, 0.0f, 0
|
|
||||||
};
|
|
||||||
|
|
||||||
/* .code */
|
|
||||||
Actor *func_803912C0(ActorMarker *marker, Gfx **gdl, Mtx **mptr, Vtx **arg3){
|
|
||||||
f32 sp34[3];
|
|
||||||
f32 sp30;
|
|
||||||
Actor *sp2C;
|
|
||||||
sp2C = func_80325300(marker, sp34);
|
|
||||||
sp30 = sp2C->scale * ml_map_f(sp2C->unk1C[0], 0.0f, 1000.0f, 1.75f, 0.9f);
|
|
||||||
set_model_render_mode(2);
|
|
||||||
func_803391A4(gdl, mptr, sp2C->position, sp34, sp30, NULL, func_80330B1C(marker));
|
|
||||||
return sp2C;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
void func_80391360(Actor *this){
|
|
||||||
actor_collisionOff(this);
|
|
||||||
}
|
|
|
@ -0,0 +1,12 @@
|
||||||
|
#ifndef _FIGHT_INTERNAL_H_
|
||||||
|
#define _FIGHT_INTERNAL_H_
|
||||||
|
|
||||||
|
enum bossjinjo_e{
|
||||||
|
BOSSJINJO_ORANGE = 1,
|
||||||
|
BOSSJINJO_GREEN,
|
||||||
|
BOSSJINJO_PINK,
|
||||||
|
BOSSJINJO_YELLOW,
|
||||||
|
BOSSJINJO_JINJONATOR
|
||||||
|
};
|
||||||
|
|
||||||
|
#endif
|
|
@ -415,13 +415,13 @@ void func_80386D78(Actor *this) {
|
||||||
} else {
|
} else {
|
||||||
this->scale = (this->scale < 1.0) ? this->scale + 0.04 : 1.0;
|
this->scale = (this->scale < 1.0) ? this->scale + 0.04 : 1.0;
|
||||||
if (this->scale < 1.0) {
|
if (this->scale < 1.0) {
|
||||||
this->yaw_moving += 8.0;
|
this->yaw_ideal += 8.0;
|
||||||
if (this->yaw_moving >= 360.0f) {
|
if (this->yaw_ideal >= 360.0f) {
|
||||||
phi_f2 = this->yaw_moving - 360.0f;
|
phi_f2 = this->yaw_ideal - 360.0f;
|
||||||
} else {
|
} else {
|
||||||
phi_f2 = this->yaw_moving;
|
phi_f2 = this->yaw_ideal;
|
||||||
}
|
}
|
||||||
this->yaw_moving = phi_f2;
|
this->yaw_ideal = phi_f2;
|
||||||
this->yaw = phi_f2;
|
this->yaw = phi_f2;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -804,7 +804,7 @@ void func_803880BC(Actor *this)
|
||||||
this->position_y -= 51.f;
|
this->position_y -= 51.f;
|
||||||
this->unk1C[0] = 0;
|
this->unk1C[0] = 0;
|
||||||
|
|
||||||
func_802C3C88((GenMethod_1)func_80387E94, reinterpret_cast(s32, this->marker));
|
__spawnqueue_add_1((GenMethod_1)func_80387E94, reinterpret_cast(s32, this->marker));
|
||||||
|
|
||||||
if (func_803203FC(0xBC) && !func_8031FF1C(0x9A))
|
if (func_803203FC(0xBC) && !func_8031FF1C(0x9A))
|
||||||
FUNC_8030E624(SFX_3F6_UNKNOWN, 0.75f, 30000);
|
FUNC_8030E624(SFX_3F6_UNKNOWN, 0.75f, 30000);
|
||||||
|
@ -1496,7 +1496,7 @@ void func_8038982C(Actor *this)
|
||||||
this->initialized = TRUE;
|
this->initialized = TRUE;
|
||||||
|
|
||||||
if (!func_8031FF1C(BKPROG_9E_CRYPT_COFFIN_LID_OPEN))
|
if (!func_8031FF1C(BKPROG_9E_CRYPT_COFFIN_LID_OPEN))
|
||||||
func_802C3C88((GenMethod_1)func_803897D4, reinterpret_cast(s32, this->marker));
|
__spawnqueue_add_1((GenMethod_1)func_803897D4, reinterpret_cast(s32, this->marker));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -378,7 +378,7 @@ void func_8038AE2C(Actor *this) {
|
||||||
if( func_8038ADF0(sp38, (s32) this->velocity[0])
|
if( func_8038ADF0(sp38, (s32) this->velocity[0])
|
||||||
|| func_8038ADF0((s32) this->velocity[0], sp38)
|
|| func_8038ADF0((s32) this->velocity[0], sp38)
|
||||||
) {
|
) {
|
||||||
this->yaw_moving = (f32) sp38;
|
this->yaw_ideal = (f32) sp38;
|
||||||
}
|
}
|
||||||
func_80328FB0(this, 3.0f);
|
func_80328FB0(this, 3.0f);
|
||||||
if( actor_animationIsAt(this, 0.114f)
|
if( actor_animationIsAt(this, 0.114f)
|
||||||
|
|
|
@ -115,7 +115,7 @@ void func_8038BCF0(Actor *this) {
|
||||||
}
|
}
|
||||||
|
|
||||||
func_8028E668(this->position, 280.0f, -40.0f, 160.0f);
|
func_8028E668(this->position, 280.0f, -40.0f, 160.0f);
|
||||||
this->yaw_moving = (f32) func_80329784(this);
|
this->yaw_ideal = (f32) func_80329784(this);
|
||||||
func_80328FB0(this, 3.0f);
|
func_80328FB0(this, 3.0f);
|
||||||
func_8024E55C(0, sp78);
|
func_8024E55C(0, sp78);
|
||||||
player_getPosition(sp64);
|
player_getPosition(sp64);
|
||||||
|
|
|
@ -511,7 +511,7 @@ void func_8038D1E4(void)
|
||||||
}
|
}
|
||||||
|
|
||||||
if (cleanupDelay > 0.0) // f64
|
if (cleanupDelay > 0.0) // f64
|
||||||
timedFunc_set_1(cleanupDelay, (TFQM1)func_8038D670, FFA_4_UNK);
|
timedFunc_set_1(cleanupDelay, (GenMethod_1)func_8038D670, FFA_4_UNK);
|
||||||
}
|
}
|
||||||
|
|
||||||
void func_8038D394(void)
|
void func_8038D394(void)
|
||||||
|
|
|
@ -365,7 +365,7 @@ void func_8038F350(Actor *this, s32 next_state){
|
||||||
} else if (this->unkF4_8 == 0xA) {
|
} else if (this->unkF4_8 == 0xA) {
|
||||||
func_80324DBC(1.0f, 0xFAC, 4, NULL, this->marker, func_8038F0C0, NULL);
|
func_80324DBC(1.0f, 0xFAC, 4, NULL, this->marker, func_8038F0C0, NULL);
|
||||||
}
|
}
|
||||||
timedFunc_set_1(2.0f, (TFQM1) func_8038EBEC, (s32) this->marker);
|
timedFunc_set_1(2.0f, (GenMethod_1) func_8038EBEC, (s32) this->marker);
|
||||||
this->unk60 = 3.0f;
|
this->unk60 = 3.0f;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue