Files
ac-decomp/include/m_name_table.h
T
2023-04-29 02:01:44 -04:00

90 lines
2.2 KiB
C

#ifndef M_NAME_TABLE_H
#define M_NAME_TABLE_H
#include "types.h"
#include "m_actor_type.h"
/* TODO: these defintions are likely included from an auto-gen source */
#ifdef __cplusplus
extern "C" {
#endif
enum {
NAME_TYPE_ITEM0, /* Scenery items */
NAME_TYPE_FTR0, /* Furniture 0 */
NAME_TYPE_ITEM1, /* Obtainable items */
NAME_TYPE_FTR1, /* Furniture 1 */
NAME_TYPE_WARP, /* Loading zones */
NAME_TYPE_STRUCT, /* Structures */
NAME_TYPE_PAD6, /* Unused? */
NAME_TYPE_PAD7, /* Unused? */
NAME_TYPE_ITEM2, /* Misc items */
NAME_TYPE_ACTOR, /* Actors */
NAME_TYPE_PROPS, /* Props */
NAME_TYPE_PADB, /* Unused? */
NAME_TYPE_PADC, /* Unused? */
NAME_TYPE_SPNPC, /* Special NPCs */
NAME_TYPE_NPC, /* Villager NPCs */
NAME_TYPE_PAD15, /* Unused? */
NAME_TYPE_NUM
};
/* Retrieve the item actor's category */
#define ITEM_NAME_GET_TYPE(n) (((n) & 0xF000) >> 12)
#define ITEM_IS_FTR(n) \
(ITEM_NAME_GET_TYPE(n) == NAME_TYPE_FTR0 || ITEM_NAME_GET_TYPE(n) == NAME_TYPE_FTR1)
#define ITEM_IS_ITEM1(n) (ITEM_NAME_GET_TYPE(n) == NAME_TYPE_ITEM1)
#define GET_NAME_ITEM0_CATEGORY(f) (((f) & 0x0800) >> 11)
#define GET_NAME_ITEM1_CATEGORY(f) (((f) & 0x0F00) >> 8)
#define EMPTY_NO 0x0000
#define FTR_REDALOHASHIRT 0x1814
#define FTR_BLUEALOHASHIRT 0x1818
#define FTR_TAPEDECK 0x1E58
#define ITM_TOOL_START 0x2200
#define ITM_NET ITM_TOOL_START
#define ITM_AXE 0x2201
#define ITM_SHOVEL 0x2202
#define ITM_ROD 0x2203
#define ITM_ENV_START 0x2900
#define ITM_SAPLING ITM_ENV_START
#define ITM_CEDAR_SAPLING 0x2901
#define ITM_WHITE_PANSY_BAG 0x2902
#define ITM_PURPLE_PANSY_BAG 0x2903
#define ITM_YELLOW_PANSY_BAG 0x2904
#define ITM_WHITE_COSMOS_BAG 0x2905
#define ITM_PINK_COSMOS_BAG 0x2906
#define ITM_BLUE_COSMOS_BAG 0x2907
#define ITM_RED_TULIP_BAG 0x2908
#define ITM_WHITE_TULIP_BAG 0x2909
#define ITEM_YELLOW_TULIP_BAG 0x290A
#define ITM_COLLEGERULE 0x2B00
#define FTR_ORANGEBOX 0x30F8
#define DOOR_START 0x4000
#define DOOR0 DOOR_START /* 0x4000 */
#define DOOR1 (DOOR0 + 1) /* 0x4001 */
#define EXIT_DOOR 0x4080
#define RSV_DOOR 0xFE1B
#define RSV_WALL_NO 0xFFFE /* interior wall item, no collision */
#define RSV_NO 0xFFFF /* reserved space, can't interact but no collision */
#ifdef __cplusplus
}
#endif
#endif