{ "font.info.level", UNDEFINED_FILENAME },
{ "font.info.level.clone_from", "font.level_number" },
+ { "font.info.story", UNDEFINED_FILENAME },
+ { "font.info.story.clone_from", "font.level_number" },
+
{ "font.main.network_players", UNDEFINED_FILENAME },
{ "font.main.network_players.clone_from", "font.level_number" },
{ "background.INFO[VERSION]", UNDEFINED_FILENAME },
{ "background.INFO[LEVELSET]", UNDEFINED_FILENAME },
{ "background.INFO[LEVEL]", UNDEFINED_FILENAME },
+ { "background.INFO[STORY]", UNDEFINED_FILENAME },
{ "background.SETUP", UNDEFINED_FILENAME },
{ "background.PLAYING", UNDEFINED_FILENAME },
{ "background.DOOR", UNDEFINED_FILENAME },
{ "menu.draw_yoffset.INFO[LEVELSET]", "0" },
{ "menu.draw_xoffset.INFO[LEVEL]", "0" },
{ "menu.draw_yoffset.INFO[LEVEL]", "0" },
+ { "menu.draw_xoffset.INFO[STORY]", "0" },
+ { "menu.draw_yoffset.INFO[STORY]", "0" },
{ "menu.draw_xoffset.SETUP", "0" },
{ "menu.draw_yoffset.SETUP", "0" },
{ "menu.draw_xoffset.SETUP[GAME]", "0" },
{ "menu.left_spacing.INFO[VERSION]", "16" },
{ "menu.left_spacing.INFO[LEVELSET]", "16" },
{ "menu.left_spacing.INFO[LEVEL]", "16" },
+ { "menu.left_spacing.INFO[STORY]", "16" },
{ "menu.left_spacing.SETUP[INPUT]", "16" },
{ "menu.middle_spacing.SCOREINFO", "32" },
{ "menu.right_spacing.INFO[VERSION]", "16" },
{ "menu.right_spacing.INFO[LEVELSET]", "16" },
{ "menu.right_spacing.INFO[LEVEL]", "16" },
+ { "menu.right_spacing.INFO[STORY]", "16" },
{ "menu.right_spacing.SETUP[INPUT]", "16" },
{ "menu.top_spacing.SCOREINFO", "96" },
{ "menu.top_spacing.INFO[VERSION]", "96" },
{ "menu.top_spacing.INFO[LEVELSET]", "96" },
{ "menu.top_spacing.INFO[LEVEL]", "96" },
+ { "menu.top_spacing.INFO[STORY]", "96" },
{ "menu.top_spacing.SETUP[INPUT]", "96" },
{ "menu.bottom_spacing.SCOREINFO", "32" },
{ "menu.bottom_spacing.INFO[VERSION]", "32" },
{ "menu.bottom_spacing.INFO[LEVELSET]", "32" },
{ "menu.bottom_spacing.INFO[LEVEL]", "32" },
+ { "menu.bottom_spacing.INFO[STORY]", "32" },
{ "menu.bottom_spacing.SETUP[INPUT]", "32" },
{ "menu.paragraph_spacing.SCOREINFO", "-2" },
{ "menu.paragraph_spacing.INFO[VERSION]", "-2" },
{ "menu.paragraph_spacing.INFO[LEVELSET]", "-3" },
{ "menu.paragraph_spacing.INFO[LEVEL]", "-3" },
+ { "menu.paragraph_spacing.INFO[STORY]", "-3" },
{ "menu.paragraph_spacing.SETUP[INPUT]", "-1" },
{ "menu.headline1_spacing.SCOREINFO", "-2" },
{ "menu.headline1_spacing.INFO[VERSION]", "-2" },
{ "menu.headline1_spacing.INFO[LEVELSET]", "-2" },
{ "menu.headline1_spacing.INFO[LEVEL]", "-2" },
+ { "menu.headline1_spacing.INFO[STORY]", "-2" },
{ "menu.headline1_spacing.SETUP[INPUT]", "-2" },
{ "menu.headline2_spacing.SCOREINFO", "-1" },
{ "menu.headline2_spacing.INFO[VERSION]", "-1" },
{ "menu.headline2_spacing.INFO[LEVELSET]", "-1" },
{ "menu.headline2_spacing.INFO[LEVEL]", "-1" },
+ { "menu.headline2_spacing.INFO[STORY]", "-1" },
{ "menu.headline2_spacing.SETUP[INPUT]", "-1" },
{ "menu.line_spacing.SCOREINFO", "0" },
{ "menu.line_spacing.INFO[VERSION]", "0" },
{ "menu.line_spacing.INFO[LEVELSET]", "0" },
{ "menu.line_spacing.INFO[LEVEL]", "0" },
+ { "menu.line_spacing.INFO[STORY]", "0" },
{ "menu.line_spacing.SETUP[INPUT]", "0" },
{ "menu.extra_spacing.SCOREINFO", "2" },
{ "menu.extra_spacing.INFO[VERSION]", "2" },
{ "menu.extra_spacing.INFO[LEVELSET]", "2" },
{ "menu.extra_spacing.INFO[LEVEL]", "2" },
+ { "menu.extra_spacing.INFO[STORY]", "2" },
{ "menu.extra_spacing.SETUP[INPUT]", "2" },
{ "menu.text.title.x", "-1" },
#define INFO_MODE_VERSION 6
#define INFO_MODE_LEVELSET 7
#define INFO_MODE_LEVEL 8
+#define INFO_MODE_STORY 9
-#define MAX_INFO_MODES 9
+#define MAX_INFO_MODES 10
// screens on the setup screen
// (must match GFX_SPECIAL_ARG_SETUP_* values as defined in src/main.h)
// (there are no draw offset definitions needed for INFO_MODE_TITLE)
#define DRAW_MODE_INFO(i) ((i) >= INFO_MODE_TITLE && \
- (i) <= INFO_MODE_LEVEL ? (i) : \
+ (i) <= INFO_MODE_STORY ? (i) : \
INFO_MODE_MAIN)
#define DRAW_MODE_SETUP(i) ((i) >= SETUP_MODE_MAIN && \
}
else
{
- char *text_format = (use_global_screens ? "for %s" : "for \"%s\"");
+ char *text_format = (info_mode == INFO_MODE_STORY ? "%s" :
+ use_global_screens ? "for %s" : "for \"%s\"");
int text_format_len = strlen(text_format) - strlen("%s");
int max_text_len = SXSIZE / getFontWidth(FONT_TITLE_2);
int max_name_len = max_text_len - text_format_len;
char name_cut[max_name_len];
- char *name_full = (use_global_screens ? getProgramTitleString() :
+ char *name_full = (info_mode == INFO_MODE_STORY ? level.name :
+ use_global_screens ? getProgramTitleString() :
leveldir_current->name);
snprintf(name_cut, max_name_len, "%s", name_full);
info_mode == INFO_MODE_VERSION ? IMG_BACKGROUND_INFO_VERSION :
info_mode == INFO_MODE_LEVELSET ? IMG_BACKGROUND_INFO_LEVELSET :
info_mode == INFO_MODE_LEVEL ? IMG_BACKGROUND_INFO_LEVEL :
+ info_mode == INFO_MODE_STORY ? IMG_BACKGROUND_INFO_STORY :
IMG_BACKGROUND_INFO);
}
info_mode == INFO_MODE_VERSION ? SND_BACKGROUND_INFO_VERSION :
info_mode == INFO_MODE_LEVELSET ? SND_BACKGROUND_INFO_LEVELSET :
info_mode == INFO_MODE_LEVEL ? SND_BACKGROUND_INFO_LEVEL :
+ info_mode == INFO_MODE_STORY ? SND_BACKGROUND_INFO_STORY :
SND_BACKGROUND_INFO);
}
info_mode == INFO_MODE_VERSION ? MUS_BACKGROUND_INFO_VERSION :
info_mode == INFO_MODE_LEVELSET ? MUS_BACKGROUND_INFO_LEVELSET :
info_mode == INFO_MODE_LEVEL ? MUS_BACKGROUND_INFO_LEVEL :
+ info_mode == INFO_MODE_STORY ? MUS_BACKGROUND_INFO_STORY :
MUS_BACKGROUND_INFO);
}
info_mode == INFO_MODE_PROGRAM ? getProgramInfoFilename(nr) :
info_mode == INFO_MODE_LEVELSET ? getLevelSetInfoFilename(nr) :
info_mode == INFO_MODE_LEVEL ? getLevelInfoFilename(level_nr) :
+ info_mode == INFO_MODE_STORY ? getLevelInfoFilename(level_nr) :
NULL);
}
{
return (info_mode == INFO_MODE_LEVELSET ? getLevelSetInfoBuffer() :
info_mode == INFO_MODE_LEVEL ? getLevelInfoBuffer() :
+ info_mode == INFO_MODE_STORY ? getLevelInfoBuffer() :
NULL);
}
tmi->parse_comments = TRUE;
}
else if (info_mode == INFO_MODE_LEVELSET ||
- info_mode == INFO_MODE_LEVEL)
+ info_mode == INFO_MODE_LEVEL ||
+ info_mode == INFO_MODE_STORY)
{
tmi->autowrap = readme.autowrap;
tmi->centered = readme.centered;
tmi->parse_comments = readme.parse_comments;
- tmi->font = (info_mode == INFO_MODE_LEVELSET ? FONT_INFO_LEVELSET : FONT_INFO_LEVEL);
+ tmi->font = (info_mode == INFO_MODE_LEVELSET ? FONT_INFO_LEVELSET :
+ info_mode == INFO_MODE_LEVEL ? FONT_INFO_LEVEL : FONT_INFO_STORY);
}
SetWrappedText_GenericScreen(tmi, screen_nr, use_global_screens);
text_no_info = "No level set info available.";
}
- else if (info_mode == INFO_MODE_LEVEL)
+ else if (info_mode == INFO_MODE_LEVEL ||
+ info_mode == INFO_MODE_STORY)
{
use_global_screens = FALSE;
DrawInfoScreen_Generic();
else if (info_mode == INFO_MODE_LEVEL)
DrawInfoScreen_Generic();
+ else if (info_mode == INFO_MODE_STORY)
+ DrawInfoScreen_Generic();
else
DrawInfoScreen_Main();
}
levelset.level_story_shown[level_nr] = TRUE;
- DrawInfoScreen_FromInitGame(INFO_MODE_LEVEL);
+ DrawInfoScreen_FromInitGame(INFO_MODE_STORY);
return TRUE;
}
if (button == MB_MENU_CONTINUE && (info_mode != INFO_MODE_CREDITS &&
info_mode != INFO_MODE_PROGRAM &&
info_mode != INFO_MODE_LEVELSET &&
- info_mode != INFO_MODE_LEVEL))
+ info_mode != INFO_MODE_LEVEL &&
+ info_mode != INFO_MODE_STORY))
button = MB_MENU_CHOICE;
if (info_mode == INFO_MODE_TITLE)
HandleInfoScreen_Generic(mx, my, dx, dy, button);
else if (info_mode == INFO_MODE_LEVEL)
HandleInfoScreen_Generic(mx, my, dx, dy, button);
+ else if (info_mode == INFO_MODE_STORY)
+ HandleInfoScreen_Generic(mx, my, dx, dy, button);
else
HandleInfoScreen_Main(mx, my, dx, dy, button);
}