#ifndef M_NAME_TABLE_FLOOR_DECL_H
#define M_NAME_TABLE_FLOOR_DECL_H

#include "types.h"

#ifdef __cplusplus
extern "C" {
#endif

#define FLOOR_NPC000 0
#define FLOOR_NPC001 1
#define FLOOR_NPC002 2
#define FLOOR_NPC003 3
#define FLOOR_NPC004 4
#define FLOOR_NPC005 5
#define FLOOR_NPC006 6
#define FLOOR_NPC007 7
#define FLOOR_NPC008 8
#define FLOOR_NPC009 9
#define FLOOR_NPC010 10
#define FLOOR_NPC011 11
#define FLOOR_NPC012 12
#define FLOOR_NPC013 13
#define FLOOR_NPC014 14
#define FLOOR_NPC015 15
#define FLOOR_NPC016 16
#define FLOOR_NPC017 17
#define FLOOR_NPC018 18
#define FLOOR_NPC019 19
#define FLOOR_NPC020 20
#define FLOOR_NPC021 21
#define FLOOR_NPC022 22
#define FLOOR_NPC023 23
#define FLOOR_NPC024 24
#define FLOOR_NPC025 25
#define FLOOR_NPC026 26
#define FLOOR_NPC027 27
#define FLOOR_NPC028 28
#define FLOOR_NPC029 29
#define FLOOR_NPC030 30
#define FLOOR_NPC031 31
#define FLOOR_NPC032 32
#define FLOOR_NPC033 33
#define FLOOR_NPC034 34
#define FLOOR_NPC035 35
#define FLOOR_NPC036 36
#define FLOOR_NPC037 37
#define FLOOR_NPC038 38
#define FLOOR_NPC039 39
#define FLOOR_NPC040 40
#define FLOOR_NPC041 41
#define FLOOR_NPC042 42
#define FLOOR_NPC043 43
#define FLOOR_NPC044 44
#define FLOOR_NPC045 45
#define FLOOR_NPC046 46
#define FLOOR_NPC047 47
#define FLOOR_NPC048 48
#define FLOOR_NPC049 49
#define FLOOR_NPC050 50
#define FLOOR_NPC051 51
#define FLOOR_NPC052 52
#define FLOOR_NPC053 53
#define FLOOR_NPC054 54
#define FLOOR_NPC055 55
#define FLOOR_NPC056 56
#define FLOOR_NPC057 57
#define FLOOR_NPC058 58
#define FLOOR_NPC059 59
#define FLOOR_NPC060 60
#define FLOOR_NPC061 61
#define FLOOR_NPC062 62
#define FLOOR_NPC063 63
#define FLOOR_NPC064 64
#define FLOOR_NPC065 65
#define FLOOR_NPC066 66
#define FLOOR_NPC_END FLOOR_NPC066

#define FLOOR_ETC_START (FLOOR_NPC_END + 1)
#define FLOOR_SHOP1 (FLOOR_ETC_START + 0)
#define FLOOR_SHOP2 (FLOOR_ETC_START + 1)
#define FLOOR_SHOP3 (FLOOR_ETC_START + 2)
#define FLOOR_SHOP4_1 (FLOOR_ETC_START + 3)
#define FLOOR_SHOP4_2 (FLOOR_ETC_START + 3)
#define FLOOR_PLAYER_ROOM_END (FLOOR_SHOP4_2 + 1)

#define FLOOR_POST_OFFICE (FLOOR_ETC_START + 4)
#define FLOOR_POLICE_BOX (FLOOR_ETC_START + 5)
#define FLOOR_BUGGY (FLOOR_ETC_START + 6)
#define FLOOR_BROKER_SHOP (FLOOR_ETC_START + 7)
#define FLOOR_KAMAKURA (FLOOR_ETC_START + 8)
#define FLOOR_MUSEUM_ENTRANCE (FLOOR_ETC_START + 9)
#define FLOOR_MUSEUM_FOSSIL (FLOOR_ETC_START + 10)
#define FLOOR_MUSEUM_PICTURE (FLOOR_ETC_START + 11)
#define FLOOR_MUSEUM_INSECT (FLOOR_ETC_START + 12)
#define FLOOR_MUSEUM_FISH (FLOOR_ETC_START + 13)
#define FLOOR_MUSEUM_NEEDLEWORK (FLOOR_ETC_START + 14)
#define FLOOR_BASEMENT (FLOOR_ETC_START + 15)
#define FLOOR_ORIGINAL_SE (FLOOR_ETC_START + 16)
#define FLOOR_LIGHTHOUSE_SE (FLOOR_ETC_START + 17)
#define FLOOR_TENT_SE (FLOOR_ETC_START + 18)
#define FLOOR_ETC_END (FLOOR_ETC_START + 19)

#define FLOOR_MY_ORIG_START (FLOOR_ETC_END + 1)
#define FLOOR_MY_ORIG0 (FLOOR_MY_ORIG_START + 0)
#define FLOOR_MY_ORIG1 (FLOOR_MY_ORIG_START + 1)
#define FLOOR_MY_ORIG2 (FLOOR_MY_ORIG_START + 2)
#define FLOOR_MY_ORIG3 (FLOOR_MY_ORIG_START + 3)
#define FLOOR_MY_ORIG4 (FLOOR_MY_ORIG_START + 4)
#define FLOOR_MY_ORIG5 (FLOOR_MY_ORIG_START + 5)
#define FLOOR_MY_ORIG6 (FLOOR_MY_ORIG_START + 6)
#define FLOOR_MY_ORIG7 (FLOOR_MY_ORIG_START + 7)
#define FLOOR_MY_ORIG_END FLOOR_MY_ORIG7

#define FLOOR_ALL_NUM (FLOOR_MY_ORIG_END + 1)

#define FLOOR_IS_MY_ORIG(idx) ((idx) >= FLOOR_MY_ORIG_START && (idx) <= FLOOR_MY_ORIG_END)

#ifdef __cplusplus
}
#endif

#endif
