banjo-kazooie/src/RBB/code_9670.c

63 lines
1.2 KiB
C

#include <ultra64.h>
#include "functions.h"
#include "variables.h"
extern
void func_8038FB84(Actor *this);
/* .data */
ActorInfo D_80390E00 = {
0x1B8, 0x2A5, 0x0, 0x0, NULL,
func_8038FB84, NULL, func_80325340,
0, 0, 0.0f, 0
};
/* .bss */
u8 D_803912B0;
/* .code */
void func_8038FA60(ActorMarker *marker){
Actor *actor = marker_getActor(marker);
func_802C8F70(actor->yaw);
func_802C937C(6, &actor->position);
}
void func_8038FA9C(Actor *this, s32 arg1){
if(arg1 == 3){
func_80324E38(0.0f, 3);
timedFunc_set_2(1.0f, (TFQM2)func_8025A6EC, COMUSIC_2B_DING_B, 28000);
timed_setCameraToNode(1.8f, 1);
timedFunc_set_1(2.0f, (GenMethod_1) func_8038FA60, (s32)this->marker);
func_80324E88(5.0f);
func_80324E38(5.0f, 0);
}
this->state = arg1;
}
void func_8038FB54(void){
D_803912B0++;
}
void func_8038FB6C(void){
D_803912B0--;
}
void func_8038FB84(Actor *this){
if(!this->unk16C_4){
this->unk16C_4 = 1;
D_803912B0 = 0;
func_8038FA9C(this, 1);
}
if(this->state == 1){
if(D_803912B0 > 0)
func_8038FA9C(this, 2);
}
if(this->state == 2){
if(D_803912B0 == 0)
func_8038FA9C(this, 3);
}
}