Files
ac-decomp/include/m_name_table.h
T
2023-10-21 01:45:37 -04:00

1443 lines
53 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
};
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
};
enum {
mNT_TREE_TYPE_NORMAL,
mNT_TREE_TYPE_PALM,
mNT_TREE_TYPE_CEDAR,
mNT_TREE_TYPE_GOLD,
mNT_TREE_TYPE_NUM
};
extern int mNT_check_unknown(mActor_name_t item_no);
extern int FGTreeType_check(mActor_name_t tree);
extern mActor_name_t bg_item_fg_sub_tree_grow(mActor_name_t tree, int past_days, int check_plant);
extern mActor_name_t bg_item_fg_sub_dig2take_conv(mActor_name_t item);
/* 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 NPC_HOUSE_ID_TO_NPC_ID(house) (house + 0x9000)
#define NPC_ID_TO_NPC_HOUSE_ID(npc) (npc - 0x9000)
#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) /* enviornmental or static background objects */
#define GET_NAME_ITEM1_CATEGORY(f) (((f) & 0x0F00) >> 8)
#define IS_ITEM_FLOWER(item) ((item) >= FLOWER_LEAVES_PANSIES0 && (item) <= FLOWER_TULIP2)
#define IS_ITEM_ALIVE_TREE(item) \
(((item) >= TREE_SAPLING && (item) <= TREE_30000BELLS) || \
((item) >= TREE_100BELLS_SAPLING && (item) <= TREE_PALM_FRUIT) || \
((item) >= CEDAR_TREE_SAPLING && (item) <= CEDAR_TREE) || \
((item) >= GOLD_TREE_SAPLING && (item) <= GOLD_TREE) \
)
#define IS_ITEM_DEAD_SAPLING(item) \
(((item) == DEAD_SAPLING) || \
((item) == DEAD_PALM_SAPLING) || \
((item) == DEAD_CEDAR_SAPLING) || \
((item) == DEAD_GOLD_SAPLING) \
)
/*
#define IS_ITEM_TREE(item) \
(((item) >= TREE_SAPLING && (item) <= TREE_30000BELLS) || \
((item) >= TREE_100BELLS_SAPLING && (item) <= TREE_PALM_FRUIT) || \
((item) >= CEDAR_TREE_SAPLING && (item) <= CEDAR_TREE) || \
((item) >= GOLD_TREE_SAPLING && (item) <= GOLD_TREE) || \
((item) == DEAD_SAPLING) || \
((item) == DEAD_PALM_SAPLING) || \
((item) == DEAD_CEDAR_SAPLING) || \
((item) == DEAD_GOLD_SAPLING) \
)
*/
#define IS_ITEM_TREE(item) (IS_ITEM_ALIVE_TREE(item) || IS_ITEM_DEAD_SAPLING(item))
#define IS_ITEM_GROWN_TREE(item) \
(((item) == TREE) || \
((item) == TREE_1000BELLS) || \
((item) == TREE_10000BELLS) || \
((item) == TREE_30000BELLS) || \
((item) == TREE_100BELLS) || \
((item) == CEDAR_TREE) || \
((item) == GOLD_TREE_SHOVEL || (item) == GOLD_TREE) || \
((item) == TREE_APPLE_NOFRUIT_0 || (item) == TREE_APPLE_NOFRUIT_1 || (item) == TREE_APPLE_NOFRUIT_2 || (item) == TREE_APPLE_FRUIT) || \
((item) == TREE_ORANGE_NOFRUIT_0 || (item) == TREE_ORANGE_NOFRUIT_1 || (item) == TREE_ORANGE_NOFRUIT_2 || (item) == TREE_ORANGE_FRUIT) || \
((item) == TREE_PEACH_NOFRUIT_0 || (item) == TREE_PEACH_NOFRUIT_1 || (item) == TREE_PEACH_NOFRUIT_2 || (item) == TREE_PEACH_FRUIT) || \
((item) == TREE_PEAR_NOFRUIT_0 || (item) == TREE_PEAR_NOFRUIT_1 || (item) == TREE_PEAR_NOFRUIT_2 || (item) == TREE_PEAR_FRUIT) || \
((item) == TREE_CHERRY_NOFRUIT_0 || (item) == TREE_CHERRY_NOFRUIT_1 || (item) == TREE_CHERRY_NOFRUIT_2 || (item) == TREE_CHERRY_FRUIT) || \
((item) == TREE_PALM_NOFRUIT_0 || (item) == TREE_PALM_NOFRUIT_1 || (item) == TREE_PALM_NOFRUIT_2 || (item) == TREE_PALM_FRUIT) || \
((item) == TREE_BEES) || \
((item) == TREE_FTR) || \
((item) == TREE_LIGHTS) || \
((item) == TREE_PRESENT) || \
((item) == TREE_BELLS) || \
((item) == CEDAR_TREE_BELLS) || \
((item) == CEDAR_TREE_FTR) || \
((item) == CEDAR_TREE_BEES) || \
((item) == CEDAR_TREE_LIGHTS) || \
((item) == GOLD_TREE_BELLS) || \
((item) == GOLD_TREE_FTR) || \
((item) == GOLD_TREE_BEES) \
)
#define IS_ITEM_GRASS(item) ((item) >= GRASS_A && (item) <= GRASS_C) /* aka IS_ITEM_WEED */
#define IS_ITEM_HANIWA(item) ((item) >= HANIWA_START && (item) <= HANIWA_END)
#define IS_ITEM_DIARY(item) ((item) >= ITM_DIARY_START && (item) <= (ITM_DIARY_END-1))
#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 PAPER_UNIQUE_NUM 64
#define PAINT_NUM 12
#define FLOWER_NUM 9
#define HANIWA_NUM 127
#define NOT_SECRET_MD_NUM 52
#define UMBRELLA_NUM 32
#define EMPTY_NO 0x0000
#define TREE_STUMP001 (EMPTY_NO + 1)
#define TREE_STUMP002 (EMPTY_NO + 2)
#define TREE_STUMP003 (EMPTY_NO + 3)
#define TREE_STUMP004 (EMPTY_NO + 4)
#define FENCE0 (EMPTY_NO + 5)
#define FENCE1 (EMPTY_NO + 6)
#define MESSAGE_BOARD0 0x0007
#define GRASS_A 0x0008
#define GRASS_B (GRASS_A + 1)
#define GRASS_C (GRASS_B + 1)
#define MESSAGE_BOARD1 0x000B
#define MAP_BOARD0 0x000C
#define MAP_BOARD1 0x000D
#define MUSIC_BOARD0 0x000E
#define MUSIC_BOARD1 0x000F
#define WOOD_FENCE 0x0010
#define HOLE_START 0x0011
#define HOLE00 (HOLE_START + 0)
#define HOLE01 (HOLE_START + 1)
#define HOLE02 (HOLE_START + 2)
#define HOLE03 (HOLE_START + 3)
#define HOLE04 (HOLE_START + 4)
#define HOLE05 (HOLE_START + 5)
#define HOLE06 (HOLE_START + 6)
#define HOLE07 (HOLE_START + 7)
#define HOLE08 (HOLE_START + 8)
#define HOLE09 (HOLE_START + 9)
#define HOLE10 (HOLE_START + 10)
#define HOLE11 (HOLE_START + 11)
#define HOLE12 (HOLE_START + 12)
#define HOLE13 (HOLE_START + 13)
#define HOLE14 (HOLE_START + 14)
#define HOLE15 (HOLE_START + 15)
#define HOLE16 (HOLE_START + 16)
#define HOLE17 (HOLE_START + 17)
#define HOLE18 (HOLE_START + 18)
#define HOLE19 (HOLE_START + 19)
#define HOLE20 (HOLE_START + 20)
#define HOLE21 (HOLE_START + 21)
#define HOLE22 (HOLE_START + 22)
#define HOLE23 (HOLE_START + 23)
#define HOLE24 (HOLE_START + 24)
#define HOLE_END HOLE24
#define BURIED_PITFALL_START 0x002A
#define BURIED_PITFALL00 (BURIED_PITFALL_START + 0)
#define BURIED_PITFALL01 (BURIED_PITFALL_START + 1)
#define BURIED_PITFALL02 (BURIED_PITFALL_START + 2)
#define BURIED_PITFALL03 (BURIED_PITFALL_START + 3)
#define BURIED_PITFALL04 (BURIED_PITFALL_START + 4)
#define BURIED_PITFALL05 (BURIED_PITFALL_START + 5)
#define BURIED_PITFALL06 (BURIED_PITFALL_START + 6)
#define BURIED_PITFALL07 (BURIED_PITFALL_START + 7)
#define BURIED_PITFALL08 (BURIED_PITFALL_START + 8)
#define BURIED_PITFALL09 (BURIED_PITFALL_START + 9)
#define BURIED_PITFALL10 (BURIED_PITFALL_START + 10)
#define BURIED_PITFALL11 (BURIED_PITFALL_START + 11)
#define BURIED_PITFALL12 (BURIED_PITFALL_START + 12)
#define BURIED_PITFALL13 (BURIED_PITFALL_START + 13)
#define BURIED_PITFALL14 (BURIED_PITFALL_START + 14)
#define BURIED_PITFALL15 (BURIED_PITFALL_START + 15)
#define BURIED_PITFALL16 (BURIED_PITFALL_START + 16)
#define BURIED_PITFALL17 (BURIED_PITFALL_START + 17)
#define BURIED_PITFALL18 (BURIED_PITFALL_START + 18)
#define BURIED_PITFALL19 (BURIED_PITFALL_START + 19)
#define BURIED_PITFALL20 (BURIED_PITFALL_START + 20)
#define BURIED_PITFALL21 (BURIED_PITFALL_START + 21)
#define BURIED_PITFALL22 (BURIED_PITFALL_START + 22)
#define BURIED_PITFALL23 (BURIED_PITFALL_START + 23)
#define BURIED_PITFALL24 (BURIED_PITFALL_START + 24)
#define BURIED_PITFALL_END BURIED_PITFALL24
#define SHINE_SPOT 0x005C
#define HOLE_SHINE 0x005D
#define TREE_BEES 0x005E
#define TREE_FTR (TREE_BEES + 1)
#define TREE_LIGHTS (TREE_FTR + 1)
#define TREE_PRESENT (TREE_LIGHTS + 1)
#define HONEYCOMB 0x0062
#define ROCK_A 0x0063
#define ROCK_B (ROCK_A + 1)
#define ROCK_C (ROCK_B + 1)
#define ROCK_D (ROCK_C + 1)
#define ROCK_E (ROCK_D + 1)
#define FLOWER_SEED 0x0068
#define TREE_BELLS 0x0069
#define MONEY_ROCK_A 0x006A
#define MONEY_ROCK_B (MONEY_ROCK_A + 1)
#define MONEY_ROCK_C (MONEY_ROCK_B + 1)
#define MONEY_ROCK_D (MONEY_ROCK_C + 1)
#define MONEY_ROCK_E (MONEY_ROCK_D + 1)
#define MONEY_FLOWER_SEED 0x006F
#define TREE_PALM_STUMP001 (EMPTY_NO + 112)
#define TREE_PALM_STUMP002 (EMPTY_NO + 113)
#define TREE_PALM_STUMP003 (EMPTY_NO + 114)
#define TREE_PALM_STUMP004 (EMPTY_NO + 115)
#define CEDAR_TREE_STUMP001 (EMPTY_NO + 116)
#define CEDAR_TREE_STUMP002 (EMPTY_NO + 117)
#define CEDAR_TREE_STUMP003 (EMPTY_NO + 118)
#define CEDAR_TREE_STUMP004 (EMPTY_NO + 119)
#define CEDAR_TREE_BELLS 0x0078
#define CEDAR_TREE_FTR (CEDAR_TREE_BELLS + 1)
#define CEDAR_TREE_BEES (CEDAR_TREE_FTR + 1)
#define GOLD_TREE_STUMP001 (EMPTY_NO + 123)
#define GOLD_TREE_STUMP002 (EMPTY_NO + 124)
#define GOLD_TREE_STUMP003 (EMPTY_NO + 125)
#define GOLD_TREE_STUMP004 (EMPTY_NO + 126)
#define GOLD_TREE_BELLS 0x007F
#define GOLD_TREE_FTR (GOLD_TREE_BELLS + 1)
#define GOLD_TREE_BEES (GOLD_TREE_FTR + 1)
#define CEDAR_TREE_LIGHTS (GOLD_TREE_BEES + 1)
/* begin environmental/nature objects */
#define ENV_START 0x0800
/* tree */
#define TREE_SAPLING (ENV_START + 0)
#define TREE_S0 (ENV_START + 1)
#define TREE_S1 (ENV_START + 2)
#define TREE_S2 (ENV_START + 3)
#define TREE (ENV_START + 4) /* fully grown */
/* apple tree */
#define TREE_APPLE_SAPLING (ENV_START + 5)
#define TREE_APPLE_S0 (ENV_START + 6)
#define TREE_APPLE_S1 (ENV_START + 7)
#define TREE_APPLE_S2 (ENV_START + 8)
#define TREE_APPLE_NOFRUIT_0 (ENV_START + 9) /* fully grown, no fruit */
#define TREE_APPLE_NOFRUIT_1 (ENV_START + 10)
#define TREE_APPLE_NOFRUIT_2 (ENV_START + 11)
#define TREE_APPLE_FRUIT (ENV_START + 12)
/* orange tree */
#define TREE_ORANGE_SAPLING (ENV_START + 13)
#define TREE_ORANGE_S0 (ENV_START + 14)
#define TREE_ORANGE_S1 (ENV_START + 15)
#define TREE_ORANGE_S2 (ENV_START + 16) /* fully grown, no fruit */
#define TREE_ORANGE_NOFRUIT_0 (ENV_START + 17)
#define TREE_ORANGE_NOFRUIT_1 (ENV_START + 18)
#define TREE_ORANGE_NOFRUIT_2 (ENV_START + 19)
#define TREE_ORANGE_FRUIT (ENV_START + 20)
/* peach tree */
#define TREE_PEACH_SAPLING (ENV_START + 21)
#define TREE_PEACH_S0 (ENV_START + 22)
#define TREE_PEACH_S1 (ENV_START + 23)
#define TREE_PEACH_S2 (ENV_START + 24)
#define TREE_PEACH_NOFRUIT_0 (ENV_START + 25) /* fully grown, no fruit */
#define TREE_PEACH_NOFRUIT_1 (ENV_START + 26)
#define TREE_PEACH_NOFRUIT_2 (ENV_START + 27)
#define TREE_PEACH_FRUIT (ENV_START + 28)
/* pear tree */
#define TREE_PEAR_SAPLING (ENV_START + 29)
#define TREE_PEAR_S0 (ENV_START + 30)
#define TREE_PEAR_S1 (ENV_START + 31)
#define TREE_PEAR_S2 (ENV_START + 32)
#define TREE_PEAR_NOFRUIT_0 (ENV_START + 33) /* fully grown, no fruit */
#define TREE_PEAR_NOFRUIT_1 (ENV_START + 34)
#define TREE_PEAR_NOFRUIT_2 (ENV_START + 35)
#define TREE_PEAR_FRUIT (ENV_START + 36)
/* cherry tree */
#define TREE_CHERRY_SAPLING (ENV_START + 37)
#define TREE_CHERRY_S0 (ENV_START + 38)
#define TREE_CHERRY_S1 (ENV_START + 39)
#define TREE_CHERRY_S2 (ENV_START + 40)
#define TREE_CHERRY_NOFRUIT_0 (ENV_START + 41) /* fully grown, no fruit */
#define TREE_CHERRY_NOFRUIT_1 (ENV_START + 42)
#define TREE_CHERRY_NOFRUIT_2 (ENV_START + 43)
#define TREE_CHERRY_FRUIT (ENV_START + 44)
/* money tree (1,000 Bells) */
#define TREE_1000BELLS_SAPLING (ENV_START + 45)
#define TREE_1000BELLS_S0 (ENV_START + 46)
#define TREE_1000BELLS_S1 (ENV_START + 47)
#define TREE_1000BELLS_S2 (ENV_START + 48)
#define TREE_1000BELLS (ENV_START + 49) /* fully grown w/ bells */
/* money tree (10,000 Bells) */
#define TREE_10000BELLS_SAPLING (ENV_START + 50)
#define TREE_10000BELLS_S0 (ENV_START + 51)
#define TREE_10000BELLS_S1 (ENV_START + 52)
#define TREE_10000BELLS_S2 (ENV_START + 53)
#define TREE_10000BELLS (ENV_START + 54) /* fully grown w/ bells */
/* money tree (30,000 Bells) */
#define TREE_30000BELLS_SAPLING (ENV_START + 55)
#define TREE_30000BELLS_S0 (ENV_START + 56)
#define TREE_30000BELLS_S1 (ENV_START + 57)
#define TREE_30000BELLS_S2 (ENV_START + 58)
#define TREE_30000BELLS (ENV_START + 59) /* fully grown w/ bells */
/* flower leaves (unused growth stage) */
#define FLOWER_LEAVES_PANSIES0 (ENV_START + 60) /* white */
#define FLOWER_LEAVES_PANSIES1 (ENV_START + 61) /* purple */
#define FLOWER_LEAVES_PANSIES2 (ENV_START + 62) /* yellow */
#define FLOWER_LEAVES_COSMOS0 (ENV_START + 63) /* yellow */
#define FLOWER_LEAVES_COSMOS1 (ENV_START + 64) /* purple */
#define FLOWER_LEAVES_COSMOS2 (ENV_START + 65) /* blue */
#define FLOWER_LEAVES_TULIP0 (ENV_START + 66) /* red */
#define FLOWER_LEAVES_TULIP1 (ENV_START + 67) /* white */
#define FLOWER_LEAVES_TULIP2 (ENV_START + 68) /* yellow */
/* flowers */
#define FLOWER_PANSIES0 (ENV_START + 69) /* white */
#define FLOWER_PANSIES1 (ENV_START + 70) /* purple */
#define FLOWER_PANSIES2 (ENV_START + 71) /* yellow */
#define FLOWER_COSMOS0 (ENV_START + 72) /* yellow */
#define FLOWER_COSMOS1 (ENV_START + 73) /* purple */
#define FLOWER_COSMOS2 (ENV_START + 74) /* blue */
#define FLOWER_TULIP0 (ENV_START + 75) /* red */
#define FLOWER_TULIP1 (ENV_START + 76) /* white */
#define FLOWER_TULIP2 (ENV_START + 77) /* yellow */
/* dead sapling */
#define DEAD_SAPLING (ENV_START + 78)
/* money tree (100 Bells) */
#define TREE_100BELLS_SAPLING (ENV_START + 79)
#define TREE_100BELLS_S0 (ENV_START + 80)
#define TREE_100BELLS_S1 (ENV_START + 81)
#define TREE_100BELLS_S2 (ENV_START + 82)
#define TREE_100BELLS (ENV_START + 83) /* fully grown w/ bells */
/* palm tree */
#define TREE_PALM_SAPLING (ENV_START + 84)
#define TREE_PALM_S0 (ENV_START + 85)
#define TREE_PALM_S1 (ENV_START + 86)
#define TREE_PALM_S2 (ENV_START + 87)
#define TREE_PALM_NOFRUIT_0 (ENV_START + 88) /* fully grown, no fruit */
#define TREE_PALM_NOFRUIT_1 (ENV_START + 89)
#define TREE_PALM_NOFRUIT_2 (ENV_START + 90)
#define TREE_PALM_FRUIT (ENV_START + 91)
#define DEAD_PALM_SAPLING (ENV_START + 92)
/* cedar tree */
#define CEDAR_TREE_SAPLING (ENV_START + 93)
#define CEDAR_TREE_S0 (ENV_START + 94)
#define CEDAR_TREE_S1 (ENV_START + 95)
#define CEDAR_TREE_S2 (ENV_START + 96)
#define CEDAR_TREE (ENV_START + 97) /* fully grown */
#define DEAD_CEDAR_SAPLING (ENV_START + 98)
/* gold tree */
#define GOLD_TREE_SAPLING (ENV_START + 99)
#define GOLD_TREE_S0 (ENV_START + 100)
#define GOLD_TREE_S1 (ENV_START + 101)
#define GOLD_TREE_S2 (ENV_START + 102)
#define GOLD_TREE_SHOVEL (ENV_START + 103) /* fully grown w/ golden shovel */
#define GOLD_TREE (ENV_START + 104) /* fully grown */
#define DEAD_GOLD_SAPLING (ENV_START + 105)
/* 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 FTR0_START 0x1000
#define FTR_CLASSIC_WARDROBE 0x1004
#define FTR_PAPA_BEAR 0x10E8
#define FTR_PAPA_BEAR_EAST 0x10E9
#define FTR_PAPA_BEAR_NORTH 0x10EA
#define FTR_PAPA_BEAR_WEST 0x10EB
#define FTR_BIRTHDAY_CAKE 0x11FC
#define FTR_BIRTHDAY_CAKE_EAST 0x11FD
#define FTR_BIRTHDAY_CAKE_NORTH 0x11FE
#define FTR_BIRTHDAY_CAKE_WEST 0x11FF
#define FTR_PAINTING0 0x12AC // famous painting
#define FTR_PAINTING14 0x12E4 // worthy painting
#define FTR_PAINTING14_EAST 0x12E5
#define FTR_PAINTING14_NORTH 0x12E6
#define FTR_PAINTING14_WEST 0x12E7
#define FTR_DRACAENA 0x13B0
#define FTR_DRACAENA_EAST 0x13B1
#define FTR_DRACAENA_NORTH 0x13B2
#define FTR_DRACAENA_WEST 0x13B3
#define HANIWA_START 0x15B0
//
#define HANIWA_END 0x17AB
#define FTR_CLOTH_MANNIQUIN000_SOUTH 0x17AC
#define FTR_REDALOHASHIRT 0x1814
#define FTR_BLUEALOHASHIRT 0x1818
#define FTR_CLOTH_MANNIQUIN254_SOUTH 0x1BA4
#define FTR_CLOTH_MANNIQUIN254_WEST 0x1BA7
#define FTR_CLOTH_MANNIQUIN_MY_ORIGINAL0 0x1BA8
#define FTR_INSECT00 0x1BC8
#define FTR_INSECT39 0x1C64
#define FTR_INSECT39_EAST 0x1C65
#define FTR_INSECT39_NORTH 0x1C66
#define FTR_INSECT39_WEST 0x1C67
#define FTR_FISH00 0x1C68
#define FTR_FISH39 0x1D04
#define FTR_FISH39_EAST 0x1D05
#define FTR_FISH39_NORTH 0x1D06
#define FTR_FISH39_WEST 0x1D07
#define FTR_UMBRELLA00_SOUTH 0x1D08
#define FTR_UMBRELLA31_WEST 0x1D87
#define FTR_FAMICOM_CLU_CLU_LAND 0x1DA8
#define FTR_FAMICOM_BALLOON_FIGHT 0x1DAC
#define FTR_FAMICOM_DONKEY_KONG 0x1DB0
#define FTR_FAMICOM_DK_JR_MATCH 0x1DB4
#define FTR_FAMICOM_PINBALL 0x1DB8
#define FTR_FAMICOM_TENNIS 0x1DBC
#define FTR_FAMICOM_GOLF 0x1DC0
#define FTR_FAMICOM_PUNCHOUT 0x1DC4
#define FTR_FAMICOM_BASEBALL 0x1DC8
#define FTR_FAMICOM_CLU_CLU_LAND_DISK 0x1DCC
#define FTR_FAMICOM_DONKEY_KONG_3 0x1DD0
#define FTR_FAMICOM_DONKEY_KONG_JR 0x1DD4
#define FTR_FAMICOM_SOCCER 0x1DD8
#define FTR_FAMICOM_EXCITEBIKE 0x1DDC
#define FTR_FAMICOM_WARIOS_WOODS 0x1DE0
#define FTR_FAMICOM_ICE_CLIMBERS 0x1DE4
#define FTR_FAMICOM_MARIO_BROS 0x1DE8
#define FTR_FAMICOM_SUPER_MARIO_BROS 0x1DEC
#define FTR_FAMICOM_LEGEND_OF_ZELDA 0x1DF0
#define FTR_FAMICOM 0x1DF4
#define FTR_TAPEDECK 0x1E58
#define FTR_BIG_FESTIVE_TREE 0x1E88
#define FTR_FESTIVE_TREE 0x1EBC
#define FTR_DINO_TRICERA_SKULL 0x1EEC
#define FTR_DINO_TREX_SKULL 0x1EF8
#define FTR_DINO_TRILOBITE_WEST 0x1F4F
#define FTR_DINO_DISP_TRICERA 0x1F7C
#define FTR_DINO_DISP_TREX 0x1F80
#define FTR_DINO_DISP_BRONTO 0x1F84
#define FTR_DINO_DISP_PTERA 0x1F88
#define FTR_DINO_DISP_PLESIO 0x1F8C
#define FTR_DINO_DISP_MAMMOTH 0x1F90
#define FTR_DINO_DISP_STEGO 0x1F94
#define FTR_DINO_DISP_STEGO2 0x1F98
#define FTR_FOSSIL 0x1F9C
#define FTR_PIGGY_BANK 0x1FAC
#define FTR_TISSUE 0x1FB0
#define FTR0_END 0x1FFF
#define ITM_PAPER_START 0x2000
#define ITM_PAPER00 (ITM_PAPER_START + 0)
#define ITM_PAPER01 (ITM_PAPER_START + 1)
#define ITM_PAPER02 (ITM_PAPER_START + 2)
#define ITM_PAPER03 (ITM_PAPER_START + 3)
#define ITM_PAPER04 (ITM_PAPER_START + 4)
#define ITM_PAPER05 (ITM_PAPER_START + 5)
#define ITM_PAPER06 (ITM_PAPER_START + 6)
#define ITM_PAPER07 (ITM_PAPER_START + 7)
#define ITM_PAPER08 (ITM_PAPER_START + 8)
#define ITM_PAPER09 (ITM_PAPER_START + 9)
#define ITM_PAPER10 (ITM_PAPER_START + 10)
#define ITM_PAPER11 (ITM_PAPER_START + 11)
#define ITM_PAPER12 (ITM_PAPER_START + 12)
#define ITM_PAPER13 (ITM_PAPER_START + 13)
#define ITM_PAPER14 (ITM_PAPER_START + 14)
#define ITM_PAPER15 (ITM_PAPER_START + 15)
#define ITM_PAPER16 (ITM_PAPER_START + 16)
#define ITM_PAPER17 (ITM_PAPER_START + 17)
#define ITM_PAPER18 (ITM_PAPER_START + 18)
#define ITM_PAPER19 (ITM_PAPER_START + 19)
#define ITM_PAPER20 (ITM_PAPER_START + 20)
#define ITM_PAPER21 (ITM_PAPER_START + 21)
#define ITM_PAPER22 (ITM_PAPER_START + 22)
#define ITM_PAPER23 (ITM_PAPER_START + 23)
#define ITM_PAPER24 (ITM_PAPER_START + 24)
#define ITM_PAPER25 (ITM_PAPER_START + 25)
#define ITM_PAPER26 (ITM_PAPER_START + 26)
#define ITM_PAPER27 (ITM_PAPER_START + 27)
#define ITM_PAPER28 (ITM_PAPER_START + 28)
#define ITM_PAPER29 (ITM_PAPER_START + 29)
#define ITM_PAPER30 (ITM_PAPER_START + 30)
#define ITM_PAPER31 (ITM_PAPER_START + 31)
#define ITM_PAPER32 (ITM_PAPER_START + 32)
#define ITM_PAPER33 (ITM_PAPER_START + 33)
#define ITM_PAPER34 (ITM_PAPER_START + 34)
#define ITM_PAPER35 (ITM_PAPER_START + 35)
#define ITM_PAPER36 (ITM_PAPER_START + 36)
#define ITM_PAPER37 (ITM_PAPER_START + 37)
#define ITM_PAPER38 (ITM_PAPER_START + 38)
#define ITM_PAPER39 (ITM_PAPER_START + 39)
#define ITM_PAPER40 (ITM_PAPER_START + 40)
#define ITM_PAPER41 (ITM_PAPER_START + 41)
#define ITM_PAPER42 (ITM_PAPER_START + 42)
#define ITM_PAPER43 (ITM_PAPER_START + 43)
#define ITM_PAPER44 (ITM_PAPER_START + 44)
#define ITM_PAPER45 (ITM_PAPER_START + 45)
#define ITM_PAPER46 (ITM_PAPER_START + 46)
#define ITM_PAPER47 (ITM_PAPER_START + 47)
#define ITM_PAPER48 (ITM_PAPER_START + 48)
#define ITM_PAPER49 (ITM_PAPER_START + 49)
#define ITM_PAPER50 (ITM_PAPER_START + 50)
#define ITM_PAPER51 (ITM_PAPER_START + 51)
#define ITM_PAPER52 (ITM_PAPER_START + 52)
#define ITM_PAPER53 (ITM_PAPER_START + 53)
#define ITM_PAPER54 (ITM_PAPER_START + 54)
#define ITM_PAPER55 (ITM_PAPER_START + 55)
#define ITM_PAPER56 (ITM_PAPER_START + 56)
#define ITM_PAPER57 (ITM_PAPER_START + 57)
#define ITM_PAPER58 (ITM_PAPER_START + 58)
#define ITM_PAPER59 (ITM_PAPER_START + 59)
#define ITM_PAPER60 (ITM_PAPER_START + 60)
#define ITM_PAPER61 (ITM_PAPER_START + 61)
#define ITM_PAPER62 (ITM_PAPER_START + 62)
#define ITM_PAPER63 (ITM_PAPER_START + 63)
#define ITM_PAPER_STACK_TWO_START 0x2040
#define ITM_PAPER_STACK_THREE_START 0x2080
#define ITM_PAPER_STACK_FOUR_START 0x20C0
#define ITM_PAPER_END (ITM_PAPER_START + 256)
#define ITM_MONEY_START 0x2100
#define ITM_MONEY_1000 ITM_MONEY_START // 0x2100
#define ITM_MONEY_10000 (ITM_MONEY_1000 + 1) // 0x2101
#define ITM_MONEY_30000 (ITM_MONEY_10000 + 1) // 0x2102
#define ITM_MONEY_100 (ITM_MONEY_30000 + 1) // 0x2103
#define ITM_MONEY_END ITM_MONEY_100 // 0x2103
#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_GELATO_UMBRELLA 0x2204
#define ITM_DAFFODIL_PARASOL 0x2205
// TODO: other umbrellas
#define ITM_FLAME_UMBRELLA 0x2223
#define ITM_MY_ORG_UMBRELLA0 0x2224
#define ITM_MY_ORG_UMBRELLA1 0x2225
#define ITM_MY_ORG_UMBRELLA2 0x2226
#define ITM_MY_ORG_UMBRELLA3 0x2227
#define ITM_MY_ORG_UMBRELLA4 0x2228
#define ITM_MY_ORG_UMBRELLA5 0x2229
#define ITM_MY_ORG_UMBRELLA6 0x222A
#define ITM_MY_ORG_UMBRELLA7 0x222B
#define ITM_SICKLE 0x222C
#define ITM_RED_PAINT 0x222D
#define ITM_ORANGE_PAINT 0x222E
#define ITM_YELLOW_PAINT 0x222F
#define ITM_PALE_GREEN_PAINT 0x2230
#define ITM_GREEN_PAINT 0x2231
#define ITM_SKY_BLUE_PAINT 0x2232
#define ITM_BLUE_PAINT 0x2233
#define ITM_PURPLE_PAINT 0x2234
#define ITM_PINK_PAINT 0x2235
#define ITM_BLACK_PAINT 0x2236
#define ITM_WHITE_PAINT 0x2237
#define ITM_BROWN_PAINT 0x2238
#define ITM_GOLDEN_NET 0x2239
#define ITM_GOLDEN_AXE 0x223A
#define ITM_GOLDEN_SHOVEL 0x223B
#define ITM_GOLDEN_ROD 0x223C
#define ITM_AXE_USE_1 0x223D
#define ITM_AXE_USE_2 0x223E
#define ITM_AXE_USE_3 0x223F
#define ITM_AXE_USE_4 0x2240
#define ITM_AXE_USE_5 0x2241
#define ITM_AXE_USE_6 0x2242
#define ITM_AXE_USE_7 0x2243
#define ITM_RED_BALLOON 0x2244
#define ITM_YELLOW_BALLOON 0x2245
#define ITM_BLUE_BALLOON 0x2246
#define ITM_GREEN_BALLOON 0x2247
#define ITM_PURPLE_BALLOON 0x2248
#define ITM_BUNNY_P_BALLOON 0x2249
#define ITM_BUNNY_B_BALLOON 0x224A
#define ITM_BUNNY_O_BALLOON 0x224B
#define ITM_YELLOW_PINWHEEL 0x224C
#define ITM_RED_PINWHEEL 0x224D
#define ITM_TIGER_PINWHEEL 0x224E
#define ITM_GREEN_PINWHEEL 0x224F
#define ITM_PINK_PINWHEEL 0x2250
#define ITM_STRIPED_PINWHEEL 0x2251
#define ITM_FLOWER_PINWHEEL 0x2252
#define ITM_FANCY_PINWHEEL 0x2253
#define ITM_BLUEBELL_FAN 0x2254
#define ITM_PLUM_FAN 0x2255
#define ITM_BAMBOO_FAN 0x2256
#define ITM_CLOUD_FAN 0x2257
#define ITM_MAPLE_FAN 0x2258
#define ITM_FAN_FAN 0x2259
#define ITM_FLOWER_FAN 0x225A
#define ITM_LEAF_FAN 0x225B
#define ITM_TOOL_END (ITM_LEAF_FAN + 1)
#define ITM_FISH_START 0x2300
#define ITM_FISH00 (ITM_FISH_START + 0)
#define ITM_FISH01 (ITM_FISH_START + 1)
#define ITM_FISH02 (ITM_FISH_START + 2)
#define ITM_FISH03 (ITM_FISH_START + 3)
#define ITM_FISH04 (ITM_FISH_START + 4)
#define ITM_FISH05 (ITM_FISH_START + 5)
#define ITM_FISH06 (ITM_FISH_START + 6)
#define ITM_FISH07 (ITM_FISH_START + 7)
#define ITM_FISH08 (ITM_FISH_START + 8)
#define ITM_FISH09 (ITM_FISH_START + 9)
#define ITM_FISH10 (ITM_FISH_START + 10)
#define ITM_FISH11 (ITM_FISH_START + 11)
#define ITM_FISH12 (ITM_FISH_START + 12)
#define ITM_FISH13 (ITM_FISH_START + 13)
#define ITM_FISH14 (ITM_FISH_START + 14)
#define ITM_FISH15 (ITM_FISH_START + 15)
#define ITM_FISH16 (ITM_FISH_START + 16)
#define ITM_FISH17 (ITM_FISH_START + 17)
#define ITM_FISH18 (ITM_FISH_START + 18)
#define ITM_FISH19 (ITM_FISH_START + 19)
#define ITM_FISH20 (ITM_FISH_START + 20)
#define ITM_FISH21 (ITM_FISH_START + 21)
#define ITM_FISH22 (ITM_FISH_START + 22)
#define ITM_FISH23 (ITM_FISH_START + 23)
#define ITM_FISH24 (ITM_FISH_START + 24)
#define ITM_FISH25 (ITM_FISH_START + 25)
#define ITM_FISH26 (ITM_FISH_START + 26)
#define ITM_FISH27 (ITM_FISH_START + 27)
#define ITM_FISH28 (ITM_FISH_START + 28)
#define ITM_FISH29 (ITM_FISH_START + 29)
#define ITM_FISH30 (ITM_FISH_START + 30)
#define ITM_FISH31 (ITM_FISH_START + 31)
#define ITM_FISH32 (ITM_FISH_START + 32)
#define ITM_FISH33 (ITM_FISH_START + 33)
#define ITM_FISH34 (ITM_FISH_START + 34)
#define ITM_FISH35 (ITM_FISH_START + 35)
#define ITM_FISH36 (ITM_FISH_START + 36)
#define ITM_FISH37 (ITM_FISH_START + 37)
#define ITM_FISH38 (ITM_FISH_START + 38)
#define ITM_FISH39 (ITM_FISH_START + 39)
#define ITM_FISH_END (ITM_FISH_START + 40)
#define ITM_CLOTH_START 0x2400
#define ITM_CLOTH000 (ITM_CLOTH_START + 0)
#define ITM_CLOTH001 (ITM_CLOTH_START + 1)
#define ITM_CLOTH002 (ITM_CLOTH_START + 2)
#define ITM_CLOTH003 (ITM_CLOTH_START + 3)
#define ITM_CLOTH004 (ITM_CLOTH_START + 4)
#define ITM_CLOTH005 (ITM_CLOTH_START + 5)
#define ITM_CLOTH006 (ITM_CLOTH_START + 6)
#define ITM_CLOTH007 (ITM_CLOTH_START + 7)
#define ITM_CLOTH008 (ITM_CLOTH_START + 8)
#define ITM_CLOTH009 (ITM_CLOTH_START + 9)
#define ITM_CLOTH010 (ITM_CLOTH_START + 10)
#define ITM_CLOTH011 (ITM_CLOTH_START + 11)
#define ITM_CLOTH012 (ITM_CLOTH_START + 12)
#define ITM_CLOTH013 (ITM_CLOTH_START + 13)
#define ITM_CLOTH014 (ITM_CLOTH_START + 14)
#define ITM_CLOTH015 (ITM_CLOTH_START + 15)
#define ITM_CLOTH016 (ITM_CLOTH_START + 16)
#define ITM_CLOTH017 (ITM_CLOTH_START + 17)
#define ITM_CLOTH018 (ITM_CLOTH_START + 18)
#define ITM_CLOTH019 (ITM_CLOTH_START + 19)
#define ITM_CLOTH020 (ITM_CLOTH_START + 20)
#define ITM_CLOTH021 (ITM_CLOTH_START + 21)
#define ITM_CLOTH022 (ITM_CLOTH_START + 22)
#define ITM_CLOTH023 (ITM_CLOTH_START + 23)
#define ITM_CLOTH024 (ITM_CLOTH_START + 24)
#define ITM_CLOTH025 (ITM_CLOTH_START + 25)
#define ITM_CLOTH026 (ITM_CLOTH_START + 26)
#define ITM_CLOTH027 (ITM_CLOTH_START + 27)
#define ITM_CLOTH028 (ITM_CLOTH_START + 28)
#define ITM_CLOTH029 (ITM_CLOTH_START + 29)
#define ITM_CLOTH030 (ITM_CLOTH_START + 30)
#define ITM_CLOTH031 (ITM_CLOTH_START + 31)
#define ITM_CLOTH032 (ITM_CLOTH_START + 32)
#define ITM_CLOTH033 (ITM_CLOTH_START + 33)
#define ITM_CLOTH034 (ITM_CLOTH_START + 34)
#define ITM_CLOTH035 (ITM_CLOTH_START + 35)
#define ITM_CLOTH036 (ITM_CLOTH_START + 36)
#define ITM_CLOTH037 (ITM_CLOTH_START + 37)
#define ITM_CLOTH038 (ITM_CLOTH_START + 38)
#define ITM_CLOTH039 (ITM_CLOTH_START + 39)
#define ITM_CLOTH040 (ITM_CLOTH_START + 40)
#define ITM_CLOTH041 (ITM_CLOTH_START + 41)
#define ITM_CLOTH042 (ITM_CLOTH_START + 42)
#define ITM_CLOTH043 (ITM_CLOTH_START + 43)
#define ITM_CLOTH044 (ITM_CLOTH_START + 44)
#define ITM_CLOTH045 (ITM_CLOTH_START + 45)
#define ITM_CLOTH046 (ITM_CLOTH_START + 46)
#define ITM_CLOTH047 (ITM_CLOTH_START + 47)
#define ITM_CLOTH048 (ITM_CLOTH_START + 48)
#define ITM_CLOTH049 (ITM_CLOTH_START + 49)
#define ITM_CLOTH050 (ITM_CLOTH_START + 50)
#define ITM_CLOTH051 (ITM_CLOTH_START + 51)
#define ITM_CLOTH052 (ITM_CLOTH_START + 52)
#define ITM_CLOTH053 (ITM_CLOTH_START + 53)
#define ITM_CLOTH054 (ITM_CLOTH_START + 54)
#define ITM_CLOTH055 (ITM_CLOTH_START + 55)
#define ITM_CLOTH056 (ITM_CLOTH_START + 56)
#define ITM_CLOTH057 (ITM_CLOTH_START + 57)
#define ITM_CLOTH058 (ITM_CLOTH_START + 58)
#define ITM_CLOTH059 (ITM_CLOTH_START + 59)
#define ITM_CLOTH060 (ITM_CLOTH_START + 60)
#define ITM_CLOTH061 (ITM_CLOTH_START + 61)
#define ITM_CLOTH062 (ITM_CLOTH_START + 62)
#define ITM_CLOTH063 (ITM_CLOTH_START + 63)
#define ITM_CLOTH064 (ITM_CLOTH_START + 64)
#define ITM_CLOTH065 (ITM_CLOTH_START + 65)
#define ITM_CLOTH066 (ITM_CLOTH_START + 66)
#define ITM_CLOTH067 (ITM_CLOTH_START + 67)
#define ITM_CLOTH068 (ITM_CLOTH_START + 68)
#define ITM_CLOTH069 (ITM_CLOTH_START + 69)
#define ITM_CLOTH070 (ITM_CLOTH_START + 70)
#define ITM_CLOTH071 (ITM_CLOTH_START + 71)
#define ITM_CLOTH072 (ITM_CLOTH_START + 72)
#define ITM_CLOTH073 (ITM_CLOTH_START + 73)
#define ITM_CLOTH074 (ITM_CLOTH_START + 74)
#define ITM_CLOTH075 (ITM_CLOTH_START + 75)
#define ITM_CLOTH076 (ITM_CLOTH_START + 76)
#define ITM_CLOTH077 (ITM_CLOTH_START + 77)
#define ITM_CLOTH078 (ITM_CLOTH_START + 78)
#define ITM_CLOTH079 (ITM_CLOTH_START + 79)
#define ITM_CLOTH080 (ITM_CLOTH_START + 80)
#define ITM_CLOTH081 (ITM_CLOTH_START + 81)
#define ITM_CLOTH082 (ITM_CLOTH_START + 82)
#define ITM_CLOTH083 (ITM_CLOTH_START + 83)
#define ITM_CLOTH084 (ITM_CLOTH_START + 84)
#define ITM_CLOTH085 (ITM_CLOTH_START + 85)
#define ITM_CLOTH086 (ITM_CLOTH_START + 86)
#define ITM_CLOTH087 (ITM_CLOTH_START + 87)
#define ITM_CLOTH088 (ITM_CLOTH_START + 88)
#define ITM_CLOTH089 (ITM_CLOTH_START + 89)
#define ITM_CLOTH090 (ITM_CLOTH_START + 90)
#define ITM_CLOTH091 (ITM_CLOTH_START + 91)
#define ITM_CLOTH092 (ITM_CLOTH_START + 92)
#define ITM_CLOTH093 (ITM_CLOTH_START + 93)
#define ITM_CLOTH094 (ITM_CLOTH_START + 94)
#define ITM_CLOTH095 (ITM_CLOTH_START + 95)
#define ITM_CLOTH096 (ITM_CLOTH_START + 96)
#define ITM_CLOTH097 (ITM_CLOTH_START + 97)
#define ITM_CLOTH098 (ITM_CLOTH_START + 98)
#define ITM_CLOTH099 (ITM_CLOTH_START + 99)
#define ITM_CLOTH100 (ITM_CLOTH_START + 100)
#define ITM_CLOTH101 (ITM_CLOTH_START + 101)
#define ITM_CLOTH102 (ITM_CLOTH_START + 102)
#define ITM_CLOTH103 (ITM_CLOTH_START + 103)
#define ITM_CLOTH104 (ITM_CLOTH_START + 104)
#define ITM_CLOTH105 (ITM_CLOTH_START + 105)
#define ITM_CLOTH106 (ITM_CLOTH_START + 106)
#define ITM_CLOTH107 (ITM_CLOTH_START + 107)
#define ITM_CLOTH108 (ITM_CLOTH_START + 108)
#define ITM_CLOTH109 (ITM_CLOTH_START + 109)
#define ITM_CLOTH110 (ITM_CLOTH_START + 110)
#define ITM_CLOTH111 (ITM_CLOTH_START + 111)
#define ITM_CLOTH112 (ITM_CLOTH_START + 112)
#define ITM_CLOTH113 (ITM_CLOTH_START + 113)
#define ITM_CLOTH114 (ITM_CLOTH_START + 114)
#define ITM_CLOTH115 (ITM_CLOTH_START + 115)
#define ITM_CLOTH116 (ITM_CLOTH_START + 116)
#define ITM_CLOTH117 (ITM_CLOTH_START + 117)
#define ITM_CLOTH118 (ITM_CLOTH_START + 118)
#define ITM_CLOTH119 (ITM_CLOTH_START + 119)
#define ITM_CLOTH120 (ITM_CLOTH_START + 120)
#define ITM_CLOTH121 (ITM_CLOTH_START + 121)
#define ITM_CLOTH122 (ITM_CLOTH_START + 122)
#define ITM_CLOTH123 (ITM_CLOTH_START + 123)
#define ITM_CLOTH124 (ITM_CLOTH_START + 124)
#define ITM_CLOTH125 (ITM_CLOTH_START + 125)
#define ITM_CLOTH126 (ITM_CLOTH_START + 126)
#define ITM_CLOTH127 (ITM_CLOTH_START + 127)
#define ITM_CLOTH128 (ITM_CLOTH_START + 128)
#define ITM_CLOTH129 (ITM_CLOTH_START + 129)
#define ITM_CLOTH130 (ITM_CLOTH_START + 130)
#define ITM_CLOTH131 (ITM_CLOTH_START + 131)
#define ITM_CLOTH132 (ITM_CLOTH_START + 132)
#define ITM_CLOTH133 (ITM_CLOTH_START + 133)
#define ITM_CLOTH134 (ITM_CLOTH_START + 134)
#define ITM_CLOTH135 (ITM_CLOTH_START + 135)
#define ITM_CLOTH136 (ITM_CLOTH_START + 136)
#define ITM_CLOTH137 (ITM_CLOTH_START + 137)
#define ITM_CLOTH138 (ITM_CLOTH_START + 138)
#define ITM_CLOTH139 (ITM_CLOTH_START + 139)
#define ITM_CLOTH140 (ITM_CLOTH_START + 140)
#define ITM_CLOTH141 (ITM_CLOTH_START + 141)
#define ITM_CLOTH142 (ITM_CLOTH_START + 142)
#define ITM_CLOTH143 (ITM_CLOTH_START + 143)
#define ITM_CLOTH144 (ITM_CLOTH_START + 144)
#define ITM_CLOTH145 (ITM_CLOTH_START + 145)
#define ITM_CLOTH146 (ITM_CLOTH_START + 146)
#define ITM_CLOTH147 (ITM_CLOTH_START + 147)
#define ITM_CLOTH148 (ITM_CLOTH_START + 148)
#define ITM_CLOTH149 (ITM_CLOTH_START + 149)
#define ITM_CLOTH150 (ITM_CLOTH_START + 150)
#define ITM_CLOTH151 (ITM_CLOTH_START + 151)
#define ITM_CLOTH152 (ITM_CLOTH_START + 152)
#define ITM_CLOTH153 (ITM_CLOTH_START + 153)
#define ITM_CLOTH154 (ITM_CLOTH_START + 154)
#define ITM_CLOTH155 (ITM_CLOTH_START + 155)
#define ITM_CLOTH156 (ITM_CLOTH_START + 156)
#define ITM_CLOTH157 (ITM_CLOTH_START + 157)
#define ITM_CLOTH158 (ITM_CLOTH_START + 158)
#define ITM_CLOTH159 (ITM_CLOTH_START + 159)
#define ITM_CLOTH160 (ITM_CLOTH_START + 160)
#define ITM_CLOTH161 (ITM_CLOTH_START + 161)
#define ITM_CLOTH162 (ITM_CLOTH_START + 162)
#define ITM_CLOTH163 (ITM_CLOTH_START + 163)
#define ITM_CLOTH164 (ITM_CLOTH_START + 164)
#define ITM_CLOTH165 (ITM_CLOTH_START + 165)
#define ITM_CLOTH166 (ITM_CLOTH_START + 166)
#define ITM_CLOTH167 (ITM_CLOTH_START + 167)
#define ITM_CLOTH168 (ITM_CLOTH_START + 168)
#define ITM_CLOTH169 (ITM_CLOTH_START + 169)
#define ITM_CLOTH170 (ITM_CLOTH_START + 170)
#define ITM_CLOTH171 (ITM_CLOTH_START + 171)
#define ITM_CLOTH172 (ITM_CLOTH_START + 172)
#define ITM_CLOTH173 (ITM_CLOTH_START + 173)
#define ITM_CLOTH174 (ITM_CLOTH_START + 174)
#define ITM_CLOTH175 (ITM_CLOTH_START + 175)
#define ITM_CLOTH176 (ITM_CLOTH_START + 176)
#define ITM_CLOTH177 (ITM_CLOTH_START + 177)
#define ITM_CLOTH178 (ITM_CLOTH_START + 178)
#define ITM_CLOTH179 (ITM_CLOTH_START + 179)
#define ITM_CLOTH180 (ITM_CLOTH_START + 180)
#define ITM_CLOTH181 (ITM_CLOTH_START + 181)
#define ITM_CLOTH182 (ITM_CLOTH_START + 182)
#define ITM_CLOTH183 (ITM_CLOTH_START + 183)
#define ITM_CLOTH184 (ITM_CLOTH_START + 184)
#define ITM_CLOTH185 (ITM_CLOTH_START + 185)
#define ITM_CLOTH186 (ITM_CLOTH_START + 186)
#define ITM_CLOTH187 (ITM_CLOTH_START + 187)
#define ITM_CLOTH188 (ITM_CLOTH_START + 188)
#define ITM_CLOTH189 (ITM_CLOTH_START + 189)
#define ITM_CLOTH190 (ITM_CLOTH_START + 190)
#define ITM_CLOTH191 (ITM_CLOTH_START + 191)
#define ITM_CLOTH192 (ITM_CLOTH_START + 192)
#define ITM_CLOTH193 (ITM_CLOTH_START + 193)
#define ITM_CLOTH194 (ITM_CLOTH_START + 194)
#define ITM_CLOTH195 (ITM_CLOTH_START + 195)
#define ITM_CLOTH196 (ITM_CLOTH_START + 196)
#define ITM_CLOTH197 (ITM_CLOTH_START + 197)
#define ITM_CLOTH198 (ITM_CLOTH_START + 198)
#define ITM_CLOTH199 (ITM_CLOTH_START + 199)
#define ITM_CLOTH200 (ITM_CLOTH_START + 200)
#define ITM_CLOTH201 (ITM_CLOTH_START + 201)
#define ITM_CLOTH202 (ITM_CLOTH_START + 202)
#define ITM_CLOTH203 (ITM_CLOTH_START + 203)
#define ITM_CLOTH204 (ITM_CLOTH_START + 204)
#define ITM_CLOTH205 (ITM_CLOTH_START + 205)
#define ITM_CLOTH206 (ITM_CLOTH_START + 206)
#define ITM_CLOTH207 (ITM_CLOTH_START + 207)
#define ITM_CLOTH208 (ITM_CLOTH_START + 208)
#define ITM_CLOTH209 (ITM_CLOTH_START + 209)
#define ITM_CLOTH210 (ITM_CLOTH_START + 210)
#define ITM_CLOTH211 (ITM_CLOTH_START + 211)
#define ITM_CLOTH212 (ITM_CLOTH_START + 212)
#define ITM_CLOTH213 (ITM_CLOTH_START + 213)
#define ITM_CLOTH214 (ITM_CLOTH_START + 214)
#define ITM_CLOTH215 (ITM_CLOTH_START + 215)
#define ITM_CLOTH216 (ITM_CLOTH_START + 216)
#define ITM_CLOTH217 (ITM_CLOTH_START + 217)
#define ITM_CLOTH218 (ITM_CLOTH_START + 218)
#define ITM_CLOTH219 (ITM_CLOTH_START + 219)
#define ITM_CLOTH220 (ITM_CLOTH_START + 220)
#define ITM_CLOTH221 (ITM_CLOTH_START + 221)
#define ITM_CLOTH222 (ITM_CLOTH_START + 222)
#define ITM_CLOTH223 (ITM_CLOTH_START + 223)
#define ITM_CLOTH224 (ITM_CLOTH_START + 224)
#define ITM_CLOTH225 (ITM_CLOTH_START + 225)
#define ITM_CLOTH226 (ITM_CLOTH_START + 226)
#define ITM_CLOTH227 (ITM_CLOTH_START + 227)
#define ITM_CLOTH228 (ITM_CLOTH_START + 228)
#define ITM_CLOTH229 (ITM_CLOTH_START + 229)
#define ITM_CLOTH230 (ITM_CLOTH_START + 230)
#define ITM_CLOTH231 (ITM_CLOTH_START + 231)
#define ITM_CLOTH232 (ITM_CLOTH_START + 232)
#define ITM_CLOTH233 (ITM_CLOTH_START + 233)
#define ITM_CLOTH234 (ITM_CLOTH_START + 234)
#define ITM_CLOTH235 (ITM_CLOTH_START + 235)
#define ITM_CLOTH236 (ITM_CLOTH_START + 236)
#define ITM_CLOTH237 (ITM_CLOTH_START + 237)
#define ITM_CLOTH238 (ITM_CLOTH_START + 238)
#define ITM_CLOTH239 (ITM_CLOTH_START + 239)
#define ITM_CLOTH240 (ITM_CLOTH_START + 240)
#define ITM_CLOTH241 (ITM_CLOTH_START + 241)
#define ITM_CLOTH242 (ITM_CLOTH_START + 242)
#define ITM_CLOTH243 (ITM_CLOTH_START + 243)
#define ITM_CLOTH244 (ITM_CLOTH_START + 244)
#define ITM_CLOTH245 (ITM_CLOTH_START + 245)
#define ITM_CLOTH246 (ITM_CLOTH_START + 246)
#define ITM_CLOTH247 (ITM_CLOTH_START + 247)
#define ITM_CLOTH248 (ITM_CLOTH_START + 248)
#define ITM_CLOTH249 (ITM_CLOTH_START + 249)
#define ITM_CLOTH250 (ITM_CLOTH_START + 250)
#define ITM_CLOTH251 (ITM_CLOTH_START + 251)
#define ITM_CLOTH252 (ITM_CLOTH_START + 252)
#define ITM_CLOTH253 (ITM_CLOTH_START + 253)
#define ITM_CLOTH254 (ITM_CLOTH_START + 254)
#define ITM_CLOTH_END (ITM_CLOTH_START + 255)
#define ITM_ETC_START 0x2500
#define ITM_QST_LETTER ITM_ETC_START
#define ITM_QST_CLOTH (ITM_QST_LETTER + 1)
#define ITM_QST_MONEY (ITM_QST_CLOTH + 1)
#define ITM_QST_VIDEOTAPE (ITM_QST_MONEY + 1)
#define ITM_QST_ORGANIZER (ITM_QST_VIDEOTAPE + 1)
#define ITM_QST_POKEMON_PIKACHU (ITM_QST_ORGANIZER + 1)
#define ITM_QST_COMIC_BOOK (ITM_QST_POKEMON_PIKACHU + 1)
#define ITM_QST_PICTURE_BOOK (ITM_QST_COMIC_BOOK + 1)
#define ITM_QST_GAME_BOY (ITM_QST_PICTURE_BOOK + 1)
#define ITM_QST_CAMREA (ITM_QST_GAME_BOY + 1)
#define ITM_QST_WATCH (ITM_QST_CAMREA + 1)
#define ITM_QST_HANDKERCHIEF (ITM_QST_WATCH + 1)
#define ITM_QST_GLASSES_CASE (ITM_QST_HANDKERCHIEF + 1)
#define ITM_MONEY1000BELL (ITM_QST_GLASSES_CASE + 1)
#define ITM_DUST0_EMPTY_CAN (ITM_MONEY1000BELL + 1)
#define ITM_DUST1_BOOT (ITM_DUST0_EMPTY_CAN + 1)
#define ITM_DUST2_OLD_TIRE (ITM_DUST1_BOOT + 1)
#define ITM_FOSSIL (ITM_DUST2_OLD_TIRE + 1)
#define ITM_PITFALL (ITM_FOSSIL + 1)
#define ITM_FORTUNE_SLIP (ITM_PITFALL + 1)
#define ITM_SHELL_START (ITM_ETC_START + 20)
#define ITM_SHELL0 (ITM_SHELL_START + 0)
#define ITM_SHELL1 (ITM_SHELL_START + 1)
#define ITM_SHELL2 (ITM_SHELL_START + 2)
#define ITM_SHELL3 (ITM_SHELL_START + 3)
#define ITM_SHELL4 (ITM_SHELL_START + 4)
#define ITM_SHELL5 (ITM_SHELL_START + 5)
#define ITM_SHELL6 (ITM_SHELL_START + 6)
#define ITM_SHELL7 (ITM_SHELL_START + 7)
#define ITM_SHELL_END (ITM_SHELL_START + 8)
#define ITM_PRESENT (ITM_ETC_START + 28)
#define ITM_TOWN_MAP (ITM_PRESENT + 1)
#define ITM_SIGNBOARD (ITM_TOWN_MAP + 1)
#define ITM_GOLDEN_NET_PRESENT (ITM_SIGNBOARD + 1)
#define ITM_GOLDEN_AXE_PRESENT (ITM_GOLDEN_NET_PRESENT + 1)
#define ITM_GOLDEN_SHOVEL_PRESENT (ITM_GOLDEN_AXE_PRESENT + 1)
#define ITM_GOLDEN_ROD_PRESENT (ITM_GOLDEN_SHOVEL_PRESENT + 1)
#define ITM_EXCERCISE_CARD00 (ITM_GOLDEN_ROD_PRESENT + 1)
#define ITM_EXCERCISE_CARD01 (ITM_EXCERCISE_CARD00 + 1)
#define ITM_EXCERCISE_CARD02 (ITM_EXCERCISE_CARD01 + 1)
#define ITM_EXCERCISE_CARD03 (ITM_EXCERCISE_CARD02 + 1)
#define ITM_EXCERCISE_CARD04 (ITM_EXCERCISE_CARD03 + 1)
#define ITM_EXCERCISE_CARD05 (ITM_EXCERCISE_CARD04 + 1)
#define ITM_EXCERCISE_CARD06 (ITM_EXCERCISE_CARD05 + 1)
#define ITM_EXCERCISE_CARD07 (ITM_EXCERCISE_CARD06 + 1)
#define ITM_EXCERCISE_CARD08 (ITM_EXCERCISE_CARD07 + 1)
#define ITM_EXCERCISE_CARD09 (ITM_EXCERCISE_CARD08 + 1)
#define ITM_EXCERCISE_CARD10 (ITM_EXCERCISE_CARD09 + 1)
#define ITM_EXCERCISE_CARD11 (ITM_EXCERCISE_CARD10 + 1)
#define ITM_EXCERCISE_CARD12 (ITM_EXCERCISE_CARD11 + 1)
#define ITM_KNIFE_AND_FORK (ITM_EXCERCISE_CARD12 + 1)
#define ITM_ETC_END 0x2531
#define ITM_CARPET_START 0x2600
#define ITM_CARPET00 (ITM_CARPET_START + 0)
#define ITM_CARPET_END (ITM_CARPET_START + 71)
#define ITM_WALL_START 0x2700
#define ITM_WALL00 (ITM_WALL_START + 0)
#define ITM_WALL_END (ITM_WALL_START + 71)
#define ITM_FOOD_START 0x2800
#define ITM_FOOD_APPLE (ITM_FOOD_START + 0)
#define ITM_FOOD_CHERRY (ITM_FOOD_START + 1)
#define ITM_FOOD_PEAR (ITM_FOOD_START + 2)
#define ITM_FOOD_PEACH (ITM_FOOD_START + 3)
#define ITM_FOOD_ORANGE (ITM_FOOD_START + 4)
#define ITM_FOOD_MUSHROOM (ITM_FOOD_START + 5)
#define ITM_FOOD_CANDY (ITM_FOOD_START + 6)
#define ITM_FOOD_COCONUT (ITM_FOOD_START + 7)
#define ITM_FOOD_END (ITM_FOOD_START + 8)
#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 ITM_YELLOW_TULIP_BAG 0x290A
#define ITM_MINIDISK_START 0x2A00
#define ITM_DIARY_START 0x2B00
#define ITM_DIARY00 (ITM_DIARY_START + 0)
#define ITM_DIARY01 (ITM_DIARY_START + 1)
#define ITM_DIARY02 (ITM_DIARY_START + 2)
#define ITM_DIARY03 (ITM_DIARY_START + 3)
#define ITM_DIARY04 (ITM_DIARY_START + 4)
#define ITM_DIARY05 (ITM_DIARY_START + 5)
#define ITM_DIARY06 (ITM_DIARY_START + 6)
#define ITM_DIARY07 (ITM_DIARY_START + 7)
#define ITM_DIARY08 (ITM_DIARY_START + 8)
#define ITM_DIARY09 (ITM_DIARY_START + 9)
#define ITM_DIARY10 (ITM_DIARY_START + 10)
#define ITM_DIARY11 (ITM_DIARY_START + 11)
#define ITM_DIARY12 (ITM_DIARY_START + 12)
#define ITM_DIARY13 (ITM_DIARY_START + 13)
#define ITM_DIARY14 (ITM_DIARY_START + 14)
#define ITM_DIARY15 (ITM_DIARY_START + 15)
#define ITM_DIARY_END (ITM_DIARY_START + 16)
#define ITM_TICKET_START 0x2C00
#define ITM_INSECT_START 0x2D00
#define ITM_INSECT00 (ITM_INSECT_START + 0)
#define ITM_INSECT01 (ITM_INSECT_START + 1)
#define ITM_INSECT02 (ITM_INSECT_START + 2)
#define ITM_INSECT03 (ITM_INSECT_START + 3)
#define ITM_INSECT04 (ITM_INSECT_START + 4)
#define ITM_INSECT05 (ITM_INSECT_START + 5)
#define ITM_INSECT06 (ITM_INSECT_START + 6)
#define ITM_INSECT07 (ITM_INSECT_START + 7)
#define ITM_INSECT08 (ITM_INSECT_START + 8)
#define ITM_INSECT09 (ITM_INSECT_START + 9)
#define ITM_INSECT10 (ITM_INSECT_START + 10)
#define ITM_INSECT11 (ITM_INSECT_START + 11)
#define ITM_INSECT12 (ITM_INSECT_START + 12)
#define ITM_INSECT13 (ITM_INSECT_START + 13)
#define ITM_INSECT14 (ITM_INSECT_START + 14)
#define ITM_INSECT15 (ITM_INSECT_START + 15)
#define ITM_INSECT16 (ITM_INSECT_START + 16)
#define ITM_INSECT17 (ITM_INSECT_START + 17)
#define ITM_INSECT18 (ITM_INSECT_START + 18)
#define ITM_INSECT19 (ITM_INSECT_START + 19)
#define ITM_INSECT20 (ITM_INSECT_START + 20)
#define ITM_INSECT21 (ITM_INSECT_START + 21)
#define ITM_INSECT22 (ITM_INSECT_START + 22)
#define ITM_INSECT23 (ITM_INSECT_START + 23)
#define ITM_INSECT24 (ITM_INSECT_START + 24)
#define ITM_INSECT25 (ITM_INSECT_START + 25)
#define ITM_INSECT26 (ITM_INSECT_START + 26)
#define ITM_INSECT27 (ITM_INSECT_START + 27)
#define ITM_INSECT28 (ITM_INSECT_START + 28)
#define ITM_INSECT29 (ITM_INSECT_START + 29)
#define ITM_INSECT30 (ITM_INSECT_START + 30)
#define ITM_INSECT31 (ITM_INSECT_START + 31)
#define ITM_INSECT32 (ITM_INSECT_START + 32)
#define ITM_INSECT33 (ITM_INSECT_START + 33)
#define ITM_INSECT34 (ITM_INSECT_START + 34)
#define ITM_INSECT35 (ITM_INSECT_START + 35)
#define ITM_INSECT36 (ITM_INSECT_START + 36)
#define ITM_INSECT37 (ITM_INSECT_START + 37)
#define ITM_INSECT38 (ITM_INSECT_START + 38)
#define ITM_INSECT39 (ITM_INSECT_START + 39)
#define ITM_SPIRIT0 (ITM_INSECT_START + 40)
#define ITM_SPIRIT1 (ITM_INSECT_START + 41)
#define ITM_SPIRIT2 (ITM_INSECT_START + 42)
#define ITM_SPIRIT3 (ITM_INSECT_START + 43)
#define ITM_SPIRIT4 (ITM_INSECT_START + 44)
#define ITM_INSECT_END (ITM_INSECT_START + 45)
#define ITM_HUKUBUKURO_START 0x2E00
#define ITM_HUKUBUKURO_BAG (ITM_HUKUBUKURO_START + 0)
#define ITM_HUKUBUKURO_PRESENT (ITM_HUKUBUKURO_START + 1)
#define ITM_HUKUBUKURO_END (ITM_HUKUBUKURO_START + 2)
#define ITM_KABU_START 0x2F00
#define ITM_KABU_10 (ITM_KABU_START + 0)
#define ITM_KABU_50 (ITM_KABU_START + 1)
#define ITM_KABU_100 (ITM_KABU_START + 2)
#define ITM_KABU_SPOILED (ITM_KABU_START + 3)
#define ITM_KABU_END (ITM_KABU_START + 4)
#define FTR1_START 0x3000
#define FTR_POST_MODEL 0x3020
#define FTR_HOUSE_MODEL 0x3024
#define FTR_MANOR_MODEL 0x3028
#define FTR_POLICE_MODEL 0x302C
#define FTR_MUSEUM_MODEL 0x3030
#define FTR_LOCOMOTIVE_MODEL 0x30A0
#define FTR_TRAIN_CAR_MODEL 0x30F4
#define FTR_ORANGEBOX 0x30F8
#define FTR_COLLEGERULE 0x30FC
#define FTR_CALLIGRAPHY_PAD_WEST 0x313B
#define FTR_FESTIVE_FLAG 0x327C
#define FTR_MAILBOX 0x3294
#define FTR_FESTIVE_CANDLE 0x3298
#define FTR1_END 0x3000
#define DOOR_START 0x4000
#define DOOR0 DOOR_START /* 0x4000 */
#define DOOR1 (DOOR0 + 1) /* 0x4001 */
#define EXIT_DOOR 0x4080
#define NPC_HOUSE_START 0x5000
#define NPC_HOUSE000 NPC_HOUSE_START
//
#define NPC_HOUSE_END 0x50EE
#define STRUCTURE_START 0x5800
#define HOUSE0 (STRUCTURE_START)
#define HOUSE1 (HOUSE0 + 1)
#define HOUSE2 (HOUSE1 + 1)
#define HOUSE3 (HOUSE2 + 1)
#define SHOP0 (HOUSE3 + 1)
#define SHOP1 (SHOP0 + 1)
#define SHOP2 (SHOP1 + 1)
#define SHOP3 (SHOP2 + 1)
#define POST_OFFICE (SHOP3 + 1)
#define TRAIN_STATION (POST_OFFICE + 1)
#define TRAIN0 (TRAIN_STATION + 1)
#define TRAIN1 (TRAIN0 + 1)
#define POLICE_STATION (TRAIN1 + 1)
#define WATERFALL_SOUTH (POLICE_STATION + 1)
#define WATERFALL_EAST (WATERFALL_SOUTH + 1)
#define WATERFALL_WEST (WATERFALL_EAST + 1)
#define SIGN00 (STRUCTURE_START + 16)
#define SIGN01 (SIGN00 + 1)
#define SIGN02 (SIGN01 + 1)
#define SIGN03 (SIGN02 + 1)
#define SIGN04 (SIGN03 + 1)
#define SIGN05 (SIGN04 + 1)
#define SIGN06 (SIGN05 + 1)
#define SIGN07 (SIGN06 + 1)
#define SIGN08 (SIGN07 + 1)
#define SIGN09 (SIGN08 + 1)
#define SIGN10 (SIGN09 + 1)
#define SIGN11 (SIGN10 + 1)
#define SIGN12 (SIGN11 + 1)
#define SIGN13 (SIGN12 + 1)
#define SIGN14 (SIGN13 + 1)
#define SIGN15 (SIGN14 + 1)
#define SIGN16 (SIGN15 + 1)
#define SIGN17 (SIGN16 + 1)
#define SIGN18 (SIGN17 + 1)
#define SIGN19 (SIGN18 + 1)
#define SIGN20 (SIGN19 + 1)
#define WISHING_WELL (SIGN20 + 1)
#define BROKER_TENT (WISHING_WELL + 1)
#define FORTUNE_TENT (BROKER_TENT + 1)
#define DESIGNER_CAR (FORTUNE_TENT + 1)
#define KAMAKURA (DESIGNER_CAR + 1)
#define SAKURA_TABLE0 (KAMAKURA + 1)
#define SAKURA_TABLE1 (SAKURA_TABLE0 + 1)
#define AEROBICS_RADIO (SAKURA_TABLE1 + 1)
#define FIREWORKS_STALL0 (AEROBICS_RADIO + 1)
#define FIREWORKS_STALL1 (FIREWORKS_STALL0 + 1)
#define NEWYEAR_SHRINE0 (FIREWORKS_STALL1 + 1)
#define NEWYEAR_SHRINE1 (NEWYEAR_SHRINE0 + 1)
#define NEWYEAR_TABLE (NEWYEAR_SHRINE1 + 1)
#define NEWYEAR_COUNTDOWN0 (NEWYEAR_TABLE + 1)
#define NEWYEAR_COUNTDOWN1 (NEWYEAR_COUNTDOWN0 + 1)
#define SPORTSFAIR_BALLS_RED (NEWYEAR_COUNTDOWN1 + 1)
#define SPORTSFAIR_BALLS_WHITE (SPORTSFAIR_BALLS_RED + 1)
#define SPORTSFAIR_BASKET_RED (SPORTSFAIR_BALLS_WHITE + 1)
#define SPORTSFAIR_BASKET_WHITE (SPORTSFAIR_BASKET_RED + 1)
#define FISHCHECK_STAND0 (SPORTSFAIR_BASKET_WHITE + 1)
#define FISHCHECK_STAND1 (FISHCHECK_STAND0 + 1)
#define KOINOBORI_WINDSOCK (FISHCHECK_STAND1 + 1)
#define DUMP (KOINOBORI_WINDSOCK + 1)
#define WINDMILL0 (DUMP + 1)
#define WINDMILL1 (WINDMILL0 + 1)
#define WINDMILL2 (WINDMILL1 + 1)
#define WINDMILL3 (WINDMILL2 + 1)
#define WINDMILL4 (WINDMILL3 + 1)
#define LOTUS (WINDMILL4 + 1)
#define MIKANBOX (LOTUS + 1)
#define DOUZOU (MIKANBOX + 1) // train station statue
#define TOUDAI (DOUZOU + 1) // lighthouse
#define GHOG (TOUDAI + 1)
#define HTABLE0 (GHOG + 1)
#define HTABLE1 (HTABLE0 + 1)
#define HTABLE2 (HTABLE1 + 1)
#define TENT (HTABLE2 + 1)
#define MUSEUM (TENT + 1)
#define BRIDGE_A0 (MUSEUM + 1)
#define BRIDGE_A1 (BRIDGE_A0 + 1)
#define NEEDLEWORK_SHOP (BRIDGE_A1 + 1)
#define FLAG (NEEDLEWORK_SHOP + 1)
#define BOAT (FLAG + 1)
#define COTTAGE_MY (BOAT + 1)
#define COTTAGE_NPC (COTTAGE_MY + 1)
#define PORT_SIGN (COTTAGE_NPC + 1)
#define STRUCTURE_END (PORT_SIGN + 1)
#define ETC_START 0x8000
#define ETC_AIRPLANE ETC_START
#define ETC_BOXTRICK (ETC_START + 4)
#define ETC_BOXMANAGER (ETC_START + 5)
#define ETC_TRAIN_WINDOW (ETC_START + 17)
#define MISC_ACTOR_START 0x9000
#define MISC_ACTOR_SAMPLE MISC_ACTOR_START
#define ACTOR_PROP_START 0xA000
#define ACTOR_PROP_MAILBOX0 (ACTOR_PROP_START)
#define ACTOR_PROP_MAILBOX1 (ACTOR_PROP_MAILBOX0 + 1)
#define ACTOR_PROP_MAILBOX2 (ACTOR_PROP_MAILBOX1 + 1)
#define ACTOR_PROP_MAILBOX3 (ACTOR_PROP_MAILBOX2 + 1)
#define ACTOR_PROP_HANIWA0 (ACTOR_PROP_MAILBOX3 + 1)
#define ACTOR_PROP_HANIWA1 (ACTOR_PROP_HANIWA0 + 1)
#define ACTOR_PROP_HANIWA2 (ACTOR_PROP_HANIWA1 + 1)
#define ACTOR_PROP_HANIWA3 (ACTOR_PROP_HANIWA2 + 1)
#define SNOWMAN0 (ACTOR_PROP_HANIWA3 + 1)
#define SNOWMAN1 (SNOWMAN0 + 1)
#define SNOWMAN2 (SNOWMAN1 + 1)
#define SNOWMAN3 (SNOWMAN2 + 1)
#define SNOWMAN4 (SNOWMAN3 + 1)
#define SNOWMAN5 (SNOWMAN4 + 1)
#define SNOWMAN6 (SNOWMAN5 + 1)
#define SNOWMAN7 (SNOWMAN6 + 1)
#define SNOWMAN8 (SNOWMAN7 + 1)
#define TRAIN_DOOR 0xA011
#define ACTOR_PROP_VILLAGER_SIGNBOARD 0xA012
#define SP_NPC_START 0xD000
#define SP_NPC_ARTIST (SP_NPC_START + 0) // D000
#define SP_NPC_BROKER (SP_NPC_START + 1) // D001
#define SP_NPC_DESIGNER (SP_NPC_START + 2) // D002
#define SP_NPC_POST_GIRL (SP_NPC_START + 3) // D003
#define SP_NPC_GUIDE (SP_NPC_START + 4) // D004
#define SP_NPC_GUIDE2 (SP_NPC_START + 5) // D005
#define SP_NPC_CARPETPEDDLER (SP_NPC_START + 6) // D006
#define SP_NPC_KABUPEDDLER (SP_NPC_START + 7) // D007
#define SP_NPC_SHOP_MASTER (SP_NPC_START + 8) // D008
#define SP_NPC_CONV_MASTER (SP_NPC_START + 9) // D009
#define SP_NPC_SUPER_MASTER (SP_NPC_START + 10) // D00A
#define SP_NPC_DEPART_MASTER (SP_NPC_START + 11) // D00B
#define SP_NPC_GYPSY (SP_NPC_START + 12) // D00C
#define SP_NPC_POLICE (SP_NPC_START + 13) // D00D
#define SP_NPC_STATION_MASTER (SP_NPC_START + 14) // D00E
#define SP_NPC_SANTA (SP_NPC_START + 15) // D00F
#define SP_NPC_POLICE2 (SP_NPC_START + 16) // D010
#define SP_NPC_POST_MAN (SP_NPC_START + 17) // D011
#define SP_NPC_POST_GIRL2 (SP_NPC_START + 18) // D012
#define SP_NPC_EV_BROKER2 (SP_NPC_START + 19) // D013
#define SP_NPC_RCN_GUIDE (SP_NPC_START + 20) // D014
//
#define SP_NPC_P_SEL (SP_NPC_START + 24) // D018
#define SP_NPC_RCN_GUIDE2 (SP_NPC_START + 25) // D019
//
#define SP_NPC_ANGLER (SP_NPC_START + 29) // D01D
#define SP_NPC_SHOP_MASTERSP (SP_NPC_START + 30) // D01E
#define SP_NPC_P_SEL2 (SP_NPC_START + 31) // D01F
//
#define SP_NPC_HALLOWEEN (SP_NPC_START + 37) // D025
#define SP_NPC_MAMEDANUKI0 (SP_NPC_START + 38) // D026
//
#define SP_NPC_EV_YOMISE (SP_NPC_START + 44) // D02C
//
#define SP_NPC_MAMEDANUKI1 (SP_NPC_START + 55) // D037
#define SP_NPC_SLEEP_OBABA (SP_NPC_START + 56) // D038
//
#define SP_NPC_EV_MIKO (SP_NPC_START + 61) // D03D
#define SP_NPC_MAJIN (SP_NPC_START + 62) // D03E
//
#define SP_NPC_TOTAKEKE (SP_NPC_START + 93) // D05D
//
#define SP_NPC_EV_DOZAEMON (SP_NPC_START + 100) // D064
#define SP_NPC_MAJIN2 (SP_NPC_START + 101) // D065
#define SP_NPC_RTC (SP_NPC_START + 102) // D066
#define SP_NPC_ENGINEER (SP_NPC_START + 103) // D067
#define SP_NPC_MAJIN3 (SP_NPC_START + 104) // D068
#define SP_NPC_MAJIN4 (SP_NPC_START + 105) // D069
#define SP_NPC_RESTART (SP_NPC_START + 106) // D06A
#define SP_NPC_MAJIN5 (SP_NPC_START + 107) // D06B
#define SP_NPC_EV_DOKUTU (SP_NPC_START + 108) // D06C
#define SP_NPC_CURATOR (SP_NPC_START + 109) // D06D
#define SP_NPC_EV_SONCHO (SP_NPC_START + 110) // D06E
#define SP_NPC_EV_GHOST (SP_NPC_START + 111) // D06F
#define SP_NPC_NEEDLEWORK0 (SP_NPC_START + 112) // D070
#define SP_NPC_NEEDLEWORK1 (SP_NPC_START + 113) // D071
#define SP_NPC_SENDO (SP_NPC_START + 114) // D072
//
#define SP_NPC_EV_SONCHO2 (SP_NPC_START + 116) // D074
#define SP_NPC_MASK_CAT (SP_NPC_START + 117) // D075
#define SP_NPC_MASK_CAT2 (SP_NPC_START + 118) // D076
//
#define SP_NPC_SASHO (SP_NPC_START + 122) // D07A
//
#define SP_NPC_MAJIN_BROTHER (SP_NPC_START + 126) // D07E
#define SP_NPC_SONCHO (SP_NPC_START + 127) // D07F
//
#define SP_NPC_EV_MAJIN (SP_NPC_START + 129) // D081
//
#define SP_NPC_EV_SPEECH_SONCHO (SP_NPC_START + 135) // D087
//
#define SP_NPC_TURKEY (SP_NPC_START + 141) // D08D
#define SP_NPC_HEM (SP_NPC_START + 142) // D08E
#define NPC_START 0xE000
#define NPC_BOB NPC_START
// TODO: Finish
#define NPC_JOEY 0xE048
#define NPC_PAOLO 0xE04C
#define NPC_JANE 0xE061
#define NPC_CARRIE 0xE06F
#define NPC_SAMSON 0xE07D
#define NPC_BUZZ 0xE08C
#define NPC_CUBE 0xE093
#define NPC_RASHER 0xE09B
#define NPC_TANK 0xE0AA
#define NPC_VESTA 0xE0AD
#define NPC_TYBALT 0xE0B6
#define NPC_LOBO 0xE0B9
#define NPC_BIFF 0xE0C2
#define DUMMY_START 0xF000
#define DUMMY_HANIWA0 0xF0FB
#define DUMMY_HANIWA1 (DUMMY_HANIWA0 + 1)
#define DUMMY_HANIWA2 (DUMMY_HANIWA1 + 1)
#define DUMMY_HANIWA3 (DUMMY_HANIWA2 + 1)
#define DUMMY_DOUZOU 0xF11D
#define RSV_DOOR 0xFE1B
#define RSV_FE1C 0xFE1C
#define RSV_FE1F 0xFE1F
#define RSV_CLOTH 0xFE20
#define RSV_WALL_NO 0xFFFE /* interior wall item, no collision */
#define RSV_NO 0xFFFF /* reserved space, can't interact but no collision */
#define mNT_IS_RESERVE(n) ((n) >= SIGN00 && (n) <= SIGN20)
#ifdef __cplusplus
}
#endif
#endif