From 0438c38894e80dfef15fee65e2621cdf316a0fcb Mon Sep 17 00:00:00 2001 From: Prakxo Date: Sat, 9 Mar 2024 18:28:27 +0100 Subject: [PATCH 1/4] phil's furniture work Add Phil's furniture work ----------- Co-authored-by: phil-macrocheira --- src/f_furniture.c | 211 ++++++++++++++++--------------- src/ftr/ac_kob_mastersword.c | 25 ++++ src/ftr/ac_nog_tri_audio01.c | 13 ++ src/ftr/ac_nog_tri_chest01.c | 35 +++++ src/ftr/ac_nog_tri_chest02.c | 36 ++++++ src/ftr/ac_nog_tri_chest03.c | 35 +++++ src/ftr/ac_sum_abura.c | 36 ++++++ src/ftr/ac_sum_asi_chest02.c | 35 +++++ src/ftr/ac_sum_asi_chest03.c | 35 +++++ src/ftr/ac_sum_asi_taiko.c | 16 +++ src/ftr/ac_sum_bass01.c | 15 +++ src/ftr/ac_sum_biwa01.c | 15 +++ src/ftr/ac_sum_bla_chest01.c | 35 +++++ src/ftr/ac_sum_bla_chest03.c | 35 +++++ src/ftr/ac_sum_bla_lanp.c | 15 +++ src/ftr/ac_sum_blue_bureau01.c | 35 +++++ src/ftr/ac_sum_blue_cab01.c | 35 +++++ src/ftr/ac_sum_blue_lowchest01.c | 35 +++++ src/ftr/ac_sum_casse01.c | 15 +++ src/ftr/ac_sum_cello01.c | 15 +++ src/ftr/ac_sum_chikuon01.c | 13 ++ src/ftr/ac_sum_chikuon02.c | 13 ++ src/ftr/ac_sum_classicchest01.c | 35 +++++ src/ftr/ac_sum_clchest03.c | 35 +++++ src/ftr/ac_sum_conga01.c | 15 +++ src/ftr/ac_sum_conpo01.c | 15 +++ src/ftr/ac_sum_conpo02.c | 13 ++ src/ftr/ac_sum_cont_chest02.c | 35 +++++ src/ftr/ac_sum_cont_chest03.c | 35 +++++ src/ftr/ac_sum_fruitchest01.c | 35 +++++ src/ftr/ac_sum_fruitchest03.c | 35 +++++ src/ftr/ac_sum_genji.c | 68 ++++++++++ src/ftr/ac_sum_gre_chest02.c | 35 +++++ src/ftr/ac_sum_gre_chest03.c | 35 +++++ src/ftr/ac_sum_gre_lanp01.c | 14 ++ src/ftr/ac_sum_guitar01.c | 15 +++ src/ftr/ac_sum_guitar02.c | 15 +++ src/ftr/ac_sum_guitar03.c | 17 +++ src/ftr/ac_sum_hal_chest02.c | 35 +++++ src/ftr/ac_sum_hal_chest03.c | 35 +++++ src/ftr/ac_sum_harp.c | 15 +++ src/ftr/ac_sum_higurashi.c | 36 ++++++ src/ftr/ac_sum_jukebox.c | 13 ++ src/ftr/ac_sum_kirigirisu.c | 36 ++++++ src/ftr/ac_sum_kisha.c | 54 ++++++++ src/ftr/ac_sum_koorogi.c | 36 ++++++ src/ftr/ac_sum_liccachest.c | 35 +++++ src/ftr/ac_sum_liccalowchest.c | 35 +++++ src/ftr/ac_sum_liccapiano.c | 15 +++ src/ftr/ac_sum_log_chest01.c | 35 +++++ src/ftr/ac_sum_log_chest02.c | 35 +++++ src/ftr/ac_sum_lv_stereo.c | 13 ++ src/ftr/ac_sum_matumushi.c | 36 ++++++ src/ftr/ac_sum_md01.c | 15 +++ src/ftr/ac_sum_minmin.c | 36 ++++++ src/ftr/ac_sum_pet01.c | 36 ++++++ src/ftr/ac_sum_piano01.c | 15 +++ src/ftr/ac_sum_radio01.c | 15 +++ src/ftr/ac_sum_radio02.c | 15 +++ src/ftr/ac_sum_ratan_chest01.c | 35 +++++ src/ftr/ac_sum_ratan_chest02.c | 35 +++++ src/ftr/ac_sum_reco01.c | 39 ++++++ src/ftr/ac_sum_roboconpo.c | 56 ++++++++ src/ftr/ac_sum_saiconpo.c | 15 +++ src/ftr/ac_sum_stereo01.c | 15 +++ src/ftr/ac_sum_stereo02.c | 15 +++ src/ftr/ac_sum_suzumushi.c | 36 ++++++ src/ftr/ac_sum_syouryou.c | 36 ++++++ src/ftr/ac_sum_taiko01.c | 15 +++ src/ftr/ac_sum_tekin01.c | 15 +++ src/ftr/ac_sum_timpani01.c | 15 +++ src/ftr/ac_sum_tonosama.c | 36 ++++++ src/ftr/ac_sum_tukutuku.c | 36 ++++++ src/ftr/ac_sum_viola01.c | 15 +++ src/ftr/ac_sum_whi_chest01.c | 35 +++++ src/ftr/ac_sum_whi_chest02.c | 35 +++++ src/ftr/ac_sum_whi_lanp.c | 12 ++ src/ftr/ac_sum_x_chest01.c | 35 +++++ src/ftr/ac_sum_x_chest02.c | 35 +++++ src/ftr/ac_sum_x_piano.c | 13 ++ 80 files changed, 2277 insertions(+), 103 deletions(-) diff --git a/src/f_furniture.c b/src/f_furniture.c index eb723303..14a88064 100644 --- a/src/f_furniture.c +++ b/src/f_furniture.c @@ -48,6 +48,7 @@ static u16 fFTR_myhome_on_pal_table[][16] = { static void fFTR_MorphHousePalette(u16* dst_pal_p, u16* off_pal_p, u16* on_pal_p, FTR_ACTOR* ftr_actor) { f32 target; + f32 now; int i; if (ftr_actor->switch_bit == TRUE) { @@ -56,13 +57,14 @@ static void fFTR_MorphHousePalette(u16* dst_pal_p, u16* off_pal_p, u16* on_pal_p target = 0.0f; } - if (ftr_actor->dynamic_work_f[0] > target) { + now = ftr_actor->dynamic_work_f[0]; + if (now > target) { ftr_actor->dynamic_work_f[0] -= 0.1f; if (ftr_actor->dynamic_work_f[0] < target) { ftr_actor->dynamic_work_f[0] = target; } - } else if (ftr_actor->dynamic_work_f[0] < target) { + } else if (now < target) { ftr_actor->dynamic_work_f[0] += 0.1f; if (ftr_actor->dynamic_work_f[0] > target) { @@ -70,33 +72,36 @@ static void fFTR_MorphHousePalette(u16* dst_pal_p, u16* off_pal_p, u16* on_pal_p } } - for (i = 0; i < 16; i++) { - f32 work; + if (dst_pal_p != NULL) { + for (i = 0; i < 16; i++) { + // clang-format off - // We assume that the palette will be RGB5A3 with no alpha component so: - // [1][rrrrr][ggggg][bbbbb] - dst_pal_p[i] = 0; + // We assume that the palette will be RGB5A3 with no alpha component so: + // [1][rrrrr][ggggg][bbbbb] + dst_pal_p[i] = 0; - // Red - work = (f32)((off_pal_p[i] >> 10) & 0x1F); - dst_pal_p[i] |= - ((u16)(work + ftr_actor->dynamic_work_f[0] * ((f32)((off_pal_p[i] >> 10) & 0x1F) - work)) & 0x1F) << 10; + // Red + dst_pal_p[i] |= ((u16)((f32)((off_pal_p[i] >> 10) & 0x1F) + + ftr_actor->dynamic_work_f[0] * + ((f32)((on_pal_p[i] >> 10) & 0x1F) - (f32)((off_pal_p[i] >> 10) & 0x1F))) & 0x1F) << 10; - // Green - work = (f32)((off_pal_p[i] >> 5) & 0x1F); - dst_pal_p[i] |= ((u16)(work + ftr_actor->dynamic_work_f[0] * ((f32)((off_pal_p[i] >> 5) & 0x1F) - work)) & 0x1F) - << 5; + // Green + dst_pal_p[i] |= ((u16)((f32)((off_pal_p[i] >> 5) & 0x1F) + + ftr_actor->dynamic_work_f[0] * + ((f32)((on_pal_p[i] >> 5) & 0x1F) - (f32)((off_pal_p[i] >> 5) & 0x1F))) & 0x1F) << 5; - // Blue - work = (f32)((off_pal_p[i] >> 0) & 0x1F); - dst_pal_p[i] |= ((u16)(work + ftr_actor->dynamic_work_f[0] * ((f32)((off_pal_p[i] >> 0) & 0x1F) - work)) & 0x1F) - << 0; + // Blue + dst_pal_p[i] |= ((u16)((f32)((off_pal_p[i] >> 0) & 0x1F) + + ftr_actor->dynamic_work_f[0] * + ((f32)((on_pal_p[i] >> 0) & 0x1F) - (f32)((off_pal_p[i] >> 0) & 0x1F))) & 0x1F) << 0; - // Alpha-bit (not sure why they bother even masking this out) - dst_pal_p[i] |= (u16)(off_pal_p[i] & 0x8000); + // Alpha-bit (not sure why they bother even masking this out) + dst_pal_p[i] |= (u16)(off_pal_p[i] & 0x8000); + // clang-format on + } + + DCStoreRangeNoSync(dst_pal_p, 16 * sizeof(u16)); } - - DCStoreRangeNoSync(dst_pal_p, 16 * sizeof(u16)); } static void fFTR_MorphHousepaletteCt(u16* dst_pal_p, u16* off_pal_p, u16* on_pal_p, FTR_ACTOR* ftr_actor) { @@ -114,7 +119,7 @@ static Gfx* fFTR_GetTwoTileGfx(int width0, int height0, int scroll_x0, int scrol u32 ctr_ofs; int ofs; - if (ftr_actor->ctr_type) { + if (ftr_actor->ctr_type == aFTR_CTR_TYPE_GAME_PLAY) { ctr_ofs = play->game_frame; } else { ctr_ofs = play->game.frame_counter; @@ -225,7 +230,7 @@ static Gfx* fFTR_GetTwoTileGfx(int width0, int height0, int scroll_x0, int scrol #include "../src/ftr/ac_kob_jimudesk.c" #include "../src/ftr/ac_kob_jimuisu.c" #include "../src/ftr/ac_kob_locker1.c" -// #include "../src/ftr/ac_kob_mastersword.c" +#include "../src/ftr/ac_kob_mastersword.c" #include "../src/ftr/ac_kob_ncube.c" #include "../src/ftr/ac_kob_pipeisu.c" #include "../src/ftr/ac_kob_rika_desk.c" @@ -319,12 +324,12 @@ static Gfx* fFTR_GetTwoTileGfx(int width0, int height0, int scroll_x0, int scrol #include "../src/ftr/ac_nog_suzuki.c" #include "../src/ftr/ac_nog_shop1.c" #include "../src/ftr/ac_nog_tai.c" -// #include "../src/ftr/ac_nog_tri_audio01.c" +#include "../src/ftr/ac_nog_tri_audio01.c" #include "../src/ftr/ac_nog_tri_bed01.c" #include "../src/ftr/ac_nog_tri_chair01.c" -// #include "../src/ftr/ac_nog_tri_chest01.c" -// #include "../src/ftr/ac_nog_tri_chest02.c" -// #include "../src/ftr/ac_nog_tri_chest03.c" +#include "../src/ftr/ac_nog_tri_chest01.c" +#include "../src/ftr/ac_nog_tri_chest02.c" +#include "../src/ftr/ac_nog_tri_chest03.c" #include "../src/ftr/ac_nog_tri_clock01.c" #include "../src/ftr/ac_nog_tri_rack01.c" #include "../src/ftr/ac_nog_tri_sofa01.c" @@ -337,7 +342,7 @@ static Gfx* fFTR_GetTwoTileGfx(int width0, int height0, int scroll_x0, int scrol #include "../src/ftr/ac_nog_zarigani.c" #include "../src/ftr/ac_nog_zassou.c" #include "../src/ftr/ac_nog_w_tree.c" -// #include "../src/ftr/ac_sum_abura.c" +#include "../src/ftr/ac_sum_abura.c" #include "../src/ftr/ac_sum_akiakane.c" #include "../src/ftr/ac_sum_angel.c" #include "../src/ftr/ac_sum_aroana.c" @@ -358,41 +363,41 @@ static Gfx* fFTR_GetTwoTileGfx(int width0, int height0, int scroll_x0, int scrol #include "../src/ftr/ac_sum_asi_chair01.c" #include "../src/ftr/ac_sum_asi_chair02.c" #include "../src/ftr/ac_sum_asi_chest01.c" -// #include "../src/ftr/ac_sum_asi_chest02.c" -// #include "../src/ftr/ac_sum_asi_chest03.c" +#include "../src/ftr/ac_sum_asi_chest02.c" +#include "../src/ftr/ac_sum_asi_chest03.c" #include "../src/ftr/ac_sum_asi_lanp01.c" #include "../src/ftr/ac_sum_asi_screen01.c" #include "../src/ftr/ac_sum_asi_table01.c" #include "../src/ftr/ac_sum_asi_table02.c" -// #include "../src/ftr/ac_sum_asi_taiko.c" +#include "../src/ftr/ac_sum_asi_taiko.c" #include "../src/ftr/ac_sum_ayu.c" #include "../src/ftr/ac_sum_baketu.c" #include "../src/ftr/ac_sum_bass.c" -// #include "../src/ftr/ac_sum_bass01.c" +#include "../src/ftr/ac_sum_bass01.c" #include "../src/ftr/ac_sum_bassl.c" #include "../src/ftr/ac_sum_bassm.c" #include "../src/ftr/ac_sum_bdcake01.c" #include "../src/ftr/ac_sum_billiads.c" -// #include "../src/ftr/ac_sum_biwa01.c" +#include "../src/ftr/ac_sum_biwa01.c" #include "../src/ftr/ac_sum_bla_bed01.c" #include "../src/ftr/ac_sum_bla_chair02.c" -// #include "../src/ftr/ac_sum_bla_chest01.c" +#include "../src/ftr/ac_sum_bla_chest01.c" #include "../src/ftr/ac_sum_bla_chest02.c" -// #include "../src/ftr/ac_sum_bla_chest03.c" +#include "../src/ftr/ac_sum_bla_chest03.c" #include "../src/ftr/ac_sum_bla_desk01.c" -// #include "../src/ftr/ac_sum_bla_lanp.c" +#include "../src/ftr/ac_sum_bla_lanp.c" #include "../src/ftr/ac_sum_bla_sofa02.c" #include "../src/ftr/ac_sum_bla_table01.c" #include "../src/ftr/ac_sum_bla_table02.c" #include "../src/ftr/ac_sum_blue_bed01.c" #include "../src/ftr/ac_sum_blue_bench01.c" -// #include "../src/ftr/ac_sum_blue_bureau01.c" -// #include "../src/ftr/ac_sum_blue_cab01.c" +#include "../src/ftr/ac_sum_blue_bureau01.c" +#include "../src/ftr/ac_sum_blue_cab01.c" #include "../src/ftr/ac_sum_blue_chair01.c" #include "../src/ftr/ac_sum_blue_chest01.c" #include "../src/ftr/ac_sum_blue_chest02.c" #include "../src/ftr/ac_sum_blue_clk.c" -// #include "../src/ftr/ac_sum_blue_lowchest01.c" +#include "../src/ftr/ac_sum_blue_lowchest01.c" #include "../src/ftr/ac_sum_blue_table01.c" #include "../src/ftr/ac_sum_bon_boke.c" #include "../src/ftr/ac_sum_bon_matu01.c" @@ -405,33 +410,33 @@ static Gfx* fFTR_GetTwoTileGfx(int width0, int height0, int scroll_x0, int scrol #include "../src/ftr/ac_sum_bon_turu.c" #include "../src/ftr/ac_sum_bon_ume.c" #include "../src/ftr/ac_sum_bookcht01.c" -// #include "../src/ftr/ac_sum_casse01.c" -// #include "../src/ftr/ac_sum_cello01.c" +#include "../src/ftr/ac_sum_casse01.c" +#include "../src/ftr/ac_sum_cello01.c" #include "../src/ftr/ac_sum_chair01.c" -// #include "../src/ftr/ac_sum_chikuon01.c" -// #include "../src/ftr/ac_sum_chikuon02.c" +#include "../src/ftr/ac_sum_chikuon01.c" +#include "../src/ftr/ac_sum_chikuon02.c" #include "../src/ftr/ac_sum_classiccabinet01.c" #include "../src/ftr/ac_sum_classicchair01.c" -// #include "../src/ftr/ac_sum_classicchest01.c" +#include "../src/ftr/ac_sum_classicchest01.c" #include "../src/ftr/ac_sum_classicchest02.c" #include "../src/ftr/ac_sum_classictable01.c" #include "../src/ftr/ac_sum_classicwardrope01.c" #include "../src/ftr/ac_sum_clbed02.c" #include "../src/ftr/ac_sum_clchair02.c" -// #include "../src/ftr/ac_sum_clchest03.c" +#include "../src/ftr/ac_sum_clchest03.c" #include "../src/ftr/ac_sum_col_chair01.c" #include "../src/ftr/ac_sum_col_chair02.c" #include "../src/ftr/ac_sum_col_chair03.c" #include "../src/ftr/ac_sum_comp01.c" -// #include "../src/ftr/ac_sum_conga01.c" -// #include "../src/ftr/ac_sum_conpo01.c" -// #include "../src/ftr/ac_sum_conpo02.c" +#include "../src/ftr/ac_sum_conga01.c" +#include "../src/ftr/ac_sum_conpo01.c" +#include "../src/ftr/ac_sum_conpo02.c" #include "../src/ftr/ac_sum_cont_bed01.c" #include "../src/ftr/ac_sum_cont_cab01.c" #include "../src/ftr/ac_sum_cont_chair01.c" #include "../src/ftr/ac_sum_cont_chest01.c" -// #include "../src/ftr/ac_sum_cont_chest02.c" -// #include "../src/ftr/ac_sum_cont_chest03.c" +#include "../src/ftr/ac_sum_cont_chest02.c" +#include "../src/ftr/ac_sum_cont_chest03.c" #include "../src/ftr/ac_sum_cont_sofa01.c" #include "../src/ftr/ac_sum_cont_sofa02.c" #include "../src/ftr/ac_sum_cont_table01.c" @@ -458,15 +463,15 @@ static Gfx* fFTR_GetTwoTileGfx(int width0, int height0, int scroll_x0, int scrol #include "../src/ftr/ac_sum_fruitchair02.c" #include "../src/ftr/ac_sum_fruitchair03.c" #include "../src/ftr/ac_sum_fruitchair04.c" -// #include "../src/ftr/ac_sum_fruitchest01.c" -// #include "../src/ftr/ac_sum_fruitchest03.c" +#include "../src/ftr/ac_sum_fruitchest01.c" +#include "../src/ftr/ac_sum_fruitchest03.c" #include "../src/ftr/ac_sum_fruitclk.c" #include "../src/ftr/ac_sum_fruittable01.c" #include "../src/ftr/ac_sum_fruittable02.c" #include "../src/ftr/ac_sum_fruittable03.c" #include "../src/ftr/ac_sum_fruittv01.c" #include "../src/ftr/ac_sum_funa.c" -// #include "../src/ftr/ac_sum_genji.c" +#include "../src/ftr/ac_sum_genji.c" #include "../src/ftr/ac_sum_gill.c" #include "../src/ftr/ac_sum_ginyanma.c" #include "../src/ftr/ac_sum_globe01.c" @@ -478,75 +483,75 @@ static Gfx* fFTR_GetTwoTileGfx(int width0, int height0, int scroll_x0, int scrol #include "../src/ftr/ac_sum_gre_chair01.c" #include "../src/ftr/ac_sum_gre_chair02.c" #include "../src/ftr/ac_sum_gre_chest01.c" -// #include "../src/ftr/ac_sum_gre_chest02.c" -// #include "../src/ftr/ac_sum_gre_chest03.c" +#include "../src/ftr/ac_sum_gre_chest02.c" +#include "../src/ftr/ac_sum_gre_chest03.c" #include "../src/ftr/ac_sum_gre_counter01.c" #include "../src/ftr/ac_sum_gre_desk01.c" -// #include "../src/ftr/ac_sum_gre_lanp01.c" +#include "../src/ftr/ac_sum_gre_lanp01.c" #include "../src/ftr/ac_sum_gre_table01.c" -// #include "../src/ftr/ac_sum_guitar01.c" -// #include "../src/ftr/ac_sum_guitar02.c" -// #include "../src/ftr/ac_sum_guitar03.c" +#include "../src/ftr/ac_sum_guitar01.c" +#include "../src/ftr/ac_sum_guitar02.c" +#include "../src/ftr/ac_sum_guitar03.c" #include "../src/ftr/ac_sum_gupi.c" #include "../src/ftr/ac_sum_hachi.c" #include "../src/ftr/ac_sum_hal_bed01.c" #include "../src/ftr/ac_sum_hal_box01.c" #include "../src/ftr/ac_sum_hal_chair01.c" #include "../src/ftr/ac_sum_hal_chest01.c" -// #include "../src/ftr/ac_sum_hal_chest02.c" -// #include "../src/ftr/ac_sum_hal_chest03.c" +#include "../src/ftr/ac_sum_hal_chest02.c" +#include "../src/ftr/ac_sum_hal_chest03.c" #include "../src/ftr/ac_sum_hal_clk01.c" #include "../src/ftr/ac_sum_hal_lanp01.c" #include "../src/ftr/ac_sum_hal_mirror01.c" #include "../src/ftr/ac_sum_hal_pkin.c" #include "../src/ftr/ac_sum_hal_sofa01.c" #include "../src/ftr/ac_sum_hal_table01.c" -// #include "../src/ftr/ac_sum_harp.c" +#include "../src/ftr/ac_sum_harp.c" #include "../src/ftr/ac_sum_hera.c" -// #include "../src/ftr/ac_sum_higurashi.c" +#include "../src/ftr/ac_sum_higurashi.c" #include "../src/ftr/ac_sum_hirata.c" #include "../src/ftr/ac_sum_ito.c" #include "../src/ftr/ac_sum_iwana.c" -// #include "../src/ftr/ac_sum_jukebox.c" +#include "../src/ftr/ac_sum_jukebox.c" #include "../src/ftr/ac_sum_kabuto.c" #include "../src/ftr/ac_sum_kamakiri.c" #include "../src/ftr/ac_sum_kanabun.c" #include "../src/ftr/ac_sum_kaseki.c" #include "../src/ftr/ac_sum_kiageha.c" #include "../src/ftr/ac_sum_kingyo.c" -// #include "../src/ftr/ac_sum_kirigirisu.c" -// #include "../src/ftr/ac_sum_kisha.c" +#include "../src/ftr/ac_sum_kirigirisu.c" +#include "../src/ftr/ac_sum_kisha.c" #include "../src/ftr/ac_sum_kitchair01.c" #include "../src/ftr/ac_sum_kittable01.c" #include "../src/ftr/ac_sum_koi.c" #include "../src/ftr/ac_sum_kokuban.c" -// #include "../src/ftr/ac_sum_koorogi.c" +#include "../src/ftr/ac_sum_koorogi.c" #include "../src/ftr/ac_sum_liccabed.c" #include "../src/ftr/ac_sum_liccachair.c" -// #include "../src/ftr/ac_sum_liccachest.c" +#include "../src/ftr/ac_sum_liccachest.c" #include "../src/ftr/ac_sum_liccakitchen.c" #include "../src/ftr/ac_sum_liccalanp.c" -// #include "../src/ftr/ac_sum_liccalowchest.c" +#include "../src/ftr/ac_sum_liccalowchest.c" #include "../src/ftr/ac_sum_liccalowtable.c" #include "../src/ftr/ac_sum_liccamirror.c" -// #include "../src/ftr/ac_sum_liccapiano.c" +#include "../src/ftr/ac_sum_liccapiano.c" #include "../src/ftr/ac_sum_liccasofa.c" #include "../src/ftr/ac_sum_liccatable.c" #include "../src/ftr/ac_sum_log_bed01.c" #include "../src/ftr/ac_sum_log_chair01.c" #include "../src/ftr/ac_sum_log_chair02.c" #include "../src/ftr/ac_sum_log_chair03.c" -// #include "../src/ftr/ac_sum_log_chest01.c" -// #include "../src/ftr/ac_sum_log_chest02.c" +#include "../src/ftr/ac_sum_log_chest01.c" +#include "../src/ftr/ac_sum_log_chest02.c" #include "../src/ftr/ac_sum_log_chest03.c" #include "../src/ftr/ac_sum_log_hatoclk.c" #include "../src/ftr/ac_sum_log_table01.c" #include "../src/ftr/ac_sum_log_table02.c" -// #include "../src/ftr/ac_sum_lv_stereo.c" -// #include "../src/ftr/ac_sum_matumushi.c" -// #include "../src/ftr/ac_sum_md01.c" +#include "../src/ftr/ac_sum_lv_stereo.c" +#include "../src/ftr/ac_sum_matumushi.c" +#include "../src/ftr/ac_sum_md01.c" #include "../src/ftr/ac_sum_mezaclock.c" -// #include "../src/ftr/ac_sum_minmin.c" +#include "../src/ftr/ac_sum_minmin.c" #include "../src/ftr/ac_sum_misin01.c" #include "../src/ftr/ac_sum_miyama.c" #include "../src/ftr/ac_sum_mizunomi.c" @@ -566,8 +571,8 @@ static Gfx* fFTR_GetTwoTileGfx(int width0, int height0, int scroll_x0, int scrol #include "../src/ftr/ac_sum_oldsofa01.c" #include "../src/ftr/ac_sum_oniyanma.c" #include "../src/ftr/ac_sum_oonamazu.c" -// #include "../src/ftr/ac_sum_pet01.c" -// #include "../src/ftr/ac_sum_piano01.c" +#include "../src/ftr/ac_sum_pet01.c" +#include "../src/ftr/ac_sum_piano01.c" #include "../src/ftr/ac_sum_pirania.c" #include "../src/ftr/ac_sum_pl_aloe01.c" #include "../src/ftr/ac_sum_pl_ananas.c" @@ -590,12 +595,12 @@ static Gfx* fFTR_GetTwoTileGfx(int width0, int height0, int scroll_x0, int scrol #include "../src/ftr/ac_sum_poptable01.c" #include "../src/ftr/ac_sum_poptable02.c" #include "../src/ftr/ac_sum_poptable03.c" -// #include "../src/ftr/ac_sum_radio01.c" -// #include "../src/ftr/ac_sum_radio02.c" +#include "../src/ftr/ac_sum_radio01.c" +#include "../src/ftr/ac_sum_radio02.c" #include "../src/ftr/ac_sum_raigyo.c" #include "../src/ftr/ac_sum_ratan_bed01.c" -// #include "../src/ftr/ac_sum_ratan_chest01.c" -// #include "../src/ftr/ac_sum_ratan_chest02.c" +#include "../src/ftr/ac_sum_ratan_chest01.c" +#include "../src/ftr/ac_sum_ratan_chest02.c" #include "../src/ftr/ac_sum_ratan_chest03.c" #include "../src/ftr/ac_sum_ratan_isu01.c" #include "../src/ftr/ac_sum_ratan_isu02.c" @@ -603,12 +608,12 @@ static Gfx* fFTR_GetTwoTileGfx(int width0, int height0, int scroll_x0, int scrol #include "../src/ftr/ac_sum_ratan_mirror.c" #include "../src/ftr/ac_sum_ratan_screen.c" #include "../src/ftr/ac_sum_ratan_table01.c" -// #include "../src/ftr/ac_sum_reco01.c" +#include "../src/ftr/ac_sum_reco01.c" #include "../src/ftr/ac_sum_roboclk.c" -// #include "../src/ftr/ac_sum_roboconpo.c" +#include "../src/ftr/ac_sum_roboconpo.c" #include "../src/ftr/ac_sum_sabo01.c" #include "../src/ftr/ac_sum_sabo02.c" -// #include "../src/ftr/ac_sum_saiconpo.c" +#include "../src/ftr/ac_sum_saiconpo.c" #include "../src/ftr/ac_sum_sake.c" #include "../src/ftr/ac_sum_shiokara.c" #include "../src/ftr/ac_sum_shoukaki.c" @@ -616,22 +621,22 @@ static Gfx* fFTR_GetTwoTileGfx(int width0, int height0, int scroll_x0, int scrol #include "../src/ftr/ac_sum_sofe01.c" #include "../src/ftr/ac_sum_sofe02.c" #include "../src/ftr/ac_sum_sofe03.c" -// #include "../src/ftr/ac_sum_stereo01.c" -// #include "../src/ftr/ac_sum_stereo02.c" +#include "../src/ftr/ac_sum_stereo01.c" +#include "../src/ftr/ac_sum_stereo02.c" #include "../src/ftr/ac_sum_stove01.c" #include "../src/ftr/ac_sum_suberi01.c" -// #include "../src/ftr/ac_sum_suzumushi.c" -// #include "../src/ftr/ac_sum_syouryou.c" -// #include "../src/ftr/ac_sum_taiko01.c" +#include "../src/ftr/ac_sum_suzumushi.c" +#include "../src/ftr/ac_sum_syouryou.c" +#include "../src/ftr/ac_sum_taiko01.c" #include "../src/ftr/ac_sum_takkyu.c" #include "../src/ftr/ac_sum_tamamushi.c" #include "../src/ftr/ac_sum_tanago.c" #include "../src/ftr/ac_sum_taru01.c" #include "../src/ftr/ac_sum_taru02.c" -// #include "../src/ftr/ac_sum_tekin01.c" +#include "../src/ftr/ac_sum_tekin01.c" #include "../src/ftr/ac_sum_tentou.c" -// #include "../src/ftr/ac_sum_timpani01.c" -// #include "../src/ftr/ac_sum_tonosama.c" +#include "../src/ftr/ac_sum_timpani01.c" +#include "../src/ftr/ac_sum_tonosama.c" #include "../src/ftr/ac_sum_totemp01.c" #include "../src/ftr/ac_sum_totemp02.c" #include "../src/ftr/ac_sum_totemp03.c" @@ -640,7 +645,7 @@ static Gfx* fFTR_GetTwoTileGfx(int width0, int height0, int scroll_x0, int scrol #include "../src/ftr/ac_sum_touro02.c" #include "../src/ftr/ac_sum_touro03.c" #include "../src/ftr/ac_sum_touro04.c" -// #include "../src/ftr/ac_sum_tukutuku.c" +#include "../src/ftr/ac_sum_tukutuku.c" #include "../src/ftr/ac_sum_tv01.c" #include "../src/ftr/ac_sum_tv02.c" #include "../src/ftr/ac_sum_ugui.c" @@ -650,24 +655,24 @@ static Gfx* fFTR_GetTwoTileGfx(int width0, int height0, int scroll_x0, int scrol #include "../src/ftr/ac_sum_uwa_vase01.c" #include "../src/ftr/ac_sum_uwa_vase02.c" #include "../src/ftr/ac_sum_uwa_vase03.c" -// #include "../src/ftr/ac_sum_viola01.c" +#include "../src/ftr/ac_sum_viola01.c" #include "../src/ftr/ac_sum_wakasagi.c" #include "../src/ftr/ac_sum_wc01.c" #include "../src/ftr/ac_sum_wc02.c" #include "../src/ftr/ac_sum_whi_bed01.c" -// #include "../src/ftr/ac_sum_whi_chest01.c" -// #include "../src/ftr/ac_sum_whi_chest02.c" -// #include "../src/ftr/ac_sum_whi_lanp.c" +#include "../src/ftr/ac_sum_whi_chest01.c" +#include "../src/ftr/ac_sum_whi_chest02.c" +#include "../src/ftr/ac_sum_whi_lanp.c" #include "../src/ftr/ac_sum_whi_mirror.c" #include "../src/ftr/ac_sum_whi_sofa01.c" #include "../src/ftr/ac_sum_x_bed01.c" #include "../src/ftr/ac_sum_x_chair01.c" -// #include "../src/ftr/ac_sum_x_chest01.c" -// #include "../src/ftr/ac_sum_x_chest02.c" +#include "../src/ftr/ac_sum_x_chest01.c" +#include "../src/ftr/ac_sum_x_chest02.c" #include "../src/ftr/ac_sum_x_chest03.c" #include "../src/ftr/ac_sum_x_clk.c" #include "../src/ftr/ac_sum_x_lanp.c" -// #include "../src/ftr/ac_sum_x_piano.c" +#include "../src/ftr/ac_sum_x_piano.c" #include "../src/ftr/ac_sum_x_sofa01.c" #include "../src/ftr/ac_sum_x_table01.c" #include "../src/ftr/ac_sum_yamame.c" diff --git a/src/ftr/ac_kob_mastersword.c b/src/ftr/ac_kob_mastersword.c index b4651277..0650ac33 100644 --- a/src/ftr/ac_kob_mastersword.c +++ b/src/ftr/ac_kob_mastersword.c @@ -4,6 +4,31 @@ extern Gfx int_kob_mastersword_onT_model[]; static void aKobMasterSword_mv(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor, GAME* game, u8* data); static void aKobMasterSword01_dw(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor, GAME* game, u8* data); +extern Gfx int_kob_mastersword_env_model[]; + +static void aKobMasterSword_mv(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor, GAME* game, u8* data) { +} + +static void aKobMasterSword01_dw(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor, GAME* game, u8* data) { + GAME_PLAY* play = (GAME_PLAY*)game; + xyz_t light_direction; + xyz_t pos = ftr_actor->position; + + light_direction.x = play->kankyo.sun_light.lights.diffuse.x; + light_direction.y = play->kankyo.sun_light.lights.diffuse.y; + light_direction.z = play->kankyo.sun_light.lights.diffuse.z; + + pos.y += 300.0f; + + OPEN_DISP(game->graph); + + gDPPipeSync(NEXT_POLY_OPA_DISP); + HiliteReflect_init(&pos, &play->view.eye, &light_direction, game->graph); + gSPDisplayList(NEXT_POLY_OPA_DISP, int_kob_mastersword_env_model); + + CLOSE_DISP(game->graph); +} + static aFTR_vtable_c aKobMasterSword01_func = { NULL, &aKobMasterSword_mv, diff --git a/src/ftr/ac_nog_tri_audio01.c b/src/ftr/ac_nog_tri_audio01.c index ebf542d2..73f2a946 100644 --- a/src/ftr/ac_nog_tri_audio01.c +++ b/src/ftr/ac_nog_tri_audio01.c @@ -4,6 +4,19 @@ static void aNogTriAudio01_mv(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor, GAME* static void aNogTriAudio01_dw(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor, GAME* game, u8* data); static void aNogTriAudio01_dt(FTR_ACTOR* ftr_actor, u8* data); +static void aNogTriAudio01_ct(FTR_ACTOR* ftr_actor, u8* data) { +} + +static void aNogTriAudio01_mv(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor, GAME* game, u8* data) { + (*Common_Get(clip).my_room_clip->mini_disk_common_move_proc)(ftr_actor, my_room_actor, game, 0.0f, 0.0f); +} + +static void aNogTriAudio01_dw(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor, GAME* game, u8* data) { +} + +static void aNogTriAudio01_dt(FTR_ACTOR* ftr_actor, u8* data) { +} + static aFTR_vtable_c aNogTriAudio01_func = { &aNogTriAudio01_ct, &aNogTriAudio01_mv, diff --git a/src/ftr/ac_nog_tri_chest01.c b/src/ftr/ac_nog_tri_chest01.c index 977b963c..7a4aa665 100644 --- a/src/ftr/ac_nog_tri_chest01.c +++ b/src/ftr/ac_nog_tri_chest01.c @@ -3,6 +3,41 @@ static void aNogTriChest01_mv(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor, GAME* static void aNogTriChest01_dw(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor, GAME* game, u8* data); static void aNogTriChest01_dt(FTR_ACTOR* ftr_actor, u8* data); +extern cKF_Skeleton_R_c cKF_bs_r_int_nog_tri_chest01; +extern cKF_Animation_R_c cKF_ba_r_int_nog_tri_chest01; + +static void aNogTriChest01_ct(FTR_ACTOR* ftr_actor, u8* data) { + cKF_SkeletonInfo_R_c* keyframe = &ftr_actor->keyframe; + + cKF_SkeletonInfo_R_ct(keyframe, &cKF_bs_r_int_nog_tri_chest01, &cKF_ba_r_int_nog_tri_chest01, ftr_actor->joint, ftr_actor->morph); + cKF_SkeletonInfo_R_init_standard_stop(keyframe, &cKF_ba_r_int_nog_tri_chest01, NULL); + keyframe->frame_control.speed = 0.0f; + cKF_SkeletonInfo_R_play(keyframe); +} + +static void aNogTriChest01_mv(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor, GAME* game, u8* data) { + cKF_SkeletonInfo_R_c* keyframe = &ftr_actor->keyframe; + + if (Common_Get(clip).my_room_clip != NULL) { + (*Common_Get(clip).my_room_clip->open_close_common_move_proc)(ftr_actor, my_room_actor, game, 1.0f, 10.0f); + } +} + +static void aNogTriChest01_dw(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor, GAME* game, u8* data) { + GAME_PLAY* play = (GAME_PLAY*)game; + cKF_SkeletonInfo_R_c* keyframe = &ftr_actor->keyframe; + Mtx* mtx = ftr_actor->skeleton_mtx[game->frame_counter & 1]; + + OPEN_DISP(game->graph); + gSPMatrix(NEXT_POLY_OPA_DISP, _Matrix_to_Mtx_new(game->graph), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); + CLOSE_DISP(game->graph); + + cKF_Si3_draw_R_SV(game, keyframe, mtx, NULL, NULL, NULL); +} + +static void aNogTriChest01_dt(FTR_ACTOR* ftr_actor, u8* data) { +} + static aFTR_vtable_c aNogTriChest01_func = { &aNogTriChest01_ct, &aNogTriChest01_mv, diff --git a/src/ftr/ac_nog_tri_chest02.c b/src/ftr/ac_nog_tri_chest02.c index 5d8a9948..f5378f74 100644 --- a/src/ftr/ac_nog_tri_chest02.c +++ b/src/ftr/ac_nog_tri_chest02.c @@ -3,6 +3,42 @@ static void aNogTriChest02_mv(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor, GAME* static void aNogTriChest02_dw(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor, GAME* game, u8* data); static void aNogTriChest02_dt(FTR_ACTOR* ftr_actor, u8* data); +extern cKF_Skeleton_R_c cKF_bs_r_int_nog_tri_chest02; +extern cKF_Animation_R_c cKF_ba_r_int_nog_tri_chest02; + +static void aNogTriChest02_ct(FTR_ACTOR* ftr_actor, u8* data) { + cKF_SkeletonInfo_R_c* keyframe = &ftr_actor->keyframe; + + cKF_SkeletonInfo_R_ct(keyframe, &cKF_bs_r_int_nog_tri_chest02, &cKF_ba_r_int_nog_tri_chest02, ftr_actor->joint, ftr_actor->morph); + cKF_SkeletonInfo_R_init_standard_stop(keyframe, &cKF_ba_r_int_nog_tri_chest02, NULL); + keyframe->frame_control.speed = 0.0f; + cKF_SkeletonInfo_R_play(keyframe); +} + +static void aNogTriChest02_mv(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor, GAME* game, u8* data) { + cKF_SkeletonInfo_R_c* keyframe = &ftr_actor->keyframe; + + if (Common_Get(clip).my_room_clip != NULL) { + (*Common_Get(clip).my_room_clip->open_close_common_move_proc)(ftr_actor, my_room_actor, game, 1.0f, 12.0f); + } +} + +static void aNogTriChest02_dw(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor, GAME* game, u8* data) { + GAME_PLAY* play = (GAME_PLAY*)game; + cKF_SkeletonInfo_R_c* keyframe = &ftr_actor->keyframe; + Mtx* mtx = ftr_actor->skeleton_mtx[game->frame_counter & 1]; + + OPEN_DISP(game->graph); + gSPMatrix(NEXT_POLY_OPA_DISP, _Matrix_to_Mtx_new(game->graph), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); + CLOSE_DISP(game->graph); + + cKF_Si3_draw_R_SV(game, keyframe, mtx, NULL, NULL, NULL); +} + +static void aNogTriChest02_dt(FTR_ACTOR* ftr_actor, u8* data) { +} + + static aFTR_vtable_c aNogTriChest02_func = { &aNogTriChest02_ct, &aNogTriChest02_mv, diff --git a/src/ftr/ac_nog_tri_chest03.c b/src/ftr/ac_nog_tri_chest03.c index 71b21a69..91dbd78c 100644 --- a/src/ftr/ac_nog_tri_chest03.c +++ b/src/ftr/ac_nog_tri_chest03.c @@ -3,6 +3,41 @@ static void aNogTriChest03_mv(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor, GAME* static void aNogTriChest03_dw(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor, GAME* game, u8* data); static void aNogTriChest03_dt(FTR_ACTOR* ftr_actor, u8* data); +extern cKF_Skeleton_R_c cKF_bs_r_int_nog_tri_chest03; +extern cKF_Animation_R_c cKF_ba_r_int_nog_tri_chest03; + +static void aNogTriChest03_ct(FTR_ACTOR* ftr_actor, u8* data) { + cKF_SkeletonInfo_R_c* keyframe = &ftr_actor->keyframe; + + cKF_SkeletonInfo_R_ct(keyframe, &cKF_bs_r_int_nog_tri_chest03, &cKF_ba_r_int_nog_tri_chest03, ftr_actor->joint, ftr_actor->morph); + cKF_SkeletonInfo_R_init_standard_stop(keyframe, &cKF_ba_r_int_nog_tri_chest03, NULL); + cKF_SkeletonInfo_R_play(keyframe); + keyframe->frame_control.speed = 0.0f; +} + +static void aNogTriChest03_mv(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor, GAME* game, u8* data) { + cKF_SkeletonInfo_R_c* keyframe = &ftr_actor->keyframe; + + if (Common_Get(clip).my_room_clip != NULL) { + (*Common_Get(clip).my_room_clip->open_close_common_move_proc)(ftr_actor, my_room_actor, game, 1.0f, 16.0f); + } +} + +static void aNogTriChest03_dw(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor, GAME* game, u8* data) { + GAME_PLAY* play = (GAME_PLAY*)game; + cKF_SkeletonInfo_R_c* keyframe = &ftr_actor->keyframe; + Mtx* mtx = ftr_actor->skeleton_mtx[game->frame_counter & 1]; + + OPEN_DISP(game->graph); + gSPMatrix(NEXT_POLY_OPA_DISP, _Matrix_to_Mtx_new(game->graph), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); + CLOSE_DISP(game->graph); + + cKF_Si3_draw_R_SV(game, keyframe, mtx, NULL, NULL, NULL); +} + +static void aNogTriChest03_dt(FTR_ACTOR* ftr_actor, u8* data) { +} + static aFTR_vtable_c aNogTriChest03_func = { &aNogTriChest03_ct, &aNogTriChest03_mv, diff --git a/src/ftr/ac_sum_abura.c b/src/ftr/ac_sum_abura.c index 667d7f2f..0433c55b 100644 --- a/src/ftr/ac_sum_abura.c +++ b/src/ftr/ac_sum_abura.c @@ -2,6 +2,42 @@ static void aSumAbura_ct(FTR_ACTOR* ftr_actor, u8* data); static void aSumAbura_mv(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor, GAME* game, u8* data); static void aSumAbura_dw(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor, GAME* game, u8* data); +extern cKF_Animation_R_c cKF_ba_r_int_sum_abura; +extern cKF_Skeleton_R_c cKF_bs_r_int_sum_abura; + +static void aSumAbura_ct(FTR_ACTOR* ftr_actor, u8* data) { + cKF_SkeletonInfo_R_c* keyframe = &ftr_actor->keyframe; + + cKF_SkeletonInfo_R_ct(keyframe, &cKF_bs_r_int_sum_abura, &cKF_ba_r_int_sum_abura, ftr_actor->joint, ftr_actor->morph); + cKF_SkeletonInfo_R_init_standard_stop(keyframe, &cKF_ba_r_int_sum_abura, NULL); + cKF_SkeletonInfo_R_play(keyframe); + keyframe->frame_control.speed = 0.0f; +} + +static void aSumAbura_mv(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor, GAME* game, u8* data) { + cKF_SkeletonInfo_R_c* keyframe; + int valid; + + if (aFTR_CAN_PLAY_SE(ftr_actor)) { + keyframe = &ftr_actor->keyframe; + valid = sAdo_RoomIncectPos((u32)ftr_actor, 60, &ftr_actor->position); + + if (valid != 0) { + cKF_SkeletonInfo_R_init_standard_stop(keyframe, &cKF_ba_r_int_sum_abura, NULL); + keyframe->frame_control.speed = 0.5f; + } + cKF_SkeletonInfo_R_play(keyframe); + } + +} + +static void aSumAbura_dw(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor, GAME* game, u8* data) { + cKF_SkeletonInfo_R_c* keyframe = &ftr_actor->keyframe; + Mtx* mtx = ftr_actor->skeleton_mtx[game->frame_counter & 1]; + + cKF_Si3_draw_R_SV(game, keyframe, mtx, NULL, NULL, ftr_actor); +} + static aFTR_vtable_c aSumAbura_func = { &aSumAbura_ct, &aSumAbura_mv, diff --git a/src/ftr/ac_sum_asi_chest02.c b/src/ftr/ac_sum_asi_chest02.c index 44e22197..00d42634 100644 --- a/src/ftr/ac_sum_asi_chest02.c +++ b/src/ftr/ac_sum_asi_chest02.c @@ -3,6 +3,41 @@ static void aSumAsiChest02_mv(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor, GAME* static void aSumAsiChest02_dw(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor, GAME* game, u8* data); static void aSumAsiChest02_dt(FTR_ACTOR* ftr_actor, u8* data); +extern cKF_Skeleton_R_c cKF_bs_r_int_sum_asi_chest02; +extern cKF_Animation_R_c cKF_ba_r_int_sum_asi_chest02; + +static void aSumAsiChest02_ct(FTR_ACTOR* ftr_actor, u8* data) { + cKF_SkeletonInfo_R_c* keyframe = &ftr_actor->keyframe; + + cKF_SkeletonInfo_R_ct(keyframe, &cKF_bs_r_int_sum_asi_chest02, &cKF_ba_r_int_sum_asi_chest02, ftr_actor->joint, ftr_actor->morph); + cKF_SkeletonInfo_R_init_standard_stop(keyframe, &cKF_ba_r_int_sum_asi_chest02, NULL); + keyframe->frame_control.speed = 0.0f; + cKF_SkeletonInfo_R_play(keyframe); +} + +static void aSumAsiChest02_mv(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor, GAME* game, u8* data) { + cKF_SkeletonInfo_R_c* keyframe = &ftr_actor->keyframe; + + if (Common_Get(clip).my_room_clip != NULL) { + (*Common_Get(clip).my_room_clip->open_close_common_move_proc)(ftr_actor, my_room_actor, game, 1.0f, 10.0f); + } +} + +static void aSumAsiChest02_dw(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor, GAME* game, u8* data) { + GAME_PLAY* play = (GAME_PLAY*)game; + cKF_SkeletonInfo_R_c* keyframe = &ftr_actor->keyframe; + Mtx* mtx = ftr_actor->skeleton_mtx[game->frame_counter & 1]; + + OPEN_DISP(game->graph); + gSPMatrix(NEXT_POLY_OPA_DISP, _Matrix_to_Mtx_new(game->graph), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); + CLOSE_DISP(game->graph); + + cKF_Si3_draw_R_SV(game, keyframe, mtx, NULL, NULL, NULL); +} + +static void aSumAsiChest02_dt(FTR_ACTOR* ftr_actor, u8* data) { +} + static aFTR_vtable_c aSumAsiChest02_func = { &aSumAsiChest02_ct, &aSumAsiChest02_mv, diff --git a/src/ftr/ac_sum_asi_chest03.c b/src/ftr/ac_sum_asi_chest03.c index e7ff2a30..45584070 100644 --- a/src/ftr/ac_sum_asi_chest03.c +++ b/src/ftr/ac_sum_asi_chest03.c @@ -3,6 +3,41 @@ static void aSumAsiChest03_mv(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor, GAME* static void aSumAsiChest03_dw(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor, GAME* game, u8* data); static void aSumAsiChest03_dt(FTR_ACTOR* ftr_actor, u8* data); +extern cKF_Skeleton_R_c cKF_bs_r_int_sum_asi_chest03; +extern cKF_Animation_R_c cKF_ba_r_int_sum_asi_chest03; + +static void aSumAsiChest03_ct(FTR_ACTOR* ftr_actor, u8* data) { + cKF_SkeletonInfo_R_c* keyframe = &ftr_actor->keyframe; + + cKF_SkeletonInfo_R_ct(keyframe, &cKF_bs_r_int_sum_asi_chest03, &cKF_ba_r_int_sum_asi_chest03, ftr_actor->joint, ftr_actor->morph); + cKF_SkeletonInfo_R_init_standard_stop(keyframe, &cKF_ba_r_int_sum_asi_chest03, NULL); + keyframe->frame_control.speed = 0.0f; + cKF_SkeletonInfo_R_play(keyframe); +} + +static void aSumAsiChest03_mv(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor, GAME* game, u8* data) { + cKF_SkeletonInfo_R_c* keyframe = &ftr_actor->keyframe; + + if (Common_Get(clip).my_room_clip != NULL) { + (*Common_Get(clip).my_room_clip->open_close_common_move_proc)(ftr_actor, my_room_actor, game, 1.0f, 12.0f); + } +} + +static void aSumAsiChest03_dw(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor, GAME* game, u8* data) { + GAME_PLAY* play = (GAME_PLAY*)game; + cKF_SkeletonInfo_R_c* keyframe = &ftr_actor->keyframe; + Mtx* mtx = ftr_actor->skeleton_mtx[game->frame_counter & 1]; + + OPEN_DISP(game->graph); + gSPMatrix(NEXT_POLY_OPA_DISP, _Matrix_to_Mtx_new(game->graph), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); + CLOSE_DISP(game->graph); + + cKF_Si3_draw_R_SV(game, keyframe, mtx, NULL, NULL, NULL); +} + +static void aSumAsiChest03_dt(FTR_ACTOR* ftr_actor, u8* data) { +} + static aFTR_vtable_c aSumAsiChest03_func = { &aSumAsiChest03_ct, &aSumAsiChest03_mv, diff --git a/src/ftr/ac_sum_asi_taiko.c b/src/ftr/ac_sum_asi_taiko.c index d7f41bd4..407c13c2 100644 --- a/src/ftr/ac_sum_asi_taiko.c +++ b/src/ftr/ac_sum_asi_taiko.c @@ -5,6 +5,22 @@ static void aSumasitaiko_mv(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor, GAME* ga static void aSumasitaiko_dw(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor, GAME* game, u8* data); static void aSumasitaiko_dt(FTR_ACTOR* ftr_actor, u8* data); +static void aSumasitaiko_ct(FTR_ACTOR* ftr_actor, u8* data) { +} + +static void aSumasitaiko_mv(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor) { + if (Common_Get(clip).my_room_clip != NULL) { + Common_Get(clip).my_room_clip->sound_melody_proc(ftr_actor, my_room_actor, 12); + } +} + +static void aSumasitaiko_dw(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor, GAME* game, u8* data) { +} + +static void aSumasitaiko_dt(FTR_ACTOR* ftr_actor, u8* data) { +} + + static aFTR_vtable_c aSumasitaiko_func = { &aSumasitaiko_ct, &aSumasitaiko_mv, diff --git a/src/ftr/ac_sum_bass01.c b/src/ftr/ac_sum_bass01.c index 4c202478..435e4a1c 100644 --- a/src/ftr/ac_sum_bass01.c +++ b/src/ftr/ac_sum_bass01.c @@ -5,6 +5,21 @@ static void aSumBass01_mv(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor, GAME* game static void aSumBass01_dw(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor, GAME* game, u8* data); static void aSumBass01_dt(FTR_ACTOR* ftr_actor, u8* data); +static void aSumBass01_ct(FTR_ACTOR* ftr_actor, u8* data) { +} + +static void aSumBass01_mv(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor) { + if (Common_Get(clip).my_room_clip != NULL) { + Common_Get(clip).my_room_clip->sound_melody_proc(ftr_actor, my_room_actor, 9); + } +} + +static void aSumBass01_dw(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor, GAME* game, u8* data) { +} + +static void aSumBass01_dt(FTR_ACTOR* ftr_actor, u8* data) { +} + static aFTR_vtable_c aSumBass01_func = { &aSumBass01_ct, &aSumBass01_mv, diff --git a/src/ftr/ac_sum_biwa01.c b/src/ftr/ac_sum_biwa01.c index a04ccda5..92621503 100644 --- a/src/ftr/ac_sum_biwa01.c +++ b/src/ftr/ac_sum_biwa01.c @@ -5,6 +5,21 @@ static void aSumBiwa01_mv(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor, GAME* game static void aSumBiwa01_dw(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor, GAME* game, u8* data); static void aSumBiwa01_dt(FTR_ACTOR* ftr_actor, u8* data); +static void aSumBiwa01_ct(FTR_ACTOR* ftr_actor, u8* data) { +} + +static void aSumBiwa01_mv(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor) { + if (Common_Get(clip).my_room_clip != NULL) { + Common_Get(clip).my_room_clip->sound_melody_proc(ftr_actor, my_room_actor, 6); + } +} + +static void aSumBiwa01_dw(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor, GAME* game, u8* data) { +} + +static void aSumBiwa01_dt(FTR_ACTOR* ftr_actor, u8* data) { +} + static aFTR_vtable_c aSumBiwa01_func = { &aSumBiwa01_ct, &aSumBiwa01_mv, diff --git a/src/ftr/ac_sum_bla_chest01.c b/src/ftr/ac_sum_bla_chest01.c index c80143b1..e3be937f 100644 --- a/src/ftr/ac_sum_bla_chest01.c +++ b/src/ftr/ac_sum_bla_chest01.c @@ -3,6 +3,41 @@ static void aSumBlaChest01_mv(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor, GAME* static void aSumBlaChest01_dw(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor, GAME* game, u8* data); static void aSumBlaChest01_dt(FTR_ACTOR* ftr_actor, u8* data); +extern cKF_Skeleton_R_c cKF_bs_r_int_sum_bla_chest01; +extern cKF_Animation_R_c cKF_ba_r_int_sum_bla_chest01; + +static void aSumBlaChest01_ct(FTR_ACTOR* ftr_actor, u8* data) { + cKF_SkeletonInfo_R_c* keyframe = &ftr_actor->keyframe; + + cKF_SkeletonInfo_R_ct(keyframe, &cKF_bs_r_int_sum_bla_chest01, &cKF_ba_r_int_sum_bla_chest01, ftr_actor->joint, ftr_actor->morph); + cKF_SkeletonInfo_R_init_standard_stop(keyframe, &cKF_ba_r_int_sum_bla_chest01, NULL); + keyframe->frame_control.speed = 0.0f; + cKF_SkeletonInfo_R_play(keyframe); +} + +static void aSumBlaChest01_mv(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor, GAME* game, u8* data) { + cKF_SkeletonInfo_R_c* keyframe = &ftr_actor->keyframe; + + if (Common_Get(clip).my_room_clip != NULL) { + (*Common_Get(clip).my_room_clip->open_close_common_move_proc)(ftr_actor, my_room_actor, game, 1.0f, 10.0f); + } +} + +static void aSumBlaChest01_dw(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor, GAME* game, u8* data) { + GAME_PLAY* play = (GAME_PLAY*)game; + cKF_SkeletonInfo_R_c* keyframe = &ftr_actor->keyframe; + Mtx* mtx = ftr_actor->skeleton_mtx[game->frame_counter & 1]; + + OPEN_DISP(game->graph); + gSPMatrix(NEXT_POLY_OPA_DISP, _Matrix_to_Mtx_new(game->graph), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); + CLOSE_DISP(game->graph); + + cKF_Si3_draw_R_SV(game, keyframe, mtx, NULL, NULL, NULL); +} + +static void aSumBlaChest01_dt(FTR_ACTOR* ftr_actor, u8* data) { +} + static aFTR_vtable_c aSumBlaChest01_func = { &aSumBlaChest01_ct, &aSumBlaChest01_mv, diff --git a/src/ftr/ac_sum_bla_chest03.c b/src/ftr/ac_sum_bla_chest03.c index 3994bdae..a169bbab 100644 --- a/src/ftr/ac_sum_bla_chest03.c +++ b/src/ftr/ac_sum_bla_chest03.c @@ -3,6 +3,41 @@ static void aSumBlaChest03_mv(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor, GAME* static void aSumBlaChest03_dw(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor, GAME* game, u8* data); static void aSumBlaChest03_dt(FTR_ACTOR* ftr_actor, u8* data); +extern cKF_Skeleton_R_c cKF_bs_r_int_sum_bla_chest03; +extern cKF_Animation_R_c cKF_ba_r_int_sum_bla_chest03; + +static void aSumBlaChest03_ct(FTR_ACTOR* ftr_actor, u8* data) { + cKF_SkeletonInfo_R_c* keyframe = &ftr_actor->keyframe; + + cKF_SkeletonInfo_R_ct(keyframe, &cKF_bs_r_int_sum_bla_chest03, &cKF_ba_r_int_sum_bla_chest03, ftr_actor->joint, ftr_actor->morph); + cKF_SkeletonInfo_R_init_standard_stop(keyframe, &cKF_ba_r_int_sum_bla_chest03, NULL); + keyframe->frame_control.speed = 0.0f; + cKF_SkeletonInfo_R_play(keyframe); +} + +static void aSumBlaChest03_mv(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor, GAME* game, u8* data) { + cKF_SkeletonInfo_R_c* keyframe = &ftr_actor->keyframe; + + if (Common_Get(clip).my_room_clip != NULL) { + (*Common_Get(clip).my_room_clip->open_close_common_move_proc)(ftr_actor, my_room_actor, game, 1.0f, 12.0f); + } +} + +static void aSumBlaChest03_dw(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor, GAME* game, u8* data) { + GAME_PLAY* play = (GAME_PLAY*)game; + cKF_SkeletonInfo_R_c* keyframe = &ftr_actor->keyframe; + Mtx* mtx = ftr_actor->skeleton_mtx[game->frame_counter & 1]; + + OPEN_DISP(game->graph); + gSPMatrix(NEXT_POLY_OPA_DISP, _Matrix_to_Mtx_new(game->graph), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); + CLOSE_DISP(game->graph); + + cKF_Si3_draw_R_SV(game, keyframe, mtx, NULL, NULL, NULL); +} + +static void aSumBlaChest03_dt(FTR_ACTOR* ftr_actor, u8* data) { +} + static aFTR_vtable_c aSumBlaChest03_func = { &aSumBlaChest03_ct, &aSumBlaChest03_mv, diff --git a/src/ftr/ac_sum_bla_lanp.c b/src/ftr/ac_sum_bla_lanp.c index 29950b2c..f3c309cc 100644 --- a/src/ftr/ac_sum_bla_lanp.c +++ b/src/ftr/ac_sum_bla_lanp.c @@ -2,6 +2,21 @@ extern Gfx int_sum_bla_lanp_on_model[]; extern Gfx int_sum_bla_lanp_onT_model[]; static void aSumBlaLanp_dw(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor, GAME* game, u8* data); +extern Gfx int_sum_bla_lanp_off_model[]; +extern Gfx int_sum_bla_lanp_onT_model[]; +extern Gfx int_sum_bla_lanp_offT_model[]; + +static void aSumBlaLanp_dw(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor, GAME* game, u8* data) { + OPEN_DISP(game->graph); + + _texture_z_light_fog_prim(game->graph); + gSPMatrix(NEXT_POLY_OPA_DISP, _Matrix_to_Mtx_new(game->graph), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); + gSPDisplayList(NEXT_POLY_OPA_DISP, int_sum_bla_lanp_off_model); + gSPDisplayList(NEXT_POLY_OPA_DISP, int_sum_bla_lanp_offT_model); + + CLOSE_DISP(game->graph); +} + static aFTR_vtable_c aSumBlaLanp_func = { NULL, NULL, diff --git a/src/ftr/ac_sum_blue_bureau01.c b/src/ftr/ac_sum_blue_bureau01.c index 14c822a9..d65db23e 100644 --- a/src/ftr/ac_sum_blue_bureau01.c +++ b/src/ftr/ac_sum_blue_bureau01.c @@ -3,6 +3,41 @@ static void aSumBlueBureau01_mv(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor, GAME static void aSumBlueBureau01_dw(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor, GAME* game, u8* data); static void aSumBlueBureau01_dt(FTR_ACTOR* ftr_actor, u8* data); +extern cKF_Skeleton_R_c cKF_bs_r_int_sum_blue_bureau01; +extern cKF_Animation_R_c cKF_ba_r_int_sum_blue_bureau01; + +static void aSumBlueBureau01_ct(FTR_ACTOR* ftr_actor, u8* data) { + cKF_SkeletonInfo_R_c* keyframe = &ftr_actor->keyframe; + + cKF_SkeletonInfo_R_ct(keyframe, &cKF_bs_r_int_sum_blue_bureau01, &cKF_ba_r_int_sum_blue_bureau01, ftr_actor->joint, ftr_actor->morph); + cKF_SkeletonInfo_R_init_standard_stop(keyframe, &cKF_ba_r_int_sum_blue_bureau01, NULL); + keyframe->frame_control.speed = 0.0f; + cKF_SkeletonInfo_R_play(keyframe); +} + +static void aSumBlueBureau01_mv(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor, GAME* game, u8* data) { + cKF_SkeletonInfo_R_c* keyframe = &ftr_actor->keyframe; + + if (Common_Get(clip).my_room_clip != NULL) { + (*Common_Get(clip).my_room_clip->open_close_common_move_proc)(ftr_actor, my_room_actor, game, 1.0f, 16.0f); + } +} + +static void aSumBlueBureau01_dw(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor, GAME* game, u8* data) { + GAME_PLAY* play = (GAME_PLAY*)game; + cKF_SkeletonInfo_R_c* keyframe = &ftr_actor->keyframe; + Mtx* mtx = ftr_actor->skeleton_mtx[game->frame_counter & 1]; + + OPEN_DISP(game->graph); + gSPMatrix(NEXT_POLY_OPA_DISP, _Matrix_to_Mtx_new(game->graph), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); + CLOSE_DISP(game->graph); + + cKF_Si3_draw_R_SV(game, keyframe, mtx, NULL, NULL, NULL); +} + +static void aSumBlueBureau01_dt(FTR_ACTOR* ftr_actor, u8* data) { +} + static aFTR_vtable_c aSumBlueBureau01_func = { &aSumBlueBureau01_ct, &aSumBlueBureau01_mv, diff --git a/src/ftr/ac_sum_blue_cab01.c b/src/ftr/ac_sum_blue_cab01.c index 76ce10f5..dce14dce 100644 --- a/src/ftr/ac_sum_blue_cab01.c +++ b/src/ftr/ac_sum_blue_cab01.c @@ -3,6 +3,41 @@ static void aSumBlueCab01_mv(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor, GAME* g static void aSumBlueCab01_dw(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor, GAME* game, u8* data); static void aSumBlueCab01_dt(FTR_ACTOR* ftr_actor, u8* data); +extern cKF_Skeleton_R_c cKF_bs_r_int_sum_blue_cab01; +extern cKF_Animation_R_c cKF_ba_r_int_sum_blue_cab01; + +static void SumBlueCab01_ct(FTR_ACTOR* ftr_actor, u8* data) { + cKF_SkeletonInfo_R_c* keyframe = &ftr_actor->keyframe; + + cKF_SkeletonInfo_R_ct(keyframe, &cKF_bs_r_int_sum_blue_cab01, &cKF_ba_r_int_sum_blue_cab01, ftr_actor->joint, ftr_actor->morph); + cKF_SkeletonInfo_R_init_standard_stop(keyframe, &cKF_ba_r_int_sum_blue_cab01, NULL); + keyframe->frame_control.speed = 0.0f; + cKF_SkeletonInfo_R_play(keyframe); +} + +static void SumBlueCab01_mv(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor, GAME* game, u8* data) { + cKF_SkeletonInfo_R_c* keyframe = &ftr_actor->keyframe; + + if (Common_Get(clip).my_room_clip != NULL) { + (*Common_Get(clip).my_room_clip->open_close_common_move_proc)(ftr_actor, my_room_actor, game, 1.0f, 10.0f); + } +} + +static void SumBlueCab01_dw(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor, GAME* game, u8* data) { + GAME_PLAY* play = (GAME_PLAY*)game; + cKF_SkeletonInfo_R_c* keyframe = &ftr_actor->keyframe; + Mtx* mtx = ftr_actor->skeleton_mtx[game->frame_counter & 1]; + + OPEN_DISP(game->graph); + gSPMatrix(NEXT_POLY_OPA_DISP, _Matrix_to_Mtx_new(game->graph), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); + CLOSE_DISP(game->graph); + + cKF_Si3_draw_R_SV(game, keyframe, mtx, NULL, NULL, NULL); +} + +static void SumBlueCab01_dt(FTR_ACTOR* ftr_actor, u8* data) { +} + static aFTR_vtable_c aSumBlueCab01_func = { &aSumBlueCab01_ct, &aSumBlueCab01_mv, diff --git a/src/ftr/ac_sum_blue_lowchest01.c b/src/ftr/ac_sum_blue_lowchest01.c index 9a674b3b..4b38c49e 100644 --- a/src/ftr/ac_sum_blue_lowchest01.c +++ b/src/ftr/ac_sum_blue_lowchest01.c @@ -3,6 +3,41 @@ static void aSumBlueLowChest01_mv(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor, GA static void aSumBlueLowChest01_dw(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor, GAME* game, u8* data); static void aSumBlueLowChest01_dt(FTR_ACTOR* ftr_actor, u8* data); +extern cKF_Skeleton_R_c cKF_bs_r_int_sum_blue_lowchest01; +extern cKF_Animation_R_c cKF_ba_r_int_sum_blue_lowchest01; + +static void aSumBlueLowChest01_ct(FTR_ACTOR* ftr_actor, u8* data) { + cKF_SkeletonInfo_R_c* keyframe = &ftr_actor->keyframe; + + cKF_SkeletonInfo_R_ct(keyframe, &cKF_bs_r_int_sum_blue_lowchest01, &cKF_ba_r_int_sum_blue_lowchest01, ftr_actor->joint, ftr_actor->morph); + cKF_SkeletonInfo_R_init_standard_stop(keyframe, &cKF_ba_r_int_sum_blue_lowchest01, NULL); + keyframe->frame_control.speed = 0.0f; + cKF_SkeletonInfo_R_play(keyframe); +} + +static void aSumBlueLowChest01_mv(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor, GAME* game, u8* data) { + cKF_SkeletonInfo_R_c* keyframe = &ftr_actor->keyframe; + + if (Common_Get(clip).my_room_clip != NULL) { + (*Common_Get(clip).my_room_clip->open_close_common_move_proc)(ftr_actor, my_room_actor, game, 1.0f, 10.0f); + } +} + +static void aSumBlueLowChest01_dw(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor, GAME* game, u8* data) { + GAME_PLAY* play = (GAME_PLAY*)game; + cKF_SkeletonInfo_R_c* keyframe = &ftr_actor->keyframe; + Mtx* mtx = ftr_actor->skeleton_mtx[game->frame_counter & 1]; + + OPEN_DISP(game->graph); + gSPMatrix(NEXT_POLY_OPA_DISP, _Matrix_to_Mtx_new(game->graph), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); + CLOSE_DISP(game->graph); + + cKF_Si3_draw_R_SV(game, keyframe, mtx, NULL, NULL, NULL); +} + +static void aSumBlueLowChest01_dt(FTR_ACTOR* ftr_actor, u8* data) { +} + static aFTR_vtable_c aSumBlueLowChest01_func = { &aSumBlueLowChest01_ct, &aSumBlueLowChest01_mv, diff --git a/src/ftr/ac_sum_casse01.c b/src/ftr/ac_sum_casse01.c index 63b18186..c585efa1 100644 --- a/src/ftr/ac_sum_casse01.c +++ b/src/ftr/ac_sum_casse01.c @@ -5,6 +5,21 @@ static void aSumCasse01_mv(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor, GAME* gam static void aSumCasse01_dw(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor, GAME* game, u8* data); static void aSumCasse01_dt(FTR_ACTOR* ftr_actor, u8* data); +static void aSumCasse01_ct(FTR_ACTOR* ftr_actor, u8* data) { +} + +static void aSumCasse01_mv(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor, GAME* game, u8* data) { + if (Common_Get(clip).my_room_clip != NULL) { + (*Common_Get(clip).my_room_clip->mini_disk_common_move_proc)(ftr_actor, my_room_actor, game, 0.0f, 0.0f); + } +} + +static void aSumCasse01_dw(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor, GAME* game, u8* data) { +} + +static void aSumCasse01_dt(FTR_ACTOR* ftr_actor, u8* data) { +} + static aFTR_vtable_c aSumCasse01_func = { &aSumCasse01_ct, &aSumCasse01_mv, diff --git a/src/ftr/ac_sum_cello01.c b/src/ftr/ac_sum_cello01.c index 3c15c740..6a4f208d 100644 --- a/src/ftr/ac_sum_cello01.c +++ b/src/ftr/ac_sum_cello01.c @@ -5,6 +5,21 @@ static void aSumCello01_mv(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor, GAME* gam static void aSumCello01_dw(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor, GAME* game, u8* data); static void aSumCello01_dt(FTR_ACTOR* ftr_actor, u8* data); +static void aSumCello01_ct(FTR_ACTOR* ftr_actor, u8* data) { +} + +static void aSumCello01_mv(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor, GAME* game, u8* data) { + if (Common_Get(clip).my_room_clip != NULL) { + Common_Get(clip).my_room_clip->sound_melody_proc(ftr_actor, my_room_actor, 10); + } +} + +static void aSumCello01_dw(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor, GAME* game, u8* data) { +} + +static void aSumCello01_dt(FTR_ACTOR* ftr_actor, u8* data) { +} + static aFTR_vtable_c aSumCello01_func = { &aSumCello01_ct, &aSumCello01_mv, diff --git a/src/ftr/ac_sum_chikuon01.c b/src/ftr/ac_sum_chikuon01.c index 997633b1..52452622 100644 --- a/src/ftr/ac_sum_chikuon01.c +++ b/src/ftr/ac_sum_chikuon01.c @@ -5,6 +5,19 @@ static void aSumChikuon01_mv(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor, GAME* g static void aSumChikuon01_dw(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor, GAME* game, u8* data); static void aSumChikuon01_dt(FTR_ACTOR* ftr_actor, u8* data); +static void aSumChikuon01_ct(FTR_ACTOR* ftr_actor, u8* data) { +} + +static void aSumChikuon01_mv(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor, GAME* game, u8* data) { + (*Common_Get(clip).my_room_clip->mini_disk_common_move_proc)(ftr_actor, my_room_actor, game, 0.0f, 0.0f); +} + +static void aSumChikuon01_dw(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor, GAME* game, u8* data) { +} + +static void aSumChikuon01_dt(FTR_ACTOR* ftr_actor, u8* data) { +} + static aFTR_vtable_c aSumChikuon01_func = { &aSumChikuon01_ct, &aSumChikuon01_mv, diff --git a/src/ftr/ac_sum_chikuon02.c b/src/ftr/ac_sum_chikuon02.c index a376aa29..11e67e7b 100644 --- a/src/ftr/ac_sum_chikuon02.c +++ b/src/ftr/ac_sum_chikuon02.c @@ -5,6 +5,19 @@ static void aSumChikuon02_mv(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor, GAME* g static void aSumChikuon02_dw(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor, GAME* game, u8* data); static void aSumChikuon02_dt(FTR_ACTOR* ftr_actor, u8* data); +static void aSumChikuon02_ct(FTR_ACTOR* ftr_actor, u8* data) { +} + +static void aSumChikuon02_mv(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor, GAME* game, u8* data) { + (*Common_Get(clip).my_room_clip->mini_disk_common_move_proc)(ftr_actor, my_room_actor, game, 0.0f, 0.0f); +} + +static void aSumChikuon02_dw(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor, GAME* game, u8* data) { +} + +static void aSumChikuon02_dt(FTR_ACTOR* ftr_actor, u8* data) { +} + static aFTR_vtable_c aSumChikuon02_func = { &aSumChikuon02_ct, &aSumChikuon02_mv, diff --git a/src/ftr/ac_sum_classicchest01.c b/src/ftr/ac_sum_classicchest01.c index 29659706..1b78b4d0 100644 --- a/src/ftr/ac_sum_classicchest01.c +++ b/src/ftr/ac_sum_classicchest01.c @@ -3,6 +3,41 @@ static void aSumClchest01_mv(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor, GAME* g static void aSumClchest01_dw(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor, GAME* game, u8* data); static void aSumClchest01_dt(FTR_ACTOR* ftr_actor, u8* data); +extern cKF_Skeleton_R_c cKF_bs_r_int_sum_clchest01; +extern cKF_Animation_R_c cKF_ba_r_int_sum_clchest01; + +static void aSumClchest01_ct(FTR_ACTOR* ftr_actor, u8* data) { + cKF_SkeletonInfo_R_c* keyframe = &ftr_actor->keyframe; + + cKF_SkeletonInfo_R_ct(keyframe, &cKF_bs_r_int_sum_clchest01, &cKF_ba_r_int_sum_clchest01, ftr_actor->joint, ftr_actor->morph); + cKF_SkeletonInfo_R_init_standard_stop(keyframe, &cKF_ba_r_int_sum_clchest01, NULL); + keyframe->frame_control.speed = 0.0f; + cKF_SkeletonInfo_R_play(keyframe); +} + +static void aSumClchest01_mv(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor, GAME* game, u8* data) { + cKF_SkeletonInfo_R_c* keyframe = &ftr_actor->keyframe; + + if (Common_Get(clip).my_room_clip != NULL) { + (*Common_Get(clip).my_room_clip->open_close_common_move_proc)(ftr_actor, my_room_actor, game, 1.0f, 10.0f); + } +} + +static void aSumClchest01_dw(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor, GAME* game, u8* data) { + GAME_PLAY* play = (GAME_PLAY*)game; + cKF_SkeletonInfo_R_c* keyframe = &ftr_actor->keyframe; + Mtx* mtx = ftr_actor->skeleton_mtx[game->frame_counter & 1]; + + OPEN_DISP(game->graph); + gSPMatrix(NEXT_POLY_OPA_DISP, _Matrix_to_Mtx_new(game->graph), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); + CLOSE_DISP(game->graph); + + cKF_Si3_draw_R_SV(game, keyframe, mtx, NULL, NULL, NULL); +} + +static void aSumClchest01_dt(FTR_ACTOR* ftr_actor, u8* data) { +} + static aFTR_vtable_c aSumClchest01_func = { &aSumClchest01_ct, &aSumClchest01_mv, diff --git a/src/ftr/ac_sum_clchest03.c b/src/ftr/ac_sum_clchest03.c index 132de519..09e718eb 100644 --- a/src/ftr/ac_sum_clchest03.c +++ b/src/ftr/ac_sum_clchest03.c @@ -3,6 +3,41 @@ static void aSumClChest03_mv(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor, GAME* g static void aSumClChest03_dw(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor, GAME* game, u8* data); static void aSumClChest03_dt(FTR_ACTOR* ftr_actor, u8* data); +extern cKF_Skeleton_R_c cKF_bs_r_int_sum_clchest03; +extern cKF_Animation_R_c cKF_ba_r_int_sum_clchest03; + +static void aSumClChest03_ct(FTR_ACTOR* ftr_actor, u8* data) { + cKF_SkeletonInfo_R_c* keyframe = &ftr_actor->keyframe; + + cKF_SkeletonInfo_R_ct(keyframe, &cKF_bs_r_int_sum_clchest03, &cKF_ba_r_int_sum_clchest03, ftr_actor->joint, ftr_actor->morph); + cKF_SkeletonInfo_R_init_standard_stop(keyframe, &cKF_ba_r_int_sum_clchest03, NULL); + keyframe->frame_control.speed = 0.0f; + cKF_SkeletonInfo_R_play(keyframe); +} + +static void aSumClChest03_mv(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor, GAME* game, u8* data) { + cKF_SkeletonInfo_R_c* keyframe = &ftr_actor->keyframe; + + if (Common_Get(clip).my_room_clip != NULL) { + (*Common_Get(clip).my_room_clip->open_close_common_move_proc)(ftr_actor, my_room_actor, game, 1.0f, 16.0f); + } +} + +static void aSumClChest03_dw(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor, GAME* game, u8* data) { + GAME_PLAY* play = (GAME_PLAY*)game; + cKF_SkeletonInfo_R_c* keyframe = &ftr_actor->keyframe; + Mtx* mtx = ftr_actor->skeleton_mtx[game->frame_counter & 1]; + + OPEN_DISP(game->graph); + gSPMatrix(NEXT_POLY_OPA_DISP, _Matrix_to_Mtx_new(game->graph), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); + CLOSE_DISP(game->graph); + + cKF_Si3_draw_R_SV(game, keyframe, mtx, NULL, NULL, NULL); +} + +static void aSumClChest03_dt(FTR_ACTOR* ftr_actor, u8* data) { +} + static aFTR_vtable_c aSumClChest03_func = { &aSumClChest03_ct, &aSumClChest03_mv, diff --git a/src/ftr/ac_sum_conga01.c b/src/ftr/ac_sum_conga01.c index 119efa2a..2584d86e 100644 --- a/src/ftr/ac_sum_conga01.c +++ b/src/ftr/ac_sum_conga01.c @@ -5,6 +5,21 @@ static void asumconga01_mv(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor, GAME* gam static void asumconga01_dw(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor, GAME* game, u8* data); static void asumconga01_dt(FTR_ACTOR* ftr_actor, u8* data); +static void asumconga01_ct(FTR_ACTOR* ftr_actor, u8* data) { +} + +static void asumconga01_mv(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor) { + if (Common_Get(clip).my_room_clip != NULL) { + Common_Get(clip).my_room_clip->sound_melody_proc(ftr_actor, my_room_actor, 14); + } +} + +static void asumconga01_dw(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor, GAME* game, u8* data) { +} + +static void asumconga01_dt(FTR_ACTOR* ftr_actor, u8* data) { +} + static aFTR_vtable_c asumconga01_func = { &asumconga01_ct, &asumconga01_mv, diff --git a/src/ftr/ac_sum_conpo01.c b/src/ftr/ac_sum_conpo01.c index 5862e5f4..151a7490 100644 --- a/src/ftr/ac_sum_conpo01.c +++ b/src/ftr/ac_sum_conpo01.c @@ -4,6 +4,21 @@ static void aSumConpo01_mv(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor, GAME* gam static void aSumConpo01_dw(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor, GAME* game, u8* data); static void aSumConpo01_dt(FTR_ACTOR* ftr_actor, u8* data); +static void aSumConpo01_ct(FTR_ACTOR* ftr_actor, u8* data) { +} + +static void aSumConpo01_mv(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor, GAME* game, u8* data) { + if (Common_Get(clip).my_room_clip != NULL) { + (*Common_Get(clip).my_room_clip->mini_disk_common_move_proc)(ftr_actor, my_room_actor, game, 0.0f, 0.0f); + } +} + +static void aSumConpo01_dw(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor, GAME* game, u8* data) { +} + +static void aSumConpo01_dt(FTR_ACTOR* ftr_actor, u8* data) { +} + static aFTR_vtable_c aSumConpo01_func = { &aSumConpo01_ct, &aSumConpo01_mv, diff --git a/src/ftr/ac_sum_conpo02.c b/src/ftr/ac_sum_conpo02.c index 5e08ea88..bcab304d 100644 --- a/src/ftr/ac_sum_conpo02.c +++ b/src/ftr/ac_sum_conpo02.c @@ -6,6 +6,19 @@ static void aSumConpo02_mv(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor, GAME* gam static void aSumConpo02_dw(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor, GAME* game, u8* data); static void aSumConpo02_dt(FTR_ACTOR* ftr_actor, u8* data); +static void aSumConpo02_ct(FTR_ACTOR* ftr_actor, u8* data) { +} + +static void aSumConpo02_mv(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor, GAME* game, u8* data) { + (*Common_Get(clip).my_room_clip->mini_disk_common_move_proc)(ftr_actor, my_room_actor, game, 0.0f, 0.0f); +} + +static void aSumConpo02_dw(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor, GAME* game, u8* data) { +} + +static void aSumConpo02_dt(FTR_ACTOR* ftr_actor, u8* data) { +} + static aFTR_vtable_c aSumConpo02_func = { &aSumConpo02_ct, &aSumConpo02_mv, diff --git a/src/ftr/ac_sum_cont_chest02.c b/src/ftr/ac_sum_cont_chest02.c index bef53224..59f908e9 100644 --- a/src/ftr/ac_sum_cont_chest02.c +++ b/src/ftr/ac_sum_cont_chest02.c @@ -3,6 +3,41 @@ static void aSumContChest02_mv(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor, GAME* static void aSumContChest02_dw(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor, GAME* game, u8* data); static void aSumContChest02_dt(FTR_ACTOR* ftr_actor, u8* data); +extern cKF_Skeleton_R_c cKF_bs_r_int_sum_cont_chest02; +extern cKF_Animation_R_c cKF_ba_r_int_sum_cont_chest02; + +static void aSumContChest02_ct(FTR_ACTOR* ftr_actor, u8* data) { + cKF_SkeletonInfo_R_c* keyframe = &ftr_actor->keyframe; + + cKF_SkeletonInfo_R_ct(keyframe, &cKF_bs_r_int_sum_cont_chest02, &cKF_ba_r_int_sum_cont_chest02, ftr_actor->joint, ftr_actor->morph); + cKF_SkeletonInfo_R_init_standard_stop(keyframe, &cKF_ba_r_int_sum_cont_chest02, NULL); + keyframe->frame_control.speed = 0.0f; + cKF_SkeletonInfo_R_play(keyframe); +} + +static void aSumContChest02_mv(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor, GAME* game, u8* data) { + cKF_SkeletonInfo_R_c* keyframe = &ftr_actor->keyframe; + + if (Common_Get(clip).my_room_clip != NULL) { + (*Common_Get(clip).my_room_clip->open_close_common_move_proc)(ftr_actor, my_room_actor, game, 1.0f, 12.0f); + } +} + +static void aSumContChest02_dw(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor, GAME* game, u8* data) { + GAME_PLAY* play = (GAME_PLAY*)game; + cKF_SkeletonInfo_R_c* keyframe = &ftr_actor->keyframe; + Mtx* mtx = ftr_actor->skeleton_mtx[game->frame_counter & 1]; + + OPEN_DISP(game->graph); + gSPMatrix(NEXT_POLY_OPA_DISP, _Matrix_to_Mtx_new(game->graph), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); + CLOSE_DISP(game->graph); + + cKF_Si3_draw_R_SV(game, keyframe, mtx, NULL, NULL, NULL); +} + +static void aSumContChest02_dt(FTR_ACTOR* ftr_actor, u8* data) { +} + static aFTR_vtable_c aSumContChest02_func = { &aSumContChest02_ct, &aSumContChest02_mv, diff --git a/src/ftr/ac_sum_cont_chest03.c b/src/ftr/ac_sum_cont_chest03.c index b7521e64..bf21230c 100644 --- a/src/ftr/ac_sum_cont_chest03.c +++ b/src/ftr/ac_sum_cont_chest03.c @@ -3,6 +3,41 @@ static void aSumContChest03_mv(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor, GAME* static void aSumContChest03_dw(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor, GAME* game, u8* data); static void aSumContChest03_dt(FTR_ACTOR* ftr_actor, u8* data); +extern cKF_Skeleton_R_c cKF_bs_r_int_sum_cont_chest03; +extern cKF_Animation_R_c cKF_ba_r_int_sum_cont_chest03; + +static void aSumContChest03_ct(FTR_ACTOR* ftr_actor, u8* data) { + cKF_SkeletonInfo_R_c* keyframe = &ftr_actor->keyframe; + + cKF_SkeletonInfo_R_ct(keyframe, &cKF_bs_r_int_sum_cont_chest03, &cKF_ba_r_int_sum_cont_chest03, ftr_actor->joint, ftr_actor->morph); + cKF_SkeletonInfo_R_init_standard_stop(keyframe, &cKF_ba_r_int_sum_cont_chest03, NULL); + keyframe->frame_control.speed = 0.0f; + cKF_SkeletonInfo_R_play(keyframe); +} + +static void aSumContChest03_mv(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor, GAME* game, u8* data) { + cKF_SkeletonInfo_R_c* keyframe = &ftr_actor->keyframe; + + if (Common_Get(clip).my_room_clip != NULL) { + (*Common_Get(clip).my_room_clip->open_close_common_move_proc)(ftr_actor, my_room_actor, game, 1.0f, 10.0f); + } +} + +static void aSumContChest03_dw(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor, GAME* game, u8* data) { + GAME_PLAY* play = (GAME_PLAY*)game; + cKF_SkeletonInfo_R_c* keyframe = &ftr_actor->keyframe; + Mtx* mtx = ftr_actor->skeleton_mtx[game->frame_counter & 1]; + + OPEN_DISP(game->graph); + gSPMatrix(NEXT_POLY_OPA_DISP, _Matrix_to_Mtx_new(game->graph), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); + CLOSE_DISP(game->graph); + + cKF_Si3_draw_R_SV(game, keyframe, mtx, NULL, NULL, NULL); +} + +static void aSumContChest03_dt(FTR_ACTOR* ftr_actor, u8* data) { +} + static aFTR_vtable_c aSumContChest03_func = { &aSumContChest03_ct, &aSumContChest03_mv, diff --git a/src/ftr/ac_sum_fruitchest01.c b/src/ftr/ac_sum_fruitchest01.c index 164ee660..6d4ddc3e 100644 --- a/src/ftr/ac_sum_fruitchest01.c +++ b/src/ftr/ac_sum_fruitchest01.c @@ -3,6 +3,41 @@ static void aSumFruitchest01_mv(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor, GAME static void aSumFruitchest01_dw(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor, GAME* game, u8* data); static void aSumFruitchest01_dt(FTR_ACTOR* ftr_actor, u8* data); +extern cKF_Skeleton_R_c cKF_bs_r_int_sum_fruitchest01; +extern cKF_Animation_R_c cKF_ba_r_int_sum_fruitchest01; + +static void aSumFruitchest01_ct(FTR_ACTOR* ftr_actor, u8* data) { + cKF_SkeletonInfo_R_c* keyframe = &ftr_actor->keyframe; + + cKF_SkeletonInfo_R_ct(keyframe, &cKF_bs_r_int_sum_fruitchest01, &cKF_ba_r_int_sum_fruitchest01, ftr_actor->joint, ftr_actor->morph); + cKF_SkeletonInfo_R_init_standard_stop(keyframe, &cKF_ba_r_int_sum_fruitchest01, NULL); + keyframe->frame_control.speed = 0.0f; + cKF_SkeletonInfo_R_play(keyframe); +} + +static void aSumFruitchest01_mv(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor, GAME* game, u8* data) { + cKF_SkeletonInfo_R_c* keyframe = &ftr_actor->keyframe; + + if (Common_Get(clip).my_room_clip != NULL) { + (*Common_Get(clip).my_room_clip->open_close_common_move_proc)(ftr_actor, my_room_actor, game, 1.0f, 10.0f); + } +} + +static void aSumFruitchest01_dw(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor, GAME* game, u8* data) { + GAME_PLAY* play = (GAME_PLAY*)game; + cKF_SkeletonInfo_R_c* keyframe = &ftr_actor->keyframe; + Mtx* mtx = ftr_actor->skeleton_mtx[game->frame_counter & 1]; + + OPEN_DISP(game->graph); + gSPMatrix(NEXT_POLY_OPA_DISP, _Matrix_to_Mtx_new(game->graph), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); + CLOSE_DISP(game->graph); + + cKF_Si3_draw_R_SV(game, keyframe, mtx, NULL, NULL, NULL); +} + +static void aSumFruitchest01_dt(FTR_ACTOR* ftr_actor, u8* data) { +} + static aFTR_vtable_c aSumFruitchest01_func = { &aSumFruitchest01_ct, &aSumFruitchest01_mv, diff --git a/src/ftr/ac_sum_fruitchest03.c b/src/ftr/ac_sum_fruitchest03.c index 2fc49402..b1be1cee 100644 --- a/src/ftr/ac_sum_fruitchest03.c +++ b/src/ftr/ac_sum_fruitchest03.c @@ -3,6 +3,41 @@ static void aSumFruitchest03_mv(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor, GAME static void aSumFruitchest03_dw(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor, GAME* game, u8* data); static void aSumFruitchest03_dt(FTR_ACTOR* ftr_actor, u8* data); +extern cKF_Skeleton_R_c cKF_bs_r_int_sum_fruitchest03; +extern cKF_Animation_R_c cKF_ba_r_int_sum_fruitchest03; + +static void aSumFruitchest03_ct(FTR_ACTOR* ftr_actor, u8* data) { + cKF_SkeletonInfo_R_c* keyframe = &ftr_actor->keyframe; + + cKF_SkeletonInfo_R_ct(keyframe, &cKF_bs_r_int_sum_fruitchest03, &cKF_ba_r_int_sum_fruitchest03, ftr_actor->joint, ftr_actor->morph); + cKF_SkeletonInfo_R_init_standard_stop(keyframe, &cKF_ba_r_int_sum_fruitchest03, NULL); + keyframe->frame_control.speed = 0.0f; + cKF_SkeletonInfo_R_play(keyframe); +} + +static void aSumFruitchest03_mv(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor, GAME* game, u8* data) { + cKF_SkeletonInfo_R_c* keyframe = &ftr_actor->keyframe; + + if (Common_Get(clip).my_room_clip != NULL) { + (*Common_Get(clip).my_room_clip->open_close_common_move_proc)(ftr_actor, my_room_actor, game, 1.0f, 12.0f); + } +} + +static void aSumFruitchest03_dw(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor, GAME* game, u8* data) { + GAME_PLAY* play = (GAME_PLAY*)game; + cKF_SkeletonInfo_R_c* keyframe = &ftr_actor->keyframe; + Mtx* mtx = ftr_actor->skeleton_mtx[game->frame_counter & 1]; + + OPEN_DISP(game->graph); + gSPMatrix(NEXT_POLY_OPA_DISP, _Matrix_to_Mtx_new(game->graph), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); + CLOSE_DISP(game->graph); + + cKF_Si3_draw_R_SV(game, keyframe, mtx, NULL, NULL, NULL); +} + +static void aSumFruitchest03_dt(FTR_ACTOR* ftr_actor, u8* data) { +} + static aFTR_vtable_c aSumFruitchest03_func = { &aSumFruitchest03_ct, &aSumFruitchest03_mv, diff --git a/src/ftr/ac_sum_genji.c b/src/ftr/ac_sum_genji.c index 77deabbc..c804bebb 100644 --- a/src/ftr/ac_sum_genji.c +++ b/src/ftr/ac_sum_genji.c @@ -3,6 +3,74 @@ static void aSumgenji_mv(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor, GAME* game, static void aSumgenji_dw(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor, GAME* game, u8* data); static void aSumgenji_dt(FTR_ACTOR* ftr_actor, u8* data); +extern cKF_Animation_R_c cKF_ba_r_int_sum_genji; +extern cKF_Skeleton_R_c cKF_bs_r_int_sum_genji; + +static void aSumgenji_ct(FTR_ACTOR* ftr_actor, u8* data) { + cKF_SkeletonInfo_R_c* keyframe = &ftr_actor->keyframe; + + cKF_SkeletonInfo_R_ct(keyframe, &cKF_bs_r_int_sum_genji, &cKF_ba_r_int_sum_genji, ftr_actor->joint, ftr_actor->morph); + cKF_SkeletonInfo_R_init_standard_repeat(keyframe, &cKF_ba_r_int_sum_genji, NULL); + cKF_SkeletonInfo_R_play(keyframe); + keyframe->frame_control.speed = 0.5f; +} +static Gfx* aSumgenji_GetPrimDisp(GAME* game, u8 prim_r, u8 prim_g, u8 prim_b, u8 prim_a, u8 prim_l, u8 env_r, u8 env_g, u8 env_b, u8 env_a) { + Gfx* g = GRAPH_ALLOC_TYPE(game->graph, Gfx, 4); + + gDPPipeSync(g + 0); + gDPSetPrimColor(g + 1, 0, prim_l, prim_r, prim_g, prim_b, prim_a); + gDPSetEnvColor(g + 2, env_r, env_g, env_b, env_a); + gSPEndDisplayList(g + 3); + + return g; +} + +static void aSumgenji_dw(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor, GAME* game, u8* data) { + cKF_SkeletonInfo_R_c* keyframe = &ftr_actor->keyframe; + Mtx* mtx = ftr_actor->skeleton_mtx[game->frame_counter & 1]; + static u8 prim_a_table[] = { + 255, 255, 255, 255, + 240, 225, 210, 195, + 180, 165, 150, 135, + 120, 105, 90, 75, + 50, 35, 20, 5, + 0, 0, 0, 0, + 0, 0, 0, 0, + 0, 0, 0, 0, + 0, 0, 0, 0, + 0, 0, 0, 0, + 0, 0, 0, 0, + 0, 0, 0, 0, + 5, 20, 35, 50, + 75, 90, 105, 120, + 135, 150, 165, 180, + 195, 210, 225, 240, + 255, 255, 255, 255 + }; + int prim_a_idx = ABS((int)ftr_actor->dynamic_work_s[0] % ARRAY_COUNT(prim_a_table)); + Gfx* prim_disp = aSumgenji_GetPrimDisp(game, 255, 180, 0, prim_a_table[prim_a_idx], 255, 0, 255, 0, 255); + + OPEN_DISP(game->graph); + + gSPSegment(NEXT_POLY_OPA_DISP, G_MWO_SEGMENT_8, prim_disp); + gSPSegment(NEXT_POLY_XLU_DISP, G_MWO_SEGMENT_8, prim_disp); + + CLOSE_DISP(game->graph); + + cKF_Si3_draw_R_SV(game, keyframe, mtx, NULL, NULL, NULL); +} + +static void aSumgenji_mv(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor, GAME* game, u8* data) { + cKF_SkeletonInfo_R_c* keyframe = &ftr_actor->keyframe; + + cKF_SkeletonInfo_R_play(keyframe); + keyframe->frame_control.speed = 0.5f; + ftr_actor->dynamic_work_s[0]++; +} + +static void aSumgenji_dt(FTR_ACTOR* ftr_actor, u8* data) { +} + static aFTR_vtable_c aSumgenji_func = { &aSumgenji_ct, &aSumgenji_mv, diff --git a/src/ftr/ac_sum_gre_chest02.c b/src/ftr/ac_sum_gre_chest02.c index f5c8d505..5c554c62 100644 --- a/src/ftr/ac_sum_gre_chest02.c +++ b/src/ftr/ac_sum_gre_chest02.c @@ -3,6 +3,41 @@ static void aSumGreChest02_mv(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor, GAME* static void aSumGreChest02_dw(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor, GAME* game, u8* data); static void aSumGreChest02_dt(FTR_ACTOR* ftr_actor, u8* data); +extern cKF_Skeleton_R_c cKF_bs_r_int_sum_gre_chest02; +extern cKF_Animation_R_c cKF_ba_r_int_sum_gre_chest02; + +static void aSumGreChest02_ct(FTR_ACTOR* ftr_actor, u8* data) { + cKF_SkeletonInfo_R_c* keyframe = &ftr_actor->keyframe; + + cKF_SkeletonInfo_R_ct(keyframe, &cKF_bs_r_int_sum_gre_chest02, &cKF_ba_r_int_sum_gre_chest02, ftr_actor->joint, ftr_actor->morph); + cKF_SkeletonInfo_R_init_standard_stop(keyframe, &cKF_ba_r_int_sum_gre_chest02, NULL); + keyframe->frame_control.speed = 0.0f; + cKF_SkeletonInfo_R_play(keyframe); +} + +static void aSumGreChest02_mv(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor, GAME* game, u8* data) { + cKF_SkeletonInfo_R_c* keyframe = &ftr_actor->keyframe; + + if (Common_Get(clip).my_room_clip != NULL) { + (*Common_Get(clip).my_room_clip->open_close_common_move_proc)(ftr_actor, my_room_actor, game, 1.0f, 12.0f); + } +} + +static void aSumGreChest02_dw(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor, GAME* game, u8* data) { + GAME_PLAY* play = (GAME_PLAY*)game; + cKF_SkeletonInfo_R_c* keyframe = &ftr_actor->keyframe; + Mtx* mtx = ftr_actor->skeleton_mtx[game->frame_counter & 1]; + + OPEN_DISP(game->graph); + gSPMatrix(NEXT_POLY_OPA_DISP, _Matrix_to_Mtx_new(game->graph), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); + CLOSE_DISP(game->graph); + + cKF_Si3_draw_R_SV(game, keyframe, mtx, NULL, NULL, NULL); +} + +static void aSumGreChest02_dt(FTR_ACTOR* ftr_actor, u8* data) { +} + static aFTR_vtable_c aSumGreChest02_func = { &aSumGreChest02_ct, &aSumGreChest02_mv, diff --git a/src/ftr/ac_sum_gre_chest03.c b/src/ftr/ac_sum_gre_chest03.c index 5f540b6a..a7347160 100644 --- a/src/ftr/ac_sum_gre_chest03.c +++ b/src/ftr/ac_sum_gre_chest03.c @@ -3,6 +3,41 @@ static void aSumGreChest03_mv(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor, GAME* static void aSumGreChest03_dw(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor, GAME* game, u8* data); static void aSumGreChest03_dt(FTR_ACTOR* ftr_actor, u8* data); +extern cKF_Skeleton_R_c cKF_bs_r_int_sum_gre_chest03; +extern cKF_Animation_R_c cKF_ba_r_int_sum_gre_chest03; + +static void aSumGreChest03_ct(FTR_ACTOR* ftr_actor, u8* data) { + cKF_SkeletonInfo_R_c* keyframe = &ftr_actor->keyframe; + + cKF_SkeletonInfo_R_ct(keyframe, &cKF_bs_r_int_sum_gre_chest03, &cKF_ba_r_int_sum_gre_chest03, ftr_actor->joint, ftr_actor->morph); + cKF_SkeletonInfo_R_init_standard_stop(keyframe, &cKF_ba_r_int_sum_gre_chest03, NULL); + keyframe->frame_control.speed = 0.0f; + cKF_SkeletonInfo_R_play(keyframe); +} + +static void aSumGreChest03_mv(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor, GAME* game, u8* data) { + cKF_SkeletonInfo_R_c* keyframe = &ftr_actor->keyframe; + + if (Common_Get(clip).my_room_clip != NULL) { + (*Common_Get(clip).my_room_clip->open_close_common_move_proc)(ftr_actor, my_room_actor, game, 1.0f, 10.0f); + } +} + +static void aSumGreChest03_dw(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor, GAME* game, u8* data) { + GAME_PLAY* play = (GAME_PLAY*)game; + cKF_SkeletonInfo_R_c* keyframe = &ftr_actor->keyframe; + Mtx* mtx = ftr_actor->skeleton_mtx[game->frame_counter & 1]; + + OPEN_DISP(game->graph); + gSPMatrix(NEXT_POLY_OPA_DISP, _Matrix_to_Mtx_new(game->graph), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); + CLOSE_DISP(game->graph); + + cKF_Si3_draw_R_SV(game, keyframe, mtx, NULL, NULL, NULL); +} + +static void aSumGreChest03_dt(FTR_ACTOR* ftr_actor, u8* data) { +} + static aFTR_vtable_c aSumGreChest03_func = { &aSumGreChest03_ct, &aSumGreChest03_mv, diff --git a/src/ftr/ac_sum_gre_lanp01.c b/src/ftr/ac_sum_gre_lanp01.c index 1947b142..51810210 100644 --- a/src/ftr/ac_sum_gre_lanp01.c +++ b/src/ftr/ac_sum_gre_lanp01.c @@ -2,6 +2,20 @@ extern Gfx int_sum_gre_lanp01_on_model[]; extern Gfx int_sum_gre_lanp01_onT_model[]; static void aSumGreLanp01_dw(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor, GAME* game, u8* data); +extern Gfx int_sum_gre_lanp01_off_model[]; +extern Gfx int_sum_gre_lanp01_offT_model[]; + +static void aSumGreLanp01_dw(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor, GAME* game, u8* data) { + OPEN_DISP(game->graph); + + _texture_z_light_fog_prim(game->graph); + gSPMatrix(NEXT_POLY_OPA_DISP, _Matrix_to_Mtx_new(game->graph), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); + gSPDisplayList(NEXT_POLY_OPA_DISP, int_sum_gre_lanp01_offT_model); + + CLOSE_DISP(game->graph); +} + + static aFTR_vtable_c aSumGreLanp01_func = { NULL, NULL, diff --git a/src/ftr/ac_sum_guitar01.c b/src/ftr/ac_sum_guitar01.c index 57d1c776..41d7daa4 100644 --- a/src/ftr/ac_sum_guitar01.c +++ b/src/ftr/ac_sum_guitar01.c @@ -5,6 +5,21 @@ static void aSumGuitar01_mv(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor, GAME* ga static void aSumGuitar01_dw(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor, GAME* game, u8* data); static void aSumGuitar01_dt(FTR_ACTOR* ftr_actor, u8* data); +static void aSumGuitar01_ct(FTR_ACTOR* ftr_actor, u8* data) { +} + +static void aSumGuitar01_mv(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor, GAME* game, u8* data) { + if (Common_Get(clip).my_room_clip != NULL) { + Common_Get(clip).my_room_clip->sound_melody_proc(ftr_actor, my_room_actor, 0); + } +} + +static void aSumGuitar01_dw(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor, GAME* game, u8* data) { +} + +static void aSumGuitar01_dt(FTR_ACTOR* ftr_actor, u8* data) { +} + static aFTR_vtable_c aSumGuitar01_func = { &aSumGuitar01_ct, &aSumGuitar01_mv, diff --git a/src/ftr/ac_sum_guitar02.c b/src/ftr/ac_sum_guitar02.c index c6e2927c..8304cf42 100644 --- a/src/ftr/ac_sum_guitar02.c +++ b/src/ftr/ac_sum_guitar02.c @@ -5,6 +5,21 @@ static void aSumGuitar02_mv(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor, GAME* ga static void aSumGuitar02_dw(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor, GAME* game, u8* data); static void aSumGuitar02_dt(FTR_ACTOR* ftr_actor, u8* data); +static void aSumGuitar02_ct(FTR_ACTOR* ftr_actor, u8* data) { +} + +static void aSumGuitar02_mv(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor, GAME* game, u8* data) { + if (Common_Get(clip).my_room_clip != NULL) { + Common_Get(clip).my_room_clip->sound_melody_proc(ftr_actor, my_room_actor, 1); + } +} + +static void aSumGuitar02_dw(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor, GAME* game, u8* data) { +} + +static void aSumGuitar02_dt(FTR_ACTOR* ftr_actor, u8* data) { +} + static aFTR_vtable_c aSumGuitar02_func = { &aSumGuitar02_ct, &aSumGuitar02_mv, diff --git a/src/ftr/ac_sum_guitar03.c b/src/ftr/ac_sum_guitar03.c index 948dd7a4..cc5af58b 100644 --- a/src/ftr/ac_sum_guitar03.c +++ b/src/ftr/ac_sum_guitar03.c @@ -5,6 +5,23 @@ static void aSumGuitar03_mv(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor, GAME* ga static void aSumGuitar03_dw(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor, GAME* game, u8* data); static void aSumGuitar03_dt(FTR_ACTOR* ftr_actor, u8* data); + +static void aSumGuitar03_ct(FTR_ACTOR* ftr_actor, u8* data) { +} + +static void aSumGuitar03_mv(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor, GAME* game, u8* data) { + if (Common_Get(clip).my_room_clip != NULL) { + Common_Get(clip).my_room_clip->sound_melody_proc(ftr_actor, my_room_actor, 2); + } +} + +static void aSumGuitar03_dw(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor, GAME* game, u8* data) { +} + +static void aSumGuitar03_dt(FTR_ACTOR* ftr_actor, u8* data) { +} + + static aFTR_vtable_c aSumGuitar03_func = { &aSumGuitar03_ct, &aSumGuitar03_mv, diff --git a/src/ftr/ac_sum_hal_chest02.c b/src/ftr/ac_sum_hal_chest02.c index 79d15f65..14643a07 100644 --- a/src/ftr/ac_sum_hal_chest02.c +++ b/src/ftr/ac_sum_hal_chest02.c @@ -3,6 +3,41 @@ static void aSumHalChest02_mv(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor, GAME* static void aSumHalChest02_dw(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor, GAME* game, u8* data); static void aSumHalChest02_dt(FTR_ACTOR* ftr_actor, u8* data); +extern cKF_Skeleton_R_c cKF_bs_r_int_sum_hal_chest02; +extern cKF_Animation_R_c cKF_ba_r_int_sum_hal_chest02; + +static void aSumHalChest02_ct(FTR_ACTOR* ftr_actor, u8* data) { + cKF_SkeletonInfo_R_c* keyframe = &ftr_actor->keyframe; + + cKF_SkeletonInfo_R_ct(keyframe, &cKF_bs_r_int_sum_hal_chest02, &cKF_ba_r_int_sum_hal_chest02, ftr_actor->joint, ftr_actor->morph); + cKF_SkeletonInfo_R_init_standard_stop(keyframe, &cKF_ba_r_int_sum_hal_chest02, NULL); + keyframe->frame_control.speed = 0.0f; + cKF_SkeletonInfo_R_play(keyframe); +} + +static void aSumHalChest02_mv(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor, GAME* game, u8* data) { + cKF_SkeletonInfo_R_c* keyframe = &ftr_actor->keyframe; + + if (Common_Get(clip).my_room_clip != NULL) { + (*Common_Get(clip).my_room_clip->open_close_common_move_proc)(ftr_actor, my_room_actor, game, 1.0f, 16.0f); + } +} + +static void aSumHalChest02_dw(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor, GAME* game, u8* data) { + GAME_PLAY* play = (GAME_PLAY*)game; + cKF_SkeletonInfo_R_c* keyframe = &ftr_actor->keyframe; + Mtx* mtx = ftr_actor->skeleton_mtx[game->frame_counter & 1]; + + OPEN_DISP(game->graph); + gSPMatrix(NEXT_POLY_OPA_DISP, _Matrix_to_Mtx_new(game->graph), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); + CLOSE_DISP(game->graph); + + cKF_Si3_draw_R_SV(game, keyframe, mtx, NULL, NULL, NULL); +} + +static void aSumHalChest02_dt(FTR_ACTOR* ftr_actor, u8* data) { +} + static aFTR_vtable_c aSumHalChest02_func = { &aSumHalChest02_ct, &aSumHalChest02_mv, diff --git a/src/ftr/ac_sum_hal_chest03.c b/src/ftr/ac_sum_hal_chest03.c index c8c7111c..ef120eb2 100644 --- a/src/ftr/ac_sum_hal_chest03.c +++ b/src/ftr/ac_sum_hal_chest03.c @@ -3,6 +3,41 @@ static void aSumHalChest03_mv(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor, GAME* static void aSumHalChest03_dw(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor, GAME* game, u8* data); static void aSumHalChest03_dt(FTR_ACTOR* ftr_actor, u8* data); +extern cKF_Skeleton_R_c cKF_bs_r_int_sum_hal_chest03; +extern cKF_Animation_R_c cKF_ba_r_int_sum_hal_chest03; + +static void aSumHalChest03_ct(FTR_ACTOR* ftr_actor, u8* data) { + cKF_SkeletonInfo_R_c* keyframe = &ftr_actor->keyframe; + + cKF_SkeletonInfo_R_ct(keyframe, &cKF_bs_r_int_sum_hal_chest03, &cKF_ba_r_int_sum_hal_chest03, ftr_actor->joint, ftr_actor->morph); + cKF_SkeletonInfo_R_init_standard_stop(keyframe, &cKF_ba_r_int_sum_hal_chest03, NULL); + keyframe->frame_control.speed = 0.0f; + cKF_SkeletonInfo_R_play(keyframe); +} + +static void aSumHalChest03_mv(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor, GAME* game, u8* data) { + cKF_SkeletonInfo_R_c* keyframe = &ftr_actor->keyframe; + + if (Common_Get(clip).my_room_clip != NULL) { + (*Common_Get(clip).my_room_clip->open_close_common_move_proc)(ftr_actor, my_room_actor, game, 1.0f, 10.0f); + } +} + +static void aSumHalChest03_dw(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor, GAME* game, u8* data) { + GAME_PLAY* play = (GAME_PLAY*)game; + cKF_SkeletonInfo_R_c* keyframe = &ftr_actor->keyframe; + Mtx* mtx = ftr_actor->skeleton_mtx[game->frame_counter & 1]; + + OPEN_DISP(game->graph); + gSPMatrix(NEXT_POLY_OPA_DISP, _Matrix_to_Mtx_new(game->graph), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); + CLOSE_DISP(game->graph); + + cKF_Si3_draw_R_SV(game, keyframe, mtx, NULL, NULL, NULL); +} + +static void aSumHalChest03_dt(FTR_ACTOR* ftr_actor, u8* data) { +} + static aFTR_vtable_c aSumHalChest03_func = { &aSumHalChest03_ct, &aSumHalChest03_mv, diff --git a/src/ftr/ac_sum_harp.c b/src/ftr/ac_sum_harp.c index 4ec58f19..2dfd54c5 100644 --- a/src/ftr/ac_sum_harp.c +++ b/src/ftr/ac_sum_harp.c @@ -5,6 +5,21 @@ static void aSumHarp_mv(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor, GAME* game, static void aSumHarp_dw(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor, GAME* game, u8* data); static void aSumHarp_dt(FTR_ACTOR* ftr_actor, u8* data); +static void aSumHarp_ct(FTR_ACTOR* ftr_actor, u8* data) { +} + +static void aSumHarp_mv(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor, GAME* game, u8* data) { + if (Common_Get(clip).my_room_clip != NULL) { + Common_Get(clip).my_room_clip->sound_melody_proc(ftr_actor, my_room_actor, 3); + } +} + +static void aSumHarp_dw(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor, GAME* game, u8* data) { +} + +static void aSumHarp_dt(FTR_ACTOR* ftr_actor, u8* data) { +} + static aFTR_vtable_c aSumHarp_func = { &aSumHarp_ct, &aSumHarp_mv, diff --git a/src/ftr/ac_sum_higurashi.c b/src/ftr/ac_sum_higurashi.c index 5ece3d69..8bce2311 100644 --- a/src/ftr/ac_sum_higurashi.c +++ b/src/ftr/ac_sum_higurashi.c @@ -2,6 +2,42 @@ static void aSumHigurashi_ct(FTR_ACTOR* ftr_actor, u8* data); static void aSumHigurashi_mv(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor, GAME* game, u8* data); static void aSumHigurashi_dw(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor, GAME* game, u8* data); +extern cKF_Animation_R_c cKF_ba_r_int_sum_higurashi; +extern cKF_Skeleton_R_c cKF_bs_r_int_sum_higurashi; + +static void aSumHigurashi_ct(FTR_ACTOR* ftr_actor, u8* data) { + cKF_SkeletonInfo_R_c* keyframe = &ftr_actor->keyframe; + + cKF_SkeletonInfo_R_ct(keyframe, &cKF_bs_r_int_sum_higurashi, &cKF_ba_r_int_sum_higurashi, ftr_actor->joint, ftr_actor->morph); + cKF_SkeletonInfo_R_init_standard_stop(keyframe, &cKF_ba_r_int_sum_higurashi, NULL); + cKF_SkeletonInfo_R_play(keyframe); + keyframe->frame_control.speed = 0.0f; +} + +static void aSumHigurashi_mv(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor, GAME* game, u8* data) { + cKF_SkeletonInfo_R_c* keyframe; + int valid; + + if (aFTR_CAN_PLAY_SE(ftr_actor)) { + keyframe = &ftr_actor->keyframe; + valid = sAdo_RoomIncectPos((u32)ftr_actor, 61, &ftr_actor->position); + + if (valid != 0) { + cKF_SkeletonInfo_R_init_standard_stop(keyframe, &cKF_ba_r_int_sum_higurashi, NULL); + keyframe->frame_control.speed = 0.5f; + } + cKF_SkeletonInfo_R_play(keyframe); + } + +} + +static void aSumHigurashi_dw(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor, GAME* game, u8* data) { + cKF_SkeletonInfo_R_c* keyframe = &ftr_actor->keyframe; + Mtx* mtx = ftr_actor->skeleton_mtx[game->frame_counter & 1]; + + cKF_Si3_draw_R_SV(game, keyframe, mtx, NULL, NULL, ftr_actor); +} + static aFTR_vtable_c aSumHigurashi_func = { &aSumHigurashi_ct, &aSumHigurashi_mv, diff --git a/src/ftr/ac_sum_jukebox.c b/src/ftr/ac_sum_jukebox.c index 7996b36f..e2a56875 100644 --- a/src/ftr/ac_sum_jukebox.c +++ b/src/ftr/ac_sum_jukebox.c @@ -6,6 +6,19 @@ static void aSumJukebox_mv(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor, GAME* gam static void aSumJukebox_dw(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor, GAME* game, u8* data); static void aSumJukebox_dt(FTR_ACTOR* ftr_actor, u8* data); +static void aSumJukebox_ct(FTR_ACTOR* ftr_actor, u8* data) { +} + +static void aSumJukebox_mv(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor, GAME* game, u8* data) { + (*Common_Get(clip).my_room_clip->mini_disk_common_move_proc)(ftr_actor, my_room_actor, game, 0.0f, 0.0f); +} + +static void aSumJukebox_dw(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor, GAME* game, u8* data) { +} + +static void aSumJukebox_dt(FTR_ACTOR* ftr_actor, u8* data) { +} + static aFTR_vtable_c aSumJukebox_func = { &aSumJukebox_ct, &aSumJukebox_mv, diff --git a/src/ftr/ac_sum_kirigirisu.c b/src/ftr/ac_sum_kirigirisu.c index 6b851370..7896a576 100644 --- a/src/ftr/ac_sum_kirigirisu.c +++ b/src/ftr/ac_sum_kirigirisu.c @@ -2,6 +2,42 @@ static void aSumKirigirisu_ct(FTR_ACTOR* ftr_actor, u8* data); static void aSumKirigirisu_mv(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor, GAME* game, u8* data); static void aSumKirigirisu_dw(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor, GAME* game, u8* data); +extern cKF_Animation_R_c cKF_ba_r_int_sum_kirigirisu; +extern cKF_Skeleton_R_c cKF_bs_r_int_sum_kirigirisu; + +static void aSumKirigirisu_ct(FTR_ACTOR* ftr_actor, u8* data) { + cKF_SkeletonInfo_R_c* keyframe = &ftr_actor->keyframe; + + cKF_SkeletonInfo_R_ct(keyframe, &cKF_bs_r_int_sum_kirigirisu, &cKF_ba_r_int_sum_kirigirisu, ftr_actor->joint, ftr_actor->morph); + cKF_SkeletonInfo_R_init_standard_stop(keyframe, &cKF_ba_r_int_sum_kirigirisu, NULL); + cKF_SkeletonInfo_R_play(keyframe); + keyframe->frame_control.speed = 0.0f; +} + +static void aSumKirigirisu_mv(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor, GAME* game, u8* data) { + cKF_SkeletonInfo_R_c* keyframe; + int valid; + + if (aFTR_CAN_PLAY_SE(ftr_actor)) { + keyframe = &ftr_actor->keyframe; + valid = sAdo_RoomIncectPos((u32)ftr_actor, 55, &ftr_actor->position); + + if (valid != 0) { + cKF_SkeletonInfo_R_init_standard_stop(keyframe, &cKF_ba_r_int_sum_kirigirisu, NULL); + keyframe->frame_control.speed = 0.5f; + } + cKF_SkeletonInfo_R_play(keyframe); + } + +} + +static void aSumKirigirisu_dw(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor, GAME* game, u8* data) { + cKF_SkeletonInfo_R_c* keyframe = &ftr_actor->keyframe; + Mtx* mtx = ftr_actor->skeleton_mtx[game->frame_counter & 1]; + + cKF_Si3_draw_R_SV(game, keyframe, mtx, NULL, NULL, ftr_actor); +} + static aFTR_vtable_c aSumKirigirisu_func = { &aSumKirigirisu_ct, &aSumKirigirisu_mv, diff --git a/src/ftr/ac_sum_kisha.c b/src/ftr/ac_sum_kisha.c index a6c6a9c6..d7114ee8 100644 --- a/src/ftr/ac_sum_kisha.c +++ b/src/ftr/ac_sum_kisha.c @@ -3,6 +3,60 @@ static void aSumKisha_mv(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor, GAME* game, static void aSumKisha_dw(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor, GAME* game, u8* data); static void aSumKisha_dt(FTR_ACTOR* ftr_actor, u8* data); +extern cKF_Skeleton_R_c cKF_bs_r_int_sum_kisha; +extern cKF_Animation_R_c cKF_ba_r_int_sum_kisha; + +static void aSumKisha_ct(FTR_ACTOR* ftr_actor, u8* data) { + cKF_SkeletonInfo_R_c* keyframe = &ftr_actor->keyframe; + + cKF_SkeletonInfo_R_ct(keyframe, &cKF_bs_r_int_sum_kisha, &cKF_ba_r_int_sum_kisha, ftr_actor->joint, ftr_actor->morph); + cKF_SkeletonInfo_R_init_standard_repeat(keyframe, &cKF_ba_r_int_sum_kisha, NULL); + cKF_SkeletonInfo_R_play(keyframe); + keyframe->frame_control.speed = 0.5f; + + if (ftr_actor->switch_bit != FALSE) { + ftr_actor->dynamic_work_f[0] = 0.5f; + } + else { + ftr_actor->dynamic_work_f[0] = 0.0f; + } +} + +static void aSumKisha_mv(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor, GAME* game, u8* data) { + cKF_SkeletonInfo_R_c* keyframe = &ftr_actor->keyframe; + + aSumKisha_ChangeSwitch(ftr_actor); + + if (ftr_actor->switch_bit != FALSE) { + add_calc(&ftr_actor->dynamic_work_f[0], 0.5f, 1.0f - sqrtf(0.95), 0.25f, 0.0005f); + + if (aFTR_CAN_PLAY_SE(ftr_actor)) { + sAdo_OngenPos((u32)ftr_actor, 3, &ftr_actor->position); + } + } + else { + add_calc(&ftr_actor->dynamic_work_f[0], 0.0f, 1.0f - sqrtf(0.9), 0.25f, 0.0005f); + } + + keyframe->frame_control.speed = ftr_actor->dynamic_work_f[0]; + cKF_SkeletonInfo_R_play(keyframe); +} + +static void aSumKisha_dw(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor, GAME* game, u8* data) { + GAME_PLAY* play = (GAME_PLAY*)game; + cKF_SkeletonInfo_R_c* keyframe = &ftr_actor->keyframe; + Mtx* mtx = ftr_actor->skeleton_mtx[game->frame_counter & 1]; + + OPEN_DISP(game->graph); + gSPMatrix(NEXT_POLY_OPA_DISP, _Matrix_to_Mtx_new(game->graph), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); + CLOSE_DISP(game->graph); + + cKF_Si3_draw_R_SV(game, keyframe, mtx, NULL, NULL, NULL); +} + +static void aSumKisha_dt(FTR_ACTOR* ftr_actor, u8* data) { +} + static aFTR_vtable_c aSumKisha_func = { &aSumKisha_ct, &aSumKisha_mv, diff --git a/src/ftr/ac_sum_koorogi.c b/src/ftr/ac_sum_koorogi.c index 8f2e1446..e89ff1d9 100644 --- a/src/ftr/ac_sum_koorogi.c +++ b/src/ftr/ac_sum_koorogi.c @@ -2,6 +2,42 @@ static void aSumKoorogi_ct(FTR_ACTOR* ftr_actor, u8* data); static void aSumKoorogi_mv(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor, GAME* game, u8* data); static void aSumKoorogi_dw(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor, GAME* game, u8* data); +extern cKF_Animation_R_c cKF_ba_r_int_sum_koorogi; +extern cKF_Skeleton_R_c cKF_bs_r_int_sum_koorogi; + +static void aSumKoorogi_ct(FTR_ACTOR* ftr_actor, u8* data) { + cKF_SkeletonInfo_R_c* keyframe = &ftr_actor->keyframe; + + cKF_SkeletonInfo_R_ct(keyframe, &cKF_bs_r_int_sum_koorogi, &cKF_ba_r_int_sum_koorogi, ftr_actor->joint, ftr_actor->morph); + cKF_SkeletonInfo_R_init_standard_stop(keyframe, &cKF_ba_r_int_sum_koorogi, NULL); + cKF_SkeletonInfo_R_play(keyframe); + keyframe->frame_control.speed = 0.0f; +} + +static void aSumKoorogi_mv(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor, GAME* game, u8* data) { + cKF_SkeletonInfo_R_c* keyframe; + int valid; + + if (aFTR_CAN_PLAY_SE(ftr_actor)) { + keyframe = &ftr_actor->keyframe; + valid = sAdo_RoomIncectPos((u32)ftr_actor, 56, &ftr_actor->position); + + if (valid != 0) { + cKF_SkeletonInfo_R_init_standard_stop(keyframe, &cKF_ba_r_int_sum_koorogi, NULL); + keyframe->frame_control.speed = 0.5f; + } + cKF_SkeletonInfo_R_play(keyframe); + } + +} + +static void aSumKoorogi_dw(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor, GAME* game, u8* data) { + cKF_SkeletonInfo_R_c* keyframe = &ftr_actor->keyframe; + Mtx* mtx = ftr_actor->skeleton_mtx[game->frame_counter & 1]; + + cKF_Si3_draw_R_SV(game, keyframe, mtx, NULL, NULL, ftr_actor); +} + static aFTR_vtable_c aSumKoorogi_func = { &aSumKoorogi_ct, &aSumKoorogi_mv, diff --git a/src/ftr/ac_sum_liccachest.c b/src/ftr/ac_sum_liccachest.c index fd47b155..44fa61aa 100644 --- a/src/ftr/ac_sum_liccachest.c +++ b/src/ftr/ac_sum_liccachest.c @@ -3,6 +3,41 @@ static void aSumLiccachest_mv(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor, GAME* static void aSumLiccachest_dw(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor, GAME* game, u8* data); static void aSumLiccachest_dt(FTR_ACTOR* ftr_actor, u8* data); +extern cKF_Skeleton_R_c cKF_bs_r_int_sum_liccachest; +extern cKF_Animation_R_c cKF_ba_r_int_sum_liccachest; + +static void aSumLiccachest_ct(FTR_ACTOR* ftr_actor, u8* data) { + cKF_SkeletonInfo_R_c* keyframe = &ftr_actor->keyframe; + + cKF_SkeletonInfo_R_ct(keyframe, &cKF_bs_r_int_sum_liccachest, &cKF_ba_r_int_sum_liccachest, ftr_actor->joint, ftr_actor->morph); + cKF_SkeletonInfo_R_init_standard_stop(keyframe, &cKF_ba_r_int_sum_liccachest, NULL); + keyframe->frame_control.speed = 0.0f; + cKF_SkeletonInfo_R_play(keyframe); +} + +static void aSumLiccachest_mv(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor, GAME* game, u8* data) { + cKF_SkeletonInfo_R_c* keyframe = &ftr_actor->keyframe; + + if (Common_Get(clip).my_room_clip != NULL) { + (*Common_Get(clip).my_room_clip->open_close_common_move_proc)(ftr_actor, my_room_actor, game, 1.0f, 12.0f); + } +} + +static void aSumLiccachest_dw(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor, GAME* game, u8* data) { + GAME_PLAY* play = (GAME_PLAY*)game; + cKF_SkeletonInfo_R_c* keyframe = &ftr_actor->keyframe; + Mtx* mtx = ftr_actor->skeleton_mtx[game->frame_counter & 1]; + + OPEN_DISP(game->graph); + gSPMatrix(NEXT_POLY_OPA_DISP, _Matrix_to_Mtx_new(game->graph), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); + CLOSE_DISP(game->graph); + + cKF_Si3_draw_R_SV(game, keyframe, mtx, NULL, NULL, NULL); +} + +static void aSumLiccachest_dt(FTR_ACTOR* ftr_actor, u8* data) { +} + static aFTR_vtable_c aSumLiccachest_func = { &aSumLiccachest_ct, &aSumLiccachest_mv, diff --git a/src/ftr/ac_sum_liccalowchest.c b/src/ftr/ac_sum_liccalowchest.c index 542fcd43..2edbc228 100644 --- a/src/ftr/ac_sum_liccalowchest.c +++ b/src/ftr/ac_sum_liccalowchest.c @@ -3,6 +3,41 @@ static void aSumLiccaLowChest_mv(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor, GAM static void aSumLiccaLowChest_dw(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor, GAME* game, u8* data); static void aSumLiccaLowChest_dt(FTR_ACTOR* ftr_actor, u8* data); +extern cKF_Skeleton_R_c cKF_bs_r_int_sum_liccalowchest; +extern cKF_Animation_R_c cKF_ba_r_int_sum_liccalowchest; + +static void aSumLiccaLowChest_ct(FTR_ACTOR* ftr_actor, u8* data) { + cKF_SkeletonInfo_R_c* keyframe = &ftr_actor->keyframe; + + cKF_SkeletonInfo_R_ct(keyframe, &cKF_bs_r_int_sum_liccalowchest, &cKF_ba_r_int_sum_liccalowchest, ftr_actor->joint, ftr_actor->morph); + cKF_SkeletonInfo_R_init_standard_stop(keyframe, &cKF_ba_r_int_sum_liccalowchest, NULL); + keyframe->frame_control.speed = 0.0f; + cKF_SkeletonInfo_R_play(keyframe); +} + +static void aSumLiccaLowChest_mv(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor, GAME* game, u8* data) { + cKF_SkeletonInfo_R_c* keyframe = &ftr_actor->keyframe; + + if (Common_Get(clip).my_room_clip != NULL) { + (*Common_Get(clip).my_room_clip->open_close_common_move_proc)(ftr_actor, my_room_actor, game, 1.0f, 10.0f); + } +} + +static void aSumLiccaLowChest_dw(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor, GAME* game, u8* data) { + GAME_PLAY* play = (GAME_PLAY*)game; + cKF_SkeletonInfo_R_c* keyframe = &ftr_actor->keyframe; + Mtx* mtx = ftr_actor->skeleton_mtx[game->frame_counter & 1]; + + OPEN_DISP(game->graph); + gSPMatrix(NEXT_POLY_OPA_DISP, _Matrix_to_Mtx_new(game->graph), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); + CLOSE_DISP(game->graph); + + cKF_Si3_draw_R_SV(game, keyframe, mtx, NULL, NULL, NULL); +} + +static void aSumLiccaLowChest_dt(FTR_ACTOR* ftr_actor, u8* data) { +} + static aFTR_vtable_c aSumLiccaLowChest_func = { &aSumLiccaLowChest_ct, &aSumLiccaLowChest_mv, diff --git a/src/ftr/ac_sum_liccapiano.c b/src/ftr/ac_sum_liccapiano.c index be9e7bea..703cc72b 100644 --- a/src/ftr/ac_sum_liccapiano.c +++ b/src/ftr/ac_sum_liccapiano.c @@ -5,6 +5,21 @@ static void aSumLiccapiano_mv(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor, GAME* static void aSumLiccapiano_dw(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor, GAME* game, u8* data); static void aSumLiccapiano_dt(FTR_ACTOR* ftr_actor, u8* data); +static void aSumLiccapiano_ct(FTR_ACTOR* ftr_actor, u8* data) { +} + +static void aSumLiccapiano_mv(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor, GAME* game, u8* data) { + if (Common_Get(clip).my_room_clip != NULL) { + Common_Get(clip).my_room_clip->sound_melody_proc(ftr_actor, my_room_actor, 4); + } +} + +static void aSumLiccapiano_dw(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor, GAME* game, u8* data) { +} + +static void aSumLiccapiano_dt(FTR_ACTOR* ftr_actor, u8* data) { +} + static aFTR_vtable_c aSumLiccapiano_func = { &aSumLiccapiano_ct, &aSumLiccapiano_mv, diff --git a/src/ftr/ac_sum_log_chest01.c b/src/ftr/ac_sum_log_chest01.c index 3cf7deda..09bbd507 100644 --- a/src/ftr/ac_sum_log_chest01.c +++ b/src/ftr/ac_sum_log_chest01.c @@ -3,6 +3,41 @@ static void aSumLogChest01_mv(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor, GAME* static void aSumLogChest01_dw(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor, GAME* game, u8* data); static void aSumLogChest01_dt(FTR_ACTOR* ftr_actor, u8* data); +extern cKF_Skeleton_R_c cKF_bs_r_int_sum_log_chest01; +extern cKF_Animation_R_c cKF_ba_r_int_sum_log_chest01; + +static void aSumLogChest01_ct(FTR_ACTOR* ftr_actor, u8* data) { + cKF_SkeletonInfo_R_c* keyframe = &ftr_actor->keyframe; + + cKF_SkeletonInfo_R_ct(keyframe, &cKF_bs_r_int_sum_log_chest01, &cKF_ba_r_int_sum_log_chest01, ftr_actor->joint, ftr_actor->morph); + cKF_SkeletonInfo_R_init_standard_stop(keyframe, &cKF_ba_r_int_sum_log_chest01, NULL); + keyframe->frame_control.speed = 0.0f; + cKF_SkeletonInfo_R_play(keyframe); +} + +static void aSumLogChest01_mv(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor, GAME* game, u8* data) { + cKF_SkeletonInfo_R_c* keyframe = &ftr_actor->keyframe; + + if (Common_Get(clip).my_room_clip != NULL) { + (*Common_Get(clip).my_room_clip->open_close_common_move_proc)(ftr_actor, my_room_actor, game, 1.0f, 10.0f); + } +} + +static void aSumLogChest01_dw(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor, GAME* game, u8* data) { + GAME_PLAY* play = (GAME_PLAY*)game; + cKF_SkeletonInfo_R_c* keyframe = &ftr_actor->keyframe; + Mtx* mtx = ftr_actor->skeleton_mtx[game->frame_counter & 1]; + + OPEN_DISP(game->graph); + gSPMatrix(NEXT_POLY_OPA_DISP, _Matrix_to_Mtx_new(game->graph), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); + CLOSE_DISP(game->graph); + + cKF_Si3_draw_R_SV(game, keyframe, mtx, NULL, NULL, NULL); +} + +static void aSumLogChest01_dt(FTR_ACTOR* ftr_actor, u8* data) { +} + static aFTR_vtable_c aSumLogChest01_func = { &aSumLogChest01_ct, &aSumLogChest01_mv, diff --git a/src/ftr/ac_sum_log_chest02.c b/src/ftr/ac_sum_log_chest02.c index 113bf9fe..be152487 100644 --- a/src/ftr/ac_sum_log_chest02.c +++ b/src/ftr/ac_sum_log_chest02.c @@ -3,6 +3,41 @@ static void aSumBlaChest02_mv(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor, GAME* static void aSumBlaChest02_dw(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor, GAME* game, u8* data); static void aSumBlaChest02_dt(FTR_ACTOR* ftr_actor, u8* data); +extern cKF_Skeleton_R_c cKF_bs_r_int_sum_log_chest02; +extern cKF_Animation_R_c cKF_ba_r_int_sum_log_chest02; + +static void aSumBlaChest02_ct(FTR_ACTOR* ftr_actor, u8* data) { + cKF_SkeletonInfo_R_c* keyframe = &ftr_actor->keyframe; + + cKF_SkeletonInfo_R_ct(keyframe, &cKF_bs_r_int_sum_log_chest02, &cKF_ba_r_int_sum_log_chest02, ftr_actor->joint, ftr_actor->morph); + cKF_SkeletonInfo_R_init_standard_stop(keyframe, &cKF_ba_r_int_sum_log_chest02, NULL); + keyframe->frame_control.speed = 0.0f; + cKF_SkeletonInfo_R_play(keyframe); +} + +static void aSumBlaChest02_mv(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor, GAME* game, u8* data) { + cKF_SkeletonInfo_R_c* keyframe = &ftr_actor->keyframe; + + if (Common_Get(clip).my_room_clip != NULL) { + (*Common_Get(clip).my_room_clip->open_close_common_move_proc)(ftr_actor, my_room_actor, game, 1.0f, 12.0f); + } +} + +static void aSumBlaChest02_dw(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor, GAME* game, u8* data) { + GAME_PLAY* play = (GAME_PLAY*)game; + cKF_SkeletonInfo_R_c* keyframe = &ftr_actor->keyframe; + Mtx* mtx = ftr_actor->skeleton_mtx[game->frame_counter & 1]; + + OPEN_DISP(game->graph); + gSPMatrix(NEXT_POLY_OPA_DISP, _Matrix_to_Mtx_new(game->graph), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); + CLOSE_DISP(game->graph); + + cKF_Si3_draw_R_SV(game, keyframe, mtx, NULL, NULL, NULL); +} + +static void aSumBlaChest02_dt(FTR_ACTOR* ftr_actor, u8* data) { +} + static aFTR_vtable_c aSumBlaChest02_func = { &aSumBlaChest02_ct, &aSumBlaChest02_mv, diff --git a/src/ftr/ac_sum_lv_stereo.c b/src/ftr/ac_sum_lv_stereo.c index acd22718..ec65beaf 100644 --- a/src/ftr/ac_sum_lv_stereo.c +++ b/src/ftr/ac_sum_lv_stereo.c @@ -5,6 +5,19 @@ static void aSumLv_Stereo_mv(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor, GAME* g static void aSumLv_Stereo_dw(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor, GAME* game, u8* data); static void aSumLv_Stereo_dt(FTR_ACTOR* ftr_actor, u8* data); +static void aSumLv_Stereo_ct(FTR_ACTOR* ftr_actor, u8* data) { +} + +static void aSumLv_Stereo_mv(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor, GAME* game, u8* data) { + (*Common_Get(clip).my_room_clip->mini_disk_common_move_proc)(ftr_actor, my_room_actor, game, 0.0f, 0.0f); +} + +static void aSumLv_Stereo_dw(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor, GAME* game, u8* data) { +} + +static void aSumLv_Stereo_dt(FTR_ACTOR* ftr_actor, u8* data) { +} + static aFTR_vtable_c aSumLv_Stereo_func = { &aSumLv_Stereo_ct, &aSumLv_Stereo_mv, diff --git a/src/ftr/ac_sum_matumushi.c b/src/ftr/ac_sum_matumushi.c index f2a56680..118451ec 100644 --- a/src/ftr/ac_sum_matumushi.c +++ b/src/ftr/ac_sum_matumushi.c @@ -2,6 +2,42 @@ static void aSumMatumushi_ct(FTR_ACTOR* ftr_actor, u8* data); static void aSumMatumushi_mv(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor, GAME* game, u8* data); static void aSumMatumushi_dw(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor, GAME* game, u8* data); +extern cKF_Animation_R_c cKF_ba_r_int_sum_matumushi; +extern cKF_Skeleton_R_c cKF_bs_r_int_sum_matumushi; + +static void aSumMatumushi_ct(FTR_ACTOR* ftr_actor, u8* data) { + cKF_SkeletonInfo_R_c* keyframe = &ftr_actor->keyframe; + + cKF_SkeletonInfo_R_ct(keyframe, &cKF_bs_r_int_sum_matumushi, &cKF_ba_r_int_sum_matumushi, ftr_actor->joint, ftr_actor->morph); + cKF_SkeletonInfo_R_init_standard_stop(keyframe, &cKF_ba_r_int_sum_matumushi, NULL); + cKF_SkeletonInfo_R_play(keyframe); + keyframe->frame_control.speed = 0.0f; +} + +static void aSumMatumushi_mv(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor, GAME* game, u8* data) { + cKF_SkeletonInfo_R_c* keyframe; + int valid; + + if (aFTR_CAN_PLAY_SE(ftr_actor)) { + keyframe = &ftr_actor->keyframe; + valid = sAdo_RoomIncectPos((u32)ftr_actor, 54, &ftr_actor->position); + + if (valid != 0) { + cKF_SkeletonInfo_R_init_standard_stop(keyframe, &cKF_ba_r_int_sum_matumushi, NULL); + keyframe->frame_control.speed = 0.5f; + } + cKF_SkeletonInfo_R_play(keyframe); + } + +} + +static void aSumMatumushi_dw(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor, GAME* game, u8* data) { + cKF_SkeletonInfo_R_c* keyframe = &ftr_actor->keyframe; + Mtx* mtx = ftr_actor->skeleton_mtx[game->frame_counter & 1]; + + cKF_Si3_draw_R_SV(game, keyframe, mtx, NULL, NULL, ftr_actor); +} + static aFTR_vtable_c aSumMatumushi_func = { &aSumMatumushi_ct, &aSumMatumushi_mv, diff --git a/src/ftr/ac_sum_md01.c b/src/ftr/ac_sum_md01.c index deee9609..dab54edb 100644 --- a/src/ftr/ac_sum_md01.c +++ b/src/ftr/ac_sum_md01.c @@ -4,6 +4,21 @@ static void aSumMd01_mv(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor, GAME* game, static void aSumMd01_dw(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor, GAME* game, u8* data); static void aSumMd01_dt(FTR_ACTOR* ftr_actor, u8* data); +static void aSumMd01_ct(FTR_ACTOR* ftr_actor, u8* data) { +} + +static void aSumMd01_mv(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor, GAME* game, u8* data) { + if (Common_Get(clip).my_room_clip != NULL) { + (*Common_Get(clip).my_room_clip->mini_disk_common_move_proc)(ftr_actor, my_room_actor, game, 0.0f, 0.0f); + } +} + +static void aSumMd01_dw(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor, GAME* game, u8* data) { +} + +static void aSumMd01_dt(FTR_ACTOR* ftr_actor, u8* data) { +} + static aFTR_vtable_c aSumMd01_func = { &aSumMd01_ct, &aSumMd01_mv, diff --git a/src/ftr/ac_sum_minmin.c b/src/ftr/ac_sum_minmin.c index 0bbbf8e9..ecf2d05c 100644 --- a/src/ftr/ac_sum_minmin.c +++ b/src/ftr/ac_sum_minmin.c @@ -2,6 +2,42 @@ static void aSumMinmin_ct(FTR_ACTOR* ftr_actor, u8* data); static void aSumMinmin_mv(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor, GAME* game, u8* data); static void aSumMinmin_dw(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor, GAME* game, u8* data); +extern cKF_Animation_R_c cKF_ba_r_int_sum_minmin; +extern cKF_Skeleton_R_c cKF_bs_r_int_sum_minmin; + +static void aSumMinmin_ct(FTR_ACTOR* ftr_actor, u8* data) { + cKF_SkeletonInfo_R_c* keyframe = &ftr_actor->keyframe; + + cKF_SkeletonInfo_R_ct(keyframe, &cKF_bs_r_int_sum_minmin, &cKF_ba_r_int_sum_minmin, ftr_actor->joint, ftr_actor->morph); + cKF_SkeletonInfo_R_init_standard_stop(keyframe, &cKF_ba_r_int_sum_minmin, NULL); + cKF_SkeletonInfo_R_play(keyframe); + keyframe->frame_control.speed = 0.0f; +} + +static void aSumMinmin_mv(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor, GAME* game, u8* data) { + cKF_SkeletonInfo_R_c* keyframe; + int valid; + + if (aFTR_CAN_PLAY_SE(ftr_actor)) { + keyframe = &ftr_actor->keyframe; + valid = sAdo_RoomIncectPos((u32)ftr_actor, 64, &ftr_actor->position); + + if (valid != 0) { + cKF_SkeletonInfo_R_init_standard_stop(keyframe, &cKF_ba_r_int_sum_minmin, NULL); + keyframe->frame_control.speed = 0.5f; + } + cKF_SkeletonInfo_R_play(keyframe); + } + +} + +static void aSumMinmin_dw(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor, GAME* game, u8* data) { + cKF_SkeletonInfo_R_c* keyframe = &ftr_actor->keyframe; + Mtx* mtx = ftr_actor->skeleton_mtx[game->frame_counter & 1]; + + cKF_Si3_draw_R_SV(game, keyframe, mtx, NULL, NULL, ftr_actor); +} + static aFTR_vtable_c aSumMinmin_func = { &aSumMinmin_ct, &aSumMinmin_mv, diff --git a/src/ftr/ac_sum_pet01.c b/src/ftr/ac_sum_pet01.c index 2a441d78..b68c3074 100644 --- a/src/ftr/ac_sum_pet01.c +++ b/src/ftr/ac_sum_pet01.c @@ -2,6 +2,42 @@ static void aSumPet01_ct(FTR_ACTOR* ftr_actor, u8* data); static void aSumPet01_mv(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor, GAME* game, u8* data); static void aSumPet01_dw(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor, GAME* game, u8* data); +extern cKF_Animation_R_c cKF_ba_r_int_sum_pet01; +extern cKF_Skeleton_R_c cKF_bs_r_int_sum_pet01; + +static void aSumPet01_ct(FTR_ACTOR* ftr_actor, u8* data) { + cKF_SkeletonInfo_R_c* keyframe = &ftr_actor->keyframe; + + cKF_SkeletonInfo_R_ct(keyframe, &cKF_bs_r_int_sum_pet01, &cKF_ba_r_int_sum_pet01, ftr_actor->joint, ftr_actor->morph); + cKF_SkeletonInfo_R_init_standard_stop(keyframe, &cKF_ba_r_int_sum_pet01, NULL); + cKF_SkeletonInfo_R_play(keyframe); + keyframe->frame_control.speed = 0.0f; +} + +static void aSumPet01_mv(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor, GAME* game, u8* data) { + cKF_SkeletonInfo_R_c* keyframe; + int valid; + + if (aFTR_CAN_PLAY_SE(ftr_actor)) { + keyframe = &ftr_actor->keyframe; + valid = sAdo_RoomIncectPos((u32)ftr_actor, 62, &ftr_actor->position); + + if (valid != 0) { + cKF_SkeletonInfo_R_init_standard_stop(keyframe, &cKF_ba_r_int_sum_pet01, NULL); + keyframe->frame_control.speed = 0.5f; + } + cKF_SkeletonInfo_R_play(keyframe); + } + +} + +static void aSumPet01_dw(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor, GAME* game, u8* data) { + cKF_SkeletonInfo_R_c* keyframe = &ftr_actor->keyframe; + Mtx* mtx = ftr_actor->skeleton_mtx[game->frame_counter & 1]; + + cKF_Si3_draw_R_SV(game, keyframe, mtx, NULL, NULL, ftr_actor); +} + static aFTR_vtable_c aSumPet01_func = { &aSumPet01_ct, &aSumPet01_mv, diff --git a/src/ftr/ac_sum_piano01.c b/src/ftr/ac_sum_piano01.c index 2c59f090..671e6857 100644 --- a/src/ftr/ac_sum_piano01.c +++ b/src/ftr/ac_sum_piano01.c @@ -5,6 +5,21 @@ static void aSumPiano01_mv(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor, GAME* gam static void aSumPiano01_dw(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor, GAME* game, u8* data); static void aSumPiano01_dt(FTR_ACTOR* ftr_actor, u8* data); +static void aSumPiano01_ct(FTR_ACTOR* ftr_actor, u8* data) { +} + +static void aSumPiano01_mv(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor, GAME* game, u8* data) { + if (Common_Get(clip).my_room_clip != NULL) { + Common_Get(clip).my_room_clip->sound_melody_proc(ftr_actor, my_room_actor, 8); + } +} + +static void aSumPiano01_dw(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor, GAME* game, u8* data) { +} + +static void aSumPiano01_dt(FTR_ACTOR* ftr_actor, u8* data) { +} + static aFTR_vtable_c aSumPiano01_func = { &aSumPiano01_ct, &aSumPiano01_mv, diff --git a/src/ftr/ac_sum_radio01.c b/src/ftr/ac_sum_radio01.c index 1b3dd332..85240486 100644 --- a/src/ftr/ac_sum_radio01.c +++ b/src/ftr/ac_sum_radio01.c @@ -5,6 +5,21 @@ static void aSumRadio01_mv(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor, GAME* gam static void aSumRadio01_dw(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor, GAME* game, u8* data); static void aSumRadio01_dt(FTR_ACTOR* ftr_actor, u8* data); +static void aSumRadio01_ct(FTR_ACTOR* ftr_actor, u8* data) { +} + +static void aSumRadio01_mv(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor, GAME* game, u8* data) { + if (Common_Get(clip).my_room_clip != NULL) { + (*Common_Get(clip).my_room_clip->mini_disk_common_move_proc)(ftr_actor, my_room_actor, game, 0.0f, 0.0f); + } +} + +static void aSumRadio01_dw(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor, GAME* game, u8* data) { +} + +static void aSumRadio01_dt(FTR_ACTOR* ftr_actor, u8* data) { +} + static aFTR_vtable_c aSumRadio01_func = { &aSumRadio01_ct, &aSumRadio01_mv, diff --git a/src/ftr/ac_sum_radio02.c b/src/ftr/ac_sum_radio02.c index a22409c6..1e12ce5b 100644 --- a/src/ftr/ac_sum_radio02.c +++ b/src/ftr/ac_sum_radio02.c @@ -5,6 +5,21 @@ static void aSumRadio02_mv(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor, GAME* gam static void aSumRadio02_dw(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor, GAME* game, u8* data); static void aSumRadio02_dt(FTR_ACTOR* ftr_actor, u8* data); +static void aSumRadio02_ct(FTR_ACTOR* ftr_actor, u8* data) { +} + +static void aSumRadio02_mv(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor, GAME* game, u8* data) { + if (Common_Get(clip).my_room_clip != NULL) { + (*Common_Get(clip).my_room_clip->mini_disk_common_move_proc)(ftr_actor, my_room_actor, game, 0.0f, 0.0f); + } +} + +static void aSumRadio02_dw(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor, GAME* game, u8* data) { +} + +static void aSumRadio02_dt(FTR_ACTOR* ftr_actor, u8* data) { +} + static aFTR_vtable_c aSumRadio02_func = { &aSumRadio02_ct, &aSumRadio02_mv, diff --git a/src/ftr/ac_sum_ratan_chest01.c b/src/ftr/ac_sum_ratan_chest01.c index 36ab77a9..04b59df3 100644 --- a/src/ftr/ac_sum_ratan_chest01.c +++ b/src/ftr/ac_sum_ratan_chest01.c @@ -3,6 +3,41 @@ static void aSumRatanChest01_mv(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor, GAME static void aSumRatanChest01_dw(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor, GAME* game, u8* data); static void aSumRatanChest01_dt(FTR_ACTOR* ftr_actor, u8* data); +extern cKF_Skeleton_R_c cKF_bs_r_int_sum_ratan_chest01; +extern cKF_Animation_R_c cKF_ba_r_int_sum_ratan_chest01; + +static void aSumRatanChest01_ct(FTR_ACTOR* ftr_actor, u8* data) { + cKF_SkeletonInfo_R_c* keyframe = &ftr_actor->keyframe; + + cKF_SkeletonInfo_R_ct(keyframe, &cKF_bs_r_int_sum_ratan_chest01, &cKF_ba_r_int_sum_ratan_chest01, ftr_actor->joint, ftr_actor->morph); + cKF_SkeletonInfo_R_init_standard_stop(keyframe, &cKF_ba_r_int_sum_ratan_chest01, NULL); + keyframe->frame_control.speed = 0.0f; + cKF_SkeletonInfo_R_play(keyframe); +} + +static void aSumRatanChest01_mv(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor, GAME* game, u8* data) { + cKF_SkeletonInfo_R_c* keyframe = &ftr_actor->keyframe; + + if (Common_Get(clip).my_room_clip != NULL) { + (*Common_Get(clip).my_room_clip->open_close_common_move_proc)(ftr_actor, my_room_actor, game, 1.0f, 10.0f); + } +} + +static void aSumRatanChest01_dw(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor, GAME* game, u8* data) { + GAME_PLAY* play = (GAME_PLAY*)game; + cKF_SkeletonInfo_R_c* keyframe = &ftr_actor->keyframe; + Mtx* mtx = ftr_actor->skeleton_mtx[game->frame_counter & 1]; + + OPEN_DISP(game->graph); + gSPMatrix(NEXT_POLY_OPA_DISP, _Matrix_to_Mtx_new(game->graph), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); + CLOSE_DISP(game->graph); + + cKF_Si3_draw_R_SV(game, keyframe, mtx, NULL, NULL, NULL); +} + +static void aSumRatanChest01_dt(FTR_ACTOR* ftr_actor, u8* data) { +} + static aFTR_vtable_c aSumRatanChest01_func = { &aSumRatanChest01_ct, &aSumRatanChest01_mv, diff --git a/src/ftr/ac_sum_ratan_chest02.c b/src/ftr/ac_sum_ratan_chest02.c index 65e9eea1..02453f38 100644 --- a/src/ftr/ac_sum_ratan_chest02.c +++ b/src/ftr/ac_sum_ratan_chest02.c @@ -3,6 +3,41 @@ static void aSumRatanChest02_mv(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor, GAME static void aSumRatanChest02_dw(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor, GAME* game, u8* data); static void aSumRatanChest02_dt(FTR_ACTOR* ftr_actor, u8* data); +extern cKF_Skeleton_R_c cKF_bs_r_int_sum_ratan_chest02; +extern cKF_Animation_R_c cKF_ba_r_int_sum_ratan_chest02; + +static void aSumRatanChest02_ct(FTR_ACTOR* ftr_actor, u8* data) { + cKF_SkeletonInfo_R_c* keyframe = &ftr_actor->keyframe; + + cKF_SkeletonInfo_R_ct(keyframe, &cKF_bs_r_int_sum_ratan_chest02, &cKF_ba_r_int_sum_ratan_chest02, ftr_actor->joint, ftr_actor->morph); + cKF_SkeletonInfo_R_init_standard_stop(keyframe, &cKF_ba_r_int_sum_ratan_chest02, NULL); + keyframe->frame_control.speed = 0.0f; + cKF_SkeletonInfo_R_play(keyframe); +} + +static void aSumRatanChest02_mv(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor, GAME* game, u8* data) { + cKF_SkeletonInfo_R_c* keyframe = &ftr_actor->keyframe; + + if (Common_Get(clip).my_room_clip != NULL) { + (*Common_Get(clip).my_room_clip->open_close_common_move_proc)(ftr_actor, my_room_actor, game, 1.0f, 12.0f); + } +} + +static void aSumRatanChest02_dw(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor, GAME* game, u8* data) { + GAME_PLAY* play = (GAME_PLAY*)game; + cKF_SkeletonInfo_R_c* keyframe = &ftr_actor->keyframe; + Mtx* mtx = ftr_actor->skeleton_mtx[game->frame_counter & 1]; + + OPEN_DISP(game->graph); + gSPMatrix(NEXT_POLY_OPA_DISP, _Matrix_to_Mtx_new(game->graph), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); + CLOSE_DISP(game->graph); + + cKF_Si3_draw_R_SV(game, keyframe, mtx, NULL, NULL, NULL); +} + +static void aSumRatanChest02_dt(FTR_ACTOR* ftr_actor, u8* data) { +} + static aFTR_vtable_c aSumRatanChest02_func = { &aSumRatanChest02_ct, &aSumRatanChest02_mv, diff --git a/src/ftr/ac_sum_reco01.c b/src/ftr/ac_sum_reco01.c index f1134d77..304cddaf 100644 --- a/src/ftr/ac_sum_reco01.c +++ b/src/ftr/ac_sum_reco01.c @@ -3,6 +3,45 @@ static void aSumReco_mv(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor, GAME* game, static void aSumReco_dw(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor, GAME* game, u8* data); static void aSumReco_dt(FTR_ACTOR* ftr_actor, u8* data); +extern cKF_Skeleton_R_c cKF_bs_r_int_sum_reco01; +extern cKF_Animation_R_c cKF_ba_r_int_sum_reco01; + +static void aSumReco_ct(FTR_ACTOR* ftr_actor, u8* data) { + cKF_SkeletonInfo_R_c* keyframe = &ftr_actor->keyframe; + + cKF_SkeletonInfo_R_ct(keyframe, &cKF_bs_r_int_sum_reco01, &cKF_ba_r_int_sum_reco01, ftr_actor->joint, ftr_actor->morph); + cKF_SkeletonInfo_R_init_standard_repeat(keyframe, &cKF_ba_r_int_sum_reco01, NULL); + cKF_SkeletonInfo_R_play(keyframe); + keyframe->frame_control.speed = 0.5f; +} + +static void aSumReco_mv(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor, GAME* game, u8* data) { + cKF_SkeletonInfo_R_c* keyframe = &ftr_actor->keyframe; + + if (Common_Get(clip).my_room_clip != NULL) { + (*Common_Get(clip).my_room_clip->mini_disk_common_move_proc)(ftr_actor, my_room_actor, game, 0.0f, 0.0f); + } + if (ftr_actor->switch_bit != FALSE) { + cKF_SkeletonInfo_R_play(keyframe); + keyframe->frame_control.speed = 0.5f; + } +} + +static void aSumReco_dw(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor, GAME* game, u8* data) { + GAME_PLAY* play = (GAME_PLAY*)game; + cKF_SkeletonInfo_R_c* keyframe = &ftr_actor->keyframe; + Mtx* mtx = ftr_actor->skeleton_mtx[game->frame_counter & 1]; + + OPEN_DISP(game->graph); + gSPMatrix(NEXT_POLY_OPA_DISP, _Matrix_to_Mtx_new(game->graph), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); + CLOSE_DISP(game->graph); + + cKF_Si3_draw_R_SV(game, keyframe, mtx, NULL, NULL, NULL); +} + +static void aSumReco_dt(FTR_ACTOR* ftr_actor, u8* data) { +} + static aFTR_vtable_c aSumReco_func = { &aSumReco_ct, &aSumReco_mv, diff --git a/src/ftr/ac_sum_roboconpo.c b/src/ftr/ac_sum_roboconpo.c index 38a2c582..d7f3eb2e 100644 --- a/src/ftr/ac_sum_roboconpo.c +++ b/src/ftr/ac_sum_roboconpo.c @@ -3,6 +3,62 @@ static void aSumRoboconpo_mv(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor, GAME* g static void aSumRoboconpo_dw(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor, GAME* game, u8* data); static void aSumRoboconpo_dt(FTR_ACTOR* ftr_actor, u8* data); +extern cKF_Skeleton_R_c cKF_bs_r_int_sum_roboconpo; +extern cKF_Animation_R_c cKF_ba_r_int_sum_roboconpo; + +extern u8 int_sum_roboconpo_face1_TA_tex_txt[]; +extern u8 int_sum_roboconpo_face2_TA_tex_txt[]; + +static void aSumRoboconpo_ct(FTR_ACTOR* ftr_actor, u8* data) { + cKF_SkeletonInfo_R_c* keyframe = &ftr_actor->keyframe; + + cKF_SkeletonInfo_R_ct(keyframe, &cKF_bs_r_int_sum_roboconpo, &cKF_ba_r_int_sum_roboconpo, ftr_actor->joint, ftr_actor->morph); + cKF_SkeletonInfo_R_init_standard_repeat(keyframe, &cKF_ba_r_int_sum_roboconpo, NULL); + cKF_SkeletonInfo_R_play(keyframe); + keyframe->frame_control.speed = 0.5f; +} + +static void aSumRoboconpo_mv(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor, GAME* game, u8* data) { + cKF_SkeletonInfo_R_c* keyframe = &ftr_actor->keyframe; + + if (Common_Get(clip).my_room_clip != NULL) { + (*Common_Get(clip).my_room_clip->mini_disk_common_move_proc)(ftr_actor, my_room_actor, game, 0.0f, 0.0f); + } + + cKF_SkeletonInfo_R_play(keyframe); + keyframe->frame_control.speed = 0.5f; +} + +static void aSumRoboconpo_dw(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor, GAME* game, u8* data) { + GAME_PLAY* play = (GAME_PLAY*)game; + cKF_SkeletonInfo_R_c* keyframe = &ftr_actor->keyframe; + Mtx* mtx = ftr_actor->skeleton_mtx[game->frame_counter & 1]; + + static u8* anime_table[] = { + int_sum_roboconpo_face1_TA_tex_txt, + int_sum_roboconpo_face1_TA_tex_txt, + int_sum_roboconpo_face2_TA_tex_txt, + int_sum_roboconpo_face2_TA_tex_txt + }; + + OPEN_DISP(game->graph); + gSPMatrix(NEXT_POLY_OPA_DISP, _Matrix_to_Mtx_new(game->graph), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); + + if (ftr_actor->switch_bit != FALSE) { + u32 idx = game->frame_counter % ARRAY_COUNT(anime_table); + gSPSegment(NEXT_POLY_OPA_DISP, G_MWO_SEGMENT_8, anime_table[idx]); + } + else { + gSPSegment(NEXT_POLY_OPA_DISP, G_MWO_SEGMENT_8, int_sum_roboconpo_face1_TA_tex_txt); + } + + CLOSE_DISP(game->graph); + cKF_Si3_draw_R_SV(game, keyframe, mtx, NULL, NULL, NULL); +} + +static void aSumRoboconpo_dt(FTR_ACTOR* ftr_actor, u8* data) { +} + static aFTR_vtable_c aSumRoboconpo_func = { &aSumRoboconpo_ct, &aSumRoboconpo_mv, diff --git a/src/ftr/ac_sum_saiconpo.c b/src/ftr/ac_sum_saiconpo.c index b78a963c..726ed032 100644 --- a/src/ftr/ac_sum_saiconpo.c +++ b/src/ftr/ac_sum_saiconpo.c @@ -4,6 +4,21 @@ static void aSumSaiconpo_mv(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor, GAME* ga static void aSumSaiconpo_dw(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor, GAME* game, u8* data); static void aSumSaiconpo_dt(FTR_ACTOR* ftr_actor, u8* data); +static void aSumSaiconpo_ct(FTR_ACTOR* ftr_actor, u8* data) { +} + +static void aSumSaiconpo_mv(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor, GAME* game, u8* data) { + if (Common_Get(clip).my_room_clip != NULL) { + (*Common_Get(clip).my_room_clip->mini_disk_common_move_proc)(ftr_actor, my_room_actor, game, 0.0f, 0.0f); + } +} + +static void aSumSaiconpo_dw(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor, GAME* game, u8* data) { +} + +static void aSumSaiconpo_dt(FTR_ACTOR* ftr_actor, u8* data) { +} + static aFTR_vtable_c aSumSaiconpo_func = { &aSumSaiconpo_ct, &aSumSaiconpo_mv, diff --git a/src/ftr/ac_sum_stereo01.c b/src/ftr/ac_sum_stereo01.c index bd16e750..7a283a1c 100644 --- a/src/ftr/ac_sum_stereo01.c +++ b/src/ftr/ac_sum_stereo01.c @@ -5,6 +5,21 @@ static void aSumStereo01_mv(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor, GAME* ga static void aSumStereo01_dw(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor, GAME* game, u8* data); static void aSumStereo01_dt(FTR_ACTOR* ftr_actor, u8* data); +static void aSumStereo01_ct(FTR_ACTOR* ftr_actor, u8* data) { +} + +static void aSumStereo01_mv(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor, GAME* game, u8* data) { + if (Common_Get(clip).my_room_clip != NULL) { + (*Common_Get(clip).my_room_clip->mini_disk_common_move_proc)(ftr_actor, my_room_actor, game, 0.0f, 0.0f); + } +} + +static void aSumStereo01_dw(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor, GAME* game, u8* data) { +} + +static void aSumStereo01_dt(FTR_ACTOR* ftr_actor, u8* data) { +} + static aFTR_vtable_c aSumStereo01_func = { &aSumStereo01_ct, &aSumStereo01_mv, diff --git a/src/ftr/ac_sum_stereo02.c b/src/ftr/ac_sum_stereo02.c index 290f6437..211a000c 100644 --- a/src/ftr/ac_sum_stereo02.c +++ b/src/ftr/ac_sum_stereo02.c @@ -4,6 +4,21 @@ static void aSumStereo02_mv(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor, GAME* ga static void aSumStereo02_dw(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor, GAME* game, u8* data); static void aSumStereo02_dt(FTR_ACTOR* ftr_actor, u8* data); +static void aSumStereo02_ct(FTR_ACTOR* ftr_actor, u8* data) { +} + +static void aSumStereo02_mv(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor, GAME* game, u8* data) { + if (Common_Get(clip).my_room_clip != NULL) { + (*Common_Get(clip).my_room_clip->mini_disk_common_move_proc)(ftr_actor, my_room_actor, game, 0.0f, 0.0f); + } +} + +static void aSumStereo02_dw(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor, GAME* game, u8* data) { +} + +static void aSumStereo02_dt(FTR_ACTOR* ftr_actor, u8* data) { +} + static aFTR_vtable_c aSumStereo02_func = { &aSumStereo02_ct, &aSumStereo02_mv, diff --git a/src/ftr/ac_sum_suzumushi.c b/src/ftr/ac_sum_suzumushi.c index 068f013b..eceaa992 100644 --- a/src/ftr/ac_sum_suzumushi.c +++ b/src/ftr/ac_sum_suzumushi.c @@ -2,6 +2,42 @@ static void aSumSuzumushi_ct(FTR_ACTOR* ftr_actor, u8* data); static void aSumSuzumushi_mv(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor, GAME* game, u8* data); static void aSumSuzumushi_dw(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor, GAME* game, u8* data); +extern cKF_Animation_R_c cKF_ba_r_int_sum_suzumushi; +extern cKF_Skeleton_R_c cKF_bs_r_int_sum_suzumushi; + +static void aSumSuzumushi_ct(FTR_ACTOR* ftr_actor, u8* data) { + cKF_SkeletonInfo_R_c* keyframe = &ftr_actor->keyframe; + + cKF_SkeletonInfo_R_ct(keyframe, &cKF_bs_r_int_sum_suzumushi, &cKF_ba_r_int_sum_suzumushi, ftr_actor->joint, ftr_actor->morph); + cKF_SkeletonInfo_R_init_standard_stop(keyframe, &cKF_ba_r_int_sum_suzumushi, NULL); + cKF_SkeletonInfo_R_play(keyframe); + keyframe->frame_control.speed = 0.0f; +} + +static void aSumSuzumushi_mv(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor, GAME* game, u8* data) { + cKF_SkeletonInfo_R_c* keyframe; + int valid; + + if (aFTR_CAN_PLAY_SE(ftr_actor)) { + keyframe = &ftr_actor->keyframe; + valid = sAdo_RoomIncectPos((u32)ftr_actor, 57, &ftr_actor->position); + + if (valid != 0) { + cKF_SkeletonInfo_R_init_standard_stop(keyframe, &cKF_ba_r_int_sum_suzumushi, NULL); + keyframe->frame_control.speed = 0.5f; + } + cKF_SkeletonInfo_R_play(keyframe); + } + +} + +static void aSumSuzumushi_dw(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor, GAME* game, u8* data) { + cKF_SkeletonInfo_R_c* keyframe = &ftr_actor->keyframe; + Mtx* mtx = ftr_actor->skeleton_mtx[game->frame_counter & 1]; + + cKF_Si3_draw_R_SV(game, keyframe, mtx, NULL, NULL, ftr_actor); +} + static aFTR_vtable_c aSumSuzumushi_func = { &aSumSuzumushi_ct, &aSumSuzumushi_mv, diff --git a/src/ftr/ac_sum_syouryou.c b/src/ftr/ac_sum_syouryou.c index 32ecc07f..53ac3ae4 100644 --- a/src/ftr/ac_sum_syouryou.c +++ b/src/ftr/ac_sum_syouryou.c @@ -2,6 +2,42 @@ static void aSumSyouryou_ct(FTR_ACTOR* ftr_actor, u8* data); static void aSumSyouryou_mv(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor, GAME* game, u8* data); static void aSumSyouryou_dw(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor, GAME* game, u8* data); +extern cKF_Animation_R_c cKF_ba_r_int_sum_syouryou; +extern cKF_Skeleton_R_c cKF_bs_r_int_sum_syouryou; + +static void aSumSyouryou_ct(FTR_ACTOR* ftr_actor, u8* data) { + cKF_SkeletonInfo_R_c* keyframe = &ftr_actor->keyframe; + + cKF_SkeletonInfo_R_ct(keyframe, &cKF_bs_r_int_sum_syouryou, &cKF_ba_r_int_sum_syouryou, ftr_actor->joint, ftr_actor->morph); + cKF_SkeletonInfo_R_init_standard_stop(keyframe, &cKF_ba_r_int_sum_syouryou, NULL); + cKF_SkeletonInfo_R_play(keyframe); + keyframe->frame_control.speed = 0.0f; +} + +static void aSumSyouryou_mv(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor, GAME* game, u8* data) { + cKF_SkeletonInfo_R_c* keyframe; + int valid; + + if (aFTR_CAN_PLAY_SE(ftr_actor)) { + keyframe = &ftr_actor->keyframe; + valid = sAdo_RoomIncectPos((u32)ftr_actor, 58, &ftr_actor->position); + + if (valid != 0) { + cKF_SkeletonInfo_R_init_standard_stop(keyframe, &cKF_ba_r_int_sum_syouryou, NULL); + keyframe->frame_control.speed = 0.5f; + } + cKF_SkeletonInfo_R_play(keyframe); + } + +} + +static void aSumSyouryou_dw(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor, GAME* game, u8* data) { + cKF_SkeletonInfo_R_c* keyframe = &ftr_actor->keyframe; + Mtx* mtx = ftr_actor->skeleton_mtx[game->frame_counter & 1]; + + cKF_Si3_draw_R_SV(game, keyframe, mtx, NULL, NULL, ftr_actor); +} + static aFTR_vtable_c aSumSyouryou_func = { &aSumSyouryou_ct, &aSumSyouryou_mv, diff --git a/src/ftr/ac_sum_taiko01.c b/src/ftr/ac_sum_taiko01.c index 8922c0c9..2af9c994 100644 --- a/src/ftr/ac_sum_taiko01.c +++ b/src/ftr/ac_sum_taiko01.c @@ -4,6 +4,21 @@ static void asumtaiko01_mv(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor, GAME* gam static void asumtaiko01_dw(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor, GAME* game, u8* data); static void asumtaiko01_dt(FTR_ACTOR* ftr_actor, u8* data); +static void asumtaiko01_ct(FTR_ACTOR* ftr_actor, u8* data) { +} + +static void asumtaiko01_mv(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor, GAME* game, u8* data) { + if (Common_Get(clip).my_room_clip != NULL) { + Common_Get(clip).my_room_clip->sound_melody_proc(ftr_actor, my_room_actor, 13); + } +} + +static void asumtaiko01_dw(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor, GAME* game, u8* data) { +} + +static void asumtaiko01_dt(FTR_ACTOR* ftr_actor, u8* data) { +} + static aFTR_vtable_c asumtaiko01_func = { &asumtaiko01_ct, &asumtaiko01_mv, diff --git a/src/ftr/ac_sum_tekin01.c b/src/ftr/ac_sum_tekin01.c index 62204f3e..aeb68ffe 100644 --- a/src/ftr/ac_sum_tekin01.c +++ b/src/ftr/ac_sum_tekin01.c @@ -4,6 +4,21 @@ static void aSumTekin01_mv(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor, GAME* gam static void aSumTekin01_dw(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor, GAME* game, u8* data); static void aSumTekin01_dt(FTR_ACTOR* ftr_actor, u8* data); +static void aSumTekin01_ct(FTR_ACTOR* ftr_actor, u8* data) { +} + +static void aSumTekin01_mv(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor, GAME* game, u8* data) { + if (Common_Get(clip).my_room_clip != NULL) { + Common_Get(clip).my_room_clip->sound_melody_proc(ftr_actor, my_room_actor, 5); + } +} + +static void aSumTekin01_dw(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor, GAME* game, u8* data) { +} + +static void aSumTekin01_dt(FTR_ACTOR* ftr_actor, u8* data) { +} + static aFTR_vtable_c aSumTekin01_func = { &aSumTekin01_ct, &aSumTekin01_mv, diff --git a/src/ftr/ac_sum_timpani01.c b/src/ftr/ac_sum_timpani01.c index beaf4f70..87ce6b03 100644 --- a/src/ftr/ac_sum_timpani01.c +++ b/src/ftr/ac_sum_timpani01.c @@ -4,6 +4,21 @@ static void aSumTimpani01_mv(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor, GAME* g static void aSumTimpani01_dw(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor, GAME* game, u8* data); static void aSumTimpani01_dt(FTR_ACTOR* ftr_actor, u8* data); +static void aSumTimpani01_ct(FTR_ACTOR* ftr_actor, u8* data){ +} + +static void aSumTimpani01_mv(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor, GAME* game, u8* data) { + if (Common_Get(clip).my_room_clip != NULL) { + Common_Get(clip).my_room_clip->sound_melody_proc(ftr_actor, my_room_actor, 7); + } +} + +static void aSumTimpani01_dw(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor, GAME* game, u8* data) { +} + +static void aSumTimpani01_dt(FTR_ACTOR* ftr_actor, u8* data) { +} + static aFTR_vtable_c aSumTimpani01_func = { &aSumTimpani01_ct, &aSumTimpani01_mv, diff --git a/src/ftr/ac_sum_tonosama.c b/src/ftr/ac_sum_tonosama.c index 6a3641c0..fe202a62 100644 --- a/src/ftr/ac_sum_tonosama.c +++ b/src/ftr/ac_sum_tonosama.c @@ -2,6 +2,42 @@ static void aSumTonosama_ct(FTR_ACTOR* ftr_actor, u8* data); static void aSumTonosama_mv(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor, GAME* game, u8* data); static void aSumTonosama_dw(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor, GAME* game, u8* data); +extern cKF_Animation_R_c cKF_ba_r_int_sum_tonosama; +extern cKF_Skeleton_R_c cKF_bs_r_int_sum_tonosama; + +static void aSumTonosama_ct(FTR_ACTOR* ftr_actor, u8* data) { + cKF_SkeletonInfo_R_c* keyframe = &ftr_actor->keyframe; + + cKF_SkeletonInfo_R_ct(keyframe, &cKF_bs_r_int_sum_tonosama, &cKF_ba_r_int_sum_tonosama, ftr_actor->joint, ftr_actor->morph); + cKF_SkeletonInfo_R_init_standard_stop(keyframe, &cKF_ba_r_int_sum_tonosama, NULL); + cKF_SkeletonInfo_R_play(keyframe); + keyframe->frame_control.speed = 0.0f; +} + +static void aSumTonosama_mv(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor, GAME* game, u8* data) { + cKF_SkeletonInfo_R_c* keyframe; + int valid; + + if (aFTR_CAN_PLAY_SE(ftr_actor)) { + keyframe = &ftr_actor->keyframe; + valid = sAdo_RoomIncectPos((u32)ftr_actor, 59, &ftr_actor->position); + + if (valid != 0) { + cKF_SkeletonInfo_R_init_standard_stop(keyframe, &cKF_ba_r_int_sum_tonosama, NULL); + keyframe->frame_control.speed = 0.5f; + } + cKF_SkeletonInfo_R_play(keyframe); + } + +} + +static void aSumTonosama_dw(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor, GAME* game, u8* data) { + cKF_SkeletonInfo_R_c* keyframe = &ftr_actor->keyframe; + Mtx* mtx = ftr_actor->skeleton_mtx[game->frame_counter & 1]; + + cKF_Si3_draw_R_SV(game, keyframe, mtx, NULL, NULL, ftr_actor); +} + static aFTR_vtable_c aSumTonosama_func = { &aSumTonosama_ct, &aSumTonosama_mv, diff --git a/src/ftr/ac_sum_tukutuku.c b/src/ftr/ac_sum_tukutuku.c index e2808297..20922c7d 100644 --- a/src/ftr/ac_sum_tukutuku.c +++ b/src/ftr/ac_sum_tukutuku.c @@ -2,6 +2,42 @@ static void aSumTukutuku_ct(FTR_ACTOR* ftr_actor, u8* data); static void aSumTukutuku_mv(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor, GAME* game, u8* data); static void aSumTukutuku_dw(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor, GAME* game, u8* data); +extern cKF_Animation_R_c cKF_ba_r_int_sum_tukutuku; +extern cKF_Skeleton_R_c cKF_bs_r_int_sum_tukutuku; + +static void aSumTukutuku_ct(FTR_ACTOR* ftr_actor, u8* data) { + cKF_SkeletonInfo_R_c* keyframe = &ftr_actor->keyframe; + + cKF_SkeletonInfo_R_ct(keyframe, &cKF_bs_r_int_sum_tukutuku, &cKF_ba_r_int_sum_tukutuku, ftr_actor->joint, ftr_actor->morph); + cKF_SkeletonInfo_R_init_standard_stop(keyframe, &cKF_ba_r_int_sum_tukutuku, NULL); + cKF_SkeletonInfo_R_play(keyframe); + keyframe->frame_control.speed = 0.0f; +} + +static void aSumTukutuku_mv(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor, GAME* game, u8* data) { + cKF_SkeletonInfo_R_c* keyframe; + int valid; + + if (aFTR_CAN_PLAY_SE(ftr_actor)) { + keyframe = &ftr_actor->keyframe; + valid = sAdo_RoomIncectPos((u32)ftr_actor, 63, &ftr_actor->position); + + if (valid != 0) { + cKF_SkeletonInfo_R_init_standard_stop(keyframe, &cKF_ba_r_int_sum_tukutuku, NULL); + keyframe->frame_control.speed = 0.5f; + } + cKF_SkeletonInfo_R_play(keyframe); + } + +} + +static void aSumTukutuku_dw(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor, GAME* game, u8* data) { + cKF_SkeletonInfo_R_c* keyframe = &ftr_actor->keyframe; + Mtx* mtx = ftr_actor->skeleton_mtx[game->frame_counter & 1]; + + cKF_Si3_draw_R_SV(game, keyframe, mtx, NULL, NULL, ftr_actor); +} + static aFTR_vtable_c aSumTukutuku_func = { &aSumTukutuku_ct, &aSumTukutuku_mv, diff --git a/src/ftr/ac_sum_viola01.c b/src/ftr/ac_sum_viola01.c index e03e7cd7..da36da30 100644 --- a/src/ftr/ac_sum_viola01.c +++ b/src/ftr/ac_sum_viola01.c @@ -5,6 +5,21 @@ static void aSumViola01_mv(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor, GAME* gam static void aSumViola01_dw(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor, GAME* game, u8* data); static void aSumViola01_dt(FTR_ACTOR* ftr_actor, u8* data); +static void aSumViola01_ct(FTR_ACTOR* ftr_actor, u8* data) { +} + +static void aSumViola01_mv(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor, GAME* game, u8* data) { + if (Common_Get(clip).my_room_clip != NULL) { + Common_Get(clip).my_room_clip->sound_melody_proc(ftr_actor, my_room_actor, 11); + } +} + +void aSumViola01_dw(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor, GAME* game, u8* data) { +} + +static void aSumViola01_dt(FTR_ACTOR* ftr_actor, u8* data) { +} + static aFTR_vtable_c aSumViola01_func = { &aSumViola01_ct, &aSumViola01_mv, diff --git a/src/ftr/ac_sum_whi_chest01.c b/src/ftr/ac_sum_whi_chest01.c index 88cd5348..c797c3b8 100644 --- a/src/ftr/ac_sum_whi_chest01.c +++ b/src/ftr/ac_sum_whi_chest01.c @@ -3,6 +3,41 @@ static void aSumWhiChest01_mv(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor, GAME* static void aSumWhiChest01_dw(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor, GAME* game, u8* data); static void aSumWhiChest01_dt(FTR_ACTOR* ftr_actor, u8* data); +extern cKF_Skeleton_R_c cKF_bs_r_int_sum_whi_chest01; +extern cKF_Animation_R_c cKF_ba_r_int_sum_whi_chest01; + +static void aSumWhiChest01_ct(FTR_ACTOR* ftr_actor, u8* data) { + cKF_SkeletonInfo_R_c* keyframe = &ftr_actor->keyframe; + + cKF_SkeletonInfo_R_ct(keyframe, &cKF_bs_r_int_sum_whi_chest01, &cKF_ba_r_int_sum_whi_chest01, ftr_actor->joint, ftr_actor->morph); + cKF_SkeletonInfo_R_init_standard_stop(keyframe, &cKF_ba_r_int_sum_whi_chest01, NULL); + keyframe->frame_control.speed = 0.0f; + cKF_SkeletonInfo_R_play(keyframe); +} + +static void aSumWhiChest01_mv(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor, GAME* game, u8* data) { + cKF_SkeletonInfo_R_c* keyframe = &ftr_actor->keyframe; + + if (Common_Get(clip).my_room_clip != NULL) { + (*Common_Get(clip).my_room_clip->open_close_common_move_proc)(ftr_actor, my_room_actor, game, 1.0f, 10.0f); + } +} + +static void aSumWhiChest01_dw(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor, GAME* game, u8* data) { + GAME_PLAY* play = (GAME_PLAY*)game; + cKF_SkeletonInfo_R_c* keyframe = &ftr_actor->keyframe; + Mtx* mtx = ftr_actor->skeleton_mtx[game->frame_counter & 1]; + + OPEN_DISP(game->graph); + gSPMatrix(NEXT_POLY_OPA_DISP, _Matrix_to_Mtx_new(game->graph), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); + CLOSE_DISP(game->graph); + + cKF_Si3_draw_R_SV(game, keyframe, mtx, NULL, NULL, NULL); +} + +static void aSumWhiChest01_dt(FTR_ACTOR* ftr_actor, u8* data) { +} + static aFTR_vtable_c aSumWhiChest01_func = { &aSumWhiChest01_ct, &aSumWhiChest01_mv, diff --git a/src/ftr/ac_sum_whi_chest02.c b/src/ftr/ac_sum_whi_chest02.c index fe7ec5c5..550205d4 100644 --- a/src/ftr/ac_sum_whi_chest02.c +++ b/src/ftr/ac_sum_whi_chest02.c @@ -3,6 +3,41 @@ static void aSumWhiChest02_mv(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor, GAME* static void aSumWhiChest02_dw(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor, GAME* game, u8* data); static void aSumWhiChest02_dt(FTR_ACTOR* ftr_actor, u8* data); +extern cKF_Skeleton_R_c cKF_bs_r_int_sum_whi_chest02; +extern cKF_Animation_R_c cKF_ba_r_int_sum_whi_chest02; + +static void aSumWhiChest02_ct(FTR_ACTOR* ftr_actor, u8* data) { + cKF_SkeletonInfo_R_c* keyframe = &ftr_actor->keyframe; + + cKF_SkeletonInfo_R_ct(keyframe, &cKF_bs_r_int_sum_whi_chest02, &cKF_ba_r_int_sum_whi_chest02, ftr_actor->joint, ftr_actor->morph); + cKF_SkeletonInfo_R_init_standard_stop(keyframe, &cKF_ba_r_int_sum_whi_chest02, NULL); + keyframe->frame_control.speed = 0.0f; + cKF_SkeletonInfo_R_play(keyframe); +} + +static void aSumWhiChest02_mv(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor, GAME* game, u8* data) { + cKF_SkeletonInfo_R_c* keyframe = &ftr_actor->keyframe; + + if (Common_Get(clip).my_room_clip != NULL) { + (*Common_Get(clip).my_room_clip->open_close_common_move_proc)(ftr_actor, my_room_actor, game, 1.0f, 12.0f); + } +} + +static void aSumWhiChest02_dw(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor, GAME* game, u8* data) { + GAME_PLAY* play = (GAME_PLAY*)game; + cKF_SkeletonInfo_R_c* keyframe = &ftr_actor->keyframe; + Mtx* mtx = ftr_actor->skeleton_mtx[game->frame_counter & 1]; + + OPEN_DISP(game->graph); + gSPMatrix(NEXT_POLY_OPA_DISP, _Matrix_to_Mtx_new(game->graph), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); + CLOSE_DISP(game->graph); + + cKF_Si3_draw_R_SV(game, keyframe, mtx, NULL, NULL, NULL); +} + +static void aSumWhiChest02_dt(FTR_ACTOR* ftr_actor, u8* data) { +} + static aFTR_vtable_c aSumWhiChest02_func = { &aSumWhiChest02_ct, &aSumWhiChest02_mv, diff --git a/src/ftr/ac_sum_whi_lanp.c b/src/ftr/ac_sum_whi_lanp.c index 49415231..b93fff9e 100644 --- a/src/ftr/ac_sum_whi_lanp.c +++ b/src/ftr/ac_sum_whi_lanp.c @@ -2,6 +2,18 @@ extern Gfx int_sum_whi_lanp_on_model[]; extern Gfx int_sum_whi_lanp_onT_model[]; static void aSumWhiLanp_dw(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor, GAME* game, u8* data); +extern Gfx int_sum_whi_lanp_offT_model[]; + +static void aSumWhiLanp_dw(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor, GAME* game, u8* data) { + OPEN_DISP(game->graph); + + _texture_z_light_fog_prim(game->graph); + gSPMatrix(NEXT_POLY_OPA_DISP, _Matrix_to_Mtx_new(game->graph), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); + gSPDisplayList(NEXT_POLY_OPA_DISP, int_sum_whi_lanp_offT_model); + + CLOSE_DISP(game->graph); +} + static aFTR_vtable_c aSumWhiLanp_func = { NULL, NULL, diff --git a/src/ftr/ac_sum_x_chest01.c b/src/ftr/ac_sum_x_chest01.c index 59fa0952..216fca68 100644 --- a/src/ftr/ac_sum_x_chest01.c +++ b/src/ftr/ac_sum_x_chest01.c @@ -3,6 +3,41 @@ static void aSumXChest01_mv(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor, GAME* ga static void aSumXChest01_dw(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor, GAME* game, u8* data); static void aSumXChest01_dt(FTR_ACTOR* ftr_actor, u8* data); +extern cKF_Skeleton_R_c cKF_bs_r_int_sum_x_chest01; +extern cKF_Animation_R_c cKF_ba_r_int_sum_x_chest01; + +static void aSumXChest01_ct(FTR_ACTOR* ftr_actor, u8* data) { + cKF_SkeletonInfo_R_c* keyframe = &ftr_actor->keyframe; + + cKF_SkeletonInfo_R_ct(keyframe, &cKF_bs_r_int_sum_x_chest01, &cKF_ba_r_int_sum_x_chest01, ftr_actor->joint, ftr_actor->morph); + cKF_SkeletonInfo_R_init_standard_stop(keyframe, &cKF_ba_r_int_sum_x_chest01, NULL); + keyframe->frame_control.speed = 0.0f; + cKF_SkeletonInfo_R_play(keyframe); +} + +static void aSumXChest01_mv(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor, GAME* game, u8* data) { + cKF_SkeletonInfo_R_c* keyframe = &ftr_actor->keyframe; + + if (Common_Get(clip).my_room_clip != NULL) { + (*Common_Get(clip).my_room_clip->open_close_common_move_proc)(ftr_actor, my_room_actor, game, 1.0f, 12.0f); + } +} + +static void aSumXChest01_dw(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor, GAME* game, u8* data) { + GAME_PLAY* play = (GAME_PLAY*)game; + cKF_SkeletonInfo_R_c* keyframe = &ftr_actor->keyframe; + Mtx* mtx = ftr_actor->skeleton_mtx[game->frame_counter & 1]; + + OPEN_DISP(game->graph); + gSPMatrix(NEXT_POLY_OPA_DISP, _Matrix_to_Mtx_new(game->graph), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); + CLOSE_DISP(game->graph); + + cKF_Si3_draw_R_SV(game, keyframe, mtx, NULL, NULL, NULL); +} + +static void aSumXChest01_dt(FTR_ACTOR* ftr_actor, u8* data) { +} + static aFTR_vtable_c aSumXChest01_func = { &aSumXChest01_ct, &aSumXChest01_mv, diff --git a/src/ftr/ac_sum_x_chest02.c b/src/ftr/ac_sum_x_chest02.c index 041127d6..f9428082 100644 --- a/src/ftr/ac_sum_x_chest02.c +++ b/src/ftr/ac_sum_x_chest02.c @@ -3,6 +3,41 @@ static void aSumXChest02_mv(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor, GAME* ga static void aSumXChest02_dw(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor, GAME* game, u8* data); static void aSumXChest02_dt(FTR_ACTOR* ftr_actor, u8* data); +extern cKF_Skeleton_R_c cKF_bs_r_int_sum_x_chest02; +extern cKF_Animation_R_c cKF_ba_r_int_sum_x_chest02; + +static void aSumXChest02_ct(FTR_ACTOR* ftr_actor, u8* data) { + cKF_SkeletonInfo_R_c* keyframe = &ftr_actor->keyframe; + + cKF_SkeletonInfo_R_ct(keyframe, &cKF_bs_r_int_sum_x_chest02, &cKF_ba_r_int_sum_x_chest02, ftr_actor->joint, ftr_actor->morph); + cKF_SkeletonInfo_R_init_standard_stop(keyframe, &cKF_ba_r_int_sum_x_chest02, NULL); + keyframe->frame_control.speed = 0.0f; + cKF_SkeletonInfo_R_play(keyframe); +} + +static void aSumXChest02_mv(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor, GAME* game, u8* data) { + cKF_SkeletonInfo_R_c* keyframe = &ftr_actor->keyframe; + + if (Common_Get(clip).my_room_clip != NULL) { + (*Common_Get(clip).my_room_clip->open_close_common_move_proc)(ftr_actor, my_room_actor, game, 1.0f, 10.0f); + } +} + +static void aSumXChest02_dw(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor, GAME* game, u8* data) { + GAME_PLAY* play = (GAME_PLAY*)game; + cKF_SkeletonInfo_R_c* keyframe = &ftr_actor->keyframe; + Mtx* mtx = ftr_actor->skeleton_mtx[game->frame_counter & 1]; + + OPEN_DISP(game->graph); + gSPMatrix(NEXT_POLY_OPA_DISP, _Matrix_to_Mtx_new(game->graph), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); + CLOSE_DISP(game->graph); + + cKF_Si3_draw_R_SV(game, keyframe, mtx, NULL, NULL, NULL); +} + +static void aSumXChest02_dt(FTR_ACTOR* ftr_actor, u8* data) { +} + static aFTR_vtable_c aSumXChest02_func = { &aSumXChest02_ct, &aSumXChest02_mv, diff --git a/src/ftr/ac_sum_x_piano.c b/src/ftr/ac_sum_x_piano.c index c0903d03..1e8d7305 100644 --- a/src/ftr/ac_sum_x_piano.c +++ b/src/ftr/ac_sum_x_piano.c @@ -5,6 +5,19 @@ static void aSumX_Piano_mv(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor, GAME* gam static void aSumX_Piano_dw(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor, GAME* game, u8* data); static void aSumX_Piano_dt(FTR_ACTOR* ftr_actor, u8* data); +void aSumX_Piano_ct(FTR_ACTOR* ftr_actor, u8* data) { +} + +static void aSumX_Piano_mv(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor, GAME* game, u8* data) { + Common_Get(clip).my_room_clip->sound_melody_proc(ftr_actor, my_room_actor, 8); +} + +void aSumX_Piano_dw(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor, GAME* game, u8* data) { +} + +void aSumX_Piano_dt(FTR_ACTOR* ftr_actor, u8* data) { +} + static aFTR_vtable_c aSumX_Piano_func = { &aSumX_Piano_ct, &aSumX_Piano_mv, From 3d59c1d080dc6f1995d397b8f6050f24082e44d3 Mon Sep 17 00:00:00 2001 From: Cuyler36 Date: Sat, 9 Mar 2024 11:03:35 -0500 Subject: [PATCH 2/4] Match f_furniture funcs, add all extern furniture profiles --- include/f_furniture.h | 697 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 697 insertions(+) diff --git a/include/f_furniture.h b/include/f_furniture.h index dd145880..733092a0 100644 --- a/include/f_furniture.h +++ b/include/f_furniture.h @@ -8,6 +8,703 @@ extern "C" { #endif +extern aFTR_PROFILE iam_ari_isu01; +extern aFTR_PROFILE iam_ari_kitchen01; +extern aFTR_PROFILE iam_ari_reizou01; +extern aFTR_PROFILE iam_ari_table01; +extern aFTR_PROFILE iam_din_amber; +extern aFTR_PROFILE iam_din_ammonite; +extern aFTR_PROFILE iam_din_bront_body; +extern aFTR_PROFILE iam_din_bront_dummy; +extern aFTR_PROFILE iam_din_bront_head; +extern aFTR_PROFILE iam_din_bront_tail; +extern aFTR_PROFILE iam_din_dummy; +extern aFTR_PROFILE iam_din_egg; +extern aFTR_PROFILE iam_din_hutaba_body; +extern aFTR_PROFILE iam_din_hutaba_dummy; +extern aFTR_PROFILE iam_din_hutaba_head; +extern aFTR_PROFILE iam_din_hutaba_neck; +extern aFTR_PROFILE iam_din_mammoth_body; +extern aFTR_PROFILE iam_din_mammoth_dummy; +extern aFTR_PROFILE iam_din_mammoth_head; +extern aFTR_PROFILE iam_din_ptera_Lwing; +extern aFTR_PROFILE iam_din_ptera_Rwing; +extern aFTR_PROFILE iam_din_ptera_dummy; +extern aFTR_PROFILE iam_din_ptera_head; +extern aFTR_PROFILE iam_din_stego_body; +extern aFTR_PROFILE iam_din_stego_dummyA; +extern aFTR_PROFILE iam_din_stego_dummyB; +extern aFTR_PROFILE iam_din_stego_head; +extern aFTR_PROFILE iam_din_stego_tail; +extern aFTR_PROFILE iam_din_stump; +extern aFTR_PROFILE iam_din_trex_body; +extern aFTR_PROFILE iam_din_trex_dummy; +extern aFTR_PROFILE iam_din_trex_head; +extern aFTR_PROFILE iam_din_trex_tail; +extern aFTR_PROFILE iam_din_trikera_body; +extern aFTR_PROFILE iam_din_trikera_dummy; +extern aFTR_PROFILE iam_din_trikera_head; +extern aFTR_PROFILE iam_din_trikera_tail; +extern aFTR_PROFILE iam_din_trilobite; +extern aFTR_PROFILE iam_dummy; +extern aFTR_PROFILE iam_famicom_common; +extern aFTR_PROFILE iam_fmanekin; +extern aFTR_PROFILE iam_fumbrella; +extern aFTR_PROFILE iam_gold_item; +extern aFTR_PROFILE iam_hayakawa_famicom; +extern aFTR_PROFILE iam_hnw_common; +extern aFTR_PROFILE iam_hos_Tdesk; +extern aFTR_PROFILE iam_hos_deskL; +extern aFTR_PROFILE iam_hos_deskR; +extern aFTR_PROFILE iam_hos_flip; +extern aFTR_PROFILE iam_hos_mario_hata; +extern aFTR_PROFILE iam_hos_mario_kinoko; +extern aFTR_PROFILE iam_hos_piknic; +extern aFTR_PROFILE iam_hos_turkey_sofa; +extern aFTR_PROFILE iam_iid_benti; +extern aFTR_PROFILE iam_iid_diary; +extern aFTR_PROFILE iam_iid_funediary; +extern aFTR_PROFILE iam_iid_mdiary; +extern aFTR_PROFILE iam_iid_newdiary; +extern aFTR_PROFILE iam_iid_ningyou; +extern aFTR_PROFILE iam_iid_snow; +extern aFTR_PROFILE iam_iid_surf; +extern aFTR_PROFILE iam_iid_yuki; +extern aFTR_PROFILE iam_ike_art_ang; +extern aFTR_PROFILE iam_ike_art_fel; +extern aFTR_PROFILE iam_ike_art_sya; +extern aFTR_PROFILE iam_ike_fish_tro2; +extern aFTR_PROFILE iam_ike_island_hako01; +extern aFTR_PROFILE iam_ike_island_sensui01; +extern aFTR_PROFILE iam_ike_island_uku01; +extern aFTR_PROFILE iam_ike_jny_afmen01; +extern aFTR_PROFILE iam_ike_jny_botle01; +extern aFTR_PROFILE iam_ike_jny_gate01; +extern aFTR_PROFILE iam_ike_jny_gojyu01; +extern aFTR_PROFILE iam_ike_jny_hariko01; +extern aFTR_PROFILE iam_ike_jny_houi01; +extern aFTR_PROFILE iam_ike_jny_kibori01; +extern aFTR_PROFILE iam_ike_jny_makada01; +extern aFTR_PROFILE iam_ike_jny_moai01; +extern aFTR_PROFILE iam_ike_jny_ningyo01; +extern aFTR_PROFILE iam_ike_jny_pisa01; +extern aFTR_PROFILE iam_ike_jny_rosia01; +extern aFTR_PROFILE iam_ike_jny_sirser01; +extern aFTR_PROFILE iam_ike_jny_sirser201; +extern aFTR_PROFILE iam_ike_jny_syon01; +extern aFTR_PROFILE iam_ike_jny_tower01; +extern aFTR_PROFILE iam_ike_jny_truth01; +extern aFTR_PROFILE iam_ike_jpn_tansu01; +extern aFTR_PROFILE iam_ike_k_count01; +extern aFTR_PROFILE iam_ike_k_iveboy01; +extern aFTR_PROFILE iam_ike_k_kid01; +extern aFTR_PROFILE iam_ike_k_kid02; +extern aFTR_PROFILE iam_ike_k_mame01; +extern aFTR_PROFILE iam_ike_k_otome01; +extern aFTR_PROFILE iam_ike_k_sinnen01; +extern aFTR_PROFILE iam_ike_k_sum01; +extern aFTR_PROFILE iam_ike_k_tanabata01; +extern aFTR_PROFILE iam_ike_k_turis01; +extern aFTR_PROFILE iam_ike_kama_danro01; +extern aFTR_PROFILE iam_ike_nikki_fan1; +extern aFTR_PROFILE iam_ike_nikki_fan2; +extern aFTR_PROFILE iam_ike_nikki_fan3; +extern aFTR_PROFILE iam_ike_nikki_fan4; +extern aFTR_PROFILE iam_ike_nikki_fan5; +extern aFTR_PROFILE iam_ike_nikki_wafu1; +extern aFTR_PROFILE iam_ike_prores_bench01; +extern aFTR_PROFILE iam_ike_prores_fense01; +extern aFTR_PROFILE iam_ike_prores_ling01; +extern aFTR_PROFILE iam_ike_prores_ling02; +extern aFTR_PROFILE iam_ike_prores_ling03; +extern aFTR_PROFILE iam_ike_prores_mat01; +extern aFTR_PROFILE iam_ike_prores_punch01; +extern aFTR_PROFILE iam_ike_prores_sandbag01; +extern aFTR_PROFILE iam_ike_prores_table01; +extern aFTR_PROFILE iam_ike_pst_pig01; +extern aFTR_PROFILE iam_ike_pst_tesyu01; +extern aFTR_PROFILE iam_ike_tent_bike01; +extern aFTR_PROFILE iam_ike_tent_fire01; +extern aFTR_PROFILE iam_ike_tent_fire02; +extern aFTR_PROFILE iam_ike_tent_kayak01; +extern aFTR_PROFILE iam_ike_tent_knap01; +extern aFTR_PROFILE iam_ike_tent_sleepbag01; +extern aFTR_PROFILE iam_iku_bugzapper; +extern aFTR_PROFILE iam_iku_busstop; +extern aFTR_PROFILE iam_iku_candy; +extern aFTR_PROFILE iam_iku_cement; +extern aFTR_PROFILE iam_iku_chair; +extern aFTR_PROFILE iam_iku_cocoa; +extern aFTR_PROFILE iam_iku_cow; +extern aFTR_PROFILE iam_iku_denko; +extern aFTR_PROFILE iam_iku_flagman; +extern aFTR_PROFILE iam_iku_flip_top; +extern aFTR_PROFILE iam_iku_gold_green; +extern aFTR_PROFILE iam_iku_gold_red; +extern aFTR_PROFILE iam_iku_ham; +extern aFTR_PROFILE iam_iku_hazardous_top; +extern aFTR_PROFILE iam_iku_ido; +extern aFTR_PROFILE iam_iku_jack; +extern aFTR_PROFILE iam_iku_jersey; +extern aFTR_PROFILE iam_iku_mario_coin; +extern aFTR_PROFILE iam_iku_mario_dokan; +extern aFTR_PROFILE iam_iku_mario_hatena; +extern aFTR_PROFILE iam_iku_mario_koura; +extern aFTR_PROFILE iam_iku_mario_renga; +extern aFTR_PROFILE iam_iku_mario_star; +extern aFTR_PROFILE iam_iku_mario_taihou; +extern aFTR_PROFILE iam_iku_orange; +extern aFTR_PROFILE iam_iku_reducespeed; +extern aFTR_PROFILE iam_iku_roller; +extern aFTR_PROFILE iam_iku_saku_a; +extern aFTR_PROFILE iam_iku_saku_b; +extern aFTR_PROFILE iam_iku_sawhousev; +extern aFTR_PROFILE iam_iku_slip; +extern aFTR_PROFILE iam_iku_tumble; +extern aFTR_PROFILE iam_iku_turkey_TV; +extern aFTR_PROFILE iam_iku_turkey_bed; +extern aFTR_PROFILE iam_iku_turkey_lamp; +extern aFTR_PROFILE iam_iku_turkey_table; +extern aFTR_PROFILE iam_iku_ukai; +extern aFTR_PROFILE iam_iku_work; +extern aFTR_PROFILE iam_kazaguruma; +extern aFTR_PROFILE iam_kob_disksystem8; +extern aFTR_PROFILE iam_kob_getabako1; +extern aFTR_PROFILE iam_kob_getabako2; +extern aFTR_PROFILE iam_kob_jimudesk; +extern aFTR_PROFILE iam_kob_jimuisu; +extern aFTR_PROFILE iam_kob_locker1; +extern aFTR_PROFILE iam_kob_mastersword; +extern aFTR_PROFILE iam_kob_ncube; +extern aFTR_PROFILE iam_kob_pipeisu; +extern aFTR_PROFILE iam_kob_rika_desk; +extern aFTR_PROFILE iam_kob_tobibako; +extern aFTR_PROFILE iam_kon_ameclock; +extern aFTR_PROFILE iam_kon_atqclock; +extern aFTR_PROFILE iam_kon_blueclock; +extern aFTR_PROFILE iam_kon_cracker; +extern aFTR_PROFILE iam_kon_gomi03; +extern aFTR_PROFILE iam_kon_gomi04; +extern aFTR_PROFILE iam_kon_grclock; +extern aFTR_PROFILE iam_kon_isi01; +extern aFTR_PROFILE iam_kon_isi02; +extern aFTR_PROFILE iam_kon_isi03; +extern aFTR_PROFILE iam_kon_isi04; +extern aFTR_PROFILE iam_kon_isi05; +extern aFTR_PROFILE iam_kon_isi06; +extern aFTR_PROFILE iam_kon_jihanki02; +extern aFTR_PROFILE iam_kon_jihanki03; +extern aFTR_PROFILE iam_kon_mimiclock; +extern aFTR_PROFILE iam_kon_musya; +extern aFTR_PROFILE iam_kon_pound; +extern aFTR_PROFILE iam_kon_redclock; +extern aFTR_PROFILE iam_kon_sisiodosi; +extern aFTR_PROFILE iam_kon_snowbed; +extern aFTR_PROFILE iam_kon_snowbox; +extern aFTR_PROFILE iam_kon_snowclock; +extern aFTR_PROFILE iam_kon_snowfreezer; +extern aFTR_PROFILE iam_kon_snowsofa; +extern aFTR_PROFILE iam_kon_snowtable; +extern aFTR_PROFILE iam_kon_snowtansu; +extern aFTR_PROFILE iam_kon_snowtv; +extern aFTR_PROFILE iam_kon_taiju; +extern aFTR_PROFILE iam_kon_tubo; +extern aFTR_PROFILE iam_kon_tubo2; +extern aFTR_PROFILE iam_kon_tubo3; +extern aFTR_PROFILE iam_kon_tukue; +extern aFTR_PROFILE iam_kon_waclock; +extern aFTR_PROFILE iam_kon_xtree02; +extern aFTR_PROFILE iam_myfmanekin; +extern aFTR_PROFILE iam_myfumbrella; +extern aFTR_PROFILE iam_nog_amenbo; +extern aFTR_PROFILE iam_nog_ari; +extern aFTR_PROFILE iam_nog_balloon_common; +extern aFTR_PROFILE iam_nog_beachbed; +extern aFTR_PROFILE iam_nog_beachtable; +extern aFTR_PROFILE iam_nog_bishopB; +extern aFTR_PROFILE iam_nog_bishopW; +extern aFTR_PROFILE iam_nog_burner; +extern aFTR_PROFILE iam_nog_collegenote; +extern aFTR_PROFILE iam_nog_cornucopia; +extern aFTR_PROFILE iam_nog_dango; +extern aFTR_PROFILE iam_nog_dump; +extern aFTR_PROFILE iam_nog_earth; +extern aFTR_PROFILE iam_nog_f_tree; +extern aFTR_PROFILE iam_nog_fan01; +extern aFTR_PROFILE iam_nog_flat; +extern aFTR_PROFILE iam_nog_flower; +extern aFTR_PROFILE iam_nog_gong; +extern aFTR_PROFILE iam_nog_harddiary; +extern aFTR_PROFILE iam_nog_isidai; +extern aFTR_PROFILE iam_nog_ka; +extern aFTR_PROFILE iam_nog_kaeru; +extern aFTR_PROFILE iam_nog_kamakura; +extern aFTR_PROFILE iam_nog_kera; +extern aFTR_PROFILE iam_nog_kingB; +extern aFTR_PROFILE iam_nog_kingW; +extern aFTR_PROFILE iam_nog_knightB; +extern aFTR_PROFILE iam_nog_knightW; +extern aFTR_PROFILE iam_nog_koban; +extern aFTR_PROFILE iam_nog_kumo; +extern aFTR_PROFILE iam_nog_kurage; +extern aFTR_PROFILE iam_nog_lawnmower; +extern aFTR_PROFILE iam_nog_maimai; +extern aFTR_PROFILE iam_nog_medaka; +extern aFTR_PROFILE iam_nog_mikanbox; +extern aFTR_PROFILE iam_nog_mino; +extern aFTR_PROFILE iam_nog_museum; +extern aFTR_PROFILE iam_nog_myhome2; +extern aFTR_PROFILE iam_nog_myhome4; +extern aFTR_PROFILE iam_nog_nabe; +extern aFTR_PROFILE iam_nog_pawnB; +extern aFTR_PROFILE iam_nog_pawnW; +extern aFTR_PROFILE iam_nog_piraluku; +extern aFTR_PROFILE iam_nog_queenB; +extern aFTR_PROFILE iam_nog_queenW; +extern aFTR_PROFILE iam_nog_rail; +extern aFTR_PROFILE iam_nog_rookB; +extern aFTR_PROFILE iam_nog_rookW; +extern aFTR_PROFILE iam_nog_s_tree; +extern aFTR_PROFILE iam_nog_schoolnote; +extern aFTR_PROFILE iam_nog_shop1; +extern aFTR_PROFILE iam_nog_shrine; +extern aFTR_PROFILE iam_nog_snowman; +extern aFTR_PROFILE iam_nog_sprinkler; +extern aFTR_PROFILE iam_nog_station; +extern aFTR_PROFILE iam_nog_suzuki; +extern aFTR_PROFILE iam_nog_systemnote; +extern aFTR_PROFILE iam_nog_tai; +extern aFTR_PROFILE iam_nog_tri_audio01; +extern aFTR_PROFILE iam_nog_tri_bed01; +extern aFTR_PROFILE iam_nog_tri_chair01; +extern aFTR_PROFILE iam_nog_tri_chest01; +extern aFTR_PROFILE iam_nog_tri_chest02; +extern aFTR_PROFILE iam_nog_tri_chest03; +extern aFTR_PROFILE iam_nog_tri_clock01; +extern aFTR_PROFILE iam_nog_tri_rack01; +extern aFTR_PROFILE iam_nog_tri_sofa01; +extern aFTR_PROFILE iam_nog_tri_table01; +extern aFTR_PROFILE iam_nog_tudurinote; +extern aFTR_PROFILE iam_nog_uranai; +extern aFTR_PROFILE iam_nog_w_tree; +extern aFTR_PROFILE iam_nog_xtree; +extern aFTR_PROFILE iam_nog_yamishop; +extern aFTR_PROFILE iam_nog_yubin; +extern aFTR_PROFILE iam_nog_zarigani; +extern aFTR_PROFILE iam_nog_zassou; +extern aFTR_PROFILE iam_radio_test; +extern aFTR_PROFILE iam_sugi_alchair; +extern aFTR_PROFILE iam_sugi_barbecue; +extern aFTR_PROFILE iam_sugi_chesstable; +extern aFTR_PROFILE iam_sugi_kpool; +extern aFTR_PROFILE iam_sugi_radiatorl; +extern aFTR_PROFILE iam_sugi_torch; +extern aFTR_PROFILE iam_sum_abura; +extern aFTR_PROFILE iam_sum_akiakane; +extern aFTR_PROFILE iam_sum_angel; +extern aFTR_PROFILE iam_sum_aroana; +extern aFTR_PROFILE iam_sum_art01; +extern aFTR_PROFILE iam_sum_art04; +extern aFTR_PROFILE iam_sum_art05; +extern aFTR_PROFILE iam_sum_art06; +extern aFTR_PROFILE iam_sum_art08; +extern aFTR_PROFILE iam_sum_art09; +extern aFTR_PROFILE iam_sum_art10; +extern aFTR_PROFILE iam_sum_art11; +extern aFTR_PROFILE iam_sum_art12; +extern aFTR_PROFILE iam_sum_art13; +extern aFTR_PROFILE iam_sum_art14; +extern aFTR_PROFILE iam_sum_art15; +extern aFTR_PROFILE iam_sum_asi_bed01; +extern aFTR_PROFILE iam_sum_asi_chair01; +extern aFTR_PROFILE iam_sum_asi_chair02; +extern aFTR_PROFILE iam_sum_asi_chest01; +extern aFTR_PROFILE iam_sum_asi_chest02; +extern aFTR_PROFILE iam_sum_asi_chest03; +extern aFTR_PROFILE iam_sum_asi_lanp01; +extern aFTR_PROFILE iam_sum_asi_screen01; +extern aFTR_PROFILE iam_sum_asi_table01; +extern aFTR_PROFILE iam_sum_asi_table02; +extern aFTR_PROFILE iam_sum_asi_taiko; +extern aFTR_PROFILE iam_sum_ayu; +extern aFTR_PROFILE iam_sum_baketu; +extern aFTR_PROFILE iam_sum_bass; +extern aFTR_PROFILE iam_sum_bass01; +extern aFTR_PROFILE iam_sum_bassl; +extern aFTR_PROFILE iam_sum_bassm; +extern aFTR_PROFILE iam_sum_bdcake01; +extern aFTR_PROFILE iam_sum_billiads; +extern aFTR_PROFILE iam_sum_biwa01; +extern aFTR_PROFILE iam_sum_bla_bed01; +extern aFTR_PROFILE iam_sum_bla_chair02; +extern aFTR_PROFILE iam_sum_bla_chest01; +extern aFTR_PROFILE iam_sum_bla_chest02; +extern aFTR_PROFILE iam_sum_bla_chest03; +extern aFTR_PROFILE iam_sum_bla_desk01; +extern aFTR_PROFILE iam_sum_bla_lanp; +extern aFTR_PROFILE iam_sum_bla_sofa02; +extern aFTR_PROFILE iam_sum_bla_table01; +extern aFTR_PROFILE iam_sum_bla_table02; +extern aFTR_PROFILE iam_sum_blue_bed01; +extern aFTR_PROFILE iam_sum_blue_bench01; +extern aFTR_PROFILE iam_sum_blue_bureau01; +extern aFTR_PROFILE iam_sum_blue_cab01; +extern aFTR_PROFILE iam_sum_blue_chair01; +extern aFTR_PROFILE iam_sum_blue_chest01; +extern aFTR_PROFILE iam_sum_blue_chest02; +extern aFTR_PROFILE iam_sum_blue_clk; +extern aFTR_PROFILE iam_sum_blue_lowchest01; +extern aFTR_PROFILE iam_sum_blue_table01; +extern aFTR_PROFILE iam_sum_bon_boke; +extern aFTR_PROFILE iam_sum_bon_matu01; +extern aFTR_PROFILE iam_sum_bon_matu02; +extern aFTR_PROFILE iam_sum_bon_matu03; +extern aFTR_PROFILE iam_sum_bon_momiji; +extern aFTR_PROFILE iam_sum_bon_pira; +extern aFTR_PROFILE iam_sum_bon_sanshu; +extern aFTR_PROFILE iam_sum_bon_satuki; +extern aFTR_PROFILE iam_sum_bon_turu; +extern aFTR_PROFILE iam_sum_bon_ume; +extern aFTR_PROFILE iam_sum_bookcht01; +extern aFTR_PROFILE iam_sum_casse01; +extern aFTR_PROFILE iam_sum_cello01; +extern aFTR_PROFILE iam_sum_chair01; +extern aFTR_PROFILE iam_sum_chikuon01; +extern aFTR_PROFILE iam_sum_chikuon02; +extern aFTR_PROFILE iam_sum_classiccabinet01; +extern aFTR_PROFILE iam_sum_classicchair01; +extern aFTR_PROFILE iam_sum_classicchest01; +extern aFTR_PROFILE iam_sum_classicchest02; +extern aFTR_PROFILE iam_sum_classictable01; +extern aFTR_PROFILE iam_sum_classicwardrope01; +extern aFTR_PROFILE iam_sum_clbed02; +extern aFTR_PROFILE iam_sum_clchair02; +extern aFTR_PROFILE iam_sum_clchest03; +extern aFTR_PROFILE iam_sum_col_chair01; +extern aFTR_PROFILE iam_sum_col_chair02; +extern aFTR_PROFILE iam_sum_col_chair03; +extern aFTR_PROFILE iam_sum_comp01; +extern aFTR_PROFILE iam_sum_conga01; +extern aFTR_PROFILE iam_sum_conpo01; +extern aFTR_PROFILE iam_sum_conpo02; +extern aFTR_PROFILE iam_sum_cont_bed01; +extern aFTR_PROFILE iam_sum_cont_cab01; +extern aFTR_PROFILE iam_sum_cont_chair01; +extern aFTR_PROFILE iam_sum_cont_chest01; +extern aFTR_PROFILE iam_sum_cont_chest02; +extern aFTR_PROFILE iam_sum_cont_chest03; +extern aFTR_PROFILE iam_sum_cont_sofa01; +extern aFTR_PROFILE iam_sum_cont_sofa02; +extern aFTR_PROFILE iam_sum_cont_table01; +extern aFTR_PROFILE iam_sum_cont_table02; +extern aFTR_PROFILE iam_sum_cupboard01; +extern aFTR_PROFILE iam_sum_danna; +extern aFTR_PROFILE iam_sum_demekin; +extern aFTR_PROFILE iam_sum_desk01; +extern aFTR_PROFILE iam_sum_dojyo; +extern aFTR_PROFILE iam_sum_doll01; +extern aFTR_PROFILE iam_sum_doll02; +extern aFTR_PROFILE iam_sum_doll03; +extern aFTR_PROFILE iam_sum_doll04; +extern aFTR_PROFILE iam_sum_doll05; +extern aFTR_PROFILE iam_sum_doll06; +extern aFTR_PROFILE iam_sum_doll07; +extern aFTR_PROFILE iam_sum_doll08; +extern aFTR_PROFILE iam_sum_doll09; +extern aFTR_PROFILE iam_sum_doll10; +extern aFTR_PROFILE iam_sum_doll11; +extern aFTR_PROFILE iam_sum_donko; +extern aFTR_PROFILE iam_sum_fruitbed01; +extern aFTR_PROFILE iam_sum_fruitchair01; +extern aFTR_PROFILE iam_sum_fruitchair02; +extern aFTR_PROFILE iam_sum_fruitchair03; +extern aFTR_PROFILE iam_sum_fruitchair04; +extern aFTR_PROFILE iam_sum_fruitchest01; +extern aFTR_PROFILE iam_sum_fruitchest03; +extern aFTR_PROFILE iam_sum_fruitclk; +extern aFTR_PROFILE iam_sum_fruittable01; +extern aFTR_PROFILE iam_sum_fruittable02; +extern aFTR_PROFILE iam_sum_fruittable03; +extern aFTR_PROFILE iam_sum_fruittv01; +extern aFTR_PROFILE iam_sum_funa; +extern aFTR_PROFILE iam_sum_genji; +extern aFTR_PROFILE iam_sum_gill; +extern aFTR_PROFILE iam_sum_ginyanma; +extern aFTR_PROFILE iam_sum_globe01; +extern aFTR_PROFILE iam_sum_golfbag01; +extern aFTR_PROFILE iam_sum_golfbag02; +extern aFTR_PROFILE iam_sum_golfbag03; +extern aFTR_PROFILE iam_sum_gomadara; +extern aFTR_PROFILE iam_sum_gre_bed01; +extern aFTR_PROFILE iam_sum_gre_chair01; +extern aFTR_PROFILE iam_sum_gre_chair02; +extern aFTR_PROFILE iam_sum_gre_chest01; +extern aFTR_PROFILE iam_sum_gre_chest02; +extern aFTR_PROFILE iam_sum_gre_chest03; +extern aFTR_PROFILE iam_sum_gre_counter01; +extern aFTR_PROFILE iam_sum_gre_desk01; +extern aFTR_PROFILE iam_sum_gre_lanp01; +extern aFTR_PROFILE iam_sum_gre_table01; +extern aFTR_PROFILE iam_sum_guitar01; +extern aFTR_PROFILE iam_sum_guitar02; +extern aFTR_PROFILE iam_sum_guitar03; +extern aFTR_PROFILE iam_sum_gupi; +extern aFTR_PROFILE iam_sum_hachi; +extern aFTR_PROFILE iam_sum_hal_bed01; +extern aFTR_PROFILE iam_sum_hal_box01; +extern aFTR_PROFILE iam_sum_hal_chair01; +extern aFTR_PROFILE iam_sum_hal_chest01; +extern aFTR_PROFILE iam_sum_hal_chest02; +extern aFTR_PROFILE iam_sum_hal_chest03; +extern aFTR_PROFILE iam_sum_hal_clk01; +extern aFTR_PROFILE iam_sum_hal_lanp01; +extern aFTR_PROFILE iam_sum_hal_mirror01; +extern aFTR_PROFILE iam_sum_hal_pkin; +extern aFTR_PROFILE iam_sum_hal_sofa01; +extern aFTR_PROFILE iam_sum_hal_table01; +extern aFTR_PROFILE iam_sum_harp; +extern aFTR_PROFILE iam_sum_hera; +extern aFTR_PROFILE iam_sum_higurashi; +extern aFTR_PROFILE iam_sum_hirata; +extern aFTR_PROFILE iam_sum_ito; +extern aFTR_PROFILE iam_sum_iwana; +extern aFTR_PROFILE iam_sum_jukebox; +extern aFTR_PROFILE iam_sum_kabuto; +extern aFTR_PROFILE iam_sum_kamakiri; +extern aFTR_PROFILE iam_sum_kanabun; +extern aFTR_PROFILE iam_sum_kaseki; +extern aFTR_PROFILE iam_sum_kiageha; +extern aFTR_PROFILE iam_sum_kingyo; +extern aFTR_PROFILE iam_sum_kirigirisu; +extern aFTR_PROFILE iam_sum_kisha; +extern aFTR_PROFILE iam_sum_kitchair01; +extern aFTR_PROFILE iam_sum_kittable01; +extern aFTR_PROFILE iam_sum_koi; +extern aFTR_PROFILE iam_sum_kokuban; +extern aFTR_PROFILE iam_sum_koorogi; +extern aFTR_PROFILE iam_sum_liccabed; +extern aFTR_PROFILE iam_sum_liccachair; +extern aFTR_PROFILE iam_sum_liccachest; +extern aFTR_PROFILE iam_sum_liccakitchen; +extern aFTR_PROFILE iam_sum_liccalanp; +extern aFTR_PROFILE iam_sum_liccalowchest; +extern aFTR_PROFILE iam_sum_liccalowtable; +extern aFTR_PROFILE iam_sum_liccamirror; +extern aFTR_PROFILE iam_sum_liccapiano; +extern aFTR_PROFILE iam_sum_liccasofa; +extern aFTR_PROFILE iam_sum_liccatable; +extern aFTR_PROFILE iam_sum_log_bed01; +extern aFTR_PROFILE iam_sum_log_chair01; +extern aFTR_PROFILE iam_sum_log_chair02; +extern aFTR_PROFILE iam_sum_log_chair03; +extern aFTR_PROFILE iam_sum_log_chest01; +extern aFTR_PROFILE iam_sum_log_chest02; +extern aFTR_PROFILE iam_sum_log_chest03; +extern aFTR_PROFILE iam_sum_log_hatoclk; +extern aFTR_PROFILE iam_sum_log_table01; +extern aFTR_PROFILE iam_sum_log_table02; +extern aFTR_PROFILE iam_sum_lv_stereo; +extern aFTR_PROFILE iam_sum_matumushi; +extern aFTR_PROFILE iam_sum_md01; +extern aFTR_PROFILE iam_sum_mezaclock; +extern aFTR_PROFILE iam_sum_minmin; +extern aFTR_PROFILE iam_sum_misin01; +extern aFTR_PROFILE iam_sum_miyama; +extern aFTR_PROFILE iam_sum_mizunomi; +extern aFTR_PROFILE iam_sum_monki; +extern aFTR_PROFILE iam_sum_monshiro; +extern aFTR_PROFILE iam_sum_namazu; +extern aFTR_PROFILE iam_sum_nanahoshi; +extern aFTR_PROFILE iam_sum_nigoi; +extern aFTR_PROFILE iam_sum_niji; +extern aFTR_PROFILE iam_sum_nisiki; +extern aFTR_PROFILE iam_sum_nokogiri; +extern aFTR_PROFILE iam_sum_ohmurasaki; +extern aFTR_PROFILE iam_sum_oikawa; +extern aFTR_PROFILE iam_sum_okiagari01; +extern aFTR_PROFILE iam_sum_okuwa; +extern aFTR_PROFILE iam_sum_oldclk01; +extern aFTR_PROFILE iam_sum_oldsofa01; +extern aFTR_PROFILE iam_sum_oniyanma; +extern aFTR_PROFILE iam_sum_oonamazu; +extern aFTR_PROFILE iam_sum_pet01; +extern aFTR_PROFILE iam_sum_piano01; +extern aFTR_PROFILE iam_sum_pirania; +extern aFTR_PROFILE iam_sum_pl_aloe01; +extern aFTR_PROFILE iam_sum_pl_ananas; +extern aFTR_PROFILE iam_sum_pl_benjyami; +extern aFTR_PROFILE iam_sum_pl_caladium01; +extern aFTR_PROFILE iam_sum_pl_cocos; +extern aFTR_PROFILE iam_sum_pl_compacta; +extern aFTR_PROFILE iam_sum_pl_draca02; +extern aFTR_PROFILE iam_sum_pl_dracaena; +extern aFTR_PROFILE iam_sum_pl_gomunoki; +extern aFTR_PROFILE iam_sum_pl_hirasabo; +extern aFTR_PROFILE iam_sum_pl_kuroton; +extern aFTR_PROFILE iam_sum_pl_pakila; +extern aFTR_PROFILE iam_sum_pl_pothos; +extern aFTR_PROFILE iam_sum_pl_shuroci; +extern aFTR_PROFILE iam_sum_pl_yamayasi; +extern aFTR_PROFILE iam_sum_popchair01; +extern aFTR_PROFILE iam_sum_popchair02; +extern aFTR_PROFILE iam_sum_popchair03; +extern aFTR_PROFILE iam_sum_poptable01; +extern aFTR_PROFILE iam_sum_poptable02; +extern aFTR_PROFILE iam_sum_poptable03; +extern aFTR_PROFILE iam_sum_radio01; +extern aFTR_PROFILE iam_sum_radio02; +extern aFTR_PROFILE iam_sum_raigyo; +extern aFTR_PROFILE iam_sum_ratan_bed01; +extern aFTR_PROFILE iam_sum_ratan_chest01; +extern aFTR_PROFILE iam_sum_ratan_chest02; +extern aFTR_PROFILE iam_sum_ratan_chest03; +extern aFTR_PROFILE iam_sum_ratan_isu01; +extern aFTR_PROFILE iam_sum_ratan_isu02; +extern aFTR_PROFILE iam_sum_ratan_lanp; +extern aFTR_PROFILE iam_sum_ratan_mirror; +extern aFTR_PROFILE iam_sum_ratan_screen; +extern aFTR_PROFILE iam_sum_ratan_table01; +extern aFTR_PROFILE iam_sum_reco01; +extern aFTR_PROFILE iam_sum_roboclk; +extern aFTR_PROFILE iam_sum_roboconpo; +extern aFTR_PROFILE iam_sum_sabo01; +extern aFTR_PROFILE iam_sum_sabo02; +extern aFTR_PROFILE iam_sum_saiconpo; +extern aFTR_PROFILE iam_sum_sake; +extern aFTR_PROFILE iam_sum_shiokara; +extern aFTR_PROFILE iam_sum_shoukaki; +extern aFTR_PROFILE iam_sum_slot; +extern aFTR_PROFILE iam_sum_sofe01; +extern aFTR_PROFILE iam_sum_sofe02; +extern aFTR_PROFILE iam_sum_sofe03; +extern aFTR_PROFILE iam_sum_stereo01; +extern aFTR_PROFILE iam_sum_stereo02; +extern aFTR_PROFILE iam_sum_stove01; +extern aFTR_PROFILE iam_sum_suberi01; +extern aFTR_PROFILE iam_sum_suzumushi; +extern aFTR_PROFILE iam_sum_syouryou; +extern aFTR_PROFILE iam_sum_taiko01; +extern aFTR_PROFILE iam_sum_takkyu; +extern aFTR_PROFILE iam_sum_tamamushi; +extern aFTR_PROFILE iam_sum_tanago; +extern aFTR_PROFILE iam_sum_taru01; +extern aFTR_PROFILE iam_sum_taru02; +extern aFTR_PROFILE iam_sum_tekin01; +extern aFTR_PROFILE iam_sum_tentou; +extern aFTR_PROFILE iam_sum_timpani01; +extern aFTR_PROFILE iam_sum_tonosama; +extern aFTR_PROFILE iam_sum_totemp01; +extern aFTR_PROFILE iam_sum_totemp02; +extern aFTR_PROFILE iam_sum_totemp03; +extern aFTR_PROFILE iam_sum_totemp04; +extern aFTR_PROFILE iam_sum_touro01; +extern aFTR_PROFILE iam_sum_touro02; +extern aFTR_PROFILE iam_sum_touro03; +extern aFTR_PROFILE iam_sum_touro04; +extern aFTR_PROFILE iam_sum_tukutuku; +extern aFTR_PROFILE iam_sum_tv01; +extern aFTR_PROFILE iam_sum_tv02; +extern aFTR_PROFILE iam_sum_ugui; +extern aFTR_PROFILE iam_sum_unagi; +extern aFTR_PROFILE iam_sum_uwa_cup01; +extern aFTR_PROFILE iam_sum_uwa_poto01; +extern aFTR_PROFILE iam_sum_uwa_vase01; +extern aFTR_PROFILE iam_sum_uwa_vase02; +extern aFTR_PROFILE iam_sum_uwa_vase03; +extern aFTR_PROFILE iam_sum_viola01; +extern aFTR_PROFILE iam_sum_wakasagi; +extern aFTR_PROFILE iam_sum_wc01; +extern aFTR_PROFILE iam_sum_wc02; +extern aFTR_PROFILE iam_sum_whi_bed01; +extern aFTR_PROFILE iam_sum_whi_chest01; +extern aFTR_PROFILE iam_sum_whi_chest02; +extern aFTR_PROFILE iam_sum_whi_lanp; +extern aFTR_PROFILE iam_sum_whi_mirror; +extern aFTR_PROFILE iam_sum_whi_sofa01; +extern aFTR_PROFILE iam_sum_x_bed01; +extern aFTR_PROFILE iam_sum_x_chair01; +extern aFTR_PROFILE iam_sum_x_chest01; +extern aFTR_PROFILE iam_sum_x_chest02; +extern aFTR_PROFILE iam_sum_x_chest03; +extern aFTR_PROFILE iam_sum_x_clk; +extern aFTR_PROFILE iam_sum_x_lanp; +extern aFTR_PROFILE iam_sum_x_piano; +extern aFTR_PROFILE iam_sum_x_sofa01; +extern aFTR_PROFILE iam_sum_x_table01; +extern aFTR_PROFILE iam_sum_yamame; +extern aFTR_PROFILE iam_tak_apollo1; +extern aFTR_PROFILE iam_tak_arwing; +extern aFTR_PROFILE iam_tak_asteroid1; +extern aFTR_PROFILE iam_tak_astro; +extern aFTR_PROFILE iam_tak_barber; +extern aFTR_PROFILE iam_tak_cone01; +extern aFTR_PROFILE iam_tak_cone03; +extern aFTR_PROFILE iam_tak_cube; +extern aFTR_PROFILE iam_tak_drum02; +extern aFTR_PROFILE iam_tak_eisei; +extern aFTR_PROFILE iam_tak_ham1; +extern aFTR_PROFILE iam_tak_hole01; +extern aFTR_PROFILE iam_tak_ice; +extern aFTR_PROFILE iam_tak_isu03; +extern aFTR_PROFILE iam_tak_lion; +extern aFTR_PROFILE iam_tak_megami; +extern aFTR_PROFILE iam_tak_metro; +extern aFTR_PROFILE iam_tak_money; +extern aFTR_PROFILE iam_tak_moon; +extern aFTR_PROFILE iam_tak_mooncar; +extern aFTR_PROFILE iam_tak_moti; +extern aFTR_PROFILE iam_tak_neko; +extern aFTR_PROFILE iam_tak_nes01; +extern aFTR_PROFILE iam_tak_nikki01; +extern aFTR_PROFILE iam_tak_noise; +extern aFTR_PROFILE iam_tak_rocket1; +extern aFTR_PROFILE iam_tak_shuttle; +extern aFTR_PROFILE iam_tak_snowisu; +extern aFTR_PROFILE iam_tak_snowlamp; +extern aFTR_PROFILE iam_tak_sori01; +extern aFTR_PROFILE iam_tak_station; +extern aFTR_PROFILE iam_tak_stew; +extern aFTR_PROFILE iam_tak_syogi; +extern aFTR_PROFILE iam_tak_table02; +extern aFTR_PROFILE iam_tak_tailor; +extern aFTR_PROFILE iam_tak_tekkin; +extern aFTR_PROFILE iam_tak_tent; +extern aFTR_PROFILE iam_tak_tent_box; +extern aFTR_PROFILE iam_tak_tent_lamp; +extern aFTR_PROFILE iam_tak_tetra; +extern aFTR_PROFILE iam_tak_toudai; +extern aFTR_PROFILE iam_tak_ufo; +extern aFTR_PROFILE iam_tak_yaji; +extern aFTR_PROFILE iam_tak_yoroi; +extern aFTR_PROFILE iam_tool; +extern aFTR_PROFILE iam_utiwa; +extern aFTR_PROFILE iam_yaz_b_bath; +extern aFTR_PROFILE iam_yaz_b_house; +extern aFTR_PROFILE iam_yaz_candle; +extern aFTR_PROFILE iam_yaz_fish_trophy; +extern aFTR_PROFILE iam_yaz_mario_flower; +extern aFTR_PROFILE iam_yaz_rocket; +extern aFTR_PROFILE iam_yaz_telescope; +extern aFTR_PROFILE iam_yaz_tub; +extern aFTR_PROFILE iam_yaz_turkey_chair; +extern aFTR_PROFILE iam_yaz_turkey_chest; +extern aFTR_PROFILE iam_yaz_turkey_closet; +extern aFTR_PROFILE iam_yaz_wagon; +extern aFTR_PROFILE iam_yos_b_feeder; +extern aFTR_PROFILE iam_yos_cactus; +extern aFTR_PROFILE iam_yos_flamingo; +extern aFTR_PROFILE iam_yos_flamingo2; +extern aFTR_PROFILE iam_yos_gnome; +extern aFTR_PROFILE iam_yos_kflag; +extern aFTR_PROFILE iam_yos_luigi; +extern aFTR_PROFILE iam_yos_mailbox; +extern aFTR_PROFILE iam_yos_mario; +extern aFTR_PROFILE iam_yos_pbstove; +extern aFTR_PROFILE iam_yos_terrace; +extern aFTR_PROFILE iam_yos_turkey_mirror; +extern aFTR_PROFILE iam_yos_turkey_watch; +extern aFTR_PROFILE iam_yos_wheel; + #ifdef __cplusplus } #endif From 709b46250bd6ab4285507468a079b7f047577c3a Mon Sep 17 00:00:00 2001 From: Prakxo Date: Sat, 9 Mar 2024 19:49:09 +0100 Subject: [PATCH 3/4] add aFTR_rig_c data --- config/rel_slices.yml | 4 ++++ include/audio.h | 2 +- include/jaudio_NES/game64.h | 2 +- src/audio.c | 4 ++-- src/ftr/ac_ike_jny_syon01.c | 2 +- src/ftr/ac_ike_jny_truth01.c | 4 ++++ src/ftr/ac_kon_cracker.c | 9 +++++++++ src/ftr/ac_kon_musya.c | 8 ++++---- src/ftr/ac_kon_sisiodosi.c | 10 ++++++++++ src/ftr/ac_kon_snowtansu.c | 2 +- src/ftr/ac_kon_waclock.c | 2 +- src/ftr/ac_nog_amenbo.c | 9 +++++++++ src/ftr/ac_nog_dango.c | 10 ++++++++++ src/ftr/ac_nog_isidai.c | 9 +++++++++ src/ftr/ac_nog_ka.c | 9 +++++++++ src/ftr/ac_nog_kaeru.c | 9 +++++++++ src/ftr/ac_nog_kera.c | 9 +++++++++ src/ftr/ac_nog_kumo.c | 9 +++++++++ src/ftr/ac_nog_kurage.c | 9 +++++++++ src/ftr/ac_nog_maimai.c | 9 +++++++++ src/ftr/ac_nog_medaka.c | 9 +++++++++ src/ftr/ac_nog_mino.c | 9 +++++++++ src/ftr/ac_nog_piraluku.c | 9 +++++++++ src/ftr/ac_nog_suzuki.c | 9 +++++++++ src/ftr/ac_nog_tai.c | 9 +++++++++ src/ftr/ac_nog_zarigani.c | 10 ++++++++++ src/ftr/ac_sum_akiakane.c | 10 ++++++++++ src/ftr/ac_sum_angel.c | 9 +++++++++ src/ftr/ac_sum_aroana.c | 9 +++++++++ src/ftr/ac_sum_asi_taiko.c | 2 +- src/ftr/ac_sum_ayu.c | 9 +++++++++ src/ftr/ac_sum_bass.c | 9 +++++++++ src/ftr/ac_sum_bass01.c | 2 +- src/ftr/ac_sum_bassl.c | 9 +++++++++ src/ftr/ac_sum_bassm.c | 9 +++++++++ src/ftr/ac_sum_biwa01.c | 2 +- src/ftr/ac_sum_conga01.c | 2 +- src/ftr/ac_sum_danna.c | 9 +++++++++ src/ftr/ac_sum_demekin.c | 9 +++++++++ src/ftr/ac_sum_dojyo.c | 8 ++++++++ src/ftr/ac_sum_donko.c | 9 +++++++++ src/ftr/ac_sum_funa.c | 9 +++++++++ src/ftr/ac_sum_gill.c | 9 +++++++++ src/ftr/ac_sum_ginyanma.c | 9 +++++++++ src/ftr/ac_sum_gomadara.c | 9 +++++++++ src/ftr/ac_sum_gupi.c | 9 +++++++++ src/ftr/ac_sum_hachi.c | 9 +++++++++ src/ftr/ac_sum_hera.c | 9 +++++++++ src/ftr/ac_sum_hirata.c | 9 +++++++++ src/ftr/ac_sum_ito.c | 9 +++++++++ src/ftr/ac_sum_iwana.c | 9 +++++++++ src/ftr/ac_sum_kabuto.c | 9 +++++++++ src/ftr/ac_sum_kamakiri.c | 9 +++++++++ src/ftr/ac_sum_kanabun.c | 9 +++++++++ src/ftr/ac_sum_kaseki.c | 9 +++++++++ src/ftr/ac_sum_kiageha.c | 9 +++++++++ src/ftr/ac_sum_kingyo.c | 9 +++++++++ src/ftr/ac_sum_koi.c | 9 +++++++++ src/ftr/ac_sum_mezaclock.c | 9 +++++++++ src/ftr/ac_sum_miyama.c | 9 +++++++++ src/ftr/ac_sum_mizunomi.c | 9 +++++++++ src/ftr/ac_sum_monki.c | 9 +++++++++ src/ftr/ac_sum_monshiro.c | 9 +++++++++ src/ftr/ac_sum_namazu.c | 9 +++++++++ src/ftr/ac_sum_nanahoshi.c | 9 +++++++++ src/ftr/ac_sum_okuwa.c | 4 ++++ src/ftr/ac_sum_oniyanma.c | 9 +++++++++ src/ftr/ac_sum_oonamazu.c | 9 +++++++++ src/ftr/ac_sum_pirania.c | 9 +++++++++ src/ftr/ac_sum_raigyo.c | 9 +++++++++ src/ftr/ac_sum_sake.c | 9 +++++++++ src/ftr/ac_sum_shiokara.c | 9 +++++++++ src/ftr/ac_sum_tamamushi.c | 9 +++++++++ src/ftr/ac_sum_tanago.c | 9 +++++++++ src/ftr/ac_sum_tentou.c | 9 +++++++++ src/ftr/ac_sum_ugui.c | 9 +++++++++ src/ftr/ac_sum_unagi.c | 9 +++++++++ src/ftr/ac_sum_wakasagi.c | 9 +++++++++ src/ftr/ac_sum_yamame.c | 9 +++++++++ src/ftr/ac_tak_asteroid1.c | 9 +++++++++ src/ftr/ac_tak_barber.c | 9 +++++++++ src/ftr/ac_tak_eisei.c | 9 +++++++++ src/ftr/ac_tak_lion.c | 2 +- src/ftr/ac_tak_station.c | 9 +++++++++ src/ftr/ac_tak_ufo.c | 9 +++++++++ 85 files changed, 661 insertions(+), 16 deletions(-) diff --git a/config/rel_slices.yml b/config/rel_slices.yml index bf012e37..bd01de0d 100644 --- a/config/rel_slices.yml +++ b/config/rel_slices.yml @@ -933,6 +933,10 @@ audio.c: .bss: [0x8148DA78, 0x8148DA7C] ac_weather_fine.c: .data: [0x806D1DA0, 0x806D1DB8] +f_furniture.c: + .text: [0x8062E96C, 0x80641254] + .rodata: [0x8064D360,0x8064D4D0] + .data: [0x806D4D40,0x806E02A0] # dataobject.obj files data/combi/data_combi.c: diff --git a/include/audio.h b/include/audio.h index f20a82ec..2c3baf9a 100644 --- a/include/audio.h +++ b/include/audio.h @@ -115,7 +115,7 @@ extern u16 sAdo_Get_WalkLabel(int type); extern int sAdo_Get_KokeruLabel(int type); extern void sAdo_SceneMode(u8 mode); -extern void sAdo_RoomIncectPos(u32 f, u16 u, xyz_t* pos); +extern s8 sAdo_RoomIncectPos(u32 f, u16 u, xyz_t* pos); extern void sAdo_FurnitureInstPos(u32 f, xyz_t* pos); extern void sAdo_Set_ongenpos_refuse_fg(int state); diff --git a/include/jaudio_NES/game64.h b/include/jaudio_NES/game64.h index ac8b35e1..fce0e5be 100644 --- a/include/jaudio_NES/game64.h +++ b/include/jaudio_NES/game64.h @@ -52,7 +52,7 @@ extern void Na_RoomType(u8); extern void Na_Museum(u8); extern void Na_SoftReset(); extern void Na_SceneMode(u8); -extern void Na_RoomIncectPos(int, u16, u16, f32); +extern s8 Na_RoomIncectPos(int, u16, u16, f32); extern void Na_FurnitureInstPos(int, u16, f32); extern int Na_GetSoundFrameCounter(); extern void Na_kazagurumaLevel(f32); diff --git a/src/audio.c b/src/audio.c index d67f5fd8..932856c9 100644 --- a/src/audio.c +++ b/src/audio.c @@ -443,13 +443,13 @@ extern void sAdo_SceneMode(u8 mode) { Na_SceneMode(mode); } -extern void sAdo_RoomIncectPos(u32 f, u16 u, xyz_t* pos) { +extern s8 sAdo_RoomIncectPos(u32 f, u16 u, xyz_t* pos) { u16 scalc; f32 fcalc; sAdo_Calc_MicPosition_forLevel(&fcalc, &scalc, pos); - Na_RoomIncectPos(f, u, scalc, fcalc); + return Na_RoomIncectPos(f, u, scalc, fcalc); } extern void sAdo_FurnitureInstPos(u32 f, xyz_t* pos) { diff --git a/src/ftr/ac_ike_jny_syon01.c b/src/ftr/ac_ike_jny_syon01.c index 3f91b983..18960f65 100644 --- a/src/ftr/ac_ike_jny_syon01.c +++ b/src/ftr/ac_ike_jny_syon01.c @@ -53,7 +53,7 @@ static Gfx* fIJS_GetTwoTileGfx(int x0, int y0, int x1, int y1, GAME* game) { return two_tex_scroll_dolphin(game->graph, 0, x0, y0, 32, 32, 1, x1, y1, 32, 32); } -static void fNS_dw(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor, GAME* game, u8* data) { +static void fIJS_dw(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor, GAME* game, u8* data) { GAME_PLAY* play = (GAME_PLAY*)game; u32 ctr_ofs; Gfx* scroll; diff --git a/src/ftr/ac_ike_jny_truth01.c b/src/ftr/ac_ike_jny_truth01.c index 211340ab..54cfab65 100644 --- a/src/ftr/ac_ike_jny_truth01.c +++ b/src/ftr/ac_ike_jny_truth01.c @@ -53,6 +53,10 @@ static void fIJT_dw(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor, GAME* game, u8* CLOSE_DISP(game->graph); } +static void fIJT_dt(FTR_ACTOR* ftr_actor, u8* data){ + +} + static aFTR_vtable_c fIJT_func = { &fIJT_ct, &fIJT_mv, diff --git a/src/ftr/ac_kon_cracker.c b/src/ftr/ac_kon_cracker.c index a3a6b65a..5bfe5a37 100644 --- a/src/ftr/ac_kon_cracker.c +++ b/src/ftr/ac_kon_cracker.c @@ -4,6 +4,15 @@ static void aKonCracker_mv(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor, GAME* gam static void aKonCracker_dw(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor, GAME* game, u8* data); static void aKonCracker_dt(FTR_ACTOR* ftr_actor, u8* data); +extern cKF_Skeleton_R_c cKF_bs_r_int_kon_cracker; +extern cKF_Animation_R_c cKF_ba_r_int_kon_cracker; + +aFTR_rig_c aKonCracker_sklkey { + cKF_bs_r_int_kon_cracker, + cKF_ba_r_int_kon_cracker, + 0.5f, +}; + static void aKonCracker_ct(FTR_ACTOR* ftr_actor, u8* data) { } diff --git a/src/ftr/ac_kon_musya.c b/src/ftr/ac_kon_musya.c index 4edc6fea..cdb89e63 100644 --- a/src/ftr/ac_kon_musya.c +++ b/src/ftr/ac_kon_musya.c @@ -9,14 +9,14 @@ extern Gfx int_kon_musya_dou_onT_model[]; extern Gfx int_kon_musya_hako_on_model[]; extern Gfx int_kon_musya_tare_onT_model[]; -static void aKonJihanki02_ct(FTR_ACTOR* ftr_actor, u8* data){ +static void aKonMusya_ct(FTR_ACTOR* ftr_actor, u8* data){ } -static void aKonJihanki02_mv(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor, GAME* game, u8* data){ +static void aKonMusya_mv(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor, GAME* game, u8* data){ } -static void aKonJihanki02_dw(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor, GAME* game, u8* data){ +static void aKonMusya_dw(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor, GAME* game, u8* data){ OPEN_DISP(game->graph); @@ -32,7 +32,7 @@ static void aKonJihanki02_dw(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor, GAME* g CLOSE_DISP(game->graph); } -static void aKonJihanki02_dt(FTR_ACTOR* ftr_actor, u8* data){ +static void aKonMusya_dt(FTR_ACTOR* ftr_actor, u8* data){ } diff --git a/src/ftr/ac_kon_sisiodosi.c b/src/ftr/ac_kon_sisiodosi.c index 60d93abc..2d2a7aa7 100644 --- a/src/ftr/ac_kon_sisiodosi.c +++ b/src/ftr/ac_kon_sisiodosi.c @@ -2,6 +2,16 @@ extern aFTR_rig_c aKonSisiodosi_sklkey; static void aKonSisiodosi_ct(FTR_ACTOR* ftr_actor, u8* data); static void aKonSisiodosi_mv(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor, GAME* game, u8* data); + +extern cKF_Skeleton_R_c cKF_bs_r_int_kon_sisiodosi; +extern cKF_Animation_R_c cKF_ba_r_int_kon_sisiodosi; + +aFTR_rig_c aKonSisiodosi_sklkey { + cKF_bs_r_int_kon_sisiodosi, + cKF_ba_r_int_kon_sisiodosi, + 0.5f, +}; + static void aKonSisiodosi_ct(FTR_ACTOR* ftr_actor, u8* data){ ftr_actor->keyframe.frame_control.current_frame = (int)(1.0f + RANDOM_F(119.0f)); } diff --git a/src/ftr/ac_kon_snowtansu.c b/src/ftr/ac_kon_snowtansu.c index 00268160..57b770e9 100644 --- a/src/ftr/ac_kon_snowtansu.c +++ b/src/ftr/ac_kon_snowtansu.c @@ -17,7 +17,7 @@ static void aKonsnowtansu_ct(FTR_ACTOR* ftr_actor, u8* data){ } -static void aKonsnowtansu_mv(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor, GAME* game, u8* data){ +static void aKonSnowtansu_mv(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor, GAME* game, u8* data){ if(Common_Get(clip).my_room_clip != NULL){ Common_Get(clip).my_room_clip->open_close_common_move_proc(ftr_actor,my_room_actor,game,1.0f,16.0f); diff --git a/src/ftr/ac_kon_waclock.c b/src/ftr/ac_kon_waclock.c index b9598b6f..f922078d 100644 --- a/src/ftr/ac_kon_waclock.c +++ b/src/ftr/ac_kon_waclock.c @@ -27,7 +27,7 @@ static void aKonWaclock_dw(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor, GAME* gam cKF_Si3_draw_R_SV(game, &ftr_actor->keyframe, mtx , aKonWaclock_DwBefore, aKonWaclock_DwAfter, ftr_actor); } -static void aKonwaclock_ct(FTR_ACTOR* ftr_actor, u8* data){ +static void aKonWaclock_ct(FTR_ACTOR* ftr_actor, u8* data){ cKF_SkeletonInfo_R_c* keyf; keyf = &ftr_actor->keyframe; diff --git a/src/ftr/ac_nog_amenbo.c b/src/ftr/ac_nog_amenbo.c index 563bb69b..0ed6a484 100644 --- a/src/ftr/ac_nog_amenbo.c +++ b/src/ftr/ac_nog_amenbo.c @@ -1,5 +1,14 @@ extern aFTR_rig_c aNogAmenbo_key_anime_data; +extern cKF_Skeleton_R_c cKF_bs_r_int_nog_amenbo; +extern cKF_Animation_R_c cKF_ba_r_int_nog_amenbo; + +aFTR_rig_c aNogAmenbo_key_anime_data { + cKF_bs_r_int_nog_amenbo, + cKF_ba_r_int_nog_amenbo, + 0.5f, +}; + aFTR_PROFILE iam_nog_amenbo = { NULL, NULL, diff --git a/src/ftr/ac_nog_dango.c b/src/ftr/ac_nog_dango.c index 98ddb1b9..a4d88258 100644 --- a/src/ftr/ac_nog_dango.c +++ b/src/ftr/ac_nog_dango.c @@ -1,5 +1,15 @@ extern aFTR_rig_c aNogDango_key_anime_data; +extern cKF_Skeleton_R_c cKF_bs_r_int_nog_dango; +extern cKF_Animation_R_c cKF_ba_r_int_nog_dango; + +aFTR_rig_c aNogDango_key_anime_data { + cKF_bs_r_int_nog_dango, + cKF_ba_r_int_nog_dango, + 0.5f, +}; + + aFTR_PROFILE iam_nog_dango = { NULL, NULL, diff --git a/src/ftr/ac_nog_isidai.c b/src/ftr/ac_nog_isidai.c index e369aea4..98bf31d5 100644 --- a/src/ftr/ac_nog_isidai.c +++ b/src/ftr/ac_nog_isidai.c @@ -1,5 +1,14 @@ extern aFTR_rig_c aNogIsidai_key_anime_data; +extern cKF_Skeleton_R_c cKF_bs_r_int_nog_isidai; +extern cKF_Animation_R_c cKF_ba_r_int_nog_isidai; + +aFTR_rig_c aNogIsidai_key_anime_data { + cKF_bs_r_int_nog_isidai, + cKF_ba_r_int_nog_isidai, + 0.5f, +}; + aFTR_PROFILE iam_nog_isidai = { NULL, NULL, diff --git a/src/ftr/ac_nog_ka.c b/src/ftr/ac_nog_ka.c index 95f7be45..69162f46 100644 --- a/src/ftr/ac_nog_ka.c +++ b/src/ftr/ac_nog_ka.c @@ -1,6 +1,15 @@ extern aFTR_rig_c aNogKa_key_anime_data; static void fNKA_mv(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor, GAME* game, u8* data); +extern cKF_Skeleton_R_c cKF_bs_r_int_nog_ka; +extern cKF_Animation_R_c cKF_ba_r_int_nog_ka; + +aFTR_rig_c aNogKa_key_anime_data { + cKF_bs_r_int_nog_ka, + cKF_ba_r_int_nog_ka, + 0.5f, +}; + static void fNKA_mv(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor, GAME* game, u8* data) { if(aFTR_CAN_PLAY_SE(ftr_actor)) { sAdo_RoomIncectPos((u32) ftr_actor, 0x43, &ftr_actor->position); diff --git a/src/ftr/ac_nog_kaeru.c b/src/ftr/ac_nog_kaeru.c index db6897b6..f3c6daa6 100644 --- a/src/ftr/ac_nog_kaeru.c +++ b/src/ftr/ac_nog_kaeru.c @@ -1,5 +1,14 @@ extern aFTR_rig_c aNogKaeru_key_anime_data; +extern cKF_Skeleton_R_c cKF_bs_r_int_nog_kaeru; +extern cKF_Animation_R_c cKF_ba_r_int_nog_kaeru; + +aFTR_rig_c aNogKaeru_key_anime_data { + cKF_bs_r_int_nog_kaeru, + cKF_ba_r_int_nog_kaeru, + 0.5f, +}; + static void fNKR_mv(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor, GAME* game, u8* data) { if (aFTR_CAN_PLAY_SE(ftr_actor)) { sAdo_RoomIncectPos((u32)ftr_actor, 0x41, &ftr_actor->position); diff --git a/src/ftr/ac_nog_kera.c b/src/ftr/ac_nog_kera.c index 3053d84c..41a84f8c 100644 --- a/src/ftr/ac_nog_kera.c +++ b/src/ftr/ac_nog_kera.c @@ -1,5 +1,14 @@ extern aFTR_rig_c aNogKera_key_anime_data; +extern cKF_Skeleton_R_c cKF_bs_r_int_nog_kera; +extern cKF_Animation_R_c cKF_ba_r_int_nog_kera; + +aFTR_rig_c aNogKera_key_anime_data { + cKF_bs_r_int_nog_kera, + cKF_ba_r_int_nog_kera, + 0.5f, +}; + static void fNgKr_mv(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor, GAME* game, u8* data) { if (aFTR_CAN_PLAY_SE(ftr_actor)) { sAdo_RoomIncectPos((u32)ftr_actor, 0x42, &ftr_actor->position); diff --git a/src/ftr/ac_nog_kumo.c b/src/ftr/ac_nog_kumo.c index de2d68d4..0fcdb589 100644 --- a/src/ftr/ac_nog_kumo.c +++ b/src/ftr/ac_nog_kumo.c @@ -1,5 +1,14 @@ extern aFTR_rig_c aNogKumo_key_anime_data; +extern cKF_Skeleton_R_c cKF_bs_r_int_nog_kumo; +extern cKF_Animation_R_c cKF_ba_r_int_nog_kumo; + +aFTR_rig_c aNogKumo_key_anime_data { + cKF_bs_r_int_nog_kumo, + cKF_ba_r_int_nog_kumo, + 0.5f, +}; + aFTR_PROFILE iam_nog_kumo = { NULL, NULL, diff --git a/src/ftr/ac_nog_kurage.c b/src/ftr/ac_nog_kurage.c index 7b438b0b..0c2ce08a 100644 --- a/src/ftr/ac_nog_kurage.c +++ b/src/ftr/ac_nog_kurage.c @@ -1,5 +1,14 @@ extern aFTR_rig_c aNogKurage_key_anime_data; +extern cKF_Skeleton_R_c cKF_bs_r_int_nog_kurage; +extern cKF_Animation_R_c cKF_ba_r_int_nog_kurage; + +aFTR_rig_c aNogKurage_key_anime_data { + cKF_bs_r_int_nog_kurage, + cKF_ba_r_int_nog_kurage, + 0.5f, +}; + aFTR_PROFILE iam_nog_kurage = { NULL, NULL, diff --git a/src/ftr/ac_nog_maimai.c b/src/ftr/ac_nog_maimai.c index b93d9d2d..cc1a4701 100644 --- a/src/ftr/ac_nog_maimai.c +++ b/src/ftr/ac_nog_maimai.c @@ -1,5 +1,14 @@ extern aFTR_rig_c aNogMaimai_key_anime_data; +extern cKF_Skeleton_R_c cKF_bs_r_int_nog_maimai; +extern cKF_Animation_R_c cKF_ba_r_int_nog_maimai; + +aFTR_rig_c aNogMaimai_key_anime_data { + cKF_bs_r_int_nog_maimai, + cKF_ba_r_int_nog_maimai, + 0.5f, +}; + aFTR_PROFILE iam_nog_maimai = { NULL, NULL, diff --git a/src/ftr/ac_nog_medaka.c b/src/ftr/ac_nog_medaka.c index e54b56c9..a3333c9e 100644 --- a/src/ftr/ac_nog_medaka.c +++ b/src/ftr/ac_nog_medaka.c @@ -1,5 +1,14 @@ extern aFTR_rig_c aNogMedaka_key_anime_data; +extern cKF_Skeleton_R_c cKF_bs_r_int_nog_medaka; +extern cKF_Animation_R_c cKF_ba_r_int_nog_medaka; + +aFTR_rig_c aNogMedaka_key_anime_data { + cKF_bs_r_int_nog_medaka, + cKF_ba_r_int_nog_medaka, + 0.5f, +}; + aFTR_PROFILE iam_nog_medaka = { NULL, NULL, diff --git a/src/ftr/ac_nog_mino.c b/src/ftr/ac_nog_mino.c index c417816b..f79cd3d2 100644 --- a/src/ftr/ac_nog_mino.c +++ b/src/ftr/ac_nog_mino.c @@ -1,5 +1,14 @@ extern aFTR_rig_c aNogMino_key_anime_data; +extern cKF_Skeleton_R_c cKF_bs_r_int_nog_mino; +extern cKF_Animation_R_c cKF_ba_r_int_nog_mino; + +aFTR_rig_c aNogMino_key_anime_data { + cKF_bs_r_int_nog_mino, + cKF_ba_r_int_nog_mino, + 0.5f, +}; + aFTR_PROFILE iam_nog_mino = { NULL, NULL, diff --git a/src/ftr/ac_nog_piraluku.c b/src/ftr/ac_nog_piraluku.c index 9aef7ae1..5f752123 100644 --- a/src/ftr/ac_nog_piraluku.c +++ b/src/ftr/ac_nog_piraluku.c @@ -1,5 +1,14 @@ extern aFTR_rig_c aNogPiraluku_key_anime_data; +extern cKF_Skeleton_R_c cKF_bs_r_int_nog_piraluku; +extern cKF_Animation_R_c cKF_ba_r_int_nog_piraluku; + +aFTR_rig_c aNogPiraluku_key_anime_data { + cKF_bs_r_int_nog_piraluku, + cKF_ba_r_int_nog_piraluku, + 0.5f, +}; + aFTR_PROFILE iam_nog_piraluku = { NULL, NULL, diff --git a/src/ftr/ac_nog_suzuki.c b/src/ftr/ac_nog_suzuki.c index b80cb8db..1d7415af 100644 --- a/src/ftr/ac_nog_suzuki.c +++ b/src/ftr/ac_nog_suzuki.c @@ -1,5 +1,14 @@ extern aFTR_rig_c aNogSuzuki_key_anime_data; +extern cKF_Skeleton_R_c cKF_bs_r_int_nog_suzuki; +extern cKF_Animation_R_c cKF_ba_r_int_nog_suzuki; + +aFTR_rig_c aNogSuzuki_key_anime_data { + cKF_bs_r_int_nog_suzuki, + cKF_ba_r_int_nog_suzuki, + 0.5f, +}; + aFTR_PROFILE iam_nog_suzuki = { NULL, NULL, diff --git a/src/ftr/ac_nog_tai.c b/src/ftr/ac_nog_tai.c index 2cf9b26a..65fa3266 100644 --- a/src/ftr/ac_nog_tai.c +++ b/src/ftr/ac_nog_tai.c @@ -1,5 +1,14 @@ extern aFTR_rig_c aNogTai_key_anime_data; +extern cKF_Skeleton_R_c cKF_bs_r_int_nog_tai; +extern cKF_Animation_R_c cKF_ba_r_int_nog_tai; + +aFTR_rig_c aNogTai_key_anime_data { + cKF_bs_r_int_nog_tai, + cKF_ba_r_int_nog_tai, + 0.5f, +}; + aFTR_PROFILE iam_nog_tai = { NULL, NULL, diff --git a/src/ftr/ac_nog_zarigani.c b/src/ftr/ac_nog_zarigani.c index e0d57702..ea507db9 100644 --- a/src/ftr/ac_nog_zarigani.c +++ b/src/ftr/ac_nog_zarigani.c @@ -1,5 +1,15 @@ extern aFTR_rig_c aNogZarigani_key_anime_data; +extern cKF_Skeleton_R_c cKF_bs_r_int_nog_zarigani; +extern cKF_Animation_R_c cKF_ba_r_int_nog_zarigani; + +aFTR_rig_c aNogZarigani_key_anime_data { + cKF_bs_r_int_nog_zarigani, + cKF_ba_r_int_nog_zarigani, + 0.5f, +}; + + aFTR_PROFILE iam_nog_zarigani = { NULL, NULL, diff --git a/src/ftr/ac_sum_akiakane.c b/src/ftr/ac_sum_akiakane.c index dddf962e..1adfd1e0 100644 --- a/src/ftr/ac_sum_akiakane.c +++ b/src/ftr/ac_sum_akiakane.c @@ -1,5 +1,15 @@ extern aFTR_rig_c aSumAkiakane_key_anime_data; +extern cKF_Skeleton_R_c cKF_bs_r_int_sum_akiakane; +extern cKF_Animation_R_c cKF_ba_r_int_sum_akiakane; + +aFTR_rig_c aSumAkiakane_key_anime_data { + cKF_bs_r_int_sum_akiakane, + cKF_ba_r_int_sum_akiakane, + 0.5f, +}; + + aFTR_PROFILE iam_sum_akiakane = { NULL, NULL, diff --git a/src/ftr/ac_sum_angel.c b/src/ftr/ac_sum_angel.c index 7d5bb496..fce01158 100644 --- a/src/ftr/ac_sum_angel.c +++ b/src/ftr/ac_sum_angel.c @@ -1,5 +1,14 @@ extern aFTR_rig_c aSumAngel_key_anime_data; +extern cKF_Skeleton_R_c cKF_bs_r_int_sum_angel; +extern cKF_Animation_R_c cKF_ba_r_int_sum_angel; + +aFTR_rig_c aSumAngel_key_anime_data { + cKF_bs_r_int_sum_angel, + cKF_ba_r_int_sum_angel, + 0.5f, +}; + aFTR_PROFILE iam_sum_angel = { NULL, NULL, diff --git a/src/ftr/ac_sum_aroana.c b/src/ftr/ac_sum_aroana.c index 2f7f6e4a..8c57ac5a 100644 --- a/src/ftr/ac_sum_aroana.c +++ b/src/ftr/ac_sum_aroana.c @@ -1,5 +1,14 @@ extern aFTR_rig_c aSumAroana_key_anime_data; +extern cKF_Skeleton_R_c cKF_bs_r_int_sum_aroana; +extern cKF_Animation_R_c cKF_ba_r_int_sum_aroana; + +aFTR_rig_c aSumAroana_key_anime_data { + cKF_bs_r_int_sum_aroana, + cKF_ba_r_int_sum_aroana, + 0.5f, +}; + aFTR_PROFILE iam_sum_aroana = { NULL, NULL, diff --git a/src/ftr/ac_sum_asi_taiko.c b/src/ftr/ac_sum_asi_taiko.c index 407c13c2..064e54a7 100644 --- a/src/ftr/ac_sum_asi_taiko.c +++ b/src/ftr/ac_sum_asi_taiko.c @@ -8,7 +8,7 @@ static void aSumasitaiko_dt(FTR_ACTOR* ftr_actor, u8* data); static void aSumasitaiko_ct(FTR_ACTOR* ftr_actor, u8* data) { } -static void aSumasitaiko_mv(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor) { +static void aSumasitaiko_mv(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor, GAME* game, u8* data) { if (Common_Get(clip).my_room_clip != NULL) { Common_Get(clip).my_room_clip->sound_melody_proc(ftr_actor, my_room_actor, 12); } diff --git a/src/ftr/ac_sum_ayu.c b/src/ftr/ac_sum_ayu.c index 3cddebd5..2c3bce43 100644 --- a/src/ftr/ac_sum_ayu.c +++ b/src/ftr/ac_sum_ayu.c @@ -1,5 +1,14 @@ extern aFTR_rig_c aSumAyu_key_anime_data; +extern cKF_Skeleton_R_c cKF_bs_r_int_sum_akiakane; +extern cKF_Animation_R_c cKF_ba_r_int_sum_akiakane; + +aFTR_rig_c aSumAyu_key_anime_data { + cKF_bs_r_int_sum_akiakane, + cKF_ba_r_int_sum_akiakane, + 0.5f, +}; + aFTR_PROFILE iam_sum_ayu = { NULL, NULL, diff --git a/src/ftr/ac_sum_bass.c b/src/ftr/ac_sum_bass.c index 1cdec5e3..7861286a 100644 --- a/src/ftr/ac_sum_bass.c +++ b/src/ftr/ac_sum_bass.c @@ -1,5 +1,14 @@ extern aFTR_rig_c aSumBass_key_anime_data; +extern cKF_Skeleton_R_c cKF_bs_r_int_sum_bass; +extern cKF_Animation_R_c cKF_ba_r_int_sum_bass; + +aFTR_rig_c aSumBass_key_anime_data { + cKF_bs_r_int_sum_bass, + cKF_ba_r_int_sum_bass, + 0.5f, +}; + aFTR_PROFILE iam_sum_bass = { NULL, NULL, diff --git a/src/ftr/ac_sum_bass01.c b/src/ftr/ac_sum_bass01.c index 435e4a1c..5ccb4899 100644 --- a/src/ftr/ac_sum_bass01.c +++ b/src/ftr/ac_sum_bass01.c @@ -8,7 +8,7 @@ static void aSumBass01_dt(FTR_ACTOR* ftr_actor, u8* data); static void aSumBass01_ct(FTR_ACTOR* ftr_actor, u8* data) { } -static void aSumBass01_mv(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor) { +static void aSumBass01_mv(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor, GAME* game, u8* data) { if (Common_Get(clip).my_room_clip != NULL) { Common_Get(clip).my_room_clip->sound_melody_proc(ftr_actor, my_room_actor, 9); } diff --git a/src/ftr/ac_sum_bassl.c b/src/ftr/ac_sum_bassl.c index 6d833f29..4fd011e3 100644 --- a/src/ftr/ac_sum_bassl.c +++ b/src/ftr/ac_sum_bassl.c @@ -1,5 +1,14 @@ extern aFTR_rig_c aSumBassl_key_anime_data; +extern cKF_Skeleton_R_c cKF_bs_r_int_sum_bassl; +extern cKF_Animation_R_c cKF_ba_r_int_sum_bassl; + +aFTR_rig_c aSumBassl_key_anime_data { + cKF_bs_r_int_sum_bassl, + cKF_ba_r_int_sum_bassl, + 0.5f, +}; + aFTR_PROFILE iam_sum_bassl = { NULL, NULL, diff --git a/src/ftr/ac_sum_bassm.c b/src/ftr/ac_sum_bassm.c index 2f3e09ab..3a7fdf9e 100644 --- a/src/ftr/ac_sum_bassm.c +++ b/src/ftr/ac_sum_bassm.c @@ -1,5 +1,14 @@ extern aFTR_rig_c aSumBassm_key_anime_data; +extern cKF_Skeleton_R_c cKF_bs_r_int_sum_bassm; +extern cKF_Animation_R_c cKF_ba_r_int_sum_bassm; + +aFTR_rig_c aSumBassm_key_anime_data { + cKF_bs_r_int_sum_bassm, + cKF_ba_r_int_sum_bassm, + 0.5f, +}; + aFTR_PROFILE iam_sum_bassm = { NULL, NULL, diff --git a/src/ftr/ac_sum_biwa01.c b/src/ftr/ac_sum_biwa01.c index 92621503..311f0903 100644 --- a/src/ftr/ac_sum_biwa01.c +++ b/src/ftr/ac_sum_biwa01.c @@ -8,7 +8,7 @@ static void aSumBiwa01_dt(FTR_ACTOR* ftr_actor, u8* data); static void aSumBiwa01_ct(FTR_ACTOR* ftr_actor, u8* data) { } -static void aSumBiwa01_mv(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor) { +static void aSumBiwa01_mv(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor, GAME* game, u8* data) { if (Common_Get(clip).my_room_clip != NULL) { Common_Get(clip).my_room_clip->sound_melody_proc(ftr_actor, my_room_actor, 6); } diff --git a/src/ftr/ac_sum_conga01.c b/src/ftr/ac_sum_conga01.c index 2584d86e..1d16224d 100644 --- a/src/ftr/ac_sum_conga01.c +++ b/src/ftr/ac_sum_conga01.c @@ -8,7 +8,7 @@ static void asumconga01_dt(FTR_ACTOR* ftr_actor, u8* data); static void asumconga01_ct(FTR_ACTOR* ftr_actor, u8* data) { } -static void asumconga01_mv(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor) { +static void asumconga01_mv(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor, GAME* game, u8* data){ if (Common_Get(clip).my_room_clip != NULL) { Common_Get(clip).my_room_clip->sound_melody_proc(ftr_actor, my_room_actor, 14); } diff --git a/src/ftr/ac_sum_danna.c b/src/ftr/ac_sum_danna.c index 9ac0b744..0269c5ef 100644 --- a/src/ftr/ac_sum_danna.c +++ b/src/ftr/ac_sum_danna.c @@ -1,5 +1,14 @@ extern aFTR_rig_c aSumDanna_key_anime_data; +extern cKF_Skeleton_R_c cKF_bs_r_int_sum_danna; +extern cKF_Animation_R_c cKF_ba_r_int_sum_danna; + +aFTR_rig_c aSumDanna_key_anime_data { + cKF_bs_r_int_sum_danna, + cKF_ba_r_int_sum_danna, + 0.5f, +}; + aFTR_PROFILE iam_sum_danna = { NULL, NULL, diff --git a/src/ftr/ac_sum_demekin.c b/src/ftr/ac_sum_demekin.c index 02bb823c..fc0ef3de 100644 --- a/src/ftr/ac_sum_demekin.c +++ b/src/ftr/ac_sum_demekin.c @@ -1,5 +1,14 @@ extern aFTR_rig_c aSumDemekin_key_anime_data; +extern cKF_Skeleton_R_c cKF_bs_r_int_sum_demekin; +extern cKF_Animation_R_c cKF_ba_r_int_sum_demekin; + +aFTR_rig_c aSumDemekin_key_anime_data { + cKF_bs_r_int_sum_demekin, + cKF_ba_r_int_sum_demekin, + 0.5f, +}; + aFTR_PROFILE iam_sum_demekin = { NULL, NULL, diff --git a/src/ftr/ac_sum_dojyo.c b/src/ftr/ac_sum_dojyo.c index 5e342ade..cdcf075c 100644 --- a/src/ftr/ac_sum_dojyo.c +++ b/src/ftr/ac_sum_dojyo.c @@ -1,5 +1,13 @@ extern aFTR_rig_c aSumDojyo_key_anime_data; +extern cKF_Skeleton_R_c cKF_bs_r_int_sum_dojyo; +extern cKF_Animation_R_c cKF_ba_r_int_sum_dojyo; + +aFTR_rig_c aSumDojyo_key_anime_data { + cKF_bs_r_int_sum_dojyo, + cKF_ba_r_int_sum_dojyo, + 0.5f, +}; aFTR_PROFILE iam_sum_dojyo = { NULL, NULL, diff --git a/src/ftr/ac_sum_donko.c b/src/ftr/ac_sum_donko.c index c988bc92..e22aa304 100644 --- a/src/ftr/ac_sum_donko.c +++ b/src/ftr/ac_sum_donko.c @@ -1,5 +1,14 @@ extern aFTR_rig_c aSumDonko_key_anime_data; +extern cKF_Skeleton_R_c cKF_bs_r_int_sum_donko; +extern cKF_Animation_R_c cKF_ba_r_int_sum_donko; + +aFTR_rig_c aSumDonko_key_anime_data { + cKF_bs_r_int_sum_donko, + cKF_ba_r_int_sum_donko, + 0.5f, +}; + aFTR_PROFILE iam_sum_donko = { NULL, NULL, diff --git a/src/ftr/ac_sum_funa.c b/src/ftr/ac_sum_funa.c index a3fcf72d..2155bf14 100644 --- a/src/ftr/ac_sum_funa.c +++ b/src/ftr/ac_sum_funa.c @@ -1,5 +1,14 @@ extern aFTR_rig_c aSumFuna_key_anime_data; +extern cKF_Skeleton_R_c cKF_bs_r_int_sum_funa; +extern cKF_Animation_R_c cKF_ba_r_int_sum_funa; + +aFTR_rig_c aSumFuna_key_anime_data { + cKF_bs_r_int_sum_funa, + cKF_ba_r_int_sum_funa, + 0.5f, +}; + aFTR_PROFILE iam_sum_funa = { NULL, NULL, diff --git a/src/ftr/ac_sum_gill.c b/src/ftr/ac_sum_gill.c index 5e095197..ab8d72c1 100644 --- a/src/ftr/ac_sum_gill.c +++ b/src/ftr/ac_sum_gill.c @@ -1,5 +1,14 @@ extern aFTR_rig_c aSumGill_key_anime_data; +extern cKF_Skeleton_R_c cKF_bs_r_int_sum_gill; +extern cKF_Animation_R_c cKF_ba_r_int_sum_gill; + +aFTR_rig_c aSumGill_key_anime_data { + cKF_bs_r_int_sum_gill, + cKF_ba_r_int_sum_gill, + 0.5f, +}; + aFTR_PROFILE iam_sum_gill = { NULL, NULL, diff --git a/src/ftr/ac_sum_ginyanma.c b/src/ftr/ac_sum_ginyanma.c index 5fd9ca86..f82c0c21 100644 --- a/src/ftr/ac_sum_ginyanma.c +++ b/src/ftr/ac_sum_ginyanma.c @@ -1,5 +1,14 @@ extern aFTR_rig_c aSumGinyanma_key_anime_data; +extern cKF_Skeleton_R_c cKF_bs_r_int_sum_ginyanma; +extern cKF_Animation_R_c cKF_ba_r_int_sum_ginyanma; + +aFTR_rig_c aSumGinyanma_key_anime_data { + cKF_bs_r_int_sum_ginyanma, + cKF_ba_r_int_sum_ginyanma, + 0.5f, +}; + aFTR_PROFILE iam_sum_ginyanma = { NULL, NULL, diff --git a/src/ftr/ac_sum_gomadara.c b/src/ftr/ac_sum_gomadara.c index 42d54f80..3ca72f52 100644 --- a/src/ftr/ac_sum_gomadara.c +++ b/src/ftr/ac_sum_gomadara.c @@ -1,5 +1,14 @@ extern aFTR_rig_c aSumGomadara_key_anime_data; +extern cKF_Skeleton_R_c cKF_bs_r_int_sum_gomadara; +extern cKF_Animation_R_c cKF_ba_r_int_sum_gomadara; + +aFTR_rig_c aSumGomadara_key_anime_data { + cKF_bs_r_int_sum_gomadara, + cKF_ba_r_int_sum_gomadara, + 0.5f, +}; + aFTR_PROFILE iam_sum_gomadara = { NULL, NULL, diff --git a/src/ftr/ac_sum_gupi.c b/src/ftr/ac_sum_gupi.c index b206de4c..3c7e601b 100644 --- a/src/ftr/ac_sum_gupi.c +++ b/src/ftr/ac_sum_gupi.c @@ -1,5 +1,14 @@ extern aFTR_rig_c aSumGupi_key_anime_data; +extern cKF_Skeleton_R_c cKF_bs_r_int_sum_gupi; +extern cKF_Animation_R_c cKF_ba_r_int_sum_gupi; + +aFTR_rig_c aSumGupi_key_anime_data { + cKF_bs_r_int_sum_gupi, + cKF_ba_r_int_sum_gupi, + 0.5f, +}; + aFTR_PROFILE iam_sum_gupi = { NULL, NULL, diff --git a/src/ftr/ac_sum_hachi.c b/src/ftr/ac_sum_hachi.c index 7ff1111e..0f6922f7 100644 --- a/src/ftr/ac_sum_hachi.c +++ b/src/ftr/ac_sum_hachi.c @@ -1,5 +1,14 @@ extern aFTR_rig_c aSumHachi_key_anime_data; +extern cKF_Skeleton_R_c cKF_bs_r_int_sum_hachi; +extern cKF_Animation_R_c cKF_ba_r_int_sum_hachi; + +aFTR_rig_c aSumHachi_key_anime_data { + cKF_bs_r_int_sum_hachi, + cKF_ba_r_int_sum_hachi, + 0.5f, +}; + aFTR_PROFILE iam_sum_hachi = { NULL, NULL, diff --git a/src/ftr/ac_sum_hera.c b/src/ftr/ac_sum_hera.c index 332c1b2b..a0102bf2 100644 --- a/src/ftr/ac_sum_hera.c +++ b/src/ftr/ac_sum_hera.c @@ -1,5 +1,14 @@ extern aFTR_rig_c aSumHera_key_anime_data; +extern cKF_Skeleton_R_c cKF_bs_r_int_sum_hera; +extern cKF_Animation_R_c cKF_ba_r_int_sum_hera; + +aFTR_rig_c aSumHera_key_anime_data { + cKF_bs_r_int_sum_hera, + cKF_ba_r_int_sum_hera, + 0.5f, +}; + aFTR_PROFILE iam_sum_hera = { NULL, NULL, diff --git a/src/ftr/ac_sum_hirata.c b/src/ftr/ac_sum_hirata.c index b7d17a17..56548433 100644 --- a/src/ftr/ac_sum_hirata.c +++ b/src/ftr/ac_sum_hirata.c @@ -1,5 +1,14 @@ extern aFTR_rig_c aSumHirata_key_anime_data; +extern cKF_Skeleton_R_c cKF_bs_r_int_sum_hirata; +extern cKF_Animation_R_c cKF_ba_r_int_sum_hirata; + +aFTR_rig_c aSumHirata_key_anime_data { + cKF_bs_r_int_sum_hirata, + cKF_ba_r_int_sum_hirata, + 0.5f, +}; + aFTR_PROFILE iam_sum_hirata = { NULL, NULL, diff --git a/src/ftr/ac_sum_ito.c b/src/ftr/ac_sum_ito.c index bc6bc66f..c7e72f5f 100644 --- a/src/ftr/ac_sum_ito.c +++ b/src/ftr/ac_sum_ito.c @@ -1,5 +1,14 @@ extern aFTR_rig_c aSumIto_key_anime_data; +extern cKF_Skeleton_R_c cKF_bs_r_int_sum_ito; +extern cKF_Animation_R_c cKF_ba_r_int_sum_ito; + +aFTR_rig_c aSumIto_key_anime_data { + cKF_bs_r_int_sum_ito, + cKF_ba_r_int_sum_ito, + 0.5f, +}; + aFTR_PROFILE iam_sum_ito = { NULL, NULL, diff --git a/src/ftr/ac_sum_iwana.c b/src/ftr/ac_sum_iwana.c index 350cb339..b0c1e41a 100644 --- a/src/ftr/ac_sum_iwana.c +++ b/src/ftr/ac_sum_iwana.c @@ -1,5 +1,14 @@ extern aFTR_rig_c aSumIwana_key_anime_data; +extern cKF_Skeleton_R_c cKF_bs_r_int_sum_iwana; +extern cKF_Animation_R_c cKF_ba_r_int_sum_iwana; + +aFTR_rig_c aSumIwana_key_anime_data { + cKF_bs_r_int_sum_iwana, + cKF_ba_r_int_sum_iwana, + 0.5f, +}; + aFTR_PROFILE iam_sum_iwana = { NULL, NULL, diff --git a/src/ftr/ac_sum_kabuto.c b/src/ftr/ac_sum_kabuto.c index 5aea5f62..1d69c0c4 100644 --- a/src/ftr/ac_sum_kabuto.c +++ b/src/ftr/ac_sum_kabuto.c @@ -1,5 +1,14 @@ extern aFTR_rig_c aSumKabuto_key_anime_data; +extern cKF_Skeleton_R_c cKF_bs_r_int_sum_kabuto; +extern cKF_Animation_R_c cKF_ba_r_int_sum_kabuto; + +aFTR_rig_c aSumKabuto_key_anime_data { + cKF_bs_r_int_sum_kabuto, + cKF_ba_r_int_sum_kabuto, + 0.5f, +}; + aFTR_PROFILE iam_sum_kabuto = { NULL, NULL, diff --git a/src/ftr/ac_sum_kamakiri.c b/src/ftr/ac_sum_kamakiri.c index 899a2505..5cda4c4f 100644 --- a/src/ftr/ac_sum_kamakiri.c +++ b/src/ftr/ac_sum_kamakiri.c @@ -1,5 +1,14 @@ extern aFTR_rig_c aSumKamakiri_key_anime_data; +extern cKF_Skeleton_R_c cKF_bs_r_int_sum_kamakiri; +extern cKF_Animation_R_c cKF_ba_r_int_sum_kamakiri; + +aFTR_rig_c aSumKamakiri_key_anime_data { + cKF_bs_r_int_sum_kamakiri, + cKF_ba_r_int_sum_kamakiri, + 0.5f, +}; + aFTR_PROFILE iam_sum_kamakiri = { NULL, NULL, diff --git a/src/ftr/ac_sum_kanabun.c b/src/ftr/ac_sum_kanabun.c index 71a96999..b3eb5940 100644 --- a/src/ftr/ac_sum_kanabun.c +++ b/src/ftr/ac_sum_kanabun.c @@ -1,5 +1,14 @@ extern aFTR_rig_c aSumKanabun_key_anime_data; +extern cKF_Skeleton_R_c cKF_bs_r_int_sum_hanabun; +extern cKF_Animation_R_c cKF_ba_r_int_sum_hanabun; + +aFTR_rig_c aSumHanabun_key_anime_data { + cKF_bs_r_int_sum_hanabun, + cKF_ba_r_int_sum_hanabun, + 0.5f, +}; + aFTR_PROFILE iam_sum_kanabun = { NULL, NULL, diff --git a/src/ftr/ac_sum_kaseki.c b/src/ftr/ac_sum_kaseki.c index 8430cbdc..4ea303f9 100644 --- a/src/ftr/ac_sum_kaseki.c +++ b/src/ftr/ac_sum_kaseki.c @@ -1,5 +1,14 @@ extern aFTR_rig_c aSumKaseki_key_anime_data; +extern cKF_Skeleton_R_c cKF_bs_r_int_sum_kaseki; +extern cKF_Animation_R_c cKF_ba_r_int_sum_kaseki; + +aFTR_rig_c aSumKaseki_key_anime_data { + cKF_bs_r_int_sum_kaseki, + cKF_ba_r_int_sum_kaseki, + 0.5f, +}; + aFTR_PROFILE iam_sum_kaseki = { NULL, NULL, diff --git a/src/ftr/ac_sum_kiageha.c b/src/ftr/ac_sum_kiageha.c index 56982ee9..80134bf6 100644 --- a/src/ftr/ac_sum_kiageha.c +++ b/src/ftr/ac_sum_kiageha.c @@ -1,5 +1,14 @@ extern aFTR_rig_c aSumKiageha_key_anime_data; +extern cKF_Skeleton_R_c cKF_bs_r_int_sum_kkiageha; +extern cKF_Animation_R_c cKF_ba_r_int_sum_kkiageha; + +aFTR_rig_c aSumKiageha_key_anime_data { + cKF_bs_r_int_sum_kkiageha, + cKF_ba_r_int_sum_kkiageha, + 0.5f, +}; + aFTR_PROFILE iam_sum_kiageha = { NULL, NULL, diff --git a/src/ftr/ac_sum_kingyo.c b/src/ftr/ac_sum_kingyo.c index b5b29a8f..2de5f088 100644 --- a/src/ftr/ac_sum_kingyo.c +++ b/src/ftr/ac_sum_kingyo.c @@ -1,5 +1,14 @@ extern aFTR_rig_c aSumKingyo_key_anime_data; +extern cKF_Skeleton_R_c cKF_bs_r_int_sum_kingyo; +extern cKF_Animation_R_c cKF_ba_r_int_sum_kingyo; + +aFTR_rig_c aSumKingyo_key_anime_data { + cKF_bs_r_int_sum_kingyo, + cKF_ba_r_int_sum_kingyo, + 0.5f, +}; + aFTR_PROFILE iam_sum_kingyo = { NULL, NULL, diff --git a/src/ftr/ac_sum_koi.c b/src/ftr/ac_sum_koi.c index 6f04346b..871679ce 100644 --- a/src/ftr/ac_sum_koi.c +++ b/src/ftr/ac_sum_koi.c @@ -1,5 +1,14 @@ extern aFTR_rig_c aSumKoi_key_anime_data; +extern cKF_Skeleton_R_c cKF_bs_r_int_sum_koi; +extern cKF_Animation_R_c cKF_ba_r_int_sum_koi; + +aFTR_rig_c aSumKoi_key_anime_data { + cKF_bs_r_int_sum_koi, + cKF_ba_r_int_sum_koi, + 0.5f, +}; + aFTR_PROFILE iam_sum_koi = { NULL, NULL, diff --git a/src/ftr/ac_sum_mezaclock.c b/src/ftr/ac_sum_mezaclock.c index 6ebde6dd..8f2ac8fb 100644 --- a/src/ftr/ac_sum_mezaclock.c +++ b/src/ftr/ac_sum_mezaclock.c @@ -2,6 +2,15 @@ extern aFTR_rig_c aSumMezaClock_sklkey; extern Gfx int_sum_mezaclock_short_model[]; extern Gfx int_sum_mezaclock_long_model[]; +extern cKF_Skeleton_R_c cKF_bs_r_int_sum_mezaclock; +extern cKF_Animation_R_c cKF_ba_r_int_sum_mezaclock; + +aFTR_rig_c aSumMezaClock_sklkey { + cKF_bs_r_int_sum_mezaclock, + cKF_ba_r_int_sum_mezaclock, + 0.5f, +}; + static int aSumMezaClock_DwAfter(GAME* game, cKF_SkeletonInfo_R_c* keyframe, int joint_idx, Gfx** joint_shape, u8* joint_flags, void* arg, s_xyz* joint_rot, xyz_t* joint_pos) { if (joint_idx == 3) { diff --git a/src/ftr/ac_sum_miyama.c b/src/ftr/ac_sum_miyama.c index bb7241e0..4447e1e9 100644 --- a/src/ftr/ac_sum_miyama.c +++ b/src/ftr/ac_sum_miyama.c @@ -1,5 +1,14 @@ extern aFTR_rig_c aSumMiyama_key_anime_data; +extern cKF_Skeleton_R_c cKF_bs_r_int_sum_miyama; +extern cKF_Animation_R_c cKF_ba_r_int_sum_miyama; + +aFTR_rig_c aSumMiyama_key_anime_data { + cKF_bs_r_int_sum_miyama, + cKF_ba_r_int_sum_miyama, + 0.5f, +}; + aFTR_PROFILE iam_sum_miyama = { NULL, NULL, diff --git a/src/ftr/ac_sum_mizunomi.c b/src/ftr/ac_sum_mizunomi.c index 6ee91cb5..91e326ff 100644 --- a/src/ftr/ac_sum_mizunomi.c +++ b/src/ftr/ac_sum_mizunomi.c @@ -1,5 +1,14 @@ extern aFTR_rig_c aSumMizunomi_sklkey; +extern cKF_Skeleton_R_c cKF_bs_r_int_sum_mizunomi; +extern cKF_Animation_R_c cKF_ba_r_int_sum_mizunomi; + +aFTR_rig_c aSumMizunomi_sklkey { + cKF_bs_r_int_sum_mizunomi, + cKF_ba_r_int_sum_mizunomi, + 0.5f, +}; + static void aSumMizunomi_ct(FTR_ACTOR* ftr_actor, u8* data) { // nothing } diff --git a/src/ftr/ac_sum_monki.c b/src/ftr/ac_sum_monki.c index 923a8694..26b76c5c 100644 --- a/src/ftr/ac_sum_monki.c +++ b/src/ftr/ac_sum_monki.c @@ -1,5 +1,14 @@ extern aFTR_rig_c aSumMonki_key_anime_data; +extern cKF_Skeleton_R_c cKF_bs_r_int_sum_monki; +extern cKF_Animation_R_c cKF_ba_r_int_sum_monki; + +aFTR_rig_c aSumMonki_key_anime_data { + cKF_bs_r_int_sum_monki, + cKF_ba_r_int_sum_monki, + 0.5f, +}; + aFTR_PROFILE iam_sum_monki = { NULL, NULL, diff --git a/src/ftr/ac_sum_monshiro.c b/src/ftr/ac_sum_monshiro.c index fde9ac9d..163b3c42 100644 --- a/src/ftr/ac_sum_monshiro.c +++ b/src/ftr/ac_sum_monshiro.c @@ -1,5 +1,14 @@ extern aFTR_rig_c aSumMonshiro_key_anime_data; +extern cKF_Skeleton_R_c cKF_bs_r_int_sum_monshiro; +extern cKF_Animation_R_c cKF_ba_r_int_sum_monshiro; + +aFTR_rig_c aSumMiyama_key_anime_data { + cKF_bs_r_int_sum_monshiro, + cKF_ba_r_int_sum_monshiro, + 0.5f, +}; + aFTR_PROFILE iam_sum_monshiro = { NULL, NULL, diff --git a/src/ftr/ac_sum_namazu.c b/src/ftr/ac_sum_namazu.c index f79c70a4..3a42d4ad 100644 --- a/src/ftr/ac_sum_namazu.c +++ b/src/ftr/ac_sum_namazu.c @@ -1,5 +1,14 @@ extern aFTR_rig_c aSumNamazu_key_anime_data; +extern cKF_Skeleton_R_c cKF_bs_r_int_sum_namazu; +extern cKF_Animation_R_c cKF_ba_r_int_sum_namazu; + +aFTR_rig_c aSumNamazu_key_anime_data { + cKF_bs_r_int_sum_namazu, + cKF_ba_r_int_sum_namazu, + 0.5f, +}; + aFTR_PROFILE iam_sum_namazu = { NULL, NULL, diff --git a/src/ftr/ac_sum_nanahoshi.c b/src/ftr/ac_sum_nanahoshi.c index bfa3e7c7..a2da5537 100644 --- a/src/ftr/ac_sum_nanahoshi.c +++ b/src/ftr/ac_sum_nanahoshi.c @@ -1,5 +1,14 @@ extern aFTR_rig_c aSumNanahoshi_key_anime_data; +extern cKF_Skeleton_R_c cKF_bs_r_int_sum_nanahoshi; +extern cKF_Animation_R_c cKF_ba_r_int_sum_nanahoshi; + +aFTR_rig_c aSumNanahoshi_key_anime_data { + cKF_bs_r_int_sum_nanahoshi, + cKF_ba_r_int_sum_nanahoshi, + 0.5f, +}; + aFTR_PROFILE iam_sum_nanahoshi = { NULL, NULL, diff --git a/src/ftr/ac_sum_okuwa.c b/src/ftr/ac_sum_okuwa.c index 513cee66..0d008d16 100644 --- a/src/ftr/ac_sum_okuwa.c +++ b/src/ftr/ac_sum_okuwa.c @@ -1,5 +1,9 @@ extern aFTR_rig_c aSumOkuwa_key_anime_data; +aFTR_rig_c aSumOkuwa_key_anime_data = { + +} + aFTR_PROFILE iam_sum_okuwa = { NULL, NULL, diff --git a/src/ftr/ac_sum_oniyanma.c b/src/ftr/ac_sum_oniyanma.c index 77f30d0f..3d2a2db5 100644 --- a/src/ftr/ac_sum_oniyanma.c +++ b/src/ftr/ac_sum_oniyanma.c @@ -1,5 +1,14 @@ extern aFTR_rig_c aSumOniyanma_key_anime_data; +extern cKF_Skeleton_R_c cKF_bs_r_int_sum_oniyanma; +extern cKF_Animation_R_c cKF_ba_r_int_sum_oniyanma; + +aFTR_rig_c aSumOniyanma_key_anime_data { + cKF_bs_r_int_sum_oniyanma, + cKF_ba_r_int_sum_oniyanma, + 0.5f, +}; + aFTR_PROFILE iam_sum_oniyanma = { NULL, NULL, diff --git a/src/ftr/ac_sum_oonamazu.c b/src/ftr/ac_sum_oonamazu.c index c7da8934..6110e1aa 100644 --- a/src/ftr/ac_sum_oonamazu.c +++ b/src/ftr/ac_sum_oonamazu.c @@ -1,5 +1,14 @@ extern aFTR_rig_c aSumOonamazu_key_anime_data; +extern cKF_Skeleton_R_c cKF_bs_r_int_sum_oonamazu; +extern cKF_Animation_R_c cKF_ba_r_int_sum_oonamazu; + +aFTR_rig_c aSumOonamazu_key_anime_data { + cKF_bs_r_int_sum_oonamazu, + cKF_ba_r_int_sum_oonamazu, + 0.5f, +}; + aFTR_PROFILE iam_sum_oonamazu = { NULL, NULL, diff --git a/src/ftr/ac_sum_pirania.c b/src/ftr/ac_sum_pirania.c index 035dfe87..a4e2f4b9 100644 --- a/src/ftr/ac_sum_pirania.c +++ b/src/ftr/ac_sum_pirania.c @@ -1,5 +1,14 @@ extern aFTR_rig_c aSumPirania_key_anime_data; +extern cKF_Skeleton_R_c cKF_bs_r_int_sum_pirania; +extern cKF_Animation_R_c cKF_ba_r_int_sum_pirania; + +aFTR_rig_c aSumPirania_key_anime_data { + cKF_bs_r_int_sum_pirania, + cKF_ba_r_int_sum_pirania, + 0.5f, +}; + aFTR_PROFILE iam_sum_pirania = { NULL, NULL, diff --git a/src/ftr/ac_sum_raigyo.c b/src/ftr/ac_sum_raigyo.c index aa635baf..c4fbef73 100644 --- a/src/ftr/ac_sum_raigyo.c +++ b/src/ftr/ac_sum_raigyo.c @@ -1,5 +1,14 @@ extern aFTR_rig_c aSumRaigyo_key_anime_data; +extern cKF_Skeleton_R_c cKF_bs_r_int_sum_raigyo; +extern cKF_Animation_R_c cKF_ba_r_int_sum_raigyo; + +aFTR_rig_c aSumRaigyo_key_anime_data { + cKF_bs_r_int_sum_raigyo, + cKF_ba_r_int_sum_raigyo, + 0.5f, +}; + aFTR_PROFILE iam_sum_raigyo = { NULL, NULL, diff --git a/src/ftr/ac_sum_sake.c b/src/ftr/ac_sum_sake.c index f6808a8e..78e84203 100644 --- a/src/ftr/ac_sum_sake.c +++ b/src/ftr/ac_sum_sake.c @@ -1,5 +1,14 @@ extern aFTR_rig_c aSumSake_key_anime_data; +extern cKF_Skeleton_R_c cKF_bs_r_int_sum_sake; +extern cKF_Animation_R_c cKF_ba_r_int_sum_sake; + +aFTR_rig_c aSumSake_key_anime_data { + cKF_bs_r_int_sum_sake, + cKF_ba_r_int_sum_sake, + 0.5f, +}; + aFTR_PROFILE iam_sum_sake = { NULL, NULL, diff --git a/src/ftr/ac_sum_shiokara.c b/src/ftr/ac_sum_shiokara.c index bc3444ac..c1091550 100644 --- a/src/ftr/ac_sum_shiokara.c +++ b/src/ftr/ac_sum_shiokara.c @@ -1,5 +1,14 @@ extern aFTR_rig_c aSumShiokara_key_anime_data; +extern cKF_Skeleton_R_c cKF_bs_r_int_sum_shiokara; +extern cKF_Animation_R_c cKF_ba_r_int_sum_shiokara; + +aFTR_rig_c aSumShiokara_key_anime_data { + cKF_bs_r_int_sum_shiokara, + cKF_ba_r_int_sum_shiokara, + 0.5f, +}; + aFTR_PROFILE iam_sum_shiokara = { NULL, NULL, diff --git a/src/ftr/ac_sum_tamamushi.c b/src/ftr/ac_sum_tamamushi.c index 89a8a58e..c50b24fa 100644 --- a/src/ftr/ac_sum_tamamushi.c +++ b/src/ftr/ac_sum_tamamushi.c @@ -1,5 +1,14 @@ extern aFTR_rig_c aSumTamamushi_key_anime_data; +extern cKF_Skeleton_R_c cKF_bs_r_int_sum_tamamushi; +extern cKF_Animation_R_c cKF_ba_r_int_sum_tamamushi; + +aFTR_rig_c aSumTamamushi_key_anime_data { + cKF_bs_r_int_sum_tamamushi, + cKF_ba_r_int_sum_tamamushi, + 0.5f, +}; + aFTR_PROFILE iam_sum_tamamushi = { NULL, NULL, diff --git a/src/ftr/ac_sum_tanago.c b/src/ftr/ac_sum_tanago.c index db30be19..963b14cc 100644 --- a/src/ftr/ac_sum_tanago.c +++ b/src/ftr/ac_sum_tanago.c @@ -1,5 +1,14 @@ extern aFTR_rig_c aSumTanago_key_anime_data; +extern cKF_Skeleton_R_c cKF_bs_r_int_sum_tanago; +extern cKF_Animation_R_c cKF_ba_r_int_sum_tanago; + +aFTR_rig_c aSumTanago_key_anime_data { + cKF_bs_r_int_sum_tanago, + cKF_ba_r_int_sum_tanago, + 0.5f, +}; + aFTR_PROFILE iam_sum_tanago = { NULL, NULL, diff --git a/src/ftr/ac_sum_tentou.c b/src/ftr/ac_sum_tentou.c index 718c460e..ec749eec 100644 --- a/src/ftr/ac_sum_tentou.c +++ b/src/ftr/ac_sum_tentou.c @@ -1,5 +1,14 @@ extern aFTR_rig_c aSumTentou_key_anime_data; +extern cKF_Skeleton_R_c cKF_bs_r_int_sum_tentou; +extern cKF_Animation_R_c cKF_ba_r_int_sum_tentou; + +aFTR_rig_c aSumTentou_key_anime_data { + cKF_bs_r_int_sum_tentou, + cKF_ba_r_int_sum_tentou, + 0.5f, +}; + aFTR_PROFILE iam_sum_tentou = { NULL, NULL, diff --git a/src/ftr/ac_sum_ugui.c b/src/ftr/ac_sum_ugui.c index cf50087b..0238109b 100644 --- a/src/ftr/ac_sum_ugui.c +++ b/src/ftr/ac_sum_ugui.c @@ -1,5 +1,14 @@ extern aFTR_rig_c aSumUgui_key_anime_data; +extern cKF_Skeleton_R_c cKF_bs_r_int_sum_ugui; +extern cKF_Animation_R_c cKF_ba_r_int_sum_ugui; + +aFTR_rig_c aSumUgui_key_anime_data { + cKF_bs_r_int_sum_ugui, + cKF_ba_r_int_sum_ugui, + 0.5f, +}; + aFTR_PROFILE iam_sum_ugui = { NULL, NULL, diff --git a/src/ftr/ac_sum_unagi.c b/src/ftr/ac_sum_unagi.c index ac7d5e52..71a1f24a 100644 --- a/src/ftr/ac_sum_unagi.c +++ b/src/ftr/ac_sum_unagi.c @@ -1,5 +1,14 @@ extern aFTR_rig_c aSumUnagi_key_anime_data; +extern cKF_Skeleton_R_c cKF_bs_r_int_sum_unagi; +extern cKF_Animation_R_c cKF_ba_r_int_sum_unagi; + +aFTR_rig_c aSumUnagi_key_anime_data { + cKF_bs_r_int_sum_unagi, + cKF_ba_r_int_sum_unagi, + 0.5f, +}; + aFTR_PROFILE iam_sum_unagi = { NULL, NULL, diff --git a/src/ftr/ac_sum_wakasagi.c b/src/ftr/ac_sum_wakasagi.c index 3da654bc..0c54268d 100644 --- a/src/ftr/ac_sum_wakasagi.c +++ b/src/ftr/ac_sum_wakasagi.c @@ -1,5 +1,14 @@ extern aFTR_rig_c aSumWakasagi_key_anime_data; +extern cKF_Skeleton_R_c cKF_bs_r_int_sum_wakasagi; +extern cKF_Animation_R_c cKF_ba_r_int_sum_wakasagi; + +aFTR_rig_c aSumWakasagi_key_anime_data { + cKF_bs_r_int_sum_wakasagi, + cKF_ba_r_int_sum_wakasagi, + 0.5f, +}; + aFTR_PROFILE iam_sum_wakasagi = { NULL, NULL, diff --git a/src/ftr/ac_sum_yamame.c b/src/ftr/ac_sum_yamame.c index a2ef622f..1138de77 100644 --- a/src/ftr/ac_sum_yamame.c +++ b/src/ftr/ac_sum_yamame.c @@ -1,5 +1,14 @@ extern aFTR_rig_c aSumYamame_key_anime_data; +extern cKF_Skeleton_R_c cKF_bs_r_int_sum_yamame; +extern cKF_Animation_R_c cKF_ba_r_int_sum_yamame; + +aFTR_rig_c aSumYamame_key_anime_data { + cKF_bs_r_int_sum_yamame, + cKF_ba_r_int_sum_yamame, + 0.5f, +}; + aFTR_PROFILE iam_sum_yamame = { NULL, NULL, diff --git a/src/ftr/ac_tak_asteroid1.c b/src/ftr/ac_tak_asteroid1.c index 23963a11..f028346d 100644 --- a/src/ftr/ac_tak_asteroid1.c +++ b/src/ftr/ac_tak_asteroid1.c @@ -1,5 +1,14 @@ extern aFTR_rig_c aTakAsteroid1_sklkey; +extern cKF_Skeleton_R_c cKF_bs_r_int_tak_asteroid1; +extern cKF_Animation_R_c cKF_ba_r_int_tak_asteroid1; + +aFTR_rig_c aTakAsteroid1_sklkey { + cKF_bs_r_int_tak_asteroid1, + cKF_ba_r_int_tak_asteroid1, + 0.5f, +}; + aFTR_PROFILE iam_tak_asteroid1 = { NULL, NULL, diff --git a/src/ftr/ac_tak_barber.c b/src/ftr/ac_tak_barber.c index f73020f1..d4a32ebd 100644 --- a/src/ftr/ac_tak_barber.c +++ b/src/ftr/ac_tak_barber.c @@ -1,5 +1,14 @@ extern aFTR_rig_c aTakBarber_sklkey; +extern cKF_Skeleton_R_c cKF_bs_r_int_tak_barber; +extern cKF_Animation_R_c cKF_ba_r_int_tak_barber; + +aFTR_rig_c aTakBarber_sklkey { + cKF_bs_r_int_tak_barber, + cKF_ba_r_int_tak_barber, + 0.5f, +}; + aFTR_PROFILE iam_tak_barber = { NULL, NULL, diff --git a/src/ftr/ac_tak_eisei.c b/src/ftr/ac_tak_eisei.c index 512e9d5a..f1504ba1 100644 --- a/src/ftr/ac_tak_eisei.c +++ b/src/ftr/ac_tak_eisei.c @@ -1,5 +1,14 @@ extern aFTR_rig_c aTakEisei_sklkey; +extern cKF_Skeleton_R_c cKF_bs_r_int_tak_eisei; +extern cKF_Animation_R_c cKF_ba_r_int_tak_eisei; + +aFTR_rig_c aTakEisei_sklkey { + cKF_bs_r_int_tak_eisei, + cKF_ba_r_int_tak_eisei, + 0.5f, +}; + aFTR_PROFILE iam_tak_eisei = { NULL, NULL, diff --git a/src/ftr/ac_tak_lion.c b/src/ftr/ac_tak_lion.c index 41cb6e73..4596e0b7 100644 --- a/src/ftr/ac_tak_lion.c +++ b/src/ftr/ac_tak_lion.c @@ -56,7 +56,7 @@ extern Gfx int_tak_lion_on_model[]; extern Gfx int_tak_lion_onT_model[]; extern Gfx int_tak_lion_alphaT_model[]; -static void fSKP_dw(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor, GAME* game, u8* data) { +static void fTL_dw(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor, GAME* game, u8* data) { GAME_PLAY* play = (GAME_PLAY*)game; u32 ctr_ofs; Gfx* scroll_gfx; diff --git a/src/ftr/ac_tak_station.c b/src/ftr/ac_tak_station.c index 6d4dd9e8..c6633481 100644 --- a/src/ftr/ac_tak_station.c +++ b/src/ftr/ac_tak_station.c @@ -1,5 +1,14 @@ extern aFTR_rig_c aTakStation_sklkey; +extern cKF_Skeleton_R_c cKF_bs_r_int_tak_station; +extern cKF_Animation_R_c cKF_ba_r_int_tak_station; + +aFTR_rig_c aTakStation_sklkey { + cKF_bs_r_int_tak_station, + cKF_ba_r_int_tak_station, + 0.5f, +}; + aFTR_PROFILE iam_tak_station = { NULL, NULL, diff --git a/src/ftr/ac_tak_ufo.c b/src/ftr/ac_tak_ufo.c index 23d9d86f..9d9472dc 100644 --- a/src/ftr/ac_tak_ufo.c +++ b/src/ftr/ac_tak_ufo.c @@ -1,5 +1,14 @@ extern aFTR_rig_c aTakUfo_sklkey; +extern cKF_Skeleton_R_c cKF_bs_r_int_tak_ufo; +extern cKF_Animation_R_c cKF_ba_r_int_tak_ufo; + +aFTR_rig_c aTakUfo_sklkey { + cKF_bs_r_int_tak_ufo, + cKF_ba_r_int_tak_ufo, + 0.5f, +}; + aFTR_PROFILE iam_tak_ufo = { NULL, NULL, From fd36c255ddb0d56766a84f403667b2d86f4fc57f Mon Sep 17 00:00:00 2001 From: Prakxo Date: Sun, 10 Mar 2024 14:52:44 +0100 Subject: [PATCH 4/4] link f_furniture --- config/assets.yml | 119 +++++++++++++++++++++++++++++++ config/rel_slices.yml | 5 +- include/ac_furniture.h | 40 ++++++----- include/audio.h | 2 +- include/jaudio_NES/game64.h | 2 +- src/audio.c | 2 +- src/f_furniture.c | 130 +++++++++++++++++++++++++++++++++- src/ftr/ac_gold_item.c | 8 +-- src/ftr/ac_hos_mario_hata.c | 2 +- src/ftr/ac_hos_mario_kinoko.c | 2 +- src/ftr/ac_ike_fish_tro2.c | 4 +- src/ftr/ac_iku_mario_star.c | 16 ++--- src/ftr/ac_kob_disksystem8.c | 2 +- src/ftr/ac_kon_ameclock.c | 2 +- src/ftr/ac_kon_atqclock.c | 4 +- src/ftr/ac_kon_blueclock.c | 2 +- src/ftr/ac_kon_cracker.c | 8 +-- src/ftr/ac_kon_grclock.c | 2 +- src/ftr/ac_kon_mimiclock.c | 2 +- src/ftr/ac_kon_redclock.c | 2 +- src/ftr/ac_kon_sisiodosi.c | 8 +-- src/ftr/ac_kon_snowclock.c | 2 +- src/ftr/ac_kon_snowtansu.c | 8 +-- src/ftr/ac_kon_waclock.c | 6 +- src/ftr/ac_nog_amenbo.c | 8 +-- src/ftr/ac_nog_dango.c | 8 +-- src/ftr/ac_nog_fan01.c | 8 +-- src/ftr/ac_nog_flower.c | 12 +++- src/ftr/ac_nog_gong.c | 2 +- src/ftr/ac_nog_isidai.c | 8 +-- src/ftr/ac_nog_ka.c | 8 +-- src/ftr/ac_nog_kaeru.c | 8 +-- src/ftr/ac_nog_kamakura.c | 10 ++- src/ftr/ac_nog_kera.c | 8 +-- src/ftr/ac_nog_koban.c | 11 ++- src/ftr/ac_nog_kumo.c | 8 +-- src/ftr/ac_nog_kurage.c | 8 +-- src/ftr/ac_nog_maimai.c | 8 +-- src/ftr/ac_nog_medaka.c | 8 +-- src/ftr/ac_nog_mino.c | 8 +-- src/ftr/ac_nog_museum.c | 10 ++- src/ftr/ac_nog_myhome2.c | 2 +- src/ftr/ac_nog_myhome4.c | 2 +- src/ftr/ac_nog_piraluku.c | 8 +-- src/ftr/ac_nog_shop1.c | 10 ++- src/ftr/ac_nog_station.c | 68 +++++++++++++----- src/ftr/ac_nog_suzuki.c | 8 +-- src/ftr/ac_nog_tai.c | 8 +-- src/ftr/ac_nog_uranai.c | 10 ++- src/ftr/ac_nog_yamishop.c | 10 ++- src/ftr/ac_nog_yubin.c | 11 ++- src/ftr/ac_nog_zarigani.c | 8 +-- src/ftr/ac_radio_test.c | 7 +- src/ftr/ac_sum_akiakane.c | 8 +-- src/ftr/ac_sum_angel.c | 8 +-- src/ftr/ac_sum_aroana.c | 8 +-- src/ftr/ac_sum_ayu.c | 12 ++-- src/ftr/ac_sum_bass.c | 8 +-- src/ftr/ac_sum_bassl.c | 8 +-- src/ftr/ac_sum_bassm.c | 8 +-- src/ftr/ac_sum_blue_cab01.c | 8 +-- src/ftr/ac_sum_danna.c | 8 +-- src/ftr/ac_sum_demekin.c | 8 +-- src/ftr/ac_sum_dojyo.c | 8 +-- src/ftr/ac_sum_donko.c | 8 +-- src/ftr/ac_sum_funa.c | 8 +-- src/ftr/ac_sum_gill.c | 8 +-- src/ftr/ac_sum_ginyanma.c | 8 +-- src/ftr/ac_sum_gomadara.c | 8 +-- src/ftr/ac_sum_gupi.c | 8 +-- src/ftr/ac_sum_hachi.c | 8 +-- src/ftr/ac_sum_hal_box01.c | 2 +- src/ftr/ac_sum_hera.c | 8 +-- src/ftr/ac_sum_hirata.c | 8 +-- src/ftr/ac_sum_ito.c | 8 +-- src/ftr/ac_sum_iwana.c | 8 +-- src/ftr/ac_sum_kabuto.c | 8 +-- src/ftr/ac_sum_kamakiri.c | 8 +-- src/ftr/ac_sum_kanabun.c | 12 ++-- src/ftr/ac_sum_kaseki.c | 8 +-- src/ftr/ac_sum_kiageha.c | 12 ++-- src/ftr/ac_sum_kingyo.c | 8 +-- src/ftr/ac_sum_kisha.c | 15 ++++ src/ftr/ac_sum_koi.c | 8 +-- src/ftr/ac_sum_log_hatoclk.c | 21 +++--- src/ftr/ac_sum_mezaclock.c | 8 +-- src/ftr/ac_sum_miyama.c | 8 +-- src/ftr/ac_sum_mizunomi.c | 8 +-- src/ftr/ac_sum_monki.c | 8 +-- src/ftr/ac_sum_monshiro.c | 8 +-- src/ftr/ac_sum_namazu.c | 8 +-- src/ftr/ac_sum_nanahoshi.c | 8 +-- src/ftr/ac_sum_nigoi.c | 9 +++ src/ftr/ac_sum_niji.c | 9 +++ src/ftr/ac_sum_nisiki.c | 9 +++ src/ftr/ac_sum_nokogiri.c | 9 +++ src/ftr/ac_sum_ohmurasaki.c | 9 +++ src/ftr/ac_sum_oikawa.c | 9 +++ src/ftr/ac_sum_okuwa.c | 9 ++- src/ftr/ac_sum_oniyanma.c | 8 +-- src/ftr/ac_sum_oonamazu.c | 8 +-- src/ftr/ac_sum_pirania.c | 8 +-- src/ftr/ac_sum_raigyo.c | 8 +-- src/ftr/ac_sum_sake.c | 8 +-- src/ftr/ac_sum_shiokara.c | 8 +-- src/ftr/ac_sum_tamamushi.c | 8 +-- src/ftr/ac_sum_tanago.c | 8 +-- src/ftr/ac_sum_tentou.c | 8 +-- src/ftr/ac_sum_ugui.c | 8 +-- src/ftr/ac_sum_unagi.c | 8 +-- src/ftr/ac_sum_wakasagi.c | 8 +-- src/ftr/ac_sum_yamame.c | 8 +-- src/ftr/ac_tak_asteroid1.c | 8 +-- src/ftr/ac_tak_barber.c | 8 +-- src/ftr/ac_tak_eisei.c | 8 +-- src/ftr/ac_tak_moon.c | 2 +- src/ftr/ac_tak_station.c | 8 +-- src/ftr/ac_tak_tailor.c | 11 ++- src/ftr/ac_tak_tent.c | 12 +++- src/ftr/ac_tak_toudai.c | 2 +- src/ftr/ac_tak_ufo.c | 8 +-- src/ftr/ac_yaz_fish_trophy.c | 4 +- 122 files changed, 826 insertions(+), 423 deletions(-) diff --git a/config/assets.yml b/config/assets.yml index 12d3ae09..e267cd23 100644 --- a/config/assets.yml +++ b/config/assets.yml @@ -434,4 +434,123 @@ config/rel.yml: type: pal16 # ac_koinobori + int_nog_kamakura_off_pal: + addrs: [0x806D79C0, 0x806D79E0] + type: pal16 + int_nog_kamakura_on_pal: + addrs: [0x806D79E0, 0x806D7A00] + type: pal16 + int_nog_kouban_on_pal: + addrs: [0x806D7B80,0x806D7BA0] + type: pal16 + int_nog_kouban_off_pal: + addrs: [0x806D7BA0,0x806D7BC0] + type: pal16 + int_nog_museum_off_pal: + addrs: [0x806D7D80,0x806D7DA0] + type: pal16 + int_nog_museum_on_pal: + addrs: [0x806D7DA0,0x806D7DC0] + type: pal16 + int_nog_station1_a_pal: + addrs: [0x806D8200,0x806D8220] + type: pal16 + int_nog_station1_b_pal: + addrs: [0x806D8220,0x806D8240] + type: pal16 + int_nog_station1_c_pal: + addrs: [0x806D8240,0x806D8260] + type: pal16 + int_nog_station1_d_pal: + addrs: [0x806D8260,0x806D8280] + type: pal16 + int_nog_station1_e_pal: + addrs: [0x806D8280,0x806D82A0] + type: pal16 + int_nog_station2_a_pal: + addrs: [0x806D82A0,0x806D82C0] + type: pal16 + int_nog_station2_b_pal: + addrs: [0x806D82C0,0x806D82E0] + type: pal16 + int_nog_station2_c_pal: + addrs: [0x806D82E0,0x806D8300] + type: pal16 + int_nog_station2_d_pal: + addrs: [0x806D8300,0x806D8320] + type: pal16 + int_nog_station2_e_pal: + addrs: [0x806D8320,0x806D8340] + type: pal16 + int_nog_station3_a_pal: + addrs: [0x806D8340,0x806D8360] + type: pal16 + int_nog_station3_b_pal: + addrs: [0x806D8360,0x806D8380] + type: pal16 + int_nog_station3_c_pal: + addrs: [0x806D8380,0x806D83A0] + type: pal16 + int_nog_station3_d_pal: + addrs: [0x806D83A0,0x806D83C0] + type: pal16 + int_nog_station3_e_pal: + addrs: [0x806D83C0,0x806D83E0] + type: pal16 + int_nog_shop1_on_pal: + addrs: [0x806D8560,0x806D8580] + type: pal16 + int_nog_shop1_off_pal: + addrs: [0x806D8580,0x806D85A0] + type: pal16 + int_nog_uranai_off_pal: + addrs: [0x806D8900,0x806D8920] + type: pal16 + int_nog_uranai_on_pal: + addrs: [0x806D8920,0x806D8940] + type: pal16 + int_nog_yamishop_off_pal: + addrs: [0x806D89A0,0x806D89C0] + type: pal16 + int_nog_yamishop_on_pal: + addrs: [0x806D89C0,0x806D89E0] + type: pal16 + int_nog_yubin_on_pal: + addrs: [0x806D8A40,0x806D8A60] + type: pal16 + int_nog_yubin_off_pal: + addrs: [0x806D8A60,0x806D8A80] + type: pal16 + int_tak_tailor_on_pal: + addrs: [0x806DE200, 0x806DE220] + type: pal16 + int_tak_tailor_off_pal: + addrs: [0x806DE220, 0x806DE240] + type: pal16 + radio_pal: + addrs: [0x806DE600, 0x806DE620] + type: pal16 + int_yaz_fish_trophy_pal: + addrs: [0x806DF4C0,0x806DF4E0] + type: pal16 + int_tak_tent_on_pal: + addrs: [0x806DFB40, 0x806DFB60] + type: pal16 + int_tak_tent_off_pal: + addrs: [0x806DFB60, 0x806DFB80] + type: pal16 + int_yaz_fish_trophy2_pal: + addrs: [0x806DFC40,0x806DFC60] + type: pal16 + int_nog_flower_a_pal: + addrs: [0x806E0080,0x806E00A0] + type: pal16 + int_nog_flower_b_pal: + addrs: [0x806E00A0,0x806E00C0] + type: pal16 + int_nog_flower_c_pal: + addrs: [0x806E00C0,0x806E00E0] + type: pal16 + #f_furniture + # dataobj.obj item names diff --git a/config/rel_slices.yml b/config/rel_slices.yml index bd01de0d..1780ae9e 100644 --- a/config/rel_slices.yml +++ b/config/rel_slices.yml @@ -935,8 +935,9 @@ ac_weather_fine.c: .data: [0x806D1DA0, 0x806D1DB8] f_furniture.c: .text: [0x8062E96C, 0x80641254] - .rodata: [0x8064D360,0x8064D4D0] - .data: [0x806D4D40,0x806E02A0] + .rodata: [0x8064D360, 0x8064D4D0] + .data: [0x806D4D40, 0x806E02A0] + # dataobject.obj files data/combi/data_combi.c: diff --git a/include/ac_furniture.h b/include/ac_furniture.h index 61ba8a90..98f64f54 100644 --- a/include/ac_furniture.h +++ b/include/ac_furniture.h @@ -61,30 +61,32 @@ enum { }; enum { - aFTR_INTERACTION_STORAGE_DRAWERS, // dressers + aFTR_INTERACTION_STORAGE_DRAWERS = 1, // dressers aFTR_INTERACTION_STORAGE_WARDROBE, // double doors - aFTR_INTERACTION_STORAGE_CLOSET, // single door - aFTR_INTERACTION_MUSIC_DISK, - aFTR_INTERACTION_NO_COLLISION, - aFTR_INTERACTION_HANIWA, - aFTR_INTERACTION_FISH, - aFTR_INTERACTION_INSECT, - aFTR_INTERACTION_MANNEKIN, - aFTR_INTERACTION_UMBRELLA, - aFTR_INTERACTION_FOSSIL, - aFTR_INTERACTION_FAMICOM, - aFTR_INTERACTION_START_DISABLED, // mainly used for TVs to be off when placed + aFTR_INTERACTION_STORAGE_CLOSET = 4, // single door + aFTR_INTERACTION_MUSIC_DISK = 8, + aFTR_INTERACTION_NO_COLLISION = 0x10, + aFTR_INTERACTION_HANIWA = 0x20, + aFTR_INTERACTION_FISH = 0x40, + aFTR_INTERACTION_INSECT = 0x80, + aFTR_INTERACTION_MANNEKIN = 0x100, + aFTR_INTERACTION_UMBRELLA = 0x200, + aFTR_INTERACTION_FOSSIL = 0x400, + aFTR_INTERACTION_FAMICOM = 0x800, + aFTR_INTERACTION_START_DISABLED = 0x1000, // mainly used for TVs to be off when placed // there may be more types, but I didn't see any - - aFTR_INTERACTION_NUM + aFTR_INTERACTION_FAMICOM_ITEM = 0x2000, + aFTR_INTERACTION_RADIO_AEROBICS = 0x4000, + aFTR_INTERACTION_TOGGLE = 0x8000, + aFTR_INTERACTION_NUM = 15, }; enum { - aFTR_CONTACT_ACTION_CHAIR_UNIDIRECTIONAL, // only can sit from the front - aFTR_CONTACT_ACTION_CHAIR_MULTIDIRECTIONAL, // can sit from any direction - aFTR_CONTACT_ACTION_CHAIR_SOFA, // cam sit anywhere from the front - aFTR_CONTACT_ACTION_BED_SINGLE, // single bed (can't roll) - aFTR_CONTACT_ACTION_BED_DOUBLE, // double bed (can roll) + aFTR_CONTACT_ACTION_CHAIR_UNIDIRECTIONAL = 1, // only can sit from the front + aFTR_CONTACT_ACTION_CHAIR_MULTIDIRECTIONAL = 2, // can sit from any direction + aFTR_CONTACT_ACTION_CHAIR_SOFA = 4, // cam sit anywhere from the front + aFTR_CONTACT_ACTION_BED_SINGLE = 8, // single bed (can't roll) + aFTR_CONTACT_ACTION_BED_DOUBLE = 0x10, // double bed (can roll) aFTR_CONTACT_ACTION_NUM }; diff --git a/include/audio.h b/include/audio.h index 2c3baf9a..34f49505 100644 --- a/include/audio.h +++ b/include/audio.h @@ -115,7 +115,7 @@ extern u16 sAdo_Get_WalkLabel(int type); extern int sAdo_Get_KokeruLabel(int type); extern void sAdo_SceneMode(u8 mode); -extern s8 sAdo_RoomIncectPos(u32 f, u16 u, xyz_t* pos); +extern u8 sAdo_RoomIncectPos(u32 f, u16 u, xyz_t* pos); extern void sAdo_FurnitureInstPos(u32 f, xyz_t* pos); extern void sAdo_Set_ongenpos_refuse_fg(int state); diff --git a/include/jaudio_NES/game64.h b/include/jaudio_NES/game64.h index fce0e5be..e75e8474 100644 --- a/include/jaudio_NES/game64.h +++ b/include/jaudio_NES/game64.h @@ -52,7 +52,7 @@ extern void Na_RoomType(u8); extern void Na_Museum(u8); extern void Na_SoftReset(); extern void Na_SceneMode(u8); -extern s8 Na_RoomIncectPos(int, u16, u16, f32); +extern u8 Na_RoomIncectPos(int, u16, u16, f32); extern void Na_FurnitureInstPos(int, u16, f32); extern int Na_GetSoundFrameCounter(); extern void Na_kazagurumaLevel(f32); diff --git a/src/audio.c b/src/audio.c index 932856c9..71476ab3 100644 --- a/src/audio.c +++ b/src/audio.c @@ -443,7 +443,7 @@ extern void sAdo_SceneMode(u8 mode) { Na_SceneMode(mode); } -extern s8 sAdo_RoomIncectPos(u32 f, u16 u, xyz_t* pos) { +extern u8 sAdo_RoomIncectPos(u32 f, u16 u, xyz_t* pos) { u16 scalc; f32 fcalc; diff --git a/src/f_furniture.c b/src/f_furniture.c index 14a88064..8204548c 100644 --- a/src/f_furniture.c +++ b/src/f_furniture.c @@ -11,8 +11,134 @@ #include "m_malloc.h" #include "m_debug.h" #include "m_house.h" +#include "m_vibctl.h" -static u16 fFTR_myhome_off_pal_table[][16] = { +#ifdef MUST_MATCH +#ifndef __INTELLISENSE__ +/* Force assetrip to detect these assets. They're used in a .c_inc file. */ +FORCESTRIP static u16 __hack_pal0[] = { + #include "assets/int_nog_kamakura_off_pal.inc" +}; +FORCESTRIP static u16 __hack_pal1[] = { + #include "assets/int_nog_kamakura_on_pal.inc" +}; +FORCESTRIP static u16 __hack_pal2[] = { + #include "assets/int_nog_kouban_on_pal.inc" +}; +FORCESTRIP static u16 __hack_pal3[] = { + #include "assets/int_nog_kouban_off_pal.inc" +}; +FORCESTRIP static u16 __hack_pal4[] = { + #include "assets/int_nog_museum_off_pal.inc" +}; +FORCESTRIP static u16 __hack_pal5[] = { + #include "assets/int_nog_museum_on_pal.inc" +}; +FORCESTRIP static u16 __hack_pal6[] = { + #include "assets/int_nog_station1_a_pal.inc" +}; +FORCESTRIP static u16 __hack_pal7[] = { + #include "assets/int_nog_station1_b_pal.inc" +}; +FORCESTRIP static u16 __hack_pal8[] = { + #include "assets/int_nog_station1_c_pal.inc" +}; +FORCESTRIP static u16 __hack_pal9[] = { + #include "assets/int_nog_station1_d_pal.inc" +}; +FORCESTRIP static u16 __hack_pal10[] = { + #include "assets/int_nog_station1_e_pal.inc" +}; +FORCESTRIP static u16 __hack_pal11[] = { + #include "assets/int_nog_station2_a_pal.inc" +}; +FORCESTRIP static u16 __hack_pal12[] = { + #include "assets/int_nog_station2_b_pal.inc" +}; +FORCESTRIP static u16 __hack_pal13[] = { + #include "assets/int_nog_station2_c_pal.inc" +}; +FORCESTRIP static u16 __hack_pal14[] = { + #include "assets/int_nog_station2_d_pal.inc" +}; +FORCESTRIP static u16 __hack_pal15[] = { + #include "assets/int_nog_station2_e_pal.inc" +}; +FORCESTRIP static u16 __hack_pal16[] = { + #include "assets/int_nog_station3_a_pal.inc" +}; +FORCESTRIP static u16 __hack_pal17[] = { + #include "assets/int_nog_station3_b_pal.inc" +}; +FORCESTRIP static u16 __hack_pal18[] = { + #include "assets/int_nog_station3_c_pal.inc" +}; +FORCESTRIP static u16 __hack_pal19[] = { + #include "assets/int_nog_station3_d_pal.inc" +}; +FORCESTRIP static u16 __hack_pal20[] = { + #include "assets/int_nog_station3_e_pal.inc" +}; +FORCESTRIP static u16 __hack_pal21[] = { + #include "assets/int_nog_shop1_off_pal.inc" +}; +FORCESTRIP static u16 __hack_pal22[] = { + #include "assets/int_nog_shop1_on_pal.inc" +}; +FORCESTRIP static u16 __hack_pal23[] = { + #include "assets/int_nog_uranai_off_pal.inc" +}; +FORCESTRIP static u16 __hack_pal24[] = { + #include "assets/int_nog_uranai_on_pal.inc" +}; +FORCESTRIP static u16 __hack_pal25[] = { + #include "assets/int_nog_yamishop_off_pal.inc" +}; +FORCESTRIP static u16 __hack_pal26[] = { + #include "assets/int_nog_yamishop_on_pal.inc" +}; +FORCESTRIP static u16 __hack_pal27[] = { + #include "assets/int_nog_yubin_on_pal.inc" +}; +FORCESTRIP static u16 __hack_pal28[] = { + #include "assets/int_nog_yubin_off_pal.inc" +}; +FORCESTRIP static u16 __hack_pal29[] = { + #include "assets/int_tak_tailor_on_pal.inc" +}; +FORCESTRIP static u16 __hack_pal30[] = { + #include "assets/int_tak_tailor_off_pal.inc" +}; +FORCESTRIP static u16 __hack_pal31[] = { + #include "assets/radio_pal.inc" +}; +FORCESTRIP static u16 __hack_pal32[] = { + #include "assets/int_yaz_fish_trophy_pal.inc" +}; +FORCESTRIP static u16 __hack_pal33[] = { + #include "assets/int_tak_tent_on_pal.inc" +}; +FORCESTRIP static u16 __hack_pal34[] = { + #include "assets/int_tak_tent_off_pal.inc" +}; +FORCESTRIP static u16 __hack_pal35[] = { + #include "assets/int_yaz_fish_trophy2_pal.inc" +}; +FORCESTRIP static u16 __hack_pal36[] = { + #include "assets/int_nog_flower_a_pal.inc" +}; +FORCESTRIP static u16 __hack_pal37[] = { + #include "assets/int_nog_flower_b_pal.inc" +}; +FORCESTRIP static u16 __hack_pal38[] = { + #include "assets/int_nog_flower_c_pal.inc" +}; + +#endif +#endif + + +static u16 fFTR_myhome_off_pal_table[][16] ATTRIBUTE_ALIGN(32) = { // clang-format off { 0x8EC9, 0x8EAE, 0x81E9, 0xFFFC, 0xEF79, 0xD274, 0xB58F, 0xFE8C, 0xE988, 0xC8E6, 0xB085, 0xFD68, 0xF907, 0xECC6, 0x8000, 0x0622 }, { 0x8EC9, 0x8EAE, 0x81E9, 0xFFFC, 0xEF79, 0xD274, 0xB58F, 0xFE8C, 0xE988, 0xC8E6, 0xB085, 0xFE6B, 0xFA09, 0xF5C8, 0x8000, 0x0622 }, @@ -29,7 +155,7 @@ static u16 fFTR_myhome_off_pal_table[][16] = { // clang-format on }; -static u16 fFTR_myhome_on_pal_table[][16] = { +static u16 fFTR_myhome_on_pal_table[][16] ATTRIBUTE_ALIGN(32) = { // clang-format off { 0x8EC9, 0x8EAE, 0x81E9, 0xFFFC, 0xEF79, 0xD274, 0xB58F, 0xFE8C, 0xE988, 0xC8E6, 0xB085, 0xFD68, 0xF907, 0xECC6, 0xFFF2, 0x0622 }, { 0x8EC9, 0x8EAE, 0x81E9, 0xFFFC, 0xEF79, 0xD274, 0xB58F, 0xFE8C, 0xE988, 0xC8E6, 0xB085, 0xFE6B, 0xFA09, 0xF5C8, 0xFFF2, 0x0622 }, diff --git a/src/ftr/ac_gold_item.c b/src/ftr/ac_gold_item.c index 9b59d342..cbdbd734 100644 --- a/src/ftr/ac_gold_item.c +++ b/src/ftr/ac_gold_item.c @@ -22,21 +22,21 @@ extern Gfx obj_shovel2T_mat_model[]; extern Gfx obj_rod2T_gfx_model[]; extern Gfx obj_rod2T_mat_model[]; -extern Gfx obj_rod_line2T_gfx_model[]; -extern Gfx obj_rod_line2T_mat_model[]; +extern Gfx obj_rod2_lineT_gfx_model[]; +extern Gfx obj_rod2_lineT_mat_model[]; static Gfx* fGI_mat_table[] = { obj_net2T_mat_model, obj_axe2T_mat_model, obj_shovel2T_mat_model, - obj_rod_line2T_mat_model, + obj_rod2_lineT_mat_model, }; static Gfx* fGI_gfx_table[] = { obj_net2T_gfx_model, obj_axe2T_gfx_model, obj_shovel2T_gfx_model, - obj_rod_line2T_gfx_model, + obj_rod2_lineT_gfx_model, }; static void fGI_dw(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor, GAME* game, u8* data) { diff --git a/src/ftr/ac_hos_mario_hata.c b/src/ftr/ac_hos_mario_hata.c index 630b0d78..a65fa4f5 100644 --- a/src/ftr/ac_hos_mario_hata.c +++ b/src/ftr/ac_hos_mario_hata.c @@ -3,7 +3,7 @@ extern Gfx int_hos_mario_hata_all_model[]; static void fHMD_mv(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor, GAME* game, u8* data) { if (aFTR_CAN_PLAY_SE(ftr_actor)) { if (ftr_actor->switch_changed_flag == TRUE) { - sAdo_OngenTrgStart(SE_FLAG_15(0x179), &ftr_actor->position); + sAdo_OngenTrgStart(0x44E, &ftr_actor->position); } } } diff --git a/src/ftr/ac_hos_mario_kinoko.c b/src/ftr/ac_hos_mario_kinoko.c index afcbcaa4..8c3cbe01 100644 --- a/src/ftr/ac_hos_mario_kinoko.c +++ b/src/ftr/ac_hos_mario_kinoko.c @@ -3,7 +3,7 @@ extern Gfx int_hos_mario_kinoko_all_model[]; static void fIMK_mv(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor, GAME* game, u8* data) { if (aFTR_CAN_PLAY_SE(ftr_actor)) { if (ftr_actor->switch_changed_flag == TRUE) { - sAdo_OngenTrgStart(0x44E, &ftr_actor->position); + sAdo_OngenTrgStart(SE_FLAG_15(0x179), &ftr_actor->position); } } } diff --git a/src/ftr/ac_ike_fish_tro2.c b/src/ftr/ac_ike_fish_tro2.c index bfbff8c0..3e9121ab 100644 --- a/src/ftr/ac_ike_fish_tro2.c +++ b/src/ftr/ac_ike_fish_tro2.c @@ -1,4 +1,6 @@ -extern u16 int_yaz_fish_trophy2_pal[]; +extern u16 int_yaz_fish_trophy2_pal[] ATTRIBUTE_ALIGN(32) = { + #include "assets/int_yaz_fish_trophy2_pal.inc" +}; extern Gfx int_yaz_fish_trophy_cup_model[]; extern Gfx int_yaz_fish_trophy_base_model[]; diff --git a/src/ftr/ac_iku_mario_star.c b/src/ftr/ac_iku_mario_star.c index 5a28be05..5e9afff7 100644 --- a/src/ftr/ac_iku_mario_star.c +++ b/src/ftr/ac_iku_mario_star.c @@ -16,16 +16,16 @@ static void fIMS_mv(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor, GAME* game, u8* } } -extern u16 int_iku_mario_start_a_pal[]; -extern u16 int_iku_mario_start_b_pal[]; -extern u16 int_iku_mario_start_c_pal[]; -extern u16 int_iku_mario_start_d_pal[]; +extern u16 int_iku_mario_star_a_pal[]; +extern u16 int_iku_mario_star_b_pal[]; +extern u16 int_iku_mario_star_c_pal[]; +extern u16 int_iku_mario_star_d_pal[]; static u16* fIMS_palette_table[] = { - int_iku_mario_start_a_pal, - int_iku_mario_start_b_pal, - int_iku_mario_start_c_pal, - int_iku_mario_start_d_pal, + int_iku_mario_star_a_pal, + int_iku_mario_star_b_pal, + int_iku_mario_star_c_pal, + int_iku_mario_star_d_pal, }; extern Gfx int_iku_mario_star_model[]; diff --git a/src/ftr/ac_kob_disksystem8.c b/src/ftr/ac_kob_disksystem8.c index b2e50937..cb514ea1 100644 --- a/src/ftr/ac_kob_disksystem8.c +++ b/src/ftr/ac_kob_disksystem8.c @@ -61,6 +61,6 @@ aFTR_PROFILE iam_kob_disksystem8 = { 0, 0, 0, - 0, + aFTR_INTERACTION_FAMICOM_ITEM, &aKobDisksystem8_func, }; diff --git a/src/ftr/ac_kon_ameclock.c b/src/ftr/ac_kon_ameclock.c index 87d0fb21..a701157b 100644 --- a/src/ftr/ac_kon_ameclock.c +++ b/src/ftr/ac_kon_ameclock.c @@ -35,7 +35,7 @@ static void aKonAmeclock_ct(FTR_ACTOR* ftr_actor, u8* data){ cKF_SkeletonInfo_R_ct(keyf, &cKF_bs_r_int_kon_ameclock, &cKF_ba_r_int_kon_ameclock, ftr_actor->joint, ftr_actor->morph); cKF_SkeletonInfo_R_init_standard_repeat(keyf, &cKF_ba_r_int_kon_ameclock, NULL); cKF_SkeletonInfo_R_play(keyf); - keyf->frame_control.speed = 0.0f; + keyf->frame_control.speed = 0.5f; } diff --git a/src/ftr/ac_kon_atqclock.c b/src/ftr/ac_kon_atqclock.c index 85d724a7..e4015873 100644 --- a/src/ftr/ac_kon_atqclock.c +++ b/src/ftr/ac_kon_atqclock.c @@ -35,7 +35,7 @@ static void aKonAtqclock_ct(FTR_ACTOR* ftr_actor, u8* data){ cKF_SkeletonInfo_R_ct(keyf, &cKF_bs_r_int_kon_atqclock, &cKF_ba_r_int_kon_atqclock, ftr_actor->joint, ftr_actor->morph); cKF_SkeletonInfo_R_init_standard_repeat(keyf, &cKF_ba_r_int_kon_atqclock, NULL); cKF_SkeletonInfo_R_play(keyf); - keyf->frame_control.speed = 0.0f; + keyf->frame_control.speed = 0.5f; } @@ -52,7 +52,7 @@ static void aKonAtqclock_mv(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor, GAME* ga if(clock_info->tick_stop != 0){ cKF_SkeletonInfo_R_init_standard_repeat(keyf, &cKF_ba_r_int_kon_atqclock, NULL); cKF_SkeletonInfo_R_play(keyf); - keyf->frame_control.speed = 0.0f; + keyf->frame_control.speed = 0.5f; } else if(clock_info->tick0 == 1 || clock_info->tick1 == 1){ if(aFTR_CAN_PLAY_SE(ftr_actor)){ diff --git a/src/ftr/ac_kon_blueclock.c b/src/ftr/ac_kon_blueclock.c index a758f5cf..fc96e4cf 100644 --- a/src/ftr/ac_kon_blueclock.c +++ b/src/ftr/ac_kon_blueclock.c @@ -39,7 +39,7 @@ static void aKonBlueclock_ct(FTR_ACTOR* ftr_actor, u8* data){ cKF_SkeletonInfo_R_ct(keyf, &cKF_bs_r_int_kon_blueclock, &cKF_ba_r_int_kon_blueclock, ftr_actor->joint, ftr_actor->morph); cKF_SkeletonInfo_R_init_standard_repeat(keyf, &cKF_ba_r_int_kon_blueclock, NULL); cKF_SkeletonInfo_R_play(keyf); - keyf->frame_control.speed = 0.0f; + keyf->frame_control.speed = 0.5f; } diff --git a/src/ftr/ac_kon_cracker.c b/src/ftr/ac_kon_cracker.c index 5bfe5a37..970ad897 100644 --- a/src/ftr/ac_kon_cracker.c +++ b/src/ftr/ac_kon_cracker.c @@ -7,10 +7,10 @@ static void aKonCracker_dt(FTR_ACTOR* ftr_actor, u8* data); extern cKF_Skeleton_R_c cKF_bs_r_int_kon_cracker; extern cKF_Animation_R_c cKF_ba_r_int_kon_cracker; -aFTR_rig_c aKonCracker_sklkey { - cKF_bs_r_int_kon_cracker, - cKF_ba_r_int_kon_cracker, - 0.5f, +aFTR_rig_c aKonCracker_sklkey = { + &cKF_bs_r_int_kon_cracker, + &cKF_ba_r_int_kon_cracker, + 1.0f, }; static void aKonCracker_ct(FTR_ACTOR* ftr_actor, u8* data) { diff --git a/src/ftr/ac_kon_grclock.c b/src/ftr/ac_kon_grclock.c index 135d6408..be5ad89e 100644 --- a/src/ftr/ac_kon_grclock.c +++ b/src/ftr/ac_kon_grclock.c @@ -37,7 +37,7 @@ static void aKonGrclock_ct(FTR_ACTOR* ftr_actor, u8* data){ cKF_SkeletonInfo_R_ct(keyf, &cKF_bs_r_int_kon_grclock, &cKF_ba_r_int_kon_grclock, ftr_actor->joint, ftr_actor->morph); cKF_SkeletonInfo_R_init_standard_repeat(keyf, &cKF_ba_r_int_kon_grclock, NULL); cKF_SkeletonInfo_R_play(keyf); - keyf->frame_control.speed = 0.0f; + keyf->frame_control.speed = 0.5f; } diff --git a/src/ftr/ac_kon_mimiclock.c b/src/ftr/ac_kon_mimiclock.c index eed13957..fea0ea5f 100644 --- a/src/ftr/ac_kon_mimiclock.c +++ b/src/ftr/ac_kon_mimiclock.c @@ -39,7 +39,7 @@ static void aKonMimiclock_ct(FTR_ACTOR* ftr_actor, u8* data){ cKF_SkeletonInfo_R_ct(keyf, &cKF_bs_r_int_kon_mimiclock, &cKF_ba_r_int_kon_mimiclock, ftr_actor->joint, ftr_actor->morph); cKF_SkeletonInfo_R_init_standard_repeat(keyf, &cKF_ba_r_int_kon_mimiclock, NULL); cKF_SkeletonInfo_R_play(keyf); - keyf->frame_control.speed = 0.0f; + keyf->frame_control.speed = 0.5f; } diff --git a/src/ftr/ac_kon_redclock.c b/src/ftr/ac_kon_redclock.c index 86d74df9..a542bc0b 100644 --- a/src/ftr/ac_kon_redclock.c +++ b/src/ftr/ac_kon_redclock.c @@ -37,7 +37,7 @@ static void aKonRedclock_ct(FTR_ACTOR* ftr_actor, u8* data){ cKF_SkeletonInfo_R_ct(keyf, &cKF_bs_r_int_kon_redclock, &cKF_ba_r_int_kon_redclock, ftr_actor->joint, ftr_actor->morph); cKF_SkeletonInfo_R_init_standard_repeat(keyf, &cKF_ba_r_int_kon_redclock, NULL); cKF_SkeletonInfo_R_play(keyf); - keyf->frame_control.speed = 0.0f; + keyf->frame_control.speed = 0.5f; } diff --git a/src/ftr/ac_kon_sisiodosi.c b/src/ftr/ac_kon_sisiodosi.c index 2d2a7aa7..b824dcc3 100644 --- a/src/ftr/ac_kon_sisiodosi.c +++ b/src/ftr/ac_kon_sisiodosi.c @@ -6,10 +6,10 @@ static void aKonSisiodosi_mv(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor, GAME* g extern cKF_Skeleton_R_c cKF_bs_r_int_kon_sisiodosi; extern cKF_Animation_R_c cKF_ba_r_int_kon_sisiodosi; -aFTR_rig_c aKonSisiodosi_sklkey { - cKF_bs_r_int_kon_sisiodosi, - cKF_ba_r_int_kon_sisiodosi, - 0.5f, +aFTR_rig_c aKonSisiodosi_sklkey= { + &cKF_bs_r_int_kon_sisiodosi, + &cKF_ba_r_int_kon_sisiodosi, + 1.0f, }; static void aKonSisiodosi_ct(FTR_ACTOR* ftr_actor, u8* data){ diff --git a/src/ftr/ac_kon_snowclock.c b/src/ftr/ac_kon_snowclock.c index 59286011..8dc9f10e 100644 --- a/src/ftr/ac_kon_snowclock.c +++ b/src/ftr/ac_kon_snowclock.c @@ -59,7 +59,7 @@ static void aKonSnowclock_ct(FTR_ACTOR* ftr_actor, u8* data){ cKF_SkeletonInfo_R_ct(keyf, &cKF_bs_r_int_kon_snowclock, &cKF_ba_r_int_kon_snowclock, ftr_actor->joint, ftr_actor->morph); cKF_SkeletonInfo_R_init_standard_repeat(keyf, &cKF_ba_r_int_kon_snowclock, NULL); cKF_SkeletonInfo_R_play(keyf); - keyf->frame_control.speed = 0.0f; + keyf->frame_control.speed = 0.5f; } diff --git a/src/ftr/ac_kon_snowtansu.c b/src/ftr/ac_kon_snowtansu.c index 57b770e9..e98f9092 100644 --- a/src/ftr/ac_kon_snowtansu.c +++ b/src/ftr/ac_kon_snowtansu.c @@ -6,7 +6,7 @@ static void aKonSnowtansu_dt(FTR_ACTOR* ftr_actor, u8* data); extern cKF_Animation_R_c cKF_ba_r_int_kon_snowtansu; extern cKF_Skeleton_R_c cKF_bs_r_int_kon_snowtansu; -static void aKonsnowtansu_ct(FTR_ACTOR* ftr_actor, u8* data){ +static void aKonSnowtansu_ct(FTR_ACTOR* ftr_actor, u8* data){ cKF_SkeletonInfo_R_c* keyf; keyf = &ftr_actor->keyframe; @@ -20,13 +20,13 @@ static void aKonsnowtansu_ct(FTR_ACTOR* ftr_actor, u8* data){ static void aKonSnowtansu_mv(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor, GAME* game, u8* data){ if(Common_Get(clip).my_room_clip != NULL){ - Common_Get(clip).my_room_clip->open_close_common_move_proc(ftr_actor,my_room_actor,game,1.0f,16.0f); + Common_Get(clip).my_room_clip->open_close_common_move_proc(ftr_actor,my_room_actor,game,1.0f,10.0f); } } -static void aKonsnowtansu_dw(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor, GAME* game, u8* data){ +static void aKonSnowtansu_dw(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor, GAME* game, u8* data){ Mtx* mtx = ftr_actor->skeleton_mtx[game->frame_counter & 1]; OPEN_DISP(game->graph); @@ -39,7 +39,7 @@ static void aKonsnowtansu_dw(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor, GAME* g } -static void aKonsnowtansu_dt(FTR_ACTOR* ftr_actor, u8* data){ +static void aKonSnowtansu_dt(FTR_ACTOR* ftr_actor, u8* data){ } diff --git a/src/ftr/ac_kon_waclock.c b/src/ftr/ac_kon_waclock.c index f922078d..cd6266c3 100644 --- a/src/ftr/ac_kon_waclock.c +++ b/src/ftr/ac_kon_waclock.c @@ -34,19 +34,19 @@ static void aKonWaclock_ct(FTR_ACTOR* ftr_actor, u8* data){ cKF_SkeletonInfo_R_ct(keyf, &cKF_bs_r_int_kon_waclock, &cKF_ba_r_int_kon_waclock, ftr_actor->joint, ftr_actor->morph); cKF_SkeletonInfo_R_init_standard_repeat(keyf, &cKF_ba_r_int_kon_waclock, NULL); cKF_SkeletonInfo_R_play(keyf); - keyf->frame_control.speed = 0.0f; + keyf->frame_control.speed = 0.5f; } -static void aKonwaclock_mv(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor, GAME* game, u8* data){ +static void aKonWaclock_mv(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor, GAME* game, u8* data){ cKF_SkeletonInfo_R_c* keyf; keyf = &ftr_actor->keyframe; cKF_SkeletonInfo_R_play(keyf); } -static void aKonwaclock_dt(FTR_ACTOR* ftr_actor, u8* data){ +static void aKonWaclock_dt(FTR_ACTOR* ftr_actor, u8* data){ } diff --git a/src/ftr/ac_nog_amenbo.c b/src/ftr/ac_nog_amenbo.c index 0ed6a484..fa666b64 100644 --- a/src/ftr/ac_nog_amenbo.c +++ b/src/ftr/ac_nog_amenbo.c @@ -3,10 +3,10 @@ extern aFTR_rig_c aNogAmenbo_key_anime_data; extern cKF_Skeleton_R_c cKF_bs_r_int_nog_amenbo; extern cKF_Animation_R_c cKF_ba_r_int_nog_amenbo; -aFTR_rig_c aNogAmenbo_key_anime_data { - cKF_bs_r_int_nog_amenbo, - cKF_ba_r_int_nog_amenbo, - 0.5f, +aFTR_rig_c aNogAmenbo_key_anime_data= { + &cKF_bs_r_int_nog_amenbo, + &cKF_ba_r_int_nog_amenbo, + 1.0f, }; aFTR_PROFILE iam_nog_amenbo = { diff --git a/src/ftr/ac_nog_dango.c b/src/ftr/ac_nog_dango.c index a4d88258..613e80df 100644 --- a/src/ftr/ac_nog_dango.c +++ b/src/ftr/ac_nog_dango.c @@ -3,10 +3,10 @@ extern aFTR_rig_c aNogDango_key_anime_data; extern cKF_Skeleton_R_c cKF_bs_r_int_nog_dango; extern cKF_Animation_R_c cKF_ba_r_int_nog_dango; -aFTR_rig_c aNogDango_key_anime_data { - cKF_bs_r_int_nog_dango, - cKF_ba_r_int_nog_dango, - 0.5f, +aFTR_rig_c aNogDango_key_anime_data= { + &cKF_bs_r_int_nog_dango, + &cKF_ba_r_int_nog_dango, + 1.0f, }; diff --git a/src/ftr/ac_nog_fan01.c b/src/ftr/ac_nog_fan01.c index f7c0a5a4..8623120d 100644 --- a/src/ftr/ac_nog_fan01.c +++ b/src/ftr/ac_nog_fan01.c @@ -51,7 +51,7 @@ static void aNogFan_ct(FTR_ACTOR* ftr_actor, u8* data){ static void aNogFan_mv(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor, GAME* game, u8* data){ static int fan_kurukuru_data[] = { - 1,1,1,2,2,2,3,0xFFFFFFFF, + 1,1,1,2,2,2,2,2,3,0xFFFFFFFF, }; int num; int idx; @@ -62,7 +62,7 @@ static void aNogFan_mv(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor, GAME* game, u aNogFan_ChangeSwitch(ftr_actor); if(ftr_actor->switch_bit != FALSE){ - f32 step = sqrtf(2.0f); + f32 step = sqrtf(0.94999998807907); add_calc(&ftr_actor->dynamic_work_f[0],0.5f, 1.0f - step, 0.25f,0.0005f); @@ -71,7 +71,7 @@ static void aNogFan_mv(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor, GAME* game, u } } else{ - f32 step = sqrtf(2.0f); + f32 step = sqrtf(0.94999998807907); add_calc(&ftr_actor->dynamic_work_f[0],0.0f, 1.0f - step, 0.25f,0.0005f); @@ -86,7 +86,7 @@ static void aNogFan_mv(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor, GAME* game, u num = fan_kurukuru_data[idx]; - if((num != 1) && (ftr_actor->dynamic_work_s[0] >= num )){ + if((num != -1) && (ftr_actor->dynamic_work_s[0] >= num )){ ftr_actor->dynamic_work_s[0] = 0; ftr_actor->tex_animation.frame++; diff --git a/src/ftr/ac_nog_flower.c b/src/ftr/ac_nog_flower.c index 1e7058ce..12be176c 100644 --- a/src/ftr/ac_nog_flower.c +++ b/src/ftr/ac_nog_flower.c @@ -17,9 +17,15 @@ extern Gfx int_nog_cosmosT_model[]; extern Gfx int_nog_turip_model[]; extern Gfx int_nog_turipT_model[]; -extern u16 int_nog_flower_a_pal[]; -extern u16 int_nog_flower_b_pal[]; -extern u16 int_nog_flower_c_pal[]; +u16 int_nog_flower_a_pal[] ATTRIBUTE_ALIGN(32) = { + #include "assets/int_nog_flower_a_pal.inc" +}; +u16 int_nog_flower_b_pal[] ATTRIBUTE_ALIGN(32) = { + #include "assets/int_nog_flower_b_pal.inc" +}; +u16 int_nog_flower_c_pal[] ATTRIBUTE_ALIGN(32) = { + #include "assets/int_nog_flower_c_pal.inc" +}; typedef struct { Gfx* model0; diff --git a/src/ftr/ac_nog_gong.c b/src/ftr/ac_nog_gong.c index 86dc5627..6e7ae78a 100644 --- a/src/ftr/ac_nog_gong.c +++ b/src/ftr/ac_nog_gong.c @@ -7,7 +7,7 @@ static void aNogG_ct(FTR_ACTOR* ftr_actor, u8* data) { cKF_SkeletonInfo_R_ct(keyframe, &cKF_bs_r_int_nog_gong, &cKF_ba_r_int_nog_gong, ftr_actor->joint, ftr_actor->morph); cKF_SkeletonInfo_R_init_standard_stop(keyframe, &cKF_ba_r_int_nog_gong, NULL); cKF_SkeletonInfo_R_play(keyframe); - keyframe->frame_control.speed = 0.0f; + keyframe->frame_control.speed = 0.5f; } static void aNogG_mv(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor, GAME* game, u8* data) { diff --git a/src/ftr/ac_nog_isidai.c b/src/ftr/ac_nog_isidai.c index 98bf31d5..ead8b221 100644 --- a/src/ftr/ac_nog_isidai.c +++ b/src/ftr/ac_nog_isidai.c @@ -3,10 +3,10 @@ extern aFTR_rig_c aNogIsidai_key_anime_data; extern cKF_Skeleton_R_c cKF_bs_r_int_nog_isidai; extern cKF_Animation_R_c cKF_ba_r_int_nog_isidai; -aFTR_rig_c aNogIsidai_key_anime_data { - cKF_bs_r_int_nog_isidai, - cKF_ba_r_int_nog_isidai, - 0.5f, +aFTR_rig_c aNogIsidai_key_anime_data= { + &cKF_bs_r_int_nog_isidai, + &cKF_ba_r_int_nog_isidai, + 1.0f, }; aFTR_PROFILE iam_nog_isidai = { diff --git a/src/ftr/ac_nog_ka.c b/src/ftr/ac_nog_ka.c index 69162f46..8a4df35a 100644 --- a/src/ftr/ac_nog_ka.c +++ b/src/ftr/ac_nog_ka.c @@ -4,10 +4,10 @@ static void fNKA_mv(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor, GAME* game, u8* extern cKF_Skeleton_R_c cKF_bs_r_int_nog_ka; extern cKF_Animation_R_c cKF_ba_r_int_nog_ka; -aFTR_rig_c aNogKa_key_anime_data { - cKF_bs_r_int_nog_ka, - cKF_ba_r_int_nog_ka, - 0.5f, +aFTR_rig_c aNogKa_key_anime_data= { + &cKF_bs_r_int_nog_ka, + &cKF_ba_r_int_nog_ka, + 1.0f, }; static void fNKA_mv(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor, GAME* game, u8* data) { diff --git a/src/ftr/ac_nog_kaeru.c b/src/ftr/ac_nog_kaeru.c index f3c6daa6..48795cae 100644 --- a/src/ftr/ac_nog_kaeru.c +++ b/src/ftr/ac_nog_kaeru.c @@ -3,10 +3,10 @@ extern aFTR_rig_c aNogKaeru_key_anime_data; extern cKF_Skeleton_R_c cKF_bs_r_int_nog_kaeru; extern cKF_Animation_R_c cKF_ba_r_int_nog_kaeru; -aFTR_rig_c aNogKaeru_key_anime_data { - cKF_bs_r_int_nog_kaeru, - cKF_ba_r_int_nog_kaeru, - 0.5f, +aFTR_rig_c aNogKaeru_key_anime_data= { + &cKF_bs_r_int_nog_kaeru, + &cKF_ba_r_int_nog_kaeru, + 1.0f, }; static void fNKR_mv(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor, GAME* game, u8* data) { diff --git a/src/ftr/ac_nog_kamakura.c b/src/ftr/ac_nog_kamakura.c index ff7b5fd1..a8aa14af 100644 --- a/src/ftr/ac_nog_kamakura.c +++ b/src/ftr/ac_nog_kamakura.c @@ -1,5 +1,9 @@ -extern u16 int_nog_kamakura_off_pal[]; -extern u16 int_nog_kamakura_on_pal[]; +u16 int_nog_kamakura_off_pal[] ATTRIBUTE_ALIGN(32) = { + #include "assets/int_nog_kamakura_off_pal.inc" +}; +u16 int_nog_kamakura_on_pal[] ATTRIBUTE_ALIGN(32) = { + #include "assets/int_nog_kamakura_on_pal.inc" +}; static void fNogKamakura_ct(FTR_ACTOR* ftr_actor, u8* data) { ftr_actor->pal_p = (u16*)zelda_malloc_align(16 * sizeof(u16), 32); @@ -55,7 +59,7 @@ aFTR_PROFILE iam_nog_kamakura = { 0, 0, 0, - 0, + aFTR_INTERACTION_TOGGLE, &fNogKamakura_func, // clang-format on }; diff --git a/src/ftr/ac_nog_kera.c b/src/ftr/ac_nog_kera.c index 41a84f8c..f63fd16c 100644 --- a/src/ftr/ac_nog_kera.c +++ b/src/ftr/ac_nog_kera.c @@ -3,10 +3,10 @@ extern aFTR_rig_c aNogKera_key_anime_data; extern cKF_Skeleton_R_c cKF_bs_r_int_nog_kera; extern cKF_Animation_R_c cKF_ba_r_int_nog_kera; -aFTR_rig_c aNogKera_key_anime_data { - cKF_bs_r_int_nog_kera, - cKF_ba_r_int_nog_kera, - 0.5f, +aFTR_rig_c aNogKera_key_anime_data= { + &cKF_bs_r_int_nog_kera, + &cKF_ba_r_int_nog_kera, + 1.0f, }; static void fNgKr_mv(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor, GAME* game, u8* data) { diff --git a/src/ftr/ac_nog_koban.c b/src/ftr/ac_nog_koban.c index 16962f23..55229650 100644 --- a/src/ftr/ac_nog_koban.c +++ b/src/ftr/ac_nog_koban.c @@ -1,5 +1,10 @@ -extern u16 int_nog_kouban_off_pal[]; -extern u16 int_nog_kouban_on_pal[]; +extern u16 int_nog_kouban_on_pal[] ATTRIBUTE_ALIGN(32) = { + #include "assets/int_nog_kouban_on_pal.inc" +}; + +extern u16 int_nog_kouban_off_pal[] ATTRIBUTE_ALIGN(32) = { + #include "assets/int_nog_kouban_off_pal.inc" +}; static void fNKN_ct(FTR_ACTOR* ftr_actor, u8* data) { ftr_actor->pal_p = (u16*)zelda_malloc_align(16 * sizeof(u16), 32); @@ -55,7 +60,7 @@ aFTR_PROFILE iam_nog_koban = { 0, 0, 0, - 0, + aFTR_INTERACTION_TOGGLE, &fNKN_func, // clang-format on }; diff --git a/src/ftr/ac_nog_kumo.c b/src/ftr/ac_nog_kumo.c index 0fcdb589..82c2c889 100644 --- a/src/ftr/ac_nog_kumo.c +++ b/src/ftr/ac_nog_kumo.c @@ -3,10 +3,10 @@ extern aFTR_rig_c aNogKumo_key_anime_data; extern cKF_Skeleton_R_c cKF_bs_r_int_nog_kumo; extern cKF_Animation_R_c cKF_ba_r_int_nog_kumo; -aFTR_rig_c aNogKumo_key_anime_data { - cKF_bs_r_int_nog_kumo, - cKF_ba_r_int_nog_kumo, - 0.5f, +aFTR_rig_c aNogKumo_key_anime_data= { + &cKF_bs_r_int_nog_kumo, + &cKF_ba_r_int_nog_kumo, + 1.0f, }; aFTR_PROFILE iam_nog_kumo = { diff --git a/src/ftr/ac_nog_kurage.c b/src/ftr/ac_nog_kurage.c index 0c2ce08a..4cd65e4c 100644 --- a/src/ftr/ac_nog_kurage.c +++ b/src/ftr/ac_nog_kurage.c @@ -3,10 +3,10 @@ extern aFTR_rig_c aNogKurage_key_anime_data; extern cKF_Skeleton_R_c cKF_bs_r_int_nog_kurage; extern cKF_Animation_R_c cKF_ba_r_int_nog_kurage; -aFTR_rig_c aNogKurage_key_anime_data { - cKF_bs_r_int_nog_kurage, - cKF_ba_r_int_nog_kurage, - 0.5f, +aFTR_rig_c aNogKurage_key_anime_data= { + &cKF_bs_r_int_nog_kurage, + &cKF_ba_r_int_nog_kurage, + 1.0f, }; aFTR_PROFILE iam_nog_kurage = { diff --git a/src/ftr/ac_nog_maimai.c b/src/ftr/ac_nog_maimai.c index cc1a4701..f4077e86 100644 --- a/src/ftr/ac_nog_maimai.c +++ b/src/ftr/ac_nog_maimai.c @@ -3,10 +3,10 @@ extern aFTR_rig_c aNogMaimai_key_anime_data; extern cKF_Skeleton_R_c cKF_bs_r_int_nog_maimai; extern cKF_Animation_R_c cKF_ba_r_int_nog_maimai; -aFTR_rig_c aNogMaimai_key_anime_data { - cKF_bs_r_int_nog_maimai, - cKF_ba_r_int_nog_maimai, - 0.5f, +aFTR_rig_c aNogMaimai_key_anime_data= { + &cKF_bs_r_int_nog_maimai, + &cKF_ba_r_int_nog_maimai, + 1.0f, }; aFTR_PROFILE iam_nog_maimai = { diff --git a/src/ftr/ac_nog_medaka.c b/src/ftr/ac_nog_medaka.c index a3333c9e..8b52b1aa 100644 --- a/src/ftr/ac_nog_medaka.c +++ b/src/ftr/ac_nog_medaka.c @@ -3,10 +3,10 @@ extern aFTR_rig_c aNogMedaka_key_anime_data; extern cKF_Skeleton_R_c cKF_bs_r_int_nog_medaka; extern cKF_Animation_R_c cKF_ba_r_int_nog_medaka; -aFTR_rig_c aNogMedaka_key_anime_data { - cKF_bs_r_int_nog_medaka, - cKF_ba_r_int_nog_medaka, - 0.5f, +aFTR_rig_c aNogMedaka_key_anime_data= { + &cKF_bs_r_int_nog_medaka, + &cKF_ba_r_int_nog_medaka, + 1.0f, }; aFTR_PROFILE iam_nog_medaka = { diff --git a/src/ftr/ac_nog_mino.c b/src/ftr/ac_nog_mino.c index f79cd3d2..20a5adf1 100644 --- a/src/ftr/ac_nog_mino.c +++ b/src/ftr/ac_nog_mino.c @@ -3,10 +3,10 @@ extern aFTR_rig_c aNogMino_key_anime_data; extern cKF_Skeleton_R_c cKF_bs_r_int_nog_mino; extern cKF_Animation_R_c cKF_ba_r_int_nog_mino; -aFTR_rig_c aNogMino_key_anime_data { - cKF_bs_r_int_nog_mino, - cKF_ba_r_int_nog_mino, - 0.5f, +aFTR_rig_c aNogMino_key_anime_data= { + &cKF_bs_r_int_nog_mino, + &cKF_ba_r_int_nog_mino, + 1.0f, }; aFTR_PROFILE iam_nog_mino = { diff --git a/src/ftr/ac_nog_museum.c b/src/ftr/ac_nog_museum.c index 595ac7d6..625ff55f 100644 --- a/src/ftr/ac_nog_museum.c +++ b/src/ftr/ac_nog_museum.c @@ -1,5 +1,9 @@ -extern u16 int_nog_museum_off_pal[]; -extern u16 int_nog_museum_on_pal[]; +extern u16 int_nog_museum_off_pal[] ATTRIBUTE_ALIGN(32) = { + #include "assets/int_nog_museum_off_pal.inc" +}; +extern u16 int_nog_museum_on_pal[] ATTRIBUTE_ALIGN(32) = { + #include "assets/int_nog_museum_on_pal.inc" +}; static void fNMM_ct(FTR_ACTOR* ftr_actor, u8* data) { ftr_actor->pal_p = (u16*)zelda_malloc_align(16 * sizeof(u16), 32); @@ -55,7 +59,7 @@ aFTR_PROFILE iam_nog_museum = { 0, 0, 0, - 0, + aFTR_INTERACTION_TOGGLE, &fNMM_func, // clang-format on }; diff --git a/src/ftr/ac_nog_myhome2.c b/src/ftr/ac_nog_myhome2.c index c9c816fa..eefc3ded 100644 --- a/src/ftr/ac_nog_myhome2.c +++ b/src/ftr/ac_nog_myhome2.c @@ -84,7 +84,7 @@ aFTR_PROFILE iam_nog_myhome2 = { 0, 0, 0, - 0, + aFTR_INTERACTION_TOGGLE, &fNM2_func, // clang-format on }; diff --git a/src/ftr/ac_nog_myhome4.c b/src/ftr/ac_nog_myhome4.c index 46875532..4f4cba76 100644 --- a/src/ftr/ac_nog_myhome4.c +++ b/src/ftr/ac_nog_myhome4.c @@ -37,7 +37,7 @@ aFTR_PROFILE iam_nog_myhome4 = { 0, 0, 0, - 0, + aFTR_INTERACTION_TOGGLE, &fNM4_func, // clang-format on }; diff --git a/src/ftr/ac_nog_piraluku.c b/src/ftr/ac_nog_piraluku.c index 5f752123..57b3dc54 100644 --- a/src/ftr/ac_nog_piraluku.c +++ b/src/ftr/ac_nog_piraluku.c @@ -3,10 +3,10 @@ extern aFTR_rig_c aNogPiraluku_key_anime_data; extern cKF_Skeleton_R_c cKF_bs_r_int_nog_piraluku; extern cKF_Animation_R_c cKF_ba_r_int_nog_piraluku; -aFTR_rig_c aNogPiraluku_key_anime_data { - cKF_bs_r_int_nog_piraluku, - cKF_ba_r_int_nog_piraluku, - 0.5f, +aFTR_rig_c aNogPiraluku_key_anime_data= { + &cKF_bs_r_int_nog_piraluku, + &cKF_ba_r_int_nog_piraluku, + 1.0f, }; aFTR_PROFILE iam_nog_piraluku = { diff --git a/src/ftr/ac_nog_shop1.c b/src/ftr/ac_nog_shop1.c index 62515138..88ff8919 100644 --- a/src/ftr/ac_nog_shop1.c +++ b/src/ftr/ac_nog_shop1.c @@ -1,5 +1,9 @@ -extern u16 int_nog_shop1_off_pal[]; -extern u16 int_nog_shop1_on_pal[]; +u16 int_nog_shop1_on_pal[] ATTRIBUTE_ALIGN(32) = { + #include "assets/int_nog_shop1_on_pal.inc" +}; +u16 int_nog_shop1_off_pal[] ATTRIBUTE_ALIGN(32) = { + #include "assets/int_nog_shop1_off_pal.inc" +}; static void fNS1_ct(FTR_ACTOR* ftr_actor, u8* data) { ftr_actor->pal_p = (u16*)zelda_malloc_align(16 * sizeof(u16), 32); @@ -55,7 +59,7 @@ aFTR_PROFILE iam_nog_shop1 = { 0, 0, 0, - 0, + aFTR_INTERACTION_TOGGLE, &fNS1_func, // clang-format on }; diff --git a/src/ftr/ac_nog_station.c b/src/ftr/ac_nog_station.c index 81ca93c1..614df14b 100644 --- a/src/ftr/ac_nog_station.c +++ b/src/ftr/ac_nog_station.c @@ -10,14 +10,14 @@ static cKF_Skeleton_R_c* fNSN_station_skel_table[] = { &cKF_bs_r_int_nog_station1, &cKF_bs_r_int_nog_station1, &cKF_bs_r_int_nog_station1, &cKF_bs_r_int_nog_station1, &cKF_bs_r_int_nog_station1, &cKF_bs_r_int_nog_station2, &cKF_bs_r_int_nog_station2, &cKF_bs_r_int_nog_station2, &cKF_bs_r_int_nog_station2, &cKF_bs_r_int_nog_station2, &cKF_bs_r_int_nog_station3, &cKF_bs_r_int_nog_station3, - &cKF_bs_r_int_nog_station3, &cKF_bs_r_int_nog_station3, &cKF_bs_r_int_nog_station3, + &cKF_bs_r_int_nog_station3, &cKF_bs_r_int_nog_station3, &cKF_bs_r_int_nog_station3, &cKF_bs_r_int_nog_station3, }; static cKF_Animation_R_c* fNSN_station_anime_table[] = { &cKF_ba_r_int_nog_station1, &cKF_ba_r_int_nog_station1, &cKF_ba_r_int_nog_station1, &cKF_ba_r_int_nog_station1, &cKF_ba_r_int_nog_station1, &cKF_ba_r_int_nog_station2, &cKF_ba_r_int_nog_station2, &cKF_ba_r_int_nog_station2, &cKF_ba_r_int_nog_station2, &cKF_ba_r_int_nog_station2, &cKF_ba_r_int_nog_station3, &cKF_ba_r_int_nog_station3, - &cKF_ba_r_int_nog_station3, &cKF_ba_r_int_nog_station3, &cKF_ba_r_int_nog_station3, + &cKF_ba_r_int_nog_station3, &cKF_ba_r_int_nog_station3, &cKF_ba_r_int_nog_station3, &cKF_ba_r_int_nog_station3, }; static void fNSN_ct(FTR_ACTOR* ftr_actor, u8* data) { @@ -57,27 +57,57 @@ static int fNSN_DrawAfter(GAME* game, cKF_SkeletonInfo_R_c* keyframe, int joint_ return TRUE; } -extern u16 int_nog_station1_a_pal[]; -extern u16 int_nog_station1_b_pal[]; -extern u16 int_nog_station1_c_pal[]; -extern u16 int_nog_station1_d_pal[]; -extern u16 int_nog_station1_e_pal[]; -extern u16 int_nog_station2_a_pal[]; -extern u16 int_nog_station2_b_pal[]; -extern u16 int_nog_station2_c_pal[]; -extern u16 int_nog_station2_d_pal[]; -extern u16 int_nog_station2_e_pal[]; -extern u16 int_nog_station3_a_pal[]; -extern u16 int_nog_station3_b_pal[]; -extern u16 int_nog_station3_c_pal[]; -extern u16 int_nog_station3_d_pal[]; -extern u16 int_nog_station3_e_pal[]; +u16 int_nog_station1_a_pal[] ATTRIBUTE_ALIGN(32) = { +#include "assets/int_nog_station1_a_pal.inc" +}; +u16 int_nog_station1_b_pal[] ATTRIBUTE_ALIGN(32) = { +#include "assets/int_nog_station1_b_pal.inc" +}; +u16 int_nog_station1_c_pal[] ATTRIBUTE_ALIGN(32) = { +#include "assets/int_nog_station1_c_pal.inc" +}; +u16 int_nog_station1_d_pal[] ATTRIBUTE_ALIGN(32) = { +#include "assets/int_nog_station1_d_pal.inc" +}; +u16 int_nog_station1_e_pal[] ATTRIBUTE_ALIGN(32) = { +#include "assets/int_nog_station1_e_pal.inc" +}; +u16 int_nog_station2_a_pal[] ATTRIBUTE_ALIGN(32) = { +#include "assets/int_nog_station2_a_pal.inc" +}; +u16 int_nog_station2_b_pal[] ATTRIBUTE_ALIGN(32) = { +#include "assets/int_nog_station2_b_pal.inc" +}; +u16 int_nog_station2_c_pal[] ATTRIBUTE_ALIGN(32) = { +#include "assets/int_nog_station2_c_pal.inc" +}; +u16 int_nog_station2_d_pal[] ATTRIBUTE_ALIGN(32) = { +#include "assets/int_nog_station2_d_pal.inc" +}; +u16 int_nog_station2_e_pal[] ATTRIBUTE_ALIGN(32) = { +#include "assets/int_nog_station2_e_pal.inc" +}; +u16 int_nog_station3_a_pal[] ATTRIBUTE_ALIGN(32) = { +#include "assets/int_nog_station3_a_pal.inc" +}; +u16 int_nog_station3_b_pal[] ATTRIBUTE_ALIGN(32) = { +#include "assets/int_nog_station3_b_pal.inc" +}; +u16 int_nog_station3_c_pal[] ATTRIBUTE_ALIGN(32) = { +#include "assets/int_nog_station3_c_pal.inc" +}; +u16 int_nog_station3_d_pal[] ATTRIBUTE_ALIGN(32) = { +#include "assets/int_nog_station3_d_pal.inc" +}; +u16 int_nog_station3_e_pal[] ATTRIBUTE_ALIGN(32) = { +#include "assets/int_nog_station3_e_pal.inc" +}; static u16* fMSM_palette_table[] = { int_nog_station1_a_pal, int_nog_station1_b_pal, int_nog_station1_c_pal, int_nog_station1_d_pal, int_nog_station1_e_pal, int_nog_station2_a_pal, int_nog_station2_b_pal, int_nog_station2_c_pal, int_nog_station2_d_pal, int_nog_station2_e_pal, int_nog_station3_a_pal, int_nog_station3_b_pal, - int_nog_station3_c_pal, int_nog_station3_d_pal, int_nog_station3_e_pal, + int_nog_station3_c_pal, int_nog_station3_d_pal, int_nog_station3_e_pal, int_nog_station3_e_pal, }; static void fNSN_dw(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor, GAME* game, u8* data) { @@ -94,7 +124,7 @@ static void fNSN_dw(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor, GAME* game, u8* CLOSE_DISP(game->graph); - cKF_Si3_draw_R_SV(game, keyframe, mtx, &aNogPawnB_DwBefore, &aNogPawnB_DwAfter, ftr_actor); + cKF_Si3_draw_R_SV(game, keyframe, mtx, &fNSN_DrawBefore, &fNSN_DrawAfter, ftr_actor); } static aFTR_vtable_c fNSN_func = { diff --git a/src/ftr/ac_nog_suzuki.c b/src/ftr/ac_nog_suzuki.c index 1d7415af..18a396bb 100644 --- a/src/ftr/ac_nog_suzuki.c +++ b/src/ftr/ac_nog_suzuki.c @@ -3,10 +3,10 @@ extern aFTR_rig_c aNogSuzuki_key_anime_data; extern cKF_Skeleton_R_c cKF_bs_r_int_nog_suzuki; extern cKF_Animation_R_c cKF_ba_r_int_nog_suzuki; -aFTR_rig_c aNogSuzuki_key_anime_data { - cKF_bs_r_int_nog_suzuki, - cKF_ba_r_int_nog_suzuki, - 0.5f, +aFTR_rig_c aNogSuzuki_key_anime_data= { + &cKF_bs_r_int_nog_suzuki, + &cKF_ba_r_int_nog_suzuki, + 1.0f, }; aFTR_PROFILE iam_nog_suzuki = { diff --git a/src/ftr/ac_nog_tai.c b/src/ftr/ac_nog_tai.c index 65fa3266..14a51520 100644 --- a/src/ftr/ac_nog_tai.c +++ b/src/ftr/ac_nog_tai.c @@ -3,10 +3,10 @@ extern aFTR_rig_c aNogTai_key_anime_data; extern cKF_Skeleton_R_c cKF_bs_r_int_nog_tai; extern cKF_Animation_R_c cKF_ba_r_int_nog_tai; -aFTR_rig_c aNogTai_key_anime_data { - cKF_bs_r_int_nog_tai, - cKF_ba_r_int_nog_tai, - 0.5f, +aFTR_rig_c aNogTai_key_anime_data= { + &cKF_bs_r_int_nog_tai, + &cKF_ba_r_int_nog_tai, + 1.0f, }; aFTR_PROFILE iam_nog_tai = { diff --git a/src/ftr/ac_nog_uranai.c b/src/ftr/ac_nog_uranai.c index 3ab88546..cfa996ac 100644 --- a/src/ftr/ac_nog_uranai.c +++ b/src/ftr/ac_nog_uranai.c @@ -1,5 +1,9 @@ -extern u16 int_nog_uranai_off_pal[]; -extern u16 int_nog_uranai_on_pal[]; +extern u16 int_nog_uranai_off_pal[] ATTRIBUTE_ALIGN(32) = { + #include "assets/int_nog_uranai_off_pal.inc" +}; +extern u16 int_nog_uranai_on_pal[] ATTRIBUTE_ALIGN(32) = { + #include "assets/int_nog_uranai_on_pal.inc" +}; static void fNU_ct(FTR_ACTOR* ftr_actor, u8* data) { ftr_actor->pal_p = (u16*)zelda_malloc_align(16 * sizeof(u16), 32); @@ -55,7 +59,7 @@ aFTR_PROFILE iam_nog_uranai = { 0, 0, 0, - 0, + aFTR_INTERACTION_TOGGLE, &fNU_func, // clang-format on }; diff --git a/src/ftr/ac_nog_yamishop.c b/src/ftr/ac_nog_yamishop.c index b06f0d74..290a905a 100644 --- a/src/ftr/ac_nog_yamishop.c +++ b/src/ftr/ac_nog_yamishop.c @@ -1,5 +1,9 @@ -extern u16 int_nog_yamishop_off_pal[]; -extern u16 int_nog_yamishop_on_pal[]; +extern u16 int_nog_yamishop_off_pal[] ATTRIBUTE_ALIGN(32) = { + #include "assets/int_nog_yamishop_off_pal.inc" +}; +extern u16 int_nog_yamishop_on_pal[] ATTRIBUTE_ALIGN(32) = { + #include "assets/int_nog_yamishop_on_pal.inc" +}; static void fNYS_ct(FTR_ACTOR* ftr_actor, u8* data) { ftr_actor->pal_p = (u16*)zelda_malloc_align(16 * sizeof(u16), 32); @@ -55,7 +59,7 @@ aFTR_PROFILE iam_nog_yamishop = { 0, 0, 0, - 0, + aFTR_INTERACTION_TOGGLE, &fNYS_func, // clang-format on }; diff --git a/src/ftr/ac_nog_yubin.c b/src/ftr/ac_nog_yubin.c index 727b22a8..0ead3a85 100644 --- a/src/ftr/ac_nog_yubin.c +++ b/src/ftr/ac_nog_yubin.c @@ -1,5 +1,10 @@ -extern u16 int_nog_yubin_off_pal[]; -extern u16 int_nog_yubin_on_pal[]; +extern u16 int_nog_yubin_on_pal[] ATTRIBUTE_ALIGN(32) = { + #include "assets/int_nog_yubin_on_pal.inc" +}; +extern u16 int_nog_yubin_off_pal[] ATTRIBUTE_ALIGN(32) = { + #include "assets/int_nog_yubin_off_pal.inc" +}; + static void fNYB_ct(FTR_ACTOR* ftr_actor, u8* data) { ftr_actor->pal_p = (u16*)zelda_malloc_align(16 * sizeof(u16), 32); @@ -55,7 +60,7 @@ aFTR_PROFILE iam_nog_yubin = { 0, 0, 0, - 0, + aFTR_INTERACTION_TOGGLE, &fNYB_func, // clang-format on }; diff --git a/src/ftr/ac_nog_zarigani.c b/src/ftr/ac_nog_zarigani.c index ea507db9..ad7feb00 100644 --- a/src/ftr/ac_nog_zarigani.c +++ b/src/ftr/ac_nog_zarigani.c @@ -3,10 +3,10 @@ extern aFTR_rig_c aNogZarigani_key_anime_data; extern cKF_Skeleton_R_c cKF_bs_r_int_nog_zarigani; extern cKF_Animation_R_c cKF_ba_r_int_nog_zarigani; -aFTR_rig_c aNogZarigani_key_anime_data { - cKF_bs_r_int_nog_zarigani, - cKF_ba_r_int_nog_zarigani, - 0.5f, +aFTR_rig_c aNogZarigani_key_anime_data= { + &cKF_bs_r_int_nog_zarigani, + &cKF_ba_r_int_nog_zarigani, + 1.0f, }; diff --git a/src/ftr/ac_radio_test.c b/src/ftr/ac_radio_test.c index c785f9b0..48e31be8 100644 --- a/src/ftr/ac_radio_test.c +++ b/src/ftr/ac_radio_test.c @@ -24,8 +24,9 @@ static void fRT_mv(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor, GAME* game, u8* d extern Gfx radio_DL_model[]; static void fRT_dw(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor, GAME* game, u8* data) { - static u16 radio_pal[] = { 0x0335, 0xE79D, 0xCEF9, 0xB212, 0x9D4A, 0x8CC7, 0xD0A8, 0xC655, - 0xB5D1, 0xA96D, 0x98EA, 0x8887, 0xA12B, 0xC5A2, 0xEEE9, 0xF7D7 }; + static u16 radio_pal[] ATTRIBUTE_ALIGN(32) = { + #include "assets/radio_pal.inc" + }; OPEN_DISP(game->graph); @@ -62,7 +63,7 @@ aFTR_PROFILE iam_radio_test = { 0, 0, 0, - 0, + aFTR_INTERACTION_RADIO_AEROBICS, &fRT_func, // clang-format on }; diff --git a/src/ftr/ac_sum_akiakane.c b/src/ftr/ac_sum_akiakane.c index 1adfd1e0..38b2d2bf 100644 --- a/src/ftr/ac_sum_akiakane.c +++ b/src/ftr/ac_sum_akiakane.c @@ -3,10 +3,10 @@ extern aFTR_rig_c aSumAkiakane_key_anime_data; extern cKF_Skeleton_R_c cKF_bs_r_int_sum_akiakane; extern cKF_Animation_R_c cKF_ba_r_int_sum_akiakane; -aFTR_rig_c aSumAkiakane_key_anime_data { - cKF_bs_r_int_sum_akiakane, - cKF_ba_r_int_sum_akiakane, - 0.5f, +aFTR_rig_c aSumAkiakane_key_anime_data= { + &cKF_bs_r_int_sum_akiakane, + &cKF_ba_r_int_sum_akiakane, + 1.0f, }; diff --git a/src/ftr/ac_sum_angel.c b/src/ftr/ac_sum_angel.c index fce01158..c0b4c6f8 100644 --- a/src/ftr/ac_sum_angel.c +++ b/src/ftr/ac_sum_angel.c @@ -3,10 +3,10 @@ extern aFTR_rig_c aSumAngel_key_anime_data; extern cKF_Skeleton_R_c cKF_bs_r_int_sum_angel; extern cKF_Animation_R_c cKF_ba_r_int_sum_angel; -aFTR_rig_c aSumAngel_key_anime_data { - cKF_bs_r_int_sum_angel, - cKF_ba_r_int_sum_angel, - 0.5f, +aFTR_rig_c aSumAngel_key_anime_data= { + &cKF_bs_r_int_sum_angel, + &cKF_ba_r_int_sum_angel, + 1.0f, }; aFTR_PROFILE iam_sum_angel = { diff --git a/src/ftr/ac_sum_aroana.c b/src/ftr/ac_sum_aroana.c index 8c57ac5a..0a5901f4 100644 --- a/src/ftr/ac_sum_aroana.c +++ b/src/ftr/ac_sum_aroana.c @@ -3,10 +3,10 @@ extern aFTR_rig_c aSumAroana_key_anime_data; extern cKF_Skeleton_R_c cKF_bs_r_int_sum_aroana; extern cKF_Animation_R_c cKF_ba_r_int_sum_aroana; -aFTR_rig_c aSumAroana_key_anime_data { - cKF_bs_r_int_sum_aroana, - cKF_ba_r_int_sum_aroana, - 0.5f, +aFTR_rig_c aSumAroana_key_anime_data= { + &cKF_bs_r_int_sum_aroana, + &cKF_ba_r_int_sum_aroana, + 1.0f, }; aFTR_PROFILE iam_sum_aroana = { diff --git a/src/ftr/ac_sum_ayu.c b/src/ftr/ac_sum_ayu.c index 2c3bce43..e4ee6d1e 100644 --- a/src/ftr/ac_sum_ayu.c +++ b/src/ftr/ac_sum_ayu.c @@ -1,12 +1,12 @@ extern aFTR_rig_c aSumAyu_key_anime_data; -extern cKF_Skeleton_R_c cKF_bs_r_int_sum_akiakane; -extern cKF_Animation_R_c cKF_ba_r_int_sum_akiakane; +extern cKF_Skeleton_R_c cKF_bs_r_int_sum_ayu; +extern cKF_Animation_R_c cKF_ba_r_int_sum_ayu; -aFTR_rig_c aSumAyu_key_anime_data { - cKF_bs_r_int_sum_akiakane, - cKF_ba_r_int_sum_akiakane, - 0.5f, +aFTR_rig_c aSumAyu_key_anime_data= { + &cKF_bs_r_int_sum_ayu, + &cKF_ba_r_int_sum_ayu, + 1.0f, }; aFTR_PROFILE iam_sum_ayu = { diff --git a/src/ftr/ac_sum_bass.c b/src/ftr/ac_sum_bass.c index 7861286a..e48f3e62 100644 --- a/src/ftr/ac_sum_bass.c +++ b/src/ftr/ac_sum_bass.c @@ -3,10 +3,10 @@ extern aFTR_rig_c aSumBass_key_anime_data; extern cKF_Skeleton_R_c cKF_bs_r_int_sum_bass; extern cKF_Animation_R_c cKF_ba_r_int_sum_bass; -aFTR_rig_c aSumBass_key_anime_data { - cKF_bs_r_int_sum_bass, - cKF_ba_r_int_sum_bass, - 0.5f, +aFTR_rig_c aSumBass_key_anime_data= { + &cKF_bs_r_int_sum_bass, + &cKF_ba_r_int_sum_bass, + 1.0f, }; aFTR_PROFILE iam_sum_bass = { diff --git a/src/ftr/ac_sum_bassl.c b/src/ftr/ac_sum_bassl.c index 4fd011e3..9ef22450 100644 --- a/src/ftr/ac_sum_bassl.c +++ b/src/ftr/ac_sum_bassl.c @@ -3,10 +3,10 @@ extern aFTR_rig_c aSumBassl_key_anime_data; extern cKF_Skeleton_R_c cKF_bs_r_int_sum_bassl; extern cKF_Animation_R_c cKF_ba_r_int_sum_bassl; -aFTR_rig_c aSumBassl_key_anime_data { - cKF_bs_r_int_sum_bassl, - cKF_ba_r_int_sum_bassl, - 0.5f, +aFTR_rig_c aSumBassl_key_anime_data= { + &cKF_bs_r_int_sum_bassl, + &cKF_ba_r_int_sum_bassl, + 1.0f, }; aFTR_PROFILE iam_sum_bassl = { diff --git a/src/ftr/ac_sum_bassm.c b/src/ftr/ac_sum_bassm.c index 3a7fdf9e..4bbde834 100644 --- a/src/ftr/ac_sum_bassm.c +++ b/src/ftr/ac_sum_bassm.c @@ -3,10 +3,10 @@ extern aFTR_rig_c aSumBassm_key_anime_data; extern cKF_Skeleton_R_c cKF_bs_r_int_sum_bassm; extern cKF_Animation_R_c cKF_ba_r_int_sum_bassm; -aFTR_rig_c aSumBassm_key_anime_data { - cKF_bs_r_int_sum_bassm, - cKF_ba_r_int_sum_bassm, - 0.5f, +aFTR_rig_c aSumBassm_key_anime_data= { + &cKF_bs_r_int_sum_bassm, + &cKF_ba_r_int_sum_bassm, + 1.0f, }; aFTR_PROFILE iam_sum_bassm = { diff --git a/src/ftr/ac_sum_blue_cab01.c b/src/ftr/ac_sum_blue_cab01.c index dce14dce..65e37dc2 100644 --- a/src/ftr/ac_sum_blue_cab01.c +++ b/src/ftr/ac_sum_blue_cab01.c @@ -6,7 +6,7 @@ static void aSumBlueCab01_dt(FTR_ACTOR* ftr_actor, u8* data); extern cKF_Skeleton_R_c cKF_bs_r_int_sum_blue_cab01; extern cKF_Animation_R_c cKF_ba_r_int_sum_blue_cab01; -static void SumBlueCab01_ct(FTR_ACTOR* ftr_actor, u8* data) { +static void aSumBlueCab01_ct(FTR_ACTOR* ftr_actor, u8* data) { cKF_SkeletonInfo_R_c* keyframe = &ftr_actor->keyframe; cKF_SkeletonInfo_R_ct(keyframe, &cKF_bs_r_int_sum_blue_cab01, &cKF_ba_r_int_sum_blue_cab01, ftr_actor->joint, ftr_actor->morph); @@ -15,7 +15,7 @@ static void SumBlueCab01_ct(FTR_ACTOR* ftr_actor, u8* data) { cKF_SkeletonInfo_R_play(keyframe); } -static void SumBlueCab01_mv(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor, GAME* game, u8* data) { +static void aSumBlueCab01_mv(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor, GAME* game, u8* data) { cKF_SkeletonInfo_R_c* keyframe = &ftr_actor->keyframe; if (Common_Get(clip).my_room_clip != NULL) { @@ -23,7 +23,7 @@ static void SumBlueCab01_mv(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor, GAME* ga } } -static void SumBlueCab01_dw(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor, GAME* game, u8* data) { +static void aSumBlueCab01_dw(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor, GAME* game, u8* data) { GAME_PLAY* play = (GAME_PLAY*)game; cKF_SkeletonInfo_R_c* keyframe = &ftr_actor->keyframe; Mtx* mtx = ftr_actor->skeleton_mtx[game->frame_counter & 1]; @@ -35,7 +35,7 @@ static void SumBlueCab01_dw(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor, GAME* ga cKF_Si3_draw_R_SV(game, keyframe, mtx, NULL, NULL, NULL); } -static void SumBlueCab01_dt(FTR_ACTOR* ftr_actor, u8* data) { +static void aSumBlueCab01_dt(FTR_ACTOR* ftr_actor, u8* data) { } static aFTR_vtable_c aSumBlueCab01_func = { diff --git a/src/ftr/ac_sum_danna.c b/src/ftr/ac_sum_danna.c index 0269c5ef..c256c734 100644 --- a/src/ftr/ac_sum_danna.c +++ b/src/ftr/ac_sum_danna.c @@ -3,10 +3,10 @@ extern aFTR_rig_c aSumDanna_key_anime_data; extern cKF_Skeleton_R_c cKF_bs_r_int_sum_danna; extern cKF_Animation_R_c cKF_ba_r_int_sum_danna; -aFTR_rig_c aSumDanna_key_anime_data { - cKF_bs_r_int_sum_danna, - cKF_ba_r_int_sum_danna, - 0.5f, +aFTR_rig_c aSumDanna_key_anime_data= { + &cKF_bs_r_int_sum_danna, + &cKF_ba_r_int_sum_danna, + 1.0f, }; aFTR_PROFILE iam_sum_danna = { diff --git a/src/ftr/ac_sum_demekin.c b/src/ftr/ac_sum_demekin.c index fc0ef3de..22133aac 100644 --- a/src/ftr/ac_sum_demekin.c +++ b/src/ftr/ac_sum_demekin.c @@ -3,10 +3,10 @@ extern aFTR_rig_c aSumDemekin_key_anime_data; extern cKF_Skeleton_R_c cKF_bs_r_int_sum_demekin; extern cKF_Animation_R_c cKF_ba_r_int_sum_demekin; -aFTR_rig_c aSumDemekin_key_anime_data { - cKF_bs_r_int_sum_demekin, - cKF_ba_r_int_sum_demekin, - 0.5f, +aFTR_rig_c aSumDemekin_key_anime_data= { + &cKF_bs_r_int_sum_demekin, + &cKF_ba_r_int_sum_demekin, + 1.0f, }; aFTR_PROFILE iam_sum_demekin = { diff --git a/src/ftr/ac_sum_dojyo.c b/src/ftr/ac_sum_dojyo.c index cdcf075c..a0cb4870 100644 --- a/src/ftr/ac_sum_dojyo.c +++ b/src/ftr/ac_sum_dojyo.c @@ -3,10 +3,10 @@ extern aFTR_rig_c aSumDojyo_key_anime_data; extern cKF_Skeleton_R_c cKF_bs_r_int_sum_dojyo; extern cKF_Animation_R_c cKF_ba_r_int_sum_dojyo; -aFTR_rig_c aSumDojyo_key_anime_data { - cKF_bs_r_int_sum_dojyo, - cKF_ba_r_int_sum_dojyo, - 0.5f, +aFTR_rig_c aSumDojyo_key_anime_data= { + &cKF_bs_r_int_sum_dojyo, + &cKF_ba_r_int_sum_dojyo, + 1.0f, }; aFTR_PROFILE iam_sum_dojyo = { NULL, diff --git a/src/ftr/ac_sum_donko.c b/src/ftr/ac_sum_donko.c index e22aa304..6953e093 100644 --- a/src/ftr/ac_sum_donko.c +++ b/src/ftr/ac_sum_donko.c @@ -3,10 +3,10 @@ extern aFTR_rig_c aSumDonko_key_anime_data; extern cKF_Skeleton_R_c cKF_bs_r_int_sum_donko; extern cKF_Animation_R_c cKF_ba_r_int_sum_donko; -aFTR_rig_c aSumDonko_key_anime_data { - cKF_bs_r_int_sum_donko, - cKF_ba_r_int_sum_donko, - 0.5f, +aFTR_rig_c aSumDonko_key_anime_data= { + &cKF_bs_r_int_sum_donko, + &cKF_ba_r_int_sum_donko, + 1.0f, }; aFTR_PROFILE iam_sum_donko = { diff --git a/src/ftr/ac_sum_funa.c b/src/ftr/ac_sum_funa.c index 2155bf14..deff4a6c 100644 --- a/src/ftr/ac_sum_funa.c +++ b/src/ftr/ac_sum_funa.c @@ -3,10 +3,10 @@ extern aFTR_rig_c aSumFuna_key_anime_data; extern cKF_Skeleton_R_c cKF_bs_r_int_sum_funa; extern cKF_Animation_R_c cKF_ba_r_int_sum_funa; -aFTR_rig_c aSumFuna_key_anime_data { - cKF_bs_r_int_sum_funa, - cKF_ba_r_int_sum_funa, - 0.5f, +aFTR_rig_c aSumFuna_key_anime_data= { + &cKF_bs_r_int_sum_funa, + &cKF_ba_r_int_sum_funa, + 1.0f, }; aFTR_PROFILE iam_sum_funa = { diff --git a/src/ftr/ac_sum_gill.c b/src/ftr/ac_sum_gill.c index ab8d72c1..94287252 100644 --- a/src/ftr/ac_sum_gill.c +++ b/src/ftr/ac_sum_gill.c @@ -3,10 +3,10 @@ extern aFTR_rig_c aSumGill_key_anime_data; extern cKF_Skeleton_R_c cKF_bs_r_int_sum_gill; extern cKF_Animation_R_c cKF_ba_r_int_sum_gill; -aFTR_rig_c aSumGill_key_anime_data { - cKF_bs_r_int_sum_gill, - cKF_ba_r_int_sum_gill, - 0.5f, +aFTR_rig_c aSumGill_key_anime_data= { + &cKF_bs_r_int_sum_gill, + &cKF_ba_r_int_sum_gill, + 1.0f, }; aFTR_PROFILE iam_sum_gill = { diff --git a/src/ftr/ac_sum_ginyanma.c b/src/ftr/ac_sum_ginyanma.c index f82c0c21..641155dc 100644 --- a/src/ftr/ac_sum_ginyanma.c +++ b/src/ftr/ac_sum_ginyanma.c @@ -3,10 +3,10 @@ extern aFTR_rig_c aSumGinyanma_key_anime_data; extern cKF_Skeleton_R_c cKF_bs_r_int_sum_ginyanma; extern cKF_Animation_R_c cKF_ba_r_int_sum_ginyanma; -aFTR_rig_c aSumGinyanma_key_anime_data { - cKF_bs_r_int_sum_ginyanma, - cKF_ba_r_int_sum_ginyanma, - 0.5f, +aFTR_rig_c aSumGinyanma_key_anime_data= { + &cKF_bs_r_int_sum_ginyanma, + &cKF_ba_r_int_sum_ginyanma, + 1.0f, }; aFTR_PROFILE iam_sum_ginyanma = { diff --git a/src/ftr/ac_sum_gomadara.c b/src/ftr/ac_sum_gomadara.c index 3ca72f52..da21ca2f 100644 --- a/src/ftr/ac_sum_gomadara.c +++ b/src/ftr/ac_sum_gomadara.c @@ -3,10 +3,10 @@ extern aFTR_rig_c aSumGomadara_key_anime_data; extern cKF_Skeleton_R_c cKF_bs_r_int_sum_gomadara; extern cKF_Animation_R_c cKF_ba_r_int_sum_gomadara; -aFTR_rig_c aSumGomadara_key_anime_data { - cKF_bs_r_int_sum_gomadara, - cKF_ba_r_int_sum_gomadara, - 0.5f, +aFTR_rig_c aSumGomadara_key_anime_data= { + &cKF_bs_r_int_sum_gomadara, + &cKF_ba_r_int_sum_gomadara, + 1.0f, }; aFTR_PROFILE iam_sum_gomadara = { diff --git a/src/ftr/ac_sum_gupi.c b/src/ftr/ac_sum_gupi.c index 3c7e601b..fbbd7d5c 100644 --- a/src/ftr/ac_sum_gupi.c +++ b/src/ftr/ac_sum_gupi.c @@ -3,10 +3,10 @@ extern aFTR_rig_c aSumGupi_key_anime_data; extern cKF_Skeleton_R_c cKF_bs_r_int_sum_gupi; extern cKF_Animation_R_c cKF_ba_r_int_sum_gupi; -aFTR_rig_c aSumGupi_key_anime_data { - cKF_bs_r_int_sum_gupi, - cKF_ba_r_int_sum_gupi, - 0.5f, +aFTR_rig_c aSumGupi_key_anime_data= { + &cKF_bs_r_int_sum_gupi, + &cKF_ba_r_int_sum_gupi, + 1.0f, }; aFTR_PROFILE iam_sum_gupi = { diff --git a/src/ftr/ac_sum_hachi.c b/src/ftr/ac_sum_hachi.c index 0f6922f7..3eea2c39 100644 --- a/src/ftr/ac_sum_hachi.c +++ b/src/ftr/ac_sum_hachi.c @@ -3,10 +3,10 @@ extern aFTR_rig_c aSumHachi_key_anime_data; extern cKF_Skeleton_R_c cKF_bs_r_int_sum_hachi; extern cKF_Animation_R_c cKF_ba_r_int_sum_hachi; -aFTR_rig_c aSumHachi_key_anime_data { - cKF_bs_r_int_sum_hachi, - cKF_ba_r_int_sum_hachi, - 0.5f, +aFTR_rig_c aSumHachi_key_anime_data= { + &cKF_bs_r_int_sum_hachi, + &cKF_ba_r_int_sum_hachi, + 1.0f, }; aFTR_PROFILE iam_sum_hachi = { diff --git a/src/ftr/ac_sum_hal_box01.c b/src/ftr/ac_sum_hal_box01.c index 521ec825..c823cc12 100644 --- a/src/ftr/ac_sum_hal_box01.c +++ b/src/ftr/ac_sum_hal_box01.c @@ -8,7 +8,7 @@ static void aSumHalBox01_ct(FTR_ACTOR* ftr_actor, u8* data) { ftr_actor->morph); cKF_SkeletonInfo_R_init_standard_stop(keyframe, &cKF_ba_r_int_sum_hal_box01, NULL); cKF_SkeletonInfo_R_play(keyframe); - keyframe->frame_control.speed = 0.5f; + keyframe->frame_control.speed = 0.0f; ftr_actor->dynamic_work_s[0] = 0; } diff --git a/src/ftr/ac_sum_hera.c b/src/ftr/ac_sum_hera.c index a0102bf2..9eff53a4 100644 --- a/src/ftr/ac_sum_hera.c +++ b/src/ftr/ac_sum_hera.c @@ -3,10 +3,10 @@ extern aFTR_rig_c aSumHera_key_anime_data; extern cKF_Skeleton_R_c cKF_bs_r_int_sum_hera; extern cKF_Animation_R_c cKF_ba_r_int_sum_hera; -aFTR_rig_c aSumHera_key_anime_data { - cKF_bs_r_int_sum_hera, - cKF_ba_r_int_sum_hera, - 0.5f, +aFTR_rig_c aSumHera_key_anime_data= { + &cKF_bs_r_int_sum_hera, + &cKF_ba_r_int_sum_hera, + 1.0f, }; aFTR_PROFILE iam_sum_hera = { diff --git a/src/ftr/ac_sum_hirata.c b/src/ftr/ac_sum_hirata.c index 56548433..e59ef960 100644 --- a/src/ftr/ac_sum_hirata.c +++ b/src/ftr/ac_sum_hirata.c @@ -3,10 +3,10 @@ extern aFTR_rig_c aSumHirata_key_anime_data; extern cKF_Skeleton_R_c cKF_bs_r_int_sum_hirata; extern cKF_Animation_R_c cKF_ba_r_int_sum_hirata; -aFTR_rig_c aSumHirata_key_anime_data { - cKF_bs_r_int_sum_hirata, - cKF_ba_r_int_sum_hirata, - 0.5f, +aFTR_rig_c aSumHirata_key_anime_data= { + &cKF_bs_r_int_sum_hirata, + &cKF_ba_r_int_sum_hirata, + 1.0f, }; aFTR_PROFILE iam_sum_hirata = { diff --git a/src/ftr/ac_sum_ito.c b/src/ftr/ac_sum_ito.c index c7e72f5f..72dade0d 100644 --- a/src/ftr/ac_sum_ito.c +++ b/src/ftr/ac_sum_ito.c @@ -3,10 +3,10 @@ extern aFTR_rig_c aSumIto_key_anime_data; extern cKF_Skeleton_R_c cKF_bs_r_int_sum_ito; extern cKF_Animation_R_c cKF_ba_r_int_sum_ito; -aFTR_rig_c aSumIto_key_anime_data { - cKF_bs_r_int_sum_ito, - cKF_ba_r_int_sum_ito, - 0.5f, +aFTR_rig_c aSumIto_key_anime_data= { + &cKF_bs_r_int_sum_ito, + &cKF_ba_r_int_sum_ito, + 1.0f, }; aFTR_PROFILE iam_sum_ito = { diff --git a/src/ftr/ac_sum_iwana.c b/src/ftr/ac_sum_iwana.c index b0c1e41a..70be4992 100644 --- a/src/ftr/ac_sum_iwana.c +++ b/src/ftr/ac_sum_iwana.c @@ -3,10 +3,10 @@ extern aFTR_rig_c aSumIwana_key_anime_data; extern cKF_Skeleton_R_c cKF_bs_r_int_sum_iwana; extern cKF_Animation_R_c cKF_ba_r_int_sum_iwana; -aFTR_rig_c aSumIwana_key_anime_data { - cKF_bs_r_int_sum_iwana, - cKF_ba_r_int_sum_iwana, - 0.5f, +aFTR_rig_c aSumIwana_key_anime_data= { + &cKF_bs_r_int_sum_iwana, + &cKF_ba_r_int_sum_iwana, + 1.0f, }; aFTR_PROFILE iam_sum_iwana = { diff --git a/src/ftr/ac_sum_kabuto.c b/src/ftr/ac_sum_kabuto.c index 1d69c0c4..c7c049bc 100644 --- a/src/ftr/ac_sum_kabuto.c +++ b/src/ftr/ac_sum_kabuto.c @@ -3,10 +3,10 @@ extern aFTR_rig_c aSumKabuto_key_anime_data; extern cKF_Skeleton_R_c cKF_bs_r_int_sum_kabuto; extern cKF_Animation_R_c cKF_ba_r_int_sum_kabuto; -aFTR_rig_c aSumKabuto_key_anime_data { - cKF_bs_r_int_sum_kabuto, - cKF_ba_r_int_sum_kabuto, - 0.5f, +aFTR_rig_c aSumKabuto_key_anime_data= { + &cKF_bs_r_int_sum_kabuto, + &cKF_ba_r_int_sum_kabuto, + 1.0f, }; aFTR_PROFILE iam_sum_kabuto = { diff --git a/src/ftr/ac_sum_kamakiri.c b/src/ftr/ac_sum_kamakiri.c index 5cda4c4f..6299d6cb 100644 --- a/src/ftr/ac_sum_kamakiri.c +++ b/src/ftr/ac_sum_kamakiri.c @@ -3,10 +3,10 @@ extern aFTR_rig_c aSumKamakiri_key_anime_data; extern cKF_Skeleton_R_c cKF_bs_r_int_sum_kamakiri; extern cKF_Animation_R_c cKF_ba_r_int_sum_kamakiri; -aFTR_rig_c aSumKamakiri_key_anime_data { - cKF_bs_r_int_sum_kamakiri, - cKF_ba_r_int_sum_kamakiri, - 0.5f, +aFTR_rig_c aSumKamakiri_key_anime_data= { + &cKF_bs_r_int_sum_kamakiri, + &cKF_ba_r_int_sum_kamakiri, + 1.0f, }; aFTR_PROFILE iam_sum_kamakiri = { diff --git a/src/ftr/ac_sum_kanabun.c b/src/ftr/ac_sum_kanabun.c index b3eb5940..3bbf1c5e 100644 --- a/src/ftr/ac_sum_kanabun.c +++ b/src/ftr/ac_sum_kanabun.c @@ -1,12 +1,12 @@ extern aFTR_rig_c aSumKanabun_key_anime_data; -extern cKF_Skeleton_R_c cKF_bs_r_int_sum_hanabun; -extern cKF_Animation_R_c cKF_ba_r_int_sum_hanabun; +extern cKF_Skeleton_R_c cKF_bs_r_int_sum_kanabun; +extern cKF_Animation_R_c cKF_ba_r_int_sum_kanabun; -aFTR_rig_c aSumHanabun_key_anime_data { - cKF_bs_r_int_sum_hanabun, - cKF_ba_r_int_sum_hanabun, - 0.5f, +aFTR_rig_c aSumKanabun_key_anime_data = { + &cKF_bs_r_int_sum_kanabun, + &cKF_ba_r_int_sum_kanabun, + 1.0f, }; aFTR_PROFILE iam_sum_kanabun = { diff --git a/src/ftr/ac_sum_kaseki.c b/src/ftr/ac_sum_kaseki.c index 4ea303f9..c9be2055 100644 --- a/src/ftr/ac_sum_kaseki.c +++ b/src/ftr/ac_sum_kaseki.c @@ -3,10 +3,10 @@ extern aFTR_rig_c aSumKaseki_key_anime_data; extern cKF_Skeleton_R_c cKF_bs_r_int_sum_kaseki; extern cKF_Animation_R_c cKF_ba_r_int_sum_kaseki; -aFTR_rig_c aSumKaseki_key_anime_data { - cKF_bs_r_int_sum_kaseki, - cKF_ba_r_int_sum_kaseki, - 0.5f, +aFTR_rig_c aSumKaseki_key_anime_data= { + &cKF_bs_r_int_sum_kaseki, + &cKF_ba_r_int_sum_kaseki, + 1.0f, }; aFTR_PROFILE iam_sum_kaseki = { diff --git a/src/ftr/ac_sum_kiageha.c b/src/ftr/ac_sum_kiageha.c index 80134bf6..abd8b5d3 100644 --- a/src/ftr/ac_sum_kiageha.c +++ b/src/ftr/ac_sum_kiageha.c @@ -1,12 +1,12 @@ extern aFTR_rig_c aSumKiageha_key_anime_data; -extern cKF_Skeleton_R_c cKF_bs_r_int_sum_kkiageha; -extern cKF_Animation_R_c cKF_ba_r_int_sum_kkiageha; +extern cKF_Skeleton_R_c cKF_bs_r_int_sum_kiageha; +extern cKF_Animation_R_c cKF_ba_r_int_sum_kiageha; -aFTR_rig_c aSumKiageha_key_anime_data { - cKF_bs_r_int_sum_kkiageha, - cKF_ba_r_int_sum_kkiageha, - 0.5f, +aFTR_rig_c aSumKiageha_key_anime_data= { + &cKF_bs_r_int_sum_kiageha, + &cKF_ba_r_int_sum_kiageha, + 1.0f, }; aFTR_PROFILE iam_sum_kiageha = { diff --git a/src/ftr/ac_sum_kingyo.c b/src/ftr/ac_sum_kingyo.c index 2de5f088..450807b1 100644 --- a/src/ftr/ac_sum_kingyo.c +++ b/src/ftr/ac_sum_kingyo.c @@ -3,10 +3,10 @@ extern aFTR_rig_c aSumKingyo_key_anime_data; extern cKF_Skeleton_R_c cKF_bs_r_int_sum_kingyo; extern cKF_Animation_R_c cKF_ba_r_int_sum_kingyo; -aFTR_rig_c aSumKingyo_key_anime_data { - cKF_bs_r_int_sum_kingyo, - cKF_ba_r_int_sum_kingyo, - 0.5f, +aFTR_rig_c aSumKingyo_key_anime_data= { + &cKF_bs_r_int_sum_kingyo, + &cKF_ba_r_int_sum_kingyo, + 1.0f, }; aFTR_PROFILE iam_sum_kingyo = { diff --git a/src/ftr/ac_sum_kisha.c b/src/ftr/ac_sum_kisha.c index d7114ee8..1c6cb08c 100644 --- a/src/ftr/ac_sum_kisha.c +++ b/src/ftr/ac_sum_kisha.c @@ -6,6 +6,21 @@ static void aSumKisha_dt(FTR_ACTOR* ftr_actor, u8* data); extern cKF_Skeleton_R_c cKF_bs_r_int_sum_kisha; extern cKF_Animation_R_c cKF_ba_r_int_sum_kisha; +static void aSumKisha_ControlSwitchSE(FTR_ACTOR* ftr_actor){ + if (ftr_actor->switch_bit != FALSE){ + sAdo_OngenTrgStart(0x16,&ftr_actor->position); + } + else{ + sAdo_OngenTrgStart(0x17,&ftr_actor->position); + } +} + +static void aSumKisha_ChangeSwitch(FTR_ACTOR* ftr_actor){ + if (ftr_actor->switch_changed_flag != FALSE){ + aSumKisha_ControlSwitchSE(ftr_actor); + } +} + static void aSumKisha_ct(FTR_ACTOR* ftr_actor, u8* data) { cKF_SkeletonInfo_R_c* keyframe = &ftr_actor->keyframe; diff --git a/src/ftr/ac_sum_koi.c b/src/ftr/ac_sum_koi.c index 871679ce..7a133c7a 100644 --- a/src/ftr/ac_sum_koi.c +++ b/src/ftr/ac_sum_koi.c @@ -3,10 +3,10 @@ extern aFTR_rig_c aSumKoi_key_anime_data; extern cKF_Skeleton_R_c cKF_bs_r_int_sum_koi; extern cKF_Animation_R_c cKF_ba_r_int_sum_koi; -aFTR_rig_c aSumKoi_key_anime_data { - cKF_bs_r_int_sum_koi, - cKF_ba_r_int_sum_koi, - 0.5f, +aFTR_rig_c aSumKoi_key_anime_data= { + &cKF_bs_r_int_sum_koi, + &cKF_ba_r_int_sum_koi, + 1.0f, }; aFTR_PROFILE iam_sum_koi = { diff --git a/src/ftr/ac_sum_log_hatoclk.c b/src/ftr/ac_sum_log_hatoclk.c index ffde39b5..9cdd92f3 100644 --- a/src/ftr/ac_sum_log_hatoclk.c +++ b/src/ftr/ac_sum_log_hatoclk.c @@ -82,7 +82,6 @@ static void aSumLogHatoclk_dw(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor, GAME* cKF_Si3_draw_R_SV(game, keyframe, mtx, &aSumLogHatoclk_DwBefore, &aSumLogHatoclk_DwAfter, ftr_actor); } - static void aSumLogHatoclk_mv(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor, GAME* game, u8* data) { cKF_SkeletonInfo_R_c* keyframe = &ftr_actor->keyframe; lbRTC_time_c rtc_time = Common_Get(time.rtc_time); @@ -112,19 +111,19 @@ static void aSumLogHatoclk_mv(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor, GAME* if (aFTR_CAN_PLAY_SE(ftr_actor)) { sAdo_OngenTrgStart(0x133, &ftr_actor->position); } + } - if (cKF_SkeletonInfo_R_play(keyframe) == cKF_STATE_STOPPED) { - if (keyframe->frame_control.speed == 0.0f) { - aSumLogHatoclk_StopAnimeInitNormal(keyframe, &cKF_ba_r_int_sum_log_hatoclk, 1.0f); - keyframe->frame_control.current_frame = 1.0f; - ftr_actor->dynamic_work_s[1]--; + if (cKF_SkeletonInfo_R_play(keyframe) == cKF_STATE_STOPPED) { + if (keyframe->frame_control.speed == 0.0f) { + aSumLogHatoclk_StopAnimeInitNormal(keyframe, &cKF_ba_r_int_sum_log_hatoclk, 1.0f); + keyframe->frame_control.current_frame = 1.0f; + ftr_actor->dynamic_work_s[1]--; - if (ftr_actor->dynamic_work_s[1] <= 0) { - ftr_actor->dynamic_work_s[0] = 2; // last 'pappo' was played - } - } else { - keyframe->frame_control.speed = 0.0f; + if (ftr_actor->dynamic_work_s[1] <= 0) { + ftr_actor->dynamic_work_s[0] = 2; // last 'pappo' was played } + } else { + keyframe->frame_control.speed = 0.0f; } } diff --git a/src/ftr/ac_sum_mezaclock.c b/src/ftr/ac_sum_mezaclock.c index 8f2ac8fb..040e65b2 100644 --- a/src/ftr/ac_sum_mezaclock.c +++ b/src/ftr/ac_sum_mezaclock.c @@ -5,10 +5,10 @@ extern Gfx int_sum_mezaclock_long_model[]; extern cKF_Skeleton_R_c cKF_bs_r_int_sum_mezaclock; extern cKF_Animation_R_c cKF_ba_r_int_sum_mezaclock; -aFTR_rig_c aSumMezaClock_sklkey { - cKF_bs_r_int_sum_mezaclock, - cKF_ba_r_int_sum_mezaclock, - 0.5f, +aFTR_rig_c aSumMezaClock_sklkey= { + &cKF_bs_r_int_sum_mezaclock, + &cKF_ba_r_int_sum_mezaclock, + 1.0f, }; static int aSumMezaClock_DwAfter(GAME* game, cKF_SkeletonInfo_R_c* keyframe, int joint_idx, Gfx** joint_shape, diff --git a/src/ftr/ac_sum_miyama.c b/src/ftr/ac_sum_miyama.c index 4447e1e9..96700b8d 100644 --- a/src/ftr/ac_sum_miyama.c +++ b/src/ftr/ac_sum_miyama.c @@ -3,10 +3,10 @@ extern aFTR_rig_c aSumMiyama_key_anime_data; extern cKF_Skeleton_R_c cKF_bs_r_int_sum_miyama; extern cKF_Animation_R_c cKF_ba_r_int_sum_miyama; -aFTR_rig_c aSumMiyama_key_anime_data { - cKF_bs_r_int_sum_miyama, - cKF_ba_r_int_sum_miyama, - 0.5f, +aFTR_rig_c aSumMiyama_key_anime_data= { + &cKF_bs_r_int_sum_miyama, + &cKF_ba_r_int_sum_miyama, + 1.0f, }; aFTR_PROFILE iam_sum_miyama = { diff --git a/src/ftr/ac_sum_mizunomi.c b/src/ftr/ac_sum_mizunomi.c index 91e326ff..8143617c 100644 --- a/src/ftr/ac_sum_mizunomi.c +++ b/src/ftr/ac_sum_mizunomi.c @@ -3,10 +3,10 @@ extern aFTR_rig_c aSumMizunomi_sklkey; extern cKF_Skeleton_R_c cKF_bs_r_int_sum_mizunomi; extern cKF_Animation_R_c cKF_ba_r_int_sum_mizunomi; -aFTR_rig_c aSumMizunomi_sklkey { - cKF_bs_r_int_sum_mizunomi, - cKF_ba_r_int_sum_mizunomi, - 0.5f, +aFTR_rig_c aSumMizunomi_sklkey= { + &cKF_bs_r_int_sum_mizunomi, + &cKF_ba_r_int_sum_mizunomi, + 1.0f, }; static void aSumMizunomi_ct(FTR_ACTOR* ftr_actor, u8* data) { diff --git a/src/ftr/ac_sum_monki.c b/src/ftr/ac_sum_monki.c index 26b76c5c..b8e45d1c 100644 --- a/src/ftr/ac_sum_monki.c +++ b/src/ftr/ac_sum_monki.c @@ -3,10 +3,10 @@ extern aFTR_rig_c aSumMonki_key_anime_data; extern cKF_Skeleton_R_c cKF_bs_r_int_sum_monki; extern cKF_Animation_R_c cKF_ba_r_int_sum_monki; -aFTR_rig_c aSumMonki_key_anime_data { - cKF_bs_r_int_sum_monki, - cKF_ba_r_int_sum_monki, - 0.5f, +aFTR_rig_c aSumMonki_key_anime_data= { + &cKF_bs_r_int_sum_monki, + &cKF_ba_r_int_sum_monki, + 1.0f, }; aFTR_PROFILE iam_sum_monki = { diff --git a/src/ftr/ac_sum_monshiro.c b/src/ftr/ac_sum_monshiro.c index 163b3c42..9ae39836 100644 --- a/src/ftr/ac_sum_monshiro.c +++ b/src/ftr/ac_sum_monshiro.c @@ -3,10 +3,10 @@ extern aFTR_rig_c aSumMonshiro_key_anime_data; extern cKF_Skeleton_R_c cKF_bs_r_int_sum_monshiro; extern cKF_Animation_R_c cKF_ba_r_int_sum_monshiro; -aFTR_rig_c aSumMiyama_key_anime_data { - cKF_bs_r_int_sum_monshiro, - cKF_ba_r_int_sum_monshiro, - 0.5f, +aFTR_rig_c aSumMonshiro_key_anime_data = { + &cKF_bs_r_int_sum_monshiro, + &cKF_ba_r_int_sum_monshiro, + 1.0f, }; aFTR_PROFILE iam_sum_monshiro = { diff --git a/src/ftr/ac_sum_namazu.c b/src/ftr/ac_sum_namazu.c index 3a42d4ad..d01f8d1e 100644 --- a/src/ftr/ac_sum_namazu.c +++ b/src/ftr/ac_sum_namazu.c @@ -3,10 +3,10 @@ extern aFTR_rig_c aSumNamazu_key_anime_data; extern cKF_Skeleton_R_c cKF_bs_r_int_sum_namazu; extern cKF_Animation_R_c cKF_ba_r_int_sum_namazu; -aFTR_rig_c aSumNamazu_key_anime_data { - cKF_bs_r_int_sum_namazu, - cKF_ba_r_int_sum_namazu, - 0.5f, +aFTR_rig_c aSumNamazu_key_anime_data= { + &cKF_bs_r_int_sum_namazu, + &cKF_ba_r_int_sum_namazu, + 1.0f, }; aFTR_PROFILE iam_sum_namazu = { diff --git a/src/ftr/ac_sum_nanahoshi.c b/src/ftr/ac_sum_nanahoshi.c index a2da5537..73df96e0 100644 --- a/src/ftr/ac_sum_nanahoshi.c +++ b/src/ftr/ac_sum_nanahoshi.c @@ -3,10 +3,10 @@ extern aFTR_rig_c aSumNanahoshi_key_anime_data; extern cKF_Skeleton_R_c cKF_bs_r_int_sum_nanahoshi; extern cKF_Animation_R_c cKF_ba_r_int_sum_nanahoshi; -aFTR_rig_c aSumNanahoshi_key_anime_data { - cKF_bs_r_int_sum_nanahoshi, - cKF_ba_r_int_sum_nanahoshi, - 0.5f, +aFTR_rig_c aSumNanahoshi_key_anime_data= { + &cKF_bs_r_int_sum_nanahoshi, + &cKF_ba_r_int_sum_nanahoshi, + 1.0f, }; aFTR_PROFILE iam_sum_nanahoshi = { diff --git a/src/ftr/ac_sum_nigoi.c b/src/ftr/ac_sum_nigoi.c index 9a5072cf..8f513afe 100644 --- a/src/ftr/ac_sum_nigoi.c +++ b/src/ftr/ac_sum_nigoi.c @@ -1,5 +1,14 @@ extern aFTR_rig_c aSumNigoi_key_anime_data; +extern cKF_Skeleton_R_c cKF_bs_r_int_sum_nigoi; +extern cKF_Animation_R_c cKF_ba_r_int_sum_nigoi; + +aFTR_rig_c aSumNigoi_key_anime_data= { + &cKF_bs_r_int_sum_nigoi, + &cKF_ba_r_int_sum_nigoi, + 1.0f, +}; + aFTR_PROFILE iam_sum_nigoi = { NULL, NULL, diff --git a/src/ftr/ac_sum_niji.c b/src/ftr/ac_sum_niji.c index f55eb422..e503ef90 100644 --- a/src/ftr/ac_sum_niji.c +++ b/src/ftr/ac_sum_niji.c @@ -1,5 +1,14 @@ extern aFTR_rig_c aSumNiji_key_anime_data; +extern cKF_Skeleton_R_c cKF_bs_r_int_sum_niji; +extern cKF_Animation_R_c cKF_ba_r_int_sum_niji; + +aFTR_rig_c aSumNiji_key_anime_data= { + &cKF_bs_r_int_sum_niji, + &cKF_ba_r_int_sum_niji, + 1.0f, +}; + aFTR_PROFILE iam_sum_niji = { NULL, NULL, diff --git a/src/ftr/ac_sum_nisiki.c b/src/ftr/ac_sum_nisiki.c index 058586c3..a3ead903 100644 --- a/src/ftr/ac_sum_nisiki.c +++ b/src/ftr/ac_sum_nisiki.c @@ -1,5 +1,14 @@ extern aFTR_rig_c aSumNisiki_key_anime_data; +extern cKF_Skeleton_R_c cKF_bs_r_int_sum_nisiki; +extern cKF_Animation_R_c cKF_ba_r_int_sum_nisiki; + +aFTR_rig_c aSumNisiki_key_anime_data= { + &cKF_bs_r_int_sum_nisiki, + &cKF_ba_r_int_sum_nisiki, + 1.0f, +}; + aFTR_PROFILE iam_sum_nisiki = { NULL, NULL, diff --git a/src/ftr/ac_sum_nokogiri.c b/src/ftr/ac_sum_nokogiri.c index 88f51832..22cad018 100644 --- a/src/ftr/ac_sum_nokogiri.c +++ b/src/ftr/ac_sum_nokogiri.c @@ -1,5 +1,14 @@ extern aFTR_rig_c aSumNokogiri_key_anime_data; +extern cKF_Skeleton_R_c cKF_bs_r_int_sum_nokogiri; +extern cKF_Animation_R_c cKF_ba_r_int_sum_nokogiri; + +aFTR_rig_c aSumNokogiri_key_anime_data= { + &cKF_bs_r_int_sum_nokogiri, + &cKF_ba_r_int_sum_nokogiri, + 1.0f, +}; + aFTR_PROFILE iam_sum_nokogiri = { NULL, NULL, diff --git a/src/ftr/ac_sum_ohmurasaki.c b/src/ftr/ac_sum_ohmurasaki.c index 0f679085..30a30370 100644 --- a/src/ftr/ac_sum_ohmurasaki.c +++ b/src/ftr/ac_sum_ohmurasaki.c @@ -1,5 +1,14 @@ extern aFTR_rig_c aSumOhmurasaki_key_anime_data; +extern cKF_Skeleton_R_c cKF_bs_r_int_sum_ohmurasaki; +extern cKF_Animation_R_c cKF_ba_r_int_sum_ohmurasaki; + +aFTR_rig_c aSumOhmurasaki_key_anime_data= { + &cKF_bs_r_int_sum_ohmurasaki, + &cKF_ba_r_int_sum_ohmurasaki, + 1.0f, +}; + aFTR_PROFILE iam_sum_ohmurasaki = { NULL, NULL, diff --git a/src/ftr/ac_sum_oikawa.c b/src/ftr/ac_sum_oikawa.c index bafd0310..6b6ea18b 100644 --- a/src/ftr/ac_sum_oikawa.c +++ b/src/ftr/ac_sum_oikawa.c @@ -1,5 +1,14 @@ extern aFTR_rig_c aSumOikawa_key_anime_data; +extern cKF_Skeleton_R_c cKF_bs_r_int_sum_oikawa; +extern cKF_Animation_R_c cKF_ba_r_int_sum_oikawa; + +aFTR_rig_c aSumOikawa_key_anime_data= { + &cKF_bs_r_int_sum_oikawa, + &cKF_ba_r_int_sum_oikawa, + 1.0f, +}; + aFTR_PROFILE iam_sum_oikawa = { NULL, NULL, diff --git a/src/ftr/ac_sum_okuwa.c b/src/ftr/ac_sum_okuwa.c index 0d008d16..a71a3b0c 100644 --- a/src/ftr/ac_sum_okuwa.c +++ b/src/ftr/ac_sum_okuwa.c @@ -1,8 +1,13 @@ extern aFTR_rig_c aSumOkuwa_key_anime_data; +extern cKF_Skeleton_R_c cKF_bs_r_int_sum_okuwa; +extern cKF_Animation_R_c cKF_ba_r_int_sum_okuwa; + aFTR_rig_c aSumOkuwa_key_anime_data = { - -} + &cKF_bs_r_int_sum_okuwa, + &cKF_ba_r_int_sum_okuwa, + 1.0f, +}; aFTR_PROFILE iam_sum_okuwa = { NULL, diff --git a/src/ftr/ac_sum_oniyanma.c b/src/ftr/ac_sum_oniyanma.c index 3d2a2db5..b48faf67 100644 --- a/src/ftr/ac_sum_oniyanma.c +++ b/src/ftr/ac_sum_oniyanma.c @@ -3,10 +3,10 @@ extern aFTR_rig_c aSumOniyanma_key_anime_data; extern cKF_Skeleton_R_c cKF_bs_r_int_sum_oniyanma; extern cKF_Animation_R_c cKF_ba_r_int_sum_oniyanma; -aFTR_rig_c aSumOniyanma_key_anime_data { - cKF_bs_r_int_sum_oniyanma, - cKF_ba_r_int_sum_oniyanma, - 0.5f, +aFTR_rig_c aSumOniyanma_key_anime_data= { + &cKF_bs_r_int_sum_oniyanma, + &cKF_ba_r_int_sum_oniyanma, + 1.0f, }; aFTR_PROFILE iam_sum_oniyanma = { diff --git a/src/ftr/ac_sum_oonamazu.c b/src/ftr/ac_sum_oonamazu.c index 6110e1aa..358d5ac4 100644 --- a/src/ftr/ac_sum_oonamazu.c +++ b/src/ftr/ac_sum_oonamazu.c @@ -3,10 +3,10 @@ extern aFTR_rig_c aSumOonamazu_key_anime_data; extern cKF_Skeleton_R_c cKF_bs_r_int_sum_oonamazu; extern cKF_Animation_R_c cKF_ba_r_int_sum_oonamazu; -aFTR_rig_c aSumOonamazu_key_anime_data { - cKF_bs_r_int_sum_oonamazu, - cKF_ba_r_int_sum_oonamazu, - 0.5f, +aFTR_rig_c aSumOonamazu_key_anime_data= { + &cKF_bs_r_int_sum_oonamazu, + &cKF_ba_r_int_sum_oonamazu, + 1.0f, }; aFTR_PROFILE iam_sum_oonamazu = { diff --git a/src/ftr/ac_sum_pirania.c b/src/ftr/ac_sum_pirania.c index a4e2f4b9..1bd78fab 100644 --- a/src/ftr/ac_sum_pirania.c +++ b/src/ftr/ac_sum_pirania.c @@ -3,10 +3,10 @@ extern aFTR_rig_c aSumPirania_key_anime_data; extern cKF_Skeleton_R_c cKF_bs_r_int_sum_pirania; extern cKF_Animation_R_c cKF_ba_r_int_sum_pirania; -aFTR_rig_c aSumPirania_key_anime_data { - cKF_bs_r_int_sum_pirania, - cKF_ba_r_int_sum_pirania, - 0.5f, +aFTR_rig_c aSumPirania_key_anime_data= { + &cKF_bs_r_int_sum_pirania, + &cKF_ba_r_int_sum_pirania, + 1.0f, }; aFTR_PROFILE iam_sum_pirania = { diff --git a/src/ftr/ac_sum_raigyo.c b/src/ftr/ac_sum_raigyo.c index c4fbef73..e5118539 100644 --- a/src/ftr/ac_sum_raigyo.c +++ b/src/ftr/ac_sum_raigyo.c @@ -3,10 +3,10 @@ extern aFTR_rig_c aSumRaigyo_key_anime_data; extern cKF_Skeleton_R_c cKF_bs_r_int_sum_raigyo; extern cKF_Animation_R_c cKF_ba_r_int_sum_raigyo; -aFTR_rig_c aSumRaigyo_key_anime_data { - cKF_bs_r_int_sum_raigyo, - cKF_ba_r_int_sum_raigyo, - 0.5f, +aFTR_rig_c aSumRaigyo_key_anime_data= { + &cKF_bs_r_int_sum_raigyo, + &cKF_ba_r_int_sum_raigyo, + 1.0f, }; aFTR_PROFILE iam_sum_raigyo = { diff --git a/src/ftr/ac_sum_sake.c b/src/ftr/ac_sum_sake.c index 78e84203..c53f295f 100644 --- a/src/ftr/ac_sum_sake.c +++ b/src/ftr/ac_sum_sake.c @@ -3,10 +3,10 @@ extern aFTR_rig_c aSumSake_key_anime_data; extern cKF_Skeleton_R_c cKF_bs_r_int_sum_sake; extern cKF_Animation_R_c cKF_ba_r_int_sum_sake; -aFTR_rig_c aSumSake_key_anime_data { - cKF_bs_r_int_sum_sake, - cKF_ba_r_int_sum_sake, - 0.5f, +aFTR_rig_c aSumSake_key_anime_data= { + &cKF_bs_r_int_sum_sake, + &cKF_ba_r_int_sum_sake, + 1.0f, }; aFTR_PROFILE iam_sum_sake = { diff --git a/src/ftr/ac_sum_shiokara.c b/src/ftr/ac_sum_shiokara.c index c1091550..8e7a5ee3 100644 --- a/src/ftr/ac_sum_shiokara.c +++ b/src/ftr/ac_sum_shiokara.c @@ -3,10 +3,10 @@ extern aFTR_rig_c aSumShiokara_key_anime_data; extern cKF_Skeleton_R_c cKF_bs_r_int_sum_shiokara; extern cKF_Animation_R_c cKF_ba_r_int_sum_shiokara; -aFTR_rig_c aSumShiokara_key_anime_data { - cKF_bs_r_int_sum_shiokara, - cKF_ba_r_int_sum_shiokara, - 0.5f, +aFTR_rig_c aSumShiokara_key_anime_data= { + &cKF_bs_r_int_sum_shiokara, + &cKF_ba_r_int_sum_shiokara, + 1.0f, }; aFTR_PROFILE iam_sum_shiokara = { diff --git a/src/ftr/ac_sum_tamamushi.c b/src/ftr/ac_sum_tamamushi.c index c50b24fa..4744997e 100644 --- a/src/ftr/ac_sum_tamamushi.c +++ b/src/ftr/ac_sum_tamamushi.c @@ -3,10 +3,10 @@ extern aFTR_rig_c aSumTamamushi_key_anime_data; extern cKF_Skeleton_R_c cKF_bs_r_int_sum_tamamushi; extern cKF_Animation_R_c cKF_ba_r_int_sum_tamamushi; -aFTR_rig_c aSumTamamushi_key_anime_data { - cKF_bs_r_int_sum_tamamushi, - cKF_ba_r_int_sum_tamamushi, - 0.5f, +aFTR_rig_c aSumTamamushi_key_anime_data= { + &cKF_bs_r_int_sum_tamamushi, + &cKF_ba_r_int_sum_tamamushi, + 1.0f, }; aFTR_PROFILE iam_sum_tamamushi = { diff --git a/src/ftr/ac_sum_tanago.c b/src/ftr/ac_sum_tanago.c index 963b14cc..d5bf0fc9 100644 --- a/src/ftr/ac_sum_tanago.c +++ b/src/ftr/ac_sum_tanago.c @@ -3,10 +3,10 @@ extern aFTR_rig_c aSumTanago_key_anime_data; extern cKF_Skeleton_R_c cKF_bs_r_int_sum_tanago; extern cKF_Animation_R_c cKF_ba_r_int_sum_tanago; -aFTR_rig_c aSumTanago_key_anime_data { - cKF_bs_r_int_sum_tanago, - cKF_ba_r_int_sum_tanago, - 0.5f, +aFTR_rig_c aSumTanago_key_anime_data= { + &cKF_bs_r_int_sum_tanago, + &cKF_ba_r_int_sum_tanago, + 1.0f, }; aFTR_PROFILE iam_sum_tanago = { diff --git a/src/ftr/ac_sum_tentou.c b/src/ftr/ac_sum_tentou.c index ec749eec..87b7f545 100644 --- a/src/ftr/ac_sum_tentou.c +++ b/src/ftr/ac_sum_tentou.c @@ -3,10 +3,10 @@ extern aFTR_rig_c aSumTentou_key_anime_data; extern cKF_Skeleton_R_c cKF_bs_r_int_sum_tentou; extern cKF_Animation_R_c cKF_ba_r_int_sum_tentou; -aFTR_rig_c aSumTentou_key_anime_data { - cKF_bs_r_int_sum_tentou, - cKF_ba_r_int_sum_tentou, - 0.5f, +aFTR_rig_c aSumTentou_key_anime_data= { + &cKF_bs_r_int_sum_tentou, + &cKF_ba_r_int_sum_tentou, + 1.0f, }; aFTR_PROFILE iam_sum_tentou = { diff --git a/src/ftr/ac_sum_ugui.c b/src/ftr/ac_sum_ugui.c index 0238109b..4521d164 100644 --- a/src/ftr/ac_sum_ugui.c +++ b/src/ftr/ac_sum_ugui.c @@ -3,10 +3,10 @@ extern aFTR_rig_c aSumUgui_key_anime_data; extern cKF_Skeleton_R_c cKF_bs_r_int_sum_ugui; extern cKF_Animation_R_c cKF_ba_r_int_sum_ugui; -aFTR_rig_c aSumUgui_key_anime_data { - cKF_bs_r_int_sum_ugui, - cKF_ba_r_int_sum_ugui, - 0.5f, +aFTR_rig_c aSumUgui_key_anime_data= { + &cKF_bs_r_int_sum_ugui, + &cKF_ba_r_int_sum_ugui, + 1.0f, }; aFTR_PROFILE iam_sum_ugui = { diff --git a/src/ftr/ac_sum_unagi.c b/src/ftr/ac_sum_unagi.c index 71a1f24a..17f2da60 100644 --- a/src/ftr/ac_sum_unagi.c +++ b/src/ftr/ac_sum_unagi.c @@ -3,10 +3,10 @@ extern aFTR_rig_c aSumUnagi_key_anime_data; extern cKF_Skeleton_R_c cKF_bs_r_int_sum_unagi; extern cKF_Animation_R_c cKF_ba_r_int_sum_unagi; -aFTR_rig_c aSumUnagi_key_anime_data { - cKF_bs_r_int_sum_unagi, - cKF_ba_r_int_sum_unagi, - 0.5f, +aFTR_rig_c aSumUnagi_key_anime_data= { + &cKF_bs_r_int_sum_unagi, + &cKF_ba_r_int_sum_unagi, + 1.0f, }; aFTR_PROFILE iam_sum_unagi = { diff --git a/src/ftr/ac_sum_wakasagi.c b/src/ftr/ac_sum_wakasagi.c index 0c54268d..aecd21d9 100644 --- a/src/ftr/ac_sum_wakasagi.c +++ b/src/ftr/ac_sum_wakasagi.c @@ -3,10 +3,10 @@ extern aFTR_rig_c aSumWakasagi_key_anime_data; extern cKF_Skeleton_R_c cKF_bs_r_int_sum_wakasagi; extern cKF_Animation_R_c cKF_ba_r_int_sum_wakasagi; -aFTR_rig_c aSumWakasagi_key_anime_data { - cKF_bs_r_int_sum_wakasagi, - cKF_ba_r_int_sum_wakasagi, - 0.5f, +aFTR_rig_c aSumWakasagi_key_anime_data= { + &cKF_bs_r_int_sum_wakasagi, + &cKF_ba_r_int_sum_wakasagi, + 1.0f, }; aFTR_PROFILE iam_sum_wakasagi = { diff --git a/src/ftr/ac_sum_yamame.c b/src/ftr/ac_sum_yamame.c index 1138de77..6190158a 100644 --- a/src/ftr/ac_sum_yamame.c +++ b/src/ftr/ac_sum_yamame.c @@ -3,10 +3,10 @@ extern aFTR_rig_c aSumYamame_key_anime_data; extern cKF_Skeleton_R_c cKF_bs_r_int_sum_yamame; extern cKF_Animation_R_c cKF_ba_r_int_sum_yamame; -aFTR_rig_c aSumYamame_key_anime_data { - cKF_bs_r_int_sum_yamame, - cKF_ba_r_int_sum_yamame, - 0.5f, +aFTR_rig_c aSumYamame_key_anime_data= { + &cKF_bs_r_int_sum_yamame, + &cKF_ba_r_int_sum_yamame, + 1.0f, }; aFTR_PROFILE iam_sum_yamame = { diff --git a/src/ftr/ac_tak_asteroid1.c b/src/ftr/ac_tak_asteroid1.c index f028346d..e52b4b66 100644 --- a/src/ftr/ac_tak_asteroid1.c +++ b/src/ftr/ac_tak_asteroid1.c @@ -3,10 +3,10 @@ extern aFTR_rig_c aTakAsteroid1_sklkey; extern cKF_Skeleton_R_c cKF_bs_r_int_tak_asteroid1; extern cKF_Animation_R_c cKF_ba_r_int_tak_asteroid1; -aFTR_rig_c aTakAsteroid1_sklkey { - cKF_bs_r_int_tak_asteroid1, - cKF_ba_r_int_tak_asteroid1, - 0.5f, +aFTR_rig_c aTakAsteroid1_sklkey= { + &cKF_bs_r_int_tak_asteroid1, + &cKF_ba_r_int_tak_asteroid1, + 1.0f, }; aFTR_PROFILE iam_tak_asteroid1 = { diff --git a/src/ftr/ac_tak_barber.c b/src/ftr/ac_tak_barber.c index d4a32ebd..2488bd4a 100644 --- a/src/ftr/ac_tak_barber.c +++ b/src/ftr/ac_tak_barber.c @@ -3,10 +3,10 @@ extern aFTR_rig_c aTakBarber_sklkey; extern cKF_Skeleton_R_c cKF_bs_r_int_tak_barber; extern cKF_Animation_R_c cKF_ba_r_int_tak_barber; -aFTR_rig_c aTakBarber_sklkey { - cKF_bs_r_int_tak_barber, - cKF_ba_r_int_tak_barber, - 0.5f, +aFTR_rig_c aTakBarber_sklkey= { + &cKF_bs_r_int_tak_barber, + &cKF_ba_r_int_tak_barber, + 1.0f, }; aFTR_PROFILE iam_tak_barber = { diff --git a/src/ftr/ac_tak_eisei.c b/src/ftr/ac_tak_eisei.c index f1504ba1..17dd8cba 100644 --- a/src/ftr/ac_tak_eisei.c +++ b/src/ftr/ac_tak_eisei.c @@ -3,10 +3,10 @@ extern aFTR_rig_c aTakEisei_sklkey; extern cKF_Skeleton_R_c cKF_bs_r_int_tak_eisei; extern cKF_Animation_R_c cKF_ba_r_int_tak_eisei; -aFTR_rig_c aTakEisei_sklkey { - cKF_bs_r_int_tak_eisei, - cKF_ba_r_int_tak_eisei, - 0.5f, +aFTR_rig_c aTakEisei_sklkey= { + &cKF_bs_r_int_tak_eisei, + &cKF_ba_r_int_tak_eisei, + 1.0f, }; aFTR_PROFILE iam_tak_eisei = { diff --git a/src/ftr/ac_tak_moon.c b/src/ftr/ac_tak_moon.c index 810d4b56..dd795fc1 100644 --- a/src/ftr/ac_tak_moon.c +++ b/src/ftr/ac_tak_moon.c @@ -35,7 +35,7 @@ static void fTMN_mv(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor, GAME* game, u8* keyframe->frame_control.speed = ftr_actor->dynamic_work_f[0] * 0.5f * 2.0f; cKF_SkeletonInfo_R_play(keyframe); - ftr_actor->dynamic_work_f[1] += 1.820444f; + ftr_actor->dynamic_work_f[1] += 1.8204445f; if (ftr_actor->dynamic_work_f[1] >= USHT_MAX) { ftr_actor->dynamic_work_f[1] = 0.0f; } diff --git a/src/ftr/ac_tak_station.c b/src/ftr/ac_tak_station.c index c6633481..c85e06f6 100644 --- a/src/ftr/ac_tak_station.c +++ b/src/ftr/ac_tak_station.c @@ -3,10 +3,10 @@ extern aFTR_rig_c aTakStation_sklkey; extern cKF_Skeleton_R_c cKF_bs_r_int_tak_station; extern cKF_Animation_R_c cKF_ba_r_int_tak_station; -aFTR_rig_c aTakStation_sklkey { - cKF_bs_r_int_tak_station, - cKF_ba_r_int_tak_station, - 0.5f, +aFTR_rig_c aTakStation_sklkey= { + &cKF_bs_r_int_tak_station, + &cKF_ba_r_int_tak_station, + 1.0f, }; aFTR_PROFILE iam_tak_station = { diff --git a/src/ftr/ac_tak_tailor.c b/src/ftr/ac_tak_tailor.c index 2303fb21..05b22c9e 100644 --- a/src/ftr/ac_tak_tailor.c +++ b/src/ftr/ac_tak_tailor.c @@ -1,5 +1,10 @@ -extern u16 int_tak_tailor_off_pal[]; -extern u16 int_tak_tailor_on_pal[]; +extern u16 int_tak_tailor_on_pal[] ATTRIBUTE_ALIGN(32) = { + #include "assets/int_tak_tailor_on_pal.inc" +}; +extern u16 int_tak_tailor_off_pal[] ATTRIBUTE_ALIGN(32) = { + #include "assets/int_tak_tailor_off_pal.inc" +}; + static void fTTR_ct(FTR_ACTOR* ftr_actor, u8* data) { ftr_actor->pal_p = (u16*)zelda_malloc_align(16 * sizeof(u16), 32); @@ -55,7 +60,7 @@ aFTR_PROFILE iam_tak_tailor = { 0, 0, 0, - 0, + aFTR_INTERACTION_TOGGLE, &fTTR_func, // clang-format on }; diff --git a/src/ftr/ac_tak_tent.c b/src/ftr/ac_tak_tent.c index 4b02c395..278584b5 100644 --- a/src/ftr/ac_tak_tent.c +++ b/src/ftr/ac_tak_tent.c @@ -1,5 +1,11 @@ -extern u16 int_tak_tent_off_pal[]; -extern u16 int_tak_tent_on_pal[]; +u16 int_tak_tent_on_pal[] ATTRIBUTE_ALIGN(32) = { + #include "assets/int_tak_tent_on_pal.inc" +}; + +u16 int_tak_tent_off_pal[] ATTRIBUTE_ALIGN(32) = { + #include "assets/int_tak_tent_off_pal.inc" +}; + static void fTTnt_ct(FTR_ACTOR* ftr_actor, u8* data) { ftr_actor->pal_p = (u16*)zelda_malloc_align(16 * sizeof(u16), 32); @@ -57,7 +63,7 @@ aFTR_PROFILE iam_tak_tent = { 0, 0, 0, - 0, + aFTR_INTERACTION_TOGGLE, &fTTnt_func, // clang-format on }; diff --git a/src/ftr/ac_tak_toudai.c b/src/ftr/ac_tak_toudai.c index c499b8c4..c3f51a89 100644 --- a/src/ftr/ac_tak_toudai.c +++ b/src/ftr/ac_tak_toudai.c @@ -109,7 +109,7 @@ aFTR_PROFILE iam_tak_toudai = { 0, 2, 0, - 0, + aFTR_INTERACTION_TOGGLE, &fTTD_func, // clang-format on }; diff --git a/src/ftr/ac_tak_ufo.c b/src/ftr/ac_tak_ufo.c index 9d9472dc..4757c4a0 100644 --- a/src/ftr/ac_tak_ufo.c +++ b/src/ftr/ac_tak_ufo.c @@ -3,10 +3,10 @@ extern aFTR_rig_c aTakUfo_sklkey; extern cKF_Skeleton_R_c cKF_bs_r_int_tak_ufo; extern cKF_Animation_R_c cKF_ba_r_int_tak_ufo; -aFTR_rig_c aTakUfo_sklkey { - cKF_bs_r_int_tak_ufo, - cKF_ba_r_int_tak_ufo, - 0.5f, +aFTR_rig_c aTakUfo_sklkey= { + &cKF_bs_r_int_tak_ufo, + &cKF_ba_r_int_tak_ufo, + 1.0f, }; aFTR_PROFILE iam_tak_ufo = { diff --git a/src/ftr/ac_yaz_fish_trophy.c b/src/ftr/ac_yaz_fish_trophy.c index ea51ebb3..a54e6b5d 100644 --- a/src/ftr/ac_yaz_fish_trophy.c +++ b/src/ftr/ac_yaz_fish_trophy.c @@ -1,4 +1,6 @@ -extern u16 int_yaz_fish_trophy_pal[]; +extern u16 int_yaz_fish_trophy_pal[] ATTRIBUTE_ALIGN(32) = { + #include "assets/int_yaz_fish_trophy_pal.inc" +}; extern Gfx int_yaz_fish_trophy_cup_model[]; extern Gfx int_yaz_fish_trophy_base_model[];