Path: blob/master/src/game/behaviors/bowser_key_cutscene.inc.c
7861 views
// bowser_key_cutscene.inc.c12Gfx *geo_scale_bowser_key(s32 run, struct GraphNode *node, UNUSED f32 mtx[4][4]) {3struct Object *sp4;4if (run == TRUE) {5sp4 = (struct Object *) gCurGraphNodeObject;6((struct GraphNodeScale *) node->next)->scale = sp4->oBowserKeyScale;7}8return 0;9}1011void bhv_bowser_key_unlock_door_loop(void) {12s32 animTimer;13animTimer = o->header.gfx.animInfo.animFrame;14cur_obj_init_animation_with_sound(0);15if (animTimer < 38)16o->oBowserKeyScale = 0.0f;17else if (animTimer < 49)18o->oBowserKeyScale = 0.2f;19else if (animTimer < 58)20o->oBowserKeyScale = (animTimer - 53) * 0.11875f + 0.2; // 0.11875?21else if (animTimer < 59)22o->oBowserKeyScale = 1.1f;23else if (animTimer < 60)24o->oBowserKeyScale = 1.05f;25else26o->oBowserKeyScale = 1.0f;27if (o->oTimer > 150)28obj_mark_for_deletion(o);29}3031void bhv_bowser_key_course_exit_loop(void) {32s32 animTimer = o->header.gfx.animInfo.animFrame;33cur_obj_init_animation_with_sound(1);34if (animTimer < 38)35o->oBowserKeyScale = 0.2f;36else if (animTimer < 52)37o->oBowserKeyScale = (animTimer - 42) * 0.042857f + 0.2; // TODO 3/70?38else if (animTimer < 94)39o->oBowserKeyScale = 0.8f;40else if (animTimer < 101)41o->oBowserKeyScale = (101 - animTimer) * 0.085714f + 0.2; // TODO 6/70?42else43o->oBowserKeyScale = 0.2f;44if (o->oTimer > 138)45obj_mark_for_deletion(o);46}474849