summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPrakxo <87568477+Prakxo@users.noreply.github.com>2024-06-02 16:41:49 +0200
committerGitHub <noreply@github.com>2024-06-02 07:41:49 -0700
commit69201d6d724625233f4fc80873f509951c4e5556 (patch)
tree7c3e331e01b1abd688ae07b12981e37a5bb8a905
parentfd0581121366309a56c648eda7a299537e355b28 (diff)
m_room_type OK (#193)
* m_room_type OK * offsets * jenkins
-rw-r--r--include/6C0690.h9
-rw-r--r--include/6E2300.h26
-rw-r--r--include/m_clip.h12
-rw-r--r--include/m_home.h4
-rw-r--r--include/m_melody.h15
-rw-r--r--include/m_room_type.h95
-rw-r--r--linker_scripts/jp/symbol_addrs_code.txt58
-rw-r--r--src/code/m_private.c2
-rw-r--r--src/code/m_room_type.c1166
-rw-r--r--src/code/m_start_data_init.c1
-rw-r--r--src/overlays/gamestates/ovl_trademark/m_trademark.c1
-rw-r--r--yamls/jp/code.yaml9
12 files changed, 1327 insertions, 71 deletions
diff --git a/include/6C0690.h b/include/6C0690.h
index ad2c312..e5c6aac 100644
--- a/include/6C0690.h
+++ b/include/6C0690.h
@@ -12,13 +12,6 @@ struct Game;
// void func_8009CC00_jp();
// void func_8009CC94_jp();
void mMkRm_MarkRoom(struct Game* game);
-void mMld_SetDefaultMelody(void);
-// void func_8009CFD4_jp();
-// void func_8009D03C_jp();
-// void func_8009D0CC_jp();
-// void func_8009D100_jp();
-// void func_8009D128_jp();
-// void func_8009D160_jp();
-// void func_8009D1A8_jp();
+
#endif
diff --git a/include/6E2300.h b/include/6E2300.h
deleted file mode 100644
index bd5902d..0000000
--- a/include/6E2300.h
+++ /dev/null
@@ -1,26 +0,0 @@
-#ifndef C_6E2300_H
-#define C_6E2300_H
-
-#include "ultra64.h"
-
-// void func_800BE660_jp();
-// void func_800BE69C_jp();
-// void func_800BE6D8_jp();
-// void func_800BE72C_jp();
-// void func_800BE844_jp();
-// void func_800BEA50_jp();
-// void func_800BEBEC_jp();
-// void func_800BEC3C_jp();
-// void func_800BEC80_jp();
-// void func_800BED5C_jp();
-// void func_800BEE50_jp();
-// void func_800BEEB4_jp();
-// void func_800BEEC4_jp();
-u16 mRmTp_Item1ItemNo2FtrItemNo_AtPlayerRoom(u16 item);
-// void func_800BF10C_jp();
-// void func_800BF230_jp();
-// void func_800BF26C_jp();
-// void mRmTp_DrawFamicomInfo();
-// void mRmTp_MakeFamicom_Fdebug();
-
-#endif
diff --git a/include/m_clip.h b/include/m_clip.h
index b1ba09d..56714f7 100644
--- a/include/m_clip.h
+++ b/include/m_clip.h
@@ -11,6 +11,7 @@ struct Clip_unk_040_unk_14_arg0;
struct Clip_unk_07C_unk_0_arg0;
struct FurnitureActor;
struct Game_Play;
+struct Game;
struct ObjectExchangeBank;
struct ObjectStatus;
struct ShadowData;
@@ -107,13 +108,20 @@ typedef struct Clip_unk_07C {
/* 0x00 */ Clip_unk_07C_unk_0 unk_0;
/* 0x04 */ Clip_unk_07C_unk_4 unk_4;
} Clip_unk_07C; // size >= 0x8
+typedef s32 (*Clip_unk_080_unk_04)(struct Game* game, u16 ftr, s32* utX, s32* utZ, u16* rotation,
+ s32* squareOffs, s32* layer);
typedef void (*Clip_unk_080_unk_24)(void);
+typedef s32 (*Clip_unk_080_unk_28)(struct Game* game, u16 ftr, s32 res,s32 utX, s32 utZ, u16 rotation,
+ s32 squareOffs, s32 layer);
typedef UNK_RET (*Clip_unk_080_unk_34)(struct FurnitureActor* furnitureActor, struct Actor* myHouseActor, struct Game_Play* game_play, f32 arg0, f32 arg1);
typedef struct Clip_unk_080 {
- /* 0x00 */ UNK_TYPE1 unk_00[0x24];
+ /* 0x00 */ UNK_TYPE1 unk_00[0x4];
+ /* 0x04 */ Clip_unk_080_unk_04 unk_04;
+ /* 0x08 */ UNK_TYPE1 unk_08[0x1C];
/* 0x24 */ Clip_unk_080_unk_24 unk_24;
- /* 0x28 */ UNK_TYPE1 unk_28[0xC];
+ /* 0x28 */ Clip_unk_080_unk_28 unk_28;
+ /* 0x2C */ UNK_TYPE1 unk_2C[0x8];
/* 0x34 */ Clip_unk_080_unk_34 unk_34; // open close proc
} Clip_unk_080; // size >= 0x8
diff --git a/include/m_home.h b/include/m_home.h
index 6b64bf0..4888504 100644
--- a/include/m_home.h
+++ b/include/m_home.h
@@ -66,7 +66,9 @@ typedef struct HomeBitfield {
// Original name, taken from m_flashrom
typedef struct mHm_hs_c {
/* 0x000 */ PersonalID_c ownerID;
- /* 0x010 */ UNK_TYPE1 unk_010[0x12];
+ /* 0x010 */ UNK_TYPE1 unk_010[0x4];
+ /* 0x014 */ u8 roomId;
+ /* 0x014 */ UNK_TYPE1 unk_015[0xD];
/* 0x022 */ HomeBitfield unk_022;
/* 0x024 */ u8 unk_024;
/* 0x025 */ UNK_TYPE1 unk_025[0x3];
diff --git a/include/m_melody.h b/include/m_melody.h
new file mode 100644
index 0000000..dfb0e5b
--- /dev/null
+++ b/include/m_melody.h
@@ -0,0 +1,15 @@
+#ifndef M_MELODY_H
+#define M_MELODY_H
+
+#include "ultra64.h"
+
+void mMld_SetDefaultMelody(void);
+void mMld_TransformMelodyData_u64_2_u8(u8* dst, u64 src);
+// void func_8009D03C_jp();
+// void func_8009D0CC_jp();
+// void func_8009D100_jp();
+// void func_8009D128_jp();
+// void func_8009D160_jp();
+// void func_8009D1A8_jp();
+
+#endif
diff --git a/include/m_room_type.h b/include/m_room_type.h
new file mode 100644
index 0000000..f5396a0
--- /dev/null
+++ b/include/m_room_type.h
@@ -0,0 +1,95 @@
+#ifndef M_ROOM_TYPE_H
+#define M_ROOM_TYPE_H
+
+#include "ultra64.h"
+#include "libu64/gfxprint.h"
+
+struct Game;
+
+#define mRmTp_FTR_UNIT_MAX 4
+#define FTR_NUM 947
+
+typedef enum mRmTp_FurnitureSize {
+ /* 0 */ mRmTp_FTRSIZE_1x1,
+ /* 1 */ mRmTp_FTRSIZE_1x2,
+ /* 2 */ mRmTp_FTRSIZE_2x2,
+ /* 3 */ mRmTp_FTRSIZE_MAX
+} mRmTp_FurnitureSize;
+
+typedef enum mRmTp_Direction {
+ /* 0 */ mRmTp_DIRECT_SOUTH,
+ /* 1 */ mRmTp_DIRECT_EAST,
+ /* 2 */ mRmTp_DIRECT_NORTH,
+ /* 3 */ mRmTp_DIRECT_WEST,
+ /* 4 */ mRmTp_DIRECT_MAX
+} mRmTp_Direction;
+
+typedef enum mRmTp_SEType {
+ /* 0 */ mRmTp_FTR_SE_NONE,
+ /* 1 */ mRmTp_FTR_SE_SOFT_CHAIR,
+ /* 2 */ mRmTp_FTR_SE_HARD_CHAIR,
+ /* 3 */ mRmTp_FTR_SE_BUBU_CHAIR,
+ /* 4 */ mRmTp_FTR_SE_TOILET_CHAIR,
+ /* 5 */ mRmTp_FTR_SE_MAX
+} mRmTp_SEType;
+
+typedef enum mRmTp_Action {
+ /* 0 */ mRmTp_CHAIR_ACTION_SIT,
+ /* 1 */ mRmTp_CHAIR_ACTION_STAND,
+ /* 2 */ mRmTp_CHAIR_ACTION_MAX
+} mRmTp_Action;
+
+typedef enum mRmTp_BirthType {
+ /* 00 */ mRmTp_BIRTH_TYPE_GRP_A,
+ /* 01 */ mRmTp_BIRTH_TYPE_GRP_B,
+ /* 02 */ mRmTp_BIRTH_TYPE_GRP_C,
+ /* 03 */ mRmTp_BIRTH_TYPE_EVENT,
+ /* 04 */ mRmTp_BIRTH_TYPE_BIRTHDAY,
+ /* 05 */ mRmTp_BIRTH_TYPE_HALLOWEEN,
+ /* 06 */ mRmTp_BIRTH_TYPE_HANIWA,
+ /* 07 */ mRmTp_BIRTH_TYPE_LOTTERY,
+ /* 08 */ mRmTp_BIRTH_TYPE_FTR_CLOTH,
+ /* 09 */ mRmTp_BIRTH_TYPE_FTR_UMBRELLA,
+ /* 10 */ mRmTp_BIRTH_TYPE_FTR_INSECT,
+ /* 11 */ mRmTp_BIRTH_TYPE_FTR_FISH,
+ /* 12 */ mRmTp_BIRTH_TYPE_SINGLE_FOSSIL,
+ /* 13 */ mRmTp_BIRTH_TYPE_MULTI_FOSSIL,
+ /* 14 */ mRmTp_BIRTH_TYPE_XMAS,
+ /* 15 */ mRmTp_BIRTH_TYPE_SANTA,
+ /* 16 */ mRmTp_BIRTH_TYPE_UNOBTAINABLE,
+ /* 17 */ mRmTp_BIRTH_TYPE_SNOWMAN,
+} mRmTp_BirthType;
+
+typedef struct mRmTp_FtrPlaceInfo {
+ /* 0x0 */ s32 exists;
+ /* 0x4 */ s32 utX;
+ /* 0x8 */ s32 utZ;
+} mRmTp_FtrPlaceInfo; // size = 0xC
+
+typedef struct mRmTp_FtrPlaceData {
+ /* 0x0 */ u8 exist;
+ /* 0x2 */ s16 ofsX;
+ /* 0x4 */ s16 ofsZ;
+} mRmTp_FtrPlaceData; // size = 0x8
+
+void mRmTp_InitFtrPlaceInfo(mRmTp_FtrPlaceInfo* info);
+s32 mRmTp_ItemNo2FtrSize(u16 name);
+mRmTp_FtrPlaceData* mRmTp_GetFtrUnitPlaceData(s32 size, s32 dir);
+s32 mRmTp_GetFurnitureData(u16 ftr, s32 ut_x, s32 ut_z, mRmTp_FtrPlaceInfo* info);
+void mRmTp_AssignFtrFgIdx(u16* dst, u16* src, u16* arg2, u16* arg3);
+void mRmTp_MakeFtrNoTable(u16* dst, u16* src);
+void* mRmTp_MallocRam(struct Game* game, size_t size);
+void mRmTp_FreeRam(struct Game* game, void* ptr);
+s32 mRmTp_CharVacRight2Left(u8* str, s32 len);
+s32 mRmTp_GetFtrActionSE(s32 ftr_idx, s32 mode);
+s32 mRmTp_CheckShopFtr(u16 item);
+u8* mRmTp_CheckFtrBirthInfoTop();
+s32 mRmTp_GetFloorIdx(void);
+u16 mRmTp_Item1ItemNo2FtrItemNo_AtPlayerRoom(u16 item);
+u16 mRmTp_FtrItemNo2Item1ItemNo(u16 item);
+void mRmTp_MakeMelodyData();
+u8* mRmTp_GetMelodyData();
+void mRmTp_DrawFamicomInfo(gfxprint* gfxprint);
+void mRmTp_MakeFamicom_Fdebug();
+
+#endif
diff --git a/linker_scripts/jp/symbol_addrs_code.txt b/linker_scripts/jp/symbol_addrs_code.txt
index 0c9a8cf..bde00ea 100644
--- a/linker_scripts/jp/symbol_addrs_code.txt
+++ b/linker_scripts/jp/symbol_addrs_code.txt
@@ -1894,7 +1894,7 @@ func_8009CC00_jp = 0x8009CC00; // type:func
func_8009CC94_jp = 0x8009CC94; // type:func
mMkRm_MarkRoom = 0x8009CDA8; // type:func
mMld_SetDefaultMelody = 0x8009CFB0; // type:func
-func_8009CFD4_jp = 0x8009CFD4; // type:func
+mMld_TransformMelodyData_u64_2_u8 = 0x8009CFD4; // type:func
func_8009D03C_jp = 0x8009D03C; // type:func
func_8009D0CC_jp = 0x8009D0CC; // type:func
func_8009D100_jp = 0x8009D100; // type:func
@@ -2913,23 +2913,23 @@ gfx_gSPTextureRectangle1 = 0x800BE1D4; // type:func
func_800BE27C_jp = 0x800BE27C; // type:func
gfx_gSPScisTextureRectangle1 = 0x800BE320; // type:func
func_800BE4F8_jp = 0x800BE4F8; // type:func
-func_800BE660_jp = 0x800BE660; // type:func
-func_800BE69C_jp = 0x800BE69C; // type:func
-func_800BE6D8_jp = 0x800BE6D8; // type:func
-func_800BE72C_jp = 0x800BE72C; // type:func
-func_800BE844_jp = 0x800BE844; // type:func
-func_800BEA50_jp = 0x800BEA50; // type:func
-func_800BEBEC_jp = 0x800BEBEC; // type:func
-func_800BEC3C_jp = 0x800BEC3C; // type:func
-func_800BEC80_jp = 0x800BEC80; // type:func
-func_800BED5C_jp = 0x800BED5C; // type:func
-func_800BEE50_jp = 0x800BEE50; // type:func
-func_800BEEB4_jp = 0x800BEEB4; // type:func
-func_800BEEC4_jp = 0x800BEEC4; // type:func
+mRmTp_InitFtrPlaceInfo = 0x800BE660; // type:func
+mRmTp_ItemNo2FtrSize = 0x800BE69C; // type:func
+mRmTp_GetFtrUnitPlaceData = 0x800BE6D8; // type:func
+mRmTp_GetFurnitureData = 0x800BE72C; // type:func
+mRmTp_AssignFtrFgIdx = 0x800BE844; // type:func
+mRmTp_MakeFtrNoTable = 0x800BEA50; // type:func
+mRmTp_MallocRam = 0x800BEBEC; // type:func
+mRmTp_FreeRam = 0x800BEC3C; // type:func
+mRmTp_CharVacRight2Left = 0x800BEC80; // type:func
+mRmTp_GetFtrActionSE = 0x800BED5C; // type:func
+mRmTp_CheckShopFtr = 0x800BEE50; // type:func
+mRmTp_CheckFtrBirthInfoTop = 0x800BEEB4; // type:func
+mRmTp_GetFloorIdx = 0x800BEEC4; // type:func
mRmTp_Item1ItemNo2FtrItemNo_AtPlayerRoom = 0x800BEFCC; // type:func
-func_800BF10C_jp = 0x800BF10C; // type:func
-func_800BF230_jp = 0x800BF230; // type:func
-func_800BF26C_jp = 0x800BF26C; // type:func
+mRmTp_FtrItemNo2Item1ItemNo = 0x800BF10C; // type:func
+mRmTp_MakeMelodyData = 0x800BF230; // type:func
+mRmTp_GetMelodyData = 0x800BF26C; // type:func
mRmTp_DrawFamicomInfo = 0x800BF27C; // type:func
mRmTp_MakeFamicom_Fdebug = 0x800BF338; // type:func
func_800BF410_jp = 0x800BF410; // type:func
@@ -4882,22 +4882,22 @@ z_gsCPModeSet_Data = 0x8010CB30; // type:Gfx size:0x2D0
RSP_RDP_clear_data = 0x8010CE00; // type:Gfx size:0x60
fade_gfx = 0x8010CE60; // type:Gfx size:0x30
fill_gfx = 0x8010CE90; // type:Gfx size:0x28
-D_8010CEC0_jp = 0x8010CEC0; // type:u8
-D_8010D274_jp = 0x8010D274; //
-D_8010D28C_jp = 0x8010D28C; //
-D_8010D2A4_jp = 0x8010D2A4; //
-D_8010D2BC_jp = 0x8010D2BC; //
-D_8010D2D4_jp = 0x8010D2D4; //
-D_8010D2EC_jp = 0x8010D2EC; //
-D_8010D2FC_jp = 0x8010D2FC; //
-D_8010D314_jp = 0x8010D314; // type:u8
+mRmTp_ftr_size = 0x8010CEC0; // type:u8
+mRmTp_size_s_data = 0x8010D274; //
+mRmTp_size_m_data_south = 0x8010D28C; //
+mRmTp_size_m_data_east = 0x8010D2A4; //
+mRmTp_size_m_data_north = 0x8010D2BC; //
+mRmTp_size_m_data_west = 0x8010D2D4; //
+mRmTp_size_m_data_table = 0x8010D2EC; //
+mRmTp_size_l_data = 0x8010D2FC; //
+mRmTp_ftr_se_type = 0x8010D314; // type:u8
D_8010D418_jp = 0x8010D418; //
D_8010D6C8_jp = 0x8010D6C8; //
D_8010D6D0_jp = 0x8010D6D0; //
D_8010D6D8_jp = 0x8010D6D8; //
D_8010D6E0_jp = 0x8010D6E0; //
-D_8010D6E8_jp = 0x8010D6E8; // type:u8
-D_8010DA9C_jp = 0x8010DA9C; //
+mRmTp_birth_type = 0x8010D6E8; // type:u8
+mRmTp_famicom_idx = 0x8010DA9C; //
D_8010DAA0_jp = 0x8010DAA0; //
D_8010DADC_jp = 0x8010DADC; //
D_8010DAE8_jp = 0x8010DAE8; //
@@ -6120,7 +6120,7 @@ B_80144624_jp = 0x80144624; //
B_80144628_jp = 0x80144628; //
B_8014462C_jp = 0x8014462C; //
fbdemo_mode = 0x80144650; //
-B_80144660_jp = 0x80144660; //
+mRmTp_melody = 0x80144660; //
B_80144670_jp = 0x80144670; //
B_80144680_jp = 0x80144680; //
B_80144690_jp = 0x80144690; //
diff --git a/src/code/m_private.c b/src/code/m_private.c
index 35a1801..b35c1dd 100644
--- a/src/code/m_private.c
+++ b/src/code/m_private.c
@@ -4,7 +4,7 @@
#include "m_name_table.h"
#include "m_time.h"
#include "m_player_lib.h"
-#include "6E2300.h"
+#include "m_room_type.h"
#include "m_field_info.h"
#include "6E3240.h"
#include "69CB30.h"
diff --git a/src/code/m_room_type.c b/src/code/m_room_type.c
new file mode 100644
index 0000000..a4c879c
--- /dev/null
+++ b/src/code/m_room_type.c
@@ -0,0 +1,1166 @@
+#include "m_room_type.h"
+#include "m_common_data.h"
+#include "game.h"
+#include "m_scene_table.h"
+#include "m_malloc.h"
+#include "m_field_info.h"
+#include "m_melody.h"
+#include "m_name_table.h"
+
+u8 mRmTp_ftr_size[] = {
+ mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1,
+ mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1,
+ mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x2, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1,
+ mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x2, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x2, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x2,
+ mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x2, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x2, mRmTp_FTRSIZE_1x2, mRmTp_FTRSIZE_1x1,
+ mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x2, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1,
+ mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x2, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1,
+ mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x2, mRmTp_FTRSIZE_1x1,
+ mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x2, mRmTp_FTRSIZE_1x2, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1,
+ mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_2x2, mRmTp_FTRSIZE_2x2, mRmTp_FTRSIZE_1x1,
+ mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x2, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x2,
+ mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x2, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1,
+ mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x2,
+ mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1,
+ mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x2, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x2, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1,
+ mRmTp_FTRSIZE_2x2, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x2, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x2, mRmTp_FTRSIZE_1x1,
+ mRmTp_FTRSIZE_1x2, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x2, mRmTp_FTRSIZE_1x1,
+ mRmTp_FTRSIZE_1x2, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x2, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1,
+ mRmTp_FTRSIZE_1x2, mRmTp_FTRSIZE_2x2, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x2, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1,
+ mRmTp_FTRSIZE_1x2, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1,
+ mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x2, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1,
+ mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1,
+ mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_2x2, mRmTp_FTRSIZE_1x2, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1,
+ mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x2, mRmTp_FTRSIZE_1x2,
+ mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x2, mRmTp_FTRSIZE_2x2, mRmTp_FTRSIZE_1x1,
+ mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x2, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1,
+ mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1,
+ mRmTp_FTRSIZE_1x2, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_2x2, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1,
+ mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x2, mRmTp_FTRSIZE_1x2, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1,
+ mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1,
+ mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1,
+ mRmTp_FTRSIZE_1x2, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x2,
+ mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_2x2, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1,
+ mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x2, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x2, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1,
+ mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x2, mRmTp_FTRSIZE_1x2, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x2, mRmTp_FTRSIZE_1x1,
+ mRmTp_FTRSIZE_1x2, mRmTp_FTRSIZE_1x2, mRmTp_FTRSIZE_1x2, mRmTp_FTRSIZE_1x2, mRmTp_FTRSIZE_1x2, mRmTp_FTRSIZE_1x2,
+ mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x2, mRmTp_FTRSIZE_1x2,
+ mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x2, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_2x2, mRmTp_FTRSIZE_1x2,
+ mRmTp_FTRSIZE_1x2, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x2, mRmTp_FTRSIZE_2x2, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1,
+ mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1,
+ mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1,
+ mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1,
+ mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1,
+ mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1,
+ mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x2,
+ mRmTp_FTRSIZE_1x2, mRmTp_FTRSIZE_1x2, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1,
+ mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x2, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1,
+ mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_2x2, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1,
+ mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_2x2, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1,
+ mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x2, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1,
+ mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x2, mRmTp_FTRSIZE_1x2, mRmTp_FTRSIZE_1x1,
+ mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x2, mRmTp_FTRSIZE_2x2, mRmTp_FTRSIZE_2x2,
+ mRmTp_FTRSIZE_1x2, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_2x2, mRmTp_FTRSIZE_1x1,
+ mRmTp_FTRSIZE_2x2, mRmTp_FTRSIZE_1x2, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_2x2,
+ mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x2, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1,
+ mRmTp_FTRSIZE_1x2, mRmTp_FTRSIZE_1x2, mRmTp_FTRSIZE_1x2, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x2,
+ mRmTp_FTRSIZE_2x2, mRmTp_FTRSIZE_1x2, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x2, mRmTp_FTRSIZE_2x2, mRmTp_FTRSIZE_1x1,
+ mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1,
+ mRmTp_FTRSIZE_2x2, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_2x2, mRmTp_FTRSIZE_1x2, mRmTp_FTRSIZE_1x1,
+ mRmTp_FTRSIZE_1x2, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x2, mRmTp_FTRSIZE_1x2, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1,
+ mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1,
+ mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1,
+ mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1,
+ mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1,
+ mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1,
+ mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1,
+ mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1,
+ mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1,
+ mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1,
+ mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1,
+ mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1,
+ mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1,
+ mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1,
+ mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1,
+ mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1,
+ mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1,
+ mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1,
+ mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1,
+ mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1,
+ mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1,
+ mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1,
+ mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1,
+ mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1,
+ mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1,
+ mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1,
+ mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1,
+ mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1,
+ mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1,
+ mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1,
+ mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1,
+ mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1,
+ mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1,
+ mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1,
+ mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1,
+ mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1,
+ mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1,
+ mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1,
+ mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1,
+ mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1,
+ mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1,
+ mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1,
+ mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1,
+ mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1,
+ mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1,
+ mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1,
+ mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1,
+ mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1,
+ mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1,
+ mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1,
+ mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1,
+ mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1,
+ mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1,
+ mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1,
+ mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1,
+ mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1,
+ mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1,
+ mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1,
+ mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1,
+ mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1,
+ mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1,
+ mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1,
+ mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1,
+ mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1,
+ mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1,
+ mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1,
+ mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1,
+ mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1,
+ mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1,
+ mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1,
+ mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1,
+ mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1,
+ mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x2, mRmTp_FTRSIZE_1x2, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1,
+ mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1,
+ mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x2, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1,
+ mRmTp_FTRSIZE_1x2, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x2,
+ mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1,
+ mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1,
+ mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1,
+ mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1,
+ mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1,
+ mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1,
+ mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1,
+ mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x2, mRmTp_FTRSIZE_1x2, mRmTp_FTRSIZE_1x2,
+ mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x2, mRmTp_FTRSIZE_1x2, mRmTp_FTRSIZE_1x1,
+ mRmTp_FTRSIZE_2x2, mRmTp_FTRSIZE_1x2, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x2, mRmTp_FTRSIZE_1x1,
+ mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1,
+ mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1,
+ mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_2x2, mRmTp_FTRSIZE_1x1,
+ mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1,
+ mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1,
+ mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x2, mRmTp_FTRSIZE_2x2, mRmTp_FTRSIZE_1x2, mRmTp_FTRSIZE_1x2, mRmTp_FTRSIZE_1x1,
+ mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x2, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x2, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_2x2,
+ mRmTp_FTRSIZE_2x2, mRmTp_FTRSIZE_2x2, mRmTp_FTRSIZE_2x2, mRmTp_FTRSIZE_2x2, mRmTp_FTRSIZE_2x2, mRmTp_FTRSIZE_2x2,
+ mRmTp_FTRSIZE_2x2, mRmTp_FTRSIZE_2x2, mRmTp_FTRSIZE_1x2, mRmTp_FTRSIZE_2x2, mRmTp_FTRSIZE_2x2, mRmTp_FTRSIZE_1x2,
+ mRmTp_FTRSIZE_1x2, mRmTp_FTRSIZE_1x2, mRmTp_FTRSIZE_2x2, mRmTp_FTRSIZE_2x2, mRmTp_FTRSIZE_2x2, mRmTp_FTRSIZE_2x2,
+ mRmTp_FTRSIZE_2x2, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1,
+ mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_2x2, mRmTp_FTRSIZE_2x2, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1,
+ mRmTp_FTRSIZE_1x2, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1, mRmTp_FTRSIZE_1x1,
+};
+
+mRmTp_FtrPlaceData mRmTp_size_s_data[mRmTp_FTR_UNIT_MAX] = {
+ { TRUE, 0, 0 }, { FALSE, 0, 0 }, { FALSE, 0, 0 }, { FALSE, 0, 0 }
+};
+
+mRmTp_FtrPlaceData mRmTp_size_m_data_south[mRmTp_FTR_UNIT_MAX] = {
+ { TRUE, 0, 0 }, { TRUE, 1, 0 }, { FALSE, 0, 0 }, { FALSE, 0, 0 }
+};
+
+mRmTp_FtrPlaceData mRmTp_size_m_data_east[mRmTp_FTR_UNIT_MAX] = {
+ { TRUE, 0, 0 }, { TRUE, 0, -1 }, { FALSE, 0, 0 }, { FALSE, 0, 0 }
+};
+
+mRmTp_FtrPlaceData mRmTp_size_m_data_north[mRmTp_FTR_UNIT_MAX] = {
+ { TRUE, 0, 0 }, { TRUE, -1, 0 }, { FALSE, 0, 0 }, { FALSE, 0, 0 }
+};
+
+mRmTp_FtrPlaceData mRmTp_size_m_data_west[mRmTp_FTR_UNIT_MAX] = {
+ { TRUE, 0, 0 }, { TRUE, 0, 1 }, { FALSE, 0, 0 }, { FALSE, 0, 0 }
+};
+
+mRmTp_FtrPlaceData* mRmTp_size_m_data_table[mRmTp_DIRECT_MAX] = {
+ mRmTp_size_m_data_south,
+ mRmTp_size_m_data_east,
+ mRmTp_size_m_data_north,
+ mRmTp_size_m_data_west,
+};
+
+mRmTp_FtrPlaceData mRmTp_size_l_data[mRmTp_FTR_UNIT_MAX] = {
+ { TRUE, 0, 0 }, { TRUE, 1, 0 }, { TRUE, 1, 1 }, { TRUE, 0, 1 }
+};
+
+u8 mRmTp_ftr_se_type[] = {
+ mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE,
+ mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE,
+ mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE,
+ mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE,
+ mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE,
+ mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE,
+ mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE,
+ mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE,
+ mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE,
+ mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE,
+ mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_BUBU_CHAIR, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE,
+ mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_SOFT_CHAIR, mRmTp_FTR_SE_SOFT_CHAIR,
+ mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_SOFT_CHAIR, mRmTp_FTR_SE_NONE,
+ mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE,
+ mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE,
+ mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_HARD_CHAIR, mRmTp_FTR_SE_NONE,
+ mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_HARD_CHAIR, mRmTp_FTR_SE_NONE,
+ mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE,
+ mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE,
+ mRmTp_FTR_SE_HARD_CHAIR, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE,
+ mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE,
+ mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_SOFT_CHAIR, mRmTp_FTR_SE_SOFT_CHAIR,
+ mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_SOFT_CHAIR, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE,
+ mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_BUBU_CHAIR, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE,
+ mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE,
+ mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_HARD_CHAIR, mRmTp_FTR_SE_SOFT_CHAIR, mRmTp_FTR_SE_SOFT_CHAIR,
+ mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_HARD_CHAIR,
+ mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE,
+ mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE,
+ mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_HARD_CHAIR, mRmTp_FTR_SE_HARD_CHAIR,
+ mRmTp_FTR_SE_HARD_CHAIR, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_HARD_CHAIR, mRmTp_FTR_SE_NONE,
+ mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE,
+ mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE,
+ mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE,
+ mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE,
+ mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_HARD_CHAIR, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE,
+ mRmTp_FTR_SE_HARD_CHAIR, mRmTp_FTR_SE_HARD_CHAIR, mRmTp_FTR_SE_HARD_CHAIR, mRmTp_FTR_SE_NONE,
+ mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE,
+ mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE,
+ mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_HARD_CHAIR,
+ mRmTp_FTR_SE_HARD_CHAIR, mRmTp_FTR_SE_HARD_CHAIR, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_TOILET_CHAIR,
+ mRmTp_FTR_SE_TOILET_CHAIR, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_HARD_CHAIR, mRmTp_FTR_SE_NONE,
+ mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE,
+ mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE,
+ mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE,
+ mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE,
+ mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_HARD_CHAIR,
+ mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE,
+ mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE,
+ mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_HARD_CHAIR,
+ mRmTp_FTR_SE_SOFT_CHAIR, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE,
+ mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE,
+ mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_BUBU_CHAIR, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE,
+ mRmTp_FTR_SE_SOFT_CHAIR, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_HARD_CHAIR,
+ mRmTp_FTR_SE_HARD_CHAIR, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE,
+ mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_HARD_CHAIR, mRmTp_FTR_SE_HARD_CHAIR, mRmTp_FTR_SE_NONE,
+ mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE,
+ mRmTp_FTR_SE_SOFT_CHAIR, mRmTp_FTR_SE_SOFT_CHAIR, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE,
+ mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE,
+ mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE,
+ mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_HARD_CHAIR, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE,
+ mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE,
+ mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE,
+ mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE,
+ mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE,
+ mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE,
+ mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE,
+ mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE,
+ mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE,
+ mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE,
+ mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_SOFT_CHAIR, mRmTp_FTR_SE_SOFT_CHAIR,
+ mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE,
+ mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE,
+ mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE,
+ mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE,
+ mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE,
+ mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_HARD_CHAIR, mRmTp_FTR_SE_BUBU_CHAIR,
+ mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_BUBU_CHAIR, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE,
+ mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE,
+ mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE,
+ mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE,
+ mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE,
+ mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_HARD_CHAIR,
+ mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_SOFT_CHAIR, mRmTp_FTR_SE_NONE,
+ mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE,
+ mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE,
+ mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_HARD_CHAIR, mRmTp_FTR_SE_NONE,
+ mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_HARD_CHAIR, mRmTp_FTR_SE_NONE,
+ mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_SOFT_CHAIR, mRmTp_FTR_SE_NONE,
+ mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE,
+ mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE,
+ mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE,
+ mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE,
+ mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE,
+ mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE,
+ mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE,
+ mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE,
+ mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE,
+ mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE,
+ mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE,
+ mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE,
+ mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE,
+ mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE,
+ mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE,
+ mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE,
+ mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE,
+ mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE,
+ mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE,
+ mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE,
+ mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE,
+ mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE,
+ mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE,
+ mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE,
+ mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE,
+ mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE,
+ mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE,
+ mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE,
+ mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE,
+ mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE,
+ mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE,
+ mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE,
+ mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE,
+ mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE,
+ mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE,
+ mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE,
+ mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE,
+ mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE,
+ mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE,
+ mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE,
+ mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE,
+ mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE,
+ mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE,
+ mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE,
+ mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE,
+ mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE,
+ mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE,
+ mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE,
+ mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE,
+ mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE,
+ mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE,
+ mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE,
+ mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE,
+ mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE,
+ mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE,
+ mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE,
+ mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE,
+ mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE,
+ mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE,
+ mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE,
+ mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE,
+ mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE,
+ mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE,
+ mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE,
+ mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE,
+ mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE,
+ mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE,
+ mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE,
+ mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE,
+ mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE,
+ mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE,
+ mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE,
+ mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE,
+ mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE,
+ mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE,
+ mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE,
+ mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE,
+ mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE,
+ mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE,
+ mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE,
+ mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE,
+ mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE,
+ mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE,
+ mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE,
+ mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE,
+ mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE,
+ mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE,
+ mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE,
+ mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE,
+ mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE,
+ mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE,
+ mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE,
+ mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE,
+ mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE,
+ mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE,
+ mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE,
+ mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE,
+ mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE,
+ mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE,
+ mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE,
+ mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE,
+ mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE,
+ mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE,
+ mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE,
+ mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE,
+ mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE,
+ mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE,
+ mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE,
+ mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE,
+ mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE,
+ mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE,
+ mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE,
+ mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE,
+ mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE,
+ mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE,
+ mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE,
+ mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE,
+ mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE,
+ mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE,
+ mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE,
+ mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE,
+ mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE,
+ mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE,
+ mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE,
+ mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE,
+ mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_HARD_CHAIR,
+ mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_SOFT_CHAIR, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE,
+ mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE,
+ mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE,
+ mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE,
+ mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE,
+ mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE,
+ mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE,
+ mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE,
+ mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE,
+ mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE,
+ mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_SOFT_CHAIR,
+ mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_HARD_CHAIR, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE,
+ mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE,
+ mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE,
+ mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE,
+ mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE,
+ mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE,
+ mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE,
+ mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE,
+ mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE,
+ mRmTp_FTR_SE_HARD_CHAIR, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_SOFT_CHAIR, mRmTp_FTR_SE_NONE,
+ mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE, mRmTp_FTR_SE_NONE,
+};
+
+void mRmTp_InitFtrPlaceInfo(mRmTp_FtrPlaceInfo* info) {
+ mRmTp_FtrPlaceInfo* temp = info;
+ s32 i;
+
+ for (i = 0; i < mRmTp_FTR_UNIT_MAX; i++) {
+ temp->exists = FALSE;
+ temp->utX = 0;
+ temp->utZ = 0;
+
+ temp++;
+ }
+}
+
+s32 mRmTp_ItemNo2FtrSize(u16 name) {
+ if (name >= 0x1000 && name < 0x1ECD) {
+ UNUSED s32 scoped;
+ return mRmTp_ftr_size[(name - 0x1000) >> 2];
+ }
+ return 0;
+}
+
+mRmTp_FtrPlaceData* mRmTp_GetFtrUnitPlaceData(s32 size, s32 dir) {
+ switch (size) {
+ case mRmTp_FTRSIZE_1x1:
+ return mRmTp_size_s_data;
+ case mRmTp_FTRSIZE_1x2:
+ return mRmTp_size_m_data_table[dir];
+ case mRmTp_FTRSIZE_2x2:
+ return mRmTp_size_l_data;
+ default:
+ return mRmTp_size_s_data;
+ }
+}
+
+s32 mRmTp_GetFurnitureData(u16 ftr, s32 ut_x, s32 ut_z, mRmTp_FtrPlaceInfo* info) {
+ UNUSED s32 pad;
+ mRmTp_FtrPlaceData* unitData;
+ UNUSED s32 pad2;
+ s32 idx;
+ UNUSED s32 pad3;
+ s32 i;
+
+ mRmTp_InitFtrPlaceInfo(info);
+
+ if (ftr >= 0x1000 && ftr < 0x1ECD) {
+ idx = (ftr - 0x1000) >> 2;
+ unitData = mRmTp_GetFtrUnitPlaceData(mRmTp_ftr_size[idx], (ftr - 0x1000) & 3);
+
+ for (i = 0; i < mRmTp_FTR_UNIT_MAX; i++) {
+ (&info[i])->exists = (&unitData[i])->exist;
+ (&info[i])->utX = (&unitData[i])->ofsX + ut_x;
+ (&info[i])->utZ = (&unitData[i])->ofsZ + ut_z;
+ }
+
+ return mRmTp_ftr_size[idx];
+ }
+
+ return mRmTp_FTRSIZE_MAX;
+}
+
+void mRmTp_AssignFtrFgIdx(u16* dst, u16* src, u16* arg2, u16* arg3) {
+ UNUSED u16* temp;
+ u16* dstValues[2];
+ u16* srcValues[2];
+ s32 val = 0;
+ u16* cur;
+ s32 h;
+ s32 n;
+ UNUSED s32 pad2;
+ s32 i;
+ s32 j;
+ u16 item;
+ s32 idx;
+ mRmTp_FtrPlaceInfo placeData[mRmTp_FTR_UNIT_MAX];
+ u16* item1;
+ u16* item2;
+ mRmTp_FtrPlaceInfo* dataPtr;
+ s32 k;
+
+ dstValues[0] = dst;
+ dstValues[1] = arg2;
+ srcValues[0] = src;
+ srcValues[1] = arg3;
+
+ for (i = 0; i < 2; i++) {
+ if (srcValues[i] == 0) {}
+ cur = dstValues[i];
+ for (h = 0; h < UT_TOTAL_NUM; h++) {
+ *(s16*)cur = -1;
+ }
+ }
+
+ for (i = 0; i < 2; i++) {
+ item1 = srcValues[i];
+ item2 = dstValues[i];
+
+ if (item1 != NULL && item2 != NULL) {
+ for (n = 0; n < UT_Z_NUM; n++) {
+ for (j = 0; j < UT_X_NUM; j++) {
+ item = item1[j + n * UT_X_NUM];
+ if (((item >= 0x1000) && (item < 0x1ECD)) &&
+ mRmTp_GetFurnitureData(item, j, n, placeData) != mRmTp_FTRSIZE_MAX) {
+ dataPtr = placeData;
+
+ for (k = 0; k < mRmTp_FTR_UNIT_MAX; k++) {
+ if (dataPtr->exists) {
+ idx = dataPtr->utX + dataPtr->utZ * UT_X_NUM;
+ item2[idx] = val;
+ }
+
+ dataPtr++;
+ }
+
+ val++;
+ }
+ }
+ }
+ }
+ }
+}
+
+void mRmTp_MakeFtrNoTable(u16* dst, u16* src) {
+ s32 i;
+ s32 j;
+ s32 h;
+ UNUSED s32 pad;
+
+ for (h = 0; h < UT_TOTAL_NUM; h++) {
+ dst[h] = 0;
+ }
+
+ for (i = 0; i < UT_Z_NUM; i++) {
+ for (j = 0; j < UT_X_NUM; j++) {
+ mRmTp_FtrPlaceInfo placeData[mRmTp_FTR_UNIT_MAX];
+ u16 item = src[i * UT_X_NUM + j];
+
+ if (((item >= 0x1000) && (item < 0x1ECD)) &&
+ mRmTp_GetFurnitureData(item, j, i, placeData) != mRmTp_FTRSIZE_MAX) {
+ mRmTp_FtrPlaceInfo* data_p = placeData;
+ s32 k;
+
+ for (k = 0; k < mRmTp_FTR_UNIT_MAX; k++) {
+ if (data_p->exists) {
+ s32 idx = data_p->utX + data_p->utZ * UT_X_NUM;
+ dst[idx] = item;
+ }
+
+ data_p++;
+ }
+ }
+ }
+ }
+}
+
+void* mRmTp_MallocRam(Game* game, size_t size) {
+ if (game != NULL) {
+ GameAlloc* alloc = &game->alloc;
+ return gamealloc_malloc(alloc, ALIGN16(size));
+ }
+
+ return zelda_malloc(ALIGN16(size));
+}
+
+void mRmTp_FreeRam(Game* game, void* ptr) {
+ if (ptr != NULL) {
+ if (game != NULL) {
+ GameAlloc* alloc = &game->alloc;
+ gamealloc_free(alloc, ptr);
+ } else {
+ zelda_free(ptr);
+ }
+ }
+}
+
+s32 mRmTp_CharVacRight2Left(u8* str, s32 len) {
+ s32 i;
+ s32 pre = len;
+
+ for (i = 0; i < len; i++) {
+ if (str[i] == ' ') {
+ pre = i;
+ break;
+ }
+ }
+
+ if (pre != len) {
+ s32 ofs = len - pre;
+
+ for (i = 0; i < pre; i++) {
+ str[ofs + i] = str[i];
+ str[i] = ' ';
+ }
+ }
+}
+
+s32 mRmTp_GetFtrActionSE(s32 ftr_idx, s32 mode) {
+ static s32 soft_chair_se_table[] = { 0x41F, 0x422 };
+ static s32 hard_chair_se_table[] = { 0x420, 0x423 };
+ static s32 bubu_chair_se_table[] = { 0x421, 0x429 };
+ static s32 toile_chair_se_table[] = { 0x410, 0x072 };
+
+ if (ftr_idx >= 0 && ftr_idx < FTR_NUM) {
+ switch (mRmTp_ftr_se_type[ftr_idx]) {
+ case mRmTp_FTR_SE_NONE:
+ return -1;
+ case mRmTp_FTR_SE_SOFT_CHAIR:
+ if (mode >= mRmTp_CHAIR_ACTION_SIT && mode < mRmTp_CHAIR_ACTION_MAX) {
+ return soft_chair_se_table[mode];
+ }
+
+ return -1;
+ case mRmTp_FTR_SE_HARD_CHAIR:
+ if (mode >= mRmTp_CHAIR_ACTION_SIT && mode < mRmTp_CHAIR_ACTION_MAX) {
+ return hard_chair_se_table[mode];
+ }
+
+ return -1;
+ case mRmTp_FTR_SE_BUBU_CHAIR:
+ if (mode >= mRmTp_CHAIR_ACTION_SIT && mode < mRmTp_CHAIR_ACTION_MAX) {
+ return bubu_chair_se_table[mode];
+ }
+
+ return -1;
+ case mRmTp_FTR_SE_TOILET_CHAIR:
+ if (mode >= mRmTp_CHAIR_ACTION_SIT && mode < mRmTp_CHAIR_ACTION_MAX) {
+ return toile_chair_se_table[mode];
+ }
+
+ return -1;
+ default:
+ return -1;
+ }
+ }
+
+ return -1;
+}
+
+u8 mRmTp_birth_type[FTR_NUM] = {
+ mRmTp_BIRTH_TYPE_HALLOWEEN, mRmTp_BIRTH_TYPE_EVENT, mRmTp_BIRTH_TYPE_GRP_A,
+ mRmTp_BIRTH_TYPE_GRP_B, mRmTp_BIRTH_TYPE_SANTA, mRmTp_BIRTH_TYPE_GRP_B,
+ mRmTp_BIRTH_TYPE_GRP_B, mRmTp_BIRTH_TYPE_GRP_C, mRmTp_BIRTH_TYPE_EVENT,
+ mRmTp_BIRTH_TYPE_EVENT, mRmTp_BIRTH_TYPE_GRP_B, mRmTp_BIRTH_TYPE_GRP_A,
+ mRmTp_BIRTH_TYPE_GRP_A, mRmTp_BIRTH_TYPE_EVENT, mRmTp_BIRTH_TYPE_GRP_C,
+ mRmTp_BIRTH_TYPE_SANTA, mRmTp_BIRTH_TYPE_GRP_C, mRmTp_BIRTH_TYPE_GRP_A,
+ mRmTp_BIRTH_TYPE_EVENT, mRmTp_BIRTH_TYPE_GRP_C, mRmTp_BIRTH_TYPE_HALLOWEEN,
+ mRmTp_BIRTH_TYPE_EVENT, mRmTp_BIRTH_TYPE_GRP_A, mRmTp_BIRTH_TYPE_EVENT,
+ mRmTp_BIRTH_TYPE_EVENT, mRmTp_BIRTH_TYPE_GRP_B, mRmTp_BIRTH_TYPE_GRP_A,
+ mRmTp_BIRTH_TYPE_GRP_A, mRmTp_BIRTH_TYPE_GRP_C, mRmTp_BIRTH_TYPE_GRP_B,
+ mRmTp_BIRTH_TYPE_GRP_C, mRmTp_BIRTH_TYPE_GRP_B, mRmTp_BIRTH_TYPE_EVENT,
+ mRmTp_BIRTH_TYPE_EVENT, mRmTp_BIRTH_TYPE_GRP_C, mRmTp_BIRTH_TYPE_GRP_C,
+ mRmTp_BIRTH_TYPE_GRP_A, mRmTp_BIRTH_TYPE_GRP_B, mRmTp_BIRTH_TYPE_GRP_C,
+ mRmTp_BIRTH_TYPE_UNOBTAINABLE, mRmTp_BIRTH_TYPE_GRP_C, mRmTp_BIRTH_TYPE_GRP_B,
+ mRmTp_BIRTH_TYPE_GRP_A, mRmTp_BIRTH_TYPE_GRP_A, mRmTp_BIRTH_TYPE_UNOBTAINABLE,
+ mRmTp_BIRTH_TYPE_UNOBTAINABLE, mRmTp_BIRTH_TYPE_GRP_C, mRmTp_BIRTH_TYPE_GRP_A,
+ mRmTp_BIRTH_TYPE_GRP_A, mRmTp_BIRTH_TYPE_GRP_B, mRmTp_BIRTH_TYPE_GRP_B,
+ mRmTp_BIRTH_TYPE_GRP_C, mRmTp_BIRTH_TYPE_GRP_C, mRmTp_BIRTH_TYPE_GRP_B,
+ mRmTp_BIRTH_TYPE_GRP_A, mRmTp_BIRTH_TYPE_GRP_B, mRmTp_BIRTH_TYPE_GRP_C,
+ mRmTp_BIRTH_TYPE_XMAS, mRmTp_BIRTH_TYPE_GRP_A, mRmTp_BIRTH_TYPE_GRP_B,
+ mRmTp_BIRTH_TYPE_GRP_C, mRmTp_BIRTH_TYPE_LOTTERY, mRmTp_BIRTH_TYPE_GRP_C,
+ mRmTp_BIRTH_TYPE_GRP_A, mRmTp_BIRTH_TYPE_GRP_A, mRmTp_BIRTH_TYPE_GRP_B,
+ mRmTp_BIRTH_TYPE_GRP_A, mRmTp_BIRTH_TYPE_LOTTERY, mRmTp_BIRTH_TYPE_GRP_C,
+ mRmTp_BIRTH_TYPE_GRP_A, mRmTp_BIRTH_TYPE_GRP_B, mRmTp_BIRTH_TYPE_GRP_B,
+ mRmTp_BIRTH_TYPE_GRP_C, mRmTp_BIRTH_TYPE_GRP_C, mRmTp_BIRTH_TYPE_GRP_A,
+ mRmTp_BIRTH_TYPE_GRP_A, mRmTp_BIRTH_TYPE_EVENT, mRmTp_BIRTH_TYPE_GRP_A,
+ mRmTp_BIRTH_TYPE_GRP_B, mRmTp_BIRTH_TYPE_GRP_A, mRmTp_BIRTH_TYPE_GRP_B,
+ mRmTp_BIRTH_TYPE_GRP_C, mRmTp_BIRTH_TYPE_EVENT, mRmTp_BIRTH_TYPE_GRP_C,
+ mRmTp_BIRTH_TYPE_GRP_A, mRmTp_BIRTH_TYPE_GRP_C, mRmTp_BIRTH_TYPE_LOTTERY,
+ mRmTp_BIRTH_TYPE_GRP_C, mRmTp_BIRTH_TYPE_EVENT, mRmTp_BIRTH_TYPE_GRP_A,
+ mRmTp_BIRTH_TYPE_LOTTERY, mRmTp_BIRTH_TYPE_GRP_B, mRmTp_BIRTH_TYPE_LOTTERY,
+ mRmTp_BIRTH_TYPE_GRP_B, mRmTp_BIRTH_TYPE_GRP_A, mRmTp_BIRTH_TYPE_GRP_C,
+ mRmTp_BIRTH_TYPE_EVENT, mRmTp_BIRTH_TYPE_GRP_A, mRmTp_BIRTH_TYPE_GRP_B,
+ mRmTp_BIRTH_TYPE_GRP_C, mRmTp_BIRTH_TYPE_GRP_C, mRmTp_BIRTH_TYPE_GRP_B,
+ mRmTp_BIRTH_TYPE_GRP_C, mRmTp_BIRTH_TYPE_GRP_A, mRmTp_BIRTH_TYPE_GRP_B,
+ mRmTp_BIRTH_TYPE_LOTTERY, mRmTp_BIRTH_TYPE_GRP_C, mRmTp_BIRTH_TYPE_EVENT,
+ mRmTp_BIRTH_TYPE_GRP_C, mRmTp_BIRTH_TYPE_GRP_B, mRmTp_BIRTH_TYPE_EVENT,
+ mRmTp_BIRTH_TYPE_GRP_C, mRmTp_BIRTH_TYPE_GRP_B, mRmTp_BIRTH_TYPE_GRP_C,
+ mRmTp_BIRTH_TYPE_GRP_A, mRmTp_BIRTH_TYPE_GRP_B, mRmTp_BIRTH_TYPE_GRP_A,
+ mRmTp_BIRTH_TYPE_GRP_B, mRmTp_BIRTH_TYPE_GRP_A, mRmTp_BIRTH_TYPE_GRP_B,
+ mRmTp_BIRTH_TYPE_GRP_C, mRmTp_BIRTH_TYPE_GRP_B, mRmTp_BIRTH_TYPE_GRP_A,
+ mRmTp_BIRTH_TYPE_GRP_B, mRmTp_BIRTH_TYPE_GRP_B, mRmTp_BIRTH_TYPE_EVENT,
+ mRmTp_BIRTH_TYPE_UNOBTAINABLE, mRmTp_BIRTH_TYPE_BIRTHDAY, mRmTp_BIRTH_TYPE_GRP_B,
+ mRmTp_BIRTH_TYPE_GRP_C, mRmTp_BIRTH_TYPE_GRP_A, mRmTp_BIRTH_TYPE_GRP_B,
+ mRmTp_BIRTH_TYPE_GRP_C, mRmTp_BIRTH_TYPE_GRP_B, mRmTp_BIRTH_TYPE_EVENT,
+ mRmTp_BIRTH_TYPE_GRP_C, mRmTp_BIRTH_TYPE_XMAS, mRmTp_BIRTH_TYPE_XMAS,
+ mRmTp_BIRTH_TYPE_GRP_A, mRmTp_BIRTH_TYPE_GRP_B, mRmTp_BIRTH_TYPE_GRP_C,
+ mRmTp_BIRTH_TYPE_GRP_A, mRmTp_BIRTH_TYPE_GRP_B, mRmTp_BIRTH_TYPE_EVENT,
+ mRmTp_BIRTH_TYPE_GRP_A, mRmTp_BIRTH_TYPE_GRP_C, mRmTp_BIRTH_TYPE_GRP_B,
+ mRmTp_BIRTH_TYPE_GRP_C, mRmTp_BIRTH_TYPE_EVENT, mRmTp_BIRTH_TYPE_GRP_A,
+ mRmTp_BIRTH_TYPE_GRP_B, mRmTp_BIRTH_TYPE_GRP_C, mRmTp_BIRTH_TYPE_GRP_B,
+ mRmTp_BIRTH_TYPE_GRP_B, mRmTp_BIRTH_TYPE_GRP_B, mRmTp_BIRTH_TYPE_GRP_A,
+ mRmTp_BIRTH_TYPE_GRP_B, mRmTp_BIRTH_TYPE_GRP_C, mRmTp_BIRTH_TYPE_GRP_A,
+ mRmTp_BIRTH_TYPE_GRP_B, mRmTp_BIRTH_TYPE_GRP_C, mRmTp_BIRTH_TYPE_GRP_A,
+ mRmTp_BIRTH_TYPE_GRP_C, mRmTp_BIRTH_TYPE_GRP_C, mRmTp_BIRTH_TYPE_EVENT,
+ mRmTp_BIRTH_TYPE_GRP_C, mRmTp_BIRTH_TYPE_GRP_A, mRmTp_BIRTH_TYPE_GRP_B,
+ mRmTp_BIRTH_TYPE_GRP_C, mRmTp_BIRTH_TYPE_GRP_A, mRmTp_BIRTH_TYPE_GRP_C,
+ mRmTp_BIRTH_TYPE_EVENT, mRmTp_BIRTH_TYPE_EVENT, mRmTp_BIRTH_TYPE_EVENT,
+ mRmTp_BIRTH_TYPE_EVENT, mRmTp_BIRTH_TYPE_EVENT, mRmTp_BIRTH_TYPE_EVENT,
+ mRmTp_BIRTH_TYPE_EVENT, mRmTp_BIRTH_TYPE_EVENT, mRmTp_BIRTH_TYPE_EVENT,
+ mRmTp_BIRTH_TYPE_GRP_A, mRmTp_BIRTH_TYPE_GRP_B, mRmTp_BIRTH_TYPE_GRP_C,
+ mRmTp_BIRTH_TYPE_GRP_A, mRmTp_BIRTH_TYPE_GRP_B, mRmTp_BIRTH_TYPE_GRP_C,
+ mRmTp_BIRTH_TYPE_GRP_A, mRmTp_BIRTH_TYPE_GRP_A, mRmTp_BIRTH_TYPE_UNOBTAINABLE,
+ mRmTp_BIRTH_TYPE_GRP_B, mRmTp_BIRTH_TYPE_GRP_A, mRmTp_BIRTH_TYPE_GRP_B,
+ mRmTp_BIRTH_TYPE_GRP_C, mRmTp_BIRTH_TYPE_GRP_C, mRmTp_BIRTH_TYPE_GRP_C,
+ mRmTp_BIRTH_TYPE_GRP_B, mRmTp_BIRTH_TYPE_GRP_A, mRmTp_BIRTH_TYPE_UNOBTAINABLE,
+ mRmTp_BIRTH_TYPE_GRP_B, mRmTp_BIRTH_TYPE_GRP_A, mRmTp_BIRTH_TYPE_GRP_A,
+ mRmTp_BIRTH_TYPE_GRP_B, mRmTp_BIRTH_TYPE_LOTTERY, mRmTp_BIRTH_TYPE_GRP_A,
+ mRmTp_BIRTH_TYPE_GRP_A, mRmTp_BIRTH_TYPE_GRP_C, mRmTp_BIRTH_TYPE_EVENT,
+ mRmTp_BIRTH_TYPE_GRP_C, mRmTp_BIRTH_TYPE_GRP_C, mRmTp_BIRTH_TYPE_UNOBTAINABLE,
+ mRmTp_BIRTH_TYPE_LOTTERY, mRmTp_BIRTH_TYPE_GRP_B, mRmTp_BIRTH_TYPE_GRP_C,
+ mRmTp_BIRTH_TYPE_GRP_A, mRmTp_BIRTH_TYPE_EVENT, mRmTp_BIRTH_TYPE_GRP_A,
+ mRmTp_BIRTH_TYPE_GRP_C, mRmTp_BIRTH_TYPE_LOTTERY, mRmTp_BIRTH_TYPE_GRP_B,
+ mRmTp_BIRTH_TYPE_EVENT, mRmTp_BIRTH_TYPE_GRP_B, mRmTp_BIRTH_TYPE_GRP_A,
+ mRmTp_BIRTH_TYPE_GRP_A, mRmTp_BIRTH_TYPE_LOTTERY, mRmTp_BIRTH_TYPE_GRP_B,
+ mRmTp_BIRTH_TYPE_GRP_C, mRmTp_BIRTH_TYPE_GRP_C, mRmTp_BIRTH_TYPE_GRP_A,
+ mRmTp_BIRTH_TYPE_GRP_C, mRmTp_BIRTH_TYPE_GRP_B, mRmTp_BIRTH_TYPE_LOTTERY,
+ mRmTp_BIRTH_TYPE_GRP_A, mRmTp_BIRTH_TYPE_GRP_B, mRmTp_BIRTH_TYPE_GRP_B,
+ mRmTp_BIRTH_TYPE_GRP_B, mRmTp_BIRTH_TYPE_GRP_A, mRmTp_BIRTH_TYPE_LOTTERY,
+ mRmTp_BIRTH_TYPE_GRP_B, mRmTp_BIRTH_TYPE_GRP_A, mRmTp_BIRTH_TYPE_GRP_C,
+ mRmTp_BIRTH_TYPE_GRP_C, mRmTp_BIRTH_TYPE_GRP_A, mRmTp_BIRTH_TYPE_GRP_C,
+ mRmTp_BIRTH_TYPE_GRP_C, mRmTp_BIRTH_TYPE_GRP_C, mRmTp_BIRTH_TYPE_GRP_C,
+ mRmTp_BIRTH_TYPE_GRP_A, mRmTp_BIRTH_TYPE_GRP_B, mRmTp_BIRTH_TYPE_EVENT,
+ mRmTp_BIRTH_TYPE_GRP_A, mRmTp_BIRTH_TYPE_GRP_B, mRmTp_BIRTH_TYPE_GRP_C,
+ mRmTp_BIRTH_TYPE_GRP_C, mRmTp_BIRTH_TYPE_LOTTERY, mRmTp_BIRTH_TYPE_GRP_A,
+ mRmTp_BIRTH_TYPE_GRP_B, mRmTp_BIRTH_TYPE_GRP_C, mRmTp_BIRTH_TYPE_GRP_A,
+ mRmTp_BIRTH_TYPE_GRP_B, mRmTp_BIRTH_TYPE_GRP_A, mRmTp_BIRTH_TYPE_GRP_A,
+ mRmTp_BIRTH_TYPE_GRP_A, mRmTp_BIRTH_TYPE_GRP_B, mRmTp_BIRTH_TYPE_GRP_C,
+ mRmTp_BIRTH_TYPE_GRP_A, mRmTp_BIRTH_TYPE_GRP_C, mRmTp_BIRTH_TYPE_GRP_C,
+ mRmTp_BIRTH_TYPE_GRP_B, mRmTp_BIRTH_TYPE_GRP_B, mRmTp_BIRTH_TYPE_GRP_A,
+ mRmTp_BIRTH_TYPE_GRP_A, mRmTp_BIRTH_TYPE_GRP_B, mRmTp_BIRTH_TYPE_GRP_B,
+ mRmTp_BIRTH_TYPE_GRP_C, mRmTp_BIRTH_TYPE_LOTTERY, mRmTp_BIRTH_TYPE_GRP_A,
+ mRmTp_BIRTH_TYPE_GRP_B, mRmTp_BIRTH_TYPE_GRP_C, mRmTp_BIRTH_TYPE_GRP_C,
+ mRmTp_BIRTH_TYPE_GRP_C, mRmTp_BIRTH_TYPE_GRP_A, mRmTp_BIRTH_TYPE_GRP_B,
+ mRmTp_BIRTH_TYPE_GRP_A, mRmTp_BIRTH_TYPE_GRP_B, mRmTp_BIRTH_TYPE_GRP_C,
+ mRmTp_BIRTH_TYPE_GRP_A, mRmTp_BIRTH_TYPE_GRP_C, mRmTp_BIRTH_TYPE_GRP_C,
+ mRmTp_BIRTH_TYPE_GRP_A, mRmTp_BIRTH_TYPE_EVENT, mRmTp_BIRTH_TYPE_GRP_B,
+ mRmTp_BIRTH_TYPE_EVENT, mRmTp_BIRTH_TYPE_GRP_C, mRmTp_BIRTH_TYPE_GRP_A,
+ mRmTp_BIRTH_TYPE_GRP_B, mRmTp_BIRTH_TYPE_HALLOWEEN, mRmTp_BIRTH_TYPE_GRP_C,
+ mRmTp_BIRTH_TYPE_GRP_A, mRmTp_BIRTH_TYPE_GRP_C, mRmTp_BIRTH_TYPE_GRP_B,
+ mRmTp_BIRTH_TYPE_GRP_B, mRmTp_BIRTH_TYPE_GRP_B, mRmTp_BIRTH_TYPE_GRP_C,
+ mRmTp_BIRTH_TYPE_GRP_A, mRmTp_BIRTH_TYPE_HALLOWEEN, mRmTp_BIRTH_TYPE_HALLOWEEN,
+ mRmTp_BIRTH_TYPE_HALLOWEEN, mRmTp_BIRTH_TYPE_UNOBTAINABLE, mRmTp_BIRTH_TYPE_HALLOWEEN,
+ mRmTp_BIRTH_TYPE_HALLOWEEN, mRmTp_BIRTH_TYPE_HALLOWEEN, mRmTp_BIRTH_TYPE_GRP_B,
+ mRmTp_BIRTH_TYPE_GRP_C, mRmTp_BIRTH_TYPE_GRP_A, mRmTp_BIRTH_TYPE_GRP_B,
+ mRmTp_BIRTH_TYPE_GRP_C, mRmTp_BIRTH_TYPE_GRP_C, mRmTp_BIRTH_TYPE_GRP_A,
+ mRmTp_BIRTH_TYPE_LOTTERY, mRmTp_BIRTH_TYPE_GRP_B, mRmTp_BIRTH_TYPE_GRP_C,
+ mRmTp_BIRTH_TYPE_HALLOWEEN, mRmTp_BIRTH_TYPE_HALLOWEEN, mRmTp_BIRTH_TYPE_EVENT,
+ mRmTp_BIRTH_TYPE_GRP_B, mRmTp_BIRTH_TYPE_GRP_A, mRmTp_BIRTH_TYPE_GRP_B,
+ mRmTp_BIRTH_TYPE_GRP_C, mRmTp_BIRTH_TYPE_GRP_A, mRmTp_BIRTH_TYPE_GRP_C,
+ mRmTp_BIRTH_TYPE_LOTTERY, mRmTp_BIRTH_TYPE_GRP_A, mRmTp_BIRTH_TYPE_GRP_C,
+ mRmTp_BIRTH_TYPE_GRP_A, mRmTp_BIRTH_TYPE_EVENT, mRmTp_BIRTH_TYPE_GRP_B,
+ mRmTp_BIRTH_TYPE_LOTTERY, mRmTp_BIRTH_TYPE_GRP_A, mRmTp_BIRTH_TYPE_GRP_B,
+ mRmTp_BIRTH_TYPE_GRP_B, mRmTp_BIRTH_TYPE_EVENT, mRmTp_BIRTH_TYPE_GRP_C,
+ mRmTp_BIRTH_TYPE_GRP_C, mRmTp_BIRTH_TYPE_HALLOWEEN, mRmTp_BIRTH_TYPE_GRP_C,
+ mRmTp_BIRTH_TYPE_GRP_A, mRmTp_BIRTH_TYPE_GRP_B, mRmTp_BIRTH_TYPE_EVENT,
+ mRmTp_BIRTH_TYPE_GRP_B, mRmTp_BIRTH_TYPE_GRP_C, mRmTp_BIRTH_TYPE_EVENT,
+ mRmTp_BIRTH_TYPE_EVENT, mRmTp_BIRTH_TYPE_GRP_A, mRmTp_BIRTH_TYPE_GRP_B,
+ mRmTp_BIRTH_TYPE_GRP_A, mRmTp_BIRTH_TYPE_GRP_A, mRmTp_BIRTH_TYPE_GRP_B,
+ mRmTp_BIRTH_TYPE_GRP_B, mRmTp_BIRTH_TYPE_GRP_C, mRmTp_BIRTH_TYPE_GRP_A,
+ mRmTp_BIRTH_TYPE_LOTTERY, mRmTp_BIRTH_TYPE_GRP_A, mRmTp_BIRTH_TYPE_GRP_B,
+ mRmTp_BIRTH_TYPE_GRP_C, mRmTp_BIRTH_TYPE_HANIWA, mRmTp_BIRTH_TYPE_HANIWA,
+ mRmTp_BIRTH_TYPE_HANIWA, mRmTp_BIRTH_TYPE_HANIWA, mRmTp_BIRTH_TYPE_HANIWA,
+ mRmTp_BIRTH_TYPE_HANIWA, mRmTp_BIRTH_TYPE_HANIWA, mRmTp_BIRTH_TYPE_HANIWA,
+ mRmTp_BIRTH_TYPE_HANIWA, mRmTp_BIRTH_TYPE_HANIWA, mRmTp_BIRTH_TYPE_HANIWA,
+ mRmTp_BIRTH_TYPE_HANIWA, mRmTp_BIRTH_TYPE_HANIWA, mRmTp_BIRTH_TYPE_HANIWA,
+ mRmTp_BIRTH_TYPE_HANIWA, mRmTp_BIRTH_TYPE_HANIWA, mRmTp_BIRTH_TYPE_HANIWA,
+ mRmTp_BIRTH_TYPE_HANIWA, mRmTp_BIRTH_TYPE_HANIWA, mRmTp_BIRTH_TYPE_HANIWA,
+ mRmTp_BIRTH_TYPE_HANIWA, mRmTp_BIRTH_TYPE_HANIWA, mRmTp_BIRTH_TYPE_HANIWA,
+ mRmTp_BIRTH_TYPE_HANIWA, mRmTp_BIRTH_TYPE_HANIWA, mRmTp_BIRTH_TYPE_HANIWA,
+ mRmTp_BIRTH_TYPE_HANIWA, mRmTp_BIRTH_TYPE_HANIWA, mRmTp_BIRTH_TYPE_HANIWA,
+ mRmTp_BIRTH_TYPE_HANIWA, mRmTp_BIRTH_TYPE_HANIWA, mRmTp_BIRTH_TYPE_HANIWA,
+ mRmTp_BIRTH_TYPE_HANIWA, mRmTp_BIRTH_TYPE_HANIWA, mRmTp_BIRTH_TYPE_HANIWA,
+ mRmTp_BIRTH_TYPE_HANIWA, mRmTp_BIRTH_TYPE_HANIWA, mRmTp_BIRTH_TYPE_HANIWA,
+ mRmTp_BIRTH_TYPE_HANIWA, mRmTp_BIRTH_TYPE_HANIWA, mRmTp_BIRTH_TYPE_HANIWA,
+ mRmTp_BIRTH_TYPE_HANIWA, mRmTp_BIRTH_TYPE_HANIWA, mRmTp_BIRTH_TYPE_HANIWA,
+ mRmTp_BIRTH_TYPE_HANIWA, mRmTp_BIRTH_TYPE_HANIWA, mRmTp_BIRTH_TYPE_HANIWA,
+ mRmTp_BIRTH_TYPE_HANIWA, mRmTp_BIRTH_TYPE_HANIWA, mRmTp_BIRTH_TYPE_HANIWA,
+ mRmTp_BIRTH_TYPE_HANIWA, mRmTp_BIRTH_TYPE_HANIWA, mRmTp_BIRTH_TYPE_HANIWA,
+ mRmTp_BIRTH_TYPE_HANIWA, mRmTp_BIRTH_TYPE_HANIWA, mRmTp_BIRTH_TYPE_HANIWA,
+ mRmTp_BIRTH_TYPE_HANIWA, mRmTp_BIRTH_TYPE_HANIWA, mRmTp_BIRTH_TYPE_HANIWA,
+ mRmTp_BIRTH_TYPE_HANIWA, mRmTp_BIRTH_TYPE_HANIWA, mRmTp_BIRTH_TYPE_HANIWA,
+ mRmTp_BIRTH_TYPE_HANIWA, mRmTp_BIRTH_TYPE_HANIWA, mRmTp_BIRTH_TYPE_HANIWA,
+ mRmTp_BIRTH_TYPE_HANIWA, mRmTp_BIRTH_TYPE_HANIWA, mRmTp_BIRTH_TYPE_HANIWA,
+ mRmTp_BIRTH_TYPE_HANIWA, mRmTp_BIRTH_TYPE_HANIWA, mRmTp_BIRTH_TYPE_HANIWA,
+ mRmTp_BIRTH_TYPE_HANIWA, mRmTp_BIRTH_TYPE_HANIWA, mRmTp_BIRTH_TYPE_HANIWA,
+ mRmTp_BIRTH_TYPE_HANIWA, mRmTp_BIRTH_TYPE_HANIWA, mRmTp_BIRTH_TYPE_HANIWA,
+ mRmTp_BIRTH_TYPE_HANIWA, mRmTp_BIRTH_TYPE_HANIWA, mRmTp_BIRTH_TYPE_HANIWA,
+ mRmTp_BIRTH_TYPE_HANIWA, mRmTp_BIRTH_TYPE_HANIWA, mRmTp_BIRTH_TYPE_HANIWA,
+ mRmTp_BIRTH_TYPE_HANIWA, mRmTp_BIRTH_TYPE_HANIWA, mRmTp_BIRTH_TYPE_HANIWA,
+ mRmTp_BIRTH_TYPE_HANIWA, mRmTp_BIRTH_TYPE_HANIWA, mRmTp_BIRTH_TYPE_HANIWA,
+ mRmTp_BIRTH_TYPE_HANIWA, mRmTp_BIRTH_TYPE_HANIWA, mRmTp_BIRTH_TYPE_HANIWA,
+ mRmTp_BIRTH_TYPE_HANIWA, mRmTp_BIRTH_TYPE_HANIWA, mRmTp_BIRTH_TYPE_HANIWA,
+ mRmTp_BIRTH_TYPE_HANIWA, mRmTp_BIRTH_TYPE_HANIWA, mRmTp_BIRTH_TYPE_HANIWA,
+ mRmTp_BIRTH_TYPE_HANIWA, mRmTp_BIRTH_TYPE_HANIWA, mRmTp_BIRTH_TYPE_HANIWA,
+ mRmTp_BIRTH_TYPE_HANIWA, mRmTp_BIRTH_TYPE_HANIWA, mRmTp_BIRTH_TYPE_HANIWA,
+ mRmTp_BIRTH_TYPE_HANIWA, mRmTp_BIRTH_TYPE_HANIWA, mRmTp_BIRTH_TYPE_HANIWA,
+ mRmTp_BIRTH_TYPE_HANIWA, mRmTp_BIRTH_TYPE_HANIWA, mRmTp_BIRTH_TYPE_HANIWA,
+ mRmTp_BIRTH_TYPE_HANIWA, mRmTp_BIRTH_TYPE_HANIWA, mRmTp_BIRTH_TYPE_HANIWA,
+ mRmTp_BIRTH_TYPE_HANIWA, mRmTp_BIRTH_TYPE_HANIWA, mRmTp_BIRTH_TYPE_HANIWA,
+ mRmTp_BIRTH_TYPE_HANIWA, mRmTp_BIRTH_TYPE_HANIWA, mRmTp_BIRTH_TYPE_HANIWA,
+ mRmTp_BIRTH_TYPE_HANIWA, mRmTp_BIRTH_TYPE_HANIWA, mRmTp_BIRTH_TYPE_HANIWA,
+ mRmTp_BIRTH_TYPE_HANIWA, mRmTp_BIRTH_TYPE_HANIWA, mRmTp_BIRTH_TYPE_HANIWA,
+ mRmTp_BIRTH_TYPE_HANIWA, mRmTp_BIRTH_TYPE_HANIWA, mRmTp_BIRTH_TYPE_FTR_CLOTH,
+ mRmTp_BIRTH_TYPE_FTR_CLOTH, mRmTp_BIRTH_TYPE_FTR_CLOTH, mRmTp_BIRTH_TYPE_FTR_CLOTH,
+ mRmTp_BIRTH_TYPE_FTR_CLOTH, mRmTp_BIRTH_TYPE_FTR_CLOTH, mRmTp_BIRTH_TYPE_FTR_CLOTH,
+ mRmTp_BIRTH_TYPE_FTR_CLOTH, mRmTp_BIRTH_TYPE_FTR_CLOTH, mRmTp_BIRTH_TYPE_FTR_CLOTH,
+ mRmTp_BIRTH_TYPE_FTR_CLOTH, mRmTp_BIRTH_TYPE_FTR_CLOTH, mRmTp_BIRTH_TYPE_FTR_CLOTH,
+ mRmTp_BIRTH_TYPE_FTR_CLOTH, mRmTp_BIRTH_TYPE_FTR_CLOTH, mRmTp_BIRTH_TYPE_FTR_CLOTH,
+ mRmTp_BIRTH_TYPE_FTR_CLOTH, mRmTp_BIRTH_TYPE_FTR_CLOTH, mRmTp_BIRTH_TYPE_FTR_CLOTH,
+ mRmTp_BIRTH_TYPE_FTR_CLOTH, mRmTp_BIRTH_TYPE_FTR_CLOTH, mRmTp_BIRTH_TYPE_FTR_CLOTH,
+ mRmTp_BIRTH_TYPE_FTR_CLOTH, mRmTp_BIRTH_TYPE_FTR_CLOTH, mRmTp_BIRTH_TYPE_FTR_CLOTH,
+ mRmTp_BIRTH_TYPE_FTR_CLOTH, mRmTp_BIRTH_TYPE_FTR_CLOTH, mRmTp_BIRTH_TYPE_FTR_CLOTH,
+ mRmTp_BIRTH_TYPE_FTR_CLOTH, mRmTp_BIRTH_TYPE_FTR_CLOTH, mRmTp_BIRTH_TYPE_FTR_CLOTH,
+ mRmTp_BIRTH_TYPE_FTR_CLOTH, mRmTp_BIRTH_TYPE_FTR_CLOTH, mRmTp_BIRTH_TYPE_FTR_CLOTH,
+ mRmTp_BIRTH_TYPE_FTR_CLOTH, mRmTp_BIRTH_TYPE_FTR_CLOTH, mRmTp_BIRTH_TYPE_FTR_CLOTH,
+ mRmTp_BIRTH_TYPE_FTR_CLOTH, mRmTp_BIRTH_TYPE_FTR_CLOTH, mRmTp_BIRTH_TYPE_FTR_CLOTH,
+ mRmTp_BIRTH_TYPE_FTR_CLOTH, mRmTp_BIRTH_TYPE_FTR_CLOTH, mRmTp_BIRTH_TYPE_FTR_CLOTH,
+ mRmTp_BIRTH_TYPE_FTR_CLOTH, mRmTp_BIRTH_TYPE_FTR_CLOTH, mRmTp_BIRTH_TYPE_FTR_CLOTH,
+ mRmTp_BIRTH_TYPE_FTR_CLOTH, mRmTp_BIRTH_TYPE_FTR_CLOTH, mRmTp_BIRTH_TYPE_FTR_CLOTH,
+ mRmTp_BIRTH_TYPE_FTR_CLOTH, mRmTp_BIRTH_TYPE_FTR_CLOTH, mRmTp_BIRTH_TYPE_FTR_CLOTH,
+ mRmTp_BIRTH_TYPE_FTR_CLOTH, mRmTp_BIRTH_TYPE_FTR_CLOTH, mRmTp_BIRTH_TYPE_FTR_CLOTH,
+ mRmTp_BIRTH_TYPE_FTR_CLOTH, mRmTp_BIRTH_TYPE_FTR_CLOTH, mRmTp_BIRTH_TYPE_FTR_CLOTH,
+ mRmTp_BIRTH_TYPE_FTR_CLOTH, mRmTp_BIRTH_TYPE_FTR_CLOTH, mRmTp_BIRTH_TYPE_FTR_CLOTH,
+ mRmTp_BIRTH_TYPE_FTR_CLOTH, mRmTp_BIRTH_TYPE_FTR_CLOTH, mRmTp_BIRTH_TYPE_FTR_CLOTH,
+ mRmTp_BIRTH_TYPE_FTR_CLOTH, mRmTp_BIRTH_TYPE_FTR_CLOTH, mRmTp_BIRTH_TYPE_FTR_CLOTH,
+ mRmTp_BIRTH_TYPE_FTR_CLOTH, mRmTp_BIRTH_TYPE_FTR_CLOTH, mRmTp_BIRTH_TYPE_FTR_CLOTH,
+ mRmTp_BIRTH_TYPE_FTR_CLOTH, mRmTp_BIRTH_TYPE_FTR_CLOTH, mRmTp_BIRTH_TYPE_FTR_CLOTH,
+ mRmTp_BIRTH_TYPE_FTR_CLOTH, mRmTp_BIRTH_TYPE_FTR_CLOTH, mRmTp_BIRTH_TYPE_FTR_CLOTH,
+ mRmTp_BIRTH_TYPE_FTR_CLOTH, mRmTp_BIRTH_TYPE_FTR_CLOTH, mRmTp_BIRTH_TYPE_FTR_CLOTH,
+ mRmTp_BIRTH_TYPE_FTR_CLOTH, mRmTp_BIRTH_TYPE_FTR_CLOTH, mRmTp_BIRTH_TYPE_FTR_CLOTH,
+ mRmTp_BIRTH_TYPE_FTR_CLOTH, mRmTp_BIRTH_TYPE_FTR_CLOTH, mRmTp_BIRTH_TYPE_FTR_CLOTH,
+ mRmTp_BIRTH_TYPE_FTR_CLOTH, mRmTp_BIRTH_TYPE_FTR_CLOTH, mRmTp_BIRTH_TYPE_FTR_CLOTH,
+ mRmTp_BIRTH_TYPE_FTR_CLOTH, mRmTp_BIRTH_TYPE_FTR_CLOTH, mRmTp_BIRTH_TYPE_FTR_CLOTH,
+ mRmTp_BIRTH_TYPE_FTR_CLOTH, mRmTp_BIRTH_TYPE_FTR_CLOTH, mRmTp_BIRTH_TYPE_FTR_CLOTH,
+ mRmTp_BIRTH_TYPE_FTR_CLOTH, mRmTp_BIRTH_TYPE_FTR_CLOTH, mRmTp_BIRTH_TYPE_FTR_CLOTH,
+ mRmTp_BIRTH_TYPE_FTR_CLOTH, mRmTp_BIRTH_TYPE_FTR_CLOTH, mRmTp_BIRTH_TYPE_FTR_CLOTH,
+ mRmTp_BIRTH_TYPE_FTR_CLOTH, mRmTp_BIRTH_TYPE_FTR_CLOTH, mRmTp_BIRTH_TYPE_FTR_CLOTH,
+ mRmTp_BIRTH_TYPE_FTR_CLOTH, mRmTp_BIRTH_TYPE_FTR_CLOTH, mRmTp_BIRTH_TYPE_FTR_CLOTH,
+ mRmTp_BIRTH_TYPE_FTR_CLOTH, mRmTp_BIRTH_TYPE_FTR_CLOTH, mRmTp_BIRTH_TYPE_FTR_CLOTH,
+ mRmTp_BIRTH_TYPE_FTR_CLOTH, mRmTp_BIRTH_TYPE_FTR_CLOTH, mRmTp_BIRTH_TYPE_FTR_CLOTH,
+ mRmTp_BIRTH_TYPE_FTR_CLOTH, mRmTp_BIRTH_TYPE_FTR_CLOTH, mRmTp_BIRTH_TYPE_FTR_CLOTH,
+ mRmTp_BIRTH_TYPE_FTR_CLOTH, mRmTp_BIRTH_TYPE_FTR_CLOTH, mRmTp_BIRTH_TYPE_FTR_CLOTH,
+ mRmTp_BIRTH_TYPE_FTR_CLOTH, mRmTp_BIRTH_TYPE_FTR_CLOTH, mRmTp_BIRTH_TYPE_FTR_CLOTH,
+ mRmTp_BIRTH_TYPE_FTR_CLOTH, mRmTp_BIRTH_TYPE_FTR_CLOTH, mRmTp_BIRTH_TYPE_FTR_CLOTH,
+ mRmTp_BIRTH_TYPE_FTR_CLOTH, mRmTp_BIRTH_TYPE_FTR_CLOTH, mRmTp_BIRTH_TYPE_FTR_CLOTH,
+ mRmTp_BIRTH_TYPE_FTR_CLOTH, mRmTp_BIRTH_TYPE_FTR_CLOTH, mRmTp_BIRTH_TYPE_FTR_CLOTH,
+ mRmTp_BIRTH_TYPE_FTR_CLOTH, mRmTp_BIRTH_TYPE_FTR_CLOTH, mRmTp_BIRTH_TYPE_FTR_CLOTH,
+ mRmTp_BIRTH_TYPE_FTR_CLOTH, mRmTp_BIRTH_TYPE_FTR_CLOTH, mRmTp_BIRTH_TYPE_FTR_CLOTH,
+ mRmTp_BIRTH_TYPE_FTR_CLOTH, mRmTp_BIRTH_TYPE_FTR_CLOTH, mRmTp_BIRTH_TYPE_FTR_CLOTH,
+ mRmTp_BIRTH_TYPE_FTR_CLOTH, mRmTp_BIRTH_TYPE_FTR_CLOTH, mRmTp_BIRTH_TYPE_FTR_CLOTH,
+ mRmTp_BIRTH_TYPE_FTR_CLOTH, mRmTp_BIRTH_TYPE_FTR_CLOTH, mRmTp_BIRTH_TYPE_FTR_CLOTH,
+ mRmTp_BIRTH_TYPE_FTR_CLOTH, mRmTp_BIRTH_TYPE_FTR_CLOTH, mRmTp_BIRTH_TYPE_FTR_CLOTH,
+ mRmTp_BIRTH_TYPE_FTR_CLOTH, mRmTp_BIRTH_TYPE_FTR_CLOTH, mRmTp_BIRTH_TYPE_FTR_CLOTH,
+ mRmTp_BIRTH_TYPE_FTR_CLOTH, mRmTp_BIRTH_TYPE_FTR_CLOTH, mRmTp_BIRTH_TYPE_FTR_CLOTH,
+ mRmTp_BIRTH_TYPE_FTR_CLOTH, mRmTp_BIRTH_TYPE_FTR_CLOTH, mRmTp_BIRTH_TYPE_FTR_CLOTH,
+ mRmTp_BIRTH_TYPE_FTR_CLOTH, mRmTp_BIRTH_TYPE_FTR_CLOTH, mRmTp_BIRTH_TYPE_FTR_CLOTH,
+ mRmTp_BIRTH_TYPE_FTR_CLOTH, mRmTp_BIRTH_TYPE_FTR_CLOTH, mRmTp_BIRTH_TYPE_FTR_CLOTH,
+ mRmTp_BIRTH_TYPE_FTR_CLOTH, mRmTp_BIRTH_TYPE_FTR_CLOTH, mRmTp_BIRTH_TYPE_FTR_CLOTH,
+ mRmTp_BIRTH_TYPE_FTR_CLOTH, mRmTp_BIRTH_TYPE_FTR_CLOTH, mRmTp_BIRTH_TYPE_FTR_CLOTH,
+ mRmTp_BIRTH_TYPE_FTR_CLOTH, mRmTp_BIRTH_TYPE_FTR_CLOTH, mRmTp_BIRTH_TYPE_FTR_CLOTH,
+ mRmTp_BIRTH_TYPE_FTR_CLOTH, mRmTp_BIRTH_TYPE_FTR_CLOTH, mRmTp_BIRTH_TYPE_FTR_CLOTH,
+ mRmTp_BIRTH_TYPE_FTR_CLOTH, mRmTp_BIRTH_TYPE_FTR_CLOTH, mRmTp_BIRTH_TYPE_FTR_CLOTH,
+ mRmTp_BIRTH_TYPE_FTR_CLOTH, mRmTp_BIRTH_TYPE_FTR_CLOTH, mRmTp_BIRTH_TYPE_FTR_CLOTH,
+ mRmTp_BIRTH_TYPE_FTR_CLOTH, mRmTp_BIRTH_TYPE_FTR_CLOTH, mRmTp_BIRTH_TYPE_FTR_CLOTH,
+ mRmTp_BIRTH_TYPE_FTR_CLOTH, mRmTp_BIRTH_TYPE_FTR_CLOTH, mRmTp_BIRTH_TYPE_FTR_CLOTH,
+ mRmTp_BIRTH_TYPE_FTR_CLOTH, mRmTp_BIRTH_TYPE_FTR_CLOTH, mRmTp_BIRTH_TYPE_FTR_CLOTH,
+ mRmTp_BIRTH_TYPE_FTR_CLOTH, mRmTp_BIRTH_TYPE_FTR_CLOTH, mRmTp_BIRTH_TYPE_FTR_CLOTH,
+ mRmTp_BIRTH_TYPE_FTR_CLOTH, mRmTp_BIRTH_TYPE_FTR_CLOTH, mRmTp_BIRTH_TYPE_FTR_CLOTH,
+ mRmTp_BIRTH_TYPE_FTR_CLOTH, mRmTp_BIRTH_TYPE_FTR_CLOTH, mRmTp_BIRTH_TYPE_FTR_CLOTH,
+ mRmTp_BIRTH_TYPE_FTR_CLOTH, mRmTp_BIRTH_TYPE_FTR_CLOTH, mRmTp_BIRTH_TYPE_FTR_CLOTH,
+ mRmTp_BIRTH_TYPE_FTR_CLOTH, mRmTp_BIRTH_TYPE_FTR_CLOTH, mRmTp_BIRTH_TYPE_FTR_CLOTH,
+ mRmTp_BIRTH_TYPE_FTR_CLOTH, mRmTp_BIRTH_TYPE_FTR_CLOTH, mRmTp_BIRTH_TYPE_FTR_CLOTH,
+ mRmTp_BIRTH_TYPE_FTR_CLOTH, mRmTp_BIRTH_TYPE_FTR_CLOTH, mRmTp_BIRTH_TYPE_FTR_CLOTH,
+ mRmTp_BIRTH_TYPE_FTR_CLOTH, mRmTp_BIRTH_TYPE_FTR_CLOTH, mRmTp_BIRTH_TYPE_FTR_CLOTH,
+ mRmTp_BIRTH_TYPE_FTR_CLOTH, mRmTp_BIRTH_TYPE_FTR_CLOTH, mRmTp_BIRTH_TYPE_FTR_CLOTH,
+ mRmTp_BIRTH_TYPE_FTR_CLOTH, mRmTp_BIRTH_TYPE_FTR_CLOTH, mRmTp_BIRTH_TYPE_FTR_CLOTH,
+ mRmTp_BIRTH_TYPE_FTR_CLOTH, mRmTp_BIRTH_TYPE_FTR_CLOTH, mRmTp_BIRTH_TYPE_FTR_CLOTH,
+ mRmTp_BIRTH_TYPE_FTR_CLOTH, mRmTp_BIRTH_TYPE_FTR_CLOTH, mRmTp_BIRTH_TYPE_FTR_CLOTH,
+ mRmTp_BIRTH_TYPE_FTR_CLOTH, mRmTp_BIRTH_TYPE_FTR_CLOTH, mRmTp_BIRTH_TYPE_FTR_CLOTH,
+ mRmTp_BIRTH_TYPE_FTR_CLOTH, mRmTp_BIRTH_TYPE_FTR_CLOTH, mRmTp_BIRTH_TYPE_FTR_CLOTH,
+ mRmTp_BIRTH_TYPE_FTR_CLOTH, mRmTp_BIRTH_TYPE_FTR_CLOTH, mRmTp_BIRTH_TYPE_FTR_CLOTH,
+ mRmTp_BIRTH_TYPE_FTR_CLOTH, mRmTp_BIRTH_TYPE_FTR_CLOTH, mRmTp_BIRTH_TYPE_FTR_CLOTH,
+ mRmTp_BIRTH_TYPE_FTR_CLOTH, mRmTp_BIRTH_TYPE_FTR_CLOTH, mRmTp_BIRTH_TYPE_FTR_CLOTH,
+ mRmTp_BIRTH_TYPE_FTR_CLOTH, mRmTp_BIRTH_TYPE_FTR_CLOTH, mRmTp_BIRTH_TYPE_FTR_CLOTH,
+ mRmTp_BIRTH_TYPE_FTR_CLOTH, mRmTp_BIRTH_TYPE_FTR_CLOTH, mRmTp_BIRTH_TYPE_FTR_CLOTH,
+ mRmTp_BIRTH_TYPE_FTR_CLOTH, mRmTp_BIRTH_TYPE_FTR_CLOTH, mRmTp_BIRTH_TYPE_FTR_CLOTH,
+ mRmTp_BIRTH_TYPE_FTR_CLOTH, mRmTp_BIRTH_TYPE_FTR_CLOTH, mRmTp_BIRTH_TYPE_FTR_CLOTH,
+ mRmTp_BIRTH_TYPE_FTR_CLOTH, mRmTp_BIRTH_TYPE_FTR_CLOTH, mRmTp_BIRTH_TYPE_FTR_INSECT,
+ mRmTp_BIRTH_TYPE_FTR_INSECT, mRmTp_BIRTH_TYPE_FTR_INSECT, mRmTp_BIRTH_TYPE_FTR_INSECT,
+ mRmTp_BIRTH_TYPE_FTR_INSECT, mRmTp_BIRTH_TYPE_FTR_INSECT, mRmTp_BIRTH_TYPE_FTR_INSECT,
+ mRmTp_BIRTH_TYPE_FTR_INSECT, mRmTp_BIRTH_TYPE_FTR_INSECT, mRmTp_BIRTH_TYPE_FTR_INSECT,
+ mRmTp_BIRTH_TYPE_FTR_INSECT, mRmTp_BIRTH_TYPE_FTR_INSECT, mRmTp_BIRTH_TYPE_FTR_INSECT,
+ mRmTp_BIRTH_TYPE_FTR_INSECT, mRmTp_BIRTH_TYPE_FTR_INSECT, mRmTp_BIRTH_TYPE_FTR_INSECT,
+ mRmTp_BIRTH_TYPE_FTR_INSECT, mRmTp_BIRTH_TYPE_FTR_INSECT, mRmTp_BIRTH_TYPE_FTR_INSECT,
+ mRmTp_BIRTH_TYPE_FTR_INSECT, mRmTp_BIRTH_TYPE_FTR_INSECT, mRmTp_BIRTH_TYPE_FTR_INSECT,
+ mRmTp_BIRTH_TYPE_FTR_INSECT, mRmTp_BIRTH_TYPE_FTR_INSECT, mRmTp_BIRTH_TYPE_FTR_INSECT,
+ mRmTp_BIRTH_TYPE_FTR_INSECT, mRmTp_BIRTH_TYPE_FTR_INSECT, mRmTp_BIRTH_TYPE_FTR_INSECT,
+ mRmTp_BIRTH_TYPE_FTR_INSECT, mRmTp_BIRTH_TYPE_FTR_INSECT, mRmTp_BIRTH_TYPE_FTR_INSECT,
+ mRmTp_BIRTH_TYPE_FTR_INSECT, mRmTp_BIRTH_TYPE_FTR_FISH, mRmTp_BIRTH_TYPE_FTR_FISH,
+ mRmTp_BIRTH_TYPE_FTR_FISH, mRmTp_BIRTH_TYPE_FTR_FISH, mRmTp_BIRTH_TYPE_FTR_FISH,
+ mRmTp_BIRTH_TYPE_FTR_FISH, mRmTp_BIRTH_TYPE_FTR_FISH, mRmTp_BIRTH_TYPE_FTR_FISH,
+ mRmTp_BIRTH_TYPE_FTR_FISH, mRmTp_BIRTH_TYPE_FTR_FISH, mRmTp_BIRTH_TYPE_FTR_FISH,
+ mRmTp_BIRTH_TYPE_FTR_FISH, mRmTp_BIRTH_TYPE_FTR_FISH, mRmTp_BIRTH_TYPE_FTR_FISH,
+ mRmTp_BIRTH_TYPE_FTR_FISH, mRmTp_BIRTH_TYPE_FTR_FISH, mRmTp_BIRTH_TYPE_FTR_FISH,
+ mRmTp_BIRTH_TYPE_FTR_FISH, mRmTp_BIRTH_TYPE_FTR_FISH, mRmTp_BIRTH_TYPE_FTR_FISH,
+ mRmTp_BIRTH_TYPE_FTR_FISH, mRmTp_BIRTH_TYPE_FTR_FISH, mRmTp_BIRTH_TYPE_FTR_FISH,
+ mRmTp_BIRTH_TYPE_FTR_FISH, mRmTp_BIRTH_TYPE_FTR_FISH, mRmTp_BIRTH_TYPE_FTR_FISH,
+ mRmTp_BIRTH_TYPE_FTR_FISH, mRmTp_BIRTH_TYPE_FTR_FISH, mRmTp_BIRTH_TYPE_FTR_FISH,
+ mRmTp_BIRTH_TYPE_FTR_FISH, mRmTp_BIRTH_TYPE_FTR_FISH, mRmTp_BIRTH_TYPE_FTR_FISH,
+ mRmTp_BIRTH_TYPE_FTR_UMBRELLA, mRmTp_BIRTH_TYPE_FTR_UMBRELLA, mRmTp_BIRTH_TYPE_FTR_UMBRELLA,
+ mRmTp_BIRTH_TYPE_FTR_UMBRELLA, mRmTp_BIRTH_TYPE_FTR_UMBRELLA, mRmTp_BIRTH_TYPE_FTR_UMBRELLA,
+ mRmTp_BIRTH_TYPE_FTR_UMBRELLA, mRmTp_BIRTH_TYPE_FTR_UMBRELLA, mRmTp_BIRTH_TYPE_FTR_UMBRELLA,
+ mRmTp_BIRTH_TYPE_FTR_UMBRELLA, mRmTp_BIRTH_TYPE_FTR_UMBRELLA, mRmTp_BIRTH_TYPE_FTR_UMBRELLA,
+ mRmTp_BIRTH_TYPE_FTR_UMBRELLA, mRmTp_BIRTH_TYPE_FTR_UMBRELLA, mRmTp_BIRTH_TYPE_FTR_UMBRELLA,
+ mRmTp_BIRTH_TYPE_FTR_UMBRELLA, mRmTp_BIRTH_TYPE_FTR_UMBRELLA, mRmTp_BIRTH_TYPE_FTR_UMBRELLA,
+ mRmTp_BIRTH_TYPE_FTR_UMBRELLA, mRmTp_BIRTH_TYPE_FTR_UMBRELLA, mRmTp_BIRTH_TYPE_FTR_UMBRELLA,
+ mRmTp_BIRTH_TYPE_FTR_UMBRELLA, mRmTp_BIRTH_TYPE_FTR_UMBRELLA, mRmTp_BIRTH_TYPE_FTR_UMBRELLA,
+ mRmTp_BIRTH_TYPE_FTR_UMBRELLA, mRmTp_BIRTH_TYPE_FTR_UMBRELLA, mRmTp_BIRTH_TYPE_FTR_UMBRELLA,
+ mRmTp_BIRTH_TYPE_FTR_UMBRELLA, mRmTp_BIRTH_TYPE_FTR_UMBRELLA, mRmTp_BIRTH_TYPE_FTR_UMBRELLA,
+ mRmTp_BIRTH_TYPE_FTR_UMBRELLA, mRmTp_BIRTH_TYPE_FTR_UMBRELLA, mRmTp_BIRTH_TYPE_EVENT,
+ mRmTp_BIRTH_TYPE_EVENT, mRmTp_BIRTH_TYPE_LOTTERY, mRmTp_BIRTH_TYPE_LOTTERY,
+ mRmTp_BIRTH_TYPE_EVENT, mRmTp_BIRTH_TYPE_EVENT, mRmTp_BIRTH_TYPE_LOTTERY,
+ mRmTp_BIRTH_TYPE_EVENT, mRmTp_BIRTH_TYPE_GRP_A, mRmTp_BIRTH_TYPE_EVENT,
+ mRmTp_BIRTH_TYPE_LOTTERY, mRmTp_BIRTH_TYPE_GRP_C, mRmTp_BIRTH_TYPE_GRP_B,
+ mRmTp_BIRTH_TYPE_EVENT, mRmTp_BIRTH_TYPE_LOTTERY, mRmTp_BIRTH_TYPE_EVENT,
+ mRmTp_BIRTH_TYPE_SANTA, mRmTp_BIRTH_TYPE_SANTA, mRmTp_BIRTH_TYPE_SANTA,
+ mRmTp_BIRTH_TYPE_SANTA, mRmTp_BIRTH_TYPE_SANTA, mRmTp_BIRTH_TYPE_SANTA,
+ mRmTp_BIRTH_TYPE_SANTA, mRmTp_BIRTH_TYPE_SANTA, mRmTp_BIRTH_TYPE_EVENT,
+ mRmTp_BIRTH_TYPE_LOTTERY, mRmTp_BIRTH_TYPE_EVENT, mRmTp_BIRTH_TYPE_GRP_C,
+ mRmTp_BIRTH_TYPE_EVENT, mRmTp_BIRTH_TYPE_GRP_A, mRmTp_BIRTH_TYPE_GRP_A,
+ mRmTp_BIRTH_TYPE_GRP_C, mRmTp_BIRTH_TYPE_GRP_A, mRmTp_BIRTH_TYPE_GRP_B,
+ mRmTp_BIRTH_TYPE_GRP_B, mRmTp_BIRTH_TYPE_GRP_C, mRmTp_BIRTH_TYPE_GRP_C,
+ mRmTp_BIRTH_TYPE_GRP_B, mRmTp_BIRTH_TYPE_GRP_A, mRmTp_BIRTH_TYPE_LOTTERY,
+ mRmTp_BIRTH_TYPE_EVENT, mRmTp_BIRTH_TYPE_XMAS, mRmTp_BIRTH_TYPE_EVENT,
+ mRmTp_BIRTH_TYPE_EVENT, mRmTp_BIRTH_TYPE_XMAS, mRmTp_BIRTH_TYPE_EVENT,
+ mRmTp_BIRTH_TYPE_EVENT, mRmTp_BIRTH_TYPE_LOTTERY, mRmTp_BIRTH_TYPE_LOTTERY,
+ mRmTp_BIRTH_TYPE_EVENT, mRmTp_BIRTH_TYPE_EVENT, mRmTp_BIRTH_TYPE_LOTTERY,
+ mRmTp_BIRTH_TYPE_LOTTERY, mRmTp_BIRTH_TYPE_EVENT, mRmTp_BIRTH_TYPE_EVENT,
+ mRmTp_BIRTH_TYPE_GRP_A, mRmTp_BIRTH_TYPE_GRP_B, mRmTp_BIRTH_TYPE_XMAS,
+ mRmTp_BIRTH_TYPE_EVENT, mRmTp_BIRTH_TYPE_EVENT, mRmTp_BIRTH_TYPE_GRP_A,
+ mRmTp_BIRTH_TYPE_GRP_B, mRmTp_BIRTH_TYPE_LOTTERY, mRmTp_BIRTH_TYPE_GRP_B,
+ mRmTp_BIRTH_TYPE_GRP_A, mRmTp_BIRTH_TYPE_GRP_A, mRmTp_BIRTH_TYPE_GRP_B,
+ mRmTp_BIRTH_TYPE_GRP_C, mRmTp_BIRTH_TYPE_GRP_A, mRmTp_BIRTH_TYPE_MULTI_FOSSIL,
+ mRmTp_BIRTH_TYPE_MULTI_FOSSIL, mRmTp_BIRTH_TYPE_MULTI_FOSSIL, mRmTp_BIRTH_TYPE_MULTI_FOSSIL,
+ mRmTp_BIRTH_TYPE_MULTI_FOSSIL, mRmTp_BIRTH_TYPE_MULTI_FOSSIL, mRmTp_BIRTH_TYPE_MULTI_FOSSIL,
+ mRmTp_BIRTH_TYPE_MULTI_FOSSIL, mRmTp_BIRTH_TYPE_MULTI_FOSSIL, mRmTp_BIRTH_TYPE_MULTI_FOSSIL,
+ mRmTp_BIRTH_TYPE_MULTI_FOSSIL, mRmTp_BIRTH_TYPE_MULTI_FOSSIL, mRmTp_BIRTH_TYPE_MULTI_FOSSIL,
+ mRmTp_BIRTH_TYPE_MULTI_FOSSIL, mRmTp_BIRTH_TYPE_MULTI_FOSSIL, mRmTp_BIRTH_TYPE_MULTI_FOSSIL,
+ mRmTp_BIRTH_TYPE_MULTI_FOSSIL, mRmTp_BIRTH_TYPE_MULTI_FOSSIL, mRmTp_BIRTH_TYPE_MULTI_FOSSIL,
+ mRmTp_BIRTH_TYPE_MULTI_FOSSIL, mRmTp_BIRTH_TYPE_SINGLE_FOSSIL, mRmTp_BIRTH_TYPE_SINGLE_FOSSIL,
+ mRmTp_BIRTH_TYPE_SINGLE_FOSSIL, mRmTp_BIRTH_TYPE_SINGLE_FOSSIL, mRmTp_BIRTH_TYPE_SINGLE_FOSSIL,
+ mRmTp_BIRTH_TYPE_GRP_B, mRmTp_BIRTH_TYPE_SNOWMAN, mRmTp_BIRTH_TYPE_SNOWMAN,
+ mRmTp_BIRTH_TYPE_SNOWMAN, mRmTp_BIRTH_TYPE_SNOWMAN, mRmTp_BIRTH_TYPE_SNOWMAN,
+ mRmTp_BIRTH_TYPE_SNOWMAN, mRmTp_BIRTH_TYPE_SNOWMAN, mRmTp_BIRTH_TYPE_SNOWMAN,
+ mRmTp_BIRTH_TYPE_SNOWMAN, mRmTp_BIRTH_TYPE_SNOWMAN,
+};
+
+s32 mRmTp_CheckShopFtr(u16 item) {
+ if ((item >= 0x1000 && item < 0x1ECD)) {
+ s32 ftr_idx = (item - 0x1000) >> 2;
+
+ switch (mRmTp_birth_type[ftr_idx]) {
+ case mRmTp_BIRTH_TYPE_GRP_A:
+ case mRmTp_BIRTH_TYPE_GRP_B:
+ case mRmTp_BIRTH_TYPE_GRP_C:
+ case mRmTp_BIRTH_TYPE_EVENT:
+ return TRUE;
+ default:
+ break;
+ }
+ }
+
+ return FALSE;
+}
+
+u8* mRmTp_CheckFtrBirthInfoTop() {
+ return mRmTp_birth_type;
+}
+
+s32 mRmTp_GetFloorIdx(void) {
+ s32 sceneNo;
+
+ sceneNo = common_data.save.sceneNo;
+ if ((sceneNo == SCENE_MY_ROOM_S) || (sceneNo == SCENE_MY_ROOM_M) || (sceneNo == SCENE_MY_ROOM_L)) {
+ s32 id = mFI_GetFieldId() - 0x6000;
+ mHm_hs_c* home = &common_data.save.homes[id];
+ s32 idx = home->roomId & 0x3F;
+ return idx;
+ }
+ if (sceneNo == SCENE_NPC_HOUSE) {
+ return mNpc_GetNpcFloorNo() & 0x3F;
+ }
+ switch (sceneNo) {
+ case SCENE_SHOP0:
+ return 0x40;
+ case SCENE_CONVENI:
+ return 0x41;
+ case SCENE_SUPER:
+ return 0x42;
+ case SCENE_DEPART:
+ case SCENE_DEPART_2:
+ return 0x43;
+ case SCENE_POST_OFFICE:
+ return 0x44;
+ case SCENE_POLICE_BOX:
+ return 0x45;
+ case SCENE_BUGGY:
+ return 0x46;
+ case SCENE_BROKER_SHOP:
+ return 0x47;
+ case SCENE_KAMAKURA:
+ return 0x48;
+ default:
+ return -1;
+ }
+}
+
+u16 mRmTp_Item1ItemNo2FtrItemNo_AtPlayerRoom(u16 item) {
+ s32 value;
+ if (item >= 0x2400 && item < 0x2500) {
+
+ value = item >= 0x2400 && item < 0x2500 ? (item - 0x2400) : 0;
+
+ return 0x17AC + ((u16)value * mRmTp_DIRECT_MAX);
+ }
+ if (item >= 0x2D00 && item < 0x2D21) {
+ value = item >= 0x2D00 && item < 0x2D21 ? (item - 0x2D00) : 0;
+
+ return 0x1BA8 + (value * mRmTp_DIRECT_MAX);
+ }
+ if (item >= 0x2300 && item < 0x2321) {
+ value = item >= 0x2300 && item < 0x2321 ? (item - 0x2300) : 0;
+
+ return 0x1C28 + value * mRmTp_DIRECT_MAX;
+ }
+ if (item >= 0x2204 && item < 0x2224) {
+ value = item >= 0x2204 && item < 0x2224 ? (item - 0x2204) : 0;
+
+ return 0x1ca8 + value * mRmTp_DIRECT_MAX;
+ }
+
+ return item;
+}
+u16 mRmTp_FtrItemNo2Item1ItemNo(u16 item) {
+
+ if (item >= 0x17AC && item < 0x1BA8) {
+ s32 value = item >= 0x17AC && item < 0x1BA8 ? (item - 0x17AC) >> 2 : 0;
+
+ return 0x2400 + (u16)value;
+ }
+ if (item >= 0x1BA8 && item < 0x1C28) {
+ s32 value = item >= 0x1BA8 && item < 0x1C28 ? (item - 0x1BA8) >> 2 : 0;
+
+ return 0x2D00 + value;
+ }
+ if (item >= 0x1C28 && item < 0x1CA8) {
+ s32 value = item >= 0x1C28 && item < 0x1CA8 ? (item - 0x1C28) >> 2 : 0;
+
+ return mNT_FishIdx2FishItemNo(value);
+ }
+ if (item >= 0x1CA8 && item < 0x1D28) {
+
+ s32 value = (item - 0x1CA8) >> 2;
+
+ return 0x2204 + value;
+ }
+
+ return item;
+}
+
+u8 mRmTp_melody[16];
+
+void mRmTp_MakeMelodyData() {
+ u64 melody = common_data.save.melody;
+
+ mMld_TransformMelodyData_u64_2_u8(mRmTp_melody, melody);
+}
+
+u8* mRmTp_GetMelodyData() {
+ return mRmTp_melody;
+}
+
+s32 mRmTp_famicom_idx = 0;
+
+void mRmTp_DrawFamicomInfo(gfxprint* gfxprint) {
+ if ((gamePT->input[1].press.button & START_BUTTON) == START_BUTTON) {
+ mRmTp_famicom_idx++;
+ }
+
+ if (mRmTp_famicom_idx < 0) {
+ mRmTp_famicom_idx = 7;
+ }
+
+ if (mRmTp_famicom_idx >= 8) {
+ mRmTp_famicom_idx = 0;
+ }
+
+ gfxprint_color(gfxprint, 200, 200, 250, 255);
+ gfxprint_locate8x8(gfxprint, 3, 26);
+ gfxprint_printf(gfxprint, "ファミコン %d", mRmTp_famicom_idx); // "Famicom %d"
+}
+
+void mRmTp_MakeFamicom_Fdebug() {
+ Game* game = gamePT;
+ u16 ftr;
+ s32 utX;
+ s32 utZ;
+ u16 direct;
+ s32 ofs;
+ s32 layer;
+ s32 res;
+
+ if ((gamePT->input[1].press.button & Z_TRIG) == Z_TRIG && game != NULL) {
+
+ if (common_data.clip.unk_080 != NULL) {
+
+ ftr = mRmTp_famicom_idx + 0x34A;
+
+ res = common_data.clip.unk_080->unk_04(game, ftr, &utX, &utZ, &direct, &ofs, &layer);
+
+ if (res >= 0) {
+ common_data.clip.unk_080->unk_28(game, ftr, res, utX, utZ, direct, ofs, layer);
+ }
+ }
+ }
+}
diff --git a/src/code/m_start_data_init.c b/src/code/m_start_data_init.c
index ca4c3dd..341504d 100644
--- a/src/code/m_start_data_init.c
+++ b/src/code/m_start_data_init.c
@@ -36,6 +36,7 @@
#include "m_snowman.h"
#include "overlays/gamestates/ovl_play/m_play.h"
#include "sys_math.h"
+#include "m_melody.h"
void famicom_emu_initial_common_data(void) {
FamicomEmuCommonData* famicom = &common_data.save.famicomEmuCommonData;
diff --git a/src/overlays/gamestates/ovl_trademark/m_trademark.c b/src/overlays/gamestates/ovl_trademark/m_trademark.c
index 8a1300c..b467a0d 100644
--- a/src/overlays/gamestates/ovl_trademark/m_trademark.c
+++ b/src/overlays/gamestates/ovl_trademark/m_trademark.c
@@ -1,5 +1,6 @@
#include "m_trademark.h"
+#include "prevent_bss_reordering.h"
#include "audio.h"
#include "m_actor.h"
#include "m_common_data.h"
diff --git a/yamls/jp/code.yaml b/yamls/jp/code.yaml
index 5dfc938..1ad1abb 100644
--- a/yamls/jp/code.yaml
+++ b/yamls/jp/code.yaml
@@ -71,7 +71,7 @@
- [0x6DE300, asm, code/6DE300]
- [0x6E08E0, asm, code/m_random_field]
- [0x6E0F50, c, code/m_rcp]
- - [0x6E2300, asm, code/6E2300]
+ - [0x6E2300, c, code/m_room_type]
- [0x6E30B0, c, code/m_scene_ftr]
- [0x6E3240, asm, code/6E3240]
- [0x6E6C90, c, code/m_start_data_init]
@@ -173,7 +173,8 @@
- [0x7302C0, .data, code/m_private]
- [0x730320, data, code/730320]
- [0x7307D0, .data, code/m_rcp]
- - [0x730B60, data, code/730B60]
+ - [0x730B60, .data, code/m_room_type]
+ - [0x731740, data, code/731740]
- [0x731940, .data, code/m_start_data_init]
- [0x731980, .data, code/m_submenu]
- [0x731A20, .data, code/m_scene]
@@ -240,7 +241,7 @@
- [0x73B130, .rodata, code/m_private]
- [0x73B210, rodata, code/73B210]
- [0x73B250, rodata, code/73B250]
- - [0x73B360, rodata, code/73B360]
+ - [0x73B360, .rodata, code/m_room_type]
- [0x73B3E0, .rodata, code/m_scene_ftr]
- [0x73B400, rodata, code/m_shop]
- [0x73B580, .rodata, code/m_string]
@@ -302,7 +303,7 @@
- { start: 0x73F4D0, type: .bss, vram: 0x801439A0, name: code/m_private }
- { start: 0x73F4D0, type: bss, vram: 0x80144620, name: code/80144620 }
- { start: 0x73F4D0, type: .bss, vram: 0x80144650, name: code/m_rcp }
- - { start: 0x73F4D0, type: bss, vram: 0x80144660, name: code/80144660 }
+ - { start: 0x73F4D0, type: .bss, vram: 0x80144660, name: code/m_room_type }
- { start: 0x73F4D0, type: .bss, vram: 0x80144670, name: code/m_submenu }
- { start: 0x73F4D0, type: bss, vram: 0x80144690, name: code/80144690 }
- { start: 0x73F4D0, type: .bss, vram: 0x80144D20, name: code/audioMgr }