Merge branch 'master' of https://gitlab.com/banjo.decomp/banjo-kazooie into document/sandcastle

This commit is contained in:
Bl00D4NGEL
2024-10-10 22:18:47 +02:00
287 changed files with 4204 additions and 3793 deletions

View File

@@ -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;
}

View File

@@ -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)

View File

@@ -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);
}

View File

@@ -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);

View File

@@ -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);
}

View File

@@ -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;
}

View File

@@ -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
};

View File

@@ -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
};

View File

@@ -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
};

View File

@@ -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
};

View File

@@ -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
};

View File

@@ -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
};

View File

@@ -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
};

View File

@@ -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;
}
}

View File

@@ -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);

View File

@@ -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
};

View File

@@ -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};

View File

@@ -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);

View File

@@ -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);

View File

@@ -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

View File

@@ -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:

View File

@@ -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
);

View File

@@ -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

View File

@@ -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);

View File

@@ -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);

View File

@@ -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;

View File

@@ -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
};

View File

@@ -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){

View File

@@ -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

View File

@@ -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);
}

View File

@@ -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
};

View File

@@ -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
};

View File

@@ -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
};

View File

@@ -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
};

View File

@@ -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
};

View File

@@ -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
};

View File

@@ -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);

View File

@@ -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)

View File

@@ -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
};

View File

@@ -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
};

View File

@@ -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;
}

View File

@@ -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;
}

View File

@@ -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
);

View File

@@ -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;
}

View File

@@ -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);

View File

@@ -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
};

View File

@@ -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){

View File

@@ -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 */

View File

@@ -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
};

View File

@@ -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) {

View File

@@ -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
};

View File

@@ -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
};

View File

@@ -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
};

View File

@@ -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);
}

View File

@@ -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);

View File

@@ -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);

View File

@@ -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) {

View File

@@ -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}}
};

View File

@@ -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);

View File

@@ -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
};

View File

@@ -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;
}
}

View File

@@ -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);

View File

@@ -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
};

View File

@@ -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);

View File

@@ -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}}
};

View File

@@ -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);

View File

@@ -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},

View File

@@ -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
};

View File

@@ -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
};

View File

@@ -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
};

View File

@@ -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
};

View File

@@ -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
};

View File

@@ -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
};

View File

@@ -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
};

View File

@@ -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)

View File

@@ -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
);

View File

@@ -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
);

View File

@@ -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 {

View File

@@ -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);
}

View File

@@ -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
);

View File

@@ -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
);

View File

@@ -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]);
}

View File

@@ -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
};

View File

@@ -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);
}
}

View File

@@ -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();

View File

@@ -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;
}
}

View File

@@ -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();
}

View File

@@ -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);
}

View File

@@ -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}
};

View File

@@ -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);
}

View File

@@ -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);

View File

@@ -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);
}

View File

@@ -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;
}

View File

@@ -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 */

View File

@@ -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);
}

View File

@@ -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;

View File

@@ -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);

View File

@@ -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);
}

View File

@@ -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);
}

View File

@@ -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