mirror of
https://github.com/ACreTeam/ac-decomp
synced 2026-06-19 06:27:04 -04:00
76 lines
2.9 KiB
C
76 lines
2.9 KiB
C
#ifndef AC_MY_ROOM_H
|
|
#define AC_MY_ROOM_H
|
|
|
|
#include "types.h"
|
|
#include "m_actor.h"
|
|
#include "ac_furniture.h"
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
|
|
typedef struct my_room_actor_s MY_ROOM_ACTOR;
|
|
|
|
typedef struct my_room_clock_info_s {
|
|
int tick0; /* set on frame 15 */
|
|
int tick1; /* set on frame 45 */
|
|
int tick_stop; /* set on frame 0 */
|
|
int frame; /* 0-119 */
|
|
} aMR_clock_info_c;
|
|
|
|
typedef int (*aMR_JUDGE_BREED_NEW_FTR_PROC)(GAME_PLAY* play, u16 ftr_no, int* ut_x, int* ut_z, u16* rotation, int* square_offset, int* layer);
|
|
typedef mActor_name_t (*aMR_SEARCH_PICKUP_FURNITURE_PROC)(GAME_PLAY* play);
|
|
typedef void (*aMR_FURNITURE2ITEMBAG_PROC)(GAME_PLAY* play);
|
|
typedef int (*aMR_JUDGE_PLAYER_ACTION_PROC)(xyz_t* wpos0, xyz_t* wpos1, int ftr_actor_idx);
|
|
typedef void (*aMR_PLAYER_MOVE_FURNITURE_PROC)(int ftr_actor_idx, xyz_t* wpos);
|
|
typedef int (*aMR_FTR_ID_2_WPOS_PROC)(xyz_t* wpos, int ftr_id);
|
|
typedef int (*aMR_UNIT_NUM_2_FTR_ITEMNO_FTRID_PROC)(mActor_name_t* ftr_item_no, int* ftr_id, int ut_x, int ut_z, s16 layer);
|
|
typedef void (*aMR_FTR_ID_2_EXTINGUISH_FURNITURE_PROC)(int ftr_id);
|
|
typedef void (*aMR_REDMA_FTR_BANK_PROC)();
|
|
typedef int (*aMR_RESERVE_FURNITURE_PROC)(GAME_PLAY* play, u16 ftr_no, int judge_res, int ut_x, int ut_z, u16 rotation, int square_offset, int layer);
|
|
typedef int (*aMR_COUNT_FRIEND_FURNITURE_PROC)(FTR_ACTOR* ftr_actor, u8 switch_on);
|
|
typedef int (*aMR_JUDGE_PLACE_2ND_LAYER_PROC)(int ut_x, int ut_z);
|
|
typedef void (*aMR_OPEN_CLOSE_COMMON_MOVE_PROC)(FTR_ACTOR* ftr_actor, ACTOR* actor, GAME* game, f32 start_frame, f32 end_frame);
|
|
|
|
typedef struct my_room_clip_s {
|
|
MY_ROOM_ACTOR* my_room_actor_p;
|
|
aMR_JUDGE_BREED_NEW_FTR_PROC judge_breed_new_ftr_proc;
|
|
aMR_SEARCH_PICKUP_FURNITURE_PROC search_pickup_ftr_proc;
|
|
aMR_FURNITURE2ITEMBAG_PROC ftr2itemBag_proc;
|
|
aMR_JUDGE_PLAYER_ACTION_PROC judge_player_action_proc;
|
|
aMR_PLAYER_MOVE_FURNITURE_PROC player_move_ftr_proc;
|
|
aMR_FTR_ID_2_WPOS_PROC ftrId2wpos_proc;
|
|
aMR_UNIT_NUM_2_FTR_ITEMNO_FTRID_PROC unitNum2ftrItemNoftrId_proc;
|
|
aMR_FTR_ID_2_EXTINGUISH_FURNITURE_PROC ftrId2extinguishFtr_proc;
|
|
aMR_REDMA_FTR_BANK_PROC redma_ftr_bank_proc;
|
|
aMR_RESERVE_FURNITURE_PROC reserve_ftr_proc;
|
|
aMR_COUNT_FRIEND_FURNITURE_PROC count_friend_ftr_proc;
|
|
aMR_JUDGE_PLACE_2ND_LAYER_PROC judge_place_2nd_layer_proc;
|
|
aMR_OPEN_CLOSE_COMMON_MOVE_PROC open_close_common_move_proc;
|
|
/* TODO: function definitions */
|
|
void* get_bed_action_proc;
|
|
void* mini_disk_common_move_proc;
|
|
void* famicom_emum_common_move_proc;
|
|
void* set_leaf_proc;
|
|
void* ftr2leaf_proc;
|
|
void* leaf_start_pos_proc;
|
|
void* pickup_ftr_layer_proc;
|
|
void* leaf_pickuped_proc;
|
|
void* ftrNo2bankAddress_proc;
|
|
void* call_sit_down_ongen_pos_se_proc;
|
|
aMR_clock_info_c* clock_info_p; /* used for playing the clock tick? sfx */
|
|
void* sound_melody_proc;
|
|
void* check_danna_kill_proc;
|
|
} aMR_Clip_c;
|
|
|
|
/* TODO: my room actor */
|
|
|
|
extern ACTOR_PROFILE My_Room_Profile;
|
|
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif
|
|
|
|
#endif
|
|
|