LoadLevel(level_nr);
LoadScore(level_nr);
+ SaveLevelSetup_SeriesInfo();
+
// set this after "ChangeViewportPropertiesIfNeeded()" (which may reset it)
SetDrawDeactivationMask(REDRAW_NONE);
SetDrawBackgroundMask(REDRAW_FIELD);
LoadTape(level_nr);
DrawCompleteVideoDisplay();
+ SaveLevelSetup_SeriesInfo();
+
/* needed because DrawPreviewLevelInitial() takes some time */
BackToFront();
/* SyncDisplay(); */
DrawTextF(xstart1, ystart2, font_header, "Version");
DrawTextF(xstart2, ystart2, font_text, getProgramVersionString());
+ if (!strEqual(getProgramVersionString(), getProgramRealVersionString()))
+ {
+ ystart2 += ystep;
+ DrawTextF(xstart1, ystart2, font_header, "Version (real)");
+ DrawTextF(xstart2, ystart2, font_text, getProgramRealVersionString());
+ }
+
ystart2 += ystep;
DrawTextF(xstart1, ystart2, font_header, "Platform");
DrawTextF(xstart2, ystart2, font_text, PLATFORM_STRING);
while (!got_key_event)
{
- if (PendingEvent()) /* got event */
- {
- Event event;
-
- NextEvent(&event);
+ Event event;
+ if (NextValidEvent(&event))
+ {
switch (event.type)
{
case EVENT_KEYPRESS:
static int getSetupValueFont(int type, void *value)
{
- if (type & TYPE_KEY)
+ if (type & TYPE_GHOSTED)
+ return FONT_OPTION_OFF;
+ else if (type & TYPE_KEY)
return (type & TYPE_QUERY ? FONT_INPUT_1_ACTIVE : FONT_VALUE_1);
else if (type & TYPE_STRING)
return FONT_VALUE_2;
ToggleFullscreenOrChangeWindowScalingIfNeeded();
}
+static struct TokenInfo *getSetupInfoFinal(struct TokenInfo *setup_info_orig)
+{
+ static struct TokenInfo *setup_info_hide = NULL;
+ int list_size = 0;
+ int list_pos = 0;
+ int i;
+
+ /* determine maximum list size of target list */
+ while (setup_info_orig[list_size++].type != 0);
+
+ /* free, allocate and clear memory for target list */
+ checked_free(setup_info_hide);
+ setup_info_hide = checked_calloc(list_size * sizeof(struct TokenInfo));
+
+ /* copy setup info list without setup entries marked as hidden */
+ for (i = 0; setup_info_orig[i].type != 0; i++)
+ if (!hideSetupEntry(setup_info_orig[i].value))
+ setup_info_hide[list_pos++] = setup_info_orig[i];
+
+ return setup_info_hide;
+}
+
static void DrawSetupScreen_Generic()
{
int fade_mask = REDRAW_FIELD;
title_string = "Setup Shortcuts";
}
+ /* use modified setup info without setup entries marked as hidden */
+ setup_info = getSetupInfoFinal(setup_info);
+
DrawTextSCentered(mSY - SY + 16, FONT_TITLE_1, title_string);
// determine maximal number of setup entries that can be displayed on screen
while (!finished)
{
- if (PendingEvent()) /* got event */
- {
- Event event;
-
- NextEvent(&event);
+ Event event;
+ if (NextValidEvent(&event))
+ {
switch (event.type)
{
case EVENT_KEYPRESS: