All Changes
This commit is contained in:
committed by
Banjo Kazooie
parent
fd208f77ca
commit
c2dd933d22
@@ -65,11 +65,11 @@ void chTiptup_activateTimer(ActorMarker *this){
|
||||
}
|
||||
|
||||
void chTiptup_sfxCorrectHit(void){
|
||||
func_8025A6EC(COMUSIC_2B_DING_B, 28000);
|
||||
coMusicPlayer_playMusic(COMUSIC_2B_DING_B, 28000);
|
||||
}
|
||||
|
||||
void chTiptup_sfxIncorrectHit(void){
|
||||
func_8025A6EC(COMUSIC_2C_BUZZER, 28000);
|
||||
coMusicPlayer_playMusic(COMUSIC_2C_BUZZER, 28000);
|
||||
}
|
||||
|
||||
void chTiptup_textEvent(ActorMarker *this, enum asset_e text_id, s32 arg2){
|
||||
@@ -147,14 +147,14 @@ void chTiptup_setState(Actor *this, s32 arg1){
|
||||
this->has_met_before = TRUE;
|
||||
|
||||
if (unqPtr->unkA == 0) {
|
||||
gcdialog_showText(ASSET_C72_DIALOG_UNKNOWN, 0xe, this->position, this->marker, chTiptup_textEvent, 0);
|
||||
gcdialog_showDialog(ASSET_C72_DIALOG_UNKNOWN, 0xe, this->position, this->marker, chTiptup_textEvent, 0);
|
||||
}
|
||||
else {
|
||||
gcdialog_showText(ASSET_C74_DIALOG_UNKNOWN, 0xf, this->position, this->marker, chTiptup_textEvent, 0);
|
||||
gcdialog_showDialog(ASSET_C74_DIALOG_UNKNOWN, 0xf, this->position, this->marker, chTiptup_textEvent, 0);
|
||||
}
|
||||
}
|
||||
else {
|
||||
gcdialog_showText(D_80390854[unqPtr->unkA], 0xf, this->position, this->marker, chTiptup_textEvent, 0);
|
||||
gcdialog_showDialog(D_80390854[unqPtr->unkA], 0xf, this->position, this->marker, chTiptup_textEvent, 0);
|
||||
}
|
||||
}
|
||||
if(this->state == 3){
|
||||
@@ -206,7 +206,7 @@ void chTiptup_setState(Actor *this, s32 arg1){
|
||||
}//L80388D8C
|
||||
if(this->state == 6){
|
||||
if(unqPtr->unkA == 3){
|
||||
func_8025A6EC(COMUSIC_2D_PUZZLE_SOLVED_FANFARE, 28000);
|
||||
coMusicPlayer_playMusic(COMUSIC_2D_PUZZLE_SOLVED_FANFARE, 28000);
|
||||
}
|
||||
func_80324E38(0.5f, 3);
|
||||
timed_setStaticCameraToNode(1.5f, 1);
|
||||
@@ -235,7 +235,7 @@ void chTiptup_choirHitReaction(ActorMarker *this, s32 arg1){
|
||||
thisActor = marker_getActor(this);
|
||||
unqPtr = (ActorLocal_Tiptup *)&thisActor->local;
|
||||
if((s32)unqPtr->unk0 >= (s32) vector_size(unqPtr->unk4)){
|
||||
if(!mapSpecificFlags_get(0) && gcdialog_showText(ASSET_C76_DIALOG_UNKNOWN, 0, 0, 0, 0, 0))
|
||||
if(!mapSpecificFlags_get(0) && gcdialog_showDialog(ASSET_C76_DIALOG_UNKNOWN, 0, 0, 0, 0, 0))
|
||||
mapSpecificFlags_set(0,1);
|
||||
}else{
|
||||
tmp = (Struct_BGS_2270_0s *)vector_at(unqPtr->unk4, unqPtr->unk0);
|
||||
@@ -245,7 +245,7 @@ void chTiptup_choirHitReaction(ActorMarker *this, s32 arg1){
|
||||
else{
|
||||
func_8028F55C(1, thisActor->marker);
|
||||
timedFunc_set_0(0.5f, chTiptup_sfxIncorrectHit);
|
||||
if(!mapSpecificFlags_get(1) && !volatileFlag_get(VOLATILE_FLAG_2_FF_IN_MINIGAME) && gcdialog_showText(0xc75, 0, NULL, NULL, NULL, NULL))
|
||||
if(!mapSpecificFlags_get(1) && !volatileFlag_get(VOLATILE_FLAG_2_FF_IN_MINIGAME) && gcdialog_showDialog(0xc75, 0, NULL, NULL, NULL, NULL))
|
||||
mapSpecificFlags_set(1,TRUE);
|
||||
}
|
||||
}
|
||||
@@ -342,7 +342,7 @@ void chTiptup_update(Actor *this){
|
||||
if(this->state == 6){
|
||||
if(ml_vec3f_distance(this->position, player_position) < 300.0f && !unqPtr->unk8){
|
||||
unqPtr->unk8 = 1;
|
||||
gcdialog_showText(0xc7d, 4, 0, 0, 0, 0);
|
||||
gcdialog_showDialog(0xc7d, 4, 0, 0, 0, 0);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@@ -1,108 +0,0 @@
|
||||
#include <ultra64.h>
|
||||
#include "functions.h"
|
||||
#include "variables.h"
|
||||
|
||||
extern void timedFunc_set_0(f32, void (*)(void));
|
||||
|
||||
void chLongSwampSwitch_update(Actor *this);
|
||||
void chShortSwampSwitch_update(Actor *this);
|
||||
|
||||
ActorAnimationInfo chSwampSwitchAnimations[] = {
|
||||
{0x00, 0.0f},
|
||||
{0x00, 0.0f},
|
||||
{ASSET_D4_ANIM_SWITCH_DOWN, 0.15f},
|
||||
{ASSET_D5_ANIM_SWITCH_UP, 0.5f},
|
||||
{0x00, 0.0f},
|
||||
{0x00, 0.0f},
|
||||
{ASSET_D4_ANIM_SWITCH_DOWN, 0.15f},
|
||||
{ASSET_D5_ANIM_SWITCH_UP, 0.5f},
|
||||
{ASSET_D5_ANIM_SWITCH_UP, 1e+8f}
|
||||
};
|
||||
ActorInfo chLongSwampSwitch = {MARKER_F5_BGS_ELEVATED_WALKWAY_SWITCH, ACTOR_14E_BGS_ELEVATED_WALKWAY_SWITCH, ASSET_3F5_BGS_JIGGY_SWITCH, 1, chSwampSwitchAnimations, chLongSwampSwitch_update, actor_update_func_80326224, actor_draw, 0, 0, 0.0f, 0};
|
||||
ActorInfo chShortSwampSwitch = {MARKER_FD_BGS_MAZE_SWITCH, ACTOR_1FB_BGS_MAZE_SWITCH, ASSET_3F5_BGS_JIGGY_SWITCH, 1, chSwampSwitchAnimations, chShortSwampSwitch_update, actor_update_func_80326224, actor_draw, 0, 0, 0.0f, 0};
|
||||
|
||||
void chLongSwampSwitch_jiggySpawn(void){
|
||||
f32 sp24[3];
|
||||
|
||||
if(nodeProp_findPositionFromActorId(0x14d, sp24)){
|
||||
jiggy_spawn(JIGGY_20_BGS_ELEVATED_WALKWAY, sp24);
|
||||
__spawnQueue_add_4((GenFunction_4)spawnQueue_actor_f32, ACTOR_4C_STEAM,
|
||||
reinterpret_cast(s32, sp24[0]),
|
||||
reinterpret_cast(s32, sp24[1]),
|
||||
reinterpret_cast(s32, sp24[2])
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
void chLongSwampSwitch_update(Actor *this){
|
||||
func_8038EA90();
|
||||
if(mapSpecificFlags_get(7)){
|
||||
mapSpecificFlags_set(7, 0);
|
||||
if(!mapSpecificFlags_get(3) || (item_getCount(0) > 0)){
|
||||
func_802D68F0(45);
|
||||
}
|
||||
}
|
||||
if(!mapSpecificFlags_get(5)){
|
||||
func_802D4928(this, 1, 6, 7); //something with switch collision
|
||||
}
|
||||
if(mapSpecificFlags_get(2)){
|
||||
this->velocity_x = 0.0f;
|
||||
mapSpecificFlags_set(3,0);
|
||||
mapSpecificFlags_set(4,0);
|
||||
mapSpecificFlags_set(1,0);
|
||||
mapSpecificFlags_set(2,0);
|
||||
}
|
||||
if( this->velocity_x == 0.0f && mapSpecificFlags_get(1)){
|
||||
this->velocity_x = 1.0f;
|
||||
func_802BAFE4(0xc);
|
||||
timedFunc_set_0(1.2f, chLongSwampSwitch_jiggySpawn);
|
||||
} //L8038EFB4
|
||||
if( this->velocity_x != 0.0f && !mapSpecificFlags_get(3) && func_802BB270()){
|
||||
mapSpecificFlags_set(3,1);
|
||||
func_802D68F0(45); //adjusts timer
|
||||
item_set(ITEM_6_HOURGLASS,1);
|
||||
} //L8038EFB4
|
||||
}
|
||||
|
||||
void chShortSwampSwitch_jiggySpawn(void){
|
||||
f32 sp24[3];
|
||||
|
||||
if(nodeProp_findPositionFromActorId(0x1fc, sp24)){
|
||||
jiggy_spawn(JIGGY_25_BGS_MAZE, sp24);
|
||||
__spawnQueue_add_4((GenFunction_4)spawnQueue_actor_f32, ACTOR_4C_STEAM,
|
||||
reinterpret_cast(s32, sp24[0]),
|
||||
reinterpret_cast(s32, sp24[1]),
|
||||
reinterpret_cast(s32, sp24[2])
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
void chShortSwampSwitch_update(Actor *this){
|
||||
func_8038EA90();
|
||||
if(mapSpecificFlags_get(8)){
|
||||
mapSpecificFlags_set(8, 0);
|
||||
if(!mapSpecificFlags_get(0xC) || (item_getCount(0) > 0)){
|
||||
func_802D68F0(10);
|
||||
}
|
||||
}
|
||||
if(!mapSpecificFlags_get(9)){
|
||||
func_802D4928(this, 0xA, 6, 7);
|
||||
}
|
||||
if(mapSpecificFlags_get(0xB)){
|
||||
this->velocity_x = 0.0f;
|
||||
mapSpecificFlags_set(0xC,0);
|
||||
mapSpecificFlags_set(0xD,0);
|
||||
mapSpecificFlags_set(0xA,0);
|
||||
mapSpecificFlags_set(0xB,0);
|
||||
}
|
||||
if( this->velocity_x == 0.0f && mapSpecificFlags_get(0xA)){
|
||||
this->velocity_x = 1.0f;
|
||||
func_802BAFE4(0x1D);
|
||||
timedFunc_set_0(1.2f, chShortSwampSwitch_jiggySpawn);
|
||||
} //L8038EFB4
|
||||
if( this->velocity_x != 0.0f && !mapSpecificFlags_get(0xC) && func_802BB270()){
|
||||
mapSpecificFlags_set(0xC,1);
|
||||
func_802D68F0(10); //adjusts timer
|
||||
item_set(ITEM_6_HOURGLASS,1);
|
||||
} //L8038EFB4
|
||||
}
|
@@ -9,7 +9,7 @@ extern void func_803289EC(Actor *, f32, s32);
|
||||
extern void func_80326310(Actor *);
|
||||
extern void actor_setOpacity(Actor *, s32);
|
||||
extern void __spawnQueue_add_2(void (*)(s32, s32), s32, s32);
|
||||
extern void func_802BAFE4(s32 arg0);
|
||||
extern void gcStaticCamera_activate(s32 arg0);
|
||||
|
||||
|
||||
|
||||
@@ -37,7 +37,7 @@ ActorInfo D_80390804 ={MARKER_FC_CROCTUS, ACTOR_1FA_CROCTUS, ASSET_425_MODEL_CRO
|
||||
|
||||
/* .code */
|
||||
void func_80387C90(Actor *arg0){
|
||||
anctrl_setDuration(arg0->anctrl, 0.4 + 0.9999999999999999 * ((f32)(5 - arg0->unkF4_8) * 0.25));
|
||||
anctrl_setDuration(arg0->anctrl, 0.4 + 0.9999999999999999 * ((f32)(5 - arg0->actorTypeSpecificField) * 0.25));
|
||||
}
|
||||
|
||||
void func_80387D18(ActorMarker * arg0, u32 arg1){
|
||||
@@ -47,7 +47,7 @@ void func_80387D18(ActorMarker * arg0, u32 arg1){
|
||||
this = marker_getActor(arg0);
|
||||
nextActPtr = spawn_child_actor(0x6A, &this);
|
||||
nextActPtr->state = 2;
|
||||
nextActPtr->unkF4_8 = 0x8C;
|
||||
nextActPtr->actorTypeSpecificField = 0x8C;
|
||||
nextActPtr->lifetime_value = 3.0f;
|
||||
nextActPtr->unk38_31 = arg1;
|
||||
if(arg0);
|
||||
@@ -64,9 +64,9 @@ void *func_80387D90(ActorMarker * arg0){
|
||||
spawnPos[1] = this->position_y;
|
||||
spawnPos[2] = this->position_z;
|
||||
marker->propPtr->unk8_3 = 0;
|
||||
func_802BAFE4(0x19);
|
||||
gcStaticCamera_activate(0x19);
|
||||
jiggy_spawn(JIGGY_22_CROCTUS, spawnPos);
|
||||
func_8025A6EC(COMUSIC_2D_PUZZLE_SOLVED_FANFARE, 0x7FFF);
|
||||
coMusicPlayer_playMusic(COMUSIC_2D_PUZZLE_SOLVED_FANFARE, 0x7FFF);
|
||||
}
|
||||
|
||||
void func_80387E00(s32 arg0){
|
||||
@@ -94,8 +94,8 @@ void func_80387E68(ActorMarker *caller, enum asset_e text_id, s32 arg2){
|
||||
func_80324D2C(4.5f, COMUSIC_43_ENTER_LEVEL_GLITTER);
|
||||
subaddie_set_state_with_direction(this, 5, 0.79f, 1);
|
||||
func_80326310(this); //did not disappear when moved, after cutscene still there with collision but broken
|
||||
bgs_D_803907B8[this->unkF4_8]->propPtr->unk8_4 = TRUE;
|
||||
timedFunc_set_1(1.1f, (GenFunction_1)func_80387E00, reinterpret_cast(s32, bgs_D_803907B8[this->unkF4_8]));
|
||||
bgs_D_803907B8[this->actorTypeSpecificField]->propPtr->unk8_4 = TRUE;
|
||||
timedFunc_set_1(1.1f, (GenFunction_1)func_80387E00, reinterpret_cast(s32, bgs_D_803907B8[this->actorTypeSpecificField]));
|
||||
timed_setStaticCameraToNode(0.8f, 9);
|
||||
func_80324DBC(3.4f, 0xC87, 0xE, NULL, NULL, func_80387E68, NULL);
|
||||
__spawnQueue_add_2((GenFunction_2) func_80387D18, reinterpret_cast(s32, this->marker), 0x46);
|
||||
@@ -115,16 +115,16 @@ void func_80387FD4(Actor *this){
|
||||
return;
|
||||
}
|
||||
this->volatile_initialized = TRUE;
|
||||
if(bgs_D_803907B8[this->unkF4_8 - 1] == 0){
|
||||
bgs_D_803907B8[this->unkF4_8 - 1] = this->marker;
|
||||
for(j = this->unkF4_8; j < 6; j++){
|
||||
if(bgs_D_803907B8[this->actorTypeSpecificField - 1] == 0){
|
||||
bgs_D_803907B8[this->actorTypeSpecificField - 1] = this->marker;
|
||||
for(j = this->actorTypeSpecificField; j < 6; j++){
|
||||
if(bgs_D_803907B8[j] != NULL){
|
||||
bgs_D_803907B8[j]->propPtr->unk8_4 = FALSE;
|
||||
actor_setOpacity(marker_getActor(bgs_D_803907B8[j]), 0);
|
||||
}
|
||||
}//L803880C8
|
||||
|
||||
for( j = this->unkF4_8 - 2; j >= 0 && bgs_D_803907B8[j] == NULL; j--);
|
||||
for( j = this->actorTypeSpecificField - 2; j >= 0 && bgs_D_803907B8[j] == NULL; j--);
|
||||
|
||||
|
||||
if(j >= 0){
|
||||
@@ -140,10 +140,10 @@ void func_80387FD4(Actor *this){
|
||||
|
||||
if(this->unk38_31){
|
||||
if ((this->state != 5) && (this->state != 6)) {
|
||||
func_8025A6EC(COMUSIC_2B_DING_B, 28000); //TODO ISSUE HERE
|
||||
if (this->unkF4_8 == 1) {
|
||||
coMusicPlayer_playMusic(COMUSIC_2B_DING_B, 28000);
|
||||
if (this->actorTypeSpecificField == 1) {
|
||||
func_8028F94C(2, this->position);
|
||||
gcdialog_showText(ASSET_C86_DIALOG_UNKNOWN, 0xE, this->position, this->marker, func_80387E68, NULL);
|
||||
gcdialog_showDialog(ASSET_C86_DIALOG_UNKNOWN, 0xE, this->position, this->marker, func_80387E68, NULL);
|
||||
subaddie_set_state_with_direction(this, 6, 0.79f, 1);
|
||||
} else {
|
||||
timed_playSfx(0.4f, SFX_C9_PAUSEMENU_ENTER, 1.0f, 32000); //0.4f
|
||||
@@ -151,15 +151,15 @@ void func_80387FD4(Actor *this){
|
||||
func_80324CFC(0.4f, COMUSIC_43_ENTER_LEVEL_GLITTER, 22000);
|
||||
func_80324D2C(4.5f, COMUSIC_43_ENTER_LEVEL_GLITTER);
|
||||
subaddie_set_state_with_direction(this, 5, 0.79f, 1);
|
||||
if (this->unkF4_8 == 5) {
|
||||
if (this->actorTypeSpecificField == 5) {
|
||||
timedFunc_set_1(0.9f, (GenFunction_1) func_80387E40, (s32) this->marker);
|
||||
} else {
|
||||
func_80326310(this);
|
||||
}
|
||||
if (this->unkF4_8 < 5) {
|
||||
bgs_D_803907B8[this->unkF4_8]->propPtr->unk8_4 = TRUE;
|
||||
timedFunc_set_1(1.1f, (GenFunction_1)func_80387E00, reinterpret_cast(s32, bgs_D_803907B8[this->unkF4_8]));
|
||||
func_802BAFE4(D_803907B0[this->unkF4_8-1]);
|
||||
if (this->actorTypeSpecificField < 5) {
|
||||
bgs_D_803907B8[this->actorTypeSpecificField]->propPtr->unk8_4 = TRUE;
|
||||
timedFunc_set_1(1.1f, (GenFunction_1)func_80387E00, reinterpret_cast(s32, bgs_D_803907B8[this->actorTypeSpecificField]));
|
||||
gcStaticCamera_activate(D_803907B0[this->actorTypeSpecificField-1]);
|
||||
} else {
|
||||
timedFunc_set_1(0.8f, (GenFunction_1)func_80387D90, (s32) this->marker);
|
||||
}
|
||||
@@ -187,7 +187,7 @@ void func_80387FD4(Actor *this){
|
||||
|
||||
case 3:// L80388434
|
||||
this->lifetime_value += time_getDelta();
|
||||
if( this->lifetime_value >= 0.13 + 0.7/4 * (5 - this->unkF4_8)){
|
||||
if( this->lifetime_value >= 0.13 + 0.7/4 * (5 - this->actorTypeSpecificField)){
|
||||
subaddie_set_state_with_direction(this, 4, 0.62f, 1);
|
||||
func_80387C90(this);
|
||||
this->lifetime_value = 0.0f;
|
||||
@@ -207,7 +207,7 @@ void func_80387FD4(Actor *this){
|
||||
&& !anctrl_isPlayedForwards(this->anctrl)
|
||||
&& func_802BB270()
|
||||
){
|
||||
func_8030E6A4(SFX_C8_CRUNCH, randf2(0.93f, 1.07f), 22000);
|
||||
gcsfx_playWithPitch(SFX_C8_CRUNCH, randf2(0.93f, 1.07f), 22000);
|
||||
}
|
||||
break;
|
||||
|
||||
@@ -227,6 +227,6 @@ void BGS_func_803885DC(void){
|
||||
Actor *func_8038860C(ActorMarker *this, Gfx** gdl, Mtx ** mptr, Vtx **vtx){
|
||||
Actor *thisActor;
|
||||
thisActor = marker_getActor(this);
|
||||
func_8033A45C(1, thisActor->unkF4_8);
|
||||
func_8033A45C(1, thisActor->actorTypeSpecificField);
|
||||
return actor_draw(this, gdl, mptr, vtx);
|
||||
}
|
||||
|
@@ -215,7 +215,7 @@ void func_80386AEC(Actor *this, s32 next_state) {
|
||||
}
|
||||
|
||||
if (next_state == 5) {
|
||||
FUNC_8030E8B4(SFX_8E_GRUNTLING_DAMAGE, 1.5f, 32200, this->position, 500, 2500);
|
||||
sfx_playFadeShorthandDefault(SFX_8E_GRUNTLING_DAMAGE, 1.5f, 32200, this->position, 500, 2500);
|
||||
skeletalAnim_set(this->unk148, ASSET_288_ANIM_FLIBBIT_OW, 0.1f, 0.65f);
|
||||
skeletalAnim_setBehavior(this->unk148, SKELETAL_ANIM_2_ONCE);
|
||||
this->position[1] = mapModel_getFloorY(this->position);
|
||||
@@ -224,7 +224,7 @@ void func_80386AEC(Actor *this, s32 next_state) {
|
||||
|
||||
if (next_state == 6) {
|
||||
skeletalAnim_set(this->unk148, ASSET_112_ANIM_FLIBBIT_DIE, 0.2f, 0.4f);
|
||||
FUNC_8030E8B4(SFX_115_BUZZBOMB_DEATH, 1.0f, 32200, this->position, 500, 2500);
|
||||
sfx_playFadeShorthandDefault(SFX_115_BUZZBOMB_DEATH, 1.0f, 32200, this->position, 500, 2500);
|
||||
this->marker->collidable = FALSE;
|
||||
this->unk10_1 = FALSE;
|
||||
local->unk14 = 1000.0f;
|
||||
@@ -232,7 +232,7 @@ void func_80386AEC(Actor *this, s32 next_state) {
|
||||
if (next_state == 7) {
|
||||
skeletalAnim_set(this->unk148, ASSET_113_ANIM_FLIBBIT_DEAD, 0.2f, 1.0f);
|
||||
skeletalAnim_setBehavior(this->unk148, SKELETAL_ANIM_2_ONCE);
|
||||
FUNC_8030E8B4(SFX_2F_ORANGE_SPLAT, 0.8f, 32200, this->position, 500, 2500);
|
||||
sfx_playFadeShorthandDefault(SFX_2F_ORANGE_SPLAT, 0.8f, 32200, this->position, 500, 2500);
|
||||
}
|
||||
if (next_state == 8) {
|
||||
func_80326310(this);
|
||||
|
@@ -56,10 +56,10 @@ void chFrogMinigame_setState(Actor * arg0, u32 next_state){
|
||||
mapSpecificFlags_set(0x10, 1);
|
||||
if(!fileProgressFlag_get(FILEPROG_1B_MET_YELLOW_FLIBBITS)){
|
||||
fileProgressFlag_set(FILEPROG_1B_MET_YELLOW_FLIBBITS, 1);
|
||||
gcdialog_showText(text_flibbits_meet, 0xf, arg0->position, arg0->marker, __chFrogMinigame_textCallback, 0);
|
||||
gcdialog_showDialog(text_flibbits_meet, 0xf, arg0->position, arg0->marker, __chFrogMinigame_textCallback, 0);
|
||||
}else{
|
||||
if(!arg0->bgs_6730.unk8){
|
||||
gcdialog_showText(text_flibbits_return, 0x4, arg0->position, arg0->marker, __chFrogMinigame_textCallback, 0);
|
||||
gcdialog_showDialog(text_flibbits_return, 0x4, arg0->position, arg0->marker, __chFrogMinigame_textCallback, 0);
|
||||
}
|
||||
else{
|
||||
__chFrogMinigame_textCallback(arg0->marker, text_flibbits_return, 0);
|
||||
@@ -71,7 +71,7 @@ void chFrogMinigame_setState(Actor * arg0, u32 next_state){
|
||||
s0->unk0 = 1;
|
||||
if(!s0->unk4){
|
||||
func_8025A58C(0, 400);
|
||||
func_8025A6EC(MUSIC_BGS_FLIBBIT_FIGHT, 30000);
|
||||
coMusicPlayer_playMusic(MUSIC_BGS_FLIBBIT_FIGHT, 30000);
|
||||
s0->unk4 = 1;
|
||||
}
|
||||
else{
|
||||
@@ -93,7 +93,7 @@ void chFrogMinigame_setState(Actor * arg0, u32 next_state){
|
||||
}
|
||||
|
||||
if (next_state == 4) {
|
||||
gcdialog_showText(text_flibbits_defeat, 0xf, arg0->position, arg0->marker, __chFrogMinigame_textCallback, 0);
|
||||
gcdialog_showDialog(text_flibbits_defeat, 0xf, arg0->position, arg0->marker, __chFrogMinigame_textCallback, 0);
|
||||
}
|
||||
|
||||
if(next_state == 5){
|
||||
|
@@ -41,7 +41,7 @@ Actor *chLeafBoat_draw(ActorMarker *this, Gfx** gdl, Mtx** mtx, Vtx **vtx){
|
||||
}
|
||||
|
||||
void func_8038FD88(ActorMarker *this, ActorMarker *other){
|
||||
this->unk3E_1 = 1;
|
||||
this->isBanjoOnTop = 1;
|
||||
}
|
||||
|
||||
void chLeafBoat_update(Actor *this){
|
||||
@@ -155,7 +155,7 @@ void chLeafBoat_update(Actor *this){
|
||||
_player_getPosition(player_position);
|
||||
if( func_80294660() == 0x100
|
||||
&& func_8028F20C()
|
||||
&& this->marker->unk3E_1
|
||||
&& this->marker->isBanjoOnTop
|
||||
){
|
||||
sp44 = local->unk54[0] - player_position[0];
|
||||
sp40 = local->unk54[2] - player_position[2];
|
||||
@@ -184,7 +184,7 @@ void chLeafBoat_update(Actor *this){
|
||||
}
|
||||
this->unk10_12 = 0;
|
||||
}
|
||||
this->marker->unk3E_1 = 0;
|
||||
this->marker->isBanjoOnTop = 0;
|
||||
|
||||
local->unk18[1] = 10 * sinf((((this->lifetime_value * local->unk6C) / 180.0) * BAD_PI));
|
||||
this->unk1C[0] = 4.5 * cosf((((this->lifetime_value * local->unk6C) / 180.0) * BAD_PI));
|
||||
|
@@ -103,12 +103,12 @@ void chMudHut_update(Actor *this){
|
||||
diffPos[2] = this->position_z;
|
||||
diffPos[1] += 130.0;
|
||||
|
||||
FUNC_8030E8B4(SFX_5B_HEAVY_STUFF_FALLING, 1.0f, 28000, this->position, 0x12C, 0xBB8);
|
||||
sfx_playFadeShorthandDefault(SFX_5B_HEAVY_STUFF_FALLING, 1.0f, 28000, this->position, 0x12C, 0xBB8);
|
||||
subaddie_set_state(this, 2);
|
||||
this->marker->propPtr->unk8_3 = 0;
|
||||
actor_playAnimationOnce(this);
|
||||
if(tmp == 5){
|
||||
func_8025A6EC(COMUSIC_2D_PUZZLE_SOLVED_FANFARE, 28000);
|
||||
coMusicPlayer_playMusic(COMUSIC_2D_PUZZLE_SOLVED_FANFARE, 28000);
|
||||
}
|
||||
__spawnQueue_add_1((GenFunction_1)chMudHut_spawnExplosion, reinterpret_cast(s32, this->marker));
|
||||
|
||||
|
@@ -84,7 +84,7 @@ void chPinkEgg_collision(ActorMarker *this, ActorMarker *other_marker){
|
||||
|
||||
thisActor = marker_getActor(this);
|
||||
this->propPtr->unk8_3 = 0;
|
||||
sfxsource_play(SFX_AA_BGS_EGG_BREAKING_1, 28000);
|
||||
gcsfx_playAtSampleRate(SFX_AA_BGS_EGG_BREAKING_1, 28000);
|
||||
subaddie_set_state(thisActor, 3);
|
||||
actor_playAnimationOnce(thisActor);
|
||||
this->collidable = FALSE;
|
||||
@@ -93,7 +93,7 @@ void chPinkEgg_collision(ActorMarker *this, ActorMarker *other_marker){
|
||||
__spawnQueue_add_2(chPinkEgg_spawnNext, thisActor->marker, tmp->unk0);
|
||||
} else {
|
||||
jiggy_spawn(JIGGY_21_BGS_PINKEGG, thisActor->position);
|
||||
func_8025A6EC(COMUSIC_2D_PUZZLE_SOLVED_FANFARE, 28000);
|
||||
coMusicPlayer_playMusic(COMUSIC_2D_PUZZLE_SOLVED_FANFARE, 28000);
|
||||
}
|
||||
}
|
||||
|
||||
|
128
src/BGS/ch/swampswitch.c
Normal file
128
src/BGS/ch/swampswitch.c
Normal file
@@ -0,0 +1,128 @@
|
||||
#include <ultra64.h>
|
||||
#include "functions.h"
|
||||
#include "variables.h"
|
||||
|
||||
extern void timedFunc_set_0(f32, void (*)(void));
|
||||
|
||||
void chLongSwampSwitch_update(Actor *this);
|
||||
void chShortSwampSwitch_update(Actor *this);
|
||||
|
||||
ActorAnimationInfo chSwampSwitchAnimations[] = {
|
||||
{ 0x00, 0.0f },
|
||||
{ 0x00, 0.0f },
|
||||
{ ASSET_D4_ANIM_SWITCH_DOWN, 0.15f },
|
||||
{ ASSET_D5_ANIM_SWITCH_UP, 0.5f },
|
||||
{ 0x00, 0.0f },
|
||||
{ 0x00, 0.0f },
|
||||
{ ASSET_D4_ANIM_SWITCH_DOWN, 0.15f },
|
||||
{ ASSET_D5_ANIM_SWITCH_UP, 0.5f },
|
||||
{ ASSET_D5_ANIM_SWITCH_UP, 1e+8f }
|
||||
};
|
||||
|
||||
ActorInfo chLongSwampSwitch = {
|
||||
MARKER_F5_BGS_ELEVATED_WALKWAY_SWITCH, ACTOR_14E_BGS_ELEVATED_WALKWAY_SWITCH, ASSET_3F5_BGS_JIGGY_SWITCH,
|
||||
1, chSwampSwitchAnimations, chLongSwampSwitch_update, actor_update_func_80326224, actor_draw, 0, 0, 0.0f, 0 };
|
||||
ActorInfo chShortSwampSwitch = { MARKER_FD_BGS_MAZE_SWITCH, ACTOR_1FB_BGS_MAZE_SWITCH, ASSET_3F5_BGS_JIGGY_SWITCH,
|
||||
1, chSwampSwitchAnimations, chShortSwampSwitch_update, actor_update_func_80326224, actor_draw, 0, 0, 0.0f, 0};
|
||||
|
||||
void chLongSwampSwitch_jiggySpawn(void) {
|
||||
f32 sp24[3];
|
||||
|
||||
if (!nodeProp_findPositionFromActorId(0x14d, sp24)) {
|
||||
return;
|
||||
}
|
||||
|
||||
jiggy_spawn(JIGGY_20_BGS_ELEVATED_WALKWAY, sp24);
|
||||
__spawnQueue_add_4((GenFunction_4)spawnQueue_actor_f32, ACTOR_4C_STEAM,
|
||||
reinterpret_cast(s32, sp24[0]),
|
||||
reinterpret_cast(s32, sp24[1]),
|
||||
reinterpret_cast(s32, sp24[2])
|
||||
);
|
||||
}
|
||||
|
||||
void chLongSwampSwitch_update(Actor *this){
|
||||
func_8038EA90();
|
||||
|
||||
// If the switch has been pressed, hitting it again resets the timer
|
||||
if (mapSpecificFlags_get(BGS_SPECIFIC_FLAG_7)) {
|
||||
mapSpecificFlags_set(BGS_SPECIFIC_FLAG_7, FALSE);
|
||||
if (!mapSpecificFlags_get(BGS_SPECIFIC_FLAG_WALKWAY_JIGGY_TIMER_RUNNING) || (item_getCount(ITEM_0_HOURGLASS_TIMER) > 0)) {
|
||||
func_802D68F0(45);
|
||||
}
|
||||
}
|
||||
|
||||
if (!mapSpecificFlags_get(BGS_SPECIFIC_FLAG_WALKWAY_JIGGY_SWITCH_PRESSED)) {
|
||||
func_802D4928(this, BGS_SPECIFIC_FLAG_1, 6, 7); //something with switch collision
|
||||
}
|
||||
|
||||
if (mapSpecificFlags_get(BGS_SPECIFIC_FLAG_WALKWAY_JIGGY_RESET)) {
|
||||
this->velocity_x = 0.0f;
|
||||
mapSpecificFlags_set(BGS_SPECIFIC_FLAG_WALKWAY_JIGGY_TIMER_RUNNING, FALSE);
|
||||
mapSpecificFlags_set(BGS_SPECIFIC_FLAG_WALKWAY_JIGGY, FALSE);
|
||||
mapSpecificFlags_set(BGS_SPECIFIC_FLAG_1, FALSE);
|
||||
mapSpecificFlags_set(BGS_SPECIFIC_FLAG_WALKWAY_JIGGY_RESET, FALSE);
|
||||
}
|
||||
|
||||
if (this->velocity_x == 0.0f && mapSpecificFlags_get(BGS_SPECIFIC_FLAG_1)) {
|
||||
this->velocity_x = 1.0f;
|
||||
gcStaticCamera_activate(0xc);
|
||||
timedFunc_set_0(1.2f, chLongSwampSwitch_jiggySpawn);
|
||||
} //L8038EFB4
|
||||
|
||||
if (this->velocity_x != 0.0f && !mapSpecificFlags_get(BGS_SPECIFIC_FLAG_WALKWAY_JIGGY_TIMER_RUNNING) && func_802BB270()) {
|
||||
mapSpecificFlags_set(BGS_SPECIFIC_FLAG_WALKWAY_JIGGY_TIMER_RUNNING, TRUE);
|
||||
func_802D68F0(45); //adjusts timer
|
||||
item_set(ITEM_6_HOURGLASS, 1);
|
||||
} //L8038EFB4
|
||||
}
|
||||
|
||||
void chShortSwampSwitch_jiggySpawn(void){
|
||||
f32 sp24[3];
|
||||
|
||||
if (!nodeProp_findPositionFromActorId(0x1fc, sp24)) {
|
||||
return;
|
||||
}
|
||||
|
||||
jiggy_spawn(JIGGY_25_BGS_MAZE, sp24);
|
||||
__spawnQueue_add_4((GenFunction_4)spawnQueue_actor_f32, ACTOR_4C_STEAM,
|
||||
reinterpret_cast(s32, sp24[0]),
|
||||
reinterpret_cast(s32, sp24[1]),
|
||||
reinterpret_cast(s32, sp24[2])
|
||||
);
|
||||
}
|
||||
|
||||
void chShortSwampSwitch_update(Actor *this){
|
||||
func_8038EA90();
|
||||
|
||||
if (mapSpecificFlags_get(BGS_SPECIFIC_FLAG_8)) {
|
||||
mapSpecificFlags_set(BGS_SPECIFIC_FLAG_8, 0);
|
||||
|
||||
if (!mapSpecificFlags_get(BGS_SPECIFIC_FLAG_MAZE_JIGGY_TIMER_RUNNING) || (item_getCount(ITEM_0_HOURGLASS_TIMER) > 0)) {
|
||||
func_802D68F0(10);
|
||||
}
|
||||
}
|
||||
|
||||
if (!mapSpecificFlags_get(BGS_SPECIFIC_FLAG_MAZE_JIGGY_SWITCH_PRESSED)) {
|
||||
func_802D4928(this, BGS_SPECIFIC_FLAG_A, 6, 7);
|
||||
}
|
||||
|
||||
if (mapSpecificFlags_get(BGS_SPECIFIC_FLAG_MAZE_JIGGY_RESET)) {
|
||||
this->velocity_x = 0.0f;
|
||||
mapSpecificFlags_set(BGS_SPECIFIC_FLAG_MAZE_JIGGY_TIMER_RUNNING, FALSE);
|
||||
mapSpecificFlags_set(BGS_SPECIFIC_FLAG_MAZE_JIGGY, FALSE);
|
||||
mapSpecificFlags_set(BGS_SPECIFIC_FLAG_A, FALSE);
|
||||
mapSpecificFlags_set(BGS_SPECIFIC_FLAG_MAZE_JIGGY_RESET, FALSE);
|
||||
}
|
||||
|
||||
if (this->velocity_x == 0.0f && mapSpecificFlags_get(BGS_SPECIFIC_FLAG_A)) {
|
||||
this->velocity_x = 1.0f;
|
||||
gcStaticCamera_activate(0x1D);
|
||||
timedFunc_set_0(1.2f, chShortSwampSwitch_jiggySpawn);
|
||||
} //L8038EFB4
|
||||
|
||||
if (this->velocity_x != 0.0f && !mapSpecificFlags_get(BGS_SPECIFIC_FLAG_MAZE_JIGGY_TIMER_RUNNING) && func_802BB270()) {
|
||||
mapSpecificFlags_set(BGS_SPECIFIC_FLAG_MAZE_JIGGY_TIMER_RUNNING, TRUE);
|
||||
func_802D68F0(10); //adjusts timer
|
||||
item_set(ITEM_6_HOURGLASS,1);
|
||||
} //L8038EFB4
|
||||
}
|
@@ -142,7 +142,7 @@ void func_8038F6A4(Actor *this)
|
||||
{
|
||||
if ((((ml_vec3f_distance(local->unk18, sp48) < 250.0f) && (ml_vec3f_distance(local->unk18, sp48) > 80.0f)) && (!player_movementGroup())) && (player_getTransformation() == TRANSFORM_1_BANJO))
|
||||
{
|
||||
gcdialog_showText(0xC7E, 0, 0, 0, 0, 0);
|
||||
gcdialog_showDialog(0xC7E, 0, 0, 0, 0, 0);
|
||||
this->has_met_before = TRUE;
|
||||
}
|
||||
}
|
||||
@@ -163,7 +163,7 @@ void func_8038F6A4(Actor *this)
|
||||
|
||||
if ((!this->unk138_23) && (!local->unk14))
|
||||
{
|
||||
if (gcdialog_showText(0xC80, 0, 0, 0, 0, 0))
|
||||
if (gcdialog_showDialog(0xC80, 0, 0, 0, 0, 0))
|
||||
{
|
||||
this->unk138_23 = 1;
|
||||
}
|
||||
@@ -175,7 +175,7 @@ void func_8038F6A4(Actor *this)
|
||||
func_8038F610(this);
|
||||
if (actor_animationIsAt(this, 0.6f) && local->unk14)
|
||||
{
|
||||
func_8025A6EC(COMUSIC_2D_PUZZLE_SOLVED_FANFARE, 28000);
|
||||
coMusicPlayer_playMusic(COMUSIC_2D_PUZZLE_SOLVED_FANFARE, 28000);
|
||||
func_8028F94C(2, local->unk18);
|
||||
}
|
||||
if (actor_animationIsAt(this, 0.99f))
|
||||
@@ -214,7 +214,7 @@ void func_8038F6A4(Actor *this)
|
||||
func_8028F918(0);
|
||||
if (jiggyscore_isCollected(JIGGY_26_BGS_TANKTUP) == 0)
|
||||
{
|
||||
gcdialog_showText(0xC7F, 0xF, this->position, this->marker, func_8038F5E4, 0);
|
||||
gcdialog_showDialog(0xC7F, 0xF, this->position, this->marker, func_8038F5E4, 0);
|
||||
}
|
||||
else
|
||||
{
|
||||
|
@@ -45,7 +45,7 @@ void func_8038D1E0(Actor *this) {
|
||||
particleEmitter_setParticleVelocityRange(temp_s0, -70.0f, 50.0f, -70.0f, 70.0f, 100.0f, 70.0f);
|
||||
particleEmitter_setParticleLifeTimeRange(temp_s0, 3.0f, 4.0f);
|
||||
particleEmitter_emitN(temp_s0, 4);
|
||||
FUNC_8030E8B4(SFX_30_MAGIC_POOF, 1.0f, 25000, this->position, 500, 2500);
|
||||
sfx_playFadeShorthandDefault(SFX_30_MAGIC_POOF, 1.0f, 25000, this->position, 500, 2500);
|
||||
}
|
||||
|
||||
s32 func_8038D2F4(Actor *this, f32 *arg1, bool arg2) {
|
||||
@@ -239,7 +239,7 @@ void func_8038D9D0(Actor *this, s32 next_state) {
|
||||
local->unk1C = 1.0f;
|
||||
}
|
||||
if (next_state == 8) {
|
||||
FUNC_8030E8B4(SFX_8E_GRUNTLING_DAMAGE, 1.5f, 32200, this->position, 500, 2500);
|
||||
sfx_playFadeShorthandDefault(SFX_8E_GRUNTLING_DAMAGE, 1.5f, 32200, this->position, 500, 2500);
|
||||
skeletalAnim_set(this->unk148, ASSET_288_ANIM_FLIBBIT_OW, 0.1f, 0.65f);
|
||||
skeletalAnim_setBehavior(this->unk148, SKELETAL_ANIM_2_ONCE);
|
||||
this->position[1] = mapModel_getFloorY(this->position);
|
||||
@@ -247,7 +247,7 @@ void func_8038D9D0(Actor *this, s32 next_state) {
|
||||
}
|
||||
if (next_state == 9) {
|
||||
skeletalAnim_set(this->unk148, ASSET_112_ANIM_FLIBBIT_DIE, 0.2f, 0.4f);
|
||||
FUNC_8030E8B4(SFX_115_BUZZBOMB_DEATH, 1.0f, 32200, this->position, 500, 2500);
|
||||
sfx_playFadeShorthandDefault(SFX_115_BUZZBOMB_DEATH, 1.0f, 32200, this->position, 500, 2500);
|
||||
this->marker->collidable = FALSE;
|
||||
this->unk10_1 = FALSE;
|
||||
func_8038CEA0();
|
||||
@@ -256,7 +256,7 @@ void func_8038D9D0(Actor *this, s32 next_state) {
|
||||
if (next_state == 0xA) {
|
||||
skeletalAnim_set(this->unk148, ASSET_113_ANIM_FLIBBIT_DEAD, 0.2f, 1.0f);
|
||||
skeletalAnim_setBehavior(this->unk148, SKELETAL_ANIM_2_ONCE);
|
||||
FUNC_8030E8B4(SFX_2F_ORANGE_SPLAT, 0.8f, 32200, this->position, 500, 2500);
|
||||
sfx_playFadeShorthandDefault(SFX_2F_ORANGE_SPLAT, 0.8f, 32200, this->position, 500, 2500);
|
||||
}
|
||||
if (next_state == 0xB) {
|
||||
func_80326310(this);
|
||||
|
@@ -74,7 +74,7 @@ void chyumblie_set_state(Actor* this, enum chyumblie_state_e next_state){
|
||||
skeletalAnim_set(this->unk148, (s0->unk4)? ASSET_12A_ANIM_GRUMBLIE_IDLE : ASSET_127_ANIM_YUMBLIE_IDLE, 0.1f, randf2(0.5f, 1.0f));
|
||||
skeletalAnim_setBehavior(this->unk148, SKELETAL_ANIM_1_LOOP);
|
||||
if(s0->unk4){
|
||||
func_8030E6A4(SFX_C4_TWINKLY_MUNCHER_GRR,randf2(1.0f, 1.2), 30000);
|
||||
gcsfx_playWithPitch(SFX_C4_TWINKLY_MUNCHER_GRR,randf2(1.0f, 1.2), 30000);
|
||||
}else{
|
||||
func_8030E878(SFX_C3_HEGH,randf2(1.0f, 1.2), 30000, this->position, 500.0f, 3000.0f);
|
||||
}
|
||||
|
@@ -41,7 +41,7 @@ void chChoirTurtle_setState(Actor *this, s32 next_state) {
|
||||
timed_playSfx(0.8333333, SFX_86_TIPTUP_CHORUS_AH, local->unk8, 0x7FFF);
|
||||
}
|
||||
if (next_state == 3) {
|
||||
func_8030E6A4(SFX_86_TIPTUP_CHORUS_AH, local->unk8, 0x7FFF);
|
||||
gcsfx_playWithPitch(SFX_86_TIPTUP_CHORUS_AH, local->unk8, 0x7FFF);
|
||||
skeletalAnim_set(this->unk148, ASSET_12F_ANIM_CHOIR_TURTLE_HURT, 0.1f, 1.75f);
|
||||
skeletalAnim_setCallback_1(this->unk148, 0.9f, (GenFunction_1)chChoirTurtle_returnState, (s32)this->marker);
|
||||
if (local->tiptup_marker != NULL) {
|
||||
|
@@ -221,7 +221,7 @@ void func_80389C58(ActorMarker *marker) {
|
||||
this = marker_getActor(marker);
|
||||
local = (ActorLocal_BGS_3420 *)&this->local;
|
||||
BGS_func_80389850(this, 0);
|
||||
gcdialog_showText(D_80390984[local->unkC], 0xF, chVile_getPostion(local->vile_marker), this->marker, func_80389BF8, NULL);
|
||||
gcdialog_showDialog(D_80390984[local->unkC], 0xF, chVile_getPostion(local->vile_marker), this->marker, func_80389BF8, NULL);
|
||||
}
|
||||
|
||||
void BGS_func_80389CD8(ActorMarker *marker, enum asset_e text_id, s32 arg2){
|
||||
@@ -241,9 +241,9 @@ void func_80389D20(ActorMarker *marker) {
|
||||
local = (ActorLocal_BGS_3420 *)&this->local;
|
||||
BGS_func_80389850(this, 0);
|
||||
if (local->unkC == local->unkD) {
|
||||
gcdialog_showText(D_803909A4[local->unkC], 0xF, chVile_getPostion(local->vile_marker), this->marker, BGS_func_80389CD8, NULL);
|
||||
gcdialog_showDialog(D_803909A4[local->unkC], 0xF, chVile_getPostion(local->vile_marker), this->marker, BGS_func_80389CD8, NULL);
|
||||
} else {
|
||||
gcdialog_showText(D_803909C0[local->unkC], 0xF, chVile_getPostion(local->vile_marker), this->marker, BGS_func_80389CD8, NULL);
|
||||
gcdialog_showDialog(D_803909C0[local->unkC], 0xF, chVile_getPostion(local->vile_marker), this->marker, BGS_func_80389CD8, NULL);
|
||||
}
|
||||
func_80347A14(0);
|
||||
}
|
||||
@@ -265,7 +265,7 @@ void func_80389E40(ActorMarker *marker) {
|
||||
local = (ActorLocal_BGS_3420 *)&this->local;
|
||||
|
||||
BGS_func_80389850(this, 1);
|
||||
gcdialog_showText(0xC6B, 0xF, chVile_getPostion(local->vile_marker), this->marker, func_80389DF8, NULL);
|
||||
gcdialog_showDialog(0xC6B, 0xF, chVile_getPostion(local->vile_marker), this->marker, func_80389DF8, NULL);
|
||||
}
|
||||
|
||||
void func_80389EAC(ActorMarker *marker, enum asset_e text_id, s32 arg2){
|
||||
@@ -293,7 +293,7 @@ void func_80389F08(ActorMarker *marker) {
|
||||
var_s2 = actorArray_actorCount(ACTOR_49_EXTRA_LIFE);
|
||||
vile = marker_getActor(local->vile_marker);
|
||||
if (var_s2 > 0) {
|
||||
func_8025A6EC(COMUSIC_15_EXTRA_LIFE_COLLECTED, 0x7FF8);
|
||||
coMusicPlayer_playMusic(COMUSIC_15_EXTRA_LIFE_COLLECTED, 0x7FF8);
|
||||
}
|
||||
for(i = 0; i < 3; i++){
|
||||
if (var_s2 < 3) {
|
||||
@@ -305,7 +305,7 @@ void func_80389F08(ActorMarker *marker) {
|
||||
item_inc(ITEM_16_LIFE);
|
||||
}
|
||||
}
|
||||
gcdialog_showText(0xC98, 0xF, chVile_getPostion(local->vile_marker), this->marker, func_80389EAC, NULL);
|
||||
gcdialog_showDialog(0xC98, 0xF, chVile_getPostion(local->vile_marker), this->marker, func_80389EAC, NULL);
|
||||
}
|
||||
|
||||
|
||||
@@ -327,22 +327,22 @@ void func_8038A068(Actor *this, s32 next_state) {
|
||||
func_8038C3B0(local->vile_marker);
|
||||
if (local->unkC == 3) {
|
||||
if (local->unkD >= 4) {
|
||||
gcdialog_showText(0xC91, 0xE, chVile_getPostion(local->vile_marker), this->marker, func_80389B48, NULL);
|
||||
gcdialog_showDialog(0xC91, 0xE, chVile_getPostion(local->vile_marker), this->marker, func_80389B48, NULL);
|
||||
} else {
|
||||
gcdialog_showText((local->unkC == local->unkD) ? 0xC8D : 0xC90, 0xE, chVile_getPostion(local->vile_marker), this->marker, func_80389B48, NULL);
|
||||
gcdialog_showDialog((local->unkC == local->unkD) ? 0xC8D : 0xC90, 0xE, chVile_getPostion(local->vile_marker), this->marker, func_80389B48, NULL);
|
||||
}
|
||||
} else {
|
||||
gcdialog_showText((local->unkC == local->unkD) ? 0xC63 : 0xC6C, 0xE, chVile_getPostion(local->vile_marker), this->marker, func_80389B48, NULL);
|
||||
gcdialog_showDialog((local->unkC == local->unkD) ? 0xC63 : 0xC6C, 0xE, chVile_getPostion(local->vile_marker), this->marker, func_80389B48, NULL);
|
||||
}
|
||||
}
|
||||
if (next_state == 3) {
|
||||
gcdialog_showText(D_803909DC[local->unkC], 4, chVile_getPostion(local->vile_marker), this->marker, func_80389B98, NULL);
|
||||
gcdialog_showDialog(D_803909DC[local->unkC], 4, chVile_getPostion(local->vile_marker), this->marker, func_80389B98, NULL);
|
||||
}
|
||||
if (next_state == 4) {
|
||||
if (local->unkC == local->unkD) {
|
||||
gcdialog_showText(BGS_D_803909F8[local->unkC], 0xE | ((BGS_D_803909F8[local->unkC] == 0xC8E) ? 1 : 0) | 0xE, chVile_getPostion(local->vile_marker), this->marker, func_80389BC8, NULL);
|
||||
gcdialog_showDialog(BGS_D_803909F8[local->unkC], 0xE | ((BGS_D_803909F8[local->unkC] == 0xC8E) ? 1 : 0) | 0xE, chVile_getPostion(local->vile_marker), this->marker, func_80389BC8, NULL);
|
||||
} else {
|
||||
gcdialog_showText(D_80390A18[local->unkC], 0xF , chVile_getPostion(local->vile_marker), this->marker, func_80389BC8, NULL);
|
||||
gcdialog_showDialog(D_80390A18[local->unkC], 0xF , chVile_getPostion(local->vile_marker), this->marker, func_80389BC8, NULL);
|
||||
}
|
||||
func_80347A14(0);
|
||||
}
|
||||
@@ -367,7 +367,7 @@ void func_8038A068(Actor *this, s32 next_state) {
|
||||
mapSpecificFlags_set(6, TRUE);
|
||||
func_8038C3DC(local->vile_marker);
|
||||
func_8025A58C(0, 4000);
|
||||
timedFunc_set_2(1.0f, (GenFunction_2)func_8025A6EC, COMUSIC_55_BGS_MR_VILE, 28000);
|
||||
timedFunc_set_2(1.0f, (GenFunction_2)coMusicPlayer_playMusic, COMUSIC_55_BGS_MR_VILE, 28000);
|
||||
}
|
||||
}
|
||||
if (this->state == 5) {
|
||||
@@ -383,28 +383,28 @@ void func_8038A068(Actor *this, s32 next_state) {
|
||||
if (next_state == 6) {
|
||||
func_8038C3B0(local->vile_marker);
|
||||
func_80324E38(0.0f, 3);
|
||||
timedFunc_set_2(1.0f, (GenFunction_2)func_8025A6EC, COMUSIC_3C_MINIGAME_LOSS, 28000);
|
||||
timedFunc_set_2(1.0f, (GenFunction_2)coMusicPlayer_playMusic, COMUSIC_3C_MINIGAME_LOSS, 28000);
|
||||
timedFunc_set_0(4.0f, (GenFunction_0)func_8038A044);
|
||||
timedFunc_set_1(4.0f, (GenFunction_1)func_80389C58, (s32) this->marker);
|
||||
}
|
||||
if (next_state == 8) {
|
||||
func_8038C3B0(local->vile_marker);
|
||||
func_80324E38(0.0f, 3);
|
||||
timedFunc_set_2(1.0f, (GenFunction_2)func_8025A6EC, COMUSIC_3B_MINIGAME_VICTORY, 28000);
|
||||
timedFunc_set_2(1.0f, (GenFunction_2)coMusicPlayer_playMusic, COMUSIC_3B_MINIGAME_VICTORY, 28000);
|
||||
timedFunc_set_0(3.0f, (GenFunction_0)func_8038A044);
|
||||
timedFunc_set_1(3.0f, (GenFunction_1)func_80389D20, (s32) this->marker);
|
||||
}
|
||||
if (next_state == 9) {
|
||||
func_8038C3B0(local->vile_marker);
|
||||
func_80324E38(0.0f, 3);
|
||||
timedFunc_set_2(1.0f, (GenFunction_2)func_8025A6EC, COMUSIC_3B_MINIGAME_VICTORY, 28000);
|
||||
timedFunc_set_2(1.0f, (GenFunction_2)coMusicPlayer_playMusic, COMUSIC_3B_MINIGAME_VICTORY, 28000);
|
||||
timedFunc_set_0(3.0f, (GenFunction_0)func_8038A044);
|
||||
timedFunc_set_1(3.0f, (GenFunction_1)func_80389E40, (s32) this->marker);
|
||||
}
|
||||
if (next_state == 0xA) {
|
||||
func_8038C3B0(local->vile_marker);
|
||||
func_80324E38(0.5f, 3);
|
||||
timedFunc_set_2(1.0f, (GenFunction_2) func_8025A6EC, COMUSIC_3B_MINIGAME_VICTORY, 28000);
|
||||
timedFunc_set_2(1.0f, (GenFunction_2) coMusicPlayer_playMusic, COMUSIC_3B_MINIGAME_VICTORY, 28000);
|
||||
timedFunc_set_1(3.0f, (GenFunction_1) func_80389F08, (s32) this->marker);
|
||||
}
|
||||
if (next_state == 7) {
|
||||
@@ -434,7 +434,7 @@ void chvilegame_player_consume_piece(Actor *this) {
|
||||
local->player_score++;
|
||||
if (local->player_score == 35) {
|
||||
item_inc(ITEM_16_LIFE);
|
||||
func_8025A6EC(COMUSIC_15_EXTRA_LIFE_COLLECTED, 0x7FF8);
|
||||
coMusicPlayer_playMusic(COMUSIC_15_EXTRA_LIFE_COLLECTED, 0x7FF8);
|
||||
}
|
||||
timedFunc_set_1(0.0f, (GenFunction_1)func_802FDCB8, ITEM_1A_PLAYER_VILE_SCORE);
|
||||
timedFunc_set_1(0.5f, (GenFunction_1)func_802FDCB8, ITEM_1A_PLAYER_VILE_SCORE);
|
||||
|
@@ -71,7 +71,7 @@ void BGS_func_8038FB84(ActorMarker *this, ActorMarker *other_marker){
|
||||
Actor *thisActor;
|
||||
|
||||
thisActor = marker_getActor(this);
|
||||
FUNC_8030E8B4( SFX_87_TANKTUP_OOOHW, 1.0f, 32750, thisActor->position, 1000, 3000);
|
||||
sfx_playFadeShorthandDefault( SFX_87_TANKTUP_OOOHW, 1.0f, 32750, thisActor->position, 1000, 3000);
|
||||
timedFunc_set_2(0.65f, (GenFunction_2) func_8038FB40, (s32) this, (s32) other_marker);
|
||||
func_8038F51C(thisActor);
|
||||
this->collidable = FALSE;
|
||||
@@ -85,7 +85,7 @@ void func_8038FBF8(Actor *this){
|
||||
}
|
||||
if(this->state == 2){
|
||||
if(anctrl_isAt(this->anctrl, 0.65f)){
|
||||
func_8030E540(SFX_7C_CHEBOOF);
|
||||
gcsfx_play(SFX_7C_CHEBOOF);
|
||||
}
|
||||
if(anctrl_isStopped(this->anctrl)){
|
||||
marker_despawn(this->marker);
|
||||
|
@@ -97,7 +97,7 @@ void func_803864D4(Actor *this){
|
||||
{//L80386734
|
||||
sp2C = local->unk8/1.0;
|
||||
if(local->unkC && 0.6 < sp2C){
|
||||
FUNC_8030E8B4(SFX_91_METALLIC_SOUND, 1.0, 32000, this->position, 100, 6000);
|
||||
sfx_playFadeShorthandDefault(SFX_91_METALLIC_SOUND, 1.0, 32000, this->position, 100, 6000);
|
||||
local->unkC = 0;
|
||||
}//L80386798
|
||||
sin_result = sinf(((sp2C*90.0)/180.0)*BAD_PI);
|
||||
|
@@ -47,10 +47,10 @@ void func_8038803C(s32 arg0){
|
||||
func_80387FE8();
|
||||
D_80389F90.unk8 = 1.0f;
|
||||
}
|
||||
func_8025A6EC(COMUSIC_2B_DING_B, 28000);
|
||||
coMusicPlayer_playMusic(COMUSIC_2B_DING_B, 28000);
|
||||
}
|
||||
else{//L803880BC
|
||||
func_8025A6EC(COMUSIC_2C_BUZZER, 28000);
|
||||
coMusicPlayer_playMusic(COMUSIC_2C_BUZZER, 28000);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -84,7 +84,7 @@ void func_8038817C(void){
|
||||
D_80389F90.unk4 += sp20;
|
||||
player_getPosition(sp24);
|
||||
if(ml_timer_update(&D_80389F90.unk8, sp20)){
|
||||
func_8025A6EC(COMUSIC_2D_PUZZLE_SOLVED_FANFARE, 28000);
|
||||
coMusicPlayer_playMusic(COMUSIC_2D_PUZZLE_SOLVED_FANFARE, 28000);
|
||||
func_80324E38(0.0f, 3);
|
||||
timed_setStaticCameraToNode(2.0f, 0);
|
||||
timedJiggySpawn(2.1f, JIGGY_1C_CC_RINGS, D_80389BF0);
|
||||
@@ -104,7 +104,7 @@ void func_8038817C(void){
|
||||
|| (D_80389F90.unk0 < 9 && item_empty(ITEM_6_HOURGLASS))
|
||||
){
|
||||
func_80387FE8();
|
||||
func_8025A6EC(COMUSIC_3C_MINIGAME_LOSS, 28000);
|
||||
coMusicPlayer_playMusic(COMUSIC_3C_MINIGAME_LOSS, 28000);
|
||||
func_803880D4();
|
||||
func_80388104();
|
||||
}
|
||||
|
@@ -78,7 +78,7 @@ void func_803884A8(s32 arg0, f32 arg1, s32 arg2, s32 arg3){
|
||||
void func_80388518(s32 arg0){
|
||||
s32 sp24;
|
||||
if(D_80389FA0.unk21 == 2){
|
||||
func_8030E394(D_80389FA0.sfxsourceIdx);
|
||||
sfxSource_triggerCallbackByIndex(D_80389FA0.sfxsourceIdx);
|
||||
func_8030E760(SFX_7F_HEAVYDOOR_SLAM, 0.6f, 20000);
|
||||
func_8030E760(SFX_7F_HEAVYDOOR_SLAM, 0.8f, 20000);
|
||||
func_8030E760(SFX_7F_HEAVYDOOR_SLAM, 0.9f, 20000);
|
||||
@@ -94,9 +94,9 @@ void func_80388518(s32 arg0){
|
||||
func_8030DD90(D_80389FA0.sfxsourceIdx, 0);
|
||||
sfxsource_playSfxAtVolume(D_80389FA0.sfxsourceIdx, 1.0f);
|
||||
sfxsource_setSfxId(D_80389FA0.sfxsourceIdx, SFX_7D_ANCHOR_LIFTING);
|
||||
func_8030DD14(D_80389FA0.sfxsourceIdx, 3);
|
||||
sfxSource_setunk43_7ByIndex(D_80389FA0.sfxsourceIdx, 3);
|
||||
sfxsource_setSampleRate(D_80389FA0.sfxsourceIdx, 27000);
|
||||
func_8030E2C4(D_80389FA0.sfxsourceIdx);
|
||||
sfxSource_func_8030E2C4(D_80389FA0.sfxsourceIdx);
|
||||
}
|
||||
|
||||
if(D_80389FA0.unk21 == 3){
|
||||
@@ -308,10 +308,10 @@ void func_80388ED4(s32 arg0){
|
||||
f32 sp1C[3];
|
||||
func_8034A174(D_80389FA0.unk34, 5, sp1C);
|
||||
if(arg0 != 0){
|
||||
FUNC_8030E8B4(SFX_91_METALLIC_SOUND, 0.7f, 32675, sp1C, 100, 6000);
|
||||
sfx_playFadeShorthandDefault(SFX_91_METALLIC_SOUND, 0.7f, 32675, sp1C, 100, 6000);
|
||||
}
|
||||
else{
|
||||
FUNC_8030E8B4(SFX_82_METAL_BREAK, 0.9f, 24000, sp1C, 100, 6000);
|
||||
sfx_playFadeShorthandDefault(SFX_82_METAL_BREAK, 0.9f, 24000, sp1C, 100, 6000);
|
||||
}
|
||||
D_80389FA0.unk8 = 1.0f;
|
||||
}
|
||||
@@ -338,11 +338,11 @@ void CC_func_80388F4C(void){
|
||||
if(D_80389FA0.unk21 == 3){
|
||||
func_8034A174(D_80389FA0.unk34, 5, sp54);
|
||||
if(sp60 < sp64){
|
||||
FUNC_8030E8B4(SFX_7E_CREAKY_DOOR_OPENING, 0.6f, 32300, sp54, 1000, 5000);
|
||||
sfx_playFadeShorthandDefault(SFX_7E_CREAKY_DOOR_OPENING, 0.6f, 32300, sp54, 1000, 5000);
|
||||
}//L80389058
|
||||
|
||||
if(sp64 < 0.3 && 0.3 <= sp60){
|
||||
FUNC_8030E8B4(SFX_7E_CREAKY_DOOR_OPENING, 0.5f, 32300, sp54, 1000, 5000);
|
||||
sfx_playFadeShorthandDefault(SFX_7E_CREAKY_DOOR_OPENING, 0.5f, 32300, sp54, 1000, 5000);
|
||||
}
|
||||
}//L8038909C
|
||||
|
||||
@@ -360,7 +360,7 @@ void CC_func_80388F4C(void){
|
||||
if(D_80389FA0.unk20 && skeletalAnim_getAnimId(D_80389FA0.unk0) != ASSET_C4_ANIM_CLANKER_BITE){
|
||||
skeletalAnim_set(D_80389FA0.unk0, ASSET_C4_ANIM_CLANKER_BITE, 1.0f, 10.0f);
|
||||
if(!D_80389FA0.unk48){
|
||||
gcdialog_showText(ASSET_D2B_DIALOG_UNKNOWN, 0xE, D_80389FA0.unk28, NULL, NULL, NULL);
|
||||
gcdialog_showDialog(ASSET_D2B_DIALOG_UNKNOWN, 0xE, D_80389FA0.unk28, NULL, NULL, NULL);
|
||||
D_80389FA0.unk48 = TRUE;
|
||||
}
|
||||
}//L8038918C
|
||||
|
@@ -42,7 +42,7 @@ void func_803897F0(Actor *this, s32 next_state){
|
||||
FUNC_8030E624(SFX_1E_HITTING_AN_ENEMY_2, 1.0f, 25000);
|
||||
|
||||
if(next_state == 2){
|
||||
func_8025A6EC(COMUSIC_2D_PUZZLE_SOLVED_FANFARE, -1);
|
||||
coMusicPlayer_playMusic(COMUSIC_2D_PUZZLE_SOLVED_FANFARE, -1);
|
||||
FUNC_8030E624(SFX_3F6_RUBBING, 0.9f, 29000);
|
||||
local->unk4 = 0.0f;
|
||||
}
|
||||
@@ -55,7 +55,7 @@ void func_803897F0(Actor *this, s32 next_state){
|
||||
}
|
||||
|
||||
void func_80389890(ActorMarker *marker, ActorMarker *other_marker){
|
||||
func_8025A6EC(COMUSIC_2B_DING_B, -1);
|
||||
coMusicPlayer_playMusic(COMUSIC_2B_DING_B, -1);
|
||||
}
|
||||
|
||||
void func_803898BC(ActorMarker *marker, ActorMarker *other_marker){
|
||||
|
@@ -37,20 +37,20 @@ void CC_func_80386920(Actor *this, s32 next_state){
|
||||
|
||||
local->unk14 = 0.0f;
|
||||
if(this->state == 2 || this->state == 3 || this->state == 4){
|
||||
func_8030E394(local->sfxsourceIdx);
|
||||
sfxSource_triggerCallbackByIndex(local->sfxsourceIdx);
|
||||
}
|
||||
|
||||
if(next_state == 2 || next_state == 3 || next_state == 4){
|
||||
func_8030DD90(local->sfxsourceIdx, 1);
|
||||
sfxsource_playSfxAtVolume(local->sfxsourceIdx, 0.3f);
|
||||
sfxsource_setSfxId(local->sfxsourceIdx, 0x3ec);
|
||||
func_8030DD14(local->sfxsourceIdx, 3);
|
||||
sfxSource_setunk43_7ByIndex(local->sfxsourceIdx, 3);
|
||||
sfxsource_setSampleRate(local->sfxsourceIdx, 28000);
|
||||
func_8030E2C4(local->sfxsourceIdx);
|
||||
sfxSource_func_8030E2C4(local->sfxsourceIdx);
|
||||
}
|
||||
|
||||
if(next_state == 2 || next_state == 4){
|
||||
func_8025A6EC(COMUSIC_2B_DING_B, 0x7fff);
|
||||
coMusicPlayer_playMusic(COMUSIC_2B_DING_B, 0x7fff);
|
||||
player_getPosition(sp28);
|
||||
TUPLE_COPY(sp20, sp28);
|
||||
fxSparkle_giantGoldFeather(&sp20);
|
||||
@@ -58,7 +58,7 @@ void CC_func_80386920(Actor *this, s32 next_state){
|
||||
|
||||
if(next_state == 4){
|
||||
CC_func_8038868C();
|
||||
func_8025A6EC(COMUSIC_2D_PUZZLE_SOLVED_FANFARE, 0x7FFF);
|
||||
coMusicPlayer_playMusic(COMUSIC_2D_PUZZLE_SOLVED_FANFARE, 0x7FFF);
|
||||
}
|
||||
|
||||
if(this->state == 4)
|
||||
|
@@ -35,7 +35,7 @@ void CC_func_80386FE0(Actor *this, s32 next_state){
|
||||
this->state = next_state;
|
||||
local->unk8 = 0.0f;
|
||||
if(this->state == 2){
|
||||
func_8025A6EC(COMUSIC_2D_PUZZLE_SOLVED_FANFARE, 28000);
|
||||
coMusicPlayer_playMusic(COMUSIC_2D_PUZZLE_SOLVED_FANFARE, 28000);
|
||||
}
|
||||
else if(this->state == 3){
|
||||
if(prev_state == 2){
|
||||
@@ -121,13 +121,13 @@ void func_803870F8(Actor *this){
|
||||
if(local->egg_count == 3){
|
||||
CC_func_80386FE0(this, 2);
|
||||
}else{
|
||||
func_8025A6EC(COMUSIC_2B_DING_B, 28000);
|
||||
coMusicPlayer_playMusic(COMUSIC_2B_DING_B, 28000);
|
||||
}
|
||||
}
|
||||
else if(this->state == 2 && 1.0f <= local->unk8){
|
||||
flagCnt = levelSpecificFlags_get(LEVEL_FLAG_0_CC_TOKEN_TOOTH_OPEN) + levelSpecificFlags_get(LEVEL_FLAG_1_CC_JIGGY_TOOTH_OPEN);
|
||||
if(!jiggyscore_isCollected(JIGGY_1B_CC_TOOTH)){
|
||||
gcdialog_showText((local->unk0 == 1)? ((flagCnt == 0)? 0xd30 : 0xd31) : ((flagCnt == 0)? 0xd2e : 0xd2f), 4, NULL, NULL, NULL, NULL);
|
||||
gcdialog_showDialog((local->unk0 == 1)? ((flagCnt == 0)? 0xd30 : 0xd31) : ((flagCnt == 0)? 0xd2e : 0xd2f), 4, NULL, NULL, NULL, NULL);
|
||||
}
|
||||
CC_func_80386FE0(this, 3);
|
||||
}//L80387474
|
||||
|
@@ -84,7 +84,7 @@ void __chgrublinhood_die(ActorMarker* marker, s32 arg1) {
|
||||
|
||||
subaddie_set_state_with_direction(actor, 5, 0.0f, 1);
|
||||
actor_playAnimationOnce(actor);
|
||||
FUNC_8030E8B4(SFX_C2_GRUBLIN_EGH, 1.0f, 32000, actor->position, 1250, 2500);
|
||||
sfx_playFadeShorthandDefault(SFX_C2_GRUBLIN_EGH, 1.0f, 32000, actor->position, 1250, 2500);
|
||||
pCtrl = partEmitMgr_newEmitter(1);
|
||||
__chgrublinhood_emitHat(pCtrl, actor, ASSET_52D_MODEL_GRUBLIN_HOOD_HAT);
|
||||
__spawnQueue_add_4((GenFunction_4)spawnQueue_actor_f32, ACTOR_4C_STEAM, reinterpret_cast(s32,actor->position_x), reinterpret_cast(s32,actor->position_y), reinterpret_cast(s32,actor->position_z));
|
||||
@@ -185,10 +185,10 @@ void chgrublinhood_update(Actor *this) {
|
||||
func_802DB5A0(this);
|
||||
if (this->state == 5) {
|
||||
if (actor_animationIsAt(this, 0.18f)) {
|
||||
FUNC_8030E8B4(SFX_2_CLAW_SWIPE, 1.0f, 28000, this->position, 1250, 2500);
|
||||
sfx_playFadeShorthandDefault(SFX_2_CLAW_SWIPE, 1.0f, 28000, this->position, 1250, 2500);
|
||||
}
|
||||
if (actor_animationIsAt(this, 0.7f)) {
|
||||
FUNC_8030E8B4(SFX_1F_HITTING_AN_ENEMY_3, 1.0f, 28000, this->position, 1250, 2500);
|
||||
sfx_playFadeShorthandDefault(SFX_1F_HITTING_AN_ENEMY_3, 1.0f, 28000, this->position, 1250, 2500);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@@ -37,7 +37,7 @@ void chVacationTextTrigger_update(Actor* this) {
|
||||
|
||||
// Start dialog if player is within trigger
|
||||
if (__playerIsWithinTrigger(0, -107, 188) != 0) {
|
||||
gcdialog_showText(0xDA9, 4, NULL, NULL, NULL, NULL);
|
||||
gcdialog_showDialog(0xDA9, 4, NULL, NULL, NULL, NULL);
|
||||
volatileFlag_set(VOLATILE_FLAG_13_HAS_TRIGGERED_MUMBO_VACATION_TEXT, 1);
|
||||
}
|
||||
}
|
||||
|
@@ -10,7 +10,7 @@ ActorInfo D_8038EB74 = { 0x1AC, 0x29A, 0x445, 0x0, NULL, func_803864B8, NULL, ac
|
||||
/* .code */
|
||||
void CCW_func_803863F0(Actor *this, s32 next_state){
|
||||
if(next_state == 2){
|
||||
FUNC_8030E8B4(SFX_2F_ORANGE_SPLAT, 1.0f, 32000, this->position, 500, 3000);
|
||||
sfx_playFadeShorthandDefault(SFX_2F_ORANGE_SPLAT, 1.0f, 32000, this->position, 500, 3000);
|
||||
levelSpecificFlags_set(LEVEL_FLAG_10_CCW_UNKNOWN, TRUE);
|
||||
marker_despawn(this->marker);
|
||||
}
|
||||
|
@@ -79,7 +79,7 @@ void CCW_func_80387A40(Actor *this) {
|
||||
local->sfxsourceIdx = sfxsource_createSfxsourceAndReturnIndex();
|
||||
local->unk18[0] = local->unk18[1] = local->unk18[2] = 0.0f;
|
||||
sfxsource_setSfxId(local->sfxsourceIdx, 0x3FA);
|
||||
func_8030DD14(local->sfxsourceIdx, 2);
|
||||
sfxSource_setunk43_7ByIndex(local->sfxsourceIdx, 2);
|
||||
sfxsource_playSfxAtVolume(local->sfxsourceIdx, 0.9f);
|
||||
sfxsource_setSampleRate(local->sfxsourceIdx, 0);
|
||||
func_803878A0(this, 1);
|
||||
@@ -116,13 +116,13 @@ void CCW_func_80387A40(Actor *this) {
|
||||
func_8030DBFC(local->sfxsourceIdx, 0.8f, 0.9f, 0.05f);
|
||||
sfxsource_set_fade_distances(local->sfxsourceIdx, 500.0f, 1500.0f);
|
||||
sfxsource_set_position(local->sfxsourceIdx, this->position);
|
||||
func_8030E2C4(local->sfxsourceIdx);
|
||||
sfxSource_func_8030E2C4(local->sfxsourceIdx);
|
||||
sfxsource_setSampleRate(local->sfxsourceIdx, 2000.0f + 8000.0f*(LENGTH_VEC3F(local->unk18)/ local->unk8));
|
||||
if (!mapSpecificFlags_get(local->unk4->unk2)) {
|
||||
player_getPosition(sp44);
|
||||
if (sp44[2] > -600.0f) {
|
||||
if (!local->unk4->unk3 || !jiggyscore_isCollected(local->unk4->unk3) ) {
|
||||
gcdialog_showText(local->unk4->unk4, 4, NULL, NULL, NULL, NULL);
|
||||
gcdialog_showDialog(local->unk4->unk4, 4, NULL, NULL, NULL, NULL);
|
||||
mapSpecificFlags_set(local->unk4->unk2, TRUE);
|
||||
}
|
||||
}
|
||||
|
@@ -31,7 +31,7 @@ void CCW_func_80386550(ActorMarker *marker){
|
||||
if (local->unk0 != NULL) {
|
||||
actor_collisionOn(marker_getActor(local->unk0));
|
||||
}
|
||||
func_8025A6EC(COMUSIC_3D_JIGGY_SPAWN, 28000);
|
||||
coMusicPlayer_playMusic(COMUSIC_3D_JIGGY_SPAWN, 28000);
|
||||
}
|
||||
|
||||
void func_803865C4(ActorMarker* marker, enum asset_e text_id, s32 arg2) {
|
||||
@@ -45,9 +45,9 @@ void func_803865F4(Actor *this, s32 next_state) {
|
||||
local->unkC = 0.0f;
|
||||
if (next_state == 2) {
|
||||
if (!volatileFlag_getAndSet(VOLATILE_FLAG_B5, 1)) {
|
||||
gcdialog_showText(0xCE2, 4, NULL, this->marker, func_803865C4, NULL);
|
||||
gcdialog_showDialog(0xCE2, 4, NULL, this->marker, func_803865C4, NULL);
|
||||
} else {
|
||||
gcdialog_showText(0xCE3, 4, NULL, NULL, NULL, NULL);
|
||||
gcdialog_showDialog(0xCE3, 4, NULL, NULL, NULL, NULL);
|
||||
func_803865F4(this, 3);
|
||||
return;
|
||||
}
|
||||
@@ -56,7 +56,7 @@ void func_803865F4(Actor *this, s32 next_state) {
|
||||
if (next_state == 3) {
|
||||
local->unkC = 0.1f;
|
||||
func_8025A58C(0, 4000);
|
||||
func_8025A6EC(COMUSIC_4B_CCW_ZUBBA_FIGHT, 30000);
|
||||
coMusicPlayer_playMusic(COMUSIC_4B_CCW_ZUBBA_FIGHT, 30000);
|
||||
}
|
||||
|
||||
if (next_state == 4) {
|
||||
@@ -65,11 +65,11 @@ void func_803865F4(Actor *this, s32 next_state) {
|
||||
volatileFlag_set(VOLATILE_FLAG_3, 0);
|
||||
volatileFlag_set(VOLATILE_FLAG_5_FF_MINIGAME_WON, 1);
|
||||
} else {
|
||||
gcdialog_showText(0xCE4, 4, NULL, NULL, NULL, NULL);
|
||||
gcdialog_showDialog(0xCE4, 4, NULL, NULL, NULL, NULL);
|
||||
func_8025A58C(-1, 400);
|
||||
comusic_8025AB44(COMUSIC_4B_CCW_ZUBBA_FIGHT, 0, 400);
|
||||
func_8025AABC(COMUSIC_4B_CCW_ZUBBA_FIGHT);
|
||||
func_8025A6EC(COMUSIC_2D_PUZZLE_SOLVED_FANFARE, 28000);
|
||||
coMusicPlayer_playMusic(COMUSIC_2D_PUZZLE_SOLVED_FANFARE, 28000);
|
||||
func_80324E38(0.0f, 3);
|
||||
timed_setStaticCameraToNode(2.0f, 4);
|
||||
timedFunc_set_1(2.0f, (GenFunction_1)CCW_func_80386550, (s32) this->marker);
|
||||
|
@@ -53,7 +53,7 @@ void func_80387F64(Actor *this, s32 next_state){
|
||||
}
|
||||
if (next_state == 2) {
|
||||
if (map_get() == MAP_43_CCW_SPRING) {
|
||||
func_8025A6EC(COMUSIC_2D_PUZZLE_SOLVED_FANFARE, 28000);
|
||||
coMusicPlayer_playMusic(COMUSIC_2D_PUZZLE_SOLVED_FANFARE, 28000);
|
||||
}
|
||||
fileProgressFlag_set(local->unk0->unk8, TRUE);
|
||||
skeletalAnim_set(this->unk148, local->unk0->unk4, 0.0f, 6.0f);
|
||||
@@ -91,7 +91,7 @@ bool func_80388260(ActorMarker *marker, s32 arg1){
|
||||
}
|
||||
|
||||
void CCW_func_80388278(ActorMarker *marker, ActorMarker *other_marker) {
|
||||
func_8025A6EC(COMUSIC_2B_DING_B, 28000);
|
||||
coMusicPlayer_playMusic(COMUSIC_2B_DING_B, 28000);
|
||||
}
|
||||
|
||||
void func_803882A4(ActorMarker* marker, ActorMarker *other_marker) {
|
||||
|
@@ -48,7 +48,7 @@ void CCW_func_8038868C(Actor *this, s32 next_state) {
|
||||
}
|
||||
if (next_state == 2) {
|
||||
if (local->unk0->unk4 != 0) {
|
||||
gcdialog_showText(local->unk0->unk4, 4, NULL, NULL, NULL, NULL);
|
||||
gcdialog_showDialog(local->unk0->unk4, 4, NULL, NULL, NULL, NULL);
|
||||
}
|
||||
skeletalAnim_set(this->unk148, ASSET_FC_ANIM_GOBI_SPITTING, 0.2f, 3.0f);
|
||||
skeletalAnim_setBehavior(this->unk148, SKELETAL_ANIM_2_ONCE);
|
||||
@@ -73,7 +73,7 @@ void CCW_func_8038868C(Actor *this, s32 next_state) {
|
||||
}
|
||||
if (next_state == 5) {
|
||||
if (local->unk0->unk6 != 0) {
|
||||
gcdialog_showText((s32) local->unk0->unk6, 4, NULL, NULL, NULL, NULL);
|
||||
gcdialog_showDialog((s32) local->unk0->unk6, 4, NULL, NULL, NULL, NULL);
|
||||
}
|
||||
skeletalAnim_set(this->unk148, ASSET_FD_ANIM_GOBI2_GETTING_UP, 0.23f, 0.5f);
|
||||
timed_setStaticCameraToNode(0.0f, 3);
|
||||
@@ -163,7 +163,7 @@ void chGobiCCW_update(Actor *this) {
|
||||
player_getPosition(sp48);
|
||||
if (ml_vec3f_distance(this->position, sp48) < 600.0f) {
|
||||
if (local->unk0->unk2 != 0) {
|
||||
gcdialog_showText((s32) local->unk0->unk2, 4, NULL, NULL, NULL, NULL);
|
||||
gcdialog_showDialog((s32) local->unk0->unk2, 4, NULL, NULL, NULL, NULL);
|
||||
}
|
||||
this->has_met_before = TRUE;
|
||||
}
|
||||
@@ -192,10 +192,10 @@ void chGobiCCW_update(Actor *this) {
|
||||
if (skeletalAnim_getAnimId(this->unk148) == ASSET_177_ANIM_GOBI_SLEEP) {
|
||||
skeletalAnim_getProgressRange(this->unk148, &sp44, &sp40);
|
||||
if ((sp44 < 0.1) && (0.1 <= (f64) sp40)) {
|
||||
FUNC_8030E8B4(SFX_5E_BANJO_PHEWWW, 0.8f, 15000, this->position, 500, 1500);
|
||||
sfx_playFadeShorthandDefault(SFX_5E_BANJO_PHEWWW, 0.8f, 15000, this->position, 500, 1500);
|
||||
}
|
||||
if ((sp44 < 0.8) && (0.8 <= (f64) sp40)) {
|
||||
FUNC_8030E8B4(SFX_5D_BANJO_RAAOWW, 0.8f, 15000, this->position, 500, 1500);
|
||||
sfx_playFadeShorthandDefault(SFX_5D_BANJO_RAAOWW, 0.8f, 15000, this->position, 500, 1500);
|
||||
|
||||
}
|
||||
}
|
||||
|
@@ -112,12 +112,12 @@ void func_803891B0(void* marker) {
|
||||
func_8030DD90(actor->unk44_31, 0);
|
||||
sfxsource_setSampleRate(actor->unk44_31, 0x2AF8);
|
||||
sfxsource_playSfxAtVolume(actor->unk44_31, 0.3f);
|
||||
func_8030E2C4(actor->unk44_31);
|
||||
sfxSource_func_8030E2C4(actor->unk44_31);
|
||||
}
|
||||
|
||||
void func_8038921C(void* marker) {
|
||||
Actor* actor = marker_getActor(reinterpret_cast(ActorMarker*, marker));
|
||||
func_8030E394(actor->unk44_31);
|
||||
sfxSource_triggerCallbackByIndex(actor->unk44_31);
|
||||
sfxsource_freeSfxsourceByIndex(actor->unk44_31);
|
||||
actor->unk44_31 = 0U;
|
||||
FUNC_8030E624(SFX_6C_LOCKUP_CLOSING, 1.0f, 25000);
|
||||
|
@@ -13,7 +13,7 @@ void func_80389440(Actor *this, s32 next_state) {
|
||||
void *temp_v0;
|
||||
|
||||
if (next_state == 2) {
|
||||
sfxsource_play(SFX_AA_BGS_EGG_BREAKING_1, 28000);
|
||||
gcsfx_playAtSampleRate(SFX_AA_BGS_EGG_BREAKING_1, 28000);
|
||||
this->marker->propPtr->unk8_3 = FALSE;
|
||||
fileProgressFlag_set(FILEPROG_E6_SPRING_EYRIE_HATCHED, TRUE);
|
||||
skeletalAnim_set(this->unk148, 0x187, 0.0f, 2.0f);
|
||||
|
@@ -153,14 +153,14 @@ void func_803897B8(Actor *this, s32 next_state) {
|
||||
skeletalAnim_set(this->unk148, local->unk0->unk14, 0.5f, 8.5f);
|
||||
skeletalAnim_setBehavior(this->unk148, SKELETAL_ANIM_2_ONCE);
|
||||
if (local->unk0->map_id == MAP_43_CCW_SPRING) {
|
||||
gcdialog_showText(0xCD6, 4, NULL, NULL, NULL, NULL);
|
||||
gcdialog_showDialog(0xCD6, 4, NULL, NULL, NULL, NULL);
|
||||
skeletalAnim_setCallback_0(this->unk148, 0.65f, &func_80389798);
|
||||
}
|
||||
if (local->unk0->map_id == MAP_44_CCW_SUMMER) {
|
||||
gcdialog_showText(0xCD9, 4, NULL, NULL, NULL, NULL);
|
||||
gcdialog_showDialog(0xCD9, 4, NULL, NULL, NULL, NULL);
|
||||
}
|
||||
if (local->unk0->map_id == MAP_45_CCW_AUTUMN) {
|
||||
gcdialog_showText(0xCDB, 4, NULL, NULL, NULL, NULL);
|
||||
gcdialog_showDialog(0xCDB, 4, NULL, NULL, NULL, NULL);
|
||||
}
|
||||
local->unk8 = local->unk0->unk18;
|
||||
}
|
||||
@@ -274,7 +274,7 @@ void CCW_func_80389BFC(Actor *this) {
|
||||
if ((local->unk0->unkE != 0) && (carriedObj_getActorId() == ACTOR_2A2_CATERPILLAR) && (ml_vec3f_distance(this->position, sp4C) < 1010.0f) && (player_throwCarriedObject() != 0)) {
|
||||
player_setThrowTargetPosition(D_8038FDE0);
|
||||
if ((local->unk0->map_id == MAP_44_CCW_SUMMER) && (local->unk4 == 0)) {
|
||||
gcdialog_showText(0xCD8, 4, NULL, NULL, NULL, NULL);
|
||||
gcdialog_showDialog(0xCD8, 4, NULL, NULL, NULL, NULL);
|
||||
}
|
||||
local->unk4++;
|
||||
if (local->unk4 < local->unk0->unk25) {
|
||||
|
@@ -54,7 +54,7 @@ void chcaterpillar_setState(Actor *this, s32 next_state) {
|
||||
local->unk24 = 0.0f;
|
||||
}
|
||||
if (next_state == 4) {
|
||||
func_8025A6EC(COMUSIC_2B_DING_B, 28000);
|
||||
coMusicPlayer_playMusic(COMUSIC_2B_DING_B, 28000);
|
||||
marker_despawn(this->marker);
|
||||
}
|
||||
if (next_state == 5) {
|
||||
@@ -153,10 +153,10 @@ void chcaterpillar_update(Actor *this){
|
||||
if(ml_vec3f_distance(this->position, sp74) < 50.0f){
|
||||
func_8028F030(ACTOR_2A2_CATERPILLAR);
|
||||
if(!volatileFlag_get(VOLATILE_FLAG_B2)){
|
||||
gcdialog_showText(ASSET_CC7_DIALOG_UNKNOWN, 4, NULL, NULL, NULL, NULL);
|
||||
gcdialog_showDialog(ASSET_CC7_DIALOG_UNKNOWN, 4, NULL, NULL, NULL, NULL);
|
||||
volatileFlag_set(VOLATILE_FLAG_B2, TRUE);
|
||||
}
|
||||
FUNC_8030E8B4(SFX_C5_TWINKLY_POP, 1.0f, 25000, this->position, 0x1f4, 0x9c4);
|
||||
sfx_playFadeShorthandDefault(SFX_C5_TWINKLY_POP, 1.0f, 25000, this->position, 0x1f4, 0x9c4);
|
||||
marker_despawn(this->marker);
|
||||
}
|
||||
}//L8038A794
|
||||
|
@@ -44,7 +44,7 @@ void func_8038A950(Actor *this, s32 next_state) {
|
||||
skeletalAnim_set(this->unk148, 0x199, 0.0f, 6.5f);
|
||||
}
|
||||
if (next_state == 2) {
|
||||
gcdialog_showText(0xCDC, 0xA, this->position, this->marker, func_8038A920, NULL);
|
||||
gcdialog_showDialog(0xCDC, 0xA, this->position, this->marker, func_8038A920, NULL);
|
||||
}
|
||||
if (next_state == 3) {
|
||||
skeletalAnim_set(this->unk148, 0x19A, 0.0f, 7.0f);
|
||||
|
@@ -28,7 +28,7 @@ Struct_CCW_4960_0 D_8038F254[] = {
|
||||
/* .code */
|
||||
void func_8038AD50(Actor *this, s32 next_state) {
|
||||
if (next_state == 2) {
|
||||
gcdialog_showText(0xCDD, 0, NULL, NULL, NULL, NULL);
|
||||
gcdialog_showDialog(0xCDD, 0, NULL, NULL, NULL, NULL);
|
||||
if (this->state == 1) {
|
||||
mapSpecificFlags_set(6, 0);
|
||||
timed_setStaticCameraToNode(0.0f, 1);
|
||||
|
@@ -90,7 +90,7 @@ void func_8038B19C(Actor *this) {
|
||||
}
|
||||
if (!this->has_met_before && func_803292E0(this)) {
|
||||
this->has_met_before = TRUE;
|
||||
gcdialog_showText(0xCC8, 0, NULL, NULL, NULL, NULL);
|
||||
gcdialog_showDialog(0xCC8, 0, NULL, NULL, NULL, NULL);
|
||||
}
|
||||
func_8028E668(this->position, 300.0f, -50.0f, 120.0f);
|
||||
}
|
||||
|
@@ -92,7 +92,7 @@ void func_8038B87C(Actor *this) {
|
||||
}
|
||||
if (!this->has_met_before && func_803292E0(this)) {
|
||||
this->has_met_before = TRUE;
|
||||
gcdialog_showText(0xCC9, 0, NULL, NULL, NULL, NULL);
|
||||
gcdialog_showDialog(0xCC9, 0, NULL, NULL, NULL, NULL);
|
||||
}
|
||||
func_8028E668(this->position, 300.0f, -50.0f, 120.0f);
|
||||
}
|
||||
|
@@ -49,7 +49,7 @@ void chnabnut_setState(Actor *this, s32 next_state) {
|
||||
skeletalAnim_setBehavior(this->unk148, SKELETAL_ANIM_2_ONCE);
|
||||
func_80324E38(0.0f, 3);
|
||||
timed_setStaticCameraToNode(0.0f, 0xB);
|
||||
gcdialog_showText(0xCCC, 0x20, this->position, NULL, NULL, NULL);
|
||||
gcdialog_showDialog(0xCCC, 0x20, this->position, NULL, NULL, NULL);
|
||||
}
|
||||
|
||||
if (next_state == NABNUT_STATE_4_THANK_PLAYER) {
|
||||
@@ -135,13 +135,13 @@ void chnabnut_update(Actor *this) {
|
||||
player_getPosition(sp30);
|
||||
if (!this->has_met_before && (ml_vec3f_distance(this->position, sp30) < 400.0f)) {
|
||||
this->has_met_before = TRUE;
|
||||
gcdialog_showText(0xCCA, 0xE, this->position, NULL, NULL, NULL);
|
||||
gcdialog_showDialog(0xCCA, 0xE, this->position, NULL, NULL, NULL);
|
||||
}
|
||||
if (item_getCount(ITEM_23_ACORNS) > 0) {
|
||||
func_80258A4C(this->position, this->yaw - 90.0f, sp30, &sp2C, &sp28, &sp24);
|
||||
this->yaw += sp24 * 10.0f;
|
||||
}
|
||||
if (this->has_met_before && !func_803114B0()) {
|
||||
if (this->has_met_before && !gcdialog_hasCurrentTextId()) {
|
||||
player_setCarryObjectPoseInCylinder(this->position, 500.0f, 200.0f, ACTOR_2A9_ACORN, &this);
|
||||
if ((carriedObj_getActorId() == ACTOR_2A9_ACORN) && (ml_vec3f_distance(this->position, sp30) < 300.0f) && player_throwCarriedObject()) {
|
||||
player_setThrowTargetPosition(D_8038F350);
|
||||
@@ -149,7 +149,7 @@ void chnabnut_update(Actor *this) {
|
||||
if (local->returned_acorn_count == 6) {
|
||||
chnabnut_setState(this, NABNUT_STATE_2_WAIT);
|
||||
} else if (item_getCount(ITEM_23_ACORNS) == 1) {
|
||||
gcdialog_showText(0xCCB, 0x20, this->position, NULL, NULL, NULL);
|
||||
gcdialog_showDialog(0xCCB, 0x20, this->position, NULL, NULL, NULL);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@@ -116,7 +116,7 @@ void func_8038C41C(Actor *this) {
|
||||
player_getPosition(sp2C);
|
||||
if (!this->has_met_before && (ml_vec3f_distance(this->position, sp2C) < 400.0f)) {
|
||||
this->has_met_before = TRUE;
|
||||
gcdialog_showText(0xCCD, 0, NULL, NULL, NULL, NULL);
|
||||
gcdialog_showDialog(0xCCD, 0, NULL, NULL, NULL, NULL);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@@ -43,7 +43,7 @@ void CCW_func_8038C6A0(Actor *this, s32 next_state) {
|
||||
local->unk18 = 0.0f;
|
||||
}
|
||||
if (next_state == 4) {
|
||||
func_8025A6EC(COMUSIC_2B_DING_B, 28000);
|
||||
coMusicPlayer_playMusic(COMUSIC_2B_DING_B, 28000);
|
||||
marker_despawn(this->marker);
|
||||
}
|
||||
if (next_state == 5) {
|
||||
@@ -75,7 +75,7 @@ void func_8038C7A8(Actor *this) {
|
||||
player_getPosition(sp38);
|
||||
if (ml_vec3f_distance(this->position, sp38) < 50.0f) {
|
||||
func_8028F030(0x2A9);
|
||||
FUNC_8030E8B4(SFX_C5_TWINKLY_POP, 1.0f, 25000, this->position, 500, 2500);
|
||||
sfx_playFadeShorthandDefault(SFX_C5_TWINKLY_POP, 1.0f, 25000, this->position, 500, 2500);
|
||||
CCW_func_8038C6A0(this, 5);
|
||||
}
|
||||
}
|
||||
|
@@ -120,7 +120,7 @@ void func_8038CC4C(Actor *this) {
|
||||
player_getPosition(sp38);
|
||||
if (ml_vec3f_distance(this->position, sp38) < 900.0f) {
|
||||
if (local->unk0->map_id != MAP_46_CCW_WINTER || func_8028F2FC()) {
|
||||
gcdialog_showText(local->unk0->unk4, 4, NULL, NULL, NULL, NULL);
|
||||
gcdialog_showDialog(local->unk0->unk4, 4, NULL, NULL, NULL, NULL);
|
||||
this->has_met_before = TRUE;
|
||||
}
|
||||
}
|
||||
|
@@ -61,7 +61,7 @@ void func_8038CEB0(Actor *this, s32 next_state) {
|
||||
this->marker->propPtr->unk8_3 = FALSE;
|
||||
skeletalAnim_set(this->unk148, 0x1A7, 0.2f, 3.0f);
|
||||
skeletalAnim_setBehavior(this->unk148, SKELETAL_ANIM_2_ONCE);
|
||||
gcdialog_showText(0xCD0, 0x24, NULL, NULL, NULL, NULL);
|
||||
gcdialog_showDialog(0xCD0, 0x24, NULL, NULL, NULL, NULL);
|
||||
}
|
||||
if (next_state == 3) {
|
||||
skeletalAnim_set(this->unk148, 0x1A8, 0.2f, 0.5f);
|
||||
@@ -117,7 +117,7 @@ void func_8038CFB4(Actor *this) {
|
||||
if (!this->has_met_before) {
|
||||
player_getPosition(sp60);
|
||||
if (ml_vec3f_distance(this->position, sp60) < 900.0f) {
|
||||
gcdialog_showText(0xCCF, 4, NULL, NULL, NULL, NULL);
|
||||
gcdialog_showDialog(0xCCF, 4, NULL, NULL, NULL, NULL);
|
||||
this->has_met_before = TRUE;
|
||||
}
|
||||
}
|
||||
|
@@ -71,10 +71,10 @@ void func_8038D368(Actor *this) {
|
||||
player_getPosition(plyr_pos);
|
||||
if (ml_vec3f_distance(this->position, plyr_pos) < 600.0f) {
|
||||
if (!jiggyscore_isCollected(JIGGY_4B_CCW_GNAWTY)) {
|
||||
gcdialog_showText(local->unk0->unk2, 4, NULL, NULL, NULL, NULL);
|
||||
gcdialog_showDialog(local->unk0->unk2, 4, NULL, NULL, NULL, NULL);
|
||||
} else {
|
||||
if (local->unk0->unk4) {
|
||||
gcdialog_showText(local->unk0->unk4, 4, NULL, NULL, NULL, NULL);
|
||||
gcdialog_showDialog(local->unk0->unk4, 4, NULL, NULL, NULL, NULL);
|
||||
}
|
||||
}
|
||||
this->has_met_before = TRUE;
|
||||
|
@@ -97,7 +97,7 @@ void func_8038E0C8(Actor *this) {
|
||||
this->unk38_31--;
|
||||
break;
|
||||
}
|
||||
if( func_80329530(this, 0x2A8)
|
||||
if( subaddie_playerIsWithinSphereAndActive(this, 0x2A8)
|
||||
&& (this->unk38_31 == 0)
|
||||
&& (player_getTransformation() == TRANSFORM_1_BANJO)
|
||||
) {
|
||||
@@ -114,7 +114,7 @@ void func_8038E0C8(Actor *this) {
|
||||
|| actor_animationIsAt(this, 0.47f)
|
||||
|| actor_animationIsAt(this, 0.78f)
|
||||
) {
|
||||
FUNC_8030E8B4(SFX_80_YUMYUM_CLACK, 1.0f, 32000, this->position, 1500, 3000);
|
||||
sfx_playFadeShorthandDefault(SFX_80_YUMYUM_CLACK, 1.0f, 32000, this->position, 1500, 3000);
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
@@ -43,13 +43,13 @@ void chwasp_setState(Actor *this, s32 next_state) {
|
||||
}
|
||||
}
|
||||
if (next_state == 3) {
|
||||
FUNC_8030E8B4(SFX_1F_HITTING_AN_ENEMY_3, 1.2f, 32200, this->position, 500, 3000);
|
||||
sfx_playFadeShorthandDefault(SFX_1F_HITTING_AN_ENEMY_3, 1.2f, 32200, this->position, 500, 3000);
|
||||
func_80324D54(randf2(0.1f, 0.4f), 0x3FC, randf2(0.95f, 1.1f), 32000, this->position, 500.0f, 3000.0f);
|
||||
actor_collisionOff(this);
|
||||
}
|
||||
if (next_state == 4) {
|
||||
skeletalAnim_set(this->unk148, ASSET_171_ANIM_ZUBBA_DIE, 0.1f, 0.2f);
|
||||
FUNC_8030E8B4(SFX_1F_HITTING_AN_ENEMY_3, 1.2f, 32200, this->position, 500, 3000);
|
||||
sfx_playFadeShorthandDefault(SFX_1F_HITTING_AN_ENEMY_3, 1.2f, 32200, this->position, 500, 3000);
|
||||
func_80324D54(0.1f, 0x66, randf2(1.6f, 1.7f), 32000, this->position, 500.0f, 3000.0f);
|
||||
func_803867C8(local->unk4);
|
||||
actor_collisionOff(this);
|
||||
@@ -117,7 +117,7 @@ void chwasp_update(Actor *this) {
|
||||
local->unk4 = 0;
|
||||
local->unk14 = 1000.0f;
|
||||
sfxsource_setSfxId(local->sfxsourceIdx, 0x3FA);
|
||||
func_8030DD14(local->sfxsourceIdx, 2);
|
||||
sfxSource_setunk43_7ByIndex(local->sfxsourceIdx, 2);
|
||||
sfxsource_playSfxAtVolume(local->sfxsourceIdx, 0.9f);
|
||||
sfxsource_setSampleRate(local->sfxsourceIdx, 0);
|
||||
marker_setCollisionScripts(this->marker, func_80387124, NULL, CCW_func_80387150);
|
||||
@@ -210,6 +210,6 @@ void chwasp_update(Actor *this) {
|
||||
}
|
||||
sfxsource_set_fade_distances(local->sfxsourceIdx, 500.0f, 1500.0f);
|
||||
sfxsource_set_position(local->sfxsourceIdx, this->position);
|
||||
func_8030E2C4(local->sfxsourceIdx);
|
||||
sfxSource_func_8030E2C4(local->sfxsourceIdx);
|
||||
sfxsource_setSampleRate(local->sfxsourceIdx, (s32) ((local->unk18 / local->unk14) * 10000.0f));
|
||||
}
|
||||
|
@@ -50,7 +50,7 @@ Struct_FP_3E00 D_80391E80[] ={
|
||||
void func_8038A1F0(Actor **this_ptr, enum marker_e carried_obj_marker_id, enum actor_e actor_id, enum actor_e arg3){
|
||||
player_setCarryObjectPoseInHorizontalRadius((*this_ptr)->position, 600.0f, actor_id, this_ptr);
|
||||
|
||||
if (!func_80329530(*this_ptr, 400)) {
|
||||
if (!subaddie_playerIsWithinSphereAndActive(*this_ptr, 400)) {
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -79,10 +79,10 @@ void func_8038A274(Actor *this){
|
||||
|
||||
void func_8038A318(ActorMarker *caller, enum asset_e text_id, s32 arg1){
|
||||
if(text_id == 0xc19){
|
||||
func_802BAFE4(0x25);
|
||||
gcStaticCamera_activate(0x25);
|
||||
jiggy_spawn(JIGGY_2E_FP_PRESENTS, FP_D_80391E74);
|
||||
func_8025A6EC(COMUSIC_2D_PUZZLE_SOLVED_FANFARE, 32000);
|
||||
func_8025A6EC(COMUSIC_5B_FP_IGLOO_HAPPY, 25000);
|
||||
coMusicPlayer_playMusic(COMUSIC_2D_PUZZLE_SOLVED_FANFARE, 32000);
|
||||
coMusicPlayer_playMusic(COMUSIC_5B_FP_IGLOO_HAPPY, 25000);
|
||||
func_8025A58C(0, 4000);
|
||||
core1_ce60_incOrDecCounter(FALSE);
|
||||
}
|
||||
@@ -134,13 +134,13 @@ void func_8038A384(Actor *this){
|
||||
|
||||
switch(this->state){
|
||||
case 1://L8038A5B0
|
||||
if(!levelSpecificFlags_get(LEVEL_FLAG_19_FP_UNKNOWN) && func_80329530(this, 0xfa)){
|
||||
if(!levelSpecificFlags_get(LEVEL_FLAG_19_FP_UNKNOWN) && subaddie_playerIsWithinSphereAndActive(this, 0xfa)){
|
||||
if(player_movementGroup() == BSGROUP_0_NONE || player_movementGroup() == BSGROUP_8_TROT){
|
||||
if(sp34 == 0
|
||||
&& !jiggyscore_isCollected(JIGGY_2C_FP_BOGGY_3)
|
||||
&& !jiggyscore_isSpawned(JIGGY_2C_FP_BOGGY_3)
|
||||
){
|
||||
if (gcdialog_showText(ASSET_C1A_DIALOG_UNKNOWN, 0x2a, NULL, NULL, NULL, NULL)) {
|
||||
if (gcdialog_showDialog(ASSET_C1A_DIALOG_UNKNOWN, 0x2a, NULL, NULL, NULL, NULL)) {
|
||||
levelSpecificFlags_set(LEVEL_FLAG_19_FP_UNKNOWN, TRUE);
|
||||
}
|
||||
}
|
||||
@@ -164,23 +164,23 @@ void func_8038A384(Actor *this){
|
||||
if(levelSpecificFlags_get(D_80391E80[sp3C].unk0)){
|
||||
subaddie_set_state_with_direction(this, 2, 0.001f, 1);
|
||||
if (sp38 == ASSET_C19_DIALOG_UNKNOWN) {
|
||||
gcdialog_showText(sp38, 0x2f, this->position, this->marker, func_8038A318, NULL);
|
||||
gcdialog_showDialog(sp38, 0x2f, this->position, this->marker, func_8038A318, NULL);
|
||||
}
|
||||
else {
|
||||
gcdialog_showText(sp38, 0x3, this->position, this->marker, func_8038A318, NULL);
|
||||
gcdialog_showDialog(sp38, 0x3, this->position, this->marker, func_8038A318, NULL);
|
||||
}
|
||||
}
|
||||
else{//L8038A73C
|
||||
func_8038A1F0(&this, D_80391E80[sp3C].unk4, D_80391E80[sp3C].unk8, D_80391E80[sp3C].unkC);
|
||||
if( actor_animationIsAt(this, 0.45f)
|
||||
&& !func_803114B0()
|
||||
&& !gcdialog_hasCurrentTextId()
|
||||
){
|
||||
func_8030E878(SFX_B1_BOGGY_KID_CRYING, randf2(0.9f, 1.1f), 32000, this->position, 150.0f, 700.0f);
|
||||
}
|
||||
}//L8038A7DC
|
||||
break;
|
||||
case 2://L8038A7C0
|
||||
if(!func_803114B0()){
|
||||
if(!gcdialog_hasCurrentTextId()){
|
||||
func_8038A274(this);
|
||||
}
|
||||
break;
|
||||
|
@@ -49,7 +49,7 @@ Actor *func_803875E0(ActorMarker *marker, Gfx **gfx, Mtx **mtx, Vtx **vtx){
|
||||
void func_803876A4(Actor *this){
|
||||
subaddie_set_state_with_direction(this, 2, 0.0001f, 1);
|
||||
actor_playAnimationOnce(this);
|
||||
FUNC_8030E8B4(SFX_8E_GRUNTLING_DAMAGE, 1.0f, 32000, this->position, 1250, 2500);
|
||||
sfx_playFadeShorthandDefault(SFX_8E_GRUNTLING_DAMAGE, 1.0f, 32000, this->position, 1250, 2500);
|
||||
}
|
||||
|
||||
void func_803876F8(Actor *this){
|
||||
@@ -86,7 +86,7 @@ void func_80387828(ActorMarker *caller, enum asset_e text_id, s32 arg2){
|
||||
Actor *this = marker_getActor(caller);
|
||||
|
||||
if (text_id == 0xc00) {
|
||||
gcdialog_showText(ASSET_C2B_DIALOG_UNKNOWN, 0xf, NULL, this->marker, NULL, func_803877A8);
|
||||
gcdialog_showDialog(ASSET_C2B_DIALOG_UNKNOWN, 0xf, NULL, this->marker, NULL, func_803877A8);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -147,9 +147,9 @@ void func_8038794C(Actor *this){
|
||||
break;
|
||||
}//L80387B38
|
||||
|
||||
if(!this->has_met_before && func_80329530(this, 0x1f4)){
|
||||
if(!this->has_met_before && subaddie_playerIsWithinSphereAndActive(this, 0x1f4)){
|
||||
if(!player_movementGroup() || player_movementGroup() == BSGROUP_8_TROT){
|
||||
if (gcdialog_showText(ASSET_BFF_DIALOG_UNKNOWN, 0x2a, this->position, NULL, NULL, NULL)) {
|
||||
if (gcdialog_showDialog(ASSET_BFF_DIALOG_UNKNOWN, 0x2a, this->position, NULL, NULL, NULL)) {
|
||||
for (i = 0; i < 5; i++) {
|
||||
timedFunc_set_1(D_80391BEC[i], (GenFunction_1) func_8038787C, (s32) this->marker);
|
||||
}
|
||||
@@ -162,19 +162,19 @@ void func_8038794C(Actor *this){
|
||||
case 2://L80387BEC
|
||||
func_8028FC8C(this->position);
|
||||
if(actor_animationIsAt(this, 0.1f)){
|
||||
FUNC_8030E8B4(SFX_F6_BLUBBER_TALKING_2, 1.0f, 32000, this->position, 1250, 2500);
|
||||
sfx_playFadeShorthandDefault(SFX_F6_BLUBBER_TALKING_2, 1.0f, 32000, this->position, 1250, 2500);
|
||||
}
|
||||
else if(actor_animationIsAt(this, 0.24f)){//L80387C2C
|
||||
FUNC_8030E8B4(SFX_A0_COUGHING, 0.7f, 32000, this->position, 1250, 2500);
|
||||
sfx_playFadeShorthandDefault(SFX_A0_COUGHING, 0.7f, 32000, this->position, 1250, 2500);
|
||||
}
|
||||
else if(actor_animationIsAt(this, 0.52f)){//L80387C60
|
||||
FUNC_8030E8B4(SFX_A0_COUGHING, 0.67f, 32000, this->position, 1250, 2500);
|
||||
sfx_playFadeShorthandDefault(SFX_A0_COUGHING, 0.67f, 32000, this->position, 1250, 2500);
|
||||
}
|
||||
else if(actor_animationIsAt(this, 0.61f)){//L80387C94
|
||||
FUNC_8030E8B4(SFX_A0_COUGHING, 0.64f, 32000, this->position, 1250, 2500);
|
||||
sfx_playFadeShorthandDefault(SFX_A0_COUGHING, 0.64f, 32000, this->position, 1250, 2500);
|
||||
}
|
||||
else if(actor_animationIsAt(this, 0.69f)){//L80387CC8
|
||||
FUNC_8030E8B4(SFX_A0_COUGHING, 0.61f, 32000, this->position, 1250, 2500);
|
||||
sfx_playFadeShorthandDefault(SFX_A0_COUGHING, 0.61f, 32000, this->position, 1250, 2500);
|
||||
}//L80387CF4
|
||||
|
||||
if(actor_animationIsAt(this, 0.9999f)){
|
||||
|
@@ -124,10 +124,10 @@ void func_80388A50(Actor *this){
|
||||
void func_80388A94(Actor *this){
|
||||
func_80388A50(this);
|
||||
if(mapSpecificFlags_get(6)){
|
||||
gcdialog_showText(ASSET_C0A_DIALOG_UNKNOWN, 0xe, this->position, this->marker, func_80388D70, NULL);
|
||||
gcdialog_showDialog(ASSET_C0A_DIALOG_UNKNOWN, 0xe, this->position, this->marker, func_80388D70, NULL);
|
||||
}
|
||||
else{
|
||||
gcdialog_showText(ASSET_C09_DIALOG_UNKNOWN, 0xe, this->position, this->marker, func_80388D70, NULL);
|
||||
gcdialog_showDialog(ASSET_C09_DIALOG_UNKNOWN, 0xe, this->position, this->marker, func_80388D70, NULL);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -136,15 +136,15 @@ void func_80388B18(Actor *this, u8 arg1){
|
||||
if(player_getTransformation() == TRANSFORM_4_WALRUS){
|
||||
func_80388A50(this);
|
||||
if(mapSpecificFlags_get(5)){
|
||||
gcdialog_showText(ASSET_C05_DIALOG_UNKNOWN, 0xf, this->position, this->marker, func_80388D70, NULL);
|
||||
gcdialog_showDialog(ASSET_C05_DIALOG_UNKNOWN, 0xf, this->position, this->marker, func_80388D70, NULL);
|
||||
}
|
||||
else{
|
||||
gcdialog_showText(ASSET_C02_DIALOG_UNKNOWN, 0xf, this->position, this->marker, func_80388D70, NULL);
|
||||
gcdialog_showDialog(ASSET_C02_DIALOG_UNKNOWN, 0xf, this->position, this->marker, func_80388D70, NULL);
|
||||
}
|
||||
}
|
||||
else{//L80388BB8
|
||||
if(!volatileFlag_get(VOLATILE_FLAG_B3)){
|
||||
if(gcdialog_showText(ASSET_C01_DIALOG_UNKNOWN, 0xe, this->position, this->marker, func_80388D70, NULL)){
|
||||
if(gcdialog_showDialog(ASSET_C01_DIALOG_UNKNOWN, 0xe, this->position, this->marker, func_80388D70, NULL)){
|
||||
volatileFlag_set(VOLATILE_FLAG_B3, TRUE);
|
||||
func_80388A50(this);
|
||||
}
|
||||
@@ -154,7 +154,7 @@ void func_80388B18(Actor *this, u8 arg1){
|
||||
else{//L80388C08
|
||||
if(player_getTransformation() == TRANSFORM_4_WALRUS){
|
||||
if(!volatileFlag_get(VOLATILE_FLAG_B4)){
|
||||
if(gcdialog_showText(ASSET_C08_DIALOG_UNKNOWN, 0xe, this->position, this->marker, func_80388D70, NULL)){
|
||||
if(gcdialog_showDialog(ASSET_C08_DIALOG_UNKNOWN, 0xe, this->position, this->marker, func_80388D70, NULL)){
|
||||
volatileFlag_set(VOLATILE_FLAG_B4, TRUE);
|
||||
func_80388A50(this);
|
||||
}
|
||||
@@ -180,12 +180,12 @@ bool FP_func_80388CA0(Actor *this){
|
||||
if(player_movementGroup() != BSGROUP_0_NONE && player_movementGroup() != BSGROUP_8_TROT)
|
||||
return FALSE;
|
||||
|
||||
if( !func_80329530(this, 1100) ){
|
||||
if( !subaddie_playerIsWithinSphereAndActive(this, 1100) ){
|
||||
local->unk18 = TRUE;
|
||||
}
|
||||
|
||||
sp20 = this->unk10_12;
|
||||
this->unk10_12 = func_80329530(this, 0x1C2);
|
||||
this->unk10_12 = subaddie_playerIsWithinSphereAndActive(this, 0x1C2);
|
||||
return (sp20 == 0 && this->unk10_12 && local->unk18);
|
||||
}
|
||||
|
||||
@@ -199,7 +199,7 @@ void func_80388D70(ActorMarker *caller, enum asset_e text_id, s32 arg2){
|
||||
case 0xc06:
|
||||
case 0xc28:
|
||||
case 0xc29://L80388DC4
|
||||
func_8025A6EC(COMUSIC_3A_FP_BOGGY_RACE, 25000);
|
||||
coMusicPlayer_playMusic(COMUSIC_3A_FP_BOGGY_RACE, 25000);
|
||||
func_8025A58C(0, 4000);
|
||||
core1_ce60_incOrDecCounter(FALSE);
|
||||
func_802BE720();
|
||||
@@ -262,7 +262,7 @@ void func_80388F90(Actor *this){
|
||||
|
||||
func_8030DB04(this->unk44_31, 32000, this->position, 1000.0f, 4000.0f);
|
||||
sfxsource_playSfxAtVolume(this->unk44_31, local->unk8);
|
||||
func_8030E2C4(this->unk44_31);
|
||||
sfxSource_func_8030E2C4(this->unk44_31);
|
||||
}
|
||||
|
||||
bool func_80388FE8(Actor *this, f32 arg1, f32 arg2){
|
||||
@@ -467,24 +467,24 @@ void func_803896FC(Actor *this){
|
||||
else if(!jiggyscore_isCollected(JIGGY_30_FP_BOGGY_2) && player_movementGroup() == BSGROUP_C_WALRUS_SLED){
|
||||
FP_func_803888E4(this);
|
||||
}
|
||||
else if( func_80329530(this, 0x1C2)
|
||||
else if( subaddie_playerIsWithinSphereAndActive(this, 0x1C2)
|
||||
&& player_movementGroup() == BSGROUP_0_NONE
|
||||
&& func_8028F20C()
|
||||
&& func_8028EFC8()
|
||||
&& sp3C[FACE_BUTTON(BUTTON_B)] == 1
|
||||
&& !func_803114B0()
|
||||
&& !gcdialog_hasCurrentTextId()
|
||||
){
|
||||
if( local->unk19 == 1
|
||||
&& player_getTransformation() != TRANSFORM_4_WALRUS
|
||||
&& volatileFlag_get(VOLATILE_FLAG_B3)
|
||||
){
|
||||
gcdialog_showText(ASSET_C01_DIALOG_UNKNOWN, 0xf, this->position, this->marker, func_80388D70, NULL);
|
||||
gcdialog_showDialog(ASSET_C01_DIALOG_UNKNOWN, 0xf, this->position, this->marker, func_80388D70, NULL);
|
||||
}
|
||||
else if( local->unk19 == 2){
|
||||
if( player_getTransformation() == TRANSFORM_4_WALRUS
|
||||
&& volatileFlag_get(VOLATILE_FLAG_B4)
|
||||
){
|
||||
gcdialog_showText(ASSET_C08_DIALOG_UNKNOWN, 0xf, this->position, this->marker, func_80388D70, NULL);
|
||||
gcdialog_showDialog(ASSET_C08_DIALOG_UNKNOWN, 0xf, this->position, this->marker, func_80388D70, NULL);
|
||||
}
|
||||
else if( player_getTransformation() != TRANSFORM_4_WALRUS){
|
||||
func_80388A94(this);
|
||||
|
@@ -26,7 +26,7 @@ Actor *func_80390290(ActorMarker *marker, Gfx **gfx, Mtx **mtx, Vtx **vtx){
|
||||
|
||||
if(this->unk38_31) return this;
|
||||
|
||||
if(func_803114C4() == 0xC1F || func_803114C4() == 0xC1E){
|
||||
if(gcdialog_getCurrentTextId() == 0xC1F || gcdialog_getCurrentTextId() == 0xC1E){
|
||||
sp18 = 1;
|
||||
}
|
||||
func_8033A45C(1, 0);
|
||||
@@ -73,18 +73,18 @@ void func_80390388(Actor *this){
|
||||
this->has_met_before = TRUE;
|
||||
}
|
||||
|
||||
if( func_80329530(this, 0xFA)
|
||||
if( subaddie_playerIsWithinSphereAndActive(this, 0xFA)
|
||||
&& (player_movementGroup() == BSGROUP_0_NONE || player_movementGroup() == BSGROUP_8_TROT)
|
||||
){
|
||||
if(0.0f == this->unk1C[0] && func_80390334()){
|
||||
if(gcdialog_showText(ASSET_C1F_DIALOG_UNKNOWN, 0xb, this->position, NULL, NULL, NULL)){
|
||||
if(gcdialog_showDialog(ASSET_C1F_DIALOG_BOGGY_NEEDS_SLEEP, 0xb, this->position, NULL, NULL, NULL)){
|
||||
this->has_met_before = TRUE;
|
||||
this->unk1C[0] = 1.0f;
|
||||
}
|
||||
}
|
||||
else{
|
||||
if( !this->has_met_before ){
|
||||
if(gcdialog_showText(ASSET_C1E_DIALOG_UNKNOWN, 0x2b, this->position, NULL, NULL, NULL)){
|
||||
if(gcdialog_showDialog(ASSET_C1E_DIALOG_BOGGY_LOOK_FOR_PRESENTS, 0x2b, this->position, NULL, NULL, NULL)){
|
||||
this->has_met_before = TRUE;
|
||||
}
|
||||
}
|
||||
|
@@ -49,11 +49,11 @@ void func_80390630(Actor *this){
|
||||
this->yaw_ideal = (f32)func_80329784(this);
|
||||
func_80328FB0(this, 1.0f);
|
||||
|
||||
if(!func_803114B0()){
|
||||
if(!gcdialog_hasCurrentTextId()){
|
||||
if( actor_animationIsAt(this, 0.09f)
|
||||
|| actor_animationIsAt(this, 0.19f)
|
||||
){
|
||||
FUNC_8030E8B4(SFX_88_WOZZA_NOISE, 1.0f, 22000, this->position, 500, 2000);
|
||||
sfx_playFadeShorthandDefault(SFX_88_WOZZA_NOISE, 1.0f, 22000, this->position, 500, 2000);
|
||||
}
|
||||
|
||||
if( actor_animationIsAt(this, 0.68f)
|
||||
@@ -62,21 +62,21 @@ void func_80390630(Actor *this){
|
||||
|| actor_animationIsAt(this, 0.92f)
|
||||
|
||||
){
|
||||
FUNC_8030E8B4(SFX_3F2_UNKNOWN, 0.8f, 24000, this->position, 500, 2000);
|
||||
sfx_playFadeShorthandDefault(SFX_3F2_UNKNOWN, 0.8f, 24000, this->position, 500, 2000);
|
||||
}
|
||||
}
|
||||
|
||||
if (func_80329530(this, 350)) {
|
||||
if (subaddie_playerIsWithinSphereAndActive(this, 350)) {
|
||||
if (player_getTransformation() == TRANSFORM_4_WALRUS) {
|
||||
if (!levelSpecificFlags_get(LEVEL_FLAG_31_FP_UNKNOWN)) {
|
||||
if (gcdialog_showText(ASSET_C27_DIALOG_UNKNOWN, 0x23, NULL, NULL, NULL, NULL)) {
|
||||
if (gcdialog_showDialog(ASSET_C27_DIALOG_UNKNOWN, 0x23, NULL, NULL, NULL, NULL)) {
|
||||
levelSpecificFlags_set(LEVEL_FLAG_31_FP_UNKNOWN, TRUE);
|
||||
}
|
||||
}
|
||||
}
|
||||
else {
|
||||
if (!levelSpecificFlags_get(LEVEL_FLAG_32_FP_UNKNOWN)) {
|
||||
if (gcdialog_showText(ASSET_C26_DIALOG_UNKNOWN, 0x23, NULL, NULL, NULL, NULL)) {
|
||||
if (gcdialog_showDialog(ASSET_C26_DIALOG_UNKNOWN, 0x23, NULL, NULL, NULL, NULL)) {
|
||||
levelSpecificFlags_set(LEVEL_FLAG_32_FP_UNKNOWN, TRUE);
|
||||
}
|
||||
}
|
||||
|
@@ -58,7 +58,7 @@ void __chScarfSled_func_8038655C(Actor *this){
|
||||
this->unk10_12 = FALSE;
|
||||
if(!tmp_bool){
|
||||
if(tmp != 0){
|
||||
func_8030E6A4(SFX_19_BANJO_LANDING_08, func_8030E200(this->unk44_31), 0x55f0);
|
||||
gcsfx_playWithPitch(SFX_19_BANJO_LANDING_08, func_8030E200(this->unk44_31), 0x55f0);
|
||||
}
|
||||
}
|
||||
else{
|
||||
@@ -67,7 +67,7 @@ void __chScarfSled_func_8038655C(Actor *this){
|
||||
func_8030E0FC(this->unk44_31, 0.9f, 1.5f, 1.2f);
|
||||
}
|
||||
this->unk10_12 = TRUE;
|
||||
func_8030E2C4(*((u8*)this + 0x44));
|
||||
sfxSource_func_8030E2C4(*((u8*)this + 0x44));
|
||||
}
|
||||
}
|
||||
|
||||
|
@@ -52,7 +52,7 @@ void FP_func_80386BEC(Actor *this){
|
||||
player_getPosition(plyr_pos);
|
||||
subaddie_set_state_with_direction(this, 2, 0.01f, 1);
|
||||
actor_collisionOff(this);
|
||||
func_8025A6EC(COMUSIC_2B_DING_B, 28000);
|
||||
coMusicPlayer_playMusic(COMUSIC_2B_DING_B, 28000);
|
||||
FUNC_8030E624(SFX_90_SWITCH_PRESS, 1.0f, 32000);
|
||||
maSnowButton_decRemaining();
|
||||
particleEmitter_setRGB(pCtrl, D_80391B44);
|
||||
@@ -78,7 +78,7 @@ void FP_func_80386CF8(Actor *this){
|
||||
|
||||
if(!this->initialized){
|
||||
this->initialized = TRUE;
|
||||
this->pitch += (f32)(this->unkF4_8 - 1);
|
||||
this->pitch += (f32)(this->actorTypeSpecificField - 1);
|
||||
}
|
||||
|
||||
if(!this->volatile_initialized){
|
||||
|
@@ -106,7 +106,7 @@ void func_8038C260(f32 position[3], s32 count, enum asset_e model_id){
|
||||
particleEmitter_setFade(pCtrl, 0.0f, 0.3f);
|
||||
particleEmitter_func_802EF9F8(pCtrl, 0.6f);
|
||||
particleEmitter_func_802EFA18(pCtrl, 0);
|
||||
func_802EFA20(pCtrl, 1.0f, 1.3f);
|
||||
particleEmitter_func_802EFA20(pCtrl, 1.0f, 1.3f);
|
||||
particleEmitter_setSfx(pCtrl, SFX_7B_ICE_BREAKING_1, 8000);
|
||||
particleEmitter_emitN(pCtrl, count);
|
||||
}
|
||||
@@ -232,10 +232,10 @@ void func_8038C8F0(ActorMarker *marker){
|
||||
s32 pad;
|
||||
|
||||
this = marker_getActor(reinterpret_cast(ActorMarker *, marker));
|
||||
other = marker_getActor(this->unk100);
|
||||
other = marker_getActor(this->partnerActor);
|
||||
muncher = actor_spawnWithYaw_f32(ACTOR_337_TWINKLY_MUNCHER, D_80392070, 170);
|
||||
muncher->unk100 = other->marker;
|
||||
muncher->unkF4_8 = 1;
|
||||
muncher->partnerActor = other->marker;
|
||||
muncher->actorTypeSpecificField = 1;
|
||||
|
||||
if(pad);
|
||||
}
|
||||
@@ -255,7 +255,7 @@ void func_8038C9A0(Actor *this){
|
||||
if(this->marker->id == 0x200){
|
||||
sp30 = func_8034C2C4(this->marker, 0x190);
|
||||
}
|
||||
other = marker_getActor(this->unk100);
|
||||
other = marker_getActor(this->partnerActor);
|
||||
|
||||
if(!this->volatile_initialized){
|
||||
this->volatile_initialized = TRUE;
|
||||
@@ -279,7 +279,7 @@ void func_8038C9A0(Actor *this){
|
||||
|
||||
if(1.0f == other->unk1C[1]){
|
||||
func_8038C398(this->position, this->marker->id);
|
||||
FUNC_8030E8B4(SFX_7B_ICE_BREAKING_1, 1.0f, 32000, this->position, 0x6d6, 0xdac);\
|
||||
sfx_playFadeShorthandDefault(SFX_7B_ICE_BREAKING_1, 1.0f, 32000, this->position, 0x6d6, 0xdac);\
|
||||
marker_despawn(this->marker);
|
||||
return;
|
||||
}
|
||||
@@ -326,7 +326,7 @@ void func_8038C9A0(Actor *this){
|
||||
if(other->unk38_31 != 0){
|
||||
other->unk38_31--;
|
||||
}
|
||||
func_8025A6EC(COMUSIC_2B_DING_B, 28000);
|
||||
coMusicPlayer_playMusic(COMUSIC_2B_DING_B, 28000);
|
||||
marker_despawn(this->marker);
|
||||
}
|
||||
break;
|
||||
@@ -336,11 +336,11 @@ void func_8038C9A0(Actor *this){
|
||||
if(this->unk1C[1] <= this->position_y){
|
||||
this->position_y = this->unk1C[1];
|
||||
if(!fileProgressFlag_get(FILEPROG_82_MET_TWINKLIES)){
|
||||
gcdialog_showText(0xc12, 0x2a, this->position, this->marker, func_8038C94C, NULL);
|
||||
gcdialog_showDialog(0xc12, 0x2a, this->position, this->marker, func_8038C94C, NULL);
|
||||
fileProgressFlag_set(FILEPROG_82_MET_TWINKLIES, TRUE);
|
||||
}
|
||||
else{
|
||||
gcdialog_showText(0xc25, 0x2b, this->position, this->marker, func_8038C94C, NULL);
|
||||
gcdialog_showDialog(0xc25, 0x2b, this->position, this->marker, func_8038C94C, NULL);
|
||||
}
|
||||
subaddie_set_state(this, 5);
|
||||
this->pitch -= 3.0f;
|
||||
|
@@ -176,8 +176,8 @@ void func_8038D294(ActorMarker *marker){
|
||||
func_8038CF54(this->position, 12, ASSET_4D4_MODEL_TWINKLY_BOX_PAPER_SHARD);
|
||||
func_8038D01C(this->position, 12, ASSET_700_SPRITE_DUST);
|
||||
this->velocity[1] = 0.0f;
|
||||
FUNC_8030E8B4(SFX_30_MAGIC_POOF, 1.0f, 32000, this->position, 1000, 3500);
|
||||
gcdialog_showText(0xc13, 0, NULL, NULL, NULL, NULL);
|
||||
sfx_playFadeShorthandDefault(SFX_30_MAGIC_POOF, 1.0f, 32000, this->position, 1000, 3500);
|
||||
gcdialog_showDialog(0xc13, 0, NULL, NULL, NULL, NULL);
|
||||
}
|
||||
|
||||
void func_8038D324(Actor *this){
|
||||
@@ -210,9 +210,9 @@ void func_8038D41C(ActorMarker *marker){
|
||||
Actor *actor;
|
||||
|
||||
actor = actor_spawnWithYaw_f32(ACTOR_337_TWINKLY_MUNCHER, D_80392354, 170);
|
||||
actor->unk100 = _marker;
|
||||
actor->partnerActor = _marker;
|
||||
actor = actor_spawnWithYaw_f32(ACTOR_337_TWINKLY_MUNCHER, D_80392360, 170);
|
||||
actor->unk100 = _marker;
|
||||
actor->partnerActor = _marker;
|
||||
if(pad[0]);
|
||||
}
|
||||
|
||||
@@ -233,7 +233,7 @@ void func_8038D474(ActorMarker *marker){
|
||||
}
|
||||
actor->unk1C[0] += 1.0;
|
||||
child = spawn_child_actor(D_8039236C[(s32)actor->unk1C[0]], &actor);
|
||||
child->unk100 = actor->marker;
|
||||
child->partnerActor = actor->marker;
|
||||
}
|
||||
|
||||
void func_8038D51C(ActorMarker *marker){
|
||||
@@ -263,7 +263,7 @@ void func_8038D5C8(ActorMarker *this_marker, ActorMarker *other_marker){
|
||||
func_8028F490(D_8039237C);
|
||||
func_8028F8F8(7, 1);
|
||||
this->unk1C[1] = 0.0f;
|
||||
func_8025A6EC(COMUSIC_68_TWINKLY_MINIGAME, 25000);
|
||||
coMusicPlayer_playMusic(COMUSIC_68_TWINKLY_MINIGAME, 25000);
|
||||
func_8025A58C(0, 4000);
|
||||
core1_ce60_incOrDecCounter(FALSE);
|
||||
this->unk1C[2] = 428571.0f;
|
||||
@@ -316,7 +316,7 @@ void func_8038D6C8(Actor *this){
|
||||
switch (this->state)
|
||||
{
|
||||
case 1: //L8038D89C
|
||||
if(!func_80329530(this, 800))
|
||||
if(!subaddie_playerIsWithinSphereAndActive(this, 800))
|
||||
break;
|
||||
|
||||
if(!(globalTimer_getTime() & 1))
|
||||
@@ -346,7 +346,7 @@ void func_8038D6C8(Actor *this){
|
||||
|| actor_animationIsAt(this, 0.63f)
|
||||
|| actor_animationIsAt(this, 0.81f)
|
||||
){
|
||||
FUNC_8030E8B4(SFX_98_DEAF_THUD, 1.0f, 32000, this->position, 400, 2000);
|
||||
sfx_playFadeShorthandDefault(SFX_98_DEAF_THUD, 1.0f, 32000, this->position, 400, 2000);
|
||||
}
|
||||
break;
|
||||
|
||||
@@ -382,7 +382,7 @@ void func_8038D6C8(Actor *this){
|
||||
func_8025AEA0(COMUSIC_68_TWINKLY_MINIGAME, (s32)this->unk1C[2]);
|
||||
if(item_getCount(ITEM_24_TWINKLY_SCORE) == 0){
|
||||
subaddie_set_state_with_direction(this, 1, 0.001f, 1);
|
||||
func_8025A6EC(COMUSIC_2D_PUZZLE_SOLVED_FANFARE, 28000);
|
||||
coMusicPlayer_playMusic(COMUSIC_2D_PUZZLE_SOLVED_FANFARE, 28000);
|
||||
func_8038D3D8();
|
||||
func_80324E38(0.0f, 3);
|
||||
timedFunc_set_1(1.3f, (GenFunction_1)func_8038D51C, (s32)this->marker);
|
||||
@@ -397,7 +397,7 @@ void func_8038D6C8(Actor *this){
|
||||
actor_playAnimationOnce(this);
|
||||
this->unk38_31 = 0;
|
||||
item_set(ITEM_6_HOURGLASS, FALSE);
|
||||
func_8025A6EC(COMUSIC_3C_MINIGAME_LOSS, 28000);
|
||||
coMusicPlayer_playMusic(COMUSIC_3C_MINIGAME_LOSS, 28000);
|
||||
func_8028F8F8(7, FALSE);
|
||||
this->unk1C[1] = 1.0f;
|
||||
func_8038D3D8();
|
||||
@@ -426,7 +426,7 @@ bool func_8038DD14(void){
|
||||
|
||||
bool func_8038DD34(ActorMarker *marker){
|
||||
Actor *this = marker_getActor(marker);
|
||||
if(func_80329530(this, 800))
|
||||
if(subaddie_playerIsWithinSphereAndActive(this, 800))
|
||||
return TRUE;
|
||||
return FALSE;
|
||||
}
|
||||
|
@@ -59,8 +59,8 @@ void func_8038DEB8(ActorMarker *this_marker, ActorMarker *other_marker){
|
||||
Actor *this = marker_getActor(this_marker);
|
||||
if(this->state != 1 && this->state != 5){
|
||||
func_8038DE78(this);
|
||||
FUNC_8030E8B4(SFX_87_TANKTUP_OOOHW, 1.6f, 32000, this->position, 1250, 2500);
|
||||
FUNC_8030E8B4(SFX_1D_HITTING_AN_ENEMY_1, 1.0f, 26000, this->position, 1250, 2500);
|
||||
sfx_playFadeShorthandDefault(SFX_87_TANKTUP_OOOHW, 1.6f, 32000, this->position, 1250, 2500);
|
||||
sfx_playFadeShorthandDefault(SFX_1D_HITTING_AN_ENEMY_1, 1.0f, 26000, this->position, 1250, 2500);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -108,10 +108,10 @@ void func_8038E094(Actor *this){
|
||||
this->marker->propPtr->unk8_3 = TRUE;
|
||||
anctrl_setAnimTimer(this->anctrl, 0.99999f);
|
||||
this->lifetime_value = 0.0f;
|
||||
if(this->unkF4_8 == 1){
|
||||
if(this->actorTypeSpecificField == 1){
|
||||
func_8038DDC8(this);
|
||||
}
|
||||
if(this->unkF4_8 == 2){
|
||||
if(this->actorTypeSpecificField == 2){
|
||||
if(volatileFlag_get(VOLATILE_FLAG_C1_IN_FINAL_CHARACTER_PARADE) && gcparade_8031B4F4() == -2){
|
||||
func_8038DDC8(this);
|
||||
}
|
||||
@@ -121,13 +121,13 @@ void func_8038E094(Actor *this){
|
||||
}
|
||||
}
|
||||
}//L8038E180
|
||||
if(this->unk100){
|
||||
sp38 = marker_getActor(this->unk100);
|
||||
if(this->partnerActor){
|
||||
sp38 = marker_getActor(this->partnerActor);
|
||||
if(sp38->unk1C[1] == 1.0f){
|
||||
if(this->unkF4_8 == 1 && !fileProgressFlag_get(FILEPROG_13_COMPLETED_TWINKLIES_MINIGAME)){
|
||||
if(this->actorTypeSpecificField == 1 && !fileProgressFlag_get(FILEPROG_13_COMPLETED_TWINKLIES_MINIGAME)){
|
||||
if(this->state != 6 && this->state != 7 && 0.0f == this->velocity[0]){
|
||||
timed_setStaticCameraToNode(0.5f, 0xd);
|
||||
gcdialog_showText(ASSET_C15_DIALOG_TWINKLIE_MINIGAME_LOST, 0x2b, this->position, this->marker, func_8038E040, NULL);
|
||||
gcdialog_showDialog(ASSET_C15_DIALOG_TWINKLIE_MINIGAME_LOST, 0x2b, this->position, this->marker, func_8038E040, NULL);
|
||||
this->velocity[0] = 1.0f;
|
||||
subaddie_set_state_with_direction(this, 6, 0.03f, 1);
|
||||
actor_loopAnimation(this);
|
||||
@@ -173,10 +173,10 @@ void func_8038E094(Actor *this){
|
||||
}
|
||||
|
||||
if(actor_animationIsAt(this, 0.15f))
|
||||
FUNC_8030E8B4(SFX_C5_TWINKLY_POP, 1.0f, 32000, this->position, 1250, 2500);
|
||||
sfx_playFadeShorthandDefault(SFX_C5_TWINKLY_POP, 1.0f, 32000, this->position, 1250, 2500);
|
||||
|
||||
if(actor_animationIsAt(this, 0.35f))
|
||||
FUNC_8030E8B4(SFX_C4_TWINKLY_MUNCHER_GRR, 1.2f, 32000, this->position, 1250, 2500);
|
||||
sfx_playFadeShorthandDefault(SFX_C4_TWINKLY_MUNCHER_GRR, 1.2f, 32000, this->position, 1250, 2500);
|
||||
|
||||
if(actor_animationIsAt(this, 0.97f))
|
||||
func_8038DE08(this);
|
||||
@@ -197,11 +197,11 @@ void func_8038E094(Actor *this){
|
||||
if(sp38 && sp38->marker->id == this->unk38_31){
|
||||
if(actor_animationIsAt(this, 0.23)){
|
||||
func_8038C398(sp38->position, sp38->marker->id);
|
||||
FUNC_8030E8B4(SFX_110_TWINKLY_DEATH, 1.0f, 32000, this->position, 1250, 2500);
|
||||
FUNC_8030E8B4(SFX_27_JINJO_HI, 1.6f, 32000, this->position, 1250, 2500);
|
||||
sfx_playFadeShorthandDefault(SFX_110_TWINKLY_DEATH, 1.0f, 32000, this->position, 1250, 2500);
|
||||
sfx_playFadeShorthandDefault(SFX_27_JINJO_HI, 1.6f, 32000, this->position, 1250, 2500);
|
||||
func_80324D54(0.35f, SFX_110_TWINKLY_DEATH, 1.0f, 32000, this->position, 1250.0f, 2500.0f);
|
||||
marker_despawn(sp38->marker);
|
||||
if( !mapSpecificFlags_get(0xa) && gcdialog_showText(0xc16, 0, NULL, NULL, NULL, NULL)){
|
||||
if( !mapSpecificFlags_get(0xa) && gcdialog_showDialog(0xc16, 0, NULL, NULL, NULL, NULL)){
|
||||
mapSpecificFlags_set(0xa, TRUE);
|
||||
}
|
||||
}
|
||||
|
@@ -101,7 +101,7 @@ void func_8038F41C(Actor *this){
|
||||
}
|
||||
|
||||
void func_8038F454(Actor *this){
|
||||
if(!mapSpecificFlags_get(7) && player_movementGroup() != BSGROUP_A_FLYING && func_80329530(this, 1000) ){
|
||||
if(!mapSpecificFlags_get(7) && player_movementGroup() != BSGROUP_A_FLYING && subaddie_playerIsWithinSphereAndActive(this, 1000) ){
|
||||
mapSpecificFlags_set(7, TRUE);
|
||||
subaddie_set_state(this, 2);
|
||||
actor_loopAnimation(this);
|
||||
@@ -136,7 +136,7 @@ bool func_8038F5D4(Actor *this, f32 arg1[3], f32 arg2, f32 arg3, s32 arg4){
|
||||
this->yaw_ideal = (f32) func_803297C8(this, arg1);
|
||||
func_80328FB0(this, arg3);
|
||||
if(actor_animationIsAt(this, 0.9f)){
|
||||
FUNC_8030E8B4(SFX_3F2_UNKNOWN, 0.8f, 24000, this->position, 500, 2000);
|
||||
sfx_playFadeShorthandDefault(SFX_3F2_UNKNOWN, 0.8f, 24000, this->position, 500, 2000);
|
||||
}
|
||||
this->actor_specific_1_f = (1.0f- sp24)*arg2;
|
||||
func_80329054(this, 2);
|
||||
@@ -164,8 +164,8 @@ void FP_func_8038F758(ActorMarker *marker){
|
||||
s32 pad;
|
||||
|
||||
jiggy->yaw = this->yaw;
|
||||
this->unk100 = jiggy->marker;
|
||||
jiggy->unk100 = this->marker;
|
||||
this->partnerActor = jiggy->marker;
|
||||
jiggy->partnerActor = this->marker;
|
||||
|
||||
}
|
||||
|
||||
@@ -222,13 +222,13 @@ void FP_func_8038F7AC(Actor *this){
|
||||
break;
|
||||
}
|
||||
|
||||
if(func_80329530(this, 1300) && player_getTransformation() == TRANSFORM_4_WALRUS){
|
||||
if(subaddie_playerIsWithinSphereAndActive(this, 1300) && player_getTransformation() == TRANSFORM_4_WALRUS){
|
||||
subaddie_set_state_with_direction(this, 8, 0.02f, 1);
|
||||
actor_loopAnimation(this);
|
||||
break;
|
||||
}
|
||||
|
||||
if(func_80329530(this, 1000) && !volatileFlag_get(VOLATILE_FLAG_1F_IN_CHARACTER_PARADE)){
|
||||
if(subaddie_playerIsWithinSphereAndActive(this, 1000) && !volatileFlag_get(VOLATILE_FLAG_1F_IN_CHARACTER_PARADE)){
|
||||
func_8038F454(this);
|
||||
break;
|
||||
}
|
||||
@@ -246,7 +246,7 @@ void FP_func_8038F7AC(Actor *this){
|
||||
break;
|
||||
|
||||
case 4: //L8038FAD0
|
||||
if(!func_80329530(this, 2000) && player_movementGroup() != BSGROUP_A_FLYING){
|
||||
if(!subaddie_playerIsWithinSphereAndActive(this, 2000) && player_movementGroup() != BSGROUP_A_FLYING){
|
||||
func_8038F560(this);
|
||||
break;
|
||||
}
|
||||
@@ -267,13 +267,13 @@ void FP_func_8038F7AC(Actor *this){
|
||||
|
||||
case 6: //L8038FBA8
|
||||
FP_func_8038F6C4(this, local->unk18, 1.0f);
|
||||
if( func_80329530(this, 1700) ) break;
|
||||
if( subaddie_playerIsWithinSphereAndActive(this, 1700) ) break;
|
||||
if( player_movementGroup() == BSGROUP_A_FLYING ) break;
|
||||
|
||||
func_8038F560(this);
|
||||
|
||||
if(!local->unk30){
|
||||
if(gcdialog_showText(0xc1d, 0x20, NULL, NULL, NULL, NULL)){
|
||||
if(gcdialog_showDialog(0xc1d, 0x20, NULL, NULL, NULL, NULL)){
|
||||
local->unk30 = TRUE;
|
||||
}
|
||||
}
|
||||
@@ -283,7 +283,7 @@ void FP_func_8038F7AC(Actor *this){
|
||||
if(!FP_func_8038F6C4(this, local->unkC, 4.5f))
|
||||
break;
|
||||
|
||||
if(func_80329530(this, 1000) || player_movementGroup() == BSGROUP_A_FLYING){
|
||||
if(subaddie_playerIsWithinSphereAndActive(this, 1000) || player_movementGroup() == BSGROUP_A_FLYING){
|
||||
func_8038F528(this);
|
||||
break;
|
||||
}
|
||||
@@ -299,8 +299,8 @@ void FP_func_8038F7AC(Actor *this){
|
||||
break;
|
||||
}
|
||||
|
||||
if(func_80329530(this, 500) && !this->has_met_before){
|
||||
if(gcdialog_showText(0xc1c, 0xAA, this->position, this->marker, func_8038F330, func_8038F3C4)){
|
||||
if(subaddie_playerIsWithinSphereAndActive(this, 500) && !this->has_met_before){
|
||||
if(gcdialog_showDialog(0xc1c, 0xAA, this->position, this->marker, func_8038F330, func_8038F3C4)){
|
||||
timed_setStaticCameraToNode(0.0f, 0x2E);
|
||||
this->has_met_before = TRUE;
|
||||
}
|
||||
@@ -317,13 +317,13 @@ void FP_func_8038F7AC(Actor *this){
|
||||
|
||||
func_8038F598(this, 2.0f);
|
||||
|
||||
if(!func_803114B0()){
|
||||
if(!gcdialog_hasCurrentTextId()){
|
||||
if( actor_animationIsAt(this, 0.02f)
|
||||
|| actor_animationIsAt(this, 0.14f)
|
||||
|| actor_animationIsAt(this, 0.28f)
|
||||
|| actor_animationIsAt(this, 0.42f)
|
||||
){
|
||||
FUNC_8030E8B4(SFX_88_WOZZA_NOISE, 1.0f, 32000, this->position, 500, 2000);
|
||||
sfx_playFadeShorthandDefault(SFX_88_WOZZA_NOISE, 1.0f, 32000, this->position, 500, 2000);
|
||||
}
|
||||
}
|
||||
break;
|
||||
|
@@ -47,8 +47,8 @@ void func_8038FF54(Actor *this){
|
||||
|
||||
this->marker->propPtr->unk8_3 = FALSE;
|
||||
actor_collisionOff(this);
|
||||
if(this->unk100){
|
||||
other = marker_getActor(this->unk100);
|
||||
if(this->partnerActor){
|
||||
other = marker_getActor(this->partnerActor);
|
||||
if(this->state != 9){
|
||||
if(other->state == 9){
|
||||
subaddie_set_state_with_direction(this, 9, 0.01f, 1);
|
||||
|
@@ -43,7 +43,7 @@ void __chXmasTree_80386F3C(void){
|
||||
levelSpecificFlags_set(LEVEL_FLAG_29_FP_UNKNOWN, TRUE);
|
||||
func_803228D8();
|
||||
volatileFlag_set(VOLATILE_FLAG_E, 1);
|
||||
func_802E4078(MAP_53_FP_CHRISTMAS_TREE, 1, 0);
|
||||
transitionToMap(MAP_53_FP_CHRISTMAS_TREE, 1, 0);
|
||||
}
|
||||
|
||||
void __chXmasTree_80386F84(Actor * this){
|
||||
@@ -67,9 +67,9 @@ void __chXmasTree_spawnStar(void *marker){
|
||||
|
||||
void __chXmasTree_80387038(Actor *this){
|
||||
if(func_8030E3FC(this->unk44_31))
|
||||
func_8030E394(this->unk44_31);
|
||||
sfxSource_triggerCallbackByIndex(this->unk44_31);
|
||||
sfxsource_playSfxAtVolume(this->unk44_31, randf2(0.9f, 1.1f));
|
||||
func_8030E2C4(this->unk44_31);
|
||||
sfxSource_func_8030E2C4(this->unk44_31);
|
||||
}
|
||||
|
||||
void __chXmasTree_8038709C(Actor *this){
|
||||
@@ -95,7 +95,7 @@ void chXmasTree_update(Actor *this){
|
||||
if(this->unk44_31 == 0){
|
||||
this->unk44_31 = sfxsource_createSfxsourceAndReturnIndex();
|
||||
sfxsource_setSfxId(this->unk44_31, SFX_415_UNKNOWN);
|
||||
func_8030DD14(this->unk44_31, 3);
|
||||
sfxSource_setunk43_7ByIndex(this->unk44_31, 3);
|
||||
sfxsource_setSampleRate(this->unk44_31, 28000);
|
||||
}
|
||||
__spawnQueue_add_0(__chXmasTree_spawnSwitch);
|
||||
@@ -126,9 +126,9 @@ void chXmasTree_update(Actor *this){
|
||||
|
||||
subaddie_set_state(this, 3);
|
||||
this->lifetime_value = 2.0f;
|
||||
func_8025A6EC(COMUSIC_61_XMAS_TREE_LIGHTS_UP, 28000);
|
||||
func_802BAFE4(0x1A);
|
||||
gcdialog_showText(0xC14, 0, NULL, NULL, NULL, NULL);
|
||||
coMusicPlayer_playMusic(COMUSIC_61_XMAS_TREE_LIGHTS_UP, 28000);
|
||||
gcStaticCamera_activate(0x1A);
|
||||
gcdialog_showDialog(0xC14, 0, NULL, NULL, NULL, NULL);
|
||||
break;
|
||||
|
||||
case 3: // L803872F0
|
||||
@@ -178,8 +178,8 @@ void chXmasTree_update(Actor *this){
|
||||
this->lifetime_value = 0.1f;
|
||||
if(!maSlalom_isActive()){
|
||||
if(!mapSpecificFlags_get(9) || mapSpecificFlags_get(1)){
|
||||
func_8025A6EC(COMUSIC_3C_MINIGAME_LOSS, 28000);
|
||||
func_802BAFE4(0x1a);
|
||||
coMusicPlayer_playMusic(COMUSIC_3C_MINIGAME_LOSS, 28000);
|
||||
gcStaticCamera_activate(0x1a);
|
||||
this->lifetime_value = 2.0f;
|
||||
}
|
||||
}
|
||||
|
@@ -61,7 +61,7 @@ void func_80390D58(f32 position[3]){
|
||||
|
||||
void func_80390E78(ActorMarker *this_marker, ActorMarker *other_marker){
|
||||
Actor *this = marker_getActor(this_marker);
|
||||
FUNC_8030E8B4(SFX_96_HOTSAND_EEL_HISS, 1.0f, 32000, this->position, 1000, 2000);
|
||||
sfx_playFadeShorthandDefault(SFX_96_HOTSAND_EEL_HISS, 1.0f, 32000, this->position, 1000, 2000);
|
||||
}
|
||||
|
||||
void func_80390EB0(Actor *this){
|
||||
@@ -71,7 +71,7 @@ void func_80390EB0(Actor *this){
|
||||
marker_setCollisionScripts(this->marker, func_80390E78, NULL, NULL);
|
||||
}
|
||||
|
||||
if(viewport_func_8024DB50(this->position, 150.0f) || func_80329530(this, 1200))
|
||||
if(viewport_func_8024DB50(this->position, 150.0f) || subaddie_playerIsWithinSphereAndActive(this, 1200))
|
||||
{
|
||||
if( !(globalTimer_getTime() & 3) && randf() < 0.2){
|
||||
func_80390C70(this->position);
|
||||
|
@@ -38,7 +38,7 @@ void func_80390944(f32 position[3], s32 cnt, enum asset_e model_id){
|
||||
particleEmitter_setScaleAndLifetimeRanges(pCtrl, &D_80392754);
|
||||
particleEmitter_func_802EF9F8(pCtrl, 0.6f);
|
||||
particleEmitter_func_802EFA18(pCtrl, 0);
|
||||
func_802EFA20(pCtrl, 1.0f, 1.3f);
|
||||
particleEmitter_func_802EFA20(pCtrl, 1.0f, 1.3f);
|
||||
particleEmitter_setSfx(pCtrl, SFX_7B_ICE_BREAKING_1, 8000);
|
||||
particleEmitter_emitN(pCtrl, cnt);
|
||||
}
|
||||
@@ -65,14 +65,14 @@ void func_80390ABC(ActorMarker *marker){
|
||||
func_80390944(this->position, 0xA, 0x4D3);
|
||||
func_80390A30(this->position, 6, ASSET_700_SPRITE_DUST);
|
||||
func_8030E6D4(SFX_B6_GLASS_BREAKING_1);
|
||||
func_8025A6EC(COMUSIC_2D_PUZZLE_SOLVED_FANFARE, 28000);
|
||||
coMusicPlayer_playMusic(COMUSIC_2D_PUZZLE_SOLVED_FANFARE, 28000);
|
||||
this->unk38_31 = 1;
|
||||
}
|
||||
|
||||
void func_80390B2C(ActorMarker *marker){
|
||||
Actor *this = marker_getActor(marker);
|
||||
func_803228D8();
|
||||
func_802E4078(MAP_27_FP_FREEZEEZY_PEAK, 0xd, 0);
|
||||
transitionToMap(MAP_27_FP_FREEZEEZY_PEAK, 0xd, 0);
|
||||
marker_despawn(this->marker);
|
||||
}
|
||||
|
||||
|
@@ -42,7 +42,7 @@ void func_8038EC5C(Actor *this){
|
||||
this->unk38_31++;
|
||||
this->lifetime_value = 0.33f;
|
||||
if(this->unk38_31 < 4){
|
||||
func_8025A6EC(COMUSIC_2B_DING_B, 28000);
|
||||
coMusicPlayer_playMusic(COMUSIC_2B_DING_B, 28000);
|
||||
}
|
||||
|
||||
}
|
||||
|
@@ -40,7 +40,7 @@ void func_8038E7CC(ActorMarker *this_marker, ActorMarker *other_marker){
|
||||
if(this->state == 2){
|
||||
this->unk38_31++;
|
||||
if(this->unk38_31 < 4){
|
||||
func_8025A6EC(COMUSIC_2B_DING_B, 28000);
|
||||
coMusicPlayer_playMusic(COMUSIC_2B_DING_B, 28000);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@@ -127,7 +127,7 @@ void func_803881AC(Actor *this){
|
||||
if(0.0f == this->velocity_x)
|
||||
return;
|
||||
}else{
|
||||
if(!func_80329530(this, 2000) && !maSlolam_WithinRadiusOfBoggy(this->position, 2000))
|
||||
if(!subaddie_playerIsWithinSphereAndActive(this, 2000) && !maSlolam_WithinRadiusOfBoggy(this->position, 2000))
|
||||
return;
|
||||
this->marker->collidable = TRUE;
|
||||
this->unk124_6 = TRUE;
|
||||
@@ -142,11 +142,11 @@ void func_803881AC(Actor *this){
|
||||
}
|
||||
|
||||
if( 1.0f == this->velocity_x && func_80387EE4(this)){
|
||||
func_8025A6EC(COMUSIC_2B_DING_B, 28000);
|
||||
maSlalom_setPlayerGate(this->unkF4_8);
|
||||
coMusicPlayer_playMusic(COMUSIC_2B_DING_B, 28000);
|
||||
maSlalom_setPlayerGate(this->actorTypeSpecificField);
|
||||
}
|
||||
|
||||
if(func_80388000(this)){
|
||||
maSlalom_setBoggyGate(this->unkF4_8);
|
||||
maSlalom_setBoggyGate(this->actorTypeSpecificField);
|
||||
}
|
||||
}
|
||||
|
@@ -70,7 +70,7 @@ void func_80388584(Actor *this){
|
||||
}
|
||||
}
|
||||
else{//L80388694
|
||||
if(!func_80329530(this, 2000)&& !maSlolam_WithinRadiusOfBoggy(this->position, 2000))
|
||||
if(!subaddie_playerIsWithinSphereAndActive(this, 2000)&& !maSlolam_WithinRadiusOfBoggy(this->position, 2000))
|
||||
return;
|
||||
this->marker->collidable = TRUE;
|
||||
this->unk124_6 = TRUE;
|
||||
|
@@ -35,6 +35,6 @@ void func_8039195C(void){
|
||||
void func_80391994(void){
|
||||
if(map_get() == MAP_7F_FP_WOZZAS_CAVE){
|
||||
func_8030DB04(Me.sound, 22000, Me.position, 400.0f, 1200.0f);
|
||||
func_8030E2C4(Me.sound);
|
||||
sfxSource_func_8030E2C4(Me.sound);
|
||||
}
|
||||
}
|
||||
|
@@ -107,8 +107,8 @@ void __maSlalom_spawnGate(s32 indx, s32 arg1){
|
||||
a1->unk38_31 = 1;
|
||||
a2->unk38_31 = 1;
|
||||
|
||||
a1->unkF4_8 = indx + 1;
|
||||
a2->unkF4_8 = indx + 1;
|
||||
a1->actorTypeSpecificField = indx + 1;
|
||||
a2->actorTypeSpecificField = indx + 1;
|
||||
|
||||
meActiveFlags[indx].marker = a1->marker;
|
||||
meDummyFlags[indx].marker = a2->marker;
|
||||
@@ -279,7 +279,7 @@ void maSlalom_win(void){
|
||||
player_stateTimer_set(STATE_TIMER_3_TURBO_TALON, 2.0f);
|
||||
}
|
||||
func_8028F918(1);
|
||||
func_8025A6EC(COMUSIC_3B_MINIGAME_VICTORY, 28000);
|
||||
coMusicPlayer_playMusic(COMUSIC_3B_MINIGAME_VICTORY, 28000);
|
||||
FP_func_8038AB60(0);
|
||||
func_8038ABDC();
|
||||
timed_setStaticCameraToNode(0.0f, 1);
|
||||
@@ -293,7 +293,7 @@ void maSlalom_lose(void){
|
||||
pntBoggy = marker_getActor(Me.boggyLink);
|
||||
|
||||
pntBoggy->unk38_31 = 1;
|
||||
func_8025A6EC(COMUSIC_3C_MINIGAME_LOSS, 28000);
|
||||
coMusicPlayer_playMusic(COMUSIC_3C_MINIGAME_LOSS, 28000);
|
||||
FP_func_8038AB60(0);
|
||||
func_8038ABDC();
|
||||
if(!jiggyscore_isCollected(JIGGY_30_FP_BOGGY_2)){
|
||||
@@ -407,7 +407,7 @@ void maSlalom_linkActiveFlag(ActorMarker *marker){
|
||||
Actor *actor = marker_getActor(marker);
|
||||
s32 num;
|
||||
|
||||
num = actor->unkF4_8 - 1;
|
||||
num = actor->actorTypeSpecificField - 1;
|
||||
if(num < NUM_GATES){
|
||||
meActiveFlags[num].marker = actor->marker;
|
||||
meActiveFlags[num].position[0] = actor->position[0];
|
||||
@@ -421,7 +421,7 @@ void maSlalom_linkDummyFlag(ActorMarker *marker){
|
||||
Actor *actor = marker_getActor(marker);
|
||||
s32 num;
|
||||
|
||||
num = actor->unkF4_8 - 1;
|
||||
num = actor->actorTypeSpecificField - 1;
|
||||
if(num < NUM_GATES){
|
||||
meDummyFlags[num].marker = actor->marker;
|
||||
meDummyFlags[num].position[0] = actor->position[0];
|
||||
@@ -538,7 +538,7 @@ void maSlalom_setBoggyGate(s32 gate_num){
|
||||
FP_func_8038AB60(0);
|
||||
if(!player_isDead()){
|
||||
func_8028F918(2);
|
||||
gcdialog_showText(0xc10, 0x20, NULL, NULL, maSlalom_dialogCallback, NULL);
|
||||
gcdialog_showDialog(0xc10, 0x20, NULL, NULL, maSlalom_dialogCallback, NULL);
|
||||
}//L8038BD40
|
||||
Me.state = MA_SLALOM_STATE_4_LOSE;
|
||||
break;
|
||||
@@ -546,7 +546,7 @@ void maSlalom_setBoggyGate(s32 gate_num){
|
||||
case 3:
|
||||
if(!Me.hasBeenThreeBehind && !player_isDead()){
|
||||
Me.hasBeenThreeBehind = 1;
|
||||
gcdialog_showText(0xc0f, 0x20, NULL, NULL, NULL, NULL);
|
||||
gcdialog_showDialog(0xc0f, 0x20, NULL, NULL, NULL, NULL);
|
||||
}//L8038BD94
|
||||
func_8025AEA0(0x3a, 0x411aa);
|
||||
break;
|
||||
@@ -554,7 +554,7 @@ void maSlalom_setBoggyGate(s32 gate_num){
|
||||
case 2:
|
||||
if(!Me.hasBeenTwoBehind && !player_isDead()){
|
||||
Me.hasBeenTwoBehind = 1;
|
||||
gcdialog_showText(0xc0e, 0x20, NULL, NULL, NULL, NULL);
|
||||
gcdialog_showDialog(0xc0e, 0x20, NULL, NULL, NULL, NULL);
|
||||
}//L8038BDF0
|
||||
func_8025AEA0(0x3a, 0x493e0);
|
||||
break;
|
||||
|
@@ -47,7 +47,7 @@ void maSnowButton_update(void){
|
||||
case MA_SNOW_BUTTON_STATE_1_ACTIVE:
|
||||
if(Me.remainingButtonCount <= 0){
|
||||
Me.state = MA_SNOW_BUTTON_STATE_2_WIN;
|
||||
func_8025A6EC(COMUSIC_2D_PUZZLE_SOLVED_FANFARE, 28000);
|
||||
coMusicPlayer_playMusic(COMUSIC_2D_PUZZLE_SOLVED_FANFARE, 28000);
|
||||
Me.delay = 0;
|
||||
}
|
||||
break;
|
||||
@@ -56,7 +56,7 @@ void maSnowButton_update(void){
|
||||
if(!(Me.delay < 30)){
|
||||
|
||||
if(Me.jiggySpawnerExists){
|
||||
func_802BAFE4(0x11);
|
||||
gcStaticCamera_activate(0x11);
|
||||
jiggy_spawn(JIGGY_2D_FP_SNOWMAN_BUTTONS, Me.spawn_pos);
|
||||
__spawnQueue_add_4((GenFunction_4)spawnQueue_actor_f32, ACTOR_4C_STEAM,
|
||||
reinterpret_cast(s32, Me.spawn_pos[0]),
|
||||
|
@@ -58,7 +58,7 @@ void maSnowy_update(void){
|
||||
case MA_SNOWY_STATE_2_WIN:
|
||||
if(Me.delay >= 75){
|
||||
if(Me.jiggySpawnerExists){
|
||||
func_802BAFE4(0x12);
|
||||
gcStaticCamera_activate(0x12);
|
||||
jiggy_spawn(JIGGY_31_FP_SIR_SLUSH, Me.spawn_pos);
|
||||
__spawnQueue_add_4((GenFunction_4)spawnQueue_actor_f32, ACTOR_4C_STEAM,
|
||||
reinterpret_cast(s32, Me.spawn_pos[0]),
|
||||
|
@@ -65,9 +65,9 @@ void func_80386620(Actor *this){
|
||||
D_80390C28[phi_s1 + 1] = D_80390C28[phi_s1 + 2];
|
||||
D_80390C28[phi_s1 + 2] = temp_a0;
|
||||
temp_v0_3 = marker_getActor(D_80390C28[phi_s1 + 1]);
|
||||
temp_v0_3->unkF4_8 = phi_s1 + 2;
|
||||
temp_v0_3->actorTypeSpecificField = phi_s1 + 2;
|
||||
temp_v0_3 = marker_getActor(D_80390C28[phi_s1 + 2]);
|
||||
temp_v0_3->unkF4_8 = phi_s1 + 3;
|
||||
temp_v0_3->actorTypeSpecificField = phi_s1 + 3;
|
||||
}
|
||||
phi_s1 = (phi_s1 == 2) ? 0 : phi_s1 + 1;
|
||||
phi_s2 <<= 1;
|
||||
@@ -86,7 +86,7 @@ void func_803867CC(void){
|
||||
|
||||
void func_803867F4(void){
|
||||
f32 sp24[3];
|
||||
func_802BAFE4(4);
|
||||
gcStaticCamera_activate(4);
|
||||
if(nodeProp_findPositionFromActorId(0x148, sp24)){
|
||||
jiggy_spawn(JIGGY_46_GV_ANCIENT_ONES, sp24);
|
||||
__spawnQueue_add_4((GenFunction_4)spawnQueue_actor_f32, 0x4C, reinterpret_cast(s32, sp24[0]), reinterpret_cast(s32, sp24[1]), reinterpret_cast(s32, sp24[2]));
|
||||
@@ -98,7 +98,7 @@ void func_80386850(ActorMarker *caller_marker, enum asset_e text_id, s32 arg2){
|
||||
if(text_id == 0xA80){
|
||||
subaddie_set_state_with_direction(caller, 2, 0.0f, 1);
|
||||
actor_playAnimationOnce(caller);
|
||||
func_8025A6EC(COMUSIC_2D_PUZZLE_SOLVED_FANFARE, 0x7fff);
|
||||
coMusicPlayer_playMusic(COMUSIC_2D_PUZZLE_SOLVED_FANFARE, 0x7fff);
|
||||
timedFunc_set_0(1.0f, func_803867F4);
|
||||
}
|
||||
}
|
||||
@@ -119,13 +119,13 @@ void chAncientOne_update(Actor *this){
|
||||
}
|
||||
}
|
||||
if(!this->initialized){
|
||||
if(D_80390C28[this->unkF4_8 - 1])
|
||||
if(D_80390C28[this->actorTypeSpecificField - 1])
|
||||
return;
|
||||
|
||||
LOCAL_CH_ANCIENT_ONE(this)->unk1C = this->position_y;
|
||||
this->position_y -= 1100.0f;
|
||||
D_80390C28[this->unkF4_8 - 1] = this->marker;
|
||||
if(this->unkF4_8 != 1){
|
||||
D_80390C28[this->actorTypeSpecificField - 1] = this->marker;
|
||||
if(this->actorTypeSpecificField != 1){
|
||||
this->marker->propPtr->unk8_4 = FALSE;
|
||||
}
|
||||
this->marker->propPtr->unk8_3 = TRUE;
|
||||
@@ -144,12 +144,12 @@ void chAncientOne_update(Actor *this){
|
||||
this->position_y = LOCAL_CH_ANCIENT_ONE(this)->unk1C;
|
||||
if( sp40 == (LOCAL_CH_ANCIENT_ONE(this)->unk4_31 ^ 1)){
|
||||
if((sp44[0]*sp44[0] + sp44[1]*sp44[1] + sp44[2]*sp44[2]) < (f32)LOCAL_CH_ANCIENT_ONE(this)->unk4_30){
|
||||
func_8025A6EC(COMUSIC_2B_DING_B, 28000);
|
||||
coMusicPlayer_playMusic(COMUSIC_2B_DING_B, 28000);
|
||||
for(sp38= 7; sp38< 0xC && mapSpecificFlags_get(sp38);sp38++);
|
||||
mapSpecificFlags_set(sp38, TRUE);
|
||||
if(sp38== 0xB){
|
||||
if(!jiggyscore_isCollected(JIGGY_46_GV_ANCIENT_ONES)){
|
||||
gcdialog_showText(ASSET_A80_DIALOG_ANICIENT_ONES_DONE, 0xE, NULL, this->marker, func_80386850, NULL);
|
||||
gcdialog_showDialog(ASSET_A80_DIALOG_ANICIENT_ONES_DONE, 0xE, NULL, this->marker, func_80386850, NULL);
|
||||
}
|
||||
else{
|
||||
func_80386850(this->marker, 0xA80, -1);
|
||||
@@ -158,15 +158,16 @@ void chAncientOne_update(Actor *this){
|
||||
else {
|
||||
if(sp38== 7){
|
||||
if(!jiggyscore_isCollected(JIGGY_46_GV_ANCIENT_ONES)){
|
||||
gcdialog_showText(ASSET_A7F_DIALOG_ANICIENT_ONES_MEET, 0x4, NULL, NULL, NULL, NULL);
|
||||
gcdialog_showDialog(ASSET_A7F_DIALOG_ANICIENT_ONES_MEET, 0x4, NULL, NULL, NULL, NULL);
|
||||
}
|
||||
}
|
||||
|
||||
subaddie_set_state_with_direction(this, 2, 0.0f, 1);
|
||||
actor_playAnimationOnce(this);
|
||||
if(this->unkF4_8 < 5){
|
||||
D_80390C28[this->unkF4_8]->propPtr->unk8_4 = TRUE;
|
||||
func_802BAFE4(GV_D_80390C20[this->unkF4_8 - 1]);
|
||||
|
||||
if(this->actorTypeSpecificField < 5){
|
||||
D_80390C28[this->actorTypeSpecificField]->propPtr->unk8_4 = TRUE;
|
||||
gcStaticCamera_activate(GV_D_80390C20[this->actorTypeSpecificField - 1]);
|
||||
core1_7090_initSfxSource(2, 0x86, 0x7ff8, 0.3f);
|
||||
timedFunc_set_0(0.45f, func_8038678C);
|
||||
|
||||
@@ -181,7 +182,7 @@ void chAncientOne_update(Actor *this){
|
||||
this->position_y += 18.0;
|
||||
this->position_x += (sp38 & 1) ? 0x17 : -0x17;
|
||||
this->position_z += (sp38 & 2) ? 0xC : -0xC;
|
||||
if(this->unkF4_8 != 1){
|
||||
if(this->actorTypeSpecificField != 1){
|
||||
if(sp38 == 6){
|
||||
__spawnQueue_add_4((GenFunction_4)spawnQueue_actor_f32, 0x4C, reinterpret_cast(s32, this->position_x), reinterpret_cast(s32, sp34), reinterpret_cast(s32, this->position_z));
|
||||
}
|
||||
|
@@ -63,7 +63,7 @@ void chGobi1_setState(Actor *this, s32 next_state){
|
||||
}
|
||||
|
||||
if(this->state == 6){
|
||||
FUNC_8030E8B4(SFX_84_GOBI_CRYING, 0.9f, 20000, this->position, 1500, 2500);
|
||||
sfx_playFadeShorthandDefault(SFX_84_GOBI_CRYING, 0.9f, 20000, this->position, 1500, 2500);
|
||||
skeletalAnim_set(this->unk148, 0x241, 0.2f, 0.5f);
|
||||
}
|
||||
}
|
||||
@@ -140,14 +140,14 @@ void chGobi1_update(Actor *this){
|
||||
sp6C = 5;
|
||||
|
||||
if(ml_timer_update(&local->unkC, tick))
|
||||
FUNC_8030E8B4(SFX_84_GOBI_CRYING, 0.9f, 32000, this->position, 1500, 2500);
|
||||
sfx_playFadeShorthandDefault(SFX_84_GOBI_CRYING, 0.9f, 32000, this->position, 1500, 2500);
|
||||
|
||||
if(ml_timer_update(&local->unk10, tick)){
|
||||
for(i = 0; i < 2; i++){
|
||||
sfxsource_setSfxId(local->unk0[i], SFX_3F9_UNKNOWN);
|
||||
func_8030DD14(local->unk0[i], 3);
|
||||
sfxSource_setunk43_7ByIndex(local->unk0[i], 3);
|
||||
sfxsource_setSampleRate(local->unk0[i], 32000);
|
||||
func_8030E2C4(local->unk0[i]);
|
||||
sfxSource_func_8030E2C4(local->unk0[i]);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -177,10 +177,10 @@ void chGobi1_update(Actor *this){
|
||||
|
||||
if(this->state == 1 || this->state == 2){
|
||||
if( !this->has_met_before
|
||||
&& func_80329530(this, 250)
|
||||
&& !func_80329530(this, 80)
|
||||
&& subaddie_playerIsWithinSphereAndActive(this, 250)
|
||||
&& !subaddie_playerIsWithinSphereAndActive(this, 80)
|
||||
&& func_8028F2A0()
|
||||
&& gcdialog_showText(0xa73, 0, NULL, NULL, NULL, NULL)
|
||||
&& gcdialog_showDialog(0xa73, 0, NULL, NULL, NULL, NULL)
|
||||
){
|
||||
this->has_met_before = TRUE;
|
||||
}
|
||||
|
@@ -108,7 +108,7 @@ void chGobi2_setState(Actor *this, s32 next_state){
|
||||
}
|
||||
|
||||
if(next_state == 8){
|
||||
FUNC_8030E8B4(SFX_84_GOBI_CRYING, 0.9f, 20000, this->position, 1500, 2500);
|
||||
sfx_playFadeShorthandDefault(SFX_84_GOBI_CRYING, 0.9f, 20000, this->position, 1500, 2500);
|
||||
skeletalAnim_set(this->unk148, ASSET_242_ANIM_GOBI_RELAXING, 0.2f, 0.5f);
|
||||
}
|
||||
|
||||
@@ -201,9 +201,9 @@ void chGobi2_update(Actor *this){
|
||||
|
||||
if(this->state == 2){
|
||||
if(!this->has_met_before){
|
||||
if(func_80329530(this, 0xFA) && !func_80329530(this, 0x50)){
|
||||
if(subaddie_playerIsWithinSphereAndActive(this, 0xFA) && !subaddie_playerIsWithinSphereAndActive(this, 0x50)){
|
||||
if(func_8028F2A0()){
|
||||
if(gcdialog_showText(ASSET_A75_DIALOG_GOBI2_MEET, 0, this->position, NULL, NULL, NULL))
|
||||
if(gcdialog_showDialog(ASSET_A75_DIALOG_GOBI2_MEET, 0, this->position, NULL, NULL, NULL))
|
||||
this->has_met_before = TRUE;
|
||||
}
|
||||
}
|
||||
|
@@ -72,7 +72,7 @@ void chGobi3_setState(Actor *this, s32 next_state){
|
||||
|
||||
if(next_state == 5){
|
||||
skeletalAnim_set(this->unk148, 0xd9, 0.5f, 4.0f);
|
||||
gcdialog_showText(ASSET_A77_DIALOG_GOBI3_DONE, 0xe, this->position, this->marker, __chGobi3_runaway, NULL);
|
||||
gcdialog_showDialog(ASSET_A77_DIALOG_GOBI3_DONE, 0xe, this->position, this->marker, __chGobi3_runaway, NULL);
|
||||
}
|
||||
|
||||
if(next_state == 4){
|
||||
@@ -85,7 +85,7 @@ void chGobi3_setState(Actor *this, s32 next_state){
|
||||
}
|
||||
|
||||
if(next_state == 7){
|
||||
FUNC_8030E8B4(SFX_84_GOBI_CRYING, 0.9f, 20000, this->position, 1500, 2500);
|
||||
sfx_playFadeShorthandDefault(SFX_84_GOBI_CRYING, 0.9f, 20000, this->position, 1500, 2500);
|
||||
skeletalAnim_set(this->unk148, ASSET_242_ANIM_GOBI_RELAXING, 0.2f, 0.5f);
|
||||
}
|
||||
|
||||
|
@@ -41,7 +41,7 @@ void __chGobiRock_setState(Actor *this, s32 next_state){
|
||||
FUNC_8030E624(SFX_9B_BOULDER_BREAKING_1, 0.5f, 9000);
|
||||
FUNC_8030E624(SFX_9B_BOULDER_BREAKING_1, 0.7f, 9000);
|
||||
FUNC_8030E624(SFX_9B_BOULDER_BREAKING_1, 0.9f, 9000);
|
||||
func_8025A6EC(COMUSIC_2D_PUZZLE_SOLVED_FANFARE, 28000);
|
||||
coMusicPlayer_playMusic(COMUSIC_2D_PUZZLE_SOLVED_FANFARE, 28000);
|
||||
func_802F066C(local->unkC, local->unk0);
|
||||
particleEmitter_emitN(local->unkC, 10);
|
||||
func_802F053C(local->unk10, local->unk0);
|
||||
|
@@ -38,8 +38,8 @@ int func_8038D920(Actor *this, f32 arg1){
|
||||
f32 sp20[3];
|
||||
f32 sp1C;
|
||||
|
||||
this->unkF4_8 = 20;
|
||||
sp1C = (f32)(this->unkF4_8 + 25);
|
||||
this->actorTypeSpecificField = 20;
|
||||
sp1C = (f32)(this->actorTypeSpecificField + 25);
|
||||
player_getPosition(sp20);
|
||||
ml_vec3f_diff_copy(sp2C, this->position, sp20);
|
||||
return this->position_y < sp20[1] && sp20[1] <= arg1 && sp2C[0]*sp2C[0] + sp2C[2]*sp2C[2] < sp1C*sp1C;
|
||||
@@ -62,7 +62,7 @@ Actor *func_8038DA18(ActorMarker *this_marker, Gfx **gfx, Mtx **mtx, Vtx **vtx){
|
||||
sp38[1] = this->position_y;
|
||||
}
|
||||
if(func_8038D920(this, sp38[1])){
|
||||
player_setClimbParams(sp2C, sp38, (f32)this->unkF4_8, 2);
|
||||
player_setClimbParams(sp2C, sp38, (f32)this->actorTypeSpecificField, 2);
|
||||
}
|
||||
|
||||
return this;
|
||||
@@ -96,7 +96,7 @@ void func_8038DB88(Actor *this){
|
||||
tmp = this->unk44_31;
|
||||
if(tmp){
|
||||
if(func_8030E3FC(tmp)){
|
||||
func_8030E394(this->unk44_31);
|
||||
sfxSource_triggerCallbackByIndex(this->unk44_31);
|
||||
}
|
||||
sfxsource_freeSfxsourceByIndex(this->unk44_31);
|
||||
this->unk44_31 = 0;
|
||||
@@ -148,11 +148,11 @@ void func_8038DBDC(Actor *this){
|
||||
if(actor_animationIsAt(this, 0.2f) && this->unk44_31 == 0){
|
||||
this->unk44_31 = func_8030ED2C(0x3F7, 3);
|
||||
this->unk1C[1] = 1.0f;
|
||||
func_8030E2C4(this->unk44_31);
|
||||
sfxSource_func_8030E2C4(this->unk44_31);
|
||||
}//L8038DE08
|
||||
if(actor_animationIsAt(this, 0.7f)){
|
||||
func_8038DB88(this);
|
||||
FUNC_8030E8B4(SFX_3F8_UNKNOWN, 1.0f, 32000, this->position, 1250, 2500);
|
||||
sfx_playFadeShorthandDefault(SFX_3F8_UNKNOWN, 1.0f, 32000, this->position, 1250, 2500);
|
||||
}
|
||||
}
|
||||
break;
|
||||
@@ -177,16 +177,16 @@ void func_8038DBDC(Actor *this){
|
||||
}
|
||||
else{
|
||||
if(actor_animationIsAt(this, 0.04f))
|
||||
FUNC_8030E8B4(SFX_7C_CHEBOOF, 1.0f, 32000, this->position, 1250, 2500);
|
||||
sfx_playFadeShorthandDefault(SFX_7C_CHEBOOF, 1.0f, 32000, this->position, 1250, 2500);
|
||||
|
||||
if(actor_animationIsAt(this, 0.04f))
|
||||
FUNC_8030E8B4(SFX_2C_PULLING_NOISE, 1.0f, 32000, this->position, 1250, 2500);
|
||||
sfx_playFadeShorthandDefault(SFX_2C_PULLING_NOISE, 1.0f, 32000, this->position, 1250, 2500);
|
||||
|
||||
if(actor_animationIsAt(this, 0.33f))
|
||||
FUNC_8030E8B4(SFX_2C_PULLING_NOISE, 1.2f, 32000, this->position, 1250, 2500);
|
||||
sfx_playFadeShorthandDefault(SFX_2C_PULLING_NOISE, 1.2f, 32000, this->position, 1250, 2500);
|
||||
|
||||
if(actor_animationIsAt(this, 0.66f))
|
||||
FUNC_8030E8B4(SFX_2C_PULLING_NOISE, 1.4f, 32000, this->position, 1250, 2500);
|
||||
sfx_playFadeShorthandDefault(SFX_2C_PULLING_NOISE, 1.4f, 32000, this->position, 1250, 2500);
|
||||
}
|
||||
break;
|
||||
case 5: //8038DFC8
|
||||
@@ -202,7 +202,7 @@ void func_8038DBDC(Actor *this){
|
||||
if(!this->unk44_31){
|
||||
this->unk44_31 = func_8030ED2C(SFX_2C_PULLING_NOISE, 3);
|
||||
this->unk1C[1] = 1.9f;
|
||||
func_8030E2C4(this->unk44_31);
|
||||
sfxSource_func_8030E2C4(this->unk44_31);
|
||||
}
|
||||
}
|
||||
else{//L8038E070
|
||||
@@ -216,7 +216,7 @@ void func_8038DBDC(Actor *this){
|
||||
}
|
||||
else{
|
||||
if(actor_animationIsAt(this, 0.42f))
|
||||
sfxsource_play(SFX_7C_CHEBOOF, 32000);
|
||||
gcsfx_playAtSampleRate(SFX_7C_CHEBOOF, 32000);
|
||||
tmp = this->unk44_31;
|
||||
if(tmp && func_8030E3FC(tmp)){
|
||||
if(1.0 < this->unk1C[1]){
|
||||
|
@@ -65,7 +65,7 @@ void __chMazeCtrl_setState(Actor *this, s32 next_state){
|
||||
local->unk8 = 0.0f;
|
||||
if(next_state == 2){
|
||||
func_8025A58C(0, 4000);
|
||||
func_8025A6EC(COMUSIC_26_GV_SANDYBUTT_DANGER, 30000);
|
||||
coMusicPlayer_playMusic(COMUSIC_26_GV_SANDYBUTT_DANGER, 30000);
|
||||
item_set(ITEM_0_HOURGLASS_TIMER, 0xdd3);
|
||||
item_set(ITEM_6_HOURGLASS, TRUE);
|
||||
func_8038F520(1.0f);
|
||||
@@ -85,7 +85,7 @@ void __chMazeCtrl_setState(Actor *this, s32 next_state){
|
||||
}
|
||||
|
||||
if (!levelSpecificFlags_get(LEVEL_FLAG_16_GV_UNKNOWN)) {
|
||||
gcdialog_showText(ASSET_A82_DIALOG_SANDYBUTT_START_MAZE, 4, NULL, NULL, NULL, NULL);
|
||||
gcdialog_showDialog(ASSET_A82_DIALOG_SANDYBUTT_START_MAZE, 4, NULL, NULL, NULL, NULL);
|
||||
levelSpecificFlags_set(LEVEL_FLAG_16_GV_UNKNOWN, TRUE);
|
||||
}
|
||||
}//L8038F794
|
||||
@@ -99,7 +99,7 @@ void __chMazeCtrl_setState(Actor *this, s32 next_state){
|
||||
|
||||
if(next_state == 3){
|
||||
func_80324E38(0.0f, 3);
|
||||
timedFunc_set_2(0.0f, (GenFunction_2)func_8025A6EC, COMUSIC_3E_SANDYBUTT_FAILURE, 0x7FFF);
|
||||
timedFunc_set_2(0.0f, (GenFunction_2)coMusicPlayer_playMusic, COMUSIC_3E_SANDYBUTT_FAILURE, 0x7FFF);
|
||||
timedFunc_set_2(1.0f, (GenFunction_2)__chMazeCtrl_markerSetState, reinterpret_cast(s32, this->marker), 6);
|
||||
timedFunc_set_2(2.0f, (GenFunction_2)__chMazeCtrl_markerSetState, reinterpret_cast(s32, this->marker), 4);
|
||||
}//L8038F850
|
||||
@@ -132,10 +132,10 @@ void __chMazeCtrl_setState(Actor *this, s32 next_state){
|
||||
if(next_state == 5){
|
||||
func_8038F56C(0.0f);
|
||||
if(++local->unk4 == 1)
|
||||
func_8025A6EC(COMUSIC_2D_PUZZLE_SOLVED_FANFARE, 0x7fff);
|
||||
coMusicPlayer_playMusic(COMUSIC_2D_PUZZLE_SOLVED_FANFARE, 0x7fff);
|
||||
|
||||
if(!levelSpecificFlags_get(LEVEL_FLAG_17_GV_UNKNOWN)){
|
||||
gcdialog_showText(ASSET_A83_DIALOG_SANDYBUTT_DONE, 4, NULL, NULL, NULL, NULL);
|
||||
gcdialog_showDialog(ASSET_A83_DIALOG_SANDYBUTT_DONE, 4, NULL, NULL, NULL, NULL);
|
||||
levelSpecificFlags_set(LEVEL_FLAG_17_GV_UNKNOWN, TRUE);
|
||||
}
|
||||
}
|
||||
@@ -178,7 +178,7 @@ void chMazeCtrl_update(Actor *this){
|
||||
|
||||
if (!levelSpecificFlags_get(LEVEL_FLAG_15_GV_UNKNOWN)
|
||||
&& ml_timer_update(&local->unk8, sp34)
|
||||
&& gcdialog_showText(ASSET_A81_DIALOG_SANDYBUTT_ENTER, 0, NULL, NULL, NULL, NULL)
|
||||
&& gcdialog_showDialog(ASSET_A81_DIALOG_SANDYBUTT_ENTER, 0, NULL, NULL, NULL, NULL)
|
||||
) {
|
||||
levelSpecificFlags_set(LEVEL_FLAG_15_GV_UNKNOWN, TRUE);
|
||||
}
|
||||
|
@@ -2,8 +2,7 @@
|
||||
#include "functions.h"
|
||||
#include "variables.h"
|
||||
|
||||
extern void func_802EE6CC(f32[3], s32[4], s32[4], s32, f32, f32, s32, s32, s32);
|
||||
|
||||
#include "core2/dustemitter.h"
|
||||
|
||||
void chSarcophagus_update(Actor *this);
|
||||
void chSarcophagus_updateSNS(Actor *this);
|
||||
@@ -43,8 +42,8 @@ void GV_func_803894B0(Actor *this){
|
||||
}
|
||||
|
||||
void func_80389518(Actor *this){
|
||||
func_802EE6CC(this->unk1C, D_80390E88, D_80390E78, 0,
|
||||
0.55f, 50.0f, 0xDC, 0x168, 0
|
||||
dustEmitter_emit(this->unk1C, D_80390E88, D_80390E78, 0,
|
||||
0.55f, 50.0f, 0xDC, 0x168, DUST_EMITTER_TYPE_DUST
|
||||
);
|
||||
}
|
||||
|
||||
@@ -71,10 +70,10 @@ void chSarcophagus_update(Actor *this){
|
||||
if(!this->initialized){
|
||||
GV_func_803894B0(this);
|
||||
}
|
||||
if(func_80329530(this, 500) && func_8038957C(this)){
|
||||
if(subaddie_playerIsWithinSphereAndActive(this, 500) && func_8038957C(this)){
|
||||
subaddie_set_state_with_direction(this, 2, 0.01f, 1);
|
||||
FUNC_8030E8B4(SFX_6B_LOCKUP_OPENING, 1.0f, 32000, this->position, 1250, 2500);
|
||||
FUNC_8030E8B4(SFX_3F6_RUBBING, 1.0f, 32000, this->position, 1250, 2500);
|
||||
sfx_playFadeShorthandDefault(SFX_6B_LOCKUP_OPENING, 1.0f, 32000, this->position, 1250, 2500);
|
||||
sfx_playFadeShorthandDefault(SFX_3F6_RUBBING, 1.0f, 32000, this->position, 1250, 2500);
|
||||
|
||||
}
|
||||
break;
|
||||
@@ -84,7 +83,7 @@ void chSarcophagus_update(Actor *this){
|
||||
&& actor_animationIsAt(this, 0.1f)
|
||||
&& !jiggyscore_isCollected(JIGGY_41_GV_MAZE)
|
||||
){
|
||||
func_8025A6EC(COMUSIC_3D_JIGGY_SPAWN, 0x7fff);
|
||||
coMusicPlayer_playMusic(COMUSIC_3D_JIGGY_SPAWN, 0x7fff);
|
||||
this->unk38_31 = 1;
|
||||
}
|
||||
if(actor_animationIsAt(this, 0.5f)){
|
||||
@@ -93,10 +92,10 @@ void chSarcophagus_update(Actor *this){
|
||||
break;
|
||||
|
||||
case 3: //L80389788
|
||||
if(!func_80329530(this, 700)){
|
||||
if(!subaddie_playerIsWithinSphereAndActive(this, 700)){
|
||||
subaddie_set_state_with_direction(this, 4, 0.5f, 1);
|
||||
FUNC_8030E8B4(SFX_6B_LOCKUP_OPENING, 1.0f, 32000, this->position, 1250, 2500);
|
||||
FUNC_8030E8B4(SFX_3F6_RUBBING, 1.0f, 32000, this->position, 1250, 2500);
|
||||
sfx_playFadeShorthandDefault(SFX_6B_LOCKUP_OPENING, 1.0f, 32000, this->position, 1250, 2500);
|
||||
sfx_playFadeShorthandDefault(SFX_3F6_RUBBING, 1.0f, 32000, this->position, 1250, 2500);
|
||||
}
|
||||
break;
|
||||
case 4: //L803897E4
|
||||
@@ -113,7 +112,7 @@ void chSarcophagus_update(Actor *this){
|
||||
subaddie_set_state_with_direction(this, 1, 0.01f, 1);
|
||||
}
|
||||
else if(actor_animationIsAt(this, 0.9f)){
|
||||
FUNC_8030E8B4(SFX_7F_HEAVYDOOR_SLAM, 1.0f, 32000, this->position, 1250, 2500);
|
||||
sfx_playFadeShorthandDefault(SFX_7F_HEAVYDOOR_SLAM, 1.0f, 32000, this->position, 1250, 2500);
|
||||
}
|
||||
break;
|
||||
}//L803898A8
|
||||
@@ -133,8 +132,8 @@ void chSarcophagus_updateSNS(Actor *this){
|
||||
this->unk1C[0] -= 1.0f;
|
||||
if(this->unk1C[0] == 0.0f){
|
||||
subaddie_set_state_with_direction(this, 5, 0.01f, 1);
|
||||
FUNC_8030E8B4(SFX_6B_LOCKUP_OPENING, 0.5f, 32000, this->position, 1250, 2500);
|
||||
FUNC_8030E8B4(SFX_3F6_RUBBING, 0.5f, 32000, this->position, 1250, 2500);
|
||||
sfx_playFadeShorthandDefault(SFX_6B_LOCKUP_OPENING, 0.5f, 32000, this->position, 1250, 2500);
|
||||
sfx_playFadeShorthandDefault(SFX_3F6_RUBBING, 0.5f, 32000, this->position, 1250, 2500);
|
||||
}
|
||||
}
|
||||
else{//L803899C0
|
||||
|
@@ -60,7 +60,7 @@ void chtoots_update(Actor *this){
|
||||
else if(this->unk38_31 != 0){
|
||||
this->unk38_31--;
|
||||
if(this->unk38_31 == 6){
|
||||
FUNC_8030E8B4(SFX_DD_JINJO_TALKING, 1.0f, 20000, this->position, 1500, 4500);
|
||||
sfx_playFadeShorthandDefault(SFX_DD_JINJO_TALKING, 1.0f, 20000, this->position, 1500, 4500);
|
||||
}
|
||||
}
|
||||
else{
|
||||
|
@@ -70,11 +70,11 @@ void chTrucker_update(Actor *this){
|
||||
}//L803891D8
|
||||
if( this->state == 1
|
||||
&& !this->has_met_before
|
||||
&& func_80329530(this, 250)
|
||||
&& !func_80329530(this, 80)
|
||||
&& subaddie_playerIsWithinSphereAndActive(this, 250)
|
||||
&& !subaddie_playerIsWithinSphereAndActive(this, 80)
|
||||
&& func_8028F2A0()
|
||||
){
|
||||
gcdialog_showText(ASSET_A71_DIALOG_TRUNKER_MEET, 0xe, this->position, NULL, NULL, NULL);
|
||||
gcdialog_showDialog(ASSET_A71_DIALOG_TRUNKER_MEET, 0xe, this->position, NULL, NULL, NULL);
|
||||
this->has_met_before = TRUE;
|
||||
}//L80389254
|
||||
|
||||
|
@@ -29,7 +29,7 @@ void func_80389A20(ActorMarker *caller, enum asset_e text_id, s32 arg2){
|
||||
}
|
||||
|
||||
void func_80389A60(Actor *this){
|
||||
gcdialog_showText(ASSET_A70_DIALOG_CHARMER_HELPED, 4, NULL, this->marker, func_80389A20, NULL);
|
||||
gcdialog_showDialog(ASSET_A70_DIALOG_CHARMER_HELPED, 4, NULL, this->marker, func_80389A20, NULL);
|
||||
this->has_met_before = TRUE;
|
||||
subaddie_set_state(this, 5);
|
||||
}
|
||||
@@ -62,8 +62,8 @@ void func_80389B1C(Actor *this){
|
||||
anctrl_setTransitionDuration(this->anctrl, 0.15f);
|
||||
|
||||
if(this->state == 1 || this->state == 2){
|
||||
if(! this->has_met_before && func_80329530(this, 250) && !func_80329530(this, 0x50)){
|
||||
gcdialog_showText(ASSET_A6F_DIALOG_CHARMER_MEET, 0xe, this->position, NULL, NULL, NULL);
|
||||
if(! this->has_met_before && subaddie_playerIsWithinSphereAndActive(this, 250) && !subaddie_playerIsWithinSphereAndActive(this, 0x50)){
|
||||
gcdialog_showDialog(ASSET_A6F_DIALOG_CHARMER_MEET, 0xe, this->position, NULL, NULL, NULL);
|
||||
this->has_met_before = TRUE;
|
||||
mapSpecificFlags_set(0, TRUE);
|
||||
}
|
||||
@@ -83,7 +83,7 @@ void func_80389B1C(Actor *this){
|
||||
|| actor_animationIsAt(this, 0.51f)
|
||||
|| actor_animationIsAt(this, 0.57f)
|
||||
){
|
||||
FUNC_8030E8B4(SFX_8_BANJO_LANDING_04, 3.802f, 8000, this->position, 1500, 4500);
|
||||
sfx_playFadeShorthandDefault(SFX_8_BANJO_LANDING_04, 3.802f, 8000, this->position, 1500, 4500);
|
||||
}
|
||||
|
||||
if( actor_animationIsAt(this, 0.4f)){
|
||||
@@ -102,7 +102,7 @@ void func_80389B1C(Actor *this){
|
||||
case 3: //L80389E14
|
||||
if( actor_animationIsAt(this, 0.2f)){
|
||||
func_8025A58C(500, 400);
|
||||
func_8025A6EC(COMUSIC_27_GV_RUBEES_SONG, 28000);
|
||||
coMusicPlayer_playMusic(COMUSIC_27_GV_RUBEES_SONG, 28000);
|
||||
}
|
||||
|
||||
if( actor_animationIsAt(this, 0.99f)){
|
||||
|
@@ -45,14 +45,14 @@ void func_80389FA0(f32 position[3]){
|
||||
}
|
||||
|
||||
void GV_func_8038A084(Actor *this){
|
||||
if(this->unkF4_8 == 6 && !this->volatile_initialized){
|
||||
if(this->actorTypeSpecificField == 6 && !this->volatile_initialized){
|
||||
this->volatile_initialized = TRUE;
|
||||
if( jiggyscore_isCollected(JIGGY_42_GV_WATER_PYRAMID) && this->yaw == 1.0f){
|
||||
this->unk38_31 = TRUE;
|
||||
}
|
||||
}
|
||||
|
||||
if(this->unkF4_8 == 6
|
||||
if(this->actorTypeSpecificField == 6
|
||||
&& viewport_func_8024DB50(this->position, 50.0f)
|
||||
&& !this->unk38_31
|
||||
&& randf() < 0.2
|
||||
|
@@ -35,10 +35,10 @@ Actor *func_8038A180(ActorMarker *this_marker, Gfx **gfx, Mtx **mtx, Vtx **vtx){
|
||||
if( this->unk54 == 0.0f
|
||||
&& this->unk48 != this->unk1C[1]
|
||||
&& this_marker->unk14_21
|
||||
&& func_80329530(this, 3000)
|
||||
&& subaddie_playerIsWithinSphereAndActive(this, 3000)
|
||||
){
|
||||
func_8033E73C(this->marker, 6, func_80329904);
|
||||
func_8033E3F0(0xc, this->marker->unk14_21);
|
||||
commonParticle_add(this->marker, 6, func_80329904);
|
||||
commonParticle_new(0xc, this->marker->unk14_21);
|
||||
}
|
||||
}
|
||||
return this;
|
||||
@@ -60,7 +60,7 @@ void func_8038A2C0(void *this_marker){
|
||||
s32 pad;
|
||||
|
||||
func_8032AA58(shadow, this->scale);
|
||||
this->unk100 = shadow->marker;
|
||||
this->partnerActor = shadow->marker;
|
||||
}
|
||||
|
||||
void func_8038A314(Actor *this){}
|
||||
@@ -74,7 +74,7 @@ void func_8038A31C(Actor *this){
|
||||
this->velocity[0] = 0.0f;
|
||||
}
|
||||
|
||||
if(this->unk100)
|
||||
if(this->partnerActor)
|
||||
sp24 = subaddie_getLinkedActor(this);
|
||||
|
||||
this->unk1C[1] = this->unk48;
|
||||
@@ -141,7 +141,7 @@ void func_8038A31C(Actor *this){
|
||||
}//L8038A6A4
|
||||
this->unk124_11 = 0x3;
|
||||
this->pitch = 0.0f;
|
||||
if(this->unk100 && sp24 && this->unk100->id == MARKER_AF_MAGIC_CARPET_SHADOW){
|
||||
if(this->partnerActor && sp24 && this->partnerActor->id == MARKER_AF_MAGIC_CARPET_SHADOW){
|
||||
sp24->position_x = this->position_x;
|
||||
sp24->position_y = mapModel_getFloorY(this->position) + 60.0f;
|
||||
sp24->position_z = this->position_z;
|
||||
|
@@ -33,8 +33,8 @@ Actor *func_8038A7A0(ActorMarker *this_marker, Gfx **gfx, Mtx **mtx, Vtx **vtx){
|
||||
&& this_marker->unk14_21
|
||||
&& this->unk48 != this->unk1C[2]
|
||||
){
|
||||
func_8033E73C(this->marker, 5, func_80329904);
|
||||
func_8033E3F0(0xa, this->marker->unk14_21);
|
||||
commonParticle_add(this->marker, 5, func_80329904);
|
||||
commonParticle_new(0xa, this->marker->unk14_21);
|
||||
this->unk38_31++;
|
||||
}
|
||||
|
||||
@@ -56,7 +56,7 @@ void func_8038A8CC(ActorMarker *this_marker){
|
||||
Actor *shadow = spawn_child_actor(ACTOR_122_MAGIC_CARPET_SHADOW, &this);
|
||||
s32 pad;
|
||||
|
||||
this->unk100 = shadow->marker;
|
||||
this->partnerActor = shadow->marker;
|
||||
shadow->position_y = mapModel_getFloorY(this->position);
|
||||
shadow->unk1C[0] = func_8038A860(shadow, this);
|
||||
shadow->yaw = this->yaw;
|
||||
@@ -91,7 +91,7 @@ void GV_func_8038A9C0(Actor *this){
|
||||
this->yaw = 90.0f;
|
||||
}
|
||||
|
||||
if(this->unk100)
|
||||
if(this->partnerActor)
|
||||
sp24 = subaddie_getLinkedActor(this);
|
||||
|
||||
if(this->velocity_y != 0.0f){
|
||||
@@ -101,7 +101,7 @@ void GV_func_8038A9C0(Actor *this){
|
||||
}
|
||||
this->unk1C[2] = this->unk1C[1];
|
||||
this->unk1C[1] = this->unk48;
|
||||
if(this->unk100 != NULL && sp24 != NULL && this->unk100->id == MARKER_AF_MAGIC_CARPET_SHADOW){
|
||||
if(this->partnerActor != NULL && sp24 != NULL && this->partnerActor->id == MARKER_AF_MAGIC_CARPET_SHADOW){
|
||||
sp24->unk1C[0] = func_8038A860(sp24, this);
|
||||
}
|
||||
}
|
||||
|
@@ -167,7 +167,7 @@ void func_8038B124(Actor *this){
|
||||
if(this->unk44_31 == 0){
|
||||
this->unk44_31 = sfxsource_createSfxsourceAndReturnIndex();
|
||||
sfxsource_setSfxId(this->unk44_31, SFX_3EC_CCW_DOOR_OPENING);
|
||||
func_8030DD14(this->unk44_31, 2);
|
||||
sfxSource_setunk43_7ByIndex(this->unk44_31, 2);
|
||||
sfxsource_playSfxAtVolume(this->unk44_31, 0.1f);
|
||||
sfxsource_setSampleRate(this->unk44_31, 32000);
|
||||
}
|
||||
@@ -184,7 +184,7 @@ void func_8038B124(Actor *this){
|
||||
}//L8038B33C
|
||||
|
||||
if( this->unk1C[1] == 0.0
|
||||
&& func_80329530(this, 0x320)
|
||||
&& subaddie_playerIsWithinSphereAndActive(this, 0x320)
|
||||
&& func_803292E0(this)
|
||||
){
|
||||
anctrl_setSmoothTransition(this->anctrl, 0);
|
||||
@@ -207,7 +207,7 @@ void func_8038B124(Actor *this){
|
||||
break;
|
||||
|
||||
case 2: //L8038B430
|
||||
func_8030E2C4(this->unk44_31);
|
||||
sfxSource_func_8030E2C4(this->unk44_31);
|
||||
if(0.98 < anctrl_getAnimTimer(this->anctrl)){
|
||||
func_8038AF10(this);
|
||||
}
|
||||
@@ -218,13 +218,13 @@ void func_8038B124(Actor *this){
|
||||
break;
|
||||
|
||||
case 3: //L8038B494
|
||||
func_8030E2C4(this->unk44_31);
|
||||
if(func_80329530(this, 175)){
|
||||
sfxSource_func_8030E2C4(this->unk44_31);
|
||||
if(subaddie_playerIsWithinSphereAndActive(this, 175)){
|
||||
subaddie_set_state_with_direction(this, 4, 0.00001f, 1);
|
||||
actor_loopAnimation(this);
|
||||
this->unk1C[0] = 1.0f;
|
||||
}
|
||||
else if(!func_80329530(this, 1100) || !func_8038AF78(this, 8.0f, 16.0f)){
|
||||
else if(!subaddie_playerIsWithinSphereAndActive(this, 1100) || !func_8038AF78(this, 8.0f, 16.0f)){
|
||||
subaddie_set_state_with_direction(this, 8, 0.00001f, 1);
|
||||
actor_playAnimationOnce(this);
|
||||
this->unk1C[0] = 1.0f;
|
||||
|
@@ -49,7 +49,7 @@ void func_8038B988(ActorMarker *caller, enum asset_e text_id, s32 arg2){
|
||||
Actor *this = marker_getActor(caller);
|
||||
subaddie_set_state_with_direction(this, 5, 0.01f, 1);
|
||||
actor_loopAnimation(this);
|
||||
func_802BAFE4(0x13);
|
||||
gcStaticCamera_activate(0x13);
|
||||
FUNC_8030E624(SFX_8D_BOGGY_OHWW, 0.9f, 32000);
|
||||
timedFunc_set_0(2.5f, func_8038B960);
|
||||
D_80391A80 = this->state;
|
||||
@@ -58,12 +58,12 @@ void func_8038B988(ActorMarker *caller, enum asset_e text_id, s32 arg2){
|
||||
void func_8038BA08(Actor *this){
|
||||
subaddie_set_state_with_direction(this, 6, 0.01f, 1);
|
||||
actor_loopAnimation(this);
|
||||
this->unk100 = NULL;
|
||||
this->partnerActor = NULL;
|
||||
D_80391A80 = 3;
|
||||
if(player_movementGroup() == BSGROUP_6_TURBO_TALON_TRAINERS)
|
||||
player_stateTimer_set(STATE_TIMER_3_TURBO_TALON, 0.0f);
|
||||
|
||||
gcdialog_showText(ASSET_A79_DIALOG_GRABBA_DEFEAT, 0xf, this->position, this->marker, func_8038B988, NULL);
|
||||
gcdialog_showDialog(ASSET_A79_DIALOG_GRABBA_DEFEAT, 0xf, this->position, this->marker, func_8038B988, NULL);
|
||||
comusic_8025AB44(COMUSIC_57_TURBO_TRAINERS, 7000, 700);
|
||||
}
|
||||
|
||||
@@ -84,7 +84,7 @@ s32 func_8038BAA4(Actor *jiggy){
|
||||
}
|
||||
|
||||
int func_8038BB24(Actor *this){
|
||||
if(func_80329530(this, 1560) && !func_80329530(this, 1380)){
|
||||
if(subaddie_playerIsWithinSphereAndActive(this, 1560) && !subaddie_playerIsWithinSphereAndActive(this, 1380)){
|
||||
return TRUE;
|
||||
}
|
||||
else{
|
||||
@@ -100,8 +100,8 @@ void func_8038BB6C(Actor *jiggy, ActorMarker * grabba_marker)
|
||||
grabba = marker_getActor(tmp);
|
||||
grabba_local = (ActorLocal_Grabba *)&grabba->local;
|
||||
|
||||
grabba->unk100 = jiggy->marker;
|
||||
grabba_local->unk0 = grabba->unk100->unk5C;
|
||||
grabba->partnerActor = jiggy->marker;
|
||||
grabba_local->unk0 = grabba->partnerActor->unk5C;
|
||||
jiggy->unk10_1 = TRUE;
|
||||
grabba->unk1C[2] = (f32)func_8038BAA4(jiggy);
|
||||
if(jiggyscore_isCollected((s32)grabba->unk1C[2])){
|
||||
@@ -174,13 +174,13 @@ void GV_func_8038BEA0(Actor *this){
|
||||
if(this->unk44_31 == 0){
|
||||
this->unk44_31 = sfxsource_createSfxsourceAndReturnIndex();
|
||||
sfxsource_setSfxId(this->unk44_31, SFX_3EC_CCW_DOOR_OPENING);
|
||||
func_8030DD14(this->unk44_31, 2);
|
||||
sfxSource_setunk43_7ByIndex(this->unk44_31, 2);
|
||||
sfxsource_playSfxAtVolume(this->unk44_31, 0.1f);
|
||||
sfxsource_setSampleRate(this->unk44_31, 32000);
|
||||
}
|
||||
if(this->unk100 == NULL){
|
||||
this->unk100 = func_8032B16C(JIGGY_3E_GV_GRABBA);
|
||||
local->unk0 = this->unk100 != NULL ? this->unk100->unk5C : NULL;
|
||||
if(this->partnerActor == NULL){
|
||||
this->partnerActor = func_8032B16C(JIGGY_3E_GV_GRABBA);
|
||||
local->unk0 = this->partnerActor != NULL ? this->partnerActor->unk5C : NULL;
|
||||
}
|
||||
subaddie_set_state_with_direction(this, this->state, 0.01f, 1);
|
||||
this->unk58_0 = FALSE;
|
||||
@@ -211,13 +211,13 @@ void GV_func_8038BEA0(Actor *this){
|
||||
subaddie_set_state_with_direction(this, 3, 0.01f, 1);
|
||||
actor_loopAnimation(this);
|
||||
D_80391A80 = this->state;
|
||||
if(this->unk100){
|
||||
this->unk100->collidable = TRUE;
|
||||
if(this->partnerActor){
|
||||
this->partnerActor->collidable = TRUE;
|
||||
}
|
||||
}
|
||||
else{
|
||||
if(anctrl_getAnimTimer(this->anctrl) < 0.55){
|
||||
func_8030E2C4(this->unk44_31);
|
||||
sfxSource_func_8030E2C4(this->unk44_31);
|
||||
if(randf() < 0.6){
|
||||
func_8038BC7C(this->position, 0xA);
|
||||
}
|
||||
@@ -226,7 +226,7 @@ void GV_func_8038BEA0(Actor *this){
|
||||
break;
|
||||
|
||||
case 3: //L8038C1CC
|
||||
if(this->unk100 && this->unk100->unk5C != local->unk0){
|
||||
if(this->partnerActor && this->partnerActor->unk5C != local->unk0){
|
||||
func_8038BA08(this);
|
||||
}
|
||||
else if(this->unk38_31 >= 0xC){
|
||||
@@ -235,7 +235,7 @@ void GV_func_8038BEA0(Actor *this){
|
||||
D_80391A80 = this->state;
|
||||
func_802BB3DC(0, 12.0f, 0.92f);
|
||||
}
|
||||
else if(func_80329530(this, 600)){
|
||||
else if(subaddie_playerIsWithinSphereAndActive(this, 600)){
|
||||
if(player_movementGroup() == BSGROUP_6_TURBO_TALON_TRAINERS){
|
||||
this->unk38_31++;
|
||||
}
|
||||
@@ -245,7 +245,7 @@ void GV_func_8038BEA0(Actor *this){
|
||||
}
|
||||
else{
|
||||
if(!this->has_met_before){
|
||||
if(gcdialog_showText(ASSET_A78_DIALOG_GRABBA_MEET, 0, NULL, NULL, NULL, NULL)){
|
||||
if(gcdialog_showDialog(ASSET_A78_DIALOG_GRABBA_MEET, 0, NULL, NULL, NULL, NULL)){
|
||||
this->has_met_before = TRUE;
|
||||
}
|
||||
}
|
||||
@@ -253,7 +253,7 @@ void GV_func_8038BEA0(Actor *this){
|
||||
break;
|
||||
|
||||
case 4: //L8038C304
|
||||
if(this->unk100 && this->unk100->unk5C != local->unk0){
|
||||
if(this->partnerActor && this->partnerActor->unk5C != local->unk0){
|
||||
func_8038BA08(this);
|
||||
}
|
||||
else if(actor_animationIsAt(this, 0.89f)){
|
||||
@@ -263,20 +263,20 @@ void GV_func_8038BEA0(Actor *this){
|
||||
}
|
||||
else{
|
||||
if(0.35 < anctrl_getAnimTimer(this->anctrl)){
|
||||
func_8030E2C4(this->unk44_31);
|
||||
sfxSource_func_8030E2C4(this->unk44_31);
|
||||
if(randf() < 0.6){
|
||||
func_8038BC7C(this->position, 5);
|
||||
}
|
||||
}
|
||||
|
||||
if(actor_animationIsAt(this, 0.4f)){
|
||||
if(this->unk100){
|
||||
this->unk100->collidable = FALSE;
|
||||
if(this->partnerActor){
|
||||
this->partnerActor->collidable = FALSE;
|
||||
func_8030E878(SFX_3F5_UNKNOWN, randf2(0.95f, 1.05f), 32000, this->position, 1250.0f, 2500.0f);
|
||||
}
|
||||
|
||||
if(!this->unk138_23){
|
||||
if(gcdialog_showText(ASSET_A7A_DIALOG_GRABBA_TOO_FAST, 0, NULL, NULL, NULL, NULL)){
|
||||
if(gcdialog_showDialog(ASSET_A7A_DIALOG_GRABBA_TOO_FAST, 0, NULL, NULL, NULL, NULL)){
|
||||
this->unk138_23 = TRUE;
|
||||
}
|
||||
}
|
||||
@@ -291,7 +291,7 @@ void GV_func_8038BEA0(Actor *this){
|
||||
func_8038C748();
|
||||
}
|
||||
else{
|
||||
func_8030E2C4(this->unk44_31);
|
||||
sfxSource_func_8030E2C4(this->unk44_31);
|
||||
this->position_y -= 7.0;
|
||||
if(globalTimer_getTime() & 1){
|
||||
sp38[0] = this->position_x;
|
||||
@@ -304,7 +304,7 @@ void GV_func_8038BEA0(Actor *this){
|
||||
break;
|
||||
|
||||
}//L8038C528
|
||||
if(this->unk100 && this->unk100->unk5C == local->unk0){
|
||||
if(this->partnerActor && this->partnerActor->unk5C == local->unk0){
|
||||
Actor *tmp_v0;
|
||||
tmp_v0 = subaddie_getLinkedActor(this);
|
||||
if(this->marker->unk14_21){
|
||||
|
@@ -55,7 +55,7 @@ void func_8038C760(Actor *this, s32 arg1){
|
||||
func_80324E38(6.5f, 0);
|
||||
}
|
||||
else{
|
||||
timedFunc_set_2(3.5f, (GenFunction_2)func_8025A6EC, COMUSIC_2D_PUZZLE_SOLVED_FANFARE, 0x7fff);
|
||||
timedFunc_set_2(3.5f, (GenFunction_2)coMusicPlayer_playMusic, COMUSIC_2D_PUZZLE_SOLVED_FANFARE, 0x7fff);
|
||||
timedFunc_set_3(3.5f, (GenFunction_3)fileProgressFlag_setN, FILEPROG_F8_KING_SANDYBUTT_PYRAMID_STATE, arg1, 2);
|
||||
timed_exitStaticCamera(6.0f);
|
||||
func_80324E38(6.0f, 0);
|
||||
@@ -79,10 +79,10 @@ void func_8038C8A0(Actor *this, s32 next_state){
|
||||
if(next_state == 4 || next_state == 5){
|
||||
local->sfxsourceIdx = sfxsource_createSfxsourceAndReturnIndex();
|
||||
sfxsource_setSfxId(local->sfxsourceIdx, SFX_3EC_CCW_DOOR_OPENING);
|
||||
func_8030DD14(local->sfxsourceIdx, 3);
|
||||
sfxSource_setunk43_7ByIndex(local->sfxsourceIdx, 3);
|
||||
sfxsource_playSfxAtVolume(local->sfxsourceIdx, 0.8f);
|
||||
sfxsource_setSampleRate(local->sfxsourceIdx, 0);
|
||||
func_8030E2C4(local->sfxsourceIdx);
|
||||
sfxSource_func_8030E2C4(local->sfxsourceIdx);
|
||||
}//L8038C9B8
|
||||
|
||||
if(next_state == 2){
|
||||
@@ -111,13 +111,13 @@ void func_8038C8A0(Actor *this, s32 next_state){
|
||||
skeletalAnim_setProgress(this->unk148, 0.99f);
|
||||
skeletalAnim_setBehavior(this->unk148, SKELETAL_ANIM_2_ONCE);
|
||||
if(next_state == 4 || next_state == 5)
|
||||
FUNC_8030E8B4(SFX_DE_WOOD_SQUEAK, 1.0f, 32675, this->position, 500, 1500);
|
||||
sfx_playFadeShorthandDefault(SFX_DE_WOOD_SQUEAK, 1.0f, 32675, this->position, 500, 1500);
|
||||
}//L8038CB20
|
||||
|
||||
if(next_state == 6){
|
||||
func_80324E38(0.0f, 3);
|
||||
skeletalAnim_set(this->unk148, ASSET_F0_ANIM_MINI_SHPYNX_EATING, 0.0f, 3.0f);
|
||||
func_8025A6EC(COMUSIC_2B_DING_B, 28000);
|
||||
coMusicPlayer_playMusic(COMUSIC_2B_DING_B, 28000);
|
||||
}
|
||||
|
||||
if(next_state == 7){
|
||||
@@ -288,7 +288,7 @@ void func_8038CC98(Actor *this){
|
||||
func_8038C8A0(this, 6);
|
||||
}
|
||||
else{
|
||||
func_8025A6EC(COMUSIC_2B_DING_B, 28000);
|
||||
coMusicPlayer_playMusic(COMUSIC_2B_DING_B, 28000);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@@ -73,7 +73,7 @@ void func_8038D47C(Actor *this){
|
||||
player_getPosition(sp3C);
|
||||
if(player_movementGroup() == BSGROUP_0_NONE){
|
||||
if( ml_vec3f_distance(sp3C, this->unk1C) < 100.0f || ml_vec3f_distance(sp3C, this->velocity) < 100.0f){
|
||||
if(gcdialog_showText(ASSET_A7B_DIALOG_JINXY_MEET, 0, NULL, NULL, NULL, NULL)){
|
||||
if(gcdialog_showDialog(ASSET_A7B_DIALOG_JINXY_MEET, 0, NULL, NULL, NULL, NULL)){
|
||||
mapSpecificFlags_set(0x14, 1);
|
||||
}
|
||||
}
|
||||
@@ -90,7 +90,7 @@ void func_8038D47C(Actor *this){
|
||||
mapSpecificFlags_set(0xF, TRUE);
|
||||
func_8028F918(2);
|
||||
subaddie_set_state_forward(this, 3);
|
||||
func_802BAFE4(0);
|
||||
gcStaticCamera_activate(0);
|
||||
}
|
||||
break;
|
||||
case 2: //L8038D78C
|
||||
@@ -102,7 +102,7 @@ void func_8038D47C(Actor *this){
|
||||
}
|
||||
if( actor_animationIsAt(this, 0.99f) ){
|
||||
if(--this->unk38_31 == 0){
|
||||
gcdialog_showText(ASSET_A7C_DIALOG_JINXY_ONE_EGG, 4, NULL, NULL, NULL, NULL);
|
||||
gcdialog_showDialog(ASSET_A7C_DIALOG_JINXY_ONE_EGG, 4, NULL, NULL, NULL, NULL);
|
||||
mapSpecificFlags_set(0x14, TRUE);
|
||||
subaddie_set_state_forward(this, 1);
|
||||
}
|
||||
|
@@ -11,7 +11,7 @@ struct {
|
||||
/* .code */
|
||||
void func_8038E140(void){
|
||||
GV_D_80391AB0.unk0++;
|
||||
func_8025A6EC(COMUSIC_2B_DING_B, 26000);
|
||||
coMusicPlayer_playMusic(COMUSIC_2B_DING_B, 26000);
|
||||
}
|
||||
|
||||
s32 func_8038E178(void){
|
||||
|
@@ -39,16 +39,16 @@ void func_8038E1A8(Actor *this){
|
||||
}
|
||||
else{
|
||||
if(actor_animationIsAt(this, 0.2f))
|
||||
FUNC_8030E8B4(SFX_4C_LIP_SMACK, 1.0f, 32000, this->position, 1250, 2500);
|
||||
sfx_playFadeShorthandDefault(SFX_4C_LIP_SMACK, 1.0f, 32000, this->position, 1250, 2500);
|
||||
|
||||
if(actor_animationIsAt(this, 0.4f))
|
||||
FUNC_8030E8B4(SFX_4C_LIP_SMACK, 1.0f, 26000, this->position, 1250, 2500);
|
||||
sfx_playFadeShorthandDefault(SFX_4C_LIP_SMACK, 1.0f, 26000, this->position, 1250, 2500);
|
||||
|
||||
if(actor_animationIsAt(this, 0.6f))
|
||||
FUNC_8030E8B4(SFX_4C_LIP_SMACK, 1.0f, 20000, this->position, 1250, 2500);
|
||||
sfx_playFadeShorthandDefault(SFX_4C_LIP_SMACK, 1.0f, 20000, this->position, 1250, 2500);
|
||||
|
||||
if(actor_animationIsAt(this, 0.8f))
|
||||
FUNC_8030E8B4(SFX_97_BLUBBER_BURPS, 1.0f, 32000, this->position, 1250, 2500);
|
||||
sfx_playFadeShorthandDefault(SFX_97_BLUBBER_BURPS, 1.0f, 32000, this->position, 1250, 2500);
|
||||
}
|
||||
break;
|
||||
}//L8038E2E8
|
||||
|
@@ -215,7 +215,7 @@ void func_8038E4DC(Actor *this){
|
||||
else{
|
||||
if(!mapSpecificFlags_get(4)){
|
||||
mapSpecificFlags_set(4, TRUE);
|
||||
func_802BAFE4(1);
|
||||
gcStaticCamera_activate(1);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -228,7 +228,7 @@ void func_8038E648(Actor *this){
|
||||
case 1: //L8038E690
|
||||
this->pitch = 0.0f;
|
||||
if(mapSpecificFlags_get(5)){
|
||||
func_802BAFE4(2);
|
||||
gcStaticCamera_activate(2);
|
||||
subaddie_set_state(this, 6);
|
||||
this->unk38_31 = 600;
|
||||
core1_7090_initSfxSource(0, 0x6A, 0x7ff8, 0.3f);
|
||||
@@ -242,7 +242,7 @@ void func_8038E648(Actor *this){
|
||||
if(90.0f <= this->pitch){
|
||||
subaddie_set_state(this, 7);
|
||||
this->pitch = 90.0f;
|
||||
func_8030E540(SFX_7F_HEAVYDOOR_SLAM);
|
||||
gcsfx_play(SFX_7F_HEAVYDOOR_SLAM);
|
||||
core1_7090_freeSfxSource(0);
|
||||
}
|
||||
break;
|
||||
@@ -260,10 +260,10 @@ void func_8038E648(Actor *this){
|
||||
if(this->pitch <= 0.0f){
|
||||
subaddie_set_state(this, 1);
|
||||
this->pitch = 0.0f;
|
||||
func_8030E540(SFX_7F_HEAVYDOOR_SLAM);
|
||||
gcsfx_play(SFX_7F_HEAVYDOOR_SLAM);
|
||||
mapSpecificFlags_set(5, FALSE);
|
||||
core1_7090_freeSfxSource(0);
|
||||
volatileFlag_setAndTriggerDialog_0(VOLATILE_FLAG_AC_GV_TRAPDOOR_MISSED);
|
||||
progressDialog_setAndTriggerDialog_0(VOLATILE_FLAG_AC_GV_TRAPDOOR_MISSED);
|
||||
}
|
||||
break;
|
||||
}//L8038E904:
|
||||
@@ -315,7 +315,7 @@ void func_8038E97C(Actor *this){
|
||||
if(this->unk38_31 == 0){
|
||||
subaddie_set_state(this, 1);
|
||||
core1_7090_freeSfxSource(1);
|
||||
func_8030E540(SFX_7F_HEAVYDOOR_SLAM);
|
||||
gcsfx_play(SFX_7F_HEAVYDOOR_SLAM);
|
||||
}
|
||||
|
||||
}
|
||||
@@ -327,8 +327,8 @@ void chKazooieDoor_update(Actor *this){
|
||||
switch(this->state){
|
||||
case 1: //L8038EB98
|
||||
if(mapSpecificFlags_get(6)){
|
||||
func_8025A6EC(COMUSIC_2B_DING_B, -1);
|
||||
func_802BAFE4(3);
|
||||
coMusicPlayer_playMusic(COMUSIC_2B_DING_B, -1);
|
||||
gcStaticCamera_activate(3);
|
||||
subaddie_set_state(this, 6);
|
||||
core1_7090_initSfxSource(1, 0x6a, 0x7ff8, 0.3f);
|
||||
this->unk1C[1] = this->position_y + 210.0f;
|
||||
@@ -341,7 +341,7 @@ void chKazooieDoor_update(Actor *this){
|
||||
this->position_z -= 1.3319999999999999;
|
||||
if(this->unk1C[1] <= this->position_y){
|
||||
subaddie_set_state(this, 7);
|
||||
func_8030E540(SFX_7F_HEAVYDOOR_SLAM);
|
||||
gcsfx_play(SFX_7F_HEAVYDOOR_SLAM);
|
||||
core1_7090_freeSfxSource(1);
|
||||
this->unk38_31 = 450;
|
||||
}
|
||||
@@ -361,7 +361,7 @@ void chKazooieDoor_update(Actor *this){
|
||||
if(this->position_y <= this->unk1C[0]){
|
||||
this->position_y = this->unk1C[0];
|
||||
subaddie_set_state(this, 1);
|
||||
func_8030E540(SFX_7F_HEAVYDOOR_SLAM);
|
||||
gcsfx_play(SFX_7F_HEAVYDOOR_SLAM);
|
||||
core1_7090_freeSfxSource(1);
|
||||
mapSpecificFlags_set(6, FALSE);
|
||||
}
|
||||
@@ -435,7 +435,7 @@ void chKazooieTarget_update(Actor *this){
|
||||
}
|
||||
|
||||
void func_8038F004(void){
|
||||
func_8025A6EC(SFX_2D_KABOING, 0x7fff);
|
||||
coMusicPlayer_playMusic(SFX_2D_KABOING, 0x7fff);
|
||||
}
|
||||
|
||||
void func_8038F028(UNK_TYPE(s32) arg0, ActorMarker *arg1, s32 arg2, s32 arg3){
|
||||
@@ -449,7 +449,7 @@ void func_8038F028(UNK_TYPE(s32) arg0, ActorMarker *arg1, s32 arg2, s32 arg3){
|
||||
sp24[1] = (f32)arg1->propPtr->y;
|
||||
sp24[2] = (f32)arg1->propPtr->z;
|
||||
__spawnQueue_add_4((GenFunction_4)spawnQueue_actor_f32, 0x4e, reinterpret_cast(s32, sp24[0]), reinterpret_cast(s32, sp24[1]), reinterpret_cast(s32, sp24[2]));
|
||||
func_8025A6EC(COMUSIC_2B_DING_B, 22000);
|
||||
coMusicPlayer_playMusic(COMUSIC_2B_DING_B, 22000);
|
||||
if(mapSpecificFlags_get(arg3)){
|
||||
timedFunc_set_0(2.0f, func_8038F004);
|
||||
}
|
||||
|
@@ -32,7 +32,7 @@ void func_80390000(s32 arg0){
|
||||
if(GV_D_80391AD0 == 2){
|
||||
levelSpecificFlags_set(LEVEL_FLAG_6_GV_UNKNOWN, FALSE);
|
||||
func_803228D8();
|
||||
func_802E4078(MAP_15_GV_WATER_PYRAMID, 1, 0);
|
||||
transitionToMap(MAP_15_GV_WATER_PYRAMID, 1, 0);
|
||||
}
|
||||
}
|
||||
|
||||
|
@@ -94,7 +94,7 @@ void __matchingGame_setState(s32 next_state){
|
||||
volatileFlag_set(VOLATILE_FLAG_5_FF_MINIGAME_WON, 1);
|
||||
}
|
||||
else{
|
||||
func_8025A6EC(COMUSIC_2D_PUZZLE_SOLVED_FANFARE, 0x7fff);
|
||||
coMusicPlayer_playMusic(COMUSIC_2D_PUZZLE_SOLVED_FANFARE, 0x7fff);
|
||||
if(matchingGame.mummy_marker){
|
||||
func_8035D490(matchingGame.mummy_marker);
|
||||
}
|
||||
@@ -187,7 +187,7 @@ void gv_matchingGame_update(void){
|
||||
if( func_8034DC78(matchingGame.tile_a->unk4) == 1 && func_8034DC78(matchingGame.tile_b->unk4) == 1){
|
||||
if(0.0f < matchingGame.unkC){
|
||||
if(0.6 < matchingGame.unkC && matchingGame.unkC - dt <= 0.6){
|
||||
func_8025A6EC(COMUSIC_2C_BUZZER, 0x7fff);
|
||||
coMusicPlayer_playMusic(COMUSIC_2C_BUZZER, 0x7fff);
|
||||
}//L803906AC
|
||||
matchingGame.unkC -= dt;
|
||||
if(matchingGame.unkC <= 0.0f){
|
||||
@@ -210,7 +210,7 @@ void gv_matchingGame_update(void){
|
||||
__matchingGame_setState(4); //end game state
|
||||
}
|
||||
else{
|
||||
func_8025A6EC(COMUSIC_2B_DING_B, 0x7fff);
|
||||
coMusicPlayer_playMusic(COMUSIC_2B_DING_B, 0x7fff);
|
||||
}
|
||||
matchingGame.tile_a = matchingGame.tile_b = NULL;
|
||||
}//L803907E4
|
||||
|
@@ -40,7 +40,7 @@ void __waterCtrl_setState(s32 arg0){
|
||||
levelSpecificFlags_set(LEVEL_FLAG_6_GV_UNKNOWN, TRUE);
|
||||
func_803228D8();
|
||||
volatileFlag_set(VOLATILE_FLAG_E, 1);
|
||||
func_802E4078(MAP_12_GV_GOBIS_VALLEY, 0, 0);
|
||||
transitionToMap(MAP_12_GV_GOBIS_VALLEY, 0, 0);
|
||||
}
|
||||
}
|
||||
|
||||
|
@@ -3,6 +3,9 @@
|
||||
#include "functions.h"
|
||||
#include "variables.h"
|
||||
#include <math.h>
|
||||
|
||||
#include "conga.h"
|
||||
|
||||
#ifndef MIN
|
||||
#define MIN(s,t) ((s)<(t)?(s):(t))
|
||||
#endif
|
||||
@@ -19,16 +22,16 @@ void timed_exitStaticCamera(f32);
|
||||
Actor *actor_spawnWithYaw_s32(s32 actor_id, s32 position[3], s32 yaw);
|
||||
void MM_func_80387F44(void);
|
||||
|
||||
void func_803876D0(Actor *);
|
||||
void chConga_update(Actor *);
|
||||
|
||||
typedef struct chconga_s{
|
||||
typedef struct chconga_s {
|
||||
TUPLE(s32, orangeSpawnPosition);
|
||||
s32 unkC;
|
||||
s32 unk10;
|
||||
u8 pad14[0x4];
|
||||
s32 unk18;
|
||||
s32 unk1C;
|
||||
}ActorLocal_Conga;
|
||||
} ActorLocal_Conga;
|
||||
|
||||
|
||||
/* .data */
|
||||
@@ -44,9 +47,9 @@ ActorAnimationInfo chCongaAnimations[9] = {
|
||||
{ASSET_52_ANIM_CONGA_OW, 1.0f}
|
||||
};
|
||||
|
||||
ActorInfo chcongaInfo = { MARKER_7_CONGA, ACTOR_8_CONGA, ASSET_35C_MODEL_CONGA,
|
||||
ActorInfo chCongaInfo = { MARKER_7_CONGA, ACTOR_8_CONGA, ASSET_35C_MODEL_CONGA,
|
||||
1, chCongaAnimations,
|
||||
func_803876D0, actor_update_func_80326224, actor_draw,
|
||||
chConga_update, actor_update_func_80326224, actor_draw,
|
||||
0, 0x333, 0.0f, 0
|
||||
};
|
||||
|
||||
@@ -87,7 +90,7 @@ void func_80386FB0(Actor *this){
|
||||
void __chConga_playRandomNoise(void){
|
||||
if( (globalTimer_getTime() & 0xF) == 0xB
|
||||
&& 0.85 < randf ()
|
||||
&& !func_803114B0()
|
||||
&& !gcdialog_hasCurrentTextId()
|
||||
){
|
||||
func_8030E58C(((s32)(randf ()*256.0f) & 1)? SFX_22_KONGA_NOISE_1: SFX_23_KONGA_NOISE_2, 1.0f);
|
||||
}
|
||||
@@ -99,7 +102,7 @@ void func_8038708C(Actor *this, s32 anim_id){
|
||||
}
|
||||
|
||||
void func_803870D0(Actor *this, ActorMarker *arg1){
|
||||
marker_getActor(arg1)->unk100 = this->marker;
|
||||
marker_getActor(arg1)->partnerActor = this->marker;
|
||||
}
|
||||
|
||||
void func_80387100(ActorMarker *this){
|
||||
@@ -140,7 +143,7 @@ void func_80387168(ActorMarker *marker, ActorMarker *other_marker){
|
||||
){
|
||||
func_8038708C(actorPtr, 2);
|
||||
if(actorPtr->unk38_31 == 1){
|
||||
gcdialog_showText(ASSET_B39_DIALOG_CONGA_HIT_BY_EGG, 4, actorPtr->position, 0, 0, 0);
|
||||
gcdialog_showDialog(ASSET_B39_DIALOG_CONGA_HIT_BY_EGG, 4, actorPtr->position, 0, 0, 0);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -148,7 +151,7 @@ void func_80387168(ActorMarker *marker, ActorMarker *other_marker){
|
||||
}
|
||||
|
||||
int func_803872EC(void){
|
||||
s32 text_id = func_803114C4();
|
||||
s32 text_id = gcdialog_getCurrentTextId();
|
||||
|
||||
return text_id == ASSET_B37_DIALOG_CONGA_SAFE_UP_HERE
|
||||
|| text_id == ASSET_B38_DIALOG_CONGA_DEFEAT
|
||||
@@ -209,13 +212,15 @@ void __chConga_sendOrangeProjectile(ActorMarker *congaMarker){
|
||||
}
|
||||
}
|
||||
|
||||
void func_803876D0(Actor *this){
|
||||
void chConga_update(Actor *this) {
|
||||
|
||||
f32 unused;
|
||||
NodeProp *node_prop;
|
||||
s32 sp3C;
|
||||
|
||||
this->marker->propPtr->unk8_3 = (timedFuncQueue_is_empty(this))?1:0;
|
||||
if(!this->initialized){
|
||||
this->marker->propPtr->unk8_3 = timedFuncQueue_is_empty(this) ? 1 : 0;
|
||||
|
||||
if (!this->initialized) {
|
||||
((ActorLocal_Conga *)&this->local)->unkC = 1;
|
||||
this->unk16C_0 = 1;
|
||||
this->initialized = TRUE;
|
||||
@@ -225,152 +230,173 @@ void func_803876D0(Actor *this){
|
||||
((ActorLocal_Conga *)&this->local)->unk1C = nodeprop_getRadius(node_prop);
|
||||
nodeprop_getPosition_s32(node_prop, &((ActorLocal_Conga *)&this->local)->unk10);
|
||||
}
|
||||
if(0.0f == this->actor_specific_1_f){
|
||||
|
||||
if (0.0f == this->actor_specific_1_f) {
|
||||
this->actor_specific_1_f = (actorArray_findActorFromMarkerId(MARKER_36_ORANGE_COLLECTIBLE) != NULL)? 2.0f: 1.0f;
|
||||
}
|
||||
if(0.0f != this->velocity_x){
|
||||
|
||||
if (0.0f != this->velocity_x) {
|
||||
this->velocity_x -= 1.0f;
|
||||
if(0.0f == this->velocity_x){
|
||||
__spawnQueue_add_1((GenFunction_1)func_80387100, (s32)this->marker);
|
||||
}
|
||||
}
|
||||
|
||||
marker_setCollisionScripts(this->marker, NULL, NULL, func_80387168);
|
||||
if( !func_80329530(this, 2100)
|
||||
|
||||
if (!subaddie_playerIsWithinSphereAndActive(this, 2100)
|
||||
&& this->state != 2
|
||||
&& this->state != 8
|
||||
){
|
||||
&& this->state != 8) {
|
||||
|
||||
if(this->state > 3 && this->state < 8){
|
||||
actor_loopAnimation(this);
|
||||
subaddie_set_state_with_direction(this, 1, 0.76f, 1);
|
||||
}
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
sp3C = func_80329530(this, 1000);
|
||||
if( func_8032A9E4(((ActorLocal_Conga *)&this->local)->unk10, ((ActorLocal_Conga *)&this->local)->unk18, ((ActorLocal_Conga *)&this->local)->unk1C)
|
||||
sp3C = subaddie_playerIsWithinSphereAndActive(this, 1000);
|
||||
|
||||
if (func_8032A9E4(((ActorLocal_Conga *)&this->local)->unk10, ((ActorLocal_Conga *)&this->local)->unk18, ((ActorLocal_Conga *)&this->local)->unk1C)
|
||||
&& !this->unk138_23
|
||||
&& gcdialog_showText(ASSET_B37_DIALOG_CONGA_SAFE_UP_HERE, 0, 0, 0, 0, 0)
|
||||
){
|
||||
&& gcdialog_showDialog(ASSET_B37_DIALOG_CONGA_SAFE_UP_HERE, 0, 0, 0, 0, 0)) {
|
||||
this->unk138_23 = 1;
|
||||
mapSpecificFlags_set(MM_SPECIFIC_FLAG_A_UNKNOWN, TRUE);
|
||||
}//L803878F8
|
||||
|
||||
if( sp3C && !this->has_met_before){
|
||||
if(gcdialog_showText((player_getTransformation()== TRANSFORM_2_TERMITE) ? ASSET_B3E_DIALOG_CONGA_MEET_AS_TERMITE : ASSET_B3C_DIALOG_CONGA_MEET, 0, this->position, 0,0,0)){
|
||||
if (sp3C && !this->has_met_before) {
|
||||
if (gcdialog_showDialog((player_getTransformation()== TRANSFORM_2_TERMITE) ? ASSET_B3E_DIALOG_CONGA_MEET_AS_TERMITE : ASSET_B3C_DIALOG_CONGA_MEET, 0, this->position, 0,0,0)) {
|
||||
this->has_met_before = TRUE;
|
||||
}
|
||||
} //L80387968
|
||||
|
||||
switch(this->state){
|
||||
case 1://80387990
|
||||
switch (this->state) {
|
||||
case CONGA_STATE_IDLE://80387990
|
||||
actor_loopAnimation(this);
|
||||
func_80386FB0(this);
|
||||
__chConga_playRandomNoise();
|
||||
|
||||
if(actor_animationIsAt(this, 0.0f) || actor_animationIsAt(this, 0.45f)){
|
||||
if(randf() < 0.2){
|
||||
anctrl_setDirection(this->anctrl, anctrl_isPlayedForwards(this->anctrl)?0:1);
|
||||
};
|
||||
}//L80387A18
|
||||
if(actor_animationIsAt(this, 0.66f)){
|
||||
subaddie_maybe_set_state_position_direction(this, 6, 0, 1, 0.38f);
|
||||
|
||||
if (actor_animationIsAt(this, 0.66f)) {
|
||||
subaddie_maybe_set_state_position_direction(this, CONGA_STATE_BEAT_CHEST_STOP, 0, 1, 0.38f);
|
||||
}
|
||||
if( sp3C
|
||||
|
||||
if (sp3C
|
||||
&& player_movementGroup() != BSGROUP_1_INTR
|
||||
&& !__chConga_isPlayerNearCongaTree(this)
|
||||
&& timedFuncQueue_is_empty()
|
||||
&& !func_8032A9E4(((ActorLocal_Conga *)&this->local)->unk10, ((ActorLocal_Conga *)&this->local)->unk18, ((ActorLocal_Conga *)&this->local)->unk1C)
|
||||
&& !func_803872EC()
|
||||
){
|
||||
subaddie_set_state_with_direction(this, 4, 0.0f, 1);
|
||||
&& !func_803872EC()) {
|
||||
|
||||
subaddie_set_state_with_direction(this, CONGA_STATE_TARGET_GROUND, 0.0f, 1);
|
||||
}//L80387AC0
|
||||
if( player_movementGroup() != BSGROUP_1_INTR
|
||||
|
||||
if (player_movementGroup() != BSGROUP_1_INTR
|
||||
&& __chConga_isPlayerNearCongaTree(this)
|
||||
&& this->unk38_31 != 0
|
||||
&& !func_803872EC()
|
||||
){
|
||||
subaddie_set_state_with_direction(this, 7, 0.0f, 1);
|
||||
&& !func_803872EC()) {
|
||||
|
||||
subaddie_set_state_with_direction(this, CONGA_STATE_TARGET_BANJO, 0.0f, 1);
|
||||
}
|
||||
break;
|
||||
|
||||
case 6: //L80387B24
|
||||
case CONGA_STATE_BEAT_CHEST_STOP: //L80387B24
|
||||
((ActorLocal_Conga *)&this->local)->unkC = 1;
|
||||
actor_playAnimationOnce(this);
|
||||
__chConga_playRandomNoise();
|
||||
if( anctrl_isPlayedForwards(this->anctrl) == TRUE
|
||||
&& actor_animationIsAt(this, 0.0f)
|
||||
){
|
||||
subaddie_set_state_with_direction(this, 5, 0.0f, 1);
|
||||
}
|
||||
else if( !anctrl_isPlayedForwards(this->anctrl)
|
||||
&& actor_animationIsAt(this, 0.001f)
|
||||
){
|
||||
subaddie_set_state_with_direction(this, 1, 0.76f, 1);
|
||||
|
||||
if (anctrl_isPlayedForwards(this->anctrl) == TRUE
|
||||
&& actor_animationIsAt(this, 0.0f)) {
|
||||
|
||||
subaddie_set_state_with_direction(this, CONGA_STATE_BEAT_CHEST, 0.0f, 1);
|
||||
} else if (!anctrl_isPlayedForwards(this->anctrl)
|
||||
&& actor_animationIsAt(this, 0.001f)) {
|
||||
subaddie_set_state_with_direction(this, CONGA_STATE_IDLE, 0.76f, 1);
|
||||
}
|
||||
|
||||
break;
|
||||
|
||||
case 5: //L80387BC0
|
||||
case CONGA_STATE_BEAT_CHEST: //L80387BC0
|
||||
((ActorLocal_Conga *)&this->local)->unkC = 1;
|
||||
actor_loopAnimation(this);
|
||||
__chConga_playRandomNoise();
|
||||
if( actor_animationIsAt(this, 0.99f)){
|
||||
subaddie_maybe_set_state_position_direction(this, 6, 0.999f, 0, sp3C ? 1.0 : 0.4);
|
||||
|
||||
if (actor_animationIsAt(this, 0.99f)) {
|
||||
subaddie_maybe_set_state_position_direction(this, CONGA_STATE_BEAT_CHEST_STOP, 0.999f, 0, sp3C ? 1.0 : 0.4);
|
||||
}//L80387C30
|
||||
if( actor_animationIsAt(this, 0.9f)
|
||||
|| actor_animationIsAt(this, 0.4f)
|
||||
){
|
||||
|
||||
if (actor_animationIsAt(this, 0.9f)
|
||||
|| actor_animationIsAt(this, 0.4f)) {
|
||||
func_8030E6D4(SFX_3FB_UNKNOWN);
|
||||
}
|
||||
|
||||
break;
|
||||
|
||||
case 4: //L80387C74
|
||||
if(actor_animationIsAt(this, 0.6f)){
|
||||
case CONGA_STATE_TARGET_GROUND: //L80387C74
|
||||
if (actor_animationIsAt(this, 0.6f)) {
|
||||
func_8030E58C(SFX_2_CLAW_SWIPE, 0.7f);
|
||||
}
|
||||
|
||||
func_80386FB0(this);
|
||||
if( !sp3C
|
||||
|
||||
if (!sp3C
|
||||
|| player_is_in_jiggy_jig()
|
||||
|| __chConga_isPlayerNearCongaTree(this)
|
||||
|| !timedFuncQueue_is_empty()
|
||||
|| func_803872EC()
|
||||
){
|
||||
subaddie_set_state_with_direction(this, 1, 0.0f, 1);
|
||||
|| func_803872EC()) {
|
||||
|
||||
subaddie_set_state_with_direction(this, CONGA_STATE_IDLE, 0.0f, 1);
|
||||
}
|
||||
|
||||
break;
|
||||
|
||||
case 2: //L80387D0C
|
||||
case CONGA_STATE_HIT: //L80387D0C
|
||||
actor_playAnimationOnce(this);
|
||||
if(actor_animationIsAt(this, 0.99f)){
|
||||
subaddie_set_state_with_direction(this, 1, 0.0f, 1);
|
||||
if (actor_animationIsAt(this, 0.99f)) {
|
||||
subaddie_set_state_with_direction(this, CONGA_STATE_IDLE, 0.0f, 1);
|
||||
}
|
||||
|
||||
break;
|
||||
|
||||
case 8: //L80387D4C
|
||||
case CONGA_STATE_ROAR: //L80387D4C
|
||||
actor_playAnimationOnce(this);
|
||||
if(actor_animationIsAt(this, 0.99f)){
|
||||
subaddie_set_state_with_direction(this, 3, 0.0f, 1);
|
||||
gcdialog_showText(ASSET_B38_DIALOG_CONGA_DEFEAT, 0xe, this->position, this->marker, func_80387370, NULL);
|
||||
|
||||
if (actor_animationIsAt(this, 0.99f)) {
|
||||
subaddie_set_state_with_direction(this, CONGA_STATE_MOPEY, 0.0f, 1);
|
||||
gcdialog_showDialog(ASSET_B38_DIALOG_CONGA_DEFEAT, 0xe, this->position, this->marker, func_80387370, NULL);
|
||||
}
|
||||
|
||||
break;
|
||||
|
||||
case 3: //L80387DB8
|
||||
case CONGA_STATE_MOPEY: //L80387DB8
|
||||
actor_loopAnimation(this);
|
||||
if(jiggyscore_isCollected(JIGGY_A_MM_CONGA)){
|
||||
subaddie_set_state_with_direction(this, 1, 0.0f, 1);
|
||||
|
||||
if (jiggyscore_isCollected(JIGGY_A_MM_CONGA)) {
|
||||
subaddie_set_state_with_direction(this, CONGA_STATE_IDLE, 0.0f, 1);
|
||||
}
|
||||
|
||||
break;
|
||||
|
||||
case 7: //L80387DF0
|
||||
if(this->unk10_12 == 0){
|
||||
if(actor_animationIsAt(this, 0.97f)){
|
||||
case CONGA_STATE_TARGET_BANJO: //L80387DF0
|
||||
if (this->unk10_12 == 0) {
|
||||
if (actor_animationIsAt(this, 0.97f)) {
|
||||
((ActorLocal_Conga *)&this->local)->unkC = 1;
|
||||
subaddie_set_state_with_direction(this, 6, 0.0f, 1);
|
||||
subaddie_set_state_with_direction(this, CONGA_STATE_BEAT_CHEST_STOP, 0.0f, 1);
|
||||
}
|
||||
}
|
||||
|
||||
break;
|
||||
}//L80387E38
|
||||
if( (this->state == 4 && actor_animationIsAt(this, 0.56f))
|
||||
|| (this->state == 7 && actor_animationIsAt(this, 0.468f))
|
||||
){
|
||||
|
||||
if ((this->state == CONGA_STATE_TARGET_GROUND && actor_animationIsAt(this, 0.56f))
|
||||
|| (this->state == CONGA_STATE_TARGET_BANJO && actor_animationIsAt(this, 0.468f))) {
|
||||
|
||||
func_8034A1B4(this->marker->unk44, 5, &this->local);
|
||||
__spawnQueue_add_1((GenFunction_1)__chConga_sendOrangeProjectile, (s32)this->marker); //spawn orange
|
||||
}
|
||||
|
10
src/MM/ch/conga.h
Normal file
10
src/MM/ch/conga.h
Normal file
@@ -0,0 +1,10 @@
|
||||
enum conga_state_s {
|
||||
CONGA_STATE_IDLE = 1,
|
||||
CONGA_STATE_HIT = 2,
|
||||
CONGA_STATE_MOPEY = 3, // After defeat, waiting for Banjo to collect the jiggy
|
||||
CONGA_STATE_TARGET_GROUND = 4,
|
||||
CONGA_STATE_BEAT_CHEST = 5,
|
||||
CONGA_STATE_BEAT_CHEST_STOP = 6, // Though depending on the animation, he'll go back to beating his chest
|
||||
CONGA_STATE_TARGET_BANJO = 7, // Targeting Banjo when he's at eye level
|
||||
CONGA_STATE_ROAR = 8 // When Conga is defeated
|
||||
};
|
@@ -53,7 +53,7 @@ void func_803889A0(ActorMarker *this, s32 arg1){
|
||||
actorPtr = marker_getActor(this);
|
||||
subaddie_set_state_with_direction(actorPtr, 5, 0.0f, 1);
|
||||
actor_playAnimationOnce(actorPtr);
|
||||
FUNC_8030E8B4(SFX_C2_GRUBLIN_EGH, 1.0f, 32000, actorPtr->position, 1250, 2500);
|
||||
sfx_playFadeShorthandDefault(SFX_C2_GRUBLIN_EGH, 1.0f, 32000, actorPtr->position, 1250, 2500);
|
||||
|
||||
actor_collisionOff(actorPtr);
|
||||
}
|
||||
@@ -82,10 +82,10 @@ void func_80388A80(Actor *this) {
|
||||
func_802DB5A0(this);
|
||||
if (this->state == 5) {
|
||||
if (actor_animationIsAt(this, 0.18f)) {
|
||||
FUNC_8030E8B4(SFX_2_CLAW_SWIPE, 1.0f, 28000, this->position, 1250, 2500);
|
||||
sfx_playFadeShorthandDefault(SFX_2_CLAW_SWIPE, 1.0f, 28000, this->position, 1250, 2500);
|
||||
}
|
||||
if (actor_animationIsAt(this, 0.7f)) {
|
||||
FUNC_8030E8B4(SFX_1F_HITTING_AN_ENEMY_3, 1.0f, 28000, this->position, 1250, 2500);
|
||||
sfx_playFadeShorthandDefault(SFX_1F_HITTING_AN_ENEMY_3, 1.0f, 28000, this->position, 1250, 2500);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@@ -15,7 +15,7 @@ Actor *chhut_draw(ActorMarker *, Gfx **, Mtx **, Vtx **);
|
||||
void chhut_update(Actor *);
|
||||
|
||||
/* .bss */
|
||||
extern s32 mm_hut_smash_count; //mm_hut_smash_count
|
||||
extern s32 mmhut_smashCount; //mmhut_smashCount
|
||||
|
||||
/* .data */
|
||||
enum chhut_state_e {
|
||||
@@ -94,14 +94,14 @@ void chhut_update(Actor *this) {
|
||||
__spawnQueue_add_1((GenFunction_1) __chhut_spawnExplosion, (s32) this->marker);
|
||||
bundle_setYaw(this->yaw);
|
||||
|
||||
if (mm_hut_smash_count < 5) {
|
||||
__spawnQueue_add_4((GenFunction_4) spawnQueue_bundle_f32, D_803898D8[mm_hut_smash_count], *(s32 * )(&diff_pos[0]), *(s32 * )(&diff_pos[1]), *(s32 * )(&diff_pos[2]));
|
||||
if (mmhut_smashCount < 5) {
|
||||
__spawnQueue_add_4((GenFunction_4) spawnQueue_bundle_f32, D_803898D8[mmhut_smashCount], *(s32 * )(&diff_pos[0]), *(s32 * )(&diff_pos[1]), *(s32 * )(&diff_pos[2]));
|
||||
}
|
||||
else {
|
||||
jiggy_spawn(JIGGY_5_MM_HUTS, diff_pos);
|
||||
}
|
||||
|
||||
mm_hut_smash_count = (mm_hut_smash_count + 1) % 6;
|
||||
mmhut_smashCount = (mmhut_smashCount + 1) % 6;
|
||||
}
|
||||
break;
|
||||
|
||||
@@ -119,7 +119,7 @@ void chhut_update(Actor *this) {
|
||||
}
|
||||
|
||||
void mm_resetHuts(void) {
|
||||
mm_hut_smash_count = 0;
|
||||
mmhut_smashCount = 0;
|
||||
}
|
||||
|
||||
ActorInfo chhutInfo = {
|
||||
|
@@ -135,10 +135,10 @@ void func_803892A8(ActorMarker **ptr) {
|
||||
if (i == 3) {
|
||||
gcpausemenu_80314AC8(0);
|
||||
timedFunc_set_4(1.25f, __chjuju_solvePuzzle, jujuPtr->next_pos_x, jujuPtr->next_pos_y, jujuPtr->next_pos_z, actorPtr->yaw);
|
||||
func_8025A6EC(COMUSIC_2D_PUZZLE_SOLVED_FANFARE, 0x6d60);
|
||||
coMusicPlayer_playMusic(COMUSIC_2D_PUZZLE_SOLVED_FANFARE, 0x6d60);
|
||||
}
|
||||
else {//L80389384
|
||||
func_8025A6EC(COMUSIC_2B_DING_B, 0x7fff);
|
||||
coMusicPlayer_playMusic(COMUSIC_2B_DING_B, 0x7fff);
|
||||
}
|
||||
|
||||
for (s2 = 3, j = i + 1; j < 4; s2 += 5, j++) {
|
||||
|
@@ -137,8 +137,8 @@ void chjujuhitbox_update(Actor *this) {
|
||||
return;
|
||||
}
|
||||
|
||||
if (func_80329530(this, 0xfa) && !func_80329530(this, 0x50) && !player_movementGroup()) {
|
||||
if (!this->has_met_before && gcdialog_showText(ASSET_B44_DIALOG_JUJU_MEET, 0, 0, 0, NULL, NULL)) {
|
||||
if (subaddie_playerIsWithinSphereAndActive(this, 0xfa) && !subaddie_playerIsWithinSphereAndActive(this, 0x50) && !player_movementGroup()) {
|
||||
if (!this->has_met_before && gcdialog_showDialog(ASSET_B44_DIALOG_JUJU_MEET, 0, 0, 0, NULL, NULL)) {
|
||||
this->has_met_before = TRUE;
|
||||
}
|
||||
}
|
||||
|
@@ -43,7 +43,7 @@ ActorInfo chlmonkeyInfo = {
|
||||
void __chlmonkey_updateBringOrange(Actor **this_ptr) {
|
||||
player_setCarryObjectPoseInHorizontalRadius((*this_ptr)->position, 800.0f, ACTOR_29_ORANGE_COLLECTIBLE, this_ptr);
|
||||
|
||||
if (func_80329530(*this_ptr, 345) &&
|
||||
if (subaddie_playerIsWithinSphereAndActive(*this_ptr, 345) &&
|
||||
bacarry_get_markerId() == MARKER_36_ORANGE_COLLECTIBLE &&
|
||||
player_throwCarriedObject()) {
|
||||
|
||||
@@ -67,7 +67,7 @@ void __chlmonkey_playRandomNoise(Actor *this) {
|
||||
|
||||
if (sNoiseCooldown < 0 && randf() < 0.2) {
|
||||
sNoiseCooldown = 6;
|
||||
func_8030E6A4(((random_noise < 0.5) ? SFX_58_CHIMPY_NOISE_1 : SFX_59_CHIMPY_NOISE_2), randf() * 0.25 + 0.85, scaled_noise_volume);
|
||||
gcsfx_playWithPitch(((random_noise < 0.5) ? SFX_58_CHIMPY_NOISE_1 : SFX_59_CHIMPY_NOISE_2), randf() * 0.25 + 0.85, scaled_noise_volume);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -98,7 +98,7 @@ void chlmonkey_update(Actor *this) {
|
||||
func_80343DEC(this);
|
||||
}
|
||||
else {//L80388630
|
||||
if (func_80329530(this, 700) && !func_803114B0()) {
|
||||
if (subaddie_playerIsWithinSphereAndActive(this, 700) && !gcdialog_hasCurrentTextId()) {
|
||||
__chlmonkey_playRandomNoise(this);
|
||||
}//L8038865C
|
||||
|
||||
@@ -108,7 +108,7 @@ void chlmonkey_update(Actor *this) {
|
||||
subaddie_set_state(this, LMONKEY_STATE_4_LEAVING);
|
||||
|
||||
if (!jiggyscore_isCollected(JIGGY_9_MM_CHIMPY)) {
|
||||
gcdialog_showText(ASSET_B40_DIALOG_CHIMPY_COMPLETE, 0xE, this->position, this->marker, __chlmonkey_complete, NULL);
|
||||
gcdialog_showDialog(ASSET_B40_DIALOG_CHIMPY_COMPLETE, 0xE, this->position, this->marker, __chlmonkey_complete, NULL);
|
||||
}
|
||||
else {//L803886E8
|
||||
__chlmonkey_complete(this->marker, ASSET_B40_DIALOG_CHIMPY_COMPLETE, -1);
|
||||
@@ -117,12 +117,12 @@ void chlmonkey_update(Actor *this) {
|
||||
else {
|
||||
__chlmonkey_updateBringOrange(&this);
|
||||
|
||||
if (func_80329530(this, 345) &&
|
||||
!func_80329530(this, 150) &&
|
||||
if (subaddie_playerIsWithinSphereAndActive(this, 345) &&
|
||||
!subaddie_playerIsWithinSphereAndActive(this, 150) &&
|
||||
!item_getCount(ITEM_19_ORANGE) &&
|
||||
!this->has_met_before) {
|
||||
|
||||
gcdialog_showText(ASSET_B3F_DIALOG_CHIMPY_MEET, 0xe, this->position, NULL, NULL, NULL);
|
||||
gcdialog_showDialog(ASSET_B3F_DIALOG_CHIMPY_MEET, 0xe, this->position, NULL, NULL, NULL);
|
||||
this->has_met_before = TRUE;
|
||||
}//L80388774
|
||||
|
||||
|
@@ -30,7 +30,7 @@ f32 D_80389A00[3] = {0.0f, 0.0f, 0.0f};
|
||||
void __chorange_collisionCallback(ActorMarker *marker, ActorMarker *other_marker) {
|
||||
if (!player_isDead() &&
|
||||
!mapSpecificFlags_get(MM_SPECIFIC_FLAG_8_HIT_WITH_ORANGE) &&
|
||||
gcdialog_showText(ASSET_B3A_DIALOG_CONGA_HITS_PLAYER, 0, 0, 0, NULL, NULL)) {
|
||||
gcdialog_showDialog(ASSET_B3A_DIALOG_CONGA_HITS_PLAYER, 0, 0, 0, NULL, NULL)) {
|
||||
|
||||
mapSpecificFlags_set(MM_SPECIFIC_FLAG_8_HIT_WITH_ORANGE, TRUE);
|
||||
}
|
||||
|
@@ -2,87 +2,93 @@
|
||||
#include "functions.h"
|
||||
#include "variables.h"
|
||||
|
||||
/* extern functions */
|
||||
void actor_update_func_80326224(Actor *);
|
||||
void func_80329904(ActorMarker *, s32, void *);
|
||||
extern void func_802EFA20(ParticleEmitter *, f32, f32);
|
||||
#include "core2/staticcamera.h"
|
||||
|
||||
/* public functions */
|
||||
void chorangepad_update(Actor *);
|
||||
#include "conga.h"
|
||||
#include "orangepad.h"
|
||||
|
||||
/* .data */
|
||||
ActorInfo chorangepadInfo = {
|
||||
extern void func_80329904(ActorMarker *, s32, void *);
|
||||
|
||||
void chOrangePad_update(Actor *);
|
||||
|
||||
ActorInfo chOrangePadInfo = {
|
||||
MARKER_66_ORANGE_PAD, ACTOR_57_ORANGE_PAD, ASSET_2EB_MODEL_ORANGE_PAD,
|
||||
0, NULL,
|
||||
chorangepad_update, actor_update_func_80326224, actor_draw,
|
||||
chOrangePad_update, actor_update_func_80326224, actor_draw,
|
||||
0, 0, 0.0f, 0
|
||||
};
|
||||
|
||||
/*.code */
|
||||
void __chorangepad_spawnJiggy(s32 x, s32 y, s32 z) {
|
||||
void spawnJiggy(s32 x, s32 y, s32 z) {
|
||||
f32 pos[3];
|
||||
|
||||
TUPLE_ASSIGN(pos, x, y, z);
|
||||
jiggy_spawn(JIGGY_8_MM_ORANGE_PADS, pos);
|
||||
}
|
||||
|
||||
void func_80386444(ActorMarker *marker) {
|
||||
void handleOrangeCollision(ActorMarker *marker) {
|
||||
f32 distance_to_orange_pad;
|
||||
Actor *closest_orange_pad;
|
||||
f32 position[3];
|
||||
ParticleEmitter *p_ctrl;
|
||||
s32 temp_a0;
|
||||
s32 camera_id;
|
||||
|
||||
position[0] = marker->propPtr->x;
|
||||
position[1] = marker->propPtr->y;
|
||||
position[2] = marker->propPtr->z;
|
||||
|
||||
closest_orange_pad = actorArray_findClosestActorFromActorId(position, ACTOR_57_ORANGE_PAD, 1, &distance_to_orange_pad);
|
||||
closest_orange_pad = actorArray_findClosestActorFromActorId(position, ACTOR_57_ORANGE_PAD, ORANGE_PAD_STATE_HIT, &distance_to_orange_pad);
|
||||
|
||||
if (closest_orange_pad && !(500.0f < distance_to_orange_pad)) {
|
||||
closest_orange_pad->state = 1;
|
||||
|
||||
if (actorArray_findClosestActorFromActorId(position, ACTOR_57_ORANGE_PAD, 1, &distance_to_orange_pad)) {
|
||||
func_8025A6EC(COMUSIC_2B_DING_B, 22000);
|
||||
}
|
||||
else {
|
||||
temp_a0 = (closest_orange_pad->unk78_13 == 0x106) ? 0x10
|
||||
: (closest_orange_pad->unk78_13 == 0x76) ? 0xf
|
||||
: 0xe;
|
||||
|
||||
func_802BAFE4(temp_a0);
|
||||
position[1] += 50.0f;
|
||||
timedFunc_set_3(0.6f, (GenFunction_3) __chorangepad_spawnJiggy, (s32) position[0], (s32) position[1], (s32) position[2]);
|
||||
func_8025A6EC(COMUSIC_2D_PUZZLE_SOLVED_FANFARE, 0x7FFF);
|
||||
|
||||
if (!jiggyscore_isCollected(JIGGY_8_MM_ORANGE_PADS)) {
|
||||
gcdialog_showText(0xB3B, 4, NULL, NULL, NULL, NULL);
|
||||
}
|
||||
}// L803865D8
|
||||
|
||||
// Emmit sparkles
|
||||
p_ctrl = partEmitMgr_newEmitter(30);
|
||||
particleEmitter_setPosition(p_ctrl, closest_orange_pad->position);
|
||||
particleEmitter_setModel(p_ctrl, 0x89f);
|
||||
particleEmitter_setStartingScaleRange(p_ctrl, 0.09f, 0.19f);
|
||||
particleEmitter_setFinalScaleRange(p_ctrl, 0.0f, 0.0f);
|
||||
particleEmitter_setParticleVelocityRange(p_ctrl, -200.0f, 500.0f, -200.0f, 200.0f, 700.0f, 200.0f);
|
||||
particleEmitter_setAccelerationRange(p_ctrl, 0.0f, -1200.0f, 0.0f, 0.0f, -1200.0f, 0.0f);
|
||||
particleEmitter_setAngularVelocityRange(p_ctrl, -600.0f, -600.0f, -600.0f, 600.0f, 600.0f, 600.0f);
|
||||
particleEmitter_setSpawnIntervalRange(p_ctrl, 0.0f, 0.01f);
|
||||
particleEmitter_setParticleLifeTimeRange(p_ctrl, 4.0f, 4.0f);
|
||||
particleEmitter_func_802EF9F8(p_ctrl, 0.01f);
|
||||
particleEmitter_func_802EFA18(p_ctrl, 3);
|
||||
func_802EFA20(p_ctrl, 1.0f, 1.3f);
|
||||
particleEmitter_emitN(p_ctrl, 30);
|
||||
if (!closest_orange_pad || 500.0f < distance_to_orange_pad) {
|
||||
return;
|
||||
}
|
||||
|
||||
closest_orange_pad->state = ORANGE_PAD_STATE_HIT;
|
||||
|
||||
if (actorArray_findClosestActorFromActorId(position, ACTOR_57_ORANGE_PAD, ORANGE_PAD_STATE_HIT, &distance_to_orange_pad)) {
|
||||
// There are still other pads on the ground, play progress ding
|
||||
coMusicPlayer_playMusic(COMUSIC_2B_DING_B, 22000);
|
||||
} else { // No more pads, dispense jiggy
|
||||
camera_id = (closest_orange_pad->secondaryId == ORANGE_PAD_RIGHT) ? MM_ORANGE_PAD_JIGGY_SPAWN_RIGHT
|
||||
: (closest_orange_pad->secondaryId == ORANGE_PAD_LEFT) ? MM_ORANGE_PAD_JIGGY_SPAWN_LEFT
|
||||
: MM_ORANGE_PAD_JIGGY_SPAWN_TOP;
|
||||
|
||||
gcStaticCamera_activate(camera_id);
|
||||
|
||||
position[1] += 50.0f;
|
||||
timedFunc_set_3(0.6f, (GenFunction_3) spawnJiggy, (s32) position[0], (s32) position[1], (s32) position[2]);
|
||||
|
||||
coMusicPlayer_playMusic(COMUSIC_2D_PUZZLE_SOLVED_FANFARE, 0x7FFF);
|
||||
|
||||
if (!jiggyscore_isCollected(JIGGY_8_MM_ORANGE_PADS)) {
|
||||
gcdialog_showDialog(ASSET_B3B_DIALOG_CONGA_ORANGE_PAD_JIGGY, 4, NULL, NULL, NULL, NULL);
|
||||
}
|
||||
}
|
||||
|
||||
// Spawn orange particles
|
||||
p_ctrl = partEmitMgr_newEmitter(ORANGE_PARTICLE_COUNT);
|
||||
|
||||
particleEmitter_setPosition(p_ctrl, closest_orange_pad->position);
|
||||
particleEmitter_setModel(p_ctrl, ASSET_89F_MODEL_ORANGE_PARTICLE);
|
||||
particleEmitter_setStartingScaleRange(p_ctrl, 0.09f, 0.19f);
|
||||
particleEmitter_setFinalScaleRange(p_ctrl, 0.0f, 0.0f);
|
||||
particleEmitter_setParticleVelocityRange(p_ctrl, -200.0f, 500.0f, -200.0f, 200.0f, 700.0f, 200.0f);
|
||||
particleEmitter_setAccelerationRange(p_ctrl, 0.0f, -1200.0f, 0.0f, 0.0f, -1200.0f, 0.0f);
|
||||
particleEmitter_setAngularVelocityRange(p_ctrl, -600.0f, -600.0f, -600.0f, 600.0f, 600.0f, 600.0f);
|
||||
particleEmitter_setSpawnIntervalRange(p_ctrl, 0.0f, 0.01f);
|
||||
particleEmitter_setParticleLifeTimeRange(p_ctrl, 4.0f, 4.0f);
|
||||
particleEmitter_func_802EF9F8(p_ctrl, 0.01f);
|
||||
particleEmitter_func_802EFA18(p_ctrl, 3);
|
||||
particleEmitter_func_802EFA20(p_ctrl, 1.0f, 1.3f);
|
||||
|
||||
particleEmitter_emitN(p_ctrl, ORANGE_PARTICLE_COUNT);
|
||||
}
|
||||
|
||||
void func_80386744(s32 arg0, ActorMarker *arg1) {
|
||||
func_80386444(arg1);
|
||||
void chOrangePad_handleOrangeCollision(s32 _, ActorMarker *marker) {
|
||||
handleOrangeCollision(marker);
|
||||
}
|
||||
|
||||
void chorangepad_update(Actor *this) {
|
||||
Actor *closest_actor;
|
||||
void chOrangePad_update(Actor *this) {
|
||||
Actor *conga;
|
||||
f32 unused;
|
||||
f32 min_distance;
|
||||
|
||||
@@ -90,41 +96,41 @@ void chorangepad_update(Actor *this) {
|
||||
this->marker->propPtr->unk8_3 = 1;
|
||||
actor_collisionOff(this);
|
||||
this->initialized = TRUE;
|
||||
}//L803867B0
|
||||
}
|
||||
|
||||
if (!this->volatile_initialized) {
|
||||
this->unk100 = actorArray_findClosestActorFromActorId(this->position, 8, -1, &min_distance)->marker;
|
||||
this->partnerActor = actorArray_findClosestActorFromActorId(this->position, ACTOR_8_CONGA, -1, &min_distance)->marker;
|
||||
this->volatile_initialized = TRUE;
|
||||
}//L803867E0
|
||||
|
||||
if (this->unk100) {
|
||||
closest_actor = marker_getActor(this->unk100);
|
||||
}
|
||||
|
||||
if (func_80329530(this, 0x28) &&
|
||||
!player_movementGroup() &&
|
||||
!mapSpecificFlags_get(MM_SPECIFIC_FLAG_6_UNKNOWN) &&
|
||||
closest_actor->state != 3) {
|
||||
if (this->partnerActor) {
|
||||
conga = marker_getActor(this->partnerActor);
|
||||
}
|
||||
|
||||
if (gcdialog_showText(0xb3d, 0, NULL, NULL, NULL, NULL)) {
|
||||
mapSpecificFlags_set(MM_SPECIFIC_FLAG_6_UNKNOWN, TRUE);
|
||||
if (subaddie_playerIsWithinSphereAndActive(this, CONGA_WARN_DISTANCE)
|
||||
&& !player_movementGroup()
|
||||
&& !mapSpecificFlags_get(MM_SPECIFIC_FLAG_CONGA_WARNED_BLOCKS)
|
||||
&& conga->state != CONGA_STATE_MOPEY) {
|
||||
|
||||
if (gcdialog_showDialog(ASSET_B3D_DIALOG_CONGA_DONT_TOUCH_BLOCKS, 0, NULL, NULL, NULL, NULL)) {
|
||||
mapSpecificFlags_set(MM_SPECIFIC_FLAG_CONGA_WARNED_BLOCKS, TRUE);
|
||||
}
|
||||
}
|
||||
|
||||
if (this->state == 1) {
|
||||
if (this->state == ORANGE_PAD_STATE_HIT) {
|
||||
if (this->lifetime_value < 72.0f) {
|
||||
func_8033E73C(this->marker, 5, func_80329904);
|
||||
func_8033E3F0(9, this->marker->unk14_21);
|
||||
commonParticle_add(this->marker, 5, func_80329904);
|
||||
commonParticle_new(9, this->marker->unk14_21);
|
||||
}
|
||||
|
||||
this->lifetime_value = MIN(255.0, this->lifetime_value + 7.0);
|
||||
// Tick up respawn by 7 every update
|
||||
this->lifetime_value = MIN(ORANGE_PAD_HIT_LIFETIME, this->lifetime_value + ORANGE_PAD_LIFETIME_INCREMENT);
|
||||
|
||||
if (255.0 == this->lifetime_value) {
|
||||
if (ORANGE_PAD_HIT_LIFETIME == this->lifetime_value) {
|
||||
marker_despawn(this->marker);
|
||||
}
|
||||
}
|
||||
else {
|
||||
}//L80386928
|
||||
} else { } // Can't remove the else ;.;
|
||||
|
||||
// If hit, then fade out
|
||||
actor_setOpacity(this, 0xFF - (s32) this->lifetime_value);
|
||||
}//*/
|
||||
}
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user