+int map_element_RND_to_MM(int element_rnd)
+{
+ return (element_rnd >= EL_MM_START_1 &&
+ element_rnd <= EL_MM_END_1 ?
+ EL_MM_START_1_NATIVE + element_rnd - EL_MM_START_1 :
+
+ element_rnd >= EL_MM_START_2 &&
+ element_rnd <= EL_MM_END_2 ?
+ EL_MM_START_2_NATIVE + element_rnd - EL_MM_START_2 :
+
+ element_rnd >= EL_CHAR_START &&
+ element_rnd <= EL_CHAR_END ?
+ EL_MM_CHAR_START_NATIVE + element_rnd - EL_CHAR_START :
+
+ element_rnd >= EL_MM_RUNTIME_START &&
+ element_rnd <= EL_MM_RUNTIME_END ?
+ EL_MM_RUNTIME_START_NATIVE + element_rnd - EL_MM_RUNTIME_START :
+
+ element_rnd >= EL_MM_DUMMY_START &&
+ element_rnd <= EL_MM_DUMMY_END ?
+ EL_MM_DUMMY_START_NATIVE + element_rnd - EL_MM_DUMMY_START :
+
+ EL_MM_EMPTY_NATIVE);
+}
+
+int map_element_MM_to_RND(int element_mm)
+{
+ return (element_mm == EL_MM_EMPTY_NATIVE ||
+ element_mm == EL_DF_EMPTY_NATIVE ?
+ EL_EMPTY :
+
+ element_mm >= EL_MM_START_1_NATIVE &&
+ element_mm <= EL_MM_END_1_NATIVE ?
+ EL_MM_START_1 + element_mm - EL_MM_START_1_NATIVE :
+
+ element_mm >= EL_MM_START_2_NATIVE &&
+ element_mm <= EL_MM_END_2_NATIVE ?
+ EL_MM_START_2 + element_mm - EL_MM_START_2_NATIVE :
+
+ element_mm >= EL_MM_CHAR_START_NATIVE &&
+ element_mm <= EL_MM_CHAR_END_NATIVE ?
+ EL_CHAR_START + element_mm - EL_MM_CHAR_START_NATIVE :
+
+ element_mm >= EL_MM_RUNTIME_START_NATIVE &&
+ element_mm <= EL_MM_RUNTIME_END_NATIVE ?
+ EL_MM_RUNTIME_START + element_mm - EL_MM_RUNTIME_START_NATIVE :
+
+ element_mm >= EL_MM_DUMMY_START_NATIVE &&
+ element_mm <= EL_MM_DUMMY_END_NATIVE ?
+ EL_MM_DUMMY_START + element_mm - EL_MM_DUMMY_START_NATIVE :
+
+ EL_EMPTY);
+}
+
+int map_action_MM_to_RND(int action_mm)
+{
+ /* all MM actions are defined to exactly match their RND counterparts */
+ return action_mm;
+}
+
+int map_sound_MM_to_RND(int sound_mm)
+{
+ switch (sound_mm)
+ {
+ case SND_MM_GAME_LEVELTIME_CHARGING:
+ return SND_GAME_LEVELTIME_CHARGING;
+
+ case SND_MM_GAME_HEALTH_CHARGING:
+ return SND_GAME_HEALTH_CHARGING;
+
+ default:
+ return SND_UNDEFINED;
+ }
+}
+
+int map_mm_wall_element(int element)
+{
+ return (element >= EL_MM_STEEL_WALL_START &&
+ element <= EL_MM_STEEL_WALL_END ?
+ EL_MM_STEEL_WALL :
+
+ element >= EL_MM_WOODEN_WALL_START &&
+ element <= EL_MM_WOODEN_WALL_END ?
+ EL_MM_WOODEN_WALL :
+
+ element >= EL_MM_ICE_WALL_START &&
+ element <= EL_MM_ICE_WALL_END ?
+ EL_MM_ICE_WALL :
+
+ element >= EL_MM_AMOEBA_WALL_START &&
+ element <= EL_MM_AMOEBA_WALL_END ?
+ EL_MM_AMOEBA_WALL :
+
+ element >= EL_DF_STEEL_WALL_START &&
+ element <= EL_DF_STEEL_WALL_END ?
+ EL_DF_STEEL_WALL :
+
+ element >= EL_DF_WOODEN_WALL_START &&
+ element <= EL_DF_WOODEN_WALL_END ?
+ EL_DF_WOODEN_WALL :
+
+ element);
+}
+
+int map_mm_wall_element_editor(int element)
+{
+ switch (element)
+ {
+ case EL_MM_STEEL_WALL: return EL_MM_STEEL_WALL_START;
+ case EL_MM_WOODEN_WALL: return EL_MM_WOODEN_WALL_START;
+ case EL_MM_ICE_WALL: return EL_MM_ICE_WALL_START;
+ case EL_MM_AMOEBA_WALL: return EL_MM_AMOEBA_WALL_START;
+ case EL_DF_STEEL_WALL: return EL_DF_STEEL_WALL_START;
+ case EL_DF_WOODEN_WALL: return EL_DF_WOODEN_WALL_START;
+
+ default: return element;
+ }
+}
+