Implement & link m_item_name

This commit is contained in:
Cuyler36
2023-05-24 01:07:40 -04:00
parent 2315797aac
commit 974e6ad2ae
5 changed files with 469 additions and 0 deletions
+30
View File
@@ -10,6 +10,36 @@ extern "C" {
#define mIN_ITEM_NAME_LEN 16
extern u8 itemName_paper[];
extern u8 itemName_money[];
extern u8 itemName_tool[];
extern u8 itemName_fish[];
extern u8 itemName_cloth[];
extern u8 itemName_etc[];
extern u8 itemName_carpet[];
extern u8 itemName_wall[];
extern u8 itemName_fruit[];
extern u8 itemName_plant[];
extern u8 itemName_minidisk[];
extern u8 itemName_dummy[];
extern u8 itemName_ticket[];
extern u8 itemName_insect[];
extern u8 itemName_hukubukuro[];
extern u8 itemName_kabu[];
extern u8 ftrName_table[];
extern u8 ftrName2_table[];
enum item_article {
mIN_ARTICLE_NONE,
mIN_ARTICLE_A,
mIN_ARTICLE_AN,
mIN_ARTICLE_THE,
mIN_ARTICLE_SOME,
mIN_ARTICLE_NUM
};
extern void mIN_copy_name_str(u8* str, mActor_name_t item_no);
extern int mIN_get_item_article(mActor_name_t item_no);
+79
View File
@@ -31,9 +31,33 @@ enum {
NAME_TYPE_NUM
};
enum {
ITEM1_CAT_PAPER,
ITEM1_CAT_MONEY,
ITEM1_CAT_TOOL,
ITEM1_CAT_FISH,
ITEM1_CAT_CLOTH,
ITEM1_CAT_ETC,
ITEM1_CAT_CARPET,
ITEM1_CAT_WALL,
ITEM1_CAT_FRUIT,
ITEM1_CAT_PLANT,
ITEM1_CAT_MINIDISK,
ITEM1_CAT_DUMMY, /* diaries */
ITEM1_CAT_TICKET,
ITEM1_CAT_INSECT,
ITEM1_CAT_HUKUBUKURO,
ITEM1_CAT_KABU,
ITEM1_CAT_NUM
};
extern int mNT_check_unknown(mActor_name_t item_no);
/* Retrieve the item actor's category */
#define ITEM_NAME_GET_TYPE(n) (((n) & 0xF000) >> 12)
#define ITEM_NAME_GET_CAT(n) (((n) & 0x0F00) >> 8)
#define ITEM_NAME_GET_INDEX(n) ((mActor_name_t)(n) & 0xFF)
#define ITEM_IS_FTR(n) \
(ITEM_NAME_GET_TYPE(n) == NAME_TYPE_FTR0 || ITEM_NAME_GET_TYPE(n) == NAME_TYPE_FTR1)
@@ -88,6 +112,25 @@ enum {
#define BG_CATEGORY 0
#define ENV_CATEGORY 8
/* TODO: these should be calculated via definitions later */
#define FTR_NUM 1266
#define PAPER_NUM 256
#define MONEY_NUM 4
#define TOOL_NUM 92
#define FISH_NUM 40
#define CLOTH_NUM 255
#define ETC_NUM 49
#define CARPET_NUM 67
#define WALL_NUM 67
#define FRUIT_NUM 8
#define PLANT_NUM 11
#define MINIDISK_NUM 55
#define DIARY_NUM 16
#define TICKET_NUM 96
#define INSECT_NUM 40 + 5 // 5 spirits
#define HUKUBUKURO_NUM 2
#define KABU_NUM 4
#define EMPTY_NO 0x0000
#define GRASS_A 0x0008
@@ -235,6 +278,41 @@ enum {
#define DEAD_GOLD_SAPLING (GOLD_TREE + 1)
/* end of environmental objects */
#define SIGNBOARD_START 0x0900
#define SIGNBOARD (SIGNBOARD_START)
#define SIGNBOARD0_PLR0 (SIGNBOARD_START + 1)
#define SIGNBOARD1_PLR0 (SIGNBOARD0_PLR0 + 1)
#define SIGNBOARD2_PLR0 (SIGNBOARD1_PLR0 + 1)
#define SIGNBOARD3_PLR0 (SIGNBOARD2_PLR0 + 1)
#define SIGNBOARD4_PLR0 (SIGNBOARD3_PLR0 + 1)
#define SIGNBOARD5_PLR0 (SIGNBOARD4_PLR0 + 1)
#define SIGNBOARD6_PLR0 (SIGNBOARD5_PLR0 + 1)
#define SIGNBOARD7_PLR0 (SIGNBOARD6_PLR0 + 1)
#define SIGNBOARD0_PLR1 (SIGNBOARD7_PLR0 + 1)
#define SIGNBOARD1_PLR1 (SIGNBOARD0_PLR1 + 1)
#define SIGNBOARD2_PLR1 (SIGNBOARD1_PLR1 + 1)
#define SIGNBOARD3_PLR1 (SIGNBOARD2_PLR1 + 1)
#define SIGNBOARD4_PLR1 (SIGNBOARD3_PLR1 + 1)
#define SIGNBOARD5_PLR1 (SIGNBOARD4_PLR1 + 1)
#define SIGNBOARD6_PLR1 (SIGNBOARD5_PLR1 + 1)
#define SIGNBOARD7_PLR1 (SIGNBOARD6_PLR1 + 1)
#define SIGNBOARD0_PLR2 (SIGNBOARD7_PLR1 + 1)
#define SIGNBOARD1_PLR2 (SIGNBOARD0_PLR2 + 1)
#define SIGNBOARD2_PLR2 (SIGNBOARD1_PLR2 + 1)
#define SIGNBOARD3_PLR2 (SIGNBOARD2_PLR2 + 1)
#define SIGNBOARD4_PLR2 (SIGNBOARD3_PLR2 + 1)
#define SIGNBOARD5_PLR2 (SIGNBOARD4_PLR2 + 1)
#define SIGNBOARD6_PLR2 (SIGNBOARD5_PLR2 + 1)
#define SIGNBOARD7_PLR2 (SIGNBOARD6_PLR2 + 1)
#define SIGNBOARD0_PLR3 (SIGNBOARD7_PLR2 + 1)
#define SIGNBOARD1_PLR3 (SIGNBOARD0_PLR3 + 1)
#define SIGNBOARD2_PLR3 (SIGNBOARD1_PLR3 + 1)
#define SIGNBOARD3_PLR3 (SIGNBOARD2_PLR3 + 1)
#define SIGNBOARD4_PLR3 (SIGNBOARD3_PLR3 + 1)
#define SIGNBOARD5_PLR3 (SIGNBOARD4_PLR3 + 1)
#define SIGNBOARD6_PLR3 (SIGNBOARD5_PLR3 + 1)
#define SIGNBOARD7_PLR3 (SIGNBOARD6_PLR3 + 1)
#define FTR_REDALOHASHIRT 0x1814
#define FTR_BLUEALOHASHIRT 0x1818
@@ -250,6 +328,7 @@ enum {
#define ITM_DUST1_BOOT 0x250F
#define ITM_DUST2_OLD_TIRE 0x2510
#define ITM_PITFALL 0x2512
#define ITM_SIGNBOARD 0x251E
#define ITM_FOOD_START 0x2800
+1
View File
@@ -60,6 +60,7 @@ typedef struct room_type_place_info_s {
extern void mRmTp_DrawFamicomInfo(gfxprint_t* gfxprint);
extern void mRmTp_MakeFamicom_Fdebug();
extern mActor_name_t mRmTp_FtrItemNo2Item1ItemNo(mActor_name_t ftr_item_no, void* unused); /* second paramter is probably GAME*? */
extern int mRmTp_FtrItemNo2FtrIdx(mActor_name_t ftr_item_no);
extern int mRmTp_GetFurnitureData(mActor_name_t ftr, int ut_x, int ut_z, mRmTp_FtrPlaceInfo_t* place_info);