Files
ac-decomp/src/ac_koinobori_move.c_inc
T

31 lines
1.2 KiB
Plaintext

static void aKOI_wait(STRUCTURE_ACTOR* actorx, GAME_PLAY* play) {
}
static void aKOI_setup_action(KOINOBORI_ACTOR* koinobori, int action) {
static aSTR_MOVE_PROC process[8] = { &aKOI_wait, NULL, NULL, NULL, NULL, NULL, NULL, NULL };
cKF_SkeletonInfo_R_init(&koinobori->structure_class.keyframe, koinobori->structure_class.keyframe.skeleton,
&cKF_ba_r_obj_e_koinobori, 1.0f, 1.0f, 1.0f, 0.5f, 0.0f, TRUE, NULL);
koinobori->structure_class.action_proc = process[action];
koinobori->structure_class.action = action;
}
static void aKOI_actor_move(ACTOR* actor, GAME* game) {
GAME_PLAY* game_play = (GAME_PLAY*)game;
KOINOBORI_ACTOR* koinobori = (KOINOBORI_ACTOR*)actor;
GET_PLAYER_ACTOR(game_play);
cKF_SkeletonInfo_R_play(&koinobori->structure_class.keyframe);
koinobori->structure_class.action_proc(&koinobori->structure_class, game_play);
sAdo_OngenPos((u32)actor, 0x35, &actor->world.position);
}
static void aKOI_actor_init(ACTOR* actor, GAME* game) {
xyz_t pos = actor->home.position;
mFI_SetFG_common(DUMMY_KOINOBORI, pos, FALSE);
aKOI_actor_move(actor, game);
actor->mv_proc = aKOI_actor_move;
}