Docuement FP/ma/slalom.c (based on XBox debug strings).

This commit is contained in:
banjo.decomp
2024-10-20 01:57:17 -05:00
parent 297eb3db8b
commit 88082f3236
18 changed files with 675 additions and 657 deletions

View File

@@ -5,7 +5,7 @@
extern void func_8028E668(f32[3], f32, f32, f32);
extern Actor *func_80328230(enum actor_e id, f32 pos[3], f32 rot[3]);
extern NodeProp *cubeList_findNodePropByActorIdAndPosition_s32(enum actor_e, s32[3]);
extern f32 func_8038BE20(f32 arg0[3]);
extern f32 maSlalom_compareBoggyToPlayer(f32 arg0[3]);
typedef struct {
ParticleEmitter *unk0;
@@ -110,7 +110,7 @@ void FP_func_803888E4(Actor *this){
}
}//L80388A30
mapSpecificFlags_set(5, TRUE);
func_8038B9C8();
maSlalom_start();
}
void func_80388A50(Actor *this){
@@ -343,7 +343,7 @@ void func_803893E4(Actor *this, f32 arg1, u8 arg2){
this->unk4C += ((f32)D_80392F20[1] - this->position_y)*0.02;
}
else{
this->unk4C += ((f32)D_80392F20[1] - this->position_y)*0.03 + sp28*func_8038BE20(this->position);
this->unk4C += ((f32)D_80392F20[1] - this->position_y)*0.03 + sp28*maSlalom_compareBoggyToPlayer(this->position);
}
if(this->unk4C < sp30){
@@ -401,7 +401,7 @@ void func_803896FC(Actor *this){
f32 sp54;
s32 sp3C[6];
sp58 = func_8038BE20(this->position);
sp58 = maSlalom_compareBoggyToPlayer(this->position);
sp54 = time_getDelta();
controller_copyFaceButtons(0, sp3C);
@@ -421,7 +421,7 @@ void func_803896FC(Actor *this){
local->unkC = 0.0f;
local->unk10 = 0.0f;
local->unk8 = 1.0f;
func_8038B9B0(this->marker);
maSlalom_linkBoggy(this->marker);
this->unk38_31 = 0;
func_80388C88(this);
__spawnQueue_add_0(func_803895E0);
@@ -583,12 +583,12 @@ void func_803896FC(Actor *this){
if(this->unk38_31 == 2){
if(jiggyscore_isCollected(JIGGY_30_FP_BOGGY_2)){
__spawnQueue_add_1((GenFunction_1)func_80388F54, reinterpret_cast(s32, this->marker));
func_8038B9BC();
maSlalom_unlinkBoggy();
marker_despawn(this->marker);
}
}
else{
func_8038B9BC();
maSlalom_unlinkBoggy();
marker_despawn(this->marker);
}
@@ -597,13 +597,13 @@ void func_803896FC(Actor *this){
case 2: //L80389FDC
if(this->unk38_31 == 2){
if(jiggyscore_isCollected(JIGGY_2C_FP_BOGGY_3)){
func_8038B9BC();
maSlalom_unlinkBoggy();
marker_despawn(this->marker);
mapSpecificFlags_set(0xC, TRUE);
}
}
else{
func_8038B9BC();
maSlalom_unlinkBoggy();
marker_despawn(this->marker);
}
break;

View File

@@ -26,7 +26,7 @@ ActorInfo D_803920E8 = { 0x204, 0x336, 0x442,
/* .code */
Actor *FP_func_8038CED0(ActorMarker *marker, Gfx **gfx, Mtx **mtx, Vtx **vtx){
Actor *this = marker_getActor(marker);
if( func_8038BFA0() || fileProgressFlag_get(FILEPROG_13_COMPLETED_TWINKLIES_MINIGAME) ){
if( maSlalom_isActive() || fileProgressFlag_get(FILEPROG_13_COMPLETED_TWINKLIES_MINIGAME) ){
if(0.0f == this->velocity[1])
return this;
}
@@ -281,7 +281,7 @@ void func_8038D6C8(Actor *this){
sp24 = time_getDelta();
mapSpecificFlags_set(0xd, BOOL(this->state != 1 && this->state != 2));
if(func_8038BFA0() || fileProgressFlag_get(FILEPROG_13_COMPLETED_TWINKLIES_MINIGAME)){
if(maSlalom_isActive() || fileProgressFlag_get(FILEPROG_13_COMPLETED_TWINKLIES_MINIGAME)){
this->marker->propPtr->unk8_3 = FALSE;
actor_collisionOff(this);
func_8028F8F8(7, FALSE);

View File

@@ -41,7 +41,7 @@ f32 D_803925AC[3] = {-4026.0f, 800.0f, -4097.0f};
/* .code */
Actor *func_8038F210(ActorMarker *marker, Gfx **gfx, Mtx **mtx, Vtx **vtx){
Actor *this = marker_getActor(marker);
if(func_8038BFA0() || this->unk38_31)
if(maSlalom_isActive() || this->unk38_31)
return this;
return actor_draw(marker, gfx, mtx, vtx);
@@ -209,7 +209,7 @@ void FP_func_8038F7AC(Actor *this){
}
}//L8038F910
if(func_8038BFA0() || this->unk38_31 || !subaddie_playerIsWithinSphere(this, 3000)){
if(maSlalom_isActive() || this->unk38_31 || !subaddie_playerIsWithinSphere(this, 3000)){
actor_collisionOff(this);
return;
}

View File

@@ -31,7 +31,7 @@ ActorInfo D_80392628 = { MARKER_20C_WOZZAS_JIGGY, ACTOR_1F4_WOZZAS_JIGGY, ASSET_
/* .code */
Actor *func_8038FF00(ActorMarker *marker, Gfx **gfx, Mtx **mtx, Vtx **vtx){
Actor *this = marker_getActor(marker);
if(func_8038BFA0()) return this;
if(maSlalom_isActive()) return this;
return actor_draw(marker, gfx, mtx, vtx);
}
@@ -42,7 +42,7 @@ void func_8038FF54(Actor *this){
f32 sp40[3];
ParticleEmitter *sp3C;
if( func_8038BFA0() ) return;
if( maSlalom_isActive() ) return;
if( !subaddie_playerIsWithinSphere(this, 4500) ) return;
this->marker->propPtr->unk8_3 = FALSE;

View File

@@ -176,7 +176,7 @@ void chXmasTree_update(Actor *this){
subaddie_set_state(this, 5);
mapSpecificFlags_set(2, FALSE);
this->lifetime_value = 0.1f;
if(!func_8038BFA0()){
if(!maSlalom_isActive()){
if(!mapSpecificFlags_get(9) || mapSpecificFlags_get(1)){
func_8025A6EC(COMUSIC_3C_MINIGAME_LOSS, 28000);
func_802BAFE4(0x1a);