#ifndef M_FG_TYPE_H
#define M_FG_TYPE_H

#include "types.h"

#ifdef __cplusplus
extern "C" {
#endif

enum __fg_type__ {
    FG_TYPE_0000 = 0x0000,
    FG_TYPE_0001 = 0x0001,
    FG_TYPE_0002 = 0x0002,
    FG_TYPE_0003 = 0x0003, // unused
    FG_TYPE_0004 = 0x0004,
    FG_TYPE_0005 = 0x0005,
    FG_TYPE_0006 = 0x0006,
    FG_TYPE_0007 = 0x0007,
    FG_TYPE_0008 = 0x0008,
    FG_TYPE_0009 = 0x0009,
    FG_TYPE_000A = 0x000A, // unused
    FG_TYPE_000B = 0x000B,
    FG_TYPE_000C = 0x000C,
    FG_TYPE_ROOM01 = 0x000D,
    FG_TYPE_000E = 0x000E,
    FG_TYPE_000F = 0x000F,
    FG_TYPE_0010 = 0x0010,
    FG_TYPE_0011 = 0x0011,
    FG_TYPE_0012 = 0x0012,
    FG_TYPE_0013 = 0x0013,
    FG_TYPE_0014 = 0x0014,
    FG_TYPE_0015 = 0x0015,
    FG_TYPE_ROM_PLAYER_ROOM = 0x0016,
    FG_TYPE_0017 = 0x0017,
    FG_TYPE_0018 = 0x0018, // unused
    FG_TYPE_0019 = 0x0019, // unused
    FG_TYPE_NPC_ROOM01 = 0x001A,
    FG_TYPE_001B = 0x001B,
    FG_TYPE_001C = 0x001C, // unused
    FG_TYPE_001D = 0x001D, // unused
    FG_TYPE_001E = 0x001E, // unused
    FG_TYPE_001F = 0x001F, // unused
    FG_TYPE_0020 = 0x0020,
    FG_TYPE_0021 = 0x0021,
    FG_TYPE_ROM_SHOP1 = 0x0022,
    FG_TYPE_ROM_SHOP2 = 0x0023,
    FG_TYPE_ROM_SHOP3 = 0x0024,
    FG_TYPE_ROM_SHOP4_1 = 0x0025,
    FG_TYPE_ROM_SHOP4_2 = 0x0026,
    FG_TYPE_0027 = 0x0027,
    FG_TYPE_GRD_YAMISHOP = 0x0028,
    FG_TYPE_GRD_S_C1_R1_1_29 = 0x0029,
    FG_TYPE_GRD_S_C1_S_1 = 0x002A,
    FG_TYPE_GRD_S_C2_R1_1 = 0x002B,
    FG_TYPE_GRD_S_C2_R2_1 = 0x002C,
    FG_TYPE_GRD_S_C5_R1_1 = 0x002D,
    FG_TYPE_GRD_S_T_R1_1 = 0x002E,
    FG_TYPE_GRD_S_F_1_2F = 0x002F,
    FG_TYPE_GRD_S_F_2 = 0x0030,
    FG_TYPE_GRD_S_C1_1 = 0x0031,
    FG_TYPE_GRD_S_C1_R2_1 = 0x0032,
    FG_TYPE_GRD_S_C1_R3_1 = 0x0033,
    FG_TYPE_GRD_S_C2_1 = 0x0034,
    FG_TYPE_GRD_S_C3_1 = 0x0035,
    FG_TYPE_GRD_S_C3_R1_1 = 0x0036,
    FG_TYPE_GRD_S_C4_1 = 0x0037,
    FG_TYPE_GRD_S_C4_R1_1 = 0x0038,
    FG_TYPE_GRD_S_C4_R2_1 = 0x0039,
    FG_TYPE_GRD_S_C5_1 = 0x003A,
    FG_TYPE_GRD_S_C5_R2_1 = 0x003B,
    FG_TYPE_GRD_S_C5_R3_1 = 0x003C,
    FG_TYPE_GRD_S_C6_1 = 0x003D,
    FG_TYPE_GRD_S_C6_R1_1 = 0x003E,
    FG_TYPE_GRD_S_C7_1 = 0x003F,
    FG_TYPE_GRD_S_R1_1 = 0x0040,
    FG_TYPE_GRD_S_R2_1 = 0x0041,
    FG_TYPE_GRD_S_R3_1 = 0x0042,
    FG_TYPE_GRD_S_R4_1 = 0x0043,
    FG_TYPE_GRD_S_R5_1 = 0x0044,
    FG_TYPE_GRD_S_R6_1 = 0x0045,
    FG_TYPE_GRD_S_R7_1 = 0x0046,
    FG_TYPE_GRD_S_C3_R2_1 = 0x0047,
    FG_TYPE_GRD_S_C7_R3_1 = 0x0048,
    FG_TYPE_GRD_S_C6_R3_1 = 0x0049,
    FG_TYPE_GRD_S_R1_B_1 = 0x004A,
    FG_TYPE_GRD_S_R2_B_1 = 0x004B,
    FG_TYPE_GRD_S_R3_B_1 = 0x004C,
    FG_TYPE_GRD_S_R4_B_1 = 0x004D,
    FG_TYPE_GRD_S_R5_B_1 = 0x004E,
    FG_TYPE_GRD_S_R6_B_1 = 0x004F,
    FG_TYPE_GRD_S_R7_B_1 = 0x0050,
    FG_TYPE_GRD_S_T_1 = 0x0051,
    FG_TYPE_GRD_S_C1_S_2 = 0x0052,
    FG_TYPE_GRD_S_C2_S_1 = 0x0053,
    FG_TYPE_GRD_S_C3_S_1 = 0x0054,
    FG_TYPE_GRD_S_C4_S_1 = 0x0055,
    FG_TYPE_GRD_S_C5_S_1 = 0x0056,
    FG_TYPE_GRD_S_C6_S_1 = 0x0057,
    FG_TYPE_GRD_S_C7_S_1 = 0x0058,
    FG_TYPE_GRD_S_C4_R3_1 = 0x0059,
    FG_TYPE_GRD_S_C7_R1_1 = 0x005A,
    FG_TYPE_GRD_S_C1_R1_2 = 0x005B,
    FG_TYPE_GRD_S_C1_R1_3 = 0x005C,
    FG_TYPE_GRD_S_C5_R1_2 = 0x005D,
    FG_TYPE_GRD_S_C2_R1_2 = 0x005E,
    FG_TYPE_GRD_S_C2_R2_2 = 0x005F,
    FG_TYPE_GRD_S_C3_R2_2 = 0x0060,
    FG_TYPE_0061 = 0x0061,
    FG_TYPE_0062 = 0x0062,
    FG_TYPE_GRD_S_M_3 = 0x0063,
    FG_TYPE_GRD_S_M_4 = 0x0064,
    FG_TYPE_0065 = 0x0065,
    FG_TYPE_GRD_S_T_10_66 = 0x0066,
    FG_TYPE_GRD_S_T_10_67 = 0x0067,
    FG_TYPE_0068 = 0x0068,
    FG_TYPE_0069 = 0x0069,
    FG_TYPE_006A = 0x006A,
    FG_TYPE_GRD_S_C1_3 = 0x006B,
    FG_TYPE_GRD_S_C1_4 = 0x006C,
    FG_TYPE_GRD_S_C1_R2_2 = 0x006D,
    FG_TYPE_GRD_S_C1_R2_3 = 0x006E,
    FG_TYPE_GRD_S_C1_R3_2 = 0x006F,
    FG_TYPE_GRD_S_C1_R3_3 = 0x0070,
    FG_TYPE_GRD_S_C1_S_3 = 0x0071,
    FG_TYPE_GRD_S_C2_2 = 0x0072,
    FG_TYPE_GRD_S_C2_3 = 0x0073,
    FG_TYPE_GRD_S_C2_S_2 = 0x0074,
    FG_TYPE_GRD_S_C3_2 = 0x0075,
    FG_TYPE_GRD_S_C3_3 = 0x0076,
    FG_TYPE_GRD_S_C3_R1_2 = 0x0077,
    FG_TYPE_GRD_S_C4_2 = 0x0078,
    FG_TYPE_GRD_S_C4_3 = 0x0079,
    FG_TYPE_GRD_S_C4_R1_2 = 0x007A,
    FG_TYPE_GRD_S_C4_R2_2 = 0x007B,
    FG_TYPE_GRD_S_C4_R3_2 = 0x007C,
    FG_TYPE_GRD_S_C4_S_2 = 0x007D,
    FG_TYPE_GRD_S_C5_2 = 0x007E,
    FG_TYPE_GRD_S_C5_3 = 0x007F,
    FG_TYPE_GRD_S_C5_R3_2 = 0x0080,
    FG_TYPE_GRD_S_C5_S_2 = 0x0081,
    FG_TYPE_GRD_S_C6_2 = 0x0082,
    FG_TYPE_GRD_S_C6_3 = 0x0083,
    FG_TYPE_GRD_S_C6_R1_2 = 0x0084,
    FG_TYPE_GRD_S_C7_2 = 0x0085,
    FG_TYPE_GRD_S_C7_3 = 0x0086,
    FG_TYPE_GRD_S_C7_R1_2 = 0x0087,
    FG_TYPE_GRD_S_F_3 = 0x0088,
    FG_TYPE_GRD_S_F_4 = 0x0089,
    FG_TYPE_GRD_S_F_5 = 0x008A,
    FG_TYPE_GRD_S_F_6 = 0x008B,
    FG_TYPE_GRD_S_F_7 = 0x008C,
    FG_TYPE_GRD_S_F_8 = 0x008D,
    FG_TYPE_GRD_S_F_9 = 0x008E,
    FG_TYPE_GRD_S_F_10 = 0x008F,
    FG_TYPE_GRD_S_R1_2 = 0x0090,
    FG_TYPE_GRD_S_R1_3 = 0x0091,
    FG_TYPE_GRD_S_R1_4 = 0x0092,
    FG_TYPE_GRD_S_R1_B_2 = 0x0093,
    FG_TYPE_GRD_S_R1_B_3 = 0x0094,
    FG_TYPE_GRD_S_R2_2 = 0x0095,
    FG_TYPE_GRD_S_R2_3 = 0x0096,
    FG_TYPE_GRD_S_R2_B_2 = 0x0097,
    FG_TYPE_GRD_S_R2_B_3 = 0x0098,
    FG_TYPE_GRD_S_R3_2 = 0x0099,
    FG_TYPE_GRD_S_R3_3 = 0x009A,
    FG_TYPE_GRD_S_R3_4 = 0x009B,
    FG_TYPE_GRD_S_R3_B_2 = 0x009C,
    FG_TYPE_GRD_S_R3_B_3 = 0x009D,
    FG_TYPE_GRD_S_R4_2 = 0x009E,
    FG_TYPE_GRD_S_R4_3 = 0x009F,
    FG_TYPE_GRD_S_R4_B_2 = 0x00A0,
    FG_TYPE_GRD_S_R5_2 = 0x00A1,
    FG_TYPE_GRD_S_R5_3 = 0x00A2,
    FG_TYPE_GRD_S_R5_B_2 = 0x00A3,
    FG_TYPE_GRD_S_R6_2 = 0x00A4,
    FG_TYPE_GRD_S_R6_3 = 0x00A5,
    FG_TYPE_GRD_S_R6_B_2 = 0x00A6,
    FG_TYPE_GRD_S_R7_2 = 0x00A7,
    FG_TYPE_GRD_S_R7_3 = 0x00A8,
    FG_TYPE_GRD_S_R7_B_2 = 0x00A9,
    FG_TYPE_GRD_S_T_2 = 0x00AA,
    FG_TYPE_GRD_S_T_5 = 0x00AB,
    FG_TYPE_GRD_S_R7_P_1 = 0x00AC,
    FG_TYPE_GRD_S_T_10 = 0x00AD,
    FG_TYPE_GRD_S_T_6 = 0x00AE,
    FG_TYPE_GRD_S_T_8 = 0x00AF,
    FG_TYPE_GRD_S_T_R1_2 = 0x00B0,
    FG_TYPE_GRD_S_T_R1_5 = 0x00B1,
    FG_TYPE_GRD_S_C5_R2_2 = 0x00B2,
    FG_TYPE_GRD_S_R2_4 = 0x00B3,
    FG_TYPE_GRD_S_R2_P_1 = 0x00B4,
    FG_TYPE_GRD_S_R6_P_1 = 0x00B5,
    FG_TYPE_GRD_S_T_3 = 0x00B6,
    FG_TYPE_GRD_S_T_4 = 0x00B7,
    FG_TYPE_GRD_S_T_7 = 0x00B8,
    FG_TYPE_GRD_S_T_9 = 0x00B9,
    FG_TYPE_GRD_S_T_R1_3 = 0x00BA,
    FG_TYPE_GRD_S_T_R1_4 = 0x00BB,
    FG_TYPE_GRD_S_T_ST1_2 = 0x00BC,
    FG_TYPE_GRD_S_T_ST1_3 = 0x00BD,
    FG_TYPE_GRD_S_R5_P_1 = 0x00BE,
    FG_TYPE_GRD_S_C1_5 = 0x00BF,
    FG_TYPE_GRD_S_C1_2 = 0x00C0,
    FG_TYPE_GRD_S_R1_P_1 = 0x00C1,
    FG_TYPE_GRD_S_R3_P_1 = 0x00C2,
    FG_TYPE_GRD_S_R4_P_1 = 0x00C3,
    FG_TYPE_00C4 = 0x00C4, // unused
    FG_TYPE_00C5 = 0x00C5, // unused
    FG_TYPE_00C6 = 0x00C6, // unused
    FG_TYPE_00C7 = 0x00C7, // unused
    FG_TYPE_GRD_POST_OFFICE = 0x00C8,
    FG_TYPE_ROM_TRAIN_IN = 0x00C9,
    FG_TYPE_ROM_TRAIN_IN_2 = 0x00CA,
    FG_TYPE_EMPTY = 0x00CB,
    FG_TYPE_GRD_S_T_ST1_1 = 0x00CC,
    FG_TYPE_GRD_S_F_1_CD = 0x00CD,
    FG_TYPE_POLICE_INDOOR = 0x00CE,
    FG_TYPE_ROM_URANAI = 0x00CF,
    FG_TYPE_GRD_PLAYER_SELECT = 0x00D0,
    FG_TYPE_GRD_S_HOLE_TEST = 0x00D1,
    FG_TYPE_00D2 = 0x00D2, // unused
    FG_TYPE_00D3 = 0x00D3, // unused
    FG_TYPE_00D4 = 0x00D4, // unused
    FG_TYPE_00D5 = 0x00D5, // unused
    FG_TYPE_00D6 = 0x00D6, // unused
    FG_TYPE_00D7 = 0x00D7, // unused
    FG_TYPE_00D8 = 0x00D8, // unused
    FG_TYPE_00D9 = 0x00D9, // unused
    FG_TYPE_00DA = 0x00DA, // unused
    FG_TYPE_00DB = 0x00DB, // unused
    FG_TYPE_GRD_S_F_KO_2 = 0x00DC,
    FG_TYPE_GRD_S_T_PO_1 = 0x00DD,
    FG_TYPE_GRD_S_T_PO_2 = 0x00DE,
    FG_TYPE_GRD_S_T_PO_3 = 0x00DF,
    FG_TYPE_GRD_S_F_PK_2 = 0x00E0,
    FG_TYPE_GRD_S_F_PK_3 = 0x00E1,
    FG_TYPE_GRD_S_F_MH_2 = 0x00E2,
    FG_TYPE_GRD_S_F_MH_3 = 0x00E3,
    FG_TYPE_GRD_S_F_KO_3 = 0x00E4,
    FG_TYPE_GRD_S_T_SH_1 = 0x00E5,
    FG_TYPE_GRD_S_T_SH_2 = 0x00E6,
    FG_TYPE_GRD_S_T_SH_3 = 0x00E7,
    FG_TYPE_GRD_S_C1_S_4 = 0x00E8,
    // 0x00E9 - 0x014C are non-existant, maybe reserved?
    FG_TYPE_ROM_SHOP1_FUKU = 0x014D,
    FG_TYPE_ROM_SHOP2_FUKU = 0x014E,
    FG_TYPE_ROM_SHOP3_FUKU = 0x014F,
    FG_TYPE_ROM_SHOP4_1_FUKU = 0x0150,
    FG_TYPE_0151 = 0x0151,
    FG_TYPE_GRD_S_M_R1_2 = 0x0152,
    FG_TYPE_GRD_S_M_R1_3 = 0x0153,
    FG_TYPE_GRD_S_M_R1_4 = 0x0154,
    FG_TYPE_GRD_S_M_R1_5 = 0x0155,
    FG_TYPE_GRD_S_M_R1_B_1 = 0x0156,
    FG_TYPE_GRD_S_M_R1_B_2 = 0x0157,
    FG_TYPE_GRD_S_M_R1_B_3 = 0x0158,
    FG_TYPE_GRD_S_M_5 = 0x0159,
    FG_TYPE_GRD_S_M_6 = 0x015A,
    FG_TYPE_GRD_S_M_7 = 0x015B,
    FG_TYPE_GRD_S_M_8 = 0x015C,
    FG_TYPE_GRD_S_M_9 = 0x015D,
    FG_TYPE_GRD_S_M_10 = 0x015E,
    FG_TYPE_GRD_S_C7_S_2 = 0x015F,
    FG_TYPE_GRD_S_C2_S_3 = 0x0160,
    FG_TYPE_GRD_S_C7_S_3 = 0x0161,
    FG_TYPE_GRD_S_C7_R3_2 = 0x0162,
    FG_TYPE_ROM_SHOP1_SALE_FTR = 0x0163,
    FG_TYPE_ROM_SHOP1_SALE_CARPET = 0x0164,
    FG_TYPE_ROM_SHOP1_SALE_WALL = 0x0165,
    FG_TYPE_ROM_SHOP1_SALE_CLOTH = 0x0166,
    FG_TYPE_ROM_SHOP2_SALE_FTR = 0x0167,
    FG_TYPE_ROM_SHOP2_SALE_CARPET = 0x0168,
    FG_TYPE_ROM_SHOP2_SALE_WALL = 0x0169,
    FG_TYPE_ROM_SHOP2_SALE_CLOTH = 0x016A,
    FG_TYPE_ROM_SHOP3_SALE_FTR = 0x016B,
    FG_TYPE_ROM_SHOP3_SALE_CARPET = 0x016C,
    FG_TYPE_ROM_SHOP3_SALE_WALL = 0x016D,
    FG_TYPE_ROM_SHOP3_SALE_CLOTH = 0x016E,
    FG_TYPE_ROM_SHOP4_1_SALE = 0x016F,
    FG_TYPE_ROM_SHOP4_2_SALE_FTR = 0x0170,
    FG_TYPE_ROM_SHOP4_2_SALE_CARPET = 0x0171,
    FG_TYPE_ROM_SHOP4_2_SALE_WALL = 0x0172,
    FG_TYPE_ROM_SHOP4_2_SALE_CLOTH = 0x0173,
    FG_TYPE_GRD_S_F_1_174 = 0x0174,
    FG_TYPE_GRD_S_C2_1_175 = 0x0175,
    FG_TYPE_GRD_S_C5_1_176 = 0x0176,
    FG_TYPE_GRD_S_M_R1_B_2_177 = 0x0177,
    FG_TYPE_GRD_S_R6_1_178 = 0x0178,
    FG_TYPE_GRD_S_R3_1_179 = 0x0179,
    FG_TYPE_GRD_S_C1_S_1_17A = 0x017A,
    FG_TYPE_GRD_S_M_3_17B = 0x017B,
    FG_TYPE_GRD_S_R1_B_1_17C = 0x017C,
    FG_TYPE_GRD_S_C5_1_17D = 0x017D,
    FG_TYPE_GRD_S_C7_1_17E = 0x017E,
    FG_TYPE_ROM_MUSEUM1 = 0x017F,
    FG_TYPE_ROM_MUSEUM3 = 0x0180,
    FG_TYPE_ROM_MUSEUM2 = 0x0181,
    FG_TYPE_ROM_MUSEUM4 = 0x0182,
    FG_TYPE_ROM_MUSEUM5 = 0x0183,
    FG_TYPE_GRD_S_F_1_184 = 0x0184,
    FG_TYPE_GRD_S_F_1_185 = 0x0185,
    FG_TYPE_ROM_TAILOR = 0x0186,
    FG_TYPE_GRD_S_F_MU_1 = 0x0187,
    FG_TYPE_GRD_S_F_MU_2 = 0x0188,
    FG_TYPE_GRD_S_F_MU_3 = 0x0189,
    FG_TYPE_GRD_S_M_TA_1 = 0x018A,
    FG_TYPE_GRD_S_M_TA_2 = 0x018B,
    FG_TYPE_GRD_S_M_TA_3 = 0x018C,
    FG_TYPE_GRD_S_M_WF_1 = 0x018D,
    FG_TYPE_GRD_S_IL_1 = 0x018E,
    FG_TYPE_GRD_S_IR_1 = 0x018F,
    FG_TYPE_ROM_TOUDAI = 0x0190,
    FG_TYPE_GRD_S_IL_2 = 0x0191,
    FG_TYPE_GRD_S_IR_2 = 0x0192,
    FG_TYPE_GRD_S_IL_3 = 0x0193,
    FG_TYPE_GRD_S_IR_3 = 0x0194,
    FG_TYPE_GRD_S_IL_4 = 0x0195,
    FG_TYPE_GRD_S_IR_4 = 0x0196,
    FG_TYPE_GRD_S_M_WF_2 = 0x0197,
    FG_TYPE_GRD_S_M_WF_3 = 0x0198,
    FG_TYPE_ROM_TENT = 0x0199,
};

#ifdef __cplusplus
}
#endif

#endif /* M_FG_TYPE_H */
