animation struct documentation

This commit is contained in:
Banjo Kazooie
2023-03-12 23:11:39 -05:00
parent 7dd7a0b60c
commit af75d8b32d
293 changed files with 2031 additions and 1986 deletions

View File

@@ -10,7 +10,7 @@ void func_8038FCB0(Actor *);
/* .data */
ActorInfo D_80390D70 = {MARKER_DC_BIG_ALLIGATOR, ACTOR_F6_BIG_ALLIGATOR, ASSET_397_MODEL_BIG_ALLIGATOR, 0x01, NULL,
func_8038FCB0, func_80326224, func_80325888,
func_8038FCB0, func_80326224, actor_draw,
0, 0, 0.0f, 0
};

View File

@@ -20,12 +20,12 @@ typedef struct ch_bgs_2270_s{
} ActorLocal_BGS_2270;
void func_80389080(Actor *this);
Actor *func_80325888(ActorMarker *, Gfx **, Mtx **, Vtx **);
Actor *actor_draw(ActorMarker *, Gfx **, Mtx **, Vtx **);
ActorInfo D_80390830 = {
MARKER_19A_TIPTUP, ACTOR_27A_TIPTUP, ASSET_3F8_MODEL_TIPTUP,
0, NULL,
func_80389080, NULL, func_80325888,
func_80389080, NULL, actor_draw,
0, 0, 2.5f, 0
};
s16 D_80390854[] = {0, 0xC78, 0xC7A, 0xC7C}; //see again texts
@@ -136,11 +136,11 @@ void BGS_func_803888E4(Actor *this, s32 arg1){
this->state = arg1;
unqPtr->unkC = 0.0f;
if(this->state == 1){
func_80335924(this->unk148, ASSET_12B_ANIM_TIPTUP_IDLE, 1.0f, 9.0f);
skeletalAnim_set(this->unk148, ASSET_12B_ANIM_TIPTUP_IDLE, 1.0f, 9.0f);
unqPtr->unkC = randf2(5.0f, 15.0f);
}
if(this->state == 2){
func_80335924(this->unk148, ASSET_12B_ANIM_TIPTUP_IDLE, 1.0f, 9.0f);
skeletalAnim_set(this->unk148, ASSET_12B_ANIM_TIPTUP_IDLE, 1.0f, 9.0f);
unqPtr->unkC = randf2(5.0f, 15.0f);
if(!this->unk138_24){
this->unk138_24 = 1;
@@ -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, (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);
timedFunc_set_2(tmpf, (GenFunction_2) func_803886B4, reinterpret_cast(s32, this->marker), rand2);
timedFunc_set_2(tmpf + 0.1, (GenFunction_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, (GenMethod_1)func_803886F4, reinterpret_cast(s32, this->marker));
timedFunc_set_1(sp54, (GenFunction_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, (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);
timedFunc_set_2(tmpf, (GenFunction_2)func_803886B4, reinterpret_cast(s32, this->marker), s1->unk0);
timedFunc_set_2(tmpf + 0.1, (GenFunction_2)func_803886B4, reinterpret_cast(s32, this->marker), 0);
}
timed_exitStaticCamera(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, (GenMethod_1)func_80388848, reinterpret_cast(s32, thisActor->marker));
timedFunc_set_1(0.5f, (GenFunction_1)func_80388848, reinterpret_cast(s32, thisActor->marker));
}
else{
func_8028F55C(1, thisActor->marker);
@@ -302,12 +302,12 @@ void func_80389080(Actor *this){
}
else{
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);
if(skeletalAnim_getAnimId(this->unk148) == ASSET_12C_ANIM_TIPTUP_TAPPING && skeletalAnim_getLoopCount(this->unk148) > 0){
skeletalAnim_set(this->unk148, ASSET_12B_ANIM_TIPTUP_IDLE, 1.0f, 9.0f);
unqPtr->unkC = randf2(5.0f, 15.0f);
}
if(ml_timer_update(&unqPtr->unkC, sp3C)){
func_80335924(this->unk148, ASSET_12C_ANIM_TIPTUP_TAPPING, 1.0f, 4.0f);
skeletalAnim_set(this->unk148, ASSET_12C_ANIM_TIPTUP_TAPPING, 1.0f, 4.0f);
}
func_80258A4C(this->position, this->yaw - 90.0f, player_position, &sp38, &sp34, &sp30);
this->yaw = this->yaw + 5.0f*sp30;

View File

@@ -18,15 +18,15 @@ ActorAnimationInfo D_80390B90[] = {
{ASSET_D5_ANIM_SWITCH_UP, 0.5f},
{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, func_80326224, func_80325888, 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, func_80326224, func_80325888, 0, 0, 0.0f, 0};
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, 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, func_80326224, actor_draw, 0, 0, 0.0f, 0};
void func_8038EE50(void){
f32 sp24[3];
if(nodeProp_findPositionFromActorId(0x14d, sp24)){
jiggySpawn(JIGGY_20_BGS_ELEVATED_WALKWAY, sp24);
__spawnQueue_add_4((GenMethod_4)func_802C4140, ACTOR_4C_STEAM,
__spawnQueue_add_4((GenFunction_4)func_802C4140, ACTOR_4C_STEAM,
reinterpret_cast(s32, sp24[0]),
reinterpret_cast(s32, sp24[1]),
reinterpret_cast(s32, sp24[2])
@@ -69,7 +69,7 @@ void func_8038F018(void){
if(nodeProp_findPositionFromActorId(0x1fc, sp24)){
jiggySpawn(JIGGY_25_BGS_MAZE, sp24);
__spawnQueue_add_4((GenMethod_4)func_802C4140, ACTOR_4C_STEAM,
__spawnQueue_add_4((GenFunction_4)func_802C4140, ACTOR_4C_STEAM,
reinterpret_cast(s32, sp24[0]),
reinterpret_cast(s32, sp24[1]),
reinterpret_cast(s32, sp24[2])

View File

@@ -74,7 +74,7 @@ void func_80387E00(s32 arg0){
Actor * this = marker_getActor(marker);
func_803262E4(this);
__spawnQueue_add_2((GenMethod_2)func_80387D18, reinterpret_cast(s32, marker), 0x1E);
__spawnQueue_add_2((GenFunction_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, (GenMethod_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);
func_80324DBC(3.4f, 0xC87, 0xE, NULL, NULL, func_80387E68, NULL);
__spawnQueue_add_2((GenMethod_2) func_80387D18, reinterpret_cast(s32, this->marker), 0x46);
__spawnQueue_add_2((GenFunction_2) func_80387D18, reinterpret_cast(s32, this->marker), 0x46);
}
else{
timed_exitStaticCamera(0.0f);
@@ -152,18 +152,18 @@ void func_80387FD4(Actor *this){
func_80324D2C(4.5f, COMUSIC_43_ENTER_LEVEL_GLITTER);
func_80328B8C(this, 5, 0.79f, 1);
if (this->unkF4_8 == 5) {
timedFunc_set_1(0.9f, (GenMethod_1) func_80387E40, (s32) this->marker);
timedFunc_set_1(0.9f, (GenFunction_1) func_80387E40, (s32) this->marker);
} else {
func_80326310(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, 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]));
func_802BAFE4(D_803907B0[this->unkF4_8-1]);
} else {
timedFunc_set_1(0.8f, (GenMethod_1)func_80387D90, (s32) this->marker);
timedFunc_set_1(0.8f, (GenFunction_1)func_80387D90, (s32) this->marker);
}
__spawnQueue_add_2((GenMethod_2)func_80387D18, reinterpret_cast(s32, this->marker), 0x46);
__spawnQueue_add_2((GenFunction_2)func_80387D18, reinterpret_cast(s32, this->marker), 0x46);
}
}
}//L80388348
@@ -228,5 +228,5 @@ Actor *func_8038860C(ActorMarker *this, Gfx** gdl, Mtx ** mptr, Vtx **vtx){
Actor *thisActor;
thisActor = marker_getActor(this);
func_8033A45C(1, thisActor->unkF4_8);
return func_80325888(this, gdl, mptr, vtx);
return actor_draw(this, gdl, mptr, vtx);
}

View File

@@ -47,8 +47,8 @@ bool BGS_func_803863F0(Actor *this, f32 arg1[3], s32 arg2){
local->unk8[2] = arg1[2];
local->unk8[1] = func_80309724(arg1);
func_80335924(this->unk148, 0xdb, 0.2f,(arg2) ? randf2(0.7f, 0.8f) : randf2(0.75f, 0.85f));
func_80335A8C(this->unk148, 2);
skeletalAnim_set(this->unk148, 0xdb, 0.2f,(arg2) ? randf2(0.7f, 0.8f) : randf2(0.75f, 0.85f));
skeletalAnim_setBehavior(this->unk148, SKELETAL_ANIM_2_ONCE);
func_80324D54(0.2f, 0x3f2, randf2(0.7f, 1.3f), randi2(0x61A8, 0x6978), this->position, 500.0f, 2500.0f);
return TRUE;
}
@@ -181,9 +181,9 @@ void func_80386AEC(Actor *this, s32 next_state) {
local->unk24 = 0.0f;
if (next_state == 1) {
func_80335924(this->unk148, ASSET_FA_ANIM_FLIBBIT_IDLE, 0.2f, randf2(1.0f, 2.0f));
func_80335A74(this->unk148, randf2(0.0f, 0.9f));
func_80335A8C(this->unk148, 1);
skeletalAnim_set(this->unk148, ASSET_FA_ANIM_FLIBBIT_IDLE, 0.2f, randf2(1.0f, 2.0f));
skeletalAnim_setProgress(this->unk148, randf2(0.0f, 0.9f));
skeletalAnim_setBehavior(this->unk148, SKELETAL_ANIM_1_LOOP);
this->position[0] = (f32) local->unkE[0];
this->position[1] = (f32) local->unkE[1];
this->position[2] = (f32) local->unkE[2];
@@ -201,38 +201,38 @@ void func_80386AEC(Actor *this, s32 next_state) {
}
if (next_state == 3) {
func_80335924(this->unk148, ASSET_FB_ANIM_FLIBBIT_TURN, 0.2f, 1.0f);
func_80335A74(this->unk148, randf2(0.0f, 1.0f));
func_80335A8C(this->unk148, 1);
skeletalAnim_set(this->unk148, ASSET_FB_ANIM_FLIBBIT_TURN, 0.2f, 1.0f);
skeletalAnim_setProgress(this->unk148, randf2(0.0f, 1.0f));
skeletalAnim_setBehavior(this->unk148, SKELETAL_ANIM_1_LOOP);
local->unk24 = randf2(1.0f, 3.0f);
}
if (next_state == 4) {
func_80335924(this->unk148, ASSET_FA_ANIM_FLIBBIT_IDLE, 0.2f, randf2(1.0f, 2.0f));
func_80335A74(this->unk148, randf2(0.0f, 0.9f));
func_80335A8C(this->unk148, 1);
skeletalAnim_set(this->unk148, ASSET_FA_ANIM_FLIBBIT_IDLE, 0.2f, randf2(1.0f, 2.0f));
skeletalAnim_setProgress(this->unk148, randf2(0.0f, 0.9f));
skeletalAnim_setBehavior(this->unk148, SKELETAL_ANIM_1_LOOP);
this->position[1] = func_80309724(this->position);
local->unk18 = 1.0f;
}
if (next_state == 5) {
FUNC_8030E8B4(SFX_8E_GRUNTLING_DAMAGE, 1.5f, 32200, this->position, 500, 2500);
func_80335924(this->unk148, ASSET_288_ANIM_FLIBBIT_OW, 0.1f, 0.65f);
func_80335A8C(this->unk148, 2);
skeletalAnim_set(this->unk148, ASSET_288_ANIM_FLIBBIT_OW, 0.1f, 0.65f);
skeletalAnim_setBehavior(this->unk148, SKELETAL_ANIM_2_ONCE);
this->position[1] = func_80309724(this->position);
local->unk18 = 1.0f;
}
if (next_state == 6) {
func_80335924(this->unk148, ASSET_112_ANIM_FLIBBIT_DIE, 0.2f, 0.4f);
skeletalAnim_set(this->unk148, ASSET_112_ANIM_FLIBBIT_DIE, 0.2f, 0.4f);
FUNC_8030E8B4(SFX_115_BUZZBOMB_DEATH, 1.0f, 32200, this->position, 500, 2500);
this->marker->collidable = FALSE;
this->unk10_1 = FALSE;
local->unk14 = 1000.0f;
}
if (next_state == 7) {
func_80335924(this->unk148, ASSET_113_ANIM_FLIBBIT_DEAD, 0.2f, 1.0f);
func_80335A8C(this->unk148, 2);
skeletalAnim_set(this->unk148, ASSET_113_ANIM_FLIBBIT_DEAD, 0.2f, 1.0f);
skeletalAnim_setBehavior(this->unk148, SKELETAL_ANIM_2_ONCE);
FUNC_8030E8B4(SFX_2F_ORANGE_SPLAT, 0.8f, 32200, this->position, 500, 2500);
}
if (next_state == 8) {
@@ -275,7 +275,7 @@ Actor *chflibbit_draw(ActorMarker *marker, Gfx **gfx, Mtx **mtx, Vtx **vtx){
local = (ActorLocal_Flibbit *)&this->local;
if (local->unk0){
if(((this->state == 1)) || (this->state == 3)) {
temp_a0 = func_803356A0(this->unk148);
temp_a0 = skeletalAnim_getBoneTransformList(this->unk148);
for(i = 0; i < 2; i++){
if (0.1 <= local->unk1C[i]) {
@@ -290,11 +290,11 @@ Actor *chflibbit_draw(ActorMarker *marker, Gfx **gfx, Mtx **mtx, Vtx **vtx){
sp7C[2] = 1.0f;
sp7C[1] = (f32) (((f64) phi_f2 * 0.99) + 0.01);
func_8033A928(temp_a0, (i != 0)?0x2D :0x2E, sp7C);
boneTransformList_setBoneScale(temp_a0, (i != 0)?0x2D :0x2E, sp7C);
}
}
}
func_80325888(marker, gfx, mtx, vtx);
actor_draw(marker, gfx, mtx, vtx);
local->unk0 = marker->unk14_21;
return this;
@@ -309,8 +309,8 @@ void chflibbit_update(Actor *this){
f32 spA0;
f32 sp9C;
f32 sp98;
f32 sp94;
f32 sp90;
f32 skel_anim_prev_prog;
f32 skel_anim_progress;
f32 sp84[3];
f32 temp_f12;
f32 sp7C;
@@ -367,11 +367,11 @@ void chflibbit_update(Actor *this){
}//L803873D0
if(this->state == 2){
func_8033568C(this->unk148, &sp94, &sp90);
if(sp94 < 0.8 && 0.8 <= sp90){
skeletalAnim_getProgressRange(this->unk148, &skel_anim_prev_prog, &skel_anim_progress);
if(skel_anim_prev_prog < 0.8 && 0.8 <= skel_anim_progress){
func_8030E878(SFX_8_BANJO_LANDING_04, randf2(0.8f, 0.9f), randi2(25000, 27000), this->position, 100.0f, 1500.0f);
}//L8038747C
if(func_80335794(this->unk148) > 0){
if(skeletalAnim_getLoopCount(this->unk148) > 0){
sp84[0] = (f32)local->unkE[0];
sp84[1] = (f32)local->unkE[1];
sp84[2] = (f32)local->unkE[2];
@@ -384,17 +384,17 @@ void chflibbit_update(Actor *this){
}
}
else{//L80387514
if(0.2 <= sp90 && sp90 <= 0.8){
temp_f12 = ((sp90 - 0.2) / 0.60000000000000009);
if(0.2 <= skel_anim_progress && skel_anim_progress <= 0.8){
temp_f12 = ((skel_anim_progress - 0.2) / 0.60000000000000009);
this->position_x = local->unk2[0] + (local->unk8[0] - local->unk2[0])*temp_f12;
this->position_y = local->unk2[1] + (local->unk8[1] - local->unk2[1])*temp_f12;
this->position_z = local->unk2[2] + (local->unk8[2] - local->unk2[2])*temp_f12;
if(local->unk1){
if(sp90 <= 0.5){
phi_f2 = ((sp90 - 0.2)/0.3) * 70.0;
if(skel_anim_progress <= 0.5){
phi_f2 = ((skel_anim_progress - 0.2)/0.3) * 70.0;
}
else{
phi_f2 = (1.0 - (sp90 - 0.5)/ 0.30000000000000004) *70.0;
phi_f2 = (1.0 - (skel_anim_progress - 0.5)/ 0.30000000000000004) *70.0;
}
this->position_y += phi_f2;
}//L80387684
@@ -446,7 +446,7 @@ void chflibbit_update(Actor *this){
}
if(this->state == 7){
if(func_80335794(this->unk148) > 0)
if(skeletalAnim_getLoopCount(this->unk148) > 0)
func_80386AEC(this, 8);
}
}

View File

@@ -35,7 +35,7 @@ Actor *func_8038FD10(ActorMarker *this, Gfx** gdl, Mtx** mtx, Vtx **vtx){
thisActor = marker_getActor(this);
if((thisActor->unk1C_x != 0.0f) && (0x80 < thisActor->alpha_124_19)){
thisActor = func_80325888(this, gdl, mtx, vtx);
thisActor = actor_draw(this, gdl, mtx, vtx);
}
return thisActor;
}

View File

@@ -5,11 +5,9 @@
#include "prop.h"
#include "core2/modelRender.h"
void func_80335A24(void *, u32, f32, f32);
Actor *chvile_draw(ActorMarker*, Gfx **, Mtx **, Vtx **);
void chvile_update(Actor *);
void func_8038BB40(ActorMarker *);
extern void func_80335A80(void *, f32);
extern bool func_80320C94(f32[3], f32[3], f32, f32[3], s32, u32);
extern bool chvilegame_find_closest_piece(ActorMarker *, f32[3], f32, f32[3]);
@@ -97,19 +95,19 @@ void BGS_func_8038BBA0(Actor *this, s32 arg1){
if(arg1 == 101){
local->unk24 = 0.0f;
local->unk28[0] = local->unk28[1] = local->unk28[2] = 0.0f;
func_80335924(this->unk148, 0xe1, 0.10000000149f, 1.0f); //0xe1 = croc_idle
skeletalAnim_set(this->unk148, 0xe1, 0.10000000149f, 1.0f); //0xe1 = croc_idle
}
if(arg1 == 102){
if(local->unk24 < 100.0f){
local->unk24 = 100.0f;
};
func_80335A24(this->unk148, 0xe0, 0.1f, 0.5f); //0xe1 = croc_walk
skeletalAnim_swap(this->unk148, 0xe0, 0.1f, 0.5f); //0xe1 = croc_walk
}
if(arg1 == 103){
func_80335A24(this->unk148, 0x124, 0.1f, 0.5f); //0x124 = croc_munch
skeletalAnim_swap(this->unk148, 0x124, 0.1f, 0.5f); //0x124 = croc_munch
if(this->state == 4){
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));
timedFunc_set_1(0.31f, (GenFunction_1)func_8038BB40, reinterpret_cast(s32, this->marker));
}
else{
timed_playSfx(0.31f, SFX_4C_LIP_SMACK, 0.90f, 25000);
@@ -179,7 +177,7 @@ void func_8038BDD4(Actor *this) {
local->unk24 = (local->unk24 < 10.0f) ? 10.0f
: (local->unk10 < local->unk24) ? local->unk10
: local->unk24;
func_80335A80(this->unk148, (200.0f / local->unk24) * 0.5);
skeletalAnim_setDuration(this->unk148, (200.0f / local->unk24) * 0.5);
local->unk28[1] = sp50 * 200.0f;
temp_f0_3 = func_80309724(this->position);
if (temp_f0_3 > 125.0f) {
@@ -231,7 +229,7 @@ Actor *chvile_draw(ActorMarker *marker, Gfx **gfx, Mtx** mtx, Vtx **vtx){
f32 position[3];
this = func_80325888(marker, gfx, mtx, vtx);
this = actor_draw(marker, gfx, mtx, vtx);
local = (ActorLocal_MrVile *)&this->local;
if (
(local->unkC == 104) &&
@@ -401,11 +399,11 @@ void chvile_update(Actor *this) {
} else {
BGS_func_8038BBA0(this, 102);
}
} else if (func_80335794(this->unk148) >= 3) {
} else if (skeletalAnim_getLoopCount(this->unk148) >= 3) {
BGS_func_8038BBA0(this, 102);
}
}
if ((local->unkC == 104) && (func_80335794(this->unk148) >= 3)) {
if ((local->unkC == 104) && (skeletalAnim_getLoopCount(this->unk148) >= 3)) {
BGS_func_8038BBA0(this, 102);
}
}
@@ -416,7 +414,7 @@ void chvile_update(Actor *this) {
if ((local->unkC == 102) && (ml_distance_vec3f(this->position, local->target_position) < 200.0f)) {
BGS_func_8038BBA0(this, 103);
}
if ((local->unkC == 103) && (func_80335794(this->unk148) >= 2)) {
if ((local->unkC == 103) && (skeletalAnim_getLoopCount(this->unk148) >= 2)) {
func_8038C0C8(this, 1);
}
}

View File

@@ -54,7 +54,7 @@ Actor *chmudhut_draw(ActorMarker *this, Gfx** gdl, Mtx** mtx, Vtx **vtx){
if(thisActor->state == 3)
return thisActor;
return func_80325888(this, gdl, mtx, vtx);
return actor_draw(this, gdl, mtx, vtx);
}
void func_8038EB4C(ActorMarker *this){
@@ -103,9 +103,9 @@ void chmudhut_update(Actor *this){
if(tmp == 5){
func_8025A6EC(COMUSIC_2D_PUZZLE_SOLVED_FANFARE, 28000);
}
__spawnQueue_add_1((GenMethod_1)func_8038EB4C, reinterpret_cast(s32, this->marker));
__spawnQueue_add_1((GenFunction_1)func_8038EB4C, reinterpret_cast(s32, this->marker));
if(tmp < 5){
__spawnQueue_add_4((GenMethod_4)func_802C4218, D_80390B50[tmp],
__spawnQueue_add_4((GenFunction_4)func_802C4218, D_80390B50[tmp],
reinterpret_cast(s32, diffPos[0]),
reinterpret_cast(s32, diffPos[1]),
reinterpret_cast(s32, diffPos[2])

View File

@@ -74,7 +74,7 @@ Actor *chpinkegg_draw(ActorMarker *this, Gfx ** gdl, Mtx** mptr, Vtx **arg3){
t7 = marker_getActor(this)->state == 3;
func_8033A45C(1, NOT(sp18 = t7));
func_8033A45C(2, sp18);
return func_80325888(this, gdl, mptr, arg3);
return actor_draw(this, gdl, mptr, arg3);
}

View File

@@ -9,7 +9,7 @@ void timed_exitStaticCamera(f32);
void timedFunc_set_2(f32, void(*)(s32, s32), s32, s32);
void func_8028E668(f32[3], f32, f32, f32);
extern void __spawnQueue_add_3(GenMethod_3, s32, s32, s32);
extern void __spawnQueue_add_3(GenFunction_3, s32, s32, s32);
void func_8038F6A4(Actor *);
@@ -29,7 +29,7 @@ ActorAnimationInfo BGS_D_80390C20[] = {
};
ActorInfo D_80390C40 = {MARKER_6C_TANKTUP, ACTOR_E8_TANKTUP, ASSET_3EE_TANKTUP, 0x01, BGS_D_80390C20,
func_8038F6A4, func_80326224, func_80325888,
func_8038F6A4, func_80326224, actor_draw,
0, 0x80, 0.0f, 0
};
@@ -124,7 +124,7 @@ void func_8038F6A4(Actor *this)
{
if (local->unk0[sp44] == 0)
{
__spawnQueue_add_3((GenMethod_3)func_8038F470, *((s32 *) (&this->marker)), local->unk0[sp44], sp44);
__spawnQueue_add_3((GenFunction_3)func_8038F470, *((s32 *) (&this->marker)), local->unk0[sp44], sp44);
}
}

View File

@@ -61,8 +61,8 @@ s32 func_8038D2F4(Actor *this, f32 *arg1, bool arg2) {
local->unkA[1] = (s16) arg1[1];
local->unkA[2] = (s16) arg1[2];
local->unkA[1] = (s16) (s32) func_80309724(arg1);
func_80335924(this->unk148, ASSET_DB_ANIM_FLIBBIT_HOP, 0.2f, (arg2) ? randf2(0.7f, 0.8f) : randf2(0.7f, 0.8f));
func_80335A8C(this->unk148, 2);
skeletalAnim_set(this->unk148, ASSET_DB_ANIM_FLIBBIT_HOP, 0.2f, (arg2) ? randf2(0.7f, 0.8f) : randf2(0.7f, 0.8f));
skeletalAnim_setBehavior(this->unk148, SKELETAL_ANIM_2_ONCE);
func_80324D54(0.2f, SFX_3F2_UNKNOWN, randf2(0.7f, 1.3f), randi2(25000, 27000), this->position, 500.0f, 2500.0f);
return TRUE;
}
@@ -204,9 +204,9 @@ void func_8038D9D0(Actor *this, s32 next_state) {
local->unk1C = 0.5f;
}
if (next_state == 3) {
func_80335924(this->unk148, ASSET_FA_ANIM_FLIBBIT_IDLE, 0.2f, randf2(1.0f, 2.0f));
func_80335A74(this->unk148, randf2(0.0f, 0.9));
func_80335A8C(this->unk148, 1);
skeletalAnim_set(this->unk148, ASSET_FA_ANIM_FLIBBIT_IDLE, 0.2f, randf2(1.0f, 2.0f));
skeletalAnim_setProgress(this->unk148, randf2(0.0f, 0.9));
skeletalAnim_setBehavior(this->unk148, SKELETAL_ANIM_1_LOOP);
actor_collisionOn(this);
this->position[0] = (f32) local->unk10[0];
this->position[1] = (f32) local->unk10[1];
@@ -226,27 +226,27 @@ void func_8038D9D0(Actor *this, s32 next_state) {
}
}
if (next_state == 6) {
func_80335924(this->unk148, ASSET_FB_ANIM_FLIBBIT_TURN, 0.2f, 1.0f);
func_80335A74(this->unk148, randf2(0.0f, 1.0f));
func_80335A8C(this->unk148, 1);
skeletalAnim_set(this->unk148, ASSET_FB_ANIM_FLIBBIT_TURN, 0.2f, 1.0f);
skeletalAnim_setProgress(this->unk148, randf2(0.0f, 1.0f));
skeletalAnim_setBehavior(this->unk148, SKELETAL_ANIM_1_LOOP);
local->unk28 = randf2(1.0f, 3.0f);
}
if (next_state == 7) {
func_80335924(this->unk148, ASSET_FA_ANIM_FLIBBIT_IDLE, 0.2f, randf2(1.0f, 2.0f));
func_80335A74(this->unk148, randf2(0.0f, 0.9));
func_80335A8C(this->unk148, 1);
skeletalAnim_set(this->unk148, ASSET_FA_ANIM_FLIBBIT_IDLE, 0.2f, randf2(1.0f, 2.0f));
skeletalAnim_setProgress(this->unk148, randf2(0.0f, 0.9));
skeletalAnim_setBehavior(this->unk148, SKELETAL_ANIM_1_LOOP);
this->position[1] = func_80309724(this->position);
local->unk1C = 1.0f;
}
if (next_state == 8) {
FUNC_8030E8B4(SFX_8E_GRUNTLING_DAMAGE, 1.5f, 32200, this->position, 500, 2500);
func_80335924(this->unk148, ASSET_288_ANIM_FLIBBIT_OW, 0.1f, 0.65f);
func_80335A8C(this->unk148, 2);
skeletalAnim_set(this->unk148, ASSET_288_ANIM_FLIBBIT_OW, 0.1f, 0.65f);
skeletalAnim_setBehavior(this->unk148, SKELETAL_ANIM_2_ONCE);
this->position[1] = func_80309724(this->position);
local->unk1C = 1.0f;
}
if (next_state == 9) {
func_80335924(this->unk148, ASSET_112_ANIM_FLIBBIT_DIE, 0.2f, 0.4f);
skeletalAnim_set(this->unk148, ASSET_112_ANIM_FLIBBIT_DIE, 0.2f, 0.4f);
FUNC_8030E8B4(SFX_115_BUZZBOMB_DEATH, 1.0f, 32200, this->position, 500, 2500);
this->marker->collidable = FALSE;
this->unk10_1 = FALSE;
@@ -254,8 +254,8 @@ void func_8038D9D0(Actor *this, s32 next_state) {
local->unk18 = 1000.0f;
}
if (next_state == 0xA) {
func_80335924(this->unk148, ASSET_113_ANIM_FLIBBIT_DEAD, 0.2f, 1.0f);
func_80335A8C(this->unk148, 2);
skeletalAnim_set(this->unk148, ASSET_113_ANIM_FLIBBIT_DEAD, 0.2f, 1.0f);
skeletalAnim_setBehavior(this->unk148, SKELETAL_ANIM_2_ONCE);
FUNC_8030E8B4(SFX_2F_ORANGE_SPLAT, 0.8f, 32200, this->position, 500, 2500);
}
if (next_state == 0xB) {
@@ -305,7 +305,7 @@ Actor *func_8038DE5C(ActorMarker *marker, Gfx **gfx, Mtx **mtx, Vtx **vtx) {
return this;
}
if (local->unk0 && ((this->state == 3) || (this->state == 6))) {
temp_a0_2 = func_803356A0(this->unk148);
temp_a0_2 = skeletalAnim_getBoneTransformList(this->unk148);
for(var_s0 = 0; var_s0 < 2; var_s0++){
if (0.1 <= local->unk20[var_s0]) {
var_f2 = (f32) ((local->unk20[var_s0] - 0.1) / 0.1);
@@ -317,10 +317,10 @@ Actor *func_8038DE5C(ActorMarker *marker, Gfx **gfx, Mtx **mtx, Vtx **vtx) {
sp7C[0] = 1.0f;
sp7C[1] = var_f2 * 0.99 + 0.01;
sp7C[2] = 1.0f;
func_8033A928(temp_a0_2, (var_s0 != 0) ? 0x2D : 0x2E, sp7C);
boneTransformList_setBoneScale(temp_a0_2, (var_s0 != 0) ? 0x2D : 0x2E, sp7C);
};
}
func_80325888(marker, gfx, mtx, vtx);
actor_draw(marker, gfx, mtx, vtx);
local->unk0 = marker->unk14_21;
return this;
}
@@ -415,11 +415,11 @@ void BGS_func_8038E034(Actor *this) {
}
if (this->state == 5) {
func_8033568C(this->unk148, &sp8C, &sp88);
skeletalAnim_getProgressRange(this->unk148, &sp8C, &sp88);
if (sp8C < 0.8 && 0.8 <= sp88) {
func_8030E878(SFX_8_BANJO_LANDING_04, randf2(0.8f, 0.9f), randi2(0x61A8, 0x6978), this->position, 100.0f, 1500.0f);
}
if (func_80335794(this->unk148) > 0) {
if (skeletalAnim_getLoopCount(this->unk148) > 0) {
sp7C[0] = (f32) local->unk10[0];
sp7C[1] = (f32) local->unk10[1];
sp7C[2] = (f32) local->unk10[2];
@@ -489,7 +489,7 @@ void BGS_func_8038E034(Actor *this) {
}
if(this->state == 10){
if(func_80335794(this->unk148) > 0){
if(skeletalAnim_getLoopCount(this->unk148) > 0){
func_8038D9D0(this, 11);
}
}

View File

@@ -3,8 +3,8 @@
#include "variables.h"
#include "prop.h"
extern void func_803253A0(Actor *);
extern void func_80325794(ActorMarker *);
extern void actor_predrawMethod(Actor *);
extern void actor_postdrawMethod(ActorMarker *);
extern f32 randf (void);
extern BKModelBin *chvilegame_get_grumblie_model(ActorMarker *marker);
@@ -63,13 +63,13 @@ void chyumblie_set_state(Actor* this, enum chyumblie_state_e next_state){
this->yaw = randf2(0.0f, 360.0f);
s0->unk4 = func_8038B160(this);
chvilegame_new_piece(s0->game_marker, this->marker, this->position, s0->unk4);
func_80335924(this->unk148, (s0->unk4)? ASSET_128_ANIM_GRUMBLIE_APPEAR : ASSET_125_ANIM_YUMBLIE_APPEAR, 0.0f, 1.5f);
func_80335A8C(this->unk148, 2);
skeletalAnim_set(this->unk148, (s0->unk4)? ASSET_128_ANIM_GRUMBLIE_APPEAR : ASSET_125_ANIM_YUMBLIE_APPEAR, 0.0f, 1.5f);
skeletalAnim_setBehavior(this->unk148, SKELETAL_ANIM_2_ONCE);
}
if(next_state == 3){
s0->unk8 = randf2(5.0f, 10.0f);
func_80335924(this->unk148, (s0->unk4)? ASSET_12A_ANIM_GRUMBLIE_IDLE : ASSET_127_ANIM_YUMBLIE_IDLE, 0.1f, randf2(0.5f, 1.0f));
func_80335A8C(this->unk148, 1);
skeletalAnim_set(this->unk148, (s0->unk4)? ASSET_12A_ANIM_GRUMBLIE_IDLE : ASSET_127_ANIM_YUMBLIE_IDLE, 0.1f, randf2(0.5f, 1.0f));
skeletalAnim_setBehavior(this->unk148, SKELETAL_ANIM_1_LOOP);
if(s0->unk4){
func_8030E6A4(SFX_C4_TWINKLY_MUNCHER_GRR,randf2(1.0f, 1.2), 30000);
}else{
@@ -79,8 +79,8 @@ void chyumblie_set_state(Actor* this, enum chyumblie_state_e next_state){
if(next_state == 4){
chvilegame_remove_piece(s0->game_marker, this->marker);
func_80335924(this->unk148, (s0->unk4)? ASSET_129_ANIM_GRUMBLIE_HIDE : ASSET_126_ANIM_YUMBLIE_HIDE, 0.1f, 0.5f);
func_80335A8C(this->unk148, 2);
skeletalAnim_set(this->unk148, (s0->unk4)? ASSET_129_ANIM_GRUMBLIE_HIDE : ASSET_126_ANIM_YUMBLIE_HIDE, 0.1f, 0.5f);
skeletalAnim_setBehavior(this->unk148, SKELETAL_ANIM_2_ONCE);
}
if(next_state == 5){
s0->unk8 = randf2(10.0f, 20.0f);
@@ -110,8 +110,8 @@ Actor *chyumblie_draw(ActorMarker *this, Gfx **gfx, Mtx** mtx, Vtx **vtx){
return thisActor;
}
modelRender_preDraw((GenMethod_1) func_803253A0, (s32)thisActor);
modelRender_postDraw((GenMethod_1) func_80325794, (s32)this);
modelRender_preDraw((GenFunction_1) actor_predrawMethod, (s32)thisActor);
modelRender_postDraw((GenFunction_1) actor_postdrawMethod, (s32)this);
sp44[0] = thisActor->position_x;
sp44[1] = thisActor->position_y + sp40->unk0*75.0f;
sp44[2] = thisActor->position_z;
@@ -160,7 +160,7 @@ void chyumblie_update(Actor *this){
if(s0->game_marker == NULL){
s0->game_marker = actorArray_findClosestActorFromActorId(this->position, ACTOR_138_VILE_GAME_CTRL, -1, &sp48)->marker;
}
sp50 = func_80335684(this->unk148);
sp50 = skeletalAnim_getProgress(this->unk148);
if(this->state == YUMBLIE_STATE_1_UNDER_GROUND){
if(ml_timer_update(&s0->unk8, sp4C)){
if(mapSpecificFlags_get(6) && (12 > chvilegame_get_piece_count(s0->game_marker))){
@@ -187,7 +187,7 @@ void chyumblie_update(Actor *this){
func_8030E878(SFX_C5_TWINKLY_POP, randf2(1.0f, 1.2f), 30000, this->position, 500.0f, 3000.0f);
}
if( 0 < func_80335794(this->unk148)){
if( 0 < skeletalAnim_getLoopCount(this->unk148)){
s0->unk0 = 1.0f;
chyumblie_set_state(this,YUMBLIE_STATE_3_ABOVE_GROUND);
}