+ Error(ERR_WARN, "invalid EM cave element %d", element_em_cave);
+
+ return EL_UNKNOWN;
+}
+
+int map_element_EM_to_RND_game(int element_em_game)
+{
+ static unsigned short mapping_EM_to_RND[TILE_MAX];
+ static boolean mapping_initialized = FALSE;
+
+ if (!mapping_initialized)
+ {
+ int i;
+
+ // return "EL_UNKNOWN" for all undefined elements in mapping array
+ for (i = 0; i < TILE_MAX; i++)
+ mapping_EM_to_RND[i] = EL_UNKNOWN;
+
+ for (i = 0; em_object_mapping_list[i].element_em != -1; i++)
+ mapping_EM_to_RND[em_object_mapping_list[i].element_em] =
+ em_object_mapping_list[i].element_rnd;
+
+ mapping_initialized = TRUE;
+ }
+
+ if (element_em_game >= 0 && element_em_game < TILE_MAX)
+ return mapping_EM_to_RND[element_em_game];
+
+ Error(ERR_WARN, "invalid EM game element %d", element_em_game);