sm64pc/src/game/behaviors/end_birds_2.inc.c

32 lines
962 B
C
Raw Permalink Normal View History

2019-09-01 19:50:50 +00:00
// end_birds_2.inc.c
void bhv_end_birds_2_loop(void) {
Vec3f sp3C;
UNUSED f32 sp38;
f32 sp34;
s16 sp32, sp30;
2020-04-03 18:57:26 +00:00
sp38 = random_float();
gCurrentObject->oForwardVel = (random_float() * 10.f) + 25.f;
2019-09-01 19:50:50 +00:00
switch (gCurrentObject->oAction) {
case 0:
2020-03-02 03:42:52 +00:00
cur_obj_scale(0.7f);
2019-09-01 19:50:50 +00:00
gCurrentObject->oAction += 1;
break;
case 1:
2020-01-03 15:38:57 +00:00
vec3f_get_dist_and_angle(gCamera->pos, gCamera->focus, &sp34, &sp32,
2019-09-01 19:50:50 +00:00
&sp30);
sp30 += 0x1000;
sp32 += 0; // nice work, Nintendo
2020-01-03 15:38:57 +00:00
vec3f_set_dist_and_angle(gCamera->pos, sp3C, 14000.f, sp32, sp30);
obj_rotate_towards_point(gCurrentObject, sp3C, 0, 0, 8, 8);
2019-09-01 19:50:50 +00:00
if ((gCurrentObject->oEndBirdUnk104 == 0.f) && (gCurrentObject->oTimer == 0))
2020-03-02 03:42:52 +00:00
cur_obj_play_sound_2(SOUND_GENERAL_BIRDS_FLY_AWAY);
2019-09-01 19:50:50 +00:00
break;
}
2020-03-02 03:42:52 +00:00
cur_obj_set_pos_via_transform();
2019-09-01 19:50:50 +00:00
}