X-Git-Url: https://git.artsoft.org/?a=blobdiff_plain;f=src%2Ffiles.c;h=7b2d7b2d7e728c68d090bd1c8e25d51ad752a6e6;hb=1856b32b9d7b3c80596362cf7a3dd8e032cd83fc;hp=c620a531b37bf4e30517c01366137a61e78edf8e;hpb=ee6603e2a2fd3e870baf3557c0858e9c2de61de8;p=rocksndiamonds.git diff --git a/src/files.c b/src/files.c index c620a531..7b2d7b2d 100644 --- a/src/files.c +++ b/src/files.c @@ -4644,9 +4644,12 @@ static void CopyNativeLevel_BD_to_RND(struct LevelInfo *level) SetDefaultLevelColors_BD(); // level name - char *cave_name = getStringPrint("%s / %d", cave->name, bd_level_nr + 1); + char *cave_name_latin1 = getLatin1FromUTF8(cave->name); + char *cave_name_final = (gd_caveset_has_levels() ? + getStringPrint("%s / %d", cave_name_latin1, bd_level_nr + 1) : + getStringCopy(cave_name_latin1)); - strncpy(level->name, cave_name, MAX_LEVEL_NAME_LEN); + strncpy(level->name, cave_name_final, MAX_LEVEL_NAME_LEN); level->name[MAX_LEVEL_NAME_LEN] = '\0'; // playfield elements @@ -4654,7 +4657,8 @@ static void CopyNativeLevel_BD_to_RND(struct LevelInfo *level) for (y = 0; y < level->fieldy; y++) level->field[x][y] = CAVE_TO_LEVEL(cave->map[y][x]); - checked_free(cave_name); + checked_free(cave_name_latin1); + checked_free(cave_name_final); } static void setTapeInfoToDefaults(void);