} volumes_list[] =
{
{ 0, "0 %" },
+ { 1, "1 %" },
+ { 2, "2 %" },
+ { 5, "5 %" },
{ 10, "10 %" },
{ 20, "20 %" },
{ 30, "30 %" },
SetMainBackgroundImage(IMG_BACKGROUND_MAIN);
if (fade_mask == REDRAW_ALL)
- RedrawBackground();
+ RedrawGlobalBorder();
ClearField();
if (fade_mask == REDRAW_ALL)
{
- RedrawBackground();
+ RedrawGlobalBorder();
OpenDoor(DOOR_CLOSE_1 | DOOR_CLOSE_2 | DOOR_NO_DELAY | DOOR_FORCE_REDRAW);
}
int scrollbar_xpos = mSX + SC_SCROLLBAR_XPOS + menu.scrollbar_xoffset;
/* correct scrollbar position if placed outside menu (playfield) area */
- if (scrollbar_xpos > mSX + SC_SCROLLBAR_XPOS)
- scrollbar_xpos = mSX + SC_SCROLLBAR_XPOS;
+ if (scrollbar_xpos > SX + SC_SCROLLBAR_XPOS)
+ scrollbar_xpos = SX + SC_SCROLLBAR_XPOS;
/* clear menu list area, but not title or scrollbar */
DrawBackground(mSX, mSY + MENU_SCREEN_START_YPOS * 32,
{
if (volumes_simple == NULL)
{
+ boolean current_volume_simple_found = FALSE;
int i;
for (i = 0; volumes_list[i].value != -1; i++)
setString(&ti->infotext, "Sound Volume");
pushTreeInfo(&volumes_simple, ti);
+
+ if (value == setup.volume_simple)
+ current_volume_simple_found = TRUE;
+ }
+
+ if (!current_volume_simple_found)
+ {
+ // add entry for non-preset volume value
+
+ TreeInfo *ti = newTreeInfo_setDefaults(TREE_TYPE_UNDEFINED);
+ char identifier[32], name[32];
+ int value = setup.volume_simple;
+
+ ti->node_top = &volumes_simple;
+ ti->sort_priority = value;
+
+ sprintf(identifier, "%d", value);
+ sprintf(name, "%d %% (Current)", value);
+
+ setString(&ti->identifier, identifier);
+ setString(&ti->name, name);
+ setString(&ti->name_sorting, name);
+ setString(&ti->infotext, "Sound Volume");
+
+ pushTreeInfo(&volumes_simple, ti);
}
/* sort volume values to start with lowest volume value */
if (volumes_loops == NULL)
{
+ boolean current_volume_loops_found = FALSE;
int i;
for (i = 0; volumes_list[i].value != -1; i++)
setString(&ti->infotext, "Loops Volume");
pushTreeInfo(&volumes_loops, ti);
+
+ if (value == setup.volume_loops)
+ current_volume_loops_found = TRUE;
+ }
+
+ if (!current_volume_loops_found)
+ {
+ // add entry for non-preset volume value
+
+ TreeInfo *ti = newTreeInfo_setDefaults(TREE_TYPE_UNDEFINED);
+ char identifier[32], name[32];
+ int value = setup.volume_loops;
+
+ ti->node_top = &volumes_loops;
+ ti->sort_priority = value;
+
+ sprintf(identifier, "%d", value);
+ sprintf(name, "%d %% (Current)", value);
+
+ setString(&ti->identifier, identifier);
+ setString(&ti->name, name);
+ setString(&ti->name_sorting, name);
+ setString(&ti->infotext, "Loops Volume");
+
+ pushTreeInfo(&volumes_loops, ti);
}
/* sort volume values to start with lowest volume value */
if (volumes_music == NULL)
{
+ boolean current_volume_music_found = FALSE;
int i;
for (i = 0; volumes_list[i].value != -1; i++)
setString(&ti->infotext, "Music Volume");
pushTreeInfo(&volumes_music, ti);
+
+ if (value == setup.volume_music)
+ current_volume_music_found = TRUE;
+ }
+
+ if (!current_volume_music_found)
+ {
+ // add entry for non-preset volume value
+
+ TreeInfo *ti = newTreeInfo_setDefaults(TREE_TYPE_UNDEFINED);
+ char identifier[32], name[32];
+ int value = setup.volume_music;
+
+ ti->node_top = &volumes_music;
+ ti->sort_priority = value;
+
+ sprintf(identifier, "%d", value);
+ sprintf(name, "%d %% (Current)", value);
+
+ setString(&ti->identifier, identifier);
+ setString(&ti->name, name);
+ setString(&ti->name_sorting, name);
+ setString(&ti->infotext, "Music Volume");
+
+ pushTreeInfo(&volumes_music, ti);
}
/* sort volume values to start with lowest volume value */