mirror of
https://github.com/ACreTeam/ac-decomp
synced 2026-08-21 13:36:52 -04:00
Implement & link ac_museum_fossil
This commit is contained in:
@@ -8,6 +8,12 @@
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
typedef struct museum_fossil_actor_s {
|
||||
ACTOR actor_class;
|
||||
s16 target_angle;
|
||||
int msg_no;
|
||||
} MUSEUM_FOSSIL_ACTOR;
|
||||
|
||||
extern ACTOR_PROFILE Museum_Fossil_Profile;
|
||||
|
||||
#ifdef __cplusplus
|
||||
@@ -15,4 +21,3 @@ extern ACTOR_PROFILE Museum_Fossil_Profile;
|
||||
#endif
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
+95
-95
@@ -9,95 +9,95 @@
|
||||
#define mRmTp_FTR_UNIT_MAX 4
|
||||
|
||||
enum {
|
||||
mRmTp_FTRSIZE_1x1, /* x */
|
||||
mRmTp_FTRSIZE_1x2, /* yy OR y */
|
||||
/* y */
|
||||
mRmTp_FTRSIZE_2x2, /* zz */
|
||||
/* zz */
|
||||
mRmTp_FTRSIZE_NUM
|
||||
mRmTp_FTRSIZE_1x1, /* x */
|
||||
mRmTp_FTRSIZE_1x2, /* yy OR y */
|
||||
/* y */
|
||||
mRmTp_FTRSIZE_2x2, /* zz */
|
||||
/* zz */
|
||||
mRmTp_FTRSIZE_NUM
|
||||
};
|
||||
|
||||
enum birth_type {
|
||||
mRmTp_BIRTH_TYPE_GRP_A = 0,
|
||||
mRmTp_BIRTH_TYPE_GRP_B = 1,
|
||||
mRmTp_BIRTH_TYPE_GRP_C = 2,
|
||||
mRmTp_BIRTH_TYPE_EVENT = 3,
|
||||
mRmTp_BIRTH_TYPE_BIRTHDAY = 4,
|
||||
mRmTp_BIRTH_TYPE_HALLOWEEN = 5,
|
||||
mRmTp_BIRTH_TYPE_HANIWA = 6,
|
||||
mRmTp_BIRTH_TYPE_LOTTERY = 7,
|
||||
mRmTp_BIRTH_TYPE_FTR_CLOTH = 8,
|
||||
mRmTp_BIRTH_TYPE_FTR_UMBRELLA = 9,
|
||||
mRmTp_BIRTH_TYPE_FTR_INSECT = 10,
|
||||
mRmTp_BIRTH_TYPE_FTR_FISH = 11,
|
||||
mRmTp_BIRTH_TYPE_SINGLE_FOSSIL = 12,
|
||||
mRmTp_BIRTH_TYPE_MULTI_FOSSIL = 13,
|
||||
mRmTp_BIRTH_TYPE_XMAS = 14,
|
||||
mRmTp_BIRTH_TYPE_SANTA = 15,
|
||||
mRmTp_BIRTH_TYPE_UNOBTAINABLE = 16,
|
||||
mRmTp_BIRTH_TYPE_SNOWMAN = 17,
|
||||
mRmTp_BIRTH_TYPE_HALLOWEEN_TRICK = 18,
|
||||
mRmTp_BIRTH_TYPE_POST_OFFICE = 19,
|
||||
mRmTp_BIRTH_TYPE_MARK_ROOM = 20,
|
||||
mRmTp_BIRTH_TYPE_SONCHO = 21,
|
||||
mRmTp_BIRTH_TYPE_JONASON = 22,
|
||||
mRmTp_BIRTH_TYPE_UNUSED_23 = 23,
|
||||
mRmTp_BIRTH_TYPE_FAMICOM_EREADER = 24,
|
||||
mRmTp_BIRTH_TYPE_ISLAND = 25,
|
||||
mRmTp_BIRTH_TYPE_FAMICOM_ISLAND = 26,
|
||||
mRmTp_BIRTH_TYPE_MY_ORIGINAL = 27,
|
||||
mRmTp_BIRTH_TYPE_FAMICOM_CODE = 28,
|
||||
mRmTp_BIRTH_TYPE_MUSEUM = 29,
|
||||
mRmTp_BIRTH_TYPE_SONCHO_LIGHTHOUSE_QUEST = 30,
|
||||
mRmTp_BIRTH_TYPE_FTR_DIARY = 31,
|
||||
mRmTp_BIRTH_TYPE_GROUNDHOG = 32,
|
||||
mRmTp_BIRTH_TYPE_KAMAKURA = 33,
|
||||
mRmTp_BIRTH_TYPE_NINTENDO_CODE = 34,
|
||||
mRmTp_BIRTH_TYPE_HARVEST_FESTIVAL = 35,
|
||||
mRmTp_BIRTH_TYPE_UNUSED_36 = 36,
|
||||
mRmTp_BIRTH_TYPE_SUMMER_CAMPER = 37,
|
||||
mRmTp_BIRTH_TYPE_GRP_A = 0,
|
||||
mRmTp_BIRTH_TYPE_GRP_B = 1,
|
||||
mRmTp_BIRTH_TYPE_GRP_C = 2,
|
||||
mRmTp_BIRTH_TYPE_EVENT = 3,
|
||||
mRmTp_BIRTH_TYPE_BIRTHDAY = 4,
|
||||
mRmTp_BIRTH_TYPE_HALLOWEEN = 5,
|
||||
mRmTp_BIRTH_TYPE_HANIWA = 6,
|
||||
mRmTp_BIRTH_TYPE_LOTTERY = 7,
|
||||
mRmTp_BIRTH_TYPE_FTR_CLOTH = 8,
|
||||
mRmTp_BIRTH_TYPE_FTR_UMBRELLA = 9,
|
||||
mRmTp_BIRTH_TYPE_FTR_INSECT = 10,
|
||||
mRmTp_BIRTH_TYPE_FTR_FISH = 11,
|
||||
mRmTp_BIRTH_TYPE_SINGLE_FOSSIL = 12,
|
||||
mRmTp_BIRTH_TYPE_MULTI_FOSSIL = 13,
|
||||
mRmTp_BIRTH_TYPE_XMAS = 14,
|
||||
mRmTp_BIRTH_TYPE_SANTA = 15,
|
||||
mRmTp_BIRTH_TYPE_UNOBTAINABLE = 16,
|
||||
mRmTp_BIRTH_TYPE_SNOWMAN = 17,
|
||||
mRmTp_BIRTH_TYPE_HALLOWEEN_TRICK = 18,
|
||||
mRmTp_BIRTH_TYPE_POST_OFFICE = 19,
|
||||
mRmTp_BIRTH_TYPE_MARK_ROOM = 20,
|
||||
mRmTp_BIRTH_TYPE_SONCHO = 21,
|
||||
mRmTp_BIRTH_TYPE_JONASON = 22,
|
||||
mRmTp_BIRTH_TYPE_UNUSED_23 = 23,
|
||||
mRmTp_BIRTH_TYPE_FAMICOM_EREADER = 24,
|
||||
mRmTp_BIRTH_TYPE_ISLAND = 25,
|
||||
mRmTp_BIRTH_TYPE_FAMICOM_ISLAND = 26,
|
||||
mRmTp_BIRTH_TYPE_MY_ORIGINAL = 27,
|
||||
mRmTp_BIRTH_TYPE_FAMICOM_CODE = 28,
|
||||
mRmTp_BIRTH_TYPE_MUSEUM = 29,
|
||||
mRmTp_BIRTH_TYPE_SONCHO_LIGHTHOUSE_QUEST = 30,
|
||||
mRmTp_BIRTH_TYPE_FTR_DIARY = 31,
|
||||
mRmTp_BIRTH_TYPE_GROUNDHOG = 32,
|
||||
mRmTp_BIRTH_TYPE_KAMAKURA = 33,
|
||||
mRmTp_BIRTH_TYPE_NINTENDO_CODE = 34,
|
||||
mRmTp_BIRTH_TYPE_HARVEST_FESTIVAL = 35,
|
||||
mRmTp_BIRTH_TYPE_UNUSED_36 = 36,
|
||||
mRmTp_BIRTH_TYPE_SUMMER_CAMPER = 37,
|
||||
|
||||
mRmTp_BIRTH_TYPE_NUM
|
||||
mRmTp_BIRTH_TYPE_NUM
|
||||
};
|
||||
|
||||
enum {
|
||||
mRmTp_DIRECT_SOUTH,
|
||||
mRmTp_DIRECT_EAST,
|
||||
mRmTp_DIRECT_NORTH,
|
||||
mRmTp_DIRECT_WEST,
|
||||
mRmTp_DIRECT_SOUTH,
|
||||
mRmTp_DIRECT_EAST,
|
||||
mRmTp_DIRECT_NORTH,
|
||||
mRmTp_DIRECT_WEST,
|
||||
|
||||
mRmTp_DIRECT_NUM
|
||||
mRmTp_DIRECT_NUM
|
||||
};
|
||||
|
||||
enum {
|
||||
mRmTp_FTR_SE_NONE,
|
||||
mRmTp_FTR_SE_SOFT_CHAIR,
|
||||
mRmTp_FTR_SE_HARD_CHAIR,
|
||||
mRmTp_FTR_SE_BUBU_CHAIR,
|
||||
mRmTp_FTR_SE_TOILET_CHAIR,
|
||||
mRmTp_FTR_SE_NONE,
|
||||
mRmTp_FTR_SE_SOFT_CHAIR,
|
||||
mRmTp_FTR_SE_HARD_CHAIR,
|
||||
mRmTp_FTR_SE_BUBU_CHAIR,
|
||||
mRmTp_FTR_SE_TOILET_CHAIR,
|
||||
|
||||
mRmTp_FTR_SE_NUM
|
||||
mRmTp_FTR_SE_NUM
|
||||
};
|
||||
|
||||
enum {
|
||||
mRmTp_CHAIR_ACTION_SIT,
|
||||
mRmTp_CHAIR_ACTION_STAND,
|
||||
mRmTp_CHAIR_ACTION_SIT,
|
||||
mRmTp_CHAIR_ACTION_STAND,
|
||||
|
||||
mRmTp_CHAIR_ACTION_NUM
|
||||
mRmTp_CHAIR_ACTION_NUM
|
||||
};
|
||||
|
||||
typedef struct room_type_place_info_one_s {
|
||||
int exists;
|
||||
int ut_x;
|
||||
int ut_z;
|
||||
int exists;
|
||||
int ut_x;
|
||||
int ut_z;
|
||||
} mRmTp_FtrPlaceInfoOne_t;
|
||||
|
||||
#define FTR_NUM 1266
|
||||
|
||||
#define FTR_GET_ROTATION(f) ((f) & 3)
|
||||
#define FTR_GET_ROTATION(f) ((f)&3)
|
||||
#define FTR_IDX_2_NO(f) ((f) >> 2)
|
||||
#define FTR_NO_2_IDX(f) ((f) << 2)
|
||||
#define FTR_NO_ROT_2_IDX(f, rot) (FTR_NO_2_IDX(f) | ((rot) & 3))
|
||||
#define FTR_NO_ROT_2_IDX(f, rot) (FTR_NO_2_IDX(f) | ((rot)&3))
|
||||
|
||||
// TEMPORARY. Should be generated with .decl files
|
||||
#define ITEM0_NO_START 0x0000
|
||||
@@ -106,41 +106,41 @@ typedef struct room_type_place_info_one_s {
|
||||
#define FTR0_NO_START 0x1000
|
||||
|
||||
#define ITEM1_NO_START 0x2000
|
||||
#define ITEM1_0_NO_START ITEM0_1_NO_START // paper
|
||||
#define ITEM1_1_NO_START ITEM1_NO_START + 0x100 // money
|
||||
#define ITEM1_2_NO_START ITEM1_NO_START + 0x200 // tools
|
||||
#define ITEM1_3_NO_START ITEM1_NO_START + 0x300 // fish
|
||||
#define ITEM1_4_NO_START ITEM1_NO_START + 0x400 // clothing
|
||||
#define ITEM1_5_NO_START ITEM1_NO_START + 0x500 // etc
|
||||
#define ITEM1_6_NO_START ITEM1_NO_START + 0x600 // carpets
|
||||
#define ITEM1_7_NO_START ITEM1_NO_START + 0x700 // wallpaper
|
||||
#define ITEM1_8_NO_START ITEM1_NO_START + 0x800 // food
|
||||
#define ITEM1_9_NO_START ITEM1_NO_START + 0x900 // seeds
|
||||
#define ITEM1_A_NO_START ITEM1_NO_START + 0xA00 // mini disks
|
||||
#define ITEM1_B_NO_START ITEM1_NO_START + 0xB00 // diaries
|
||||
#define ITEM1_C_NO_START ITEM1_NO_START + 0xC00 // tickets
|
||||
#define ITEM1_D_NO_START ITEM1_NO_START + 0xD00 // insects
|
||||
#define ITEM1_E_NO_START ITEM1_NO_START + 0xE00 // hukubukuro
|
||||
#define ITEM1_F_NO_START ITEM1_NO_START + 0xF00 // kabu
|
||||
#define ITEM1_0_NO_START ITEM0_1_NO_START // paper
|
||||
#define ITEM1_1_NO_START ITEM1_NO_START + 0x100 // money
|
||||
#define ITEM1_2_NO_START ITEM1_NO_START + 0x200 // tools
|
||||
#define ITEM1_3_NO_START ITEM1_NO_START + 0x300 // fish
|
||||
#define ITEM1_4_NO_START ITEM1_NO_START + 0x400 // clothing
|
||||
#define ITEM1_5_NO_START ITEM1_NO_START + 0x500 // etc
|
||||
#define ITEM1_6_NO_START ITEM1_NO_START + 0x600 // carpets
|
||||
#define ITEM1_7_NO_START ITEM1_NO_START + 0x700 // wallpaper
|
||||
#define ITEM1_8_NO_START ITEM1_NO_START + 0x800 // food
|
||||
#define ITEM1_9_NO_START ITEM1_NO_START + 0x900 // seeds
|
||||
#define ITEM1_A_NO_START ITEM1_NO_START + 0xA00 // mini disks
|
||||
#define ITEM1_B_NO_START ITEM1_NO_START + 0xB00 // diaries
|
||||
#define ITEM1_C_NO_START ITEM1_NO_START + 0xC00 // tickets
|
||||
#define ITEM1_D_NO_START ITEM1_NO_START + 0xD00 // insects
|
||||
#define ITEM1_E_NO_START ITEM1_NO_START + 0xE00 // hukubukuro
|
||||
#define ITEM1_F_NO_START ITEM1_NO_START + 0xF00 // kabu
|
||||
|
||||
#define FTR1_NO_START 0x3000
|
||||
|
||||
enum {
|
||||
mRmTp_LIGHT_SWITCH_HOUSE0_MAIN_UPPER,
|
||||
mRmTp_LIGHT_SWITCH_HOUSE0_BASEMENT,
|
||||
mRmTp_LIGHT_SWITCH_HOUSE1_MAIN_UPPER,
|
||||
mRmTp_LIGHT_SWITCH_HOUSE1_BASEMENT,
|
||||
mRmTp_LIGHT_SWITCH_HOUSE2_MAIN_UPPER,
|
||||
mRmTp_LIGHT_SWITCH_HOUSE2_BASEMENT,
|
||||
mRmTp_LIGHT_SWITCH_HOUSE3_MAIN_UPPER,
|
||||
mRmTp_LIGHT_SWITCH_HOUSE3_BASEMENT,
|
||||
mRmTp_LIGHT_SWITCH_COTTAGE_MY,
|
||||
mRmTp_LIGHT_SWITCH_9,
|
||||
mRmTp_LIGHT_SWITCH_NPC,
|
||||
mRmTp_LIGHT_SWITCH_LIGHTHOUSE,
|
||||
mRmTp_LIGHT_SWITCH_TENT,
|
||||
mRmTp_LIGHT_SWITCH_HOUSE0_MAIN_UPPER,
|
||||
mRmTp_LIGHT_SWITCH_HOUSE0_BASEMENT,
|
||||
mRmTp_LIGHT_SWITCH_HOUSE1_MAIN_UPPER,
|
||||
mRmTp_LIGHT_SWITCH_HOUSE1_BASEMENT,
|
||||
mRmTp_LIGHT_SWITCH_HOUSE2_MAIN_UPPER,
|
||||
mRmTp_LIGHT_SWITCH_HOUSE2_BASEMENT,
|
||||
mRmTp_LIGHT_SWITCH_HOUSE3_MAIN_UPPER,
|
||||
mRmTp_LIGHT_SWITCH_HOUSE3_BASEMENT,
|
||||
mRmTp_LIGHT_SWITCH_COTTAGE_MY,
|
||||
mRmTp_LIGHT_SWITCH_9,
|
||||
mRmTp_LIGHT_SWITCH_NPC,
|
||||
mRmTp_LIGHT_SWITCH_LIGHTHOUSE,
|
||||
mRmTp_LIGHT_SWITCH_TENT,
|
||||
|
||||
mRmTp_LIGHT_SWITCH_NUM
|
||||
mRmTp_LIGHT_SWITCH_NUM
|
||||
};
|
||||
|
||||
extern int mRmTp_ItemNo2FtrSize(mActor_name_t item_no);
|
||||
@@ -160,7 +160,7 @@ extern mActor_name_t mRmTp_GetPlayerRoomCollisionIdx(mActor_name_t field_id, mAc
|
||||
extern int mRmTp_FurnitureIdx2FurnitureKind(int ftr_idx);
|
||||
extern void mRmTp_CopyWallData(u8* dst, int wall_no);
|
||||
extern void mRmTp_CopyFloorData(u8* dst, int floor_no);
|
||||
extern int mRmTp_CheckTalkAble(s16* rot, xyz_t* pos, f32 max_dist, int required_dir, GAME_PLAY* play);
|
||||
extern int mRmTp_CheckTalkAble(s16* rot, xyz_t* pos, int required_dir, f32 max_dist, GAME_PLAY* play);
|
||||
extern int mRmTp_CheckWallIsMyOriginalInThisScene();
|
||||
extern int mRmTp_CheckFloorIsMyOriginalInThisScene();
|
||||
extern int mRmTp_GetEntranceBasePosition(xyz_t* pos);
|
||||
|
||||
Reference in New Issue
Block a user