label FP files

This commit is contained in:
Banjo Kazooie
2023-01-31 17:32:35 -06:00
parent 2f858b790b
commit 96317e7239
29 changed files with 297 additions and 311 deletions

View File

@@ -45,40 +45,11 @@ ActorAnimationInfo D_80391C80[] = {
{0x150, 0.6f}
};
ActorInfo D_80391CE8 = { 0x97, ACTOR_C8_BOGGY_2, ASSET_38A_MODEL_BOGGY_1,
ActorInfo D_80391CE8 = { MARKER_97_BOGGY_2, ACTOR_C8_BOGGY_2, ASSET_38A_MODEL_BOGGY_1,
0x1, D_80391C80,
FP_func_80388F4C, func_803896FC, func_80388740,
0, 0, 1.4f, 0
};
f32 D_80391D0C[3] = {1842.0f, 658.0f, 5758.0f};
f32 D_80391D18[3] = {1463.0f, 635.0f, 5193.0f};
s32 D_80391D24[3] = {0xc8, 0xc8, 0xe6};
struct31s D_80391D30 = {
{0.2f, 0.4f},
{1.2f, 1.6f},
{0.0f, 0.001f},
{0.3f, 0.45f},
0.0f, 0.01f
};
struct42s D_80391D58 = {
{{-10.0f, 10.0f, -10.0f}, {10.0f, 240.0f, 10.0f}},
{{0.0f, 0.0f, 0.0f}, {0.0f, 20.0f, 0.0f}}
};
f32 D_80391D88[3] = { 1592.0f, 673.0f, 5895.0f};
f32 FP_D_80391D94[3] = {0.0f, 0.0f, 0.0f};
s32 D_80391DA0[3] = {0x5F5, 0x292, 0x1539};
s32 D_80391DAC[3] = {-0x11F8, 0x637, -0x1816};
Struct_FP_2350 D_80391DB8[7]={
{0x361, 0x35D},
{0x365, 0x35D},
{0x362, 0x360},
{0x366, 0x35D},
{0x37B, 0x35D},
{0x363, 0x35F},
{0x364, 0x35E}
};
/* .bss */
s32 D_80392F20[3];
@@ -117,6 +88,8 @@ Actor *func_80388740(ActorMarker *marker, Gfx **gfx, Mtx **mtx, Vtx **vtx){
}
void FP_func_803888E4(Actor *this){
static f32 D_80391D0C[3] = {1842.0f, 658.0f, 5758.0f};
static f32 D_80391D18[3] = {1463.0f, 635.0f, 5193.0f};
func_80328B8C(this, 0xC, 0.0001f, 1);
if(!jiggyscore_isSpawned(JIGGY_30_FP_BOGGY_2)){
if(mapSpecificFlags_get(5)){
@@ -255,6 +228,18 @@ void func_80388D70(ActorMarker *caller, enum asset_e text_id, s32 arg2){
}
void func_80388EE8(ParticleEmitter *pCtrl){
static s32 D_80391D24[3] = {0xc8, 0xc8, 0xe6};
static struct31s D_80391D30 = {
{0.2f, 0.4f},
{1.2f, 1.6f},
{0.0f, 0.001f},
{0.3f, 0.45f},
0.0f, 0.01f
};
static struct42s D_80391D58 = {
{{-10.0f, 10.0f, -10.0f}, {10.0f, 240.0f, 10.0f}}, /*position*/
{{0.0f, 0.0f, 0.0f}, {0.0f, 20.0f, 0.0f}} /*velocity*/
};
particleEmitter_setSprite(pCtrl, ASSET_700_SPRITE_DUST);
particleEmitter_setRGB(pCtrl, D_80391D24);
particleEmitter_setPositionAndVelocityRanges(pCtrl, &D_80391D58);
@@ -265,6 +250,8 @@ void func_80388EE8(ParticleEmitter *pCtrl){
void FP_func_80388F4C(Actor *this){}
void func_80388F54(ActorMarker *marker){
static f32 D_80391D88[3] = { 1592.0f, 673.0f, 5895.0f};
static f32 FP_D_80391D94[3] = {0.0f, 0.0f, 0.0f};
Actor *other = func_80328230(ACTOR_C8_BOGGY_2, D_80391D88, FP_D_80391D94);
func_80343DEC(other);
}
@@ -374,6 +361,17 @@ void func_803893E4(Actor *this, f32 arg1, u8 arg2){
}
void func_803895E0(void){
static s32 D_80391DA0[3] = {0x5F5, 0x292, 0x1539};
static s32 D_80391DAC[3] = {-0x11F8, 0x637, -0x1816};
static Struct_FP_2350 D_80391DB8[7]={
{0x361, 0x35D},
{0x365, 0x35D},
{0x362, 0x360},
{0x366, 0x35D},
{0x37B, 0x35D},
{0x363, 0x35F},
{0x364, 0x35E}
};
int i;
NodeProp *s0;
f32 sp64[3];

View File

@@ -2,26 +2,26 @@
#include "functions.h"
#include "variables.h"
Actor *func_803868C0(ActorMarker *marker, Gfx **gfx, Mtx **mtx, Vtx **vtx);
void func_80386AA4(Actor *this);
Actor *chRaceSled_draw(ActorMarker *marker, Gfx **gfx, Mtx **mtx, Vtx **vtx);
void chRaceSled_update(Actor *this);
/* .data */
ActorAnimationInfo FP_D_80391A40 []= {
ActorAnimationInfo chRaceSledAnimations []= {
{ ASSET_1A1_ANIM_SLED, 1.0f},
{ ASSET_1A1_ANIM_SLED, 1.0f},
{ ASSET_1A1_ANIM_SLED, 1.0f},
{ ASSET_1A1_ANIM_SLED, 1.0f}
};
ActorInfo FP_D_80391A60 = {
ActorInfo chRaceSled = {
MARKER_3C_RACE_SLED, ACTOR_182_RACE_SLED, ASSET_352_MODEL_SLED,
0x0, FP_D_80391A40,
func_80386AA4, NULL, func_803868C0,
0x0, chRaceSledAnimations,
chRaceSled_update, NULL, chRaceSled_draw,
1000, 0, 0.0f, 0
};
/* .code */
Actor *func_803868C0(ActorMarker *marker, Gfx **gfx, Mtx **mtx, Vtx **vtx){
Actor *chRaceSled_draw(ActorMarker *marker, Gfx **gfx, Mtx **mtx, Vtx **vtx){
Actor *this = marker_getActor(marker);
if(this->unk10_12 == FALSE){
return func_80325888(marker, gfx, mtx, vtx);
@@ -29,7 +29,7 @@ Actor *func_803868C0(ActorMarker *marker, Gfx **gfx, Mtx **mtx, Vtx **vtx){
return this;
}
void FP_func_80386920(Actor *this, s32 next_state){
void __chRaceSled_setState(Actor *this, s32 next_state){
if(this->state != 1 || next_state != 1){
func_80328A84(this, next_state);
switch(next_state){
@@ -49,7 +49,7 @@ void FP_func_80386920(Actor *this, s32 next_state){
}
}
void func_803869FC(ActorMarker *this_marker, ActorMarker *other_marker){
void __chRaceSled_touch(ActorMarker *this_marker, ActorMarker *other_marker){
Actor *this = marker_getActor(this_marker);
f32 plyr_pos[3];
@@ -60,33 +60,33 @@ void func_803869FC(ActorMarker *this_marker, ActorMarker *other_marker){
&& player_getTransformation() == TRANSFORM_4_WALRUS
&& func_8028F68C(BS_INTR_27_WALRUS_SLED, this->marker)
){
FP_func_80386920(this, 3); //start_race
__chRaceSled_setState(this, 3); //start_race
}
}
}
void func_80386AA4(Actor *this){
void chRaceSled_update(Actor *this){
s32 sp24;
if(!this->initialized){
this->initialized = TRUE;
marker_setCollisionScripts(this->marker, func_803869FC, NULL, NULL);
FP_func_80386920(this, 1);
marker_setCollisionScripts(this->marker, __chRaceSled_touch, NULL, NULL);
__chRaceSled_setState(this, 1);
}
sp24 = mapSpecificFlags_get(4);
if(sp24 == 0){
FP_func_80386920(this, 1);
__chRaceSled_setState(this, 1);
}
switch (this->state){
case 1://L80386B38
if(sp24){
FP_func_80386920(this, 2);
__chRaceSled_setState(this, 2);
}
break;
case 3://L80386B50
if(func_8028ECAC() != BSGROUP_C_WALRUS_SLED){
FP_func_80386920(this, 2);
__chRaceSled_setState(this, 2);
}
break;
}

View File

@@ -2,25 +2,25 @@
#include "functions.h"
#include "variables.h"
void func_803867BC(Actor *this);
void chScarfSled_update(Actor *this);
/* .data */
ActorAnimationInfo FP_D_803919F0[] ={
ActorAnimationInfo chScarfSledAnimations[] ={
{ASSET_1A1_ANIM_SLED, 1.0f},
{ASSET_1A1_ANIM_SLED, 1.0f},
{ASSET_1A1_ANIM_SLED, 1.0f},
{ASSET_1A1_ANIM_SLED, 1.0f}
};
ActorInfo FP_D_80391A10 = {
ActorInfo chScarfSled = {
MARKER_3B_SCARF_SLED, ACTOR_181_SCARF_SLED, ASSET_352_MODEL_SLED,
0, FP_D_803919F0,
NULL, func_803867BC, func_80325888,
0, chScarfSledAnimations,
NULL, chScarfSled_update, func_80325888,
1000, 0, 0.0f, 0
};
/* .code */
void FP_func_803863F0(Actor *this, s32 next_state){
void __chScarfSled_setState(Actor *this, s32 next_state){
func_80328A84(this, next_state);
if(next_state == 2){
@@ -40,17 +40,17 @@ void FP_func_803863F0(Actor *this, s32 next_state){
}
}
void func_803864F4(ActorMarker *this_marker, ActorMarker *other_marker){
void __chScarfSled_touch(ActorMarker *this_marker, ActorMarker *other_marker){
Actor * this = marker_getActor(this_marker);
if(this->state != 1) return;
if(player_getTransformation() != TRANSFORM_1_BANJO) return;
if(func_8028F68C(BS_INTR_27_BANJO_SLED, this->marker))
FP_func_803863F0(this, 2);
__chScarfSled_setState(this, 2);
}
void func_8038655C(Actor *this){
void __chScarfSled_func_8038655C(Actor *this){
int tmp_bool;
int tmp;
tmp_bool = (mlAbsF(this->position_y - this->velocity_y) < 100.0f);
@@ -71,7 +71,7 @@ void func_8038655C(Actor *this){
}
}
void func_80386630(Actor *this){
void __chScarfSled_func_80386630(Actor *this){
f32 sp7C[3];
f32 sp70[3];
f32 sp64[3];
@@ -79,7 +79,7 @@ void func_80386630(Actor *this){
func_80343DEC(this);
mapSpecificFlags_set(9, 1);
func_8038655C(this);
__chScarfSled_func_8038655C(this);
if(this->unk138_20){
this->yaw = 0.0f;
@@ -121,14 +121,14 @@ void func_80386630(Actor *this){
}//L803867AC
}
void func_803867BC(Actor *this){
void chScarfSled_update(Actor *this){
if(!this->initialized){
this->initialized = TRUE;
marker_setCollisionScripts(this->marker, func_803864F4, NULL, NULL);
marker_setCollisionScripts(this->marker, __chScarfSled_touch, NULL, NULL);
this->marker->propPtr->unk8_3 = TRUE;
this->unk10_12 = 0;
ml_vec3f_clear(this->velocity);
FP_func_803863F0(this, 1);
__chScarfSled_setState(this, 1);
}
if(!this->unk16C_4){
@@ -143,6 +143,6 @@ void func_803867BC(Actor *this){
this->velocity_y = func_80309724(this->position);
this->velocity_z = this->position_z;
if(this->state == 2){
func_80386630(this);
__chScarfSled_func_80386630(this);
}
}

View File

@@ -54,7 +54,7 @@ void FP_func_80386BEC(Actor *this){
actor_collisionOff(this);
func_8025A6EC(COMUSIC_2B_DING_B, 28000);
FUNC_8030E624(SFX_90_SWITCH_PRESS, 1.0f, 32000);
func_8038AB40();
fp_snowmanButtonGame_decRemaining();
particleEmitter_setRGB(pCtrl, D_80391B44);
particleEmitter_setSprite(pCtrl, ASSET_700_SPRITE_DUST);
particleEmitter_setPosition(pCtrl, plyr_pos);
@@ -84,7 +84,7 @@ void FP_func_80386CF8(Actor *this){
if(!this->unk16C_4){
this->unk16C_4 = TRUE;
if(this->state == 3){
func_8038AB40();
fp_snowmanButtonGame_decRemaining();
}
}

View File

@@ -23,97 +23,6 @@ ActorInfo D_803920E8 = { 0x204, 0x336, 0x442,
0, 0, 0.0f, 0
};
struct31s D_8039210C = {
{ 0.4f, 0.8f },
{-1.0f, -1.0f },
{ 0.0f, 0.02f},
{ 1.8f, 2.2f },
0.0f,
0.7f
};
struct43s D_80392134 = {
{{-200.0f, 200.0f, -200.0f}, {200.0f, 400.0f, 200.0f}},
{{ 0.0f, -800.0f, 0.0f}, { 0.0f, -800.0f, 0.0f}},
{{-100.0f, 0.0f, -100.0f}, {100.0f, 100.0f, 100.0f}}
};
struct31s D_8039217C = {
{0.8f, 1.2f },
{1.4f, 2.0f },
{0.0f, 0.01f},
{1.2f, 1.8f },
0.0f,
0.01f
};
s32 D_803921A4[3] = { 0xDC, 0xDC, 0xE6};
struct43s D_803921B0 = {
{{-200.0f, 0.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}}
};
struct31s D_803921F8 = {
{ 0.2f, 0.3f },
{-1.0f, -1.0f },
{ 0.0f, 0.02f},
{ 2.0f, 2.5f },
0.0f, 0.3f
};
struct43s D_80392220 = {
{{-300.0f, 400.0f, -300.0f}, {300.0f, 800.0f, 300.0f}},
{{ 0.0f, -800.0f, 0.0f}, { 0.0f, -800.0f, 0.0f}},
{{-80.0f, 80.0f, -80.0f}, {80.0f, 80.0f, 80.0f}}
};
struct31s D_80392268 ={
{ 0.4f, 0.6f },
{-1.0f, -1.0f },
{ 0.0f, 0.02f},
{ 2.0f, 2.5f },
0.0f,
0.3f
};
struct43s D_80392290 = {
{{-300.0f, 400.0f, -300.0f}, {300.0f, 800.0f, 300.0f}},
{{ 0.0f, -800.0f, 0.0f}, { 0.0f, -800.0f, 0.0f}},
{{-80.0f, 80.0f, -80.0f}, {80.0f, 80.0f, 80.0f}}
};
struct31s D_803922D8 = {
{0.5f, 0.7f },
{1.4f, 1.7f },
{0.0f, 0.01f},
{0.6f, 0.9f },
0.0f, 0.01f
};
s32 D_80392300[3] = { 0xDC, 0xDC, 0xE6};
struct43s D_8039230C = {
{{-100.0f, 0.0f, -100.0f}, {100.0f, 100.0f, 100.0f}},
{{0.0f, -10.0f, 0.0f}, {0.0f, -10.0f, 0.0f}},
{{-80.0f, 0.0f, -80.0f}, {50.0f, 200.0f, 80.0f}}
};
f32 D_80392354[3] = {-4165.0f, 73.0f, 4483.0f};
f32 D_80392360[3] = {-4292.0f, 73.0f, 5054.0f};
enum actor_e D_8039236C[4] = {
ACTOR_332_TWINKLY_BLUE,
ACTOR_333_TWINKLY_GREEN,
ACTOR_334_TWINKLY_ORANGE,
ACTOR_335_TWINKLY_RED,
};
f32 D_8039237C[3] = {-3940.0f, 69.0f, 3570.0f};
/* .code */
Actor *FP_func_8038CED0(ActorMarker *marker, Gfx **gfx, Mtx **mtx, Vtx **vtx){
Actor *this = marker_getActor(marker);
@@ -125,6 +34,19 @@ Actor *FP_func_8038CED0(ActorMarker *marker, Gfx **gfx, Mtx **mtx, Vtx **vtx){
}
void func_8038CF54(f32 position[3], s32 count, enum asset_e model_id){
static struct31s D_8039210C = {
{ 0.4f, 0.8f },
{-1.0f, -1.0f },
{ 0.0f, 0.02f},
{ 1.8f, 2.2f },
0.0f,
0.7f
};
static struct43s D_80392134 = {
{{-200.0f, 200.0f, -200.0f}, {200.0f, 400.0f, 200.0f}},
{{ 0.0f, -800.0f, 0.0f}, { 0.0f, -800.0f, 0.0f}},
{{-100.0f, 0.0f, -100.0f}, {100.0f, 100.0f, 100.0f}}
};
ParticleEmitter *pCtrl;
pCtrl = partEmitMgr_newEmitter(count);
@@ -142,6 +64,21 @@ void func_8038CF54(f32 position[3], s32 count, enum asset_e model_id){
}
void func_8038D01C(f32 position[3], s32 count, enum asset_e sprite_id){
static struct31s D_8039217C = {
{0.8f, 1.2f },
{1.4f, 2.0f },
{0.0f, 0.01f},
{1.2f, 1.8f },
0.0f,
0.01f
};
static s32 D_803921A4[3] = { 0xDC, 0xDC, 0xE6};
static struct43s D_803921B0 = {
{{-200.0f, 0.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}}
};
ParticleEmitter *pCtrl;
pCtrl = partEmitMgr_newEmitter(count);
@@ -154,6 +91,19 @@ void func_8038D01C(f32 position[3], s32 count, enum asset_e sprite_id){
}
void func_8038D0A8(f32 position[3], s32 count, enum asset_e model_id){
static struct31s D_803921F8 = {
{ 0.2f, 0.3f },
{-1.0f, -1.0f },
{ 0.0f, 0.02f},
{ 2.0f, 2.5f },
0.0f, 0.3f
};
static struct43s D_80392220 = {
{{-300.0f, 400.0f, -300.0f}, {300.0f, 800.0f, 300.0f}},
{{ 0.0f, -800.0f, 0.0f}, { 0.0f, -800.0f, 0.0f}},
{{-80.0f, 80.0f, -80.0f}, {80.0f, 80.0f, 80.0f}}
};
ParticleEmitter *pCtrl;
pCtrl = partEmitMgr_newEmitter(count);
@@ -171,6 +121,19 @@ void func_8038D0A8(f32 position[3], s32 count, enum asset_e model_id){
}
void func_8038D170(f32 position[3], s32 count, enum asset_e sprite_id){
static struct31s D_80392268 ={
{ 0.4f, 0.6f },
{-1.0f, -1.0f },
{ 0.0f, 0.02f},
{ 2.0f, 2.5f },
0.0f,
0.3f
};
static struct43s D_80392290 = {
{{-300.0f, 400.0f, -300.0f}, {300.0f, 800.0f, 300.0f}},
{{ 0.0f, -800.0f, 0.0f}, { 0.0f, -800.0f, 0.0f}},
{{-80.0f, 80.0f, -80.0f}, {80.0f, 80.0f, 80.0f}}
};
ParticleEmitter *pCtrl;
pCtrl = partEmitMgr_newEmitter(count);
@@ -184,6 +147,19 @@ void func_8038D170(f32 position[3], s32 count, enum asset_e sprite_id){
}
void func_8038D208(f32 position[3], s32 count, enum asset_e sprite_id){
static struct31s D_803922D8 = {
{0.5f, 0.7f },
{1.4f, 1.7f },
{0.0f, 0.01f},
{0.6f, 0.9f },
0.0f, 0.01f
};
static s32 D_80392300[3] = { 0xDC, 0xDC, 0xE6};
static struct43s D_8039230C = {
{{-100.0f, 0.0f, -100.0f}, {100.0f, 100.0f, 100.0f}},
{{0.0f, -10.0f, 0.0f}, {0.0f, -10.0f, 0.0f}},
{{-80.0f, 0.0f, -80.0f}, {50.0f, 200.0f, 80.0f}}
};
ParticleEmitter *pCtrl;
pCtrl = partEmitMgr_newEmitter(count);
@@ -227,6 +203,8 @@ void func_8038D3D8(void){
}
void func_8038D41C(ActorMarker *marker){
static f32 D_80392354[3] = {-4165.0f, 73.0f, 4483.0f};
static f32 D_80392360[3] = {-4292.0f, 73.0f, 5054.0f};
s32 pad[2];
ActorMarker *_marker = reinterpret_cast(ActorMarker *, marker);
Actor *actor;
@@ -239,6 +217,13 @@ void func_8038D41C(ActorMarker *marker){
}
void func_8038D474(ActorMarker *marker){
static enum actor_e D_8039236C[4] = {
ACTOR_332_TWINKLY_BLUE,
ACTOR_333_TWINKLY_GREEN,
ACTOR_334_TWINKLY_ORANGE,
ACTOR_335_TWINKLY_RED,
};
Actor *actor = marker_getActor(reinterpret_cast(ActorMarker*, marker));
Actor *child;
s32 pad;
@@ -266,6 +251,8 @@ void func_8038D51C(ActorMarker *marker){
}
void func_8038D5C8(ActorMarker *this_marker, ActorMarker *other_marker){
static f32 D_8039237C[3] = {-3940.0f, 69.0f, 3570.0f};
Actor *this = marker_getActor(this_marker);
if(this->state == 1 || this->state == 2){

View File

@@ -2,28 +2,27 @@
#include "functions.h"
#include "variables.h"
Actor *FP_func_80386E30(ActorMarker *marker, Gfx **gfx, Mtx **mtx, Vtx **vtx);
Actor *chXmasTree_draw(ActorMarker *marker, Gfx **gfx, Mtx **mtx, Vtx **vtx);
void chXmasTree_update(Actor *this);
/* .data */
ActorInfo D_80391B50 = {
ActorInfo chXmasTree = {
MARKER_BA_XMAS_TREE, ACTOR_15F_XMAS_TREE, ASSET_488_MODEL_XMAS_TREE,
0x1, NULL,
chXmasTree_update, func_80326224, FP_func_80386E30,
chXmasTree_update, func_80326224, chXmasTree_draw,
0, 0, 0.0f, 0
};
s32 chXmasTree_switch_spawn_position[3] = {-0x1220, 0x6A, 0x1945};
/* .code */
Actor *FP_func_80386E30(ActorMarker *marker, Gfx **gfx, Mtx **mtx, Vtx **vtx){
Actor *chXmasTree_draw(ActorMarker *marker, Gfx **gfx, Mtx **mtx, Vtx **vtx){
Actor *this = marker_getActor(marker);
func_8033A45C(5, this->unk38_31);
func_8033A45C(6, func_8031FF1C(0x13) && !func_8033A0F0(5));
return func_80325888(marker, gfx, mtx, vtx);
}
void func_80386EAC(Actor *this){
void __chXmasTree_free(Actor *this){
u8 tmp_a0;
item_set(ITEM_6_HOURGLASS, FALSE);
@@ -34,29 +33,30 @@ void func_80386EAC(Actor *this){
}
}
void FP_func_80386EF4(Actor *this, int arg1){
void __chXmasTree_80386EF4(Actor *this, int arg1){
this->unk38_31 = arg1;
mapSpecificFlags_set(0, this->unk38_31);
}
void func_80386F3C(void){
void __chXmasTree_80386F3C(void){
levelSpecificFlags_set(0x29, TRUE);
func_803228D8();
func_803204E4(0xe, 1);
func_802E4078(MAP_53_FP_CHRISTMAS_TREE, 1, 0);
}
void func_80386F84(Actor * this){
void __chXmasTree_80386F84(Actor * this){
func_80328A84(this, 2);
FP_func_80386EF4(this, 0);
__chXmasTree_80386EF4(this, 0);
}
void func_80386FB4(void){
void __chXmasTree_spawnSwitch(void){
static s32 chXmasTree_switch_spawn_position[3] = {-0x1220, 0x6A, 0x1945};
func_8032811C(ACTOR_338_XMAS_TREE_SWITCH, chXmasTree_switch_spawn_position, 350);
}
void FP_func_80386FE0(void *marker){
void __chXmasTree_spawnStar(void *marker){
Actor *this = marker_getActor(reinterpret_cast(ActorMarker *, marker));
Actor *child = spawn_child_actor(0x339, &this);
s32 pad;
@@ -65,22 +65,22 @@ void FP_func_80386FE0(void *marker){
child->position_z += 25.0f;
}
void func_80387038(Actor *this){
void __chXmasTree_80387038(Actor *this){
if(func_8030E3FC(this->unk44_31))
func_8030E394(this->unk44_31);
func_8030DBB4(this->unk44_31, randf2(0.9f, 1.1f));
func_8030E2C4(this->unk44_31);
}
void func_8038709C(Actor *this){
void __chXmasTree_8038709C(Actor *this){
if(this->state == 5){
if(!mapSpecificFlags_get(0))
func_80387038(this);
__chXmasTree_80387038(this);
return;
}
if(mapSpecificFlags_get(0) && !func_8030E3FC(this->unk44_31))
func_80387038(this);
__chXmasTree_80387038(this);
}
void chXmasTree_update(Actor *this){
@@ -91,32 +91,32 @@ void chXmasTree_update(Actor *this){
this->unk16C_4 = TRUE;
this->marker->propPtr->unk8_3 = TRUE;
this->marker->collidable = FALSE;
marker_setFreeMethod(this->marker, func_80386EAC);
marker_setFreeMethod(this->marker, __chXmasTree_free);
if(this->unk44_31 == 0){
this->unk44_31 = func_8030D90C();
sfxsource_setSfxId(this->unk44_31, SFX_415_UNKNOWN);
func_8030DD14(this->unk44_31, 3);
sfxsource_setSampleRate(this->unk44_31, 28000);
}
__spawnQueue_add_0(func_80386FB4);
__spawnQueue_add_1((GenMethod_1)FP_func_80386FE0, reinterpret_cast(s32, this->marker));
__spawnQueue_add_0(__chXmasTree_spawnSwitch);
__spawnQueue_add_1((GenMethod_1)__chXmasTree_spawnStar, reinterpret_cast(s32, this->marker));
if(func_8031FF1C(0x13)){
func_80386F84(this);
__chXmasTree_80386F84(this);
mapSpecificFlags_set(2, FALSE);
}
}
this->depth_mode = 1;
if(jiggyscore_isCollected(JIGGY_2F_FP_XMAS_TREE) || levelSpecificFlags_get(0x29)){
FP_func_80386EF4(this, 1);
__chXmasTree_80386EF4(this, 1);
return;
}
switch(this->state){
case 1: // L80387268
FP_func_80386EF4(this, 0);
__chXmasTree_80386EF4(this, 0);
if(func_8031FF1C(0x13)){
func_80386F84(this);
__chXmasTree_80386F84(this);
}
break;
@@ -133,15 +133,15 @@ void chXmasTree_update(Actor *this){
case 3: // L803872F0
if(0.0 <= this->unk60){
if( 1.8 < this->unk60){
FP_func_80386EF4(this, 0);
__chXmasTree_80386EF4(this, 0);
}
else if(this->unk60 < 0.2){//L80387340
FP_func_80386EF4(this, 1);
__chXmasTree_80386EF4(this, 1);
}
else{
if(randf() < 0.2){
FP_func_80386EF4(this, this->unk38_31 ^ 1);
func_8038709C(this);
__chXmasTree_80386EF4(this, this->unk38_31 ^ 1);
__chXmasTree_8038709C(this);
}
}//L803873AC
this->unk60 -= sp2C;
@@ -149,7 +149,7 @@ void chXmasTree_update(Actor *this){
else{//L803873BC
if(func_802BB270()){
func_80328A84(this, 4);
FP_func_80386EF4(this, 1);
__chXmasTree_80386EF4(this, 1);
item_set(ITEM_0_HOURGLASS_TIMER, 3600 - 1);
item_set(ITEM_6_HOURGLASS, TRUE);
@@ -160,7 +160,7 @@ void chXmasTree_update(Actor *this){
case 4: // L80387400
if(mapSpecificFlags_get(3)){
func_80328A84(this, 6);
FP_func_80386EF4(this, 1);
__chXmasTree_80386EF4(this, 1);
item_set(ITEM_6_HOURGLASS, FALSE);
tmp_a0 = this->unk44_31;
if(tmp_a0){
@@ -168,7 +168,7 @@ void chXmasTree_update(Actor *this){
this->unk44_31 = 0;
}
func_80324E38(0.0f, 3);
timedFunc_set_0(0.5f, func_80386F3C);
timedFunc_set_0(0.5f, __chXmasTree_80386F3C);
}
else{//L80387470
if(item_empty(ITEM_6_HOURGLASS)){
@@ -189,21 +189,21 @@ void chXmasTree_update(Actor *this){
case 5: // L803874EC
if(0.0 <= this->unk60){
if( 1.8 < this->unk60){
FP_func_80386EF4(this, 1);
__chXmasTree_80386EF4(this, 1);
}
else if(this->unk60 < 0.2){
FP_func_80386EF4(this, 0);
__chXmasTree_80386EF4(this, 0);
}
else{
if(randf() < 0.2){
FP_func_80386EF4(this, this->unk38_31 ^ 1);
func_8038709C(this);
__chXmasTree_80386EF4(this, this->unk38_31 ^ 1);
__chXmasTree_8038709C(this);
}
}
this->unk60 -= sp2C;
}
else{
func_80386F84(this);
__chXmasTree_80386F84(this);
}
break;
}

View File

@@ -7,10 +7,10 @@
extern ActorInfo D_80367FE0;
extern ActorInfo FP_D_80391A10;
extern ActorInfo FP_D_80391A60;
extern ActorInfo chScarfSled;
extern ActorInfo chRaceSled;
extern ActorInfo FP_D_80391AB0;
extern ActorInfo D_80391B50;
extern ActorInfo chXmasTree;
extern ActorInfo D_80391BB0;
extern ActorInfo D_80391C18;
extern ActorInfo D_80391C58;
@@ -168,14 +168,14 @@ void FP_func_80391324(void)
spawnableActorList_add(&D_80391FF4, actor_new, 0X2100C);
spawnableActorList_add(&D_803920E8, actor_new, 0X408);
spawnableActorList_add(&D_803923D0, actor_new, 0X100006C);
spawnableActorList_add(&D_80391B50, actor_new, 0X20400);
spawnableActorList_add(&chXmasTree, actor_new, 0X20400);
spawnableActorList_add(&D_80392420, actor_new, 4);
spawnableActorList_add(&D_80392470, actor_new, 0X444);
spawnableActorList_add(&D_803924B0, actor_new, 8);
spawnableActorList_add(&D_803924D4, actor_new, 8);
spawnableActorList_add(&D_803924F8, actor_new, 8);
spawnableActorList_add(&FP_D_80391A10, actor_new, 0);
spawnableActorList_add(&FP_D_80391A60, actor_new, 0X20);
spawnableActorList_add(&chScarfSled, actor_new, 0);
spawnableActorList_add(&chRaceSled, actor_new, 0X20);
spawnableActorList_add(&D_80392588, actor_new, 0X80108);
spawnableActorList_add(&D_80392628, actor_new, 0X44);
spawnableActorList_add(&D_80392690, actor_new, 0XA8);

View File

@@ -6,21 +6,21 @@
f32 D_80391EB0[3] = {-625.0f, 8840.0f, -111.0f};
/* .bss */
struct {
u8 unk0;
s32 unk4;
s32 unk8;
u8 state;
s32 remaining;
s32 total;
s32 unkC;
f32 spawn_pos[3];
u8 unk1C;
} D_80392F30;
/* .code */
void func_8038A7F0(void){
void fp_sirslushgame_init(void){
if( map_get() != MAP_27_FP_FREEZEEZY_PEAK
|| jiggyscore_isCollected(JIGGY_31_FP_SIR_SLUSH)
|| jiggyscore_isSpawned(JIGGY_31_FP_SIR_SLUSH)
){
D_80392F30.unk0 = 0;
D_80392F30.state = 0;
return;
}
@@ -28,23 +28,23 @@ void func_8038A7F0(void){
if(nodeProp_findPositionFromActorId(0x128, D_80392F30.spawn_pos)){
D_80392F30.unk1C = 1;
}
D_80392F30.unk0 = 1;
D_80392F30.unk4 = 0;
D_80392F30.unk8 = 0;
D_80392F30.state = 1;
D_80392F30.remaining = 0;
D_80392F30.total = 0;
}
void func_8038A888(void){}
void fp_sirslushgame_end(void){}
void func_8038A890(void){
switch(D_80392F30.unk0){
void fp_sirslushgame_update(void){
switch(D_80392F30.state){
case 0:
break;
case 1://L8038A8CC
if(D_80392F30.unk4) break;
if(!D_80392F30.unk8) break;
if(D_80392F30.remaining) break;
if(!D_80392F30.total) break;
D_80392F30.unk0 = 2;
D_80392F30.state = 2;
D_80392F30.unkC = 0;
break;
@@ -60,7 +60,7 @@ void func_8038A890(void){
reinterpret_cast(s32, D_80392F30.spawn_pos[2])
);
}
D_80392F30.unk0 = 3;
D_80392F30.state = 3;
}
else{
D_80392F30.unkC++;
@@ -72,11 +72,11 @@ void func_8038A890(void){
}
}
void func_8038A978(void){
D_80392F30.unk4--;
void fp_sirslushgame_decRemaining(void){
D_80392F30.remaining--;
}
void func_8038A990(void){
D_80392F30.unk8++;
D_80392F30.unk4++;
void fp_sirslushgame_incTotal(void){
D_80392F30.total++;
D_80392F30.remaining++;
}

View File

@@ -17,7 +17,7 @@ f32 D_80391EC0[3] ={-625.0f, 466.0f, -111.0f};
Struct_FP_45D0_0 D_80392F50;
/* .code */
void FP_func_8038A9C0(void){
void fp_snowmanButtonGame_init(void){
if( map_get() != MAP_27_FP_FREEZEEZY_PEAK
|| jiggyscore_isCollected(JIGGY_2D_FP_SNOWMAN_BUTTONS)
|| jiggyscore_isSpawned(JIGGY_2D_FP_SNOWMAN_BUTTONS)
@@ -34,9 +34,9 @@ void FP_func_8038A9C0(void){
D_80392F50.unk4 = 3;
}
void func_8038AA58(void){}
void fp_snowmanButtonGame_end(void){}
void func_8038AA60(void){
void fp_snowmanButtonGame_update(void){
switch(D_80392F50.unk0){
case 1:
if(D_80392F50.unk4 <= 0){
@@ -70,6 +70,6 @@ void func_8038AA60(void){
}
}
void func_8038AB40(void){
void fp_snowmanButtonGame_decRemaining(void){
D_80392F50.unk4--;
}

View File

@@ -4,7 +4,7 @@
/* .bss */
struct {
u8 unk0;
u8 state;
f32 unk4;
}GV_D_80391B00;
@@ -18,10 +18,10 @@ void func_80390880(void){
}
}
void func_803908C4(s32 arg0){
void __waterCtrl_setState(s32 arg0){
void *tmp_v0;
GV_D_80391B00.unk0 = arg0;
if(GV_D_80391B00.unk0 == 2){
GV_D_80391B00.state = arg0;
if(GV_D_80391B00.state == 2){
func_80324E38(0.0f, 3);
timed_setCameraToNode(0.0f, 0);
timedFunc_set_0(3.0f, func_80390880);
@@ -36,7 +36,7 @@ void func_803908C4(s32 arg0){
}
}
if(GV_D_80391B00.unk0 == 3){
if(GV_D_80391B00.state == 3){
levelSpecificFlags_set(6, TRUE);
func_803228D8();
func_803204E4(0xe, 1);
@@ -44,14 +44,14 @@ void func_803908C4(s32 arg0){
}
}
void func_803909EC(void){}
void gv_waterCtrl_end(void){}
void func_803909F4(void){
void gv_waterCtrl_init(void){
void *tmp_v0;
void *tmp_v0_2;
GV_D_80391B00.unk0 = 0;
GV_D_80391B00.state = 0;
if(map_get() != MAP_15_GV_WATER_PYRAMID) return;
if(jiggyscore_isCollected(JIGGY_42_GV_WATER_PYRAMID)){
@@ -65,23 +65,23 @@ void func_803909F4(void){
}
else{
GV_D_80391B00.unk4 = 0.0f;
func_803908C4(1);
__waterCtrl_setState(1);
}
}
void func_80390A94(void){
void gv_waterCtrl_update(void){
f32 time_delta;
void *tmp_v0;
time_delta = time_getDelta();
if(!GV_D_80391B00.unk0) return;
if(GV_D_80391B00.state == 0) return;
if(GV_D_80391B00.unk0 == 1){
if(GV_D_80391B00.state == 1){
if(0.0f < GV_D_80391B00.unk4){
GV_D_80391B00.unk4 -= time_delta;
if(GV_D_80391B00.unk4 <= 0.0f){
func_803908C4(2);
__waterCtrl_setState(2);
}
}
else{
@@ -91,7 +91,7 @@ void func_80390A94(void){
}
}//L80390B34
if(GV_D_80391B00.unk0 == 2){
if(GV_D_80391B00.state == 2){
tmp_v0 = func_8034C528(0x190);
if(tmp_v0 && func_8034DC78(tmp_v0) == 1){
func_8030E760(SFX_7F_HEAVYDOOR_SLAM, 0.8f, 0x7fd0);
@@ -100,6 +100,6 @@ void func_80390A94(void){
func_8034E264(tmp_v0, 2);
}
if(timedFuncQueue_is_empty())
func_803908C4(3);
__waterCtrl_setState(3);
}
}

View File

@@ -188,7 +188,7 @@ void __chSnowman_deathCallback(ActorMarker *marker, ActorMarker *other_marker){
__spawnQueue_add_1((GenMethod_1)__chSnowman_spawnHat, (s32)actor->marker);
if(map_get() == MAP_27_FP_FREEZEEZY_PEAK)
func_8038A978();
fp_sirslushgame_decRemaining();
__chSnowman_spawnSnowballParticles(actor->position, 0xC);
marker_despawn(actor->marker);
}
@@ -225,7 +225,7 @@ void chSnowman_update(Actor *this){
func_8032BC18(this);
if(map_get() == MAP_27_FP_FREEZEEZY_PEAK){
local->unk0 = actorArray_findActorFromActorId(0x336)->marker;
func_8038A990();
fp_sirslushgame_incTotal();
}
}//L802E21D8
if(map_get() == MAP_27_FP_FREEZEEZY_PEAK){

View File

@@ -316,7 +316,7 @@ void func_802E4048(s32 map, s32 exit, s32 transition){
}
//take me there
extern void func_802E4078(enum map_e map, s32 exit, s32 transition){
void func_802E4078(enum map_e map, s32 exit, s32 transition){
func_802E40D0(map, exit);
func_802E40E8(transition);
func_802E40C4(1);

View File

@@ -186,21 +186,21 @@ void func_80322A94(void){
func_8038FF60();
func_803900F8();
gv_matchingGame_reset(); //gv_matchingGame_reset
func_803909EC();
gv_waterCtrl_end();
}
void func_80322ACC(void){
func_8038FF68();
func_80390100();
gv_matchingGame_init(); //gv_matchingGame_init
func_803909F4();
gv_waterCtrl_init();
}
void __overlay_gv_update(void){
func_8038FFF4();
func_80390138();
gv_matchingGame_update(); //gv_matchingGame_update
func_80390A94();
gv_waterCtrl_update();
}
void func_80322B3C(s32 arg0, s32 arg1){ return; }
@@ -300,22 +300,22 @@ void func_80322D94(s32 arg0, s32 arg1){ return; }
void __overlay_fp_draw(Gfx **gfx, Mtx **mtx, Vtx **vtx){ return; }
void func_80322DB0(void){
func_8038A888();
func_8038AA58();
fp_sirslushgame_end();
fp_snowmanButtonGame_end();
func_8038B8A8();
func_8039195C();
}
void func_80322DE8(void){
func_8038A7F0();
FP_func_8038A9C0();
fp_sirslushgame_init();
fp_snowmanButtonGame_init();
func_8038B7A4();
func_803918C0();
}
void __overlay_fp_update(void){
func_8038A890();
func_8038AA60();
fp_sirslushgame_update();
fp_snowmanButtonGame_update();
func_8038B544();
func_80391994();
}