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 = getStringPrint("%s / %d", cave_name_latin1, bd_level_nr + 1);
- 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
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);
CloseAllAndExit(0);
}
+void DumpLevelsetFromFilename_BD(char *filename)
+{
+ if (leveldir_current == NULL) // no levelsets loaded yet
+ bd_open_all();
+
+ if (!LoadNativeLevel_BD(filename, 0, FALSE))
+ CloseAllAndExit(0); // function has already printed warning
+
+ PrintLine("-", 79);
+ Print("Levelset '%s'\n", filename);
+ PrintLine("-", 79);
+
+ DumpLevelset_BD();
+
+ PrintLine("-", 79);
+
+ CloseAllAndExit(0);
+}
+
+void DumpLevelset(void)
+{
+ static LevelDirTree *dumplevelset_leveldir = NULL;
+
+ dumplevelset_leveldir = getTreeInfoFromIdentifier(leveldir_first,
+ global.dumplevelset_leveldir);
+ if (dumplevelset_leveldir == NULL)
+ Fail("no such level identifier: '%s'", global.dumplevelset_leveldir);
+
+ PrintLine("-", 79);
+ Print("Levelset '%s'\n", dumplevelset_leveldir->identifier);
+ PrintLine("-", 79);
+
+ Print("Number of levels: %d\n", dumplevelset_leveldir->levels);
+ Print("First level number: %d\n", dumplevelset_leveldir->first_level);
+
+ PrintLine("-", 79);
+
+ CloseAllAndExit(0);
+}
+
// ============================================================================
// tape file functions
si->bd_skip_hatching = FALSE;
si->bd_scroll_delay = TRUE;
si->bd_show_invisible_outbox = FALSE;
- si->bd_smooth_movements = STATE_AUTO;
+ si->bd_smooth_movements = STATE_TRUE;
si->bd_pushing_graphics = STATE_TRUE;
si->bd_up_down_graphics = STATE_TRUE;
- si->bd_skip_falling_sounds = STATE_AUTO;
+ si->bd_skip_falling_sounds = STATE_TRUE;
si->bd_palette_c64 = GD_DEFAULT_PALETTE_C64;
si->bd_palette_c64dtv = GD_DEFAULT_PALETTE_C64DTV;
si->bd_palette_atari = GD_DEFAULT_PALETTE_ATARI;