if (level->game_engine_type == GAME_ENGINE_TYPE_UNKNOWN)
level->game_engine_type = GAME_ENGINE_TYPE_RND;
- CopyNativeLevel_Native_to_RND(level);
+ if (level_file_info->type == LEVEL_FILE_TYPE_RND)
+ CopyNativeLevel_RND_to_Native(level);
+ else
+ CopyNativeLevel_Native_to_RND(level);
}
void LoadLevelFromFilename(struct LevelInfo *level, char *filename)
{
char *value = getHashEntry(element_hash, list->token);
- if (value)
+ if (value == NULL) /* try to find obsolete token mapping */
+ {
+ char *mapped_token = get_mapped_token(list->token);
+
+ if (mapped_token != NULL)
+ {
+ value = getHashEntry(element_hash, mapped_token);
+
+ free(mapped_token);
+ }
+ }
+
+ if (value != NULL)
{
(*elements)[(*num_elements)++] = atoi(value);
}