From fd36c255ddb0d56766a84f403667b2d86f4fc57f Mon Sep 17 00:00:00 2001 From: Prakxo Date: Sun, 10 Mar 2024 14:52:44 +0100 Subject: [PATCH] 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[];