add resdiual theme

This commit is contained in:
Pawel Kolodziejski 2009-10-10 18:47:32 +00:00
parent cb763af306
commit 4ce158ebbf
14 changed files with 2356 additions and 0 deletions

BIN
gui/themes/modern.zip Normal file

Binary file not shown.

View File

@ -0,0 +1 @@
[RESIDUAL_STX0.8:Residual Modern Theme:No Author]

Binary file not shown.

After

Width:  |  Height:  |  Size: 774 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 774 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.0 KiB

Binary file not shown.

BIN
gui/themes/modern/logo.bmp Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 66 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 17 KiB

View File

@ -0,0 +1,626 @@
<?xml version = "1.0"?>
<!-- Residual - A 3D game interpreter
-
- Residual is the legal property of its developers, whose names
- are too numerous to list here. Please refer to the AUTHORS
- file distributed with this source distribution.
-
- This program is free software; you can redistribute it and/or
- modify it under the terms of the GNU General Public License
- as published by the Free Software Foundation; either version 2
- of the License, or (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software
- Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
-
- $URL$
- $Id$
-
-->
<render_info>
<palette>
<!-- Main background colors -->
<color name = 'darkorange'
rgb = '29, 112, 149'
/>
<color name = 'brightorange'
rgb = '72, 137, 167'
/>
<!-- Idle button/slider -->
<color name = 'darkred'
rgb = '35, 169, 9'
/>
<color name = 'brightred'
rgb = '124, 203, 109'
/>
<!-- Disabled button/slider -->
<color name = 'darkeneddarkred'
rgb = '62, 86, 60'
/>
<color name = 'darkenedbrightred'
rgb = '63, 103, 56'
/>
<!-- Highlighted button/slider -->
<color name = 'brightpink'
rgb = '139, 230, 123'
/>
<color name = 'darkpink'
rgb = '40, 194, 11'
/>
<!-- Dialog background -->
<color name = 'xtrabrightred'
rgb = '213, 236, 221'
/>
<color name = 'blandyellow'
rgb = '141, 173, 153'
/>
<!-- Others -->
<color name = 'bgreen'
rgb = '0, 189, 9'
/>
<color name = 'black'
rgb = '0, 0, 0'
/>
<color name = 'white'
rgb = '255, 255, 255'
/>
<color name = 'shadowcolor'
rgb = '63, 60, 17'
/>
<color name = 'darkgray'
rgb = '165, 174, 169'
/>
<color name = 'lightgray'
rgb = '178, 197, 183'
/>
<color name = 'lightgray2'
rgb = '160, 179, 165'
/>
<color name = 'paleyellow'
rgb = '203, 233, 210'
/>
</palette>
<bitmaps>
<bitmap filename = 'logo.bmp'/>
<bitmap filename = 'cursor.bmp'/>
<bitmap filename = 'cursor_small.bmp'/>
<bitmap filename = 'checkbox.bmp'/>
<bitmap filename = 'checkbox_empty.bmp'/>
<bitmap filename = 'logo_small.bmp'/>
<bitmap filename = 'search.bmp'/>
</bitmaps>
<fonts>
<font id = 'text_default'
file = 'default'
/>
<font id = 'text_button'
file = 'default'
/>
<font id = 'text_normal'
file = 'helvr12-l1.bdf'
/>
<text_color id = 'color_normal'
color = 'black'
/>
<text_color id = 'color_normal_inverted'
color = 'black'
/>
<text_color id = 'color_normal_hover'
color = 'bgreen'
/>
<text_color id = 'color_normal_disabled'
color = '128, 128, 128'
/>
<text_color id = 'color_alternative'
color = '128, 128, 128'
/>
<text_color id = 'color_alternative_inverted'
color = 'white'
/>
<text_color id = 'color_alternative_hover'
color = 'darkgray'
/>
<text_color id = 'color_alternative_disabled'
color = '192, 192, 192'
/>
<text_color id = 'color_button'
color = 'white'
/>
<text_color id = 'color_button_hover'
color = '233, 221, 15'
/>
<text_color id = 'color_button_disabled'
color = '192, 192, 192'
/>
</fonts>
<!-- <defaults fill = 'gradient' fg_color = 'white'/> -->
<cursor file = 'cursor.bmp' hotspot = '0, 0' scale = '3'/>
<cursor resolution = '320xY, 256x240' file = 'cursor_small.bmp' hotspot = '0, 0' scale = '3'/>
<!-- Selection (text or list items) -->
<drawdata id = 'text_selection' cache = 'false'>
<drawstep func = 'square'
fill = 'foreground'
fg_color = 'darkgray'
/>
</drawdata>
<drawdata id = 'text_selection_focus' cache = 'false'>
<drawstep func = 'square'
fill = 'foreground'
fg_color = 'bgreen'
/>
</drawdata>
<!-- Main background -->
<drawdata id = 'mainmenu_bg' cache = 'false'>
<drawstep func = 'fill'
fill = 'gradient'
gradient_start = 'darkorange'
gradient_end = 'brightorange'
/>
</drawdata>
<!-- Load screen -->
<drawdata id = 'special_bg' cache = 'false'>
<drawstep func = 'roundedsq'
radius = '5'
fill = 'gradient'
stroke = '0'
gradient_start = 'darkorange'
gradient_end = 'brightorange'
shadow = '3'
gradient_factor = '3'
/>
</drawdata>
<!-- Separator in popup lists -->
<drawdata id = 'separator' cache = 'false'>
<drawstep func = 'square'
fill = 'foreground'
height = '1'
ypos = 'center'
fg_color = 'black'
/>
</drawdata>
<!-- Background of the scrollbar -->
<drawdata id = 'scrollbar_base' cache = 'false'>
<drawstep func = 'roundedsq'
stroke = '1'
radius = '10'
fill = 'background'
fg_color = 'darkgray'
bg_color = 'paleyellow'
/>
</drawdata>
<!-- Handle of the scrollbar -->
<drawdata id = 'scrollbar_handle_hover' cache = 'false'>
<drawstep func = 'roundedsq'
stroke = '1'
radius = '10'
fill = 'gradient'
fg_color = 'blandyellow'
gradient_start = 'brightpink'
gradient_end = 'darkpink'
/>
</drawdata>
<drawdata id = 'scrollbar_handle_idle' cache = 'false'>
<drawstep func = 'roundedsq'
stroke = '1'
radius = '10'
fill = 'gradient'
fg_color = 'blandyellow'
gradient_start = 'brightred'
gradient_end = 'darkred'
/>
</drawdata>
<!-- Buttons at the top and bottom of the scrollbar -->
<drawdata id = 'scrollbar_button_idle' cache = 'false'>
<drawstep func = 'roundedsq'
radius = '10'
fill = 'none'
fg_color = 'darkgray'
stroke = '1'
/>
<drawstep func = 'triangle'
fg_color = 'shadowcolor'
fill = 'foreground'
width = 'auto'
height = 'auto'
xpos = 'center'
ypos = 'center'
orientation = 'top'
/>
</drawdata>
<drawdata id = 'scrollbar_button_hover' cache = 'false'>
<drawstep func = 'roundedsq'
radius = '10'
fill = 'gradient'
gradient_start = 'brightpink'
gradient_end = 'darkpink'
stroke = '1'
fg_color = 'darkred'
bevel = '1'
bevel_color = 'brightred'
/>
<drawstep func = 'triangle'
fg_color = 'shadowcolor'
fill = 'foreground'
width = 'auto'
height = 'auto'
xpos = 'center'
ypos = 'center'
orientation = 'top'
/>
</drawdata>
<!-- Active tab in the tabs list -->
<drawdata id = 'tab_active' cache = 'false'>
<text font = 'text_default'
text_color = 'color_normal'
vertical_align = 'center'
horizontal_align = 'center'
/>
<!-- Custom color to match the tab content's gradient: -->
<drawstep func = 'tab'
radius = '4'
stroke = '0'
fill = 'background'
bg_color = '164, 199, 186'
shadow = '3'
/>
</drawdata>
<!-- Inactive tab in the tabs list -->
<drawdata id = 'tab_inactive' cache = 'false'>
<text font = 'text_default'
text_color = 'color_normal'
vertical_align = 'center'
horizontal_align = 'center'
/>
<drawstep func = 'tab'
radius = '4'
stroke = '0'
fill = 'background'
bg_color = '145, 173, 153'
shadow = '3'
/>
</drawdata>
<!-- Background of the tabs list -->
<drawdata id = 'tab_background' cache = 'false'>
<drawstep func = 'tab'
radius = '6'
stroke = '0'
fill = 'foreground'
fg_color = '159, 190, 172'
shadow = '3'
/>
</drawdata>
<!-- Background of the slider widget -->
<drawdata id = 'widget_slider' cache = 'false'>
<drawstep func = 'roundedsq'
stroke = '0'
radius = '5'
fill = 'foreground'
fg_color = 'paleyellow'
bevel = '1'
bevel_color = 'shadowcolor'
/>
</drawdata>
<!-- Full part of the slider widget -->
<drawdata id = 'slider_full' cache = 'false'>
<drawstep func = 'roundedsq'
stroke = '1'
radius = '5'
fill = 'gradient'
fg_color = '127, 112, 56'
gradient_start = 'brightred'
gradient_end = 'darkred'
/>
</drawdata>
<!-- Hovered full part of the slider widget -->
<drawdata id = 'slider_hover' cache = 'false'>
<drawstep func = 'roundedsq'
stroke = '1'
radius = '5'
fill = 'gradient'
fg_color = '123, 112, 56'
gradient_start = 'brightpink'
gradient_end = 'darkpink'
/>
</drawdata>
<!-- Disabled slider widget -->
<drawdata id = 'slider_disabled' cache = 'false'>
<drawstep func = 'roundedsq'
stroke = '1'
radius = '5'
fill = 'gradient'
fg_color = '158, 168, 151'
gradient_start = 'darkenedbrightred'
gradient_end = 'darkeneddarkred'
/>
</drawdata>
<!-- Idle popup -->
<drawdata id = 'popup_idle' cache = 'false'>
<drawstep func = 'roundedsq'
radius = '5'
stroke = '1'
fg_color = 'lightgray2'
fill = 'background'
bg_color = 'xtrabrightred'
shadow = '2'
/>
<drawstep func = 'triangle'
bg_color = 'shadowcolor'
fill = 'background'
width = 'height'
height = 'auto'
xpos = 'right'
ypos = 'center'
orientation = 'bottom'
/>
<text font = 'text_default'
text_color = 'color_normal'
vertical_align = 'center'
horizontal_align = 'left'
/>
</drawdata>
<!-- Disabled popup -->
<drawdata id = 'popup_disabled' cache = 'false'>
<drawstep func = 'roundedsq'
radius = '5'
fill = 'foreground'
fg_color = 'darkgray'
shadow = '2'
/>
<drawstep func = 'triangle'
fg_color = 'shadowcolor'
fill = 'foreground'
width = 'height'
height = 'auto'
xpos = 'right'
ypos = 'center'
orientation = 'bottom'
/>
<text font = 'text_default'
text_color = 'color_normal_disabled'
vertical_align = 'center'
horizontal_align = 'left'
/>
</drawdata>
<!-- Hovered popup -->
<drawdata id = 'popup_hover' cache = 'false'>
<drawstep func = 'roundedsq'
stroke = '1'
fg_color = 'lightgray'
radius = '5'
fill = 'gradient'
gradient_start = 'blandyellow'
gradient_end = 'xtrabrightred'
shadow = '0'
/>
<drawstep func = 'triangle'
fg_color = 'shadowcolor'
fill = 'foreground'
width = 'height'
height = 'auto'
xpos = 'right'
ypos = 'center'
orientation = 'bottom'
/>
<text font = 'text_default'
text_color = 'color_normal_hover'
vertical_align = 'center'
horizontal_align = 'left'
/>
</drawdata>
<!-- Background of the textedit widget -->
<drawdata id = 'widget_textedit' cache = 'false'>
<drawstep func = 'roundedsq'
fill = 'foreground'
radius = '5'
fg_color = 'paleyellow'
shadow = '0'
bevel = '1'
bevel_color = 'shadowcolor'
/>
</drawdata>
<!-- Background of the chooser dialogs (file chooser, theme browser, ...) -->
<drawdata id = 'plain_bg' cache = 'false'>
<drawstep func = 'roundedsq'
radius = '6'
stroke = '0'
gradient_start = 'blandyellow'
gradient_end = 'xtrabrightred'
fill = 'gradient'
shadow = '3'
/>
</drawdata>
<!-- Cursor in the text edit widget -->
<drawdata id = 'caret' cache = 'false'>
<drawstep func = 'square'
fill = 'foreground'
fg_color = 'black'
/>
</drawdata>
<!-- Tab contents and game picker background -->
<drawdata id = 'default_bg' cache = 'false'>
<drawstep func = 'roundedsq'
radius = '6'
stroke = '0'
fill = 'gradient'
gradient_start = 'blandyellow'
gradient_end = 'xtrabrightred'
gradient_factor = '4'
shadow = '3'
/>
</drawdata>
<!-- Idle button -->
<drawdata id = 'button_idle' cache = 'false'>
<text font = 'text_button'
text_color = 'color_button'
vertical_align = 'center'
horizontal_align = 'center'
/>
<drawstep func = 'roundedsq'
radius = '5'
stroke = '1'
fill = 'gradient'
shadow = '0'
fg_color = 'shadowcolor'
gradient_start = 'brightred'
gradient_end = 'darkred'
bevel = '1'
bevel_color = '170, 222, 162'
/>
</drawdata>
<!-- Hovered button -->
<drawdata id = 'button_hover' cache = 'false'>
<text font = 'text_button'
text_color = 'color_button_hover'
vertical_align = 'center'
horizontal_align = 'center'
/>
<drawstep func = 'roundedsq'
radius = '5'
stroke = '1'
fill = 'gradient'
shadow = '0'
fg_color = 'shadowcolor'
gradient_start = 'brightpink'
gradient_end = 'darkpink'
bevel = '1'
bevel_color = 'xtrabrightred'
/>
</drawdata>
<!-- Disabled button -->
<drawdata id = 'button_disabled' cache = 'false'>
<text font = 'text_button'
text_color = 'color_button_disabled'
vertical_align = 'center'
horizontal_align = 'center'
/>
<drawstep func = 'roundedsq'
radius = '5'
stroke = '1'
fill = 'gradient'
shadow = '0'
fg_color = 'shadowcolor'
gradient_start = 'darkenedbrightred'
gradient_end = 'darkeneddarkred'
bevel = '1'
bevel_color = 'darkgray'
/>
</drawdata>
<!-- Disabled checkbox -->
<drawdata id = 'checkbox_disabled' cache = 'false'>
<text font = 'text_default'
text_color = 'color_normal_disabled'
vertical_align = 'top'
horizontal_align = 'left'
/>
<drawstep func = 'bitmap'
file = 'checkbox_empty.bmp'
/>
</drawdata>
<!-- Selected checkbox -->
<drawdata id = 'checkbox_selected' cache = 'false'>
<text font = 'text_default'
text_color = 'color_normal'
vertical_align = 'top'
horizontal_align = 'left'
/>
<drawstep func = 'bitmap'
file = 'checkbox.bmp'
/>
</drawdata>
<!-- Idle checkbox -->
<drawdata id = 'checkbox_default' cache = 'false'>
<text font = 'text_default'
text_color = 'color_normal'
vertical_align = 'top'
horizontal_align = 'left'
/>
<drawstep func = 'bitmap'
file = 'checkbox_empty.bmp'
/>
</drawdata>
<!-- Background of the list widget (the games list and the list in the choosers) -->
<!-- TODO: Have separate options for the games list (with gradient background) and the list in the choosers (without gradient) -->
<drawdata id = 'widget_default' cache = 'false'>
<drawstep func = 'roundedsq'
radius = '6'
stroke = '1'
fg_color = 'lightgray'
gradient_start = 'blandyellow'
gradient_end = 'xtrabrightred'
gradient_factor = '6'
fill = 'gradient'
bg_color = 'xtrabrightred'
shadow = '3'
/>
</drawdata>
<!-- Where is it used? -->
<drawdata id = 'widget_small' cache = 'false'>
<drawstep func = 'roundedsq'
radius = '6'
stroke = '0'
gradient_start = 'blandyellow'
gradient_end = 'xtrabrightred'
gradient_factor = '6'
fill = 'gradient'
shadow = '3'
/>
</drawdata>
</render_info>

View File

@ -0,0 +1,828 @@
<?xml version = "1.0"?>
<!-- Residual - A 3D game interpreter
-
- Residual is the legal property of its developers, whose names
- are too numerous to list here. Please refer to the AUTHORS
- file distributed with this source distribution.
-
- This program is free software; you can redistribute it and/or
- modify it under the terms of the GNU General Public License
- as published by the Free Software Foundation; either version 2
- of the License, or (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software
- Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
-
- $URL$
- $Id$
-
-->
<layout_info resolution = '-320xY, -256x240, -Xx272'>
<globals>
<def var = 'Line.Height' value = '16' />
<def var = 'Font.Height' value = '16' />
<def var = 'Padding.Bottom' value = '16' />
<def var = 'Padding.Left' value = '16' />
<def var = 'Padding.Right' value = '16' />
<def var = 'Padding.Top' value = '16' />
<def var = 'About.OuterBorder' value = '80'/>
<def var = 'ListWidget.hlLeftPadding' value = '0'/>
<def var = 'ListWidget.hlRightPadding' value = '0'/>
<def var = 'ShowLauncherLogo' value = '1'/>
<def var = 'ShowGlobalMenuLogo' value = '1'/>
<def var = 'ShowSearchPic' value = '1'/>
<def var = 'SaveLoadChooser.ExtInfo.Visible' value = '1'/>
<def var = 'KeyMapper.Spacing' value = '10'/>
<def var = 'KeyMapper.LabelWidth' value = '100'/>
<def var = 'KeyMapper.ButtonWidth' value = '80'/>
<widget name = 'OptionsLabel'
size = '110, Globals.Line.Height'
textalign = 'right'
/>
<widget name = 'SmallLabel'
size = '24, Globals.Line.Height'
/>
<widget name = 'Button'
size = '108, 24'
/>
<widget name = 'Slider'
size = '128, 18'
/>
<widget name = 'PopUp'
size = '-1, 19'
/>
<widget name = 'Checkbox'
size = '-1, Globals.Line.Height'
/>
<widget name = 'ListWidget'
padding = '5, 0, 8, 0'
/>
<widget name = 'PopUpWidget'
padding = '7, 5, 0, 0'
/>
<widget name = 'EditTextWidget'
padding = '5, 5, 0, 0'
/>
<widget name = 'Console'
padding = '7, 5, 5, 5'
/>
<widget name = 'Scrollbar'
size = '15, 0'
/>
<widget name = 'TabWidget.Tab'
size = '75, 27'
padding = '0, 0, 8, 0'
/>
<widget name = 'TabWidget.NavButton'
size = '15, 18'
padding = '0, 3, 4, 0'
/>
</globals>
<dialog name = 'Launcher' overlays = 'screen'>
<layout type = 'vertical' center = 'true' padding = '23, 23, 8, 23'>
<widget name = 'Logo'
width = '283'
height = '80'
/>
<layout type = 'horizontal' spacing = '5' padding = '10, 0, 0, 0'>
<widget name = 'SearchPic'
width = '16'
height = '17'
/>
<widget name = 'Search'
width = '150'
height = 'Globals.Line.Height'
/>
<widget name = 'SearchClearButton'
height = 'Globals.Line.Height'
width = 'Globals.Line.Height'
/>
<space />
<widget name = 'Version'
width = '247'
height = 'Globals.Line.Height'
textalign = 'center'
/>
<space />
<space />
</layout>
<layout type = 'horizontal' padding = '0, 0, 0, 0'>
<widget name = 'GameList'/>
<layout type = 'vertical' padding = '10, 0, 0, 0'>
<widget name = 'StartButton'
type = 'Button'
/>
<widget name = 'LoadGameButton'
type = 'Button'
/>
<space size = '10' />
<widget name = 'AddGameButton'
type = 'Button'
/>
<widget name = 'EditGameButton'
type = 'Button'
/>
<widget name = 'RemoveGameButton'
type = 'Button'
/>
<space size = '10' />
<widget name = 'OptionsButton'
type = 'Button'
/>
<widget name = 'AboutButton'
type = 'Button'
/>
<space size = '10' />
<widget name = 'QuitButton'
type = 'Button'
/>
</layout>
</layout>
</layout>
</dialog>
<dialog name = 'Browser' overlays = 'Dialog.Launcher.GameList' shading = 'dim'>
<layout type = 'vertical' padding = '8, 8, 8, 8'>
<widget name = 'Headline'
height = 'Globals.Line.Height'
/>
<widget name = 'Path'
height = 'Globals.Line.Height'
/>
<widget name = 'List'/>
<layout type = 'horizontal' padding = '0, 0, 16, 0'>
<widget name = 'Up'
type = 'Button'
/>
<space/>
<widget name = 'Cancel'
type = 'Button'
/>
<widget name = 'Choose'
type = 'Button'
/>
</layout>
</layout>
</dialog>
<dialog name = 'GlobalOptions' overlays = 'Dialog.Launcher.GameList' shading = 'dim'>
<layout type = 'vertical' padding = '0, 0, 0, 0'>
<widget name = 'TabWidget'/>
<layout type = 'horizontal' padding = '16, 16, 16, 16'>
<space/>
<widget name = 'Cancel'
type = 'Button'
/>
<widget name = 'Ok'
type = 'Button'
/>
</layout>
</layout>
</dialog>
<dialog name = 'GlobalOptions_Graphics' overlays = 'Dialog.GlobalOptions.TabWidget'>
<layout type = 'vertical' padding = '16, 16, 16, 16' spacing = '8'>
<layout type = 'horizontal' padding = '0, 0, 0, 0' spacing = '10' center = 'true'>
<widget name = 'grModePopupDesc'
type = 'OptionsLabel'
/>
<widget name = 'grModePopup'
type = 'PopUp'
/>
</layout>
<layout type = 'horizontal' padding = '0, 0, 0, 0' spacing = '10' center = 'true'>
<widget name = 'grRenderPopupDesc'
type = 'OptionsLabel'
/>
<widget name = 'grRenderPopup'
type = 'PopUp'
/>
</layout>
<widget name = 'grAspectCheckbox'
type = 'Checkbox'
/>
<widget name = 'grFullscreenCheckbox'
type = 'Checkbox'
/>
</layout>
</dialog>
<dialog name = 'GlobalOptions_Audio' overlays = 'Dialog.GlobalOptions.TabWidget'>
<layout type = 'vertical' padding = '16, 16, 16, 16' spacing = '8'>
<layout type = 'horizontal' padding = '0, 0, 0, 0' spacing = '10' center = 'true'>
<widget name = 'auMidiPopupDesc'
type = 'OptionsLabel'
/>
<widget name = 'auMidiPopup'
type = 'PopUp'
/>
</layout>
<layout type = 'horizontal' padding = '0, 0, 0, 0' spacing = '10' center = 'true'>
<widget name = 'auOPLPopupDesc'
type = 'OptionsLabel'
/>
<widget name = 'auOPLPopup'
type = 'PopUp'
/>
</layout>
<layout type = 'horizontal' padding = '0, 0, 0, 0' spacing = '10' center = 'true'>
<widget name = 'auSampleRatePopupDesc'
type = 'OptionsLabel'
/>
<widget name = 'auSampleRatePopup'
type = 'PopUp'
/>
</layout>
<layout type = 'horizontal' padding = '0, 0, 0, 0' spacing = '10'>
<widget name = 'subToggleDesc'
type = 'OptionsLabel'
/>
<widget name = 'subToggleButton'
width = '150'
height = 'Globals.Slider.Height'
/>
</layout>
<layout type = 'horizontal' padding = '0, 0, 0, 0' spacing = '10'>
<widget name = 'subSubtitleSpeedDesc'
type = 'OptionsLabel'
/>
<widget name = 'subSubtitleSpeedSlider'
type = 'Slider'
/>
<widget name = 'subSubtitleSpeedLabel'
type = 'SmallLabel'
/>
</layout>
</layout>
</dialog>
<dialog name = 'GlobalOptions_Volume' overlays = 'Dialog.GlobalOptions.TabWidget'>
<layout type = 'horizontal' padding = '16, 16, 16, 16' spacing = '8'>
<layout type = 'vertical' padding = '0, 0, 0, 0' spacing = '8'>
<layout type = 'horizontal' padding = '0, 0, 0, 0' spacing = '10' center = 'true'>
<widget name = 'vcMusicText'
type = 'OptionsLabel'
/>
<widget name = 'vcMusicSlider'
type = 'Slider'
/>
<widget name = 'vcMusicLabel'
type = 'SmallLabel'
/>
</layout>
<layout type = 'horizontal' padding = '0, 0, 0, 0' spacing = '10' center = 'true'>
<widget name = 'vcSfxText'
type = 'OptionsLabel'
/>
<widget name = 'vcSfxSlider'
type = 'Slider'
/>
<widget name = 'vcSfxLabel'
type = 'SmallLabel'
/>
</layout>
<layout type = 'horizontal' padding = '0, 0, 0, 0' spacing = '10' center = 'true'>
<widget name = 'vcSpeechText'
type = 'OptionsLabel'
/>
<widget name = 'vcSpeechSlider'
type = 'Slider'
/>
<widget name = 'vcSpeechLabel'
type = 'SmallLabel'
/>
</layout>
</layout>
<layout type = 'vertical' padding = '24, 0, 24, 0' center = 'true'>
<widget name = 'vcMuteCheckbox'
type = 'Checkbox'
/>
</layout>
</layout>
</dialog>
<dialog name = 'GlobalOptions_MIDI' overlays = 'Dialog.GlobalOptions.TabWidget'>
<layout type = 'vertical' padding = '16, 16, 16, 16' spacing = '8'>
<layout type = 'horizontal' padding = '0, 0, 0, 0' spacing = '10' center = 'true'>
<widget name = 'mcFontButton'
type = 'Button'
/>
<widget name = 'mcFontPath'
height = 'Globals.Line.Height'
/>
<widget name = 'mcFontClearButton'
height = 'Globals.Line.Height'
width = 'Globals.Line.Height'
/>
</layout>
<widget name = 'mcMixedCheckbox'
type = 'Checkbox'
/>
<widget name = 'mcMt32Checkbox'
type = 'Checkbox'
/>
<widget name = 'mcGSCheckbox'
type = 'Checkbox'
/>
<layout type = 'horizontal' padding = '0, 0, 0, 0' spacing = '10' center = 'true'>
<widget name = 'mcMidiGainText'
type = 'OptionsLabel'
/>
<widget name = 'mcMidiGainSlider'
type = 'Slider'
/>
<widget name = 'mcMidiGainLabel'
width = '32'
height = 'Globals.Line.Height'
/>
</layout>
</layout>
</dialog>
<dialog name = 'GlobalOptions_Paths' overlays = 'Dialog.GlobalOptions.TabWidget'>
<layout type = 'vertical' padding = '16, 16, 16, 16' spacing = '8'>
<layout type = 'horizontal' padding = '0, 0, 0, 0' spacing = '10' center = 'true'>
<widget name = 'SaveButton'
type = 'Button'
/>
<widget name = 'SavePath'
height = 'Globals.Line.Height'
/>
</layout>
<layout type = 'horizontal' padding = '0, 0, 0, 0' spacing = '10' center = 'true'>
<widget name = 'ThemeButton'
type = 'Button'
/>
<widget name = 'ThemePath'
height = 'Globals.Line.Height'
/>
</layout>
<layout type = 'horizontal' padding = '0, 0, 0, 0' spacing = '10' center = 'true'>
<widget name = 'ExtraButton'
type = 'Button'
/>
<widget name = 'ExtraPath'
height = 'Globals.Line.Height'
/>
</layout>
<layout type = 'horizontal' padding = '0, 0, 0, 0' spacing = '10' center = 'true'>
<widget name = 'PluginsButton'
type = 'Button'
/>
<widget name = 'PluginsPath'
height = 'Globals.Line.Height'
/>
</layout>
</layout>
</dialog>
<dialog name = 'GlobalOptions_Misc' overlays = 'Dialog.GlobalOptions.TabWidget'>
<layout type = 'vertical' padding = '16, 16, 16, 16' spacing = '8'>
<layout type = 'horizontal' padding = '0, 0, 0, 0' spacing = '10' center = 'true'>
<widget name = 'ThemeButton'
type = 'Button'
/>
<widget name = 'CurTheme'
height = 'Globals.Line.Height'
/>
</layout>
<layout type = 'horizontal' padding = '0, 0, 0, 0' spacing = '10' center = 'true'>
<widget name = 'RendererPopupDesc'
type = 'OptionsLabel'
/>
<widget name = 'RendererPopup'
type = 'PopUp'
/>
</layout>
<layout type = 'horizontal' padding = '0, 0, 0, 0' spacing = '10' center = 'true'>
<widget name = 'AutosavePeriodPopupDesc'
type = 'OptionsLabel'
/>
<widget name = 'AutosavePeriodPopup'
type = 'PopUp'
/>
</layout>
<widget name='KeysButton'
type='Button'
/>
</layout>
</dialog>
<dialog name='KeysDialog' overlays='Dialog.GlobalOptions' shading='dim'>
<layout type='vertical' padding='8,8,8,8' center='true'>
<widget name='Action'
height='Globals.Line.Height'
/>
<widget name='List'/>
<widget name='Mapping'
height='Globals.Line.Height'
/>
<space size='Globals.Line.Height'/>
<layout type='horizontal'>
<widget name='Map'
type='Button'
/>
<space/>
<widget name='Cancel'
type='Button'
/>
<widget name='Ok'
type='Button'
/>
</layout>
</layout>
</dialog>
<dialog name = 'GameOptions' overlays = 'Dialog.Launcher.GameList' shading = 'dim'>
<layout type = 'vertical' padding = '0, 0, 0, 0' spacing = '16'>
<widget name = 'TabWidget'/>
<layout type = 'horizontal' padding = '16, 16, 16, 4'>
<space/>
<widget name = 'Cancel'
type = 'Button'
/>
<widget name = 'Ok'
type = 'Button'
/>
</layout>
</layout>
</dialog>
<dialog name = 'GameOptions_Graphics' overlays = 'Dialog.GlobalOptions.TabWidget'>
<layout type = 'vertical' padding = '16, 16, 16, 16' spacing = '8'>
<widget name = 'EnableTabCheckbox'
type = 'Checkbox'
/>
<import layout = 'Dialog.GlobalOptions_Graphics' />
</layout>
</dialog>
<dialog name = 'GameOptions_Audio' overlays = 'Dialog.GlobalOptions.TabWidget'>
<layout type = 'vertical' padding = '16, 16, 16, 16' spacing = '8'>
<widget name = 'EnableTabCheckbox'
type = 'Checkbox'
/>
<import layout = 'Dialog.GlobalOptions_Audio' />
</layout>
</dialog>
<dialog name = 'GameOptions_MIDI' overlays = 'Dialog.GlobalOptions.TabWidget'>
<layout type = 'vertical' padding = '16, 16, 16, 16' spacing = '8'>
<widget name = 'EnableTabCheckbox'
type = 'Checkbox'
/>
<import layout = 'Dialog.GlobalOptions_MIDI' />
</layout>
</dialog>
<dialog name = 'GameOptions_Volume' overlays = 'Dialog.GlobalOptions.TabWidget'>
<layout type = 'vertical' padding = '16, 16, 16, 16' spacing = '8'>
<widget name = 'EnableTabCheckbox'
type = 'Checkbox'
/>
<import layout = 'Dialog.GlobalOptions_Volume' />
</layout>
</dialog>
<dialog name = 'GameOptions_Game' overlays = 'Dialog.GameOptions.TabWidget' shading = 'dim'>
<layout type = 'vertical' padding = '16, 16, 16, 16'>
<layout type = 'horizontal' padding = '0, 0, 0, 0' spacing = '10' center = 'true'>
<widget name = 'Id'
type = 'OptionsLabel'
/>
<widget name = 'Domain'
type = 'PopUp'
/>
</layout>
<layout type = 'horizontal' padding = '0, 0, 0, 0' spacing = '10' center = 'true'>
<widget name = 'Name'
type = 'OptionsLabel'
/>
<widget name = 'Desc'
type = 'PopUp'
/>
</layout>
<layout type = 'horizontal' padding = '0, 0, 0, 0' spacing = '10' center = 'true'>
<widget name = 'LangPopupDesc'
type = 'OptionsLabel'
/>
<widget name = 'LangPopup'
type = 'PopUp'
/>
</layout>
<layout type = 'horizontal' padding = '0, 0, 0, 0' spacing = '10' center = 'true'>
<widget name = 'PlatformPopupDesc'
type = 'OptionsLabel'
/>
<widget name = 'PlatformPopup'
type = 'PopUp'
/>
</layout>
</layout>
</dialog>
<dialog name = 'GameOptions_Paths' overlays = 'Dialog.GameOptions.TabWidget' shading = 'dim'>
<layout type = 'vertical' padding = '16, 16, 16, 16'>
<layout type = 'horizontal' padding = '0, 0, 0, 0' spacing = '16' center = 'true'>
<widget name = 'Savepath'
type = 'Button'
/>
<widget name = 'SavepathText'
height = 'Globals.Line.Height'
/>
</layout>
<layout type = 'horizontal' padding = '0, 0, 0, 0' spacing = '16' center = 'true'>
<widget name = 'Extrapath'
type = 'Button'
/>
<widget name = 'ExtrapathText'
height = 'Globals.Line.Height'
/>
</layout>
<layout type = 'horizontal' padding = '0, 0, 0, 0' spacing = '16' center = 'true'>
<widget name = 'Gamepath'
type = 'Button'
/>
<widget name = 'GamepathText'
height = 'Globals.Line.Height'
/>
</layout>
</layout>
</dialog>
<dialog name = 'GlobalMenu' overlays = 'screen_center'>
<layout type = 'vertical' padding = '16, 16, 16, 16' center = 'true'>
<widget name = 'Logo'
width = '210'
height = '40'
/>
<widget name = 'Version'
width = '210'
height = 'Globals.Line.Height'
/>
<widget name = 'Resume'
width = '150'
height = 'Globals.Button.Height'
/>
<space size = '10'/>
<widget name = 'Load'
width = '150'
height = 'Globals.Button.Height'
/>
<widget name = 'Save'
width = '150'
height = 'Globals.Button.Height'
/>
<space size = '10'/>
<widget name = 'Options'
width = '150'
height = 'Globals.Button.Height'
/>
<widget name = 'About'
width = '150'
height = 'Globals.Button.Height'
/>
<space size = '10'/>
<widget name = 'RTL'
width = '150'
height = 'Globals.Button.Height'
/>
<widget name = 'Quit'
width = '150'
height = 'Globals.Button.Height'
/>
</layout>
</dialog>
<dialog name = 'ScummMain' overlays = 'screen_center'>
<layout type = 'vertical' padding = '8, 8, 8, 8'>
<widget name = 'Resume'
type = 'Button'
/>
<space size = '15'/>
<widget name = 'Load'
type = 'Button'
/>
<widget name = 'Save'
type = 'Button'
/>
<space size = '15'/>
<widget name = 'Options'
type = 'Button'
/>
<widget name = 'Help'
type = 'Button'
/>
<widget name = 'About'
type = 'Button'
/>
<space size = '15'/>
<widget name = 'Quit'
type = 'Button'
/>
</layout>
</dialog>
<dialog name = 'ScummConfig' overlays = 'screen_center'>
<layout type = 'vertical' padding = '8, 8, 8, 8' spacing = '8'>
<layout type = 'horizontal' padding = '0, 0, 0, 0'>
<layout type = 'vertical' padding = '0, 0, 0, 0' spacing = '8' center = 'true'>
<layout type = 'horizontal' padding = '0, 0, 0, 0' spacing = '10' center = 'true'>
<widget name = 'vcMusicText'
type = 'OptionsLabel'
/>
<widget name = 'vcMusicSlider'
type = 'Slider'
/>
<widget name = 'vcMusicLabel'
type = 'SmallLabel'
/>
</layout>
<layout type = 'horizontal' padding = '0, 0, 0, 0' spacing = '10' center = 'true'>
<widget name = 'vcSfxText'
type = 'OptionsLabel'
/>
<widget name = 'vcSfxSlider'
type = 'Slider'
/>
<widget name = 'vcSfxLabel'
type = 'SmallLabel'
/>
</layout>
<layout type = 'horizontal' padding = '0, 0, 0, 0' spacing = '10' center = 'true'>
<widget name = 'vcSpeechText'
type = 'OptionsLabel'
/>
<widget name = 'vcSpeechSlider'
type = 'Slider'
/>
<widget name = 'vcSpeechLabel'
type = 'SmallLabel'
/>
</layout>
</layout>
<layout type = 'vertical' padding = '24, 24, 24, 24' center = 'true'>
<widget name = 'vcMuteCheckbox'
type = 'Checkbox'
width = '80' <!-- FIXME: Why this is needed? -->
/>
</layout>
</layout>
<space size = '8' />
<layout type = 'horizontal' padding = '0, 0, 0, 0' spacing = '10'>
<widget name = 'subToggleDesc'
type = 'OptionsLabel'
/>
<widget name = 'subToggleButton'
width = '158'
height = 'Globals.Slider.Height'
/>
</layout>
<layout type = 'horizontal' padding = '0, 0, 0, 0' spacing = '10'>
<widget name = 'subSubtitleSpeedDesc'
type = 'OptionsLabel'
/>
<widget name = 'subSubtitleSpeedSlider'
type = 'Slider'
/>
<widget name = 'subSubtitleSpeedLabel'
type = 'SmallLabel'
/>
</layout>
<space size = '60'/>
<layout type = 'horizontal' padding = '0, 0, 0, 0' spacing = '10'>
<widget name='Keys'
type='Button'
/>
<space size = 'Globals.Button.Width' />
<widget name = 'Cancel'
type = 'Button'
/>
<widget name = 'Ok'
type = 'Button'
/>
</layout>
</layout>
</dialog>
<dialog name = 'SaveLoadChooser' overlays = 'screen' inset = '8' shading = 'dim'>
<layout type = 'vertical' padding = '8, 8, 8, 32' center = 'true'>
<widget name = 'Title'
height = 'Globals.Line.Height'
/>
<layout type = 'horizontal' padding = '0, 0, 0, 16' spacing = '16'>
<widget name = 'List' />
<widget name = 'Thumbnail'
width = '180'
height = '200'
/>
</layout>
<layout type = 'horizontal' padding = '0, 0, 0, 0'>
<space/>
<widget name = 'Delete'
type = 'Button'
/>
<space size = '32'/>
<widget name = 'Cancel'
type = 'Button'
/>
<widget name = 'Choose'
type = 'Button'
/>
</layout>
</layout>
</dialog>
<dialog name = 'ScummHelp' overlays = 'screen_center'>
<layout type = 'vertical' padding = '8, 8, 8, 8' center = 'true'>
<widget name = 'Title'
width = '320'
height = 'Globals.Line.Height'
/>
<widget name = 'HelpText'
height = '220'
/>
<layout type = 'horizontal' padding = '0, 0, 16, 0'>
<widget name = 'Prev'
type = 'Button'
/>
<widget name = 'Next'
type = 'Button'
/>
<space size = '32'/>
<widget name = 'Close'
type = 'Button'
/>
</layout>
</layout>
</dialog>
<dialog name = 'MassAdd' overlays = 'screen_center' shading = 'dim'>
<layout type = 'vertical' padding = '8, 8, 32, 8' center = 'true'>
<widget name = 'DirProgressText'
width = '250'
height = 'Globals.Line.Height'
/>
<widget name = 'GameProgressText'
width = '250'
height = 'Globals.Line.Height'
/>
<widget name = 'GameProgressText'
width = '250'
height = 'Globals.Line.Height'
/>
<widget name = 'GameList'
width = '480'
height = '250'
/>
<layout type = 'horizontal' padding = '8, 8, 8, 8'>
<widget name = 'Ok'
type = 'Button'
/>
<widget name = 'Cancel'
type = 'Button'
/>
</layout>
</layout>
</dialog>
<dialog name = 'KeyMapper' overlays = 'screen_center' shading = 'dim'>
<layout type = 'vertical' padding = '8, 8, 32, 8' spacing = '10' center = 'true'>
<layout type = 'horizontal' padding = '0, 0, 0, 0' spacing = '10' center = 'true'>
<widget name = 'PopupDesc'
type = 'OptionsLabel'
/>
<widget name = 'Popup'
type = 'PopUp'
width = '400'
height = 'Globals.Line.Height'
/>
</layout>
<widget name = 'KeymapArea'
width = '600'
height = '280'
/>
<widget name = 'Close'
type = 'Button'
/>
</layout>
</dialog>
</layout_info>

View File

@ -0,0 +1,804 @@
<?xml version = "1.0"?>
<!-- Residual - A 3D game interpreter
-
- Residual is the legal property of its developers, whose names
- are too numerous to list here. Please refer to the AUTHORS
- file distributed with this source distribution.
-
- This program is free software; you can redistribute it and/or
- modify it under the terms of the GNU General Public License
- as published by the Free Software Foundation; either version 2
- of the License, or (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software
- Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
-
- $URL$
- $Id$
-
-->
<layout_info resolution = "320xY, 256x240, Xx272">
<globals>
<def var = 'Line.Height' value = '12' />
<def var = 'Font.Height' value = '10' />
<def var = 'About.OuterBorder' value = '10'/>
<def var = 'ShowLauncherLogo' value = '0'/>
<def var = 'ShowGlobalMenuLogo' value = '0'/>
<def var = 'ShowSearchPic' value = '0'/>
<def var = 'SaveLoadChooser.ExtInfo.Visible' value = '0'/>
<widget name = 'Button'
size = '72, 16'
/>
<widget name = 'Slider'
size = '85, 12'
/>
<def var = 'KeyMapper.Spacing' value = '5'/>
<def var = 'KeyMapper.LabelWidth' value = '80'/>
<def var = 'KeyMapper.ButtonWidth' value = '60'/>
<widget name = 'OptionsLabel'
size = '100, Globals.Line.Height'
textalign = 'right'
/>
<widget name = 'SmallLabel'
size = '18, Globals.Line.Height'
/>
<widget name = 'PopUp'
size = '-1, 15'
/>
<widget name = 'Checkbox'
size = '-1, Globals.Line.Height'
/>
<widget name = 'ListWidget'
padding = '5, 0, 8, 0'
/>
<widget name = 'PopUpWidget'
padding = '7, 5, 0, 0'
/>
<widget name = 'EditTextWidget'
padding = '5, 5, 0, 0'
/>
<widget name = 'Console'
padding = '7, 5, 5, 5'
/>
<widget name = 'Scrollbar'
size = '9, 0'
/>
<widget name = 'TabWidget.Tab'
size = '45, 16'
padding = '0, 0, 2, 0'
/>
<widget name = 'TabWidget.NavButton'
size = '32, 18'
padding = '0, 3, 4, 0'
/>
</globals>
<dialog name = 'Launcher' overlays = 'screen'>
<layout type = 'vertical' center = 'true' padding = '8, 8, 8, 4' spacing = '8'>
<widget name = 'Version'
height = 'Globals.Line.Height'
/>
<layout type = 'horizontal' spacing = '5' padding = '10, 0, 0, 0'>
<widget name = 'SearchDesc'
width = '50'
height = 'Globals.Line.Height'
textalign = 'right'
/>
<widget name = 'Search'
width = '150'
height = 'Globals.Line.Height'
/>
<widget name = 'SearchClearButton'
height = 'Globals.Line.Height'
width = 'Globals.Line.Height'
/>
<space />
</layout>
<widget name = 'GameList'/>
<layout type = 'horizontal' padding = '0, 0, 0, 0' spacing = '6'>
<widget name = 'LoadGameButton'
height = 'Globals.Button.Height'
/>
<widget name = 'AddGameButton'
height = 'Globals.Button.Height'
/>
<widget name = 'EditGameButton'
height = 'Globals.Button.Height'
/>
<widget name = 'RemoveGameButton'
height = 'Globals.Button.Height'
/>
</layout>
<layout type = 'horizontal' padding = '0, 0, 0, 0'>
<widget name = 'QuitButton'
height = 'Globals.Button.Height'
/>
<widget name = 'AboutButton'
height = 'Globals.Button.Height'
/>
<widget name = 'OptionsButton'
height = 'Globals.Button.Height'
/>
<widget name = 'StartButton'
height = 'Globals.Button.Height'
/>
</layout>
</layout>
</dialog>
<dialog name = 'Browser' overlays = 'screen' inset = '8' shading = 'dim'>
<layout type = 'vertical' padding = '8, 8, 0, 4'>
<widget name = 'Headline'
height = 'Globals.Line.Height'
/>
<widget name = 'Path'
height = 'Globals.Line.Height'
/>
<widget name = 'List'/>
<layout type = 'horizontal' padding = '0, 0, 8, 0'>
<widget name = 'Up'
type = 'Button'
/>
<space/>
<widget name = 'Cancel'
type = 'Button'
/>
<widget name = 'Choose'
type = 'Button'
/>
</layout>
</layout>
</dialog>
<dialog name = 'GlobalOptions' overlays = 'screen' inset = '16' shading = 'dim'>
<layout type = 'vertical' padding = '0, 0, 0, 0'>
<widget name = 'TabWidget'/>
<layout type = 'horizontal' padding = '8, 8, 8, 8'>
<space/>
<widget name = 'Cancel'
type = 'Button'
/>
<widget name = 'Ok'
type = 'Button'
/>
</layout>
</layout>
</dialog>
<dialog name = 'GlobalOptions_Graphics' overlays = 'Dialog.GlobalOptions.TabWidget'>
<layout type = 'vertical' padding = '16, 16, 16, 16' spacing = '8'>
<layout type = 'horizontal' padding = '0, 0, 0, 0' spacing = '6' center = 'true'>
<widget name = 'grModePopupDesc'
type = 'OptionsLabel'
/>
<widget name = 'grModePopup'
type = 'PopUp'
/>
</layout>
<layout type = 'horizontal' padding = '0, 0, 0, 0' spacing = '6' center = 'true'>
<widget name = 'grRenderPopupDesc'
type = 'OptionsLabel'
/>
<widget name = 'grRenderPopup'
type = 'PopUp'
/>
</layout>
<widget name = 'grAspectCheckbox'
type = 'Checkbox'
/>
<widget name = 'grFullscreenCheckbox'
type = 'Checkbox'
/>
</layout>
</dialog>
<dialog name = 'GlobalOptions_Audio' overlays = 'Dialog.GlobalOptions.TabWidget'>
<layout type = 'vertical' padding = '16, 16, 16, 16' spacing = '8'>
<layout type = 'horizontal' padding = '0, 0, 0, 0' spacing = '6' center = 'true'>
<widget name = 'auMidiPopupDesc'
type = 'OptionsLabel'
/>
<widget name = 'auMidiPopup'
type = 'PopUp'
/>
</layout>
<layout type = 'horizontal' padding = '0, 0, 0, 0' spacing = '6' center = 'true'>
<widget name = 'auOPLPopupDesc'
type = 'OptionsLabel'
/>
<widget name = 'auOPLPopup'
type = 'PopUp'
/>
</layout>
<layout type = 'horizontal' padding = '0, 0, 0, 0' spacing = '6' center = 'true'>
<widget name = 'auSampleRatePopupDesc'
type = 'OptionsLabel'
/>
<widget name = 'auSampleRatePopup'
type = 'PopUp'
/>
</layout>
<layout type = 'horizontal' padding = '0, 0, 0, 0' spacing = '6' center = 'true'>
<widget name = 'subToggleDesc'
type = 'OptionsLabel'
/>
<widget name = 'subToggleButton'
width = '128'
height = 'Globals.Slider.Height'
/>
</layout>
<layout type = 'horizontal' padding = '0, 0, 0, 0' spacing = '6' center = 'true'>
<widget name = 'subSubtitleSpeedDesc'
type = 'OptionsLabel'
/>
<widget name = 'subSubtitleSpeedSlider'
type = 'Slider'
/>
<widget name = 'subSubtitleSpeedLabel'
type = 'SmallLabel'
/>
</layout>
</layout>
</dialog>
<dialog name = 'GlobalOptions_Volume' overlays = 'Dialog.GlobalOptions.TabWidget'>
<layout type = 'vertical' padding = '16, 16, 16, 16' spacing = '8'>
<layout type = 'horizontal' padding = '0, 0, 0, 0'>
<widget name = 'vcMusicText'
type = 'OptionsLabel'
/>
<widget name = 'vcMusicSlider'
type = 'Slider'
/>
<widget name = 'vcMusicLabel'
type = 'SmallLabel'
/>
</layout>
<layout type = 'horizontal' padding = '0, 0, 0, 0'>
<widget name = 'vcSfxText'
type = 'OptionsLabel'
/>
<widget name = 'vcSfxSlider'
type = 'Slider'
/>
<widget name = 'vcSfxLabel'
type = 'SmallLabel'
/>
</layout>
<layout type = 'horizontal' padding = '0, 0, 0, 0'>
<widget name = 'vcSpeechText'
type = 'OptionsLabel'
/>
<widget name = 'vcSpeechSlider'
type = 'Slider'
/>
<widget name = 'vcSpeechLabel'
type = 'SmallLabel'
/>
</layout>
<layout type = 'horizontal' padding = '0, 0, 0, 0' spacing = '8' center = 'true'>
<space size = '105' />
<widget name = 'vcMuteCheckbox'
type = 'Checkbox'
/>
</layout>
</layout>
</dialog>
<dialog name = 'GlobalOptions_MIDI' overlays = 'Dialog.GlobalOptions.TabWidget'>
<layout type = 'vertical' padding = '16, 16, 16, 16' spacing = '8'>
<layout type = 'horizontal' padding = '0, 0, 0, 0' spacing = '16' center = 'true'>
<widget name = 'mcFontButton'
type = 'Button'
/>
<widget name = 'mcFontPath'
height = 'Globals.Line.Height'
/>
<widget name = 'mcFontClearButton'
height = 'Globals.Line.Height'
width = 'Globals.Line.Height'
/>
</layout>
<widget name = 'mcMixedCheckbox'
type = 'Checkbox'
/>
<widget name = 'mcMt32Checkbox'
type = 'Checkbox'
/>
<widget name = 'mcGSCheckbox'
type = 'Checkbox'
/>
<layout type = 'horizontal' padding = '0, 0, 0, 0' center = 'true'>
<widget name = 'mcMidiGainText'
type = 'OptionsLabel'
/>
<widget name = 'mcMidiGainSlider'
type = 'Slider'
/>
<widget name = 'mcMidiGainLabel'
width = '32'
height = 'Globals.Line.Height'
/>
</layout>
</layout>
</dialog>
<dialog name = 'GlobalOptions_Paths' overlays = 'Dialog.GlobalOptions.TabWidget'>
<layout type = 'vertical' padding = '16, 16, 16, 16' spacing = '8'>
<layout type = 'horizontal' padding = '0, 0, 0, 0' spacing = '16' center = 'true'>
<widget name = 'SaveButton'
type = 'Button'
/>
<widget name = 'SavePath'
height = 'Globals.Line.Height'
/>
</layout>
<layout type = 'horizontal' padding = '0, 0, 0, 0' spacing = '16' center = 'true'>
<widget name = 'ThemeButton'
type = 'Button'
/>
<widget name = 'ThemePath'
height = 'Globals.Line.Height'
/>
</layout>
<layout type = 'horizontal' padding = '0, 0, 0, 0' spacing = '16' center = 'true'>
<widget name = 'ExtraButton'
type = 'Button'
/>
<widget name = 'ExtraPath'
height = 'Globals.Line.Height'
/>
</layout>
<layout type = 'horizontal' padding = '0, 0, 0, 0' spacing = '16' center = 'true'>
<widget name = 'PluginsButton'
type = 'Button'
/>
<widget name = 'PluginsPath'
height = 'Globals.Line.Height'
/>
</layout>
</layout>
</dialog>
<dialog name = 'GlobalOptions_Misc' overlays = 'Dialog.GlobalOptions.TabWidget'>
<layout type = 'vertical' padding = '16, 16, 16, 16' spacing = '8'>
<layout type = 'horizontal' padding = '0, 0, 0, 0' spacing = '16' center = 'true'>
<widget name = 'ThemeButton'
type = 'Button'
/>
<widget name = 'CurTheme'
height = 'Globals.Line.Height'
/>
</layout>
<layout type = 'horizontal' padding = '0, 0, 0, 0' spacing = '6' center = 'true'>
<widget name = 'RendererPopupDesc'
width = '80'
height = 'Globals.Line.Height'
/>
<widget name = 'RendererPopup'
type = 'PopUp'
/>
</layout>
<layout type = 'horizontal' padding = '0, 0, 0, 0' spacing = '6' center = 'true'>
<widget name = 'AutosavePeriodPopupDesc'
width = '80'
height = 'Globals.Line.Height'
/>
<widget name = 'AutosavePeriodPopup'
type = 'PopUp'
/>
</layout>
<widget name='KeysButton'
type='Button'
/>
</layout>
</dialog>
<dialog name='KeysDialog' overlays='Dialog.GlobalOptions' shading='dim'>
<layout type='vertical' padding='8,8,8,8' center='true'>
<widget name='Action'
height='Globals.Line.Height'
/>
<widget name='List'/>
<widget name='Mapping'
height='Globals.Line.Height'
/>
<space size='Globals.Line.Height'/>
<layout type='horizontal'>
<widget name='Map'
type='Button'
/>
<space/>
<widget name='Cancel'
type='Button'
/>
<widget name='Ok'
type='Button'
/>
</layout>
</layout>
</dialog>
<dialog name = 'GameOptions' overlays = 'screen' inset = '16' shading = 'dim'>
<layout type = 'vertical' padding = '0, 0, 0, 0' spacing = '16'>
<widget name = 'TabWidget'/>
<layout type = 'horizontal' padding = '8, 8, 8, 8'>
<space/>
<widget name = 'Cancel'
type = 'Button'
/>
<widget name = 'Ok'
type = 'Button'
/>
</layout>
</layout>
</dialog>
<dialog name = 'GameOptions_Graphics' overlays = 'Dialog.GlobalOptions.TabWidget'>
<layout type = 'vertical' padding = '8, 8, 8, 8' spacing = '6'>
<widget name = 'EnableTabCheckbox'
type = 'Checkbox'
/>
<import layout = 'Dialog.GlobalOptions_Graphics' />
</layout>
</dialog>
<dialog name = 'GameOptions_Audio' overlays = 'Dialog.GlobalOptions.TabWidget'>
<layout type = 'vertical' padding = '8, 8, 8, 8' spacing = '6'>
<widget name = 'EnableTabCheckbox'
type = 'Checkbox'
/>
<import layout = 'Dialog.GlobalOptions_Audio' />
</layout>
</dialog>
<dialog name = 'GameOptions_MIDI' overlays = 'Dialog.GlobalOptions.TabWidget'>
<layout type = 'vertical' padding = '8, 8, 8, 8' spacing = '6'>
<widget name = 'EnableTabCheckbox'
type = 'Checkbox'
/>
<import layout = 'Dialog.GlobalOptions_MIDI' />
</layout>
</dialog>
<dialog name = 'GameOptions_Volume' overlays = 'Dialog.GlobalOptions.TabWidget'>
<layout type = 'vertical' padding = '8, 8, 8, 8' spacing = '6'>
<widget name = 'EnableTabCheckbox'
type = 'Checkbox'
/>
<import layout = 'Dialog.GlobalOptions_Volume' />
</layout>
</dialog>
<dialog name = 'GameOptions_Game' overlays = 'Dialog.GameOptions.TabWidget' shading = 'dim'>
<layout type = 'vertical' padding = '8, 8, 8, 8'>
<layout type = 'horizontal' padding = '0, 0, 0, 0' spacing = '6' center = 'true'>
<widget name = 'Id'
width = '35'
height = 'Globals.Line.Height'
textalign = 'right'
/>
<widget name = 'Domain'
type = 'PopUp'
/>
</layout>
<layout type = 'horizontal' padding = '0, 0, 0, 0' spacing = '6' center = 'true'>
<widget name = 'Name'
width = '35'
height = 'Globals.Line.Height'
textalign = 'right'
/>
<widget name = 'Desc'
type = 'PopUp'
/>
</layout>
<space size = '8'/>
<layout type = 'horizontal' padding = '0, 0, 0, 0' spacing = '6' center = 'true'>
<widget name = 'LangPopupDesc'
width = '60'
height = 'Globals.Line.Height'
textalign = 'right'
/>
<widget name = 'LangPopup'
type = 'PopUp'
/>
</layout>
<layout type = 'horizontal' padding = '0, 0, 0, 0' spacing = '6' center = 'true'>
<widget name = 'PlatformPopupDesc'
width = '60'
height = 'Globals.Line.Height'
textalign = 'right'
/>
<widget name = 'PlatformPopup'
type = 'PopUp'
/>
</layout>
</layout>
</dialog>
<dialog name = 'GameOptions_Paths' overlays = 'Dialog.GameOptions.TabWidget' shading = 'dim'>
<layout type = 'vertical' padding = '8, 8, 8, 8'>
<layout type = 'horizontal' padding = '0, 0, 0, 0' spacing = '16' center = 'true'>
<widget name = 'Savepath'
type = 'Button'
/>
<widget name = 'SavepathText'
height = 'Globals.Line.Height'
/>
</layout>
<layout type = 'horizontal' padding = '0, 0, 0, 0' spacing = '16' center = 'true'>
<widget name = 'Extrapath'
type = 'Button'
/>
<widget name = 'ExtrapathText'
height = 'Globals.Line.Height'
/>
</layout>
<layout type = 'horizontal' padding = '0, 0, 0, 0' spacing = '16' center = 'true'>
<widget name = 'Gamepath'
type = 'Button'
/>
<widget name = 'GamepathText'
height = 'Globals.Line.Height'
/>
</layout>
</layout>
</dialog>
<dialog name = 'GlobalMenu' overlays = 'screen_center'>
<layout type = 'vertical' padding = '4, 4, 4, 4' center = 'true'>
<widget name = 'Title'
width = '160'
height = 'Globals.Line.Height'
/>
<widget name = 'Version'
width = '160'
height = 'Globals.Line.Height'
/>
<space size = '2'/>
<widget name = 'Load'
width = '120'
height = 'Globals.Button.Height'
/>
<widget name = 'Save'
width = '120'
height = 'Globals.Button.Height'
/>
<space size = '2'/>
<widget name = 'Options'
width = '120'
height = 'Globals.Button.Height'
/>
<widget name = 'About'
width = '120'
height = 'Globals.Button.Height'
/>
<space size = '2'/>
<widget name = 'Resume'
width = '120'
height = 'Globals.Button.Height'
/>
<widget name = 'RTL'
width = '120'
height = 'Globals.Button.Height'
/>
<widget name = 'Quit'
width = '120'
height = 'Globals.Button.Height'
/>
</layout>
</dialog>
<dialog name = 'ScummMain' overlays = 'screen_center'>
<layout type = 'vertical' padding = '4, 4, 4, 4'>
<widget name = 'Resume'
type = 'Button'
/>
<space size = '8'/>
<widget name = 'Load'
type = 'Button'
/>
<widget name = 'Save'
type = 'Button'
/>
<space size = '8'/>
<widget name = 'Options'
type = 'Button'
/>
<widget name = 'Help'
type = 'Button'
/>
<widget name = 'About'
type = 'Button'
/>
<space size = '8'/>
<widget name = 'Quit'
type = 'Button'
/>
</layout>
</dialog>
<dialog name = 'ScummConfig' overlays = 'screen_center'>
<layout type = 'vertical' padding = '8, 8, 8, 8'>
<layout type = 'horizontal' padding = '0, 0, 0, 0' spacing = '6' center = 'true'>
<widget name = 'vcMusicText'
type = 'OptionsLabel'
/>
<widget name = 'vcMusicSlider'
type = 'Slider'
/>
<widget name = 'vcMusicLabel'
type = 'SmallLabel'
/>
</layout>
<layout type = 'horizontal' padding = '0, 0, 0, 0' spacing = '6' center = 'true'>
<widget name = 'vcSfxText'
type = 'OptionsLabel'
/>
<widget name = 'vcSfxSlider'
type = 'Slider'
/>
<widget name = 'vcSfxLabel'
type = 'SmallLabel'
/>
</layout>
<layout type = 'horizontal' padding = '0, 0, 0, 0' spacing = '6' center = 'true'>
<widget name = 'vcSpeechText'
type = 'OptionsLabel'
/>
<widget name = 'vcSpeechSlider'
type = 'Slider'
/>
<widget name = 'vcSpeechLabel'
type = 'SmallLabel'
/>
</layout>
<layout type = 'horizontal' padding = '0, 0, 0, 0' spacing = '6' center = 'true'>
<space size = '100' />
<widget name = 'vcMuteCheckbox'
type = 'Checkbox'
width = '80'
/>
</layout>
<space size = '4' />
<layout type = 'horizontal' padding = '0, 0, 0, 0' spacing = '6' center = 'true'>
<widget name = 'subToggleDesc'
type = 'OptionsLabel'
/>
<widget name = 'subToggleButton'
width = '128'
height = 'Globals.Slider.Height'
/>
</layout>
<layout type = 'horizontal' padding = '0, 0, 0, 0' spacing = '6' center = 'true'>
<widget name = 'subSubtitleSpeedDesc'
type = 'OptionsLabel'
/>
<widget name = 'subSubtitleSpeedSlider'
type = 'Slider'
/>
<widget name = 'subSubtitleSpeedLabel'
type = 'SmallLabel'
/>
</layout>
<space size = '20'/>
<layout type = 'horizontal' padding = '0, 0, 0, 0' spacing = '4'>
<widget name = 'Keys'
type = 'Button'
/>
<space size = 'Globals.Button.Width' />
<widget name = 'Cancel'
type = 'Button'
/>
<widget name = 'Ok'
type = 'Button'
/>
</layout>
</layout>
</dialog>
<dialog name = 'SaveLoadChooser' overlays = 'screen' inset = '8' shading = 'dim'>
<layout type = 'vertical' padding = '8, 8, 8, 8' center = 'true'>
<widget name = 'Title' height = 'Globals.Line.Height'/>
<widget name = 'List' />
<layout type = 'horizontal' padding = '0, 0, 16, 0'>
<space/>
<widget name = 'Delete'
type = 'Button'
/>
<space size = '16'/>
<widget name = 'Cancel'
type = 'Button'
/>
<widget name = 'Choose'
type = 'Button'
/>
</layout>
</layout>
</dialog>
<dialog name = 'ScummHelp' overlays = 'screen' inset = '8'>
<layout type = 'vertical' padding = '8, 8, 8, 8'>
<widget name = 'Title'
width = '180'
height = 'Globals.Line.Height'
/>
<widget name = 'HelpText'
height = '130'
/>
<layout type = 'horizontal' padding = '0, 0, 0, 0'>
<widget name = 'Prev'
type = 'Button'
/>
<widget name = 'Next'
type = 'Button'
/>
<space size = '32'/>
<widget name = 'Close'
type = 'Button'
/>
</layout>
</layout>
</dialog>
<dialog name = 'MassAdd' overlays = 'screen_center' shading = 'dim'>
<layout type = 'vertical' padding = '4, 4, 16, 4' center = 'true'>
<widget name = 'DirProgressText'
width = '240'
height = 'Globals.Line.Height'
/>
<widget name = 'GameProgressText'
width = '240'
height = 'Globals.Line.Height'
/>
<widget name = 'GameList'
width = '280'
height = '100'
/>
<layout type = 'horizontal' padding = '4, 4, 4, 4'>
<widget name = 'Ok'
type = 'Button'
/>
<widget name = 'Cancel'
type = 'Button'
/>
</layout>
</layout>
</dialog>
<dialog name = 'KeyMapper' overlays = 'screen_center' shading = 'dim'>
<layout type = 'vertical' padding = '8, 8, 8, 8' spacing = '10' center = 'true'>
<layout type = 'horizontal' padding = '0, 0, 0, 0' spacing = '10' center = 'true'>
<widget name = 'PopupDesc'
type = 'OptionsLabel'
/>
<widget name = 'Popup'
type = 'PopUp'
width = '150'
height = 'Globals.Line.Height'
/>
</layout>
<widget name = 'KeymapArea'
width = '300'
height = '120'
/>
<widget name = 'Close'
type = 'Button'
/>
</layout>
</dialog>
</layout_info>

Binary file not shown.

After

Width:  |  Height:  |  Size: 870 B

View File

@ -0,0 +1,97 @@
#!/usr/bin/env python
# encoding: utf-8
import sys
import re
import os
import zipfile
THEME_FILE_EXTENSIONS = ('.stx', '.bmp', '.fcc')
def buildTheme(themeName):
if not os.path.isdir(themeName) or not os.path.isfile(os.path.join(themeName, "THEMERC")):
print ("Invalid theme name: " + themeName)
return
zf = zipfile.ZipFile(themeName + ".zip", 'w')
print ("Building '" + themeName + "' theme:")
os.chdir(themeName)
zf.write('THEMERC', './THEMERC')
for filename in os.listdir('.'):
if os.path.isfile(filename) and not filename[0] == '.' and filename.endswith(THEME_FILE_EXTENSIONS):
zf.write(filename, './' + filename)
print (" Adding file: " + filename)
os.chdir('../')
zf.close()
def buildAllThemes():
for f in os.listdir('.'):
if os.path.isdir(os.path.join('.', f)) and not f[0] == '.':
buildTheme(f)
def parseSTX(theme_file, def_file):
comm = re.compile("<!--(.*?)-->", re.DOTALL)
head = re.compile("<\?(.*?)\?>")
output = ""
for line in theme_file:
output += line.rstrip("\r\n\t ").lstrip() + " \n"
output = re.sub(comm, "", output)
output = re.sub(head, "", output)
output = output.replace("\t", " ").replace(" ", " ").replace("\"", "'")
output = output.replace(" = ", "=").replace(", ", ",")
for line in output.splitlines():
if line and not line.isspace():
def_file.write("\"" + line + "\"\n")
def buildDefTheme(themeName):
def_file = open("default.inc", "w")
if not os.path.isdir(themeName):
print ("Cannot open default theme dir.")
def_file.write(""" "<?xml version = '1.0'?>"\n""")
for filename in os.listdir(themeName):
filename = os.path.join(themeName, filename)
if os.path.isfile(filename) and filename.endswith(".stx"):
theme_file = open(filename, "r")
parseSTX(theme_file, def_file)
theme_file.close()
def_file.close()
def printUsage():
print ("===============================")
print ("Residual Theme Generation Script")
print ("===============================")
print ("Usage:")
print ("residualtheme.py makeall")
print (" Builds all the available themes.\n")
print ("residualtheme.py make [themename]")
print (" Builds the theme called 'themename'.\n")
print ("residualtheme.py default [themename]")
print (" Creates a 'default.inc' file to embed the given theme in the source code.\n")
def main():
if len(sys.argv) == 2 and sys.argv[1] == "makeall":
buildAllThemes()
elif len(sys.argv) == 3 and sys.argv[1] == "make":
buildTheme(sys.argv[2])
elif len(sys.argv) == 3 and sys.argv[1] == "default":
buildDefTheme(sys.argv[2])
else:
printUsage()
if __name__ == "__main__":
sys.exit(main())