address variaty of compiler warnings and code documentation

This commit is contained in:
Banjo Kazooie
2022-12-03 01:30:35 -06:00
parent 263b5bab4e
commit 1c063c781c
211 changed files with 1341 additions and 1323 deletions

View File

@@ -2,13 +2,13 @@
#include "functions.h"
#include "variables.h"
extern void func_80328748(ActorAnimCtrl *, f32, f32);
extern void func_80328748(AnimCtrl *, f32, f32);
extern void func_8028F94C(s32, f32[3]);
extern void func_80324CFC(f32, enum comusic_e, s32);
extern void func_803289EC(Actor *, f32, s32);
extern void func_80326310(Actor *);
extern void actor_setOpacity(Actor *, s32);
extern void func_802C3D3C(void (*)(s32, s32), s32, s32);
extern void __spawnQueue_add_2(void (*)(s32, s32), s32, s32);
extern void func_802BAFE4(s32 arg0);
@@ -74,7 +74,7 @@ void func_80387E00(s32 arg0){
Actor * this = marker_getActor(marker);
func_803262E4(this);
func_802C3D3C(func_80387D18, reinterpret_cast(s32, marker), 0x1E);
__spawnQueue_add_2((GenMethod_2)func_80387D18, reinterpret_cast(s32, marker), 0x1E);
}
void func_80387E40(ActorMarker * arg0){
@@ -95,10 +95,10 @@ void func_80387E68(ActorMarker *caller, enum asset_e text_id, s32 arg2){
func_80328B8C(this, 5, 0.79f, 1);
func_80326310(this);
bgs_D_803907B8[this->unkF4_8]->propPtr->unk8_4 = TRUE;
timedFunc_set_1(1.1f, func_80387E00, bgs_D_803907B8[this->unkF4_8]);
timedFunc_set_1(1.1f, (GenMethod_1)func_80387E00, reinterpret_cast(s32, bgs_D_803907B8[this->unkF4_8]));
timed_setCameraToNode(0.8f, 9);
func_80324DBC(3.4f, 0xC87, 0xE, NULL, NULL, func_80387E68, NULL);
func_802C3D3C(&func_80387D18, this->marker, 0x46);
__spawnQueue_add_2((GenMethod_2) func_80387D18, reinterpret_cast(s32, this->marker), 0x46);
}
else{
func_80324E88(0.0f);
@@ -158,12 +158,12 @@ void func_80387FD4(Actor *this){
}
if (this->unkF4_8 < 5) {
bgs_D_803907B8[this->unkF4_8]->propPtr->unk8_4 = TRUE;
timedFunc_set_1(1.1f, (GenMethod_1)func_80387E00, bgs_D_803907B8[this->unkF4_8]);
timedFunc_set_1(1.1f, (GenMethod_1)func_80387E00, reinterpret_cast(s32, bgs_D_803907B8[this->unkF4_8]));
func_802BAFE4(D_803907B0[this->unkF4_8-1]);
} else {
timedFunc_set_1(0.8f, (GenMethod_1)func_80387D90, (s32) this->marker);
}
func_802C3D3C(&func_80387D18, this->marker, 0x46);
__spawnQueue_add_2((GenMethod_2)func_80387D18, reinterpret_cast(s32, this->marker), 0x46);
}
}
}//L80388348

View File

@@ -16,7 +16,7 @@ typedef struct chleafboat_s{
} ActorLocal_Leafboat;
void func_8038FD9C(Actor *this);
Actor *func_8038FD10(ActorMarker *this, Gfx** gdl, Mtx** mtx, u32 arg3);
Actor *func_8038FD10(ActorMarker *this, Gfx** gdl, Mtx** mtx, Vtx **Vtx);
/* .data section */
@@ -30,23 +30,23 @@ ActorInfo D_80390DA8 = {MARKER_DA_LEAFBOAT, ACTOR_F1_LEAFBOAT, ASSET_30D_MODEL_L
/* .code section */
Actor *func_8038FD10(ActorMarker *this, Gfx** gdl, Mtx** mtx, u32 arg3){
Actor *func_8038FD10(ActorMarker *this, Gfx** gdl, Mtx** mtx, Vtx **vtx){
Actor * thisActor;
thisActor = marker_getActor(this);
if((thisActor->unk1C_x != 0.0f) && (0x80 < thisActor->alpha_124_19)){
thisActor = func_80325888(this, gdl, mtx, arg3);
thisActor = func_80325888(this, gdl, mtx, vtx);
}
return thisActor;
}
void func_8038FD88(ActorMarker *this, u32 arg1){
void func_8038FD88(ActorMarker *this, ActorMarker *other){
this->unk3E_1 = 1;
}
void func_8038FD9C(Actor *this){
f32 sp64[3];
f32 sp58[3];
f32 player_position[3];
ActorLocal_Leafboat *local;
u8 tmp[6] = D_80390DA0;
f32 pad0;
@@ -152,13 +152,13 @@ void func_8038FD9C(Actor *this){
local->unk60[1] = this->yaw;
local->unk60[2] = this->roll;
this->unk60 += time_getDelta();
_player_getPosition(&sp58);
_player_getPosition(player_position);
if( func_80294660() == 0x100
&& func_8028F20C()
&& this->marker->unk3E_1
){
sp44 = local->unk54[0] - sp58[0];
sp40 = local->unk54[2] - sp58[2];
sp44 = local->unk54[0] - player_position[0];
sp40 = local->unk54[2] - player_position[2];
sp3C = cosf((local->unk60[1] * M_PI) / 180.0);
sp38 = sinf((local->unk60[1] * M_PI) / 180.0);
local->unkC[0] = -((sp44 * sp38) + (sp40 * sp3C)) / 8;

View File

@@ -108,13 +108,13 @@ void BGS_func_8038BBA0(Actor *this, s32 arg1){
if(arg1 == 103){
func_80335A24(this->unk148, 0x124, 0.1f, 0.5f); //0x124 = croc_munch
if(this->state == 4){
timed_playSfx(0.31f, SFX_4C_LIP_SMACK, 0.90f, 0x61A8);
timedFunc_set_1(0.31f, func_8038BB40, this->marker);
timed_playSfx(0.31f, SFX_4C_LIP_SMACK, 0.90f, 25000);
timedFunc_set_1(0.31f, (GenMethod_1)func_8038BB40, reinterpret_cast(s32, this->marker));
}
else{
timed_playSfx(0.31f, SFX_4C_LIP_SMACK, 0.90f, 0x61A8);
timed_playSfx(0.81f, SFX_4C_LIP_SMACK, 0.93f, 0x61A8);
timed_playSfx(1.31f, SFX_4C_LIP_SMACK, 0.91f, 0x61A8);
timed_playSfx(0.31f, SFX_4C_LIP_SMACK, 0.90f, 25000);
timed_playSfx(0.81f, SFX_4C_LIP_SMACK, 0.93f, 25000);
timed_playSfx(1.31f, SFX_4C_LIP_SMACK, 0.91f, 25000);
}
}
if(arg1 == 104){
@@ -143,7 +143,7 @@ void func_8038BD84(Actor *this){
void func_8038BDD4(Actor *this) {
ActorLocal_MrVile *local;
f32 sp60[3];
f32 start_position[3];
f32 sp5C;
f32 sp58;
f32 sp54;
@@ -153,9 +153,9 @@ void func_8038BDD4(Actor *this) {
local = (ActorLocal_MrVile *)&this->local;
sp5C = time_getDelta();
sp60[0] = this->position[0];
sp60[1] = this->position[1];
sp60[2] = this->position[2];
start_position[0] = this->position[0];
start_position[1] = this->position[1];
start_position[2] = this->position[2];
func_8025773C(&local->unk14, sp5C);
if ((local->unkC == 102) || (local->unkC == 103) || (local->unkC == 104)) {
sp44[0] = 0.0f;
@@ -191,7 +191,7 @@ void func_8038BDD4(Actor *this) {
}
}
if (this->position[1] > 100.0f) {
func_8038B9F0(&sp60, this->position, 90.0f, 70.0f, 0);
func_8038B9F0(start_position, this->position, 90.0f, 70.0f, 0);
}
}
@@ -228,7 +228,7 @@ void func_8038C0C8(Actor * this, s32 next_state){
Actor *chvile_draw(ActorMarker *marker, Gfx **gfx, Mtx** mtx, Vtx **vtx){
Actor *this;
ActorLocal_MrVile *local;
f32 sp34[3];
f32 position[3];
this = func_80325888(marker, gfx, mtx, vtx);
@@ -238,10 +238,10 @@ Actor *chvile_draw(ActorMarker *marker, Gfx **gfx, Mtx** mtx, Vtx **vtx){
(local->unk14 > 0.0f)
&& (this->marker->unk14_21)
) {
func_8034A174(func_80329934(), 5, &sp34);
sp34[1] -= 30.0f;
func_8034A174(func_80329934(), 5, position);
position[1] -= 30.0f;
modelRender_setDepthMode(MODEL_RENDER_DEPTH_FULL);
modelRender_draw(gfx, mtx, &sp34, 0, local->unk14, 0, local->unk4);
modelRender_draw(gfx, mtx, position, 0, local->unk14, 0, local->unk4);
}
return this;
}
@@ -323,12 +323,10 @@ void BGS_func_8038C460(ActorMarker *arg0){
}
void chvile_update(Actor *this) {
ActorLocal_MrVile *local;
bool var_v1;
f32 sp94;
f32 player_position[3];
f32 sp90;
f32 temp_a0;
f32 temp_f0;
bool var_v1;
f32 sp84;
f32 sp80;
f32 sp7C;
@@ -337,8 +335,8 @@ void chvile_update(Actor *this) {
f32 sp70;
f32 sp6C;
f32 sp68;
f32 sp50;
f32 sp58[3];
ActorLocal_MrVile *local;
f32 random_position[3];
local = (ActorLocal_MrVile *)&this->local;
if (!this->unk16C_4) {
@@ -352,17 +350,17 @@ void chvile_update(Actor *this) {
return;
}
if (local->game_marker == NULL) {
local->game_marker = func_80326D68(this->position, 0x138, -1, &sp90)->marker;
local->game_marker = actorArray_findClosestActorFromActorId(this->position, 0x138, -1, &sp90)->marker;
}
player_getPosition(&sp94);
sp90 = ml_vec3f_distance(this->position, &sp94);
player_getPosition(player_position);
sp90 = ml_vec3f_distance(this->position, player_position);
if (sp90 <= 300.0f) {
local->unk0 = (local->unk0 == 0) ? 1 : 2;
} else if (sp90 > 300.0f) {
local->unk0 = 0U;
}
if (this->state == 2) {
func_80258A4C(this->position, this->yaw - 90.0f, &sp94, &sp84, &sp80, &sp7C);
func_80258A4C(this->position, this->yaw - 90.0f, player_position, &sp84, &sp80, &sp7C);
if (((sp84 > 50.0f) && (0.05 < sp7C)) || (sp7C < -0.05)) {
this->yaw += sp7C * 20.0f;
} else {
@@ -432,15 +430,15 @@ void chvile_update(Actor *this) {
}
if ((this->state == 6)){
local->unk10 = 400.0f;
if((ml_vec3f_distance(this->position, local->target_position) < 100.0f) || (ml_vec3f_distance(&sp94, local->target_position) < 300.0f)) {
if((ml_vec3f_distance(this->position, local->target_position) < 100.0f) || (ml_vec3f_distance(player_position, local->target_position) < 300.0f)) {
for(i = 0; i < 10; i++){
sp58[0] = randf2(-500.0f, 500.0f);
sp58[1] = 0.0f;
sp58[2] = randf2(-500.0f, 500.0f);
if ((i == 0) || (ml_vec3f_distance(&sp94, &sp58) > ml_vec3f_distance(&sp94, local->target_position))) {
local->target_position[0] = sp58[0];
local->target_position[1] = sp58[1];
local->target_position[2] = sp58[2];
random_position[0] = randf2(-500.0f, 500.0f);
random_position[1] = 0.0f;
random_position[2] = randf2(-500.0f, 500.0f);
if ((i == 0) || (ml_vec3f_distance(player_position, random_position) > ml_vec3f_distance(player_position, local->target_position))) {
local->target_position[0] = random_position[0];
local->target_position[1] = random_position[1];
local->target_position[2] = random_position[2];
}
};
}

View File

@@ -9,7 +9,7 @@ void func_80324E88(f32);
void timedFunc_set_2(f32, void(*)(s32, s32), s32, s32);
void func_8028E668(f32[3], f32, f32, f32);
extern void func_802C3E10(void(*arg0)(void), ActorMarker *, s32, s32);
extern void __spawnQueue_add_3(GenMethod_3, s32, s32, s32);
void func_8038F6A4(Actor *);
@@ -18,7 +18,7 @@ enum chtanktup_leg_e {
TANKTUP_LEG_FRONT_LEFT,
TANKTUP_LEG_BACK_LEFT,
TANKTUP_LEG_FRONT_RIGHT,
TANKTUP_LEG_BACK_RIGHT,
TANKTUP_LEG_BACK_RIGHT
};
ActorAnimationInfo BGS_D_80390C20[] = {
@@ -53,7 +53,7 @@ void func_8038F470(ActorMarker *this, s32 arg1, enum chtanktup_leg_e leg_id){
void func_8038F51C(Actor *this){
Actor * spawnPtr;
spawnPtr = func_80326D68(this->position, ACTOR_E8_TANKTUP, -1, 0);
spawnPtr = actorArray_findClosestActorFromActorId(this->position, ACTOR_E8_TANKTUP, -1, 0);
spawnPtr->tanktup.unk0[this->unk10_12] = 1;
spawnPtr->tanktup.unk10 = 1;
}
@@ -65,26 +65,26 @@ s32 func_8038F570(s16 *arg0){
pos[0] = (f32)arg0[0];
pos[1] = (f32)arg0[1];
pos[2] = (f32)arg0[2];
spawnPtr = func_80326D68(pos, ACTOR_E8_TANKTUP, -1, 0);
spawnPtr = actorArray_findClosestActorFromActorId(pos, ACTOR_E8_TANKTUP, -1, 0);
return spawnPtr->state == 3;
}
void func_8038F5E4(s32 arg0, s32 arg1, s32 arg2){
void func_8038F5E4(ActorMarker *marker, enum asset_e text_id, s32 arg2){
func_80324E88(0.0f);
}
void func_8038F610(Actor *this) {
f32 sp24[3];
func_8034A174(this->marker->unk44, 8, &sp24);
if (func_80258368(&sp24) != 0) {
func_8028E668(&sp24, 200.0f, -600.0f, 300.0f);
func_8034A174(this->marker->unk44, 8, sp24);
if (func_80258368(sp24) != 0) {
func_8028E668(sp24, 200.0f, -600.0f, 300.0f);
}
func_8034A174(this->marker->unk44, 7, &sp24);
if (func_80258368(&sp24) != 0) {
func_8028E668(&sp24, 200.0f, -600.0f, 200.0f);
func_8034A174(this->marker->unk44, 7, sp24);
if (func_80258368(sp24) != 0) {
func_8028E668(sp24, 200.0f, -600.0f, 200.0f);
}
}
@@ -97,7 +97,7 @@ void func_8038F6A4(Actor *this)
ActorLocal_TanktupBody *local = (ActorLocal_TanktupBody *) (&this->local);
f32 sp48[3];
s32 sp44;
Prop *temp_v0;
NodeProp *temp_v0;
if (!this->initialized)
{
temp_v0 = func_80304C38(ACTOR_32B_UNKNOWN, this);
@@ -124,7 +124,7 @@ void func_8038F6A4(Actor *this)
{
if (local->unk0[sp44] == 0)
{
func_802C3E10(func_8038F470, *((s32 *) (&this->marker)), local->unk0[sp44], sp44);
__spawnQueue_add_3((GenMethod_3)func_8038F470, *((s32 *) (&this->marker)), local->unk0[sp44], sp44);
}
}

View File

@@ -6,13 +6,14 @@
extern void func_803253A0(Actor *);
extern void func_80325794(ActorMarker *);
extern f32 randf (void);
extern BKModelBin *chvilegame_get_grumblie_model(ActorMarker *marker);
enum chyumblie_state_e{
YUMBLIE_STATE_1_UNDER_GROUND = 1,
YUMBLIE_STATE_2_APPEAR,
YUMBLIE_STATE_3_ABOVE_GROUND,
YUMBLIE_STATE_4_DISAPPEAR,
YUMBLIE_STATE_5_BEING_EATEN,
YUMBLIE_STATE_5_BEING_EATEN
};
typedef struct chyumblie_s{
@@ -157,7 +158,7 @@ void chyumblie_update(Actor *this){
}
if(s0->game_marker == NULL){
s0->game_marker = func_80326D68(this->position, ACTOR_138_VILE_GAME_CTRL, -1, &sp48)->marker;
s0->game_marker = actorArray_findClosestActorFromActorId(this->position, ACTOR_138_VILE_GAME_CTRL, -1, &sp48)->marker;
}
sp50 = func_80335684(this->unk148);
if(this->state == YUMBLIE_STATE_1_UNDER_GROUND){

View File

@@ -43,7 +43,7 @@ void func_80389488(Actor *this, s32 next_state) {
if (next_state == 3) {
func_8030E6A4(SFX_86_TIPTUP_CHORUS_AH, local->unk8, 0x7FFF);
func_80335924(this->unk148, ASSET_12F_ANIM_CHOIR_TURTLE_HURT, 0.1f, 1.75f);
func_80335800(this->unk148, 0.9f, func_80389420, (s32)this->marker);
func_80335800(this->unk148, 0.9f, func_80389420, this->marker);
if (local->tiptup_marker != NULL) {
func_80388E94(local->tiptup_marker, local->unk0);
}
@@ -88,7 +88,7 @@ void func_80389668(Actor *this) {
local->unkC++;
if (local->unkC == 2) {
tiptup = func_80326D68(this->position, ACTOR_27A_TIPTUP, -1, &sp30);
tiptup = actorArray_findClosestActorFromActorId(this->position, ACTOR_27A_TIPTUP, -1, &sp30);
local->tiptup_marker = (tiptup != NULL) ? tiptup->marker : NULL;
if (local->tiptup_marker != NULL) {
func_80388FFC(local->tiptup_marker, &local->unk0, &local->unk8);

View File

@@ -228,7 +228,7 @@ void func_80389F08(ActorMarker *marker) {
this = marker_getActor(marker);
local = (ActorLocal_BGS_3420 *)&this->local;
BGS_func_80389850(this, 0);
var_s2 = func_80326F58(0x49);
var_s2 = actorArray_actorCount(ACTOR_49_EXTRA_LIFE);
vile = marker_getActor(local->vile_marker);
if (var_s2 > 0) {
func_8025A6EC(COMUSIC_15_EXTRA_LIFE_COLLECTED, 0x7FF8);
@@ -305,7 +305,7 @@ void func_8038A068(Actor *this, s32 next_state) {
mapSpecificFlags_set(6, TRUE);
func_8038C3DC(local->vile_marker);
func_8025A58C(0, 4000);
timedFunc_set_2(1.0f, func_8025A6EC, COMUSIC_55_BGS_MR_VILE, 28000);
timedFunc_set_2(1.0f, (GenMethod_2)func_8025A6EC, COMUSIC_55_BGS_MR_VILE, 28000);
}
}
if (this->state == 5) {
@@ -321,29 +321,29 @@ void func_8038A068(Actor *this, s32 next_state) {
if (next_state == 6) {
func_8038C3B0(local->vile_marker);
func_80324E38(0.0f, 3);
timedFunc_set_2(1.0f, func_8025A6EC, COMUSIC_3C_MINIGAME_LOSS, 28000);
timedFunc_set_0(4.0f, func_8038A044);
timedFunc_set_1(4.0f, func_80389C58, (s32) this->marker);
timedFunc_set_2(1.0f, (GenMethod_2)func_8025A6EC, COMUSIC_3C_MINIGAME_LOSS, 28000);
timedFunc_set_0(4.0f, (GenMethod_0)func_8038A044);
timedFunc_set_1(4.0f, (GenMethod_1)func_80389C58, (s32) this->marker);
}
if (next_state == 8) {
func_8038C3B0(local->vile_marker);
func_80324E38(0.0f, 3);
timedFunc_set_2(1.0f, func_8025A6EC, COMUSIC_3B_MINIGAME_VICTORY, 28000);
timedFunc_set_0(3.0f, func_8038A044);
timedFunc_set_1(3.0f, func_80389D20, (s32) this->marker);
timedFunc_set_2(1.0f, (GenMethod_2)func_8025A6EC, COMUSIC_3B_MINIGAME_VICTORY, 28000);
timedFunc_set_0(3.0f, (GenMethod_0)func_8038A044);
timedFunc_set_1(3.0f, (GenMethod_1)func_80389D20, (s32) this->marker);
}
if (next_state == 9) {
func_8038C3B0(local->vile_marker);
func_80324E38(0.0f, 3);
timedFunc_set_2(1.0f, func_8025A6EC, COMUSIC_3B_MINIGAME_VICTORY, 28000);
timedFunc_set_0(3.0f, func_8038A044);
timedFunc_set_1(3.0f, func_80389E40, (s32) this->marker);
timedFunc_set_2(1.0f, (GenMethod_2)func_8025A6EC, COMUSIC_3B_MINIGAME_VICTORY, 28000);
timedFunc_set_0(3.0f, (GenMethod_0)func_8038A044);
timedFunc_set_1(3.0f, (GenMethod_1)func_80389E40, (s32) this->marker);
}
if (next_state == 0xA) {
func_8038C3B0(local->vile_marker);
func_80324E38(0.5f, 3);
timedFunc_set_2(1.0f, func_8025A6EC, COMUSIC_3B_MINIGAME_VICTORY, 28000);
timedFunc_set_1(3.0f, func_80389F08, (s32) this->marker);
timedFunc_set_2(1.0f, (GenMethod_2) func_8025A6EC, COMUSIC_3B_MINIGAME_VICTORY, 28000);
timedFunc_set_1(3.0f, (GenMethod_1) func_80389F08, (s32) this->marker);
}
if (next_state == 7) {
func_8038C384(local->vile_marker);
@@ -581,7 +581,7 @@ void chvilegame_update(Actor *this) {
return;
}
if (local->vile_marker == NULL) {
local->vile_marker = func_80326D68(this->position, 0x13A, -1, &sp4C)->marker;
local->vile_marker = actorArray_findClosestActorFromActorId(this->position, 0x13A, -1, &sp4C)->marker;
}
if (this->state == 1) {
if (func_803203FC(2)) {

View File

@@ -72,7 +72,7 @@ void BGS_func_8038FB84(ActorMarker *this, ActorMarker *other_marker){
thisActor = marker_getActor(this);
FUNC_8030E8B4( SFX_87_TANKTUP_OOOHW, 1.0f, 32750, thisActor->position, 1000, 3000);
timedFunc_set_2(0.65f, (TFQM2) func_8038FB40, (s32) this, (s32) other_marker);
timedFunc_set_2(0.65f, (GenMethod_2) func_8038FB40, (s32) this, (s32) other_marker);
func_8038F51C(thisActor);
this->collidable = 0;
}

View File

@@ -3,4 +3,4 @@
//TODO Implement CRC calculation in Makefile(?)
u32 D_80390B20 = 0x00282B61; //BGS.code CRC1
u32 D_80390B24 = 0xccdaeea0; //BGS.code CRC2
u32 D_80390B28 = 0x0002DE6B; //BGS.data CRC1 (with this value = 0)
u32 D_80390B28 = 0x0002DE6B; //BGS.data CRC1 (with this value = 0)

View File

@@ -72,11 +72,11 @@ void BGS_func_80388760(void){
func_8025A6EC(COMUSIC_2C_BUZZER, 28000);
}
void func_80388784(ActorMarker *this, s32 arg1, s32 arg2){
void func_80388784(ActorMarker *this, enum asset_e text_id, s32 arg2){
Actor *thisActor;
thisActor = marker_getActor(this);
switch(arg1){
switch(text_id){
case 0xc72:
case 0xc74:
BGS_func_803888E4(thisActor, 3);
@@ -167,8 +167,8 @@ void BGS_func_803888E4(Actor *this, s32 arg1){
for(; i < D_80390864[unqPtr->unkA]; i++){
tmpf += randf2(1.0f, 1.5f);
while((rand2 = randi2(1,7)) == prev_member);
timedFunc_set_2(tmpf, func_803886B4, this->marker, rand2);
timedFunc_set_2(tmpf + 0.1, func_803886B4, this->marker, 0);
timedFunc_set_2(tmpf, (GenMethod_2) func_803886B4, reinterpret_cast(s32, this->marker), rand2);
timedFunc_set_2(tmpf + 0.1, (GenMethod_2)func_803886B4, reinterpret_cast(s32, this->marker), 0);
prev_member = rand2;
}//L80388B7C
@@ -179,7 +179,7 @@ void BGS_func_803888E4(Actor *this, s32 arg1){
}
func_80324E38(sp54 = tmpf + 0.6, 0);
if(func_803203FC(2)){
timedFunc_set_1(sp54, func_803886F4, this->marker);
timedFunc_set_1(sp54, (GenMethod_1)func_803886F4, reinterpret_cast(s32, this->marker));
}else{
this->state = 0x05;
}
@@ -194,8 +194,8 @@ void BGS_func_803888E4(Actor *this, s32 arg1){
for(j = 0; j < vector_size(unqPtr->unk4); j++){
s1 = (Struct_BGS_2270_0s *)vector_at(unqPtr->unk4,j);
tmpf += randf2(1.0f, 1.5f);
timedFunc_set_2(tmpf, func_803886B4, this->marker, s1->unk0);
timedFunc_set_2(tmpf + 0.1, func_803886B4, this->marker, 0);
timedFunc_set_2(tmpf, (GenMethod_2)func_803886B4, reinterpret_cast(s32, this->marker), s1->unk0);
timedFunc_set_2(tmpf + 0.1, (GenMethod_2)func_803886B4, reinterpret_cast(s32, this->marker), 0);
}
func_80324E88(tmpf += 2.5);
func_80324E38(tmpf + 0.6,0);
@@ -238,7 +238,7 @@ void func_80388E94(ActorMarker *this, s32 arg1){
}else{
tmp = (Struct_BGS_2270_0s *)vector_at(unqPtr->unk4, unqPtr->unk0);
if(arg1 == tmp->unk0){
timedFunc_set_1(0.5f, func_80388848, thisActor->marker);
timedFunc_set_1(0.5f, (GenMethod_1)func_80388848, reinterpret_cast(s32, thisActor->marker));
}
else{
func_8028F55C(1, thisActor->marker);
@@ -271,7 +271,7 @@ void func_80388FFC(ActorMarker *this, s32 *arg1, f32* arg2){
}
void func_80389080(Actor *this){
f32 sp44[3];
f32 player_position[3];
ActorLocal_BGS_2270 *unqPtr;
f32 sp3C;
f32 sp38;
@@ -301,7 +301,7 @@ void func_80389080(Actor *this){
marker_despawn(this->marker);
}
else{
player_getPosition(&sp44);
player_getPosition(player_position);
if(func_8033567C(this->unk148) == ASSET_12C_ANIM_TIPTUP_TAPPING && func_80335794(this->unk148) > 0){
func_80335924(this->unk148, ASSET_12B_ANIM_TIPTUP_IDLE, 1.0f, 9.0f);
unqPtr->unkC = randf2(5.0f, 15.0f);
@@ -309,7 +309,7 @@ void func_80389080(Actor *this){
if(func_8025773C(&unqPtr->unkC, sp3C)){
func_80335924(this->unk148, ASSET_12C_ANIM_TIPTUP_TAPPING, 1.0f, 4.0f);
}
func_80258A4C(this->position, this->yaw - 90.0f, &sp44, &sp38, &sp34, &sp30);
func_80258A4C(this->position, this->yaw - 90.0f, player_position, &sp38, &sp34, &sp30);
this->yaw = this->yaw + 5.0f*sp30;
if(this->state == 1){
if(func_803203FC(2)){
@@ -319,7 +319,7 @@ void func_80389080(Actor *this){
}
}
else{
if(ml_vec3f_distance(this->position, &sp44) < 300.0f && player_getTransformation() == TRANSFORM_1_BANJO && !jiggyscore_isSpawned(JIGGY_27_BGS_TIPTUP)){
if(ml_vec3f_distance(this->position, player_position) < 300.0f && player_getTransformation() == TRANSFORM_1_BANJO && !jiggyscore_isSpawned(JIGGY_27_BGS_TIPTUP)){
BGS_func_803888E4(this, 2);
}
}
@@ -333,12 +333,12 @@ void func_80389080(Actor *this){
}
} //L80389370
else{
if(ml_vec3f_distance(this->position, &sp44) >= 300.0f)
if(ml_vec3f_distance(this->position, player_position) >= 300.0f)
BGS_func_803888E4(this, 1);
}
}//L803893A0
if(this->state == 6){
if(ml_vec3f_distance(this->position, &sp44) < 300.0f && !unqPtr->unk8){
if(ml_vec3f_distance(this->position, player_position) < 300.0f && !unqPtr->unk8){
unqPtr->unk8 = 1;
func_80311480(0xc7d, 4, 0, 0, 0, 0);
}

View File

@@ -3,35 +3,35 @@
#include "variables.h"
void func_8038CEE8(Actor *);
void func_8038CC08(Actor * arg0, u32 arg1);
void chfrogminigame_update(Actor *);
void chFrogMinigame_setState(Actor * arg0, u32 arg1);
void func_8025A58C(u32, u32);
void func_80324E88(f32);
ActorInfo BGS_D_80390AB0 = {MARKER_C4_YELLOW_FLIBBIT_CTRL, ACTOR_136_YELLOW_FLIBBIT_CONTROLLER, 0x00, 0x00, NULL,
func_8038CEE8, NULL, func_80325340,
chfrogminigame_update, NULL, func_80325340,
0, 0, 0.0f, 0
};
f32 D_80390AD4[3] = {1985.0f, 200.0f, -1386.0f};
/* .bss */
u8 D_80391240[4];
/* .code */
void BGS_func_8038CB20(void){
static void __chFrogMinigame_spawnJiggy(void){
static f32 D_80390AD4[3] = {1985.0f, 200.0f, -1386.0f};
jiggySpawn(JIGGY_24_BGS_FLIBBITS, D_80390AD4);
}
void func_8038CB48(ActorMarker *arg0, u32 arg1, u32 arg2){
Actor *actPtr = marker_getActor(arg0);
static void __chFrogMinigame_textCallback(ActorMarker *marker, enum asset_e text_id, s32 arg2){
Actor *actPtr = marker_getActor(marker);
mapSpecificFlags_set(0x10, 0);
if(actPtr->state == 4){
func_8038CC08(actPtr,5);
chFrogMinigame_setState(actPtr,5);
}
else{
func_8038CC08(actPtr,3);
chFrogMinigame_setState(actPtr,3);
}
}
@@ -45,7 +45,7 @@ void func_8038CBB4(Actor * arg0){
arg0->bgs_6730.unk4 = 0;
}
void func_8038CC08(Actor * arg0, u32 arg1){
void chFrogMinigame_setState(Actor * arg0, u32 arg1){
ActorLocal_BGS_6730 *s0;
s0 = &arg0->bgs_6730;
@@ -55,13 +55,13 @@ void func_8038CC08(Actor * arg0, u32 arg1){
mapSpecificFlags_set(0x10, 1);
if(!func_8031FF1C(0x1B)){
func_80320004(0x1B, 1);
func_80311480(text_flibbits_meet, 0xf, arg0->position, arg0->marker, func_8038CB48, 0);
func_80311480(text_flibbits_meet, 0xf, arg0->position, arg0->marker, __chFrogMinigame_textCallback, 0);
}else{
if(!arg0->bgs_6730.unk8){
func_80311480(text_flibbits_return, 0x4, arg0->position, arg0->marker, func_8038CB48, 0);
func_80311480(text_flibbits_return, 0x4, arg0->position, arg0->marker, __chFrogMinigame_textCallback, 0);
}
else{
func_8038CB48(arg0->marker, text_flibbits_return, 0);
__chFrogMinigame_textCallback(arg0->marker, text_flibbits_return, 0);
return;
}
}
@@ -92,12 +92,12 @@ void func_8038CC08(Actor * arg0, u32 arg1){
}
if(arg1 == 4){
func_80311480(text_flibbits_defeat, 0xf, arg0->position, arg0->marker, func_8038CB48, 0);
func_80311480(text_flibbits_defeat, 0xf, arg0->position, arg0->marker, __chFrogMinigame_textCallback, 0);
}
if(arg1 == 5){
func_80324E38(0.0f, 3);
timed_setCameraToNode(0.0f, 0x27);
timedFunc_set_0(0.2f, BGS_func_8038CB20);
timedFunc_set_0(0.2f, __chFrogMinigame_spawnJiggy);
func_80324E88(3.0f);
func_80324E38(3.0f, 0);
arg1 = 6;
@@ -125,18 +125,18 @@ void BGS_func_8038CED0(void){
D_80391240[3]++;
}
void func_8038CEE8(Actor *this){
f32 sp34[3];
void chfrogminigame_update(Actor *this){
f32 player_position[3];
u32 sp28;
ActorLocal_BGS_6730 *bgs6730;
ActorLocal_BGS_6730 *local;
bgs6730 = &this->bgs_6730;
local = &this->bgs_6730;
if(!this->unk16C_4){
this->unk16C_4 = 1;
bgs6730->unk0 = 0;
bgs6730->unk4 = 0;
bgs6730->unk8 = 0;
bgs6730->unkC = 0;
local->unk0 = 0;
local->unk4 = 0;
local->unk8 = 0;
local->unkC = 0;
D_80391240[0] = 0;
D_80391240[1] = 0;
D_80391240[2] = 0;
@@ -144,60 +144,60 @@ void func_8038CEE8(Actor *this){
mapSpecificFlags_set(0x12, 0);
mapSpecificFlags_set(0x10, 0);
if(jiggyscore_isSpawned(JIGGY_24_BGS_FLIBBITS)){
func_8038CC08(this,6);
chFrogMinigame_setState(this,6);
return;
}else{
func_8038CC08(this,1);
chFrogMinigame_setState(this,1);
return;
}
}
if(D_80391240[0]>0){
bgs6730->unk8 += D_80391240[0];
bgs6730->unkC -= D_80391240[0];
local->unk8 += D_80391240[0];
local->unkC -= D_80391240[0];
D_80391240[0] = 0;
}
if(D_80391240[1]>0){
bgs6730->unk8 -= D_80391240[1];
local->unk8 -= D_80391240[1];
D_80391240[1] = 0;
}
if(D_80391240[2]>0){
bgs6730->unk8 -= D_80391240[2];
bgs6730->unkC += D_80391240[2];
local->unk8 -= D_80391240[2];
local->unkC += D_80391240[2];
D_80391240[2] = 0;
}
if(D_80391240[3]>0){
bgs6730->unkC += D_80391240[3];
local->unkC += D_80391240[3];
D_80391240[3] = 0;
}
player_getPosition(&sp34);
sp28 = (sp34[1] < 500.0f) && (func_80329210(this,sp34) != 0);
player_getPosition(player_position);
sp28 = (player_position[1] < 500.0f) && (func_80329210(this, player_position) != 0);
if(this->state == 1){
if(sp28 && ((bgs6730->unk8 > 0) || (bgs6730->unkC > 0)) && !func_8028FB48(0xe000)){
func_8038CC08(this,2);
if(sp28 && ((local->unk8 > 0) || (local->unkC > 0)) && !func_8028FB48(0xe000)){
chFrogMinigame_setState(this,2);
}
else{
//L8038D0E0
if(bgs6730->unk4 && !bgs6730->unk8){
if(local->unk4 && !local->unk8){
func_8038CBB4(this);
}
}
}
if(this->state == 3){
if(!sp28){
func_8038CC08(this, 1);
chFrogMinigame_setState(this, 1);
}else{
if(bgs6730->unk8 < 2 && bgs6730->unkC > 0){
if(local->unk8 < 2 && local->unkC > 0){
mapSpecificFlags_set(0x12, 1);
}
}
}
if(this->state == 1 || this->state == 3){
if( (bgs6730->unk0)
if( (local->unk0)
&& !jiggyscore_isSpawned(JIGGY_24_BGS_FLIBBITS)
&& !bgs6730->unk8
&& !bgs6730->unkC
&& !local->unk8
&& !local->unkC
){
func_8038CC08(this, 4);
chFrogMinigame_setState(this, 4);
}
}
}

View File

@@ -26,7 +26,11 @@ void func_8038EE50(void){
if(func_80304E24(0x14d, sp24)){
jiggySpawn(JIGGY_20_BGS_ELEVATED_WALKWAY, sp24);
func_802C3F04(func_802C4140, ACTOR_4C_STEAM, *((u32 *) &sp24[0]), *((u32 *) &sp24[1]), *((u32 *) &sp24[2]));
__spawnQueue_add_4((GenMethod_4)func_802C4140, ACTOR_4C_STEAM,
reinterpret_cast(s32, sp24[0]),
reinterpret_cast(s32, sp24[1]),
reinterpret_cast(s32, sp24[2])
);
}
}
@@ -65,7 +69,11 @@ void func_8038F018(void){
if(func_80304E24(0x1fc, sp24)){
jiggySpawn(JIGGY_25_BGS_MAZE, sp24);
func_802C3F04(func_802C4140, ACTOR_4C_STEAM, *((u32 *) &sp24[0]), *((u32 *) &sp24[1]), *((u32 *) &sp24[2]));
__spawnQueue_add_4((GenMethod_4)func_802C4140, ACTOR_4C_STEAM,
reinterpret_cast(s32, sp24[0]),
reinterpret_cast(s32, sp24[1]),
reinterpret_cast(s32, sp24[2])
);
}
}

View File

@@ -9,9 +9,9 @@ void func_802C4218(u32,f32,f32,f32);
void func_80328A84(Actor *, u32);
/* local declarations */
Actor *func_8038EAD0(ActorMarker *this, Gfx** gdl, Mtx** mtx, u32 arg3);
Actor *chmudhut_draw(ActorMarker *this, Gfx** gdl, Mtx** mtx, Vtx **vtx);
void func_8038EB4C(ActorMarker *);
void func_8038EB8C(Actor *this);
void chmudhut_update(Actor *this);
/* .data section */
ActorAnimationInfo D_80390B30[4] = {
@@ -24,7 +24,7 @@ ActorAnimationInfo D_80390B30[4] = {
u32 D_80390B50[6] = {0xA, 0xA, 0xB, 0xA, 0xA, 0xC};
ActorInfo D_80390B68 = {MARKER_D5_BGS_MUD_HUT, ACTOR_C_MUD_HUT, ASSET_7D8_MODEL_MM_HUT_TOP, 0x01, D_80390B30,
func_8038EB8C, func_80326224, func_8038EAD0,
chmudhut_update, func_80326224, chmudhut_draw,
0, 0, 0.0f, 0
};
@@ -43,7 +43,7 @@ void func_8038EA90(void){
}
}
Actor *func_8038EAD0(ActorMarker *this, Gfx** gdl, Mtx** mtx, u32 arg3){
Actor *chmudhut_draw(ActorMarker *this, Gfx** gdl, Mtx** mtx, Vtx **vtx){
Actor *thisActor;
thisActor = marker_getActor(this);
@@ -51,7 +51,7 @@ Actor *func_8038EAD0(ActorMarker *this, Gfx** gdl, Mtx** mtx, u32 arg3){
if(thisActor->state == 3)
return thisActor;
return func_80325888(this, gdl, mtx, arg3);
return func_80325888(this, gdl, mtx, vtx);
}
void func_8038EB4C(ActorMarker *this){
@@ -63,7 +63,7 @@ void func_8038EB4C(ActorMarker *this){
if(this);
}
void func_8038EB8C(Actor *this){
void chmudhut_update(Actor *this){
f32 diffPos[3];
f32 plyrPos[3];
@@ -78,7 +78,7 @@ void func_8038EB8C(Actor *this){
switch(this->state){
case 1:
this->marker->propPtr->unk8_3 = 1;
player_getPosition(&plyrPos);
player_getPosition(plyrPos);
diffPos[0] = plyrPos[0] - this->position_x;
diffPos[1] = plyrPos[1] - this->position_y;
diffPos[2] = plyrPos[2] - this->position_z;
@@ -100,9 +100,13 @@ void func_8038EB8C(Actor *this){
if(tmp == 5){
func_8025A6EC(COMUSIC_2D_PUZZLE_SOLVED_FANFARE, 28000);
}
__spawnqueue_add_1(func_8038EB4C, this->marker);
__spawnQueue_add_1((GenMethod_1)func_8038EB4C, reinterpret_cast(s32, this->marker));
if(tmp < 5){
func_802C3F04(func_802C4218,D_80390B50[tmp], ((u32 *)diffPos)[0], ((u32 *)diffPos)[1], ((u32 *)diffPos)[2]);
__spawnQueue_add_4((GenMethod_4)func_802C4218, D_80390B50[tmp],
reinterpret_cast(s32, diffPos[0]),
reinterpret_cast(s32, diffPos[1]),
reinterpret_cast(s32, diffPos[2])
);
} else {
jiggySpawn(JIGGY_23_BGS_HUTS, diffPos);
}

View File

@@ -7,7 +7,7 @@ typedef struct chpinkegg_s{
u32 unk4;
} ActorLocal_PinkEgg;
void chpinkegg_draw(ActorMarker *this, Gfx ** gdl, Mtx** mptr, u32 arg3);
Actor *chpinkegg_draw(ActorMarker *this, Gfx ** gdl, Mtx** mptr, Vtx **vtx);
void chpinkegg_collision(ActorMarker *this, ActorMarker *other_marker);
void chpinkegg_update(Actor *this);
@@ -67,14 +67,14 @@ void chpinkegg_spawn_next(ActorMarker * arg0, u32 arg1){
}
void chpinkegg_draw(ActorMarker *this, Gfx ** gdl, Mtx** mptr, u32 arg3){
Actor *chpinkegg_draw(ActorMarker *this, Gfx ** gdl, Mtx** mptr, Vtx **arg3){
u32 sp18;
u32 t7;
t7 = marker_getActor(this)->state == 3;
func_8033A45C(1, (sp18 = t7) ^ 1);
func_8033A45C(1, NOT(sp18 = t7));
func_8033A45C(2, sp18);
func_80325888(this, gdl, mptr, arg3);
return func_80325888(this, gdl, mptr, arg3);
}
@@ -90,7 +90,7 @@ void chpinkegg_collision(ActorMarker *this, ActorMarker *other_marker){
this->collidable = 0;
thisActor->unk124_6 = 0;
if(D_803906C4[(tmp = (ActorLocal_PinkEgg *) &thisActor->local)->unk0] != 0){
func_802C3D3C(chpinkegg_spawn_next, thisActor->marker, tmp->unk0);
__spawnQueue_add_2(chpinkegg_spawn_next, thisActor->marker, tmp->unk0);
} else {
jiggySpawn(JIGGY_21_BGS_PINKEGG, thisActor->position);
func_8025A6EC(COMUSIC_2D_PUZZLE_SOLVED_FANFARE, 28000);