Merge branch 'master' of https://gitlab.com/banjo.decomp/banjo-kazooie into document/sandcastle
This commit is contained in:
@@ -195,7 +195,7 @@ void __baMarker_8028BAB0(enum jiggy_e jiggy_id, s32 arg1, s32 arg2, s32 arg3){
|
||||
}
|
||||
|
||||
// arg1 - if bit 0x400000 is set, it's a volatile flag, else it's a file progress flag (for witch switches)
|
||||
void __baMarker_8028BB1C(s32 arg0, u32 arg1, s32 arg2, s32 arg3, s32 arg4, s32 arg5, s32 arg6){
|
||||
void __baMarker_8028BB1C(s32 arg0, enum file_progress_e progress_flag, s32 arg2, s32 arg3, s32 arg4, s32 arg5, s32 arg6){
|
||||
u32 sp24;
|
||||
if(arg0 != 1)
|
||||
return;
|
||||
@@ -203,9 +203,9 @@ void __baMarker_8028BB1C(s32 arg0, u32 arg1, s32 arg2, s32 arg3, s32 arg4, s32 a
|
||||
if(func_8028ECAC() == 1)
|
||||
return;
|
||||
|
||||
// if bit 0x400000 of arg1 is set, it's a volatile flag, else it's a file progress flag (for witch switches)
|
||||
if(arg1 & 0x400000){
|
||||
sp24 = arg1 + 0xFFC00000; // weird truncing
|
||||
// if bit 0x400000 of fileProgressFlag is set, it's a volatile flag, else it's a file progress flag (for witch switches)
|
||||
if(progress_flag & 0x400000){
|
||||
sp24 = progress_flag + 0xFFC00000; // weird truncing
|
||||
if(!volatileFlag_get(sp24)){
|
||||
volatileFlag_set(sp24, 1);
|
||||
func_8030E6D4(SFX_90_SWITCH_PRESS);
|
||||
@@ -214,8 +214,8 @@ void __baMarker_8028BB1C(s32 arg0, u32 arg1, s32 arg2, s32 arg3, s32 arg4, s32 a
|
||||
}
|
||||
}
|
||||
else{//L8028BBB8
|
||||
if(!fileProgressFlag_get(arg1)){
|
||||
fileProgressFlag_set(arg1, 1);
|
||||
if(!fileProgressFlag_get(progress_flag)){
|
||||
fileProgressFlag_set(progress_flag, 1);
|
||||
func_8030E6D4(SFX_90_SWITCH_PRESS);
|
||||
volatileFlag_set(VOLATILE_FLAG_BF, 1);
|
||||
func_802D6264(1.0f, arg2, arg3, arg4, arg5, arg6);
|
||||
@@ -388,9 +388,23 @@ void __baMarker_resolveCollision(Prop *other_prop){
|
||||
return;
|
||||
player_getPosition(spAC);
|
||||
spAC[1] += 40.0f;
|
||||
if(func_802458E0(spAC, actor, 0x87) == 0)
|
||||
if(collisionTri_isHitFromAbove_actor(spAC, actor, 0x87) == 0)
|
||||
return;
|
||||
volatileFlag_set(VOLATILE_FLAG_1E, 1);
|
||||
/**
|
||||
* This should use the following fileprog flags:
|
||||
*
|
||||
* FILEPROG_49_PINK_CAULDRON_1_ACTIVE
|
||||
* FILEPROG_4A_PINK_CAULDRON_2_ACTIVE
|
||||
* FILEPROG_4B_GREEN_CAULDRON_1_ACTIVE
|
||||
* FILEPROG_4C_GREEN_CAULDRON_2_ACTIVE
|
||||
* FILEPROG_4D_RED_CAULDRON_1_ACTIVE
|
||||
* FILEPROG_4E_RED_CAULDRON_2_ACTIVE
|
||||
* FILEPROG_4F_UNUSED_CAULDRON_1_ACTIVE
|
||||
* FILEPROG_50_UNUSED_CAULDRON_2_ACTIVE
|
||||
* FILEPROG_51_YELLOW_CAULDRON_1_ACTIVE
|
||||
* FILEPROG_52_YELLOW_CAULDRON_2_ACTIVE
|
||||
*/
|
||||
if(fileProgressFlag_get(((actor->unkF4_8 - 1) ^ 1) + 0x49)){
|
||||
actor->unk10_12 = 2;
|
||||
}
|
||||
|
@@ -36,7 +36,8 @@ void func_802A0340(void){
|
||||
}
|
||||
}
|
||||
|
||||
// bsBee_inSet
|
||||
// bsBee_inSet
|
||||
// move_idx is probably a bs_e
|
||||
int bsbee_inSet(s32 move_idx){
|
||||
return (move_idx == 0x85)
|
||||
|| (move_idx == 0x86)
|
||||
|
@@ -47,25 +47,25 @@ void __bsDroneEnter_emitParticles(void) {
|
||||
f32 plyr_pos[3];
|
||||
|
||||
player_getPosition(plyr_pos);
|
||||
particleEmitter_setParticleAccelerationRange(bsDroneEnter.yellow_sparkle_emitter, 0.0f, 700.0f, 0.0f, 0.0f, 1200.0f, 0.0f);
|
||||
particleEmitter_setParticleSpawnPositionRange(bsDroneEnter.yellow_sparkle_emitter, -45.0f, -5.0f, -45.0f, 45.0f, 10.0f, 45.0f);
|
||||
particleEmitter_setAccelerationRange(bsDroneEnter.yellow_sparkle_emitter, 0.0f, 700.0f, 0.0f, 0.0f, 1200.0f, 0.0f);
|
||||
particleEmitter_setSpawnPositionRange(bsDroneEnter.yellow_sparkle_emitter, -45.0f, -5.0f, -45.0f, 45.0f, 10.0f, 45.0f);
|
||||
particleEmitter_setPosition(bsDroneEnter.yellow_sparkle_emitter, plyr_pos);
|
||||
particleEmitter_emitN(bsDroneEnter.yellow_sparkle_emitter, 1);
|
||||
|
||||
particleEmitter_setParticleAccelerationRange(bsDroneEnter.white_sparkle_emitter, 0.0f, 700.0f, 0.0f, 0.0f, 1200.0f, 0.0f);
|
||||
particleEmitter_setParticleSpawnPositionRange(bsDroneEnter.yellow_sparkle_emitter, -45.0f, -5.0f, -45.0f, 45.0f, 10.0f, 45.0f);
|
||||
particleEmitter_setAccelerationRange(bsDroneEnter.white_sparkle_emitter, 0.0f, 700.0f, 0.0f, 0.0f, 1200.0f, 0.0f);
|
||||
particleEmitter_setSpawnPositionRange(bsDroneEnter.yellow_sparkle_emitter, -45.0f, -5.0f, -45.0f, 45.0f, 10.0f, 45.0f);
|
||||
particleEmitter_setPosition(bsDroneEnter.white_sparkle_emitter, plyr_pos);
|
||||
particleEmitter_emitN(bsDroneEnter.white_sparkle_emitter, 1);
|
||||
|
||||
player_getPosition(plyr_pos);
|
||||
plyr_pos[1] += 130.0f;
|
||||
particleEmitter_setParticleAccelerationRange(bsDroneEnter.yellow_sparkle_emitter, 0.0f, -700.0f, 0.0f, 0.0f, -1200.0f, 0.0f);
|
||||
particleEmitter_setParticleSpawnPositionRange(bsDroneEnter.yellow_sparkle_emitter, -45.0f, -10.0f, -45.0f, 45.0f, 10.0f, 45.0f);
|
||||
particleEmitter_setAccelerationRange(bsDroneEnter.yellow_sparkle_emitter, 0.0f, -700.0f, 0.0f, 0.0f, -1200.0f, 0.0f);
|
||||
particleEmitter_setSpawnPositionRange(bsDroneEnter.yellow_sparkle_emitter, -45.0f, -10.0f, -45.0f, 45.0f, 10.0f, 45.0f);
|
||||
particleEmitter_setPosition(bsDroneEnter.yellow_sparkle_emitter, plyr_pos);
|
||||
particleEmitter_emitN(bsDroneEnter.yellow_sparkle_emitter, 1);
|
||||
|
||||
particleEmitter_setParticleAccelerationRange(bsDroneEnter.white_sparkle_emitter, 0.0f, -700.0f, 0.0f, 0.0f, -1200.0f, 0.0f);
|
||||
particleEmitter_setParticleSpawnPositionRange(bsDroneEnter.yellow_sparkle_emitter, -45.0f, -10.0f, -45.0f, 45.0f, 10.0f, 45.0f);
|
||||
particleEmitter_setAccelerationRange(bsDroneEnter.white_sparkle_emitter, 0.0f, -700.0f, 0.0f, 0.0f, -1200.0f, 0.0f);
|
||||
particleEmitter_setSpawnPositionRange(bsDroneEnter.yellow_sparkle_emitter, -45.0f, -10.0f, -45.0f, 45.0f, 10.0f, 45.0f);
|
||||
particleEmitter_setPosition(bsDroneEnter.white_sparkle_emitter, plyr_pos);
|
||||
particleEmitter_emitN(bsDroneEnter.white_sparkle_emitter, 1);
|
||||
}
|
||||
|
@@ -40,17 +40,17 @@ void __bsDroneVanish_emitParticles(void) {
|
||||
f32 position[3];
|
||||
|
||||
player_getPosition(position);
|
||||
particleEmitter_setParticleAccelerationRange(D_8037D450.unk4, 0.0f, 700.0f, 0.0f, 0.0f, 1200.0f, 0.0f);
|
||||
particleEmitter_setAccelerationRange(D_8037D450.unk4, 0.0f, 700.0f, 0.0f, 0.0f, 1200.0f, 0.0f);
|
||||
particleEmitter_setPosition(D_8037D450.unk4, position);
|
||||
particleEmitter_emitN(D_8037D450.unk4, 1);
|
||||
particleEmitter_setParticleAccelerationRange(D_8037D450.unk0, 0.0f, 700.0f, 0.0f, 0.0f, 1200.0f, 0.0f);
|
||||
particleEmitter_setAccelerationRange(D_8037D450.unk0, 0.0f, 700.0f, 0.0f, 0.0f, 1200.0f, 0.0f);
|
||||
particleEmitter_setPosition(D_8037D450.unk0, position);
|
||||
particleEmitter_emitN(D_8037D450.unk0, 1);
|
||||
position[1] += 130.0f;
|
||||
particleEmitter_setParticleAccelerationRange(D_8037D450.unk4, 0.0f, -700.0f, 0.0f, 0.0f, -1200.0f, 0.0f);
|
||||
particleEmitter_setAccelerationRange(D_8037D450.unk4, 0.0f, -700.0f, 0.0f, 0.0f, -1200.0f, 0.0f);
|
||||
particleEmitter_setPosition(D_8037D450.unk4, position);
|
||||
particleEmitter_emitN(D_8037D450.unk4, 1);
|
||||
particleEmitter_setParticleAccelerationRange(D_8037D450.unk0, 0.0f, -700.0f, 0.0f, 0.0f, -1200.0f, 0.0f);
|
||||
particleEmitter_setAccelerationRange(D_8037D450.unk0, 0.0f, -700.0f, 0.0f, 0.0f, -1200.0f, 0.0f);
|
||||
particleEmitter_setPosition(D_8037D450.unk0, position);
|
||||
particleEmitter_emitN(D_8037D450.unk0, 1);
|
||||
}
|
||||
@@ -59,7 +59,7 @@ void __bsDroneVanish_particleEmitInit(ParticleEmitter *p_ctrl, enum asset_e spri
|
||||
particleEmitter_manualFree();
|
||||
particleEmitter_setSprite(p_ctrl, sprite_id);
|
||||
particleEmitter_setFade(p_ctrl, 0.3f, 0.8f);
|
||||
particleEmitter_setParticleSpawnPositionRange(p_ctrl, -45.0f, 0.0f, -45.0f, 45.0f, 0.0f, 45.0f);
|
||||
particleEmitter_setSpawnPositionRange(p_ctrl, -45.0f, 0.0f, -45.0f, 45.0f, 0.0f, 45.0f);
|
||||
particleEmitter_setStartingScaleRange(p_ctrl, 0.15f, 0.22f);
|
||||
particleEmitter_setFinalScaleRange(p_ctrl, 0.03f, 0.05f);
|
||||
particleEmitter_setAngularVelocityRange(p_ctrl, 0.0f, 0.0f, 300.0f, 0.0f, 0.0f, 300.0f);
|
||||
|
@@ -36,7 +36,7 @@ struct {
|
||||
void func_802AF7A0(ParticleEmitter *arg0, enum asset_e arg1){
|
||||
particleEmitter_manualFree(arg0);
|
||||
particleEmitter_setSprite(arg0, arg1);
|
||||
particleEmitter_setParticleAccelerationRange(arg0, 0.0f, -50.0f, 0.0f, 0.0f, -50.0f, 0.0f);
|
||||
particleEmitter_setAccelerationRange(arg0, 0.0f, -50.0f, 0.0f, 0.0f, -50.0f, 0.0f);
|
||||
particleEmitter_setFade(arg0, 0.4f, 0.8f);
|
||||
particleEmitter_setFinalScaleRange(arg0, 0.03f, 0.03f);
|
||||
particleEmitter_setAngularVelocityRange(arg0, 0.0f, 0.0f, 300.0f, 0.0f, 0.0f, 300.0f);
|
||||
@@ -116,31 +116,31 @@ void func_802AFBAC(f32 arg0){
|
||||
}
|
||||
|
||||
void func_802AFBB8(f32 arg0[3]){
|
||||
static struct41s D_80364BB0 = {
|
||||
static ParticleSettingsVelocityAcceleration D_80364BB0 = {
|
||||
{{-150.0f, 10.0f, -150.0f}, { 150.0f, 50.0f, 150.0f}},
|
||||
{{ 0.0f, -50.0f, 0.0f}, { 0.0f, -50.0f, 0.0f}}
|
||||
};
|
||||
|
||||
static struct41s D_80364BE0 = {
|
||||
static ParticleSettingsVelocityAcceleration D_80364BE0 = {
|
||||
{{-300.0f, 150.0f, -300.0f}, { 300.0f, 200.0f, 300.0f}},
|
||||
{{ 0.0f, -150.0f, 0.0f}, { 0.0f, -150.0f, 0.0f}}
|
||||
};
|
||||
|
||||
|
||||
static struct41s D_80364C10 = {
|
||||
static ParticleSettingsVelocityAcceleration D_80364C10 = {
|
||||
{{-100.0f, 10.0f, -100.0f}, { 100.0f, 15.0f, 100.0f}},
|
||||
{{ 0.0f, -700.0f, 0.0f}, { 0.0f, -700.0f, 0.0f}}
|
||||
};
|
||||
|
||||
static struct41s D_80364C40 = {
|
||||
static ParticleSettingsVelocityAcceleration D_80364C40 = {
|
||||
{{ -50.0f, 60.0f, -50.0f}, { 50.0f, 150.0f, 50.0f}},
|
||||
{{ 0.0f, -50.0f, 0.0f}, { 0.0f, -50.0f, 0.0f}}
|
||||
};
|
||||
static struct41s D_80364C70 = {
|
||||
static ParticleSettingsVelocityAcceleration D_80364C70 = {
|
||||
{{-400.0f, 150.0f, -400.0f}, { 400.0f, 200.0f, 400.0f}},
|
||||
{{ 0.0f, -200.0f, 0.0f}, { 0.0f, -200.0f, 0.0f}}
|
||||
};
|
||||
static struct41s D_80364CA0 = {
|
||||
static ParticleSettingsVelocityAcceleration D_80364CA0 = {
|
||||
{{-200.0f, 10.0f, -200.0f}, { 200.0f, 20.0f, 200.0f}},
|
||||
{{ 0.0f, -850.0f, 0.0f}, { 0.0f, -850.0f, 0.0f}}
|
||||
};
|
||||
@@ -180,8 +180,8 @@ void func_802AFBB8(f32 arg0[3]){
|
||||
particleEmitter_emitN(s0, 5);
|
||||
|
||||
particleEmitter_setVelocityAndAccelerationRanges(s0, &D_80364C10);
|
||||
func_802EF9F8(s0, 0.4f);
|
||||
func_802EFA18(s0, 3);
|
||||
particleEmitter_func_802EF9F8(s0, 0.4f);
|
||||
particleEmitter_func_802EFA18(s0, 3);
|
||||
particleEmitter_emitN(s0, 4);
|
||||
|
||||
s0 = partEmitMgr_newEmitter(0x11);
|
||||
@@ -200,8 +200,8 @@ void func_802AFBB8(f32 arg0[3]){
|
||||
particleEmitter_emitN(s0, 5);
|
||||
|
||||
particleEmitter_setVelocityAndAccelerationRanges(s0, &D_80364CA0);
|
||||
func_802EF9F8(s0, 0.4f);
|
||||
func_802EFA18(s0, 3);
|
||||
particleEmitter_func_802EF9F8(s0, 0.4f);
|
||||
particleEmitter_func_802EFA18(s0, 3);
|
||||
particleEmitter_emitN(s0, 4);
|
||||
}
|
||||
|
||||
|
@@ -128,7 +128,7 @@ void bsjig_jiggy_end(void){
|
||||
sp2C = 0xa16;
|
||||
break;
|
||||
case 0x17:
|
||||
if(!levelSpecificFlags_get(0) || !levelSpecificFlags_get(1))
|
||||
if(!levelSpecificFlags_get(LEVEL_FLAG_0_CC_TOKEN_TOOTH_OPEN) || !levelSpecificFlags_get(LEVEL_FLAG_1_CC_JIGGY_TOOTH_OPEN))
|
||||
sp2C = 0xd2d;
|
||||
break;
|
||||
}
|
||||
|
@@ -14,7 +14,7 @@ void func_802D729C(Actor *actor, f32 arg1);
|
||||
ActorInfo chBadShad = {
|
||||
0x9B, 0x108, 0x3BF,
|
||||
0x1, NULL,
|
||||
chBadShad_update, func_80326224, chBadShad_draw,
|
||||
chBadShad_update, actor_update_func_80326224, chBadShad_draw,
|
||||
0, 0, 0.0f, 0
|
||||
};
|
||||
|
||||
|
@@ -40,7 +40,7 @@ ActorAnimationInfo sChBatAnimations[] = {
|
||||
ActorInfo gChBat = {
|
||||
MARKER_127_BAT, ACTOR_163_BAT, ASSET_3CA_MODEL_BAT,
|
||||
CH_BAT_STATE_ROOSTING, sChBatAnimations,
|
||||
chbat_update, func_80326224, actor_draw,
|
||||
chbat_update, actor_update_func_80326224, actor_draw,
|
||||
2500, 0, 0.9f, 0
|
||||
};
|
||||
|
||||
|
@@ -19,7 +19,7 @@ ActorAnimationInfo chBeehiveAnimations[] ={
|
||||
|
||||
ActorInfo chBeehive = {MARKER_50_BEEHIVE, ACTOR_12_BEEHIVE, ASSET_364_MODEL_BEEHIVE,
|
||||
1, chBeehiveAnimations,
|
||||
chBeehive_update, func_80326224, actor_draw,
|
||||
chBeehive_update, actor_update_func_80326224, actor_draw,
|
||||
0, 0x333, 0.0f, 0
|
||||
};
|
||||
|
||||
|
@@ -28,13 +28,13 @@ ActorAnimationInfo D_80366010[] ={
|
||||
|
||||
ActorInfo D_80366090 = {0x3, ACTOR_4_BIGBUTT, ASSET_353_MODEL_BIGBUTT,
|
||||
1, D_80366010,
|
||||
func_802C6240, func_80326224, func_802C6E84,
|
||||
func_802C6240, actor_update_func_80326224, func_802C6E84,
|
||||
3200, 0, 0.0f, 0
|
||||
};
|
||||
|
||||
ActorInfo D_803660B4 = {0x9, ACTOR_E_BULL_INTRO, ASSET_354_MODEL_BULL_INTRO,
|
||||
1, D_80366010,
|
||||
func_802C6240, func_80326224, func_802C6E84,
|
||||
func_802C6240, actor_update_func_80326224, func_802C6E84,
|
||||
3200, 0, 0.0f, 0
|
||||
};
|
||||
|
||||
|
@@ -94,7 +94,7 @@ f32 D_803682C4[3] = {0.0f, 0.0f, 0.0f};
|
||||
ActorInfo chBottlesBonusDescription = {
|
||||
0x179, 0x1E0, 0x46C,
|
||||
0x1, chBottlesBonusAnimations,
|
||||
chBottlesBonus_update, func_80326224, chBottlesBonus_draw,
|
||||
chBottlesBonus_update, actor_update_func_80326224, chBottlesBonus_draw,
|
||||
0, 0, 0.0f, 0
|
||||
};
|
||||
|
||||
|
@@ -57,7 +57,7 @@ f32 D_8036840C[3] = {-11.28f, 3.92f, -52.96f};
|
||||
ActorInfo D_80368418 = {
|
||||
0x17A, 0x2B4, 0x565,
|
||||
0x1, D_803683B0,
|
||||
chBottlesBonusCursor_update, func_80326224, func_80325340,
|
||||
chBottlesBonusCursor_update, actor_update_func_80326224, func_80325340,
|
||||
0, 0, 0.0f, 0
|
||||
};
|
||||
|
||||
|
@@ -12,7 +12,7 @@ extern void func_802F32C4(s32, f32[3], f32, ActorMarker *, s32(*)(f32[3], f32, A
|
||||
/* .data */
|
||||
ActorInfo chBubble = {
|
||||
MARKER_6B_GLOOPBUBBLE, ACTOR_E7_GLOOP_BUBBLE, ASSET_704_SPRITE_BUBBLE,
|
||||
0, NULL, chBubble_update, func_80326224, func_80325340,
|
||||
0, NULL, chBubble_update, actor_update_func_80326224, func_80325340,
|
||||
0, 0, 0.0f, 0
|
||||
};
|
||||
|
||||
|
@@ -5,7 +5,7 @@
|
||||
|
||||
void func_802D77D4(Actor *this);
|
||||
extern void player_setClimbParams(f32[3], f32[3], f32, u32);
|
||||
extern f32 func_80258640(f32[3], f32[3]);
|
||||
extern f32 ml_vec3f_horizontal_distance_zero_likely(f32[3], f32[3]);
|
||||
|
||||
typedef struct {
|
||||
f32 unk0[3];
|
||||
@@ -16,7 +16,7 @@ typedef struct {
|
||||
ActorInfo D_80367B20 = {
|
||||
0x35, 0x26, 0x0,
|
||||
0x1, NULL,
|
||||
func_802D77D4, func_80326224, func_80325340,
|
||||
func_802D77D4, actor_update_func_80326224, func_80325340,
|
||||
0, 0, 0.0f, 0
|
||||
};
|
||||
|
||||
@@ -40,8 +40,8 @@ s32 func_802D76E0(Actor *this, f32 *arg1) {
|
||||
return FALSE;
|
||||
}
|
||||
if (sp28 && temp_v0) {
|
||||
sp30 = func_80258640(this->position, sp40);
|
||||
if (func_80258640(this->position, sp34) < sp30) {
|
||||
sp30 = ml_vec3f_horizontal_distance_zero_likely(this->position, sp40);
|
||||
if (ml_vec3f_horizontal_distance_zero_likely(this->position, sp34) < sp30) {
|
||||
sp28 = 0;
|
||||
}
|
||||
}
|
||||
|
@@ -90,10 +90,10 @@ void func_80357264(Actor *this, s32 next_state){
|
||||
}
|
||||
|
||||
if(next_state == 5){
|
||||
if(!levelSpecificFlags_get(0x14)
|
||||
if(!levelSpecificFlags_get(LEVEL_FLAG_14_TTC_UNKNOWN)
|
||||
&& !( actorArray_findClosestActorFromActorId(this->position, 0x318, -1, &sp38) && ( sp38 < 250.0f))
|
||||
){
|
||||
levelSpecificFlags_set(0x14, TRUE);
|
||||
levelSpecificFlags_set(LEVEL_FLAG_14_TTC_UNKNOWN, TRUE);
|
||||
func_80324E38(0.0f, 3);
|
||||
__clucker_setDeathCutsceneCamera(this);
|
||||
timed_exitStaticCamera(2.0f);
|
||||
|
@@ -14,21 +14,21 @@ void chCollectible_update(Actor *this);
|
||||
extern ActorInfo D_80367D00 = {
|
||||
MARKER_60_BLUE_EGG_COLLECTIBLE, ACTOR_52_BLUE_EGG, ASSET_36D_SPRITE_BLUE_EGG,
|
||||
0, NULL,
|
||||
chCollectible_update, func_80326224, chCollectible_draw,
|
||||
chCollectible_update, actor_update_func_80326224, chCollectible_draw,
|
||||
0, 0, 0.7f, 0
|
||||
};
|
||||
|
||||
extern ActorInfo D_80367D24 = {
|
||||
MARKER_B5_RED_FEATHER_COLLECTIBLE, ACTOR_129_RED_FEATHER, ASSET_580_SPRITE_RED_FEATHER,
|
||||
0, NULL,
|
||||
chCollectible_update, func_80326224, chCollectible_draw,
|
||||
chCollectible_update, actor_update_func_80326224, chCollectible_draw,
|
||||
0, 0, 0.5f, 0
|
||||
};
|
||||
|
||||
extern ActorInfo D_80367D48 = {
|
||||
MARKER_1E5_GOLD_FEATHER_COLLECTIBLE, ACTOR_370_GOLD_FEATHER, ASSET_6D1_SPRITE_GOLDFEATHTER,
|
||||
0, NULL,
|
||||
chCollectible_update, func_80326224, chCollectible_draw,
|
||||
chCollectible_update, actor_update_func_80326224, chCollectible_draw,
|
||||
0, 0, 0.5f, 0
|
||||
};
|
||||
|
||||
|
@@ -94,8 +94,8 @@ void __chCrab_ow(ActorMarker *marker, ActorMarker *other) {
|
||||
void __chCrab_particleEmitterSetup(ParticleEmitter *p_ctrl, f32 position[3]) {
|
||||
particleEmitter_setPosition(p_ctrl, position);
|
||||
particleEmitter_setDrawMode(p_ctrl, 2);
|
||||
func_802EF9F8(p_ctrl, 0.7f);
|
||||
func_802EFA18(p_ctrl, 5);
|
||||
particleEmitter_func_802EF9F8(p_ctrl, 0.7f);
|
||||
particleEmitter_func_802EFA18(p_ctrl, 5);
|
||||
func_802EFA20(p_ctrl, 0.8f, 1.0f);
|
||||
particleEmitter_setSfx(p_ctrl, SFX_1F_HITTING_AN_ENEMY_3, 10000);
|
||||
particleEmitter_setSpawnIntervalRange(p_ctrl, 0.0f, 0.01f);
|
||||
@@ -106,7 +106,7 @@ void __chCrab_particleEmitterSetup(ParticleEmitter *p_ctrl, f32 position[3]) {
|
||||
|
||||
void __chCrab_emitClawPiece(ParticleEmitter *p_ctrl, f32 position[3], enum asset_e model_id) {
|
||||
__chCrab_particleEmitterSetup(p_ctrl, position);
|
||||
particleEmitter_setParticleAccelerationRange(p_ctrl, 0.0f, -1800.0f, 0.0f, 0.0f, -1800.0f, 0.0f);
|
||||
particleEmitter_setAccelerationRange(p_ctrl, 0.0f, -1800.0f, 0.0f, 0.0f, -1800.0f, 0.0f);
|
||||
particleEmitter_setModel(p_ctrl, model_id);
|
||||
particleEmitter_setStartingScaleRange(p_ctrl, 0.5f, 0.8f);
|
||||
particleEmitter_setAngularVelocityRange(p_ctrl, -800.0f, -800.0f, -800.0f, 800.0f, 800.0f, 800.0f);
|
||||
@@ -116,7 +116,7 @@ void __chCrab_emitClawPiece(ParticleEmitter *p_ctrl, f32 position[3], enum asset
|
||||
|
||||
void __chCrab_emitLegPiece(ParticleEmitter *p_ctrl, f32 position[3], enum asset_e model_id) {
|
||||
__chCrab_particleEmitterSetup(p_ctrl, position);
|
||||
particleEmitter_setParticleAccelerationRange(p_ctrl, 0.0f, -1800.0f, 0.0f, 0.0f, -1800.0f, 0.0f);
|
||||
particleEmitter_setAccelerationRange(p_ctrl, 0.0f, -1800.0f, 0.0f, 0.0f, -1800.0f, 0.0f);
|
||||
particleEmitter_setModel(p_ctrl, model_id);
|
||||
particleEmitter_setStartingScaleRange(p_ctrl, 0.5f, 0.8f);
|
||||
particleEmitter_setAngularVelocityRange(p_ctrl, -800.0f, -800.0f, -800.0f, 800.0f, 800.0f, 800.0f);
|
||||
@@ -126,7 +126,7 @@ void __chCrab_emitLegPiece(ParticleEmitter *p_ctrl, f32 position[3], enum asset_
|
||||
|
||||
void __chCrab_emitHeadPiece(ParticleEmitter *p_ctrl, f32 position[3], enum asset_e model_id) {
|
||||
__chCrab_particleEmitterSetup(p_ctrl, position);
|
||||
particleEmitter_setParticleAccelerationRange(p_ctrl, 0.0f, -1800.0f, 0.0f, 0.0f, -1800.0f, 0.0f);
|
||||
particleEmitter_setAccelerationRange(p_ctrl, 0.0f, -1800.0f, 0.0f, 0.0f, -1800.0f, 0.0f);
|
||||
particleEmitter_setModel(p_ctrl, model_id);
|
||||
particleEmitter_setStartingScaleRange(p_ctrl, 1.0f, 1.0f);
|
||||
particleEmitter_setAngularVelocityRange(p_ctrl, -600.0f, -600.0f, -600.0f, 600.0f, 600.0f, 600.0f);
|
||||
@@ -152,7 +152,7 @@ void __chCrab_mutantTextCallback(ActorMarker *caller, enum asset_e text_id, s32
|
||||
func_80324E38(3.0f, 0);
|
||||
return;
|
||||
}
|
||||
levelSpecificFlags_set(0xE, FALSE);
|
||||
levelSpecificFlags_set(LEVEL_FLAG_E_CC_UNKNOWN, FALSE);
|
||||
}
|
||||
|
||||
bool __chCrab_802CB76C(ActorMarker *marker, ActorMarker *other) {
|
||||
@@ -272,13 +272,13 @@ void chCrab_update(Actor *this) {
|
||||
if ((this->state != 6) && (this->state != 5)) {
|
||||
gcdialog_showText(ASSET_D32_DIALOG_MUTANT_CRAB_MEET, 0xF, this->position, NULL, __chCrab_mutantTextCallback, NULL);
|
||||
mapSpecificFlags_set(0, TRUE);
|
||||
levelSpecificFlags_set(0xE, TRUE);
|
||||
levelSpecificFlags_set(LEVEL_FLAG_E_CC_UNKNOWN, TRUE);
|
||||
this->has_met_before = TRUE;
|
||||
}
|
||||
}
|
||||
if (map_get() == MAP_A_TTC_SANDCASTLE) {
|
||||
if( !mapSpecificFlags_get(0)
|
||||
&& levelSpecificFlags_get(2)
|
||||
&& levelSpecificFlags_get(LEVEL_FLAG_2_TTC_UNKNOWN)
|
||||
&& !volatileFlag_get(VOLATILE_FLAG_2_FF_IN_MINIGAME)
|
||||
&& !jiggyscore_isCollected(JIGGY_10_TTC_SANDCASTLE)
|
||||
&& func_80329530(this, 1600)
|
||||
@@ -290,7 +290,7 @@ void chCrab_update(Actor *this) {
|
||||
mapSpecificFlags_set(1, FALSE);
|
||||
}
|
||||
}
|
||||
if (levelSpecificFlags_get(0xE)) {
|
||||
if (levelSpecificFlags_get(LEVEL_FLAG_E_CC_UNKNOWN)) {
|
||||
if ((this->state != 8) && (this->state != 9)) {
|
||||
subaddie_set_state_with_direction(this, (this->has_met_before) ? 8 : 9, 0.0f, 1);
|
||||
this->has_met_before = FALSE;
|
||||
@@ -306,7 +306,7 @@ void chCrab_update(Actor *this) {
|
||||
break;
|
||||
|
||||
case 9: //L802CBE6C
|
||||
if (!levelSpecificFlags_get(0xE)) {
|
||||
if (!levelSpecificFlags_get(LEVEL_FLAG_E_CC_UNKNOWN)) {
|
||||
subaddie_set_state_with_direction(this, 3, 0.0f, 1);
|
||||
}
|
||||
break;
|
||||
@@ -337,7 +337,7 @@ void chCrab_update(Actor *this) {
|
||||
if (func_80329480(this)) {
|
||||
subaddie_set_state(this, 9);
|
||||
this->actor_specific_1_f = 12.0f;
|
||||
} else if (!levelSpecificFlags_get(0xE)) {
|
||||
} else if (!levelSpecificFlags_get(LEVEL_FLAG_E_CC_UNKNOWN)) {
|
||||
subaddie_set_state_with_direction(this, 3, 0.0f, 1);
|
||||
}
|
||||
break;
|
||||
@@ -399,6 +399,6 @@ void chCrab_update(Actor *this) {
|
||||
}
|
||||
|
||||
/* .data */
|
||||
ActorInfo D_803670B8 = { MARKER_13_SNIPPET, ACTOR_67_SNIPPET, ASSET_358_SNIPPET, 0x1, chCrabAnimations, chCrab_update, func_80326224, actor_draw, 1900, 0, 0.8f, 0};
|
||||
ActorInfo D_803670DC = { MARKER_DD_BLACK_SNIPPET, ACTOR_F2_BLACK_SNIPPET, ASSET_566_MODEL_BLACK_SNIPPET, 0x1, chCrabAnimations, chCrab_update, func_80326224, actor_draw, 1900, 0, 0.8f, 0};
|
||||
ActorInfo D_80367100 = { MARKER_13_SNIPPET, ACTOR_F5_MUTIE_SNIPPET, ASSET_38F_MODEL_MUTIE_SNIPPET, 0x1, chCrabMutantAnimations, chCrab_update, func_80326224, actor_draw, 1900, 0, 0.8f, 0};
|
||||
ActorInfo D_803670B8 = { MARKER_13_SNIPPET, ACTOR_67_SNIPPET, ASSET_358_SNIPPET, 0x1, chCrabAnimations, chCrab_update, actor_update_func_80326224, actor_draw, 1900, 0, 0.8f, 0};
|
||||
ActorInfo D_803670DC = { MARKER_DD_BLACK_SNIPPET, ACTOR_F2_BLACK_SNIPPET, ASSET_566_MODEL_BLACK_SNIPPET, 0x1, chCrabAnimations, chCrab_update, actor_update_func_80326224, actor_draw, 1900, 0, 0.8f, 0};
|
||||
ActorInfo D_80367100 = { MARKER_13_SNIPPET, ACTOR_F5_MUTIE_SNIPPET, ASSET_38F_MODEL_MUTIE_SNIPPET, 0x1, chCrabMutantAnimations, chCrab_update, actor_update_func_80326224, actor_draw, 1900, 0, 0.8f, 0};
|
||||
|
@@ -19,7 +19,7 @@ void chdrips_update(Actor *this);
|
||||
ActorInfo gChDripsInfo = {
|
||||
0x246, ACTOR_354_DRIPS, 0,
|
||||
0, NULL,
|
||||
chdrips_update, func_80326224, func_80325340,
|
||||
chdrips_update, actor_update_func_80326224, func_80325340,
|
||||
5000, 0, 0.0f, 0
|
||||
};
|
||||
|
||||
@@ -27,7 +27,7 @@ s32 D_80372AE4[3] = {0xff, 0xff, 0xfe};
|
||||
|
||||
struct_core2_D2AB0 D_80372AF0 = {0.0f, 0.0f, 1.0f, 1.4f};
|
||||
|
||||
struct43s D_80372B00 = {
|
||||
ParticleSettingsVelocityAccelerationPosition D_80372B00 = {
|
||||
{{0.0f, 0.0f, 0.0f}, {0.0f, 0.0f, 0.0f}},
|
||||
{{0.0f, -650.0f, 0.0f}, {0.0f, -650.0f, 0.0f}},
|
||||
{{-400.0f, 0.0f, -400.0f}, {400.0f, 0.0f, 400.0f}}
|
||||
@@ -78,8 +78,8 @@ void chdrips_update(Actor *this){
|
||||
pCtrl = partEmitMgr_newEmitter(1);
|
||||
particleEmitter_setModel(pCtrl, ASSET_8A0_SPRITE_WATER_DROP);
|
||||
particleEmitter_setPosition(pCtrl, this->position);
|
||||
particleEmitter_setPositionVelocityAndAccelerationRanges(pCtrl, &D_80372B00);
|
||||
func_802EFA18(pCtrl, 1);
|
||||
particleEmitter_setVelocityAccelerationAndPositionRanges(pCtrl, &D_80372B00);
|
||||
particleEmitter_func_802EFA18(pCtrl, 1);
|
||||
particleEmitter_setParticleCallback(pCtrl, __chdrips_particleCallback);
|
||||
particleEmitter_setSpawnIntervalRange(pCtrl, 0.0f, 0.01f);
|
||||
particleEmitter_setParticleLifeTimeRange(pCtrl, 7.0f, 7.0f);
|
||||
|
@@ -10,7 +10,7 @@ void chfirefx_update(Actor *this);
|
||||
ActorInfo gChFireFxInfo = {
|
||||
MARKER_256_FIRE_FX, ACTOR_383_FIRE_FX, ASSET_526_SPRITE_FIRE,
|
||||
0, NULL,
|
||||
chfirefx_update, func_80326224, actor_draw,
|
||||
chfirefx_update, actor_update_func_80326224, actor_draw,
|
||||
0, 0, 0.0f, 0
|
||||
};
|
||||
|
||||
@@ -23,7 +23,7 @@ void __chfirefx_spawnSmoke(f32 position[3], f32 scale){
|
||||
particleEmitter_setStartingFrameRange(pCtrl, 1, 6);
|
||||
particleEmitter_setAlpha(pCtrl, 0x23);
|
||||
particleEmitter_setPosition(pCtrl, position);
|
||||
particleEmitter_setParticleSpawnPositionRange(pCtrl, 0.0f, 110.0f*scale, 0.0f, 0.0f, 110.0f*scale, 0.0f);
|
||||
particleEmitter_setSpawnPositionRange(pCtrl, 0.0f, 110.0f*scale, 0.0f, 0.0f, 110.0f*scale, 0.0f);
|
||||
particleEmitter_setParticleVelocityRange(pCtrl, 0.0f, 40.0f*scale, 0.0f, 0.0f, 90.0f*scale, 0.0f);
|
||||
particleEmitter_setStartingScaleRange(pCtrl, 2.6*scale, 3.2*scale);
|
||||
particleEmitter_setFinalScaleRange(pCtrl, 5.0*scale, 6.0*scale);
|
||||
@@ -41,9 +41,9 @@ void __chfirefx_spawnSpark(f32 position[3], f32 scale){
|
||||
particleEmitter_setSprite(pCtrl, ASSET_713_SPRITE_SPARKLE_YELLOW);
|
||||
particleEmitter_setStartingFrameRange(pCtrl, 1, 6);
|
||||
particleEmitter_setPosition(pCtrl, position);
|
||||
particleEmitter_setParticleSpawnPositionRange(pCtrl, 0.0f, 20.0f*scale, 0.0f, 0.0f, 20.0f*scale, 0.0f);
|
||||
particleEmitter_setSpawnPositionRange(pCtrl, 0.0f, 20.0f*scale, 0.0f, 0.0f, 20.0f*scale, 0.0f);
|
||||
particleEmitter_setParticleVelocityRange(pCtrl, -30.0f*scale, 120.0f*scale, -30.0f*scale, 60.0f*scale, 360.0f*scale, 60.0f*scale);
|
||||
particleEmitter_setParticleAccelerationRange(pCtrl, 0.0f, -50.0f, 0.0f, 0.0f, -90.0f, 0.0f);
|
||||
particleEmitter_setAccelerationRange(pCtrl, 0.0f, -50.0f, 0.0f, 0.0f, -90.0f, 0.0f);
|
||||
particleEmitter_setStartingScaleRange(pCtrl, 0.1*scale, 0.2*scale);
|
||||
particleEmitter_setFinalScaleRange(pCtrl, 0.2*scale, 0.4*scale);
|
||||
particleEmitter_setSpawnIntervalRange(pCtrl, 0.0f, 0.01f);
|
||||
|
@@ -37,7 +37,7 @@ ParticleScaleAndLifetimeRanges D_80372CA4 = {
|
||||
0.1f, 0.5f
|
||||
};
|
||||
|
||||
struct43s D_80372CCC = {
|
||||
ParticleSettingsVelocityAccelerationPosition D_80372CCC = {
|
||||
{{-5.0f, 10.0f, -5.0f}, {5.0f, 50.0f, 5.0f}},
|
||||
{{0.0f, 200.0f, 0.0f}, {0.0f, 1000.0f, 0.0f}},
|
||||
{{-20.0f, -20.0f, -20.0f}, {20.0f, 20.0f, 20.0f}}
|
||||
@@ -182,7 +182,7 @@ void func_8035C080(Actor *this, s32 next_state){
|
||||
particleEmitter_setSprite(local->pCtrl_8, ASSET_70E_SPRITE_SMOKE_2);
|
||||
particleEmitter_setStartingFrameRange(local->pCtrl_8, 0, 7);
|
||||
particleEmitter_setPosition(local->pCtrl_8, this->position);
|
||||
particleEmitter_setPositionVelocityAndAccelerationRanges(local->pCtrl_8, &D_80372CCC);
|
||||
particleEmitter_setVelocityAccelerationAndPositionRanges(local->pCtrl_8, &D_80372CCC);
|
||||
particleEmitter_setScaleAndLifetimeRanges(local->pCtrl_8, &D_80372CA4);
|
||||
particleEmitter_setSpawnInterval(local->pCtrl_8, 4);
|
||||
}//L8035C698
|
||||
|
@@ -26,7 +26,7 @@ extern void warp_smExitBanjosHouse(s32, s32);
|
||||
extern void func_80335110(s32);
|
||||
|
||||
extern void func_8024E60C(s32, s32[3]);
|
||||
extern void func_8024E71C(s32, f32*);
|
||||
extern void controller_getJoystick(s32, f32*);
|
||||
|
||||
extern char *gcpausemenu_TimeToA(int);
|
||||
extern struct5Bs *func_803097A0(void);
|
||||
@@ -55,7 +55,7 @@ ActorAnimationInfo D_80365E28[] = {
|
||||
{0x24F, 0.6f},
|
||||
{0x24D, 2.0f}
|
||||
};
|
||||
ActorInfo D_80365E58 = { 0xE4, 0x195, 0x532, 0x1, D_80365E28, func_802C5740, func_80326224, func_802C4464, 0, 0, 0.0f, 0};
|
||||
ActorInfo D_80365E58 = { 0xE4, 0x195, 0x532, 0x1, D_80365E28, func_802C5740, actor_update_func_80326224, func_802C4464, 0, 0, 0.0f, 0};
|
||||
|
||||
ActorAnimationInfo D_80365E7C[] = {
|
||||
{0x000, 0.0f},
|
||||
@@ -65,7 +65,7 @@ ActorAnimationInfo D_80365E7C[] = {
|
||||
{0x252, 0.67f},
|
||||
{0x250, 4.5f},
|
||||
};
|
||||
ActorInfo D_80365EAC = { 0xE5, 0x196, 0x532, 0x1, D_80365E7C, func_802C4C14, func_80326224, func_802C4360, 0, 0, 0.0f, 0};
|
||||
ActorInfo D_80365EAC = { 0xE5, 0x196, 0x532, 0x1, D_80365E7C, func_802C4C14, actor_update_func_80326224, func_802C4360, 0, 0, 0.0f, 0};
|
||||
|
||||
ActorAnimationInfo D_80365ED0[] = {
|
||||
{0x000, 0.0f},
|
||||
@@ -75,7 +75,7 @@ ActorAnimationInfo D_80365ED0[] = {
|
||||
{0x24C, 1.0f},
|
||||
{0x24A, 1.0f}
|
||||
};
|
||||
ActorInfo D_80365F00 = { 0xE6, 0x197, 0x532, 0x1, D_80365ED0, func_802C4C14, func_80326224, func_802C4360, 0, 0, 0.0f, 0};
|
||||
ActorInfo D_80365F00 = { 0xE6, 0x197, 0x532, 0x1, D_80365ED0, func_802C4C14, actor_update_func_80326224, func_802C4360, 0, 0, 0.0f, 0};
|
||||
|
||||
|
||||
/* .bss */
|
||||
@@ -178,8 +178,8 @@ void *func_802C44EC(f32 arg0[3], f32 arg1[3], f32 arg2) {
|
||||
|
||||
void func_802C4768(s32 gamenum){
|
||||
u8 * sp20[2];
|
||||
static u8 D_8037DD48[0x20];
|
||||
static u8 D_8037DD68[0x20];
|
||||
static u8 upperTextLine[0x20];
|
||||
static u8 lowerTextLine[0x20];
|
||||
|
||||
func_8031FBF8();
|
||||
D_80365E00 = gamenum;
|
||||
@@ -188,59 +188,59 @@ void func_802C4768(s32 gamenum){
|
||||
gameFile_load(gamenum);
|
||||
D_8037DCCE[gamenum] = (itemscore_timeScores_get(LEVEL_6_LAIR)) ? 1 : 0;
|
||||
|
||||
strcpy(D_8037DD48, "");
|
||||
strcat(D_8037DD48, "GAME ");
|
||||
strcpy(upperTextLine, "");
|
||||
strcat(upperTextLine, "GAME ");
|
||||
switch(gamenum){
|
||||
case 0: //L802C4820
|
||||
strIToA(D_8037DD48, 1);
|
||||
strIToA(upperTextLine, 1);
|
||||
break;
|
||||
case 1: //L802C4838
|
||||
strIToA(D_8037DD48, 3);
|
||||
strIToA(upperTextLine, 3);
|
||||
break;
|
||||
case 2: //L802C484C
|
||||
strIToA(D_8037DD48, 2);
|
||||
strIToA(upperTextLine, 2);
|
||||
break;
|
||||
}//L802C4858
|
||||
strcat(D_8037DD48, ": TIME ");
|
||||
strcat(D_8037DD48, gcpausemenu_TimeToA(itemscore_timeScores_getTotal()));
|
||||
strcat(D_8037DD48, ",");
|
||||
strcat(D_8037DD48, "");
|
||||
strcat(upperTextLine, ": TIME ");
|
||||
strcat(upperTextLine, gcpausemenu_TimeToA(itemscore_timeScores_getTotal()));
|
||||
strcat(upperTextLine, ",");
|
||||
strcat(upperTextLine, "");
|
||||
|
||||
strcpy(D_8037DD68, "");
|
||||
strIToA(D_8037DD68, jiggyscore_total());
|
||||
strcat(D_8037DD68, " JIGSAW");
|
||||
strcpy(lowerTextLine, "");
|
||||
strIToA(lowerTextLine, jiggyscore_total());
|
||||
strcat(lowerTextLine, " JIGSAW");
|
||||
if(jiggyscore_total() != 1){
|
||||
strcat(D_8037DD68, "S");
|
||||
strcat(lowerTextLine, "S");
|
||||
}
|
||||
strcat(D_8037DD68, ", ");
|
||||
strIToA(D_8037DD68, itemscore_noteScores_getTotal());
|
||||
strcat(D_8037DD68, " NOTE");
|
||||
strcat(lowerTextLine, ", ");
|
||||
strIToA(lowerTextLine, itemscore_noteScores_getTotal());
|
||||
strcat(lowerTextLine, " NOTE");
|
||||
if(itemscore_noteScores_getTotal() != 1){
|
||||
strcat(D_8037DD68, "S");
|
||||
strcat(lowerTextLine, "S");
|
||||
}
|
||||
strcat(D_8037DD68, ".");
|
||||
strcat(D_8037DD68, "");
|
||||
strcat(lowerTextLine, ".");
|
||||
strcat(lowerTextLine, "");
|
||||
}//L802C49AC
|
||||
else{
|
||||
D_8037DCCE[gamenum] = 0;
|
||||
strcpy(D_8037DD48, "");
|
||||
strcat(D_8037DD48, "GAME ");
|
||||
strcpy(upperTextLine, "");
|
||||
strcat(upperTextLine, "GAME ");
|
||||
switch (gamenum){
|
||||
case 0:
|
||||
strIToA(D_8037DD48, 1);
|
||||
strIToA(upperTextLine, 1);
|
||||
break;
|
||||
case 1:
|
||||
strIToA(D_8037DD48, 3);
|
||||
strIToA(upperTextLine, 3);
|
||||
break;
|
||||
case 2:
|
||||
strIToA(D_8037DD48, 2);
|
||||
strIToA(upperTextLine, 2);
|
||||
break;
|
||||
}//L802C4A40
|
||||
strcat(D_8037DD48, ": EMPTY");
|
||||
strcpy(D_8037DD68, "");
|
||||
strcat(upperTextLine, ": EMPTY");
|
||||
strcpy(lowerTextLine, "");
|
||||
}//L802C4A68
|
||||
sp20[0] = D_8037DD48;\
|
||||
sp20[1] = D_8037DD68;
|
||||
sp20[0] = upperTextLine;\
|
||||
sp20[1] = lowerTextLine;
|
||||
func_8031877C(chGameSelectBottomZoombox);
|
||||
gczoombox_setStrings(chGameSelectBottomZoombox, 2, sp20);
|
||||
gczoombox_maximize(chGameSelectBottomZoombox);
|
||||
@@ -334,7 +334,7 @@ void func_802C4C14(Actor *this){
|
||||
else{//L802C4D24
|
||||
func_8024E60C(0, sp74);
|
||||
func_8024E55C(0, sp5C);
|
||||
func_8024E71C(0, &sp54);
|
||||
controller_getJoystick(0, &sp54);
|
||||
switch(this->state){
|
||||
case 2:
|
||||
case 5:
|
||||
|
@@ -26,7 +26,7 @@ ActorAnimationInfo D_80372BE0[] ={
|
||||
ActorInfo D_80372C18 = { //TEEHEE
|
||||
MARKER_99_TEEHEE, ACTOR_CA_TEEHEE, ASSET_3CB_MODEL_TEEHEE,
|
||||
0x1, D_80372BE0,
|
||||
func_8035B900, func_80326224, actor_draw,
|
||||
func_8035B900, actor_update_func_80326224, actor_draw,
|
||||
6500, 0, 0.9f, 0
|
||||
};
|
||||
|
||||
@@ -48,11 +48,11 @@ void func_8035AFE0(f32 scale, f32 pos[3], s32 cnt, enum asset_e sprite_id, s32 a
|
||||
particleEmitter_setSprite(pCtrl, sprite_id);
|
||||
particleEmitter_setRGB(pCtrl, arg4);
|
||||
particleEmitter_setPosition(pCtrl, pos);
|
||||
particleEmitter_setParticleSpawnPositionRange(pCtrl,
|
||||
particleEmitter_setSpawnPositionRange(pCtrl,
|
||||
-100.0f*scale, 20.0f*scale, -100.0f*scale,
|
||||
100.0f*scale, 200.0f*scale, 100.0f*scale
|
||||
);
|
||||
particleEmitter_setParticleAccelerationRange(pCtrl,
|
||||
particleEmitter_setAccelerationRange(pCtrl,
|
||||
0.0f, -10.0f*scale, 0.0f,
|
||||
0.0f, -10.0f*scale, 0.0f
|
||||
);
|
||||
|
@@ -50,7 +50,7 @@ void chgloop_update(Actor *this){
|
||||
this->marker->propPtr->unk8_3 = TRUE;
|
||||
}
|
||||
|
||||
func_80326224(this);
|
||||
actor_update_func_80326224(this);
|
||||
|
||||
switch(this->state){
|
||||
case 2://L802D14DC
|
||||
|
@@ -28,14 +28,14 @@ ActorAnimationInfo D_80372F80[] = {
|
||||
ActorInfo D_80372FC0 = {
|
||||
MARKER_96_GRAVESTONE, ACTOR_C7_GRAVESTONE, ASSET_3C9_MODEL_GRAVESTONE,
|
||||
0x1, D_80372F80,
|
||||
func_8035F138, func_80326224, func_8035ECA0,
|
||||
func_8035F138, actor_update_func_80326224, func_8035ECA0,
|
||||
3500, 0, 1.2f, 0
|
||||
};
|
||||
|
||||
ActorInfo D_80372FE4 = {
|
||||
MARKER_297_GIANT_GRAVESTONE, ACTOR_3C2_GIANT_GRAVESTONE, ASSET_3C9_MODEL_GRAVESTONE,
|
||||
0x1, D_80372F80,
|
||||
func_8035F138, func_80326224, func_8035ECA0,
|
||||
func_8035F138, actor_update_func_80326224, func_8035ECA0,
|
||||
14000, 0, 3.2f, 0
|
||||
};
|
||||
|
||||
@@ -71,7 +71,7 @@ bool func_8035ED60(Actor *this) {
|
||||
void func_8035EDB0(f32 position[3], s32 count, enum asset_e sprite) {
|
||||
static s32 D_80373014[3] = {0xAA, 0xAA, 0xAA};
|
||||
static ParticleScaleAndLifetimeRanges D_80373020 = {{0.4f, 0.8f}, {1.4f, 2.0f}, {0.0f, 0.01f}, {1.2f, 1.8f}, 0.0f, 0.01};
|
||||
static struct43s D_80373048 = {
|
||||
static ParticleSettingsVelocityAccelerationPosition D_80373048 = {
|
||||
{{-200.0f, -200.0f, -200.0f}, { 200.0f, 200.0f, 200.0f}},
|
||||
{{ 0.0f, -10.0f, 0.0f}, { 0.0f, -10.0f, 0.0f}},
|
||||
{{ -50.0f, 0.0f, -50.0f}, { 50.0f, 200.0f, 50.0f}}
|
||||
@@ -82,7 +82,7 @@ void func_8035EDB0(f32 position[3], s32 count, enum asset_e sprite) {
|
||||
particleEmitter_setRGB(p_ctrl, D_80373014);
|
||||
particleEmitter_setSprite(p_ctrl, sprite);
|
||||
particleEmitter_setPosition(p_ctrl, position);
|
||||
particleEmitter_setPositionVelocityAndAccelerationRanges(p_ctrl, &D_80373048);
|
||||
particleEmitter_setVelocityAccelerationAndPositionRanges(p_ctrl, &D_80373048);
|
||||
particleEmitter_setScaleAndLifetimeRanges(p_ctrl, &D_80373020);
|
||||
particleEmitter_setDrawMode(p_ctrl, PART_EMIT_NO_DEPTH);
|
||||
particleEmitter_emitN(p_ctrl, count);
|
||||
|
@@ -24,14 +24,14 @@ ActorAnimationInfo D_80372B50[] = {
|
||||
ActorInfo D_80372B80 = {
|
||||
MARKER_250_ICECUBE_A, ACTOR_37D_ICECUBE_A, ASSET_504_MODEL_ICECUBE,
|
||||
1, D_80372B50,
|
||||
chicecube_update, func_80326224, chicecube_draw,
|
||||
chicecube_update, actor_update_func_80326224, chicecube_draw,
|
||||
0, 0, 0.0f, 0
|
||||
};
|
||||
|
||||
ActorInfo D_80372BA4 = {
|
||||
MARKER_25F_ICECUBE_B, ACTOR_3A0_ICECUBE_B, ASSET_504_MODEL_ICECUBE,
|
||||
1, D_80372B50,
|
||||
chicecube_update, func_80326224, chicecube_draw,
|
||||
chicecube_update, actor_update_func_80326224, chicecube_draw,
|
||||
0, 0, 0.0f, 0
|
||||
};
|
||||
|
||||
@@ -110,8 +110,8 @@ void func_8035A04C(f32 position[3], s32 cnt, enum asset_e model_id, f32 scale){
|
||||
|
||||
particleEmitter_setModel(pCtrl, model_id);
|
||||
particleEmitter_setPosition(pCtrl, position);
|
||||
particleEmitter_setParticleSpawnPositionRange(pCtrl, -100.0f*scale, 0.0f, -100.0f*scale, 100.0f*scale, 200.0f*scale, 100.0f*scale);
|
||||
particleEmitter_setParticleAccelerationRange(pCtrl, 0.0f, -1000.0f, 0.0f, 0.0f, -1000.0f, 0.0f);
|
||||
particleEmitter_setSpawnPositionRange(pCtrl, -100.0f*scale, 0.0f, -100.0f*scale, 100.0f*scale, 200.0f*scale, 100.0f*scale);
|
||||
particleEmitter_setAccelerationRange(pCtrl, 0.0f, -1000.0f, 0.0f, 0.0f, -1000.0f, 0.0f);
|
||||
particleEmitter_setParticleVelocityRange(pCtrl, -400.0f*scale, 450.0f*scale, -400.0f*scale, 400.0f*scale, 600.0f*scale, 400.0f*scale);
|
||||
particleEmitter_setAngularVelocityRange(pCtrl, 100.0f*scale, 100.0f*scale, 100.0f*scale, 250.0f*scale, 250.0f*scale, 250.0f*scale);
|
||||
particleEmitter_setStartingScaleRange(pCtrl, scale*0.2, scale*0.4);
|
||||
@@ -127,8 +127,8 @@ void func_8035A228(f32 position[3], s32 cnt, enum asset_e sprite_id, f32 scale){
|
||||
particleEmitter_setRGB(pCtrl, D_80372BC8);
|
||||
particleEmitter_setSprite(pCtrl, sprite_id);
|
||||
particleEmitter_setPosition(pCtrl, position);
|
||||
particleEmitter_setParticleSpawnPositionRange(pCtrl, -50.0f*scale, 0.0f, -50.0f*scale, 50.0f*scale, 200.0f*scale, 50.0f*scale);
|
||||
particleEmitter_setParticleAccelerationRange(pCtrl, 0.0f, -10.0f, 0.0f, 0.0f, -10.0f, 0.0f);
|
||||
particleEmitter_setSpawnPositionRange(pCtrl, -50.0f*scale, 0.0f, -50.0f*scale, 50.0f*scale, 200.0f*scale, 50.0f*scale);
|
||||
particleEmitter_setAccelerationRange(pCtrl, 0.0f, -10.0f, 0.0f, 0.0f, -10.0f, 0.0f);
|
||||
particleEmitter_setParticleVelocityRange(pCtrl, -280.0f*scale, 0.0f, -280.0f*scale, 280.0f*scale, 280.0f*scale, 280.0f*scale);
|
||||
particleEmitter_setStartingScaleRange(pCtrl, scale*0.6, scale*0.8);
|
||||
particleEmitter_setFinalScaleRange(pCtrl, scale*1.0, scale*1.4);
|
||||
@@ -144,7 +144,7 @@ void func_8035A3F8(f32 position[3], s32 cnt, enum asset_e sprite_id, f32 scale){
|
||||
particleEmitter_setRGB(pCtrl, D_80372BD4);
|
||||
particleEmitter_setSprite(pCtrl, sprite_id);
|
||||
particleEmitter_setPosition(pCtrl, position);
|
||||
particleEmitter_setParticleAccelerationRange(pCtrl, 0.0f, -10.0f, 0.0f, 0.0f, -10.0f, 0.0f);
|
||||
particleEmitter_setAccelerationRange(pCtrl, 0.0f, -10.0f, 0.0f, 0.0f, -10.0f, 0.0f);
|
||||
particleEmitter_setParticleVelocityRange(pCtrl, -60.0f*scale, 0.0f, -60.0f*scale, 60.0f*scale, 60.0f*scale, 60.0f*scale);
|
||||
particleEmitter_setStartingScaleRange(pCtrl, scale*0.4, scale*0.6);
|
||||
particleEmitter_setFinalScaleRange(pCtrl, scale*0.8, scale*1.2);
|
||||
@@ -202,7 +202,7 @@ void __chicecube_spawnHalfCubes(ActorMarker *marker){
|
||||
sp54[1] += 100.0f;
|
||||
for(i = 0; i < 2; i++){//L8035A7FC
|
||||
bundle_setYaw((i & 1)? actor->yaw : actor->yaw + 180.0f);
|
||||
other = bundle_spawn_f32(0x21, sp54);
|
||||
other = bundle_spawn_f32(BUNDLE_21__ICECUBE_B, sp54);
|
||||
other->unkF4_8 = 1; //don't spawn more
|
||||
other->scale = randf2(0.5f, 0.6f)*actor->scale;
|
||||
actor->yaw = randi2(0, 359);
|
||||
|
@@ -181,10 +181,12 @@ void chjiggy_update(Actor *this){
|
||||
func_802C7B8C(this, 0xd, 0xc, 0x1e, 9, 0xb, VOLATILE_FLAG_AF_BGS_MAZE_JIGGY_MISSED);
|
||||
break;
|
||||
case JIGGY_2F_FP_XMAS_TREE://L802C8048
|
||||
if(levelSpecificFlags_get(0x29))
|
||||
if (levelSpecificFlags_get(LEVEL_FLAG_29_FP_UNKNOWN)) {
|
||||
actor_collisionOn(this);
|
||||
else
|
||||
}
|
||||
else {
|
||||
actor_collisionOff(this);
|
||||
}
|
||||
break;
|
||||
}
|
||||
break;
|
||||
|
@@ -20,7 +20,7 @@ ActorAnimationInfo chJigsawDanceAnimations[] = {
|
||||
|
||||
ActorInfo chJigsawDance = {MARKER_68_JIGSAW_DANCE, ACTOR_5A_JIGSAW_DANCE, ASSET_35E_MODEL_JIGSAW_DANCE,
|
||||
1, chJigsawDanceAnimations,
|
||||
__chJigsawDance_update, func_80326224, __chJigsawDance_draw,
|
||||
__chJigsawDance_update, actor_update_func_80326224, __chJigsawDance_draw,
|
||||
0, 0, 0.0f, 0
|
||||
};
|
||||
|
||||
|
@@ -23,11 +23,11 @@ ActorAnimationInfo chJinjoAnimations[] = {
|
||||
{ASSET_31_ANIM_JINJO_JUMP, 0.75f}
|
||||
};
|
||||
|
||||
ActorInfo chJinjoBlue = { MARKER_5A_JINJO_BLUE, ACTOR_60_JINJO_BLUE, ASSET_3C0_MODEL_JINJO_BLUE, 0x1, chJinjoAnimations, chJinjo_update, func_80326224, actor_draw, 0, 0, 0.0f, 0};
|
||||
ActorInfo chJinjoGreen = { MARKER_5B_JINJO_GREEN, ACTOR_62_JINJO_GREEN, ASSET_3C2_MODEL_JINJO_GREEN, 0x1, chJinjoAnimations, chJinjo_update, func_80326224, actor_draw, 0, 0, 0.0f, 0};
|
||||
ActorInfo chJinjoYellow = { MARKER_5E_JINJO_YELLOW, ACTOR_5E_JINJO_YELLOW, ASSET_3BB_MODEL_JINJO_YELLOW, 0x1, chJinjoAnimations, chJinjo_update, func_80326224, actor_draw, 0, 0, 0.0f, 0};
|
||||
ActorInfo chJinjoPink = { MARKER_5D_JINJO_PINK, ACTOR_61_JINJO_PINK, ASSET_3C1_MODEL_JINJO_PINK, 0x1, chJinjoAnimations, chJinjo_update, func_80326224, actor_draw, 0, 0, 0.0f, 0};
|
||||
ActorInfo chJinjoOrange = { MARKER_5C_JINJO_ORANGE, ACTOR_5F_JINJO_ORANGE, ASSET_3BC_MODEL_JINJO_ORANGE, 0x1, chJinjoAnimations, chJinjo_update, func_80326224, actor_draw, 0, 0, 0.0f, 0};
|
||||
ActorInfo chJinjoBlue = { MARKER_5A_JINJO_BLUE, ACTOR_60_JINJO_BLUE, ASSET_3C0_MODEL_JINJO_BLUE, 0x1, chJinjoAnimations, chJinjo_update, actor_update_func_80326224, actor_draw, 0, 0, 0.0f, 0};
|
||||
ActorInfo chJinjoGreen = { MARKER_5B_JINJO_GREEN, ACTOR_62_JINJO_GREEN, ASSET_3C2_MODEL_JINJO_GREEN, 0x1, chJinjoAnimations, chJinjo_update, actor_update_func_80326224, actor_draw, 0, 0, 0.0f, 0};
|
||||
ActorInfo chJinjoYellow = { MARKER_5E_JINJO_YELLOW, ACTOR_5E_JINJO_YELLOW, ASSET_3BB_MODEL_JINJO_YELLOW, 0x1, chJinjoAnimations, chJinjo_update, actor_update_func_80326224, actor_draw, 0, 0, 0.0f, 0};
|
||||
ActorInfo chJinjoPink = { MARKER_5D_JINJO_PINK, ACTOR_61_JINJO_PINK, ASSET_3C1_MODEL_JINJO_PINK, 0x1, chJinjoAnimations, chJinjo_update, actor_update_func_80326224, actor_draw, 0, 0, 0.0f, 0};
|
||||
ActorInfo chJinjoOrange = { MARKER_5C_JINJO_ORANGE, ACTOR_5F_JINJO_ORANGE, ASSET_3BC_MODEL_JINJO_ORANGE, 0x1, chJinjoAnimations, chJinjo_update, actor_update_func_80326224, actor_draw, 0, 0, 0.0f, 0};
|
||||
|
||||
enum asset_e __chJinjo_getMeetDialogId(enum marker_e marker_id){
|
||||
switch(marker_id){
|
||||
|
@@ -26,7 +26,7 @@ ActorAnimationInfo moleAnimations[]= {
|
||||
ActorInfo gChMole = {
|
||||
0x1DF, ACTOR_37A_BOTTLES, ASSET_387_MODEL_BOTTLES,
|
||||
1, moleAnimations,
|
||||
chmole_update, func_80326224, func_802D94B4,
|
||||
chmole_update, actor_update_func_80326224, func_802D94B4,
|
||||
0, 0, 0.0f, 0
|
||||
};
|
||||
|
||||
@@ -185,18 +185,18 @@ void chmole_additionalAbilityLearnActions(ActorMarker *marker, enum asset_e arg1
|
||||
switch(arg2){
|
||||
case 1: // Stilt Stride
|
||||
timed_setStaticCameraToNode(0.0f, 0x11);
|
||||
levelSpecificFlags_set(0x1A, 1);
|
||||
levelSpecificFlags_set(LEVEL_FLAG_1A_UNKNOWN, TRUE);
|
||||
break;
|
||||
case 2:
|
||||
levelSpecificFlags_set(0x1A, 0);
|
||||
levelSpecificFlags_set(LEVEL_FLAG_1A_UNKNOWN, FALSE);
|
||||
chmole_setStaticCamera(actor);
|
||||
break;
|
||||
case 3: // Turbo Talon Trainer
|
||||
timed_setStaticCameraToNode(0.0f, 0x29);
|
||||
levelSpecificFlags_set(0x1A, 1);
|
||||
levelSpecificFlags_set(LEVEL_FLAG_1A_UNKNOWN, TRUE);
|
||||
break;
|
||||
case 4:
|
||||
levelSpecificFlags_set(0x1A, 0);
|
||||
levelSpecificFlags_set(LEVEL_FLAG_1A_UNKNOWN, FALSE);
|
||||
chmole_setStaticCamera(actor);
|
||||
break;
|
||||
case 5: // Egg Firing
|
||||
|
@@ -24,7 +24,7 @@ ActorAnimationInfo D_80367E00[] = {
|
||||
ActorInfo D_80367E20= {
|
||||
0xB8, ACTOR_12C_MOLEHILL, ASSET_388_MODEL_MOLEHILL,
|
||||
0, D_80367E00,
|
||||
func_802DA740, func_80326224, func_802DA560,
|
||||
func_802DA740, actor_update_func_80326224, func_802DA560,
|
||||
0, 0, 0.0f, 0
|
||||
};
|
||||
|
||||
@@ -54,14 +54,14 @@ Actor *func_802DA560(ActorMarker *marker, Gfx **gfx, Mtx **mtx, Vtx **vtx){
|
||||
}
|
||||
|
||||
void func_802DA634(ParticleEmitter *pCtrl, f32 arg1[3], s32 cnt){
|
||||
particleEmitter_setParticleAccelerationRange(pCtrl, 0.0f, -600.0f, 0.0f, 0.0f, -600.0f, 0.0f);
|
||||
particleEmitter_setAccelerationRange(pCtrl, 0.0f, -600.0f, 0.0f, 0.0f, -600.0f, 0.0f);
|
||||
particleEmitter_setModel(pCtrl, 0x344);
|
||||
particleEmitter_setPosition(pCtrl, arg1);
|
||||
particleEmitter_setAngularVelocityRange(pCtrl, -600.0f, -600.0f, -600.0f, 600.0f, 600.0f, 600.0f);
|
||||
particleEmitter_setParticleVelocityRange(pCtrl, -150.0f, 150.0f, -150.0f, 150.0f, 360.0f, 150.0f);
|
||||
particleEmitter_setScaleAndLifetimeRanges(pCtrl, &D_80367E44);
|
||||
func_802EF9F8(pCtrl, 0.01f);
|
||||
func_802EFA18(pCtrl, 3);
|
||||
particleEmitter_func_802EF9F8(pCtrl, 0.01f);
|
||||
particleEmitter_func_802EFA18(pCtrl, 3);
|
||||
particleEmitter_emitN(pCtrl, cnt);
|
||||
}
|
||||
|
||||
|
@@ -7,7 +7,7 @@ void func_802C9C30(Actor* this);
|
||||
/* .data */
|
||||
ActorInfo D_80366C50 = {
|
||||
MARKER_5F_MUSIC_NOTE, ACTOR_51_MUSIC_NOTE, ASSET_6D6_MODEL_MUSIC_NOTE, 0, NULL,
|
||||
func_802C9C30, func_80326224, func_80325934,
|
||||
func_802C9C30, actor_update_func_80326224, func_80325934,
|
||||
0, 0, 0.6f, 0
|
||||
};
|
||||
|
||||
|
@@ -9,7 +9,7 @@ f32 D_803680D0[3] = {0.0f, 0.0f, 0.0f};
|
||||
ActorInfo chOverlayCopyrightDescription = {
|
||||
MARKER_176_COPYRIGHT_OVERLAY, ACTOR_1DD_COPYRIGHT_OVERLAY, ASSET_54E_MODEL_COPYRIGHT_OVERLAY,
|
||||
0x1, NULL,
|
||||
chOverlayCopyright_update, func_80326224, func_802DC7E0,
|
||||
chOverlayCopyright_update, actor_update_func_80326224, func_802DC7E0,
|
||||
0, 0, 0.0f, 0
|
||||
};
|
||||
|
||||
|
@@ -21,7 +21,7 @@ f32 D_80368168[3] = {0.0f, 0.0f, 0.0f};
|
||||
ActorInfo D_80368174 = {
|
||||
MARKER_178_NO_CONTROLLER_OVERLAY, ACTOR_1DF_NO_CONTROLLER_OVERLAY, ASSET_55D_MODEL_NO_CONTROLLER_OVERLAY,
|
||||
0x0, D_80368150,
|
||||
chOverlayNoController_update, func_80326224, chOverlayNoController_draw,
|
||||
chOverlayNoController_update, actor_update_func_80326224, chOverlayNoController_draw,
|
||||
0, 0, 0.0f, 0
|
||||
};
|
||||
|
||||
|
@@ -27,7 +27,7 @@ f32 D_80368118[3] = {0.0f, 0.0f, 0.0f};
|
||||
ActorInfo D_80368124 = {
|
||||
MARKER_177_PRESS_START_OVERLAY, ACTOR_1DE_PRESS_START_OVERLAY, ASSET_55C_MODEL_PRESS_START_OVERLAY,
|
||||
0x0, D_80368100,
|
||||
chOverlayPressStart_update, func_80326224, chOverlayPressStart_draw,
|
||||
chOverlayPressStart_update, actor_update_func_80326224, chOverlayPressStart_draw,
|
||||
0, 0, 0.0f, 0
|
||||
};
|
||||
|
||||
|
@@ -63,7 +63,7 @@ void chShrapnel_emitExplosion(Actor *this) {
|
||||
particleEmitter_setDrawMode(temp_v0, PART_EMIT_NO_LOOP);
|
||||
particleEmitter_setStartingFrameRange(temp_v0, 0, 0);
|
||||
particleEmitter_setParticleFramerateRange(temp_v0, 4.0f, 4.0f);
|
||||
particleEmitter_setParticleSpawnPositionRange(temp_v0, 0.0f, 200.0f, 0.0f, 0.0f, 200.0f, 0.0f);
|
||||
particleEmitter_setSpawnPositionRange(temp_v0, 0.0f, 200.0f, 0.0f, 0.0f, 200.0f, 0.0f);
|
||||
particleEmitter_setPosition(temp_v0, this->position);
|
||||
particleEmitter_setStartingScaleRange(temp_v0, 3.0f, 3.0f);
|
||||
particleEmitter_setFinalScaleRange(temp_v0, 8.0f, 8.0f);
|
||||
@@ -83,7 +83,7 @@ void chShrapnel_emitSmoke(Actor *this) {
|
||||
particleEmitter_setPosition(temp_v0, this->position);
|
||||
particleEmitter_setStartingScaleRange(temp_v0, 1.0f, 1.5f);
|
||||
particleEmitter_setFinalScaleRange(temp_v0, 2.0f, 3.0f);
|
||||
particleEmitter_setParticleSpawnPositionRange(temp_v0, -75.0f, 25.0f, -75.0f, 75.0f, 75.0f, 75.0f);
|
||||
particleEmitter_setSpawnPositionRange(temp_v0, -75.0f, 25.0f, -75.0f, 75.0f, 75.0f, 75.0f);
|
||||
particleEmitter_setParticleVelocityRange(temp_v0, -70.0f, 50.0f, -70.0f, 70.0f, 100.0f, 70.0f);
|
||||
particleEmitter_setRGB(temp_v0, D_803673F8);
|
||||
particleEmitter_setParticleLifeTimeRange(temp_v0, 3.0f, 4.0f);
|
||||
@@ -94,9 +94,9 @@ void chShrapnel_emitBodyParts(Actor *this, enum asset_e model_id, s32 n) {
|
||||
ParticleEmitter *temp_v0;
|
||||
|
||||
temp_v0 = partEmitMgr_newEmitter(n);
|
||||
particleEmitter_setParticleAccelerationRange(temp_v0, 0.0f, -800.0f, 0.0f, 0.0f, -800.0f, 0.0f);
|
||||
func_802EF9F8(temp_v0, 0.6f);
|
||||
func_802EFA18(temp_v0, 1);
|
||||
particleEmitter_setAccelerationRange(temp_v0, 0.0f, -800.0f, 0.0f, 0.0f, -800.0f, 0.0f);
|
||||
particleEmitter_func_802EF9F8(temp_v0, 0.6f);
|
||||
particleEmitter_func_802EFA18(temp_v0, 1);
|
||||
particleEmitter_setModel(temp_v0, model_id);
|
||||
particleEmitter_setPosition(temp_v0, this->position);
|
||||
particleEmitter_setStartingScaleRange(temp_v0, 0.05f, 2.0f);
|
||||
@@ -194,6 +194,6 @@ void chshrapnel_update(Actor *this) {
|
||||
ActorInfo chShrapnelDescription = {
|
||||
MARKER_65_SHRAPNEL, ACTOR_56_SHRAPNEL, ASSET_3EC_MODEL_SHRAPNEL,
|
||||
0x1, chShrapnelAnimations,
|
||||
chshrapnel_update, func_80326224, actor_draw,
|
||||
chshrapnel_update, actor_update_func_80326224, actor_draw,
|
||||
2500, 0x333, 0.0f, 0
|
||||
};
|
||||
|
@@ -52,7 +52,7 @@ ActorAnimationInfo sChSnackerAnimations[] ={
|
||||
ActorInfo gChSnacker = {
|
||||
MARKER_14_SNACKER, ACTOR_68_SNACKER, ASSET_3B0_SNACKER,
|
||||
0x1, sChSnackerAnimations,
|
||||
chsnacker_update, func_80326224, actor_draw,
|
||||
chsnacker_update, actor_update_func_80326224, actor_draw,
|
||||
0, 0, 0.0f, 0
|
||||
};
|
||||
|
||||
|
@@ -19,7 +19,7 @@ void chSnowball_update(Actor *this);
|
||||
ActorInfo chSnowball = {
|
||||
MARKER_B2_SNOWBALL, ACTOR_125_SNOWBALL, ASSET_378_MODEL_SNOWBALL,
|
||||
0x1, NULL,
|
||||
chSnowball_update, func_80326224, chSnowball_draw,
|
||||
chSnowball_update, actor_update_func_80326224, chSnowball_draw,
|
||||
0, 0x800, 0.8f, 0
|
||||
};
|
||||
|
||||
@@ -40,7 +40,7 @@ Actor *chSnowball_draw(ActorMarker *marker, Gfx **gfx, Mtx **mtx, Vtx **vtx) {
|
||||
|
||||
void __chSnowball_spawnPieces(f32 position[3]) {
|
||||
static ParticleScaleAndLifetimeRanges D_80368734 = {{0.65f, 1.1}, {0.0f, 0.0f}, {0.0f, 0.01f}, {0.8f, 0.8f}, 0.0f, 0.5f};
|
||||
static struct43s D_8036875C = {
|
||||
static ParticleSettingsVelocityAccelerationPosition D_8036875C = {
|
||||
{{-220.0f, 210.0f, -220.0f}, {280.0f, 460.0f, 280.0f}},
|
||||
{{ 0.0f, -800.0f, 0.0f}, { 0.0f, -800.0f, 0.0f}},
|
||||
{{ -20.0f, -20.0f, -20.0f}, { 20.0f, 20.0f, 20.0f}}
|
||||
@@ -51,7 +51,7 @@ void __chSnowball_spawnPieces(f32 position[3]) {
|
||||
pCtrl = partEmitMgr_newEmitter(8);
|
||||
particleEmitter_setModel(pCtrl, ASSET_37A_MODEL_TINY_SNOWBALL);
|
||||
particleEmitter_setPosition(pCtrl, position);
|
||||
particleEmitter_setPositionVelocityAndAccelerationRanges(pCtrl, &D_8036875C);
|
||||
particleEmitter_setVelocityAccelerationAndPositionRanges(pCtrl, &D_8036875C);
|
||||
particleEmitter_setAngularVelocityRange(pCtrl, -300.0f, -300.0f, -300.0f, 300.0f, 300.0f, 300.0f);
|
||||
particleEmitter_setScaleAndLifetimeRanges(pCtrl, &D_80368734);
|
||||
particleEmitter_emitN(pCtrl, 8);
|
||||
|
@@ -38,7 +38,7 @@ enum chsnowman_state_e{
|
||||
ActorInfo chSnowman = {
|
||||
MARKER_B1_SIR_SLUSH, ACTOR_124_SIR_SLUSH, ASSET_377_MODEL_SIR_SLUSH,
|
||||
CHSNOWMAN_STATE_1_IDLE, chSnowmanAnimations,
|
||||
chSnowman_update, func_80326224, chSnowman_draw,
|
||||
chSnowman_update, actor_update_func_80326224, chSnowman_draw,
|
||||
0, 0x199, 0.0f, 0
|
||||
};
|
||||
|
||||
@@ -111,7 +111,7 @@ void __chSnowman_spawnSnowballParticles(f32 position[3], s32 count){
|
||||
{4.0f, 4.0f},
|
||||
0.0f, 0.3f
|
||||
};
|
||||
static struct43s D_803686BC = {
|
||||
static ParticleSettingsVelocityAccelerationPosition D_803686BC = {
|
||||
{{-250.0f, 600.0f, -250.0f}, {350.0f, 960.0f, 350.0f}},
|
||||
{{0.0f, -1200.0f, 0.0f}, {0.0f, -1200.0f, 0.0f}},
|
||||
{{-80.0f, 0.0f, -80.0f}, {80.0f, 200.0f, 80.0f}}
|
||||
@@ -121,10 +121,10 @@ void __chSnowman_spawnSnowballParticles(f32 position[3], s32 count){
|
||||
|
||||
particleEmitter_setModel(particleSpawner, ASSET_378_MODEL_SNOWBALL);
|
||||
particleEmitter_setPosition(particleSpawner, position);
|
||||
particleEmitter_setPositionVelocityAndAccelerationRanges(particleSpawner, &D_803686BC);
|
||||
particleEmitter_setVelocityAccelerationAndPositionRanges(particleSpawner, &D_803686BC);
|
||||
particleEmitter_setAngularVelocityRange(particleSpawner, -600.0f, -600.0f, -600.0f, 600.0f, 600.0f, 600.0f);
|
||||
func_802EF9F8(particleSpawner, 0.01f);
|
||||
func_802EFA18(particleSpawner, 3);
|
||||
particleEmitter_func_802EF9F8(particleSpawner, 0.01f);
|
||||
particleEmitter_func_802EFA18(particleSpawner, 3);
|
||||
func_802EFA20(particleSpawner, 1.0f, 1.3f);
|
||||
particleEmitter_setSfx(particleSpawner, SFX_2F_ORANGE_SPLAT, 16000);
|
||||
particleEmitter_setScaleAndLifetimeRanges(particleSpawner, &D_80368694);
|
||||
@@ -257,7 +257,7 @@ void chSnowman_update(Actor *this){
|
||||
else if(
|
||||
map_get() != MAP_27_FP_FREEZEEZY_PEAK
|
||||
|| func_8038DD34(local->unk0) == 0
|
||||
|| fileProgressFlag_get(0x13)
|
||||
|| fileProgressFlag_get(FILEPROG_13_COMPLETED_TWINKLIES_MINIGAME)
|
||||
){//L802E2318
|
||||
if(0.0 < local->unk4){
|
||||
if( (globalTimer_getTime() & 1)
|
||||
|
@@ -8,7 +8,7 @@ void chSnowmanHat_update(Actor *this);
|
||||
ActorInfo chSnowmanHat = {
|
||||
MARKER_B3_SIR_SLUSH_HAT, ACTOR_126_SIR_SLUSH_HAT, ASSET_379_MODEL_SIRSLUSH_HAT,
|
||||
0x1, NULL,
|
||||
chSnowmanHat_update, func_80326224, actor_draw,
|
||||
chSnowmanHat_update, actor_update_func_80326224, actor_draw,
|
||||
4500, 0, 1.0f, 0
|
||||
};
|
||||
|
||||
|
@@ -73,8 +73,8 @@ void __chTermite_updateWalkSFX(Actor *this) {
|
||||
void __chTermite_setupParticleEmitter(ParticleEmitter *pCtrl, f32 position[3]){
|
||||
particleEmitter_setPosition(pCtrl, position);
|
||||
particleEmitter_setDrawMode(pCtrl, 2);
|
||||
func_802EF9F8(pCtrl, 0.7f);
|
||||
func_802EFA18(pCtrl, 5);
|
||||
particleEmitter_func_802EF9F8(pCtrl, 0.7f);
|
||||
particleEmitter_func_802EFA18(pCtrl, 5);
|
||||
func_802EFA20(pCtrl, 0.8f, 1.0f);
|
||||
particleEmitter_setSfx(pCtrl, SFX_1F_HITTING_AN_ENEMY_3, 10000);
|
||||
particleEmitter_setSpawnIntervalRange(pCtrl, 0.0f, 0.01f);
|
||||
@@ -84,7 +84,7 @@ void __chTermite_setupParticleEmitter(ParticleEmitter *pCtrl, f32 position[3]){
|
||||
|
||||
void __chTermite_emitLegs(ParticleEmitter *pCtrl, f32 position[3]){
|
||||
__chTermite_setupParticleEmitter(pCtrl, position);
|
||||
particleEmitter_setParticleAccelerationRange(pCtrl, 0.0f, -1800.0f, 0.0f, 0.0f, -1800.0f, 0.0f);
|
||||
particleEmitter_setAccelerationRange(pCtrl, 0.0f, -1800.0f, 0.0f, 0.0f, -1800.0f, 0.0f);
|
||||
particleEmitter_setModel(pCtrl, ASSET_393_MODEL_TERMITE_LEG);
|
||||
particleEmitter_setStartingScaleRange(pCtrl, 0.5f, 0.8f);
|
||||
particleEmitter_setAngularVelocityRange(pCtrl, -800.0f, -800.0f, -800.0f, 800.0f, 800.0f, 800.0f);
|
||||
@@ -94,7 +94,7 @@ void __chTermite_emitLegs(ParticleEmitter *pCtrl, f32 position[3]){
|
||||
|
||||
void __chTermite_emitHead(ParticleEmitter *pCtrl, f32 position[3]){
|
||||
__chTermite_setupParticleEmitter(pCtrl, position);
|
||||
particleEmitter_setParticleAccelerationRange(pCtrl, 0.0f, -1800.0f, 0.0f, 0.0f, -1800.0f, 0.0f);
|
||||
particleEmitter_setAccelerationRange(pCtrl, 0.0f, -1800.0f, 0.0f, 0.0f, -1800.0f, 0.0f);
|
||||
particleEmitter_setModel(pCtrl, ASSET_394_MODEL_TERMITE_HEAD);
|
||||
particleEmitter_setStartingScaleRange(pCtrl, 1.0f, 1.0f);
|
||||
particleEmitter_setAngularVelocityRange(pCtrl, -600.0f, -600.0f, -600.0f, 600.0f, 600.0f, 600.0f);
|
||||
@@ -104,7 +104,7 @@ void __chTermite_emitHead(ParticleEmitter *pCtrl, f32 position[3]){
|
||||
|
||||
void __chTermite_emitBody(ParticleEmitter *pCtrl, f32 position[3]){
|
||||
__chTermite_setupParticleEmitter(pCtrl, position);
|
||||
particleEmitter_setParticleAccelerationRange(pCtrl, 0.0f, -1800.0f, 0.0f, 0.0f, -1800.0f, 0.0f);
|
||||
particleEmitter_setAccelerationRange(pCtrl, 0.0f, -1800.0f, 0.0f, 0.0f, -1800.0f, 0.0f);
|
||||
particleEmitter_setModel(pCtrl, ASSET_395_MODEL_TERMITE_BODY);
|
||||
particleEmitter_setStartingScaleRange(pCtrl, 1.0f, 1.0f);
|
||||
particleEmitter_setAngularVelocityRange(pCtrl, -600.0f, -600.0f, -600.0f, 600.0f, 600.0f, 600.0f);
|
||||
@@ -114,7 +114,7 @@ void __chTermite_emitBody(ParticleEmitter *pCtrl, f32 position[3]){
|
||||
|
||||
void __chTermite_emitEyes(ParticleEmitter *pCtrl, f32 position[3]){
|
||||
__chTermite_setupParticleEmitter(pCtrl, position);
|
||||
particleEmitter_setParticleAccelerationRange(pCtrl, 0.0f, -1400.0f, 0.0f, 0.0f, -1400.0f, 0.0f);
|
||||
particleEmitter_setAccelerationRange(pCtrl, 0.0f, -1400.0f, 0.0f, 0.0f, -1400.0f, 0.0f);
|
||||
particleEmitter_setModel(pCtrl, ASSET_396_MODEL_TERMITE_EYES);
|
||||
particleEmitter_setStartingScaleRange(pCtrl, 1.0f, 1.0f);
|
||||
particleEmitter_setAngularVelocityRange(pCtrl, -300.0f, -300.0f, -300.0f, 300.0f, 300.0f, 300.0f);
|
||||
@@ -142,12 +142,13 @@ void __chTermite_die(ActorMarker *marker, ActorMarker *other_marker){
|
||||
FUNC_8030E624(SFX_D1_SNORKEL_WAH, 1.4f, 32750);
|
||||
marker_despawn(marker);
|
||||
}
|
||||
void __chTermite_testCallback(ActorMarker *caller, enum asset_e text_id, s32 arg2){
|
||||
|
||||
void __chTermite_testCallback(ActorMarker *caller, enum asset_e text_id, s32 arg2) {
|
||||
Actor *this;
|
||||
|
||||
this = marker_getActor(caller);
|
||||
this->has_met_before = FALSE;
|
||||
levelSpecificFlags_set(0xd, FALSE);
|
||||
levelSpecificFlags_set(LEVEL_FLAG_D_MM_UNKNOWN, FALSE);
|
||||
}
|
||||
|
||||
void chTermite_update(Actor *this) {
|
||||
@@ -172,7 +173,7 @@ void chTermite_update(Actor *this) {
|
||||
) {
|
||||
gcdialog_showText(ASSET_B43_DIALOG_TERMITE_MEET_AS_BEAR, 7, this->position, this->marker, __chTermite_testCallback, NULL);
|
||||
mapSpecificFlags_set(0, TRUE);
|
||||
levelSpecificFlags_set(0xD, TRUE);
|
||||
levelSpecificFlags_set(LEVEL_FLAG_D_MM_UNKNOWN, TRUE);
|
||||
this->has_met_before = TRUE;
|
||||
}
|
||||
|
||||
@@ -181,13 +182,14 @@ void chTermite_update(Actor *this) {
|
||||
&& func_8028ECAC() == 0
|
||||
&& player_getTransformation() == TRANSFORM_2_TERMITE
|
||||
) {
|
||||
if (!levelSpecificFlags_get(0xB)) {
|
||||
if (!levelSpecificFlags_get(LEVEL_FLAG_B_MM_UNKNOWN)) {
|
||||
if (gcdialog_showText(ASSET_B41_DIALOG_TERMITE_COOL_SHORTS, 0, NULL, NULL, NULL, NULL)) {
|
||||
levelSpecificFlags_set(0xB, TRUE);
|
||||
levelSpecificFlags_set(LEVEL_FLAG_B_MM_UNKNOWN, TRUE);
|
||||
this->unk138_23 = TRUE;
|
||||
}
|
||||
} else if (!levelSpecificFlags_get(0xC) && !this->unk138_23 && (gcdialog_showText(ASSET_B42_DIALOG_TERMITE_COOL_BACKPACK, 0, NULL, NULL, NULL, NULL))) {
|
||||
levelSpecificFlags_set(0xC, TRUE);
|
||||
}
|
||||
else if (!levelSpecificFlags_get(LEVEL_FLAG_C_MM_UNKNOWN) && !this->unk138_23 && (gcdialog_showText(ASSET_B42_DIALOG_TERMITE_COOL_BACKPACK, 0, NULL, NULL, NULL, NULL))) {
|
||||
levelSpecificFlags_set(LEVEL_FLAG_C_MM_UNKNOWN, TRUE);
|
||||
}
|
||||
}
|
||||
switch (this->state) {
|
||||
@@ -242,6 +244,6 @@ void chTermite_update(Actor *this) {
|
||||
ActorInfo chTermite = {
|
||||
MARKER_4_TERMITE, ACTOR_5_TERMITE, ASSET_350_MODEL_TERMITE,
|
||||
0x1, chTermiteAnimations,
|
||||
chTermite_update, func_80326224, actor_draw,
|
||||
chTermite_update, actor_update_func_80326224, actor_draw,
|
||||
2000, 0, 0.0f, 0
|
||||
};
|
||||
|
@@ -19,7 +19,7 @@ ActorAnimationInfo chTrainersAnimations[] = {
|
||||
ActorInfo chTrainers = {
|
||||
MARKER_38_TURBO_TALON_TRAINERS, ACTOR_2C_TURBO_TALON_TRAINERS, ASSET_367_MODEL_TURBO_TALON_TRAINERS,
|
||||
0x0, chTrainersAnimations,
|
||||
chtrainers_update, func_80326224, chtrainers_draw,
|
||||
chtrainers_update, actor_update_func_80326224, chtrainers_draw,
|
||||
0, 0, 0.0f, 0
|
||||
};
|
||||
|
||||
@@ -56,8 +56,9 @@ void _chtrainers_802CA378(Actor *this, bool arg1){
|
||||
}
|
||||
|
||||
void chtrainers_update(Actor *this){
|
||||
s32 sp2C = levelSpecificFlags_get(0x1a);
|
||||
if(sp2C && this->unkF4_8 != 1){
|
||||
s32 sp2C = levelSpecificFlags_get(LEVEL_FLAG_1A_UNKNOWN);
|
||||
|
||||
if (sp2C && this->unkF4_8 != 1) {
|
||||
return;
|
||||
}
|
||||
|
||||
|
@@ -19,7 +19,7 @@ ActorAnimationInfo D_80367A00[] = {
|
||||
ActorInfo D_80367A20 = {
|
||||
MARKER_11_WADING_BOOTS, ACTOR_65_WADING_BOOTS, ASSET_366_MODEL_WADING_BOOTS,
|
||||
0x0, D_80367A00,
|
||||
chwadingboots_update, func_80326224, chwadingboots_draw,
|
||||
chwadingboots_update, actor_update_func_80326224, chwadingboots_draw,
|
||||
0, 0, 0.0f, 0
|
||||
};
|
||||
|
||||
@@ -33,8 +33,9 @@ Actor *chwadingboots_draw(ActorMarker *marker, Gfx **gfx, Mtx **mtx, Vtx **vtx){
|
||||
}
|
||||
|
||||
void chwadingboots_update(Actor *this){
|
||||
s32 sp2C = levelSpecificFlags_get(0x1a);
|
||||
if(sp2C && this->unkF4_8 != 1){
|
||||
s32 sp2C = levelSpecificFlags_get(LEVEL_FLAG_1A_UNKNOWN);
|
||||
|
||||
if (sp2C && this->unkF4_8 != 1) {
|
||||
return;
|
||||
}
|
||||
|
||||
|
@@ -18,16 +18,16 @@ s32 D_80373124[3] = {0xA0, 0x6B, 0x23};
|
||||
void __chwhipcrack_spawnPieces(Actor *this, enum asset_e model_id, s32 cnt){
|
||||
ParticleEmitter *pCtrl = partEmitMgr_newEmitter(cnt);
|
||||
|
||||
particleEmitter_setParticleAccelerationRange(pCtrl,
|
||||
particleEmitter_setAccelerationRange(pCtrl,
|
||||
0.0f, -1000.0f, 0.0f,
|
||||
0.0f, -1000.0f, 0.0f
|
||||
);
|
||||
func_802EF9F8(pCtrl, 0.7f);
|
||||
func_802EFA18(pCtrl, 3);
|
||||
particleEmitter_func_802EF9F8(pCtrl, 0.7f);
|
||||
particleEmitter_func_802EFA18(pCtrl, 3);
|
||||
func_802EFA20(pCtrl, 0.5f, 1.0f);
|
||||
particleEmitter_setSfx(pCtrl, SFX_1F_HITTING_AN_ENEMY_3, 10000);
|
||||
particleEmitter_setModel(pCtrl, model_id);
|
||||
particleEmitter_setParticleSpawnPositionRange(pCtrl,
|
||||
particleEmitter_setSpawnPositionRange(pCtrl,
|
||||
-120.0f, 50.0f, -120.0f,
|
||||
120.0f, 300.0f, 120.0f
|
||||
);
|
||||
@@ -54,7 +54,7 @@ void __chwhipcrack_spawnSmoke(Actor *this, s32 cnt){
|
||||
particleEmitter_setPosition(pCtrl, this->position);
|
||||
particleEmitter_setStartingScaleRange(pCtrl, 3.0f, 3.5f);
|
||||
particleEmitter_setFinalScaleRange(pCtrl, 4.5f, 5.5f);
|
||||
particleEmitter_setParticleSpawnPositionRange(pCtrl,
|
||||
particleEmitter_setSpawnPositionRange(pCtrl,
|
||||
-50.0f, 50.0f, -50.0f,
|
||||
50.0f, 200.0f, 50.0f
|
||||
);
|
||||
|
@@ -3,7 +3,7 @@
|
||||
#include "variables.h"
|
||||
#include <core1/viewport.h>
|
||||
|
||||
extern void func_8024E71C(s32, f32*);
|
||||
extern void controller_getJoystick(s32, f32*);
|
||||
extern f32 ml_acosf(f32);
|
||||
extern f32 player_getYaw(void);
|
||||
extern void particleEmitter_setSphericalParticleVelocityRange(ParticleEmitter *this, f32 pitch_min, f32 yaw_min, f32 radial_min, f32 pitch_max, f32 yaw_max, f32 radial_max);
|
||||
@@ -79,7 +79,7 @@ void func_8029B11C(void) {
|
||||
}
|
||||
|
||||
void func_8029B174(void) {
|
||||
func_8024E71C(0, &D_8037D1A0.unk1C);
|
||||
controller_getJoystick(0, &D_8037D1A0.unk1C);
|
||||
if (D_8037D1A0.unk34) {
|
||||
D_8037D1A0.unk1C[0] = D_8037D1A0.unk1C[1] = 0.0f;
|
||||
}
|
||||
|
@@ -7,7 +7,7 @@
|
||||
#include "core2/ba/physics.h"
|
||||
#include <core1/viewport.h>
|
||||
|
||||
extern void func_8024E71C(s32, f32*);
|
||||
extern void controller_getJoystick(s32, f32*);
|
||||
extern f32 ml_acosf(f32);
|
||||
extern f32 player_getYaw(void);
|
||||
extern void particleEmitter_setSphericalParticleVelocityRange(ParticleEmitter *this, f32 pitch_min, f32 yaw_min, f32 radial_min, f32 pitch_max, f32 yaw_max, f32 radial_max);
|
||||
|
@@ -17,14 +17,14 @@ s32 D_80365F30[] = {
|
||||
ActorInfo D_80365F60 = {
|
||||
0x58, 0x4E, ASSET_7DE_SPRITE_SHOE_SPARKLES,
|
||||
0, NULL,
|
||||
func_802C5A60, func_80326224, func_80325934,
|
||||
func_802C5A60, actor_update_func_80326224, func_80325934,
|
||||
0, 0, 0.0f, 0
|
||||
};
|
||||
|
||||
ActorInfo D_80365F84 = {
|
||||
0x59, 0x4F, ASSET_7DE_SPRITE_SHOE_SPARKLES,
|
||||
0, NULL,
|
||||
func_802C5A60, func_80326224, func_80325934,
|
||||
func_802C5A60, actor_update_func_80326224, func_80325934,
|
||||
0, 0, 0.0f, 0
|
||||
};
|
||||
|
||||
|
@@ -5,7 +5,7 @@
|
||||
void func_802C5BC0(Actor *this);
|
||||
|
||||
/* .data */
|
||||
ActorInfo D_80365FB0 = { 0x65, 0xF3, 0x0, 0x0, 0x0, func_802C5BC0, func_80326224, func_80325340, 0, 0, 0.0f, 0};
|
||||
ActorInfo D_80365FB0 = { 0x65, 0xF3, 0x0, 0x0, 0x0, func_802C5BC0, actor_update_func_80326224, func_80325340, 0, 0, 0.0f, 0};
|
||||
|
||||
/* .code */
|
||||
void func_802C5BC0(Actor *this){
|
||||
|
@@ -32,12 +32,12 @@ f32 D_80366330 = 0.5f;
|
||||
f32 D_80366334 = 30.0f;
|
||||
f32 D_80366338 = 150.0f;
|
||||
f32 D_8036633C = 25.0f;
|
||||
ActorInfo D_80366340 = { 0x56, 0x4A, 0x0, 0x2, 0x0, func_802C8C5C, func_80326224, func_802C8484, 0, 0, 0.0f, 0};
|
||||
ActorInfo D_80366364 = { 0x56, 0x4B, 0x0, 0x2, 0x0, func_802C8C5C, func_80326224, func_802C8484, 0, 0, 0.0f, 0};
|
||||
ActorInfo D_80366388 = { 0x56, 0xD, 0x0, 0x2, 0x0, func_802C8C5C, func_80326224, func_802C8484, 0, 0, 0.0f, 0};
|
||||
ActorInfo D_803663AC = { 0x56, 0x11F, 0x0, 0x2, 0x0, func_802C8C5C, func_80326224, func_802C8484, 0, 0, 0.0f, 0};
|
||||
ActorInfo D_803663D0 = { 0x56, 0x14F, 0x0, 0x2, 0x0, func_802C8C5C, func_80326224, func_802C8484, 0, 0, 0.0f, 0};
|
||||
ActorInfo D_803663F4 = { 0x56, 0x3AD, 0x0, 0x2, 0x0, func_802C8C5C, func_80326224, func_802C8484, 0, 0, 0.0f, 0};
|
||||
ActorInfo D_80366340 = { 0x56, 0x4A, 0x0, 0x2, 0x0, func_802C8C5C, actor_update_func_80326224, func_802C8484, 0, 0, 0.0f, 0};
|
||||
ActorInfo D_80366364 = { 0x56, 0x4B, 0x0, 0x2, 0x0, func_802C8C5C, actor_update_func_80326224, func_802C8484, 0, 0, 0.0f, 0};
|
||||
ActorInfo D_80366388 = { 0x56, 0xD, 0x0, 0x2, 0x0, func_802C8C5C, actor_update_func_80326224, func_802C8484, 0, 0, 0.0f, 0};
|
||||
ActorInfo D_803663AC = { 0x56, 0x11F, 0x0, 0x2, 0x0, func_802C8C5C, actor_update_func_80326224, func_802C8484, 0, 0, 0.0f, 0};
|
||||
ActorInfo D_803663D0 = { 0x56, 0x14F, 0x0, 0x2, 0x0, func_802C8C5C, actor_update_func_80326224, func_802C8484, 0, 0, 0.0f, 0};
|
||||
ActorInfo D_803663F4 = { 0x56, 0x3AD, 0x0, 0x2, 0x0, func_802C8C5C, actor_update_func_80326224, func_802C8484, 0, 0, 0.0f, 0};
|
||||
s32 D_80366418[3] = {0,0,0};
|
||||
|
||||
/* .bss */
|
||||
|
@@ -6,7 +6,7 @@ void chextralife_update(Actor *this);
|
||||
|
||||
ActorInfo chExtraLife = { MARKER_61_EXTRA_LIFE, ACTOR_49_EXTRA_LIFE, ASSET_36E_MODEL_EXTRA_LIFE,
|
||||
0x0, NULL,
|
||||
chextralife_update, func_80326224, func_80325934,
|
||||
chextralife_update, actor_update_func_80326224, func_80325934,
|
||||
0, 0, 0.7f, 0
|
||||
};
|
||||
|
||||
|
@@ -50,65 +50,47 @@ enum bundle_state_e {
|
||||
BUNDLE_STATE_3_IDLE
|
||||
};
|
||||
|
||||
enum core2_41FB0_e {
|
||||
CORE2_41FB0_0_MM_HUT_NOTES,
|
||||
CORE2_41FB0_1_MM_HUT_EGGS,
|
||||
CORE2_41FB0_2_MM_HUT_GRUBLIN,
|
||||
CORE2_41FB0_3_MM_HUT_JINJO,
|
||||
CORE2_41FB0_4_MM_HUT_JIGGY,
|
||||
|
||||
CORE2_41FB0_6_MM_HUT_EXTRA_LIFE = 0x6,
|
||||
|
||||
|
||||
CORE2_41FB0_A_BGS_HUT_JUMP_PAD = 0xA,
|
||||
CORE2_41FB0_B_BGS_HUT_NOTES,
|
||||
CORE2_41FB0_C_BGS_HUT_JIGGY,
|
||||
|
||||
CORE2_41FB0_E_YUMYUM_EGG = 0xe,
|
||||
CORE2_41FB0_F_YUMYUM_RED_FEATHER
|
||||
};
|
||||
|
||||
// #define 41FB0_FLAG_SET_YAW 0x0020
|
||||
BundleInfo gBundle_array[] = {
|
||||
/*MM HUT 1*/ {0x0021, ACTOR_51_MUSIC_NOTE, 5, SFX_3E9_UNKNOWN, 1, 16000, 125.0f, 25.0f, 725.0f, 125.0f, 125.0f, 25.0f, 0.6f, 0.0f},
|
||||
/*MM HUT 2*/ {0x0021, ACTOR_52_BLUE_EGG, 5, SFX_21_EGG_BOUNCE_1, 1, 16000, 100.0f, 50.0f, 500.0f, 250.0f, 100.0f, 50.0f, 0.6f, 0.0f},
|
||||
/*MM HUT 3*/ {0x0021, ACTOR_6_GRUBLIN, 1, SFX_8_BANJO_LANDING_04, 1, 20000, 0.0f, 0.0f, 550.0f, 250.0f, 200.0f, 0.0f, 0.6f, 0.0f},
|
||||
/*MM HUT 4*/ {0x0021, ACTOR_62_JINJO_GREEN, 1, SFX_8_BANJO_LANDING_04, 1, 20000, 100.0f, 50.0f, 500.0f, 250.0f, 100.0f, 50.0f, 0.6f, 0.0f},
|
||||
/*MM HUT 6*/ {0x0021, ACTOR_46_JIGGY, 1, SFX_3E9_UNKNOWN, 1, 16000, 100.0f, 50.0f, 500.0f, 250.0f, 100.0f, 50.0f, 0.6f, 0.0f},
|
||||
{0x0001, ACTOR_50_HONEYCOMB, 3, SFX_3E9_UNKNOWN, 1, 16000, 50.0f, 150.0f, 500.0f, 250.0f, 50.0f, 150.0f, 0.6f, 0.0f},
|
||||
/*MM HUT 5*/ {0x0021, ACTOR_49_EXTRA_LIFE, 1, SFX_3E9_UNKNOWN, 1, 16000, 100.0f, 50.0f, 500.0f, 250.0f, 100.0f, 50.0f, 0.6f, 0.0f},
|
||||
{0x0001, ACTOR_46_JIGGY, 1, SFX_3E9_UNKNOWN, 1, 16000, 0.0f, 0.0f, 1000.0f, 0.0f, 0.0f, 0.0f, 0.6f, 0.0f},
|
||||
{0x0005, ACTOR_46_JIGGY, 1, SFX_3E9_UNKNOWN, 1, 16000, 90.0f, 0.0f, 930.0f, 0.0f, 100.0f, 0.0f, 0.6f, 0.0f},
|
||||
{0x0049, ACTOR_46_JIGGY, 1, SFX_3E9_UNKNOWN, 1, 16000, 0.0f, 0.0f, 1000.0f, 0.0f, 300.0f, 0.0f, 0.5f, 0.0f},
|
||||
/*BGS HUT 1,2,4,5*/ {0x002D, ACTOR_B_SHOCKSPRING_PAD, 1, 0, 1, 16000, 0.0f, 0.0f, 200.0f, 0.0f, 0.0f, 0.0f, 0.2f, 315.0f},
|
||||
/*BGS HUT 3*/ {0x0005, ACTOR_51_MUSIC_NOTE, 5, SFX_3E9_UNKNOWN, 1, 16000, 75.0f, 0.0f, 725.0f, 0.0f, 75.0f, 0.0f, 0.6f, 0.0f},
|
||||
/*BGS HUT 4*/ {0x0005, ACTOR_46_JIGGY, 1, SFX_3E9_UNKNOWN, 1, 16000, 0.0f, 0.0f, 1000.0f, 0.0f, 0.0f, 0.0f, 0.5f, 0.0f},
|
||||
{0x0009, ACTOR_47_EMPTY_HONEYCOMB, 1, SFX_3E9_UNKNOWN, 1, 16000, 0.0f, 0.0f, 200.0f, 0.0f, 300.0f, 0.0f, 0.6f, 0.0f},
|
||||
/*YUM YUM EGG*/ {0x0001, ACTOR_52_BLUE_EGG, 1, SFX_21_EGG_BOUNCE_1, 1, 16000, 0.0f, 350.0f, 500.0f, 500.0f, 0.0f, 350.0f, 0.6f, 0.0f},
|
||||
/*YUM YUM FEATHER*/ {0x0001, ACTOR_129_RED_FEATHER, 1, SFX_21_EGG_BOUNCE_1, 1, 16000, 0.0f, 350.0f, 500.0f, 500.0f, 0.0f, 350.0f, 0.6f, 0.0f},
|
||||
/*0x10*/ {0x0005, ACTOR_46_JIGGY, 1, 0, 0, 0, 0.0f, 0.0f, 100.0f, 0.0f, 0.0f, 0.0f, 0.75f, 0.0f},
|
||||
{0x0005, ACTOR_6A_UNKNOWN, 1, 0, 0, 0, 0.0f, 0.0f, 200.0f, 0.0f, 0.0f, 0.0f, 0.6f, 0.0f},
|
||||
{0x0009, ACTOR_46_JIGGY, 1, SFX_3E9_UNKNOWN, 1, 16000, 0.0f, 0.0f, 650.0f, 0.0f, 950.0f, 0.0f, 0.6f, 0.0f},
|
||||
{0x0001, ACTOR_51_MUSIC_NOTE, 1, SFX_21_EGG_BOUNCE_1, 1, 16000, 125.0f, 25.0f, 725.0f, 125.0f, 125.0f, 25.0f, 0.6f, 0.0f},
|
||||
{0x0001, ACTOR_50_HONEYCOMB, 1, SFX_3E9_UNKNOWN, 1, 18000, 50.0f, 150.0f, 500.0f, 250.0f, 50.0f, 150.0f, 0.6f, 0.0f},
|
||||
{0x0065, ACTOR_46_JIGGY, 1, SFX_3E9_UNKNOWN, 1, 16000, 90.0f, 0.0f, 930.0f, 0.0f, 100.0f, 0.0f, 0.7f, 0.0f},
|
||||
{0x0021, ACTOR_50_HONEYCOMB, 1, SFX_3E9_UNKNOWN, 1, 18000, 0.0f, 0.0f, 750.0f, 250.0f, 0.0f, 0.0f, 0.6f, 0.0f},
|
||||
{0x0021, ACTOR_50_HONEYCOMB, 2, SFX_3E9_UNKNOWN, 1, 18000, 50.0f, 150.0f, 500.0f, 250.0f, 50.0f, 150.0f, 0.6f, 0.0f},
|
||||
{0x0021, ACTOR_50_HONEYCOMB, 3, SFX_3E9_UNKNOWN, 1, 18000, 50.0f, 150.0f, 500.0f, 250.0f, 50.0f, 150.0f, 0.6f, 0.0f},
|
||||
{0x00A1, ACTOR_50_HONEYCOMB, 1, SFX_8_BANJO_LANDING_04, 1, 20000, 250.0f, 0.0f, 200.0f, 0.0f, 0.0f, 0.0f, 0.6f, 0.0f},
|
||||
{0x00A1, ACTOR_50_HONEYCOMB, 1, SFX_8_BANJO_LANDING_04, 1, 20000, 350.0f, 0.0f, 350.0f, 0.0f, 0.0f, 0.0f, 0.6f, 0.0f},
|
||||
{0x00A1, ACTOR_50_HONEYCOMB, 1, SFX_8_BANJO_LANDING_04, 1, 20000, 450.0f, 0.0f, 400.0f, 0.0f, 0.0f, 0.0f, 0.6f, 0.0f},
|
||||
{0x00A1, ACTOR_50_HONEYCOMB, 1, SFX_8_BANJO_LANDING_04, 1, 20000, 550.0f, 0.0f, 450.0f, 0.0f, 0.0f, 0.0f, 0.6f, 0.0f},
|
||||
{0x00A1, ACTOR_50_HONEYCOMB, 1, SFX_8_BANJO_LANDING_04, 1, 20000, 650.0f, 0.0f, 500.0f, 0.0f, 0.0f, 0.0f, 0.6f, 0.0f},
|
||||
{0x0021, ACTOR_46_JIGGY, 1, 0, 0, 0, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f},
|
||||
/*SM QUARRIES & VEGGIES*/ {0x0025, ACTOR_47_EMPTY_HONEYCOMB, 1, SFX_3E9_UNKNOWN, 1, 18000, 0.0f, 0.0f, 750.0f, 500.0f, 0.0f, 0.0f, 0.6f, 0.0f},
|
||||
{0x0129, ACTOR_352_UNKOWN, 1, SFX_3F2_UNKNOWN, 1, 16000, 0.0f, 0.0f, 2500.0f, 0.0f, 0.0f, 0.0f, 0.4f, 0.0f},
|
||||
{0x0081, ACTOR_3A0_ICECUBE_B, 1, SFX_116_DEAF_RUSTLING, 1, 32000, 220.0f, 100.0f, 350.0f, 200.0f, 220.0f, 100.0f, 0.6f, 0.0f},
|
||||
{0x02A1, ACTOR_50_HONEYCOMB, 1, SFX_8_BANJO_LANDING_04, 1, 20000, 250.0f, 0.0f, 200.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f},
|
||||
{0x02A1, ACTOR_50_HONEYCOMB, 1, SFX_8_BANJO_LANDING_04, 1, 20000, 350.0f, 0.0f, 350.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f},
|
||||
{0x02A1, ACTOR_50_HONEYCOMB, 1, SFX_8_BANJO_LANDING_04, 1, 20000, 450.0f, 0.0f, 400.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f},
|
||||
{0x02A1, ACTOR_50_HONEYCOMB, 1, SFX_8_BANJO_LANDING_04, 1, 20000, 550.0f, 0.0f, 450.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f},
|
||||
{0x02A1, ACTOR_50_HONEYCOMB, 1, SFX_8_BANJO_LANDING_04, 1, 20000, 650.0f, 0.0f, 500.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f}
|
||||
{0x0021, ACTOR_51_MUSIC_NOTE, 5, SFX_3E9_UNKNOWN, 1, 16000, 125.0f, 25.0f, 725.0f, 125.0f, 125.0f, 25.0f, 0.6f, 0.0f},
|
||||
{0x0021, ACTOR_52_BLUE_EGG, 5, SFX_21_EGG_BOUNCE_1, 1, 16000, 100.0f, 50.0f, 500.0f, 250.0f, 100.0f, 50.0f, 0.6f, 0.0f},
|
||||
{0x0021, ACTOR_6_GRUBLIN, 1, SFX_8_BANJO_LANDING_04, 1, 20000, 0.0f, 0.0f, 550.0f, 250.0f, 200.0f, 0.0f, 0.6f, 0.0f},
|
||||
{0x0021, ACTOR_62_JINJO_GREEN, 1, SFX_8_BANJO_LANDING_04, 1, 20000, 100.0f, 50.0f, 500.0f, 250.0f, 100.0f, 50.0f, 0.6f, 0.0f},
|
||||
{0x0021, ACTOR_46_JIGGY, 1, SFX_3E9_UNKNOWN, 1, 16000, 100.0f, 50.0f, 500.0f, 250.0f, 100.0f, 50.0f, 0.6f, 0.0f},
|
||||
{0x0001, ACTOR_50_HONEYCOMB, 3, SFX_3E9_UNKNOWN, 1, 16000, 50.0f, 150.0f, 500.0f, 250.0f, 50.0f, 150.0f, 0.6f, 0.0f},
|
||||
{0x0021, ACTOR_49_EXTRA_LIFE, 1, SFX_3E9_UNKNOWN, 1, 16000, 100.0f, 50.0f, 500.0f, 250.0f, 100.0f, 50.0f, 0.6f, 0.0f},
|
||||
{0x0001, ACTOR_46_JIGGY, 1, SFX_3E9_UNKNOWN, 1, 16000, 0.0f, 0.0f, 1000.0f, 0.0f, 0.0f, 0.0f, 0.6f, 0.0f},
|
||||
{0x0005, ACTOR_46_JIGGY, 1, SFX_3E9_UNKNOWN, 1, 16000, 90.0f, 0.0f, 930.0f, 0.0f, 100.0f, 0.0f, 0.6f, 0.0f},
|
||||
{0x0049, ACTOR_46_JIGGY, 1, SFX_3E9_UNKNOWN, 1, 16000, 0.0f, 0.0f, 1000.0f, 0.0f, 300.0f, 0.0f, 0.5f, 0.0f},
|
||||
{0x002D, ACTOR_B_SHOCKSPRING_PAD, 1, 0, 1, 16000, 0.0f, 0.0f, 200.0f, 0.0f, 0.0f, 0.0f, 0.2f, 315.0f},
|
||||
{0x0005, ACTOR_51_MUSIC_NOTE, 5, SFX_3E9_UNKNOWN, 1, 16000, 75.0f, 0.0f, 725.0f, 0.0f, 75.0f, 0.0f, 0.6f, 0.0f},
|
||||
{0x0005, ACTOR_46_JIGGY, 1, SFX_3E9_UNKNOWN, 1, 16000, 0.0f, 0.0f, 1000.0f, 0.0f, 0.0f, 0.0f, 0.5f, 0.0f},
|
||||
{0x0009, ACTOR_47_EMPTY_HONEYCOMB, 1, SFX_3E9_UNKNOWN, 1, 16000, 0.0f, 0.0f, 200.0f, 0.0f, 300.0f, 0.0f, 0.6f, 0.0f},
|
||||
{0x0001, ACTOR_52_BLUE_EGG, 1, SFX_21_EGG_BOUNCE_1, 1, 16000, 0.0f, 350.0f, 500.0f, 500.0f, 0.0f, 350.0f, 0.6f, 0.0f},
|
||||
{0x0001, ACTOR_129_RED_FEATHER, 1, SFX_21_EGG_BOUNCE_1, 1, 16000, 0.0f, 350.0f, 500.0f, 500.0f, 0.0f, 350.0f, 0.6f, 0.0f},
|
||||
{0x0005, ACTOR_46_JIGGY, 1, 0, 0, 0, 0.0f, 0.0f, 100.0f, 0.0f, 0.0f, 0.0f, 0.75f, 0.0f},
|
||||
{0x0005, ACTOR_6A_UNKNOWN, 1, 0, 0, 0, 0.0f, 0.0f, 200.0f, 0.0f, 0.0f, 0.0f, 0.6f, 0.0f},
|
||||
{0x0009, ACTOR_46_JIGGY, 1, SFX_3E9_UNKNOWN, 1, 16000, 0.0f, 0.0f, 650.0f, 0.0f, 950.0f, 0.0f, 0.6f, 0.0f},
|
||||
{0x0001, ACTOR_51_MUSIC_NOTE, 1, SFX_21_EGG_BOUNCE_1, 1, 16000, 125.0f, 25.0f, 725.0f, 125.0f, 125.0f, 25.0f, 0.6f, 0.0f},
|
||||
{0x0001, ACTOR_50_HONEYCOMB, 1, SFX_3E9_UNKNOWN, 1, 18000, 50.0f, 150.0f, 500.0f, 250.0f, 50.0f, 150.0f, 0.6f, 0.0f},
|
||||
{0x0065, ACTOR_46_JIGGY, 1, SFX_3E9_UNKNOWN, 1, 16000, 90.0f, 0.0f, 930.0f, 0.0f, 100.0f, 0.0f, 0.7f, 0.0f},
|
||||
{0x0021, ACTOR_50_HONEYCOMB, 1, SFX_3E9_UNKNOWN, 1, 18000, 0.0f, 0.0f, 750.0f, 250.0f, 0.0f, 0.0f, 0.6f, 0.0f},
|
||||
{0x0021, ACTOR_50_HONEYCOMB, 2, SFX_3E9_UNKNOWN, 1, 18000, 50.0f, 150.0f, 500.0f, 250.0f, 50.0f, 150.0f, 0.6f, 0.0f},
|
||||
{0x0021, ACTOR_50_HONEYCOMB, 3, SFX_3E9_UNKNOWN, 1, 18000, 50.0f, 150.0f, 500.0f, 250.0f, 50.0f, 150.0f, 0.6f, 0.0f},
|
||||
{0x00A1, ACTOR_50_HONEYCOMB, 1, SFX_8_BANJO_LANDING_04, 1, 20000, 250.0f, 0.0f, 200.0f, 0.0f, 0.0f, 0.0f, 0.6f, 0.0f},
|
||||
{0x00A1, ACTOR_50_HONEYCOMB, 1, SFX_8_BANJO_LANDING_04, 1, 20000, 350.0f, 0.0f, 350.0f, 0.0f, 0.0f, 0.0f, 0.6f, 0.0f},
|
||||
{0x00A1, ACTOR_50_HONEYCOMB, 1, SFX_8_BANJO_LANDING_04, 1, 20000, 450.0f, 0.0f, 400.0f, 0.0f, 0.0f, 0.0f, 0.6f, 0.0f},
|
||||
{0x00A1, ACTOR_50_HONEYCOMB, 1, SFX_8_BANJO_LANDING_04, 1, 20000, 550.0f, 0.0f, 450.0f, 0.0f, 0.0f, 0.0f, 0.6f, 0.0f},
|
||||
{0x00A1, ACTOR_50_HONEYCOMB, 1, SFX_8_BANJO_LANDING_04, 1, 20000, 650.0f, 0.0f, 500.0f, 0.0f, 0.0f, 0.0f, 0.6f, 0.0f},
|
||||
{0x0021, ACTOR_46_JIGGY, 1, 0, 0, 0, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f},
|
||||
{0x0025, ACTOR_47_EMPTY_HONEYCOMB, 1, SFX_3E9_UNKNOWN, 1, 18000, 0.0f, 0.0f, 750.0f, 500.0f, 0.0f, 0.0f, 0.6f, 0.0f},
|
||||
{0x0129, ACTOR_352_UNKOWN, 1, SFX_3F2_UNKNOWN, 1, 16000, 0.0f, 0.0f, 2500.0f, 0.0f, 0.0f, 0.0f, 0.4f, 0.0f},
|
||||
{0x0081, ACTOR_3A0_ICECUBE_B, 1, SFX_116_DEAF_RUSTLING, 1, 32000, 220.0f, 100.0f, 350.0f, 200.0f, 220.0f, 100.0f, 0.6f, 0.0f},
|
||||
{0x02A1, ACTOR_50_HONEYCOMB, 1, SFX_8_BANJO_LANDING_04, 1, 20000, 250.0f, 0.0f, 200.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f},
|
||||
{0x02A1, ACTOR_50_HONEYCOMB, 1, SFX_8_BANJO_LANDING_04, 1, 20000, 350.0f, 0.0f, 350.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f},
|
||||
{0x02A1, ACTOR_50_HONEYCOMB, 1, SFX_8_BANJO_LANDING_04, 1, 20000, 450.0f, 0.0f, 400.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f},
|
||||
{0x02A1, ACTOR_50_HONEYCOMB, 1, SFX_8_BANJO_LANDING_04, 1, 20000, 550.0f, 0.0f, 450.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f},
|
||||
{0x02A1, ACTOR_50_HONEYCOMB, 1, SFX_8_BANJO_LANDING_04, 1, 20000, 650.0f, 0.0f, 500.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f}
|
||||
};
|
||||
|
||||
/* .bss */
|
||||
@@ -117,7 +99,7 @@ f32 gBundle_yaw;
|
||||
f32 gBundle_randomVelocity;
|
||||
|
||||
/* .public */
|
||||
Actor *bundle_spawn_f32(s32 arg0, f32 position[3]);
|
||||
Actor *bundle_spawn_f32(enum bundle_e bundle_id, f32 position[3]);
|
||||
|
||||
/* .code */
|
||||
void bundle_reset(void) {
|
||||
@@ -136,14 +118,14 @@ void bundle_setRandomVelocity(f32 velocity) {
|
||||
gBundle_randomVelocity = velocity;
|
||||
}
|
||||
|
||||
Actor *bundle_spawn_s32(s32 index, s32 position[3]) {
|
||||
Actor *bundle_spawn_s32(enum bundle_e bundle_id, s32 position[3]) {
|
||||
f32 pos_float[3];
|
||||
|
||||
TUPLE_COPY(pos_float, position)
|
||||
return bundle_spawn_f32(index, pos_float);
|
||||
return bundle_spawn_f32(bundle_id, pos_float);
|
||||
}
|
||||
|
||||
Actor *__bundle_spawnWithFirstActor(s32 index, f32 position[3], Actor *firstActor) {
|
||||
Actor *__bundle_spawnWithFirstActor(enum bundle_e bundle_id, f32 position[3], Actor *firstActor) {
|
||||
static f32 D_80366C4C = 400.0f;
|
||||
BundleInfo *bundle_info; //s2
|
||||
Actor *actor = NULL; //s3
|
||||
@@ -151,7 +133,7 @@ Actor *__bundle_spawnWithFirstActor(s32 index, f32 position[3], Actor *firstActo
|
||||
s32 i;
|
||||
Bundle *bundle;
|
||||
|
||||
bundle_info = gBundle_array + index;
|
||||
bundle_info = gBundle_array + bundle_id;
|
||||
actor = NULL;
|
||||
|
||||
for (i = 0; i < bundle_info->count; i++) {//L802C90B0
|
||||
@@ -166,7 +148,7 @@ Actor *__bundle_spawnWithFirstActor(s32 index, f32 position[3], Actor *firstActo
|
||||
actor->is_bundle = TRUE;
|
||||
|
||||
bundle = (Bundle *) &actor->unkBC;
|
||||
bundle->index = index;
|
||||
bundle->index = bundle_id;
|
||||
bundle->state = BUNDLE_STATE_1_MOVING;
|
||||
bundle->unk6 = 1;
|
||||
ml_vec3f_copy(bundle->position, actor->position);
|
||||
@@ -201,13 +183,13 @@ Actor *__bundle_spawnWithFirstActor(s32 index, f32 position[3], Actor *firstActo
|
||||
return actor;
|
||||
}
|
||||
|
||||
Actor *__bundle_spawnFromFirstActor(s32 index, Actor *actor) {
|
||||
gBundle_array[index].yaw = actor->yaw;
|
||||
return __bundle_spawnWithFirstActor(index, actor->position, actor);
|
||||
Actor *__bundle_spawnFromFirstActor(enum bundle_e bundle_id, Actor *actor) {
|
||||
gBundle_array[bundle_id].yaw = actor->yaw;
|
||||
return __bundle_spawnWithFirstActor(bundle_id, actor->position, actor);
|
||||
}
|
||||
|
||||
Actor *bundle_spawn_f32(s32 index, f32 position[3]) {
|
||||
return __bundle_spawnWithFirstActor(index, position, NULL);
|
||||
Actor *bundle_spawn_f32(enum bundle_e bundle_id, f32 position[3]) {
|
||||
return __bundle_spawnWithFirstActor(bundle_id, position, NULL);
|
||||
}
|
||||
|
||||
bool func_802C939C(Actor *actor, f32 arg1[3], f32 arg2[3], f32 arg3[3], bool arg4) {
|
||||
|
@@ -14,13 +14,13 @@ void chHoneycomb_update(Actor *this);
|
||||
/* .data */
|
||||
ActorInfo D_80366C80 = { MARKER_53_EMPTY_HONEYCOMB, ACTOR_47_EMPTY_HONEYCOMB, ASSET_361_MODEL_EMPTY_HONEYCOMB,
|
||||
0, NULL,
|
||||
chHoneycomb_update, func_80326224, actor_draw,
|
||||
chHoneycomb_update, actor_update_func_80326224, actor_draw,
|
||||
0, 0, 0.8f, 0
|
||||
};
|
||||
|
||||
ActorInfo D_80366CA4 = { MARKER_55_HONEYCOMB, ACTOR_50_HONEYCOMB, ASSET_363_MODEL_HONEYCOMB,
|
||||
0, NULL,
|
||||
chHoneycomb_update, func_80326224, actor_draw,
|
||||
chHoneycomb_update, actor_update_func_80326224, actor_draw,
|
||||
0, 0, 0.8f, 0
|
||||
};
|
||||
|
||||
|
@@ -22,7 +22,7 @@ void func_802CA1E0(Actor *this);
|
||||
ActorInfo D_80366CD0 = {
|
||||
0x3D, 0x183, 0,
|
||||
0, NULL,
|
||||
func_802CA1E0, func_80326224, func_80325340,
|
||||
func_802CA1E0, actor_update_func_80326224, func_80325340,
|
||||
0, 0, 0.0f, 0
|
||||
};
|
||||
|
||||
|
@@ -13,7 +13,7 @@ void func_802CA92C(Actor *this);
|
||||
ActorInfo D_80366EF0 = {
|
||||
MARKER_32_PLAYER_SHADOW, ACTOR_17_PLAYER_SHADOW, ASSET_3BF_MODEL_PLAYER_SHADOW,
|
||||
0x1, 0x0,
|
||||
func_802CA92C, func_80326224, func_802CA7BC,
|
||||
func_802CA92C, actor_update_func_80326224, func_802CA7BC,
|
||||
0, 0, 0.0f, 0
|
||||
};
|
||||
|
||||
|
@@ -10,21 +10,21 @@ void chFightFlightPad_update(Actor *this);
|
||||
extern ActorInfo chShockJump = {
|
||||
0x0D4, ACTOR_B_SHOCKSPRING_PAD, ASSET_489_MODEL_SHOCKSPRING_PAD,
|
||||
0, NULL,
|
||||
chShockJump_update, func_80326224, actor_draw,
|
||||
chShockJump_update, actor_update_func_80326224, actor_draw,
|
||||
0, 0, 0.0f, 0
|
||||
};
|
||||
|
||||
extern ActorInfo chFlightPad = {
|
||||
MARKER_45_FLIGHT_PAD, ACTOR_E4_FLIGHT_PAD, ASSET_48A_MODEL_FLIGHT_PAD,
|
||||
0, NULL,
|
||||
chFlightPad_update, func_80326224, actor_draw,
|
||||
chFlightPad_update, actor_update_func_80326224, actor_draw,
|
||||
0, 0, 0.0f, 0
|
||||
};
|
||||
|
||||
extern ActorInfo chFightFlightPad = {
|
||||
MARKER_261_FIGHT_FLIGHT_PAD, ACTOR_39F_FIGHT_FLIGHT_PAD, ASSET_48A_MODEL_FLIGHT_PAD,
|
||||
0, NULL,
|
||||
chFightFlightPad_update, func_80326224, actor_draw,
|
||||
chFightFlightPad_update, actor_update_func_80326224, actor_draw,
|
||||
0, 0, 0.0f, 0
|
||||
};
|
||||
|
||||
@@ -38,7 +38,7 @@ extern ParticleScaleAndLifetimeRanges chFightFlightPad_D_80366F8C = {
|
||||
};
|
||||
|
||||
|
||||
extern struct43s chFightFlightPad_D_80366FB4 = {
|
||||
extern ParticleSettingsVelocityAccelerationPosition chFightFlightPad_D_80366FB4 = {
|
||||
{{-360.0f, 360.0f, -360.0}, {360.0f, 660.0f, 360.0f}},
|
||||
{{0.0f, -1200.0f, 0.0f}, {0.0f, -1200.0f, 0.0f}},
|
||||
{{0.0f, 0.0f, 0.0f}, {0.0f, 40.0f, 0.0f}}
|
||||
@@ -84,9 +84,9 @@ void chFightFlightPad_emitSparklesAtPosition(f32 position[3]){
|
||||
ParticleEmitter *pCtrl = partEmitMgr_newEmitter(0x18);
|
||||
particleEmitter_setSprite(pCtrl, ASSET_715_SPRITE_SPARKLE_RED);
|
||||
particleEmitter_setPosition(pCtrl, position);
|
||||
particleEmitter_setPositionVelocityAndAccelerationRanges(pCtrl, &chFightFlightPad_D_80366FB4);
|
||||
particleEmitter_setVelocityAccelerationAndPositionRanges(pCtrl, &chFightFlightPad_D_80366FB4);
|
||||
particleEmitter_setScaleAndLifetimeRanges(pCtrl, &chFightFlightPad_D_80366F8C);
|
||||
func_802EFA78(pCtrl, 1);
|
||||
particleEmitter_func_802EFA78(pCtrl, 1);
|
||||
particleEmitter_emitN(pCtrl, 0x18);
|
||||
}
|
||||
|
||||
|
@@ -6,7 +6,7 @@
|
||||
|
||||
extern void func_8030DBFC(u32, f32, f32, f32);
|
||||
extern bool func_80309DBC(f32[3], f32[3], f32, f32 sp54[3], s32, s32);
|
||||
extern void fileProgressFlag_set(s32, bool);
|
||||
extern void fileProgressFlag_set(enum file_progress_e, bool);
|
||||
extern void sfxsource_set_fade_distances(u8, f32, f32);
|
||||
extern void sfxsource_set_position(u8, f32[3]);
|
||||
extern void func_8030E2C4(u8);
|
||||
@@ -279,14 +279,14 @@ void chBeeSwarm_802CF610(Actor *this, ParticleEmitter *p_ctrl, f32 position[3])
|
||||
func_8030E6A4(SFX_66_BIRD_AUUGHH, randf2(1.75f, 1.85f), 15000);
|
||||
particleEmitter_setPosition(p_ctrl, position);
|
||||
particleEmitter_setDrawMode(p_ctrl, 2);
|
||||
func_802EF9F8(p_ctrl, 0.5f);
|
||||
func_802EFA18(p_ctrl, 3);
|
||||
particleEmitter_func_802EF9F8(p_ctrl, 0.5f);
|
||||
particleEmitter_func_802EFA18(p_ctrl, 3);
|
||||
func_802EFA20(p_ctrl, 0.8f, 1.0f);
|
||||
particleEmitter_setSfx(p_ctrl, SFX_1F_HITTING_AN_ENEMY_3, 10000);
|
||||
particleEmitter_setSpawnIntervalRange(p_ctrl, 0.0f, 0.01f);
|
||||
particleEmitter_setParticleLifeTimeRange(p_ctrl, 2.0f, 2.5f);
|
||||
particleEmitter_setFade(p_ctrl, 0.0f, 0.65f);
|
||||
particleEmitter_setParticleAccelerationRange(p_ctrl, 0.0f, -1800.0f, 0.0f, 0.0f, -1800.0f, 0.0f);
|
||||
particleEmitter_setAccelerationRange(p_ctrl, 0.0f, -1800.0f, 0.0f, 0.0f, -1800.0f, 0.0f);
|
||||
particleEmitter_setModel(p_ctrl,this->marker->modelId);
|
||||
particleEmitter_setStartingScaleRange(p_ctrl, 0.25f, 0.25f);
|
||||
particleEmitter_setAngularVelocityRange(p_ctrl, -600.0f, -600.0f, -600.0f, 600.0f, 600.0f, 600.0f);
|
||||
|
@@ -28,7 +28,7 @@ ActorAnimationInfo D_80367490[] = {
|
||||
ActorInfo D_803674E0 = {
|
||||
MARKER_6_MUMBO, ACTOR_7_MUMBO, ASSET_3C6_MODEL_MUMBO,
|
||||
0x1, D_80367490,
|
||||
chMumbo_update, func_80326224, chMumbo_draw,
|
||||
chMumbo_update, actor_update_func_80326224, chMumbo_draw,
|
||||
0, 0, 0.0f, 0
|
||||
};
|
||||
s32 D_80367504[3] = {0.0f, 0.0f, 0.0f};
|
||||
@@ -360,8 +360,8 @@ void chMumbo_update(Actor *this) {
|
||||
break;
|
||||
}
|
||||
func_8025A6EC(COMUSIC_2C_BUZZER, 22000);
|
||||
if ((levelSpecificFlags_get(0x3E) == 0) && (gcdialog_showText(ASSET_DAC_DIALOG_MUMBO_FAIL_TO_BUY, 0, NULL, NULL, NULL, NULL) != 0)) {
|
||||
levelSpecificFlags_set(0x3E, 1);
|
||||
if ((levelSpecificFlags_get(LEVEL_FLAG_3E_UNKNOWN) == FALSE) && (gcdialog_showText(ASSET_DAC_DIALOG_MUMBO_FAIL_TO_BUY, 0, NULL, NULL, NULL, NULL) != 0)) {
|
||||
levelSpecificFlags_set(LEVEL_FLAG_3E_UNKNOWN, 1);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -428,7 +428,7 @@ void chMumbo_update(Actor *this) {
|
||||
|
||||
case 7: //L802D2704
|
||||
chMumbo_func_802D186C(this);
|
||||
if (volatileFlag_get(FILEPROG_11_HAS_MET_MUMBO) == 0) {
|
||||
if (volatileFlag_get(VOLATILE_FLAG_11) == 0) {
|
||||
if (map_get() == MAP_7A_GL_CRYPT) {
|
||||
sp48 = chMumbo_withinHorzDistToPlayer(0x453, 0, 0xBC);
|
||||
} else {
|
||||
@@ -436,7 +436,7 @@ void chMumbo_update(Actor *this) {
|
||||
}
|
||||
if (sp48 != 0) {
|
||||
gcdialog_showText(ASSET_DA7_DIALOG_MUMBO_CCW_SUMMER, 7, NULL, NULL, NULL, NULL);
|
||||
volatileFlag_set(FILEPROG_11_HAS_MET_MUMBO, TRUE);
|
||||
volatileFlag_set(VOLATILE_FLAG_11, TRUE);
|
||||
}
|
||||
}
|
||||
actor_loopAnimation(this);
|
||||
@@ -444,7 +444,7 @@ void chMumbo_update(Actor *this) {
|
||||
|
||||
case 8: //L802D2790
|
||||
chMumbo_func_802D186C(this);
|
||||
if (volatileFlag_get(FILEPROG_12_HAS_TRANSFORMED_BEFORE) == 0) {
|
||||
if (volatileFlag_get(VOLATILE_FLAG_12) == 0) {
|
||||
if (map_get() == MAP_7A_GL_CRYPT) {
|
||||
sp48 = chMumbo_withinHorzDistToPlayer(0x453, 0, 0xBC);
|
||||
} else {
|
||||
@@ -452,7 +452,7 @@ void chMumbo_update(Actor *this) {
|
||||
}
|
||||
if (sp48 != 0) {
|
||||
gcdialog_showText(ASSET_DA8_DIALOG_MUMBO_CCW_AUTUMN, 7, NULL, NULL, NULL, NULL);
|
||||
volatileFlag_set(FILEPROG_12_HAS_TRANSFORMED_BEFORE, TRUE);
|
||||
volatileFlag_set(VOLATILE_FLAG_12, TRUE);
|
||||
}
|
||||
}
|
||||
actor_loopAnimation(this);
|
||||
|
@@ -5,11 +5,11 @@
|
||||
void chMumboSign_update(Actor *this);
|
||||
|
||||
/* .data */
|
||||
ActorInfo D_80367530 = { MARKER_1E9_MUMBO_COST_SIGN, ACTOR_368_5_MUMBO_TOKEN_SIGN, ASSET_301_MODEL_5_MUMBO_TOKEN_SIGN, 0x0, 0x0, chMumboSign_update, func_80326224, actor_draw, 0, 0, 0.0f, 0};
|
||||
ActorInfo D_80367554 = { MARKER_1E9_MUMBO_COST_SIGN, ACTOR_36B_10_MUMBO_TOKEN_SIGN, ASSET_302_MODEL_10_MUMBO_TOKEN_SIGN, 0x0, 0x0, chMumboSign_update, func_80326224, actor_draw, 0, 0, 0.0f, 0};
|
||||
ActorInfo D_80367578 = { MARKER_1E9_MUMBO_COST_SIGN, ACTOR_36A_15_MUMBO_TOKEN_SIGN, ASSET_303_MODEL_15_MUMBO_TOKEN_SIGN, 0x0, 0x0, chMumboSign_update, func_80326224, actor_draw, 0, 0, 0.0f, 0};
|
||||
ActorInfo D_8036759C = { MARKER_1E9_MUMBO_COST_SIGN, ACTOR_369_20_MUMBO_TOKEN_SIGN, ASSET_304_MODEL_20_MUMBO_TOKEN_SIGN, 0x0, 0x0, chMumboSign_update, func_80326224, actor_draw, 0, 0, 0.0f, 0};
|
||||
ActorInfo D_803675C0 = { MARKER_1E9_MUMBO_COST_SIGN, ACTOR_36C_25_MUMBO_TOKEN_SIGN, ASSET_305_MODEL_25_MUMBO_TOKEN_SIGN, 0x0, 0x0, chMumboSign_update, func_80326224, actor_draw, 0, 0, 0.0f, 0};
|
||||
ActorInfo D_80367530 = { MARKER_1E9_MUMBO_COST_SIGN, ACTOR_368_5_MUMBO_TOKEN_SIGN, ASSET_301_MODEL_5_MUMBO_TOKEN_SIGN, 0x0, 0x0, chMumboSign_update, actor_update_func_80326224, actor_draw, 0, 0, 0.0f, 0};
|
||||
ActorInfo D_80367554 = { MARKER_1E9_MUMBO_COST_SIGN, ACTOR_36B_10_MUMBO_TOKEN_SIGN, ASSET_302_MODEL_10_MUMBO_TOKEN_SIGN, 0x0, 0x0, chMumboSign_update, actor_update_func_80326224, actor_draw, 0, 0, 0.0f, 0};
|
||||
ActorInfo D_80367578 = { MARKER_1E9_MUMBO_COST_SIGN, ACTOR_36A_15_MUMBO_TOKEN_SIGN, ASSET_303_MODEL_15_MUMBO_TOKEN_SIGN, 0x0, 0x0, chMumboSign_update, actor_update_func_80326224, actor_draw, 0, 0, 0.0f, 0};
|
||||
ActorInfo D_8036759C = { MARKER_1E9_MUMBO_COST_SIGN, ACTOR_369_20_MUMBO_TOKEN_SIGN, ASSET_304_MODEL_20_MUMBO_TOKEN_SIGN, 0x0, 0x0, chMumboSign_update, actor_update_func_80326224, actor_draw, 0, 0, 0.0f, 0};
|
||||
ActorInfo D_803675C0 = { MARKER_1E9_MUMBO_COST_SIGN, ACTOR_36C_25_MUMBO_TOKEN_SIGN, ASSET_305_MODEL_25_MUMBO_TOKEN_SIGN, 0x0, 0x0, chMumboSign_update, actor_update_func_80326224, actor_draw, 0, 0, 0.0f, 0};
|
||||
|
||||
void chMumboSign_update(Actor *this) {
|
||||
if (!this->volatile_initialized) {
|
||||
|
@@ -13,7 +13,7 @@ ActorInfo D_803675F0 = {
|
||||
};
|
||||
s16 D_80367614[] = {3,2,3,4,3,5,3,0};
|
||||
ParticleScaleAndLifetimeRanges D_80367624 = {{0.7f, 0.3f}, {0.01f, 0.01f}, {0.05f, 0.05f}, {0.2f, 0.2f}, 0.0f, 0.01f};
|
||||
struct42s D_8036764C = {
|
||||
ParticleSettingsVelocityPosition D_8036764C = {
|
||||
{{-100.0f, 400.0f, -100.0f}, { 100.0f, 800.0f, 100.0f}},
|
||||
{{-100.0f, 0.0f, -100.0f}, { 100.0f, 0.0f, 100.0f}}
|
||||
};
|
||||
|
@@ -4,7 +4,7 @@
|
||||
|
||||
#include "SnS.h"
|
||||
|
||||
extern f32 func_80258640(f32 [3], f32[3]);
|
||||
extern f32 ml_vec3f_horizontal_distance_zero_likely(f32 [3], f32[3]);
|
||||
extern void func_8025A788(enum comusic_e, f32, f32);
|
||||
extern void func_8031CC40(enum map_e, s32);
|
||||
extern void fxRipple_802F363C(f32);
|
||||
@@ -13,7 +13,7 @@ extern void func_802EE6CC(f32[3], f32[3], s32[4], s32, f32, f32, s32, s32, s32);
|
||||
extern void ml_vec3f_assign(f32[3], f32, f32, f32);
|
||||
extern void func_802EE2E8(Actor *arg0, s32 arg1, s32 cnt, s32 arg3, f32 arg4, f32 arg5, f32 arg6);
|
||||
extern void func_80319EA4(void);
|
||||
extern void fileProgressFlag_set(s32, bool);
|
||||
extern void fileProgressFlag_set(enum file_progress_e, bool);
|
||||
|
||||
void func_802D3D54(Actor *this);
|
||||
void func_802D3DA4(Actor *this);
|
||||
@@ -50,7 +50,7 @@ s32 D_8036768C = 0;
|
||||
s32 D_80367690 = 0;
|
||||
s32 D_80367694 = 0; //enum map_e
|
||||
s32 D_80367698 = 0;
|
||||
s32 D_8036769C = 0; //enum file_progress_e
|
||||
enum file_progress_e D_8036769C = 0;
|
||||
s32 D_803676A0 = 0; //enum actor_e
|
||||
f32 D_803676A4 = 0.0f;
|
||||
s32 D_803676A8 = 0;
|
||||
@@ -59,47 +59,60 @@ u8 D_803676AC = 0;
|
||||
ActorAnimationInfo D_803676B0[] = {
|
||||
{0x000, 0.0f},
|
||||
{0x000, 0.0f},
|
||||
{0x0D4, 0.15f},
|
||||
{0x0D5, 0.5f},
|
||||
{ASSET_D4_ANIM_SWITCH_DOWN, 0.15f},
|
||||
{ASSET_D5_ANIM_SWITCH_UP, 0.5f},
|
||||
{0x000, 0.0f},
|
||||
{0x000, 0.0f},
|
||||
{0x0D4, 0.15f},
|
||||
{0x0D5, 0.5f},
|
||||
{0x0D5, 1e+8f},
|
||||
{0x1E3, 0.73f},
|
||||
{0x1E3, 1e+8f},
|
||||
{0x1F0, 1.0f},
|
||||
{0x1F1, 0.7f},
|
||||
{0x1F1, 1e+8f},
|
||||
{0x1F2, 1.0f},
|
||||
{0x1F3, 0.4f},
|
||||
{0x1F3, 1e+8f},
|
||||
{ASSET_D4_ANIM_SWITCH_DOWN, 0.15f},
|
||||
{ASSET_D5_ANIM_SWITCH_UP, 0.5f},
|
||||
{ASSET_D5_ANIM_SWITCH_UP, 1e+8f},
|
||||
{ASSET_1E3_ANIM_UNKNOWN, 0.73f},
|
||||
{ASSET_1E3_ANIM_UNKNOWN, 1e+8f},
|
||||
{ASSET_1F0_ANIM_UNKNOWN, 1.0f},
|
||||
{ASSET_1F1_ANIM_UNKNOWN, 0.7f},
|
||||
{ASSET_1F1_ANIM_UNKNOWN, 1e+8f},
|
||||
{ASSET_1F2_ANIM_UNKNOWN, 1.0f},
|
||||
{ASSET_1F3_ANIM_UNKNOWN, 0.4f},
|
||||
{ASSET_1F3_ANIM_UNKNOWN, 1e+8f},
|
||||
{0x000, 0.0f},
|
||||
{0x217, 1e+8f},
|
||||
{0x217, 0.3f},
|
||||
{0x217, 1e+8f},
|
||||
{0x217, 0.3f}
|
||||
{ASSET_217_ANIM_UNKNOWN, 1e+8f},
|
||||
{ASSET_217_ANIM_UNKNOWN, 0.3f},
|
||||
{ASSET_217_ANIM_UNKNOWN, 1e+8f},
|
||||
{ASSET_217_ANIM_UNKNOWN, 0.3f}
|
||||
};
|
||||
|
||||
ActorInfo D_80367760 = { 0x26E, 0x2D9, 0x3B4, 0x1, NULL, func_802D3D54, func_80326224, actor_drawFullDepth, 0, 0, 0.0f, 0};
|
||||
ActorInfo D_80367784 = { 0x26F, 0x2DA, 0x3B5, 0x1, NULL, func_802D3D54, func_80326224, actor_drawFullDepth, 0, 0, 0.0f, 0};
|
||||
ActorInfo D_803677A8 = { MARKER_168_ICE_KEY, ACTOR_25D_ICE_KEY, ASSET_50C_MODEL_ICE_KEY, 0x1, NULL, func_802D4250, func_80326224, actor_drawFullDepth, 0, 0, 0.0f, 0};
|
||||
ActorInfo D_803677CC = { 0x233, 0x23D, 0x4DD, 0x12, D_803676B0, func_802D4388, func_80326224, func_802D4588, 0, 0, 0.0f, 0};
|
||||
ActorInfo D_80367760 = { 0x26E, 0x2D9, 0x3B4, 0x1, NULL, func_802D3D54, actor_update_func_80326224, actor_drawFullDepth, 0, 0, 0.0f, 0};
|
||||
ActorInfo D_80367784 = { 0x26F, 0x2DA, 0x3B5, 0x1, NULL, func_802D3D54, actor_update_func_80326224, actor_drawFullDepth, 0, 0, 0.0f, 0};
|
||||
ActorInfo D_803677A8 = { MARKER_168_ICE_KEY, ACTOR_25D_ICE_KEY, ASSET_50C_MODEL_ICE_KEY, 0x1, NULL, func_802D4250, actor_update_func_80326224, actor_drawFullDepth, 0, 0, 0.0f, 0};
|
||||
ActorInfo D_803677CC = { 0x233, 0x23D, 0x4DD, 0x12, D_803676B0, func_802D4388, actor_update_func_80326224, func_802D4588, 0, 0, 0.0f, 0};
|
||||
ActorInfo D_803677F0 = { 0x16A, 0x242, 0x0, 0x0, NULL, func_802D4680, NULL, func_80325340, 0, 0, 0.0f, 0};
|
||||
ActorInfo D_80367814 = { MARKER_169_SNS_EGG, ACTOR_25E_SNS_EGG, ASSET_50D_MODEL_SNS_EGG, 0x1, NULL, func_802D3FD4, NULL, func_802D41C4, 0, 0, 0.0f, 0};
|
||||
ActorInfo D_80367838 = { 0x265, 0x2E4, 0x55A, 0x1, NULL, func_802D3DA4, NULL, func_802D3F48, 0, 0, 0.0f, 0};
|
||||
ActorInfo D_8036785C = { MARKER_103_MM_WITCH_SWITCH, ACTOR_204_MM_WITCH_SWITCH, ASSET_4DC_MODEL_WITCH_SWITCH, 0x1, D_803676B0, func_802D4B94, func_80326224, actor_draw, 0, 0, 0.0f, 0};
|
||||
ActorInfo D_80367880 = { MARKER_104_MMM_WITCH_SWITCH, ACTOR_206_MMM_WITCH_SWITCH, ASSET_4DC_MODEL_WITCH_SWITCH, 0x1, D_803676B0, func_802D4C34, func_80326224, actor_draw, 0, 0, 0.0f, 0};
|
||||
ActorInfo D_803678A4 = { MARKER_105_TTC_WITCH_SWITCH, ACTOR_208_TTC_WITCH_SWITCH, ASSET_4DC_MODEL_WITCH_SWITCH, 0x1, D_803676B0, func_802D4C5C, func_80326224, actor_draw, 0, 0, 0.0f, 0};
|
||||
ActorInfo D_803678C8 = { MARKER_106_RBB_WITCH_SWITCH, ACTOR_20B_RBB_WITCH_SWITCH, ASSET_4DC_MODEL_WITCH_SWITCH, 0x1, D_803676B0, func_802D4C84, func_80326224, actor_draw, 0, 0, 0.0f, 0};
|
||||
ActorInfo D_803678EC = { MARKER_22A_CCW_WITCH_SWITCH, ACTOR_237_CCW_WITCH_SWITCH, ASSET_4DC_MODEL_WITCH_SWITCH, 0x1, D_803676B0, func_802D4CAC, func_80326224, actor_draw, 0, 0, 0.0f, 0};
|
||||
ActorInfo D_80367910 = { MARKER_22B_FP_WITCH_SWITCH, ACTOR_239_FP_WITCH_SWITCH, ASSET_4DC_MODEL_WITCH_SWITCH, 0x1, D_803676B0, func_802D4CD4, func_80326224, actor_draw, 0, 0, 0.0f, 0};
|
||||
ActorInfo D_80367934 = { MARKER_166_CC_WITCH_SWITCH, ACTOR_25B_CC_WITCH_SWITCH, ASSET_4DC_MODEL_WITCH_SWITCH, 0x1, D_803676B0, func_802D4BBC, func_80326224, actor_draw, 0, 0, 0.0f, 0};
|
||||
ActorInfo D_80367958 = { MARKER_162_BGS_WITCH_SWITCH, ACTOR_257_BGS_WITCH_SWITCH, ASSET_4DC_MODEL_WITCH_SWITCH, 0x1, D_803676B0, func_802D4BE4, func_80326224, actor_draw, 0, 0, 0.0f, 0};
|
||||
ActorInfo D_8036797C = { MARKER_161_GV_WITCH_SWITCH, ACTOR_256_GV_WITCH_SWITCH, ASSET_4DC_MODEL_WITCH_SWITCH, 0x1, D_803676B0, func_802D4C0C, func_80326224, actor_draw, 0, 0, 0.0f, 0};
|
||||
ActorInfo D_8036785C = { MARKER_103_MM_WITCH_SWITCH, ACTOR_204_MM_WITCH_SWITCH, ASSET_4DC_MODEL_WITCH_SWITCH, 0x1, D_803676B0, func_802D4B94, actor_update_func_80326224, actor_draw, 0, 0, 0.0f, 0};
|
||||
ActorInfo D_80367880 = { MARKER_104_MMM_WITCH_SWITCH, ACTOR_206_MMM_WITCH_SWITCH, ASSET_4DC_MODEL_WITCH_SWITCH, 0x1, D_803676B0, func_802D4C34, actor_update_func_80326224, actor_draw, 0, 0, 0.0f, 0};
|
||||
ActorInfo D_803678A4 = { MARKER_105_TTC_WITCH_SWITCH, ACTOR_208_TTC_WITCH_SWITCH, ASSET_4DC_MODEL_WITCH_SWITCH, 0x1, D_803676B0, func_802D4C5C, actor_update_func_80326224, actor_draw, 0, 0, 0.0f, 0};
|
||||
ActorInfo D_803678C8 = { MARKER_106_RBB_WITCH_SWITCH, ACTOR_20B_RBB_WITCH_SWITCH, ASSET_4DC_MODEL_WITCH_SWITCH, 0x1, D_803676B0, func_802D4C84, actor_update_func_80326224, actor_draw, 0, 0, 0.0f, 0};
|
||||
ActorInfo D_803678EC = { MARKER_22A_CCW_WITCH_SWITCH, ACTOR_237_CCW_WITCH_SWITCH, ASSET_4DC_MODEL_WITCH_SWITCH, 0x1, D_803676B0, func_802D4CAC, actor_update_func_80326224, actor_draw, 0, 0, 0.0f, 0};
|
||||
ActorInfo D_80367910 = { MARKER_22B_FP_WITCH_SWITCH, ACTOR_239_FP_WITCH_SWITCH, ASSET_4DC_MODEL_WITCH_SWITCH, 0x1, D_803676B0, func_802D4CD4, actor_update_func_80326224, actor_draw, 0, 0, 0.0f, 0};
|
||||
ActorInfo D_80367934 = { MARKER_166_CC_WITCH_SWITCH, ACTOR_25B_CC_WITCH_SWITCH, ASSET_4DC_MODEL_WITCH_SWITCH, 0x1, D_803676B0, func_802D4BBC, actor_update_func_80326224, actor_draw, 0, 0, 0.0f, 0};
|
||||
ActorInfo D_80367958 = { MARKER_162_BGS_WITCH_SWITCH, ACTOR_257_BGS_WITCH_SWITCH, ASSET_4DC_MODEL_WITCH_SWITCH, 0x1, D_803676B0, func_802D4BE4, actor_update_func_80326224, actor_draw, 0, 0, 0.0f, 0};
|
||||
ActorInfo D_8036797C = { MARKER_161_GV_WITCH_SWITCH, ACTOR_256_GV_WITCH_SWITCH, ASSET_4DC_MODEL_WITCH_SWITCH, 0x1, D_803676B0, func_802D4C0C, actor_update_func_80326224, actor_draw, 0, 0, 0.0f, 0};
|
||||
|
||||
s32 D_803679A0[4] = {0x87, 0x87, 0x87, 0xA0};
|
||||
s16 D_803679B0[] = {0x5, 0x90, 0xA, 0x93, 0xF,0x92, 0x14, 0x91, 0x19, 0x94, -1};
|
||||
s16 D_803679B0[] = {
|
||||
FILEPROG_5_BLUE_EGG_TEXT,
|
||||
FILEPROG_90_PAID_TERMITE_COST,
|
||||
FILEPROG_A_HONEYCOMB_TEXT,
|
||||
FILEPROG_93_PAID_CROC_COST,
|
||||
FILEPROG_F_HAS_TOUCHED_PIRAHANA_WATER,
|
||||
FILEPROG_92_PAID_WALRUS_COST,
|
||||
FILEPROG_14_HAS_TOUCHED_FP_ICY_WATER,
|
||||
FILEPROG_91_PAID_PUMPKIN_COST,
|
||||
FILEPROG_19_MMM_WITCH_SWITCH_JIGGY_PRESSED,
|
||||
FILEPROG_94_PAID_BEE_COST,
|
||||
-1
|
||||
};
|
||||
|
||||
Struct_core2_4C020_0 D_803679C8[] = {
|
||||
{0, 600, 1200, 1900},
|
||||
{-580, 0, 1550, 2200},
|
||||
@@ -218,10 +231,10 @@ void func_802D31AC(ActorMarker *arg0, ActorMarker * arg1) {
|
||||
case 0x108:
|
||||
case 0x263:
|
||||
if ((arg0->id == 0x9D) || (arg0->id == 0xE7)) {
|
||||
levelSpecificFlags_set(0x2E, 1);
|
||||
levelSpecificFlags_set(LEVEL_FLAG_2E_MMM_UNKNOWN, 1);
|
||||
}
|
||||
if (arg0->id == 0x263) {
|
||||
levelSpecificFlags_set(0x38, 1);
|
||||
levelSpecificFlags_set(LEVEL_FLAG_38_CCW_UNKNOWN, 1);
|
||||
}
|
||||
func_802D2FB0(sp2C, 5, -0x28, 0xC8, 0.85f, 0xDC, 0x3C, 0x64);
|
||||
func_8030E540(SFX_D_EGGSHELL_BREAKING);
|
||||
@@ -565,13 +578,13 @@ void func_802D4680(Actor *this){
|
||||
player_getPosition(sp1C);
|
||||
switch(this->state){
|
||||
case 0:
|
||||
if(150.0f < func_80258640(this->position, sp1C)){
|
||||
if(150.0f < ml_vec3f_horizontal_distance_zero_likely(this->position, sp1C)){
|
||||
subaddie_set_state(this, 1);
|
||||
D_803676AC = 0;
|
||||
}
|
||||
break;
|
||||
case 1:
|
||||
if(func_80258640(this->position, sp1C) < 150.0f && func_8028F20C()){
|
||||
if(ml_vec3f_horizontal_distance_zero_likely(this->position, sp1C) < 150.0f && func_8028F20C()){
|
||||
if(func_8028ECAC() == 0 || func_8028ECAC() == BSGROUP_8_TROT){
|
||||
if(map_get() == MAP_8E_GL_FURNACE_FUN){
|
||||
volatileFlag_set(VOLATILE_FLAG_0_IN_FURNACE_FUN_QUIZ, 0);
|
||||
@@ -648,7 +661,7 @@ void func_802D4A9C(Actor *this, s32 arg1){
|
||||
func_802D4928(this, arg1, 2, 3);
|
||||
}
|
||||
|
||||
void func_802D4AC0(Actor *this, s32 arg1, s32 arg2) {
|
||||
void func_802D4AC0(Actor *this, s32 arg1, enum file_progress_e arg2) {
|
||||
if (fileProgressFlag_get(arg2)) {
|
||||
if (arg1 & 0x800000) {
|
||||
fileProgressFlag_set(arg1 + 0xFF800000, 1);
|
||||
@@ -817,46 +830,50 @@ void func_802D5260(void) {
|
||||
: -1;
|
||||
|
||||
if (sp3C == -1) {
|
||||
levelSpecificFlags_set(0x3C, FALSE);
|
||||
levelSpecificFlags_set(LEVEL_FLAG_3C_LAIR_UNKNOWN, FALSE);
|
||||
fileProgressFlag_set(FILEPROG_26_WATER_SWITCH_3_PRESSED, FALSE);
|
||||
fileProgressFlag_set(FILEPROG_27_LAIR_WATER_LEVEL_3, FALSE);
|
||||
levelSpecificFlags_set(0x3D, FALSE);
|
||||
levelSpecificFlags_set(LEVEL_FLAG_3D_LAIR_UNKNOWN, FALSE);
|
||||
return;
|
||||
}
|
||||
sp38 = func_8034C528(sp3C + 0x190);
|
||||
if( fileProgressFlag_get(FILEPROG_27_LAIR_WATER_LEVEL_3)
|
||||
&& !levelSpecificFlags_get(0x3D)
|
||||
&& !levelSpecificFlags_get(0x3C)
|
||||
&& !levelSpecificFlags_get(LEVEL_FLAG_3D_LAIR_UNKNOWN)
|
||||
&& !levelSpecificFlags_get(LEVEL_FLAG_3C_LAIR_UNKNOWN)
|
||||
) {
|
||||
func_802D68F0(30);
|
||||
item_set(ITEM_6_HOURGLASS, TRUE);
|
||||
levelSpecificFlags_set(0x3D, TRUE);
|
||||
levelSpecificFlags_set(LEVEL_FLAG_3D_LAIR_UNKNOWN, TRUE);
|
||||
}
|
||||
if( levelSpecificFlags_get(0x3D)
|
||||
&& !levelSpecificFlags_get(0x3C)
|
||||
if( levelSpecificFlags_get(LEVEL_FLAG_3D_LAIR_UNKNOWN)
|
||||
&& !levelSpecificFlags_get(LEVEL_FLAG_3C_LAIR_UNKNOWN)
|
||||
&& item_getCount(ITEM_6_HOURGLASS) == FALSE
|
||||
) {
|
||||
levelSpecificFlags_set(0x3C, TRUE);
|
||||
levelSpecificFlags_set(0x3D, FALSE);
|
||||
levelSpecificFlags_set(LEVEL_FLAG_3C_LAIR_UNKNOWN, TRUE);
|
||||
levelSpecificFlags_set(LEVEL_FLAG_3D_LAIR_UNKNOWN, FALSE);
|
||||
D_803676A4 = 0.0f;
|
||||
}
|
||||
if (levelSpecificFlags_get(0x3C)) {
|
||||
|
||||
if (levelSpecificFlags_get(LEVEL_FLAG_3C_LAIR_UNKNOWN)) {
|
||||
D_803676A4 -= 5.0;
|
||||
|
||||
if (D_803676A8 == 0) {
|
||||
D_803676A8 = func_802F9AA8(SFX_3EC_CCW_DOOR_OPENING);
|
||||
func_802FA060(D_803676A8, 20000, 20000, 0.0f);
|
||||
func_802F9F80(D_803676A8, 0.0f, 1.0e8f, 0.0f);
|
||||
}
|
||||
|
||||
if (D_803679C8[sp3C].unk6 + D_803676A4 <= D_803679C8[sp3C].unk4) {
|
||||
levelSpecificFlags_set(0x3C, FALSE);
|
||||
levelSpecificFlags_set(LEVEL_FLAG_3C_LAIR_UNKNOWN, FALSE);
|
||||
fileProgressFlag_set(FILEPROG_26_WATER_SWITCH_3_PRESSED, FALSE);
|
||||
fileProgressFlag_set(FILEPROG_27_LAIR_WATER_LEVEL_3, FALSE);
|
||||
fileProgressFlag_set(FILEPROG_27_LAIR_WATER_LEVEL_3, FALSE);
|
||||
func_802F9D38(D_803676A8);
|
||||
D_803676A8 = 0;
|
||||
}
|
||||
}
|
||||
|
||||
if (sp38 != 0) {
|
||||
if (levelSpecificFlags_get(0x3C) != 0) {
|
||||
if (levelSpecificFlags_get(LEVEL_FLAG_3C_LAIR_UNKNOWN) != FALSE) {
|
||||
sp34 = D_803679C8[sp3C].unk6 + D_803676A4;
|
||||
} else {
|
||||
sp34 = ((s16 *)&D_803679C8[sp3C])[(fileProgressFlag_get(FILEPROG_27_LAIR_WATER_LEVEL_3)) ? 3
|
||||
@@ -1012,16 +1029,16 @@ void func_802D5628(void){
|
||||
}
|
||||
else{//L802D5B64
|
||||
func_802D5260();
|
||||
func_802D5178(0x1C, 0x28, 0x30, MAP_69_GL_MM_LOBBY, 0x8, 0xA, ACTOR_20E_MM_ENTRANCE_DOOR, 0x28);
|
||||
func_802D5178(0x21, 0x2D, 0x31, MAP_6E_GL_GV_LOBBY, 0xA, 0xA, ACTOR_226_GV_ENTRANCE, 0x12);
|
||||
func_802D5178(0x1E, 0x2A, 0x32, MAP_70_GL_CC_LOBBY, 0xE, 0xA, ACTOR_212_CC_ENTRANCE_BARS, 0xA);
|
||||
func_802D5178(0x1D, 0x29, 0x33, MAP_6D_GL_TTC_LOBBY, 0x9, 0xB, ACTOR_211_TCC_ENTRANCE_CHEST_LID, 0xA);
|
||||
func_802D5178(0x1F, 0x2B, 0x34, MAP_72_GL_BGS_LOBBY, 0xB, 0xB, ACTOR_210_BGS_ENTRANCE_DOOR, 0xA);
|
||||
func_802D5178(0x23, 0x2F, 0x35, MAP_77_GL_RBB_LOBBY, 0xD, 0x5, ACTOR_20F_RBB_ENTRANCE_DOOR, 0xA);
|
||||
func_802D5178(0x22, 0x2E, 0x36, MAP_75_GL_MMM_LOBBY, 0xC, 0x6, ACTOR_228_MMM_ENTRANCE_DOOR, 0xA);
|
||||
func_802D5178(0x24, 0x30, 0x37, MAP_79_GL_CCW_LOBBY, 0xF, 0xB, ACTOR_234_CCW_ENTRANCE_DOOR, 0xA);
|
||||
func_802D5178(0x20, 0x2C, 0x38, MAP_6F_GL_FP_LOBBY, 0x11, 0xA, ACTOR_235_FP_ENTANCE_DOOR, 0xA);
|
||||
func_802D5178(0x3F, 0xE2, 0x40, MAP_93_GL_DINGPOT, 0x10, 0xA, ACTOR_2E5_DOOR_OF_GRUNTY, 0x28);
|
||||
func_802D5178(LEVEL_FLAG_1C_MM_UNKNOWN, 0x28, 0x30, MAP_69_GL_MM_LOBBY, 0x8, 0xA, ACTOR_20E_MM_ENTRANCE_DOOR, 0x28);
|
||||
func_802D5178(LEVEL_FLAG_21_GV_UNKNOWN, 0x2D, 0x31, MAP_6E_GL_GV_LOBBY, 0xA, 0xA, ACTOR_226_GV_ENTRANCE, 0x12);
|
||||
func_802D5178(LEVEL_FLAG_1E_CC_UNKNOWN, 0x2A, 0x32, MAP_70_GL_CC_LOBBY, 0xE, 0xA, ACTOR_212_CC_ENTRANCE_BARS, 0xA);
|
||||
func_802D5178(LEVEL_FLAG_1D_TTC_UNKNOWN, 0x29, 0x33, MAP_6D_GL_TTC_LOBBY, 0x9, 0xB, ACTOR_211_TCC_ENTRANCE_CHEST_LID, 0xA);
|
||||
func_802D5178(LEVEL_FLAG_1F_BGS_UNKNOWN, 0x2B, 0x34, MAP_72_GL_BGS_LOBBY, 0xB, 0xB, ACTOR_210_BGS_ENTRANCE_DOOR, 0xA);
|
||||
func_802D5178(LEVEL_FLAG_23_RBB_UNKNOWN, 0x2F, 0x35, MAP_77_GL_RBB_LOBBY, 0xD, 0x5, ACTOR_20F_RBB_ENTRANCE_DOOR, 0xA);
|
||||
func_802D5178(LEVEL_FLAG_22_MMM_UNKNOWN, 0x2E, 0x36, MAP_75_GL_MMM_LOBBY, 0xC, 0x6, ACTOR_228_MMM_ENTRANCE_DOOR, 0xA);
|
||||
func_802D5178(LEVEL_FLAG_24_CCW_UNKNOWN, 0x30, 0x37, MAP_79_GL_CCW_LOBBY, 0xF, 0xB, ACTOR_234_CCW_ENTRANCE_DOOR, 0xA);
|
||||
func_802D5178(LEVEL_FLAG_20_FP_UNKNOWN, 0x2C, 0x38, MAP_6F_GL_FP_LOBBY, 0x11, 0xA, ACTOR_235_FP_ENTANCE_DOOR, 0xA);
|
||||
func_802D5178(LEVEL_FLAG_3F_LAIR_UNKNOWN, 0xE2, 0x40, MAP_93_GL_DINGPOT, 0x10, 0xA, ACTOR_2E5_DOOR_OF_GRUNTY, 0x28);
|
||||
if(volatileFlag_get(VOLATILE_FLAG_18)){
|
||||
if(!fileProgressFlag_get(FILEPROG_99_PAST_50_NOTE_DOOR_TEXT)){
|
||||
func_80311174(0xF75, 0xE, NULL, NULL, NULL, NULL, func_802D5140);
|
||||
|
@@ -24,19 +24,19 @@ f32 D_80367AA4[3] = {0.0f, 0.0f, 0.0f};
|
||||
ActorInfo D_80367AB0 = {
|
||||
0x57, 0x4C, 0x0,
|
||||
0, NULL,
|
||||
func_802D766C, func_80326224, func_802D745C,
|
||||
func_802D766C, actor_update_func_80326224, func_802D745C,
|
||||
0, 0, 0.0f, 0
|
||||
};
|
||||
ActorInfo D_80367AD4 = {
|
||||
0x57, 0x4D, 0x0,
|
||||
0, NULL,
|
||||
func_802D766C, func_80326224, func_802D745C,
|
||||
func_802D766C, actor_update_func_80326224, func_802D745C,
|
||||
0, 0, 0.0f, 0
|
||||
};
|
||||
ActorInfo D_80367AF8 = {
|
||||
0x57, 0x58, 0x0,
|
||||
0, NULL,
|
||||
func_802D766C, func_80326224, func_802D745C,
|
||||
func_802D766C, actor_update_func_80326224, func_802D745C,
|
||||
0, 0, 0.0f, 0
|
||||
};
|
||||
|
||||
|
@@ -21,35 +21,35 @@ ActorAnimationInfo D_80367B50[] = {
|
||||
ActorInfo D_80367B80 = {
|
||||
MARKER_36_ORANGE_COLLECTIBLE, ACTOR_29_ORANGE_COLLECTIBLE, ASSET_2D2_MODEL_ORANGE,
|
||||
0x5, NULL,
|
||||
chLevelCollectible_update, func_80326224, actor_draw,
|
||||
chLevelCollectible_update, actor_update_func_80326224, actor_draw,
|
||||
0, 0, 0.6f,0
|
||||
};
|
||||
|
||||
ActorInfo D_80367BA4 = {
|
||||
MARKER_37_GOLD_BULLION, ACTOR_2A_GOLD_BULLION, ASSET_3C7_MODEL_GOLD_BULLION,
|
||||
0x5, NULL,
|
||||
chLevelCollectible_update, func_80326224, actor_draw,
|
||||
chLevelCollectible_update, actor_update_func_80326224, actor_draw,
|
||||
0, 0, 0.6f, 0
|
||||
};
|
||||
|
||||
ActorInfo D_80367BC8 = {
|
||||
MARKER_1FD_BLUE_PRESENT_COLLECTIBLE, ACTOR_1ED_BLUE_PRESENT_COLLECTIBLE, ASSET_47F_MODEL_XMAS_GIFT_BLUE,
|
||||
0x5, D_80367B50,
|
||||
chLevelCollectible_update, func_80326224, actor_draw,
|
||||
chLevelCollectible_update, actor_update_func_80326224, actor_draw,
|
||||
0, 0, 1.8f, 0
|
||||
};
|
||||
|
||||
ActorInfo D_80367BEC = {
|
||||
MARKER_1FE_GREEN_PRESENT_COLLECTIBLE, ACTOR_1EF_GREEN_PRESENT_COLLECTIBLE, ASSET_480_MODEL_XMAS_GIFT_GREEN,
|
||||
0x5, D_80367B50,
|
||||
chLevelCollectible_update, func_80326224, actor_draw,
|
||||
chLevelCollectible_update, actor_update_func_80326224, actor_draw,
|
||||
0, 0, 1.4f, 0
|
||||
};
|
||||
|
||||
ActorInfo D_80367C10 = {
|
||||
MARKER_1FF_RED_PRESENT_COLLECTIBLE, ACTOR_1F1_RED_PRESENT_COLLECTIBLE, ASSET_481_MODEL_XMAS_GIFT_RED,
|
||||
0x5, D_80367B50,
|
||||
chLevelCollectible_update, func_80326224, actor_draw,
|
||||
chLevelCollectible_update, actor_update_func_80326224, actor_draw,
|
||||
0, 0, 1.4f, 0
|
||||
};
|
||||
|
||||
@@ -62,8 +62,8 @@ void __chLevelCollectible_presentReturnEmitSparkles(f32 position[3], enum asset_
|
||||
particleEmitter_setSprite(p_emitter, sprite_id);
|
||||
particleEmitter_setStartingFrameRange(p_emitter, 0, 7);
|
||||
particleEmitter_setPosition(p_emitter, position);
|
||||
particleEmitter_setParticleSpawnPositionRange(p_emitter, -40.0f, 0.0f, -40.0f, 40.0f, 60.0f, 40.0f);
|
||||
particleEmitter_setParticleAccelerationRange(p_emitter, 0.0f, -1000.0f, 0.0f, 0.0f, -1000.0f, 0.0f);
|
||||
particleEmitter_setSpawnPositionRange(p_emitter, -40.0f, 0.0f, -40.0f, 40.0f, 60.0f, 40.0f);
|
||||
particleEmitter_setAccelerationRange(p_emitter, 0.0f, -1000.0f, 0.0f, 0.0f, -1000.0f, 0.0f);
|
||||
particleEmitter_setScaleAndLifetimeRanges(p_emitter, &D_80367C34);
|
||||
particleEmitter_emitN(p_emitter, 1);
|
||||
}
|
||||
@@ -74,7 +74,7 @@ void __chLevelCollectible_presentCollectEmitSparkles(f32 position[3], enum asset
|
||||
p_emitter = partEmitMgr_newEmitter(8);
|
||||
particleEmitter_setSprite(p_emitter, sprite_id);
|
||||
particleEmitter_setPosition(p_emitter, position);
|
||||
particleEmitter_setParticleAccelerationRange(p_emitter, 0.0f, -250.0f, 0.0f, 0.0f, -250.0f, 0.0f);
|
||||
particleEmitter_setAccelerationRange(p_emitter, 0.0f, -250.0f, 0.0f, 0.0f, -250.0f, 0.0f);
|
||||
particleEmitter_setParticleVelocityRange(p_emitter, -100.0f, 200.0f, -100.0f, 100.0f, 350.0f, 100.0f);
|
||||
particleEmitter_setAngularVelocityRange(p_emitter, 0.0f, 0.0f, 200.0f, 0.0f, 0.0f, 240.0f);
|
||||
particleEmitter_setStartingScaleRange(p_emitter, 0.47f, 0.47f);
|
||||
@@ -85,7 +85,7 @@ void __chLevelCollectible_presentCollectEmitSparkles(f32 position[3], enum asset
|
||||
}
|
||||
|
||||
s32 __chLevelCollectible_dialogCallback(ActorMarker *marker, enum asset_e text_id, s32 arg2) {
|
||||
return -(levelSpecificFlags_get(0x2A) + levelSpecificFlags_get(0x2B) + levelSpecificFlags_get(0x2C));
|
||||
return -(levelSpecificFlags_get(LEVEL_FLAG_2A_FP_UNKNOWN) + levelSpecificFlags_get(LEVEL_FLAG_2B_FP_UNKNOWN) + levelSpecificFlags_get(LEVEL_FLAG_2C_FP_UNKNOWN));
|
||||
}
|
||||
|
||||
|
||||
@@ -123,21 +123,21 @@ void __chLevelCollectible_collide(ActorMarker *marker, ActorMarker *other_marker
|
||||
break;
|
||||
|
||||
case MARKER_1FD_BLUE_PRESENT_COLLECTIBLE:
|
||||
levelSpecificFlags_set(0x2A, TRUE);
|
||||
levelSpecificFlags_set(LEVEL_FLAG_2A_FP_UNKNOWN, TRUE);
|
||||
func_8025A6EC(COMUSIC_2B_DING_B, 0x7FFF);
|
||||
__chLevelCollectible_presentCollectEmitSparkles(this->position, ASSET_711_SPRITE_SPARKLE_DARK_BLUE);
|
||||
dialog_id = ASSET_C20_DIALOG_PRESENT_COLLECTIBLE_MEET_BLUE;
|
||||
break;
|
||||
|
||||
case MARKER_1FE_GREEN_PRESENT_COLLECTIBLE:
|
||||
levelSpecificFlags_set(0x2B, TRUE);
|
||||
levelSpecificFlags_set(LEVEL_FLAG_2B_FP_UNKNOWN, TRUE);
|
||||
func_8025A6EC(COMUSIC_2B_DING_B, 0x7FFF);
|
||||
__chLevelCollectible_presentCollectEmitSparkles(this->position, ASSET_712_SPRITE_SPARKLE_GREEN);
|
||||
dialog_id = ASSET_C21_DIALOG_PRESENT_COLLECTIBLE_MEET_GREEN;
|
||||
break;
|
||||
|
||||
case MARKER_1FF_RED_PRESENT_COLLECTIBLE:
|
||||
levelSpecificFlags_set(0x2C, TRUE);
|
||||
levelSpecificFlags_set(LEVEL_FLAG_2C_FP_UNKNOWN, TRUE);
|
||||
func_8025A6EC(COMUSIC_2B_DING_B, 0x7FFF);
|
||||
__chLevelCollectible_presentCollectEmitSparkles(this->position, ASSET_715_SPRITE_SPARKLE_RED);
|
||||
dialog_id = ASSET_C22_DIALOG_PRESENT_COLLECTIBLE_MEET_RED;
|
||||
@@ -241,15 +241,15 @@ void __chLevelCollectible_returnObj(Actor *this) {
|
||||
break;
|
||||
case MARKER_1FD_BLUE_PRESENT_COLLECTIBLE:
|
||||
func_8025A6EC(COMUSIC_2B_DING_B, 32000);
|
||||
levelSpecificFlags_set(0x11, 1);
|
||||
levelSpecificFlags_set(LEVEL_FLAG_11_FP_UNKNOWN, TRUE);
|
||||
break;
|
||||
case MARKER_1FE_GREEN_PRESENT_COLLECTIBLE:
|
||||
func_8025A6EC(COMUSIC_2B_DING_B, 32000);
|
||||
levelSpecificFlags_set(0x12, 1);
|
||||
levelSpecificFlags_set(LEVEL_FLAG_12_FP_UNKNOWN, TRUE);
|
||||
break;
|
||||
case MARKER_1FF_RED_PRESENT_COLLECTIBLE:
|
||||
func_8025A6EC(COMUSIC_2B_DING_B, 32000);
|
||||
levelSpecificFlags_set(0x13, 1);
|
||||
levelSpecificFlags_set(LEVEL_FLAG_13_FP_UNKNOWN, TRUE);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
@@ -10,7 +10,7 @@ void func_802D8730(Actor *this);
|
||||
ActorInfo D_80367C60 = {
|
||||
0x15E, 0x188, 0x0,
|
||||
0, NULL,
|
||||
func_802D8730, func_80326224, func_80325340,
|
||||
func_802D8730, actor_update_func_80326224, func_80325340,
|
||||
0, 0, 0.0f, 0
|
||||
};
|
||||
|
||||
@@ -46,7 +46,7 @@ void func_802D8730(Actor *this) {
|
||||
this->velocity_y = 0.07f;
|
||||
pCtrl = func_802F4094(this->position, 40.0f);
|
||||
particleEmitter_setStartingScaleRange(pCtrl, 0.05f, 0.06f);
|
||||
particleEmitter_setParticleAccelerationRange(pCtrl, 0.0f, -3400.0f, 0.0f, 0.0f, -3400.0f, 0.0f);
|
||||
particleEmitter_setAccelerationRange(pCtrl, 0.0f, -3400.0f, 0.0f, 0.0f, -3400.0f, 0.0f);
|
||||
particleEmitter_setRGB(pCtrl, D_80367C84);
|
||||
particleEmitter_setParticleVelocityRange(pCtrl, -180.0f, 200.0f, -180.0f, 180.0f, 400.0f, 180.0f);
|
||||
particleEmitter_emitN(pCtrl, 9);
|
||||
|
@@ -10,14 +10,14 @@ void func_802D88E0(Actor *this);
|
||||
ActorInfo D_80367C90 = {
|
||||
0x100, 0x1FF, 0x580,
|
||||
0x0, NULL,
|
||||
func_802D88E0, func_80326224, func_80325934,
|
||||
func_802D88E0, actor_update_func_80326224, func_80325934,
|
||||
0, 0, 0.0f, 0
|
||||
};
|
||||
|
||||
ActorInfo D_80367CB4 = {
|
||||
0x101, 0x200, 0x6D1,
|
||||
0x0, NULL,
|
||||
func_802D88E0, func_80326224, func_80325934,
|
||||
func_802D88E0, actor_update_func_80326224, func_80325934,
|
||||
0, 0, 0.0f, 0
|
||||
};
|
||||
|
||||
|
@@ -8,15 +8,15 @@ void func_802DAA14(Actor *this);
|
||||
ActorInfo D_80367E70= {
|
||||
0x21B, 0x351, 0,
|
||||
0, NULL,
|
||||
func_802DAA14, func_80326224, func_80325340,
|
||||
func_802DAA14, actor_update_func_80326224, func_80325340,
|
||||
0, 0, 0.0f, 0
|
||||
};
|
||||
//000E0F00
|
||||
|
||||
/* .code */
|
||||
void func_802DA9A0(ActorMarker *caller, enum asset_e text_id, s32 arg2){
|
||||
s32 flag;
|
||||
s32 tmp;
|
||||
enum file_progress_e flag;
|
||||
enum file_progress_e tmp;
|
||||
if(level_get() == LEVEL_A_MAD_MONSTER_MANSION){
|
||||
flag = FILEPROG_15_ENTER_MMM_TEXT;
|
||||
}
|
||||
@@ -32,9 +32,9 @@ void func_802DA9A0(ActorMarker *caller, enum asset_e text_id, s32 arg2){
|
||||
}
|
||||
|
||||
void func_802DAA14(Actor *this){
|
||||
s32 flag;
|
||||
s32 tmp;
|
||||
s32 text_id;
|
||||
enum file_progress_e flag;
|
||||
s32 tmp; // file_progress_e OR asset_e
|
||||
enum asset_e text_id;
|
||||
|
||||
if(volatileFlag_get(VOLATILE_FLAG_1) || volatileFlag_get(VOLATILE_FLAG_1F_IN_CHARACTER_PARADE)){
|
||||
marker_despawn(this->marker);
|
||||
@@ -69,13 +69,13 @@ void func_802DAA14(Actor *this){
|
||||
|
||||
if(!this->has_met_before){
|
||||
if(level_get() == LEVEL_A_MAD_MONSTER_MANSION){
|
||||
text_id = 0xadc;
|
||||
text_id = ASSET_ADC_DIALOG_UNKNOWN;
|
||||
}
|
||||
else{
|
||||
if(map_get() == MAP_69_GL_MM_LOBBY)
|
||||
tmp = 0xf66;
|
||||
tmp = ASSET_F66_DIALOG_UNKNOWN;
|
||||
else
|
||||
tmp = 0xf67;
|
||||
tmp = ASSET_F67_DIALOG_UNKNOWN;
|
||||
text_id = tmp;
|
||||
}
|
||||
gcdialog_showText(text_id, 4, NULL, this->marker, func_802DA9A0, NULL);
|
||||
|
@@ -35,8 +35,8 @@ typedef struct {
|
||||
void func_802DABA0(ParticleEmitter *pCtrl, f32 position[3], f32 scale, enum asset_e model_id) {
|
||||
particleEmitter_setPosition(pCtrl, position);
|
||||
particleEmitter_setDrawMode(pCtrl, 2);
|
||||
func_802EF9F8(pCtrl, 0.7f);
|
||||
func_802EFA18(pCtrl, 5);
|
||||
particleEmitter_func_802EF9F8(pCtrl, 0.7f);
|
||||
particleEmitter_func_802EFA18(pCtrl, 5);
|
||||
func_802EFA20(pCtrl, 0.8f, 1.0f);
|
||||
particleEmitter_setSfx(pCtrl, SFX_1F_HITTING_AN_ENEMY_3, 6000);
|
||||
particleEmitter_setStartingScaleRange(pCtrl, scale, scale);
|
||||
@@ -47,7 +47,7 @@ void func_802DABA0(ParticleEmitter *pCtrl, f32 position[3], f32 scale, enum asse
|
||||
}
|
||||
|
||||
void func_802DAC84(ParticleEmitter *pCtrl, Actor *this, enum asset_e model_id) {
|
||||
static struct41s D_80367EA0 = {
|
||||
static ParticleSettingsVelocityAcceleration D_80367EA0 = {
|
||||
{{-200.0f, 850.0f, -200.0f}, { 400.0f, 1000.0f, 400.0f}},
|
||||
{{ 0.0f, -1800.0f, 0.0f}, { 0.0f, -1800.0f, 0.0f}}
|
||||
};
|
||||
@@ -59,7 +59,7 @@ void func_802DAC84(ParticleEmitter *pCtrl, Actor *this, enum asset_e model_id) {
|
||||
|
||||
|
||||
void func_802DAD08(ParticleEmitter *pCtrl, Actor *this, enum asset_e model_id) {
|
||||
static struct41s D_80367ED0 = {
|
||||
static ParticleSettingsVelocityAcceleration D_80367ED0 = {
|
||||
{{ -50.0f, 750.0f, -50.0f}, { 120.0f, 900.0f, 120.0f}},
|
||||
{{ 0.0f, -1800.0f, 0.0f}, { 0.0f, -1800.0f, 0.0f}}
|
||||
};
|
||||
@@ -70,7 +70,7 @@ void func_802DAD08(ParticleEmitter *pCtrl, Actor *this, enum asset_e model_id) {
|
||||
}
|
||||
|
||||
void func_802DAD8C(ParticleEmitter *pCtrl, Actor *this, enum asset_e model_id) {
|
||||
static struct41s D_80367F00 = {
|
||||
static ParticleSettingsVelocityAcceleration D_80367F00 = {
|
||||
{{ -80.0f, 400.0f, -80.0f}, { 160.0f, 860.0f, 160.0f}},
|
||||
{{ 0.0f, -1400.0f, 0.0f}, { 0.0f, -1400.0f, 0.0f}}
|
||||
};
|
||||
|
@@ -18,19 +18,19 @@ void func_802DC018(Actor *this);
|
||||
ActorInfo D_80367F30= {
|
||||
0x1F5, 0x1E5, 0,
|
||||
0, NULL,
|
||||
func_802DC018, func_80326224, func_80325340,
|
||||
func_802DC018, actor_update_func_80326224, func_80325340,
|
||||
0, 0, 0.0f, 0
|
||||
};
|
||||
|
||||
s32 D_80367F54[3] = {0xff, 0xff, 0xff};
|
||||
struct40s D_80367F60 = {
|
||||
ParticleSettingsScaleAndLifetimeDrawModeEmitCount D_80367F60 = {
|
||||
{ {0.1f, 0.5f}, {1.0f, 1.5f}, {0.0f, 0.01f}, {0.5f, 1.4f},
|
||||
0.0f, 0.01f
|
||||
},
|
||||
4, 1
|
||||
};
|
||||
|
||||
struct43s D_80367F90 ={
|
||||
ParticleSettingsVelocityAccelerationPosition D_80367F90 ={
|
||||
{{0.0f, 0.0f, 0.0f}, {0.0f, 0.0f, 0.0f}},
|
||||
{{0.0f, -650.0f, 0.0f}, {0.0f, -650.0f, 0.0f}},
|
||||
{{-200.0f, 0.0f, -200.0f}, {200.0f, 0.0f, 200.0f}}
|
||||
@@ -63,12 +63,12 @@ void func_802DBCE0(ParticleEmitter *pCtrl, f32 arg1[3]){
|
||||
}
|
||||
|
||||
void func_802DBE9C(Actor *this, ParticleEmitter *pCtrl){
|
||||
particleEmitter_setPositionVelocityAndAccelerationRanges(pCtrl, &D_80367F90);
|
||||
particleEmitter_setVelocityAccelerationAndPositionRanges(pCtrl, &D_80367F90);
|
||||
particleEmitter_setModel(pCtrl, 0x344);
|
||||
particleEmitter_setPosition(pCtrl, this->position);
|
||||
particleEmitter_setDrawMode(pCtrl, 4);
|
||||
particleEmitter_setAngularVelocityRange(pCtrl, -450.0f, -450.0f, -450.0f, 450.0f, 450.0f, 450.0f);
|
||||
func_802EFA18(pCtrl, 1);
|
||||
particleEmitter_func_802EFA18(pCtrl, 1);
|
||||
particleEmitter_setParticleCallback(pCtrl, func_802DBCE0);
|
||||
particleEmitter_setSpawnIntervalRange(pCtrl, 0.0f, 0.01f);
|
||||
particleEmitter_setParticleLifeTimeRange(pCtrl, 7.0f, 7.0f);
|
||||
|
@@ -10,11 +10,11 @@ void func_802DC208(Actor *this);
|
||||
ActorInfo D_80367FE0 = {
|
||||
0x1F6, 0x1E6, 0,
|
||||
0, NULL,
|
||||
func_802DC208, func_80326224, func_80325340,
|
||||
func_802DC208, actor_update_func_80326224, func_80325340,
|
||||
3000, 0, 0.0f, 0
|
||||
};
|
||||
|
||||
struct40s D_80368004 = {
|
||||
ParticleSettingsScaleAndLifetimeDrawModeEmitCount D_80368004 = {
|
||||
{{0.2f, 0.4f},
|
||||
{0.8f, 1.0f},
|
||||
{0.0f, 0.01f},
|
||||
|
@@ -14,7 +14,7 @@ f32 D_80368040[3] = {0.0f, 0.0f, 0.0f};
|
||||
ActorInfo D_8036804C = {
|
||||
MARKER_174_GAME_OVER, ACTOR_1DB_GAME_OVER, ASSET_54C_MODEL_GAME_OVER,
|
||||
0x1, NULL,
|
||||
func_802DC45C, func_80326224, func_802DC320,
|
||||
func_802DC45C, actor_update_func_80326224, func_802DC320,
|
||||
0, 0, 0.0f, 0
|
||||
};
|
||||
|
||||
|
@@ -10,7 +10,7 @@ f32 D_80368070[3] = {0.0f, 0.0f, 0.0f};
|
||||
ActorInfo D_8036807C = {
|
||||
0x17C, 0x19C, 0x56C,
|
||||
0x1, NULL,
|
||||
func_802DC67C, func_80326224, func_802DC320,
|
||||
func_802DC67C, actor_update_func_80326224, func_802DC320,
|
||||
0, 0, 0.0f, 0
|
||||
};
|
||||
|
||||
|
@@ -13,7 +13,7 @@ f32 D_803680A0[3] = {0.0f, 0.0f, 0.0f};
|
||||
ActorInfo D_803680AC = {
|
||||
0x175, 0x1DC, 0x54D,
|
||||
0x1, NULL,
|
||||
func_802DC900, func_80326224, func_802DC7E0,
|
||||
func_802DC900, actor_update_func_80326224, func_802DC7E0,
|
||||
0, 0, 0.0f, 0
|
||||
};
|
||||
|
||||
|
@@ -24,7 +24,7 @@ f32 D_80368330[3] = {0.0f, 0.0f, 0.0f};
|
||||
ActorInfo D_8036833C = {
|
||||
0x294, 0x19B, ASSET_56D_MUMBOS_HAND_WITH_PICTURE,
|
||||
0x1, D_80368300,
|
||||
func_802DEE1C, func_80326224, func_802DEC00,
|
||||
func_802DEE1C, actor_update_func_80326224, func_802DEC00,
|
||||
0, 0, 0.0f, 0
|
||||
};
|
||||
|
||||
|
@@ -13,7 +13,7 @@ s32 D_8036837C[4] = {0xFF, 0xFF, 0xFF, 0xFF};
|
||||
ActorInfo D_8036838C = {
|
||||
0x17B, 0x2B5, 0x472,
|
||||
0, NULL,
|
||||
func_802DF2C4, func_80326224, func_80325340,
|
||||
func_802DF2C4, actor_update_func_80326224, func_80325340,
|
||||
0, 0, 0.0f, 0
|
||||
};
|
||||
|
||||
|
@@ -19,7 +19,7 @@ ActorAnimationInfo D_80368440[] = {
|
||||
ActorInfo D_80368450 = {
|
||||
MARKER_72_FIRE_SPARKLE, ACTOR_A2_FIRE_SPARKLE, ASSET_3AD_FIRE_SPARKLE,
|
||||
0x1, D_80368440,
|
||||
func_802E08F0, func_80326224, actor_draw,
|
||||
func_802E08F0, actor_update_func_80326224, actor_draw,
|
||||
0, 0, 0.0f, 0
|
||||
};
|
||||
|
||||
|
@@ -15,7 +15,7 @@ enum mumbotoken_e func_802E0CB0(Actor *this);
|
||||
ActorInfo D_803685A0 = {
|
||||
MARKER_39_MUMBO_TOKEN, ACTOR_2D_MUMBO_TOKEN, ASSET_41A_SPRITE_MUMBO_TOKEN,
|
||||
0, NULL,
|
||||
func_802E0B10, func_80326224, func_80325934,
|
||||
func_802E0B10, actor_update_func_80326224, func_80325934,
|
||||
2000, 0, 0.0f, 0
|
||||
};
|
||||
|
||||
|
@@ -626,7 +626,7 @@ s32 getGameMode(void){
|
||||
|
||||
int func_802E4A08(void){
|
||||
return (D_8037E8E0.game_mode == GAME_MODE_6_FILE_PLAYBACK)
|
||||
|| (D_8037E8E0.game_mode == 5)
|
||||
|| (D_8037E8E0.game_mode == GAME_MODE_5_UNKNOWN)
|
||||
|| (D_8037E8E0.game_mode == GAME_MODE_7_ATTRACT_DEMO)
|
||||
|| (D_8037E8E0.game_mode == GAME_MODE_8_BOTTLES_BONUS)
|
||||
|| (D_8037E8E0.game_mode == GAME_MODE_9_BANJO_AND_KAZOOIE)
|
||||
|
@@ -31,16 +31,16 @@ ParticleEmitter *func_802EDD8C(f32 pos[3], f32 xz_range, f32 arg2){
|
||||
particleEmitter_setSprite(pCtrl, ASSET_70A_SPRITE_BUBBLE_1);
|
||||
particleEmitter_setDrawMode(pCtrl, 4);
|
||||
particleEmitter_setAlpha(pCtrl, 0xff);
|
||||
particleEmitter_setParticleAccelerationRange( pCtrl,
|
||||
particleEmitter_setAccelerationRange( pCtrl,
|
||||
0.0f, 150.0f, 0.0f,
|
||||
0.0f, 150.0f, 0.0f
|
||||
);
|
||||
func_802EFA18(pCtrl, 1);
|
||||
particleEmitter_func_802EFA18(pCtrl, 1);
|
||||
func_802EFA34(pCtrl, arg2);
|
||||
particleEmitter_setParticleCallback(pCtrl, func_802EDD68);
|
||||
particleEmitter_setFade(pCtrl, 0.0f, 0.8f);
|
||||
particleEmitter_setParticleLifeTimeRange(pCtrl, 4.0f, 4.0f);
|
||||
particleEmitter_setParticleSpawnPositionRange( pCtrl,
|
||||
particleEmitter_setSpawnPositionRange( pCtrl,
|
||||
-xz_range, 0.0f, -xz_range,
|
||||
xz_range, 0.0f, xz_range
|
||||
);
|
||||
|
@@ -61,13 +61,13 @@ void func_802EDF40(f32 pos[3], s32 arg1, s32 cnt, f32 arg3, f32 arg4, f32 arg5,
|
||||
particleEmitter_setAngularVelocityRange(pCtrl, 0, 0, 0, 0, 0, 0);
|
||||
func_802EFF9C(pCtrl, 0);
|
||||
}//L802EE0B4
|
||||
particleEmitter_setParticleAccelerationRange(pCtrl,
|
||||
particleEmitter_setAccelerationRange(pCtrl,
|
||||
0, -800.0f, 0,
|
||||
0, -800.0f, 0
|
||||
);
|
||||
func_802EF9F8(pCtrl, 0.6f);
|
||||
func_802EFA18(pCtrl, 0);
|
||||
particleEmitter_setParticleSpawnPositionRange(pCtrl,
|
||||
particleEmitter_func_802EF9F8(pCtrl, 0.6f);
|
||||
particleEmitter_func_802EFA18(pCtrl, 0);
|
||||
particleEmitter_setSpawnPositionRange(pCtrl,
|
||||
-10.0f, -10.0f, -10.0f,
|
||||
10.0f, 10.0f, 10.0f
|
||||
);
|
||||
|
@@ -57,7 +57,7 @@ void func_802EE6CC(f32 position[3], f32 velocity[3], s32 color[4], s32 arg3, f32
|
||||
particleEmitter_setFade(p_ctrl, 0.075f, 0.4f);
|
||||
particleEmitter_setPosition(p_ctrl, position);
|
||||
particleEmitter_setSpawnIntervalRange(p_ctrl, 0.0f, 0.0f);
|
||||
func_802EFA78(p_ctrl, 1);
|
||||
particleEmitter_func_802EFA78(p_ctrl, 1);
|
||||
if (velocity != NULL) {
|
||||
ml_vec3f_scale_copy(sp40, velocity, 30.0f);
|
||||
} else {
|
||||
|
@@ -11,7 +11,7 @@ s16 D_80368D80[] = {
|
||||
ASSET_719_SPRITE_SPARKLE_GREEN_2,
|
||||
};
|
||||
|
||||
struct43s D_80368D88 = {
|
||||
ParticleSettingsVelocityAccelerationPosition D_80368D88 = {
|
||||
{{-300.0f, -300.0f, -300.0f}, {300.0f, 300.0f, 300.0f}},
|
||||
{{0.0f, -100.0f, 0.0f}, {0.0f, -100.0f, 0.0f}},
|
||||
{{-25.0f, -25.0f, -25.0f}, {25.0f, 25.0f, 25.0f}}
|
||||
@@ -45,7 +45,7 @@ void func_802F3CF8(f32 arg0[3], s32 arg1, s32 arg2){
|
||||
particleEmitter_setStartingScaleRange(pCtrl, 0.1f, 0.2f);
|
||||
particleEmitter_setFinalScaleRange(pCtrl, 0.4f, 0.5f);
|
||||
particleEmitter_setParticleLifeTimeRange(pCtrl, 0.75f, 0.75f);
|
||||
particleEmitter_setPositionVelocityAndAccelerationRanges(pCtrl, &D_80368D88);
|
||||
particleEmitter_setVelocityAccelerationAndPositionRanges(pCtrl, &D_80368D88);
|
||||
if(arg1 == 0){
|
||||
particleEmitter_setDrawMode(pCtrl, PART_EMIT_NO_DEPTH);
|
||||
}
|
||||
|
@@ -19,7 +19,7 @@ ParticleEmitter *func_802F3E98(f32 pos[3], enum asset_e sprite_id){
|
||||
this = func_802F0EF0(D_80380A80);
|
||||
|
||||
particleEmitter_setSprite(this, sprite_id);
|
||||
particleEmitter_setParticleAccelerationRange(this,
|
||||
particleEmitter_setAccelerationRange(this,
|
||||
0.0f, -250.0f, 0.0f,
|
||||
0.0f, -250.0f, 0.0f
|
||||
);
|
||||
|
@@ -39,15 +39,15 @@ ParticleEmitter *func_802F4094(f32 pos[3], f32 arg1){
|
||||
pCtrl = func_802F0EF0(D_80380A90);
|
||||
particleEmitter_setSprite(pCtrl, ASSET_70B_SPRITE_BUBBLE_2);
|
||||
particleEmitter_setAlpha(pCtrl, 180);
|
||||
particleEmitter_setParticleAccelerationRange(pCtrl,
|
||||
particleEmitter_setAccelerationRange(pCtrl,
|
||||
0.0f, -1300.0f, 0.0f,
|
||||
0.0f, -1300.0f, 0.0f
|
||||
);
|
||||
func_802EFA18(pCtrl, 1);
|
||||
particleEmitter_func_802EFA18(pCtrl, 1);
|
||||
func_802EFA04(pCtrl, pos[1]);
|
||||
particleEmitter_setParticleCallback(pCtrl, func_802F3FC0);
|
||||
particleEmitter_setFade(pCtrl, 0.0f, 0.8f);
|
||||
particleEmitter_setParticleSpawnPositionRange(pCtrl,
|
||||
particleEmitter_setSpawnPositionRange(pCtrl,
|
||||
-arg1, 0.0f, -arg1,
|
||||
arg1, 0.0f, arg1
|
||||
);
|
||||
|
@@ -488,7 +488,7 @@ void func_80319EA4(void) {
|
||||
return;
|
||||
|
||||
func_8024E55C(0, sp58);
|
||||
func_8024E71C(0, sp4C);
|
||||
controller_getJoystick(0, sp4C);
|
||||
for(phi_s0 = 0; phi_s0 < 4; phi_s0++){
|
||||
gczoombox_update(D_803830E0->unk24[phi_s0]);
|
||||
}
|
||||
|
@@ -26,7 +26,7 @@ enum chminigame_state_e {
|
||||
ActorInfo chMinigame = {
|
||||
MARKER_1E1_FF_MINIGAME, ACTOR_376_FF_MINIGAME, 0x0,
|
||||
MINIGAME_STATE_1_INTRODUCE_GAME, NULL,
|
||||
chMinigame_update, func_80326224, func_80325340,
|
||||
chMinigame_update, actor_update_func_80326224, func_80325340,
|
||||
0, 0, 0.0f, 0
|
||||
};
|
||||
|
||||
|
@@ -8,7 +8,7 @@ extern void func_8031CE70(f32 *arg0, enum map_e arg1, s32 arg2);
|
||||
extern s32 fileProgressFlag_get(s32);
|
||||
extern s32 fileProgressFlag_getN(s32 offset, s32 numBits);
|
||||
extern void func_8031FFAC(void);
|
||||
extern void fileProgressFlag_set(s32 index, s32 set);
|
||||
extern void fileProgressFlag_set(enum file_progress_e index, s32 set);
|
||||
extern void ml_vec3h_to_vec3f(f32 *, s32);
|
||||
extern NodeProp *func_80304ED0(void*, f32 *);
|
||||
extern void func_8031CD44(enum map_e, s32, f32, f32, s32);
|
||||
@@ -56,9 +56,9 @@ bool cutscene_skipGameOverCutsceneCheck(void) {
|
||||
|
||||
sp24 = func_8024E698(0);
|
||||
if (mapSpecificFlags_get(0) != 0) {
|
||||
fileProgressFlag_set(0xE1, 1);
|
||||
fileProgressFlag_set(FILEPROG_E1_UNKNOWN, 1);
|
||||
}
|
||||
if ((sp24 == 1) && fileProgressFlag_get(0xE1) && !gctransition_8030BDC0()) {
|
||||
if ((sp24 == 1) && fileProgressFlag_get(FILEPROG_E1_UNKNOWN) && !gctransition_8030BDC0()) {
|
||||
if (!mapSpecificFlags_get(0xC)) {
|
||||
mapSpecificFlags_set(0xC, TRUE);
|
||||
func_802DC528(0, 0);
|
||||
@@ -302,7 +302,7 @@ void warp_gvEnterWaterPyramidUpper(s32 arg0, s32 arg1) {
|
||||
}
|
||||
|
||||
void warp_gvEnterMazePyramid(s32 arg0, s32 arg1) {
|
||||
if (fileProgressFlag_getN(0xF8, 2) == 3) {
|
||||
if (fileProgressFlag_getN(FILEPROG_F8_KING_SANDYBUTT_PYRAMID_STATE, 2) == 3) {
|
||||
func_8031CC8C(arg0, 0x1401);
|
||||
}
|
||||
}
|
||||
|
@@ -1,16 +1,17 @@
|
||||
#include <ultra64.h>
|
||||
#include "functions.h"
|
||||
#include "variables.h"
|
||||
#include "enums.h"
|
||||
|
||||
void func_8031FFAC(void);
|
||||
void fileProgressFlag_set(s32 index, s32 set);
|
||||
void fileProgressFlag_set(enum file_progress_e index, s32 set);
|
||||
s32 bitfield_get_bit(u8 *array, s32 index);
|
||||
s32 bitfield_get_n_bits(u8 *array, s32 offset, s32 numBits);
|
||||
void bitfield_set_bit(u8 *array, s32 index, s32 set);
|
||||
void bitfield_set_n_bits(u8 *array, s32 startIndex, s32 set, s32 length);
|
||||
void volatileFlag_clear(void);
|
||||
void volatileFlag_set(s32 arg0, s32 arg1);
|
||||
s32 fileProgressFlag_getN(s32 offset, s32 numBits);
|
||||
void volatileFlag_set(enum volatile_flags_e index, s32 set);
|
||||
s32 fileProgressFlag_getN(enum file_progress_e offset, s32 numBits);
|
||||
void func_8031CE70(f32 *arg0, s32 arg1, s32 arg2);
|
||||
void ml_vec3h_to_vec3f(f32 *, s32);
|
||||
void func_8028F3D8(f32 *, f32, void(*)(ActorMarker *), ActorMarker *);
|
||||
@@ -109,11 +110,11 @@ bool fileProgressFlag_get(enum file_progress_e index) {
|
||||
return bitfield_get_bit(gFileProgressFlags.unk8, index);
|
||||
}
|
||||
|
||||
s32 fileProgressFlag_getN(s32 offset, s32 numBits) {
|
||||
s32 fileProgressFlag_getN(enum file_progress_e offset, s32 numBits) {
|
||||
return bitfield_get_n_bits(gFileProgressFlags.unk8, offset, numBits);
|
||||
}
|
||||
|
||||
s32 fileProgressFlag_getAndSet(s32 index, s32 set) {
|
||||
s32 fileProgressFlag_getAndSet(enum file_progress_e index, s32 set) {
|
||||
s32 ret;
|
||||
|
||||
ret = fileProgressFlag_get(index);
|
||||
@@ -131,13 +132,13 @@ void func_8031FFAC(void) {
|
||||
func_8031FEC0();
|
||||
}
|
||||
|
||||
void fileProgressFlag_set(s32 index, s32 set) {
|
||||
void fileProgressFlag_set(enum file_progress_e index, s32 set) {
|
||||
bitfield_set_bit(gFileProgressFlags.unk8, index, set);
|
||||
func_8031FC40();
|
||||
func_8031FEC0();
|
||||
}
|
||||
|
||||
void fileProgressFlag_setN(s32 startIndex, s32 set, s32 length) {
|
||||
void fileProgressFlag_setN(enum file_progress_e startIndex, s32 set, s32 length) {
|
||||
bitfield_set_n_bits(gFileProgressFlags.unk8, startIndex, set, length);
|
||||
func_8031FC40();
|
||||
func_8031FEC0();
|
||||
@@ -243,15 +244,15 @@ void func_803203A0(void) {
|
||||
*obscured_addr = func_80320320();
|
||||
}
|
||||
|
||||
s32 volatileFlag_get(s32 index) {
|
||||
s32 volatileFlag_get(enum volatile_flags_e index) {
|
||||
return bitfield_get_bit(gVolatileFlags.unk8, index);
|
||||
}
|
||||
|
||||
s32 volatileFlag_getN(s32 index, s32 numBits) {
|
||||
s32 volatileFlag_getN(enum volatile_flags_e index, s32 numBits) {
|
||||
return bitfield_get_n_bits(gVolatileFlags.unk8, index, numBits);
|
||||
}
|
||||
|
||||
s32 volatileFlag_getAndSet(s32 index, s32 arg1) {
|
||||
s32 volatileFlag_getAndSet(enum volatile_flags_e index, s32 arg1) {
|
||||
s32 temp_v0;
|
||||
|
||||
temp_v0 = volatileFlag_get(index);
|
||||
@@ -268,13 +269,13 @@ void volatileFlag_clear(void) {
|
||||
func_803203A0();
|
||||
}
|
||||
|
||||
void volatileFlag_set(s32 index, s32 set) {
|
||||
void volatileFlag_set(enum volatile_flags_e index, s32 set) {
|
||||
bitfield_set_bit(gVolatileFlags.unk8, index, set);
|
||||
func_803202D0();
|
||||
func_803203A0();
|
||||
}
|
||||
|
||||
void volatileFlag_setN(s32 startIndex, s32 set, s32 length) {
|
||||
void volatileFlag_setN(enum volatile_flags_e startIndex, s32 set, s32 length) {
|
||||
bitfield_set_n_bits(gVolatileFlags.unk8, startIndex, set, length);
|
||||
func_803202D0();
|
||||
func_803203A0();
|
||||
|
@@ -57,7 +57,7 @@ void func_803216D0(enum map_e map){
|
||||
chTreasurehunt_resetProgress();
|
||||
break;
|
||||
case MAP_1B_MMM_MAD_MONSTER_MANSION:
|
||||
mmm_resetFlowerPots();
|
||||
chFlowerpot_reset();
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
@@ -17,7 +17,7 @@ extern void func_802EE6CC(f32[3], s32[4], s32[4], s32, f32, f32, s32, s32, s32);
|
||||
extern void func_8033A244(f32);
|
||||
|
||||
f32 func_80257204(f32, f32, f32, f32);
|
||||
extern Actor *spawnQueue_bundleWithYaw_f32(s32 actor_id, s32 x, s32 y, s32 z, s32 yaw);
|
||||
extern Actor *spawnQueue_bundleWithYaw_f32(enum bundle_e bundle_id, s32 x, s32 y, s32 z, s32 yaw);
|
||||
f32 func_8033229C(ActorMarker *);
|
||||
f32 player_getYaw(void);
|
||||
extern void __bundle_spawnFromFirstActor(s32, Actor *);
|
||||
@@ -439,7 +439,7 @@ s32 func_80326218(void){
|
||||
return D_8036E564;
|
||||
}
|
||||
|
||||
void func_80326224(Actor *this){
|
||||
void actor_update_func_80326224(Actor *this){
|
||||
func_80343DEC(this);
|
||||
}
|
||||
|
||||
@@ -1190,9 +1190,11 @@ static bool __subaddie_set_state(Actor *this, s32 state)
|
||||
|
||||
void func_803285E8(Actor *this, f32 anim_start_position, int direction){
|
||||
animctrl_setStart(this->animctrl, anim_start_position);
|
||||
if(direction != -1){
|
||||
|
||||
if (direction != -1) {
|
||||
animctrl_setDirection(this->animctrl, direction);
|
||||
}
|
||||
|
||||
this->sound_timer = anim_start_position;
|
||||
}
|
||||
|
||||
@@ -1275,8 +1277,8 @@ int actor_animationIsAt(Actor *this, f32 arg1){
|
||||
}
|
||||
}
|
||||
|
||||
void func_803289EC(Actor *this , f32 arg1, int direction){
|
||||
func_803285E8(this, arg1, direction);
|
||||
void func_803289EC(Actor *this , f32 anim_start_position, int direction){
|
||||
func_803285E8(this, anim_start_position, direction);
|
||||
animctrl_start(this->animctrl, "subaddie.c", 0x6b1);
|
||||
}
|
||||
|
||||
@@ -1316,9 +1318,10 @@ int subaddie_maybe_set_state(Actor *this, s32 myAnimId, f32 chance){
|
||||
return 0;
|
||||
}
|
||||
|
||||
void subaddie_set_state_with_direction(Actor * this, s32 myAnimId, f32 arg2, s32 direction){
|
||||
if(__subaddie_set_state(this, myAnimId) && this->animctrl)
|
||||
func_803289EC(this, arg2, direction);
|
||||
void subaddie_set_state_with_direction(Actor * this, s32 myAnimId, f32 anim_start_position, s32 direction){
|
||||
if (__subaddie_set_state(this, myAnimId) && this->animctrl) {
|
||||
func_803289EC(this, anim_start_position, direction);
|
||||
}
|
||||
}
|
||||
|
||||
bool subaddie_maybe_set_state_position_direction(Actor *this, s32 myAnimId, f32 start_position, s32 direction, f32 probability) {
|
||||
@@ -2184,12 +2187,12 @@ void func_8032B258(Actor *this, enum collision_e arg1) {
|
||||
func_8034A174( this->marker->unk44, 0x20, sp38);
|
||||
}
|
||||
if (((s32)this->marker->unk44 < 0) && ((sp38[0] != 0.0f) || (sp38[1] != 0.0f) || (sp38[2] != 0.0f))) {
|
||||
__spawnQueue_add_5((GenFunction_5)spawnQueue_bundleWithYaw_f32, this->unk138_27 + 0x15, reinterpret_cast(s32,sp38[0]), reinterpret_cast(s32,sp38[1]), reinterpret_cast(s32,sp38[2]), reinterpret_cast(s32,sp44));
|
||||
__spawnQueue_add_5((GenFunction_5) spawnQueue_bundleWithYaw_f32, this->unk138_27 + BUNDLE_15__JIGGY, reinterpret_cast(s32, sp38[0]), reinterpret_cast(s32, sp38[1]), reinterpret_cast(s32, sp38[2]), reinterpret_cast(s32, sp44));
|
||||
return;
|
||||
}
|
||||
else{
|
||||
sp34 = this->position[1] + 50.0f;
|
||||
__spawnQueue_add_5((GenFunction_5)spawnQueue_bundleWithYaw_f32, this->unk138_27 + 0x15, reinterpret_cast(s32,this->position[0]), reinterpret_cast(s32,sp34), reinterpret_cast(s32,this->position[2]), reinterpret_cast(s32,sp44));
|
||||
__spawnQueue_add_5((GenFunction_5)spawnQueue_bundleWithYaw_f32, this->unk138_27 + BUNDLE_15__JIGGY, reinterpret_cast(s32,this->position[0]), reinterpret_cast(s32,sp34), reinterpret_cast(s32,this->position[2]), reinterpret_cast(s32,sp44));
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -2273,10 +2276,10 @@ void func_8032B5C0(ActorMarker *arg0, ActorMarker *arg1, struct5Cs *arg2) {
|
||||
bundle_setYaw(func_80257204(arg0->propPtr->x, arg0->propPtr->z, arg1->propPtr->x, arg1->propPtr->z) + 90.0f);
|
||||
D_8036E564 = sp6C;
|
||||
if (this->unk138_25) {
|
||||
__bundle_spawnFromFirstActor(sp6C + 0x21, this);
|
||||
__bundle_spawnFromFirstActor(sp6C + BUNDLE_21__ICECUBE_B, this);
|
||||
} else {
|
||||
if ((this->marker->id < 0x1A1) || (this->marker->id >= 0x1A5)) {
|
||||
__bundle_spawnFromFirstActor(sp6C + 0x18, this);
|
||||
__bundle_spawnFromFirstActor(sp6C + BUNDLE_18__HONEYCOMB, this);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -2305,15 +2308,15 @@ void func_8032B5C0(ActorMarker *arg0, ActorMarker *arg1, struct5Cs *arg2) {
|
||||
}
|
||||
func_8032EE0C(func_8032B38C, this);
|
||||
if (((s32)arg0->unk44 < 0) && ((sp50[0] != 0.0f) || (sp50[1] != 0.0f) || (sp50[2] != 0.0f))) {
|
||||
__spawnQueue_add_5((GenFunction_5)spawnQueue_bundleWithYaw_f32, sp70 + 0x15, reinterpret_cast(s32, sp50[0]), reinterpret_cast(s32, sp50[1]), reinterpret_cast(s32, sp50[2]), reinterpret_cast(s32, player_yaw));
|
||||
__spawnQueue_add_5((GenFunction_5)spawnQueue_bundleWithYaw_f32, sp70 + BUNDLE_15__JIGGY, reinterpret_cast(s32, sp50[0]), reinterpret_cast(s32, sp50[1]), reinterpret_cast(s32, sp50[2]), reinterpret_cast(s32, player_yaw));
|
||||
} else if (this->unk16C_3 && func_803048E0(sp3C, &sp4C, &sp48, 3, (s32) (func_8033229C(arg0) * 4.0f))) {
|
||||
sp50[0] = (f32) sp48->x;
|
||||
sp50[1] = (f32) sp48->y;
|
||||
sp50[2] = (f32) sp48->z;
|
||||
__spawnQueue_add_5((GenFunction_5)spawnQueue_bundleWithYaw_f32, sp70 + 0x15, reinterpret_cast(s32, sp50[0]), reinterpret_cast(s32, sp50[1]), reinterpret_cast(s32, sp50[2]), reinterpret_cast(s32, player_yaw));
|
||||
__spawnQueue_add_5((GenFunction_5)spawnQueue_bundleWithYaw_f32, sp70 + BUNDLE_15__JIGGY, reinterpret_cast(s32, sp50[0]), reinterpret_cast(s32, sp50[1]), reinterpret_cast(s32, sp50[2]), reinterpret_cast(s32, player_yaw));
|
||||
} else {
|
||||
sp38 = this->position[1] + func_8033229C(arg0);
|
||||
__spawnQueue_add_5((GenFunction_5)spawnQueue_bundleWithYaw_f32, sp70 + 0x15, reinterpret_cast(s32, this->position[0]), reinterpret_cast(s32, sp38), reinterpret_cast(s32, this->position[2]), reinterpret_cast(s32, player_yaw));
|
||||
__spawnQueue_add_5((GenFunction_5)spawnQueue_bundleWithYaw_f32, sp70 + BUNDLE_15__JIGGY, reinterpret_cast(s32, this->position[0]), reinterpret_cast(s32, sp38), reinterpret_cast(s32, this->position[2]), reinterpret_cast(s32, player_yaw));
|
||||
}
|
||||
func_8032EE20();
|
||||
}
|
||||
|
@@ -164,12 +164,14 @@ void func_8033B020(void *ptr){
|
||||
|
||||
end_ptr = (struct21s *) vector_getEnd(D_80383CE0[0]);
|
||||
start_ptr = (struct21s *) vector_getBegin(D_80383CE0[0]);
|
||||
for(iPtr = start_ptr; iPtr < end_ptr && ptr != iPtr->unk1; iPtr++);
|
||||
|
||||
for (iPtr = start_ptr; iPtr < end_ptr && ptr != iPtr->unk1; iPtr++);
|
||||
|
||||
if (iPtr < end_ptr) {
|
||||
iPtr->unk0++;
|
||||
}
|
||||
else{
|
||||
iPtr = (struct21s *)vector_pushBackNew(&D_80383CE0[0]);
|
||||
else {
|
||||
iPtr = (struct21s *) vector_pushBackNew(&D_80383CE0[0]);
|
||||
iPtr->unk0 = 1;
|
||||
iPtr->unk1 = ptr;
|
||||
}
|
||||
@@ -463,7 +465,7 @@ void func_8033BD20(BKModelBin **arg0){
|
||||
*arg0 = NULL;
|
||||
}
|
||||
|
||||
void func_8033BD4C(void *arg0){
|
||||
void assetCache_free(void *arg0){
|
||||
func_8033B020(arg0);
|
||||
}
|
||||
|
||||
|
@@ -6,8 +6,8 @@
|
||||
|
||||
|
||||
typedef struct {
|
||||
s16 unk0;
|
||||
s16 unk2;
|
||||
s16 unk0; // enum volatile_flags_e
|
||||
s16 unk2; // enum file_progress_e
|
||||
}Struct_B5040;
|
||||
|
||||
void savedata_clear(u8 *savedata);
|
||||
@@ -15,43 +15,43 @@ s32 savedata_verify(s32 arg0, SaveData *savedata);
|
||||
|
||||
/* .data */
|
||||
Struct_B5040 D_80370A20[] = {
|
||||
{0x66, 0xFF},
|
||||
{0x67, 0x100},
|
||||
{0x68, 0x101},
|
||||
{0x69, 0x102},
|
||||
{0x6A, 0x103},
|
||||
{0x6B, 0x104},
|
||||
{0x6C, 0x105},
|
||||
{0x6D, 0x106},
|
||||
{0x6E, 0x107},
|
||||
{0x6F, 0x108},
|
||||
{0x70, 0x109},
|
||||
{0x71, 0x10A},
|
||||
{0x72, 0x10B},
|
||||
{0x7D, 0x10C},
|
||||
{0x7E, 0x10D},
|
||||
{0x7F, 0x10E},
|
||||
{0x80, 0x10F},
|
||||
{0x81, 0x110},
|
||||
{0x82, 0x111},
|
||||
{0x83, 0x112},
|
||||
{0x84, 0x113},
|
||||
{0x85, 0x114},
|
||||
{0x86, 0x115},
|
||||
{0x87, 0x116},
|
||||
{0x88, 0x117},
|
||||
{0x89, 0x118},
|
||||
{0x8A, 0x119},
|
||||
{0x8B, 0x11A},
|
||||
{0x8C, 0x11B},
|
||||
{0x8D, 0x11C},
|
||||
{0x8E, 0x11D},
|
||||
{0x8F, 0x11E},
|
||||
{0x90, 0x11F},
|
||||
{0x91, 0x120},
|
||||
{0x92, 0x121},
|
||||
{0x93, 0x122},
|
||||
{0x65, 0x123},
|
||||
{VOLATILE_FLAG_66_SANDCASTLE_OPEN_DOOR_TWO, FILEPROG_FF_SANDCASTLE_OPEN_DOOR_TWO},
|
||||
{VOLATILE_FLAG_67_SANDCASTLE_OPEN_DOOR_THREE, FILEPROG_100_SANDCASTLE_OPEN_DOOR_THREE},
|
||||
{VOLATILE_FLAG_68_SANDCASTLE_OPEN_DOOR_FOUR, FILEPROG_101_SANDCASTLE_OPEN_DOOR_FOUR},
|
||||
{VOLATILE_FLAG_69_SANDCASTLE_OPEN_DOOR_FIVE, FILEPROG_102_SANDCASTLE_OPEN_DOOR_FIVE},
|
||||
{VOLATILE_FLAG_6A_SANDCASTLE_OPEN_DOOR_SIX, FILEPROG_103_SANDCASTLE_OPEN_DOOR_SIX},
|
||||
{VOLATILE_FLAG_6B_SANDCASTLE_OPEN_DOOR_SEVEN, FILEPROG_104_SANDCASTLE_OPEN_DOOR_SEVEN},
|
||||
{VOLATILE_FLAG_6C_SANDCASTLE_PUZZLE_COMPLETE_CC, FILEPROG_105_SANDCASTLE_PUZZLE_COMPLETE_CC},
|
||||
{VOLATILE_FLAG_6D_SANDCASTLE_PUZZLE_COMPLETE_BGS, FILEPROG_106_SANDCASTLE_PUZZLE_COMPLETE_BGS},
|
||||
{VOLATILE_FLAG_6E_SANDCASTLE_PUZZLE_COMPLETE_FP, FILEPROG_107_SANDCASTLE_PUZZLE_COMPLETE_FP},
|
||||
{VOLATILE_FLAG_6F_SANDCASTLE_PUZZLE_COMPLETE_GV, FILEPROG_108_SANDCASTLE_PUZZLE_COMPLETE_GV},
|
||||
{VOLATILE_FLAG_70_SANDCASTLE_PUZZLE_COMPLETE_MMM, FILEPROG_109_SANDCASTLE_PUZZLE_COMPLETE_MMM},
|
||||
{VOLATILE_FLAG_71_SANDCASTLE_PUZZLE_COMPLETE_RBB, FILEPROG_10A_SANDCASTLE_PUZZLE_COMPLETE_RBB},
|
||||
{VOLATILE_FLAG_72_SANDCASTLE_PUZZLE_COMPLETE_CCC, FILEPROG_10B_SANDCASTLE_PUZZLE_COMPLETE_CCC},
|
||||
{VOLATILE_FLAG_7D_SANDCASTLE_RAISE_PIPES_TO_CC, FILEPROG_10C_SANDCASTLE_RAISE_PIPES_TO_CC},
|
||||
{VOLATILE_FLAG_7E_SANDCASTLE_RAISE_PIPE_TO_BRENTILDA, FILEPROG_10D_SANDCASTLE_RAISE_PIPE_TO_BRENTILDA},
|
||||
{VOLATILE_FLAG_7F_SANDCASTLE_OPEN_CC, FILEPROG_10E_SANDCASTLE_OPEN_CC},
|
||||
{VOLATILE_FLAG_80_SANDCASTLE_REMOVE_GRILL_NEAR_BGS_JIGGY, FILEPROG_10F_SANDCASTLE_REMOVE_GRILL_NEAR_BGS_JIGGY},
|
||||
{VOLATILE_FLAG_81_SANDCASTLE_CCC_JIGGY_PODIUM, FILEPROG_110_SANDCASTLE_CCC_JIGGY_PODIUM},
|
||||
{VOLATILE_FLAG_82_SANDCASTLE_REMOVE_GRILL_AND_HAT_FROM_STATUE, FILEPROG_111_SANDCASTLE_REMOVE_GRILL_AND_HAT_FROM_STATUE},
|
||||
{VOLATILE_FLAG_83_SANDCASTLE_REMOVE_ICE, FILEPROG_112_SANDCASTLE_REMOVE_ICE},
|
||||
{VOLATILE_FLAG_84_SANDCASTLE_OPEN_BGS, FILEPROG_113_SANDCASTLE_OPEN_BGS},
|
||||
{VOLATILE_FLAG_85_SANDCASTLE_REMOVE_BREAKABLE_WALLS, FILEPROG_114_SANDCASTLE_REMOVE_BREAKABLE_WALLS},
|
||||
{VOLATILE_FLAG_86_SANDCASTLE_SHOCKSPRING_JUMP_UNLOCKED, FILEPROG_115_SANDCASTLE_SHOCKSPRING_JUMP_UNLOCKED},
|
||||
{VOLATILE_FLAG_87_SANDCASTLE_OPEN_GV, FILEPROG_116_SANDCASTLE_OPEN_GV},
|
||||
{VOLATILE_FLAG_88_SANDCASTLE_REMOVE_WEBS, FILEPROG_117_SANDCASTLE_REMOVE_WEBS},
|
||||
{VOLATILE_FLAG_89_SANDCASTLE_REMOVE_GLASS_EYE, FILEPROG_118_SANDCASTLE_REMOVE_GLASS_EYE},
|
||||
{VOLATILE_FLAG_8A_SANDCASTLE_FLIGHT_UNLOCKED, FILEPROG_119_SANDCASTLE_FLIGHT_UNLOCKED},
|
||||
{VOLATILE_FLAG_8B_SANDCASTLE_OPEN_FP, FILEPROG_11A_SANDCASTLE_OPEN_FP},
|
||||
{VOLATILE_FLAG_8C_SANDCASTLE_OPEN_MMM, FILEPROG_11B_SANDCASTLE_OPEN_MMM},
|
||||
{VOLATILE_FLAG_8D_SANDCASTLE_REMOVE_CRYPT_GATE, FILEPROG_11C_SANDCASTLE_REMOVE_CRYPT_GATE},
|
||||
{VOLATILE_FLAG_8E_SANDCASTLE_REMOVE_CRYPT_COFFIN_LID, FILEPROG_11D_SANDCASTLE_REMOVE_CRYPT_COFFIN_LID},
|
||||
{VOLATILE_FLAG_8F_SANDCASTLE_REMOVE_GRATE_NEAR_WATER_SWITCH, FILEPROG_11E_SANDCASTLE_REMOVE_GRATE_NEAR_WATER_SWITCH},
|
||||
{VOLATILE_FLAG_90_SANDCASTLE_OPEN_RBB, FILEPROG_11F_SANDCASTLE_OPEN_RBB},
|
||||
{VOLATILE_FLAG_91_SANDCASTLE_REMOVE_GRILL_NEAR_RBB_JIGGY, FILEPROG_120_SANDCASTLE_REMOVE_GRILL_NEAR_RBB_JIGGY},
|
||||
{VOLATILE_FLAG_92_SANDCASTLE_REMOVE_TUNNEL_GRILL_NEAR_RBB_JIGGY, FILEPROG_121_SANDCASTLE_REMOVE_TUNNEL_GRILL_NEAR_RBB_JIGGY},
|
||||
{VOLATILE_FLAG_93_SANDCASTLE_OPEN_CCW, FILEPROG_122_SANDCASTLE_OPEN_CCW},
|
||||
{VOLATILE_FLAG_65_CHEAT_ENTERED, FILEPROG_123_CHEAT_ENTERED},
|
||||
{-1, 0x000}
|
||||
};
|
||||
|
||||
|
@@ -108,7 +108,7 @@ u8 func_8033FA84(void){
|
||||
|
||||
void func_8033FB64(u8 indx){
|
||||
if(D_80385000[indx].sprite_0){
|
||||
func_8033BD4C(D_80385000[indx].sprite_0);
|
||||
assetCache_free(D_80385000[indx].sprite_0);
|
||||
}
|
||||
D_80385000[indx].sprite_0 = NULL;
|
||||
D_80385000[indx].unk28_13 = 0;
|
||||
@@ -116,7 +116,7 @@ void func_8033FB64(u8 indx){
|
||||
|
||||
void projectile_setSprite(u8 indx, enum asset_e arg1){
|
||||
if(D_80385000[indx].sprite_0){
|
||||
func_8033BD4C(D_80385000[indx].sprite_0);
|
||||
assetCache_free(D_80385000[indx].sprite_0);
|
||||
}
|
||||
D_80385000[indx].sprite_0 = assetcache_get(arg1);
|
||||
}
|
||||
|
@@ -278,7 +278,7 @@ void func_803465E4(void){
|
||||
}
|
||||
|
||||
if(!func_8028EC04() && func_8028F070()){
|
||||
if(level_get() != LEVEL_2_TREASURE_TROVE_COVE || !levelSpecificFlags_get(5)){
|
||||
if(level_get() != LEVEL_2_TREASURE_TROVE_COVE || !levelSpecificFlags_get(LEVEL_FLAG_5_TTC_UNKNOWN)){
|
||||
is_underwater = (player_getWaterState() == BSWATERGROUP_2_UNDERWATER);
|
||||
is_on_water_surface = (player_getWaterState() == BSWATERGROUP_1_SURFACE);
|
||||
is_in_polluted_or_winter_water = ((level_get() == LEVEL_9_RUSTY_BUCKET_BAY) || (map_get() == MAP_46_CCW_WINTER));
|
||||
@@ -398,10 +398,10 @@ void func_80346DB4(s32 note_count) {
|
||||
gcdialog_showText(0xF78, 4, NULL, NULL, NULL, NULL);
|
||||
}
|
||||
if (note_count == 1) {
|
||||
levelSpecificFlags_set(0x34, TRUE);
|
||||
levelSpecificFlags_set(LEVEL_FLAG_34_UNKNOWN, TRUE);
|
||||
}
|
||||
if (!levelSpecificFlags_get(0x34) && (gcdialog_showText(0xF76, 0, NULL, NULL, NULL, NULL))) {
|
||||
levelSpecificFlags_set(0x34, TRUE);
|
||||
if (!levelSpecificFlags_get(LEVEL_FLAG_34_UNKNOWN) && (gcdialog_showText(0xF76, 0, NULL, NULL, NULL, NULL))) {
|
||||
levelSpecificFlags_set(LEVEL_FLAG_34_UNKNOWN, TRUE);
|
||||
}
|
||||
if (volatileFlag_get(VOLATILE_FLAG_17) == 0) {
|
||||
volatileFlag_set(VOLATILE_FLAG_17, 1);
|
||||
|
@@ -6,7 +6,7 @@ extern void func_80329904(ActorMarker *, s32, f32 *);
|
||||
|
||||
void func_80347B10(Struct81s *arg0){
|
||||
Actor *actor;
|
||||
actor = bundle_spawn_f32(0x10, arg0->position);
|
||||
actor = bundle_spawn_f32(BUNDLE_10__JIGGY, arg0->position);
|
||||
actor->unk54 = 3.0f;
|
||||
func_803333DC(arg0, actor);
|
||||
}
|
||||
|
@@ -4,55 +4,49 @@
|
||||
|
||||
#define CORE2_C31A0_VEC_COUNT 0x21
|
||||
|
||||
void func_8034A130(struct5Bs *this){
|
||||
f32 (*iPtr)[3];
|
||||
for(iPtr = this->unk0; iPtr < this->unk4; iPtr++){
|
||||
void func_8034A130(struct5Bs *this) {
|
||||
f32(*iPtr)[3];
|
||||
|
||||
for (iPtr = this->unk0; iPtr < this->unk4; iPtr++) {
|
||||
(*iPtr)[0] = (*iPtr)[1] = (*iPtr)[2] = 0.0f;
|
||||
}
|
||||
}
|
||||
|
||||
void func_8034A174(struct5Bs *this, s32 indx,f32 dst[3]){
|
||||
dst[0] = this->unk0[indx][0];
|
||||
dst[1] = this->unk0[indx][1];
|
||||
dst[2] = this->unk0[indx][2];
|
||||
void func_8034A174(struct5Bs *this, s32 indx, f32 dst[3]) {
|
||||
TUPLE_COPY(dst, this->unk0[indx])
|
||||
}
|
||||
|
||||
void func_8034A1B4(struct5Bs *this, s32 indx, s32 dst[3]){
|
||||
dst[0] = (s32)this->unk0[indx][0];
|
||||
dst[1] = (s32)this->unk0[indx][1];
|
||||
dst[2] = (s32)this->unk0[indx][2];
|
||||
void func_8034A1B4(struct5Bs *this, s32 indx, s32 dst[3]) {
|
||||
TUPLE_COPY(dst, this->unk0[indx])
|
||||
}
|
||||
|
||||
void func_8034A214(struct5Bs *this, s32 indx1, s32 indx2, f32 dst[3]){
|
||||
dst[0] = this->unk0[indx2][0] - this->unk0[indx1][0];
|
||||
dst[1] = this->unk0[indx2][1] - this->unk0[indx1][1];
|
||||
dst[2] = this->unk0[indx2][2] - this->unk0[indx1][2];
|
||||
void func_8034A214(struct5Bs *this, s32 indx1, s32 indx2, f32 dst[3]) {
|
||||
TUPLE_DIFF_COPY(dst, this->unk0[indx2], this->unk0[indx1])
|
||||
ml_vec3f_normalize(dst);
|
||||
}
|
||||
|
||||
void func_8034A2A8(struct5Bs *this){
|
||||
void func_8034A2A8(struct5Bs *this) {
|
||||
free(this);
|
||||
}
|
||||
|
||||
struct5Bs *func_8034A2C8(void){
|
||||
struct5Bs *this = (struct5Bs *)malloc(sizeof(struct5Bs) + sizeof(f32[3])*CORE2_C31A0_VEC_COUNT);
|
||||
this->unk0 = (f32(*)[3])((s32)this + sizeof(struct5Bs));
|
||||
this->unk4 = (f32(*)[3])((s32)this->unk0 + sizeof(f32[3])*CORE2_C31A0_VEC_COUNT);
|
||||
struct5Bs *func_8034A2C8(void) {
|
||||
struct5Bs *this = (struct5Bs *) malloc(sizeof(struct5Bs) + sizeof(f32[3]) * CORE2_C31A0_VEC_COUNT);
|
||||
this->unk0 = (f32(*)[3])((s32) this + sizeof(struct5Bs));
|
||||
this->unk4 = (f32(*)[3])((s32) this->unk0 + sizeof(f32[3]) * CORE2_C31A0_VEC_COUNT);
|
||||
func_8034A130(this);
|
||||
return this;
|
||||
}
|
||||
|
||||
void func_8034A308(struct5Bs *this, s32 indx, f32 arg2[3]){
|
||||
this->unk0[indx][0] = arg2[0];
|
||||
this->unk0[indx][1] = arg2[1];
|
||||
this->unk0[indx][2] = arg2[2];
|
||||
void func_8034A308(struct5Bs *this, s32 indx, f32 arg2[3]) {
|
||||
TUPLE_COPY(this->unk0[indx], arg2)
|
||||
}
|
||||
|
||||
struct5Bs *func_8034A348(struct5Bs *this){
|
||||
if(this){
|
||||
this = (struct5Bs *)defrag(this);
|
||||
this->unk0 = (f32(*)[3])(((s32)this + sizeof(struct5Bs)));
|
||||
this->unk4 = (f32(*)[3])((s32)this->unk0 + sizeof(f32[3])*CORE2_C31A0_VEC_COUNT);
|
||||
struct5Bs *func_8034A348(struct5Bs *this) {
|
||||
if (this) {
|
||||
this = (struct5Bs *) defrag(this);
|
||||
this->unk0 = (f32(*)[3])(((s32) this + sizeof(struct5Bs)));
|
||||
this->unk4 = (f32(*)[3])((s32) this->unk0 + sizeof(f32[3]) * CORE2_C31A0_VEC_COUNT);
|
||||
}
|
||||
|
||||
return this;
|
||||
}
|
||||
|
@@ -54,7 +54,18 @@ extern s32 D_80371F90 = 0x7; //bottles bonus demo count
|
||||
extern s32 D_80371F94 = 1;
|
||||
extern s32 D_80371F98 = 3;
|
||||
extern s32 D_80371F9C = 1;
|
||||
extern u16 D_80371FA0[] = { 3, 4, 5, 6, 7, 8, 9, 0xA, 0xB, 0xC };
|
||||
extern u16 D_80371FA0[] = {
|
||||
FILEPROG_3_MUSIC_NOTE_TEXT,
|
||||
FILEPROG_4_MUMBO_TOKEN_TEXT,
|
||||
FILEPROG_5_BLUE_EGG_TEXT,
|
||||
FILEPROG_6_RED_FEATHER_TEXT,
|
||||
FILEPROG_7_GOLD_FEATHER_TEXT,
|
||||
FILEPROG_8_ORANGE_TEXT,
|
||||
FILEPROG_9_GOLD_BULLION_TEXT,
|
||||
FILEPROG_A_HONEYCOMB_TEXT,
|
||||
FILEPROG_B_EMPTY_HONEYCOMB_TEXT,
|
||||
FILEPROG_C_EXTRA_LIFE_TEXT
|
||||
};
|
||||
//EB030:
|
||||
|
||||
/* .bss */
|
||||
|
@@ -41,7 +41,7 @@ Struct_Core2_C9F00_1 D_803725C0[] = {
|
||||
|
||||
|
||||
void func_80351DE0(Struct6Bs *, Struct68s *);
|
||||
extern void MMM_func_8038ADF0(void *, Struct68s *);
|
||||
extern void chTumblar_init(void *, Struct68s *);
|
||||
extern void func_80387940(void *, Struct68s *);
|
||||
extern void GV_func_80387960(void *, Struct68s *);
|
||||
extern void func_80387980(void *, Struct68s *);
|
||||
@@ -53,7 +53,7 @@ extern void CC_func_80387A20(void *, Struct68s *);
|
||||
extern void func_80351FE0(void *, Struct68s *);
|
||||
|
||||
void func_80351E60(Struct6Bs *, Struct68s *, f32);
|
||||
extern void func_8038AF90(void *, Struct68s *, f32);
|
||||
extern void chTumblar_update(void *, Struct68s *, f32);
|
||||
extern void func_8038B790(void *, Struct68s *, f32);
|
||||
extern void CCW_func_80387A40(void *, Struct68s *, f32);
|
||||
extern void func_80352114(void *, Struct68s *, f32);
|
||||
@@ -61,7 +61,7 @@ extern void func_80352114(void *, Struct68s *, f32);
|
||||
Struct_Core2_C9F00_0 D_803725F4[] = {
|
||||
{ NULL, NULL},
|
||||
{func_80351DE0, func_80351E60},
|
||||
{MMM_func_8038ADF0, func_8038AF90},
|
||||
{chTumblar_init, chTumblar_update},
|
||||
{ NULL, NULL},
|
||||
{ NULL, func_8038B790},
|
||||
{func_80387940, CCW_func_80387A40},
|
||||
@@ -100,17 +100,20 @@ Actor *func_80350E90(ActorMarker *marker, Gfx **gfx, Mtx **mtx, Vtx **vtx) {
|
||||
|
||||
temp_s0 = &D_803861B0.unk4[marker->actrArrayIdx];
|
||||
temp_v0 = temp_s0->unkC;
|
||||
|
||||
if (temp_v0 == NULL) {
|
||||
return 0;
|
||||
} else {
|
||||
if (temp_s0->unk8 != NULL) {
|
||||
temp_s0->unk8(&temp_s0->local, temp_s0, temp_s0->unk14, temp_s0->unk20, temp_s0->unk2C, temp_v0, gfx, mtx, vtx);
|
||||
} else {
|
||||
modelRender_setDepthMode(MODEL_RENDER_DEPTH_FULL);
|
||||
modelRender_draw(gfx, mtx, temp_s0->unk14, temp_s0->unk20, temp_s0->unk2C, NULL, temp_s0->unkC);
|
||||
}
|
||||
return NULL;
|
||||
}
|
||||
return 0;
|
||||
|
||||
if (temp_s0->unk8 != NULL) {
|
||||
temp_s0->unk8(&temp_s0->local, temp_s0, temp_s0->position, temp_s0->unk20, temp_s0->unk2C, temp_v0, gfx, mtx, vtx);
|
||||
}
|
||||
else {
|
||||
modelRender_setDepthMode(MODEL_RENDER_DEPTH_FULL);
|
||||
modelRender_draw(gfx, mtx, temp_s0->position, temp_s0->unk20, temp_s0->unk2C, NULL, temp_s0->unkC);
|
||||
}
|
||||
|
||||
return NULL;
|
||||
}
|
||||
|
||||
s32 func_80350F7C(ActorMarker *marker, s32 arg1, f32 arg2[3], s32 arg3, s32 arg4) {
|
||||
@@ -126,7 +129,7 @@ s32 func_80350F7C(ActorMarker *marker, s32 arg1, f32 arg2[3], s32 arg3, s32 arg4
|
||||
|
||||
colision_list = model_getCollisionList(temp_s0->unkC);
|
||||
vtx_list = model_getVtxList(temp_s0->unkC);
|
||||
sp4C = func_802E805C(colision_list, vtx_list, temp_s0->unk14, temp_s0->unk20, temp_s0->unk2C, arg1, arg2, arg3, arg4);
|
||||
sp4C = func_802E805C(colision_list, vtx_list, temp_s0->position, temp_s0->unk20, temp_s0->unk2C, arg1, arg2, arg3, arg4);
|
||||
if (sp4C != 0) {
|
||||
if (func_8029453C()) {
|
||||
D_80386180.unk20[0] = (s32) arg2[0];
|
||||
@@ -150,7 +153,7 @@ s32 func_803510B4(ActorMarker *marker, s32 arg1, f32 arg2[3], f32 arg3, s32 arg4
|
||||
}
|
||||
collision_list = model_getCollisionList(sp40->unkC);
|
||||
vertex_list = model_getVtxList(sp40->unkC);
|
||||
return func_802E9118(collision_list, vertex_list, sp40->unk14, sp40->unk20, sp40->unk2C, arg1, arg2, arg3, arg4, arg5, flagFliter);
|
||||
return func_802E9118(collision_list, vertex_list, sp40->position, sp40->unk20, sp40->unk2C, arg1, arg2, arg3, arg4, arg5, flagFliter);
|
||||
}
|
||||
|
||||
s32 func_80351198(ActorMarker *marker, s32 arg1, f32 arg2, s32 arg3, s32 arg4) {
|
||||
@@ -165,11 +168,11 @@ s32 func_80351198(ActorMarker *marker, s32 arg1, f32 arg2, s32 arg3, s32 arg4) {
|
||||
}
|
||||
collision_list = model_getCollisionList(sp38->unkC);
|
||||
vtx_list = model_getVtxList(sp38->unkC);
|
||||
return func_802E9DD8(collision_list, vtx_list, sp38->unk14, sp38->unk20, sp38->unk2C, arg1, arg2, arg3, arg4);
|
||||
return func_802E9DD8(collision_list, vtx_list, sp38->position, sp38->unk20, sp38->unk2C, arg1, arg2, arg3, arg4);
|
||||
}
|
||||
|
||||
|
||||
Struct68s * func_8035126C(f32 arg0[3], f32 arg1[3], f32 arg2, s32 arg3, enum asset_e arg4) {
|
||||
Struct68s * func_8035126C(f32 position[3], f32 arg1[3], f32 arg2, s32 arg3, enum asset_e arg4) {
|
||||
s32 sp2C;
|
||||
s32 sp1C;
|
||||
|
||||
@@ -177,22 +180,20 @@ Struct68s * func_8035126C(f32 arg0[3], f32 arg1[3], f32 arg2, s32 arg3, enum ass
|
||||
if (D_803861B0.unk8 == D_803861B0.unkC) {
|
||||
sp2C = D_803861B0.unk8 - D_803861B0.unk4;
|
||||
sp1C = sp2C * 2;
|
||||
D_803861B0.unk4 = (Struct68s *)realloc(D_803861B0.unk4, sp1C * sizeof(Struct68s));
|
||||
D_803861B0.unk4 = (Struct68s *) realloc(D_803861B0.unk4, sp1C * sizeof(Struct68s));
|
||||
D_803861B0.unk8 = D_803861B0.unk4 + sp2C;
|
||||
D_803861B0.unkC = D_803861B0.unk4 + sp1C;
|
||||
}
|
||||
|
||||
D_803861B0.unk8->unk0 = 0;
|
||||
D_803861B0.unk8->unk30 = 0;
|
||||
D_803861B0.unk8->unk8 = NULL;
|
||||
D_803861B0.unk8->unkC = NULL;
|
||||
D_803861B0.unk8->unk2C = arg2;
|
||||
D_803861B0.unk8->unk31 = arg3;
|
||||
D_803861B0.unk8->unk14[0] = arg0[0];
|
||||
D_803861B0.unk8->unk14[1] = arg0[1];
|
||||
D_803861B0.unk8->unk14[2] = arg0[2];
|
||||
D_803861B0.unk8->unk20[0] = arg1[0];
|
||||
D_803861B0.unk8->unk20[1] = arg1[1];
|
||||
D_803861B0.unk8->unk20[2] = arg1[2];
|
||||
|
||||
TUPLE_COPY(D_803861B0.unk8->position, position)
|
||||
TUPLE_COPY(D_803861B0.unk8->unk20, arg1)
|
||||
func_80351AD0(D_803861B0.unk8, arg4);
|
||||
return D_803861B0.unk8++;
|
||||
|
||||
@@ -224,7 +225,7 @@ void func_803514F4(Struct68s *arg0){
|
||||
}
|
||||
|
||||
void func_80351538(Struct68s *arg0){
|
||||
arg0->unk4 = (ActorMarker *)func_8032FBE4(arg0->unk14, func_80350E90, 1, 0x47);
|
||||
arg0->unk4 = (ActorMarker *)func_8032FBE4(arg0->position, func_80350E90, 1, 0x47);
|
||||
((ActorMarker *)arg0->unk4)->collidable = FALSE;
|
||||
((ActorMarker *)arg0->unk4)->actrArrayIdx = (arg0 - D_803861B0.unk4);
|
||||
((ActorMarker *)arg0->unk4)->unk18 = &D_80386180.unk4;
|
||||
@@ -279,10 +280,11 @@ bool func_80351724(void * arg0){
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
s32 func_80351758(Struct68s *arg0){
|
||||
if(arg0->unk0 == 0){
|
||||
s32 func_80351758_getSfxsourceIndex(Struct68s *arg0) {
|
||||
if (arg0->unk0 == NULL) {
|
||||
arg0->unk0 = sfxsource_createSfxsourceAndReturnIndex();
|
||||
}
|
||||
|
||||
return arg0->unk0;
|
||||
}
|
||||
|
||||
@@ -290,10 +292,8 @@ ActorMarker *func_80351794(Struct68s *arg0){
|
||||
return arg0->unk4;
|
||||
}
|
||||
|
||||
void func_8035179C(Struct68s* arg0, f32 arg1[3]) {
|
||||
arg1[0] = arg0->unk14[0];
|
||||
arg1[1] = arg0->unk14[1];
|
||||
arg1[2] = arg0->unk14[2];
|
||||
void func_8035179C_copyPosition(Struct68s* arg0, f32 position[3]) {
|
||||
TUPLE_COPY(position, arg0->position)
|
||||
}
|
||||
|
||||
void * func_803517B8(s32 arg0){
|
||||
@@ -305,9 +305,7 @@ Struct68s * func_803517E8(s32 arg0){
|
||||
}
|
||||
|
||||
void func_80351814(Struct68s *arg0, f32 arg1[3]) {
|
||||
arg1[0] = arg0->unk20[0];
|
||||
arg1[1] = arg0->unk20[1];
|
||||
arg1[2] = arg0->unk20[2];
|
||||
TUPLE_COPY(arg1, arg0->unk20)
|
||||
}
|
||||
|
||||
f32 func_80351830(Struct68s *arg0) {
|
||||
@@ -315,14 +313,14 @@ f32 func_80351830(Struct68s *arg0) {
|
||||
}
|
||||
|
||||
|
||||
s32 func_80351838(f32 arg0[3], s32 arg1, s32 arg2) {
|
||||
f32 sp2C[3];
|
||||
s32 func_80351838(f32 position[3], s32 key_flag, s32 arg2) {
|
||||
f32 rotation[3];
|
||||
Struct68s *sp28;
|
||||
|
||||
sp2C[0] = sp2C[1] = sp2C[2] = 0.0f;
|
||||
sp28 = func_8035126C(arg0, &sp2C, 1.0f, 4, arg1 + 0x884);
|
||||
rotation[0] = rotation[1] = rotation[2] = 0.0f;
|
||||
sp28 = func_8035126C(position, &rotation, 1.0f, 4, key_flag + 0x884);
|
||||
func_80351538(sp28);
|
||||
func_8038B5D8(&sp28->local, sp28, arg1, arg2);
|
||||
func_8038B5D8(&sp28->local, sp28, key_flag, arg2);
|
||||
return sp28 - D_803861B0.unk4;
|
||||
}
|
||||
|
||||
@@ -416,7 +414,7 @@ void func_80351B28(Struct68s *arg0, f32 arg1[3]) {
|
||||
if(arg0->unkC != NULL){
|
||||
sp34 = func_8033A12C(arg0->unkC);
|
||||
if(sp34 != NULL){
|
||||
if(func_802EA760(sp34, 0, arg0->unk14, arg0->unk20, arg0->unk2C, 0, &sp48, &sp38)){
|
||||
if(func_802EA760(sp34, 0, arg0->position, arg0->unk20, arg0->unk2C, 0, &sp48, &sp38)){
|
||||
func_802EA760(sp34, 0, arg1, arg0->unk20, arg0->unk2C, 0, &sp3C, &sp38);
|
||||
if(func_80309DBC(&sp48, &sp3C, sp38, &sp54, 3, 0)){
|
||||
return;
|
||||
@@ -424,17 +422,13 @@ void func_80351B28(Struct68s *arg0, f32 arg1[3]) {
|
||||
}
|
||||
}
|
||||
}
|
||||
arg0->unk14[0] = arg1[0];
|
||||
arg0->unk14[1] = arg1[1];
|
||||
arg0->unk14[2] = arg1[2];
|
||||
func_8032F64C(arg0->unk14, arg0->unk4);
|
||||
|
||||
TUPLE_COPY(arg0->position, arg1)
|
||||
func_8032F64C(arg0->position, arg0->unk4);
|
||||
}
|
||||
|
||||
|
||||
void func_80351C2C(Struct68s *arg0, f32 arg1[3]){
|
||||
arg0->unk20[0] = arg1[0];
|
||||
arg0->unk20[1] = arg1[1];
|
||||
arg0->unk20[2] = arg1[2];
|
||||
TUPLE_COPY(arg0->unk20, arg1)
|
||||
}
|
||||
|
||||
void func_80351C48(void) {
|
||||
@@ -450,7 +444,7 @@ void func_80351C48(void) {
|
||||
if ((sp38[0] == D_80386180.unk20[0]) && (sp38[1] == D_80386180.unk20[1]) && (sp38[2] == D_80386180.unk20[2])) {
|
||||
player_getPosition(sp4C);
|
||||
mlMtxIdent();
|
||||
func_80252CC4(D_80386180.unk2C->unk14, D_80386180.unk2C->unk20, D_80386180.unk2C->unk2C, 0);
|
||||
func_80252CC4(D_80386180.unk2C->position, D_80386180.unk2C->unk20, D_80386180.unk2C->unk2C, 0);
|
||||
mlMtx_apply_vec3f(D_80386180.unk14, sp4C);
|
||||
if (func_8029FC4C() != 0) {
|
||||
D_80386180.unk0 = D_80386180.unk2C;
|
||||
@@ -469,7 +463,7 @@ void func_80351C48(void) {
|
||||
}
|
||||
if (D_80386180.unk2C != NULL) {
|
||||
mlMtxIdent();
|
||||
func_80252C08(D_80386180.unk2C->unk14, D_80386180.unk2C->unk20, D_80386180.unk2C->unk2C, NULL);
|
||||
func_80252C08(D_80386180.unk2C->position, D_80386180.unk2C->unk20, D_80386180.unk2C->unk2C, NULL);
|
||||
mlMtx_apply_vec3f(&sp4C, &D_80386180.unk14);
|
||||
func_8028FAB0(&sp4C);
|
||||
}
|
||||
@@ -480,7 +474,7 @@ void func_80351DE0(Struct6Bs *arg0, Struct68s *arg1) {
|
||||
arg0->unk0 = randf2(80.0f, 100.0f);
|
||||
arg0->unk4[0] = arg0->unk4[1] = arg0->unk4[2] = 0.0f;
|
||||
arg0->unk10[0] = arg0->unk10[1] = arg0->unk10[2] = 0.0f;
|
||||
func_8035179C(arg1, arg0->unk1C);
|
||||
func_8035179C_copyPosition(arg1, arg0->unk1C);
|
||||
func_80351814(arg1, arg0->unk28);
|
||||
arg0->unk34 = 0.0f;
|
||||
}
|
||||
@@ -492,12 +486,10 @@ void func_80351E60(Struct6Bs *arg0, Struct68s *arg1, f32 arg2) {
|
||||
arg0->unk10[1] = sinf(((arg0->unk34 * arg0->unk0) / 180.0) * BAD_PI) * 20.0f;
|
||||
arg0->unk4[0] = cosf(((arg0->unk34 * arg0->unk0) / 180.0) * BAD_PI) * 7.5;
|
||||
arg0->unk4[1] = sinf(((arg0->unk34 * arg0->unk0) / 180.0) * BAD_PI) * 3.0f;
|
||||
sp24[0] = arg0->unk1C[0] + arg0->unk10[0];
|
||||
sp24[1] = arg0->unk1C[1] + arg0->unk10[1];
|
||||
sp24[2] = arg0->unk1C[2] + arg0->unk10[2];
|
||||
|
||||
TUPLE_ADD_COPY(sp24, arg0->unk1C, arg0->unk10)
|
||||
func_80351B28(arg1, &sp24);
|
||||
sp24[0] = arg0->unk28[0] + arg0->unk4[0];
|
||||
sp24[1] = arg0->unk28[1] + arg0->unk4[1];
|
||||
sp24[2] = arg0->unk28[2] + arg0->unk4[2];
|
||||
|
||||
TUPLE_ADD_COPY(sp24, arg0->unk28, arg0->unk4)
|
||||
func_80351C2C(arg1, &sp24);
|
||||
}
|
||||
|
@@ -32,7 +32,7 @@ void func_80351FE0(Struct_core2_CB050_0 *arg0, Struct68s *arg1) {
|
||||
arg0->unk28[0] = arg0->unk28[1] = arg0->unk28[2] = 0.0f;
|
||||
arg0->unk34[0] = arg0->unk34[1] = arg0->unk34[2] = 0.0f;
|
||||
arg0->unk40[0] = arg0->unk40[1] = arg0->unk40[2] = 0.0f;
|
||||
func_8035179C(arg1, arg0->unk4C);
|
||||
func_8035179C_copyPosition(arg1, arg0->unk4C);
|
||||
func_80351814(arg1, arg0->unk58);
|
||||
arg0->unk64 = 0.0f;
|
||||
arg0->unk6C = 0;
|
||||
|
@@ -51,7 +51,7 @@ void fxegg_shatter(u8 projectile_indx){
|
||||
|
||||
s32 func_803531C8(u8 projectile_indx, s32 arg1){
|
||||
ActorProp *prop;
|
||||
f32 sp40[3];
|
||||
f32 egg_position[3];
|
||||
ActorMarker * marker;
|
||||
ActorMarker * other_marker;
|
||||
s32 sp34;
|
||||
@@ -63,7 +63,7 @@ s32 func_803531C8(u8 projectile_indx, s32 arg1){
|
||||
|
||||
marker = func_8033E840();
|
||||
sp34 = 0;
|
||||
projectile_getPosition(projectile_indx, sp40);
|
||||
projectile_getPosition(projectile_indx, egg_position);
|
||||
marker->unk38[1] = 0x1E;
|
||||
prop = func_80320EB0(marker, 30.0f, 1);
|
||||
if(prop != NULL && prop->unk8_0){
|
||||
@@ -84,7 +84,7 @@ s32 func_803531C8(u8 projectile_indx, s32 arg1){
|
||||
break;
|
||||
|
||||
case MARKER_33_LEAKY: //L80353350
|
||||
if(func_802458A8(sp40, other_marker, 0x32) && chLeaky_eggCollision(other_marker)){
|
||||
if (collisionTri_isHitFromAbove_marker(egg_position, other_marker, 0x32) && chLeaky_eggCollision(other_marker)) {
|
||||
func_8033E984();
|
||||
}
|
||||
break;
|
||||
@@ -94,7 +94,7 @@ s32 func_803531C8(u8 projectile_indx, s32 arg1){
|
||||
func_803870EC(1);
|
||||
break;
|
||||
|
||||
case 0x1ae: //L8035339C //zubba?
|
||||
case MARKER_1AE_ZUBBA: //L8035339C //zubba?
|
||||
func_8033E984();
|
||||
fxegg_shatter(projectile_indx);
|
||||
break;
|
||||
@@ -109,26 +109,26 @@ s32 func_803531C8(u8 projectile_indx, s32 arg1){
|
||||
func_8038685C(other_marker);
|
||||
break;
|
||||
|
||||
case 0xbb: //L803533E4 //"BIG_JINXYHEAD"
|
||||
case MARKER_BB_UNKNOWN: //L803533E4 //"BIG_JINXYHEAD"
|
||||
other_actor = marker_getActor(other_marker);
|
||||
*(s32 *)&other_actor->local = 1;
|
||||
func_8033E984();
|
||||
break;
|
||||
|
||||
case MARKER_34_CEMETARY_POT: //L80353400
|
||||
if(func_802458A8(sp40, other_marker, 0x3C) && MMM_func_80387340(other_marker)){
|
||||
if (collisionTri_isHitFromAbove_marker(egg_position, other_marker, 0x3C) && chFlowerpot_eggCollision(other_marker)) {
|
||||
func_8033E984();
|
||||
}
|
||||
break;
|
||||
|
||||
case MARKER_AB_RUBEES_EGG_POT: //L80353434
|
||||
if(func_802458A8(sp40, other_marker, 0x1E) && (func_8038E178() < func_8038E184())){
|
||||
if (collisionTri_isHitFromAbove_marker(egg_position, other_marker, 0x1E) && (func_8038E178() < func_8038E184())) {
|
||||
func_8033E984();
|
||||
func_8038E140();
|
||||
}
|
||||
break;
|
||||
|
||||
case 0xae: //L80353480 //big_jynxy_head
|
||||
case MARKER_AE_UNKNOWN: //L80353480 //big_jynxy_head
|
||||
if(func_8038E344(other_marker)){
|
||||
func_8033E984();
|
||||
func_8038E2FC(other_marker);
|
||||
|
@@ -29,7 +29,7 @@ MapProgressFlagToDialogID fileProgressDialogMap[] = {
|
||||
{ FILEPROG_BE_CHEATO_BLUEEGGS, 0xFA8},
|
||||
{ FILEPROG_BF_CHEATO_REDFEATHERS, 0xFA9},
|
||||
{ FILEPROG_C0_CHEATO_GOLDFEATHERS, 0xFAA},
|
||||
{0x95, 0xB50},
|
||||
{ FILEPROG_95_UNKNOWN, 0xB50},
|
||||
{ FILEPROG_A7_NEAR_PUZZLE_PODIUM_TEXT, 0xF7B},
|
||||
{ -1, -1}
|
||||
};
|
||||
@@ -119,16 +119,16 @@ s32 volatileFlag_setAndTriggerDialog(enum volatile_flags_e id, s32 arg1) {
|
||||
}
|
||||
|
||||
// called for dialogs when banjo is not fast enough to reach a door or jiggy and for NOBONUS text
|
||||
void volatileFlag_setAndTriggerDialog_0(s32 arg0) {
|
||||
void volatileFlag_setAndTriggerDialog_0(enum volatile_flags_e arg0) {
|
||||
volatileFlag_setAndTriggerDialog(arg0, 0);
|
||||
}
|
||||
|
||||
// called for FFQ dialogs, gruntilda speaking?
|
||||
void volatileFlag_setAndTriggerDialog_4(s32 arg0) {
|
||||
// called for FFQ dialogs
|
||||
void volatileFlag_setAndTriggerDialog_4(enum volatile_flags_e arg0) {
|
||||
volatileFlag_setAndTriggerDialog(arg0, 4);
|
||||
}
|
||||
|
||||
// called for WISHYWASHYBANJO dialog, mumbo jumbo speaking?
|
||||
void volatileFlag_setAndTriggerDialog_E(s32 arg0) {
|
||||
void volatileFlag_setAndTriggerDialog_E(enum volatile_flags_e arg0) {
|
||||
volatileFlag_setAndTriggerDialog(arg0, 0xE);
|
||||
}
|
||||
|
@@ -239,7 +239,7 @@ void func_803584BC(Actor *this) {
|
||||
|
||||
void func_80358524(f32 position[3], s32 count, enum asset_e model_id) {
|
||||
static ParticleScaleAndLifetimeRanges D_803728C4 = { {1.0f, 1.0f}, {1.0f, 1.0f}, {0.0f, 0.01f}, {1.2f, 1.2f}, 0.0f, 0.1f};
|
||||
static struct43s D_803728EC = {
|
||||
static ParticleSettingsVelocityAccelerationPosition D_803728EC = {
|
||||
{{-250.0f, 500.0f, -250.0f}, { 350.0f, 760.0f, 350.0f}},
|
||||
{{ 0.0f, -1200.0f, 0.0f}, { 0.0f, -1200.0f, 0.0f}},
|
||||
{{ -50.0f, 0.0f, -50.0f}, { 50.0f, 50.0f, 50.0f}}
|
||||
@@ -252,11 +252,11 @@ void func_80358524(f32 position[3], s32 count, enum asset_e model_id) {
|
||||
particleEmitter_setModel(temp_v0, model_id);
|
||||
particleEmitter_setPosition(p_ctrl, position);
|
||||
particleEmitter_setAngularVelocityRange(p_ctrl, -400.0f, -400.0f, -400.0f, 400.0f, 400.0f, 400.0f);
|
||||
func_802EF9F8(p_ctrl, 0.01f);
|
||||
func_802EFA18(p_ctrl, 3);
|
||||
particleEmitter_func_802EF9F8(p_ctrl, 0.01f);
|
||||
particleEmitter_func_802EFA18(p_ctrl, 3);
|
||||
func_802EFA20(p_ctrl, 1.0f, 1.3f);
|
||||
particleEmitter_setSfx(p_ctrl, SFX_2F_ORANGE_SPLAT, 16000);
|
||||
particleEmitter_setPositionVelocityAndAccelerationRanges(p_ctrl, &D_803728EC);
|
||||
particleEmitter_setVelocityAccelerationAndPositionRanges(p_ctrl, &D_803728EC);
|
||||
particleEmitter_setScaleAndLifetimeRanges(p_ctrl, &D_803728C4);
|
||||
particleEmitter_emitN(p_ctrl, count);
|
||||
}
|
||||
|
@@ -50,14 +50,14 @@ ActorAnimationInfo D_80372D20[] = {
|
||||
ActorInfo D_80372D78 = {
|
||||
MARKER_218_LIMBO, ACTOR_34E_LIMBO, ASSET_4CC_MODEL_LIMBO,
|
||||
0x1, D_80372D20,
|
||||
chskeleton_update, func_80326224, actor_draw,
|
||||
chskeleton_update, actor_update_func_80326224, actor_draw,
|
||||
2500, 0, 1.0f, 0
|
||||
};
|
||||
|
||||
/* .code */
|
||||
void func_8035CCA0(ParticleEmitter *pCtrl, Actor *this, enum asset_e model_id) {
|
||||
func_802DABA0(pCtrl, this->position, this->scale, model_id);
|
||||
particleEmitter_setParticleAccelerationRange(pCtrl, 0.0f, -1800.0f, 0.0f, 0.0f, -1800.0f, 0.0f);
|
||||
particleEmitter_setAccelerationRange(pCtrl, 0.0f, -1800.0f, 0.0f, 0.0f, -1800.0f, 0.0f);
|
||||
particleEmitter_setAngularVelocityRange(pCtrl, -600.0f, -600.0f, -600.0f, 600.0f, 600.0f, 600.0f);
|
||||
particleEmitter_setParticleVelocityRange(pCtrl, -50.0f, 750.0f, -50.0f, 120.0f, 900.0f, 120.0f);
|
||||
particleEmitter_emitN(pCtrl, 4);
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user