Add bg/fg block type enums & coombi type enum and use them

This commit is contained in:
Cuyler36
2025-08-20 10:30:00 -04:00
parent 6ba48a123f
commit de8884537b
13 changed files with 3688 additions and 2422 deletions
+370 -368
View File
@@ -1,375 +1,377 @@
#include "m_field_make.h"
#include "m_random_field.h"
#include "m_bg_type.h"
#include "m_fg_type.h"
mFM_combo_info_c data_combi_table[] = {
{ 0x0124, 0x00cb, 0xff },
{ 0x003c, 0x0000, 0xff },
{ 0x005a, 0x00cb, 0xff },
{ 0x005a, 0x0004, 0xff },
{ 0x005a, 0x0005, 0xff },
{ 0x005a, 0x000c, 0xff },
{ 0x005a, 0x0009, 0xff },
{ 0x005a, 0x000b, 0xff },
{ 0x00f4, 0x000d, 0xff },
{ 0x005a, 0x000e, 0xff },
{ 0x005a, 0x00cb, 0xff },
{ 0x005a, 0x000f, 0xff },
{ 0x005a, 0x0010, 0xff },
{ 0x005a, 0x0011, 0xff },
{ 0x005a, 0x0012, 0xff },
{ 0x005a, 0x0013, 0xff },
{ 0x005a, 0x0014, 0xff },
{ 0x005a, 0x0015, 0xff },
{ 0x00f2, 0x0016, 0xff },
{ 0x005a, 0x0017, 0xff },
{ 0x005a, 0x001b, 0xff },
{ 0x00f6, 0x001a, 0xff },
{ 0x005a, 0x001b, 0xff },
{ 0x005a, 0x0069, 0xff },
{ 0x00cb, 0x004e, 0x33 },
{ 0x00f8, 0x0022, 0xff },
{ 0x005a, 0x0027, 0xff },
{ 0x0033, 0x002d, 0x1a },
{ 0x00da, 0x002e, 0x0d },
{ 0x010d, 0x0001, 0xff },
{ 0x010e, 0x0001, 0xff },
{ 0x010f, 0x0001, 0xff },
{ 0x0110, 0x0001, 0xff },
{ 0x0006, 0x0029, 0x16 },
{ 0x000f, 0x002a, 0x36 },
{ 0x0016, 0x002b, 0x17 },
{ 0x0018, 0x002c, 0x1e },
{ 0x005a, 0x002f, 0x27 },
{ 0x005b, 0x0030, 0x27 },
{ 0x0001, 0x0031, 0x0f },
{ 0x0009, 0x0032, 0x1d },
{ 0x000c, 0x0033, 0x22 },
{ 0x0013, 0x0034, 0x10 },
{ 0x001d, 0x0035, 0x11 },
{ 0x0020, 0x0036, 0x18 },
{ 0x0025, 0x0037, 0x12 },
{ 0x0028, 0x0038, 0x19 },
{ 0x002a, 0x0039, 0x20 },
{ 0x0030, 0x003a, 0x13 },
{ 0x0035, 0x003b, 0x21 },
{ 0x0037, 0x003c, 0x24 },
{ 0x003b, 0x003d, 0x14 },
{ 0x003e, 0x003e, 0x1b },
{ 0x0042, 0x003f, 0x15 },
{ 0x00aa, 0x0040, 0x28 },
{ 0x00b2, 0x0041, 0x29 },
{ 0x00ba, 0x0042, 0x2a },
{ 0x00c2, 0x0043, 0x2b },
{ 0x00c8, 0x0044, 0x2c },
{ 0x00ce, 0x0045, 0x2d },
{ 0x00d4, 0x0046, 0x2e },
{ 0x0022, 0x0047, 0x1f },
{ 0x0047, 0x0048, 0x26 },
{ 0x0040, 0x0049, 0x25 },
{ 0x00ae, 0x004a, 0x2f },
{ 0x00b6, 0x004b, 0x30 },
{ 0x00be, 0x004c, 0x31 },
{ 0x00c5, 0x004d, 0x32 },
{ 0x00d1, 0x004f, 0x34 },
{ 0x00d7, 0x0050, 0x35 },
{ 0x00db, 0x0051, 0x0c },
{ 0x0010, 0x0052, 0x36 },
{ 0x001a, 0x0053, 0x37 },
{ 0x0024, 0x0054, 0x38 },
{ 0x002e, 0x0055, 0x39 },
{ 0x0039, 0x0056, 0x3a },
{ 0x0041, 0x0057, 0x3b },
{ 0x0049, 0x0058, 0x3c },
{ 0x0045, 0x005a, 0x1c },
{ 0x002c, 0x0059, 0x23 },
{ 0x0115, 0x0028, 0xff },
{ 0x010b, 0x00c8, 0xff },
{ 0x0105, 0x00c9, 0xff },
{ 0x0105, 0x00ca, 0xff },
{ 0x005a, 0x0006, 0xff },
{ 0x00ef, 0x00cc, 0x0b },
{ 0x005a, 0x00cd, 0xff },
{ 0x0002, 0x00c0, 0x0f },
{ 0x0003, 0x006b, 0x0f },
{ 0x0004, 0x006c, 0x0f },
{ 0x0005, 0x00bf, 0x0f },
{ 0x0014, 0x0072, 0x10 },
{ 0x00ab, 0x0090, 0x28 },
{ 0x00ac, 0x0091, 0x28 },
{ 0x00c3, 0x009e, 0x2b },
{ 0x00c9, 0x00a1, 0x2c },
{ 0x00d5, 0x00a7, 0x2e },
{ 0x00d6, 0x00a8, 0x2e },
{ 0x001b, 0x0074, 0x37 },
{ 0x0011, 0x0071, 0x36 },
{ 0x002f, 0x007d, 0x39 },
{ 0x003a, 0x0081, 0x3a },
{ 0x003f, 0x0084, 0x1b },
{ 0x0021, 0x0077, 0x18 },
{ 0x001e, 0x0075, 0x11 },
{ 0x0044, 0x0086, 0x15 },
{ 0x000a, 0x006d, 0x1d },
{ 0x000d, 0x006f, 0x22 },
{ 0x0026, 0x0078, 0x12 },
{ 0x0031, 0x007e, 0x13 },
{ 0x003c, 0x0082, 0x14 },
{ 0x00b3, 0x0095, 0x29 },
{ 0x00bb, 0x0099, 0x2a },
{ 0x0029, 0x007a, 0x19 },
{ 0x002b, 0x007b, 0x20 },
{ 0x0046, 0x0087, 0x1c },
{ 0x00cf, 0x00a4, 0x2d },
{ 0x0036, 0x00b2, 0x21 },
{ 0x002d, 0x007c, 0x23 },
{ 0x00b4, 0x0096, 0x29 },
{ 0x00bc, 0x009a, 0x2a },
{ 0x0038, 0x0080, 0x24 },
{ 0x0032, 0x007f, 0x13 },
{ 0x0027, 0x0079, 0x12 },
{ 0x001f, 0x0076, 0x11 },
{ 0x0015, 0x0073, 0x10 },
{ 0x010c, 0x00ce, 0xff },
{ 0x00b1, 0x00c1, 0x45 },
{ 0x0007, 0x005b, 0x16 },
{ 0x0008, 0x005c, 0x16 },
{ 0x000b, 0x006e, 0x1d },
{ 0x000e, 0x0070, 0x22 },
{ 0x0017, 0x005e, 0x17 },
{ 0x0034, 0x005d, 0x1a },
{ 0x003d, 0x0083, 0x14 },
{ 0x0043, 0x0085, 0x15 },
{ 0x00ad, 0x0092, 0x28 },
{ 0x00b5, 0x00b3, 0x29 },
{ 0x00bd, 0x009b, 0x2a },
{ 0x00c4, 0x009f, 0x2b },
{ 0x00ca, 0x00a2, 0x2c },
{ 0x00d0, 0x00a5, 0x2d },
{ 0x00e4, 0x0067, 0xff },
{ 0x00e4, 0x0066, 0xff },
{ 0x005a, 0x0068, 0xff },
{ 0x0019, 0x005f, 0x1e },
{ 0x0023, 0x0060, 0x1f },
{ 0x00af, 0x0093, 0x2f },
{ 0x00b7, 0x0097, 0x30 },
{ 0x00c6, 0x00a0, 0x32 },
{ 0x00bf, 0x009c, 0x31 },
{ 0x00cc, 0x00a3, 0x33 },
{ 0x00d2, 0x00a6, 0x34 },
{ 0x00d8, 0x00a9, 0x35 },
{ 0x00b0, 0x0094, 0x2f },
{ 0x00b8, 0x0098, 0x30 },
{ 0x00c0, 0x009d, 0x31 },
{ 0x005c, 0x0088, 0x27 },
{ 0x005d, 0x0089, 0x27 },
{ 0x005e, 0x008a, 0x27 },
{ 0x005f, 0x008b, 0x27 },
{ 0x0060, 0x008c, 0x27 },
{ 0x0061, 0x008d, 0x27 },
{ 0x0062, 0x008e, 0x27 },
{ 0x0063, 0x008f, 0x27 },
{ 0x00dc, 0x00aa, 0x0c },
{ 0x00dd, 0x00b6, 0x0c },
{ 0x00de, 0x00b7, 0xff },
{ 0x00df, 0x00ab, 0xff },
{ 0x00e0, 0x00ae, 0xff },
{ 0x00e1, 0x00b8, 0xff },
{ 0x00e2, 0x00af, 0xff },
{ 0x00e3, 0x00b9, 0xff },
{ 0x00e4, 0x00ad, 0xff },
{ 0x00e8, 0x00b0, 0x0d },
{ 0x00e9, 0x00ba, 0x0d },
{ 0x00ea, 0x00bb, 0x0d },
{ 0x00eb, 0x00b1, 0x0d },
{ 0x00b9, 0x00b4, 0x46 },
{ 0x00c1, 0x00c2, 0x47 },
{ 0x005a, 0x006a, 0xff },
{ 0x005a, 0x0061, 0xff },
{ 0x005a, 0x0062, 0xff },
{ 0x005a, 0x0063, 0xff },
{ 0x005a, 0x0064, 0xff },
{ 0x00aa, 0x0065, 0xff },
{ 0x00d3, 0x00b5, 0x4a },
{ 0x00d9, 0x00ac, 0x4b },
{ 0x00f0, 0x00bc, 0x0b },
{ 0x00f1, 0x00bd, 0x0b },
{ 0x00c7, 0x00c3, 0x48 },
{ 0x00cd, 0x00be, 0x49 },
{ 0x00ff, 0x00cf, 0xff },
{ 0x010a, 0x00d0, 0xff },
{ 0x0103, 0x0016, 0xff },
{ 0x0104, 0x0016, 0xff },
{ 0x0106, 0x00cb, 0x4c },
{ 0x0107, 0x00cb, 0x4d },
{ 0x0108, 0x00cb, 0x4e },
{ 0x0109, 0x00cb, 0x4f },
{ 0x0012, 0x00e8, 0x36 },
{ 0x004c, 0x00cb, 0x00 },
{ 0x004d, 0x00cb, 0x01 },
{ 0x004e, 0x00cb, 0x02 },
{ 0x004f, 0x00cb, 0x3d },
{ 0x0052, 0x00cb, 0x09 },
{ 0x0053, 0x00cb, 0x04 },
{ 0x0054, 0x00cb, 0x3e },
{ 0x0057, 0x00cb, 0x0a },
{ 0x0058, 0x00cb, 0x05 },
{ 0x0059, 0x00cb, 0x08 },
{ 0x0064, 0x0068, 0x44 },
{ 0x0065, 0x00dc, 0x44 },
{ 0x0066, 0x00e4, 0x44 },
{ 0x0067, 0x0069, 0x0e },
{ 0x0068, 0x00e2, 0x0e },
{ 0x0069, 0x00e3, 0x0e },
{ 0x006d, 0x006a, 0x42 },
{ 0x006e, 0x00e0, 0x42 },
{ 0x006f, 0x00e1, 0x42 },
{ 0x00e5, 0x00dd, 0x43 },
{ 0x00ec, 0x00e5, 0x41 },
{ 0x00ed, 0x00e6, 0x41 },
{ 0x00ee, 0x00e7, 0x41 },
{ 0x00e6, 0x00de, 0x43 },
{ 0x00e7, 0x00df, 0x43 },
{ 0x005d, 0x0002, 0xff },
{ 0x00fe, 0x0023, 0xff },
{ 0x0100, 0x0025, 0xff },
{ 0x0101, 0x0026, 0xff },
{ 0x0102, 0x0024, 0xff },
{ 0x0000, 0x00d1, 0xff },
{ 0x0078, 0x0061, 0x3f },
{ 0x0079, 0x0062, 0x3f },
{ 0x0078, 0x0061, 0xff },
{ 0x0079, 0x0062, 0xff },
{ 0x0082, 0x0065, 0x40 },
{ 0x0050, 0x00cb, 0x50 },
{ 0x0055, 0x00cb, 0x51 },
{ 0x00f9, 0x0151, 0xff },
{ 0x0083, 0x0152, 0x40 },
{ 0x0084, 0x0153, 0x40 },
{ 0x0085, 0x0154, 0x40 },
{ 0x0086, 0x0155, 0x40 },
{ 0x0087, 0x0156, 0x52 },
{ 0x0088, 0x0157, 0x52 },
{ 0x0089, 0x0158, 0x52 },
{ 0x00fe, 0x00cb, 0x53 },
{ 0x00fe, 0x00cb, 0x53 },
{ 0x00fe, 0x00cb, 0x53 },
{ 0x00fe, 0x00cb, 0x53 },
{ 0x00fe, 0x00cb, 0x53 },
{ 0x007a, 0x0063, 0x3f },
{ 0x007b, 0x0064, 0x3f },
{ 0x007c, 0x0159, 0x3f },
{ 0x007d, 0x015a, 0x3f },
{ 0x007e, 0x015b, 0x3f },
{ 0x007f, 0x015c, 0x3f },
{ 0x0080, 0x015d, 0x3f },
{ 0x0081, 0x015e, 0x3f },
{ 0x001c, 0x0160, 0x37 },
{ 0x0048, 0x0162, 0x26 },
{ 0x004a, 0x015f, 0x3c },
{ 0x004b, 0x0161, 0x3c },
{ 0x00b1, 0x0007, 0xff },
{ 0x004b, 0x0011, 0xff },
{ 0x005a, 0x0174, 0xff },
{ 0x0013, 0x0175, 0xff },
{ 0x0030, 0x0176, 0xff },
{ 0x0088, 0x0177, 0xff },
{ 0x00ce, 0x0178, 0xff },
{ 0x00ba, 0x0179, 0xff },
{ 0x000f, 0x017a, 0xff },
{ 0x007a, 0x017b, 0xff },
{ 0x00ae, 0x017c, 0xff },
{ 0x0030, 0x017d, 0xff },
{ 0x0042, 0x017e, 0xff },
{ 0x005a, 0x0008, 0xff },
{ 0x0116, 0x017f, 0xff },
{ 0x0118, 0x0180, 0xff },
{ 0x0117, 0x0181, 0xff },
{ 0x011a, 0x0182, 0xff },
{ 0x0119, 0x0183, 0xff },
{ 0x005a, 0x0184, 0xff },
{ 0x005a, 0x0185, 0xff },
{ 0x0006, 0x0020, 0xff },
{ 0x00ab, 0x0021, 0xff },
{ 0x0122, 0x0186, 0xff },
{ 0x006a, 0x0187, 0x54 },
{ 0x006b, 0x0188, 0x54 },
{ 0x006c, 0x0189, 0x54 },
{ 0x008a, 0x018a, 0x55 },
{ 0x008b, 0x018b, 0x55 },
{ 0x008c, 0x018c, 0x55 },
{ 0x008d, 0x018d, 0x64 },
{ 0x0090, 0x00cb, 0x5e },
{ 0x0070, 0x018f, 0x63 },
{ 0x0074, 0x018e, 0x62 },
{ 0x00fe, 0x00cb, 0x53 },
{ 0x00fe, 0x00cb, 0x53 },
{ 0x00fe, 0x00cb, 0x53 },
{ 0x00fe, 0x00cb, 0x53 },
{ 0x00fe, 0x00cb, 0x53 },
{ 0x00fe, 0x00cb, 0x53 },
{ 0x00fe, 0x00cb, 0x53 },
{ 0x00fe, 0x00cb, 0x53 },
{ 0x00fe, 0x00cb, 0x53 },
{ 0x00fe, 0x00cb, 0x53 },
{ 0x00fe, 0x00cb, 0x53 },
{ 0x00fe, 0x00cb, 0x53 },
{ 0x00fe, 0x00cb, 0x53 },
{ 0x00fe, 0x00cb, 0x53 },
{ 0x0090, 0x00cb, 0x5e },
{ 0x0090, 0x00cb, 0x5e },
{ 0x0091, 0x00cb, 0x5f },
{ 0x0091, 0x00cb, 0x5f },
{ 0x0091, 0x00cb, 0x5f },
{ 0x0091, 0x00cb, 0x5f },
{ 0x0092, 0x00cb, 0x60 },
{ 0x0092, 0x00cb, 0x60 },
{ 0x0092, 0x00cb, 0x60 },
{ 0x0093, 0x00cb, 0x61 },
{ 0x0093, 0x00cb, 0x61 },
{ 0x0093, 0x00cb, 0x61 },
{ 0x0093, 0x00cb, 0x61 },
{ 0x0093, 0x00cb, 0x61 },
{ 0x0051, 0x00cb, 0x68 },
{ 0x0056, 0x00cb, 0x68 },
{ 0x0090, 0x00cb, 0x68 },
{ 0x0091, 0x00cb, 0x68 },
{ 0x0092, 0x00cb, 0x68 },
{ 0x0093, 0x00cb, 0x68 },
{ 0x0094, 0x00cb, 0x68 },
{ 0x0095, 0x00cb, 0x68 },
{ 0x0096, 0x00cb, 0x68 },
{ 0x0097, 0x00cb, 0x68 },
{ 0x0098, 0x00cb, 0x68 },
{ 0x0099, 0x00cb, 0x68 },
{ 0x009c, 0x00cb, 0x68 },
{ 0x009d, 0x00cb, 0x68 },
{ 0x009e, 0x00cb, 0x68 },
{ 0x009f, 0x00cb, 0x68 },
{ 0x00a0, 0x00cb, 0x68 },
{ 0x00a1, 0x00cb, 0x68 },
{ 0x00a2, 0x00cb, 0x68 },
{ 0x00a3, 0x00cb, 0x68 },
{ 0x00a4, 0x00cb, 0x68 },
{ 0x00a5, 0x00cb, 0x68 },
{ 0x00a6, 0x00cb, 0x68 },
{ 0x00a7, 0x00cb, 0x68 },
{ 0x009a, 0x00cb, 0x66 },
{ 0x009a, 0x00cb, 0x66 },
{ 0x009b, 0x00cb, 0x67 },
{ 0x009b, 0x00cb, 0x67 },
{ 0x009b, 0x00cb, 0x67 },
{ 0x009b, 0x00cb, 0x67 },
{ 0x0123, 0x0190, 0xff },
{ 0x0071, 0x0192, 0x63 },
{ 0x0075, 0x0191, 0x62 },
{ 0x0072, 0x0194, 0x63 },
{ 0x0076, 0x0193, 0x62 },
{ 0x0073, 0x0196, 0x63 },
{ 0x0077, 0x0195, 0x62 },
{ 0x008e, 0x0197, 0x64 },
{ 0x008f, 0x0198, 0x64 },
{ 0x00a8, 0x00cb, 0x68 },
{ 0x00a9, 0x00cb, 0x68 },
{ 0x00f3, 0x0199, 0xff }
{ BG_TYPE_292, FG_TYPE_EMPTY, mFM_BLOCK_TYPE_NONE },
{ BG_TYPE_GRD_S_C6_2, FG_TYPE_0000, mFM_BLOCK_TYPE_NONE },
{ BG_TYPE_GRD_S_F_1, FG_TYPE_EMPTY, mFM_BLOCK_TYPE_NONE },
{ BG_TYPE_GRD_S_F_1, FG_TYPE_0004, mFM_BLOCK_TYPE_NONE },
{ BG_TYPE_GRD_S_F_1, FG_TYPE_0005, mFM_BLOCK_TYPE_NONE },
{ BG_TYPE_GRD_S_F_1, FG_TYPE_000C, mFM_BLOCK_TYPE_NONE },
{ BG_TYPE_GRD_S_F_1, FG_TYPE_0009, mFM_BLOCK_TYPE_NONE },
{ BG_TYPE_GRD_S_F_1, FG_TYPE_000B, mFM_BLOCK_TYPE_NONE },
{ BG_TYPE_ROOM01, FG_TYPE_ROOM01, mFM_BLOCK_TYPE_NONE },
{ BG_TYPE_GRD_S_F_1, FG_TYPE_000E, mFM_BLOCK_TYPE_NONE },
{ BG_TYPE_GRD_S_F_1, FG_TYPE_EMPTY, mFM_BLOCK_TYPE_NONE },
{ BG_TYPE_GRD_S_F_1, FG_TYPE_000F, mFM_BLOCK_TYPE_NONE },
{ BG_TYPE_GRD_S_F_1, FG_TYPE_0010, mFM_BLOCK_TYPE_NONE },
{ BG_TYPE_GRD_S_F_1, FG_TYPE_0011, mFM_BLOCK_TYPE_NONE },
{ BG_TYPE_GRD_S_F_1, FG_TYPE_0012, mFM_BLOCK_TYPE_NONE },
{ BG_TYPE_GRD_S_F_1, FG_TYPE_0013, mFM_BLOCK_TYPE_NONE },
{ BG_TYPE_GRD_S_F_1, FG_TYPE_0014, mFM_BLOCK_TYPE_NONE },
{ BG_TYPE_GRD_S_F_1, FG_TYPE_0015, mFM_BLOCK_TYPE_NONE },
{ BG_TYPE_ROM_MY_ROOM_L, FG_TYPE_ROM_PLAYER_ROOM, mFM_BLOCK_TYPE_NONE },
{ BG_TYPE_GRD_S_F_1, FG_TYPE_0017, mFM_BLOCK_TYPE_NONE },
{ BG_TYPE_GRD_S_F_1, FG_TYPE_001B, mFM_BLOCK_TYPE_NONE },
{ BG_TYPE_NPC_ROOM01, FG_TYPE_NPC_ROOM01, mFM_BLOCK_TYPE_NONE },
{ BG_TYPE_GRD_S_F_1, FG_TYPE_001B, mFM_BLOCK_TYPE_NONE },
{ BG_TYPE_GRD_S_F_1, FG_TYPE_0069, mFM_BLOCK_TYPE_NONE },
{ BG_TYPE_GRD_S_R5_B_1, FG_TYPE_GRD_S_R5_B_1, mFM_BLOCK_TYPE_RIVER_EAST_SOUTH_BRIDGE },
{ BG_TYPE_ROM_SHOP1, FG_TYPE_ROM_SHOP1, mFM_BLOCK_TYPE_NONE },
{ BG_TYPE_GRD_S_F_1, FG_TYPE_0027, mFM_BLOCK_TYPE_NONE },
{ BG_TYPE_GRD_S_C5_R1_1, FG_TYPE_GRD_S_C5_R1_1, mFM_BLOCK_TYPE_WATERFALL_STRAIGHT_CLIFF_TOP_LEFT_CORNER },
{ BG_TYPE_GRD_S_T_R1_1, FG_TYPE_GRD_S_T_R1_1, mFM_BLOCK_TYPE_TRACKS_RIVER },
{ BG_TYPE_TMP, FG_TYPE_0001, mFM_BLOCK_TYPE_NONE },
{ BG_TYPE_TMP2, FG_TYPE_0001, mFM_BLOCK_TYPE_NONE },
{ BG_TYPE_TMPR, FG_TYPE_0001, mFM_BLOCK_TYPE_NONE },
{ BG_TYPE_TMPR2, FG_TYPE_0001, mFM_BLOCK_TYPE_NONE },
{ BG_TYPE_GRD_S_C1_R1_1, FG_TYPE_GRD_S_C1_R1_1_29, mFM_BLOCK_TYPE_WATERFALL_STRAIGHT_CLIFF_HORIZONTAL },
{ BG_TYPE_GRD_S_C1_S_1, FG_TYPE_GRD_S_C1_S_1, mFM_BLOCK_TYPE_SLOPE_HORIZONTAL },
{ BG_TYPE_GRD_S_C2_R1_1, FG_TYPE_GRD_S_C2_R1_1, mFM_BLOCK_TYPE_WATERFALL_STRAIGHT_CLIFF_BOTTOM_RIGHT_CORNER },
{ BG_TYPE_GRD_S_C2_R2_1, FG_TYPE_GRD_S_C2_R2_1, mFM_BLOCK_TYPE_WATERFALL_EAST_CLIFF_BOTTOM_RIGHT_CORNER },
{ BG_TYPE_GRD_S_F_1, FG_TYPE_GRD_S_F_1_2F, mFM_BLOCK_TYPE_FLAT },
{ BG_TYPE_GRD_S_F_2, FG_TYPE_GRD_S_F_2, mFM_BLOCK_TYPE_FLAT },
{ BG_TYPE_GRD_S_C1_1, FG_TYPE_GRD_S_C1_1, mFM_BLOCK_TYPE_CLIFF_HORIZONTAL },
{ BG_TYPE_GRD_S_C1_R2_1, FG_TYPE_GRD_S_C1_R2_1, mFM_BLOCK_TYPE_RIVER_STRAIGHT_CLIFF_HORIZONTAL },
{ BG_TYPE_GRD_S_C1_R3_1, FG_TYPE_GRD_S_C1_R3_1, mFM_BLOCK_TYPE_RIVER_WEST_CLIFF_HORIZONTAL },
{ BG_TYPE_GRD_S_C2_1, FG_TYPE_GRD_S_C2_1, mFM_BLOCK_TYPE_CLIFF_BOTTOM_RIGHT_CORNER },
{ BG_TYPE_GRD_S_C3_1, FG_TYPE_GRD_S_C3_1, mFM_BLOCK_TYPE_CLIFF_VERTICAL_RIGHT },
{ BG_TYPE_GRD_S_C3_R1_1, FG_TYPE_GRD_S_C3_R1_1, mFM_BLOCK_TYPE_RIVER_STRAIGHT_CLIFF_VERTICAL_RIGHT },
{ BG_TYPE_GRD_S_C4_1, FG_TYPE_GRD_S_C4_1, mFM_BLOCK_TYPE_CLIFF_TOP_RIGHT_CORNER },
{ BG_TYPE_GRD_S_C4_R1_1, FG_TYPE_GRD_S_C4_R1_1, mFM_BLOCK_TYPE_RIVER_STRAIGHT_CLIFF_TOP_RIGHT_CORNER },
{ BG_TYPE_GRD_S_C4_R2_1, FG_TYPE_GRD_S_C4_R2_1, mFM_BLOCK_TYPE_RIVER_EAST_CLIFF_TOP_RIGHT_CORNER },
{ BG_TYPE_GRD_S_C5_1, FG_TYPE_GRD_S_C5_1, mFM_BLOCK_TYPE_CLIFF_TOP_LEFT_CORNER },
{ BG_TYPE_GRD_S_C5_R2_1, FG_TYPE_GRD_S_C5_R2_1, mFM_BLOCK_TYPE_RIVER_EAST_CLIFF_TOP_LEFT_CORNER },
{ BG_TYPE_GRD_S_C5_R3_1, FG_TYPE_GRD_S_C5_R3_1, mFM_BLOCK_TYPE_RIVER_WEST_CLIFF_TOP_LEFT_CORNER },
{ BG_TYPE_GRD_S_C6_1, FG_TYPE_GRD_S_C6_1, mFM_BLOCK_TYPE_CLIFF_VERTICAL_LEFT },
{ BG_TYPE_GRD_S_C6_R1_1, FG_TYPE_GRD_S_C6_R1_1, mFM_BLOCK_TYPE_RIVER_STRAIGHT_CLIFF_VERTICAL_LEFT },
{ BG_TYPE_GRD_S_C7_1, FG_TYPE_GRD_S_C7_1, mFM_BLOCK_TYPE_CLIFF_BOTTOM_LEFT_CORNER },
{ BG_TYPE_GRD_S_R1_1, FG_TYPE_GRD_S_R1_1, mFM_BLOCK_TYPE_RIVER_SOUTH },
{ BG_TYPE_GRD_S_R2_1, FG_TYPE_GRD_S_R2_1, mFM_BLOCK_TYPE_RIVER_EAST },
{ BG_TYPE_GRD_S_R3_1, FG_TYPE_GRD_S_R3_1, mFM_BLOCK_TYPE_RIVER_WEST },
{ BG_TYPE_GRD_S_R4_1, FG_TYPE_GRD_S_R4_1, mFM_BLOCK_TYPE_RIVER_SOUTH_EAST },
{ BG_TYPE_GRD_S_R5_1, FG_TYPE_GRD_S_R5_1, mFM_BLOCK_TYPE_RIVER_EAST_SOUTH },
{ BG_TYPE_GRD_S_R6_1, FG_TYPE_GRD_S_R6_1, mFM_BLOCK_TYPE_RIVER_SOUTH_WEST },
{ BG_TYPE_GRD_S_R7_1, FG_TYPE_GRD_S_R7_1, mFM_BLOCK_TYPE_RIVER_WEST_SOUTH },
{ BG_TYPE_GRD_S_C3_R2_1, FG_TYPE_GRD_S_C3_R2_1, mFM_BLOCK_TYPE_WATERFALL_EAST_CLIFF_VERTICAL_RIGHT },
{ BG_TYPE_GRD_S_C7_R3_1, FG_TYPE_GRD_S_C7_R3_1, mFM_BLOCK_TYPE_WATERFALL_WEST_CLIFF_BOTTOM_LEFT_CORNER },
{ BG_TYPE_GRD_S_C6_R3_1, FG_TYPE_GRD_S_C6_R3_1, mFM_BLOCK_TYPE_WATERFALL_WEST_CLIFF_VERTICAL_LEFT },
{ BG_TYPE_GRD_S_R1_B_1, FG_TYPE_GRD_S_R1_B_1, mFM_BLOCK_TYPE_RIVER_SOUTH_BRIDGE },
{ BG_TYPE_GRD_S_R2_B_1, FG_TYPE_GRD_S_R2_B_1, mFM_BLOCK_TYPE_RIVER_EAST_BRIDGE },
{ BG_TYPE_GRD_S_R3_B_1, FG_TYPE_GRD_S_R3_B_1, mFM_BLOCK_TYPE_RIVER_WEST_BRIDGE },
{ BG_TYPE_GRD_S_R4_B_1, FG_TYPE_GRD_S_R4_B_1, mFM_BLOCK_TYPE_RIVER_SOUTH_EAST_BRIDGE },
{ BG_TYPE_GRD_S_R6_B_1, FG_TYPE_GRD_S_R6_B_1, mFM_BLOCK_TYPE_RIVER_SOUTH_WEST_BRIDGE },
{ BG_TYPE_GRD_S_R7_B_1, FG_TYPE_GRD_S_R7_B_1, mFM_BLOCK_TYPE_RIVER_WEST_SOUTH_BRIDGE },
{ BG_TYPE_GRD_S_T_1, FG_TYPE_GRD_S_T_1, mFM_BLOCK_TYPE_TRACKS_DUMP },
{ BG_TYPE_GRD_S_C1_S_2, FG_TYPE_GRD_S_C1_S_2, mFM_BLOCK_TYPE_SLOPE_HORIZONTAL },
{ BG_TYPE_GRD_S_C2_S_1, FG_TYPE_GRD_S_C2_S_1, mFM_BLOCK_TYPE_SLOPE_BOTTOM_RIGHT_CORNER },
{ BG_TYPE_GRD_S_C3_S_1, FG_TYPE_GRD_S_C3_S_1, mFM_BLOCK_TYPE_SLOPE_VERTICAL_RIGHT },
{ BG_TYPE_GRD_S_C4_S_1, FG_TYPE_GRD_S_C4_S_1, mFM_BLOCK_TYPE_SLOPE_TOP_RIGHT_CORNER },
{ BG_TYPE_GRD_S_C5_S_1, FG_TYPE_GRD_S_C5_S_1, mFM_BLOCK_TYPE_SLOPE_TOP_LEFT_CORNER },
{ BG_TYPE_GRD_S_C6_S_1, FG_TYPE_GRD_S_C6_S_1, mFM_BLOCK_TYPE_SLOPE_VERTICAL_LEFT },
{ BG_TYPE_GRD_S_C7_S_1, FG_TYPE_GRD_S_C7_S_1, mFM_BLOCK_TYPE_SLOPE_BOTTOM_LEFT_CORNER },
{ BG_TYPE_GRD_S_C7_R1_1, FG_TYPE_GRD_S_C7_R1_1, mFM_BLOCK_TYPE_RIVER_STRAIGHT_CLIFF_BOTTOM_LEFT_CORNER },
{ BG_TYPE_GRD_S_C4_R3_1, FG_TYPE_GRD_S_C4_R3_1, mFM_BLOCK_TYPE_RIVER_WEST_CLIFF_TOP_RIGHT_CORNER },
{ BG_TYPE_GRD_YAMISHOP, FG_TYPE_GRD_YAMISHOP, mFM_BLOCK_TYPE_NONE },
{ BG_TYPE_GRD_POST_OFFICE, FG_TYPE_GRD_POST_OFFICE, mFM_BLOCK_TYPE_NONE },
{ BG_TYPE_ROM_TRAIN_IN, FG_TYPE_ROM_TRAIN_IN, mFM_BLOCK_TYPE_NONE },
{ BG_TYPE_ROM_TRAIN_IN, FG_TYPE_ROM_TRAIN_IN_2, mFM_BLOCK_TYPE_NONE },
{ BG_TYPE_GRD_S_F_1, FG_TYPE_0006, mFM_BLOCK_TYPE_NONE },
{ BG_TYPE_GRD_S_T_ST1_1, FG_TYPE_GRD_S_T_ST1_1, mFM_BLOCK_TYPE_TRACKS_STATION },
{ BG_TYPE_GRD_S_F_1, FG_TYPE_GRD_S_F_1_CD, mFM_BLOCK_TYPE_NONE },
{ BG_TYPE_GRD_S_C1_2, FG_TYPE_GRD_S_C1_2, mFM_BLOCK_TYPE_CLIFF_HORIZONTAL },
{ BG_TYPE_GRD_S_C1_3, FG_TYPE_GRD_S_C1_3, mFM_BLOCK_TYPE_CLIFF_HORIZONTAL },
{ BG_TYPE_GRD_S_C1_4, FG_TYPE_GRD_S_C1_4, mFM_BLOCK_TYPE_CLIFF_HORIZONTAL },
{ BG_TYPE_GRD_S_C1_5, FG_TYPE_GRD_S_C1_5, mFM_BLOCK_TYPE_CLIFF_HORIZONTAL },
{ BG_TYPE_GRD_S_C2_2, FG_TYPE_GRD_S_C2_2, mFM_BLOCK_TYPE_CLIFF_BOTTOM_RIGHT_CORNER },
{ BG_TYPE_GRD_S_R1_2, FG_TYPE_GRD_S_R1_2, mFM_BLOCK_TYPE_RIVER_SOUTH },
{ BG_TYPE_GRD_S_R1_3, FG_TYPE_GRD_S_R1_3, mFM_BLOCK_TYPE_RIVER_SOUTH },
{ BG_TYPE_GRD_S_R4_2, FG_TYPE_GRD_S_R4_2, mFM_BLOCK_TYPE_RIVER_SOUTH_EAST },
{ BG_TYPE_GRD_S_R5_2, FG_TYPE_GRD_S_R5_2, mFM_BLOCK_TYPE_RIVER_EAST_SOUTH },
{ BG_TYPE_GRD_S_R7_2, FG_TYPE_GRD_S_R7_2, mFM_BLOCK_TYPE_RIVER_WEST_SOUTH },
{ BG_TYPE_GRD_S_R7_3, FG_TYPE_GRD_S_R7_3, mFM_BLOCK_TYPE_RIVER_WEST_SOUTH },
{ BG_TYPE_GRD_S_C2_S_2, FG_TYPE_GRD_S_C2_S_2, mFM_BLOCK_TYPE_SLOPE_BOTTOM_RIGHT_CORNER },
{ BG_TYPE_GRD_S_C1_S_3, FG_TYPE_GRD_S_C1_S_3, mFM_BLOCK_TYPE_SLOPE_HORIZONTAL },
{ BG_TYPE_GRD_S_C4_S_2, FG_TYPE_GRD_S_C4_S_2, mFM_BLOCK_TYPE_SLOPE_TOP_RIGHT_CORNER },
{ BG_TYPE_GRD_S_C5_S_2, FG_TYPE_GRD_S_C5_S_2, mFM_BLOCK_TYPE_SLOPE_TOP_LEFT_CORNER },
{ BG_TYPE_GRD_S_C6_R1_2, FG_TYPE_GRD_S_C6_R1_2, mFM_BLOCK_TYPE_RIVER_STRAIGHT_CLIFF_VERTICAL_LEFT },
{ BG_TYPE_GRD_S_C3_R1_2, FG_TYPE_GRD_S_C3_R1_2, mFM_BLOCK_TYPE_RIVER_STRAIGHT_CLIFF_VERTICAL_RIGHT },
{ BG_TYPE_GRD_S_C3_2, FG_TYPE_GRD_S_C3_2, mFM_BLOCK_TYPE_CLIFF_VERTICAL_RIGHT },
{ BG_TYPE_GRD_S_C7_3, FG_TYPE_GRD_S_C7_3, mFM_BLOCK_TYPE_CLIFF_BOTTOM_LEFT_CORNER },
{ BG_TYPE_GRD_S_C1_R2_2, FG_TYPE_GRD_S_C1_R2_2, mFM_BLOCK_TYPE_RIVER_STRAIGHT_CLIFF_HORIZONTAL },
{ BG_TYPE_GRD_S_C1_R3_2, FG_TYPE_GRD_S_C1_R3_2, mFM_BLOCK_TYPE_RIVER_WEST_CLIFF_HORIZONTAL },
{ BG_TYPE_GRD_S_C4_2, FG_TYPE_GRD_S_C4_2, mFM_BLOCK_TYPE_CLIFF_TOP_RIGHT_CORNER },
{ BG_TYPE_GRD_S_C5_2, FG_TYPE_GRD_S_C5_2, mFM_BLOCK_TYPE_CLIFF_TOP_LEFT_CORNER },
{ BG_TYPE_GRD_S_C6_2, FG_TYPE_GRD_S_C6_2, mFM_BLOCK_TYPE_CLIFF_VERTICAL_LEFT },
{ BG_TYPE_GRD_S_R2_2, FG_TYPE_GRD_S_R2_2, mFM_BLOCK_TYPE_RIVER_EAST },
{ BG_TYPE_GRD_S_R3_2, FG_TYPE_GRD_S_R3_2, mFM_BLOCK_TYPE_RIVER_WEST },
{ BG_TYPE_GRD_S_C4_R1_2, FG_TYPE_GRD_S_C4_R1_2, mFM_BLOCK_TYPE_RIVER_STRAIGHT_CLIFF_TOP_RIGHT_CORNER },
{ BG_TYPE_GRD_S_C4_R2_2, FG_TYPE_GRD_S_C4_R2_2, mFM_BLOCK_TYPE_RIVER_EAST_CLIFF_TOP_RIGHT_CORNER },
{ BG_TYPE_GRD_S_C7_R1_2, FG_TYPE_GRD_S_C7_R1_2, mFM_BLOCK_TYPE_RIVER_STRAIGHT_CLIFF_BOTTOM_LEFT_CORNER },
{ BG_TYPE_GRD_S_R6_2, FG_TYPE_GRD_S_R6_2, mFM_BLOCK_TYPE_RIVER_SOUTH_WEST },
{ BG_TYPE_GRD_S_C5_R2_2, FG_TYPE_GRD_S_C5_R2_2, mFM_BLOCK_TYPE_RIVER_EAST_CLIFF_TOP_LEFT_CORNER },
{ BG_TYPE_GRD_S_C4_R3_2, FG_TYPE_GRD_S_C4_R3_2, mFM_BLOCK_TYPE_RIVER_WEST_CLIFF_TOP_RIGHT_CORNER },
{ BG_TYPE_GRD_S_R2_3, FG_TYPE_GRD_S_R2_3, mFM_BLOCK_TYPE_RIVER_EAST },
{ BG_TYPE_GRD_S_R3_3, FG_TYPE_GRD_S_R3_3, mFM_BLOCK_TYPE_RIVER_WEST },
{ BG_TYPE_GRD_S_C5_R3_2, FG_TYPE_GRD_S_C5_R3_2, mFM_BLOCK_TYPE_RIVER_WEST_CLIFF_TOP_LEFT_CORNER },
{ BG_TYPE_GRD_S_C5_3, FG_TYPE_GRD_S_C5_3, mFM_BLOCK_TYPE_CLIFF_TOP_LEFT_CORNER },
{ BG_TYPE_GRD_S_C4_3, FG_TYPE_GRD_S_C4_3, mFM_BLOCK_TYPE_CLIFF_TOP_RIGHT_CORNER },
{ BG_TYPE_GRD_S_C3_3, FG_TYPE_GRD_S_C3_3, mFM_BLOCK_TYPE_CLIFF_VERTICAL_RIGHT },
{ BG_TYPE_GRD_S_C2_3, FG_TYPE_GRD_S_C2_3, mFM_BLOCK_TYPE_CLIFF_BOTTOM_RIGHT_CORNER },
{ BG_TYPE_POLICE_INDOOR, FG_TYPE_POLICE_INDOOR, mFM_BLOCK_TYPE_NONE },
{ BG_TYPE_GRD_S_R1_P_1, FG_TYPE_GRD_S_R1_P_1, mFM_BLOCK_TYPE_POOL_SOUTH },
{ BG_TYPE_GRD_S_C1_R1_2, FG_TYPE_GRD_S_C1_R1_2, mFM_BLOCK_TYPE_WATERFALL_STRAIGHT_CLIFF_HORIZONTAL },
{ BG_TYPE_GRD_S_C1_R1_3, FG_TYPE_GRD_S_C1_R1_3, mFM_BLOCK_TYPE_WATERFALL_STRAIGHT_CLIFF_HORIZONTAL },
{ BG_TYPE_GRD_S_C1_R2_3, FG_TYPE_GRD_S_C1_R2_3, mFM_BLOCK_TYPE_RIVER_STRAIGHT_CLIFF_HORIZONTAL },
{ BG_TYPE_GRD_S_C1_R3_3, FG_TYPE_GRD_S_C1_R3_3, mFM_BLOCK_TYPE_RIVER_WEST_CLIFF_HORIZONTAL },
{ BG_TYPE_GRD_S_C2_R1_2, FG_TYPE_GRD_S_C2_R1_2, mFM_BLOCK_TYPE_WATERFALL_STRAIGHT_CLIFF_BOTTOM_RIGHT_CORNER },
{ BG_TYPE_GRD_S_C5_R1_2, FG_TYPE_GRD_S_C5_R1_2, mFM_BLOCK_TYPE_WATERFALL_STRAIGHT_CLIFF_TOP_LEFT_CORNER },
{ BG_TYPE_GRD_S_C6_3, FG_TYPE_GRD_S_C6_3, mFM_BLOCK_TYPE_CLIFF_VERTICAL_LEFT },
{ BG_TYPE_GRD_S_C7_2, FG_TYPE_GRD_S_C7_2, mFM_BLOCK_TYPE_CLIFF_BOTTOM_LEFT_CORNER },
{ BG_TYPE_GRD_S_R1_4, FG_TYPE_GRD_S_R1_4, mFM_BLOCK_TYPE_RIVER_SOUTH },
{ BG_TYPE_GRD_S_R2_4, FG_TYPE_GRD_S_R2_4, mFM_BLOCK_TYPE_RIVER_EAST },
{ BG_TYPE_GRD_S_R3_4, FG_TYPE_GRD_S_R3_4, mFM_BLOCK_TYPE_RIVER_WEST },
{ BG_TYPE_GRD_S_R4_3, FG_TYPE_GRD_S_R4_3, mFM_BLOCK_TYPE_RIVER_SOUTH_EAST },
{ BG_TYPE_GRD_S_R5_3, FG_TYPE_GRD_S_R5_3, mFM_BLOCK_TYPE_RIVER_EAST_SOUTH },
{ BG_TYPE_GRD_S_R6_3, FG_TYPE_GRD_S_R6_3, mFM_BLOCK_TYPE_RIVER_SOUTH_WEST },
{ BG_TYPE_GRD_S_T_10, FG_TYPE_GRD_S_T_10_67, mFM_BLOCK_TYPE_NONE },
{ BG_TYPE_GRD_S_T_10, FG_TYPE_GRD_S_T_10_66, mFM_BLOCK_TYPE_NONE },
{ BG_TYPE_GRD_S_F_1, FG_TYPE_0068, mFM_BLOCK_TYPE_NONE },
{ BG_TYPE_GRD_S_C2_R2_2, FG_TYPE_GRD_S_C2_R2_2, mFM_BLOCK_TYPE_WATERFALL_EAST_CLIFF_BOTTOM_RIGHT_CORNER },
{ BG_TYPE_GRD_S_C3_R2_2, FG_TYPE_GRD_S_C3_R2_2, mFM_BLOCK_TYPE_WATERFALL_EAST_CLIFF_VERTICAL_RIGHT },
{ BG_TYPE_GRD_S_R1_B_2, FG_TYPE_GRD_S_R1_B_2, mFM_BLOCK_TYPE_RIVER_SOUTH_BRIDGE },
{ BG_TYPE_GRD_S_R2_B_2, FG_TYPE_GRD_S_R2_B_2, mFM_BLOCK_TYPE_RIVER_EAST_BRIDGE },
{ BG_TYPE_GRD_S_R4_B_2, FG_TYPE_GRD_S_R4_B_2, mFM_BLOCK_TYPE_RIVER_SOUTH_EAST_BRIDGE },
{ BG_TYPE_GRD_S_R3_B_2, FG_TYPE_GRD_S_R3_B_2, mFM_BLOCK_TYPE_RIVER_WEST_BRIDGE },
{ BG_TYPE_GRD_S_R5_B_2, FG_TYPE_GRD_S_R5_B_2, mFM_BLOCK_TYPE_RIVER_EAST_SOUTH_BRIDGE },
{ BG_TYPE_GRD_S_R6_B_2, FG_TYPE_GRD_S_R6_B_2, mFM_BLOCK_TYPE_RIVER_SOUTH_WEST_BRIDGE },
{ BG_TYPE_GRD_S_R7_B_2, FG_TYPE_GRD_S_R7_B_2, mFM_BLOCK_TYPE_RIVER_WEST_SOUTH_BRIDGE },
{ BG_TYPE_GRD_S_R1_B_3, FG_TYPE_GRD_S_R1_B_3, mFM_BLOCK_TYPE_RIVER_SOUTH_BRIDGE },
{ BG_TYPE_GRD_S_R2_B_3, FG_TYPE_GRD_S_R2_B_3, mFM_BLOCK_TYPE_RIVER_EAST_BRIDGE },
{ BG_TYPE_GRD_S_R3_B_3, FG_TYPE_GRD_S_R3_B_3, mFM_BLOCK_TYPE_RIVER_WEST_BRIDGE },
{ BG_TYPE_GRD_S_F_3, FG_TYPE_GRD_S_F_3, mFM_BLOCK_TYPE_FLAT },
{ BG_TYPE_GRD_S_F_4, FG_TYPE_GRD_S_F_4, mFM_BLOCK_TYPE_FLAT },
{ BG_TYPE_GRD_S_F_5, FG_TYPE_GRD_S_F_5, mFM_BLOCK_TYPE_FLAT },
{ BG_TYPE_GRD_S_F_6, FG_TYPE_GRD_S_F_6, mFM_BLOCK_TYPE_FLAT },
{ BG_TYPE_GRD_S_F_7, FG_TYPE_GRD_S_F_7, mFM_BLOCK_TYPE_FLAT },
{ BG_TYPE_GRD_S_F_8, FG_TYPE_GRD_S_F_8, mFM_BLOCK_TYPE_FLAT },
{ BG_TYPE_GRD_S_F_9, FG_TYPE_GRD_S_F_9, mFM_BLOCK_TYPE_FLAT },
{ BG_TYPE_GRD_S_F_10, FG_TYPE_GRD_S_F_10, mFM_BLOCK_TYPE_FLAT },
{ BG_TYPE_GRD_S_T_2, FG_TYPE_GRD_S_T_2, mFM_BLOCK_TYPE_TRACKS_DUMP },
{ BG_TYPE_GRD_S_T_3, FG_TYPE_GRD_S_T_3, mFM_BLOCK_TYPE_TRACKS_DUMP },
{ BG_TYPE_GRD_S_T_4, FG_TYPE_GRD_S_T_4, mFM_BLOCK_TYPE_NONE },
{ BG_TYPE_GRD_S_T_5, FG_TYPE_GRD_S_T_5, mFM_BLOCK_TYPE_NONE },
{ BG_TYPE_GRD_S_T_6, FG_TYPE_GRD_S_T_6, mFM_BLOCK_TYPE_NONE },
{ BG_TYPE_GRD_S_T_7, FG_TYPE_GRD_S_T_7, mFM_BLOCK_TYPE_NONE },
{ BG_TYPE_GRD_S_T_8, FG_TYPE_GRD_S_T_8, mFM_BLOCK_TYPE_NONE },
{ BG_TYPE_GRD_S_T_9, FG_TYPE_GRD_S_T_9, mFM_BLOCK_TYPE_NONE },
{ BG_TYPE_GRD_S_T_10, FG_TYPE_GRD_S_T_10, mFM_BLOCK_TYPE_NONE },
{ BG_TYPE_GRD_S_T_R1_2, FG_TYPE_GRD_S_T_R1_2, mFM_BLOCK_TYPE_TRACKS_RIVER },
{ BG_TYPE_GRD_S_T_R1_3, FG_TYPE_GRD_S_T_R1_3, mFM_BLOCK_TYPE_TRACKS_RIVER },
{ BG_TYPE_GRD_S_T_R1_4, FG_TYPE_GRD_S_T_R1_4, mFM_BLOCK_TYPE_TRACKS_RIVER },
{ BG_TYPE_GRD_S_T_R1_5, FG_TYPE_GRD_S_T_R1_5, mFM_BLOCK_TYPE_TRACKS_RIVER },
{ BG_TYPE_GRD_S_R2_P_1, FG_TYPE_GRD_S_R2_P_1, mFM_BLOCK_TYPE_POOL_EAST },
{ BG_TYPE_GRD_S_R3_P_1, FG_TYPE_GRD_S_R3_P_1, mFM_BLOCK_TYPE_POOL_WEST },
{ BG_TYPE_GRD_S_F_1, FG_TYPE_006A, mFM_BLOCK_TYPE_NONE },
{ BG_TYPE_GRD_S_F_1, FG_TYPE_0061, mFM_BLOCK_TYPE_NONE },
{ BG_TYPE_GRD_S_F_1, FG_TYPE_0062, mFM_BLOCK_TYPE_NONE },
{ BG_TYPE_GRD_S_F_1, FG_TYPE_GRD_S_M_3, mFM_BLOCK_TYPE_NONE },
{ BG_TYPE_GRD_S_F_1, FG_TYPE_GRD_S_M_4, mFM_BLOCK_TYPE_NONE },
{ BG_TYPE_GRD_S_R1_1, FG_TYPE_0065, mFM_BLOCK_TYPE_NONE },
{ BG_TYPE_GRD_S_R6_P_1, FG_TYPE_GRD_S_R6_P_1, mFM_BLOCK_TYPE_POOL_SOUTH_WEST },
{ BG_TYPE_GRD_S_R7_P_1, FG_TYPE_GRD_S_R7_P_1, mFM_BLOCK_TYPE_POOL_WEST_SOUTH },
{ BG_TYPE_GRD_S_T_ST1_2, FG_TYPE_GRD_S_T_ST1_2, mFM_BLOCK_TYPE_TRACKS_STATION },
{ BG_TYPE_GRD_S_T_ST1_3, FG_TYPE_GRD_S_T_ST1_3, mFM_BLOCK_TYPE_TRACKS_STATION },
{ BG_TYPE_GRD_S_R4_P_1, FG_TYPE_GRD_S_R4_P_1, mFM_BLOCK_TYPE_POOL_SOUTH_EAST },
{ BG_TYPE_GRD_S_R5_P_1, FG_TYPE_GRD_S_R5_P_1, mFM_BLOCK_TYPE_POOL_EAST_SOUTH },
{ BG_TYPE_ROM_URANAI, FG_TYPE_ROM_URANAI, mFM_BLOCK_TYPE_NONE },
{ BG_TYPE_GRD_PLAYER_SELECT, FG_TYPE_GRD_PLAYER_SELECT, mFM_BLOCK_TYPE_NONE },
{ BG_TYPE_ROM_MY_ROOM_S, FG_TYPE_ROM_PLAYER_ROOM, mFM_BLOCK_TYPE_NONE },
{ BG_TYPE_ROM_MY_ROOM_M, FG_TYPE_ROM_PLAYER_ROOM, mFM_BLOCK_TYPE_NONE },
{ BG_TYPE_GRD_S_F_9_1, FG_TYPE_EMPTY, mFM_BLOCK_TYPE_TRACKS6 },
{ BG_TYPE_GRD_S_R1_3_1, FG_TYPE_EMPTY, mFM_BLOCK_TYPE_TRACKS7 },
{ BG_TYPE_GRD_S_C1_3_1, FG_TYPE_EMPTY, mFM_BLOCK_TYPE_TRACKS8 },
{ BG_TYPE_GRD_S_F_9_2, FG_TYPE_EMPTY, mFM_BLOCK_TYPE_TRACKS9 },
{ BG_TYPE_GRD_S_C1_S_4, FG_TYPE_GRD_S_C1_S_4, mFM_BLOCK_TYPE_SLOPE_HORIZONTAL },
{ BG_TYPE_GRD_S_E1_1, FG_TYPE_EMPTY, mFM_BLOCK_TYPE_BORDER_CLIFF_TOP },
{ BG_TYPE_GRD_S_E1_R1_1, FG_TYPE_EMPTY, mFM_BLOCK_TYPE_BORDER_CLIFF_RIVER },
{ BG_TYPE_GRD_S_E2_1, FG_TYPE_EMPTY, mFM_BLOCK_TYPE_BORDER_CLIFF_LEFT },
{ BG_TYPE_GRD_S_E2_C1_1, FG_TYPE_EMPTY, mFM_BLOCK_TYPE_BORDER_CLIFF_LEFT_TRANSITION },
{ BG_TYPE_GRD_S_E2_T_1, FG_TYPE_EMPTY, mFM_BLOCK_TYPE_BORDER_CLIFF_LEFT_TUNNEL },
{ BG_TYPE_GRD_S_E3_1, FG_TYPE_EMPTY, mFM_BLOCK_TYPE_BORDER_CLIFF_RIGHT },
{ BG_TYPE_GRD_S_E3_C1_1, FG_TYPE_EMPTY, mFM_BLOCK_TYPE_BORDER_CLIFF_RIGHT_TRANSITION },
{ BG_TYPE_GRD_S_E3_T_1, FG_TYPE_EMPTY, mFM_BLOCK_TYPE_BORDER_CLIFF_RIGHT_TUNNEL },
{ BG_TYPE_GRD_S_E4_1, FG_TYPE_EMPTY, mFM_BLOCK_TYPE_BORDER_CLIFF_CORNER_TOP_LEFT },
{ BG_TYPE_GRD_S_E5_1, FG_TYPE_EMPTY, mFM_BLOCK_TYPE_BORDER_CLIFF_CORNER_TOP_RIGHT },
{ BG_TYPE_GRD_S_F_KO_1, FG_TYPE_0068, mFM_BLOCK_TYPE_POLICE_BOX },
{ BG_TYPE_GRD_S_F_KO_2, FG_TYPE_GRD_S_F_KO_2, mFM_BLOCK_TYPE_POLICE_BOX },
{ BG_TYPE_GRD_S_F_KO_3, FG_TYPE_GRD_S_F_KO_3, mFM_BLOCK_TYPE_POLICE_BOX },
{ BG_TYPE_GRD_S_F_MH_1, FG_TYPE_0069, mFM_BLOCK_TYPE_PLAYER_HOUSE },
{ BG_TYPE_GRD_S_F_MH_2, FG_TYPE_GRD_S_F_MH_2, mFM_BLOCK_TYPE_PLAYER_HOUSE },
{ BG_TYPE_GRD_S_F_MH_3, FG_TYPE_GRD_S_F_MH_3, mFM_BLOCK_TYPE_PLAYER_HOUSE },
{ BG_TYPE_GRD_S_F_PK_1, FG_TYPE_006A, mFM_BLOCK_TYPE_SHRINE },
{ BG_TYPE_GRD_S_F_PK_2, FG_TYPE_GRD_S_F_PK_2, mFM_BLOCK_TYPE_SHRINE },
{ BG_TYPE_GRD_S_F_PK_3, FG_TYPE_GRD_S_F_PK_3, mFM_BLOCK_TYPE_SHRINE },
{ BG_TYPE_GRD_S_T_PO_1, FG_TYPE_GRD_S_T_PO_1, mFM_BLOCK_TYPE_TRACKS_POST_OFFICE },
{ BG_TYPE_GRD_S_T_SH_1, FG_TYPE_GRD_S_T_SH_1, mFM_BLOCK_TYPE_TRACKS_SHOP },
{ BG_TYPE_GRD_S_T_SH_2, FG_TYPE_GRD_S_T_SH_2, mFM_BLOCK_TYPE_TRACKS_SHOP },
{ BG_TYPE_GRD_S_T_SH_3, FG_TYPE_GRD_S_T_SH_3, mFM_BLOCK_TYPE_TRACKS_SHOP },
{ BG_TYPE_GRD_S_T_PO_2, FG_TYPE_GRD_S_T_PO_2, mFM_BLOCK_TYPE_TRACKS_POST_OFFICE },
{ BG_TYPE_GRD_S_T_PO_3, FG_TYPE_GRD_S_T_PO_3, mFM_BLOCK_TYPE_TRACKS_POST_OFFICE },
{ BG_TYPE_GRD_S_F_4, FG_TYPE_0002, mFM_BLOCK_TYPE_NONE },
{ BG_TYPE_ROM_SHOP2, FG_TYPE_ROM_SHOP2, mFM_BLOCK_TYPE_NONE },
{ BG_TYPE_ROM_SHOP4_1, FG_TYPE_ROM_SHOP4_1, mFM_BLOCK_TYPE_NONE },
{ BG_TYPE_ROM_SHOP4_2, FG_TYPE_ROM_SHOP4_2, mFM_BLOCK_TYPE_NONE },
{ BG_TYPE_ROM_SHOP3, FG_TYPE_ROM_SHOP3, mFM_BLOCK_TYPE_NONE },
{ BG_TYPE_GRD_S_HOLE_TEST, FG_TYPE_GRD_S_HOLE_TEST, mFM_BLOCK_TYPE_NONE },
{ BG_TYPE_GRD_S_M_1, FG_TYPE_0061, mFM_BLOCK_TYPE_BEACH },
{ BG_TYPE_GRD_S_M_2, FG_TYPE_0062, mFM_BLOCK_TYPE_BEACH },
{ BG_TYPE_GRD_S_M_1, FG_TYPE_0061, mFM_BLOCK_TYPE_NONE },
{ BG_TYPE_GRD_S_M_2, FG_TYPE_0062, mFM_BLOCK_TYPE_NONE },
{ BG_TYPE_GRD_S_M_R1_1, FG_TYPE_0065, mFM_BLOCK_TYPE_BEACH_RIVER },
{ BG_TYPE_GRD_S_E2_M_1, FG_TYPE_EMPTY, mFM_BLOCK_TYPE_BORDER_CLIFF_OCEAN_LEFT },
{ BG_TYPE_GRD_S_E3_M_1, FG_TYPE_EMPTY, mFM_BLOCK_TYPE_BORDER_CLIFF_OCEAN_RIGHT },
{ BG_TYPE_249, FG_TYPE_0151, mFM_BLOCK_TYPE_NONE },
{ BG_TYPE_GRD_S_M_R1_2, FG_TYPE_GRD_S_M_R1_2, mFM_BLOCK_TYPE_BEACH_RIVER },
{ BG_TYPE_GRD_S_M_R1_3, FG_TYPE_GRD_S_M_R1_3, mFM_BLOCK_TYPE_BEACH_RIVER },
{ BG_TYPE_GRD_S_M_R1_4, FG_TYPE_GRD_S_M_R1_4, mFM_BLOCK_TYPE_BEACH_RIVER },
{ BG_TYPE_GRD_S_M_R1_5, FG_TYPE_GRD_S_M_R1_5, mFM_BLOCK_TYPE_BEACH_RIVER },
{ BG_TYPE_GRD_S_M_R1_B_1, FG_TYPE_GRD_S_M_R1_B_1, mFM_BLOCK_TYPE_BEACH_RIVER_BRIDGE },
{ BG_TYPE_GRD_S_M_R1_B_2, FG_TYPE_GRD_S_M_R1_B_2, mFM_BLOCK_TYPE_BEACH_RIVER_BRIDGE },
{ BG_TYPE_GRD_S_M_R1_B_3, FG_TYPE_GRD_S_M_R1_B_3, mFM_BLOCK_TYPE_BEACH_RIVER_BRIDGE },
{ BG_TYPE_ROM_SHOP2, FG_TYPE_EMPTY, mFM_BLOCK_TYPE_OCEAN },
{ BG_TYPE_ROM_SHOP2, FG_TYPE_EMPTY, mFM_BLOCK_TYPE_OCEAN },
{ BG_TYPE_ROM_SHOP2, FG_TYPE_EMPTY, mFM_BLOCK_TYPE_OCEAN },
{ BG_TYPE_ROM_SHOP2, FG_TYPE_EMPTY, mFM_BLOCK_TYPE_OCEAN },
{ BG_TYPE_ROM_SHOP2, FG_TYPE_EMPTY, mFM_BLOCK_TYPE_OCEAN },
{ BG_TYPE_GRD_S_M_3, FG_TYPE_GRD_S_M_3, mFM_BLOCK_TYPE_BEACH },
{ BG_TYPE_GRD_S_M_4, FG_TYPE_GRD_S_M_4, mFM_BLOCK_TYPE_BEACH },
{ BG_TYPE_GRD_S_M_5, FG_TYPE_GRD_S_M_5, mFM_BLOCK_TYPE_BEACH },
{ BG_TYPE_GRD_S_M_6, FG_TYPE_GRD_S_M_6, mFM_BLOCK_TYPE_BEACH },
{ BG_TYPE_GRD_S_M_7, FG_TYPE_GRD_S_M_7, mFM_BLOCK_TYPE_BEACH },
{ BG_TYPE_GRD_S_M_8, FG_TYPE_GRD_S_M_8, mFM_BLOCK_TYPE_BEACH },
{ BG_TYPE_GRD_S_M_9, FG_TYPE_GRD_S_M_9, mFM_BLOCK_TYPE_BEACH },
{ BG_TYPE_GRD_S_M_10, FG_TYPE_GRD_S_M_10, mFM_BLOCK_TYPE_BEACH },
{ BG_TYPE_GRD_S_C2_S_3, FG_TYPE_GRD_S_C2_S_3, mFM_BLOCK_TYPE_SLOPE_BOTTOM_RIGHT_CORNER },
{ BG_TYPE_GRD_S_C7_R3_2, FG_TYPE_GRD_S_C7_R3_2, mFM_BLOCK_TYPE_WATERFALL_WEST_CLIFF_BOTTOM_LEFT_CORNER },
{ BG_TYPE_GRD_S_C7_S_2, FG_TYPE_GRD_S_C7_S_2, mFM_BLOCK_TYPE_SLOPE_BOTTOM_LEFT_CORNER },
{ BG_TYPE_GRD_S_C7_S_3, FG_TYPE_GRD_S_C7_S_3, mFM_BLOCK_TYPE_SLOPE_BOTTOM_LEFT_CORNER },
{ BG_TYPE_GRD_S_R1_P_1, FG_TYPE_0007, mFM_BLOCK_TYPE_NONE },
{ BG_TYPE_GRD_S_C7_S_3, FG_TYPE_0011, mFM_BLOCK_TYPE_NONE },
{ BG_TYPE_GRD_S_F_1, FG_TYPE_GRD_S_F_1_174, mFM_BLOCK_TYPE_NONE },
{ BG_TYPE_GRD_S_C2_1, FG_TYPE_GRD_S_C2_1_175, mFM_BLOCK_TYPE_NONE },
{ BG_TYPE_GRD_S_C5_1, FG_TYPE_GRD_S_C5_1_176, mFM_BLOCK_TYPE_NONE },
{ BG_TYPE_GRD_S_M_R1_B_2, FG_TYPE_GRD_S_M_R1_B_2_177, mFM_BLOCK_TYPE_NONE },
{ BG_TYPE_GRD_S_R6_1, FG_TYPE_GRD_S_R6_1_178, mFM_BLOCK_TYPE_NONE },
{ BG_TYPE_GRD_S_R3_1, FG_TYPE_GRD_S_R3_1_179, mFM_BLOCK_TYPE_NONE },
{ BG_TYPE_GRD_S_C1_S_1, FG_TYPE_GRD_S_C1_S_1_17A, mFM_BLOCK_TYPE_NONE },
{ BG_TYPE_GRD_S_M_3, FG_TYPE_GRD_S_M_3_17B, mFM_BLOCK_TYPE_NONE },
{ BG_TYPE_GRD_S_R1_B_1, FG_TYPE_GRD_S_R1_B_1_17C, mFM_BLOCK_TYPE_NONE },
{ BG_TYPE_GRD_S_C5_1, FG_TYPE_GRD_S_C5_1_17D, mFM_BLOCK_TYPE_NONE },
{ BG_TYPE_GRD_S_C7_1, FG_TYPE_GRD_S_C7_1_17E, mFM_BLOCK_TYPE_NONE },
{ BG_TYPE_GRD_S_F_1, FG_TYPE_0008, mFM_BLOCK_TYPE_NONE },
{ BG_TYPE_ROM_MUSEUM1, FG_TYPE_ROM_MUSEUM1, mFM_BLOCK_TYPE_NONE },
{ BG_TYPE_ROM_MUSEUM3, FG_TYPE_ROM_MUSEUM3, mFM_BLOCK_TYPE_NONE },
{ BG_TYPE_ROM_MUSEUM2, FG_TYPE_ROM_MUSEUM2, mFM_BLOCK_TYPE_NONE },
{ BG_TYPE_ROM_MUSEUM4, FG_TYPE_ROM_MUSEUM4, mFM_BLOCK_TYPE_NONE },
{ BG_TYPE_ROM_MUSEUM5, FG_TYPE_ROM_MUSEUM5, mFM_BLOCK_TYPE_NONE },
{ BG_TYPE_GRD_S_F_1, FG_TYPE_GRD_S_F_1_184, mFM_BLOCK_TYPE_NONE },
{ BG_TYPE_GRD_S_F_1, FG_TYPE_GRD_S_F_1_185, mFM_BLOCK_TYPE_NONE },
{ BG_TYPE_GRD_S_C1_R1_1, FG_TYPE_0020, mFM_BLOCK_TYPE_NONE },
{ BG_TYPE_GRD_S_R1_2, FG_TYPE_0021, mFM_BLOCK_TYPE_NONE },
{ BG_TYPE_ROM_TAILOR, FG_TYPE_ROM_TAILOR, mFM_BLOCK_TYPE_NONE },
{ BG_TYPE_GRD_S_F_MU_1, FG_TYPE_GRD_S_F_MU_1, mFM_BLOCK_TYPE_MUSEUM },
{ BG_TYPE_GRD_S_F_MU_2, FG_TYPE_GRD_S_F_MU_2, mFM_BLOCK_TYPE_MUSEUM },
{ BG_TYPE_GRD_S_F_MU_3, FG_TYPE_GRD_S_F_MU_3, mFM_BLOCK_TYPE_MUSEUM },
{ BG_TYPE_GRD_S_M_TA_1, FG_TYPE_GRD_S_M_TA_1, mFM_BLOCK_TYPE_NEEDLEWORK },
{ BG_TYPE_GRD_S_M_TA_2, FG_TYPE_GRD_S_M_TA_2, mFM_BLOCK_TYPE_NEEDLEWORK },
{ BG_TYPE_GRD_S_M_TA_3, FG_TYPE_GRD_S_M_TA_3, mFM_BLOCK_TYPE_NEEDLEWORK },
{ BG_TYPE_GRD_S_M_WF_1, FG_TYPE_GRD_S_M_WF_1, mFM_BLOCK_TYPE_PORT },
{ BG_TYPE_GRD_S_O_1, FG_TYPE_EMPTY, mFM_BLOCK_TYPE_OCEAN_2 },
{ BG_TYPE_GRD_S_IR_1, FG_TYPE_GRD_S_IR_1, mFM_BLOCK_TYPE_ISLAND_RIGHT },
{ BG_TYPE_GRD_S_IL_1, FG_TYPE_GRD_S_IL_1, mFM_BLOCK_TYPE_ISLAND_LEFT },
{ BG_TYPE_ROM_SHOP2, FG_TYPE_EMPTY, mFM_BLOCK_TYPE_OCEAN },
{ BG_TYPE_ROM_SHOP2, FG_TYPE_EMPTY, mFM_BLOCK_TYPE_OCEAN },
{ BG_TYPE_ROM_SHOP2, FG_TYPE_EMPTY, mFM_BLOCK_TYPE_OCEAN },
{ BG_TYPE_ROM_SHOP2, FG_TYPE_EMPTY, mFM_BLOCK_TYPE_OCEAN },
{ BG_TYPE_ROM_SHOP2, FG_TYPE_EMPTY, mFM_BLOCK_TYPE_OCEAN },
{ BG_TYPE_ROM_SHOP2, FG_TYPE_EMPTY, mFM_BLOCK_TYPE_OCEAN },
{ BG_TYPE_ROM_SHOP2, FG_TYPE_EMPTY, mFM_BLOCK_TYPE_OCEAN },
{ BG_TYPE_ROM_SHOP2, FG_TYPE_EMPTY, mFM_BLOCK_TYPE_OCEAN },
{ BG_TYPE_ROM_SHOP2, FG_TYPE_EMPTY, mFM_BLOCK_TYPE_OCEAN },
{ BG_TYPE_ROM_SHOP2, FG_TYPE_EMPTY, mFM_BLOCK_TYPE_OCEAN },
{ BG_TYPE_ROM_SHOP2, FG_TYPE_EMPTY, mFM_BLOCK_TYPE_OCEAN },
{ BG_TYPE_ROM_SHOP2, FG_TYPE_EMPTY, mFM_BLOCK_TYPE_OCEAN },
{ BG_TYPE_ROM_SHOP2, FG_TYPE_EMPTY, mFM_BLOCK_TYPE_OCEAN },
{ BG_TYPE_ROM_SHOP2, FG_TYPE_EMPTY, mFM_BLOCK_TYPE_OCEAN },
{ BG_TYPE_GRD_S_O_1, FG_TYPE_EMPTY, mFM_BLOCK_TYPE_OCEAN_2 },
{ BG_TYPE_GRD_S_O_1, FG_TYPE_EMPTY, mFM_BLOCK_TYPE_OCEAN_2 },
{ BG_TYPE_GRD_S_O_2, FG_TYPE_EMPTY, mFM_BLOCK_TYPE_OCEAN_3 },
{ BG_TYPE_GRD_S_O_2, FG_TYPE_EMPTY, mFM_BLOCK_TYPE_OCEAN_3 },
{ BG_TYPE_GRD_S_O_2, FG_TYPE_EMPTY, mFM_BLOCK_TYPE_OCEAN_3 },
{ BG_TYPE_GRD_S_O_2, FG_TYPE_EMPTY, mFM_BLOCK_TYPE_OCEAN_3 },
{ BG_TYPE_GRD_S_O_3, FG_TYPE_EMPTY, mFM_BLOCK_TYPE_OCEAN_4 },
{ BG_TYPE_GRD_S_O_3, FG_TYPE_EMPTY, mFM_BLOCK_TYPE_OCEAN_4 },
{ BG_TYPE_GRD_S_O_3, FG_TYPE_EMPTY, mFM_BLOCK_TYPE_OCEAN_4 },
{ BG_TYPE_GRD_S_O_4, FG_TYPE_EMPTY, mFM_BLOCK_TYPE_OCEAN_5 },
{ BG_TYPE_GRD_S_O_4, FG_TYPE_EMPTY, mFM_BLOCK_TYPE_OCEAN_5 },
{ BG_TYPE_GRD_S_O_4, FG_TYPE_EMPTY, mFM_BLOCK_TYPE_OCEAN_5 },
{ BG_TYPE_GRD_S_O_4, FG_TYPE_EMPTY, mFM_BLOCK_TYPE_OCEAN_5 },
{ BG_TYPE_GRD_S_O_4, FG_TYPE_EMPTY, mFM_BLOCK_TYPE_OCEAN_5 },
{ BG_TYPE_GRD_S_E2_O_1, FG_TYPE_EMPTY, mFM_BLOCK_TYPE_OCEAN_8 },
{ BG_TYPE_GRD_S_E3_O_1, FG_TYPE_EMPTY, mFM_BLOCK_TYPE_OCEAN_8 },
{ BG_TYPE_GRD_S_O_1, FG_TYPE_EMPTY, mFM_BLOCK_TYPE_OCEAN_8 },
{ BG_TYPE_GRD_S_O_2, FG_TYPE_EMPTY, mFM_BLOCK_TYPE_OCEAN_8 },
{ BG_TYPE_GRD_S_O_3, FG_TYPE_EMPTY, mFM_BLOCK_TYPE_OCEAN_8 },
{ BG_TYPE_GRD_S_O_4, FG_TYPE_EMPTY, mFM_BLOCK_TYPE_OCEAN_8 },
{ BG_TYPE_GRD_S_O_5, FG_TYPE_EMPTY, mFM_BLOCK_TYPE_OCEAN_8 },
{ BG_TYPE_GRD_S_O_6, FG_TYPE_EMPTY, mFM_BLOCK_TYPE_OCEAN_8 },
{ BG_TYPE_GRD_S_O_7, FG_TYPE_EMPTY, mFM_BLOCK_TYPE_OCEAN_8 },
{ BG_TYPE_GRD_S_O_8, FG_TYPE_EMPTY, mFM_BLOCK_TYPE_OCEAN_8 },
{ BG_TYPE_GRD_S_O_9, FG_TYPE_EMPTY, mFM_BLOCK_TYPE_OCEAN_8 },
{ BG_TYPE_GRD_S_O_10, FG_TYPE_EMPTY, mFM_BLOCK_TYPE_OCEAN_8 },
{ BG_TYPE_GRD_S_O_R1_1, FG_TYPE_EMPTY, mFM_BLOCK_TYPE_OCEAN_8 },
{ BG_TYPE_GRD_S_O_R1_2, FG_TYPE_EMPTY, mFM_BLOCK_TYPE_OCEAN_8 },
{ BG_TYPE_GRD_S_O_R1_3, FG_TYPE_EMPTY, mFM_BLOCK_TYPE_OCEAN_8 },
{ BG_TYPE_GRD_S_O_R1_4, FG_TYPE_EMPTY, mFM_BLOCK_TYPE_OCEAN_8 },
{ BG_TYPE_GRD_S_O_R1_5, FG_TYPE_EMPTY, mFM_BLOCK_TYPE_OCEAN_8 },
{ BG_TYPE_GRD_S_O_R1_B_1, FG_TYPE_EMPTY, mFM_BLOCK_TYPE_OCEAN_8 },
{ BG_TYPE_GRD_S_O_R1_B_2, FG_TYPE_EMPTY, mFM_BLOCK_TYPE_OCEAN_8 },
{ BG_TYPE_GRD_S_O_R1_B_3, FG_TYPE_EMPTY, mFM_BLOCK_TYPE_OCEAN_8 },
{ BG_TYPE_GRD_S_O_TA_1, FG_TYPE_EMPTY, mFM_BLOCK_TYPE_OCEAN_8 },
{ BG_TYPE_GRD_S_O_TA_2, FG_TYPE_EMPTY, mFM_BLOCK_TYPE_OCEAN_8 },
{ BG_TYPE_GRD_S_O_TA_3, FG_TYPE_EMPTY, mFM_BLOCK_TYPE_OCEAN_8 },
{ BG_TYPE_GRD_S_O_WF_1, FG_TYPE_EMPTY, mFM_BLOCK_TYPE_OCEAN_8 },
{ BG_TYPE_GRD_S_O_I_1, FG_TYPE_EMPTY, mFM_BLOCK_TYPE_OCEAN_6 },
{ BG_TYPE_GRD_S_O_I_1, FG_TYPE_EMPTY, mFM_BLOCK_TYPE_OCEAN_6 },
{ BG_TYPE_GRD_S_O_I_2, FG_TYPE_EMPTY, mFM_BLOCK_TYPE_OCEAN_7 },
{ BG_TYPE_GRD_S_O_I_2, FG_TYPE_EMPTY, mFM_BLOCK_TYPE_OCEAN_7 },
{ BG_TYPE_GRD_S_O_I_2, FG_TYPE_EMPTY, mFM_BLOCK_TYPE_OCEAN_7 },
{ BG_TYPE_GRD_S_O_I_2, FG_TYPE_EMPTY, mFM_BLOCK_TYPE_OCEAN_7 },
{ BG_TYPE_ROM_TOUDAI, FG_TYPE_ROM_TOUDAI, mFM_BLOCK_TYPE_NONE },
{ BG_TYPE_GRD_S_IR_2, FG_TYPE_GRD_S_IR_2, mFM_BLOCK_TYPE_ISLAND_RIGHT },
{ BG_TYPE_GRD_S_IL_2, FG_TYPE_GRD_S_IL_2, mFM_BLOCK_TYPE_ISLAND_LEFT },
{ BG_TYPE_GRD_S_IR_3, FG_TYPE_GRD_S_IR_3, mFM_BLOCK_TYPE_ISLAND_RIGHT },
{ BG_TYPE_GRD_S_IL_3, FG_TYPE_GRD_S_IL_3, mFM_BLOCK_TYPE_ISLAND_LEFT },
{ BG_TYPE_GRD_S_IR_4, FG_TYPE_GRD_S_IR_4, mFM_BLOCK_TYPE_ISLAND_RIGHT },
{ BG_TYPE_GRD_S_IL_4, FG_TYPE_GRD_S_IL_4, mFM_BLOCK_TYPE_ISLAND_LEFT },
{ BG_TYPE_GRD_S_M_WF_2, FG_TYPE_GRD_S_M_WF_2, mFM_BLOCK_TYPE_PORT },
{ BG_TYPE_GRD_S_M_WF_3, FG_TYPE_GRD_S_M_WF_3, mFM_BLOCK_TYPE_PORT },
{ BG_TYPE_GRD_S_O_WF_2, FG_TYPE_EMPTY, mFM_BLOCK_TYPE_OCEAN_8 },
{ BG_TYPE_GRD_S_O_WF_3, FG_TYPE_EMPTY, mFM_BLOCK_TYPE_OCEAN_8 },
{ BG_TYPE_ROM_TENT, FG_TYPE_ROM_TENT, mFM_BLOCK_TYPE_NONE },
};
int data_combi_table_number = ARRAY_COUNT(data_combi_table);
+18 -18
View File
@@ -733,7 +733,7 @@ extern mFM_bg_data_c data_bgd[] = {
},
},
{
BG_TYPE_259,
BG_TYPE_ROM_MY_ROOM_S,
NULL,
NULL,
NULL,
@@ -770,7 +770,7 @@ extern mFM_bg_data_c data_bgd[] = {
},
},
{
BG_TYPE_260,
BG_TYPE_ROM_MY_ROOM_M,
NULL,
NULL,
NULL,
@@ -807,7 +807,7 @@ extern mFM_bg_data_c data_bgd[] = {
},
},
{
BG_TYPE_242,
BG_TYPE_ROM_MY_ROOM_L,
NULL,
NULL,
NULL,
@@ -881,7 +881,7 @@ extern mFM_bg_data_c data_bgd[] = {
},
},
{
BG_TYPE_246,
BG_TYPE_NPC_ROOM01,
NULL,
NULL,
NULL,
@@ -918,7 +918,7 @@ extern mFM_bg_data_c data_bgd[] = {
},
},
{
BG_TYPE_248,
BG_TYPE_ROM_SHOP1,
NULL,
NULL,
NULL,
@@ -8022,7 +8022,7 @@ extern mFM_bg_data_c data_bgd[] = {
},
},
{
BG_TYPE_254,
BG_TYPE_ROM_SHOP2,
NULL,
NULL,
NULL,
@@ -8059,7 +8059,7 @@ extern mFM_bg_data_c data_bgd[] = {
},
},
{
BG_TYPE_258,
BG_TYPE_ROM_SHOP3,
NULL,
NULL,
NULL,
@@ -8133,7 +8133,7 @@ extern mFM_bg_data_c data_bgd[] = {
},
},
{
BG_TYPE_257,
BG_TYPE_ROM_SHOP4_2,
NULL,
NULL,
NULL,
@@ -8429,7 +8429,7 @@ extern mFM_bg_data_c data_bgd[] = {
},
},
{
BG_TYPE_250,
BG_TYPE_ROM_SHOP1_FUKU,
NULL,
NULL,
NULL,
@@ -8466,7 +8466,7 @@ extern mFM_bg_data_c data_bgd[] = {
},
},
{
BG_TYPE_251,
BG_TYPE_ROM_SHOP2_FUKU,
NULL,
NULL,
NULL,
@@ -8503,7 +8503,7 @@ extern mFM_bg_data_c data_bgd[] = {
},
},
{
BG_TYPE_252,
BG_TYPE_ROM_SHOP3_FUKU,
NULL,
NULL,
NULL,
@@ -9465,7 +9465,7 @@ extern mFM_bg_data_c data_bgd[] = {
},
},
{
BG_TYPE_282,
BG_TYPE_ROM_MUSEUM4,
NULL,
NULL,
NULL,
@@ -9502,7 +9502,7 @@ extern mFM_bg_data_c data_bgd[] = {
},
},
{
BG_TYPE_283,
BG_TYPE_ROM_MY_ROOM_LL1,
NULL,
NULL,
NULL,
@@ -9539,7 +9539,7 @@ extern mFM_bg_data_c data_bgd[] = {
},
},
{
BG_TYPE_284,
BG_TYPE_ROM_MY_ROOM_LL2,
NULL,
NULL,
NULL,
@@ -9613,7 +9613,7 @@ extern mFM_bg_data_c data_bgd[] = {
},
},
{
BG_TYPE_286,
BG_TYPE_ROM_MY_ROOM_M_BASEMENT,
NULL,
NULL,
NULL,
@@ -9650,7 +9650,7 @@ extern mFM_bg_data_c data_bgd[] = {
},
},
{
BG_TYPE_287,
BG_TYPE_ROM_MY_ROOM_L_BASEMENT,
NULL,
NULL,
NULL,
@@ -9687,7 +9687,7 @@ extern mFM_bg_data_c data_bgd[] = {
},
},
{
BG_TYPE_288,
BG_TYPE_ROM_MY_ROOM_LL1_BASEMENT,
NULL,
NULL,
NULL,
@@ -9724,7 +9724,7 @@ extern mFM_bg_data_c data_bgd[] = {
},
},
{
BG_TYPE_289,
BG_TYPE_ROM_MY_ROOM_BASEMENT,
NULL,
NULL,
NULL,
File diff suppressed because it is too large Load Diff
+5 -3
View File
@@ -7,6 +7,8 @@
#include "m_play.h"
#include "libultra/libultra.h"
#include "m_player_lib.h"
#include "m_bg_type.h"
#include "m_fg_type.h"
static mCoBG_Collision_u l_edge_ut = { { 0, 31, 31, 31, 31, 31, mCoBG_ATTRIBUTE_GRASS0 } };
@@ -266,7 +268,7 @@ extern int mFI_BlockCheck(int block_x, int block_z) {
int num = mFI_GetBlockNum(block_x, block_z);
if (block_x < 0 || block_x >= mFI_GetBlockXMax() || block_z < 0 || block_z >= mFI_GetBlockZMax() ||
g_fdinfo->block_info[num].bg_info.bg_id.combination_type == 292) {
g_fdinfo->block_info[num].bg_info.bg_id.combination_type == BG_TYPE_292) {
return FALSE;
}
@@ -1085,7 +1087,7 @@ extern void mFI_BGDisplayListRefresh(xyz_t wpos) {
if (mFI_Wpos2BlockNum(&bx, &bz, wpos)) {
num = mFI_GetBlockNum(bx, bz);
if (g_fdinfo->block_info[num].bg_info.bg_id.combination_type != 292) {
if (g_fdinfo->block_info[num].bg_info.bg_id.combination_type != BG_TYPE_292) {
mFI_BGDispMake(&disp_bitfield, bx, bz);
}
}
@@ -1335,7 +1337,7 @@ extern int mFI_UtNumtoFGSet_common(mActor_name_t item, int ut_x, int ut_z, int u
}
block_num = mFI_GetBlockNum(bx, bz);
if (g_fdinfo->block_info[block_num].fg_info.fg_id == 203) {
if (g_fdinfo->block_info[block_num].fg_info.fg_id == FG_TYPE_EMPTY) {
return FALSE;
}
+12 -8
View File
@@ -1394,14 +1394,18 @@ static void mFM_SetIslandFg(mFM_combo_info_c* combi_info_p, mFM_fg_data_c** sort
}
static mFM_combination_c l_combiID[BLOCK_TOTAL_NUM] = {
{ 209, 1 }, { 201, 1 }, { 201, 1 }, { 201, 1 }, { 202, 1 }, { 201, 1 }, { 210, 1 }, { 205, 1 }, { 172, 1 },
{ 222, 1 }, { 189, 1 }, { 176, 1 }, { 225, 1 }, { 208, 1 }, { 203, 1 }, { 159, 1 }, { 5, 1 }, { 215, 1 },
{ 93, 1 }, { 37, 1 }, { 206, 1 }, { 203, 1 }, { 45, 0 }, { 101, 0 }, { 96, 1 }, { 152, 1 }, { 108, 0 },
{ 207, 0 }, { 204, 0 }, { 42, 0 }, { 163, 0 }, { 64, 0 }, { 164, 0 }, { 213, 0 }, { 206, 0 }, { 203, 0 },
{ 157, 0 }, { 217, 0 }, { 127, 0 }, { 38, 0 }, { 160, 0 }, { 206, 0 }, { 196, 0 }, { 196, 0 }, { 196, 0 },
{ 196, 0 }, { 196, 0 }, { 196, 0 }, { 196, 0 }, { 196, 0 }, { 196, 0 }, { 196, 0 }, { 196, 0 }, { 196, 0 },
{ 196, 0 }, { 196, 0 }, { 196, 0 }, { 196, 0 }, { 196, 0 }, { 196, 0 }, { 196, 0 }, { 196, 0 }, { 196, 0 },
{ 196, 0 }, { 196, 0 }, { 196, 0 }, { 196, 0 }, { 196, 0 }, { 196, 0 }, { 196, 0 },
// clang-format off
{ BLOCK_COMBI_GRD_S_E4_1, 1 }, { BLOCK_COMBI_GRD_S_E1_1, 1 }, { BLOCK_COMBI_GRD_S_E1_1, 1 }, { BLOCK_COMBI_GRD_S_E1_1, 1 }, { BLOCK_COMBI_GRD_S_E1_R1_1, 1 }, { BLOCK_COMBI_GRD_S_E1_1, 1 }, { BLOCK_COMBI_GRD_S_E5_1, 1 },
{ BLOCK_COMBI_GRD_S_E2_T_1, 1 }, { BLOCK_COMBI_GRD_S_T_9, 1 }, { BLOCK_COMBI_GRD_S_T_SH_2, 1 }, { BLOCK_COMBI_GRD_S_T_ST1_3, 1 }, { BLOCK_COMBI_GRD_S_T_R1_4, 1 }, { BLOCK_COMBI_GRD_S_T_PO_3, 1 }, { BLOCK_COMBI_GRD_S_E3_T_1, 1 },
{ BLOCK_COMBI_GRD_S_E2_1, 1 }, { BLOCK_COMBI_GRD_S_F_5, 1 }, { BLOCK_COMBI_GRD_5, 1 }, { BLOCK_COMBI_GRD_S_F_MH_2, 1 }, { BLOCK_COMBI_GRD_S_R1_3, 1 }, { BLOCK_COMBI_GRD_S_F_1, 1 }, { BLOCK_COMBI_GRD_S_E3_1, 1 },
{ BLOCK_COMBI_GRD_S_E2_1, 1 }, { BLOCK_COMBI_GRD_S_C4_1, 0 }, { BLOCK_COMBI_GRD_S_C5_S_2, 0 }, { BLOCK_COMBI_GRD_S_R7_2, 1 }, { BLOCK_COMBI_GRD_S_R6_B_2, 1 }, { BLOCK_COMBI_GRD_S_C4_2, 0 }, { BLOCK_COMBI_GRD_S_E3_C1_1, 0 },
{ BLOCK_COMBI_GRD_S_E2_C1_1, 0 }, { BLOCK_COMBI_GRD_S_C2_1, 0 }, { BLOCK_COMBI_GRD_S_F_9, 0 }, { BLOCK_COMBI_GRD_S_R1_B_1, 0 }, { BLOCK_COMBI_GRD_S_F_10, 0 }, { BLOCK_COMBI_GRD_S_F_KO_3, 0 }, { BLOCK_COMBI_GRD_S_E3_1, 0 },
{ BLOCK_COMBI_GRD_S_E2_1, 0 }, { BLOCK_COMBI_GRD_S_F_3, 0 }, { BLOCK_COMBI_GRD_S_F_PK_1, 0 }, { BLOCK_COMBI_GRD_S_R1_P_1, 0 }, { BLOCK_COMBI_GRD_S_F_2, 0 }, { BLOCK_COMBI_GRD_S_F_6, 0 }, { BLOCK_COMBI_GRD_S_E3_1, 0 },
{ BLOCK_COMBI_GRD_S_F_9_1, 0 }, { BLOCK_COMBI_GRD_S_F_9_1, 0 }, { BLOCK_COMBI_GRD_S_F_9_1, 0 }, { BLOCK_COMBI_GRD_S_F_9_1, 0 }, { BLOCK_COMBI_GRD_S_F_9_1, 0 }, { BLOCK_COMBI_GRD_S_F_9_1, 0 }, { BLOCK_COMBI_GRD_S_F_9_1, 0 },
{ BLOCK_COMBI_GRD_S_F_9_1, 0 }, { BLOCK_COMBI_GRD_S_F_9_1, 0 }, { BLOCK_COMBI_GRD_S_F_9_1, 0 }, { BLOCK_COMBI_GRD_S_F_9_1, 0 }, { BLOCK_COMBI_GRD_S_F_9_1, 0 }, { BLOCK_COMBI_GRD_S_F_9_1, 0 }, { BLOCK_COMBI_GRD_S_F_9_1, 0 },
{ BLOCK_COMBI_GRD_S_F_9_1, 0 }, { BLOCK_COMBI_GRD_S_F_9_1, 0 }, { BLOCK_COMBI_GRD_S_F_9_1, 0 }, { BLOCK_COMBI_GRD_S_F_9_1, 0 }, { BLOCK_COMBI_GRD_S_F_9_1, 0 }, { BLOCK_COMBI_GRD_S_F_9_1, 0 }, { BLOCK_COMBI_GRD_S_F_9_1, 0 },
{ BLOCK_COMBI_GRD_S_F_9_1, 0 }, { BLOCK_COMBI_GRD_S_F_9_1, 0 }, { BLOCK_COMBI_GRD_S_F_9_1, 0 }, { BLOCK_COMBI_GRD_S_F_9_1, 0 }, { BLOCK_COMBI_GRD_S_F_9_1, 0 }, { BLOCK_COMBI_GRD_S_F_9_1, 0 }, { BLOCK_COMBI_GRD_S_F_9_1, 0 },
// clang-format on
};
u8* g_block_type_p = l_block_type;
+337 -47
View File
@@ -89,48 +89,336 @@ extern u8 kan_tizu_c7r1b_TA_tex_txt[];
extern u8 kan_tizu_mwf_TA_tex_txt[];
static u8* l_map_texture[mFM_BLOCK_TYPE_NUM] = {
kan_tizu_f_TA_tex_txt, kan_tizu_f_TA_tex_txt, kan_tizu_f_TA_tex_txt, kan_tizu_f_TA_tex_txt,
kan_tizu_f_TA_tex_txt, kan_tizu_f_TA_tex_txt, kan_tizu_f_TA_tex_txt, kan_tizu_f_TA_tex_txt,
kan_tizu_f_TA_tex_txt, kan_tizu_f_TA_tex_txt, kan_tizu_f_TA_tex_txt, kan_tizu_tst1_TA_tex_txt,
kan_tizu_t_TA_tex_txt, kan_tizu_tr1_TA_tex_txt, kan_tizu_fmh_TA_tex_txt, kan_tizu_c1_TA_tex_txt,
kan_tizu_c2_TA_tex_txt, kan_tizu_c3_TA_tex_txt, kan_tizu_c4_TA_tex_txt, kan_tizu_c5_TA_tex_txt,
kan_tizu_c6_TA_tex_txt, kan_tizu_c7_TA_tex_txt, kan_tizu_c1r1_TA_tex_txt, kan_tizu_c2r1_TA_tex_txt,
kan_tizu_c3r1_TA_tex_txt, kan_tizu_c4r1_TA_tex_txt, kan_tizu_c5r1_TA_tex_txt, kan_tizu_c6r1_TA_tex_txt,
kan_tizu_c7r1_TA_tex_txt, kan_tizu_c1r2_TA_tex_txt, kan_tizu_c2r2_TA_tex_txt, kan_tizu_c3r2_TA_tex_txt,
kan_tizu_c4r2_TA_tex_txt, kan_tizu_c5r2_TA_tex_txt, kan_tizu_c1r2_TA_tex_txt, kan_tizu_c4r2_TA_tex_txt,
kan_tizu_c5r2_TA_tex_txt, kan_tizu_c6r3_TA_tex_txt, kan_tizu_c7r3_TA_tex_txt, kan_tizu_f_TA_tex_txt,
kan_tizu_r1_TA_tex_txt, kan_tizu_r2_TA_tex_txt, kan_tizu_r2_TA_tex_txt, kan_tizu_r4_TA_tex_txt,
kan_tizu_r5_TA_tex_txt, kan_tizu_r6_TA_tex_txt, kan_tizu_r7_TA_tex_txt, kan_tizu_r1b_TA_tex_txt,
kan_tizu_r2b_TA_tex_txt, kan_tizu_r2b_TA_tex_txt, kan_tizu_r4b_TA_tex_txt, kan_tizu_r5b_TA_tex_txt,
kan_tizu_r6b_TA_tex_txt, kan_tizu_r7b_TA_tex_txt, kan_tizu_c1s_TA_tex_txt, kan_tizu_c2s_TA_tex_txt,
kan_tizu_c3s_TA_tex_txt, kan_tizu_c4s_TA_tex_txt, kan_tizu_c5s_TA_tex_txt, kan_tizu_c6s_TA_tex_txt,
kan_tizu_c7s_TA_tex_txt, kan_tizu_f_TA_tex_txt, kan_tizu_f_TA_tex_txt, kan_tizu_m_TA_tex_txt,
kan_tizu_mr1_TA_tex_txt, kan_tizu_fsh_TA_tex_txt, kan_tizu_fpk_TA_tex_txt, kan_tizu_fpo_TA_tex_txt,
kan_tizu_fko_TA_tex_txt, kan_tizu_pr1_TA_tex_txt, kan_tizu_pr2_TA_tex_txt, kan_tizu_pr2_TA_tex_txt,
kan_tizu_pr4_TA_tex_txt, kan_tizu_pr5_TA_tex_txt, kan_tizu_pr6_TA_tex_txt, kan_tizu_pr7_TA_tex_txt,
kan_tizu_f_TA_tex_txt, kan_tizu_r1_TA_tex_txt, kan_tizu_c1_TA_tex_txt, kan_tizu_c1_TA_tex_txt,
kan_tizu_c1_TA_tex_txt, kan_tizu_c1_TA_tex_txt, kan_tizu_mr1b_TA_tex_txt, kan_tizu_mr1_TA_tex_txt,
kan_tizu_fmu_TA_tex_txt, kan_tizu_fta_TA_tex_txt, kan_tizu_tr1b_TA_tex_txt, kan_tizu_c1r2b_TA_tex_txt,
kan_tizu_c3r1b_TA_tex_txt, kan_tizu_c4r1b_TA_tex_txt, kan_tizu_c4r2b_TA_tex_txt, kan_tizu_c5r2b_TA_tex_txt,
kan_tizu_c6r1b_TA_tex_txt, kan_tizu_c7r1b_TA_tex_txt, kan_tizu_c7r1b_TA_tex_txt, kan_tizu_c7r1b_TA_tex_txt,
kan_tizu_c7r1b_TA_tex_txt, kan_tizu_c7r1b_TA_tex_txt, kan_tizu_c7r1b_TA_tex_txt, kan_tizu_c7r1b_TA_tex_txt,
kan_tizu_mwf_TA_tex_txt, kan_tizu_mwf_TA_tex_txt, kan_tizu_mwf_TA_tex_txt, kan_tizu_mwf_TA_tex_txt,
kan_tizu_mwf_TA_tex_txt, kan_tizu_c1r2b_TA_tex_txt, kan_tizu_c4r2b_TA_tex_txt, kan_tizu_c5r2b_TA_tex_txt,
kan_tizu_f_TA_tex_txt, // mFM_BLOCK_TYPE_BORDER_CLIFF_TOP
kan_tizu_f_TA_tex_txt, // mFM_BLOCK_TYPE_BORDER_CLIFF_RIVER
kan_tizu_f_TA_tex_txt, // mFM_BLOCK_TYPE_BORDER_CLIFF_LEFT
kan_tizu_f_TA_tex_txt, // mFM_BLOCK_TYPE_3
kan_tizu_f_TA_tex_txt, // mFM_BLOCK_TYPE_BORDER_CLIFF_RIGHT
kan_tizu_f_TA_tex_txt, // mFM_BLOCK_TYPE_BORDER_CLIFF_CORNER_TOP_LEFT
kan_tizu_f_TA_tex_txt, // mFM_BLOCK_TYPE_6
kan_tizu_f_TA_tex_txt, // mFM_BLOCK_TYPE_TRACKS
kan_tizu_f_TA_tex_txt, // mFM_BLOCK_TYPE_BORDER_CLIFF_CORNER_TOP_RIGHT
kan_tizu_f_TA_tex_txt, // mFM_BLOCK_TYPE_BORDER_CLIFF_LEFT_TUNNEL
kan_tizu_f_TA_tex_txt, // mFM_BLOCK_TYPE_BORDER_CLIFF_RIGHT_TUNNEL
kan_tizu_tst1_TA_tex_txt, // mFM_BLOCK_TYPE_TRACKS_STATION
kan_tizu_t_TA_tex_txt, // mFM_BLOCK_TYPE_TRACKS_DUMP
kan_tizu_tr1_TA_tex_txt, // mFM_BLOCK_TYPE_TRACKS_RIVER
kan_tizu_fmh_TA_tex_txt, // mFM_BLOCK_TYPE_PLAYER_HOUSE
kan_tizu_c1_TA_tex_txt, // mFM_BLOCK_TYPE_CLIFF_HORIZONTAL
kan_tizu_c2_TA_tex_txt, // mFM_BLOCK_TYPE_CLIFF_BOTTOM_RIGHT_CORNER
kan_tizu_c3_TA_tex_txt, // mFM_BLOCK_TYPE_CLIFF_VERTICAL_RIGHT
kan_tizu_c4_TA_tex_txt, // mFM_BLOCK_TYPE_CLIFF_TOP_RIGHT_CORNER
kan_tizu_c5_TA_tex_txt, // mFM_BLOCK_TYPE_CLIFF_TOP_LEFT_CORNER
kan_tizu_c6_TA_tex_txt, // mFM_BLOCK_TYPE_CLIFF_VERTICAL_LEFT
kan_tizu_c7_TA_tex_txt, // mFM_BLOCK_TYPE_CLIFF_BOTTOM_LEFT_CORNER
kan_tizu_c1r1_TA_tex_txt, // mFM_BLOCK_TYPE_WATERFALL_STRAIGHT_CLIFF_HORIZONTAL
kan_tizu_c2r1_TA_tex_txt, // mFM_BLOCK_TYPE_WATERFALL_STRAIGHT_CLIFF_BOTTOM_RIGHT_CORNER
kan_tizu_c3r1_TA_tex_txt, // mFM_BLOCK_TYPE_RIVER_STRAIGHT_CLIFF_VERTICAL_RIGHT
kan_tizu_c4r1_TA_tex_txt, // mFM_BLOCK_TYPE_RIVER_STRAIGHT_CLIFF_TOP_RIGHT_CORNER
kan_tizu_c5r1_TA_tex_txt, // mFM_BLOCK_TYPE_WATERFALL_STRAIGHT_CLIFF_TOP_LEFT_CORNER
kan_tizu_c6r1_TA_tex_txt, // mFM_BLOCK_TYPE_RIVER_STRAIGHT_CLIFF_VERTICAL_LEFT
kan_tizu_c7r1_TA_tex_txt, // mFM_BLOCK_TYPE_RIVER_STRAIGHT_CLIFF_BOTTOM_LEFT_CORNER
kan_tizu_c1r2_TA_tex_txt, // mFM_BLOCK_TYPE_RIVER_STRAIGHT_CLIFF_HORIZONTAL
kan_tizu_c2r2_TA_tex_txt, // mFM_BLOCK_TYPE_WATERFALL_EAST_CLIFF_BOTTOM_RIGHT_CORNER
kan_tizu_c3r2_TA_tex_txt, // mFM_BLOCK_TYPE_WATERFALL_EAST_CLIFF_VERTICAL_RIGHT
kan_tizu_c4r2_TA_tex_txt, // mFM_BLOCK_TYPE_RIVER_EAST_CLIFF_TOP_RIGHT_CORNER
kan_tizu_c5r2_TA_tex_txt, // mFM_BLOCK_TYPE_RIVER_EAST_CLIFF_TOP_LEFT_CORNER
kan_tizu_c1r2_TA_tex_txt, // mFM_BLOCK_TYPE_RIVER_WEST_CLIFF_HORIZONTAL
kan_tizu_c4r2_TA_tex_txt, // mFM_BLOCK_TYPE_RIVER_WEST_CLIFF_TOP_RIGHT_CORNER
kan_tizu_c5r2_TA_tex_txt, // mFM_BLOCK_TYPE_RIVER_WEST_CLIFF_TOP_LEFT_CORNER
kan_tizu_c6r3_TA_tex_txt, // mFM_BLOCK_TYPE_WATERFALL_WEST_CLIFF_VERTICAL_LEFT
kan_tizu_c7r3_TA_tex_txt, // mFM_BLOCK_TYPE_WATERFALL_WEST_CLIFF_BOTTOM_LEFT_CORNER
kan_tizu_f_TA_tex_txt, // mFM_BLOCK_TYPE_FLAT
kan_tizu_r1_TA_tex_txt, // mFM_BLOCK_TYPE_RIVER_SOUTH
kan_tizu_r2_TA_tex_txt, // mFM_BLOCK_TYPE_RIVER_EAST
kan_tizu_r2_TA_tex_txt, // mFM_BLOCK_TYPE_RIVER_WEST
kan_tizu_r4_TA_tex_txt, // mFM_BLOCK_TYPE_RIVER_SOUTH_EAST
kan_tizu_r5_TA_tex_txt, // mFM_BLOCK_TYPE_RIVER_EAST_SOUTH
kan_tizu_r6_TA_tex_txt, // mFM_BLOCK_TYPE_RIVER_SOUTH_WEST
kan_tizu_r7_TA_tex_txt, // mFM_BLOCK_TYPE_RIVER_WEST_SOUTH
kan_tizu_r1b_TA_tex_txt, // mFM_BLOCK_TYPE_RIVER_SOUTH_BRIDGE
kan_tizu_r2b_TA_tex_txt, // mFM_BLOCK_TYPE_RIVER_EAST_BRIDGE
kan_tizu_r2b_TA_tex_txt, // mFM_BLOCK_TYPE_RIVER_WEST_BRIDGE
kan_tizu_r4b_TA_tex_txt, // mFM_BLOCK_TYPE_RIVER_SOUTH_EAST_BRIDGE
kan_tizu_r5b_TA_tex_txt, // mFM_BLOCK_TYPE_RIVER_EAST_SOUTH_BRIDGE
kan_tizu_r6b_TA_tex_txt, // mFM_BLOCK_TYPE_RIVER_SOUTH_WEST_BRIDGE
kan_tizu_r7b_TA_tex_txt, // mFM_BLOCK_TYPE_RIVER_WEST_SOUTH_BRIDGE
kan_tizu_c1s_TA_tex_txt, // mFM_BLOCK_TYPE_SLOPE_HORIZONTAL
kan_tizu_c2s_TA_tex_txt, // mFM_BLOCK_TYPE_SLOPE_BOTTOM_RIGHT_CORNER
kan_tizu_c3s_TA_tex_txt, // mFM_BLOCK_TYPE_SLOPE_VERTICAL_RIGHT
kan_tizu_c4s_TA_tex_txt, // mFM_BLOCK_TYPE_SLOPE_TOP_RIGHT_CORNER
kan_tizu_c5s_TA_tex_txt, // mFM_BLOCK_TYPE_SLOPE_TOP_LEFT_CORNER
kan_tizu_c6s_TA_tex_txt, // mFM_BLOCK_TYPE_SLOPE_VERTICAL_LEFT
kan_tizu_c7s_TA_tex_txt, // mFM_BLOCK_TYPE_SLOPE_BOTTOM_LEFT_CORNER
kan_tizu_f_TA_tex_txt, // mFM_BLOCK_TYPE_BORDER_CLIFF_LEFT_TRANSITION
kan_tizu_f_TA_tex_txt, // mFM_BLOCK_TYPE_BORDER_CLIFF_RIGHT_TRANSITION
kan_tizu_m_TA_tex_txt, // mFM_BLOCK_TYPE_BEACH
kan_tizu_mr1_TA_tex_txt, // mFM_BLOCK_TYPE_BEACH_RIVER
kan_tizu_fsh_TA_tex_txt, // mFM_BLOCK_TYPE_TRACKS_SHOP
kan_tizu_fpk_TA_tex_txt, // mFM_BLOCK_TYPE_SHRINE
kan_tizu_fpo_TA_tex_txt, // mFM_BLOCK_TYPE_TRACKS_POST_OFFICE
kan_tizu_fko_TA_tex_txt, // mFM_BLOCK_TYPE_POLICE_BOX
kan_tizu_pr1_TA_tex_txt, // mFM_BLOCK_TYPE_POOL_SOUTH
kan_tizu_pr2_TA_tex_txt, // mFM_BLOCK_TYPE_POOL_EAST
kan_tizu_pr2_TA_tex_txt, // mFM_BLOCK_TYPE_POOL_WEST
kan_tizu_pr4_TA_tex_txt, // mFM_BLOCK_TYPE_POOL_SOUTH_EAST
kan_tizu_pr5_TA_tex_txt, // mFM_BLOCK_TYPE_POOL_EAST_SOUTH
kan_tizu_pr6_TA_tex_txt, // mFM_BLOCK_TYPE_POOL_SOUTH_WEST
kan_tizu_pr7_TA_tex_txt, // mFM_BLOCK_TYPE_POOL_WEST_SOUTH
kan_tizu_f_TA_tex_txt, // mFM_BLOCK_TYPE_TRACKS6
kan_tizu_r1_TA_tex_txt, // mFM_BLOCK_TYPE_TRACKS7
kan_tizu_c1_TA_tex_txt, // mFM_BLOCK_TYPE_TRACKS8
kan_tizu_c1_TA_tex_txt, // mFM_BLOCK_TYPE_TRACKS9
kan_tizu_c1_TA_tex_txt, // mFM_BLOCK_TYPE_BORDER_CLIFF_OCEAN_LEFT
kan_tizu_c1_TA_tex_txt, // mFM_BLOCK_TYPE_BORDER_CLIFF_OCEAN_RIGHT
kan_tizu_mr1b_TA_tex_txt, // mFM_BLOCK_TYPE_BEACH_RIVER_BRIDGE
kan_tizu_mr1_TA_tex_txt, // mFM_BLOCK_TYPE_OCEAN
kan_tizu_fmu_TA_tex_txt, // mFM_BLOCK_TYPE_MUSEUM
kan_tizu_fta_TA_tex_txt, // mFM_BLOCK_TYPE_NEEDLEWORK
kan_tizu_tr1b_TA_tex_txt, // mFM_BLOCK_TYPE_TRACKS_RIVER_BRIDGE
kan_tizu_c1r2b_TA_tex_txt, // mFM_BLOCK_TYPE_RIVER_STRAIGHT_CLIFF_HORIZONTAL_BRIDGE
kan_tizu_c3r1b_TA_tex_txt, // mFM_BLOCK_TYPE_RIVER_STRAIGHT_CLIFF_VERTICAL_RIGHT_BRIDGE
kan_tizu_c4r1b_TA_tex_txt, // mFM_BLOCK_TYPE_RIVER_STRAIGHT_CLIFF_TOP_RIGHT_CORNER_BRIDGE
kan_tizu_c4r2b_TA_tex_txt, // mFM_BLOCK_TYPE_RIVER_EAST_CLIFF_TOP_RIGHT_CORNER_BRIDGE
kan_tizu_c5r2b_TA_tex_txt, // mFM_BLOCK_TYPE_RIVER_EAST_CLIFF_TOP_LEFT_CORNER_BRIDGE
kan_tizu_c6r1b_TA_tex_txt, // mFM_BLOCK_TYPE_RIVER_STRAIGHT_CLIFF_VERTICAL_LEFT_BRIDGE
kan_tizu_c7r1b_TA_tex_txt, // mFM_BLOCK_TYPE_RIVER_STRAIGHT_CLIFF_BOTTOM_LEFT_CORNER_BRIDGE
kan_tizu_c7r1b_TA_tex_txt, // mFM_BLOCK_TYPE_OCEAN_2
kan_tizu_c7r1b_TA_tex_txt, // mFM_BLOCK_TYPE_OCEAN_3
kan_tizu_c7r1b_TA_tex_txt, // mFM_BLOCK_TYPE_OCEAN_4
kan_tizu_c7r1b_TA_tex_txt, // mFM_BLOCK_TYPE_OCEAN_5
kan_tizu_c7r1b_TA_tex_txt, // mFM_BLOCK_TYPE_ISLAND_LEFT
kan_tizu_c7r1b_TA_tex_txt, // mFM_BLOCK_TYPE_ISLAND_RIGHT
kan_tizu_mwf_TA_tex_txt, // mFM_BLOCK_TYPE_PORT
kan_tizu_mwf_TA_tex_txt, // mFM_BLOCK_TYPE_SEA_EXCEPTIONAL
kan_tizu_mwf_TA_tex_txt, // mFM_BLOCK_TYPE_OCEAN_6
kan_tizu_mwf_TA_tex_txt, // mFM_BLOCK_TYPE_OCEAN_7
kan_tizu_mwf_TA_tex_txt, // mFM_BLOCK_TYPE_OCEAN_8
kan_tizu_c1r2b_TA_tex_txt, // mFM_BLOCK_TYPE_RIVER_WEST_CLIFF_HORIZONTAL_BRIDGE
kan_tizu_c4r2b_TA_tex_txt, // mFM_BLOCK_TYPE_RIVER_WEST_CLIFF_TOP_RIGHT_CORNER_BRIDGE
kan_tizu_c5r2b_TA_tex_txt, // mFM_BLOCK_TYPE_RIVER_WEST_CLIFF_TOP_LEFT_CORNER_BRIDGE
};
static u8 l_map_pal[mFM_BLOCK_TYPE_NUM] = {
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0,
0, // mFM_BLOCK_TYPE_BORDER_CLIFF_TOP
0, // mFM_BLOCK_TYPE_BORDER_CLIFF_RIVER
0, // mFM_BLOCK_TYPE_BORDER_CLIFF_LEFT
0, // mFM_BLOCK_TYPE_3
0, // mFM_BLOCK_TYPE_BORDER_CLIFF_RIGHT
0, // mFM_BLOCK_TYPE_BORDER_CLIFF_CORNER_TOP_LEFT
0, // mFM_BLOCK_TYPE_6
0, // mFM_BLOCK_TYPE_TRACKS
0, // mFM_BLOCK_TYPE_BORDER_CLIFF_CORNER_TOP_RIGHT
0, // mFM_BLOCK_TYPE_BORDER_CLIFF_LEFT_TUNNEL
0, // mFM_BLOCK_TYPE_BORDER_CLIFF_RIGHT_TUNNEL
1, // mFM_BLOCK_TYPE_TRACKS_STATION
1, // mFM_BLOCK_TYPE_TRACKS_DUMP
1, // mFM_BLOCK_TYPE_TRACKS_RIVER
1, // mFM_BLOCK_TYPE_PLAYER_HOUSE
0, // mFM_BLOCK_TYPE_CLIFF_HORIZONTAL
0, // mFM_BLOCK_TYPE_CLIFF_BOTTOM_RIGHT_CORNER
0, // mFM_BLOCK_TYPE_CLIFF_VERTICAL_RIGHT
0, // mFM_BLOCK_TYPE_CLIFF_TOP_RIGHT_CORNER
0, // mFM_BLOCK_TYPE_CLIFF_TOP_LEFT_CORNER
0, // mFM_BLOCK_TYPE_CLIFF_VERTICAL_LEFT
0, // mFM_BLOCK_TYPE_CLIFF_BOTTOM_LEFT_CORNER
0, // mFM_BLOCK_TYPE_WATERFALL_STRAIGHT_CLIFF_HORIZONTAL
0, // mFM_BLOCK_TYPE_WATERFALL_STRAIGHT_CLIFF_BOTTOM_RIGHT_CORNER
0, // mFM_BLOCK_TYPE_RIVER_STRAIGHT_CLIFF_VERTICAL_RIGHT
0, // mFM_BLOCK_TYPE_RIVER_STRAIGHT_CLIFF_TOP_RIGHT_CORNER
0, // mFM_BLOCK_TYPE_WATERFALL_STRAIGHT_CLIFF_TOP_LEFT_CORNER
0, // mFM_BLOCK_TYPE_RIVER_STRAIGHT_CLIFF_VERTICAL_LEFT
0, // mFM_BLOCK_TYPE_RIVER_STRAIGHT_CLIFF_BOTTOM_LEFT_CORNER
0, // mFM_BLOCK_TYPE_RIVER_STRAIGHT_CLIFF_HORIZONTAL
0, // mFM_BLOCK_TYPE_WATERFALL_EAST_CLIFF_BOTTOM_RIGHT_CORNER
0, // mFM_BLOCK_TYPE_WATERFALL_EAST_CLIFF_VERTICAL_RIGHT
0, // mFM_BLOCK_TYPE_RIVER_EAST_CLIFF_TOP_RIGHT_CORNER
0, // mFM_BLOCK_TYPE_RIVER_EAST_CLIFF_TOP_LEFT_CORNER
0, // mFM_BLOCK_TYPE_RIVER_WEST_CLIFF_HORIZONTAL
0, // mFM_BLOCK_TYPE_RIVER_WEST_CLIFF_TOP_RIGHT_CORNER
0, // mFM_BLOCK_TYPE_RIVER_WEST_CLIFF_TOP_LEFT_CORNER
0, // mFM_BLOCK_TYPE_WATERFALL_WEST_CLIFF_VERTICAL_LEFT
0, // mFM_BLOCK_TYPE_WATERFALL_WEST_CLIFF_BOTTOM_LEFT_CORNER
0, // mFM_BLOCK_TYPE_FLAT
0, // mFM_BLOCK_TYPE_RIVER_SOUTH
0, // mFM_BLOCK_TYPE_RIVER_EAST
0, // mFM_BLOCK_TYPE_RIVER_WEST
0, // mFM_BLOCK_TYPE_RIVER_SOUTH_EAST
0, // mFM_BLOCK_TYPE_RIVER_EAST_SOUTH
0, // mFM_BLOCK_TYPE_RIVER_SOUTH_WEST
0, // mFM_BLOCK_TYPE_RIVER_WEST_SOUTH
0, // mFM_BLOCK_TYPE_RIVER_SOUTH_BRIDGE
0, // mFM_BLOCK_TYPE_RIVER_EAST_BRIDGE
0, // mFM_BLOCK_TYPE_RIVER_WEST_BRIDGE
0, // mFM_BLOCK_TYPE_RIVER_SOUTH_EAST_BRIDGE
0, // mFM_BLOCK_TYPE_RIVER_EAST_SOUTH_BRIDGE
0, // mFM_BLOCK_TYPE_RIVER_SOUTH_WEST_BRIDGE
0, // mFM_BLOCK_TYPE_RIVER_WEST_SOUTH_BRIDGE
0, // mFM_BLOCK_TYPE_SLOPE_HORIZONTAL
0, // mFM_BLOCK_TYPE_SLOPE_BOTTOM_RIGHT_CORNER
0, // mFM_BLOCK_TYPE_SLOPE_VERTICAL_RIGHT
0, // mFM_BLOCK_TYPE_SLOPE_TOP_RIGHT_CORNER
0, // mFM_BLOCK_TYPE_SLOPE_TOP_LEFT_CORNER
0, // mFM_BLOCK_TYPE_SLOPE_VERTICAL_LEFT
0, // mFM_BLOCK_TYPE_SLOPE_BOTTOM_LEFT_CORNER
0, // mFM_BLOCK_TYPE_BORDER_CLIFF_LEFT_TRANSITION
0, // mFM_BLOCK_TYPE_BORDER_CLIFF_RIGHT_TRANSITION
1, // mFM_BLOCK_TYPE_BEACH
1, // mFM_BLOCK_TYPE_BEACH_RIVER
1, // mFM_BLOCK_TYPE_TRACKS_SHOP
1, // mFM_BLOCK_TYPE_SHRINE
1, // mFM_BLOCK_TYPE_TRACKS_POST_OFFICE
1, // mFM_BLOCK_TYPE_POLICE_BOX
0, // mFM_BLOCK_TYPE_POOL_SOUTH
0, // mFM_BLOCK_TYPE_POOL_EAST
0, // mFM_BLOCK_TYPE_POOL_WEST
0, // mFM_BLOCK_TYPE_POOL_SOUTH_EAST
0, // mFM_BLOCK_TYPE_POOL_EAST_SOUTH
0, // mFM_BLOCK_TYPE_POOL_SOUTH_WEST
0, // mFM_BLOCK_TYPE_POOL_WEST_SOUTH
0, // mFM_BLOCK_TYPE_TRACKS6
0, // mFM_BLOCK_TYPE_TRACKS7
0, // mFM_BLOCK_TYPE_TRACKS8
0, // mFM_BLOCK_TYPE_TRACKS9
0, // mFM_BLOCK_TYPE_BORDER_CLIFF_OCEAN_LEFT
0, // mFM_BLOCK_TYPE_BORDER_CLIFF_OCEAN_RIGHT
1, // mFM_BLOCK_TYPE_BEACH_RIVER_BRIDGE
1, // mFM_BLOCK_TYPE_OCEAN
1, // mFM_BLOCK_TYPE_MUSEUM
1, // mFM_BLOCK_TYPE_NEEDLEWORK
1, // mFM_BLOCK_TYPE_TRACKS_RIVER_BRIDGE
0, // mFM_BLOCK_TYPE_RIVER_STRAIGHT_CLIFF_HORIZONTAL_BRIDGE
0, // mFM_BLOCK_TYPE_RIVER_STRAIGHT_CLIFF_VERTICAL_RIGHT_BRIDGE
0, // mFM_BLOCK_TYPE_RIVER_STRAIGHT_CLIFF_TOP_RIGHT_CORNER_BRIDGE
0, // mFM_BLOCK_TYPE_RIVER_EAST_CLIFF_TOP_RIGHT_CORNER_BRIDGE
0, // mFM_BLOCK_TYPE_RIVER_EAST_CLIFF_TOP_LEFT_CORNER_BRIDGE
0, // mFM_BLOCK_TYPE_RIVER_STRAIGHT_CLIFF_VERTICAL_LEFT_BRIDGE
0, // mFM_BLOCK_TYPE_RIVER_STRAIGHT_CLIFF_BOTTOM_LEFT_CORNER_BRIDGE
0, // mFM_BLOCK_TYPE_OCEAN_2
0, // mFM_BLOCK_TYPE_OCEAN_3
0, // mFM_BLOCK_TYPE_OCEAN_4
0, // mFM_BLOCK_TYPE_OCEAN_5
0, // mFM_BLOCK_TYPE_ISLAND_LEFT
0, // mFM_BLOCK_TYPE_ISLAND_RIGHT
1, // mFM_BLOCK_TYPE_PORT
1, // mFM_BLOCK_TYPE_SEA_EXCEPTIONAL
1, // mFM_BLOCK_TYPE_OCEAN_6
1, // mFM_BLOCK_TYPE_OCEAN_7
1, // mFM_BLOCK_TYPE_OCEAN_8
0, // mFM_BLOCK_TYPE_RIVER_WEST_CLIFF_HORIZONTAL_BRIDGE
0, // mFM_BLOCK_TYPE_RIVER_WEST_CLIFF_TOP_RIGHT_CORNER_BRIDGE
0, // mFM_BLOCK_TYPE_RIVER_WEST_CLIFF_TOP_LEFT_CORNER_BRIDGE
};
static u8 pluss_bridge[mFM_BLOCK_TYPE_NUM] = {
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x56, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x58, 0x59, 0xff, 0x5c, 0x5d, 0x57, 0xff, 0xff, 0x5a, 0x5b, 0x69, 0x6a,
0x6b, 0xff, 0xff, 0xff, 0x2f, 0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x52, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
mFM_BLOCK_TYPE_NONE, // mFM_BLOCK_TYPE_BORDER_CLIFF_TOP
mFM_BLOCK_TYPE_NONE, // mFM_BLOCK_TYPE_BORDER_CLIFF_RIVER
mFM_BLOCK_TYPE_NONE, // mFM_BLOCK_TYPE_BORDER_CLIFF_LEFT
mFM_BLOCK_TYPE_NONE, // mFM_BLOCK_TYPE_3
mFM_BLOCK_TYPE_NONE, // mFM_BLOCK_TYPE_BORDER_CLIFF_RIGHT
mFM_BLOCK_TYPE_NONE, // mFM_BLOCK_TYPE_BORDER_CLIFF_CORNER_TOP_LEFT
mFM_BLOCK_TYPE_NONE, // mFM_BLOCK_TYPE_6
mFM_BLOCK_TYPE_NONE, // mFM_BLOCK_TYPE_TRACKS
mFM_BLOCK_TYPE_NONE, // mFM_BLOCK_TYPE_BORDER_CLIFF_CORNER_TOP_RIGHT
mFM_BLOCK_TYPE_NONE, // mFM_BLOCK_TYPE_BORDER_CLIFF_LEFT_TUNNEL
mFM_BLOCK_TYPE_NONE, // mFM_BLOCK_TYPE_BORDER_CLIFF_RIGHT_TUNNEL
mFM_BLOCK_TYPE_NONE, // mFM_BLOCK_TYPE_TRACKS_STATION
mFM_BLOCK_TYPE_NONE, // mFM_BLOCK_TYPE_TRACKS_DUMP
mFM_BLOCK_TYPE_TRACKS_RIVER_BRIDGE, // mFM_BLOCK_TYPE_TRACKS_RIVER
mFM_BLOCK_TYPE_NONE, // mFM_BLOCK_TYPE_PLAYER_HOUSE
mFM_BLOCK_TYPE_NONE, // mFM_BLOCK_TYPE_CLIFF_HORIZONTAL
mFM_BLOCK_TYPE_NONE, // mFM_BLOCK_TYPE_CLIFF_BOTTOM_RIGHT_CORNER
mFM_BLOCK_TYPE_NONE, // mFM_BLOCK_TYPE_CLIFF_VERTICAL_RIGHT
mFM_BLOCK_TYPE_NONE, // mFM_BLOCK_TYPE_CLIFF_TOP_RIGHT_CORNER
mFM_BLOCK_TYPE_NONE, // mFM_BLOCK_TYPE_CLIFF_TOP_LEFT_CORNER
mFM_BLOCK_TYPE_NONE, // mFM_BLOCK_TYPE_CLIFF_VERTICAL_LEFT
mFM_BLOCK_TYPE_NONE, // mFM_BLOCK_TYPE_CLIFF_BOTTOM_LEFT_CORNER
mFM_BLOCK_TYPE_NONE, // mFM_BLOCK_TYPE_WATERFALL_STRAIGHT_CLIFF_HORIZONTAL
mFM_BLOCK_TYPE_NONE, // mFM_BLOCK_TYPE_WATERFALL_STRAIGHT_CLIFF_BOTTOM_RIGHT_CORNER
mFM_BLOCK_TYPE_RIVER_STRAIGHT_CLIFF_VERTICAL_RIGHT_BRIDGE, // mFM_BLOCK_TYPE_RIVER_STRAIGHT_CLIFF_VERTICAL_RIGHT
mFM_BLOCK_TYPE_RIVER_STRAIGHT_CLIFF_TOP_RIGHT_CORNER_BRIDGE, // mFM_BLOCK_TYPE_RIVER_STRAIGHT_CLIFF_TOP_RIGHT_CORNER
mFM_BLOCK_TYPE_NONE, // mFM_BLOCK_TYPE_WATERFALL_STRAIGHT_CLIFF_TOP_LEFT_CORNER
mFM_BLOCK_TYPE_RIVER_STRAIGHT_CLIFF_VERTICAL_LEFT_BRIDGE, // mFM_BLOCK_TYPE_RIVER_STRAIGHT_CLIFF_VERTICAL_LEFT
mFM_BLOCK_TYPE_RIVER_STRAIGHT_CLIFF_BOTTOM_LEFT_CORNER_BRIDGE, // mFM_BLOCK_TYPE_RIVER_STRAIGHT_CLIFF_BOTTOM_LEFT_CORNER
mFM_BLOCK_TYPE_RIVER_STRAIGHT_CLIFF_HORIZONTAL_BRIDGE, // mFM_BLOCK_TYPE_RIVER_STRAIGHT_CLIFF_HORIZONTAL
mFM_BLOCK_TYPE_NONE, // mFM_BLOCK_TYPE_WATERFALL_EAST_CLIFF_BOTTOM_RIGHT_CORNER
mFM_BLOCK_TYPE_NONE, // mFM_BLOCK_TYPE_WATERFALL_EAST_CLIFF_VERTICAL_RIGHT
mFM_BLOCK_TYPE_RIVER_EAST_CLIFF_TOP_RIGHT_CORNER_BRIDGE, // mFM_BLOCK_TYPE_RIVER_EAST_CLIFF_TOP_RIGHT_CORNER
mFM_BLOCK_TYPE_RIVER_EAST_CLIFF_TOP_LEFT_CORNER_BRIDGE, // mFM_BLOCK_TYPE_RIVER_EAST_CLIFF_TOP_LEFT_CORNER
mFM_BLOCK_TYPE_RIVER_WEST_CLIFF_HORIZONTAL_BRIDGE, // mFM_BLOCK_TYPE_RIVER_WEST_CLIFF_HORIZONTAL
mFM_BLOCK_TYPE_RIVER_WEST_CLIFF_TOP_RIGHT_CORNER_BRIDGE, // mFM_BLOCK_TYPE_RIVER_WEST_CLIFF_TOP_RIGHT_CORNER
mFM_BLOCK_TYPE_RIVER_WEST_CLIFF_TOP_LEFT_CORNER_BRIDGE, // mFM_BLOCK_TYPE_RIVER_WEST_CLIFF_TOP_LEFT_CORNER
mFM_BLOCK_TYPE_NONE, // mFM_BLOCK_TYPE_WATERFALL_WEST_CLIFF_VERTICAL_LEFT
mFM_BLOCK_TYPE_NONE, // mFM_BLOCK_TYPE_WATERFALL_WEST_CLIFF_BOTTOM_LEFT_CORNER
mFM_BLOCK_TYPE_NONE, // mFM_BLOCK_TYPE_FLAT
mFM_BLOCK_TYPE_RIVER_SOUTH_BRIDGE, // mFM_BLOCK_TYPE_RIVER_SOUTH
mFM_BLOCK_TYPE_RIVER_EAST_BRIDGE, // mFM_BLOCK_TYPE_RIVER_EAST
mFM_BLOCK_TYPE_RIVER_WEST_BRIDGE, // mFM_BLOCK_TYPE_RIVER_WEST
mFM_BLOCK_TYPE_RIVER_SOUTH_EAST_BRIDGE, // mFM_BLOCK_TYPE_RIVER_SOUTH_EAST
mFM_BLOCK_TYPE_RIVER_EAST_SOUTH_BRIDGE, // mFM_BLOCK_TYPE_RIVER_EAST_SOUTH
mFM_BLOCK_TYPE_RIVER_SOUTH_WEST_BRIDGE, // mFM_BLOCK_TYPE_RIVER_SOUTH_WEST
mFM_BLOCK_TYPE_RIVER_WEST_SOUTH_BRIDGE, // mFM_BLOCK_TYPE_RIVER_WEST_SOUTH
mFM_BLOCK_TYPE_NONE, // mFM_BLOCK_TYPE_RIVER_SOUTH_BRIDGE
mFM_BLOCK_TYPE_NONE, // mFM_BLOCK_TYPE_RIVER_EAST_BRIDGE
mFM_BLOCK_TYPE_NONE, // mFM_BLOCK_TYPE_RIVER_WEST_BRIDGE
mFM_BLOCK_TYPE_NONE, // mFM_BLOCK_TYPE_RIVER_SOUTH_EAST_BRIDGE
mFM_BLOCK_TYPE_NONE, // mFM_BLOCK_TYPE_RIVER_EAST_SOUTH_BRIDGE
mFM_BLOCK_TYPE_NONE, // mFM_BLOCK_TYPE_RIVER_SOUTH_WEST_BRIDGE
mFM_BLOCK_TYPE_NONE, // mFM_BLOCK_TYPE_RIVER_WEST_SOUTH_BRIDGE
mFM_BLOCK_TYPE_NONE, // mFM_BLOCK_TYPE_SLOPE_HORIZONTAL
mFM_BLOCK_TYPE_NONE, // mFM_BLOCK_TYPE_SLOPE_BOTTOM_RIGHT_CORNER
mFM_BLOCK_TYPE_NONE, // mFM_BLOCK_TYPE_SLOPE_VERTICAL_RIGHT
mFM_BLOCK_TYPE_NONE, // mFM_BLOCK_TYPE_SLOPE_TOP_RIGHT_CORNER
mFM_BLOCK_TYPE_NONE, // mFM_BLOCK_TYPE_SLOPE_TOP_LEFT_CORNER
mFM_BLOCK_TYPE_NONE, // mFM_BLOCK_TYPE_SLOPE_VERTICAL_LEFT
mFM_BLOCK_TYPE_NONE, // mFM_BLOCK_TYPE_SLOPE_BOTTOM_LEFT_CORNER
mFM_BLOCK_TYPE_NONE, // mFM_BLOCK_TYPE_BORDER_CLIFF_LEFT_TRANSITION
mFM_BLOCK_TYPE_NONE, // mFM_BLOCK_TYPE_BORDER_CLIFF_RIGHT_TRANSITION
mFM_BLOCK_TYPE_NONE, // mFM_BLOCK_TYPE_BEACH
mFM_BLOCK_TYPE_BEACH_RIVER_BRIDGE, // mFM_BLOCK_TYPE_BEACH_RIVER
mFM_BLOCK_TYPE_NONE, // mFM_BLOCK_TYPE_TRACKS_SHOP
mFM_BLOCK_TYPE_NONE, // mFM_BLOCK_TYPE_SHRINE
mFM_BLOCK_TYPE_NONE, // mFM_BLOCK_TYPE_TRACKS_POST_OFFICE
mFM_BLOCK_TYPE_NONE, // mFM_BLOCK_TYPE_POLICE_BOX
mFM_BLOCK_TYPE_NONE, // mFM_BLOCK_TYPE_POOL_SOUTH
mFM_BLOCK_TYPE_NONE, // mFM_BLOCK_TYPE_POOL_EAST
mFM_BLOCK_TYPE_NONE, // mFM_BLOCK_TYPE_POOL_WEST
mFM_BLOCK_TYPE_NONE, // mFM_BLOCK_TYPE_POOL_SOUTH_EAST
mFM_BLOCK_TYPE_NONE, // mFM_BLOCK_TYPE_POOL_EAST_SOUTH
mFM_BLOCK_TYPE_NONE, // mFM_BLOCK_TYPE_POOL_SOUTH_WEST
mFM_BLOCK_TYPE_NONE, // mFM_BLOCK_TYPE_POOL_WEST_SOUTH
mFM_BLOCK_TYPE_NONE, // mFM_BLOCK_TYPE_TRACKS6
mFM_BLOCK_TYPE_NONE, // mFM_BLOCK_TYPE_TRACKS7
mFM_BLOCK_TYPE_NONE, // mFM_BLOCK_TYPE_TRACKS8
mFM_BLOCK_TYPE_NONE, // mFM_BLOCK_TYPE_TRACKS9
mFM_BLOCK_TYPE_NONE, // mFM_BLOCK_TYPE_BORDER_CLIFF_OCEAN_LEFT
mFM_BLOCK_TYPE_NONE, // mFM_BLOCK_TYPE_BORDER_CLIFF_OCEAN_RIGHT
mFM_BLOCK_TYPE_NONE, // mFM_BLOCK_TYPE_BEACH_RIVER_BRIDGE
mFM_BLOCK_TYPE_NONE, // mFM_BLOCK_TYPE_OCEAN
mFM_BLOCK_TYPE_NONE, // mFM_BLOCK_TYPE_MUSEUM
mFM_BLOCK_TYPE_NONE, // mFM_BLOCK_TYPE_NEEDLEWORK
mFM_BLOCK_TYPE_NONE, // mFM_BLOCK_TYPE_TRACKS_RIVER_BRIDGE
mFM_BLOCK_TYPE_NONE, // mFM_BLOCK_TYPE_RIVER_STRAIGHT_CLIFF_HORIZONTAL_BRIDGE
mFM_BLOCK_TYPE_NONE, // mFM_BLOCK_TYPE_RIVER_STRAIGHT_CLIFF_VERTICAL_RIGHT_BRIDGE
mFM_BLOCK_TYPE_NONE, // mFM_BLOCK_TYPE_RIVER_STRAIGHT_CLIFF_TOP_RIGHT_CORNER_BRIDGE
mFM_BLOCK_TYPE_NONE, // mFM_BLOCK_TYPE_RIVER_EAST_CLIFF_TOP_RIGHT_CORNER_BRIDGE
mFM_BLOCK_TYPE_NONE, // mFM_BLOCK_TYPE_RIVER_EAST_CLIFF_TOP_LEFT_CORNER_BRIDGE
mFM_BLOCK_TYPE_NONE, // mFM_BLOCK_TYPE_RIVER_STRAIGHT_CLIFF_VERTICAL_LEFT_BRIDGE
mFM_BLOCK_TYPE_NONE, // mFM_BLOCK_TYPE_RIVER_STRAIGHT_CLIFF_BOTTOM_LEFT_CORNER_BRIDGE
mFM_BLOCK_TYPE_NONE, // mFM_BLOCK_TYPE_OCEAN_2
mFM_BLOCK_TYPE_NONE, // mFM_BLOCK_TYPE_OCEAN_3
mFM_BLOCK_TYPE_NONE, // mFM_BLOCK_TYPE_OCEAN_4
mFM_BLOCK_TYPE_NONE, // mFM_BLOCK_TYPE_OCEAN_5
mFM_BLOCK_TYPE_NONE, // mFM_BLOCK_TYPE_ISLAND_LEFT
mFM_BLOCK_TYPE_NONE, // mFM_BLOCK_TYPE_ISLAND_RIGHT
mFM_BLOCK_TYPE_NONE, // mFM_BLOCK_TYPE_PORT
mFM_BLOCK_TYPE_NONE, // mFM_BLOCK_TYPE_SEA_EXCEPTIONAL
mFM_BLOCK_TYPE_NONE, // mFM_BLOCK_TYPE_OCEAN_6
mFM_BLOCK_TYPE_NONE, // mFM_BLOCK_TYPE_OCEAN_7
mFM_BLOCK_TYPE_NONE, // mFM_BLOCK_TYPE_OCEAN_8
mFM_BLOCK_TYPE_NONE, // mFM_BLOCK_TYPE_RIVER_WEST_CLIFF_HORIZONTAL_BRIDGE
mFM_BLOCK_TYPE_NONE, // mFM_BLOCK_TYPE_RIVER_WEST_CLIFF_TOP_RIGHT_CORNER_BRIDGE
mFM_BLOCK_TYPE_NONE, // mFM_BLOCK_TYPE_RIVER_WEST_CLIFF_TOP_LEFT_CORNER_BRIDGE
};
extern Gfx kan_win_model[];
@@ -343,7 +631,9 @@ static int mMP_check_layer(f32 y) {
static int mMP_check_bg_kind(u8 kind) {
int res = TRUE;
if (kind <= 8 || kind == 0x3D || kind == 0x3E || kind == 9 || kind == 10) {
if (kind <= mFM_BLOCK_TYPE_BORDER_CLIFF_CORNER_TOP_RIGHT || kind == mFM_BLOCK_TYPE_BORDER_CLIFF_LEFT_TRANSITION ||
kind == mFM_BLOCK_TYPE_BORDER_CLIFF_RIGHT_TRANSITION || kind == mFM_BLOCK_TYPE_BORDER_CLIFF_LEFT_TUNNEL ||
kind == mFM_BLOCK_TYPE_BORDER_CLIFF_RIGHT_TUNNEL) {
res = FALSE;
}
@@ -356,7 +646,7 @@ static void mMP_make_max_no_table(int* max_no_table, int count) {
int j = 0;
for (i = 0; i < count; i++) {
max_no_table[i] = 39;
max_no_table[i] = mFM_BLOCK_TYPE_FLAT;
}
// i = BLOCKXZ_2_BLOCKIDX(0, 1);
@@ -783,8 +1073,8 @@ static void mMP_set_map_dl(GRAPH* graph, mMP_Ovl_c* map_ovl) {
for (bz = 0; bz < FG_BLOCK_Z_NUM; bz++) {
for (bx = 0; bx < FG_BLOCK_X_NUM; bx++) {
gSPSegment(gfx++, G_MWO_SEGMENT_8, map_ovl->map_texture[block]);
gSPSegment(gfx++, G_MWO_SEGMENT_9, l_kan_tizu_pal[map_ovl->map_pal[block]]);
gSPSegment(gfx++, ANIME_1_TXT_SEG, map_ovl->map_texture[block]);
gSPSegment(gfx++, ANIME_2_TXT_SEG, l_kan_tizu_pal[map_ovl->map_pal[block]]);
gSPMatrix(gfx++, _Matrix_to_Mtx_new(graph), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
gSPDisplayList(gfx++, kan_tizu_model);
@@ -909,20 +1199,20 @@ static void mMP_set_win_dl(GRAPH* graph, mMP_Ovl_c* map_ovl, mMP_LabelInfo_c* la
gfx = NOW_POLY_OPA_DISP;
/* move X-acre number texture into segment 8 and Z-acre character texture int segment 9 */
gSPSegment(gfx++, G_MWO_SEGMENT_8, kan_win_evw_anime_1_tex_table[map_ovl->sel_bx]);
gSPSegment(gfx++, G_MWO_SEGMENT_9, kan_win_evw_anime_2_tex_table[map_ovl->sel_bz]);
gSPSegment(gfx++, ANIME_1_TXT_SEG, kan_win_evw_anime_1_tex_table[map_ovl->sel_bx]);
gSPSegment(gfx++, ANIME_2_TXT_SEG, kan_win_evw_anime_2_tex_table[map_ovl->sel_bz]);
/* move label area texture into segment 10 based on number of labels */
if (label_count == 4) {
gSPSegment(gfx++, G_MWO_SEGMENT_A, kan_win_waku4T_model_p);
gSPSegment(gfx++, ANIME_3_TXT_SEG, kan_win_waku4T_model_p);
} else if (label_count == 3) {
gSPSegment(gfx++, G_MWO_SEGMENT_A, kan_win_waku3T_model_p);
gSPSegment(gfx++, ANIME_3_TXT_SEG, kan_win_waku3T_model_p);
} else if (label_count == 1) {
gSPSegment(gfx++, G_MWO_SEGMENT_A, kan_win_wakuT_model_p);
gSPSegment(gfx++, ANIME_3_TXT_SEG, kan_win_wakuT_model_p);
} else if (label_count == 0) {
gSPSegment(gfx++, G_MWO_SEGMENT_A, kan_win_waku1T_model_p);
gSPSegment(gfx++, ANIME_3_TXT_SEG, kan_win_waku1T_model_p);
} else { /* label_count == 2 */
gSPSegment(gfx++, G_MWO_SEGMENT_A, kan_win_waku2T_model_p);
gSPSegment(gfx++, ANIME_3_TXT_SEG, kan_win_waku2T_model_p);
}
gSPMatrix(gfx++, _Matrix_to_Mtx_new(graph), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
+1400 -1333
View File
File diff suppressed because it is too large Load Diff
+8 -8
View File
@@ -2051,29 +2051,29 @@ extern mActor_name_t mRmTp_GetPlayerRoomCollisionIdx(mActor_name_t field_id, mAc
switch (Save_Get(scene_no)) {
case SCENE_MY_ROOM_M:
if (has_basement) {
return 0x11E;
return BG_TYPE_ROM_MY_ROOM_M_BASEMENT;
} else {
return 0x104;
return BG_TYPE_ROM_MY_ROOM_M;
}
case SCENE_MY_ROOM_L:
if (has_basement) {
return 0x11F;
return BG_TYPE_ROM_MY_ROOM_L_BASEMENT;
} else {
return 0x0F2;
return BG_TYPE_ROM_MY_ROOM_L;
}
case SCENE_MY_ROOM_LL1:
if (has_basement) {
return 0x120;
return BG_TYPE_ROM_MY_ROOM_LL1_BASEMENT;
} else {
return 0x11B;
return BG_TYPE_ROM_MY_ROOM_LL1;
}
case SCENE_MY_ROOM_LL2:
return 0x11C;
return BG_TYPE_ROM_MY_ROOM_LL2;
case SCENE_MY_ROOM_BASEMENT_S:
case SCENE_MY_ROOM_BASEMENT_M:
case SCENE_MY_ROOM_BASEMENT_L:
case SCENE_MY_ROOM_BASEMENT_LL1:
return 0x121;
return BG_TYPE_ROM_MY_ROOM_BASEMENT;
default:
return bg_idx;
+38 -37
View File
@@ -10,6 +10,7 @@
#include "m_item_name.h"
#include "m_name_table.h"
#include "m_room_type.h"
#include "m_fg_type.h"
extern mActor_name_t* mSP_ftr_list[];
extern mActor_name_t* mSP_binsen_list[];
@@ -1526,41 +1527,41 @@ extern mActor_name_t mSP_GetNowShopBgNum() {
switch (Save_Get(scene_no)) {
case SCENE_SHOP0: {
if (Common_Get(tanuki_shop_status) == mSP_TANUKI_SHOP_STATUS_FUKUBIKI) {
return 0xFA;
return BG_TYPE_ROM_SHOP1_FUKU;
}
return 0xF8;
return BG_TYPE_ROM_SHOP1;
}
case SCENE_CONVENI: {
if (Common_Get(tanuki_shop_status) == mSP_TANUKI_SHOP_STATUS_FUKUBIKI) {
return 0xFB;
return BG_TYPE_ROM_SHOP2_FUKU;
}
return 0xFE;
return BG_TYPE_ROM_SHOP2;
}
case SCENE_SUPER: {
if (Common_Get(tanuki_shop_status) == mSP_TANUKI_SHOP_STATUS_FUKUBIKI) {
return 0xFC;
return BG_TYPE_ROM_SHOP3_FUKU;
}
return 0x102;
return BG_TYPE_ROM_SHOP3;
}
case SCENE_DEPART: {
if (Common_Get(tanuki_shop_status) == mSP_TANUKI_SHOP_STATUS_FUKUBIKI) {
return 0xFD;
return BG_TYPE_ROM_SHOP4_FUKU;
}
return 0x100;
return BG_TYPE_ROM_SHOP4_1;
}
case SCENE_DEPART_2:
return 0x101;
return BG_TYPE_ROM_SHOP4_2;
default:
return 0xFE;
return BG_TYPE_ROM_SHOP2;
}
}
@@ -1578,124 +1579,124 @@ extern mActor_name_t mSP_GetNowShopFgNum() {
if (Common_Get(tanuki_shop_status) == mSP_TANUKI_SHOP_STATUS_EVENT) {
if (event_kind == mSP_KIND_FURNITURE) {
mSP_what_special_sale = mSP_KIND_FURNITURE;
return 0x163;
return FG_TYPE_ROM_SHOP1_SALE_FTR;
}
if (event_kind == mSP_KIND_CLOTH) {
mSP_what_special_sale = mSP_KIND_CLOTH;
return 0x166;
return FG_TYPE_ROM_SHOP1_SALE_CLOTH;
}
if (event_kind == mSP_KIND_WALLPAPER) {
mSP_what_special_sale = mSP_KIND_WALLPAPER;
return 0x165;
return FG_TYPE_ROM_SHOP1_SALE_WALL;
}
mSP_what_special_sale = mSP_KIND_CARPET;
return 0x164;
return FG_TYPE_ROM_SHOP1_SALE_CARPET;
}
if (Common_Get(tanuki_shop_status) == mSP_TANUKI_SHOP_STATUS_FUKUBIKI) {
return 0x14D;
return FG_TYPE_ROM_SHOP1_FUKU;
}
return 0x22;
return FG_TYPE_ROM_SHOP1;
}
case SCENE_CONVENI: {
if (Common_Get(tanuki_shop_status) == mSP_TANUKI_SHOP_STATUS_EVENT) {
if (Save_Get(event_save_data).special.event.bargin.kind == mSP_KIND_FURNITURE) {
mSP_what_special_sale = mSP_KIND_FURNITURE;
return 0x167;
return FG_TYPE_ROM_SHOP2_SALE_FTR;
}
if (Save_Get(event_save_data).special.event.bargin.kind == mSP_KIND_CLOTH) {
mSP_what_special_sale = mSP_KIND_CLOTH;
return 0x16A;
return FG_TYPE_ROM_SHOP2_SALE_CLOTH;
}
if (Save_Get(event_save_data).special.event.bargin.kind == mSP_KIND_WALLPAPER) {
mSP_what_special_sale = mSP_KIND_WALLPAPER;
return 0x169;
return FG_TYPE_ROM_SHOP2_SALE_WALL;
}
mSP_what_special_sale = mSP_KIND_CARPET;
return 0x168;
return FG_TYPE_ROM_SHOP2_SALE_CARPET;
}
if (Common_Get(tanuki_shop_status) == mSP_TANUKI_SHOP_STATUS_FUKUBIKI) {
return 0x14E;
return FG_TYPE_ROM_SHOP2_FUKU;
}
return 0x23;
return FG_TYPE_ROM_SHOP2;
}
case SCENE_SUPER: {
if (Common_Get(tanuki_shop_status) == mSP_TANUKI_SHOP_STATUS_EVENT) {
if (Save_Get(event_save_data).special.event.bargin.kind == mSP_KIND_FURNITURE) {
mSP_what_special_sale = mSP_KIND_FURNITURE;
return 0x16B;
return FG_TYPE_ROM_SHOP3_SALE_FTR;
}
if (Save_Get(event_save_data).special.event.bargin.kind == mSP_KIND_CLOTH) {
mSP_what_special_sale = mSP_KIND_CLOTH;
return 0x16E;
return FG_TYPE_ROM_SHOP3_SALE_CLOTH;
}
if (Save_Get(event_save_data).special.event.bargin.kind == mSP_KIND_WALLPAPER) {
mSP_what_special_sale = mSP_KIND_WALLPAPER;
return 0x16D;
return FG_TYPE_ROM_SHOP3_SALE_WALL;
}
mSP_what_special_sale = mSP_KIND_CARPET;
return 0x16C;
return FG_TYPE_ROM_SHOP3_SALE_CARPET;
}
if (Common_Get(tanuki_shop_status) == mSP_TANUKI_SHOP_STATUS_FUKUBIKI) {
return 0x14F;
return FG_TYPE_ROM_SHOP3_FUKU;
}
return 0x24;
return FG_TYPE_ROM_SHOP3;
}
case SCENE_DEPART: {
if (Common_Get(tanuki_shop_status) == mSP_TANUKI_SHOP_STATUS_EVENT) {
return 0x16F;
return FG_TYPE_ROM_SHOP4_1_SALE;
}
if (Common_Get(tanuki_shop_status) == mSP_TANUKI_SHOP_STATUS_FUKUBIKI) {
return 0x150;
return FG_TYPE_ROM_SHOP4_1_FUKU;
}
return 0x25;
return FG_TYPE_ROM_SHOP4_1;
}
case SCENE_DEPART_2: {
if (Common_Get(tanuki_shop_status) == mSP_TANUKI_SHOP_STATUS_EVENT) {
if (Save_Get(event_save_data).special.event.bargin.kind == mSP_KIND_FURNITURE) {
mSP_what_special_sale = mSP_KIND_FURNITURE;
return 0x170;
return FG_TYPE_ROM_SHOP4_2_SALE_FTR;
}
if (Save_Get(event_save_data).special.event.bargin.kind == mSP_KIND_CLOTH) {
mSP_what_special_sale = mSP_KIND_CLOTH;
return 0x173;
return FG_TYPE_ROM_SHOP4_2_SALE_CLOTH;
}
if (Save_Get(event_save_data).special.event.bargin.kind == mSP_KIND_WALLPAPER) {
mSP_what_special_sale = mSP_KIND_WALLPAPER;
return 0x172;
return FG_TYPE_ROM_SHOP4_2_SALE_WALL;
}
mSP_what_special_sale = mSP_KIND_CARPET;
return 0x171;
return FG_TYPE_ROM_SHOP4_2_SALE_CARPET;
}
return 0x26;
return FG_TYPE_ROM_SHOP4_2;
}
default:
return 0x25;
return FG_TYPE_ROM_SHOP4_1;
}
}