BGS documentation part 2

This commit is contained in:
SuperZambezi
2024-11-03 17:36:13 +00:00
committed by Banjo Kazooie
parent 37ec5e39c8
commit fd5f4beb9a
11 changed files with 88 additions and 89 deletions

View File

@@ -1888,7 +1888,7 @@ enum actor_e
ACTOR_EE_PINK_EGG_MEDIUM, ACTOR_EE_PINK_EGG_MEDIUM,
ACTOR_EF_PINK_EGG_SMALL, ACTOR_EF_PINK_EGG_SMALL,
ACTOR_F0_PINK_EGG_SMALLEST, ACTOR_F0_PINK_EGG_SMALLEST,
ACTOR_F1_LEAFBOAT, ACTOR_F1_LEAF_BOAT,
ACTOR_F2_BLACK_SNIPPET, ACTOR_F2_BLACK_SNIPPET,
ACTOR_F4_BURIED_TREASURE = 0xF4, ACTOR_F4_BURIED_TREASURE = 0xF4,
@@ -2646,7 +2646,7 @@ enum asset_e
ASSET_4B_ANIM_BSBFLIP_ENTER = 0x4B, ASSET_4B_ANIM_BSBFLIP_ENTER = 0x4B,
ASSET_4C_ANIM_BSBFLIP_HOLD, ASSET_4C_ANIM_BSBFLIP_HOLD,
ASSET_4D_ANIM_BSOW, ASSET_4D_ANIM_BSOW,
ASSET_4E_ANIM_MUDHUT_SMASH, ASSET_4E_ANIM_MUD_HUT_SMASH,
ASSET_4F_ANIM_BSTWIRL, ASSET_4F_ANIM_BSTWIRL,
/* [0x50] empty */ /* [0x50] empty */
ASSET_51_ANIM_CONGA_IDLE = 0x51, ASSET_51_ANIM_CONGA_IDLE = 0x51,
@@ -3053,7 +3053,7 @@ enum asset_e
ASSET_30A_MODEL_CLANKER_JIGGY_TOOTH_EXTERIOR, ASSET_30A_MODEL_CLANKER_JIGGY_TOOTH_EXTERIOR,
// Unused // Unused
// Unused // Unused
ASSET_30D_MODEL_LEAFBOAT = 0x30D, ASSET_30D_MODEL_LEAF_BOAT = 0x30D,
// 30e (Wood Pipe?) // 30e (Wood Pipe?)
// Unused // Unused
// Unused // Unused
@@ -5055,7 +5055,7 @@ enum marker_e{
MARKER_D7_PINK_EGG_MEDIUM, MARKER_D7_PINK_EGG_MEDIUM,
MARKER_D8_PINK_EGG_SMALL, MARKER_D8_PINK_EGG_SMALL,
MARKER_D9_PINK_EGG_SMALLEST, MARKER_D9_PINK_EGG_SMALLEST,
MARKER_DA_LEAFBOAT, MARKER_DA_LEAF_BOAT,
MARKER_DB_BURIED_TREASURE, MARKER_DB_BURIED_TREASURE,
MARKER_DC_BIG_ALLIGATOR, MARKER_DC_BIG_ALLIGATOR,
MARKER_DD_BLACK_SNIPPET, MARKER_DD_BLACK_SNIPPET,

View File

@@ -6,16 +6,16 @@
void func_8038FCB0(Actor *); void chLargeCrocodile_init(Actor *);
/* .data */ /* .data */
ActorInfo D_80390D70 = {MARKER_DC_BIG_ALLIGATOR, ACTOR_F6_BIG_ALLIGATOR, ASSET_397_MODEL_BIG_ALLIGATOR, 0x01, NULL, ActorInfo chLargeCrocodile = {MARKER_DC_BIG_ALLIGATOR, ACTOR_F6_BIG_ALLIGATOR, ASSET_397_MODEL_BIG_ALLIGATOR, 0x01, NULL,
func_8038FCB0, actor_update_func_80326224, actor_draw, chLargeCrocodile_init, actor_update_func_80326224, actor_draw,
0, 0, 0.0f, 0 0, 0, 0.0f, 0
}; };
/* .code */ /* .code */
void func_8038FCB0(Actor *this){ void chLargeCrocodile_init(Actor *this){
if(this->initialized) if(this->initialized)
return; return;
this->marker->propPtr->unk8_3 = 1; this->marker->propPtr->unk8_3 = 1;

View File

@@ -4,10 +4,10 @@
extern void timedFunc_set_0(f32, void (*)(void)); extern void timedFunc_set_0(f32, void (*)(void));
void func_8038EEA4(Actor *this); void chLongSwampSwitch_update(Actor *this);
void func_8038F06C(Actor *this); void chShortSwampSwitch_update(Actor *this);
ActorAnimationInfo D_80390B90[] = { ActorAnimationInfo chSwampSwitchAnimations[] = {
{0x00, 0.0f}, {0x00, 0.0f},
{0x00, 0.0f}, {0x00, 0.0f},
{ASSET_D4_ANIM_SWITCH_DOWN, 0.15f}, {ASSET_D4_ANIM_SWITCH_DOWN, 0.15f},
@@ -18,10 +18,10 @@ ActorAnimationInfo D_80390B90[] = {
{ASSET_D5_ANIM_SWITCH_UP, 0.5f}, {ASSET_D5_ANIM_SWITCH_UP, 0.5f},
{ASSET_D5_ANIM_SWITCH_UP, 1e+8f} {ASSET_D5_ANIM_SWITCH_UP, 1e+8f}
}; };
ActorInfo D_80390BD8 = {MARKER_F5_BGS_ELEVATED_WALKWAY_SWITCH, ACTOR_14E_BGS_ELEVATED_WALKWAY_SWITCH, ASSET_3F5_BGS_JIGGY_SWITCH, 1, D_80390B90, func_8038EEA4, actor_update_func_80326224, actor_draw, 0, 0, 0.0f, 0}; ActorInfo chLongSwampSwitch = {MARKER_F5_BGS_ELEVATED_WALKWAY_SWITCH, ACTOR_14E_BGS_ELEVATED_WALKWAY_SWITCH, ASSET_3F5_BGS_JIGGY_SWITCH, 1, chSwampSwitchAnimations, chLongSwampSwitch_update, actor_update_func_80326224, actor_draw, 0, 0, 0.0f, 0};
ActorInfo D_80390BFC = {MARKER_FD_BGS_MAZE_SWITCH, ACTOR_1FB_BGS_MAZE_SWITCH, ASSET_3F5_BGS_JIGGY_SWITCH, 1, D_80390B90, func_8038F06C, actor_update_func_80326224, actor_draw, 0, 0, 0.0f, 0}; ActorInfo chShortSwampSwitch = {MARKER_FD_BGS_MAZE_SWITCH, ACTOR_1FB_BGS_MAZE_SWITCH, ASSET_3F5_BGS_JIGGY_SWITCH, 1, chSwampSwitchAnimations, chShortSwampSwitch_update, actor_update_func_80326224, actor_draw, 0, 0, 0.0f, 0};
void func_8038EE50(void){ void chLongSwampSwitch_jiggySpawn(void){
f32 sp24[3]; f32 sp24[3];
if(nodeProp_findPositionFromActorId(0x14d, sp24)){ if(nodeProp_findPositionFromActorId(0x14d, sp24)){
@@ -34,7 +34,7 @@ void func_8038EE50(void){
} }
} }
void func_8038EEA4(Actor *this){ void chLongSwampSwitch_update(Actor *this){
func_8038EA90(); func_8038EA90();
if(mapSpecificFlags_get(7)){ if(mapSpecificFlags_get(7)){
mapSpecificFlags_set(7, 0); mapSpecificFlags_set(7, 0);
@@ -43,7 +43,7 @@ void func_8038EEA4(Actor *this){
} }
} }
if(!mapSpecificFlags_get(5)){ if(!mapSpecificFlags_get(5)){
func_802D4928(this, 1, 6, 7); func_802D4928(this, 1, 6, 7); //something with switch collision
} }
if(mapSpecificFlags_get(2)){ if(mapSpecificFlags_get(2)){
this->velocity_x = 0.0f; this->velocity_x = 0.0f;
@@ -55,16 +55,16 @@ void func_8038EEA4(Actor *this){
if( this->velocity_x == 0.0f && mapSpecificFlags_get(1)){ if( this->velocity_x == 0.0f && mapSpecificFlags_get(1)){
this->velocity_x = 1.0f; this->velocity_x = 1.0f;
func_802BAFE4(0xc); func_802BAFE4(0xc);
timedFunc_set_0(1.2f, func_8038EE50); timedFunc_set_0(1.2f, chLongSwampSwitch_jiggySpawn);
} //L8038EFB4 } //L8038EFB4
if( this->velocity_x != 0.0f && !mapSpecificFlags_get(3) && func_802BB270()){ if( this->velocity_x != 0.0f && !mapSpecificFlags_get(3) && func_802BB270()){
mapSpecificFlags_set(3,1); mapSpecificFlags_set(3,1);
func_802D68F0(45); func_802D68F0(45); //adjusts timer
item_set(ITEM_6_HOURGLASS,1); item_set(ITEM_6_HOURGLASS,1);
} //L8038EFB4 } //L8038EFB4
} }
void func_8038F018(void){ void chShortSwampSwitch_jiggySpawn(void){
f32 sp24[3]; f32 sp24[3];
if(nodeProp_findPositionFromActorId(0x1fc, sp24)){ if(nodeProp_findPositionFromActorId(0x1fc, sp24)){
@@ -77,7 +77,7 @@ void func_8038F018(void){
} }
} }
void func_8038F06C(Actor *this){ void chShortSwampSwitch_update(Actor *this){
func_8038EA90(); func_8038EA90();
if(mapSpecificFlags_get(8)){ if(mapSpecificFlags_get(8)){
mapSpecificFlags_set(8, 0); mapSpecificFlags_set(8, 0);
@@ -98,11 +98,11 @@ void func_8038F06C(Actor *this){
if( this->velocity_x == 0.0f && mapSpecificFlags_get(0xA)){ if( this->velocity_x == 0.0f && mapSpecificFlags_get(0xA)){
this->velocity_x = 1.0f; this->velocity_x = 1.0f;
func_802BAFE4(0x1D); func_802BAFE4(0x1D);
timedFunc_set_0(1.2f, func_8038F018); timedFunc_set_0(1.2f, chShortSwampSwitch_jiggySpawn);
} //L8038EFB4 } //L8038EFB4
if( this->velocity_x != 0.0f && !mapSpecificFlags_get(0xC) && func_802BB270()){ if( this->velocity_x != 0.0f && !mapSpecificFlags_get(0xC) && func_802BB270()){
mapSpecificFlags_set(0xC,1); mapSpecificFlags_set(0xC,1);
func_802D68F0(10); func_802D68F0(10); //adjusts timer
item_set(ITEM_6_HOURGLASS,1); item_set(ITEM_6_HOURGLASS,1);
} //L8038EFB4 } //L8038EFB4
} }

View File

@@ -90,10 +90,10 @@ void func_80387E68(ActorMarker *caller, enum asset_e text_id, s32 arg2){
this = marker_getActor(caller); this = marker_getActor(caller);
timed_playSfx(0.4f, SFX_C9_PAUSEMENU_ENTER, 1.0f, 32000); timed_playSfx(0.4f, SFX_C9_PAUSEMENU_ENTER, 1.0f, 32000);
timed_playSfx(1.4f, SFX_C9_PAUSEMENU_ENTER, 1.0f, 32000); timed_playSfx(1.4f, SFX_C9_PAUSEMENU_ENTER, 1.0f, 32000);
func_80324CFC(0.4f, COMUSIC_43_ENTER_LEVEL_GLITTER, 22000); func_80324CFC(0.4f, COMUSIC_43_ENTER_LEVEL_GLITTER, 22000);
func_80324D2C(4.5f, COMUSIC_43_ENTER_LEVEL_GLITTER); func_80324D2C(4.5f, COMUSIC_43_ENTER_LEVEL_GLITTER);
subaddie_set_state_with_direction(this, 5, 0.79f, 1); subaddie_set_state_with_direction(this, 5, 0.79f, 1);
func_80326310(this); func_80326310(this); //did not disappear when moved, after cutscene still there with collision but broken
bgs_D_803907B8[this->unkF4_8]->propPtr->unk8_4 = TRUE; bgs_D_803907B8[this->unkF4_8]->propPtr->unk8_4 = TRUE;
timedFunc_set_1(1.1f, (GenFunction_1)func_80387E00, reinterpret_cast(s32, bgs_D_803907B8[this->unkF4_8])); timedFunc_set_1(1.1f, (GenFunction_1)func_80387E00, reinterpret_cast(s32, bgs_D_803907B8[this->unkF4_8]));
timed_setStaticCameraToNode(0.8f, 9); timed_setStaticCameraToNode(0.8f, 9);

View File

@@ -15,22 +15,22 @@ typedef struct chleafboat_s{
f32 unk6C; f32 unk6C;
} ActorLocal_Leafboat; } ActorLocal_Leafboat;
void func_8038FD9C(Actor *this); void chLeafBoat_update(Actor *this);
Actor *func_8038FD10(ActorMarker *this, Gfx** gdl, Mtx** mtx, Vtx **Vtx); Actor *chLeafBoat_draw(ActorMarker *this, Gfx** gdl, Mtx** mtx, Vtx **Vtx);
/* .data section */ /* .data section */
u8 D_80390DA0[6] = {0, 0, 0, 1, 1, 1}; u8 D_80390DA0[6] = {0, 0, 0, 1, 1, 1};
ActorInfo D_80390DA8 = {MARKER_DA_LEAFBOAT, ACTOR_F1_LEAFBOAT, ASSET_30D_MODEL_LEAFBOAT, ActorInfo chLeafBoat = {MARKER_DA_LEAF_BOAT, ACTOR_F1_LEAF_BOAT, ASSET_30D_MODEL_LEAF_BOAT,
0x01, NULL, 0x01, NULL,
func_8038FD9C, func_8038FD9C, func_8038FD10, chLeafBoat_update, chLeafBoat_update, chLeafBoat_draw,
0, 0, 0.0f, 0 0, 0, 0.0f, 0
}; };
/* .code section */ /* .code section */
Actor *func_8038FD10(ActorMarker *this, Gfx** gdl, Mtx** mtx, Vtx **vtx){ Actor *chLeafBoat_draw(ActorMarker *this, Gfx** gdl, Mtx** mtx, Vtx **vtx){
Actor * thisActor; Actor * thisActor;
thisActor = marker_getActor(this); thisActor = marker_getActor(this);
@@ -44,7 +44,7 @@ void func_8038FD88(ActorMarker *this, ActorMarker *other){
this->unk3E_1 = 1; this->unk3E_1 = 1;
} }
void func_8038FD9C(Actor *this){ void chLeafBoat_update(Actor *this){
f32 sp64[3]; f32 sp64[3];
f32 player_position[3]; f32 player_position[3];
ActorLocal_Leafboat *local; ActorLocal_Leafboat *local;

View File

@@ -12,16 +12,16 @@ Actor *spawnQueue_bundle_f32(u32,f32,f32,f32);
void subaddie_set_state(Actor *, u32); void subaddie_set_state(Actor *, u32);
/* local declarations */ /* local declarations */
Actor *chmudhut_draw(ActorMarker *this, Gfx** gdl, Mtx** mtx, Vtx **vtx); Actor *chMudHut_draw(ActorMarker *this, Gfx** gdl, Mtx** mtx, Vtx **vtx);
void func_8038EB4C(ActorMarker *); void chMudHut_spawnExplosion(ActorMarker *);
void chmudhut_update(Actor *this); void chMudHut_update(Actor *this);
/* .data section */ /* .data section */
ActorAnimationInfo D_80390B30[4] = { ActorAnimationInfo chMudHutAnimations[4] = {
{0, 0.0f}, {0, 0.0f},
{0, 0.0f}, {0, 0.0f},
{ASSET_4E_ANIM_MUDHUT_SMASH, 0.25f}, {ASSET_4E_ANIM_MUD_HUT_SMASH, 0.25f},
{ASSET_4E_ANIM_MUDHUT_SMASH, 1000000.0f} {ASSET_4E_ANIM_MUD_HUT_SMASH, 1000000.0f}
}; };
enum bundle_e D_80390B50[6] = { enum bundle_e D_80390B50[6] = {
@@ -33,14 +33,14 @@ enum bundle_e D_80390B50[6] = {
BUNDLE_C_BGS_HUT_JIGGY BUNDLE_C_BGS_HUT_JIGGY
}; };
ActorInfo D_80390B68 = {MARKER_D5_BGS_MUD_HUT, ACTOR_C_MUD_HUT, ASSET_7D8_MODEL_MM_HUT_TOP, 0x01, D_80390B30, ActorInfo chMudHut = {MARKER_D5_BGS_MUD_HUT, ACTOR_C_MUD_HUT, ASSET_7D8_MODEL_MM_HUT_TOP, 0x01, chMudHutAnimations,
chmudhut_update, actor_update_func_80326224, chmudhut_draw, chMudHut_update, actor_update_func_80326224, chMudHut_draw,
0, 0, 0.0f, 0 0, 0, 0.0f, 0
}; };
/* .code section */ /* .code section */
void func_8038EA30(void){ void func_8038EA30(void){
if((getGameMode() != GAME_MODE_7_ATTRACT_DEMO) && (1.5 < player_stateTimer_get(2)) ){ if((getGameMode() != GAME_MODE_7_ATTRACT_DEMO) && (1.5 < player_stateTimer_get(STATE_TIMER_2_LONGLEG)) ){
player_stateTimer_set(STATE_TIMER_2_LONGLEG, 1.5); player_stateTimer_set(STATE_TIMER_2_LONGLEG, 1.5);
} }
} }
@@ -53,7 +53,7 @@ void func_8038EA90(void){
} }
} }
Actor *chmudhut_draw(ActorMarker *this, Gfx** gdl, Mtx** mtx, Vtx **vtx){ Actor *chMudHut_draw(ActorMarker *this, Gfx** gdl, Mtx** mtx, Vtx **vtx){
Actor *thisActor; Actor *thisActor;
thisActor = marker_getActor(this); thisActor = marker_getActor(this);
@@ -64,7 +64,7 @@ Actor *chmudhut_draw(ActorMarker *this, Gfx** gdl, Mtx** mtx, Vtx **vtx){
return actor_draw(this, gdl, mtx, vtx); return actor_draw(this, gdl, mtx, vtx);
} }
void func_8038EB4C(ActorMarker *this){ void chMudHut_spawnExplosion(ActorMarker *this){
Actor *thisActor; Actor *thisActor;
thisActor = marker_getActor(this); thisActor = marker_getActor(this);
@@ -73,7 +73,7 @@ void func_8038EB4C(ActorMarker *this){
if(this); if(this);
} }
void chmudhut_update(Actor *this){ void chMudHut_update(Actor *this){
f32 diffPos[3]; f32 diffPos[3];
f32 plyrPos[3]; f32 plyrPos[3];
@@ -110,7 +110,7 @@ void chmudhut_update(Actor *this){
if(tmp == 5){ if(tmp == 5){
func_8025A6EC(COMUSIC_2D_PUZZLE_SOLVED_FANFARE, 28000); func_8025A6EC(COMUSIC_2D_PUZZLE_SOLVED_FANFARE, 28000);
} }
__spawnQueue_add_1((GenFunction_1)func_8038EB4C, reinterpret_cast(s32, this->marker)); __spawnQueue_add_1((GenFunction_1)chMudHut_spawnExplosion, reinterpret_cast(s32, this->marker));
if (tmp < 5) { if (tmp < 5) {
__spawnQueue_add_4((GenFunction_4) spawnQueue_bundle_f32, D_80390B50[tmp], reinterpret_cast(s32, diffPos[0]), reinterpret_cast(s32, diffPos[1]), reinterpret_cast(s32, diffPos[2])); __spawnQueue_add_4((GenFunction_4) spawnQueue_bundle_f32, D_80390B50[tmp], reinterpret_cast(s32, diffPos[0]), reinterpret_cast(s32, diffPos[1]), reinterpret_cast(s32, diffPos[2]));

View File

@@ -7,9 +7,9 @@ typedef struct chpinkegg_s{
u32 unk4; u32 unk4;
} ActorLocal_PinkEgg; } ActorLocal_PinkEgg;
Actor *chpinkegg_draw(ActorMarker *this, Gfx ** gdl, Mtx** mptr, Vtx **vtx); Actor *chPinkEgg_draw(ActorMarker *this, Gfx ** gdl, Mtx** mptr, Vtx **vtx);
void chpinkegg_collision(ActorMarker *this, ActorMarker *other_marker); void chPinkEgg_collision(ActorMarker *this, ActorMarker *other_marker);
void chpinkegg_update(Actor *this); void chPinkEgg_update(Actor *this);
u32 D_803906C0 = 0x5B; u32 D_803906C0 = 0x5B;
enum actor_e D_803906C4[5] = { enum actor_e D_803906C4[5] = {
@@ -20,40 +20,40 @@ enum actor_e D_803906C4[5] = {
0x00 0x00
}; };
ActorAnimationInfo D_803906D8[4] = { ActorAnimationInfo chPinkEggAnimations[4] = {
{0, 0.0f}, {0, 0.0f},
{0, 0.0f}, {0, 0.0f},
{0, 0.0f}, {0, 0.0f},
{0x10B, 2.0f} {0x10B, 2.0f}
}; };
ActorInfo D_803906F8 = {MARKER_6E_PINK_EGG_LARGEST, ACTOR_5B_PINK_EGG_LARGEST, ASSET_380_MODEL_PINK_EGG_LARGEST, 0x01, D_803906D8, ActorInfo chPinkEggLargest = {MARKER_6E_PINK_EGG_LARGEST, ACTOR_5B_PINK_EGG_LARGEST, ASSET_380_MODEL_PINK_EGG_LARGEST, 0x01, chPinkEggAnimations,
chpinkegg_update, actor_update_func_80326224, chpinkegg_draw, chPinkEgg_update, actor_update_func_80326224, chPinkEgg_draw,
0, 0x2CC, 6.0f, 0 0, 0x2CC, 6.0f, 0
}; };
ActorInfo D_8039071C = {MARKER_D6_PINK_EGG_LARGE, ACTOR_ED_PINK_EGG_LARGE, ASSET_381_MODEL_PINK_EGG_LARGE, 0x01, D_803906D8, ActorInfo chPinkEggLarge = {MARKER_D6_PINK_EGG_LARGE, ACTOR_ED_PINK_EGG_LARGE, ASSET_381_MODEL_PINK_EGG_LARGE, 0x01, chPinkEggAnimations,
chpinkegg_update, actor_update_func_80326224, chpinkegg_draw, chPinkEgg_update, actor_update_func_80326224, chPinkEgg_draw,
0, 0x2CC, 5.0f, 0 0, 0x2CC, 5.0f, 0
}; };
ActorInfo D_80390740 = {MARKER_D7_PINK_EGG_MEDIUM, ACTOR_EE_PINK_EGG_MEDIUM, ASSET_382_MODEL_PINK_EGG_MEDIUM, 0x01, D_803906D8, ActorInfo chPinkEggMedium = {MARKER_D7_PINK_EGG_MEDIUM, ACTOR_EE_PINK_EGG_MEDIUM, ASSET_382_MODEL_PINK_EGG_MEDIUM, 0x01, chPinkEggAnimations,
chpinkegg_update, actor_update_func_80326224, chpinkegg_draw, chPinkEgg_update, actor_update_func_80326224, chPinkEgg_draw,
0, 0x2CC, 4.0f, 0 0, 0x2CC, 4.0f, 0
}; };
ActorInfo D_80390764 = {MARKER_D8_PINK_EGG_SMALL, ACTOR_EF_PINK_EGG_SMALL, ASSET_383_MODEL_PINK_EGG_SMALL, 0x01, D_803906D8, ActorInfo chPinkEggSmall = {MARKER_D8_PINK_EGG_SMALL, ACTOR_EF_PINK_EGG_SMALL, ASSET_383_MODEL_PINK_EGG_SMALL, 0x01, chPinkEggAnimations,
chpinkegg_update, actor_update_func_80326224, chpinkegg_draw, chPinkEgg_update, actor_update_func_80326224, chPinkEgg_draw,
0, 0x2CC, 3.0f, 0 0, 0x2CC, 3.0f, 0
}; };
ActorInfo D_80390788 = {MARKER_D9_PINK_EGG_SMALLEST, ACTOR_F0_PINK_EGG_SMALLEST, ASSET_384_MODEL_PINK_EGG_SMALLEST, 0x01, D_803906D8, ActorInfo chPinkEggSmallest = {MARKER_D9_PINK_EGG_SMALLEST, ACTOR_F0_PINK_EGG_SMALLEST, ASSET_384_MODEL_PINK_EGG_SMALLEST, 0x01, chPinkEggAnimations,
chpinkegg_update, actor_update_func_80326224, chpinkegg_draw, chPinkEgg_update, actor_update_func_80326224, chPinkEgg_draw,
0, 0x2CC, 2.0f, 0 0, 0x2CC, 2.0f, 0
}; };
/* .code */ /* .code */
void chpinkegg_spawn_next(ActorMarker * arg0, u32 arg1){ void chPinkEgg_spawnNext(ActorMarker * arg0, u32 arg1){
ActorLocal_PinkEgg *local; ActorLocal_PinkEgg *local;
Actor *actorPtr; Actor *actorPtr;
Actor *unkActor; Actor *unkActor;
@@ -67,7 +67,7 @@ void chpinkegg_spawn_next(ActorMarker * arg0, u32 arg1){
} }
Actor *chpinkegg_draw(ActorMarker *this, Gfx ** gdl, Mtx** mptr, Vtx **arg3){ Actor *chPinkEgg_draw(ActorMarker *this, Gfx ** gdl, Mtx** mptr, Vtx **arg3){
u32 sp18; u32 sp18;
u32 t7; u32 t7;
@@ -78,7 +78,7 @@ Actor *chpinkegg_draw(ActorMarker *this, Gfx ** gdl, Mtx** mptr, Vtx **arg3){
} }
void chpinkegg_collision(ActorMarker *this, ActorMarker *other_marker){ void chPinkEgg_collision(ActorMarker *this, ActorMarker *other_marker){
Actor *thisActor; Actor *thisActor;
ActorLocal_PinkEgg *tmp; ActorLocal_PinkEgg *tmp;
@@ -90,17 +90,17 @@ void chpinkegg_collision(ActorMarker *this, ActorMarker *other_marker){
this->collidable = FALSE; this->collidable = FALSE;
thisActor->unk124_6 = 0; thisActor->unk124_6 = 0;
if(D_803906C4[(tmp = (ActorLocal_PinkEgg *) &thisActor->local)->unk0] != 0){ if(D_803906C4[(tmp = (ActorLocal_PinkEgg *) &thisActor->local)->unk0] != 0){
__spawnQueue_add_2(chpinkegg_spawn_next, thisActor->marker, tmp->unk0); __spawnQueue_add_2(chPinkEgg_spawnNext, thisActor->marker, tmp->unk0);
} else { } else {
jiggy_spawn(JIGGY_21_BGS_PINKEGG, thisActor->position); jiggy_spawn(JIGGY_21_BGS_PINKEGG, thisActor->position);
func_8025A6EC(COMUSIC_2D_PUZZLE_SOLVED_FANFARE, 28000); func_8025A6EC(COMUSIC_2D_PUZZLE_SOLVED_FANFARE, 28000);
} }
} }
void chpinkegg_update(Actor *this){ void chPinkEgg_update(Actor *this){
if(!this->initialized){ if(!this->initialized){
this->marker->propPtr->unk8_3 = 1; this->marker->propPtr->unk8_3 = 1;
marker_setCollisionScripts(this->marker, NULL, NULL, chpinkegg_collision); marker_setCollisionScripts(this->marker, NULL, NULL, chPinkEgg_collision);
this->initialized = TRUE; this->initialized = TRUE;
} }

View File

@@ -28,7 +28,7 @@ ActorAnimationInfo BGS_D_80390C20[] = {
{0x107, 1.75f} {0x107, 1.75f}
}; };
ActorInfo D_80390C40 = {MARKER_6C_TANKTUP, ACTOR_E8_TANKTUP, ASSET_3EE_TANKTUP, 0x01, BGS_D_80390C20, ActorInfo chTanktup = {MARKER_6C_TANKTUP, ACTOR_E8_TANKTUP, ASSET_3EE_TANKTUP, 0x01, BGS_D_80390C20,
func_8038F6A4, actor_update_func_80326224, actor_draw, func_8038F6A4, actor_update_func_80326224, actor_draw,
0, 0x80, 0.0f, 0 0, 0x80, 0.0f, 0
}; };

View File

@@ -6,13 +6,13 @@
extern ActorInfo D_80390804; extern ActorInfo D_80390804;
extern ActorInfo D_80390690; extern ActorInfo D_80390690;
extern ActorInfo D_803906F8; extern ActorInfo chPinkEggLargest;
extern ActorInfo D_8039071C; extern ActorInfo chPinkEggLarge;
extern ActorInfo D_80390740; extern ActorInfo chPinkEggMedium;
extern ActorInfo D_80390764; extern ActorInfo chPinkEggSmall;
extern ActorInfo D_80390788; extern ActorInfo chPinkEggSmallest;
extern ActorInfo D_80390B68; extern ActorInfo chMudHut;
extern ActorInfo D_80390C40; extern ActorInfo chTanktup;
extern ActorInfo D_80390C88; extern ActorInfo D_80390C88;
extern ActorInfo D_80390CC8; extern ActorInfo D_80390CC8;
extern ActorInfo D_80390D08; extern ActorInfo D_80390D08;
@@ -29,21 +29,21 @@ extern ActorInfo chChoirTurtleBlue;
extern ActorInfo chChoirTurtleRed; extern ActorInfo chChoirTurtleRed;
extern ActorInfo chChoirTurtlePink; extern ActorInfo chChoirTurtlePink;
extern ActorInfo chChoirTurtlePurple; extern ActorInfo chChoirTurtlePurple;
extern ActorInfo D_80390DA8; extern ActorInfo chLeafBoat;
extern ActorInfo D_80390D70; extern ActorInfo chLargeCrocodile;
extern ActorInfo D_80390BD8; extern ActorInfo chLongSwampSwitch;
extern ActorInfo D_80390BFC; extern ActorInfo chShortSwampSwitch;
void BGS_func_8038F1E0(void){//bgs_updateSpawnableActors void BGS_func_8038F1E0(void){//bgs_updateSpawnableActors
spawnableActorList_add(&D_80390804, actor_new, ACTOR_FLAG_UNKNOWN_7 | ACTOR_FLAG_UNKNOWN_3);//croctus spawnableActorList_add(&D_80390804, actor_new, ACTOR_FLAG_UNKNOWN_7 | ACTOR_FLAG_UNKNOWN_3);//croctus
spawnableActorList_add(&D_80390690, actor_new, ACTOR_FLAG_UNKNOWN_25 | ACTOR_FLAG_UNKNOWN_16 | ACTOR_FLAG_UNKNOWN_11 | ACTOR_FLAG_UNKNOWN_7 | ACTOR_FLAG_UNKNOWN_5 | ACTOR_FLAG_UNKNOWN_0); //flibbit spawnableActorList_add(&D_80390690, actor_new, ACTOR_FLAG_UNKNOWN_25 | ACTOR_FLAG_UNKNOWN_16 | ACTOR_FLAG_UNKNOWN_11 | ACTOR_FLAG_UNKNOWN_7 | ACTOR_FLAG_UNKNOWN_5 | ACTOR_FLAG_UNKNOWN_0); //flibbit
spawnableActorList_add(&D_803906F8, actor_new, ACTOR_FLAG_UNKNOWN_10); //pink_egg_largest spawnableActorList_add(&chPinkEggLargest, actor_new, ACTOR_FLAG_UNKNOWN_10); //pink_egg_largest
spawnableActorList_add(&D_8039071C, actor_new, ACTOR_FLAG_UNKNOWN_10); //pink_egg_large spawnableActorList_add(&chPinkEggLarge, actor_new, ACTOR_FLAG_UNKNOWN_10); //pink_egg_large
spawnableActorList_add(&D_80390740, actor_new, ACTOR_FLAG_UNKNOWN_10); //pink_egg_medium spawnableActorList_add(&chPinkEggMedium, actor_new, ACTOR_FLAG_UNKNOWN_10); //pink_egg_medium
spawnableActorList_add(&D_80390764, actor_new, ACTOR_FLAG_UNKNOWN_10); //pink_egg_small spawnableActorList_add(&chPinkEggSmall, actor_new, ACTOR_FLAG_UNKNOWN_10); //pink_egg_small
spawnableActorList_add(&D_80390788, actor_new, ACTOR_FLAG_UNKNOWN_10); //pink_egg_smallest spawnableActorList_add(&chPinkEggSmallest, actor_new, ACTOR_FLAG_UNKNOWN_10); //pink_egg_smallest
spawnableActorList_add(&D_80390B68, actor_new, ACTOR_FLAG_NONE); //mudhut_top spawnableActorList_add(&chMudHut, actor_new, ACTOR_FLAG_NONE); //mudhut_top
spawnableActorList_add(&D_80390C40, actor_new, ACTOR_FLAG_UNKNOWN_26 | ACTOR_FLAG_UNKNOWN_10 | ACTOR_FLAG_UNKNOWN_8 | ACTOR_FLAG_UNKNOWN_6 | ACTOR_FLAG_UNKNOWN_3);//tanktup spawnableActorList_add(&chTanktup, actor_new, ACTOR_FLAG_UNKNOWN_26 | ACTOR_FLAG_UNKNOWN_10 | ACTOR_FLAG_UNKNOWN_8 | ACTOR_FLAG_UNKNOWN_6 | ACTOR_FLAG_UNKNOWN_3);//tanktup
spawnableActorList_add(&D_80390C88, actor_new, ACTOR_FLAG_UNKNOWN_26 | ACTOR_FLAG_UNKNOWN_10 | ACTOR_FLAG_UNKNOWN_5 | ACTOR_FLAG_UNKNOWN_3 | ACTOR_FLAG_UNKNOWN_2);//tanktup_leg spawnableActorList_add(&D_80390C88, actor_new, ACTOR_FLAG_UNKNOWN_26 | ACTOR_FLAG_UNKNOWN_10 | ACTOR_FLAG_UNKNOWN_5 | ACTOR_FLAG_UNKNOWN_3 | ACTOR_FLAG_UNKNOWN_2);//tanktup_leg
spawnableActorList_add(&D_80390CC8, actor_new, ACTOR_FLAG_UNKNOWN_26 | ACTOR_FLAG_UNKNOWN_10 | ACTOR_FLAG_UNKNOWN_5 | ACTOR_FLAG_UNKNOWN_3 | ACTOR_FLAG_UNKNOWN_2);//tanktup_leg spawnableActorList_add(&D_80390CC8, actor_new, ACTOR_FLAG_UNKNOWN_26 | ACTOR_FLAG_UNKNOWN_10 | ACTOR_FLAG_UNKNOWN_5 | ACTOR_FLAG_UNKNOWN_3 | ACTOR_FLAG_UNKNOWN_2);//tanktup_leg
spawnableActorList_add(&D_80390D08, actor_new, ACTOR_FLAG_UNKNOWN_26 | ACTOR_FLAG_UNKNOWN_10 | ACTOR_FLAG_UNKNOWN_5 | ACTOR_FLAG_UNKNOWN_3 | ACTOR_FLAG_UNKNOWN_2);//tanktup_leg spawnableActorList_add(&D_80390D08, actor_new, ACTOR_FLAG_UNKNOWN_26 | ACTOR_FLAG_UNKNOWN_10 | ACTOR_FLAG_UNKNOWN_5 | ACTOR_FLAG_UNKNOWN_3 | ACTOR_FLAG_UNKNOWN_2);//tanktup_leg
@@ -60,10 +60,10 @@ void BGS_func_8038F1E0(void){//bgs_updateSpawnableActors
spawnableActorList_add(&chChoirTurtleRed, actor_new, ACTOR_FLAG_UNKNOWN_11 | ACTOR_FLAG_UNKNOWN_8 | ACTOR_FLAG_UNKNOWN_7 | ACTOR_FLAG_UNKNOWN_5 | ACTOR_FLAG_UNKNOWN_3 ); //tiptup_chiorMember spawnableActorList_add(&chChoirTurtleRed, actor_new, ACTOR_FLAG_UNKNOWN_11 | ACTOR_FLAG_UNKNOWN_8 | ACTOR_FLAG_UNKNOWN_7 | ACTOR_FLAG_UNKNOWN_5 | ACTOR_FLAG_UNKNOWN_3 ); //tiptup_chiorMember
spawnableActorList_add(&chChoirTurtlePink, actor_new, ACTOR_FLAG_UNKNOWN_11 | ACTOR_FLAG_UNKNOWN_8 | ACTOR_FLAG_UNKNOWN_7 | ACTOR_FLAG_UNKNOWN_5 | ACTOR_FLAG_UNKNOWN_3 ); //tiptup_chiorMember spawnableActorList_add(&chChoirTurtlePink, actor_new, ACTOR_FLAG_UNKNOWN_11 | ACTOR_FLAG_UNKNOWN_8 | ACTOR_FLAG_UNKNOWN_7 | ACTOR_FLAG_UNKNOWN_5 | ACTOR_FLAG_UNKNOWN_3 ); //tiptup_chiorMember
spawnableActorList_add(&chChoirTurtlePurple, actor_new, ACTOR_FLAG_UNKNOWN_11 | ACTOR_FLAG_UNKNOWN_8 | ACTOR_FLAG_UNKNOWN_7 | ACTOR_FLAG_UNKNOWN_5 | ACTOR_FLAG_UNKNOWN_3 ); //tiptup_chiorMember spawnableActorList_add(&chChoirTurtlePurple, actor_new, ACTOR_FLAG_UNKNOWN_11 | ACTOR_FLAG_UNKNOWN_8 | ACTOR_FLAG_UNKNOWN_7 | ACTOR_FLAG_UNKNOWN_5 | ACTOR_FLAG_UNKNOWN_3 ); //tiptup_chiorMember
spawnableActorList_add(&D_80390DA8, actor_new, ACTOR_FLAG_UNKNOWN_14); //leafboat spawnableActorList_add(&chLeafBoat, actor_new, ACTOR_FLAG_UNKNOWN_14); //leafboat
spawnableActorList_add(&D_80390D70, actor_new, ACTOR_FLAG_UNKNOWN_10 | ACTOR_FLAG_UNKNOWN_8 | ACTOR_FLAG_UNKNOWN_7); //bigAlligator spawnableActorList_add(&chLargeCrocodile, actor_new, ACTOR_FLAG_UNKNOWN_10 | ACTOR_FLAG_UNKNOWN_8 | ACTOR_FLAG_UNKNOWN_7); //bigAlligator
spawnableActorList_add(&D_80390BD8, actor_new, ACTOR_FLAG_UNKNOWN_3); //green_jiggy_switch spawnableActorList_add(&chLongSwampSwitch, actor_new, ACTOR_FLAG_UNKNOWN_3); //green_jiggy_switch
spawnableActorList_add(&D_80390BFC, actor_new, ACTOR_FLAG_UNKNOWN_3); //green_jiggy_switch spawnableActorList_add(&chShortSwampSwitch, actor_new, ACTOR_FLAG_UNKNOWN_3); //green_jiggy_switch
} }

View File

@@ -26,8 +26,8 @@ enum chhut_state_e {
ActorAnimationInfo chhutAnimations[3] = { ActorAnimationInfo chhutAnimations[3] = {
{0, 0.0f}, {0, 0.0f},
{ASSET_4E_ANIM_MUDHUT_SMASH, 0.25f}, {ASSET_4E_ANIM_MUD_HUT_SMASH, 0.25f},
{ASSET_4E_ANIM_MUDHUT_SMASH, 1000000.0f} {ASSET_4E_ANIM_MUD_HUT_SMASH, 1000000.0f}
}; };
/* .code */ /* .code */

View File

@@ -34,7 +34,6 @@ void func_802D2DA0(Actor *this) {
for(i = 0; i < 3; i++){ for(i = 0; i < 3; i++){
sp70[i] = this->position[i] + randf()*2*this->unkF4_8 - ((i == 1)? 0: this->unkF4_8); sp70[i] = this->position[i] + randf()*2*this->unkF4_8 - ((i == 1)? 0: this->unkF4_8);
} }
particleEmitter_setSprite(pCtrl, ASSET_710_SPRITE_SPARKLE_PURPLE); particleEmitter_setSprite(pCtrl, ASSET_710_SPRITE_SPARKLE_PURPLE);
particleEmitter_setStartingFrameRange(pCtrl, 0, 0); particleEmitter_setStartingFrameRange(pCtrl, 0, 0);
particleEmitter_setPosition(pCtrl, sp70); particleEmitter_setPosition(pCtrl, sp70);