mirror of
https://github.com/ACreTeam/ac-decomp
synced 2026-07-08 12:16:19 -04:00
furniture work
This commit is contained in:
+21
-21
@@ -199,7 +199,7 @@ static Gfx* fFTR_GetTwoTileGfx(int width0, int height0, int scroll_x0, int scrol
|
||||
#include "../src/ftr/ac_ike_jny_tower01.c"
|
||||
#include "../src/ftr/ac_ike_jny_truth01.c"
|
||||
#include "../src/ftr/ac_ike_jpn_tansu01.c"
|
||||
// #include "../src/ftr/ac_ike_kama_danro01.c"
|
||||
#include "../src/ftr/ac_ike_kama_danro01.c"
|
||||
// #include "../src/ftr/ac_ike_k_count01.c"
|
||||
#include "../src/ftr/ac_ike_k_iveboy01.c"
|
||||
#include "../src/ftr/ac_ike_k_kid01.c"
|
||||
@@ -208,7 +208,7 @@ static Gfx* fFTR_GetTwoTileGfx(int width0, int height0, int scroll_x0, int scrol
|
||||
#include "../src/ftr/ac_ike_k_sum01.c"
|
||||
#include "../src/ftr/ac_ike_k_otome01.c"
|
||||
#include "../src/ftr/ac_ike_k_sinnen01.c"
|
||||
// #include "../src/ftr/ac_ike_k_tanabata01.c"
|
||||
#include "../src/ftr/ac_ike_k_tanabata01.c"
|
||||
#include "../src/ftr/ac_ike_k_turis01.c"
|
||||
#include "../src/ftr/ac_ike_nikki_fan1.c"
|
||||
#include "../src/ftr/ac_ike_nikki_fan2.c"
|
||||
@@ -216,53 +216,53 @@ static Gfx* fFTR_GetTwoTileGfx(int width0, int height0, int scroll_x0, int scrol
|
||||
#include "../src/ftr/ac_ike_nikki_fan4.c"
|
||||
#include "../src/ftr/ac_ike_nikki_fan5.c"
|
||||
#include "../src/ftr/ac_ike_nikki_wafu1.c"
|
||||
// #include "../src/ftr/ac_ike_pst_pig01.c"
|
||||
#include "../src/ftr/ac_ike_pst_pig01.c"
|
||||
#include "../src/ftr/ac_ike_pst_tesyu01.c"
|
||||
// #include "../src/ftr/ac_kob_disksystem8.c"
|
||||
#include "../src/ftr/ac_kob_disksystem8.c"
|
||||
#include "../src/ftr/ac_kob_getabako1.c"
|
||||
#include "../src/ftr/ac_kob_getabako2.c"
|
||||
#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_locker1.c"
|
||||
// #include "../src/ftr/ac_kob_mastersword.c"
|
||||
// #include "../src/ftr/ac_kob_ncube.c"
|
||||
#include "../src/ftr/ac_kob_ncube.c"
|
||||
#include "../src/ftr/ac_kob_pipeisu.c"
|
||||
#include "../src/ftr/ac_kob_rika_desk.c"
|
||||
#include "../src/ftr/ac_kob_tobibako.c"
|
||||
// #include "../src/ftr/ac_kon_ameclock.c"
|
||||
// #include "../src/ftr/ac_kon_atqclock.c"
|
||||
// #include "../src/ftr/ac_kon_blueclock.c"
|
||||
// #include "../src/ftr/ac_kon_cracker.c"
|
||||
#include "../src/ftr/ac_kon_ameclock.c"
|
||||
#include "../src/ftr/ac_kon_atqclock.c"
|
||||
#include "../src/ftr/ac_kon_blueclock.c"
|
||||
#include "../src/ftr/ac_kon_cracker.c"
|
||||
#include "../src/ftr/ac_kon_gomi03.c"
|
||||
// #include "../src/ftr/ac_kon_gomi04.c"
|
||||
// #include "../src/ftr/ac_kon_grclock.c"
|
||||
#include "../src/ftr/ac_kon_grclock.c"
|
||||
#include "../src/ftr/ac_kon_isi01.c"
|
||||
#include "../src/ftr/ac_kon_isi02.c"
|
||||
#include "../src/ftr/ac_kon_isi03.c"
|
||||
#include "../src/ftr/ac_kon_isi04.c"
|
||||
#include "../src/ftr/ac_kon_isi05.c"
|
||||
#include "../src/ftr/ac_kon_isi06.c"
|
||||
// #include "../src/ftr/ac_kon_jihanki02.c"
|
||||
#include "../src/ftr/ac_kon_jihanki02.c"
|
||||
#include "../src/ftr/ac_kon_jihanki03.c"
|
||||
// #include "../src/ftr/ac_kon_mimiclock.c"
|
||||
// #include "../src/ftr/ac_kon_musya.c"
|
||||
#include "../src/ftr/ac_kon_mimiclock.c"
|
||||
#include "../src/ftr/ac_kon_musya.c"
|
||||
#include "../src/ftr/ac_kon_pound.c"
|
||||
// #include "../src/ftr/ac_kon_redclock.c"
|
||||
// #include "../src/ftr/ac_kon_sisiodosi.c"
|
||||
#include "../src/ftr/ac_kon_redclock.c"
|
||||
#include "../src/ftr/ac_kon_sisiodosi.c"
|
||||
#include "../src/ftr/ac_kon_snowbed.c"
|
||||
// #include "../src/ftr/ac_kon_snowbox.c"
|
||||
// #include "../src/ftr/ac_kon_snowclock.c"
|
||||
#include "../src/ftr/ac_kon_snowbox.c"
|
||||
#include "../src/ftr/ac_kon_snowclock.c"
|
||||
#include "../src/ftr/ac_kon_snowfreezer.c"
|
||||
#include "../src/ftr/ac_kon_snowsofa.c"
|
||||
#include "../src/ftr/ac_kon_snowtable.c"
|
||||
// #include "../src/ftr/ac_kon_snowtansu.c"
|
||||
// #include "../src/ftr/ac_kon_snowtv.c"
|
||||
#include "../src/ftr/ac_kon_snowtansu.c"
|
||||
#include "../src/ftr/ac_kon_snowtv.c"
|
||||
#include "../src/ftr/ac_kon_taiju.c"
|
||||
#include "../src/ftr/ac_kon_tubo.c"
|
||||
#include "../src/ftr/ac_kon_tubo2.c"
|
||||
#include "../src/ftr/ac_kon_tubo3.c"
|
||||
#include "../src/ftr/ac_kon_tukue.c"
|
||||
// #include "../src/ftr/ac_kon_waclock.c"
|
||||
#include "../src/ftr/ac_kon_waclock.c"
|
||||
#include "../src/ftr/ac_kon_xtree02.c"
|
||||
// #include "../src/ftr/ac_myfmanekin.c"
|
||||
// #include "../src/ftr/ac_myfumbrella.c"
|
||||
|
||||
@@ -1,5 +1,15 @@
|
||||
static void fITN_dw(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor, GAME* game, u8* data);
|
||||
|
||||
extern Gfx int_ike_k_tanabata01_body_model[];
|
||||
|
||||
static void fITN_dw(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor, GAME* game, u8* data){
|
||||
|
||||
OPEN_DISP(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_ike_k_tanabata01_body_model);
|
||||
CLOSE_DISP(game->graph);
|
||||
}
|
||||
|
||||
static aFTR_vtable_c fITN_func = {
|
||||
NULL,
|
||||
NULL,
|
||||
|
||||
@@ -1,6 +1,44 @@
|
||||
static void fIKD_mv(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor, GAME* game, u8* data);
|
||||
static void fIKD_dw(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor, GAME* game, u8* data);
|
||||
|
||||
extern Gfx int_ike_kama_danro01_on_model[];
|
||||
extern Gfx int_ike_kama_danrofire_off_model[];
|
||||
|
||||
static void fIKD_mv(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor, GAME* game, u8* data){
|
||||
|
||||
if(aFTR_CAN_PLAY_SE(ftr_actor)){
|
||||
sAdo_OngenPos((u32)ftr_actor, 0x46, &ftr_actor->position);
|
||||
}
|
||||
}
|
||||
static Gfx* fIKD_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, 64);
|
||||
}
|
||||
|
||||
static void fIKD_dw(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor, GAME* game, u8* data){
|
||||
GAME_PLAY* play = (GAME_PLAY*)game;
|
||||
int ctr;
|
||||
Gfx* gfx;
|
||||
|
||||
if(ftr_actor->ctr_type == aFTR_CTR_TYPE_GAME_PLAY){
|
||||
ctr = play->game_frame;
|
||||
}
|
||||
else{
|
||||
ctr = game->frame_counter;
|
||||
}
|
||||
|
||||
gfx = fIKD_GetTwoTileGfx(0,0,0,-ctr << 2,game);
|
||||
|
||||
if(gfx != NULL){
|
||||
OPEN_DISP(game->graph);
|
||||
gSPMatrix(NEXT_POLY_OPA_DISP,_Matrix_to_Mtx_new(game->graph), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
|
||||
gSPMatrix(NEXT_POLY_XLU_DISP,_Matrix_to_Mtx_new(game->graph), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
|
||||
gSPSegment(NEXT_POLY_XLU_DISP, G_MWO_SEGMENT_9, gfx);
|
||||
gSPDisplayList(NEXT_POLY_OPA_DISP,int_ike_kama_danro01_on_model);
|
||||
gSPDisplayList(NEXT_POLY_XLU_DISP,int_ike_kama_danrofire_off_model);
|
||||
CLOSE_DISP(game->graph);
|
||||
}
|
||||
}
|
||||
|
||||
static aFTR_vtable_c fIKD_func = {
|
||||
NULL,
|
||||
&fIKD_mv,
|
||||
|
||||
@@ -2,6 +2,15 @@ extern Gfx int_ike_pst_pig01_on_model[];
|
||||
extern Gfx int_ike_pst_pig01_onT_model[];
|
||||
static void fIPP_mv(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor, GAME* game, u8* data);
|
||||
|
||||
|
||||
static void fIPP_mv(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor, GAME* game, u8* data){
|
||||
|
||||
if((ftr_actor->switch_changed_flag != FALSE) && (Common_Get(now_private)->inventory.wallet != 0)){
|
||||
sAdo_OngenTrgStart(0x7C, &ftr_actor->position);
|
||||
Common_Get(now_private)->inventory.wallet--;
|
||||
}
|
||||
}
|
||||
|
||||
static aFTR_vtable_c fIPP_func = {
|
||||
NULL,
|
||||
&fIPP_mv,
|
||||
|
||||
@@ -3,6 +3,40 @@ static void aKobDisksystem8_mv(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor, GAME*
|
||||
static void aKobDisksystem8_dw(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor, GAME* game, u8* data);
|
||||
static void aKobDisksystem8_dt(FTR_ACTOR* ftr_actor, u8* data);
|
||||
|
||||
extern u8 int_tak_nes_ds_tex_rgb_i4[];
|
||||
extern u16 int_tak_nes_cl_pal[];
|
||||
extern Gfx int_tak_nes01_on_model[];
|
||||
extern Gfx int_tak_nes01_onT_model[];
|
||||
extern Gfx int_tak_nes01_game_on_model[];
|
||||
|
||||
static void aKobDisksystem8_ct(FTR_ACTOR* ftr_actor, u8* data){
|
||||
|
||||
}
|
||||
|
||||
static void aKobDisksystem8_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->famicom_emu_common_move_proc(ftr_actor,my_room_actor,game,0,-1);
|
||||
}
|
||||
}
|
||||
|
||||
static void aKobDisksystem8_dw(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor, GAME* game, u8* data){
|
||||
|
||||
OPEN_DISP(game->graph);
|
||||
|
||||
gSPMatrix(NEXT_POLY_OPA_DISP,_Matrix_to_Mtx_new(game->graph), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
|
||||
|
||||
gSPSegment(NEXT_POLY_OPA_DISP, G_MWO_SEGMENT_8,int_tak_nes_ds_tex_rgb_i4);
|
||||
gSPSegment(NEXT_POLY_OPA_DISP, G_MWO_SEGMENT_9,int_tak_nes_cl_pal);
|
||||
gSPDisplayList(NEXT_POLY_OPA_DISP,int_tak_nes01_on_model);
|
||||
gSPDisplayList(NEXT_POLY_OPA_DISP,int_tak_nes01_onT_model);
|
||||
gSPDisplayList(NEXT_POLY_OPA_DISP,int_tak_nes01_game_on_model);
|
||||
CLOSE_DISP(game->graph);
|
||||
}
|
||||
|
||||
static void aKobDisksystem8_dt(FTR_ACTOR* ftr_actor, u8* data){
|
||||
|
||||
}
|
||||
|
||||
static aFTR_vtable_c aKobDisksystem8_func = {
|
||||
&aKobDisksystem8_ct,
|
||||
&aKobDisksystem8_mv,
|
||||
|
||||
@@ -3,6 +3,34 @@ static void aKobLocker1_mv(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor, GAME* gam
|
||||
static void aKobLocker1_dw(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor, GAME* game, u8* data);
|
||||
static void aKobLocker1_dt(FTR_ACTOR* ftr_actor, u8* data);
|
||||
|
||||
extern cKF_Animation_R_c cKF_ba_r_int_kob_locker1;
|
||||
extern cKF_Skeleton_R_c cKF_bs_r_int_kob_locker1;
|
||||
|
||||
static void aKobLocker1_ct(FTR_ACTOR* ftr_actor, u8* data){
|
||||
cKF_SkeletonInfo_R_c* keyf;
|
||||
|
||||
keyf = &ftr_actor->keyframe;
|
||||
cKF_SkeletonInfo_R_ct(keyf, &cKF_bs_r_int_kob_locker1, &cKF_ba_r_int_kob_locker1, ftr_actor->joint, ftr_actor->morph);
|
||||
cKF_SkeletonInfo_R_init_standard_stop(keyf, &cKF_ba_r_int_kob_locker1, NULL);
|
||||
keyf->frame_control.speed = 0.0f;
|
||||
cKF_SkeletonInfo_R_play(keyf);
|
||||
}
|
||||
|
||||
static void aKobLocker1_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);
|
||||
}
|
||||
}
|
||||
|
||||
static void aKobLocker1_dw(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor, GAME* game, u8* data){
|
||||
cKF_Si3_draw_R_SV(game, &ftr_actor->keyframe, ftr_actor->skeleton_mtx[game->frame_counter & 1] , NULL, NULL, NULL);
|
||||
}
|
||||
|
||||
static void aKobLocker1_dt(FTR_ACTOR* ftr_actor, u8* data){
|
||||
|
||||
}
|
||||
|
||||
static aFTR_vtable_c aKobLocker1_func = {
|
||||
&aKobLocker1_ct,
|
||||
&aKobLocker1_mv,
|
||||
|
||||
@@ -5,6 +5,23 @@ static void aKobNcube_mv(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor, GAME* game,
|
||||
static void aKobNcube_dw(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor, GAME* game, u8* data);
|
||||
static void aKobNcube_dt(FTR_ACTOR* ftr_actor, u8* data);
|
||||
|
||||
|
||||
static void aKobNcube_ct(FTR_ACTOR* ftr_actor, u8* data){
|
||||
|
||||
}
|
||||
|
||||
static void aKobNcube_mv(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor, GAME* game, u8* data){
|
||||
|
||||
}
|
||||
|
||||
static void aKobNcube_dw(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor, GAME* game, u8* data){
|
||||
|
||||
}
|
||||
|
||||
static void aKobNcube_dt(FTR_ACTOR* ftr_actor, u8* data){
|
||||
|
||||
}
|
||||
|
||||
static aFTR_vtable_c aKobNcube_func = {
|
||||
&aKobNcube_ct,
|
||||
&aKobNcube_mv,
|
||||
|
||||
@@ -3,6 +3,50 @@ static void aKonAmeclock_mv(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor, GAME* ga
|
||||
static void aKonAmeclock_dw(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor, GAME* game, u8* data);
|
||||
static void aKonAmeclock_dt(FTR_ACTOR* ftr_actor, u8* data);
|
||||
|
||||
extern cKF_Animation_R_c cKF_ba_r_int_kon_ameclock;
|
||||
extern cKF_Skeleton_R_c cKF_bs_r_int_kon_ameclock;
|
||||
|
||||
static int aKonAmeclock_DwAfter(GAME* game, cKF_SkeletonInfo_R_c* keyf, int jointNum, Gfx** joint, u8* jointFlag, void* arg,
|
||||
s_xyz* joint1, xyz_t* trans) {
|
||||
return 1;
|
||||
}
|
||||
|
||||
static int aKonAmeclock_DwBefore(GAME* game, cKF_SkeletonInfo_R_c* keyf, int jointNum, Gfx** joint, u8* jointFlag, void* arg,
|
||||
s_xyz* joint1, xyz_t* trans) {
|
||||
|
||||
if(jointNum == 3){
|
||||
joint1->z -= Common_Get(time).rad_hour;
|
||||
}
|
||||
else if(jointNum == 5){
|
||||
joint1->z -= Common_Get(time).rad_min;
|
||||
}
|
||||
|
||||
return 1;
|
||||
}
|
||||
|
||||
static void aKonAmeclock_dw(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor, GAME* game, u8* data){
|
||||
cKF_Si3_draw_R_SV(game, &ftr_actor->keyframe, ftr_actor->skeleton_mtx[game->frame_counter & 1] , aKonAmeclock_DwBefore, aKonAmeclock_DwAfter, ftr_actor);
|
||||
}
|
||||
|
||||
static void aKonAmeclock_ct(FTR_ACTOR* ftr_actor, u8* data){
|
||||
cKF_SkeletonInfo_R_c* keyf;
|
||||
|
||||
keyf = &ftr_actor->keyframe;
|
||||
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;
|
||||
|
||||
}
|
||||
|
||||
static void aKonAmeclock_mv(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor, GAME* game, u8* data){
|
||||
cKF_SkeletonInfo_R_play(&ftr_actor->keyframe);
|
||||
}
|
||||
|
||||
static void aKonAmeclock_dt(FTR_ACTOR* ftr_actor, u8* data){
|
||||
|
||||
}
|
||||
|
||||
static aFTR_vtable_c aKonAmeclock_func = {
|
||||
&aKonAmeclock_ct,
|
||||
&aKonAmeclock_mv,
|
||||
|
||||
@@ -3,6 +3,73 @@ static void aKonAtqclock_mv(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor, GAME* ga
|
||||
static void aKonAtqclock_dw(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor, GAME* game, u8* data);
|
||||
static void aKonAtqclock_dt(FTR_ACTOR* ftr_actor, u8* data);
|
||||
|
||||
extern cKF_Animation_R_c cKF_ba_r_int_kon_atqclock;
|
||||
extern cKF_Skeleton_R_c cKF_bs_r_int_kon_atqclock;
|
||||
|
||||
static int aKonAtqclock_DwAfter(GAME* game, cKF_SkeletonInfo_R_c* keyf, int jointNum, Gfx** joint, u8* jointFlag, void* arg,
|
||||
s_xyz* joint1, xyz_t* trans) {
|
||||
return 1;
|
||||
}
|
||||
|
||||
static int aKonAtqclock_DwBefore(GAME* game, cKF_SkeletonInfo_R_c* keyf, int jointNum, Gfx** joint, u8* jointFlag, void* arg,
|
||||
s_xyz* joint1, xyz_t* trans) {
|
||||
|
||||
if(jointNum == 5){
|
||||
joint1->z -= Common_Get(time).rad_hour;
|
||||
}
|
||||
else if(jointNum == 7){
|
||||
joint1->z -= Common_Get(time).rad_min;
|
||||
}
|
||||
|
||||
return 1;
|
||||
}
|
||||
|
||||
static void aKonAtqclock_dw(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor, GAME* game, u8* data){
|
||||
cKF_Si3_draw_R_SV(game, &ftr_actor->keyframe, ftr_actor->skeleton_mtx[game->frame_counter & 1] , aKonAtqclock_DwBefore, aKonAtqclock_DwAfter, ftr_actor);
|
||||
}
|
||||
|
||||
static void aKonAtqclock_ct(FTR_ACTOR* ftr_actor, u8* data){
|
||||
cKF_SkeletonInfo_R_c* keyf;
|
||||
|
||||
keyf = &ftr_actor->keyframe;
|
||||
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;
|
||||
|
||||
}
|
||||
|
||||
static void aKonAtqclock_mv(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor, GAME* game, u8* data){
|
||||
cKF_SkeletonInfo_R_c* keyf;
|
||||
aMR_clock_info_c* clock_info;
|
||||
|
||||
if(Common_Get(clip).my_room_clip == NULL){
|
||||
return;
|
||||
}
|
||||
clock_info = Common_Get(clip).my_room_clip->clock_info_p;
|
||||
keyf = &ftr_actor->keyframe;
|
||||
|
||||
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;
|
||||
}
|
||||
else if(clock_info->tick0 == 1 || clock_info->tick1 == 1){
|
||||
if(aFTR_CAN_PLAY_SE(ftr_actor)){
|
||||
sAdo_OngenTrgStart(0x12D, &ftr_actor->position);
|
||||
}
|
||||
cKF_SkeletonInfo_R_play(keyf);
|
||||
}
|
||||
else{
|
||||
cKF_SkeletonInfo_R_play(keyf);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
static void aKonAtqclock_dt(FTR_ACTOR* ftr_actor, u8* data){
|
||||
|
||||
}
|
||||
|
||||
static aFTR_vtable_c aKonAtqclock_func = {
|
||||
&aKonAtqclock_ct,
|
||||
&aKonAtqclock_mv,
|
||||
|
||||
@@ -3,6 +3,57 @@ static void aKonBlueclock_mv(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor, GAME* g
|
||||
static void aKonBlueclock_dw(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor, GAME* game, u8* data);
|
||||
static void aKonBlueclock_dt(FTR_ACTOR* ftr_actor, u8* data);
|
||||
|
||||
extern cKF_Animation_R_c cKF_ba_r_int_kon_blueclock;
|
||||
extern cKF_Skeleton_R_c cKF_bs_r_int_kon_blueclock;
|
||||
|
||||
static int aKonBlueclock_DwAfter(GAME* game, cKF_SkeletonInfo_R_c* keyf, int jointNum, Gfx** joint, u8* jointFlag, void* arg,
|
||||
s_xyz* joint1, xyz_t* trans) {
|
||||
return 1;
|
||||
}
|
||||
|
||||
static int aKonBlueclock_DwBefore(GAME* game, cKF_SkeletonInfo_R_c* keyf, int jointNum, Gfx** joint, u8* jointFlag, void* arg,
|
||||
s_xyz* joint1, xyz_t* trans) {
|
||||
|
||||
if(jointNum == 3){
|
||||
joint1->z -= Common_Get(time).rad_hour;
|
||||
}
|
||||
else if(jointNum == 5){
|
||||
joint1->z -= Common_Get(time).rad_min;
|
||||
}
|
||||
|
||||
return 1;
|
||||
}
|
||||
|
||||
static void aKonBlueclock_dw(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor, GAME* game, u8* data){
|
||||
Mtx* mtx = ftr_actor->skeleton_mtx[game->frame_counter & 1];
|
||||
|
||||
_texture_z_light_fog_prim(game->graph);
|
||||
_texture_z_light_fog_prim_xlu(game->graph);
|
||||
cKF_Si3_draw_R_SV(game, &ftr_actor->keyframe, mtx , aKonBlueclock_DwBefore, aKonBlueclock_DwAfter, ftr_actor);
|
||||
}
|
||||
|
||||
static void aKonBlueclock_ct(FTR_ACTOR* ftr_actor, u8* data){
|
||||
cKF_SkeletonInfo_R_c* keyf;
|
||||
|
||||
keyf = &ftr_actor->keyframe;
|
||||
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;
|
||||
|
||||
}
|
||||
|
||||
static void aKonBlueclock_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 aKonBlueclock_dt(FTR_ACTOR* ftr_actor, u8* data){
|
||||
|
||||
}
|
||||
|
||||
static aFTR_vtable_c aKonBlueclock_func = {
|
||||
&aKonBlueclock_ct,
|
||||
&aKonBlueclock_mv,
|
||||
|
||||
@@ -4,6 +4,25 @@ 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);
|
||||
|
||||
static void aKonCracker_ct(FTR_ACTOR* ftr_actor, u8* data) {
|
||||
|
||||
}
|
||||
|
||||
static void aKonCracker_mv(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor, GAME* game, u8* data) {
|
||||
if (aFTR_CAN_PLAY_SE(ftr_actor) && (ftr_actor->keyframe.frame_control.current_frame == 8.0f ||
|
||||
ftr_actor->keyframe.frame_control.current_frame == 24.0f)) {
|
||||
sAdo_OngenTrgStart(0x812C, &ftr_actor->position);
|
||||
}
|
||||
}
|
||||
|
||||
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) {
|
||||
|
||||
}
|
||||
|
||||
static aFTR_vtable_c aKonCracker_func = {
|
||||
&aKonCracker_ct,
|
||||
&aKonCracker_mv,
|
||||
|
||||
@@ -3,6 +3,55 @@ static void aKonGrclock_mv(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor, GAME* gam
|
||||
static void aKonGrclock_dw(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor, GAME* game, u8* data);
|
||||
static void aKonGrclock_dt(FTR_ACTOR* ftr_actor, u8* data);
|
||||
|
||||
extern cKF_Animation_R_c cKF_ba_r_int_kon_grclock;
|
||||
extern cKF_Skeleton_R_c cKF_bs_r_int_kon_grclock;
|
||||
|
||||
static int aKonGrclock_DwAfter(GAME* game, cKF_SkeletonInfo_R_c* keyf, int jointNum, Gfx** joint, u8* jointFlag, void* arg,
|
||||
s_xyz* joint1, xyz_t* trans) {
|
||||
return 1;
|
||||
}
|
||||
|
||||
static int aKonGrclock_DwBefore(GAME* game, cKF_SkeletonInfo_R_c* keyf, int jointNum, Gfx** joint, u8* jointFlag, void* arg,
|
||||
s_xyz* joint1, xyz_t* trans) {
|
||||
|
||||
if(jointNum == 3){
|
||||
joint1->z -= Common_Get(time).rad_hour;
|
||||
}
|
||||
else if(jointNum == 5){
|
||||
joint1->z -= Common_Get(time).rad_min;
|
||||
}
|
||||
|
||||
return 1;
|
||||
}
|
||||
|
||||
static void aKonGrclock_dw(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor, GAME* game, u8* data){
|
||||
Mtx* mtx = ftr_actor->skeleton_mtx[game->frame_counter & 1];
|
||||
|
||||
cKF_Si3_draw_R_SV(game, &ftr_actor->keyframe, mtx , aKonGrclock_DwBefore, aKonGrclock_DwAfter, ftr_actor);
|
||||
}
|
||||
|
||||
static void aKonGrclock_ct(FTR_ACTOR* ftr_actor, u8* data){
|
||||
cKF_SkeletonInfo_R_c* keyf;
|
||||
|
||||
keyf = &ftr_actor->keyframe;
|
||||
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;
|
||||
|
||||
}
|
||||
|
||||
static void aKonGrclock_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 aKonGrclock_dt(FTR_ACTOR* ftr_actor, u8* data){
|
||||
|
||||
}
|
||||
|
||||
static aFTR_vtable_c aKonGrclock_func = {
|
||||
&aKonGrclock_ct,
|
||||
&aKonGrclock_mv,
|
||||
|
||||
@@ -3,6 +3,36 @@ static void aKonJihanki02_mv(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor, GAME* g
|
||||
static void aKonJihanki02_dw(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor, GAME* game, u8* data);
|
||||
static void aKonJihanki02_dt(FTR_ACTOR* ftr_actor, u8* data);
|
||||
|
||||
extern Gfx int_kon_jihanki02_offT_model[];
|
||||
extern Gfx int_kon_jihanki02_off_model[];
|
||||
extern Gfx int_kon_jihanki02_onT_model[];
|
||||
extern Gfx int_kon_jihanki02_on_model[];
|
||||
|
||||
static void aKonJihanki02_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 aKonJihanki02_dw(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor, GAME* game, u8* data){
|
||||
|
||||
OPEN_DISP(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_kon_jihanki02_on_model);
|
||||
gSPDisplayList(NEXT_POLY_OPA_DISP,int_kon_jihanki02_off_model);
|
||||
gSPDisplayList(NEXT_POLY_OPA_DISP,int_kon_jihanki02_onT_model);
|
||||
gSPDisplayList(NEXT_POLY_OPA_DISP,int_kon_jihanki02_offT_model);
|
||||
|
||||
CLOSE_DISP(game->graph);
|
||||
}
|
||||
|
||||
static void aKonJihanki02_dt(FTR_ACTOR* ftr_actor, u8* data){
|
||||
|
||||
}
|
||||
|
||||
static aFTR_vtable_c aKonJihanki02_func = {
|
||||
&aKonJihanki02_ct,
|
||||
&aKonJihanki02_mv,
|
||||
|
||||
@@ -3,6 +3,57 @@ static void aKonMimiclock_mv(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor, GAME* g
|
||||
static void aKonMimiclock_dw(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor, GAME* game, u8* data);
|
||||
static void aKonMimiclock_dt(FTR_ACTOR* ftr_actor, u8* data);
|
||||
|
||||
extern cKF_Animation_R_c cKF_ba_r_int_kon_mimiclock;
|
||||
extern cKF_Skeleton_R_c cKF_bs_r_int_kon_mimiclock;
|
||||
|
||||
static int aKonMimiclock_DwAfter(GAME* game, cKF_SkeletonInfo_R_c* keyf, int jointNum, Gfx** joint, u8* jointFlag, void* arg,
|
||||
s_xyz* joint1, xyz_t* trans) {
|
||||
return 1;
|
||||
}
|
||||
|
||||
static int aKonMimiclock_DwBefore(GAME* game, cKF_SkeletonInfo_R_c* keyf, int jointNum, Gfx** joint, u8* jointFlag, void* arg,
|
||||
s_xyz* joint1, xyz_t* trans) {
|
||||
|
||||
if(jointNum == 3){
|
||||
joint1->z -= Common_Get(time).rad_hour;
|
||||
}
|
||||
else if(jointNum == 6){
|
||||
joint1->z -= Common_Get(time).rad_min;
|
||||
}
|
||||
|
||||
return 1;
|
||||
}
|
||||
|
||||
static void aKonMimiclock_dw(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor, GAME* game, u8* data){
|
||||
Mtx* mtx = ftr_actor->skeleton_mtx[game->frame_counter & 1];
|
||||
|
||||
_texture_z_light_fog_prim(game->graph);
|
||||
_texture_z_light_fog_prim_xlu(game->graph);
|
||||
cKF_Si3_draw_R_SV(game, &ftr_actor->keyframe, mtx , aKonMimiclock_DwBefore, aKonMimiclock_DwAfter, ftr_actor);
|
||||
}
|
||||
|
||||
static void aKonMimiclock_ct(FTR_ACTOR* ftr_actor, u8* data){
|
||||
cKF_SkeletonInfo_R_c* keyf;
|
||||
|
||||
keyf = &ftr_actor->keyframe;
|
||||
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;
|
||||
|
||||
}
|
||||
|
||||
static void aKonMimiclock_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 aKonMimiclock_dt(FTR_ACTOR* ftr_actor, u8* data){
|
||||
|
||||
}
|
||||
|
||||
static aFTR_vtable_c aKonMimiclock_func = {
|
||||
&aKonMimiclock_ct,
|
||||
&aKonMimiclock_mv,
|
||||
|
||||
@@ -3,6 +3,39 @@ static void aKonMusya_mv(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor, GAME* game,
|
||||
static void aKonMusya_dw(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor, GAME* game, u8* data);
|
||||
static void aKonMusya_dt(FTR_ACTOR* ftr_actor, u8* data);
|
||||
|
||||
extern Gfx int_kon_musya_atama_onT_model[];
|
||||
extern Gfx int_kon_musya_atama_on_model[];
|
||||
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 aKonJihanki02_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){
|
||||
|
||||
OPEN_DISP(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_kon_musya_hako_on_model);
|
||||
gSPDisplayList(NEXT_POLY_OPA_DISP,int_kon_musya_atama_on_model);
|
||||
|
||||
gSPDisplayList(NEXT_POLY_OPA_DISP,int_kon_musya_tare_onT_model);
|
||||
gSPDisplayList(NEXT_POLY_OPA_DISP,int_kon_musya_dou_onT_model);
|
||||
gSPDisplayList(NEXT_POLY_OPA_DISP,int_kon_musya_atama_onT_model);
|
||||
|
||||
CLOSE_DISP(game->graph);
|
||||
}
|
||||
|
||||
static void aKonJihanki02_dt(FTR_ACTOR* ftr_actor, u8* data){
|
||||
|
||||
}
|
||||
|
||||
static aFTR_vtable_c aKonMusya_func = {
|
||||
&aKonMusya_ct,
|
||||
&aKonMusya_mv,
|
||||
|
||||
@@ -3,6 +3,55 @@ static void aKonRedclock_mv(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor, GAME* ga
|
||||
static void aKonRedclock_dw(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor, GAME* game, u8* data);
|
||||
static void aKonRedclock_dt(FTR_ACTOR* ftr_actor, u8* data);
|
||||
|
||||
extern cKF_Animation_R_c cKF_ba_r_int_kon_redclock;
|
||||
extern cKF_Skeleton_R_c cKF_bs_r_int_kon_redclock;
|
||||
|
||||
static int aKonRedclock_DwAfter(GAME* game, cKF_SkeletonInfo_R_c* keyf, int jointNum, Gfx** joint, u8* jointFlag, void* arg,
|
||||
s_xyz* joint1, xyz_t* trans) {
|
||||
return 1;
|
||||
}
|
||||
|
||||
static int aKonRedclock_DwBefore(GAME* game, cKF_SkeletonInfo_R_c* keyf, int jointNum, Gfx** joint, u8* jointFlag, void* arg,
|
||||
s_xyz* joint1, xyz_t* trans) {
|
||||
|
||||
if(jointNum == 3){
|
||||
joint1->z -= Common_Get(time).rad_hour;
|
||||
}
|
||||
else if(jointNum == 4){
|
||||
joint1->z -= Common_Get(time).rad_min;
|
||||
}
|
||||
|
||||
return 1;
|
||||
}
|
||||
|
||||
static void aKonRedclock_dw(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor, GAME* game, u8* data){
|
||||
Mtx* mtx = ftr_actor->skeleton_mtx[game->frame_counter & 1];
|
||||
|
||||
cKF_Si3_draw_R_SV(game, &ftr_actor->keyframe, mtx , aKonRedclock_DwBefore, aKonRedclock_DwAfter, ftr_actor);
|
||||
}
|
||||
|
||||
static void aKonRedclock_ct(FTR_ACTOR* ftr_actor, u8* data){
|
||||
cKF_SkeletonInfo_R_c* keyf;
|
||||
|
||||
keyf = &ftr_actor->keyframe;
|
||||
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;
|
||||
|
||||
}
|
||||
|
||||
static void aKonRedclock_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 aKonRedclock_dt(FTR_ACTOR* ftr_actor, u8* data){
|
||||
|
||||
}
|
||||
|
||||
static aFTR_vtable_c aKonRedclock_func = {
|
||||
&aKonRedclock_ct,
|
||||
&aKonRedclock_mv,
|
||||
|
||||
@@ -2,6 +2,19 @@ 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);
|
||||
|
||||
static void aKonSisiodosi_ct(FTR_ACTOR* ftr_actor, u8* data){
|
||||
ftr_actor->keyframe.frame_control.current_frame = (int)(1.0f + RANDOM_F(119.0f));
|
||||
}
|
||||
|
||||
static void aKonSisiodosi_mv(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor, GAME* game, u8* data){
|
||||
|
||||
if(ftr_actor->keyframe.frame_control.current_frame == 20.0f){
|
||||
if(aFTR_CAN_PLAY_SE(ftr_actor)){
|
||||
sAdo_OngenTrgStart(0x18, &ftr_actor->position);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
static aFTR_vtable_c aKonSisiodosi_func = {
|
||||
&aKonSisiodosi_ct,
|
||||
&aKonSisiodosi_mv,
|
||||
|
||||
@@ -3,6 +3,44 @@ static void aKonSnowbox_mv(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor, GAME* gam
|
||||
static void aKonSnowbox_dw(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor, GAME* game, u8* data);
|
||||
static void aKonSnowbox_dt(FTR_ACTOR* ftr_actor, u8* data);
|
||||
|
||||
extern cKF_Animation_R_c cKF_ba_r_int_kon_snowbox;
|
||||
extern cKF_Skeleton_R_c cKF_bs_r_int_kon_snowbox;
|
||||
|
||||
static void aKonSnowbox_ct(FTR_ACTOR* ftr_actor, u8* data){
|
||||
cKF_SkeletonInfo_R_c* keyf;
|
||||
|
||||
keyf = &ftr_actor->keyframe;
|
||||
cKF_SkeletonInfo_R_ct(keyf, &cKF_bs_r_int_kon_snowbox, &cKF_ba_r_int_kon_snowbox, ftr_actor->joint, ftr_actor->morph);
|
||||
cKF_SkeletonInfo_R_init_standard_stop(keyf, &cKF_ba_r_int_kon_snowbox, NULL);
|
||||
cKF_SkeletonInfo_R_play(keyf);
|
||||
keyf->frame_control.speed = 0.0f;
|
||||
|
||||
}
|
||||
|
||||
static void aKonSnowbox_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);
|
||||
}
|
||||
}
|
||||
|
||||
static void aKonSnowbox_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);
|
||||
|
||||
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, &ftr_actor->keyframe, mtx , NULL, NULL, NULL);
|
||||
}
|
||||
|
||||
|
||||
static void aKonSnowbox_dt(FTR_ACTOR* ftr_actor, u8* data){
|
||||
|
||||
}
|
||||
|
||||
static aFTR_vtable_c aKonSnowbox_func = {
|
||||
&aKonSnowbox_ct,
|
||||
&aKonSnowbox_mv,
|
||||
|
||||
@@ -3,6 +3,79 @@ static void aKonSnowclock_mv(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor, GAME* g
|
||||
static void aKonSnowclock_dw(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor, GAME* game, u8* data);
|
||||
static void aKonSnowclock_dt(FTR_ACTOR* ftr_actor, u8* data);
|
||||
|
||||
extern cKF_Animation_R_c cKF_ba_r_int_kon_snowclock;
|
||||
extern cKF_Skeleton_R_c cKF_bs_r_int_kon_snowclock;
|
||||
extern Gfx int_kon_snowclock_long_model[];
|
||||
extern Gfx int_kon_snowclock_short_model[];
|
||||
|
||||
static int aKonSnowclock_DwAfter(GAME* game, cKF_SkeletonInfo_R_c* keyf, int jointNum, Gfx** joint, u8* jointFlag, void* arg,
|
||||
s_xyz* joint1, xyz_t* trans) {
|
||||
|
||||
|
||||
if(jointNum == 6){
|
||||
OPEN_DISP(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_kon_snowclock_short_model);
|
||||
|
||||
CLOSE_DISP(game->graph);
|
||||
}
|
||||
else if(jointNum == 7){
|
||||
OPEN_DISP(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_kon_snowclock_long_model);
|
||||
|
||||
CLOSE_DISP(game->graph);
|
||||
}
|
||||
return 1;
|
||||
}
|
||||
|
||||
static int aKonSnowclock_DwBefore(GAME* game, cKF_SkeletonInfo_R_c* keyf, int jointNum, Gfx** joint, u8* jointFlag, void* arg,
|
||||
s_xyz* joint1, xyz_t* trans) {
|
||||
|
||||
if(jointNum == 6){
|
||||
joint1->z -= Common_Get(time).rad_hour;
|
||||
}
|
||||
else if(jointNum == 7){
|
||||
joint1->z -= Common_Get(time).rad_min;
|
||||
}
|
||||
|
||||
return 1;
|
||||
}
|
||||
|
||||
static void aKonSnowclock_dw(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor, GAME* game, u8* data){
|
||||
Mtx* mtx = ftr_actor->skeleton_mtx[game->frame_counter & 1];
|
||||
|
||||
cKF_Si3_draw_R_SV(game, &ftr_actor->keyframe, mtx , aKonSnowclock_DwBefore, aKonSnowclock_DwAfter, ftr_actor);
|
||||
}
|
||||
|
||||
static void aKonSnowclock_ct(FTR_ACTOR* ftr_actor, u8* data){
|
||||
cKF_SkeletonInfo_R_c* keyf;
|
||||
|
||||
keyf = &ftr_actor->keyframe;
|
||||
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;
|
||||
|
||||
}
|
||||
|
||||
static void aKonSnowclock_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 aKonSnowclock_dt(FTR_ACTOR* ftr_actor, u8* data){
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
static aFTR_vtable_c aKonSnowclock_func = {
|
||||
&aKonSnowclock_ct,
|
||||
&aKonSnowclock_mv,
|
||||
|
||||
@@ -3,6 +3,46 @@ static void aKonSnowtansu_mv(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor, GAME* g
|
||||
static void aKonSnowtansu_dw(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor, GAME* game, u8* data);
|
||||
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){
|
||||
cKF_SkeletonInfo_R_c* keyf;
|
||||
|
||||
keyf = &ftr_actor->keyframe;
|
||||
cKF_SkeletonInfo_R_ct(keyf, &cKF_bs_r_int_kon_snowtansu, &cKF_ba_r_int_kon_snowtansu, ftr_actor->joint, ftr_actor->morph);
|
||||
cKF_SkeletonInfo_R_init_standard_stop(keyf, &cKF_ba_r_int_kon_snowtansu, NULL);
|
||||
keyf->frame_control.speed = 0.0f;
|
||||
cKF_SkeletonInfo_R_play(keyf);
|
||||
|
||||
}
|
||||
|
||||
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);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
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);
|
||||
|
||||
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, &ftr_actor->keyframe, mtx , NULL, NULL, NULL);
|
||||
}
|
||||
|
||||
|
||||
static void aKonsnowtansu_dt(FTR_ACTOR* ftr_actor, u8* data){
|
||||
|
||||
}
|
||||
|
||||
static aFTR_vtable_c aKonSnowtansu_func = {
|
||||
&aKonSnowtansu_ct,
|
||||
&aKonSnowtansu_mv,
|
||||
|
||||
@@ -3,6 +3,77 @@ static void aKonsnowtv_mv(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor, GAME* game
|
||||
static void aKonsnowtv_dw(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor, GAME* game, u8* data);
|
||||
static void aKonsnowtv_dt(FTR_ACTOR* ftr_actor, u8* data);
|
||||
|
||||
extern u8 int_kon_snowtv07a_TA_tex_txt[];
|
||||
extern u8 int_kon_snowtv07b_TA_tex_txt[];
|
||||
extern u8 int_kon_snowtv07c_TA_tex_txt[];
|
||||
extern u8 int_kon_snowtv07d_TA_tex_txt[];
|
||||
|
||||
extern Gfx int_kon_snowtv_body_model[];
|
||||
extern Gfx int_kon_snowtv_face_model[];
|
||||
|
||||
u8* aKonsnowtv_on_anime[] = {
|
||||
int_kon_snowtv07b_TA_tex_txt, int_kon_snowtv07b_TA_tex_txt, int_kon_snowtv07b_TA_tex_txt,
|
||||
int_kon_snowtv07b_TA_tex_txt, int_kon_snowtv07b_TA_tex_txt, int_kon_snowtv07b_TA_tex_txt,
|
||||
int_kon_snowtv07b_TA_tex_txt, int_kon_snowtv07b_TA_tex_txt, int_kon_snowtv07b_TA_tex_txt,
|
||||
int_kon_snowtv07b_TA_tex_txt, int_kon_snowtv07c_TA_tex_txt, int_kon_snowtv07c_TA_tex_txt,
|
||||
int_kon_snowtv07c_TA_tex_txt, int_kon_snowtv07c_TA_tex_txt, int_kon_snowtv07c_TA_tex_txt,
|
||||
int_kon_snowtv07c_TA_tex_txt, int_kon_snowtv07c_TA_tex_txt, int_kon_snowtv07c_TA_tex_txt,
|
||||
int_kon_snowtv07c_TA_tex_txt, int_kon_snowtv07c_TA_tex_txt, int_kon_snowtv07d_TA_tex_txt,
|
||||
int_kon_snowtv07d_TA_tex_txt, int_kon_snowtv07d_TA_tex_txt, int_kon_snowtv07d_TA_tex_txt,
|
||||
int_kon_snowtv07d_TA_tex_txt, int_kon_snowtv07d_TA_tex_txt, int_kon_snowtv07d_TA_tex_txt,
|
||||
int_kon_snowtv07d_TA_tex_txt, int_kon_snowtv07d_TA_tex_txt, int_kon_snowtv07d_TA_tex_txt,
|
||||
};
|
||||
|
||||
static void aKonsnowtv_ct(FTR_ACTOR* ftr_actor, u8* data){
|
||||
|
||||
}
|
||||
static void aKonsnowtv_mv(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor, GAME* game, u8* data){
|
||||
|
||||
if(ftr_actor->switch_bit != FALSE){
|
||||
if(aFTR_CAN_PLAY_SE(ftr_actor)){
|
||||
sAdo_OngenPos((u32) ftr_actor, 0x2B, &ftr_actor->position);
|
||||
}
|
||||
ftr_actor->tex_animation.frame++;
|
||||
|
||||
if(ftr_actor->tex_animation.frame >= 60 || ftr_actor->tex_animation.frame < 0){
|
||||
ftr_actor->tex_animation.frame = 0;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
if(ftr_actor->switch_changed_flag != FALSE){
|
||||
if(ftr_actor->switch_bit != FALSE){
|
||||
sAdo_OngenTrgStart(0x16, &ftr_actor->position);
|
||||
}
|
||||
else{
|
||||
sAdo_OngenTrgStart(0x17, &ftr_actor->position);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
static void aKonsnowtv_dw(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor, GAME* game, u8* data) {
|
||||
|
||||
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){
|
||||
u8* anime = aKonsnowtv_on_anime[(s16)(ftr_actor->tex_animation.frame >> 1)];
|
||||
gSPSegment(NEXT_POLY_OPA_DISP, G_MWO_SEGMENT_8, anime);
|
||||
}
|
||||
else{
|
||||
gSPSegment(NEXT_POLY_OPA_DISP, G_MWO_SEGMENT_8, int_kon_snowtv07a_TA_tex_txt);
|
||||
}
|
||||
|
||||
gSPDisplayList(NEXT_POLY_OPA_DISP,int_kon_snowtv_face_model);
|
||||
gSPDisplayList(NEXT_POLY_OPA_DISP,int_kon_snowtv_body_model);
|
||||
|
||||
CLOSE_DISP(game->graph);
|
||||
}
|
||||
static void aKonsnowtv_dt(FTR_ACTOR* ftr_actor, u8* data){
|
||||
|
||||
}
|
||||
|
||||
|
||||
static aFTR_vtable_c aKonsnowtv_func = {
|
||||
&aKonsnowtv_ct,
|
||||
&aKonsnowtv_mv,
|
||||
|
||||
@@ -3,6 +3,53 @@ static void aKonWaclock_mv(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor, GAME* gam
|
||||
static void aKonWaclock_dw(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor, GAME* game, u8* data);
|
||||
static void aKonWaclock_dt(FTR_ACTOR* ftr_actor, u8* data);
|
||||
|
||||
extern cKF_Animation_R_c cKF_ba_r_int_kon_waclock;
|
||||
extern cKF_Skeleton_R_c cKF_bs_r_int_kon_waclock;
|
||||
|
||||
static int aKonWaclock_DwAfter(GAME* game, cKF_SkeletonInfo_R_c* keyf, int jointNum, Gfx** joint, u8* jointFlag, void* arg,
|
||||
s_xyz* joint1, xyz_t* trans) {
|
||||
return 1;
|
||||
}
|
||||
|
||||
static int aKonWaclock_DwBefore(GAME* game, cKF_SkeletonInfo_R_c* keyf, int jointNum, Gfx** joint, u8* jointFlag, void* arg,
|
||||
s_xyz* joint1, xyz_t* trans) {
|
||||
|
||||
if(jointNum == 2){
|
||||
joint1->z -= Common_Get(time).rad_hour;
|
||||
}
|
||||
|
||||
return 1;
|
||||
}
|
||||
|
||||
static void aKonWaclock_dw(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor, GAME* game, u8* data){
|
||||
Mtx* mtx = ftr_actor->skeleton_mtx[game->frame_counter & 1];
|
||||
|
||||
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){
|
||||
cKF_SkeletonInfo_R_c* keyf;
|
||||
|
||||
keyf = &ftr_actor->keyframe;
|
||||
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;
|
||||
|
||||
}
|
||||
|
||||
|
||||
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 aFTR_vtable_c aKonWaclock_func = {
|
||||
&aKonWaclock_ct,
|
||||
&aKonWaclock_mv,
|
||||
|
||||
Reference in New Issue
Block a user