return;
}
- printf_line("-", 79);
- printf("Level xxx (file version %08d, game version %08d)\n",
- level->file_version, level->game_version);
- printf_line("-", 79);
-
- printf("Level author: '%s'\n", level->author);
- printf("Level title: '%s'\n", level->name);
- printf("\n");
- printf("Playfield size: %d x %d\n", level->fieldx, level->fieldy);
- printf("\n");
- printf("Level time: %d seconds\n", level->time);
- printf("Gems needed: %d\n", level->gems_needed);
- printf("\n");
- printf("Time for magic wall: %d seconds\n", level->time_magic_wall);
- printf("Time for wheel: %d seconds\n", level->time_wheel);
- printf("Time for light: %d seconds\n", level->time_light);
- printf("Time for timegate: %d seconds\n", level->time_timegate);
- printf("\n");
- printf("Amoeba speed: %d\n", level->amoeba_speed);
- printf("\n");
-
- printf("EM style slippery gems: %s\n", (level->em_slippery_gems ? "yes" : "no"));
- printf("Player blocks last field: %s\n", (level->block_last_field ? "yes" : "no"));
- printf("SP player blocks last field: %s\n", (level->sp_block_last_field ? "yes" : "no"));
- printf("use spring bug: %s\n", (level->use_spring_bug ? "yes" : "no"));
- printf("use step counter: %s\n", (level->use_step_counter ? "yes" : "no"));
-
- printf_line("-", 79);
+ PrintLine("-", 79);
+ Print("Level xxx (file version %08d, game version %08d)\n",
+ level->file_version, level->game_version);
+ PrintLine("-", 79);
+
+ Print("Level author: '%s'\n", level->author);
+ Print("Level title: '%s'\n", level->name);
+ Print("\n");
+ Print("Playfield size: %d x %d\n", level->fieldx, level->fieldy);
+ Print("\n");
+ Print("Level time: %d seconds\n", level->time);
+ Print("Gems needed: %d\n", level->gems_needed);
+ Print("\n");
+ Print("Time for magic wall: %d seconds\n", level->time_magic_wall);
+ Print("Time for wheel: %d seconds\n", level->time_wheel);
+ Print("Time for light: %d seconds\n", level->time_light);
+ Print("Time for timegate: %d seconds\n", level->time_timegate);
+ Print("\n");
+ Print("Amoeba speed: %d\n", level->amoeba_speed);
+ Print("\n");
+
+ Print("EM style slippery gems: %s\n", (level->em_slippery_gems ? "yes" : "no"));
+ Print("Player blocks last field: %s\n", (level->block_last_field ? "yes" : "no"));
+ Print("SP player blocks last field: %s\n", (level->sp_block_last_field ? "yes" : "no"));
+ Print("use spring bug: %s\n", (level->use_spring_bug ? "yes" : "no"));
+ Print("use step counter: %s\n", (level->use_step_counter ? "yes" : "no"));
+
+ PrintLine("-", 79);
}
return;
}
- printf_line("-", 79);
- printf("Tape of Level %03d (file version %08d, game version %08d)\n",
- tape->level_nr, tape->file_version, tape->game_version);
- printf(" (effective engine version %08d)\n",
- tape->engine_version);
- printf("Level series identifier: '%s'\n", tape->level_identifier);
- printf_line("-", 79);
+ PrintLine("-", 79);
+ Print("Tape of Level %03d (file version %08d, game version %08d)\n",
+ tape->level_nr, tape->file_version, tape->game_version);
+ Print(" (effective engine version %08d)\n",
+ tape->engine_version);
+ Print("Level series identifier: '%s'\n", tape->level_identifier);
+ PrintLine("-", 79);
tape_frame_counter = 0;
if (i >= MAX_TAPE_LEN)
break;
- printf("%04d: ", i);
+ Print("%04d: ", i);
for (j = 0; j < MAX_PLAYERS; j++)
{
{
int action = tape->pos[i].action[j];
- printf("%d:%02x ", j, action);
- printf("[%c%c%c%c|%c%c] - ",
- (action & JOY_LEFT ? '<' : ' '),
- (action & JOY_RIGHT ? '>' : ' '),
- (action & JOY_UP ? '^' : ' '),
- (action & JOY_DOWN ? 'v' : ' '),
- (action & JOY_BUTTON_1 ? '1' : ' '),
- (action & JOY_BUTTON_2 ? '2' : ' '));
+ Print("%d:%02x ", j, action);
+ Print("[%c%c%c%c|%c%c] - ",
+ (action & JOY_LEFT ? '<' : ' '),
+ (action & JOY_RIGHT ? '>' : ' '),
+ (action & JOY_UP ? '^' : ' '),
+ (action & JOY_DOWN ? 'v' : ' '),
+ (action & JOY_BUTTON_1 ? '1' : ' '),
+ (action & JOY_BUTTON_2 ? '2' : ' '));
}
}
- printf("(%03d) ", tape->pos[i].delay);
- printf("[%05d]\n", tape_frame_counter);
+ Print("(%03d) ", tape->pos[i].delay);
+ Print("[%05d]\n", tape_frame_counter);
tape_frame_counter += tape->pos[i].delay;
}
- printf_line("-", 79);
+ PrintLine("-", 79);
}
#define SETUP_TOKEN_INT_PROGRAM_WEBSITE 3
#define SETUP_TOKEN_INT_PROGRAM_COPYRIGHT 4
#define SETUP_TOKEN_INT_PROGRAM_COMPANY 5
-#define SETUP_TOKEN_INT_DEFAULT_GRAPHICS_SET 6
-#define SETUP_TOKEN_INT_DEFAULT_SOUNDS_SET 7
-#define SETUP_TOKEN_INT_DEFAULT_MUSIC_SET 8
-#define SETUP_TOKEN_INT_FALLBACK_GRAPHICS_FILE 9
-#define SETUP_TOKEN_INT_FALLBACK_SOUNDS_FILE 10
-#define SETUP_TOKEN_INT_FALLBACK_MUSIC_FILE 11
-#define SETUP_TOKEN_INT_DEFAULT_LEVEL_SERIES 12
-#define SETUP_TOKEN_INT_CHOOSE_FROM_TOP_LEVELDIR 13
-
-#define NUM_INTERNAL_SETUP_TOKENS 14
+#define SETUP_TOKEN_INT_PROGRAM_ICON_FILE 6
+#define SETUP_TOKEN_INT_DEFAULT_GRAPHICS_SET 7
+#define SETUP_TOKEN_INT_DEFAULT_SOUNDS_SET 8
+#define SETUP_TOKEN_INT_DEFAULT_MUSIC_SET 9
+#define SETUP_TOKEN_INT_FALLBACK_GRAPHICS_FILE 10
+#define SETUP_TOKEN_INT_FALLBACK_SOUNDS_FILE 11
+#define SETUP_TOKEN_INT_FALLBACK_MUSIC_FILE 12
+#define SETUP_TOKEN_INT_DEFAULT_LEVEL_SERIES 13
+#define SETUP_TOKEN_INT_CHOOSE_FROM_TOP_LEVELDIR 14
+
+#define NUM_INTERNAL_SETUP_TOKENS 15
/* options setup */
#define SETUP_TOKEN_OPTIONS_VERBOSE 0
{ TYPE_STRING, &sxi.program_website, "program_website" },
{ TYPE_STRING, &sxi.program_copyright, "program_copyright" },
{ TYPE_STRING, &sxi.program_company, "program_company" },
+ { TYPE_STRING, &sxi.program_icon_file, "program_icon_file" },
{ TYPE_STRING, &sxi.default_graphics_set, "default_graphics_set" },
{ TYPE_STRING, &sxi.default_sounds_set, "default_sounds_set" },
{ TYPE_STRING, &sxi.default_music_set, "default_music_set" },
si->internal.program_copyright = getStringCopy(PROGRAM_COPYRIGHT_STRING);
si->internal.program_company = getStringCopy(PROGRAM_COMPANY_STRING);
+ si->internal.program_icon_file = getStringCopy(PROGRAM_ICON_FILENAME);
+
si->internal.default_graphics_set = getStringCopy(GFX_CLASSIC_SUBDIR);
si->internal.default_sounds_set = getStringCopy(SND_CLASSIC_SUBDIR);
si->internal.default_music_set = getStringCopy(MUS_CLASSIC_SUBDIR);